(57)【要約】【課題】プリンタとホストコンピュータ（ＰＣ）を有する印刷システムにおいて、プリンタに複数の印刷ジョブが送られたときに、ＰＣとプリンタで印刷ジョブ毎に負荷分担を行う。【解決手段】ホストコンピュータ（ＰＣ）１は、アプリケーションデータをページ記述言語で記述した印刷ジョブに変換する変換モジュール１４、該印刷ジョブのラスタライズ処理を行う描画モジュール１５、前記ページ記述言語で記述された印刷ジョブを記憶する送信バッファ１６を有し、該記憶した印刷ジョブをプリンタ４へ転送する。プリンタ４は、ＰＣ１から受信した印刷ジョブのラスタライズ処理を行う描画モジュール４９、前記印刷ジョブの印刷処理に要する時間（ラスタライズ処理時間、用紙出力処理時間など）を予測する描画時間予測モジュール４８、予測結果から印刷時間が最短となるようにプリンタ４及びＰＣ１の負荷分担を決定する分担処理決定モジュール５１を有する。【選択図】図１
2006035487.tif 000002
【特許請求の範囲】
【請求項１】
印刷装置と、該印刷装置を制御する少なくとも１つの情報処理装置とを有する印刷システムであって、前記情報処理装置は、印刷データを作成するアプリケーション手段と、該アプリケーション手段で作成されたデータを前記印刷装置で印刷するためのページ記述言語で記述した印刷ジョブに変換する印刷ジョブ変換手段と、該印刷ジョブのラスタライズ処理を行う描画手段と、前記ページ記述言語で記述された印刷ジョブ或いは前記ラスタライズ処理された印刷ジョブを記憶する記憶手段と、該記憶した印刷ジョブを前記印刷装置へ転送する転送手段とを有し、前記印刷装置は、前記情報処理装置から転送された印刷ジョブを受信する受信手段と、該印刷ジョブのうち前記ページ記述言語で記述された印刷ジョブのラスタライズ処理を行う描画手段と、前記印刷ジョブの印刷処理に要する時間を予測する印刷時間予測手段と、該予測された結果を元に印刷時間が最短となるように前記印刷装置及び情報処理装置の印刷ジョブの負荷分担を決定する負荷分担決定手段とを有し、前記負荷分担に基づいて、前記印刷装置から前記情報処理装置へ印刷ジョブのラスタライズ処理依頼を通知し、あるいは、前記印刷装置により印刷ジョブのラスタライズ処理を行うことを特徴とする印刷システム。
【請求項２】
請求項１に記載の印刷システムにおいて、前記情報処理装置は、前記ページ記述言語で記述された印刷ジョブを前記印刷装置へ転送したあと、該印刷ジョブを該印刷装置からの指示があるまで前記記憶手段から削除しないことを特徴とする印刷システム。
【請求項３】
請求項１に記載の印刷システムにおいて、前記印刷装置は、前記情報処理装置から転送された印刷ジョブのデータ量と、該印刷ジョブの転送にかかった時間に基づいて、前記印刷装置及び前記情報処理装置間を接続するインタフェース手段の転送速度を印刷ジョブ毎に測定する転送速度測定手段を有することを特徴とする印刷システム。
【請求項４】
請求項３に記載の印刷システムにおいて、前記印刷時間予測手段は、前記情報処理装置で作成されたラスタライズ済みの印刷ジョブのデータ量を算出する手段を有し、該算出したデータ量と、前記インタフェース手段の転送速度とに基づいて、前記ラスタライズ済みの印刷ジョブの転送時間を予測することを特徴とする印刷システム。
【請求項５】
請求項３に記載の印刷システムにおいて、前記印刷時間予測手段は、前記印刷ジョブが前記ページ記述言語で記述された印刷ジョブの場合、その印刷ジョブを含めた全てのラスタライズ処理待ち印刷ジョブのラスタライズ処理に要する時間を予測する手段と、予め決められたラスタライズ時間の予測パラメータテーブルとを有し、前記印刷装置へ転送された全ての印刷ジョブについて、該印刷ジョブに付与されたパラメータから前記予測パラメータテーブルを参照することで前記ラスタライズ処理に要する時間を予測することを特徴とする印刷システム。
【請求項６】
請求項５に記載の印刷システムにおいて、前記印刷時間予測手段は、全ての印刷ジョブの用紙出力完了までに要する時間を予測する手段を有し、前記印刷装置内部に蓄積された全ての印刷ジョブについて、用紙サイズ，印刷枚数，及び印刷装置の印刷速度によって、ラスタライズ処理の終了から用紙出力完了までに要する時間を予測することを特徴とする印刷システム。
【請求項７】
請求項３乃至６のいずれか１に記載の印刷システムにおいて、前記負荷分担決定手段は、前記印刷装置に複数の印刷ジョブがスプールされた際、前記印刷時間予測手段で予測された各結果に基づき、全ての印刷ジョブの処理時間が最短となるように、前記印刷装置及び情報処理装置への印刷ジョブのラスタライズ処理の分担を決定することを特徴とする印刷システム。
【請求項８】
請求項７に記載の印刷システムにおいて、前記印刷装置は、前記負荷分担決定手段の決定に基づいて印刷ジョブの負荷分担を行なった場合、ラスタライズ処理が完了していない全ての前記ページ記述言語で記述された印刷ジョブを保持する手段を有することを特徴とする印刷システム。
【請求項９】
請求項８に記載の印刷システムにおいて、前記印刷装置は、前記情報処理装置に印刷ジョブのラスタライズ処理を依頼した場合、前記情報処理装置と並行して、前記保持している当該印刷ジョブを用いてラスタライズ処理を行ない、前記印刷装置或いは情報処理装置のいずれか早くラスタライズ処理を完了した側の印刷ジョブを利用することを特徴とする印刷システム。
【請求項１０】
請求項７に記載の印刷システムにおいて、前記印刷装置は、前記負荷分担決定手段の決定に基づいて印刷ジョブの負荷分担を行なった結果、後から受け付けた印刷ジョブが他の印刷ジョブより先にラスタライズ処理を完了した場合、その時点でラスタライズ処理が終了していない印刷ジョブと印刷順序を入れ替えることを特徴とする印刷システム。
【請求項１１】
印刷装置と、該印刷装置を制御する少なくとも１つの情報処理装置とにより印刷処理を行うための印刷方法であって、前記情報処理装置は、アプリケーション手段で作成されたデータを前記印刷装置で印刷するためのページ記述言語で記述した印刷ジョブに変換するステップと、該印刷ジョブのラスタライズ処理を行うステップと、前記ページ記述言語で記述された印刷ジョブ或いは前記ラスタライズ処理された印刷ジョブを記憶手段に記憶するステップと、該記憶した印刷ジョブを前記印刷装置へ転送するステップとを有し、前記印刷装置は、前記情報処理装置から転送された印刷ジョブを受信するステップと、該印刷ジョブのうち前記ページ記述言語で記述された印刷ジョブのラスタライズ処理を行うステップと、前記印刷ジョブの印刷処理に要する時間を予測するステップと、該予測された結果を元に印刷時間が最短となるように前記印刷装置及び情報処理装置の印刷ジョブの負荷分担を決定するステップとを有し、前記負荷分担に基づいて、前記印刷装置から前記情報処理装置へ印刷ジョブのラスタライズ処理依頼を通知し、あるいは、前記印刷装置により印刷ジョブのラスタライズ処理を行うことを特徴とする印刷方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷システム及び方法、より詳細には、プリンタなどの印刷装置と、それを制御するホストコンピュータなどの情報処理装置からなる印刷システムに関し、特にプリンタとホストコンピュータの間で行なうデータ処理方法に関する。
【背景技術】
【０００２】
一般的な印刷システムでは、ホストコンピュータで作成したデータをプリンタが認識できるページ記述言語に変換してプリンタへ送り、プリンタは受信した印刷ジョブを先着順でラスタライズ処理を行ない、印刷するように構成されている。
【０００３】
また、プリンタ内部にラスタライズ処理を行なう描画手段を持たず、ホストコンピュータに描画手段を設けて、該描画手段でラスタライズ処理を行ない、ラスタライズ処理済みのビットマップデータをプリンタへ送信し、プリンタは受信したデータをそのまま印刷するものもある。
また、近年、ホストコンピュータとプリンタでラスタライズ処理を分散して行なうことで、印刷開始までの時間を短縮させることも知られている。
【０００４】
例えば、特許文献１には、ホストコンピュータで印刷ジョブ内容を事前に解析し、予め測定しておいたホストコンピュータの処理速度と、プリンタの処理速度と、インタフェースのデータ転送速度に基づいて、１つの印刷ジョブがもっとも速く印刷を開始できるようプリンタとホストコンピュータでラスタライズ処理を分散するシステムが示されている。
【０００５】
また、特許文献２には、ホストコンピュータで印刷ジョブを全てラスタライズ処理し、該印刷ジョブをプリンタに転送する際にプリンタの処理能力に基づいて圧縮するか否か、速いほうを選択することでデータ転送時間を短縮するシステムが示されている。
【特許文献１】特開平１１−１７５２６６号公報
【特許文献２】特開平７−３０６７６０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ここで、プリンタとホストコンピュータでラスタライズ処理の分担を行なう印刷システムの場合、プリンタ側での処理時間は印刷ジョブの内容と量によってほぼ一意に決まるため、実際の処理時間はホストコンピュータの処理能力によって大きく変化する。
【０００７】
この問題に対応するため、例えば、特許文献１には、定型のパターンを用いてホストコンピュータのラスタライズ処理能力、プリンタのラスタライズ処理能力、およびデータを転送するインタフェースの転送能力を予め測定しておき、その結果に基づいて最も速く印刷を開始できるよう、印刷ジョブをホストコンピュータとプリンタに分割してラスタライズ処理を行なう手法が示されている。
【０００８】
しかし、多くのホストコンピュータはマルチタスク処理を行なっており、ホストコンピュータにかかる負荷はホストコンピュータ上で動作しているアプリケーションの動作状況によって常に変動する。また通信インタフェースも同様に、ネットワークなどで複数の装置が接続されている場合は回線の混雑度によって一定時間あたりに転送できるデータ量は常に変動する。
【０００９】
また、印刷ジョブをプリンタへ転送する前に予めホストコンピュータとプリンタで処理を分割してしまう手法では、ホストコンピュータや通信インタフェースが高負荷な状態にある場合、プリンタ側の処理が終わっているにもかかわらず、ホストコンピュータからのラスタライズ済みデータ受信待ちを行なうために印刷が遅くなる可能性がある。以上のように、ある定型のパターンを用い、一時的な条件で取得したデータのみに基づく負荷分散では、必ずしも印刷時間が最短になるとは限らない場合が存在する。
【００１０】
本発明は、上述のごとき実情に鑑みてなされたものであり、プリンタなどの印刷装置と、ホストコンピュータなどの情報処理装置とを有する印刷システムにおいて、プリンタに複数の印刷ジョブが送られたときに、ホストコンピュータとプリンタで印刷ジョブ毎に負荷分担を行い、さらに、ホストコンピュータや通信インタフェース手段の負荷変動等により当初予測から状況が変化した場合においても最短時間で印刷できるようにすること、をその目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明の第１の技術手段は、印刷装置と、該印刷装置を制御する少なくとも１つの情報処理装置とを有する印刷システムであって、前記情報処理装置は、印刷データを作成するアプリケーション手段と、該アプリケーション手段で作成されたデータを前記印刷装置で印刷するためのページ記述言語で記述した印刷ジョブに変換する印刷ジョブ変換手段と、該印刷ジョブのラスタライズ処理を行う描画手段と、前記ページ記述言語で記述された印刷ジョブ或いは前記ラスタライズ処理された印刷ジョブを記憶する記憶手段と、該記憶した印刷ジョブを前記印刷装置へ転送する転送手段とを有し、前記印刷装置は、前記情報処理装置から転送された印刷ジョブを受信する受信手段と、該印刷ジョブのうち前記ページ記述言語で記述された印刷ジョブのラスタライズ処理を行う描画手段と、前記印刷ジョブの印刷処理に要する時間を予測する印刷時間予測手段と、該予測された結果を元に印刷時間が最短となるように前記印刷装置及び情報処理装置の印刷ジョブの負荷分担を決定する負荷分担決定手段とを有し、前記負荷分担に基づいて、前記印刷装置から前記情報処理装置へ印刷ジョブのラスタライズ処理依頼を通知し、あるいは、前記印刷装置により印刷ジョブのラスタライズ処理を行うことを特徴としたものである。
【００１２】
第２の技術手段は、第１の技術手段において、前記情報処理装置は、前記ページ記述言語で記述された印刷ジョブを前記印刷装置へ転送したあと、該印刷ジョブを該印刷装置からの指示があるまで前記記憶手段から削除しないことを特徴としたものである。
【００１３】
第３の技術手段は、第１の技術手段において、前記印刷装置は、前記情報処理装置から転送された印刷ジョブのデータ量と、該印刷ジョブの転送にかかった時間に基づいて、前記印刷装置及び前記情報処理装置間を接続するインタフェース手段の転送速度を印刷ジョブ毎に測定する転送速度測定手段を有することを特徴としたものである。
【００１４】
第４の技術手段は、第３の技術手段において、前記印刷時間予測手段は、前記情報処理装置で作成されたラスタライズ済みの印刷ジョブのデータ量を算出する手段を有し、該算出したデータ量と、前記インタフェース手段の転送速度とに基づいて、前記ラスタライズ済みの印刷ジョブの転送時間を予測することを特徴としたものである。
【００１５】
第５の技術手段は、第３の技術手段において、前記印刷時間予測手段は、前記印刷ジョブが前記ページ記述言語で記述された印刷ジョブの場合、その印刷ジョブを含めた全てのラスタライズ処理待ち印刷ジョブのラスタライズ処理に要する時間を予測する手段と、予め決められたラスタライズ時間の予測パラメータテーブルとを有し、前記印刷装置へ転送された全ての印刷ジョブについて、該印刷ジョブに付与されたパラメータから前記予測パラメータテーブルを参照することで前記ラスタライズ処理に要する時間を予測することを特徴としたものである。
【００１６】
第６の技術手段は、第５の技術手段において、前記印刷時間予測手段は、全ての印刷ジョブの用紙出力完了までに要する時間を予測する手段を有し、前記印刷装置内部に蓄積された全ての印刷ジョブについて、用紙サイズ，印刷枚数，及び印刷装置の印刷速度によって、ラスタライズ処理の終了から用紙出力完了までに要する時間を予測することを特徴としたものである。
【００１７】
第７の技術手段は、第３乃至第６のいずれか１の技術手段において、前記負荷分担決定手段は、前記印刷装置に複数の印刷ジョブがスプールされた際、前記印刷時間予測手段で予測された各結果に基づき、全ての印刷ジョブの処理時間が最短となるように、前記印刷装置及び情報処理装置への印刷ジョブのラスタライズ処理の分担を決定することを特徴としたものである。
【００１８】
第８の技術手段は、第７の技術手段において、前記印刷装置は、前記負荷分担決定手段の決定に基づいて印刷ジョブの負荷分担を行なった場合、ラスタライズ処理が完了していない全ての前記ページ記述言語で記述された印刷ジョブを保持する手段を有することを特徴としたものである。
【００１９】
第９の技術手段は、第８の技術手段において、前記印刷装置は、前記情報処理装置に印刷ジョブのラスタライズ処理を依頼した場合、前記情報処理装置と並行して、前記保持している当該印刷ジョブを用いてラスタライズ処理を行ない、前記印刷装置或いは情報処理装置のいずれか早くラスタライズ処理を完了した側の印刷ジョブを利用することを特徴としたものである。
【００２０】
第１０の技術手段は、第７の技術手段において、前記印刷装置は、前記負荷分担決定手段の決定に基づいて印刷ジョブの負荷分担を行なった結果、後から受け付けた印刷ジョブが他の印刷ジョブより先にラスタライズ処理を完了した場合、その時点でラスタライズ処理が終了していない印刷ジョブと印刷順序を入れ替えることを特徴としたものである。
【００２１】
第１１の技術手段は、印刷装置と、該印刷装置を制御する少なくとも１つの情報処理装置とにより印刷処理を行うための印刷方法であって、前記情報処理装置は、アプリケーション手段で作成されたデータを前記印刷装置で印刷するためのページ記述言語で記述した印刷ジョブに変換するステップと、該印刷ジョブのラスタライズ処理を行うステップと、前記ページ記述言語で記述された印刷ジョブ或いは前記ラスタライズ処理された印刷ジョブを記憶手段に記憶するステップと、該記憶した印刷ジョブを前記印刷装置へ転送するステップとを有し、前記印刷装置は、前記情報処理装置から転送された印刷ジョブを受信するステップと、該印刷ジョブのうち前記ページ記述言語で記述された印刷ジョブのラスタライズ処理を行うステップと、前記印刷ジョブの印刷処理に要する時間を予測するステップと、該予測された結果を元に印刷時間が最短となるように前記印刷装置及び情報処理装置の印刷ジョブの負荷分担を決定するステップとを有し、前記負荷分担に基づいて、前記印刷装置から前記情報処理装置へ印刷ジョブのラスタライズ処理依頼を通知し、あるいは、前記印刷装置により印刷ジョブのラスタライズ処理を行うことを特徴としたものである。
【００２２】
本発明は、ホストコンピュータとプリンタ双方に印刷ジョブのラスタライズ処理を行なう描画手段を有し、ホストコンピュータとプリンタで印刷ジョブ毎に負荷分担を行い、さらに、ホストコンピュータへラスタライズ処理を依頼した印刷ジョブを、プリンタ側でも並行してラスタライズ処理を行なうことで、ホストコンピュータのデータ処理が遅れた際にも印刷時間の遅れを最小限にとどめるようにしたものである。
【発明の効果】
【００２３】
プリンタなどの印刷装置と、ホストコンピュータなどの情報処理装置とを有する印刷システムにおいて、プリンタに複数の印刷ジョブが送られたときに、ホストコンピュータとプリンタで印刷ジョブ毎に負荷分担を行い、さらに、ホストコンピュータや通信インタフェース手段の負荷変動等により当初予測から状況が変化した場合においても最短時間で印刷できるため、ホストコンピュータや通信インタフェース手段などの周辺機器の処理能力変動に左右されることなく、当該時点でもっとも速い手段で印刷を完了することができる。
【発明を実施するための最良の形態】
【００２４】
以下、添付図面に従って本発明にかかる実施形態を説明する。
図１は、本発明に係る標準的な印刷システムの構成例を示す図で、複数のホストコンピュータ１，２，３，及びプリンタ４がネットワーク５を介して接続されている。ここでは、１つの双方向インタフェース（Ｉ／Ｆ）に複数のホストコンピュータと、１つのプリンタが接続されているが、複数の双方向Ｉ／Ｆを持つプリンタの各Ｉ／Ｆに少なくとも１台のホストコンピュータが接続されている場合も同様に考えることができる。尚、接続するホストコンピュータ及びプリンタの数は本例に限定されないものとする。
【００２５】
図２は、図１に示したホストコンピュータ１及びプリンタ４の内部構成例を示すブロック図である。ホストコンピュータ１は、アプリケーション１９を動作させるためのＣＰＵ１１，ＲＯＭ１２，ＲＡＭ１３，アプリケーション１９で作成されたデータをプリンタ４で印刷するためのページ記述言語で記述した印刷ジョブに変換する手段であるページ記述言語変換モジュール１４，プリンタ４からの指示に基づいてページ記述言語で記述された印刷ジョブをラスタライズ処理するための描画手段である描画モジュール１５，ページ記述言語で記述された印刷ジョブ或いはラスタライズ処理された印刷ジョブを保持する印刷ジョブ送信バッファ１６，アプリケーション１９や各種データを記録する固定ディスク装置１７，印刷ジョブをプリンタ４へ送信（転送）するための双方向Ｉ／Ｆ１８を備えている。アプリケーション１９は、文書作成機能あるいは表計算機能などを実行するための一般的なアプリケーションソフトウェアである。尚、ホストコンピュータ２，３の内部構成もホストコンピュータ１と同じであるため、ここでの説明は省略する。
【００２６】
ホストコンピュータ１において、ページ記述言語変換モジュール１４，描画モジュール１５，及び印刷ジョブ送信バッファ１６は、ＲＡＭ１３または固定ディスク装置１７内に置かれていることがある。
【００２７】
プリンタ４は、大きくコントローラＡ及び印刷エンジンＢから構成され、コントローラＡは、データ送受信及びラスタライズ処理を制御する描画処理ＣＰＵ４１，描画に関する各種処理を行なうためのプログラムを記憶したＲＯＭ４２及びＲＡＭ４７，ホストコンピュータ１と双方向通信を行い、ホストコンピュータ１から転送される印刷ジョブを受信する双方向Ｉ／Ｆ４３，双方向Ｉ／Ｆ４３のデータ転送速度を測定する手段である転送速度測定モジュール４４，ホストコンピュータ１から転送された印刷ジョブを保持する印刷ジョブ受信バッファ４５，ラスタライズ処理された印刷ジョブを格納する固定ディスク装置４６，印刷ジョブの内容解析等を行うことにより印刷処理に要する時間を予測する手段である描画時間予測モジュール４８，印刷ジョブ受信バッファ４５に蓄積された印刷ジョブをラスタライズ処理するための描画手段である描画モジュール４９，印刷エンジンＢと通信するためのエンジンＩ／Ｆ５０，描画時間予測モジュール４８で予測された結果を元に印刷時間が最短となるようプリンタ４及びホストコンピュータ１の印刷ジョブの負荷分担を決定する分担処理決定モジュール５１を備えている。
【００２８】
一方、印刷エンジンＢは、印刷処理を制御する印刷処理ＣＰＵ６１，ＲＯＭ６２，印刷データバッファ６３，コントローラＡと通信するためのコントローラＩ／Ｆ６４，ＲＡＭ６５，及び印刷機構６６を備えている。プリンタ４の描画モジュール４９またはホストコンピュータ１の描画モジュール１５にてラスタライズ処理された印刷ジョブは、コントローラＡの固定ディスク装置４６に保管され、印刷指示されたものからエンジンＩ／Ｆ５０を通じて印刷エンジンＢの印刷データバッファ６３へ送られ、印刷制御ＣＰＵ６１によって制御される印刷機構６６で印刷処理される。
【００２９】
本発明の印刷システムは、ホストコンピュータ１とプリンタ４で印刷ジョブ毎に、印刷時間が最短となるように最適な負荷分担を行ないつつ、ホストコンピュータ１に依頼したラスタライズ処理をプリンタ４で並行して行なうことで、全印刷ジョブを高速に印刷できるようにしたものである。これにより、ホストコンピュータ１の処理時間の遅延からくる印刷処理の遅れを最小限に抑えることができる。
【００３０】
すなわち、印刷ジョブのラスタライズ処理をホストコンピュータ１の描画モジュール１５で処理する際、印刷ジョブをプリンタ４内部の印刷ジョブ受信バッファ４５でも保持しておき、プリンタ４は、ホストコンピュータ１と並行して、印刷ジョブ受信バッファ４５に保持している印刷ジョブを使用してラスタライズ処理を行い、いずれか速くラスタライズ処理が完了したほうの印刷ジョブを採用することで、全印刷ジョブの遅延を最小限に抑えるようにしている。
【００３１】
図２において、ホストコンピュータ１上で作成された印刷ジョブは、双方向Ｉ／Ｆ１８を通して、通常の負荷分散を行なわない場合と同様にプリンタ４へ転送される。このとき転送した印刷ジョブは、プリンタ４から通知があるまでホストコンピュータ１内の印刷ジョブ送信バッファ１６から消去しない。これにより、プリンタ４からラスタライズ処理の指示があった場合、印刷ジョブをプリンタ４から返送することなく、ホストコンピュータ１において直ちにラスタライズ処理を開始することができ、処理時間を短縮できる。
【００３２】
ホストコンピュータ１からプリンタ４へ印刷ジョブのデータ転送を行なう際、プリンタ４は、転送速度測定モジュール４４によって双方向Ｉ／Ｆ４３の単位時間あたりのデータ転送速度を測定し、その結果を記憶する。具体的には、ホストコンピュータ１から転送された印刷ジョブのデータ量と、その印刷ジョブの転送にかかった時間に基づいて、プリンタ４及びホストコンピュータ１間を接続するインタフェース手段（双方向Ｉ／Ｆ４３）の転送速度を印刷ジョブ毎に測定する。これにより、常に変化するＩ／Ｆの転送速度を正確に把握することができる。
【００３３】
データ転送が完了すると、プリンタ４は、その時点で印刷ジョブ受信バッファ４５に蓄積されている処理中または処理待ちの印刷ジョブの有無を確認する。この際、印刷ジョブ受信バッファ４５にラスタライズ処理中あるいはラスタライズ処理待ちの印刷ジョブが無い場合、ホストコンピュータ１から転送された印刷ジョブは、そのままプリンタ４にてラスタライズ処理を行なう。
【００３４】
一方、プリンタ４は、印刷ジョブ受信バッファ４５にラスタライズ処理中あるいはラスタライズ処理待ちの印刷ジョブがあった場合、転送が終了した印刷ジョブのラスタライズ処理にかかる時間（ラスタライズ処理予測時間）と、ラスタライズ処理後から現在処理中及び処理待ちの印刷ジョブの印刷が完了するまでの時間（用紙出力処理予測時間）とを描画時間予測モジュール４８にて算出する。
【００３５】
分担処理決定モジュール５１は、上述したラスタライズ処理予測時間、用紙出力処理予測時間などの印刷処理に要する時間の予測結果に基づいて、ホストコンピュータ１へラスタライズ処理を依頼したほうが印刷処理が速い可能性があるかどうかを判断する。これは、例えば、プリンタ４でラスタライズ処理した場合、そのラスタライズ処理が印刷エンジンの用紙出力処理に間に合うかどうか、すなわち印刷エンジンに待ち時間が発生しないかどうかを判断基準とする。間に合わないと判断した場合、プリンタ４からホストコンピュータ１へラスタライズ処理を依頼する。
【００３６】
プリンタ４は、ホストコンピュータ１へラスタライズ処理を依頼したほうが速い可能性があると判断した場合、当該印刷ジョブを持っているホストコンピュータ１に対してラスタライズ処理を依頼する通知を行ない、通知を受けたホストコンピュータ１は、印刷ジョブ送信バッファ１６内に保持している印刷ジョブのラスタライズ処理を開始する。また、プリンタ４は、現在進行中の印刷ジョブのラスタライズ処理を継続して実行する。
【００３７】
プリンタ４が、前の印刷ジョブのラスタライズ処理を終了した時点で、次の印刷ジョブのラスタライズ済みデータを受信済みであれば、そのまま受信されたデータを印刷する。一方、その時点で、ラスタライズ済みデータの受信中あるいは未受信であれば、印刷ジョブ受信バッファ４５内に保持していた印刷ジョブを使用してプリンタ４内部の描画モジュール４９でラスタライズ処理を開始する。このラスタライズ処理中に、ホストコンピュータ１からラスタライズ済みデータの受信を完了した場合には、いずれか速いほうのデータを採用して印刷処理を開始し、遅いほうのデータは破棄する。
【００３８】
印刷が完了した印刷ジョブから、ホストコンピュータ１に対して保持しているデータの削除を通知する。また、ホストコンピュータ１は、プリンタ４から削除通知を受けなくとも、明らかにデータを保持する必要がない場合、例えば、ラスタライズ処理済みのデータをプリンタ４へ送信し終わった場合は、その印刷ジョブを削除することができる。
【００３９】
図３は、ホストコンピュータ１で作成された印刷ジョブの処理フローの一例を説明するためのフロー図である。尚、本例は、図２に示したシステム構成に基づいて説明するものとする。まず、ホストコンピュータ１は、アプリケーション１９によって印刷データを作成し（ステップＳ１）、作成した印刷データをページ記述言語変換モジュール１４によって印刷ジョブ（ページ記述言語）に変換し（ステップＳ２）、その印刷ジョブを印刷ジョブ送信バッファ１６に格納し（ステップＳ３）、順次プリンタ４へ双方向Ｉ／Ｆ１８を介して送信する（ステップＳ４）。
【００４０】
次に、ホストコンピュータ１は、プリンタ４よりラスタライズ処理依頼を受信したかどうかを判断し（ステップＳ５）、ラスタライズ処理依頼を受けた場合（ＹＥＳの場合）、描画モジュール１５にてラスタライズ処理を行い（ステップＳ６）、その結果を印刷ジョブ送信バッファ１６に保管する。その後、ラスタライズ処理済みデータは、印刷ジョブ送信バッファ１６に保管されているページ記述言語で記述された他の印刷ジョブより優先してプリンタ４へ送信される。
【００４１】
また、上記ステップＳ５において、ホストコンピュータ１は、プリンタ４からラスタライズ処理依頼を受信しない場合（ＮＯの場合）、プリンタ４から印刷ジョブの削除指示があったかどうかを判断し（ステップＳ７）、印刷ジョブの削除指示がない場合（ＮＯの場合）、ステップＳ５に戻り、プリンタ４からのラスタライズ処理の依頼待ちとなる。また、上記ステップＳ７において、印刷ジョブの削除指示があった場合（ＹＥＳの場合）、ステップＳ１３に移行して、該当する印刷ジョブを削除する（ステップＳ１３）。
【００４２】
次に、ホストコンピュータ１は、プリンタ４からラスタライズ処理の中断指示があったかどうかを判断し（ステップＳ８）、ラスタライズ処理の中断指示があった場合（ＹＥＳの場合）、ステップＳ１３に移行して該当する印刷ジョブを削除する。また、上記ステップＳ８において、ラスタライズ処理の中断指示がない場合（ＮＯの場合）、ラスタライズ処理が完了したかどうかを判断し（ステップＳ９）、ラスタライズ処理が完了していない場合（ＮＯの場合）、ステップＳ６に戻り処理を行う。また、上記ステップＳ９において、ラスタライズ処理が完了した場合（ＹＥＳの場合）、ラスタライズ処理済みの印刷ジョブをプリンタ４へ送信する（ステップＳ１０）。
【００４３】
次に、ホストコンピュータ１は、プリンタ４から印刷ジョブの送信中断指示があったかどうかを判断し（ステップＳ１１）、印刷ジョブの送信中断指示がない場合（ＮＯの場合）、プリンタ４への印刷ジョブの転送が完了したかどうかを判断し（ステップＳ１２）、印刷ジョブの転送が完了した場合（ＹＥＳの場合）、印刷ジョブ送信バッファ１６の印刷ジョブを削除する（ステップＳ１３）。また、上記ステップＳ１１において、印刷ジョブの送信中断指示があった場合（ＹＥＳの場合）、ステップＳ１３に移行して該当する印刷ジョブを削除する。また、上記ステップＳ１２において、印刷ジョブの転送が完了していない場合（ＮＯの場合）、ステップＳ１０に戻り処理を行う。このように、ホストコンピュータ１は、ラスタライズ済みデータの送信が完了するか、あるいは、プリンタ４から印刷ジョブの削除を要求された場合に印刷ジョブ送信バッファ１６に保管された印刷ジョブを削除して印刷を終了する。
【００４４】
図４は、ホストコンピュータ１から印刷要求を受けたプリンタ４のデータ処理フローの一例を説明するためのフロー図である。尚、本例は、図２に示したシステム構成に基づいて説明するものとする。まず、プリンタ４は、ホストコンピュータ１からの印刷要求を検出すると、データ（印刷ジョブ）を双方向Ｉ／Ｆ４３で受信する（ステップＳ２１）。プリンタ４は、データを受信したときに、転送速度測定モジュール４４を用いて双方向Ｉ／Ｆ４３の転送速度を測定し、その結果を記憶する。
【００４５】
次に、プリンタ４は、データの受信が終わると、それがページ記述言語で記述されたデータであるか、あるいはラスタライズ処理済みデータであるのかを判断する（ステップＳ２２）。その結果、ラスタライズ済みデータである場合（ＹＥＳの場合）、ステップＳ２９に移行して、エンジンＩ／Ｆ５０を介して印刷データバッファ６３へ転送し（ステップＳ２９）、印刷機構６６で印刷処理を行う（ステップＳ３０）。また、上記ステップＳ２２において、ページ記述言語で記述された印刷ジョブである場合（ＮＯの場合）、プリンタ４のラスタライズ処理待ちリストへ追加し（ステップＳ２３）、その印刷ジョブのラスタライズ処理に要する時間を算出する（ステップＳ２４）。
【００４６】
プリンタ４は、上記ステップＳ２４の算出結果に基づいて、ホストコンピュータ１でラスタライズ処理したほうがプリンタ４でラスタライズ処理するより印刷処理が速い可能性があるかどうかを判断し（ステップＳ２５）、ホストコンピュータ１でラスタライズ処理したほうが印刷処理が速い可能性があると判断した場合（ＹＥＳの場合）、双方向Ｉ／Ｆ４３を通じてホストコンピュータ１へラスタライズ処理依頼を通知し（ステップＳ２６）、また、上記ステップＳ２５において、プリンタ４でラスタライズ処理したほうが印刷処理が速いと判断された場合（ＮＯの場合）、ホストコンピュータ１へホールドしている印刷ジョブの削除を指示する（ステップＳ２７）。
【００４７】
次に、当該印刷ジョブは、プリンタ４の描画モジュール４９あるいはホストコンピュータ１の描画モジュール１５でラスタライズ処理され（ステップＳ２８）、プリンタ４は、ラスタライズ処理されたデータを、順次印刷データバッファ６３へ送り（ステップＳ２９）、印刷機構６６にて印刷処理する（ステップＳ３０）。
【００４８】
このように、プリンタのラスタライズ処理に時間がかかる場合、次以降の印刷ジョブのラスタライズ処理をホストコンピュータに行なわせることで負荷を分担することができる。
【００４９】
図５は、図４に示したプリンタ４におけるデータ受信処理の一例を説明するためのフロー図である。本例は、図４に示したデータ受信処理（ステップＳ２１）の詳細を説明するためのフローチャートである。
【００５０】
まず、プリンタ４は、ホストコンピュータ１から双方向Ｉ／Ｆ４３を介してデータの受信要求を受信したかどうかを判断し（ステップＳ３１）、受信要求を受信した場合（図中、有りの場合）、その受信要求に応じたデータを受信し（ステップＳ３２）、単位時間あたりのデータ転送速度を測定する（ステップＳ３３）。また、上記ステップＳ３１において、データを受信しない場合（図中、なしの場合）、ステップＳ３１で受信要求の受信待ち状態となる。次に、プリンタ４は、受信したデータについて受信完了したかどうかを判断し（ステップＳ３４）、受信完了していない場合（ＮＯの場合）、ステップＳ３２に戻り、データを受信する。また、上記ステップＳ３４において、データの受信を完了した場合（ＹＥＳの場合）、測定した双方向Ｉ／Ｆ４３の転送速度を記憶する（ステップＳ３５）。この際、プリンタ４は、データの受信が完了するまでにかかった時間と、ホストコンピュータ１から転送されたデータ量とから、印刷ジョブ転送時における双方向Ｉ／Ｆ４３の転送速度を算出して記憶する。
【００５１】
図６は、図４に示したプリンタ４における印刷ジョブの処理時間算出処理の一例を説明するためのフロー図である。図６（Ａ）は図４に示した新規印刷ジョブの処理時間算出処理（ステップＳ２４）の詳細を説明するためのフローチャートで、図６（Ｂ）はプリンタ４におけるタイミングチャートの一例を示す。
【００５２】
図６（Ａ）及び（Ｂ）において、まず、プリンタ４は、受信を完了した新規印刷ジョブのラスタライズ処理を開始できるまでの待ち時間、すなわち、図６（Ｂ）に示す、現在継続されている印刷ジョブＪ１のラスタライズ処理にかかる残り時間１０２、及びその後にラスタライズ処理待ちとなっている他の印刷ジョブＪ３のラスタライズ処理にかかる時間１０３（以下、時間ａ）を算出する（ステップＳ４１）。この算出処理には、図形・文字・写真などのデータ種別、解像度、用紙サイズ、カラー・モノクロなど色の有無等のパラメータによって重み付けされた判定（予測パラメータ）テーブルの値を用いる。この判定テーブルの内容は予め決められたものであるが、使用開始から実データを処理した実測値に基づいて書き換えることも可能である。ラスタライズ処理に要する時間は、上記のように用紙サイズ、データ解像度、データ種類（絵，字，カラー／白黒など）によってほぼ決まるので、予め予測パラメータテーブルを用意することで、実際の印刷ジョブの内容を詳細に解析することなくラスタライズ所要時間の算出が可能となる。
【００５３】
次に、プリンタ４は、新規印刷ジョブを除いた全ての印刷待ちジョブ及び印刷中の印刷ジョブについて、実際の用紙の出力にかかる時間１０４，１０５，１０６，１０７（以下、時間ｂ）を算出する（ステップＳ４２）。この時間ｂが、印刷エンジンの動作を止めることなく出力を続けるために、新規印刷ジョブに要求されるラスタライズにかけられる最大時間となる。この時間ｂは、用紙サイズ，印刷枚数，解像度，及びエンジン速度などによって容易に算出することができる。ラスタライズ処理が済んだデータを実際に用紙に印字する時間は、上記のように用紙サイズ，印刷枚数，解像度，及びエンジン速度などで決定されるため、この用紙出力にかかる時間を算出することで、新規印刷ジョブの印刷出力開始までの最短時間を算出できる。
【００５４】
次に、プリンタ４は、受信した新規印刷ジョブＪ４のラスタライズ処理時間１０１（以下、時間ｃ）も同様の方法で算出し（ステップＳ４３）、さらに、ホストコンピュータ１がラスタライズ処理済みデータをプリンタ４に送信するのにかかる転送時間（以下、時間ｄ）も算出する（ステップＳ４４）。ここで、ホストコンピュータ１のラスタライズ済みデータ量は、用紙サイズ、解像度、色、及びページ数などより決定されるため、概算のデータ量を簡単に算出することができる。この算出したデータ量と、双方向Ｉ／Ｆ４３の転送速度とから、ホストコンピュータ１（双方向Ｉ／Ｆ１８）からプリンタ４（双方向Ｉ／Ｆ４３）へのラスタライズ済みデータの転送時間を算出することができる。これにより、より正確な予測が可能となる。
【００５５】
上記ステップＳ４１〜ステップＳ４４までの算出結果から、新規ジョブの印刷開始までにかけられる時間、つまり、印刷エンジンでの印刷待ち時間ｂから、ラスタライズ処理の開始までにかかる待ち時間ａを差し引いた（時間ｂ−時間ａ）が、新規ジョブのラスタライズ処理に要する時間ｃの方が短い場合、プリンタ４でラスタライズ処理を行なう余裕があることになるため、ホストコンピュータ１への処理依頼は行なう必要がない。そうでない場合、プリンタ４でラスタライズ処理すると、印刷エンジンの処理（速度）に間に合わない可能性、すなわち印刷エンジンに待ち時間を生じさせてしまう可能性があるため、ホストコンピュータ１へラスタライズ処理を依頼する。
【００５６】
但し、実際にホストコンピュータ１でラスタライズ処理を行なう場合、ラスタライズ処理した印刷ジョブを、双方向Ｉ／Ｆ１８で送信する必要があるため、時間の判定にはラスタライズ済みのデータをホストコンピュータ１からプリンタ４へ転送するのに必要な時間を差し引いた（時間ｂ−時間ａ−時間ｄ＜時間ｃ）により判定する場合も考えられる。また、予測の結果、時間ｃより、時間ｄのほうがはるかに時間がかかる場合、ホストコンピュータ１へラスタライズ処理を依頼したほうが遅くなることが明らかになるため、やはりプリンタ４でラスタライズ処理を行なうことになる。ここで、ホストコンピュータ１の処理速度は測定されていないが、プリンタ４におけるラスタライズ処理が、印刷エンジンの処理に間に合わない可能性があるかどうかを、ホストコンピュータ１へラスタライズ処理の依頼を行なう基準とすることができる。
【００５７】
図７は、図４に示したプリンタ４における印刷ジョブの描画処理の一例を説明するためのフロー図である。本例は、図４に示した描画処理（ステップＳ２８）の詳細を説明するためのフローチャートである。まず、プリンタ４は、ラスタライズ処理待ちのデータ（印刷ジョブ）が存在する場合、それがプリンタ４の描画モジュール４９で行なうものか、ホストコンピュータ１の描画モジュール１５で行なっているものかを判定する（ステップＳ５１）。
【００５８】
上記ステップＳ５１において、プリンタ４は、ホストコンピュータ１へ処理依頼中の印刷ジョブではない、すなわち、プリンタ４で行なうべきものと判断した場合（ＮＯの場合）、プリンタ４の描画モジュール４９にて直ちにラスタライズ処理を開始する（ステップＳ５３）。また、上記ステップＳ５１において、ホストコンピュータ１からラスタライズ済みデータの転送待ちであったと判断した場合（ＹＥＳの場合）、既にラスタライズ済み印刷ジョブの受信が完了しているかどうか判断し（ステップＳ５２）、ラスタライズ済み印刷ジョブの受信を完了している場合（ＹＥＳの場合）、ステップＳ５５に移行してラスタライズ処理待ちリストから該当する印刷ジョブを削除する（ステップＳ５５）。また、上記ステップＳ５２において、ラスタライズ済み印刷ジョブが受信中もしくは受信待ちの状態である場合（ＮＯの場合）、ホストコンピュータ１へラスタライズ処理を依頼している印刷ジョブを、プリンタ４でも並行してラスタライズ処理を行なう（ステップＳ５４）。
【００５９】
次に、プリンタ４は、ラスタライズ処理待ちの印刷ジョブがあるかどうか判断し（ステップＳ５６）、ラスタライズ処理待ちの印刷ジョブがある場合（ＹＥＳの場合）、ステップＳ５１に戻り処理を繰り返し、ラスタライズ処理待ちの印刷ジョブがない場合（ＮＯの場合）、そのまま終了する。
【００６０】
図８は、図７に示したプリンタ４におけるホストコンピュータ１への依頼中データの処理の一例を説明するためのフロー図である。本例は、図７に示したホストコンピュータ１への依頼中データの処理（ステップＳ５４）の詳細を説明するためのフローチャートである。まず、プリンタ４は、ホストコンピュータ１へ依頼している印刷ジョブが受信中か、未受信かにかかわらず、ホストコンピュータ１へラスタライズ処理を依頼している印刷ジョブのラスタライズ処理を開始する（ステップＳ６１）。ここで、ラスタライズ処理が完了していない印刷ジョブはプリンタ４の内部メモリ（印刷ジョブ受信バッファ４５）に保持されている。その間に、ホストコンピュータ１からラスタライズ処理済みデータの受信が完了したかどうかを判断し（ステップＳ６２）、ラスタライズ処理済みデータの受信が完了した場合（ＹＥＳの場合）、受信したデータを採用してプリンタ４のラスタライズ処理を中断する（ステップＳ６６）。
【００６１】
また、上記ステップＳ６２において、プリンタ４は、ホストコンピュータ１からラスタライズ処理済みデータの受信が完了していない場合（ＮＯの場合）、プリンタ４でのラスタライズ処理が完了したかどうかを判断し（ステップＳ６３）、ラスタライズ処理が完了した場合（ＹＥＳの場合）、ホストコンピュータ１へラスタライズ処理の中断を通知し（ステップＳ６４）、プリンタ４の描画モジュール４９にてラスタライズ処理を行なったデータを採用する（ステップＳ６５）。また、上記ステップＳ６３において、プリンタ４でのラスタライズ処理が完了していない場合（ＮＯの場合）、ステップＳ６１に戻り処理を繰り返す。このため、いずれか一方、早く処理を完了したデータを採用することで、各時点でもっとも速く処理を完了することができる。
【００６２】
このように、何らかの事情によってホストコンピュータへ依頼した処理が遅延・消滅した際にも、プリンタ内部で保持している印刷ジョブを用いてラスタライズ処理を実行することができる。また、プリンタの処理に余裕があるにもかかわらず、ホストコンピュータからのデータ待ちによって処理が遅延することを抑えることができる。
【００６３】
図９は、図４に示したプリンタ４における印刷処理の一例を説明するためのフロー図である。本例は、図４に示した印刷処理（ステップＳ３０）の詳細を説明するためのフローチャートである。まず、プリンタ４は、印刷エンジンの印刷データバッファ６３に転送された印刷待ちジョブがあるかどうかを判断し（ステップＳ７１）、印刷待ちジョブがある場合（ＹＥＳの場合）、印刷待ちジョブを先着順で印刷する（ステップＳ７２）。また、ステップＳ７１において、印刷待ちジョブがない場合（ＮＯの場合）、印刷ジョブの転送待ち状態となる。その間、プリンタ４は、ホストコンピュータ１からの印刷中断指示があったかどうかを判断し（ステップＳ７３）、印刷中断指示があった場合（ＹＥＳの場合）、即座に印刷を停止して印刷ジョブを削除する（ステップＳ７４）。
【００６４】
また、プリンタ４は、上記ステップＳ７３において、ホストコンピュータ１から印刷中断指示がない場合（ＮＯの場合）、全ページ印刷完了したかどうかを判断し（ステップＳ７５）、全ページ印刷完了した場合（ＹＥＳの場合）、そのまま終了し、また、上記ステップＳ７５において、全ページ印刷完了していない場合（ＮＯの場合）、ステップＳ７２に戻り印刷処理を行う。
【００６５】
図１０は、通常一般に行なわれているホストコンピュータ１とプリンタ４のデータ処理手順を時系列で示したタイミングチャートの一例を示す図で、図中、１１１，１１２，１１３，１１４，１１５はホストコンピュータ１の第１の印刷ジョブ、１２１，１２２，１２３，１２４，１２５はホストコンピュータ１の第２の印刷ジョブ、１３１，１３２，１３３，１３４，１３５はホストコンピュータ１の第３の印刷ジョブ、１４０は印刷エンジンの待ち時間を示す。
【００６６】
ホストコンピュータ１で作成された印刷ジョブ１１１，１２１，１３１は先着順で双方向Ｉ／Ｆ１８を介してプリンタ４の印刷ジョブ受信バッファ４５へ受信（印刷ジョブ１１２，１２２，１３２）される。受信が完了したものから順にプリンタ４内部の描画モジュール４９でラスタライズ処理され（印刷ジョブ１１３，１２３，１３３）、ラスタライズ処理が済んだデータ（印刷ジョブ１１４，１２４，１３４）から順に印刷データバッファ６３へ送られ、印刷データバッファ６３への転送が済んだものから順次印刷処理される（印刷ジョブ１１５，１２５，１３５）。ここで、ラスタライズ処理された印刷ジョブ１２３が、印刷ジョブ１１５の終了までに間に合わなかったため、印刷ジョブ１１５と、印刷ジョブ１２５の間に印刷エンジンの無駄な待ち時間１４０が発生している。
【００６７】
図１１は、本発明により一部の印刷ジョブをホストコンピュータでラスタライズ処理した際のホストコンピュータとプリンタ４のデータ処理手順を時系列で示したタイミングチャートの一例を示す図で、図中、１４１，１４２，１４３，１４４，１４５はホストコンピュータ１からの印刷ジョブ、１５１，１５２，１５３，１５４，１５５，１５６はホストコンピュータ２からの印刷ジョブ、１６１，１６２，１６３，１６４，１６５はホストコンピュータ３からの印刷ジョブを示す。本例では、図１０と同様に、ホストコンピュータ１，２，３でそれぞれ作成された印刷ジョブ１４１，１５１，１６１は先着順でプリンタ４の双方向Ｉ／Ｆ４３を介して受信（印刷ジョブ１４２，１５２，１６２）されることになる。
【００６８】
まず、最初の印刷ジョブ１４１をホストコンピュータ１から受信した際、プリンタ４には何も印刷ジョブが残っていないのでそのまま処理するが、ホストコンピュータ２から印刷ジョブ１５１を受信した際、印刷ジョブ１５１の印刷処理に要する時間（ラスタライズ処理時間など）を予測した結果に基づいて、プリンタ４でラスタライズ処理を行なった場合、印刷ジョブ１４５の終了までに当該ラスタライズ処理が間に合わないと判断され、ホストコンピュータ２へラスタライズ処理の要求を行なう。それを受けてホストコンピュータ２は、ラスタライズ処理を行って（印刷ジョブ１５３）、ラスタライズ処理済みデータをプリンタ４に返送している（印刷ジョブ１５４）。その結果、印刷ジョブ１４５の終了に間に合い、続く印刷ジョブ１５６および印刷ジョブ１６５が連続して処理されている。
【００６９】
図１２は、本発明により一部の印刷ジョブをホストコンピュータでラスタライズ処理し、そのホストコンピュータによる処理が遅れた際のホストコンピュータとプリンタ４のデータ処理手順を時系列で示したタイミングチャートの一例を示す図で、図中、１７１，１７２，１７３，１７４，１７５はホストコンピュータ１からの印刷ジョブ、１８１，１８２，１８３，１８４，１８５，１８６はホストコンピュータ２からの印刷ジョブ、１９１，１９２，１９３，１９４，１９５，１９６はホストコンピュータ３からの印刷ジョブ、１８７はプリンタ４からの処理中断指令を示す。本例では、図１０と同様に、ホストコンピュータ１，２，３でそれぞれ作成された印刷ジョブ１７１，１８１，１９１は先着順でプリンタ４の双方向Ｉ／Ｆ４３を介して受信（印刷ジョブ１７２，１８２，１９２）されることになる。
【００７０】
まず、プリンタ４での印刷ジョブ１７３のラスタライズ処理が終了した時点で、次の印刷ジョブ１８３をホストコンピュータ２から、印刷ジョブ１９３をホストコンピュータ３からいずれも受信完了していないため、プリンタ４は、受信済みデータ（印刷ジョブ１８２）を使用して通常通りラスタライズ処理（印刷ジョブ１８４）を行なっている。その間、ホストコンピュータ３でのラスタライズ処理（印刷ジョブ１９３）が終了して印刷データバッファ６３に印刷ジョブ１９５として受信を完了したため、印刷ジョブの印刷順序を入れ替え（印刷ジョブ１９６）を先に印刷する。その後、プリンタ４でのラスタライズ処理（印刷ジョブ１８４）が終了した時点においてもホストコンピュータ２でのラスタライズ処理（印刷ジョブ１８３）が完了していないため、プリンタ４でのラスタライズ処理済みデータ（印刷ジョブ１８５）を採用して印刷処理を実行し（印刷ジョブ１８６）、さらに、処理中断指令１８７により、ホストコンピュータ２へ印刷ジョブ１８３のラスタライズ処理の中断を通知している。
【００７１】
このように、先着順にこだわることなくラスタライズ処理が終わったものから順次印刷を開始するため、各印刷ジョブ間の無駄な待ち時間を縮小できる。
【００７２】
本発明の他の実施形態として、印刷ジョブのラスタライズ処理を各印刷ジョブのオーナであるホストコンピュータに対して依頼していたが、ホストコンピュータ以外に接続されている、専用のプリントサーバなどの他の情報処理装置に置き換えることも可能である。
【００７３】
また、これまで説明した本発明の実施形態は、複数のホストコンピュータに対して１台のプリンタが接続されている形態として示したが、複数のホストコンピュータと複数のプリンタが接続された環境における任意の１台以上のホストコンピュータと、１台のプリンタについても本発明を適用することができる。
【図面の簡単な説明】
【００７４】
【図１】本発明に係る標準的な印刷システムの構成例を示す図である。
【図２】図１に示したホストコンピュータ及びプリンタの内部構成例を示すブロック図である。
【図３】ホストコンピュータで作成された印刷ジョブの処理フローの一例を説明するためのフロー図である。
【図４】ホストコンピュータから印刷要求を受けたプリンタのデータ処理フローの一例を説明するためのフロー図である。
【図５】図４に示したプリンタにおけるデータ受信処理の一例を説明するためのフロー図である。
【図６】図４に示したプリンタにおける印刷ジョブの処理時間算出処理の一例を説明するためのフロー図である。
【図７】図４に示したプリンタにおける印刷ジョブの描画処理の一例を説明するためのフロー図である。
【図８】図７に示したプリンタにおけるホストコンピュータへの依頼中データの処理の一例を説明するためのフロー図である。
【図９】図４に示したプリンタにおける印刷処理の一例を説明するためのフロー図である。
【図１０】通常一般に行なわれているホストコンピュータとプリンタのデータ処理手順を時系列で示したタイミングチャートの一例を示す図である。
【図１１】本発明により一部の印刷ジョブをホストコンピュータでラスタライズ処理した際のホストコンピュータとプリンタのデータ処理手順を時系列で示したタイミングチャートの一例を示す図である。
【図１２】本発明により一部の印刷ジョブをホストコンピュータでラスタライズ処理し、そのホストコンピュータによる処理が遅れた際のホストコンピュータとプリンタのデータ処理手順を時系列で示したタイミングチャートの一例を示す図である。
【符号の説明】
【００７５】
１，２，３…ホストコンピュータ、４…プリンタ（印刷装置）、５…ネットワーク、１１…ＣＰＵ、１２，４２，６２…ＲＯＭ、１３，４７，６５…ＲＡＭ、１４…ページ記述言語変換モジュール、１５，４９…描画モジュール、１６…印刷ジョブ送信バッファ、１７，４６…固定ディスク装置、１８，４３…双方向インタフェース（Ｉ／Ｆ）、１９…アプリケーション、４１…描画処理ＣＰＵ、４４…転送速度測定モジュール、４５…印刷ジョブ受信バッファ、４６…固定ディスク装置、４８…描画時間予測モジュール、５０…エンジンインタフェース（Ｉ／Ｆ）、６１…印刷処理ＣＰＵ、６３…印刷データバッファ、６４…コントローラインタフェース（Ｉ／Ｆ）、６６…印刷機構。
【図１】
2006035487.tif 000003
【図２】
2006035487.tif 000004
【図３】
2006035487.tif 000005
【図４】
2006035487.tif 000006
【図５】
2006035487.tif 000007
【図６】
2006035487.tif 000008
【図７】
2006035487.tif 000009
【図８】
2006035487.tif 000010
【図９】
2006035487.tif 000011
【図１０】
2006035487.tif 000012
【図１１】
2006035487.tif 000013
【図１２】
2006035487.tif 000014