(57)【要約】【課題】ＩＥＥＥ１２８４．４に基づく双方向通信を行い、相互に送受信可能なパケット数を知らせて通信を制御する印刷システムにおいて、従来の技術では、他方から有効なパケット数の通知が返ってくるまで何度もパケット数の通知要求を行わなければならず、その無駄な要求によりトラフィックが増える原因であった。本発明では、有効パケット数の通知要求の繰り返しによる無駄なオーバーヘッドを防止することが可能な印刷システムを提供することを目的とする。【解決手段】情報処理装置と、印刷装置との間に設けられた各通信チャンネル毎に相互に送受信可能なパケット数を調べて通信を制御する制御手段を備え、情報処理装置から出力装置へ送信可能なパケットがなくなったときに、出力装置が受信バッファ領域が空くまで待ち、有効なパケット数が確保出来たときに、情報処理装置へクレジットコマンドを送信し、情報処理装置からのクレジット要求を減らす。【選択図】        図１
2004192238.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置と、該情報処理装置からのデータに従って印刷出力を行う出力装置とを有し、前記情報処理装置と出力装置間に設けられた各通信チャンネル毎に相互に送受信可能なパケット数を調べて相互の通信を制御する制御手段を備え、情報処理装置から出力装置へ送信可能なパケットがなくなったときに、出力装置は、情報処理装置から出力装置へ送信可能なパケット数が０になり、かつ受信バッファの空き領域が有効なパケット数確保出来るくらいの大きさになったら、有効なパケット数を情報処理装置へ通知する。情報処理装置は、情報処理装置から出力装置へ送信可能なパケットがなくなったときには、出力装置からの有効なパケット数が無いかを始めにチェックし、有効なパケット数があった場合は、出力装置へクレジット要求を行わず、有効なパケット数が無かった場合は、出力装置へクレジット要求を行うことを特徴とする印刷システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置とこの情報処理装置からのデータに従って印刷出力を行う出力装置を有した印刷システムに関するものである。
【０００２】
【従来の技術】
従来より、パーソナルコンピュータ等のホスト装置とプリンタからなる印刷システムにおいて、ホスト装置・プリンタ間で例えばＩＥＥＥ１２８４．４に基づくデータの双方向通信を行うものがあり、更に、相互に送受信可能なパケット数を知らせてデータ通信を制御するものが知られている。また、双方向通信で複数のチャンネルを用意し、一つは印字データの転送に利用し、もう一つはプリンタの現在の状態のモニタリングに使用し、そのチャンネル毎に上記の送受信可能なパケット数を教えて相互の通信を制御することも提案されている。この場合、一方が保持している他方への送信可能なパケット数まで送信した後は、他方へ送信可能なパケット数の通知を依頼し、他方から有効なパケット数の通知があるまではデータ送信を行うことができない。
【０００３】
【発明が解決しようとする課題】
ところで、上記のような印刷システムにあっては、複数のチャンネル毎に相互に送受信可能なパケット数を知らせて通信を制御する場合、一方が他方への送信可能なパケット数まで送信した後は他方から有効なパケット数の通知があるまではデータ送信を行うことができず、このため、他方から有効なパケット数の通知が返ってくるまで何度もパケット数の通知要求を行わなければならず、その要求を受けた側でもすべき作業を一時中断して応答しなければならず、本来の作業が遅れるという問題点があった。
【０００４】
また、有効なパケット数の通知があるまで何度も要求を出すことになると、その無駄な要求によりトラフィックが増える原因となる。
【０００５】
更に、プリンタに紙詰り、インク切れ等のエラーが発生した際にはそのエラーの原因を取り除かない限りプリンタは印字を開始することはなく、また一度プリンタの能力一杯の受信可能なパケット数の通知を受け取った後はプリンタが受け取り可能なパケットが増えることがないので、プリンタにエラーが発生している状態でのパケット数の通知要求は無駄なトラフィックを増やす原因となる。
【０００６】
本発明は、上記のような問題点に着目してなされたもので、ユーザの利便性及び作業効率が向上し、また有効パケット数の通知要求の繰り返しによる無駄なオーバーヘッドを防止することが可能な印刷システムを提供することを目的としている。
【０００７】
【課題を解決するための手段】
本発明に係る印刷システムは次のように構成したものである。
【０００８】
（１）情報処理装置と、該情報処理装置からのデータに従って印刷出力を行う出力装置とを有し、前記情報処理装置と出力装置間に設けられた各通信チャンネル毎に相互に送受信可能なパケット数を調べて相互の通信を制御する制御手段を備え、情報処理装置から出力装置へ送信可能なパケットがなくなったときに、出力装置が有効なパケット数を確保出来るくらい、受信バッファ領域が空くまで待ち、有効なパケット数が確保出来たときに、情報処理装置へクレジットコマンドを送信する。このとき、情報処理装置は、情報処理装置から出力装置へ送信可能なパケットがなくなったときに、クレジット要求を行わず、出力装置からのクレジットコマンドを待つようにした。
【０００９】
【発明の実施の形態】
図１は本発明に係る印刷システムの構成を示すブロック図である。図１において、１はパーソナルコンピュータ等の情報処理装置であるホスト装置で、システムバス２を介して互いに接続されたビデオメモリ（ＶＲＡＭ）３，表示部（ＣＲＴ）４，キーボード（ＫＢＤ）５，ポインティングデバイス（ＰＤ）６，ディスクコントローラ部７，ハードディスク装置（ＨＤ）９，接続部１０，ＣＰＵ１１，ＲＡＭ１２、及びＲＯＭ１３を主要な構成要素としている。
【００１０】
また同図中、１４はホスト装置１と該ホスト装置１からのデータに従って印刷出力を行うプリンタ装置（出力装置）１５とを接続するインターフェイスで、各々の接続部１０と１７の間に介装されている。プリンタ装置１５は、システムバス１６を介して互いに接続された接続部１７，印刷部（プリンタエンジン）１８，操作部１９，外部メモリ２０，ＣＰＵ２１，ＲＡＭ２２、及びＲＯＭ２３を主要な構成要素としている。
【００１１】
上記ホスト装置１内のＣＰＵ１１は、後述する図２等のフローチャートで示されるプログラムに従って装置全体を制御するものである。ＲＡＭ１２は、ＣＰＵ１１の主メモリとしてプログラムを格納するとともに、ＣＰＵ１１により制御実行時にワークデータエリアとして使用される各種データの一時記憶領域を備えている。ディスクコントローラ部７は、外部メモリであるハードディスク装置（ＨＤ）９あるいはフロッピー（Ｒ）ディスク（ＦＤ）８等の外部記憶装置とのアクセス制御を行うものである。
【００１２】
ハードディスク装置（ＨＤ）９及びフロッピー（Ｒ）ディスク（ＦＤ）８は、ディスク上の磁気記憶媒体にデータを記録して読み書きする装置で、各種図形データや文書データ、更にはＲＯＭ１３にダウンロードされて実行されるホスト装置１のブートプログラム、ＣＰＵ１１の制御プログラムであるオペレーティングシステム（ＯＳ）、各種アプリケーション・プログラム、プリンタ制御コマンド（印刷データ）生成プログラム（プリンタドライバ）及びページ制御機能を有する本印刷システムプログラムなどを記憶する。また、この記憶媒体はハードディスク装置９やフロッピー（Ｒ）ディスク８だけでなく、磁気テープ，ＣＤ−ＲＯＭ，ＩＣメモリカード，ＤＶＤ等であっても良い。
【００１３】
ＲＯＭ１３は内部メモリであり、上述のハードディスク装置（ＨＤ）９やフロッピー（Ｒ）ディスク（ＦＤ）８等と同様に各種データやプログラムを記憶している。表示部４は、ホスト装置１においてビットマップデータ等各種図形やコマンドメニューのコマンドイメージ、オペレータのメッセージ等を画面に表示するもので、ＣＲＴ（陰極線管）あるいは液晶等から構成されている。ビデオメモリ３は、この表示部４に表示すべきデータを記憶している。
【００１４】
キーボード５及びポインティングデバイス６は、何れもオペレータにより操作され、各種のデータやコマンド、あるいは印刷モード等を入力するものである。また、キーボード５及びポインティングデバイス６により、表示部４の画面に表示されたコマンドメニューのコマンドイメージ等を選択することにより、そのコマンドの実行や印刷モードを指示することができる。接続部１０は、セントロニクスインターフェイスやネットワークインターフェイス，赤外線インターフェイス等の所定の双方向のインターフェイス１４を介してプリンタ装置１５の接続部１６と接続され、プリンタ制御コマンド（印刷データ）を送信するなど後述するプリンタ装置１５との通信制御処理を実行する。
【００１５】
また、プリンタ装置１５内のＣＰＵ２１は、プリンタ装置１５の全体を制御するものであり、ＲＯＭ１３あるいは外部メモリ２０に記憶された制御プログラムに基づいて、接続部１７で受信したプリンタ制御コマンド（印刷データ）による画像信号を印刷部１８に送信する。
【００１６】
ＲＡＭ２２は、ＣＰＵ２１の主メモリとして、ＣＰＵ２１による制御実行時にワークデータエリアとして使用される各種データの一時記憶領域を備えている。外部メモリ２０は、オプションとしても接続され、フォントデータ，エミュレーションプログラム，フォームデータ等を記憶する。ＲＯＭ２３はプリンタ内部メモリであり、外部メモリ２０と同様に、各種データや本プリンタ装置１５を制御するプリンタ制御プログラム等を記憶している。
【００１７】
印刷部１８はプリンタエンジンであり、ＣＰＵ２１により制御され、ＲＯＭ２３あるいは外部メモリ２０に記憶された制御プログラムよりシステムバスを介して出力された画像信号を受け、実際の印刷を行う。操作部１９は、操作パネルや操作スイッチ等の入力部、及びＬＥＤ，液晶パネル等の表示部等から構成され、オペレータの操作を受けたり結果を表示するものである。オペレータは操作部１９を介して本プリンタ装置１５の設定を指示したり確認することが可能である。
【００１８】
接続部１７は、上述の双方向のインターフェイス１４を介してホスト装置１の接続部１０と接続され、プリンタ制御コマンド（印刷データ）を受信したり、プリンタ内部の状態等を通知することも可能となっている。
【００１９】
次に、本実施例の動作について図２及び図３のフローチャートにより説明する。図２は図１の印刷システムのホスト装置１の動作を示すフローチャート、図３はプリンタ装置１５の動作を示すフローチャートである。そして、これらのフローチャートの制御処理はＲＯＭ１３，２３に格納されたプログラムに従ってＣＰＵ１１，２１により実行されるものである。
【００２０】
なお、実施例ではデータの送信方向はホスト装置１からプリンタ装置１５とし、説明の簡便のため、データが送信経路を伝わる際に時間はかからないものとする。また、ホスト装置・プリンタ装置間は印字データ送受信用のデータチャンネルと制御用の制御チャンネルとステータス用のステータスチャンネルを確保しているものとする。そして、制御チャンネルを通してクレジット要求，クレジット応答を発行し、ステータスチャンネルを通してホスト装置１とプリンタ装置１５はお互いのステータス、例えば正常，電源ＯＦＦ，紙なし等を知ることができる。
【００２１】
また、図１のホスト装置１のＲＡＭ１２は、ホスト装置１がクレジット０になって、プリンタ装置１５からのクレジットコマンドを待つ時間ｔ１と、時間ｔ１秒経過してもクレジットコマンドが受信されない場合に、プリンタ装置１５に対しクレジット要求を出すまでの遅延時間ｔ２を保持しており、初期値として相応しい値を保持している。更にＲＡＭ１２は、ホスト装置１がプリンタ装置１５にクレジット要求をする際に返されるクレジットの期待される最大値Ｍａｘ＿Ｃｒｅｄｉｔを保持しており、初期値として相応しい値を保持している。その値はホスト装置・プリンタ装置間のデータチャンネルの最大パケット数より小さい値である。
【００２２】
まず、図２のフローチャートのステップＳ１０１でホスト装置１はＲＡＭ１２に保存されているクレジットを調べ、０以外の有効な値のときは、ステップＳ１０２でデータをプリンタ装置１５に送信する。
【００２３】
次に、ステップＳ１０３で上記ステップＳ１０２で送信したデータ量をＲＡＭ１２に保存されているクレジット数に反映し、ＲＡＭ１２に保存する。例えば、ホスト装置１が１パケット送信したときは、ホスト装置１がＲＡＭ１２に保持していたクレジットから１減算する。そして、ステップＳ１０４でデータが終了でなければ、ステップＳ１０１の処理を実行する。データがこれ以上ないときは処理を終了する。
【００２４】
上記ステップＳ１０１で得られたクレジットが０のときは、ステップＳ１０５でｔ１秒間プリンタ装置からのコマンド受信を待つ。ステップＳ１０６でｔ１秒以内にクレジットコマンドを受信したときは、ステップＳ１０７でホスト装置１がＲＡＭ１２に保持していたクレジットに、クレジットコマンドにより通知されたクレジットを加算し、ステップＳ１０８でクレジットコマンドに対するリプライコマンドを送信する。
【００２５】
上記ステップＳ１０６で、ｔ１秒経過後も、クレジットコマンドを受信しないときは、ステップＳ１０９で、ｔ２秒待ち、ステップＳ１１０でクレジットリクエストコマンドを送信しクレジット要求を行い、上記ステップＳ１１０で得られたクレジットをＲＡＭ１２に保存されているクレジット数に反映し、ＲＡＭ１２に保存する。
【００２６】
次に、図３のフローチャートのステップＳ２０１で、プリンタ装置１５はパケットを受信する。そして、ステップＳ２０２でＲＡＭ２２に保存されているクレジット数から１減算し、ＲＡＭ２２に保存する。
【００２７】
ステップＳ２０３でＲＡＭ２２に保存されているクレジットを調べ、０以外の有効な値のときは、ステップＳ２０１に戻る。ステップＳ２０３でＲＡＭ２２に保存されているクレジットが０のときは、ステップＳ２０４でプリンタ装置１５内の受信バッファ内の空きバッファ容量から有効なクレジット数を計算する。ステップＳ２０５において、この有効なクレジットとＲＡＭ２２内に保存されたＭａｘ＿ｃｒｅｄｉｔから算出する閾値を比較する。比較した結果、有効なクレジットが閾値より小さいまたは同じ値の場合、ステップＳ２０６でｔ秒間経過後、ステップＳ２０４に戻る。ステップＳ２０５で、有効なクレジットが閾値より大きな値の場合は、ステップＳ２０７でＲＡＭ２２に保存されているクレジットを更新する。そして、ステップＳ２０８でホスト装置１にクレジットコマンド送信後に、ステップＳ２０９でクレジットリプライコマンドを受信する。そして、ステップＳ２１０でデータが終了でなければ、ステップＳ２０１の処理を実行する。ステップＳ２１０でデータ終了の場合は、データがこれ以上ないときは処理を終了する。
【００２８】
プリンタ装置１５はデータを受け取った後、ＲＡＭ２２に保存してあったデータの尾部に追加し、このＲＡＭ２２に保存されているデータの先頭から取り出し、印字を開始する。そしてデータの取り出し後は、取り出したデータが使っていたＲＡＭ２２の領域を開放する。
【００２９】
このように、プリンタ装置１５が保持するプリンタ装置１５が受信可能なパケット数が０になりかつ、プリンタ装置１５内の受信バッファの空き容量が十分になり、有効なパケット数をホスト装置１へ通知可能になったら、クレジットコマンドをホスト装置１へ送信することで、クレジット要求，応答の回数を減らすことができる。そのため、トラフィックの増加を防ぐことができる。またクレジット応答の回数が減ることにより、プリンタ装置１５の印字速度の低下を防ぐことができる。
【００３０】
【発明の効果】
以上説明したように、本発明によれば、データ送信可能量０による送信可能量通知依頼の繰り返し発行による無駄なオーバーヘッドを防ぐことができ、速度低下を招かない。その結果、ユーザの利便性が向上し、作業効率が向上する。更に、遅延時間の演算方法を変えることでソフトウエア実行の負荷が軽減される。また、データ送信側によるＣＰＵ、伝送経路等のリソースの占有が減り、負荷も軽減できるという効果がある。
【図面の簡単な説明】
【図１】本発明に係る印刷システムの構成を示すブロック図。
【図２】実施例１のホスト装置１の動作を示すフローチャート。
【図３】実施例１のプリンタ装置１５の動作を示すフローチャート。
【図１】
2004192238.tif 000003
【図２】
2004192238.tif 000004
【図３】
2004192238.tif 000005