(57)【要約】【課題】高負荷の印刷処理を実行するとスループットが低下する。【解決手段】印刷装置が接続された印刷制御装置と、相互通信可能なネットワークを介して印刷制御装置に接続された分散処理クライアントとを備える印刷制御システムにおいて、分散処理クライアントの処理能力を印刷制御装置で取得し、当該取得した分散処理クライアントの処理能力に応じて印刷データの処理分担を決定し、分散処理クライアントにおいて当該決定した処理分担に相当する印刷データを取得すると共に上記印刷装置で解釈して印刷を実行可能な印刷実行データに変換し、当該変換した印刷実行データを印刷制御装置にて取得し、印刷装置に出力する。【選択図】  図１
2004164445.tif 000002
【特許請求の範囲】
【請求項１】
印刷装置が接続された印刷制御装置と、相互通信可能なネットワークを介して印刷制御装置に接続された分散処理クライアントとを備える印刷制御システムであって、
上記印刷制御装置は、
印刷対象を示す印刷データを取得する印刷データ取得手段と、
上記ネットワークを介して上記分散処理クライアントの処理能力を問い合わせる処理能力問合手段と、
上記ネットワークを介して上記分散処理クライアントの処理能力を取得する処理能力取得手段と、
当該取得した分散処理クライアントの処理能力に応じて上記取得した印刷データの処理分担を決定する処理分担決定手段と、
上記決定した処理分担に相当する印刷データを上記処理能力を取得した分散処理クライアントに対して上記ネットワークを介して送信する分担印刷データ出力手段と、
上記処理分担に相当する印刷データが変換された印刷実行データであって上記印刷装置で解釈して印刷を実行可能なデータを上記ネットワークを介して取得する印刷実行データ取得手段と、
当該印刷実行データを上記印刷装置に対して出力して印刷を実行させる印刷制御手段を備え、
上記分散処理クライアントは、
上記処理能力問合手段の問い合わせに応じて自己の処理能力を取得する処理能力取得手段と、
上記ネットワークを介して当該取得した処理能力を示すデータを出力する処理能力出力手段と、
上記ネットワークを介して上記決定した処理分担に相当する印刷データを取得する分担印刷データ取得手段と、
当該取得した印刷データを上記印刷装置で解釈して印刷を実行可能な印刷実行データに変換する印刷データ変換手段と、
上記ネットワークを介して当該印刷実行データを出力する印刷実行データ出力手段とを備えることを特徴とする印刷制御システム。
【請求項２】
相互通信可能なネットワークを介して分散処理クライアントと接続されるとともに印刷装置が接続された印刷制御装置であって、
印刷対象を示す印刷データを取得する印刷データ取得手段と、
上記ネットワークを介して上記分散処理クライアントの処理能力を問い合わせる処理能力問合手段と、
上記ネットワークを介して上記分散処理クライアントの処理能力を取得する処理能力取得手段と、
当該取得した分散処理クライアントの処理能力に応じて上記取得した印刷データの処理分担を決定する処理分担決定手段と、
上記決定した処理分担に相当する印刷データを上記処理能力を取得した分散処理クライアントに対して上記ネットワークを介して送信する分担印刷データ出力手段と、
上記処理分担に相当する印刷データが変換された印刷実行データであって上記印刷装置で解釈して印刷を実行可能なデータを上記ネットワークを介して取得する印刷実行データ取得手段と、
当該印刷実行データを上記印刷装置に対して出力して印刷を実行させる印刷制御手段とを備えることを特徴とする印刷制御装置。
【請求項３】
上記分散処理クライアントは、汎用コンピュータあるいは印刷装置のいずれかまたは組み合わせであることを特徴とする上記請求項２に記載の印刷制御装置。
【請求項４】
上記処理能力取得手段は、上記汎用コンピュータに搭載された中央演算処理装置の種類と中央演算処理装置の動作状況と記憶媒体の空き容量とのいずれかまたは組み合わせを取得することを特徴とする上記請求項３に記載の印刷制御装置。
【請求項５】
上記処理能力取得手段は、上記印刷装置の機種名と印刷装置の動作状況と印刷装置に搭載された中央演算処理装置の種類と記憶媒体の空き容量とのいずれかまたは組み合わせを取得することを特徴とする上記請求項３または請求項４のいずれかに記載の印刷制御装置。
【請求項６】
上記処理分担決定手段は、上記処理能力の各項目について予め指定された閾値を超えるか否かによって各分散処理クライアントで処理を分担可能か否かを判断し、分担可能な分散処理クライアントに対する処理分担を決定することを特徴とする上記請求項２〜請求項５のいずれかに記載の印刷制御装置。
【請求項７】
上記処理分担決定手段は、利用者の操作入力を受け付ける操作入力受付部を備えており、利用者の操作入力によって上記閾値を示すデータを取得して閾値として設定することを特徴とする上記請求項６に記載の印刷制御装置。
【請求項８】
上記処理分担決定手段は、上記ネットワークの転送速度と印刷制御装置の処理能力と処理を分担可能な分散処理クライアントの数と処理を分担可能な分散処理クライアントに搭載された中央演算処理装置の動作状況とのいずれかまたは組み合わせに基づいて上記閾値を変動させ、処理分散量の多少を変動させることを特徴とする上記請求項６または請求項７のいずれかに記載の印刷制御装置。
【請求項９】
上記処理分担決定手段は、上記印刷データを印刷実行データに変換する際の負荷が高い処理であるほど上記処理能力の高い分散処理クライアントに割り当てられるように処理分担を決定することを特徴とする上記請求項２〜請求項８のいずれかに記載の印刷制御装置。
【請求項１０】
上記処理能力問合手段は上記分担印刷データ出力手段によるデータ出力の直前にネットワークを介して上記分散処理クライアントの処理能力を問い合わせ、上記処理能力取得手段は当該データ出力の直前の分散処理クライアントの処理能力を取得し、上記分担印刷データ出力手段は当該データ出力の直前に処理能力の低い分散処理クライアントに分担印刷データ出力を行わないことを特徴とする上記請求項２〜請求項９のいずれかに記載の印刷制御装置。
【請求項１１】
上記印刷制御装置は上記印刷データを印刷実行データに変換する印刷データ変換手段を備え、上記処理分担決定手段は印刷制御装置に対する処理分担をも合わせて決定することを特徴とする上記請求項２〜請求項１０のいずれかに記載の印刷制御装置。
【請求項１２】
上記印刷制御手段は、印刷制御装置あるいは分散処理クライアントのいずれかまたは組み合わせにて変換された各印刷実行データを印刷順に並べて印刷装置に対して出力することを特徴とする上記請求項２〜請求項１１のいずれかに記載の印刷制御装置。
【請求項１３】
印刷装置が接続された印刷制御装置に対して相互通信可能なネットワークを介して接続された分散処理クライアントであって、
上記印刷制御装置からの処理能力の問い合わせに応じて自己の処理能力を取得する自己処理能力取得手段と、
上記ネットワークを介して当該取得した処理能力を示すデータを出力する処理能力出力手段と、
当該処理能力に応じて分担された処理分担に相当する印刷データを上記ネットワークを介して取得する分担印刷データ取得手段と、
当該取得した印刷データを上記印刷装置で解釈して印刷を実行可能な印刷実行データに変換する印刷データ変換手段と、
上記ネットワークを介して当該印刷実行データを出力する印刷実行データ出力手段とを備えることを特徴とする分散処理クライアント。
【請求項１４】
印刷装置が接続された印刷制御装置と、相互通信可能なネットワークを介して印刷制御装置に接続された分散処理クライアントとを備える印刷制御システムによって印刷処理を制御する印刷制御方法であって、
印刷制御装置から上記ネットワークを介して上記分散処理クライアントの処理能力を問い合わせ、当該分散処理クライアントにて問い合わせに応じて処理能力を取得すると共に印刷制御装置に出力し、印刷制御装置にて当該分散処理クライアントの処理能力を取得すると共に当該取得した分散処理クライアントの処理能力に応じて印刷データの処理分担を決定し、当該決定した処理分担に相当する印刷データを上記処理能力を取得した分散処理クライアントに対して上記ネットワークを介して送信し、分散処理クライアントにおいて当該決定した処理分担に相当する印刷データを取得すると共に上記印刷装置で解釈して印刷を実行可能な印刷実行データに変換し、当該変換した印刷実行データを出力し、印刷制御装置において印刷実行データを取得して印刷装置に出力することを特徴とする印刷制御方法。
【請求項１５】
相互通信可能なネットワークを介して分散処理クライアントと接続されるとともに印刷装置が接続された印刷制御装置を制御する印刷制御プログラムであって、
印刷対象を示す印刷データを取得する印刷データ取得機能と、
上記ネットワークを介して上記分散処理クライアントの処理能力を問い合わせる処理能力問合機能と、
上記ネットワークを介して上記分散処理クライアントの処理能力を取得する処理能力取得機能と、
当該取得した分散処理クライアントの処理能力に応じて上記取得した印刷データの処理分担を決定する処理分担決定機能と、
上記決定した処理分担に相当する印刷データを上記処理能力を取得した分散処理クライアントに対して上記ネットワークを介して送信する分担印刷データ出力機能と、
上記処理分担に相当する印刷データが変換された印刷実行データであって上記印刷装置で解釈して印刷を実行可能なデータを上記ネットワークを介して取得する印刷実行データ取得機能と、
当該印刷実行データを上記印刷装置に対して出力して印刷を実行させる印刷制御機能とをコンピュータに実現させることを特徴とする印刷制御プログラム。
【請求項１６】
印刷装置が接続された印刷制御装置に対して相互通信可能なネットワークを介して接続された分散処理クライアントを制御する分散処理プログラムであって、
上記印刷制御装置からの処理能力の問い合わせに応じて自己の処理能力を取得する自己処理能力取得機能と、
上記ネットワークを介して当該取得した処理能力を示すデータを出力する処理能力出力機能と、
当該処理能力に応じて分担された処理分担に相当する印刷データを上記ネットワークを介して取得する分担印刷データ取得機能と、
当該取得した印刷データを上記印刷装置で解釈して印刷を実行可能な印刷実行データに変換する印刷データ変換機能と、
上記ネットワークを介して当該印刷実行データを出力する印刷実行データ出力機能とをコンピュータに実現させることを特徴とする分散処理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、印刷制御システム、印刷制御装置、分散処理クライアント、印刷制御方法、印刷制御プログラムおよび分散処理プログラムに関する。
【０００２】
【従来の技術】
近年のネットワーク環境の整備に伴ってネットワークを介して複数のプリンタを共有することが容易になっている。大きなデータ容量の印刷ジョブを完了するためには高負荷の処理を実行する必要があるので、スループット向上のためネットワーク上の複数のプリンタを利用して印刷処理の高速化が実現されている。（例えば、特許文献１参照。）
【０００３】
【発明が解決しようとする課題および発明の効果】
上述した従来の技術においては、以下の問題があった。
すなわち、ＥＳＣ／Ｐ（セイコーエプソン株式会社の登録商標）等のページ記述言語によって記述された印刷データに基づいて印刷を行う際には、ページ記述言語の解釈処理等を行って印刷装置に受け渡すための印刷実行データを作成するなど、一般的には高負荷の処理を行っている。この処理を一台のＰＣのプリンタドライバで実施すると多くの時間を必要とする。
本発明は、上記課題にかんがみてなされたもので、処理能力の低いＰＣであっても印刷処理時に高いスループットを実現可能な印刷制御システム、印刷制御装置、分散処理クライアント、印刷制御方法、印刷制御プログラムおよび分散処理プログラムの提供を目的とする。
【０００４】
【特許文献１】
特開２００１−２９０６２６号公報
【０００５】
【課題を解決するための手段】
上記目的を達成するため、本発明では印刷制御装置で印刷を実行するに当たり、印刷ジョブの処理を印刷制御装置単体で行うのではなく、ネットワークに接続された分散処理クライアントにも処理を分散して印刷実行データを生成する。また、このとき分散処理クライアントの処理能力に応じて処理分担を決定して印刷データを受け渡す。従って、印刷装置で必要な印刷実行データが効率的に作成され、印刷制御装置に処理負担の大きな印刷ジョブを投入しても長い間印刷制御装置を占有してしまうことがなくなるし、処理能力が低いコンピュータであっても処理負担の大きな印刷ジョブの印刷制御を高速で実施することが可能になる。
【０００６】
印刷制御装置と分散処理クライアントとは相互通信可能なネットワークに接続されていればよく、その接続線やプロトコル等は特に限定されない。例えば、有線ネットワーク，無線ネットワークのいずれでも良いし、ＴＣＰ，ＵＤＰ等種々のプロトコルを採用可能であるし、イーサネット（富士ゼロックス株式会社の登録商標），ＩＥＥＥ１３９４，ＩＥＥＥ８０２．３，ＵＳＢ，ブルートゥース（ブルートゥースＳＩＧインコーポレイテッドの登録商標）等種々の規格であっても実現可能である。
【０００７】
印刷データとしては印刷対象を示すデータであれば良く、ＥＳＣ／Ｐで各ページが記述された印刷ジョブデータや画像を含む印刷ジョブデータ等種々のデータが該当する。処理を分散することによって全体の処理のスループットを向上する効果が顕著に発揮される構成としては、印刷データから印刷実行データを生成するまでに一旦中間コードへ変換する処理を行う構成など、高負荷の処理を必要とする印刷データであると好ましい。処理能力問合手段ではネットワークを介して処理能力を取得することができれば良く、分散処理クライアントと通信して処理能力を問い合わせるためのコマンドデータを出力する構成等を採用可能である。むろん、相手を特定しながらユニキャストによって処理能力を取得しても良いし、ブロードキャストによってネットワーク上の端末に対して一斉に問い合わせを行っても良い。
【０００８】
処理分担決定手段は処理能力に応じて分散処理クライアントで処理を行う分担を決定し、分担印刷データ出力手段は分担した印刷データを出力することができればよい。すなわち、処理能力が高い分散処理クライアントには多くの処理を分担し、処理速度がそれより低い分散処理クライアントの処理分担を少なくして印刷データを出力する。従って、処理に時間のかかる分散処理クライアントに処理を分担させることを防止しながら印刷データの処理を分散して実行することが可能になり、非常に効率的に印刷制御処理のスループットを向上することができる。
【０００９】
印刷制御手段では印刷実行データ取得手段で取得した印刷実行データを適切に並べ替えて印刷に使用される順番通りに印刷装置に対して出力することができればよい。すなわち、印刷実行データは印刷装置で解釈して印刷を実行可能なデータであるから、この印刷実行データを順番通りに印刷装置に供給することによって上記取得した印刷データが示す印刷対象を印刷することができる。
【００１０】
分散処理クライアントでは、自己の処理能力を取得し、ネットワークを介して送信することができればよい。処理能力を取得するための構成としては、ハードウェアに固有の機器情報をＯＳの機能によって取得する構成や、ステータス情報の取得機能を利用する構成等を採用可能である。また、分担印刷データを取得して印刷実行データを生成し、ネットワークを介して送信することができればよい。ここで取得する分担印刷データは、全体の印刷ジョブの処理のうち、自己の処理能力に応じて割り振られた処理である。すなわち、複数の分散処理クライアントが存在し、他の分散処理クライアントより相対的に処理能力が高いクライアントは他のクライアントより相対的に高負荷の処理を行う。従って、全体の印刷ジョブの特定部分のみ時間がかかることを防止し、全体の処理を高速で完了することができる。
【００１１】
分散処理クライアントとしては、汎用コンピュータや印刷装置を採用することができる。すなわち、汎用コンピュータであればネットワークを介してデータを送受信する構成を採用することは容易であるし、印刷データ変換手段を実現するモジュールを搭載することによって印刷ジョブの一部を担う構成にすることも容易である。また、汎用コンピュータにプリンタドライバをインストールすることによって、汎用コンピュータ自体で印刷処理を実行する構成を採用することも容易である。
【００１２】
この場合に、プリンタドライバが搭載するモジュールにて印刷データ変換手段を構成することもできる。この意味では、分散処理クライアントと印刷制御処理装置との区別は厳密ではなく、同じネットワーク上のコンピュータにおいてある端末が印刷制御処理装置となれば他の端末が分散処理クライアントになるし、当該他の端末が印刷制御装置となって上記ある端末が分散処理クライアントとなるように構成することもできる。むろん、印刷装置においても同様であり、ネットワークを介してデータを送受信する構成を採用することも可能であるし、印刷装置自体で印刷データを印刷実行データに変換するモジュールを備えたものも多い。従って、このモジュールや汎用的な構成を利用して本発明にかかる分散処理クライアントとすることも可能である。
【００１３】
汎用コンピュータの処理能力としては、当該汎用コンピュータに搭載された中央演算処理装置の種類や中央演算処理装置の動作状況や記憶媒体の空き容量等を採用可能である。すなわち、中央演算処理装置の処理能力はその種類によって動作周波数やキャッシュ容量が異なり、その差異によって処理能力が異なる。また、中央演算処理装置の種類は通常の汎用コンピュータにて実行されるＢＩＯＳやＯＳの機能によって容易に取得することができる。従って、中央演算処理装置の種類を取得することによって汎用コンピュータの処理能力を容易に把握することができる。中央演算処理装置の動作状況は、中央演算処理装置での処理内容によって刻々と変化するのが通常である。すなわち、近年の中央演算処理装置では複数の処理を並列的に処理しており、処理負荷の大小によって動作状況が変化する。従って、中央演算処理装置の動作状況を取得することによって汎用コンピュータの処理能力をリアルタイムに把握することができる。
【００１４】
さらに、記憶媒体の空き容量によれば汎用コンピュータ単体でのスループットを判断することができる。すなわち、ＲＡＭの空き容量を想定した場合、当該ＲＡＭに十分な空き容量があれば十分なワークエリアを確保して処理を実行可能であることが判明するし、それより低速のＨＤＤ等をワークエリアの代替として使用する必要があるか否かを容易に把握することができる。むろん、以上の汎用コンピュータに搭載された中央演算処理装置の種類と中央演算処理装置の動作状況と記憶媒体の空き容量とのそれぞれは密接に関連しているので、組み合わせ、例えば特定の中央演算処理装置の種類で動作状況がどの程度であるかを取得し、他の組み合わせと比較することによって処理能力を判断する構成を採用することも可能である。
【００１５】
印刷制御装置の処理能力としては、当該印刷装置の機種名と印刷装置の動作状況と印刷装置に搭載された中央演算処理装置の種類と記憶媒体の空き容量等を採用可能である。すなわち、印刷装置は機種毎にそのスペックが区別されるので、機種名を取得することによってその処理能力を判定することができる、また、機種名は印刷装置のステータス情報を取得する機能を利用するなどして容易に取得することができる。印刷装置の動作状況も印刷実行中か否かによって時々刻々と変化するのが通常である。従って、印刷装置の動作状況を取得することによって印刷装置の処理能力をリアルタイムに把握することができる。
【００１６】
印刷装置においても中央演算処理装置の種類やその記憶媒体の容量によって処理能力が変わるので、これらの情報を取得して処理能力を判断しても良い。むろん、印刷装置の機種名と印刷装置の動作状況と印刷装置に搭載された中央演算処理装置の種類と記憶媒体の空き容量とのそれぞれは密接に関連しているので、組み合わせによって処理能力を判断しても良い。
【００１７】
処理分担決定手段では分散処理クライアントの処理能力に応じて印刷データの処理分担を決定することができれば良く、種々の構成を採用可能である。例えば、分散処理クライアントの処理能力を上述の例のように複数の項目について取得し、処理能力の各項目について予め指定された閾値を超えるか否かを判定すれば処理能力を容易に判断することができる。この判断結果に基づいて処理を分担可能か否かを判断すれば分担可能な分散処理クライアントに対して処理分担を割り当てるようにして容易に分担を決定することができる。閾値は予め決められていれば良く、利用者の操作入力によって予め設定しても良い。利用者の設定を可能にすれば、印刷制御システムの運用状況等に応じて的確に閾値を選定することができる。
【００１８】
また、予め指定された閾値を超えるか否かによって分担可能と判定された分散処理クライアントの総てに処理を分担させることが必須ではない。すなわち、ネットワークを介して複数の分散処理クライアントと印刷制御装置とが接続されているときに、処理能力の高い分散処理クライアントが沢山存在するからといって非常に多くの分散処理クライアントに対して分担印刷データを出力すると、ネットワークのトラフィックが多くなる。ネットワークのトラフィックが多くなると、パケットの送信待ちや再送が増加して通信がスムーズに進まず、スループットを低下させかねない。そこで、ネットワークの転送速度に応じて閾値を動的に変動させることも可能である。
【００１９】
すなわち、ネットワークの転送速度が大きいときには処理分散量を多くするために条件の緩い閾値として分散処理クライアントの分担割合を大きくし、ネットワークの転送速度が小さいときには処理分散量を少なくするために条件の厳しい閾値として分散処理クライアントの分担割合をを小さくする。この結果、ネットワークがボトルネックとなって全体の処理を滞らせることがなくなり、高速に処理を実行することができる。
【００２０】
むろん、ここでは全体の処理速度を担保しながら処理分散量を変動させるように閾値を変動させることができれば良く、印刷制御装置の処理能力に応じて閾値を変動しても良い。すなわち、印刷制御装置自体に高い処理能力があれば多くの処理を分散せずに印刷制御装置自体で処理を行えば良く、印刷制御装置の処理能力が高い場合に条件の厳しい閾値とし、印刷制御装置の処理能力が低い場合には条件の緩い閾値とすればよい。むろん、ここでも処理能力としては印刷制御装置に搭載された中央演算処理装置の種類と中央演算処理装置の動作状況と記憶媒体の空き容量とのいずれかまたは組み合わせを採用することができる。
【００２１】
さらに、処理を分担可能な分散処理クライアントの数によって閾値を変動させても良い。すなわち、処理を分担可能な分散処理クライアントの数が多ければ処理分散量を多くした方が処理速度が速くなるので条件の緩い閾値とし、処理を分担可能な分散処理クライアントの数が少なければ処理分散量を少なくした方が処理速度が速くなるので条件の厳しい閾値とする。分散処理クライアントに搭載された中央演算処理装置の動作状況によって閾値を変動させても良い。すなわち、処理を分担可能な分散処理クライアントに搭載された中央演算処理装置が高負荷の動作をしていれば処理分散量を少なくした方が処理速度が速くなるので条件の厳しい閾値とし、処理を分担可能な分散処理クライアントの数が多ければ処理分散量を多くした方が処理速度が速くなるので条件の緩い閾値とする。
【００２２】
このように閾値は、処理分担可能（使用可能）な分散処理クライアントを判定するためおよび処理分散量を決定するために利用できれば良い。また、条件の厳しい閾値あるいは緩い閾値としては、数値の大小によらず、ある値より大きな閾値にしたときに処理分散量が多くなるのであれば条件が緩くなったと言えるし、ある値より大きな閾値にしたときに処理分散量が少なくなるのであれば条件が厳しくなったと言える。さらに、上述のように閾値を変動させる要因としてのネットワークの転送速度と印刷制御装置の処理能力と処理を分担可能な分散処理クライアントの数と処理を分担可能な分散処理クライアントに搭載された中央演算処理装置の動作状況とは、単独で使用しても良いし、複数の要因を組み合わせて使用しても良い。さらに、ネットワーク上の分散処理クライアントのそれぞれが印刷処理を分担可能であるか否かを閾値によって判定した後、さらに上述のネットワークの転送速度等によって決定される閾値によって分担割合を決定しても良い。
【００２３】
さらに、本発明では分散処理クライアントへの処理分担の割り当てにより、印刷データを印刷実行データに変換する処理全体として処理速度を速くすることができれば良く、種々の手法を採用可能である。例えば、印刷データを印刷実行データに変換する際の負荷を判定し、当該負荷が高い処理であるほど処理能力の高い分散処理クライアントに割り当てる構成等を採用可能である。尚、上記変換する際の負荷の高低は変換処理全体での相対的な比較に基づいて判定すれば良く、負荷の高い処理としてはビットマップやグラデーション等の描画処理が挙げられ、負荷の低い処理としてはデータの並べ替えや検索処理等が挙げられる。
【００２４】
印刷データを印刷実行データに変換する処理を分散する本発明において、処理能力に余裕のある分散処理クライアントを確実に選定し、処理を分担させることによって確実にスループットを向上することができる。この確実性を担保するために、処理能力を取得して一旦処理分担を決定した後、分担印刷データを出力する直前に再度分散処理クライアントの処理能力を取得しても良い。この構成によれば、分担印刷データを出力する直前の処理能力を確実に取得することができ、直前に分散処理クライアント自体で独自の処理を行うなどして処理能力が低下している状態で、分担印刷データを送信してしまうことを防止することができる。このようにして分担印刷データ出力を行わない構成とした場合には、その分担印刷データ自体を印刷制御装置自体で処理しても良いし、処理能力が高い他の分散処理クライアントに送信しても良いし、分散処理クライアントの処理能力が高くなるのを待ってから再送しても良い。
【００２５】
尚、印刷制御装置自体に印刷データ変換手段を設けることによって印刷制御装置自体で印刷データの変換を実施できるように構成することもできる。また、印刷制御装置においては各分散処理クライアントによって変換された印刷実行データを取得するので、これらのデータで印刷を完結するために各印刷実行データを印刷順に並べて印刷装置に対して出力する。この処理によって、一つの印刷ジョブが完了する。むろん、印刷装置は印刷制御装置に対してローカル接続されていても良いし、ネットワーク接続されていても良い。
【００２６】
上述のように、印刷データを印刷実行データに変換するに当たり、ネットワーク接続された他の機器の処理能力に応じて処理を分散させる手法は必ずしも実体のある装置に限られるものではなく、請求項１４に記載した発明のように方法の発明としても有効である。また、上述の印刷制御装置は単独で存在する場合もあるし、ある機器に組み込まれた状態で利用されることもあるなど、発明の思想としては、各種の態様を含むものである。また、ソフトウェアであったりハードウェアであったりするなど、適宜、変更可能である。
【００２７】
発明の思想の具現化例として印刷装置のソフトウェアとなる場合には、かかるソフトウェアを記録した記録媒体上においても当然に存在し、利用される。その一例として、請求項１５，請求項１６に記載した発明は、印刷制御プログラムとして発明を特定している。むろん、その記録媒体は、磁気記録媒体であってもよいし光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。また、一次複製品、二次複製品などの複製段階については全く問う余地無く同等である。上記媒体とは異なるが、供給方法として通信回線を利用して行なう場合であれば通信回線が伝送媒体となって本発明が利用されることになる。むろん、これらの印刷制御方法、印刷制御プログラムにおいて上記請求項２〜請求項１２に対応した構成にすることも可能である。
【００２８】
【発明の実施の形態】
ここでは、下記の順序に従って本発明の実施形態について説明する。
（１）印刷制御システムの構成：
（２）印刷制御装置の処理内容：
（３）分散処理クライアントの処理内容：
（４）印刷制御システムの動作：
（５）他の実施形態：
【００２９】
（１）印刷制御システムの構成：
図１は、本発明にかかる印刷制御システムの構成図である。同図において、印刷制御システム１０は、複数の分散処理クライアント２０と印刷制御装置３０を備えており、印刷制御装置３０にて実行開始された印刷ジョブにおいて印刷データを印刷実行データに変換する処理を適宜分散処理クライアントで分担して処理する。本実施形態において、複数の分散処理クライアント２０と印刷制御装置３０とはＵＴＰケーブルを介してＬＡＮを形成しており、互いに通信可能である。図１においては、複数の分散処理クライアント２０を分散処理クライアント１〜分散処理クライアントｎとして示すとともに分散処理クライアント１の構成をブロック図として示している。尚、分散処理クライアント２〜分散処理クライアントｎとしても同様の構成によって印刷制御システムを実現可能である。
【００３０】
分散処理クライアント２０としては汎用的なコンピュータあるいはプリンタを採用可能であり、所定のＯＳの制御下において所定のＩ／Ｆや記録媒体等を制御し、所定のプログラムを実行可能である。本発明にかかる印刷制御システムを構成するために分散処理クライアント２０は、ネットワークＩ／Ｆ２１と分散処理実行部２２とＣＰＵ２３とＲＡＭ２４とを備えている。すなわち、ＣＰＵ２３とＲＡＭ２４とからなるプログラム実行環境においてＲＡＭ２４をワークエリアとして使用しつつ分散処理実行部２２の機能を備えるプログラムを実行する。
【００３１】
分散処理実行部２２は自己処理能力取得部２２ａと処理能力出力部２２ｂと分担印刷データ取得部２２ｃと印刷データ変換／出力部２２ｄとを備えている。自己処理能力取得部２２ａは、上記ＯＳの機能を利用して分散処理クライアント２０の処理能力すなわち自己の処理能力を取得する。処理能力出力部２２ｂは、ネットワークＩ／Ｆ２１を制御して上記取得した自己の処理能力を出力する。分担印刷データ取得部２２ｃは、ネットワークＩ／Ｆ２１を介してＥＳＣ／Ｐで記述された印刷データを取得する。印刷データ変換／出力部２２ｄは、ＥＳＣ／Ｐの解釈を行って中間コードで記述された印刷実行データを生成する。
【００３２】
具体的には、印刷データに記述された描画コマンド等を解釈し、画像を構成する画素の解像度を調整すると共に各画素の色等を指定した中間コードを生成する。本発明は、印刷データを変換して印刷実行データを生成する総ての構成に対して適用することができる。例えば、印刷データとしては上述のＥＳＣ／Ｐに限られず、他のＰＤＬであっても良い。また、印刷実行データは後述するプリンタ４０にて中間コードを解釈して印刷を実行可能な形式であれば良く、種々の形式を採用可能である。
【００３３】
印刷データを印刷実行データに変換した後、印刷データ変換／出力部２２ｄはネットワークＩ／Ｆ２１を制御して、印刷実行データを印刷制御装置３０に対して出力する。分散処理クライアント２０は、上述のように汎用コンピュータやプリンタにて構成することができる。すなわち、本発明にかかる分散処理を実行するためには上記分散処理実行部２２等の構成を要するが、汎用コンピュータであれば他にもキーボードやディスプレイを備え、これらを制御するドライバ等をも備えているし、むろん分散処理クライアント２０自体にプリンタドライバを備える構成として印刷装置に対して印刷可能に構成することも可能である。分散処理クライアント２０がプリンタであれば、上記分散処理実行部２２等の他に図示しないプリントエンジン等、印刷を実行するための構成を備えている。
【００３４】
印刷制御装置３０は汎用コンピュータ等、プログラム実行環境を備える機器にて実現可能であり、当該印刷制御装置３０においても所定のＯＳの制御下において所定のＩ／Ｆや記録媒体等を制御し、所定のプログラムを実行可能である。本実施形態において、印刷制御装置３０にはレーザープリンタ４０が接続されており、ここではプリンタ４０に対する印刷制御を行う態様について説明するが、むろん、ネットワークを介して接続されたプリンタに対する印刷制御を行う態様であっても良い。
【００３５】
また、印刷制御装置３０には印刷ジョブにかかる印刷対象を作成するアプリケーションソフト（ＡＰＬ）３５がインストールされており、ＡＰＬ３５によって印刷データ３４ｂが作成される。本発明にかかる印刷制御システムを構成するために印刷制御装置３０は、ネットワークＩ／Ｆ３１と処理分散制御部３２とプリンタドライバ（ＰＲＴＤＲＶ）３３とＨＤＤ３４とＡＰＬ３５とプリンタＩ／Ｆ３６とを備えている。
【００３６】
処理分散制御部３２は問合部３２ａと処理能力取得部３２ｂと可使用機器特定部３２ｃとを備えている。問合部３２ａはネットワークＩ／Ｆ３１を制御して各分散処理クライアント２０と通信し、それぞれに対して処理能力の問い合わせを行う。処理能力取得部３２ｂは、当該問い合わせに対して各分散処理クライアント２０が出力したそれぞれの処理能力を示すデータを受信する。処理能力は後述するＣＰＵの種類等、複数の項目からなる。可使用機器特定部３２ｃは当該取得した処理能力の各項目を所定の閾値と比較して処理負担に余裕のあるクライアントを使用可能な分散処理クライアントとしたリストを作成する。このリストは使用可能な分散処理クライアントの処理能力の各項目が登録されたリストであり、ＨＤＤ３４に記録される（処理能力リスト３４ａ）。
【００３７】
さらに、可使用機器特定部３２ｃは、処理能力リスト３４ａに登録された分散処理クライアント２０の中から実際に処理を分担させるクライアントを特定する。このとき、可使用機器特定部３２ｃはネットワークＩ／Ｆ３１を介してネットワークの転送速度を取得し、転送速度の大小によって動的に閾値を設定し、この閾値によって印刷制御装置３０自体で処理を行う割合と各分散処理クライアント２０に対して処理を割り当てる割合とを決定する。
【００３８】
ＰＲＴＤＲＶ３３は、分担決定／出力部３３ａと印刷実行データ取得部３３ｂと印刷制御部３３ｃとを備えている。分担決定／出力部３３ａは、上記可使用機器特定部３２ｃが特定した割合の処理を抽出し、それらの処理を各分散処理クライアント２０のそれぞれに対して割り当てる。このとき、印刷データの処理負担に応じて各分散処理クライアント２０の分担を決定する。すなわち、印刷データから印刷実行データへの変換処理には種々の処理があり、ビットマップやグラデーション等の描画処理など高負荷の処理やデータの並べ替えや検索処理等の低負荷の処理がある。
【００３９】
そこで、処理能力が高い分散処理クライアント２０には高負荷の処理を割り当て、処理能力が相対的に低い分散処理クライアント２０には低負荷の処理を割り当てる。各分散処理クライアント２０の分担が決定したら、その分担に該当する印刷データをネットワークＩ／Ｆ３１から出力する。本実施形態においてＰＲＴＤＲＶ３３は図示しない印刷データ変換部を備えており、上記印刷データ変換／出力部２２ｄと同様の変換処理を実施可能である。従って、上記可使用機器特定部３２ｃによって印刷制御装置４０自体に割り当てられた処理を実行することができる。尚、本実施形態においては可使用機器特定部３２ｃと分担決定／出力部３３ａの一部とが上記処理分担決定手段を構成する。
【００４０】
各分散処理クライアント２０に対して印刷データを出力すると、それぞれの分散処理クライアント２０が印刷データの変換処理を行い、印刷実行データとして出力するので、印刷実行データ取得部３３ｂはネットワークＩ／Ｆ３１を介してこの印刷実行データを取得する。取得した印刷実行データは印刷制御部３３ｃに受け渡される。印刷制御部３３ｃは受け渡された印刷実行データおよび印刷制御装置３０自体で変換した印刷制御データを印刷順に並べ替え、並べ替えられたデータに基づいて各画素の色をＣＭＹＫ各色２５６階調で階調表現したラスタデータを生成する。むろん、このときＣＭＹＫ各色について階調値を調整し、コントラスト調整やシャープさの調整処理等を実施しておくことは可能である。このラスタデータはプリンタＩ／Ｆ３６に対して出力される。プリンタ４０はこのラスタデータを受信して印刷を完了する。
【００４１】
（２）印刷制御装置の処理内容：
以下、印刷制御装置３０におけるＰＲＴＤＲＶ３３および処理分散制御部３２の処理を図２〜図４に示すフローチャートに従って詳述する。本実施形態において、ＰＲＴＤＲＶ３３の機能の一部と処理分散制御部３２の機能が本発明にかかる印刷制御プログラムに該当する。印刷制御装置３０の利用者が図示しない操作入力装置を利用してＡＰＬ３５で印刷対象の印刷データ３４ｂを作成し、印刷を実行すると、上記ＰＲＴＤＲＶ３３と処理分散制御部３２とが起動される。ＰＲＴＤＲＶ３３はステップＳ１００にて上記印刷データ３４ｂを取得し、ステップＳ１１０にて処理分散制御部３２に処理分散実行の可否を問い合わせる。
【００４２】
処理分散制御部３２の問合部３２ａはステップＳ２００にて当該処理分散可否の問い合わせが有るまで待機しており、処理分散可否の問い合わせを検出したらステップＳ２０５にてネットワークＩ／Ｆ３１を介して処理能力を問い合わせる。このとき、一斉送信によってネットワーク上の分散処理クライアント２０の総てについて処理能力を問い合わせ、問い合わせ結果に基づいてステップＳ２１０〜ステップＳ２７５にて処理分散可否の返答を行う。すなわち、処理能力取得部３２ｂは、ステップＳ２１０において処理能力を返信したクライアントがＰＣ（汎用コンピュータ）であるか否かを判別し、ＰＣで有ると判別されたときには、可使用機器特定部３２ｃがステップＳ２１５，Ｓ２２０にて当該ＰＣを処理能力リスト３４ａに登録する処理を行う。
【００４３】
ステップＳ２１５においては、処理能力項目としてのＣＰＵの種類，ＣＰＵの動作状況，メモリの空き容量を取得し、予め決められた閾値によって分散処理クライアント２０が使用可能であるか否かを判別しつつ処理能力リスト３４ａに登録する。本実施形態ではＣＰＵの動作状況に対して２０％，メモリの空き容量に対して５０％といった閾値が決められており、ＣＰＵ動作状況が２０％以下かつメモリの空き容量が５０％以下のＰＣが処理能力リスト３４ａに登録される。むろん、ＣＰＵの種類によって使用可能であるか否かを判別しても良い。
【００４４】
ステップＳ２２０では、分散処理クライアント２０のそれぞれについて与えられたユニークなＩＤを取得し、当該ＩＤも処理能力リスト３４ａに登録することによって各ＰＣの個体を区別するようになっている。ＩＤとしては分散処理クライアント２０をユニークに特定することができれば良く、各ＰＣに固有の情報（コンピュータ名やＭＡＣアドレス等）を取得してＩＤとしても良いし、本発明にかかるプログラムの起動初期にネットワーク上のクライアントに対してシーケンシャルに番号を与えても良く、種々の構成が採用可能である。
【００４５】
さらに、処理能力取得部３２ｂは、ステップＳ２２５において上記処理能力を返信したクライアントがプリンタ（ＰＲＴ）で有るか否かを判別し、プリンタであると判別されたときには、可使用機器特定部３２ｃがステップＳ２３０，Ｓ２３５にて当該プリンタを処理能力リスト３４ａに登録する処理を行う。ステップＳ２３０においては、処理能力項目としてのプリンタ機種名，ＣＰＵの種類，アイドリング中であるか否か，メモリ増設の有無とを取得し、アイドリング中であるか否かを閾値にして処理能力リストへの登録を行う。すなわち、アイドリング中であれば処理を分担できるので使用可能な分散処理クライアント２０としてリストに登録する。ステップＳ２３５では、上記ステップＳ２２０と同様にプリンタに与えられたＩＤを取得し、処理能力と合わせてリストに登録する。
【００４６】
図５は、処理能力リスト３４ａの一例である。上述のように各分散処理クライアント２０に対してはユニークなＩＤが付されており、このＩＤに対応づけつつ各分散処理クライアント２０の処理能力が登録されている。上述のように分散処理クライアント２０がＰＣである場合にはＣＰＵの種類と動作状況およびメモリ（ＲＡＭ）の空き容量が登録されている。分散処理クライアント２０がプリンタである場合にはＣＰＵの種類とメモリ増設の有無（増設されていると空き容量が大きいと判定する）とプリンタの機種名が登録されている。
【００４７】
ステップＳ２４０では、以上の登録処理が総ての分散処理クライアント２０について終了したか否かについて判別し、総ての分散処理クライアント２０について終了したと判別されるまでステップＳ２１０〜Ｓ２３５を繰り返す。ステップＳ２４０にて総ての分散処理クライアント２０について登録処理が終了したと判別されたときには、ステップＳ２４５〜ステップＳ２６５において印刷制御装置３０と他の分散処理クライアント２０との処理分担割合を決定する。
【００４８】
ステップＳ２４５では可使用機器特定部３２ｃが印刷制御装置３０の処理能力を取得し、ステップＳ２５０ではネットワークの転送速度を取得する。そして、ステップＳ２５５において当該ネットワークの転送速度が所定値より大きいか否かを判別する。同ステップＳ２５５にて転送速度が所定値より大きいと判別されたときにはステップＳ２６０にて印刷制御装置の分担割合をｎに設定し、転送速度が所定値より小さいと判別されたときにはステップＳ２６５にて印刷制御装置の分担割合をｍに設定する。尚、ここでｎ＜ｍである。すなわち、ネットワークにおいて高速転送が可能であるならば、ネットワークがボトルネックになることはないので、分散処理クライアント２０の分担割合を多くする。
【００４９】
ステップＳ２７０においては、上記処理能力リスト３４ａを参照し、使用可能な分散処理クライアント２０のＩＤを登録する。このとき、各ＩＤのクライアントに対して予約したことを示すコマンドを送信し、分散処理クライアント２０では印刷制御装置３０での処理が完了するまで予約コマンドを送信した印刷制御装置３０以外から印刷データの変換依頼を受け付けないようにする。この結果、特定の分散処理クライアント２０で多くの印刷データ変換処理を実施することを防止し、変換処理のスループットを的確に向上することができる。
【００５０】
ステップＳ２７５では、使用可能なクライアントのＩＤをＰＲＴＤＲＶ３３に通知する。ＰＲＴＤＲＶ３３は、この通知に基づいて処理分散が可能であるか否かを判別する（ステップＳ１２０）。ステップＳ１２０にて処理分散が可能であると判別されないときには、印刷データに関する全処理を自己分担の処理であるとしてステップＳ１４５以降の処理を実行する。すなわち、処理分散をすることなく従来の印刷処理と同様の処理を行う。ステップ１２０にて処理分散が可能であると判別されたときには、分担決定／出力部３３ａがステップＳ１２５〜Ｓ１３５の処理で分散処理クライアント２０に分担させる処理を決定する。
【００５１】
すなわち、ステップＳ１２５では、上記処理分散制御部３２にて決定された分散処理クライアント２０の分担割合（全体を１としたときに（１−ｎ）あるいは（１−ｍ））および使用可能なクライアントのＩＤを取得する。これらの情報により、印刷データ変換処理の全体の中で複数の分散処理クライアント２０が分担する割合が判明するので、この割合に相当する処理を各分散処理クライアント２０に割り当てることができる。
【００５２】
処理を割り当てる際には処理能力の高い分散処理クライアント２０に対して高負荷の処理を割り当てる。すなわち、ステップＳ１３０にて印刷データの中から分散処理クライアント２０の分担に相当する処理を抽出するとともにその処理を負荷の高低によって分類する。ステップＳ１３５では、処理毎に処理能力の優先順位に従って高負荷の処理を高い処理能力の分散処理クライアント２０に分担し、低負荷の処理を低い処理能力の分散処理クライアント２０に分担する。処理能力の高低は上記処理能力リスト３４ａの登録内容から決定することができる。
【００５３】
例えば、データの並べ替えやデータの検索など、単純な演算処理の場合にはＣＰＵの種類を優先し、ＣＰＵの種類から高い演算能力を備えるクライアントを判別し、そのクライアントに対して優先的に分担させる。また、描画処理など、変換後のデータが大きくなる場合にはＣＰＵの種類を最優先にして高い演算能力を備えるクライアントに対して優先的に分担させつつも、空きメモリ容量の大きさも優先し、空き容量が大きなクライアントに対して優先的に分担させる。いずれにしても、処理能力リスト３４ａに登録された各処理能力項目の内容から処理能力の高低を判定し、処理負荷別に分担を決定すればよい。以上のように、本実施形態においては、処理分散制御部３２によって分散処理クライアント２０の使用可否を決定し、使用可能な分散処理クライアント２０から印刷制御装置３０と分散処理クライアント２０との分担割合を決定する。さらに、ＰＲＴＤＲＶ３３で各分散処理クライアント２０に対して分担させる処理を具体的に決定する。
【００５４】
各分散処理クライアント２０での分担が決定したら、分散処理を開始することが可能になるが、本実施形態においては、各分散処理クライアント２０自身での処理を行うなどのために負荷が急激に高まったときにまで処理を分担させることを防止している。このため、処理分散制御部３２はステップＳ２８０で各分散処理クライアント２０の現状の処理負荷を問い合わせる。そして、ステップＳ２９０において処理負荷が低いまま（例えばＣＰＵの動作状況が２０％以下）であるクライアントについてのみＰＲＴＤＲＶ３３にデータ出力の依頼を行う。
【００５５】
ＰＲＴＤＲＶ３３はステップＳ１４０において、このデータ出力の依頼に応じて各分散処理クライアント２０に印刷データを出力する。データ出力の依頼がなされなかった分散処理クライアント２０に割り当てられていた処理はＰＲＴＤＲＶ３３の分担とする。ステップＳ１４５においては、分散処理クライアント２０に対して出力されなかった処理を自己分担であるとして印刷データから印刷実行データへの変換処理を行う。ステップＳ１５０では、各分散処理クライアント２０が変換処理を行って出力した印刷実行データを取得する。
【００５６】
ステップＳ１５５では、印刷制御装置３０自体での変換で得られた印刷実行データと各分散処理クライアント２０での変換で得られた印刷実行データとを印刷に使用される順に並べ替える。ステップＳ１６０では並べ替えられたデータをプリンタ４０に対して出力する。この結果、プリンタ４０では印刷対象を印刷することができるとともに、その処理が複数の端末で分散されて行われていることから、印刷開始から完了までを非常に高速に実行することができる。
【００５７】
（３）分散処理クライアントの処理内容：
次に、各分散処理クライアント２０における分散処理実行部２２の処理を図６に示すフローチャートに従って詳述する。各分散処理クライアント２０の分散処理実行部２２は、ネットワークＩ／Ｆ２１を介して印刷制御装置３０の処理分散制御部３２と通信を行うことによって、自己の処理分担を受信し、変換して返信している。すなわち、ステップＳ３００ではネットワークＩ／Ｆ２１を監視しており、上記ステップＳ２０５の処理能力問い合わせがなされるまで待機する。ステップＳ３００にて処理能力問い合わせがなされたと判別されたときには、ステップＳ３０５にて自己処理能力取得部２２ａが自己の処理能力を取得する。ステップＳ３１０では処理能力出力部２２ｂが自己の処理能力の各項目内容を示すデータを出力する。
【００５８】
ステップＳ３２０では、分担印刷データ取得部２２ｃが上記ステップＳ２７０における予約を受け付ける。すなわち、自己のＩＤが予約対象であれば、印刷処理が一旦完了するまで他の印刷制御装置３０から印刷データを受け取らないように設定する。ステップＳ３２５ではネットワークＩ／Ｆ２１を監視しており、上記ステップＳ２８０の処理負荷の問い合わせがなされるまで待機する。ステップＳ３２５にて処理負荷の問い合わせがなされたと判別されたときには、自己処理能力取得部２２ａが自己の処理負荷を取得する。そして、ステップＳ３３０にて処理負荷が高いか否かを判別し、処理負荷が高いと判別されたときにはステップＳ３４０でその旨を返信し、処理負荷が高いと判別されないときにはステップＳ３３２にて低負荷である旨を返信する。
【００５９】
この場合、ステップＳ３３５において印刷データを受信するまで待機し、印刷データを受信したときには印刷データ変換／出力部２２ｄが印刷データを印刷実行データに変換する。そして、ステップＳ３４５にて印刷実行データを印刷制御装置３０に対して出力する。以上の処理を各分散処理クライアント２０によって実行することにより、印刷制御装置３０での処理を分散して高速に処理することが可能になる。
【００６０】
（４）印刷制御システムの動作：
次に、上記構成および処理によって実現される印刷制御システムの動作を図７に示す例に沿って説明する。図７に示すように、印刷制御装置３０と複数の分散処理クライアント２０ａ〜２０ｄがネットワークを介して接続されている状況において、印刷制御装置３０で印刷データを作成し印刷を開始すると、分散処理クライアント２０ａ〜２０ｄの処理能力が取得され、使用可能な分散処理クライアントが選定される（同図においては分散処理クライアント２０ａ〜２０ｄが使用可能であるとする）。
【００６１】
使用可能な分散処理クライアントが選定されると、ネットワークの転送速度に応じて印刷制御装置３０の分担割合と分散処理クライアント２０ａ〜２０ｄの分担割合が決定される。印刷データや処理負荷に応じて１〜５に分割され、分散処理クライアント２０ａ〜２０ｄの処理能力に応じて、例えば印刷データの１〜４が分散処理クライアント２０ａ〜２０ｄに割り当てられる。この場合印刷データの５は印刷制御装置３０で処理される。
【００６２】
分散処理クライアント２０ａ〜２０ｄのそれぞれで急激に処理負荷が高くなるようなことがなければ、上記印刷データの１〜４はネットワークを介して分散処理クライアント２０ａ〜２０ｄに送信される。この送信と同時に印刷制御装置３０では印刷データの５について変換処理を実行し印刷実行データを生成する。分散処理クライアント２０ａ〜２０ｄのそれぞれにおいては受信した印刷データの１〜４について印刷実行データに変換する処理を行う。図７においては、印刷データの１〜５のそれぞれについて変換して得られた印刷実行データをＡ〜Ｅとして示している。
【００６３】
分散処理クライアント２０ａ〜２０ｄが生成した印刷データＡ〜Ｄはネットワークを介して印刷制御装置３０に返信される。印刷制御装置３０では印刷データＡ〜Ｅを順番通りに並べ替え、プリンタ４０に転送する。この結果、プリンタ４０では印刷データ１〜５で特定された印刷対象の印刷を完了する。このように、本発明では、印刷データ１〜５を印刷制御装置３０自体で処理すると時間がかかるところ、印刷データ１〜５を分割して異なる端末で変換する。従って、印刷データから印刷実行データへの変換処理を並列的に処理することができ、印刷制御装置３０自体で総ての変換処理を実行するよりも高速に処理を行うことができる。この結果、印刷開始から印刷完了までに要する全時間が非常に短くなる。
【００６４】
（５）他の実施形態：
上記実施形態は本発明にかかる印刷制御システム、印刷制御装置、分散処理クライアント、印刷制御方法、印刷制御プログラムおよび分散処理プログラムを実現する一例であり、むろん他の構成を採用することも可能である。例えば、上記実施形態ではＥＳＣ／Ｐで記述された印刷データを中間コードに変換して印刷実行データとしていた。この処理は、インタプリタ処理と呼ばれ、この処理の後に通常レンダリング処理を行ってラスタデータを生成する。すなわち、中間コードに基づいて各画素の色をＣＭＹＫ各色２５６階調で階調表現したラスタデータを生成する。
【００６５】
印刷実行データとしてこのラスタデータを生成する処理までを上記分散処理クライアント２０で分担しても良い。むろん、このときＣＭＹＫ各色について階調値を調整し、コントラスト調整やシャープさの調整処理等を実施しておくことは可能である。また、インクジェットプリンタにおける画像データの変換処理、すなわち、解像度変換や色変換、ハーフトーン処理等を分散処理クライアント２０で実行する構成であっても良い。この構成においては、特に大判印刷（Ｂ０サイズやＡ０サイズの印刷）を行うと処理速度向上効果が顕著に現れる。
【００６６】
また、上記処理能力の項目として他にも種々の項目を採用可能である。例えば、ＣＰＵのキャッシュ容量やネットワークの規格（転送速度に影響するため），バスの転送速度，チップセットの種類等を採用可能である。さらに、閾値としても上述の数値例に限られないし、分担割合を決定する指標としてもネットワークの転送速度に限られず、ＣＰＵの動作状況やメモリの空き容量等で分担割合を決定しても良い。
【００６７】
さらに、上述の例では使用可能な分散処理クライアント２０を選定する際の閾値が予め決まっており、分担割合を決めるための指標をリアルタイムに検出する構成としていたが、これらを利用者に入力させても良い。例えば、印刷制御装置３０において上記閾値や指標を入力させるユーザーインタフェースを表示し、キーボード等を介して入力可能に構成すると共に入力値を閾値や指標として採用すればよい。また、このユーザーインターフェースにおいては、取得した処理能力やネットワークの転送速度に応じて推奨閾値や推奨指標を表示しても良い。
【図面の簡単な説明】
【図１】本発明にかかる印刷制御システムの構成図である。
【図２】ＰＲＴＤＲＶが実行する処理のフローチャートである。
【図３】処理分散制御処理のフローチャートである。
【図４】処理分散制御処理のフローチャートである。
【図５】処理能力リストの一例を示す図である。
【図６】分散処理クライアントにおける処理のフローチャートである。
【図７】印刷制御システムの動作説明図である。
【符号の説明】
１０…印刷制御システム、２０…分散処理クライアント、２１，３１…ネットワークＩ／Ｆ、２２…分散処理実行部、２２ａ…自己処理能力取得部、２２ｂ…処理能力出力部、２２ｃ…分担印刷データ取得部、２２ｄ…印刷データ変換／出力部、３０…印刷制御装置、３２…処理分散制御部、３２ａ…問合部、３２ｂ…処理能力取得部、３２ｃ…可使用機器特定部、３３…ＰＲＴＤＲＶ、３３ａ…分担決定／出力部、３３ｂ…印刷実行データ取得部、３３ｃ…印刷制御部、３４ｂ…処理能力リスト、３４ｂ…印刷データ、３５…ＡＰＬ、４０…レーザープリンタ
【図１】
2004164445.tif 000003
【図２】
2004164445.tif 000004
【図３】
2004164445.tif 000005
【図４】
2004164445.tif 000006
【図５】
2004164445.tif 000007
【図６】
2004164445.tif 000008
【図７】
2004164445.tif 000009