JPH07311662A - 複数ポートプリンタコントローラ - Google Patents
複数ポートプリンタコントローラInfo
- Publication number
- JPH07311662A JPH07311662A JP6102937A JP10293794A JPH07311662A JP H07311662 A JPH07311662 A JP H07311662A JP 6102937 A JP6102937 A JP 6102937A JP 10293794 A JP10293794 A JP 10293794A JP H07311662 A JPH07311662 A JP H07311662A
- Authority
- JP
- Japan
- Prior art keywords
- area
- printer
- data
- output
- management information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Abstract
(57)【要約】 (修正有)
【目的】 共通バッファを効率よく使用して、各上位装
置の状態やプリンタの状態によらずに送られてきたデー
タを全てプリンタに出力できる複数ポートプリンタコン
トローラを得る。 【構成】 共通バッファ6を複数の領域に分割してそれ
らを領域管理情報にて管理することによって、各上位装
置2に対して空いている領域を動的に割り当て、各上位
装置からのデータをその割り当てられた領域に格納し、
またプリンタ3への出力、領域の解放を行うことによ
り、上位装置から1ページ分のデータが送信されるのを
待つことなく、プリンタへの出力、領域解放が行え、そ
の領域を新たに上位装置からの印刷データの受信に使用
することを可能にする。
置の状態やプリンタの状態によらずに送られてきたデー
タを全てプリンタに出力できる複数ポートプリンタコン
トローラを得る。 【構成】 共通バッファ6を複数の領域に分割してそれ
らを領域管理情報にて管理することによって、各上位装
置2に対して空いている領域を動的に割り当て、各上位
装置からのデータをその割り当てられた領域に格納し、
またプリンタ3への出力、領域の解放を行うことによ
り、上位装置から1ページ分のデータが送信されるのを
待つことなく、プリンタへの出力、領域解放が行え、そ
の領域を新たに上位装置からの印刷データの受信に使用
することを可能にする。
Description
【0001】
【産業上の利用分野】この発明は複数の上位装置と複数
のプリンタに接続され、各上位装置からの印刷データを
一旦蓄え、各プリンタに印刷データを送信する複数ポー
トプリンタコントローラに関するものである。
のプリンタに接続され、各上位装置からの印刷データを
一旦蓄え、各プリンタに印刷データを送信する複数ポー
トプリンタコントローラに関するものである。
【0002】
【従来の技術】図23は例えば特開平5−100803
号公報に示された、従来の複数ポートプリンタコントロ
ーラの構成を示すブロック図である。図において、1は
当該複数ポートプリンタコントローラであり、2A〜2
Bはこの複数ポートプリンタコントローラ1に接続され
ている上位装置、3A〜3Bは同じくこの複数ポートプ
リンタコントローラ1に接続されているプリンタであ
る。
号公報に示された、従来の複数ポートプリンタコントロ
ーラの構成を示すブロック図である。図において、1は
当該複数ポートプリンタコントローラであり、2A〜2
Bはこの複数ポートプリンタコントローラ1に接続され
ている上位装置、3A〜3Bは同じくこの複数ポートプ
リンタコントローラ1に接続されているプリンタであ
る。
【0003】また、4は複数ポートプリンタコントロー
ラ1の全体制御を行う中央処理装置であり、5は上位装
置2Aおよび2Bからのデータを受信するインタフェー
ス回路である。6は共通バッファで、上位装置2Aから
のデータ、あるいは上位装置2Bからのデータのどちら
か一方を記憶する記憶エリア7および記憶エリア8から
成り、これら記憶エリア7と記憶エリア8はそれぞれ印
刷用紙1ページ分のデータを格納できる記憶容量をもつ
ものとする。9は共通バッファ6の記憶エリア7あるい
は記憶エリア8に記憶されているデータを、プリンタ3
Aもしくはプリンタ3Bに送ってそれらに印字させるプ
リンタインターフェースである。複数ポートプリンタコ
ントローラ1はこれら中央処理装置4、インターフェイ
ス回路5、共通バッファ6、およびプリンタインターフ
ェース9より成っている。なお、上記上位装置2Aおよ
び2B、プリンタ3Aおよび3Bは、それぞれの個々を
区別せずに総称する場合には、上位装置2、プリンタ3
のように表記する。
ラ1の全体制御を行う中央処理装置であり、5は上位装
置2Aおよび2Bからのデータを受信するインタフェー
ス回路である。6は共通バッファで、上位装置2Aから
のデータ、あるいは上位装置2Bからのデータのどちら
か一方を記憶する記憶エリア7および記憶エリア8から
成り、これら記憶エリア7と記憶エリア8はそれぞれ印
刷用紙1ページ分のデータを格納できる記憶容量をもつ
ものとする。9は共通バッファ6の記憶エリア7あるい
は記憶エリア8に記憶されているデータを、プリンタ3
Aもしくはプリンタ3Bに送ってそれらに印字させるプ
リンタインターフェースである。複数ポートプリンタコ
ントローラ1はこれら中央処理装置4、インターフェイ
ス回路5、共通バッファ6、およびプリンタインターフ
ェース9より成っている。なお、上記上位装置2Aおよ
び2B、プリンタ3Aおよび3Bは、それぞれの個々を
区別せずに総称する場合には、上位装置2、プリンタ3
のように表記する。
【0004】また、10Aは上位装置2Aを、10Bは
上位装置2Bを複数ポートプリンタコントローラ1のイ
ンターフェイス回路5に接続しているデータバスであ
り、11Aはプリンタ3Aと、11Bはプリンタ3Bと
複数ポートプリンタコントローラ1のプリンタインター
フェース9を接続しているデータバスである。12は複
数ポートプリンタコントローラ1内で、中央処理装置4
とインターフェイス回路5、共通バッファ6およびプリ
ンタインターフェース9とを接続しているデータバスで
ある。また、13は上位装置2Aと上位装置2Bとの間
で印刷制御に必要な情報を送受信するためのデータバス
である。なお、これらデータバス10Aと10B、およ
びデータバス11Aと11Bは、それぞれの個々を区別
せずに総称する場合には、データバス10あるいはデー
タバス11のように表記する。
上位装置2Bを複数ポートプリンタコントローラ1のイ
ンターフェイス回路5に接続しているデータバスであ
り、11Aはプリンタ3Aと、11Bはプリンタ3Bと
複数ポートプリンタコントローラ1のプリンタインター
フェース9を接続しているデータバスである。12は複
数ポートプリンタコントローラ1内で、中央処理装置4
とインターフェイス回路5、共通バッファ6およびプリ
ンタインターフェース9とを接続しているデータバスで
ある。また、13は上位装置2Aと上位装置2Bとの間
で印刷制御に必要な情報を送受信するためのデータバス
である。なお、これらデータバス10Aと10B、およ
びデータバス11Aと11Bは、それぞれの個々を区別
せずに総称する場合には、データバス10あるいはデー
タバス11のように表記する。
【0005】次に動作について説明する。今、上位装置
2Aのみが稼働していて印刷したいデータを保持してお
り、上位装置2Bは稼働していないために印刷したいデ
ータを保持していない場合について考える。
2Aのみが稼働していて印刷したいデータを保持してお
り、上位装置2Bは稼働していないために印刷したいデ
ータを保持していない場合について考える。
【0006】そのような場合、上位装置2Aは複数ポー
トプリンタコントローラ1を専有できることから、ま
ず、2ページ分の共通バッファ6を確保するための領域
サイズ命令を送信する。なお、領域サイズ命令は印刷す
るための文字コード等として定義されていないコードを
使用する。中央処理装置4は上位装置2Aから送られて
きたデータをインターフェイス回路5から読みだし、こ
れが領域サイズ命令で2ページ分の共通バッファ6の確
保を指定しているものであることを解読すると、共通バ
ッファ6内の記憶エリア7と記憶エリア8の両方を上位
装置2Aに割り当てる。これにより、上位装置2Aから
のデータは記憶エリア7に記憶され、記憶エリア7が一
杯になると、中央処理装置4はプリンタインターフェー
ス9に記憶エリア7のデータを印刷するように命令す
る。この時、続いて上位装置2Aからデータが送信され
てきた場合、中央処理装置4は、記憶エリア8にそれを
記憶させ、記憶エリア8が一杯になるとそのデータをプ
リンタインターフェース9に渡す。プリンタインターフ
ェース9は受け取ったデータをプリンタ3Aもしくは3
Bに送り、それを印刷させる。以後は同様に、記憶エリ
ア7のデータの印刷が終了していれば、記憶エリア7に
新たなデータを記憶してその印刷を行う。ただし、記憶
エリア7のデータが未だ印刷中であれば上位装置2Aは
データ送信を待つことになる。
トプリンタコントローラ1を専有できることから、ま
ず、2ページ分の共通バッファ6を確保するための領域
サイズ命令を送信する。なお、領域サイズ命令は印刷す
るための文字コード等として定義されていないコードを
使用する。中央処理装置4は上位装置2Aから送られて
きたデータをインターフェイス回路5から読みだし、こ
れが領域サイズ命令で2ページ分の共通バッファ6の確
保を指定しているものであることを解読すると、共通バ
ッファ6内の記憶エリア7と記憶エリア8の両方を上位
装置2Aに割り当てる。これにより、上位装置2Aから
のデータは記憶エリア7に記憶され、記憶エリア7が一
杯になると、中央処理装置4はプリンタインターフェー
ス9に記憶エリア7のデータを印刷するように命令す
る。この時、続いて上位装置2Aからデータが送信され
てきた場合、中央処理装置4は、記憶エリア8にそれを
記憶させ、記憶エリア8が一杯になるとそのデータをプ
リンタインターフェース9に渡す。プリンタインターフ
ェース9は受け取ったデータをプリンタ3Aもしくは3
Bに送り、それを印刷させる。以後は同様に、記憶エリ
ア7のデータの印刷が終了していれば、記憶エリア7に
新たなデータを記憶してその印刷を行う。ただし、記憶
エリア7のデータが未だ印刷中であれば上位装置2Aは
データ送信を待つことになる。
【0007】次に、このような状態において、上位装置
2Bが稼働して印刷をしようとしたとする。上位装置2
Bはまず、上位装置2Aにデータバス13を介して共通
バッファ6の確保を要求する。これにより上位装置2A
は、例えば共通バッファ6の1ページ分の記憶エリア7
または記憶エリア8を上位装置2Bに渡すため、領域サ
イズ命令を送信する。この命令をインターフェース回路
5を介して受け取った中央処理装置4は、プリンタイン
ターフェース9が印刷し終えた記憶エリア7または記憶
エリア8のいずれかを上位装置2Bに、他方を上位装置
2Aに割り当てる。以上により上位装置2Aおよび上位
装置2Bともに印刷のデータの送信が可能となる。
2Bが稼働して印刷をしようとしたとする。上位装置2
Bはまず、上位装置2Aにデータバス13を介して共通
バッファ6の確保を要求する。これにより上位装置2A
は、例えば共通バッファ6の1ページ分の記憶エリア7
または記憶エリア8を上位装置2Bに渡すため、領域サ
イズ命令を送信する。この命令をインターフェース回路
5を介して受け取った中央処理装置4は、プリンタイン
ターフェース9が印刷し終えた記憶エリア7または記憶
エリア8のいずれかを上位装置2Bに、他方を上位装置
2Aに割り当てる。以上により上位装置2Aおよび上位
装置2Bともに印刷のデータの送信が可能となる。
【0008】
【発明が解決しようとする課題】従来の複数ポートプリ
ンタコントローラは以上のように構成されているので、
1ページ分のデータをプリンタ3Aに出力し終わらなけ
れば、共通バッファ6の記憶エリア7(8)は解放され
ないため、他の上位装置2Aからの要求を受け付けるこ
とができず、また、1つの上位装置2Aが印刷をしよう
としたときに、他方の上位装置2Bに対して要求を出力
するためのデータバス13等、特殊な構造が必要になる
などの問題点があった。
ンタコントローラは以上のように構成されているので、
1ページ分のデータをプリンタ3Aに出力し終わらなけ
れば、共通バッファ6の記憶エリア7(8)は解放され
ないため、他の上位装置2Aからの要求を受け付けるこ
とができず、また、1つの上位装置2Aが印刷をしよう
としたときに、他方の上位装置2Bに対して要求を出力
するためのデータバス13等、特殊な構造が必要になる
などの問題点があった。
【0009】この発明は上記のような課題を解決するた
めになされたものであり、請求項1に記載の発明は、1
ページというデータの大きさによらずに共通バッファ全
体を複数の領域に分割し、その分割された領域を動的に
割当てて、効率よく共通バッファの管理を行い、また、
上位装置間でデータバス等の特殊な構造を必要とせず、
構造上の変更なしで複数の上位装置に対応することが可
能な複数ポートプリンタコントローラを得ることを目的
とする。
めになされたものであり、請求項1に記載の発明は、1
ページというデータの大きさによらずに共通バッファ全
体を複数の領域に分割し、その分割された領域を動的に
割当てて、効率よく共通バッファの管理を行い、また、
上位装置間でデータバス等の特殊な構造を必要とせず、
構造上の変更なしで複数の上位装置に対応することが可
能な複数ポートプリンタコントローラを得ることを目的
とする。
【0010】また、請求項2に記載の発明は、上位装置
からのデータの送信が途中で途切れた場合でも、共通バ
ッファの各領域に格納されたデータを全てプリンタへ出
力することができる複数ポートプリンタコントローラを
得ることを目的とする。
からのデータの送信が途中で途切れた場合でも、共通バ
ッファの各領域に格納されたデータを全てプリンタへ出
力することができる複数ポートプリンタコントローラを
得ることを目的とする。
【0011】また、請求項3に記載の発明は、改ページ
コードの判別により、共通バッファの領域がデータで埋
まるのを待たずにデータをプリンタへ出力して、共通バ
ッファをさらに効率的に使用できる複数ポートプリンタ
コントローラを得ることを目的とする。
コードの判別により、共通バッファの領域がデータで埋
まるのを待たずにデータをプリンタへ出力して、共通バ
ッファをさらに効率的に使用できる複数ポートプリンタ
コントローラを得ることを目的とする。
【0012】また、請求項4に記載の発明は、プリンタ
の状態により、上位装置に割り当てる領域を1つは確保
して、共通バッファをさらに効率的に使用できる複数ポ
ートプリンタコントローラを得ることを目的とする。
の状態により、上位装置に割り当てる領域を1つは確保
して、共通バッファをさらに効率的に使用できる複数ポ
ートプリンタコントローラを得ることを目的とする。
【0013】また、請求項5に記載の発明は、プリンタ
の異常発生時においても、共通バッファの各領域に格納
されたデータを全てプリンタへ出力することができる複
数ポートプリンタコントローラを得ることを目的とす
る。
の異常発生時においても、共通バッファの各領域に格納
されたデータを全てプリンタへ出力することができる複
数ポートプリンタコントローラを得ることを目的とす
る。
【0014】
【課題を解決するための手段】請求項1に記載の発明に
係る複数ポートプリンタコントローラは、内蔵する共通
バッファを複数の領域に分割し、それら各領域を領域管
理情報に基づいて管理して、各上位装置に対して空いて
いる領域を動的に割り当て、各上位装置から受信したデ
ータをその割り当てられた領域に格納する領域割当手段
を設けたものである。
係る複数ポートプリンタコントローラは、内蔵する共通
バッファを複数の領域に分割し、それら各領域を領域管
理情報に基づいて管理して、各上位装置に対して空いて
いる領域を動的に割り当て、各上位装置から受信したデ
ータをその割り当てられた領域に格納する領域割当手段
を設けたものである。
【0015】また、請求項2に記載の発明に係る複数ポ
ートプリンタコントローラは、各上位装置からのデータ
送信を時間監視し、送信が中断されたことを認識する
と、該当する領域内のデータを強制的にプリンタへ出力
する中断認識手段を設けたものである。
ートプリンタコントローラは、各上位装置からのデータ
送信を時間監視し、送信が中断されたことを認識する
と、該当する領域内のデータを強制的にプリンタへ出力
する中断認識手段を設けたものである。
【0016】また、請求項3に記載の発明に係る複数ポ
ートプリンタコントローラは、上位装置からのデータの
内容を監視して改ページコードの判別を行い、その改ペ
ージコードを単位に各領域へのデータの格納を行うデー
タ格納手段を設けたものである。
ートプリンタコントローラは、上位装置からのデータの
内容を監視して改ページコードの判別を行い、その改ペ
ージコードを単位に各領域へのデータの格納を行うデー
タ格納手段を設けたものである。
【0017】また、請求項4に記載の発明に係る複数ポ
ートプリンタコントローラは、プリンタの出力可能状態
を監視するとともに、出力可能であれば上位装置からの
データ送信がない場合でも、その上位装置に対する領域
を少なくとも1つ確保する領域確保手段を設けたもので
ある。
ートプリンタコントローラは、プリンタの出力可能状態
を監視するとともに、出力可能であれば上位装置からの
データ送信がない場合でも、その上位装置に対する領域
を少なくとも1つ確保する領域確保手段を設けたもので
ある。
【0018】また、請求項5に記載の発明に係る複数ポ
ートプリンタコントローラは、プリンタの異常発生を監
視して、異常を検出すると、ページ単位での正常なプリ
ンタへのデータ出力が終了した後に、異常となったプリ
ンタへのデータをその正常なプリンタへ出力させる出力
制御手段を設けたものである。
ートプリンタコントローラは、プリンタの異常発生を監
視して、異常を検出すると、ページ単位での正常なプリ
ンタへのデータ出力が終了した後に、異常となったプリ
ンタへのデータをその正常なプリンタへ出力させる出力
制御手段を設けたものである。
【0019】
【作用】請求項1に記載の発明における領域割当手段
は、共通バッファを複数の領域に分割してそれら各領域
を領域管理情報によって管理し、その領域の各上位装置
への割り当てを動的に行って、上位装置からのデータを
その割り当てられた領域に格納することにより、1ペー
ジ分の印刷データを格納するのを待たずにプリンタへの
出力を行うことを可能とし、また、1ページ分の印刷デ
ータのプリンタへの出力の終了を待たずに、プリンタへ
データを出力し終えた領域毎にそれを解放して他の上位
装置への領域の割り当てを許可することを可能とし、共
通バッファを効率的に使用できるようにする。
は、共通バッファを複数の領域に分割してそれら各領域
を領域管理情報によって管理し、その領域の各上位装置
への割り当てを動的に行って、上位装置からのデータを
その割り当てられた領域に格納することにより、1ペー
ジ分の印刷データを格納するのを待たずにプリンタへの
出力を行うことを可能とし、また、1ページ分の印刷デ
ータのプリンタへの出力の終了を待たずに、プリンタへ
データを出力し終えた領域毎にそれを解放して他の上位
装置への領域の割り当てを許可することを可能とし、共
通バッファを効率的に使用できるようにする。
【0020】また、実施例2に記載の発明における中断
認識手段は、上位装置からのデータ送信の状態を時間監
視し、データの送信が中断したことを認識すると、その
領域内のデータをプリンタに強制的に出力することによ
り、当該上位装置から送られてきたデータを残らずプリ
ンタへ出力することを可能とし、また、データを強制的
に出力してしまうことにより、領域が確保されたままの
状態となることを防ぎ、他の上位装置によるその領域の
使用を可能として、共通バッファの使用をさらに効率的
なものとする。
認識手段は、上位装置からのデータ送信の状態を時間監
視し、データの送信が中断したことを認識すると、その
領域内のデータをプリンタに強制的に出力することによ
り、当該上位装置から送られてきたデータを残らずプリ
ンタへ出力することを可能とし、また、データを強制的
に出力してしまうことにより、領域が確保されたままの
状態となることを防ぎ、他の上位装置によるその領域の
使用を可能として、共通バッファの使用をさらに効率的
なものとする。
【0021】また、実施例3に記載の発明におけるデー
タ格納手段は、上位装置から送信されたデータ内の改ペ
ージコードを認識し、それを認識した時点でその領域へ
のデータの格納を終了するとにより、割り当てられた1
つの領域をデータで埋め尽くすまで待つことなくデータ
をプリンタへ出力することを可能とし、また、プリンタ
へデータを出力し終えた領域はすぐに解放して、それを
他の上位装置で使用することを可能にして、共通バッフ
ァの使用をさらに効率的なものとする。
タ格納手段は、上位装置から送信されたデータ内の改ペ
ージコードを認識し、それを認識した時点でその領域へ
のデータの格納を終了するとにより、割り当てられた1
つの領域をデータで埋め尽くすまで待つことなくデータ
をプリンタへ出力することを可能とし、また、プリンタ
へデータを出力し終えた領域はすぐに解放して、それを
他の上位装置で使用することを可能にして、共通バッフ
ァの使用をさらに効率的なものとする。
【0022】また、実施例4に記載の発明における領域
確保手段は、当該複数ポートプリンタコントローラに接
続されているプリンタの状態に応じて、各上位装置に割
り当てる領域を最低1つは確保するようにすることによ
り、ある上位装置に全ての領域が確保されることを防止
し、常に上位装置からのデータを受信、蓄積してプリン
タに出力することができるようにし、また、接続されて
いないプリンタのための無駄な共通バッファの割り当て
をなくして、共通バッファの使用をさらに効率的なもの
とする。
確保手段は、当該複数ポートプリンタコントローラに接
続されているプリンタの状態に応じて、各上位装置に割
り当てる領域を最低1つは確保するようにすることによ
り、ある上位装置に全ての領域が確保されることを防止
し、常に上位装置からのデータを受信、蓄積してプリン
タに出力することができるようにし、また、接続されて
いないプリンタのための無駄な共通バッファの割り当て
をなくして、共通バッファの使用をさらに効率的なもの
とする。
【0023】また、実施例5に記載の発明に係る出力制
御手段は、プリンタへの出力の状態を時間監視してプリ
ンタの異常を検出し、プリンタの異常発生時には、正常
なプリンタへのページ単位でのデータの出力終了後に、
異常となったプリンタへのデータを正常なプリンタに出
力することにより、異常が発生したプリンタ側のデータ
も出力できるようにし、データを出力し終えた領域を解
放して、その領域を他の上位装置で使用することを可能
とし、共通バッファの使用をさらに効率的なものとす
る。
御手段は、プリンタへの出力の状態を時間監視してプリ
ンタの異常を検出し、プリンタの異常発生時には、正常
なプリンタへのページ単位でのデータの出力終了後に、
異常となったプリンタへのデータを正常なプリンタに出
力することにより、異常が発生したプリンタ側のデータ
も出力できるようにし、データを出力し終えた領域を解
放して、その領域を他の上位装置で使用することを可能
とし、共通バッファの使用をさらに効率的なものとす
る。
【0024】
実施例1.以下、この発明の実施例1を図について説明
する。図1は請求項1に記載した発明の一実施例による
複数ポートプリンタコントローラの構成を示すブロック
図である。図において、1は複数ポートプリンタコント
ローラ、2A〜2Bは上位装置、3A〜3Bはプリン
タ、4は中央処理装置、5はインターフェース回路、6
は共通バッファ、9はプリンタインターフェース、10
A〜10B、11A〜11Bおよび12はデータバスで
あり、図23に同一符号を付した従来のそれらと同一、
もしくは相当部分であるため詳細な説明は省略する。ま
た、14は共通バッファ6全体を1ページというデータ
の単位にはこだわらずに複数の領域に分割し、それら各
領域を領域管理情報によって管理して、領域の割り当
て、データの格納および領域の解放を、その領域を単位
にして行う領域割当手段であり、この場合には、例えば
中央処理装置4内にソフトウェア的に構築されている。
する。図1は請求項1に記載した発明の一実施例による
複数ポートプリンタコントローラの構成を示すブロック
図である。図において、1は複数ポートプリンタコント
ローラ、2A〜2Bは上位装置、3A〜3Bはプリン
タ、4は中央処理装置、5はインターフェース回路、6
は共通バッファ、9はプリンタインターフェース、10
A〜10B、11A〜11Bおよび12はデータバスで
あり、図23に同一符号を付した従来のそれらと同一、
もしくは相当部分であるため詳細な説明は省略する。ま
た、14は共通バッファ6全体を1ページというデータ
の単位にはこだわらずに複数の領域に分割し、それら各
領域を領域管理情報によって管理して、領域の割り当
て、データの格納および領域の解放を、その領域を単位
にして行う領域割当手段であり、この場合には、例えば
中央処理装置4内にソフトウェア的に構築されている。
【0025】図2は複数の領域に分割された共通バッフ
ァ6と、それら各領域を管理するための領域管理情報が
登録されるフリーリスト、プリンタ出力リストの初期状
態を示す説明図である。図において、20は共通バッフ
ァ6を複数(図示の例では8つ)に分割した領域であ
り、それぞれの領域20には#1から#8までの領域番
号が付けられている。21は共通バッファ6内の空いて
いる領域20の領域管理情報が書き込まれるフリーリス
トであり、22Aはプリンタ3Aに出力されるデータが
格納されている領域20の領域管理情報が書き込まれる
プリンタ出力リスト、22Bはプリンタ3Bに出力され
るデータが格納されている領域20の領域管理情報が書
き込まれるプリンタ出力リストである。なお、このプリ
ンタ出力リスト22は接続されるプリンタ3の台数分用
意するが、この例では2台のプリンタ3A、3Bを接続
しているので、プリンタ出力リストも22A、22Bの
2つとなる。
ァ6と、それら各領域を管理するための領域管理情報が
登録されるフリーリスト、プリンタ出力リストの初期状
態を示す説明図である。図において、20は共通バッフ
ァ6を複数(図示の例では8つ)に分割した領域であ
り、それぞれの領域20には#1から#8までの領域番
号が付けられている。21は共通バッファ6内の空いて
いる領域20の領域管理情報が書き込まれるフリーリス
トであり、22Aはプリンタ3Aに出力されるデータが
格納されている領域20の領域管理情報が書き込まれる
プリンタ出力リスト、22Bはプリンタ3Bに出力され
るデータが格納されている領域20の領域管理情報が書
き込まれるプリンタ出力リストである。なお、このプリ
ンタ出力リスト22は接続されるプリンタ3の台数分用
意するが、この例では2台のプリンタ3A、3Bを接続
しているので、プリンタ出力リストも22A、22Bの
2つとなる。
【0026】また、図3は前記フリーリスト21、およ
びプリンタ出力リスト22に登録される領域管理情報の
フォーマットを示す説明図である。図において、23は
共通バッファ6の複数に分割された各領域20の領域番
号が格納される領域番号格納領域であり、24は次の領
域管理情報へのポインタが格納されるポインタ格納領域
である。
びプリンタ出力リスト22に登録される領域管理情報の
フォーマットを示す説明図である。図において、23は
共通バッファ6の複数に分割された各領域20の領域番
号が格納される領域番号格納領域であり、24は次の領
域管理情報へのポインタが格納されるポインタ格納領域
である。
【0027】次に動作について説明する。図4は中央処
理装置4の領域割当手段14による基本動作のアルゴリ
ズムを示すフローチャートであり、図5はその受信処理
動作の詳細なアルゴリズムを示すフローチャート、図6
はその出力処理動作の詳細なアルゴリズムを示すフロー
チャートである。基本動作が開始されると、ステップS
T1においてまず、共通バッファ6を複数(この場合に
は8つ)の領域20に分割し、その領域の各々に#1か
ら#8までの領域番号を付ける。次いで、ステップST
2にてそれら各領域20の領域管理情報をフリーリスト
21に登録した後、受信処理の動作に移行する。図2は
この初期の状態を表したものであり、上位装置2Aおよ
び上位装置2Bからの出力はない状態である。このと
き、フリーリスト21には領域番号#1〜#8までの領
域20の領域管理情報が登録されており、プリンタ出力
リスト22Aおよびプリンタ出力リスト22Bには出力
データがないため何も登録されていない。
理装置4の領域割当手段14による基本動作のアルゴリ
ズムを示すフローチャートであり、図5はその受信処理
動作の詳細なアルゴリズムを示すフローチャート、図6
はその出力処理動作の詳細なアルゴリズムを示すフロー
チャートである。基本動作が開始されると、ステップS
T1においてまず、共通バッファ6を複数(この場合に
は8つ)の領域20に分割し、その領域の各々に#1か
ら#8までの領域番号を付ける。次いで、ステップST
2にてそれら各領域20の領域管理情報をフリーリスト
21に登録した後、受信処理の動作に移行する。図2は
この初期の状態を表したものであり、上位装置2Aおよ
び上位装置2Bからの出力はない状態である。このと
き、フリーリスト21には領域番号#1〜#8までの領
域20の領域管理情報が登録されており、プリンタ出力
リスト22Aおよびプリンタ出力リスト22Bには出力
データがないため何も登録されていない。
【0028】受信処理が開始されると、まずステップS
T10において受信データの有無を確認し、受信データ
がなければそのまま出力処理の動作に移行する。ここ
で、上位装置2Aからの印刷データが、データバス10
Aを経由してインターフェース回路5に到達すると、ス
テップST11で領域20にデータを格納中であるか否
かを判定する。その結果、格納中でなければステップS
T12においてフリーリスト21を参照し、空いている
領域20が登録されているか否かの判定を行って、#1
の領域20が空いていることを知る。次に、この#1の
領域20を確保するためにフリーリスト21より#1の
領域20の領域管理情報をステップST13で削除し、
次いでステップST14で上位装置2Aからの印刷デー
タを確保した#1の領域20に格納する。この#1の領
域20への印刷データの格納が完了したことがステップ
ST15で検出されると、ステップST16においてこ
の#1の領域20の領域管理情報をプリンタ出力リスト
22Aに登録する。
T10において受信データの有無を確認し、受信データ
がなければそのまま出力処理の動作に移行する。ここ
で、上位装置2Aからの印刷データが、データバス10
Aを経由してインターフェース回路5に到達すると、ス
テップST11で領域20にデータを格納中であるか否
かを判定する。その結果、格納中でなければステップS
T12においてフリーリスト21を参照し、空いている
領域20が登録されているか否かの判定を行って、#1
の領域20が空いていることを知る。次に、この#1の
領域20を確保するためにフリーリスト21より#1の
領域20の領域管理情報をステップST13で削除し、
次いでステップST14で上位装置2Aからの印刷デー
タを確保した#1の領域20に格納する。この#1の領
域20への印刷データの格納が完了したことがステップ
ST15で検出されると、ステップST16においてこ
の#1の領域20の領域管理情報をプリンタ出力リスト
22Aに登録する。
【0029】上位装置2Aからさらに印刷データが送信
されるとと、上記の要領で送信が終了するまでフリーリ
スト21より空いている領域20を確保して、送られて
きた印刷データをその確保した領域20に格納し、プリ
ンタ出力リスト22Aにその領域管理情報を追加する。
なお、印刷データが送信されている途中でフリーリスト
21に登録されている空き領域20がなくなると、中央
処理装置4はインターフェース回路5を介して上位装置
2Aに指示して、印刷データの送信を中断させる。
されるとと、上記の要領で送信が終了するまでフリーリ
スト21より空いている領域20を確保して、送られて
きた印刷データをその確保した領域20に格納し、プリ
ンタ出力リスト22Aにその領域管理情報を追加する。
なお、印刷データが送信されている途中でフリーリスト
21に登録されている空き領域20がなくなると、中央
処理装置4はインターフェース回路5を介して上位装置
2Aに指示して、印刷データの送信を中断させる。
【0030】また、上位装置2Aよりデータが送信され
る速度は中央処理装置4の処理速度に比べてはるかに遅
いため、空き領域20にデータを格納している間に、領
域割当手段14はプリンタ出力リスト22Aに登録され
ている領域20より印刷データを取り出して、それをプ
リンタインターフェース9、データバス11Aを通して
プリンタ3Aへ出力する制御を実行する。すなわち、ス
テップST20の判定で領域20のデータを出力中であ
ると判定された場合には、そのままステップST22で
#1の領域20より印刷データを取り出し、そのプリン
タ3Aへの出力を行う。また、ステップST20でデー
タを出力中でないと判定された場合には、ステップST
21でプリンタ出力リスト22Aに領域管理情報が登録
されているか否かを判定し、登録されていれば、ステッ
プST22で前記プリンタ3Aへのデータの出力を実行
する。その後、ステップST23で#1の領域20のデ
ータがなくなったことが検出されると、ステップST2
4においてプリンタ出力リスト22Aから当該#1の領
域20の領域管理情報を削除し、再び空き領域としてス
テップST25でその領域管理情報をフリーリスト21
に追加する。そして上記要領でプリンタ出力リスト22
Aに登録されている領域がなくなるまで、プリンタ3A
への出力を繰り返す。図7に上位装置2Aに対して#1
〜#5までの領域20を割り当て、#1と#2の領域2
0までがプリンタ3Aに出力し終え、#3の領域3のデ
ータを出力中である際の、フリーリスト21と、データ
出力リスト22Aおよびデータ出力リスト22Bの状態
を示す。
る速度は中央処理装置4の処理速度に比べてはるかに遅
いため、空き領域20にデータを格納している間に、領
域割当手段14はプリンタ出力リスト22Aに登録され
ている領域20より印刷データを取り出して、それをプ
リンタインターフェース9、データバス11Aを通して
プリンタ3Aへ出力する制御を実行する。すなわち、ス
テップST20の判定で領域20のデータを出力中であ
ると判定された場合には、そのままステップST22で
#1の領域20より印刷データを取り出し、そのプリン
タ3Aへの出力を行う。また、ステップST20でデー
タを出力中でないと判定された場合には、ステップST
21でプリンタ出力リスト22Aに領域管理情報が登録
されているか否かを判定し、登録されていれば、ステッ
プST22で前記プリンタ3Aへのデータの出力を実行
する。その後、ステップST23で#1の領域20のデ
ータがなくなったことが検出されると、ステップST2
4においてプリンタ出力リスト22Aから当該#1の領
域20の領域管理情報を削除し、再び空き領域としてス
テップST25でその領域管理情報をフリーリスト21
に追加する。そして上記要領でプリンタ出力リスト22
Aに登録されている領域がなくなるまで、プリンタ3A
への出力を繰り返す。図7に上位装置2Aに対して#1
〜#5までの領域20を割り当て、#1と#2の領域2
0までがプリンタ3Aに出力し終え、#3の領域3のデ
ータを出力中である際の、フリーリスト21と、データ
出力リスト22Aおよびデータ出力リスト22Bの状態
を示す。
【0031】ここで、上位装置2Bからの印刷データが
データバス10Bを通り、インターフェース回路5に到
達すると、領域割当手段14はフリーリスト21より#
6の領域20が空いていることを知り、この#6の領域
20を確保するために、フリーリスト21より#6の領
域20の領域管理情報の削除を行う(ステップST10
〜ステップST13)。そして、上位装置2Bからの印
刷データを#6の領域20に格納しはじめ、格納し終わ
るとその領域管理情報をプリンタ出力リスト22Bに登
録する(ステップST14〜ステップST16)。さら
に、上位装置2Bからデータが送信されてくると、上記
要領で送信が終了するまでフリーリスト21より空いて
いる領域20を確保してデータを格納し、プリンタ出力
リスト22Bに追加する。この要領でプリンタ3Aへの
データを格納している#3の領域20のデータは出力し
終え、上位装置2Bからデータが送信され続けたため、
空き領域がなくなった状態を図8に示す。この場合、フ
リーリスト21内には領域管理情報がなくなり、プリン
タ出力リスト22Aには#4と#5の領域20の領域管
理情報が、プリンタ出力リスト22Bには#6〜#8と
#1〜#3の領域20の領域管理情報が登録されること
になる。
データバス10Bを通り、インターフェース回路5に到
達すると、領域割当手段14はフリーリスト21より#
6の領域20が空いていることを知り、この#6の領域
20を確保するために、フリーリスト21より#6の領
域20の領域管理情報の削除を行う(ステップST10
〜ステップST13)。そして、上位装置2Bからの印
刷データを#6の領域20に格納しはじめ、格納し終わ
るとその領域管理情報をプリンタ出力リスト22Bに登
録する(ステップST14〜ステップST16)。さら
に、上位装置2Bからデータが送信されてくると、上記
要領で送信が終了するまでフリーリスト21より空いて
いる領域20を確保してデータを格納し、プリンタ出力
リスト22Bに追加する。この要領でプリンタ3Aへの
データを格納している#3の領域20のデータは出力し
終え、上位装置2Bからデータが送信され続けたため、
空き領域がなくなった状態を図8に示す。この場合、フ
リーリスト21内には領域管理情報がなくなり、プリン
タ出力リスト22Aには#4と#5の領域20の領域管
理情報が、プリンタ出力リスト22Bには#6〜#8と
#1〜#3の領域20の領域管理情報が登録されること
になる。
【0032】このように、共通バッファ6を複数の領域
20に分割し、各領域20の領域管理情報を管理するた
めのフリーリスト21、および各プリンタ出力リスト2
2を設けることで、1ページ分の印刷データを格納し終
わるのを待たずにプリンタ3への出力を行うことが可能
となる。また、1ページ分の印刷データのプリンタ3へ
の出力の終了を待たずにプリンタ3へ出力し終えた領域
20毎に解放し、他の上位装置2にその領域20の割り
当てを許可するため、共通バッファ6を効率よく使用す
ることができる。
20に分割し、各領域20の領域管理情報を管理するた
めのフリーリスト21、および各プリンタ出力リスト2
2を設けることで、1ページ分の印刷データを格納し終
わるのを待たずにプリンタ3への出力を行うことが可能
となる。また、1ページ分の印刷データのプリンタ3へ
の出力の終了を待たずにプリンタ3へ出力し終えた領域
20毎に解放し、他の上位装置2にその領域20の割り
当てを許可するため、共通バッファ6を効率よく使用す
ることができる。
【0033】実施例2.次に、この発明の実施例2を図
について説明する。図9は請求項2に記載した発明の一
実施例による複数ポートプリンタコントローラの構成を
示すブロック図であり、相当部分には図1と同一符号を
付してその説明を省略する。図において、15は上位装
置2からのデータの送信状態を時間監視していて、デー
タの送信が中断されたことを認識すると、共通バッファ
6の該当する領域20に格納されているデータをプリン
タ3に強制的に出力する中断認識手段であり、この場合
には、領域割当手段14とともに、例えば中央処理装置
4内にソフトウェア的に構築されている。
について説明する。図9は請求項2に記載した発明の一
実施例による複数ポートプリンタコントローラの構成を
示すブロック図であり、相当部分には図1と同一符号を
付してその説明を省略する。図において、15は上位装
置2からのデータの送信状態を時間監視していて、デー
タの送信が中断されたことを認識すると、共通バッファ
6の該当する領域20に格納されているデータをプリン
タ3に強制的に出力する中断認識手段であり、この場合
には、領域割当手段14とともに、例えば中央処理装置
4内にソフトウェア的に構築されている。
【0034】次に動作について説明する。なお、図10
はこの実施例2における出力処理動作のアルゴリズムの
詳細を示すフローチャートであり、実施例1と同等の処
理ステップには図6と同一のステップ番号を付し、実施
例1とは異なる部分についてのみ30番代の新たなステ
ップ番号を付している。
はこの実施例2における出力処理動作のアルゴリズムの
詳細を示すフローチャートであり、実施例1と同等の処
理ステップには図6と同一のステップ番号を付し、実施
例1とは異なる部分についてのみ30番代の新たなステ
ップ番号を付している。
【0035】ここで、上記実施例1では、例えば上位装
置2Aからのデータがデータバス10Aを通ってインタ
ーフェース回路5に到達すると、領域割当手段14はフ
リーリスト21を参照して空いている領域20の有無を
確認し、空き領域が存在することを知ると、フリーリス
ト21よりその空き領域、例えば#1の領域20の領域
管理情報を削除して、データをこの#1の領域20に格
納し、格納し終えるとプリンタ出力リスト22Aにその
#1の領域20の領域管理情報を登録し、プリンタ3A
にデータを出力している。従って、フリーリスト21よ
り#1の領域20の領域管理情報を削除し、#1の領域
20にデータを格納している途中で、何らかの理由(例
えば上位装置2Aの故障など)によってデータの送信が
止まると、この#1の領域20は当該上位装置2Aに確
保されたままになってしまう。また、#1の領域20に
格納される上位装置2Aからのデータは、プリンタ出力
リスト22Aに登録されることはないので、プリンタ3
Aに出力されることもない。
置2Aからのデータがデータバス10Aを通ってインタ
ーフェース回路5に到達すると、領域割当手段14はフ
リーリスト21を参照して空いている領域20の有無を
確認し、空き領域が存在することを知ると、フリーリス
ト21よりその空き領域、例えば#1の領域20の領域
管理情報を削除して、データをこの#1の領域20に格
納し、格納し終えるとプリンタ出力リスト22Aにその
#1の領域20の領域管理情報を登録し、プリンタ3A
にデータを出力している。従って、フリーリスト21よ
り#1の領域20の領域管理情報を削除し、#1の領域
20にデータを格納している途中で、何らかの理由(例
えば上位装置2Aの故障など)によってデータの送信が
止まると、この#1の領域20は当該上位装置2Aに確
保されたままになってしまう。また、#1の領域20に
格納される上位装置2Aからのデータは、プリンタ出力
リスト22Aに登録されることはないので、プリンタ3
Aに出力されることもない。
【0036】そこで、中断認識手段15は上位装置2か
らのデータの送信状態の時間監視を行う。その結果、領
域20にデータを格納中に上位装置2からのデータが途
切れて、一定時間経過しても上位装置2からのデータの
送信が再開されない場合に、ステップST30で一定時
間データの受信がないことが検出されると、上位装置2
に異常が発生したものとみなし、ステップST31で現
在格納を行っている領域20内のデータの最後に、強制
的にプリンタ3に改ページを行わせるための改ページコ
ードを付加する。そして、ステップST32においてプ
リンタ出力リスト22にそれを登録した後、ステップS
T21に進む。次に、ステップST22でプリンタ3へ
の出力を行った後、ステップST33で出力データが改
ページコードであるか否かの検出を行う。その結果、改
ページコードであれば直接ステップST24に進み、改
ページコードでなければステップST23で、1つの領
域20の全てのデータの出力が完了したことを確認した
後にステップST24に進んで、当該領域20の領域管
理情報をプリンタ出力リスト22から削除し、ステップ
ST25でその領域管理情報をフリーリスト21に登録
する。
らのデータの送信状態の時間監視を行う。その結果、領
域20にデータを格納中に上位装置2からのデータが途
切れて、一定時間経過しても上位装置2からのデータの
送信が再開されない場合に、ステップST30で一定時
間データの受信がないことが検出されると、上位装置2
に異常が発生したものとみなし、ステップST31で現
在格納を行っている領域20内のデータの最後に、強制
的にプリンタ3に改ページを行わせるための改ページコ
ードを付加する。そして、ステップST32においてプ
リンタ出力リスト22にそれを登録した後、ステップS
T21に進む。次に、ステップST22でプリンタ3へ
の出力を行った後、ステップST33で出力データが改
ページコードであるか否かの検出を行う。その結果、改
ページコードであれば直接ステップST24に進み、改
ページコードでなければステップST23で、1つの領
域20の全てのデータの出力が完了したことを確認した
後にステップST24に進んで、当該領域20の領域管
理情報をプリンタ出力リスト22から削除し、ステップ
ST25でその領域管理情報をフリーリスト21に登録
する。
【0037】このようにすることで、ある領域20にデ
ータを格納中に、上位装置2の故障などの原因でデータ
の送信が中断された場合に、その領域20が確保された
ままの状態となるのが防止され、他のプリンタ3への出
力用にその領域20を使用できるため、共通バッファ6
を効率よく使用することができる。また、上位装置2よ
り送信されたデータは残らずプリンタ3にて印刷するこ
とも可能となる。
ータを格納中に、上位装置2の故障などの原因でデータ
の送信が中断された場合に、その領域20が確保された
ままの状態となるのが防止され、他のプリンタ3への出
力用にその領域20を使用できるため、共通バッファ6
を効率よく使用することができる。また、上位装置2よ
り送信されたデータは残らずプリンタ3にて印刷するこ
とも可能となる。
【0038】実施例3.次に、この発明の実施例3を図
について説明する。図11は請求項3に記載した発明の
一実施例による複数ポートプリンタコントローラの構成
を示すブロック図であり、相当部分には図9と同一符号
を付してその説明を省略する。図において、16は上位
装置2より送信されたデータ内の改ページコードを認識
し、それを認識した時点で、共通バッファ6内の割り当
てられた領域20へのデータの格納を終了するデータ格
納手段であり、この場合には、領域割当手段14、中断
認識手段15とともに、例えば中央処理装置4内にソフ
トウェア的に構築されている。
について説明する。図11は請求項3に記載した発明の
一実施例による複数ポートプリンタコントローラの構成
を示すブロック図であり、相当部分には図9と同一符号
を付してその説明を省略する。図において、16は上位
装置2より送信されたデータ内の改ページコードを認識
し、それを認識した時点で、共通バッファ6内の割り当
てられた領域20へのデータの格納を終了するデータ格
納手段であり、この場合には、領域割当手段14、中断
認識手段15とともに、例えば中央処理装置4内にソフ
トウェア的に構築されている。
【0039】次に動作について説明する。なお、図12
はこの実施例3における受信処理動作のアルゴリズムの
詳細を示すフローチャートであり、実施例1と同等の処
理ステップには図5と同一のステップ番号を付し、実施
例1とは異なる部分についてのみ40番代の新たなステ
ップ番号を付している。
はこの実施例3における受信処理動作のアルゴリズムの
詳細を示すフローチャートであり、実施例1と同等の処
理ステップには図5と同一のステップ番号を付し、実施
例1とは異なる部分についてのみ40番代の新たなステ
ップ番号を付している。
【0040】ここで、上記実施例2では、例えば上位装
置2Aからのデータがデータバス10Aを通ってインタ
ーフェース回路5に到達すると、領域割当手段14はフ
リーリスト21を参照して空いている領域20の有無を
確認し、空き領域が存在することを知ると、フリーリス
ト21よりその空き領域、例えば#1の領域20の領域
管理情報を削除して、データをこの#1の領域20に格
納し、格納し終えるとプリンタ出力リスト22Aにその
#1の領域20の領域管理情報を登録し、プリンタ3A
にデータを出力する。従って、フリーリスト21より削
除した#1の領域20にデータを格納しているときに、
そのデータ中にプリンタに改ページを行わせるための改
ページコードが含まれていてもそれを区別しないため、
#1の領域20がデータで埋め尽くされるまではその領
域管理情報がプリンタ出力リスト22Aに登録されるこ
とはなく、プリンタ3Aへのデータの出力は待たされる
ことになる。また、上位装置2Aから出力されたデータ
が#1の領域20を埋め尽くす前にデータが終了した場
合にも、一定時間が経過するのを待ってからでないとデ
ータの終了とみなさないため、プリンタ3Aへのデータ
の出力は待たされることになる。
置2Aからのデータがデータバス10Aを通ってインタ
ーフェース回路5に到達すると、領域割当手段14はフ
リーリスト21を参照して空いている領域20の有無を
確認し、空き領域が存在することを知ると、フリーリス
ト21よりその空き領域、例えば#1の領域20の領域
管理情報を削除して、データをこの#1の領域20に格
納し、格納し終えるとプリンタ出力リスト22Aにその
#1の領域20の領域管理情報を登録し、プリンタ3A
にデータを出力する。従って、フリーリスト21より削
除した#1の領域20にデータを格納しているときに、
そのデータ中にプリンタに改ページを行わせるための改
ページコードが含まれていてもそれを区別しないため、
#1の領域20がデータで埋め尽くされるまではその領
域管理情報がプリンタ出力リスト22Aに登録されるこ
とはなく、プリンタ3Aへのデータの出力は待たされる
ことになる。また、上位装置2Aから出力されたデータ
が#1の領域20を埋め尽くす前にデータが終了した場
合にも、一定時間が経過するのを待ってからでないとデ
ータの終了とみなさないため、プリンタ3Aへのデータ
の出力は待たされることになる。
【0041】そこで、データ格納手段16は共通バッフ
ァ6を複数に分割した各領域20に各上位装置2より送
信されるデータを格納している時に、ステップST40
でそのデータの内容を監視し、データが改ページコード
であることを識別すると、その時点で領域20へのデー
タの格納をやめて直接ステップST16に進み、領域管
理情報をプリンタ出力リスト22に登録してそのデータ
をプリンタ3への出力の対象とする。中断認識手段15
はプリンタ出力リスト22に登録されている領域管理情
報に対応した領域20よりデータを取り出し、プリンタ
3にデータを出力するわけであるが、プリンタ3への出
力データの中に改ページコードがあると、それ以上その
領域20からプリンタ3への出力データの取り出しをや
め、プリンタ出力リスト22からその領域20の領域管
理情報を削除し、再び空き領域としてその領域管理情報
をフリーリスト21に追加する。なお、改ページコード
の後にも上位装置2よりデータの送信があると、フリー
リスト21より空き領域を確保して、再びデータを格納
しはじめる。
ァ6を複数に分割した各領域20に各上位装置2より送
信されるデータを格納している時に、ステップST40
でそのデータの内容を監視し、データが改ページコード
であることを識別すると、その時点で領域20へのデー
タの格納をやめて直接ステップST16に進み、領域管
理情報をプリンタ出力リスト22に登録してそのデータ
をプリンタ3への出力の対象とする。中断認識手段15
はプリンタ出力リスト22に登録されている領域管理情
報に対応した領域20よりデータを取り出し、プリンタ
3にデータを出力するわけであるが、プリンタ3への出
力データの中に改ページコードがあると、それ以上その
領域20からプリンタ3への出力データの取り出しをや
め、プリンタ出力リスト22からその領域20の領域管
理情報を削除し、再び空き領域としてその領域管理情報
をフリーリスト21に追加する。なお、改ページコード
の後にも上位装置2よりデータの送信があると、フリー
リスト21より空き領域を確保して、再びデータを格納
しはじめる。
【0042】このように、改ページコードを判別し、そ
の時点で領域20へのデータの格納を中断してプリンタ
3への出力の対象とすることにより、領域20をデータ
で埋め尽くすまで待つことなくプリンタ3への出力を行
うことができる。また、最後のデータも改ページコード
を判別するため、一定時間経過するのを待たずにプリン
タ3に出力することが可能となる。さらに、プリンタ3
にデータを出力し終わると、その領域20を他の上位装
置2で使用することができるため、共通バッファ6をよ
り効率的に使用することができる。
の時点で領域20へのデータの格納を中断してプリンタ
3への出力の対象とすることにより、領域20をデータ
で埋め尽くすまで待つことなくプリンタ3への出力を行
うことができる。また、最後のデータも改ページコード
を判別するため、一定時間経過するのを待たずにプリン
タ3に出力することが可能となる。さらに、プリンタ3
にデータを出力し終わると、その領域20を他の上位装
置2で使用することができるため、共通バッファ6をよ
り効率的に使用することができる。
【0043】実施例4.次に、この発明の実施例4を図
について説明する。図13は請求項4に記載した発明の
一実施例による複数ポートプリンタコントローラの構成
を示すブロック図であり、相当部分には図11と同一符
号を付してその説明を省略する。図において、17は各
上位装置2からの出力要求によって、共通バッファ6を
分割した各領域20を動的に割り付ける際、当該複数ポ
ートプリンタコントローラ1に接続されているプリンタ
3の状態によって、各上位装置2に割り当てる領域20
を最低1領域確保する領域確保手段であり、この場合に
は、領域割当手段14、中断認識手段15、データ格納
領域16とともに、例えば中央処理装置4内にソフトウ
ェア的に構築されている。
について説明する。図13は請求項4に記載した発明の
一実施例による複数ポートプリンタコントローラの構成
を示すブロック図であり、相当部分には図11と同一符
号を付してその説明を省略する。図において、17は各
上位装置2からの出力要求によって、共通バッファ6を
分割した各領域20を動的に割り付ける際、当該複数ポ
ートプリンタコントローラ1に接続されているプリンタ
3の状態によって、各上位装置2に割り当てる領域20
を最低1領域確保する領域確保手段であり、この場合に
は、領域割当手段14、中断認識手段15、データ格納
領域16とともに、例えば中央処理装置4内にソフトウ
ェア的に構築されている。
【0044】次に動作について説明する。なお、図14
はこの実施例4における受信処理動作のアルゴリズムの
詳細を示すフローチャートであり、実施例3と同等の処
理ステップには図12と同一のステップ番号を付し、実
施例3とは異なる部分についてのみ50番代の新たなス
テップ番号を付している。
はこの実施例4における受信処理動作のアルゴリズムの
詳細を示すフローチャートであり、実施例3と同等の処
理ステップには図12と同一のステップ番号を付し、実
施例3とは異なる部分についてのみ50番代の新たなス
テップ番号を付している。
【0045】ここで、上記実施例3では、上位装置2A
より最初に大量のデータがこの複数ポートプリンタコン
トローラ1に送信されると、共通バッファ6を複数分割
した領域20の全てがその上位装置2A用に確保されて
しまい、フリーリスト21には空いている領域20の領
域管理情報が登録されていない状態となる。そしてその
データを、プリンタ3Aに出力するわけであるが、プリ
ンタ3Aの故障などによってそのデータの出力が行われ
ないと、上位装置2Bから正常なプリンタ3Bへの印刷
データの送信があった場合には、空いている領域20が
ないためそのデータの印刷が不可能となる。
より最初に大量のデータがこの複数ポートプリンタコン
トローラ1に送信されると、共通バッファ6を複数分割
した領域20の全てがその上位装置2A用に確保されて
しまい、フリーリスト21には空いている領域20の領
域管理情報が登録されていない状態となる。そしてその
データを、プリンタ3Aに出力するわけであるが、プリ
ンタ3Aの故障などによってそのデータの出力が行われ
ないと、上位装置2Bから正常なプリンタ3Bへの印刷
データの送信があった場合には、空いている領域20が
ないためそのデータの印刷が不可能となる。
【0046】そこで、領域確保手段17は1つの上位装
置2Aに割り当てる領域20の最大個数を制限し(この
場合、上位装置2の数が2で、共通バッファ6の分割数
が8であるので、その最大個数を7とする)、データ送
信がない上位装置2Bについても最低1個の領域20を
確保しておく。それにより、どのような場合でも、印刷
データを送信しようとした上位装置2Bに新たに割り当
てるべき領域20が全くないことで、プリンタ3Bへ出
力できない状態にはならないようにする。すなわち、接
続されるプリンタ3A、プリンタ3B毎に最低1個の領
域20を確保しておく。しかしながら、プリンタ3Bが
接続されていない等、プリンタ3Bへのデータの出力が
不可能な場合にはそのデータは印刷されることがないた
め、この確保された最低1個の領域20はむだとなる。
置2Aに割り当てる領域20の最大個数を制限し(この
場合、上位装置2の数が2で、共通バッファ6の分割数
が8であるので、その最大個数を7とする)、データ送
信がない上位装置2Bについても最低1個の領域20を
確保しておく。それにより、どのような場合でも、印刷
データを送信しようとした上位装置2Bに新たに割り当
てるべき領域20が全くないことで、プリンタ3Bへ出
力できない状態にはならないようにする。すなわち、接
続されるプリンタ3A、プリンタ3B毎に最低1個の領
域20を確保しておく。しかしながら、プリンタ3Bが
接続されていない等、プリンタ3Bへのデータの出力が
不可能な場合にはそのデータは印刷されることがないた
め、この確保された最低1個の領域20はむだとなる。
【0047】そのため、接続されているプリンタ3Bの
状態が印刷可能なときには、そのプリンタ3Bを用いて
印刷を行う上位装置2Bのための最低1個の領域20を
確保しておくため、図14に示すように、フリーリスト
21を参照して空いている領域20の確保を行うに際し
て、まずステップST50において各プリンタ出力リス
ト22A、プリント出力リスト22Bを調べ、プリンタ
出力リスト22Bに領域20が登録されているか否かを
判定する。プリンタ出力リスト22Bに領域20が登録
されていなければ、そのプリンタ出力リスト22Bに対
応するプリンタ3Bが印刷可能な状態であるか否か、す
なわち、プリンタ3Bが出力可能な状態か否かをステッ
プST51で判定する。その結果、出力可能であればス
テップST52において、その出力可能なプリンタ3B
のための領域20としてフリーリスト21に1つの空き
領域を残すように、確保可能な領域数を制限してステッ
プST12に進む。なお、出力不可能な場合にはそのま
まステップST12に進み、プリンタ3Bのための領域
20を残すことなく領域20の確保を行う。
状態が印刷可能なときには、そのプリンタ3Bを用いて
印刷を行う上位装置2Bのための最低1個の領域20を
確保しておくため、図14に示すように、フリーリスト
21を参照して空いている領域20の確保を行うに際し
て、まずステップST50において各プリンタ出力リス
ト22A、プリント出力リスト22Bを調べ、プリンタ
出力リスト22Bに領域20が登録されているか否かを
判定する。プリンタ出力リスト22Bに領域20が登録
されていなければ、そのプリンタ出力リスト22Bに対
応するプリンタ3Bが印刷可能な状態であるか否か、す
なわち、プリンタ3Bが出力可能な状態か否かをステッ
プST51で判定する。その結果、出力可能であればス
テップST52において、その出力可能なプリンタ3B
のための領域20としてフリーリスト21に1つの空き
領域を残すように、確保可能な領域数を制限してステッ
プST12に進む。なお、出力不可能な場合にはそのま
まステップST12に進み、プリンタ3Bのための領域
20を残すことなく領域20の確保を行う。
【0048】このように、接続されているプリンタの状
態に応じて、少なくとも1つの領域20を確保しておく
ようにすることにより、他の上位装置2やプリンタ3の
状態により印刷不可能となることを防止し、また、印刷
不可能なプリンタ3のために不要な領域20が確保され
ることをなくすことができ、共通バッファをさらに効率
よく使用することができる。
態に応じて、少なくとも1つの領域20を確保しておく
ようにすることにより、他の上位装置2やプリンタ3の
状態により印刷不可能となることを防止し、また、印刷
不可能なプリンタ3のために不要な領域20が確保され
ることをなくすことができ、共通バッファをさらに効率
よく使用することができる。
【0049】実施例5.次に、この発明の実施例5を図
について説明する。図15は請求項5に記載した発明の
一実施例による複数ポートプリンタコントローラの構成
を示すブロック図であり、相当部分には図13と同一符
号を付してその説明を省略する。図において、18はプ
リンタ3への出力の状態を時間監視してプリンタ3の異
常を検出するとともに、プリンタ出力リスト22に登録
された領域管理情報中の改ページフラグによってページ
の区切りを認識して、プリンタ3の異常発生時に、正常
なプリンタ3へのページ単位のデータの出力終了後に、
異常が発生したプリンタ3へのデータをその正常なプリ
ンタ3に出力する出力制御手段であり、この場合には、
領域割当手段14、中断認識手段15、データ格納領域
16、領域確保手段17とともに、例えば中央処理装置
4内にソフトウェア的に構築されている。
について説明する。図15は請求項5に記載した発明の
一実施例による複数ポートプリンタコントローラの構成
を示すブロック図であり、相当部分には図13と同一符
号を付してその説明を省略する。図において、18はプ
リンタ3への出力の状態を時間監視してプリンタ3の異
常を検出するとともに、プリンタ出力リスト22に登録
された領域管理情報中の改ページフラグによってページ
の区切りを認識して、プリンタ3の異常発生時に、正常
なプリンタ3へのページ単位のデータの出力終了後に、
異常が発生したプリンタ3へのデータをその正常なプリ
ンタ3に出力する出力制御手段であり、この場合には、
領域割当手段14、中断認識手段15、データ格納領域
16、領域確保手段17とともに、例えば中央処理装置
4内にソフトウェア的に構築されている。
【0050】また、図16はフリーリスト21およびプ
リンタ出力リスト22に登録される領域管理情報のフォ
ーマットを示す説明図で、この場合にも、相当部分には
図3と同一符号を付してその説明を省略する。図におい
て、25は当該領域管理情報による領域20に格納され
たデータ中に改ページコードが存在することを示す改ペ
ージフラグである。
リンタ出力リスト22に登録される領域管理情報のフォ
ーマットを示す説明図で、この場合にも、相当部分には
図3と同一符号を付してその説明を省略する。図におい
て、25は当該領域管理情報による領域20に格納され
たデータ中に改ページコードが存在することを示す改ペ
ージフラグである。
【0051】次に動作について説明する。なお、図17
はこの実施例5における出力処理動作のアルゴリズムの
詳細を示すフローチャートであり、実施例2と同等の処
理ステップには図10と同一のステップ番号を付し、実
施例2とは異なる部分についてのみ60番代の新たなス
テップ番号を付している。
はこの実施例5における出力処理動作のアルゴリズムの
詳細を示すフローチャートであり、実施例2と同等の処
理ステップには図10と同一のステップ番号を付し、実
施例2とは異なる部分についてのみ60番代の新たなス
テップ番号を付している。
【0052】ここで、上記実施例4では、例えば、上位
装置2Aが共通バッファ6の分割された領域20をある
程度確保してプリンタ3Aへ出力している時、プリンタ
3Aの故障などにより印刷不可能な状態になると、プリ
ンタ3Bが印刷可能な状態であっても、もはや上位装置
2Aのデータを印刷することはできない。そこで、図1
6に示すように各プリンタ出力リスト22A、プリンタ
出力リスト22Bに登録される領域管理情報として、そ
の領域20が改ページコードを含む領域23であること
を示すために改ページフラグ25をセットする。
装置2Aが共通バッファ6の分割された領域20をある
程度確保してプリンタ3Aへ出力している時、プリンタ
3Aの故障などにより印刷不可能な状態になると、プリ
ンタ3Bが印刷可能な状態であっても、もはや上位装置
2Aのデータを印刷することはできない。そこで、図1
6に示すように各プリンタ出力リスト22A、プリンタ
出力リスト22Bに登録される領域管理情報として、そ
の領域20が改ページコードを含む領域23であること
を示すために改ページフラグ25をセットする。
【0053】出力制御手段18はステップST60にお
いて、プリンタ3Aへの出力状態を時間監視し、一定時
間プリンタ3Aの印刷が不可能な状態となった場合、ス
テップST61でそのプリンタ3Aは異常と判定する。
プリンタ3Aに異常が発生すると、印刷可能な状態にあ
る正常なプリンタ3Bへこの異常が発生したプリンタ3
Aへのデータを出力するために、ステップST62にお
いてプリンタ3Bのプリンタ出力リスト22Bを先頭よ
り検索し、ステップST63で改ページフラグ25がセ
ットされている領域管理情報を探し出す。次に、ステッ
プST64において、このプリンタ出力リスト22Bの
改ページフラグ25がセットされている領域管理情報の
後に、プリンタ出力リスト22Aに登録されていた印刷
不可能なプリンタ3Aに出力される予定であった領域2
0に関する領域管理情報を追加する。なお、検索の結
果、改ページフラグ25がセットされている領域管理情
報が存在しなければ、印刷不可能なプリンタ3Aに出力
予定であった領域20の領域管理情報を追加するのを一
時延期して、プリンタ出力リスト22Bに改ページフラ
グ25がセットされている領域管理情報が登録されるま
で待つ。その後、改ページフラグ25がセットされてい
る領域管理情報がプリンタ出力リスト22Bに登録され
ば、前述の処理手順に従って、前記プリンタ出力リスト
22Aの領域管理情報のプリンタ出力リスト22Bへの
追加を実行する。
いて、プリンタ3Aへの出力状態を時間監視し、一定時
間プリンタ3Aの印刷が不可能な状態となった場合、ス
テップST61でそのプリンタ3Aは異常と判定する。
プリンタ3Aに異常が発生すると、印刷可能な状態にあ
る正常なプリンタ3Bへこの異常が発生したプリンタ3
Aへのデータを出力するために、ステップST62にお
いてプリンタ3Bのプリンタ出力リスト22Bを先頭よ
り検索し、ステップST63で改ページフラグ25がセ
ットされている領域管理情報を探し出す。次に、ステッ
プST64において、このプリンタ出力リスト22Bの
改ページフラグ25がセットされている領域管理情報の
後に、プリンタ出力リスト22Aに登録されていた印刷
不可能なプリンタ3Aに出力される予定であった領域2
0に関する領域管理情報を追加する。なお、検索の結
果、改ページフラグ25がセットされている領域管理情
報が存在しなければ、印刷不可能なプリンタ3Aに出力
予定であった領域20の領域管理情報を追加するのを一
時延期して、プリンタ出力リスト22Bに改ページフラ
グ25がセットされている領域管理情報が登録されるま
で待つ。その後、改ページフラグ25がセットされてい
る領域管理情報がプリンタ出力リスト22Bに登録され
ば、前述の処理手順に従って、前記プリンタ出力リスト
22Aの領域管理情報のプリンタ出力リスト22Bへの
追加を実行する。
【0054】次に、その動作の具体例を、図18〜図2
2の共通バッファ6とフリーリスト21、プリンタ出力
リスト22の状態を示す説明図を用いて説明する。な
お、これら各説明図において、対応する領域に格納され
たデータが改ページコードを含むものである場合、その
領域管理情報に三角印を付してその改ページフラグ25
がセットされていることを示す。
2の共通バッファ6とフリーリスト21、プリンタ出力
リスト22の状態を示す説明図を用いて説明する。な
お、これら各説明図において、対応する領域に格納され
たデータが改ページコードを含むものである場合、その
領域管理情報に三角印を付してその改ページフラグ25
がセットされていることを示す。
【0055】ここで、上位装置2Aよりデータがこの複
数ポートプリンタコントローラ1に送信され、共通バッ
ファ6の#1〜#4の領域20を確保し、#1の領域2
0のデータをプリンタ3Aに出力中に、プリンタ3Aが
一定時間経過しても印刷可能とならない場合を想定す
る。また、このとき上位装置2Bからはデータの送信が
ないものとする。図18はそのような場合の各リストの
状態を示したもので、プリンタ出力リスト22Aに#1
〜#4の領域20に関する領域管理情報が登録され、フ
リーリスト21には空き領域である#5〜#8の領域2
0に関する領域管理情報が登録されている。この場合、
図示のようにプリンタ出力リスト22Bにはデータを出
力すべき領域20の領域管理情報が登録されていないた
め、出力制御手段18はプリンタ出力リスト22Aに登
録されている#1〜#4の領域20の領域管理情報の全
てを削除し、それを図19に示すようにプリンタ出力リ
スト22Bへ登録する。その後、出力制御手段18はプ
リンタ出力リスト22Bに登録されている領域管理情報
に従って、#1〜#4の領域20に格納されているデー
タをプリンタインターフェース9、データバス11Bを
通してプリンタ3Bに出力させる。
数ポートプリンタコントローラ1に送信され、共通バッ
ファ6の#1〜#4の領域20を確保し、#1の領域2
0のデータをプリンタ3Aに出力中に、プリンタ3Aが
一定時間経過しても印刷可能とならない場合を想定す
る。また、このとき上位装置2Bからはデータの送信が
ないものとする。図18はそのような場合の各リストの
状態を示したもので、プリンタ出力リスト22Aに#1
〜#4の領域20に関する領域管理情報が登録され、フ
リーリスト21には空き領域である#5〜#8の領域2
0に関する領域管理情報が登録されている。この場合、
図示のようにプリンタ出力リスト22Bにはデータを出
力すべき領域20の領域管理情報が登録されていないた
め、出力制御手段18はプリンタ出力リスト22Aに登
録されている#1〜#4の領域20の領域管理情報の全
てを削除し、それを図19に示すようにプリンタ出力リ
スト22Bへ登録する。その後、出力制御手段18はプ
リンタ出力リスト22Bに登録されている領域管理情報
に従って、#1〜#4の領域20に格納されているデー
タをプリンタインターフェース9、データバス11Bを
通してプリンタ3Bに出力させる。
【0056】次に、前述のような想定の下において、上
位装置2Bからもこの複数ポートプリンタコントローラ
1にデータの送信があり、共通バッファ6の#5〜#6
の領域20にデータを格納し終え、その領域管理情報を
プリンタ出力リスト22Bに登録して、#7の領域20
にデータを格納中である場合について考える。図20は
そのような場合の各リストの状態を示したもので、プリ
ンタ出力リスト22Aに#1〜#4の領域20に関する
領域管理情報が、プリンタ出力リスト22Bに#5〜#
6の領域20に関する領域管理情報がそれぞれ登録さ
れ、フリーリスト21には空き領域である#8の領域2
0に関する領域管理情報が登録されている。そのとき、
プリンタ出力リスト22Bには改ページフラグ25がセ
ットされている領域管理情報が登録されていないため、
プリンタ出力リスト22Aに登録されている、異常が発
生したプリンタ3Aへのデータを格納した#1〜#4の
領域20に関する領域管理情報は、プリンタ出力リスト
22Bには追加されない。
位装置2Bからもこの複数ポートプリンタコントローラ
1にデータの送信があり、共通バッファ6の#5〜#6
の領域20にデータを格納し終え、その領域管理情報を
プリンタ出力リスト22Bに登録して、#7の領域20
にデータを格納中である場合について考える。図20は
そのような場合の各リストの状態を示したもので、プリ
ンタ出力リスト22Aに#1〜#4の領域20に関する
領域管理情報が、プリンタ出力リスト22Bに#5〜#
6の領域20に関する領域管理情報がそれぞれ登録さ
れ、フリーリスト21には空き領域である#8の領域2
0に関する領域管理情報が登録されている。そのとき、
プリンタ出力リスト22Bには改ページフラグ25がセ
ットされている領域管理情報が登録されていないため、
プリンタ出力リスト22Aに登録されている、異常が発
生したプリンタ3Aへのデータを格納した#1〜#4の
領域20に関する領域管理情報は、プリンタ出力リスト
22Bには追加されない。
【0057】ここで、#7の領域20に格納中のデータ
に改ページコードが発生すると、それを認識したデータ
格納手段16は当該#7の領域20へのデータの格納を
終了し、その#7の領域20に関する領域管理情報をプ
リンタ出力リスト22Bに登録する。なお、この領域管
理情報は、#7の領域20に格納されたデータが改ペー
ジコードを含むため、その改ページフラグ25はセット
されている。図21はそのような場合の各リストの状態
を示したもので、プリンタ出力リスト22Bには前記#
5〜#6の領域20に関する領域管理情報に加えて#7
の領域20に関する領域管理情報も登録されることにな
る。
に改ページコードが発生すると、それを認識したデータ
格納手段16は当該#7の領域20へのデータの格納を
終了し、その#7の領域20に関する領域管理情報をプ
リンタ出力リスト22Bに登録する。なお、この領域管
理情報は、#7の領域20に格納されたデータが改ペー
ジコードを含むため、その改ページフラグ25はセット
されている。図21はそのような場合の各リストの状態
を示したもので、プリンタ出力リスト22Bには前記#
5〜#6の領域20に関する領域管理情報に加えて#7
の領域20に関する領域管理情報も登録されることにな
る。
【0058】この時点で、プリンタ出力リスト22Aに
登録されている、異常となったプリンタ3Aへのデータ
を格納した#1〜#4の領域20に関する領域管理情報
がプリンタ出力リスト22Bに追加される。図22はそ
のような場合の各リストの状態を示したもので、プリン
タ出力リスト22Bにはプリンタ出力リスト22Aから
#1〜#4の領域20に関する領域管理情報が移され、
#5〜#7の領域20に関する領域管理情報に加えて、
#1〜#4の領域20に関する領域管理情報も登録さ
れ、プリンタ出力リスト22Aはその登録情報がクリア
される。なお、このとき、#4の領域20に格納された
データの末尾には強制的に改ページコードが付加され、
従って、プリンタ出力リスト22Bに登録された#4の
領域20に関する領域管理情報では、改ページフラグ2
5がセットされている。
登録されている、異常となったプリンタ3Aへのデータ
を格納した#1〜#4の領域20に関する領域管理情報
がプリンタ出力リスト22Bに追加される。図22はそ
のような場合の各リストの状態を示したもので、プリン
タ出力リスト22Bにはプリンタ出力リスト22Aから
#1〜#4の領域20に関する領域管理情報が移され、
#5〜#7の領域20に関する領域管理情報に加えて、
#1〜#4の領域20に関する領域管理情報も登録さ
れ、プリンタ出力リスト22Aはその登録情報がクリア
される。なお、このとき、#4の領域20に格納された
データの末尾には強制的に改ページコードが付加され、
従って、プリンタ出力リスト22Bに登録された#4の
領域20に関する領域管理情報では、改ページフラグ2
5がセットされている。
【0059】このように、各領域20内のデータに改ペ
ージコードが存在することを表す改ページフラグ25を
領域管理情報に設け、プリンタ3への出力の状態を時間
監視してプリンタ3の異常を検出し、正常なプリンタ3
のプリンタ出力リスト22中の改ページフラグ25がセ
ットされている領域管理情報の後ろに、異常状態のプリ
ンタ3へ出力するデータが格納されている領域20の領
域管理情報を追加することにより、プリンタ3が出力不
可能な状態に陥った場合でも、ページ単位で正常なプリ
ンタ3へ出力を行うことが可能となる。
ージコードが存在することを表す改ページフラグ25を
領域管理情報に設け、プリンタ3への出力の状態を時間
監視してプリンタ3の異常を検出し、正常なプリンタ3
のプリンタ出力リスト22中の改ページフラグ25がセ
ットされている領域管理情報の後ろに、異常状態のプリ
ンタ3へ出力するデータが格納されている領域20の領
域管理情報を追加することにより、プリンタ3が出力不
可能な状態に陥った場合でも、ページ単位で正常なプリ
ンタ3へ出力を行うことが可能となる。
【0060】
【発明の効果】以上のように、請求項1に記載の発明に
よれば、領域割当手段を設け、共通バッファを複数の領
域に分割してそれらを領域管理情報を用いて管理するこ
とにより、各上位装置に対して空き領域を動的に割り当
て、各上位装置からのデータをその割り当てられた領域
に格納するように構成したので、1ページ分の印刷デー
タが共通バッファに格納されるのを待たずにプリンタへ
の出力が行え、また、1ページ分の印刷データのプリン
タへの出力の終了を待たずに、プリンタへデータを出力
し終えた領域毎に順次解放して、他の上位装置にその領
域の割り当てを許可することが可能となり、共通バッフ
ァを効率よく使用することができる複数ポートプリンタ
コントローラが得られる効果がある。
よれば、領域割当手段を設け、共通バッファを複数の領
域に分割してそれらを領域管理情報を用いて管理するこ
とにより、各上位装置に対して空き領域を動的に割り当
て、各上位装置からのデータをその割り当てられた領域
に格納するように構成したので、1ページ分の印刷デー
タが共通バッファに格納されるのを待たずにプリンタへ
の出力が行え、また、1ページ分の印刷データのプリン
タへの出力の終了を待たずに、プリンタへデータを出力
し終えた領域毎に順次解放して、他の上位装置にその領
域の割り当てを許可することが可能となり、共通バッフ
ァを効率よく使用することができる複数ポートプリンタ
コントローラが得られる効果がある。
【0061】また、請求項2に記載の発明によれば、中
断認識手段を設け、各上位装置からのデータ送信を時間
監視して送信が中断されたことを認識すると、該当領域
のデータをプリンタに強制的に出力するように構成した
ので、上位装置からこの複数ポートプリンタコントロー
ラに送信されてきたデータは残らずプリンタへ出力する
ことができ、また、プリンタへのデータ出力を強制的に
行っているため、領域が確保されたままの状態になるこ
とが防止できて、他の上位装置でその領域を使用するこ
とが可能となるため、共通バッファをより効率的に使用
することができるという効果がある。
断認識手段を設け、各上位装置からのデータ送信を時間
監視して送信が中断されたことを認識すると、該当領域
のデータをプリンタに強制的に出力するように構成した
ので、上位装置からこの複数ポートプリンタコントロー
ラに送信されてきたデータは残らずプリンタへ出力する
ことができ、また、プリンタへのデータ出力を強制的に
行っているため、領域が確保されたままの状態になるこ
とが防止できて、他の上位装置でその領域を使用するこ
とが可能となるため、共通バッファをより効率的に使用
することができるという効果がある。
【0062】また、請求項3に記載の発明によれば、デ
ータ格納手段を設け、上位装置からのデータの内容監視
を行ってデータ内に含まれる改ページコードを認識し、
その改ページコード単位に各領域へのデータの格納を行
うように構成したので、1つの領域がデータで埋め尽く
されるまで待つことなく、プリンタへの出力を行うこと
ができるばかりか、プリンタへのデータの出力が早く行
えるため、出力し終えた領域を早く解放することがで
き、その領域を他の上位装置で使用することが可能とな
って、共通バッファをさらに効率よく使用することが可
能になるという効果がある。
ータ格納手段を設け、上位装置からのデータの内容監視
を行ってデータ内に含まれる改ページコードを認識し、
その改ページコード単位に各領域へのデータの格納を行
うように構成したので、1つの領域がデータで埋め尽く
されるまで待つことなく、プリンタへの出力を行うこと
ができるばかりか、プリンタへのデータの出力が早く行
えるため、出力し終えた領域を早く解放することがで
き、その領域を他の上位装置で使用することが可能とな
って、共通バッファをさらに効率よく使用することが可
能になるという効果がある。
【0063】また、請求項4に記載の発明によれば、領
域確保手段を設け、プリンタの出力可能状態を監視し
て、出力可能であれば上位装置からのデータ送信がない
場合でも、その上位装置に対する領域を少なくとも1つ
確保するように構成したので、ある上位装置に共通バッ
ファの全領域が確保されていまうことがなくなり、常に
上位装置からのデータを受けてそれを共通バッファに格
納し、プリンタに出力することができる複数ポートプリ
ンタコントローラが得られ、また、接続されていないプ
リンタのためにむだな領域の割り当てることもなくなっ
て、共通バッファをより効率よく使用することができる
などの効果がある。
域確保手段を設け、プリンタの出力可能状態を監視し
て、出力可能であれば上位装置からのデータ送信がない
場合でも、その上位装置に対する領域を少なくとも1つ
確保するように構成したので、ある上位装置に共通バッ
ファの全領域が確保されていまうことがなくなり、常に
上位装置からのデータを受けてそれを共通バッファに格
納し、プリンタに出力することができる複数ポートプリ
ンタコントローラが得られ、また、接続されていないプ
リンタのためにむだな領域の割り当てることもなくなっ
て、共通バッファをより効率よく使用することができる
などの効果がある。
【0064】また、請求項5に記載の発明によれば、出
力制御手段を設け、プリンタへの出力状態を時間監視し
てその異常発生を検出し、ページ単位で正常なプリンタ
へのデータの出力が終了した後に、異常となったプリン
タへのデータをその正常なプリンタへ出力させるように
構成したので、プリンタに異常が発生しても、そこに出
力する予定であったデータを他の正常なプリンタに出力
することが可能となるばかりか、このように、異常プリ
ンタ側のデータの出力が可能となるため、出力し終えた
領域を解放してそれを他の上位装置で使用することがで
き、共通バッファをさらに効率的に使用することが可能
になるなどの効果がある。
力制御手段を設け、プリンタへの出力状態を時間監視し
てその異常発生を検出し、ページ単位で正常なプリンタ
へのデータの出力が終了した後に、異常となったプリン
タへのデータをその正常なプリンタへ出力させるように
構成したので、プリンタに異常が発生しても、そこに出
力する予定であったデータを他の正常なプリンタに出力
することが可能となるばかりか、このように、異常プリ
ンタ側のデータの出力が可能となるため、出力し終えた
領域を解放してそれを他の上位装置で使用することがで
き、共通バッファをさらに効率的に使用することが可能
になるなどの効果がある。
【図1】 この発明の実施例1による複数ポートプリン
タコントローラの構成を示すブロック図である。
タコントローラの構成を示すブロック図である。
【図2】 上記実施例における共通バッファと、フリー
リストおよびプリンタ出力リストの初期状態を示す説明
図である。
リストおよびプリンタ出力リストの初期状態を示す説明
図である。
【図3】 上記実施例における領域管理情報のフォーマ
ットを示す説明図である。
ットを示す説明図である。
【図4】 上記実施例における基本動作のアルゴリズム
を示すフローチャートである。
を示すフローチャートである。
【図5】 上記実施例における受信処理動作のアルゴリ
ズムの詳細を示すフローチャートである。
ズムの詳細を示すフローチャートである。
【図6】 上記実施例における出力処理動作のアルゴリ
ズムの詳細を示すフローチャートである。
ズムの詳細を示すフローチャートである。
【図7】 上記実施例における共通バッファと、フリー
リストおよびプリンタ出力リストの状態を示す説明図で
ある。
リストおよびプリンタ出力リストの状態を示す説明図で
ある。
【図8】 上記実施例における共通バッファと、フリー
リストおよびプリンタ出力リストのその後の状態を示す
説明図である。
リストおよびプリンタ出力リストのその後の状態を示す
説明図である。
【図9】 この発明の実施例2による複数ポートプリン
タコントローラの構成を示すブロック図である。
タコントローラの構成を示すブロック図である。
【図10】 上記実施例における出力処理動作のアルゴ
リズムの詳細を示すフローチャートである。
リズムの詳細を示すフローチャートである。
【図11】 この発明の実施例3による複数ポートプリ
ンタコントローラの構成を示すブロック図である。
ンタコントローラの構成を示すブロック図である。
【図12】 上記実施例における受信処理動作のアルゴ
リズムの詳細を示すフローチャートである。
リズムの詳細を示すフローチャートである。
【図13】 この発明の実施例4による複数ポートプリ
ンタコントローラの構成を示すブロック図である。
ンタコントローラの構成を示すブロック図である。
【図14】 上記実施例における受信処理動作のアルゴ
リズムの詳細を示すフローチャートである。
リズムの詳細を示すフローチャートである。
【図15】 この発明の実施例5による複数ポートプリ
ンタコントローラの構成を示すブロック図である。
ンタコントローラの構成を示すブロック図である。
【図16】 上記実施例における領域管理情報のフォー
マットを示す説明図である。
マットを示す説明図である。
【図17】 上記実施例における出力処理動作のアルゴ
リズムの詳細を示すフローチャートである。
リズムの詳細を示すフローチャートである。
【図18】 上記実施例における共通バッファと、フリ
ーリストおよびプリンタ出力リストの状態を示す説明図
である。
ーリストおよびプリンタ出力リストの状態を示す説明図
である。
【図19】 上記実施例における共通バッファと、フリ
ーリストおよびプリンタ出力リストのその後の状態を示
す説明図である。
ーリストおよびプリンタ出力リストのその後の状態を示
す説明図である。
【図20】 上記実施例における共通バッファと、フリ
ーリストおよびプリンタ出力リストの他の状態を示す説
明図である。
ーリストおよびプリンタ出力リストの他の状態を示す説
明図である。
【図21】 上記実施例における共通バッファと、フリ
ーリストおよびプリンタ出力リストのその後の状態を示
す説明図である。
ーリストおよびプリンタ出力リストのその後の状態を示
す説明図である。
【図22】 上記実施例における共通バッファと、フリ
ーリストおよびプリンタ出力リストのさらにその後の状
態を示す説明図である。
ーリストおよびプリンタ出力リストのさらにその後の状
態を示す説明図である。
【図23】 従来の複数ポートプリンタコントローラを
の構成を示すブロック図である。
の構成を示すブロック図である。
1 複数ポートプリンタコントローラ、2A,2B 上
位装置、3A,3Bプリンタ、4 中央処理装置、6
共通バッファ、9 プリンタインターフェース、10
A、10B、11A、11B、12 データバス、14
領域割当手段、15 中断認識手段、16 データ格
納手段、17 領域確保手段、18 出力制御手段、2
0 領域。
位装置、3A,3Bプリンタ、4 中央処理装置、6
共通バッファ、9 プリンタインターフェース、10
A、10B、11A、11B、12 データバス、14
領域割当手段、15 中断認識手段、16 データ格
納手段、17 領域確保手段、18 出力制御手段、2
0 領域。
Claims (5)
- 【請求項1】 複数の上位装置と複数のプリンタに接続
され、前記各上位装置からのデータを共通バッファに一
旦記憶し、それを前記プリンタに送って印刷させる複数
ポートプリンタコントローラにおいて、前記共通バッフ
ァを複数の領域に分割して、その領域を領域管理情報に
よって管理し、前記各上位装置からのデータ出力に対し
て、分割した前記領域中の空いているものを動的に割り
当て、前記各上位装置から受信したデータを、その上位
装置に割り当てられた領域に格納する領域割当手段を設
けたことを特徴とする複数ポートプリンタコントロー
ラ。 - 【請求項2】 前記上位装置からのデータの送信を時間
監視して、前記データの送信が一定時間以上中断したこ
とを認識すると、前記上位装置に割り当てられた前記領
域に格納されているデータを、強制的に前記プリンタへ
出力する中断認識手段を設けたことを特徴とする請求項
1に記載の複数ポートプリンタコントローラ。 - 【請求項3】 前記上位装置から送られてくるデータの
内容を監視して、前記データ中の改ページコードを判別
し、前記改ページコードを認識した時点で、前記上位装
置に割り当てられた前記領域へのデータの格納を終了す
るデータ格納手段を設けたことを特徴とする請求項1に
記載の複数ポートプリンタコントローラ。 - 【請求項4】 前記各上位装置からのデータの出力要求
によって前記領域を動的に割り当てる際に、接続されて
いる前記プリンタの状態に応じて、前記各上位装置に割
り当てる前記領域を最低1つ確保しておく領域確保手段
を設けたことを特徴とする請求項1に記載の複数ポート
プリンタコントローラ。 - 【請求項5】 前記プリンタへのデータの出力の状態を
時間監視して、前記プリンタに異常が発生したことを検
出すると、正常に印刷を行っているプリンタへのデータ
が改ページとなるのを待って、この正常なプリンタに前
記異常となったプリンタへのデータの出力を行う出力制
御手段を設けたことを特徴とする請求項1に記載の複数
ポートプリンタコントローラ。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6102937A JP2768901B2 (ja) | 1994-05-17 | 1994-05-17 | 複数ポートプリンタコントローラ |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6102937A JP2768901B2 (ja) | 1994-05-17 | 1994-05-17 | 複数ポートプリンタコントローラ |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH07311662A true JPH07311662A (ja) | 1995-11-28 |
| JP2768901B2 JP2768901B2 (ja) | 1998-06-25 |
Family
ID=14340755
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6102937A Expired - Lifetime JP2768901B2 (ja) | 1994-05-17 | 1994-05-17 | 複数ポートプリンタコントローラ |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2768901B2 (ja) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0264060A (ja) * | 1988-08-26 | 1990-03-05 | Matsushita Electric Ind Co Ltd | 誘電体磁器とその製造方法 |
| JPH05100803A (ja) * | 1991-10-07 | 1993-04-23 | Nec Corp | 複数ポートプリンタコントローラ及びその制御方式 |
-
1994
- 1994-05-17 JP JP6102937A patent/JP2768901B2/ja not_active Expired - Lifetime
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0264060A (ja) * | 1988-08-26 | 1990-03-05 | Matsushita Electric Ind Co Ltd | 誘電体磁器とその製造方法 |
| JPH05100803A (ja) * | 1991-10-07 | 1993-04-23 | Nec Corp | 複数ポートプリンタコントローラ及びその制御方式 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2768901B2 (ja) | 1998-06-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7199890B2 (en) | Print control method and apparatus | |
| US8189221B2 (en) | Image forming device for executing a designated process with priority without canceling a previously accepted process | |
| US8159709B2 (en) | Method for canceling a print job submitted to a printer | |
| JPH10240470A (ja) | 情報処理装置およびネットワークプリントシステムおよびその制御方法およびプログラムが格納された記憶媒体 | |
| JP2000112706A (ja) | 印刷ログ集計管理システム、印刷ログ集計管理方法、および記憶媒体 | |
| JP2000085211A (ja) | 印刷制御方法および印刷システム | |
| JP2768901B2 (ja) | 複数ポートプリンタコントローラ | |
| JP3489846B2 (ja) | リモート印刷システム | |
| JP3173721B2 (ja) | プリンタ及びその動作方法 | |
| EP0860770B1 (en) | Terminal printer | |
| JP3974762B2 (ja) | 画像処理装置および画像処理方法 | |
| JP2581468B2 (ja) | 非scsiデバイスのアクセス方法 | |
| JPH10161824A (ja) | プリント制御装置 | |
| JPH11327831A (ja) | プリンタ及び印刷システム | |
| JPH09305384A (ja) | 運用情報管理システム | |
| US20040263904A1 (en) | Method and apparatus for processing print data | |
| JP2901302B2 (ja) | ファクシミリ装置 | |
| JPH09282112A (ja) | 情報処理装置 | |
| JP4541581B2 (ja) | 印刷制御装置およびデータ処理方法および記憶媒体 | |
| JP3674207B2 (ja) | 半二重通信システムにおける周辺機器及びバッファ制御方法 | |
| JP3483464B2 (ja) | 画像処理システム及びその制御方法 | |
| JPH012149A (ja) | ログ情報収集制御方式 | |
| JP3270400B2 (ja) | 印刷処理クラスタシステム | |
| JP2000305723A (ja) | プリンタ切替方法 | |
| JPH08297629A (ja) | バス中継器 |