(57)【要約】【課題】  ホストコンピュータと印刷装置で同一の処理が可能な機能を１つ以上持ち、印刷データを処理する場合にホストコンピュータと印刷装置のどちらで前記機能を実行するのかをテーブル参照にて決定する印刷システムにおいて、最適な負荷分散を行い、システム全体で最も効率の良い印刷を行う印刷システムを提供する。【解決手段】  ホストコンピュータと印刷処理で負荷分散可能な各機能について、ベンチマークデータによる印刷ジョブを送信することにより実際の処理にかかる時間を計測することで、負荷分散方式を決定し、最適な負荷分散を行う。【選択図】  図１
2007140577.tif 000002
【特許請求の範囲】
【請求項１】
ホストコンピュータと印刷装置で同一の処理が可能な機能を1つ以上持ち、印刷データを処理する場合にホストコンピュータと印刷装置のどちらで前記機能を実行するのかをテーブル参照にて決定する印刷システムにおいて、
ホストコンピュータに、前記機能の１つを利用するデータを機能毎に持ち、ホストコンピュータ上で前記データに含まれる機能の処理を行った後、印刷装置に送信する第１の送信手段と、ホストコンピュータ上で前記データに含まれる機能の処理を行わずに印刷装置へ送信する第2の送信手段と、前記第1の送信手段でデータを送信した場合と、前記第2の送信手段でデータを送信した場合に、システムとして該データの処理に要した時間を計測する計測手段と、前記計測手段で計測した結果を前記閾テーブルに登録する登録手段とを持つことを特徴とする印刷システム。
【請求項２】
請求項１に記載の印刷システムにおいて、前記第１の送信手段および前記第２の送信手段によって送信された印刷ジョブは、前記印刷装置で印刷しない手段を持つことを特徴とする印刷システム。
【請求項３】
ホストコンピュータと印刷装置で同一の処理が可能な機能を1つ以上持ち、印刷データを処理する場合にホストコンピュータと印刷装置のどちらで前記機能を実行するのかをテーブル参照にて決定する印刷システムにおいて、
ホストコンピュータに、前記機能の１つ以上を利用するデータを持ち、ホストコンピュータ上で前記データに含まれる各機能の処理を行うホスト処理手段と、前記データに含まれる各機能の処理にかかった時間を計測するホスト計測手段と、ホストコンピュータ上で前記データに含まれる各機能の処理を行わずに印刷装置へ送信する送信手段と、印刷装置に前記送信手段で送信されたデータの各機能の処理にかかる処理時間を計測する印刷装置計測手段と、前記印刷装置計測手段で計測した各機能の処理時間をホストコンピュータに通知する処理時間通知手段とを持ち、さらにホストコンピュータに前記処理時間通知手段で通知された印刷装置での各機能の処理時間を受け取る処理時間受信手段と、前記ホスト計測手段および処理時間受信手段とを前記テーブルに登録する登録手段とを持つことを特徴とする印刷システム。
【請求項４】
請求項３に記載の印刷システムにおいて、前記送信手段によって送信された印刷ジョブは、前記印刷装置で印刷しない手段を持つことを特徴とする印刷システム。
【請求項５】
請求項１又は、請求項３に記載の印刷システムにおいて、前記テーブルの更新はホストコンピュータ上で印刷装置を使用できるようにするときに行われることを特徴とする印刷システム。
【請求項６】
請求項１又は、請求項３に記載の印刷システムにおいて、ホストコンピュータにホストコンピュータの構成変更検知手段を持ち、前記構成変更検知手段において構成変更が検知されたとき、前記テーブルの更新を行うことを特徴とする印刷システム。
【請求項７】
請求項１又は、請求項３に記載の印刷システムにおいて、前記テーブルの更新は指定日時に行われることを特徴とする印刷システム。
【請求項８】
請求項１又は、請求項３に記載の印刷システムにおいて、前記テーブルの更新はユーザ指定日時に行われ、ホストコンピュータ上でユーザの指定日時に行われることを特徴とする印刷システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリントを行う印刷システムに関する。
【背景技術】
【０００２】
従来、ホストコンピュータと印刷装置で構成される印刷システムでは、描画指示を行うPDL（Page  Description  Language）をホストコンピュータで作成し、印刷装置上でPDLを解釈して、ラスタデータを生成し印刷を行うという構成が一般的であった。
【０００３】
かつては、印刷装置の処理能力がホストコンピュータの処理能力に比べて高く、一方でデータ通信のための帯域が小さいため、ラスタデータに比べサイズの小さなPDLデータを印刷装置に送って、処理の重いラスタデータの生成は印刷装置で行なう、PDL印刷は非常に合理的なものであった。
【０００４】
近年、印刷データのカラー化、高解像度化が進みラスタデータ生成の処理量は増大し、印刷装置の負荷が日増しに重くなっている。一方で、ホストコンピュータの処理能力の飛躍的向上、通信帯域の増加とコンピューティング環境の進化により、ラスタデータ生成までの一部の処理をホストコンピュータ上で処理してから、印刷装置で残りの処理を行う、負荷分散印刷印刷システムが提案されている。
【０００５】
又、別の従来例としては、特許文献１をあげることが出来る。
【特許文献１】特開2000-284937号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の方式では、ホストコンピュータと印刷装置の両方で処理できる機能について、ホストコンピュータと印刷装置のどちらで処理をおこなうか決定は、ホストコンピュータのCPU性能やメモリのサイズ、また印刷装置画像処理ハードウェアの有無など、印刷装置毎の静的情報により決定されているため、最適な負荷分散を行えない場合がる。
【課題を解決するための手段】
【０００７】
上記課題を解決する本発明の第１の印刷システムは以下に示す構成を備える。即ち、ホストコンピュータと印刷装置で同一の処理が可能な機能を1つ以上持ち、印刷データを処理する場合にホストコンピュータと印刷装置のどちらで前記機能を実行するのかをテーブル参照にて決定する印刷システムにおいて、ホストコンピュータに、前記機能の１つを利用するデータを機能毎に持ち、ホストコンピュータ上で前記データに含まれる機能の処理を行った後、印刷装置に送信する第１の送信手段と、ホストコンピュータ上で前記データに含まれる機能の処理を行わずに印刷装置へ送信する第2の送信手段と、前記第1の送信手段でデータを送信した場合と、前記第2の送信手段でデータを送信した場合に、システムとして該データの処理に要した時間を計測する計測手段と、前記計測手段で計測した結果を前記閾テーブルに登録する登録手段とを備える。
【０００８】
また、前記第１の送信手段および前記第２の送信手段によって送信された印刷ジョブは、前記印刷装置で印刷しない手段を備える。
【０００９】
上記課題を解決する本発明の第２の印刷システムは以下に示す構成を備える。即ち、ホストコンピュータと印刷装置で同一の処理が可能な機能を1つ以上持ち、印刷データを処理する場合にホストコンピュータと印刷装置のどちらで前記機能を実行するのかをテーブル参照にて決定する印刷システムにおいて、ホストコンピュータに、前記機能の１つ以上を利用するデータを持ち、ホストコンピュータ上で前記データに含まれる各機能の処理を行うホスト処理手段と、前記データに含まれる各機能の処理にかかった時間を計測するホスト計測手段と、ホストコンピュータ上で前記データに含まれる各機能の処理を行わずに印刷装置へ送信する送信手段と、印刷装置に、前記送信手段で送信されたデータの各機能の処理にかかる処理時間を計測する印刷装置計測手段と、前記印刷装置計測手段で計測した各機能の処理時間をホストコンピュータに通知する処理時間通知手段とを持ち、さらにホストコンピュータに前記処理時間通知手段で通知された印刷装置での各機能の処理時間を受け取る処理時間受信手段と、前記ホスト計測手段および処理時間受信手段とを前記テーブルに登録する登録手段とを備える。
【００１０】
また、前記送信手段によって送信された印刷ジョブは、前記印刷装置で印刷しない手段を備える。
【００１１】
さらに、前記第１の印刷システムおよび第２の印刷システムは、前記テーブルの更新はホストコンピュータ上で印刷装置を使用できるようにするときに行う手段を備える。
【００１２】
さらに、前記第１の印刷システムおよび第２の印刷システムは、ホストコンピュータにホストコンピュータの構成変更検知手段を持ち、前記構成変更検知手段において構成変更が検知されたとき、前記テーブルの更新を行う手段を備える。
【００１３】
さらに、前記第１の印刷システムおよび第２の印刷システムは、前記テーブルの更新を指定日時に行う手段を備える。
【００１４】
さらに、前記第１の印刷システムおよび第２の印刷システムは、前記テーブルの更新をユーザ指定時に行う手段を備える。
【００１５】
かかる構成において、ホストコンピュータと印刷処理で負荷分散可能な各機能について、ベンチマークデータによる印刷ジョブを送信することにより実際の処理にかかる時間を計測することで、負荷分散方式を決定し、最適な負荷分散を行い、システム全体で最も効率の良い印刷を行う印刷システムを提供する。
【発明の効果】
【００１６】
以上述べたように本発明によれば、ホストコンピュータと印刷処理で負荷分散可能な各機能について、ベンチマークデータによる印刷ジョブを送信することにより実際の処理にかかる時間を計測することで、負荷分散方式を決定し、最適な負荷分散を行うことで、システム全体で最も効率の良い印刷を行うことができる。
【発明を実施するための最良の形態】
【００１７】
（実施例１）
図１は本発明に適応可能な印刷システムを表す。
【００１８】
199はネットワークであり、このネットワーク上にホストコンピュータ101、印刷機110はネットワーク199を介して相互に通信可能であるように構成されている。
【００１９】
101はホストコンピュータである。102はCPUであり、図２以降で説明するホストコンピュータ上で動作するソフトウェアは全てこの上で動作する。103はRAMであり、前記CPU102で動作するソフトウェアがデータ保存や自分自身の動作のために使用する。104はハードディスク(HDD)であり、アプリケーションソフトウェアやアプリケーションデータ等を保存する。105は通信インターフェイスであり、ホストコンピュータ101はこの通信インターフェイス105を介して、ネットワーク199上の各機器と通信可能である。
【００２０】
110は印刷機である。111はパネルであり、前記印刷機110の動作設定を行う。112はCPUであり、図２以降で説明する印刷装置上で動作するソフトウェアは全てこの上で動作する。113はRAMであり、前記CPU112で動作するソフトウェアがデータ保存や自分自身の動作のために使用する。114はROMであり、ソフトウェアなどを保存する。116は通信インターフェースであり、印刷機110はこの通信インターフェース105を介して、ネットワーク199上の各機器と通信可能である。117はJPEG伸張ハードウェアであり、印刷機110に送信されてきた印刷データに含まれるJPEGデータを伸張する。118はハードレンダラでありCPU112上のソフトウェアが生成するディスプレイリスト（DL)を入力としてラスタイメージを生成する。115はプリンタエンジンであり、前記CPU112上で動作したソフトウェア及びハードレンダラ118が作り出すイメージデータの印刷を行う。
【００２１】
図２は本発明におけるソフトウェアモジュールの構成図である。
【００２２】
201はホストコンピュータ101上で動作するアプリケーションプロラムであり、アプリケーションプログラムから印刷を行う場合、プリンタドライバ202を起動する。プリンタドライバ202は内部に、フィルタ制御部203、データ変換フィルタ変換郡204と、負荷分散テーブル205及び負荷分散テーブル生成部206を含んでいる。データ変換フィルタ郡204には、アプリケーションプログラムの生成する印刷データに含まれるSRGB,CMYK,CIE,等各種色空間から指定色空間へ変換するための色空間フィルタ、印刷データ中のJPEGやJBIG等各種圧縮イメージを伸張するイメージ伸張フィルタ、印刷データ中のイメージを任意角度に回転するイメージ回転フィルタ、印刷データ中の複数のパスを1つにまとめることにより最適化を行うパスコレクションフィルタ、印刷データに含まれる各種シェーディング指定データをイメージ化するシェーディングフィルタが含まれている。各データはデータサイズや機能毎にデータ変換のON/OFFが可能なように構成されている。なお、ここで説明していないデータ変換フィルタが含まれていても良いことは言うまでも無い。負荷分散テーブル生成部206の詳細は後述するが、ベンチマークテストデータを利用して、負荷分散テーブル205を生成する。フィルタ制御部203は、アプリケーションデータの生成する印刷データ及び前記負荷分散テーブル205を参照しながら、データ変換フィルタ変換部204内の各フィルタを適切に制御する。207は、アプリケーションが生成した印刷データやデータフィルタ郡に204にデータ変換を行った印刷データがスプールされる印刷データスプーラであり、RAM103又はHDD104上に構成されている。208はPC101上の、無線LANから有線LANへの通信IF変更、CPUクロック変更、メモリ追加、スワップメモリの変更など構成変更が行なわれたことを検知する構成検知部である。209はプリンタドライバ202で生成した印刷データを通信インターフェース105を介してプリンタ送信するデータ入出力部である。なお、データ入出力部209は、印刷データの送信だけでなく、プリンタから通知されてきた情報を受けてプリンタドライバ202に通知する。
【００２３】
220は印刷機110のデータ入出力部であり、インターフェース116を介して、ネットワーク199上の機器からの印刷データの受信及び印刷機内の情報の送信を行う。221はDL変換部であり、データ入出力部220を介して受信した印刷データを解析し、データ変換フィルタ郡222の適切なフィルタを適用しDLへの変換を行う。データ変換フィルタ郡222には、アプリケーションプログラムの生成する印刷データに含まれるSRGB,CMYK,CIE,等各種色空間から指定色空間へ変換するための、色空間フィルタ、印刷データ中のJPEGやJBIG等各種圧縮イメージを伸張するイメージ伸張フィルタ、印刷データ中のイメージを任意角度に回転するイメージ回転フィルタ、印刷データ中の複数のパスを1つにまとめることにより最適化を行うパスコレクションフィルタ、印刷データに含まれる各種シェーディング指定データをDLに変換可能な形式に変換するシェーディングフィルタ、各フィルタにより変換後の印刷データをDLに変換するDL変換フィルタが含まれている。なお、ここで説明していないデータ変換フィルタが含まれていても良いことは言うまでも無い。また、前記イメージ伸張フィルタはJPEGイメージを伸張する場合には、JPEG伸張ハードウェア117を使用する場合もある。223はレンダリングモジュールであり、DL変換モジュール221によって生成されたDLをハードレンダラ118を起動してレンダリングしラスタイメージを生成する。224は印刷部であり、レンダリングモジュール223で生成したラスタイメージにプリンタエンジン115で印刷するための最適な画像処理を施しのち、プリンタエンジン115を起動して紙上に印刷を行う。
【００２４】
続いて図1、図2における本発明の動作例を、図3〜図8を参照して説明する。
【００２５】
図3〜図5を参照して負荷分散テーブル生成部206が負荷分散テーブル205を生成する時の動作を説明する。図４は負荷分散テーブル生成部206の保持する、負荷分散測定データ管理テーブルである。図4の401の列には、負荷分散処項目を表しており、402の列は401の負荷分散項目に対応するデータ変換フィルタ、403には401の負荷分散項目に対応するベンチマークデータの格納場所の情報を示している。図4の例において、例えば「JPEG伸張データサイズ１K」の項目では、対応する202中のデータ変換フィルタは、イメージ伸張フィルタであり、対応するベンチマークデータは「C:/printer/bench/JPEG_1K.prn」に格納されていることを示している。図4の例に示すように、負荷分散項目はデータ変換フィルタに付1つではなく、データサイズによりパフォーマンスが異なる可能性のある項目についてはデータサイズ毎、1つのフィルタに複数の機能を持つものについては機能毎に用意することが望ましい。
【００２６】
図5は負荷分散テーブル205の一例である。負荷分散テーブルは対象印刷装置毎に用意されており、本例は印刷装置110用のテーブルを示している。図5の501の列は、負荷分散処項目を表しており、503の列は501の負荷分散項目に対応する402に示されるデータ変換フィルタをOFF、つまりデータ変換フィルタが適用されなかったときに403に示されるベンチマークデータの処理に要した時間が格納され、502の列は501の負荷分散項目に対応する402に示されるデータ変換フィルタをON、つまりデータ変換フィルタが適用されたときに403に示されるベンチマークデータの処理に要した時間が格納される。
【００２７】
図３は負荷分散テーブル生成部206が、負荷分散テーブル205を生成する時の動作を説明するフローチャートである。ここでは、図5に例示されている印刷装置110用の負荷分散テーブル作成時の動作として説明する。負荷分散ステップS101からステップS112は図4に示される分散処理データ管理テーブルの分散処理項目毎に繰り返される。ステップS101では、分散処理データ管理テーブルの着目する負荷分散処理項目（行）を変更する。ステップS102では、着目する行の402の列に示される、データ変換フィルタの負荷分散処理項目に関する機能が働くようにフィルタ制御部203へ通知する。ステップS103では、現在時刻を印刷ジョブ開始時間として取得・保持しておく。続いてS104では着目している行の403に示されるベンチマークデータを、印刷データスプーラ207へ投入する。プリンタドライバ202は印刷データスプーラ207へベンチマークデータが投入されると、フィルタ制御部203の制御に基づいて、ベンチマークデータに指定のフィルタ及び図２には図示していない否排紙フィルタを適用した後、印刷ジョブとしてデータ入出力部209を介して印刷装置110へ送信する。否排紙フィルタが適用されたベンチマークデータは排紙命令が削除され、印刷装置110ではベンチマークデータの処理は行なわれるが排紙は行なわれない。ステップS105では印刷装置110から印刷ジョブの処理が完了した旨が通知されるのを待つ。印刷装置110からの完了通知が来ると、ステップS106で、現在時刻を取得しステップS103で保持している印刷ジョブ開始時間との差分を取ることにより、ベンチマークデータの処理に要した時間を計算し、分散処理テーブルの着目している分散処理項目に対応する行の502の列に登録する。続いてステップS107では、着目する行の402の列に示される、データ変換フィルタを適用しないようにフィルタ制御部203へ通知する。ステップS108では、現在時刻を印刷ジョブ開始時間として取得・保持しておく。続いてS109では着目している行の403に示されるベンチマークデータを、印刷データスプーラ207へ投入する。プリンタドライバ202は印刷データスプーラ207へベンチマークデータが投入されると、フィルタ制御部203の制御に基づいて、ベンチマークデータに指定のフィルタを適用せずに、図２には図示していない否排紙フィルタを適用した後、印刷ジョブとしてデータ入出力部209を介して印刷装置110へ送信する。ステップS110では印刷装置110から印刷ジョブの処理が完了した旨が通知されるのを待つ。印刷装置110からの完了通知が来ると、ステップS111で、現在時刻を取得しステップS108で保持している印刷ジョブ開始時間との差分を取ることにより、ベンチマークデータの処理要した時間を計算し、分散処理テーブルの着目している分散処理項目に対応する行の503の列に登録する。ステップS112では、分散処理データ管理テーブルのすべての分散処理項目について処理が終了したか判断し、終了していれば本処理を終了し、終了していなければS101へ戻り処理を続ける。
【００２８】
以上の処理により、図5に示す印刷装置110用の分散処理テーブルの502、503の列に分散処理項目に対応する処理を、ホストコンピュータ100上で処理した場合の時間と、印刷装置110で処理した場合の時間がそれぞれ登録される。
【００２９】
負荷分散テーブル生成部206は少なくとも、ホストコンピュータ110で新規プリンタを使えるように設定する場合に実行され、その後はユーザ設定により、ホストコンピュータの構成変更時、ユーザが指定した時間、ユーザが実行を支持した場合に実行される。図6はホストコンピュータ110に接続された表示装置に表示されるユーザ設定画面の一例である。図6の画面はプリンタドライバ設定画面から、ユーザがトレーニングモード設定を選択した場合に表示される。
【００３０】
図６の601をチェックしておくと、構成検知部208がホストコンピュータ101の構成変更を検知したときに負荷分散テーブル生成部206が起動され、対応する印刷装置110用の負荷分散テーブルの更新が行なわれる。この構成により例えば、ホストコンピュータ101がネットワーク199から切り離され、図示されていない無線LAN経由で印刷装置110にアクセスするようになっても、負荷分散テーブルが更新され、印刷パフォーマンスが最適な状態に保たれる。602をチェックしておくと、603に指定された時刻に負荷分散テーブル生成部206起動され、対応する印刷装置110用の負荷分散テーブルの更新が行なわれる。この構成により、構成検知部208が検知不能な外的要因の変化にも、負荷分散テーブルを適切な状態に保つことができる。604をユーザがクリックすると、直後に負荷分散テーブル生成部206が起動され、対応する印刷装置110用の負荷分散テーブルの更新が行なわれる。
【００３１】
ここでホストコンピュータ101から印刷装置110へ印刷指示が行なわれた時の動作を、図7、図8のフローチャートを参照して説明する。
【００３２】
図7はホストコンピュータ上でアプリケーション201が印刷装置110へ印刷を行うときの動作を表すフローチャートである。
【００３３】
アプリケーション201で印刷装置110への印刷指示を行うと、アプリケーションと201とプリンタドライバ202は印刷データを生成し印刷データスプーラ207へスプールする（ステップS201)。ステップS202では、フィルタ制御部203は負荷分散テーブル205を参照して、印刷データ変換フィルタ郡204の各フィルタの適用の可否を設定するとともに各フィルタの機能のON/OFFを切り替える。このとき、各フィルタの全機能がOFFに設定される場合はそのフィルタは否適用に設定される。例えば、印刷装置110用の負荷分散テーブルテーブルが図5の状態である場合、データサイズが１KまでのJPEGデータはホストコンピュータ上のイメージ伸張フィルタで処理したほうが印刷装置で処理するよりも高速であることを示しており、１Kより大きなJPEGデータは印刷装置で処理したほうが高速であることを示しているため、イメージ伸張フィルタに対して１K以下のJPEGデータは機能がONになるように設定し、１Kより大きなJPEGデータはOFFになるように設定する。また、パスコレクション機能に関しては、印刷装置で処理したほうが高速であり、パスコレクションフィルタのパスコレクション機能をOFFとするが、パスコレクションフィルタにはパスコレクション機能のみとなるので、パスコレクションフィルタは否適用に設定する。ステップS203では、ステップS202に設定された各フィルタの適用／否適用に基づき、印刷データスプーラにスプールされている印刷データにフィルタを適用し、適用される各フィルタでは各機能のON/OFFに基づいて印刷データの変換を行ない、印刷データスプーラ207へ再度スプールする。すべての必要なフィルタが適用された印刷データは印刷ジョブとして、データ入出力部209を介して印刷装置110へ送信する。
【００３４】
図8は印刷装置110がホストコンピュータ110から印刷ジョブを送信されたときの動作を表すフローチャートである。
【００３５】
ホストコンピュータ110はデータ入出力部220を介して印刷ジョブを受信すると（ステップS301）、DL変換部221で受信した印刷ジョブに含まれる印刷データを解析しながら、データ変換フィルタ郡222内の適切なフィルタを適用してDLの生成を行なう（ステップS302)。例えば、１Kを超えるJPEGデータはホストコンピュータ110で伸張処理されておらず、印刷データにJPEGデータのまま含まれている。DL変換部221では、JPEGデータを検知するとイメージ伸張フィルタを適用することにより伸張処理が行なわれる。JPEGデータに関しては、イメージ伸張フィルタはJPEG伸張ハードウェア117を使用して伸張を行うので、ホストコンピュータ上でソフト処理を行うより非常に高速に伸張することが可能である。イメージ伸張フィルタにより伸張されたイメージデータはDL変換フィルタが適用されDLへと変換される。ステップS303では受信した印刷ジョブに排紙命令が含まれているか判断し、排紙命令が含まれていればステップS302で生成したDLをハードレンダラ118を起動してレンダリングして、印刷用ラスタイメージの生成を行う。ステップS305では、ハードレンダラ118の生成したラスタイメージに対して、レンダリングモジュール223で生成したラスタイメージにプリンタエンジン115で印刷するための最適な画像処理を施しのち、プリンタエンジン115を起動して紙上に印刷を行う。ステップS303で排紙命令が含まれなかった場合、又はステップS305の印刷処理が終了するとステップS306でジョブ終了通知をホストコンピュータ101へ送信して終了する。
【００３６】
本実施例よれば、ホストコンピュータと印刷処理で負荷分散可能な各機能について、ベンチマークデータによる印刷ジョブを送信することにより実際の処理にかかる時間を計測することで、負荷分散方式を決定することができるので、最適な負荷分散を行うことができ、システム全体で最も効率の良い印刷を行うことができる。
【００３７】
（実施例２）
実施例1では、印刷装置110が印刷ジョブの終了時にジョブ終了通知をホストコンピュータ101へ送信するとしているが、ホストコンピュータ101の状態を監視することにより、ホストコンピュータ101からのジョブ終了通知無しで、ジョブ終了時間を検知しても同様の効果が得られる。
【００３８】
（実施例３）
本実施例を適用するシステム構成は、図１及び図2に示される第1実施例と同一のものであるため説明を割愛し、図9〜図10の使用して本実施例の、負荷分散テーブル生成部206の動作、負荷分散テーブル205の構成及び、印刷装置110の動作の説明を行う。
【００３９】
図9は負荷分散テーブル生成部206の保持する、負荷分散測定データ管理テーブルである。図9の901の列には、負荷分散処項目を表している。902の列は901の負荷分散項目についてホストコンピュータ上での処理の有無で印刷装置に送信される印刷ジョブのサイズが大きく異なるか否かのフラグである。901の負荷分散項目についてホストコンピュータ上で処理することにより、サイズ変更が伴う場合は「有り」、伴わない場合は「無し」と記述されている。903の列は901の負荷分散項目に対応するデータ変換フィルタ、904には901の負荷分散項目に対応するベンチマークデータの格納場所の情報を示している。図9の910や911の行では、1つのベンチマークデータで複数の負荷分散項目の測定することを示している。例えば、910は3つの行がベンチマークデータが同一の「C:/printer/bench/CMS.prn」であることを示しており、このベンチマークデータに「色変換：RGB to DeveceCMYK」、「色変換：CMYK to CMYK」、「色変換：CIE  to DeviceCMYK」すべての測定データが含まれている。なお、データ変換フィルタの適用・否適用によりデータサイズが大きく異なる場合、ネットワークの転送時間等の影響がおおきくなるため、1つのベンチマークデータに複数の負荷分散測定項目をまとめることができるのは、サイズ変更「無し」と記述されている項目のみである。図10は負荷分散テーブル205の一例である。負荷分散テーブルは対象印刷装置毎に用意されており、本例は印刷装置110用のテーブルを示している。図10の1001の列は、負荷分散処項目を表しており、1002の列は1001の負荷分散項目に対応する903に示されるデータ変換フィルタをOFF、つまりデータ変換フィルタが適用されなかったときに904に示されるベンチマークデータの処理又はベンチマークデータに含まれている該負荷分散項目データ部分の処理に要した時間が格納され、1003の列は1001の負荷分散項目に対応する1003に示されるデータ変換フィルタをON、つまりデータ変換フィルタが適用されたときに1004に示されるベンチマークデータの処理又はベンチマークデータに含まれている該負荷分散項目データ部分の処理に要した時間が格納される。
【００４０】
図11は負荷分散テーブル生成部206が、負荷分散テーブル205を生成する時の動作を説明するフローチャートである。ここでは、図10に例示されている印刷装置110用の負荷分散テーブル作成時の動作として説明する。負荷分散ステップS501からステップS519は図9に示される分散処理データ管理テーブルのベンチマークデータ毎に繰り返される。ステップS501では、分散処理データ管理テーブルの着目するベンチマークデータを変更する。ステップS502では、着目するベンチマークデータの903の列に示される、データ変換フィルタの負荷分散処理項目に関する機能が働くようにフィルタ制御部203へ通知する。ステップS503では、着目しているベンチマークデータの903の列を見て、サイズ変更の有無を確認する。サイズ変更「有り」であればステップS504へ進む。ステップS504では、現在時刻を印刷ジョブ開始時間として取得・保持しておく。続いてS505では着目しているベンチマークデータを、印刷データスプーラ207へ投入する。プリンタドライバ202は印刷データスプーラ207へベンチマークデータが投入されると、フィルタ制御部203の制御に基づいて、ベンチマークデータに指定のフィルタ及び図２には図示していない否排紙フィルタを適用した後、印刷ジョブとしてデータ入出力部209を介して印刷装置110へ送信する。否排紙フィルタが適用されたベンチマークデータは排紙命令が削除され、印刷装置110ではベンチマークデータの処理は行なわれるが排紙は行なわれない。ステップS506では印刷装置110から印刷ジョブの処理が完了した旨が通知されるのを待つ。印刷装置110からの完了通知が来ると、ステップS507で、現在時刻を取得しステップ504で保持している印刷ジョブ開始時間との差分を取ることにより、ベンチマークデータの処理要した時間を計算し、着目しているベンチマークデータに対応する分散処理項目の、対応する分散処理テーブル行の1002の列に登録し、ステップS510へ進む。ステップS503で、サイズ変更「無し」と判断した場合、ステップS508へ進む。ステップS508では、着目しているベンチマークデータを、印刷ジョブ送信不要モードで印刷データスプーラ207へ投入する。プリンタドライバ202は印刷ジョブ不要モードで印刷データスプーラ207へベンチマークデータが投入されると、フィルタ制御部203の制御に基づいて、ベンチマークデータに指定のフィルタを適用し、ベンチマークデータに含まれる各負荷分散処理項目について、データ変換フィルタにおける処理時間を計測するが、印刷ジョブのプリンタへの送信は行わない。ステップS509では、ステップS508で計測した各負荷分散項目の処理時間を、対応する負荷分散処理テーブルの1002の列に登録し、ステップS510へ進む。
【００４１】
ステップS510では、着目するベンチマークデータの903の列に示される、データ変換フィルタを適用しないようにフィルタ制御部203へ通知する。
【００４２】
ステップS511では、着目しているベンチマークデータの903の列を見て、サイズ変更の有無を確認する。サイズ変更「有り」であればステップS512へ進む。
【００４３】
ステップS512では、現在時刻を印刷ジョブ開始時間として取得・保持しておく。続いてS513では着目しているベンチマークデータを、印刷データスプーラ207へ投入する。プリンタドライバ202は印刷データスプーラ207へベンチマークデータが投入されると、フィルタ制御部203の制御に基づいて、ベンチマークデータに指定のフィルタを適用せずに、図２には図示していない否排紙フィルタを適用した後、印刷ジョブとしてデータ入出力部209を介して印刷装置110へ送信する。ステップS514では印刷装置110から印刷ジョブの処理が完了した旨が通知されるのを待つ。印刷装置110からの完了通知が来ると、ステップS515で、現在時刻を取得しステップS512で保持している印刷ジョブ開始時間との差分を取ることにより、ベンチマークデータの処理要した時間を計算し、分散処理テーブルの着目している分散処理項目に対応する行の1003の列に登録する。
【００４４】
ステップS511で、サイズ変更「無し」であればステップS516へ進む。ステップS516では、着目しているベンチマークデータを、印刷データスプーラ207へ投入する。プリンタドライバ202は印刷データスプーラ207へベンチマークデータが投入されると、フィルタ制御部203の制御に基づいて、ベンチマークデータに指定のフィルタを適用せずに、図２には図示していない否排紙フィルタ及び処理時間演算フィルタを適用して後、印刷ジョブとしてデータ入出力部209を介して印刷装置110へ送信する。処理時間演算フィルタの適用されたデータには、負荷分散項目毎に処理時間を計算してホストコンピュータ101へ返却する命令が含まれており、この命令を含むデータを処理した印刷装置110は負荷分散毎に印刷装置110で処理にかかった時間を通知してくる。ステップS517では、印刷装置110より、負荷分散機能毎の処理時間通知が来るのを待ち、処理時間通知が来るとステップS518で、各負荷分散項目の印刷装置での処理時間を、対応する負荷分散処理テーブルの1003の列に登録し、ステップS519へ進む。ステップS519では、分散処理データ管理テーブルのすべてのベンチマークデータについて処理が終了したか判断し、終了していれば本処理を終了し、終了していなければS501へ戻り処理を続ける。以上の処理により、図10に示す印刷装置110用の分散処理テーブルの1002、1003の列に分散処理項目に対応する処理を、ホストコンピュータ100上で処理した場合の時間と、印刷装置110で処理した場合の時間がそれぞれ登録される。
【００４５】
図12は印刷装置110がホストコンピュータ110から印刷ジョブを送信されたときの動作を表すフローチャートである。
【００４６】
ホストコンピュータ110はデータ入出力部220を介して印刷ジョブを受信すると（ステップS601）、DL変換部221で受信した印刷ジョブに含まれる印刷データを解析しながら、データ変換フィルタ郡222内の適切なフィルタを適用してDLの生成を行う（ステップS302)。例えば、１Kを超えるJPEGデータはホストコンピュータ110で伸張処理されておらず、印刷データにJPEGデータのまま含まれている。DL変換部221では、JPEGデータを検知するとイメージ伸張フィルタを適用することにより伸張処理が行なわれる。JPEGデータに関しては、イメージ伸張フィルタはJPEG伸張ハードウェア117を使用して伸張を行うので、ホストコンピュータ上でソフト処理を行うより非常に高速に伸張することが可能である。イメージ伸張フィルタにより伸張されたイメージデータはDL変換フィルタが適用されDLへと変換される。また、ステップS302でデータ変換フィルタ適用する印刷データに処理時間返却命令が指定されている場合、データ変換フィルタでの処理時間を計測し、データ変換フィルタの機能毎に保持しておく。ステップS603では、S602の印刷データ処理中に、処理時間返却命令が含まれていたか否かを判断し、含まれていればステップS604へ進み、含まれていなければステップS605へ進む。ステップS604では、ステップS602でデータ変換フィルタの機能毎に保持しておいて計測時間をすべて、ホストコンピュータ101へ送信する。ステップS605では受信した印刷ジョブに排紙命令が含まれているか判断し、排紙命令が含まれていればステップS606で生成したDLをハードレンダラ118を起動してレンダリングして、印刷用ラスタイメージの生成を行う。ステップS607では、ハードレンダラ118の生成したラスタイメージに対して、レンダリングモジュール223で生成したラスタイメージにプリンタエンジン115で印刷するための最適な画像処理を施しのち、プリンタエンジン115を起動して紙上に印刷を行う。ステップS605で排紙命令が含まれなかった場合、又はステップS607の印刷処理が終了するとステップS608でジョブ終了通知をホストコンピュータ101へ送信して終了する。
【００４７】
本実施例よれば、ホストコンピュータと印刷処理で負荷分散可能な各機能について、ベンチマークデータによる印刷ジョブを送信することにより実際の処理にかかる時間を計測することで、負荷分散方式を決定することができるので、最適な負荷分散を行うことができ、システム全体で最も効率の良い印刷を行うことができる。また、データサイズの変更を伴わない、負荷分散可能な各機能については、ベンチマークデータは1つにまとめることが可能であると共に、ホストコンピュータの処理時間については印刷ジョブを印刷装置に通知することなく計測でき、効率的に負荷分散方式を決定するためのテーブルを作成することが可能となる。
【図面の簡単な説明】
【００４８】
【図１】本発明によって実現されるホストコンピュータと印刷装置のハードウェア構成図である。
【図２】本発明によって実現されるソフトウェア機能の概念図である。
【図３】本発明第1実施例の負荷分散テーブル生成部の動作を説明するフローチャートである。
【図４】本発明第１実施例の負荷分散測定データ管理テーブルの一例である。
【図５】本発明第1実施例の負荷分散テーブルの一例である。
【図６】本発明負荷分散テーブル生成タイミングを設定する設定画面の一例である。
【図７】本発明でホストコンピュータ上で印刷装置110へ印刷を行なう時の動作を説明するフローチャートである。
【図８】本発明第1実施例で印刷装置のホストコンピュータから印刷ジョブが送信されてきたときの動作を説明するフローチャートである。
【図９】本発明第2実施例の負荷分散測定データ管理テーブルの一例である。
【図１０】本発明第2実施例の負荷分散テーブルの一例である。
【図１１】本発明第2実施例の負荷分散テーブル生成部の動作を説明するフローチャートである。
【図１２】本発明第2実施例で印刷装置のホストコンピュータから印刷ジョブが送信されてきたときの動作を説明するフローチャートである。
【符号の説明】
【００４９】
101  ホストコンピュータ
102  CPU
110  印刷機
111  パネル
112  CPU
203  フィルタ制御部
204  データ変換フィルタ郡
205  負荷分散テーブル
206  負荷分散テーブル生成部
【図１】
2007140577.tif 000003
【図２】
2007140577.tif 000004
【図３】
2007140577.tif 000005
【図４】
2007140577.tif 000006
【図５】
2007140577.tif 000007
【図６】
2007140577.tif 000008
【図７】
2007140577.tif 000009
【図８】
2007140577.tif 000010
【図９】
2007140577.tif 000011
【図１０】
2007140577.tif 000012
【図１１】
2007140577.tif 000013
【図１２】
2007140577.tif 000014