(57)【特許請求の範囲】
【請求項１】
印刷装置がネットワークを介して複数のクライアントコンピュータに接続された分散印刷システムであって、
前記複数のクライアントコンピュータのうちの少なくとも一つは、ユーザーからの印刷データの印刷指示の入力を受け付ける受付部と、前記受付部により前記印刷指示を受け付けた場合に前記複数のクライアントコンピュータのそれぞれが印刷データをラスタライズする余力があるか否かの状態を前記印刷装置に取得させ、その余力のある状態のクライアントコンピュータのアドレス情報を前記印刷装置から取得するアドレス情報取得手段と、前記印刷データを分割して複数の分割データを生成する分割部と、前記分割部により生成した分割データを前記アドレス情報取得手段により取得したアドレス情報に基づいて他のクライアントコンピュータに分配する分配部と、を備え、
前記他のクライアントコンピュータは、該クライアントコンピュータに分配された分割データをラスタライズして印刷ジョブを生成する生成部と、前記生成部により生成した印刷ジョブを前記印刷装置に送信する送信部と、を備えたことを特徴とする分散印刷システム。
【請求項２】
前記分割データ及び前記印刷ジョブには該分割データ及び該印刷ジョブが前記印刷データのどの部分のデータにあたるかを示す分割情報が含まれており、前記印刷装置は各クライアントコンピュータから送信される印刷ジョブを前記分割情報に基づいた順番で処理することを特徴とする請求項１に記載の分散印刷システム。
【請求項３】
ネットワークを介して複数のクライアントコンピュータに接続される印刷装置であって、
クライアントコンピュータからの要求に応じて前記複数のクライアントコンピュータのそれぞれが印刷データをラスタライズする余力があるか否かの状態を取得し、そのうちの余力があるクライアントコンピュータのアドレス情報を送信するアドレス情報送信手段と、
前記アドレス情報送信手段により送信したアドレス情報に対応するクライアントコンピュータに分配された分割データが該クライアントコンピュータによりラスタライズされて生成された印刷ジョブを受信可能な受信手段と、
前記受信手段により受信した印刷ジョブがクライアントコンピュータに分配された分割データに基づいて生成された印刷ジョブであった場合に、前記分割データの元になった印刷データからの他の分割データに基づく印刷ジョブとの間で処理する順序を調整する調整手段と、
を備えたことを特徴とする印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散印刷システム及び印刷装置に関する。 
【背景技術】
【０００２】
オフィス環境では、複数のクライアントコンピュータが１台の印刷装置を共有している状況がしばしば見られる。このようなクライアントコンピュータは、ユーザーがＷｅｂで資料を閲覧していたり、又は単純な文字入力を行ったりしている時間には処理の負荷が少なく、稼働中であったとしても常にＰＣの処理能力の全てを使用しているわけではない。
【０００３】
しかしながら、印刷を行う場合、クライアントコンピュータにはかなり負荷が掛かる。特に最近の印刷装置では、クライアントコンピュータ側で座標＋描画関数で構成されるベクター形式データを、ビットマップデータのように規則的に並ぶ点（ドット）で表現されるラスター形式データに変換するラスタライズ処理が実行されるため、クライアントコンピュータへの負荷が高い。
【０００４】
これに関し、合成処理と変換処理とを分散して行うことができ、個々の処理におけるデータ量が増大することがなく、短時間で処理が可能な、処理効率の高い印刷データ処理装置および方法が知られている。（例えば、特許文献１）
【０００５】
また、ネットワーク上に接続された複数のコンピュータの既存のハードウェア資源を流用してソフトウェアのみで、低コストの高速プリンタサーバを実現する技術が知られている。（例えば、特許文献２）
【０００６】
更に、ページデータの変換を効率的に行うことが可能な画像処理装置及び画像処理方法を提供する技術が知られている。（例えば、特許文献３）
【０００７】
また更に、ネットワーク上の複数の演算処理装置でラスタライズ処理された印刷画素情報を効率的に回収してシステム全体の処理速度を改善する技術が知られている。（例えば、特許文献４）
【０００８】
また更に、最適な処理条件で効率のよい画像分散処理を行う画像処理システムを提供する技術が知られている。（例えば、特許文献５）
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開平１０‐２４０４７３号公報
【特許文献２】特開平１１‐２５９２５８号公報
【特許文献３】特開２００６‐２５４３１２号公報
【特許文献４】特開平９‐２１８７６２号公報
【特許文献５】特開平１０‐２７６３２３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、これらの技術においても、印刷ジョブを管理するサーバが必要であったり、又は分散処理側で印刷の順番の考慮する必要があったりし、単純な構成で分散印刷処理を実現することができなかった。
そこで本発明は、印刷ジョブを管理するサーバを必要とせず、また、クライアントコンピュータ側での印刷の順番の考慮を必要としないで分散印刷処理印刷ができる分散印刷システム及び印刷装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明の分散印刷システムは、印刷装置がネットワークを介して複数のクライアントコンピュータに接続された分散印刷システムであって、前記複数のクライアントコンピュータのうちの少なくとも一つは、ユーザーからの印刷データの印刷指示の入力を受け付ける受付部と、前記受付部により前記印刷指示を受け付けた場合に前記複数のクライアントコンピュータのそれぞれが印刷データをラスタライズする余力があるか否かの状態を前記印刷装置に取得させ、その余力のある状態のクライアントコンピュータのアドレス情報を前記印刷装置から取得するアドレス情報取得手段と、前記印刷データを分割して複数の分割データを生成する分割部と、前記分割部により生成した分割データを前記アドレス情報取得手段により取得したアドレス情報に基づいて他のクライアントコンピュータに分配する分配部と、を備え、前記他のクライアントコンピュータは、該クライアントコンピュータに分配された分割データをラスタライズして印刷ジョブを生成する生成部と、前記生成部により生成した印刷ジョブを前記印刷装置に送信する送信部と、を備えたことを特徴とする。
また、上記課題を解決するために、本発明の印刷装置は、ネットワークを介して複数のクライアントコンピュータに接続される印刷装置であって、クライアントコンピュータからの要求に応じて前記複数のクライアントコンピュータのそれぞれが印刷データをラスタライズする余力があるか否かの状態を取得し、そのうちの余力があるクライアントコンピュータのアドレス情報を送信するアドレス情報送信手段と、前記アドレス情報送信手段により送信したアドレス情報に対応するクライアントコンピュータに分配された分割データが該クライアントコンピュータによりラスタライズされて生成された印刷ジョブを受信可能な受信手段と、前記受信手段により受信した印刷ジョブがクライアントコンピュータに分配された分割データに基づいて生成された印刷ジョブであった場合に、前記分割データの元になった印刷データからの他の分割データに基づく印刷ジョブとの間で処理する順序を調整する調整手段と、を備えたことを特徴とする。
【発明の効果】
【００１２】
上述の態様により、印刷ジョブを管理するサーバを必要とせず、また、クライアントコンピュータ側での印刷の順番の考慮を必要としないで分散印刷処理印刷を実現することができる。
【図面の簡単な説明】
【００１３】
【図１】一実施形態に係る、分散印刷処理システムの構成を例示する図である。
【図２】一実施形態に係る、クライアントコンピュータの構成を例示する図である。
【図３】一実施形態に係る、印刷装置の印刷装置コントローラの構成を例示する図である。
【図４】第１の実施形態に係る、クライアントコンピュータでの分散委託処理のデータの遷移を例示する図である。
【図５】クライアントコンピュータの制御部によって生成される、従来の印刷処理における印刷データ及び印刷ジョブと、第１の実施形態に係る分散委託データ及び分割印刷ジョブとを例示する図である。
【図６】第１の実施形態に係る印刷装置の記憶部に格納されている接続クライアントＰＣテーブルを例示する図である。
【図７】第１の実施形態に係るクライアントコンピュータの制御部によって実行される分散委託データの送信処理を例示する図である。
【図８】第１の実施形態に係る他のクライアントコンピュータの制御部によって実行される分散ラスタライズ処理を例示する動作フロー図である。
【図９】第１の実施形態に係る印刷装置の制御部によって実行される分割印刷ジョブのスプールへの登録処理の動作フロー図である。
【図１０】第１の実施形態に係る印刷装置が有する分割データのスプールを例示する図である。
【図１１】第１の実施形態に係る印刷装置の制御部によって実行される分割印刷ジョブの印刷処理の動作フロー図である。
【図１２】第２の実施形態に係る印刷装置の記憶部に格納されている接続クライアントＰＣテーブルを例示する図である。
【図１３】第２の実施形態に係るクライアントコンピュータの制御部によって実行される分散委託データの送信処理を例示する図である。
【図１４】従来における、クライアントコンピュータでの印刷処理におけるデータの遷移を表す図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照しながら、本発明のいくつかの実施形態について詳細に説明する。なお、複数の図面において対応する要素には同一の符号を付した。また、以下のいくつかの実施形態の説明においては、印刷装置を例に説明するが、本発明に係る実施形態はこれに限定されるものではなく、例えば、複写機やスキャナ等を含む所謂複合機等にも適用することができる。
【００１５】
図１は一実施形態に係る、分散印刷システム１００の構成を例示する図である。図２は一実施形態に係る、クライアントコンピュータ（ＰＣ）１０２及び１０４の構成を例示する図である。図３は、一実施形態に係る、印刷装置１０６の印刷装置コントローラ３００の構成を例示する図である。
【００１６】
図１に例示される分散印刷システム１００では、印刷装置１０６と、印刷装置１０６を利用している複数のクライアントＰＣ１０２及び１０４がネットワーク１１０を介して接続されている。ネットワーク１１０は有線接続、及び無線接続（例えばＬＡＮ：Local Area Network）などの各種接続形態を含む。クライアントＰＣ１０２及び１０４は、例えばパーソナルコンピュータなどであり、印刷装置１０６を利用するために必要なプリンタドライバ２１２がインストールされている。なお、以下の説明においては、クライアントＰＣ１０２は、書類データ２１６の分散印刷処理の実行を開始するコンピュータであり、他のクライアントＰＣに分散委託データ５２０（詳しくは後述する）を委託する側のコンピュータである。一方、クライアントＰＣ１０４は、分散印刷処理の際に、クライアントＰＣ１０２からの分散委託データ５２０の委託を受け付ける側のコンピュータとして取り扱う。従って、クライアントＰＣ１０２と、クライアントＰＣ１０４とは、どのコンピュータが分散印刷の実行を開始したかによって関係が入れ替わり、分散印刷処理の実行を開始したコンピュータがクライアントＰＣ１０２となり、その他のコンピュータはクライアントＰＣ１０４となる。
【００１７】
図２を参照して、一実施形態に係る、クライアントＰＣ１０２及び１０４の例示的な構成を説明する。クライアントＰＣ１０２及び１０４は、制御部２００、時計２０３、読取部２０４、通信インタフェース（Ｉ／Ｆ）２０７、入出力（Ｉ／Ｏ）部２０８を含んでいる。更に、クライアントＰＣ１０２及び１０４は、記憶部２０２として、補助記憶装置２１０、ＲＡＭ２２０を含んでおり、また、読取部２０４には着脱可能記憶媒体２０５が接続可能である。制御部２００、時計２０３、読取部２０４、通信インタフェース２０７、入出力（Ｉ／Ｏ）部２０８、補助記憶装置２１０、ＲＡＭ２２０は、例えば、バス２０６を介して互いに接続されている。
【００１８】
読取部２０４は、制御部２００の指示に従って着脱可能記憶媒体２０５にアクセスする。着脱可能記憶媒体２０５は、例えば、半導体デバイス（ＵＳＢメモリ等）、磁気的作用により情報が入出力される媒体（磁気ディスク等）、光学的作用により情報が入出力される媒体（ＣＤ‐ＲＯＭ、ＤＶＤ等）などにより実現される。
【００１９】
制御部２００は、例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｏｒ  Ｕｎｉｔ：中央処理装置）などであり、制御機能及び演算機能を有する。記憶部２０２（例えば補助記憶装置２１０）には、例えば、アプリケーションソフト２１１で作成された書類データ２１６などのデータが格納されている。書類データ２１６には、例えば文書ファイル及び画像データなどのデータが含まれる。また、記憶部２０２には、例えば、アプリケーションソフト２１１、プリンタドライバ２１２、及び本発明に係る実施形態に応じて構成される分散印刷処理モジュール２１３などのプログラムも格納されている。アプリケーションソフト２１１は、例えば、文書及び画像を編集するためのソフトウェアである。プリンタドライバ２１２は、例えば、書類データ２１６から印刷装置１０６で印刷可能な印刷ジョブ５００を生成するための処理を実行するプログラムを含む。分散印刷処理モジュール２１３については後述する。制御部２００は、記憶部２０２に格納されているデータを読み出してプログラムを実行することでクライアントＰＣ１０２又は１０４の各部の制御及び各種の処理を実行する。
【００２０】
入出力（Ｉ／Ｏ）部２０８は、例えば、ユーザーからの入力を受け付けるために、また、ユーザーに対して情報を提示するために用いられ、例えば、キーボード、及びディスプレー等を含む。時計２０３からは、制御部２００は例えば現在時刻等の時間の情報を取得する。通信インタフェース２０７は、ネットワーク１１０と接続されており、制御部２００の指示に従いネットワーク１１０を介してデータを送受信する。通信インタフェース２０７は、例えば図１においては、他のクライアントＰＣ１０２及び１０４並びに印刷装置１０６と通信する際のインタフェースとして用いられる。
【００２１】
次に、図３を参照して、一実施形態に係る、印刷装置１０６の印刷装置コントローラ３００の例示な構成を説明する。印刷装置コントローラ３００は、制御部３０２、ビデオインタフェース（Ｉ／Ｆ）３０３、エンジンインタフェース（Ｉ／Ｆ）３０４、操作パネル・インタフェース（Ｉ／Ｆ）３０５、通信インタフェース（Ｉ／Ｆ）３０６を含んでいる。また、印刷装置コントローラ３００は、記憶部３０７として、ＲＯＭ３１０、不揮発性メモリ（ＨＤＤ等）３２０、ＲＡＭ３２５などを含んでいる。なお、制御部３０２、ビデオインタフェース３０３、エンジンインタフェース３０４、操作パネル・インタフェース３０５、通信インタフェース３０６、ＲＯＭ３１０、不揮発性メモリ３２０、ＲＡＭ３２５は、例えばバス３０８を介して互いに接続されている。
【００２２】
操作パネル・インタフェース３０５は、操作パネル３３０と接続されている。操作パネル３３０は、表示部３３１及びキー部３３２を含む。一実施形態においては、表示部３３１にキーの画像が表示され、その画像がキー部３３２として機能してもよい。操作パネル３３０のキー部３３２はユーザーからの入力を受け付ける。制御部３０２は、操作パネル３３０で入力された情報を操作パネル・インタフェース３０５を介して取得する。また、表示部３３１は例えば印刷装置１０６の状態及び印刷処理の設定情報などの情報をユーザーに提示するために用いられる。
【００２３】
通信インタフェース３０６は、ネットワーク１１０と接続されており、制御部３０２の指示に従ってネットワーク１１０を介してデータを送受信する。通信インタフェース３０６は、例えば図１におけるクライアントＰＣ１０２及び１０４と通信する際のインタフェースとして用いられる。
【００２４】
制御部３０２は、例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｏｒ  Ｕｎｉｔ：中央処理装置）などであり、制御機能及び演算機能を有する。記憶部３０７（例えばＲＯＭ３１０、又は不揮発性メモリ３２０）には、印刷処理に関するプログラム、及び本発明に係る実施形態に応じて構成される分散印刷処理モジュール２１３等のプログラムが格納されている。また、記憶部３０７には、本発明に係る実施形態に応じて、例えば、接続クライアントＰＣテーブル６００，１２００などのデータが格納されている。制御部３０２は、記憶部３０７に格納されているデータを読み出してプログラムを実行することで例えば操作パネル３３０等の各部の制御及び本発明に係る実施形態の分散印刷処理などの各種の処理を実行する。
【００２５】
ビデオインタフェース３０３は、クライアントＰＣ１０２及び１０４から受信した印刷ジョブ及び一実施形態に係る分割印刷ジョブ５６０に含まれる描画データ５０３に基づいてプリンタエンジン（不図示）の制御を行うビデオコントローラ（不図示）と接続されており、制御部３０２とビデオコントローラとの通信を仲介する。エンジンインタフェース３０４は、ビデオコントローラから供給される制御信号に基づいて、紙等の記録媒体に画像を出力するエンジン部（不図示）と接続されており、制御部３０２とエンジン部との通信を仲介する。
【００２６】
＜第１の実施形態＞
以上の図１から図３で述べた例示的なシステム構成を用いる第１の実施形態に係る分散印刷システム１００について以下に説明する。まず、図１４を参照して、従来の印刷処理のクライアントＰＣ１０２におけるデータの遷移を説明する。
【００２７】
図１４には、クライアントＰＣ１０２の例示的なソフトウェア構成が示されている。クライアントＰＣ１０２にはＷｉｎｄｏｗｓ（登録商標）及びＬｉｎｕｘ等のオペレーティングシステム（ＯＳ）が載っており、また、ユーザーからの入力に応じて印刷データ５０２の印刷指示を出力するアプリケーションソフト２１１、及び印刷指示を受けて印刷データを処理し印刷装置１０６に出力するプリンタドライバ２１２がインストールされている。図１４は、クライアントＰＣ１０２のＯＳがＷｉｎｄｏｗｓ（登録商標）の場合における通常印刷時のデータの遷移を例示している。
【００２８】
Ｗｉｎｄｏｗｓ（登録商標）における通常の印刷では、アプリケーションソフト２１１で作成されたＷＩＮ３２ＡＰＩ形式（ベクター形式）で書かれた書類データ２１６は、印刷データ５０２としてＷｉｎｄｏｗｓ（登録商標）内部のＧＤＩ（グラフィック・デバイス・インターフェース）２１５へと渡される（図１４の＜１＞）。続いて、ＧＤＩにおいて、印刷データ５０２はＤＤＩ（デバイスドライバインターフェース）形式（ベクター形式）に変換され、プリンタドライバ２１２に渡される（図１４の＜２＞）。プリンタドライバは、ＤＤＩ形式のデータを印刷装置１０６が高速に印刷処理できるイメージデータ（ここではＰＲＮ形式とする）へとラスタライズし、ラスタライズ後に生成される印刷データ５０２に、印刷処理に必要な情報を付加（図１４の＜３＞）し、印刷ジョブ５００を生成する。続いて、生成された印刷ジョブ５００は、Ｗｉｎｄｏｗｓ（登録商標）のスプーラ２１４を経由して印刷装置１０６へ出力される（図１４の＜４＞）。
【００２９】
このように、通常の印刷処理では、クライアントＰＣ１０２のプリンタドライバが印刷データ５０２の全体をラスタライズして印刷ジョブ５００を生成し、その印刷ジョブ５００が印刷装置１０６へと送信される。そのため、クライアントＰＣ１０２は、印刷する印刷データ５０２全体のラスタライズを実行しなければならず、印刷処理におけるクライアントＰＣ１０２への負荷が大きい。
【００３０】
一方、第１の実施形態では、クライアントＰＣ１０２において、ラスタライズ前に、印刷データ５０２をページ毎に分割し、ラスタライズ処理が複数のクライアントＰＣ１０２及び１０４において分散して実行される。図４は、第１の実施形態に係るクライアントＰＣ１０２における印刷処理のデータの遷移を例示する図である。
【００３１】
図４には、第１の実施形態に係るクライアントＰＣ１０２の例示的なソフトウェア構成が示されている。図４において、図１４の例と同様に、クライアントＰＣ１０２には、Ｗｉｎｄｏｗｓ（登録商標）及びＬｉｎｕｘ等のオペレーティングシステム（ＯＳ）が載っており、また、ユーザーからの入力に応じて印刷指示を出力するアプリケーションソフト２１１、及び印刷指示を受けて印刷データ５０２を処理し印刷装置１０６に出力するプリンタドライバ２１２がインストールされている。また更に、図４においては、クライアントＰＣ１０２には本発明の第１の実施形態に係る分散印刷処理モジュール２１３もインストールされている。
【００３２】
第１の実施形態では、アプリケーションソフト２１１で作成されたＷＩＮ３２ＡＰＩ形式（ベクター形式）で書かれた書類データ２１６は、印刷データ５０２としてＷｉｎｄｏｗｓ（登録商標）内部のＧＤＩ（グラフィック  デバイス  インタフェース）２１５へと渡される（図４の＜１＞）。続いて、ＧＤＩにおいて、印刷データ５０２はＤＤＩ（デバイスドライバインターフェース）形式（ベクター形式）に変換され、プリンタドライバ２１２に渡される（図４の＜２＞）。ここまでは図１４を参照して述べた通常印刷時と同様の処理である。続いて、プリンタドライバ２１２は、ＤＤＩ形式のデータを、Ｗｉｎｄｏｗｓ（登録商標）上のベクター形式である、ＥＭＦ形式に変換し（ここでは、プリンタドライバ２１２自体が変換するのではなくプリンタドライバ２１２の定義に従ってＷｉｎｄｏｗｓ（登録商標）（ＧＤＩ）が変換する。図４の＜３＞）、ＥＭＦ形式のデータがＷｉｎｄｏｗｓ（登録商標）のスプーラ２１４を経由して分散印刷処理モジュール２１３に渡される（図４の＜４＞）。
【００３３】
分散印刷処理モジュール２１３では、図５を参照して後述するように、ＥＭＦ形式の印刷データ５０２が、印刷データ５０２のページ毎のデータである分割データ５１０に分割され、その分割データ５１０にジョブ情報５０１と分割情報５３０とを付加することで分散委託データ５２０が作成される。続いて、分散印刷処理モジュール２１３は、その分散委託データ５２０を他の１又は複数のクライアントＰＣ１０４に送信し、ラスタライズ処理を他のクライアントＰＣ１０４に委託する（図４の＜５ｂ＞〜＜５ｄ＞）。分散委託データ５２０を受信した他のクライアントＰＣ１０２及び１０４のプリンタドライバ２１２は、分散委託データ５２０に含まれる分割データ５１０をラスタライズ処理してＰＲＮ形式の分割データ５１０に変換し、このラスタライズ後のＰＲＮ形式の分割データ５１０と、ジョブ情報５０１と、分割情報５３０とを含む分割印刷ジョブ５６０をスプーラ２１４経由で、印刷装置１０６へと出力する。
【００３４】
なお、いくつかの分散委託データ５２０については他のクライアントＰＣ１０４に委託せずに自装置でラスタライズ処理を行ってもよい。その場合、分散印刷処理モジュール２１３は、自装置のプリンタドライバ２１２に、一部の分散委託データ５２０を送る（図４の＜５ａ＞）。プリンタドライバ２１２は、分散委託データ５２０を受信すると、分散委託データ５２０に含まれる分割データ５１０をラスタライズしてＰＲＮ形式の分割データ５１０に変換し、ラスタライズ後のＰＲＮ形式の分割データ５１０と、ジョブ情報５０１と、分割情報５３０とを含む分割印刷ジョブ５６０を生成し（図４の＜６＞）、分割印刷ジョブ５６０をスプーラ２１４経由で、印刷装置１０６のスプール１０００へと出力する（図４の＜７＞）。
【００３５】
以上で述べたように、第１の実施形態では、クライアントＰＣ１０２は、分散印刷処理モジュール２１３を備えており、分散印刷処理モジュール２１３が印刷処理において印刷データ５０２を分割し、そのラスタライズ処理を他のクライアントＰＣ１０４に委託するため、印刷処理におけるクライアントＰＣ１０２への負荷が少なくて済む。
【００３６】
以下、このクライアントＰＣ１０２における分散印刷処理についてより詳細に説明していく。図５は、アプリケーションソフト２１１によって印刷指示された書類データ２１６である印刷データ５０２（図５の（ａ））と、図１４の説明において述べた通常の印刷処理における印刷ジョブ５００（図５の（ｂ））と、並びに図４の説明において述べた第１の実施形態に係る、分散委託データ５２０（図５の（ｃ））及び分割印刷ジョブ５６０（図５の（ｄ））のデータ構成を例示する。
【００３７】
図５の（ａ）に示されるように、印刷データ５０２は、ページ順に並んだラスタライズ前の描画データ５０３ａ（５０３‐１ａ、５０３‐２ａ、・・・５０３‐Ｎａ）を含んでいる。なお、ここで添字“ａ”は、描画データ５０３がラスタライズ前のデータであることを示している。
【００３８】
続いて、通常の印刷処理で生成される印刷ジョブ５００は、図５の（ｂ）に示されるように、印刷ジョブ５００のヘッダに、ジョブ情報５０１を含んでおり、それに続いて印刷データ５０２の各ページのラスタライズ後の描画データ５０３ｂ（５０３‐１ｂ、５０３‐２ｂ、・・・５０３‐Ｎｂ）がページ順に並んで含まれている構成となっている。なお、ここで添字“ｂ”は、描画データ５０３がラスタライズ後のデータであることを示している。ジョブ情報５０１には、印刷ジョブ５００を印刷装置１０６に印刷させる上で必要となる印刷設定等の情報を含み、例えば、クライアントＰＣ１０２のコンピュータ名５４０、印刷指示された個々の印刷データ５０２に対応する印刷ジョブを特定するためのジョブ識別情報（例えば、印刷ジョブ名）５４１、印刷に用いる用紙のサイズを指定する用紙サイズ５４２、印刷の部数５４３、及びその他の書式等の情報が格納されている。
【００３９】
一方、第１の実施形態に係る分散委託データ５２０には、図５の（ｃ）に示されるように、印刷データ５０２（図５の（ａ））を、ラスタライズされる前に各ページの描画データ５０３ａ（５０３‐１ａ、５０３‐２ａ、５０３‐３ａ、・・・５０３‐Ｎａ）毎に分割して生成された分割データ５１０が含まれており、各分割データ５１０のヘッダにはジョブ情報５０１と、分割情報５３０とが付加されている。ジョブ情報５０１については、図５の（ｂ）で述べたのと同様である。分割情報５３０は、個々の分割データ５１０が、元の印刷データ５０２の中で、どの部分にあたるデータであるのかを示す情報である。本実施形態においては、印刷データ５０２がページ毎に分割され分割データ５１０が作成されるため、分割データ５１０に含まれる分割情報５３０は、その分割データ５１０が、元の印刷データ５０２において何ページ目の描画データ５０３であるのかを示すページ情報５３１と、印刷データの全ページ数の情報である全ページ数情報５３２とが格納されている。
【００４０】
図５の（ｄ）は、分割印刷ジョブ５６０を例示している。分割印刷ジョブ５６０のデータ構成は、第１の実施形態においては、図５の（ｃ）の分散委託データ５２０と類似している。しかしながら、分散委託データ５２０では、分割データ５１０に含まれる描画データ５０３として、分散委託データ５２０ではラスタライズ前の描画データ５０３ａが格納されているのに対し、分割印刷ジョブ５６０ではラスタライズ後の描画データ５０３ｂが格納されている。
【００４１】
続いて、図６を参照して、第１の実施形態に係る印刷装置１０６の記憶部３０７に格納されている、接続クライアントＰＣテーブル６００について説明する。
【００４２】
図６に示されるように、接続クライアントＰＣテーブル６００には、印刷装置１０６のプリンタドライバ２１２がインストールされており、プリンタドライバ２１２を用いて印刷装置１０６に印刷処理を実行させることが可能なクライアントＰＣ１０２及び１０４が登録されている。接続クライアントＰＣテーブル６００には、また、クライアントＰＣ１０２及び１０４毎に、クライアントＰＣ名６０１と、アドレス情報６０３と、分散印刷処理可否情報６０２とが対応づけられて登録されている。クライアントＰＣ名６０１は、クライアントＰＣ１０２及び１０４を識別するためのＰＣ名の情報である。アドレス情報６０３は、クライアントＰＣ１０２及び１０４にデータを送信する際の送信宛先となる情報であり、例えばクライアントＰＣ１０２及び１０４のＩＰアドレスなどである。また、分散印刷処理可否情報６０２は、クライアントＰＣ１０２及び１０４が分散印刷処理の委託を受けられる状態にあるか否かを示す情報である。
【００４３】
ここで、分散印刷処理の委託を受けられない状態とは、例えば、クライアントＰＣ１０２及び１０４の制御部２００が何らかの処理を実行中であり、その処理による負荷が高く、そのクライアントＰＣ１０２及び１０４が分散印刷処理を委託するのに適していない状態にあることを指す。一方、分散印刷処理の委託を受けられる状態とは、例えば、クライアントＰＣ１０２及び１０４の制御部２００が他の処理を実行しておらず、又は他の処理を実行中であっても処理の負荷が小さいため処理能力に余裕があり、他の処理にその処理能力を割くことができる状態にあることを指す。図６の接続クライアントＰＣテーブル６００では、分散印刷処理可否情報６０２として、クライアントＰＣ１０２及び１０４が分散印刷処理の委託を受けられない状態にある場合には“×”が格納されている。一方、クライアントＰＣ１０２が分散印刷処理の委託を受けられる状態にある場合には“○”が格納されている。各クライアントＰＣ１０２及び１０４の分散印刷処理可否情報６０２の設定は、例えばクライアントＰＣ１０２及び１０４のＣＰＵ使用率に対して閾値を設けて、閾値以上であれば分散印刷処理の委託を受けられない状態にある、及び閾値以下であれば分散印刷処理の委託を受けられる状態にあると判定することで設定することが可能である。印刷装置１０６は、クライアントＰＣ１０２及び１０４からビジー通知を受信することで、或いは、定期的にクライアントＰＣ１０２及び１０４の状態をポーリングにより取得することで、クライアントＰＣ１０２及び１０４の状態を取得し、それにより図６の分散印刷処理可否情報６０２を更新する。
【００４４】
以上の図６で述べた接続クライアントＰＣテーブル６００を用いる、第１の実施形態に係るクライアントＰＣ１０２において実行される、分散委託処理について以下に説明する。
【００４５】
図７は、第１の実施形態に係るクライアントＰＣ１０２の制御部によって実行される分散委託データ５２０の送信処理を例示する動作フロー図である。図７の動作フローは、クライアントＰＣ１０２において、スプーラ２１４が分散印刷処理モジュール２１３にラスタライズ前の印刷データ５０２を受け渡すと開始する（例えば、図４の＜４＞）。
【００４６】
ステップＳ７０１において、分散印刷処理モジュール２１３は、印刷装置１０６に、分散印刷処理における分散委託データ５２０の委託が可能な状態にあるクライアントＰＣ１０４を問い合わせる。印刷装置１０６は、クライアントＰＣ１０２の分散印刷処理モジュール２１３から分散委託データ５２０の委託が可能な状態にあるクライアントＰＣ１０４の問い合わせを受信すると、図６に示される接続クライアントＰＣテーブル６００を参照して、分散印刷処理可否情報６０２が“○”となっており分散委託処理を受け付け可能な状態にあるクライアントＰＣ１０４のアドレス情報６０３を、クライアントＰＣ１０２の分散印刷処理モジュール２１３へと通知する。クライアントＰＣ１０２の分散印刷処理モジュール２１３が、印刷装置１０６から分散印刷処理を委託可能な他のクライアントＰＣ１０４のアドレス情報６０３を取得すると、フローはステップＳ７０２へと進む。
【００４７】
続いて、ステップＳ７０２において、分散印刷処理モジュール２１３は印刷データ５０２を分割して分割データ５１０を生成する。第１の実施形態においては、印刷データ５０２の分割単位をページ単位としているため、印刷データ５０２はページ毎のデータに分割される。ステップＳ７０３において、分散印刷処理モジュール２１３は、生成された分割データ５１０のそれぞれの例えばヘッダ部分に、ジョブ情報５０１と、分割情報５３０とを付加して分散委託データ５２０（図５の（ｃ））を生成する。ステップＳ７０４において、分散印刷処理モジュール２１３は、分散委託データ５２０を、ステップＳ７０１で取得した分散委託処理を実行可能なクライアントＰＣ１０４のアドレス情報６０３に示される送信宛先に送信し、本フローは終了する。
【００４８】
以上の図７で述べた処理により、クライアントＰＣ１０２においてユーザーより印刷指示が入力された印刷データ５０２は、複数の分割データ５１０へと分割され、それぞれの分割データにジョブ情報５０１と分割情報５３０とが付加されて分散委託データ５２０が生成され、生成された分散委託データ５２０は他のクライアントＰＣ１０４へと分配される。
【００４９】
なお、図７の分散委託データ５２０の送信処理において、ステップＳ７０４におけるクライアントＰＣ１０４への分散委託データ５２０の配分は、第１の実施形態においては、ステップＳ７０１で取得されたアドレス情報６０３に示されるクライアントＰＣ１０４に対して、順に分散委託データ５２０を１つずつ分配することで行われる。従って、第１の実施形態では、委託を受け付けるそれぞれのクライアントＰＣ１０４には、概ね均等な数の分散委託データ５２０が配分される。
【００５０】
なお、上述したように、分散印刷処理モジュール２１３は、分散委託データ５２０の一部を自装置のプリンタドライバ２１２へと送ってもよく、一部の分散委託データ５２０のラスタライズについては自装置で実行してもよい。この場合には、分散委託データ５２０の配分は、ステップＳ７０１で取得されたアドレス情報６０３に示される他のクライアントＰＣ１０４に加えて自装置（クライアントＰＣ１０２）も委託先とし、クライアントＰＣ１０２及び１０４に順に分散委託データ５２０を送信することで配分が決定されてもよい。
【００５１】
なお、分散委託データ５２０のクライアントＰＣ１０４に対する配分は、上記の例に限定されるものではなく、任意に設定することが可能である。例えば、別の実施形態においては、分散委託データ５２０のクライアントＰＣ１０４への配分は、個々のクライアントＰＣ１０４の処理性能に応じて、処理性能が高いクライアントＰＣ１０４により多くの分散委託データ５２０が分配されるように決定されてもよい。
【００５２】
続いて、図８を参照して、第１の実施形態に係る他のクライアントＰＣ１０４の制御部３０２によって実行される分散ラスタライズ処理を説明する。図８の動作フローは、クライアントＰＣ１０２が送信した分散委託データ５２０を他のクライアントＰＣ１０４のプリンタドライバ２１２が受信すると開始する。ステップＳ８０１において、他のクライアントＰＣ１０４のプリンタドライバ２１２は、受信した分散委託データ５２０に含まれる分割データ５１０をラスタライズし、ラスタライズ後の分割データ５１０と、ジョブ情報５０１と、分割情報５３０とを含む分割印刷ジョブ５６０（図５の（ｄ））を生成する。ステップＳ８０２において、プリンタドライバ２１２は、生成した分割印刷ジョブ５６０を、スプーラ２１４を介して印刷装置１０６へと送信し、本フローは終了する。
【００５３】
なお、上述したように、クライアントＰＣ１０２が分散委託データ５２０の一部を自装置のプリンタドライバ２１２へと送る場合には、自装置のプリンタドライバ２１２が分散委託データ５２０を受信すると図８で述べた処理が実行され、印刷装置１０６にラスタライズ後の分割データ５１０と、ジョブ情報５０１と、分割情報５３０とを含む分割印刷ジョブ５６０が送信される。
【００５４】
図９は、第１の実施形態に係る印刷装置１０６の制御部３０２によって実行される分割印刷ジョブ５６０の登録処理の動作フロー図である。図９の動作フローは、印刷装置１０６が、クライアントＰＣ１０２及び１０４から分割印刷ジョブ５６０を受信すると開始する。
【００５５】
ステップＳ９０１において、印刷装置１０６の制御部３０２は、受信した分割印刷ジョブ５６０から分割印刷ジョブレコード１０１０を生成し、記憶部３０７に格納されているスプール１０００に登録し、本フローは終了する。第１の実施形態に係るスプール１０００及び分割印刷ジョブレコード１０１０を図１０に例示する。
【００５６】
図１０に示されるように、スプール１０００には、印刷装置１０６がクライアントＰＣ１０２から受信した分割印刷ジョブ５６０と対応する分割印刷ジョブレコード１０１０が登録されている。第１の実施形態においては、各分割印刷ジョブレコード１０１０は、分割印刷ジョブ５６０の元となった印刷データ５０２の印刷指示が入力されたクライアントＰＣ１０２のコンピュータ名１０１１、ジョブ識別情報（例えば、印刷ジョブ名）５４１、及び分割情報５３０とから構成されている。また、上述したように、第１の実施形態においては、分割情報５３０は、ページ情報５３１、及び全ページ数情報５３２とで構成されている。
【００５７】
続いて、図１１を参照して、第１の実施形態に係る印刷装置１０６の制御部３０２によって実行される分割印刷ジョブ５６０の印刷処理を説明する。図１１に示す分割印刷ジョブの印刷処理の動作フローは、スプール１０００に分割印刷ジョブレコード１０１０の登録がない状態において、スプール１０００に分割印刷ジョブレコード１０１０の登録が実行されると開始する。
【００５８】
ステップＳ１１０１において、印刷装置１０６の制御部３０２は、スプール１０００に登録されている分割印刷ジョブレコード１０１０のうちで、ジョブ識別情報５４１が一致する分割印刷ジョブレコード１０１０の分割情報５３０を確認し、ジョブ識別情報５４１で識別される印刷データ５０２の印刷に必要な全ての分割印刷ジョブ５６０が揃っている分割印刷ジョブレコード１０１０が有るか否かを判定する。第１の実施形態においては、この判定は、スプール１０００に登録されている分割印刷ジョブレコード１０１０のうちで、ジョブ識別情報５４１が一致する分割印刷ジョブ５６０に含まれるページ情報５３１に示されるページを確認し、全ページ数情報５３２に示される全ページ数の分割印刷ジョブ５６０がスプール１０００に登録されているかを判定することで行われる。
【００５９】
印刷データ５０２の印刷に必要な全ての分割印刷ジョブ５６０が揃っている分割印刷ジョブレコード１０１０が無い場合には、ステップＳ１１０１はＮｏと判定され、フローはステップＳ１１０１に戻る。一方、印刷ジョブの印刷に必要な全ての分割印刷ジョブ５６０が揃っている分割印刷ジョブレコード１０１０がある場合には、ステップＳ１１０１はＹｅｓと判定され、フローはステップＳ１１０２へと進む。
【００６０】
ステップＳ１１０２において、制御部３０２は、ステップＳ１１０１において必要な全ての分割印刷ジョブ５６０が揃ったと判定された分割印刷ジョブレコード１０１０の分割印刷ジョブ５６０を、その分割印刷ジョブ５６０に含まれるジョブ情報５０１と、分割情報５３０とに基づいて印刷する。第１の実施形態においては、この印刷処理は、印刷装置１０６の制御部３０２が、分割印刷ジョブ５６０に含まれるページ情報５３１を読み出し、ページ情報５３１のページ数の小さい方の分割印刷ジョブ５６０から順に（即ち、１ページ目から順に）印刷処理をジョブ情報５０１に示される印刷設定で実行することで行われる。
【００６１】
分割印刷ジョブ５６０の全ページ数情報５３２に示される元の印刷データ５０２の全ページ分の分割印刷ジョブ５６０の印刷が完了すると、フローはステップＳ１１０３へと進み、制御部３０２は印刷が完了した分割印刷ジョブ５６０の分割印刷ジョブレコード１０１０をスプール１０００から削除する。
【００６２】
続いて、ステップＳ１１０４において、制御部３０２は、スプール１０００に他に分割印刷ジョブレコード１０１０が登録されているか否かを判定する。登録されている場合には、Ｙｅｓと判定され、フローはステップＳ１１０１へと戻る。一方、分割印刷ジョブレコード１０１０の登録が他に無い場合にはＮｏと判定され本フローは終了する。
【００６３】
以上、図５〜図１１を参照して述べたように、第１の実施形態に係る分散印刷処理では、クライアントＰＣ１０２は、印刷データ５０２を分割して分割データ５１０を生成する。クライアントＰＣ１０２は、生成した分割データ５１０に、それぞれの分割データ５１０が元の印刷データ５０２のなかで、どの部分にあたるデータであるのかを示す分割情報５３０と、印刷設定を含むジョブ情報５０１とを付加して分散委託データ５２０を生成し、他のクライアントＰＣ１０４へと送信する。分散委託データ５２０を受信した他のクライアントＰＣ１０４は、分散委託データ５２０に含まれる分割データ５１０をラスタライズし、ラスタライズ後の分割データ５１０と、分割情報５３０と、ジョブ情報５０１とを含む分割印刷ジョブ５６０を生成し、印刷装置１０６へと送信する。印刷装置１０６は、受信した分割印刷ジョブ５６０と対応づけて分割印刷ジョブレコード１０１０をスプール１０００に登録する。続いて、印刷装置１０６は、分割印刷ジョブレコード１０１０に含まれる分割情報５３０に基づいて、分割前の元の印刷データ５０２と対応する全ての分割印刷ジョブ５６０が受信されたか否かを判定し、全ての分割印刷ジョブ５６０が受信されている場合には、分割情報５３０に示される順番に従って、１ページ目から順に印刷処理をジョブ情報５０１に示される印刷設定で実行する。
【００６４】
そのため、第１の実施形態では、印刷データ５０２のラスタライズ処理が、複数のクライアントＰＣ１０２及び１０４によって分散して実行されるため、印刷処理におけるクライアントＰＣ１０２への負荷が小さくなる。また、第１の実施形態では、印刷装置１０６は分割印刷ジョブ５６０に含まれる分割情報５３０に基づいて、元の印刷データ５０２と同じ順番で分割印刷ジョブ５６０を印刷することができる。従って、分散印刷処理を実行するために、印刷ジョブを管理するためのサーバを別途設ける必要無い。更には、分割印刷ジョブ５６０の印刷を実行するタイミングも、上述したように分割情報５３０に基づいて、元の印刷データに対応する全ての分割印刷ジョブ５６０が揃ったタイミングで実行されるため、例えば、印刷データ５０２に対応する複数の分割印刷ジョブ５６０のラスタライズ処理が完了したタイミングで印刷を開始するために、サーバ等の装置を追加する必要がない。
【００６５】
なお、第１の実施形態においては、印刷データ５０２から分割委託データを生成し、クライアントＰＣ１０４に送信する処理が、クライアントＰＣ１０２で実行される例を述べたが、本発明に係る実施形態はこれに限定されるものではない。例えば、クライアントＰＣ１０２は、ラスタライズ前の印刷データ５０２を分割することなく、印刷装置１０６へと送信し、図７に示す処理を印刷装置１０６に備えられている分散印刷処理モジュール２１３で実行するように構成してもよい。
【００６６】
この場合には、印刷装置１０６の分散印刷処理モジュール２１３は、自装置の記憶部３０７に備えられた接続クライアントＰＣテーブル６００を参照して、アドレス情報を取得し、クライアントＰＣ１０２から受信した印刷データ５０２を分割して分散委託データ５２０を生成して、その分散委託データ５２０を取得したアドレス情報６０３に示されるクライアントＰＣ１０２及び１０４へと送信する。
【００６７】
また、第１の実施形態においては、分散印刷処理可否情報６０２を用いて、クライアントＰＣ１０２及び１０４の処理の負荷状態が高いものには、分散委託データ５２０の委託を行わないように構成した。この様に構成することで、処理の負荷状態が高いクライアントＰＣ１０２及び１０４に、分散委託データ５２０のラスタライズを委託してしまったこと起因する、ラスタライズ処理の遅延が防止できる。しかしながら、本発明に係る実施形態はこれに限定されるものではなく、例えば、クライアントＰＣ１０２及び１０４の処理の負荷状態を考慮せず、印刷装置１０６のプリンタドライバ２１２をインストールしており、印刷装置１０６に印刷を実行させることが可能な状態にある全てのクライアントＰＣ１０２及び１０４を分散委託データ５２０の委託先としてもよい。このような場合にも、クライアントＰＣ１０２におけるラスタライズ処理の負荷は分散されるため、クライアントＰＣ１０２の印刷処理による負荷が低減できる。
【００６８】
＜第２の実施形態＞
第１の実施形態では、接続クライアントＰＣテーブル６００に分散印刷処理可として登録されているクライアントＰＣ１０４を特に区別することなく、分散委託データ５２０の委託先として指定し分散印刷処理を実行した。しかしながら、クライアントＰＣ１０２及び１０４によって処理能力に差がある状況がしばしば存在する。第２の実施形態では、第１の実施形態の図６に記載される接続クライアントＰＣテーブル６００に、更にクライアントＰＣ１０２及び１０４の処理能力に関する性能情報１２０４が登録されており、性能情報１２０４に基づいて、分散委託データ５２０を割り振る数を調節する実施形態について述べる。
【００６９】
図１２は、第２の実施形態に係る印刷装置１０６の記憶部３０７に格納されている接続クライアントＰＣテーブル１２００を例示する図である。第２の実施形態では、接続クライアントＰＣテーブル１２００には、印刷装置１０６のプリンタドライバ２１２がインストールされており、印刷装置１０６に印刷処理を実行させることが出来る状態にあるクライアントＰＣ１０２及び１０４が登録されている。また、登録されているクライアントＰＣ１０２及び１０４毎に、クライアントＰＣ名６０１、分散印刷処理を実行することが可能な状態か否かを示す分散印刷処理可否情報６０２、送信宛先であるアドレス情報６０３、並びにクライアントＰＣ１０２及び１０４の性能情報１２０４が接続クライアントＰＣテーブル１２００には登録されている。
【００７０】
接続クライアントＰＣテーブル１２００において、クライアントＰＣ名６０１、分散印刷処理可否情報６０２、及びアドレス情報６０３については、第１の実施形態の図６のものと同様である。一方、性能情報１２０４は、図１２の接続クライアントＰＣテーブル１２００において対応付けられているクライアントＰＣ１０２及び１０４の処理性能を示す値である。例えば、図１１においては、クライアントＰＣ名６０１“ＰＣ‐Ｂ”で識別されるクライアントＰＣには性能情報１２０４に値“３”が格納されており、これは“ＰＣ‐Ｃ”の性能情報１２０４が値“１”のクライアントＰＣ１０４よりも“ＰＣ‐Ｂ”が３倍の処理性能が見込めることを表している。即ち、例えば、“ＰＣ‐Ｂ”のクライアントＰＣ１０４には、“ＰＣ‐Ｃ”のクライアントＰＣ１０４よりも３倍多い数の分散委託データ５２０を送信したとしても、“ＰＣ‐Ｂ”に委託された分散委託データ５２０のラスタライズ処理完了のタイミングが、“ＰＣ‐Ｃ”に委託された分散委託データ５２０のラスタライズ完了のタイミングと大きくずれることはない。
【００７１】
なお、印刷装置１０６による性能情報１２０４の取得には、既知のさまざま方法を利用することができる。一実施形態においては、印刷装置１０６のプリンタドライバ２１２をクライアントＰＣ１０２及び１０４にインストールする際に、クライアントＰＣ１０２及び１０４のメモリ容量及びＣＰＵのクロック周波数等に基づいて性能情報１２０４を決定してもよい。決定された性能情報１２０４は、そのクライアントＰＣ１０２及び１０４のアドレス情報６０３と共に、印刷装置１０６へと通知され、印刷装置１０６において接続クライアントＰＣテーブル１２００に登録されてもよい。
【００７２】
以下、図１３を参照して、第２の実施形態に係る、クライアントＰＣ１０２の制御部２００によって実行される分散委託データの送信処理について説明する。
【００７３】
ステップＳ１３０１において、分散印刷処理モジュール２１３は、印刷装置１０６に分散印刷処理が可能な状態にあるクライアントＰＣ１０４のアドレス情報６０３と、性能情報１２０４とを問い合わせる。印刷装置１０６の記憶部３０７には、例えば図１２に示すような接続クライアントＰＣテーブル１２００が格納されており、分散印刷処理モジュール２１３からのアドレス情報６０３の問い合わせを受信すると、印刷装置１０６では、図１２に示される接続クライアントＰＣテーブル１２００を参照することで、分散委託処理を受け付け可能な状態にあるクライアントＰＣ１０４を特定し、そのアドレス情報６０３と性能情報１２０４とをクライアントＰＣ１０２の分散印刷処理モジュール２１３へと通知する。この通知により、クライアントＰＣ１０２の分散印刷処理モジュール２１３は、印刷装置１０６から、分散印刷処理を委託先として他のクライアントＰＣ１０４のアドレス情報６０３と性能情報１２０４とを取得する。
【００７４】
続いて、ステップＳ１３０２において、分散印刷処理モジュール２１３は印刷データ５０２を分割して分割データ５１０を生成する。ステップＳ１３０３において、分散印刷処理モジュール２１３は、生成された複数の分割データ５１０それぞれの例えばヘッダ部分に、ジョブ情報５０１と、分割情報５３０とを付加し、分散委託データ５２０を生成する。ステップＳ１３０４において、分散印刷処理モジュール２１３は、印刷装置１０６から取得した性能情報１２０４に基づいて、生成した分散委託データ５２０の配分を決定する。この分散委託データ５２０の配分の決定は、例えば、ステップＳ１３０１で取得されたアドレス情報６０３に示されるクライアントＰＣ１０４に対して、性能情報１２０４に値３であるものには、配分の一巡毎に３つの分散委託データ５２０を割り振り、性能情報１２０４が値１であれば配分の一巡毎に１つの分散委託データ５２０を割り振るというように、性能情報１２０４の値と同じ比率で分散委託データ５２０を順に割り振るというようにして決定しても良い。
【００７５】
この様にして、性能情報１２０４に応じて分散委託データ５２０を振り分けることで、性能の高いクライアントＰＣ１０２及び１０４には、より多くの分散委託データ５２０を振り分けられるので、結果として、分散印刷システム１００に存在するクライアントＰＣ１０２及び１０４の計算資源を効率的に利用することが可能となる。
【００７６】
続いて、ステップＳ１３０５において、制御部２００は、性能情報１２０４に基づいて決定された配分で分散委託データ５２０を、印刷装置１０６から取得したアドレス情報６０３に示される送信宛先へと送信し、本フローは終了する。
【００７７】
第２の実施形態では、クライアントＰＣ１０２において分割委託処理を実行した以降の処理は、第１の実施形態で述べた処理と同様の処理が行われてよく、例えば、他のクライアントＰＣ１０４での処理は、図８で述べた処理に従ってラスタライズが実行され、また、印刷装置１０６における印刷処理は図９及び図１１で述べた処理に従って実行されてもよい。
【００７８】
第２の実施形態では、クライアントＰＣ１０２及び１０４の性能情報１２０４を考慮して、クライアントＰＣ１０２及び１０４への分散委託データ５２０の配分を決定するため、分散印刷システム１００に存在するクライアントＰＣ１０２及び１０４の計算資源を効率的に利用することが可能である。
【００７９】
なお、上記の例では、分散委託データ５２０の委託数で割り当てを決定したが、例えば、ラスタライズの負荷が大きい画像データ領域が多く含まれている分散委託データ５２０を、処理性能の高いクライアントＰＣ１０２及び１０４に、テキストデータ領域が多く含まれているラスタライズの負荷が小さい分散委託データ５２０は処理性能の低いクライアントＰＣ１０２及び１０４に送信するというように、分散委託データ５２０に含まれる描画データの種類に応じてクライアントＰＣ１０２及び１０４への割り当てが決定されてもよい。
【００８０】
以上で述べた、第１の実施形態又は第２の実施形態に係る分散印刷システム１００により、分散印刷システム１００内で余剰となっている他のクライアントＰＣ１０４の処理能力を印刷データ５０２のラスタライズ処理に有効に活用することができるため、高速印刷の実現、及び印刷処理中の負荷の低減が可能であり、また、印刷処理による負荷が低減されるため、クライアントＰＣ１０２及び１０４でその他の処理をスムーズに実行することができる。
【００８１】
なお、上述の第１の実施形態及び第２の実施形態では、印刷データ５０２の分割をページ単位で行うことで、分割データ５１０を生成する例を述べた。しかしながら、本発明に係る実施形態はこれに限定されるものではなく、例えば、１ページを４分割して、他のクライアントＰＣ１０４に１／４ページずつラスタライズを委託するというように、或いは、１ページの描画データ５０３を画像領域とテキスト領域とに分割するというように、ページ単位以外の単位に分割して分割データ５１０を生成するように構成してもよく、これらの変形例も本発明に係る実施形態の開示の範囲内にある。
【００８２】
なお、このようなページ単位以外の単位に分割して分割データ５１０を生成する場合には、ページ内で分割された分割データ５１０がそのページのどの領域のデータであるのかを示す区切り位置の座標データ、並びに画像データ領域の位置及びテキストデータ領域の位置を示す座標データ等の位置情報が、分割情報５３０として分割データ５１０の例えばヘッダ領域に付加されて分散委託データ５２０が生成されてもよい。
【００８３】
上述の実施形態で述べた、例えば、図７、図８、図９、図１１、及び図１３に示される動作フローの手順を記述したプログラムが、それぞれの処理に応じて例えば、クライアントＰＣ１０２及び１０４の記憶部２０２に、又は印刷装置１０６の記憶部３０７に分散印刷処理モジュール２１３として記憶されている。クライアントＰＣ１０２及び１０４の制御部２００、又は印刷装置１０６の制御部３０２が、記憶部２０２又は記憶部３０７から分散印刷処理モジュール２１３を読み出して実行することにより、図７、図８、図９、図１１、及び図１３に示す処理が実現される。
【００８４】
いくつかの実施形態においては、クライアントＰＣ１０２及び１０４の記憶部２０２には、図７、図８、及び図１３に示される動作フローの手順を記述した分散印刷処理モジュール２１３が格納されている。また、印刷装置１０６の記憶部３０７には、図９及び図１１に示される動作フローの手順を記述した分散印刷処理モジュール２１３が格納されている。
【００８５】
これらの分散印刷処理モジュール２１３は、例えば、下記の形態で分散印刷システム１００のクライアントＰＣ１０２及び１０４、及び印刷装置１０６に提供される。
（１）記憶部２０２及び記憶部３０７に予めインストールされている。
（２）着脱可能記憶媒体２０５により提供される。
（３）プログラムサーバから提供される。
【００８６】
以上でいくつかの実施形態について説明してきた。しかしながら、本発明に係る実施形態は上記の実施形態に限定されるものではなく、上述の実施形態の各種変形形態及び代替形態を包含するものとして理解されるべきである。例えば、各種実施形態は、その趣旨及び範囲を逸脱しない範囲で構成要素を変形して具体化できることが理解されよう。また、前述した実施形態に開示されている複数の構成要素を適宜組み合わせることにより、本発明に係る種々の実施形態を成すことができることが理解されよう。或いは、実施形態に示される全構成要素からいくつかの構成要素を削除して又は置換して、或いは実施形態に示される構成要素にいくつかの構成要素を追加して本発明に係る種々の実施形態が実施され得ることが当業者には理解されよう。
【００８７】
上述の第１から第２の実施形態を含む、本発明に係るいくつかの実施形態に関し更に以下の付記を開示する。
（付記１）
印刷装置と、前記印刷装置を利用している複数のクライアントコンピュータとを含む分散印刷システムであって、
前記複数のクライアントコンピュータは、それぞれ、
ユーザーからの印刷データの印刷指示の入力を受け付ける受付部と、
前記印刷指示が入力された場合に、前記印刷装置に前記複数のクライアントコンピュータのアドレス情報を問い合わせて取得する、アドレス情報取得部と、
前記印刷データを複数の分割データへと分割する分割部と、
前記複数のクライアントコンピュータのアドレス情報で指定される宛先へと、前記複数の分割データを分配する分配部と、
前記複数のクライアントコンピュータのうちの他の前記クライアントコンピュータから前記分割データを受信する受信部と、
受信した前記分割データをラスタライズし分割印刷ジョブを生成する生成部と、
生成した前記分割印刷ジョブを、前記印刷装置に送信する送信部と、
を含み、
前記印刷装置は、
前記アドレス情報取得部からの問い合わせに応じて、前記複数のクライアントコンピュータのアドレス情報を前記アドレス情報取得部へと通知するアドレス情報通知部と、
前記分割印刷ジョブを受信する受信部と、
前記受信部により受信された前記分割印刷ジョブを、前記分割データに示される前記印刷データ内での順番で印刷する印刷部と、
を含む分散印刷システム。
（付記２）
前記分割データは、該分割データが前記印刷データのどの部分のデータにあたるかを示す分割情報と、前記印刷データを識別するためのジョブ識別情報を含むジョブ情報とを含む分散委託データを含むことを特徴とする付記１記載の分散印刷システム。
（付記３）
前記生成部は、前記分散委託データをラスタライズし、ラスタライズ後の前記分散委託データと、前記分割情報と、前記ジョブ情報とを含む分割印刷ジョブを生成することを特徴とする付記２記載の分散印刷システム。
（付記４）
前記印刷装置は、
受信した前記分割印刷ジョブに含まれる前記分割情報と、前記ジョブ識別情報とを対応付けて分割印刷ジョブレコードとしてスプールに登録する登録部と、
前記スプールに登録されている分割印刷ジョブレコードのうちで前記ジョブ識別情報が一致する分割印刷ジョブレコードの前記分割情報を確認し、前記印刷データに対応する全ての前記分割印刷ジョブが集まったか否かを判定する判定部と、
を有し、前記印刷部は、前記判定部が全ての前記分割印刷ジョブが集まったと判定した場合、印刷処理を実行することを特徴とする付記３記載の印刷システム。
（付記５）
前記分割データに付加される前記分割情報は、該分割情報が付加されている前記分割データが前記印刷データにおいて、何ページ目のデータであるかを示すページ情報と、前記印刷データの全ページ数の情報とを含む、付記２に記載の分散印刷システム。
（付記６）
前記印刷装置は、前記クライアントコンピュータが分散委託データのラスタライズを行うことができる状態にあるか否かを示す分散印刷処理可否情報を、前記複数のクライアントコンピュータから取得して接続クライアントＰＣテーブルに格納する、分散印刷処理可否情報登録部を更に備え、
前記アドレス情報通知部は、前記接続クライアントＰＣテーブルに登録されている複数のクライアントコンピュータのうちで、分散印刷処理可否情報がラスタライズを行うことができる状態を示すクライアントコンピュータのアドレス情報を前記アドレス情報取得部に通知する、付記３又は４に記載される分散印刷システム。
（付記７）
前記接続クライアントＰＣテーブルには、更に前記印刷装置を利用している前記複数のクライアントコンピュータの処理性能を表す性能情報が格納されており、
前記アドレス情報取得部は、前記アドレス情報と共に、前記性能情報を取得し、
前記分配部は、前記性能情報に基づいて、前記複数のクライアントコンピュータへの前記複数の分散委託データの配分を決定する、付記６に記載の分散印刷システム。
（付記８）
印刷装置の制御方法であって、
クライアントコンピュータからの問い合わせに応じて、記憶部に格納されている、接続クライアントＰＣテーブルから、前記印刷装置を利用している前記複数のクライアントコンピュータのアドレス情報を取得し、クライアントコンピュータに通知するステップ、
前記複数のクライアントコンピュータから分割印刷ジョブを受信し、受信した前記分割印刷ジョブに含まれる分割情報と、前記ジョブ識別情報とを対応付けて分割印刷ジョブレコードとしてスプールに登録する登録ステップ、
前記スプールに登録されている分割印刷ジョブレコードのうちで前記ジョブ識別情報が一致する分割印刷ジョブレコードの前記分割情報を確認し、印刷データに対応する全ての前記分割印刷ジョブが集まったか否かを判定する判定ステップ、
全ての前記分割印刷ジョブが集まったと判定した場合に、前記分割印刷ジョブを、前記分割情報に示される前記印刷データ内での順番で印刷する印刷ステップ、
を含み、
前記クライアントコンピュータにおいて、前記印刷データが複数の分割データに分割され、前記分割データに、前記分割データが前記印刷データのどの部分のデータにあたるかを示す分割情報と、前記印刷データを識別するためのジョブ識別情報を含むジョブ情報とを付加することで生成される分散委託データが前記複数のクライアントコンピュータに送信され、前記複数のクライアントコンピュータにおいて、分散委託データに含まれる前記分割データをラスタライズすることで前記分割印刷ジョブが生成されることを特徴とする、印刷装置の制御方法。
【符号の説明】
【００８８】
１００  分散印刷システム
１０２  クライアントＰＣ
１０４  クライアントＰＣ
１０６  印刷装置
１１０  ネットワーク
２００  制御部
２０２  記憶部
２０３  時計
２０４  読取部
２０５  着脱可能記憶媒体
２０６  バス
２０７  通信インタフェース
２０８  入出力部
２１０  補助記憶装置
２１１  アプリケーションソフト
２１２  プリンタドライバ
２１３  分散印刷処理モジュール
２１４  スプーラ
２１５  ＧＤＩ
２１６  書類データ
２２０  ＲＡＭ
３００  印刷装置コントローラ
３０２  制御部
３０３  ビデオインタフェース
３０４  エンジンインタフェース
３０５  操作パネル・インタフェース
３０６  通信インタフェース
３０７  記憶部
３０８  バス
３１０  ＲＯＭ
３２０  不揮発性メモリ
３２２  スプール
３２５  ＲＡＭ
３３０  操作パネル
３３１  表示部
３３２  キー部
５００  印刷ジョブ
５０１  ジョブ情報
５０２  印刷データ
５０３  描画データ
５１０  分割データ
５２０  分散委託データ
５３０  分割情報
５３１  ページ情報
５３２  全ページ数情報
５４０  コンピュータ名
５４１  ジョブ識別情報
５４２  用紙サイズ
５４３  部数
５６０  分割印刷ジョブ
６００  接続クライアントＰＣテーブル
６０１  クライアントＰＣ名
６０２  分散印刷処理可否情報
６０３  アドレス情報
１０００  スプール
１０１０  分割印刷ジョブレコード
１０１１  コンピュータ名
１２００  接続クライアントＰＣテーブル
１２０４  性能情報
【図６】
0005857594.tif 000002
【図７】
0005857594.tif 000003
【図８】
0005857594.tif 000004
【図９】
0005857594.tif 000005
【図１０】
0005857594.tif 000006
【図１１】
0005857594.tif 000007
【図１２】
0005857594.tif 000008
【図１３】
0005857594.tif 000009
【図１４】
0005857594.tif 000010
【図１】
0005857594.tif 000011
【図２】
0005857594.tif 000012
【図３】
0005857594.tif 000013
【図４】
0005857594.tif 000014
【図５】
0005857594.tif 000015