(57)【要約】    【課題】  IEEE1284.4に従う通信において、クレジットの要求及びそれに対する応答に関する無駄なトラフィックをなくし、プリンタの処理負担を軽減する。    【解決手段】  プリンタ１は、ホスト装置３が出力した、受信可能なデータ量を要求するクレジット要求コマンドを受信すると、受信バッファ１２に記憶されている印刷データのデータ量に基づいて、印刷データを処理するのに要する遅延時間を予測する遅延時間予測部１７と、遅延時間が経過した後、受信済みのクレジット要求コマンドに対する返信として、受信可能なデータ量に対応したクレジット数を含むクレジット応答コマンドをホスト装置３へ送信するホストインタフェース１１と、を備える。    【選択図】  図２
2006289845.tif 000002
【特許請求の範囲】
【請求項１】
外部装置からデータを受信してデータ処理を行うデータ処理装置であって、
前記外部装置が出力した、受信可能なデータ量の問い合わせを受信すると、記憶手段に記憶されているデータのデータ量に基づいて、前記データを処理するのに要する遅延時間を予測する予測手段と、
前記予測手段が予測した遅延時間が経過した後、受信済みの前記問い合わせに対する返信として、受信可能なデータ量の情報を前記外部装置へ送信する送信手段と、を備えるデータ処理装置。
【請求項２】
前記遅延時間の予測後で遅延時間の経過前に再び前記問い合わせを受信すると、後から受信した問い合わせは無視する請求項１記載のデータ処理装置。
【請求項３】
前記遅延時間の予測後で遅延時間の経過前に再び前記問い合わせを受信すると、改めて遅延時間を予測し、新たな遅延時間が経過した後、前記外部装置への送信を行う請求項１記載のデータ処理装置。
【請求項４】
前記予測手段が予測した遅延時間が経過した後、前記記憶手段の空き容量に基づいて受信可能なデータ量に対応したクレジット数を定めるクレジット数特定手段をさらに備え、
前記送信手段は、前記クレジット数特定手段によって定められたクレジット数を、前記受信可能なデータ量の情報として送信することを特徴とする請求項１乃至３記載のデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタとホスト装置との通信の負荷を軽減する技術に関し、特にIEEE1284.4に従う通信のトラフィックを軽減する技術に関する。
【背景技術】
【０００２】
従来、IEEE1284.4の印刷シーケンスでは印刷データを送信するまでには、図３に示すようなシーケンスを用いている。
（１）データチャンネルオープンコマンド（ホスト装置３０⇒プリンタ１０）
（２）データチャンネルオープンコマンド応答（プリンタ１０⇒ホスト装置３０）
（３）受信可能なデータ量を問い合わせるクレジット要求コマンド（ホスト装置３０⇒プリンタ１０）
（４）クレジット要求応答コマンドで、受信可能なデータ量に対応したクレジット数を返信する（プリンタ１０⇒ホスト装置３０）
（５）クレジット分の印刷データ送信（ホスト装置３０⇒プリンタ１０）
（６）（３）〜（５）を繰り返す。
【０００３】
このシーケンスの場合、受信バッファに空きがない場合は、受信バッファに空きができるまで（３）〜（４）の処理が繰り返されるので、ホスト装置３からクレジット要求が頻繁に来るために無駄なトラフィックが多く発生してしまっていた。
【０００４】
また、特許文献１には、クレジットの要求が頻繁に来る為に無駄なトラフィックを軽減する方法として、以下のような発明が開示されている。すなわち、新たに複数のチャンネルを用意し、1つは印字データを流し、1つはプリンタの現在の状態のモニタリングを行っている。そして、チャンネル毎にホスト装置３０とプリンタ１０とが相互に送受信可能なクレジット数を数え、プリンタ１０からホスト装置３０へのクレジット数が０になった際に、プリンタ１０に異常が発生してないならば、プリンタ側がホスト装置３０へクレジット要求依頼を予めユーザにより指定されている時間が経過してからプリンタ１０側に発行する。
【特許文献１】特開平１１−１７５２７５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、これは予めユーザにより時間が指定されている為、その時間が経過したときであっても送受信可能なクレジット数が０である可能性が存在するので、その場合はクレジット数０のクレジット要求の送受信が発生するのでトラフィックは効率よく軽減する事ができない。
【０００６】
また、ホスト装置によるプリンタへのクレジット要求依頼に対し、プリンタに異常が発生していないならば、プリンタは受信可能なデータ量が溜まって、パケットサイズを超え、有効な値になってからホストに通知している。しかしながら、これではプリンタにおいて、受信可能なパケット数を調べ、受信可能なパケット数が０以外であるかどうかを判別するという内部処理が繰り返し発生するという問題が生じる。
【０００７】
そこで、本発明の目的は、IEEE1284.4に従う通信において、クレジットの要求及びそれに対する応答に関する無駄なトラフィックをなくし、プリンタの処理負担を軽減することである。
【課題を解決するための手段】
【０００８】
本発明の一実施態様に従うデータ処理装置は、外部装置からデータを受信してデータ処理を行うデータ処理装置である。そして、前記外部装置が出力した、受信可能なデータ量の問い合わせを受信すると、記憶手段に記憶されているデータのデータ量に基づいて、前記データを処理するのに要する遅延時間を予測する予測手段と、前記予測手段が予測した遅延時間が経過した後、受信済みの前記問い合わせに対する返信として、受信可能なデータ量の情報を前記外部装置へ送信する送信手段と、を備える。
【０００９】
好適な実施形態では、前記遅延時間の予測後で遅延時間の経過前に再び前記問い合わせを受信すると、後から受信した問い合わせは無視するようにしてもよい。
【００１０】
好適な実施形態では、前記遅延時間の予測後で遅延時間の経過前に再び前記問い合わせを受信すると、改めて遅延時間を予測し、新たな遅延時間が経過した後、前記外部装置への送信を行うようにしてもよい。
【００１１】
好適な実施形態では、前記予測手段が予測した遅延時間が経過した後、前記記憶手段の空き容量に基づいて受信可能なデータ量に対応したクレジット数を定めるクレジット数特定手段をさらに備えてもよい。この場合、前記送信手段は、前記クレジット数特定手段によって定められたクレジット数を、前記受信可能なデータ量の情報として送信することもできる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の一実施形態に係る印刷システムについて、図面を参照して説明する。
【００１３】
図１は、本実施形態に係る印刷システムの全体構成を示す図である。本システムは、プリンタ１とプリンタ１のホスト装置３とが接続されている。
【００１４】
プリンタ１は、ホスト装置３との間でIEEE1284.4制御コマンドを用いた通信を行うホストインタフェース１１と、ホスト装置３から受信した印刷データを記憶する受信バッファ１２と、受信バッファ１２から印刷データを取得し、印刷データに含まれる印刷コマンドを解析してビットマップデータに展開する印刷制御部１３と、印刷制御部１３が出力するビットマップデータを記憶するフレームバッファ１４と、フレームバッファ１４に記憶されているビットマップデータを取得して、印刷用紙などに印刷を行うプリントエンジン１５とを備える。プリンタ１は、さらに、受信済みの印刷データの処理に要する遅延時間を予測する遅延時間予測部１７と、遅延時間予測部１７が遅延時間を予測した時点からの経過時間の計測を開始し、遅延時間が経過したことを検出するタイマー１８とを備える。
【００１５】
図２は、上記の構成を備えるプリンタ１とホスト装置３との間のクレジットの要求及び応答に係る通信を行うための処理手順を示すシーケンス図である。
【００１６】
（１）まず、ホスト装置３がクレジット要求コマンドをプリンタ１へ送信する。
【００１７】
（２）プリンタ１では、このクレジット要求コマンドをホストインタフェース１１が受信すると、遅延時間予測部１７が受信バッファ１２に残っている印刷データのデータ量に応じて遅延時間を予測する。遅延時間の予測は、例えば以下のようにして行う。
【００１８】
すなわち、プリントエンジン１５の処理能力をＥ［Ｍｂｙｔｅ／ｓｅｃ］としたとき、受信バッファ１２にＮバイトの印刷データが記憶されている場合、これを処理するのに要する遅延時間ｔ［μｓｅｃ］は、式（１）で表される。
【数１】
2006289845.tif 000003
【００１９】
遅延時間予測部１７が遅延時間ｔを予測すると、遅延時間ｔをタイマー１８へ通知する。タイマー１８は、遅延時間ｔの通知を受けると、その時点から経過時間を計測し、遅延時間の経過を検出する。時間計測は、例えば以下のようにして行う。
【００２０】
すなわち、タイマー１８の１カウントあたりの所要時間をＴ［μｓｅｃ］とすると、遅延時間ｔが経過するまでのタイマー１８のカウント回数Ｃ（自然数）は、式（２）で表される。
【数２】
2006289845.tif 000004
【００２１】
例えば、タイマー１８の１カウントあたりの所要時間Ｔを１［μｓｅｃ］、プリントエンジン１５の処理能力Ｅを２［Ｍｂｙｔｅ／ｓｅｃ］としたとき、受信バッファ１２に残っているデータが１６Ｋバイトである場合、タイマー１８のカウント回数Ｃは８１９２回であり、遅延時間ｔは約８［ｍｓｅｃ］となる。
【００２２】
（３）つぎに、タイマー１８が遅延時間ｔの経過を検出すると、遅延時間予測部１７がホストインタフェース１１に対して、クレジット応答コマンドの返信許可を通知する。
【００２３】
なお、遅延時間ｔが経過する前に再度クレジット要求コマンドを受信したときは、プリンタ１は、再度受信したクレジット要求コマンドに応答せずに無視して、先に受信したクレジット応答コマンドに対する処理を継続するようにしてもよい。あるいは、遅延時間管理部１７が、再度クレジット要求コマンドを受信したときに改めて受信バッファ１２を参照して遅延時間を計算し直し、タイマー１８が、この時点から新たに算出された遅延時間の経過を検出したときに、クレジット応答コマンドの返信を許可するようにしてもよい。
【００２４】
ホストインタフェース１１は、この返信許可通知を受けると、受信バッファ１２を参照して、この時点で受信可能なデータ量に応じてクレジット値を算出して、ホスト装置３へクレジット応答コマンドを返信する。クレジット値の算出は、例えば以下のようにして行う。
【００２５】
すなわち、１クレジットのデータサイズをｃ、ホスト装置３から転送される印刷データに含まれるヘッダのサイズをＨ、受信バッファ１２の空き容量をＶとすると、クレジット値ｎ（自然数）は式（３）で表される。
【数３】
2006289845.tif 000005
【００２６】
例えば、受信バッファ１２のサイズＶが６４Ｋバイト、１クレジットのデータサイズｃが１６Ｋバイト、ヘッダサイズＨが６バイトだとすると、受信バッファ１２に印刷データが存在しないときのクレジット値ｎは４となる。
【００２７】
（５）そして、ホスト装置３は、クレジット応答コマンドで指定されたクレジット分の印刷データをプリンタ１へ送信する。
【００２８】
これにより、受信バッファ１２に蓄積されている印刷データの処理に要する遅延時間を予測するので、クレジット値が０のクレジット応答コマンドが生成されることは非常に少なくなり、且つ、受信バッファ１２がほぼ空になる時刻にクレジット応答コマンドがホスト装置３へ送信される。これにより、ホスト装置からプリンタへの印刷データの転送を効率的に行うことができる。
【００２９】
上述した実施形態では、ホストインタフェース１１は、クレジット応答コマンドの返信許可通知を受けたときに、受信バッファ１２の空き容量を確認してクレジット値を算出しているが、受信バッファ１２の空き容量を確認しないでもよい。すなわち、遅延時間ｔは受信バッファ１２が空になるまでに要する予測時間であるから、これが経過した時点では、既に受信バッファ１２が空になっているものとしてクレジット応答コマンドを生成して返信してもよい。
【００３０】
また、上述した実施形態では、遅延時間予測部１７は受信バッファ１２に記憶されているデータ量から遅延時間を予測しているが、受信バッファ１２に記憶されているデータ量から所定のデータ量を差し引いた値に基づいて遅延時間を予測するようにしてもよい。これは、クレジット応答コマンドの生成及びホスト装置３との通信に要する時間を考慮し、次の印刷データが到着する頃に受信バッファ１２内の全データの処理が完了するようにするためである。
【００３１】
上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
【図面の簡単な説明】
【００３２】
【図１】本発明の一実施形態に係る印刷システムの全体構成を示す図である。
【図２】本実施形態における処理手順を示すシーケンス図である。
【図３】従来技術における処理手順を示すシーケンス図である。
【符号の説明】
【００３３】
１…プリンタ、３…ホスト装置、１１…ホストインタフェース、１２…受信バッファ、１３…印刷制御部、１４…フレームバッファ、１５…プリントエンジン、１７…遅延時間予測部、１８…タイマー。
【図１】
2006289845.tif 000006
【図２】
2006289845.tif 000007
【図３】
2006289845.tif 000008