(57)【要約】【課題】    分散印刷におけるユーザの利便性を向上する。【解決手段】  分散元のプリンタＰＲＴ１は、分散印刷の対象とされている印刷ジョブを受信すると、分散先プリンタのうち、直ちに印刷を開始できないプリンタから印刷可能となる印刷可能時刻を取得する。分散元プリンタＰＲＴ１は、取得された印刷可能時刻に応じて、各分散先プリンタにおける印刷がほぼ同時に完了するように、前記印刷ジョブにより印刷を要求される複数のページを各分散先印刷装置に割り当てる。分散元プリンタＰＲＴ１は、割り当てられた割当ページの印刷を要求する新たな印刷ジョブを生成し、各分散先プリンタＰＲＴ１〜ＰＲＴ４に生成された印刷ジョブを送信する。【選択図】  図１
2007076108.tif 000002
【特許請求の範囲】
【請求項１】
印刷ジョブを複数の分散先印刷装置に分散する分散元印刷装置であって、
前記印刷ジョブを受信する受信手段と、
前記各分散先印刷装置から前記各分散先印刷装置において印刷可能な時刻に関する第１の情報を取得する取得手段と、
前記各分散先から取得される各前記第１の情報に応じて、前記印刷ジョブにより要求される印刷の負荷を前記各分散先印刷装置に対して割り当てる割当手段と、
前記各分散先印刷装置に割り当てられた印刷の負荷に応じて、前記各分散先印刷装置に供給する分散印刷ジョブを個別に生成する分散印刷ジョブ生成手段と、
各前記分散印刷ジョブを、各前記分散先印刷装置に対してそれぞれ送信する送信手段と、を備える分散元印刷装置。
【請求項２】
請求項１記載の分散元印刷装置であって、
前記印刷ジョブは、複数のページに渡る印刷を要求する印刷ジョブであり、
前記割当手段は、各前記第１の情報に応じて、前記複数のページの互いに異なる一部のページを割当ページとして前記各分散先印刷装置に割り当て、
前記分散印刷ジョブ生成手段は、前記各割当ページの印刷を要求する前記分散印刷ジョブを生成する、分散元印刷装置。
【請求項３】
前記第１の情報には、前記印刷可能となる印刷可能時刻が含まれる、請求項１または請求項２記載の分散元印刷装置。
【請求項４】
前記第１の情報には、前記印刷可能となるまでの残時間が含まれる、請求項１または請求項２記載の分散元印刷装置。
【請求項５】
請求項１または請求項２記載の分散先印刷装置であって、
前記第１の情報には、前記各分散先印刷装置が、直ちに印刷可能か否かを示す第２の情報が含まれており、
前記第１の情報は、前記第２の情報が直ちに印刷可能でないことを示す場合には、更に、前記印刷可能な時刻を示す第３の情報を含む、分散先印刷装置。
【請求項６】
請求項１または請求項２記載の分散先印刷装置であって、
前記第１の情報には、前記各分散先印刷装置が、直ちに印刷可能か否かを示す第２の情報が含まれており、
前記第１の情報は、前記第２の情報が直ちに印刷可能でないことを示す場合には、更に、前記印刷可能となるまでの残時間を示す第４の情報を含む、分散先印刷装置。
【請求項７】
複数の分散先印刷装置と、印刷ジョブを前記複数の分散先印刷装置に分散する印刷制御装置とを備える分散印刷システムであって、
前記分散元印刷装置は、
前記印刷ジョブを受信する受信手段と、
前記各分散先印刷装置から前記各分散先印刷装置において印刷可能な時刻に関する第１の情報を取得する取得手段と、
前記各分散先から取得される各前記第１の情報に応じて、前記印刷ジョブにより要求される印刷の負荷を前記各分散先印刷装置に対して割り当てる割当手段と、
前記各分散先印刷装置に割り当てられる負荷に応じて、前記各分散先印刷装置に供給する分散印刷ジョブを個別に生成する分散印刷ジョブ生成手段と、
各前記分散印刷ジョブを、各前記分散先印刷装置に対してそれぞれ送信する送信手段と、を備え、
各前記分散先印刷装置は、
前記分散元印刷装置に供給される前記第１の情報を管理する管理手段と、
前記分散元印刷装置から送信される前記分散印刷ジョブを受信する分散印刷ジョブ受信手段と、
前記分散印刷ジョブを解釈し、前記分散印刷ジョブにより要求される印刷を実行する印刷実行手段と、を備える分散印刷システム。
【請求項８】
印刷ジョブを複数の分散先印刷装置に分散する分散元印刷装置により実行される分散印刷方法であって、
前記印刷ジョブを受信し、
前記各分散先印刷装置から前記各分散先印刷装置において印刷可能な時刻に関する第１の情報を取得し、
前記各分散先から取得される各前記第１の情報に応じて、前記印刷ジョブにより要求される印刷の負荷を前記各分散先印刷装置に対して割り当て、
前記各分散先印刷装置に割り当てられる負荷に応じて、前記各分散先印刷装置に供給する分散印刷ジョブを個別に生成し、
各前記分散印刷ジョブを、各前記分散先印刷装置に対してそれぞれ送信する、分散印刷方法。
【請求項９】
複数の分散先印刷装置と、印刷ジョブを前記複数の分散先印刷装置に分散する分散元印刷装置とを備える分散印刷システムにより実行される分散印刷方法であって、
前記分散元印刷装置は、
前記印刷ジョブを受信し、
前記各分散先印刷装置から前記各分散先印刷装置において印刷可能な時刻に関する第１の情報を取得し、
前記各分散先から取得される各前記第１の情報に応じて、前記印刷ジョブにより要求される印刷の負荷を前記各分散先印刷装置に対して割り当て、
前記各分散先印刷装置に割り当てられる負荷に応じて、前記各分散先印刷装置に供給する分散印刷ジョブを個別に生成し、
各前記分散印刷ジョブを、各前記分散先印刷装置に対してそれぞれ送信し、
各前記分散先印刷装置は、
前記分散元印刷装置に供給される前記第１の情報を管理し、
前記分散元印刷装置から送信される前記分散印刷ジョブを受信し、
前記分散印刷ジョブを解釈し、前記分散印刷ジョブにより要求される印刷を実行する、分散印刷方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷ジョブを２以上の印刷装置に分散して、分散印刷を行う技術に関する。
【背景技術】
【０００２】
ネットワークを介して複数のプリンタと接続されている印刷装置が、複数のプリンタに印刷ジョブを分散する分散印刷システムが普及しつつある。分散印刷システムは、例えば、１つの印刷ジョブに含まれる複数ページをページ単位で複数のプリンタに配分して並行して印刷を行うことにより、短時間で複数ページの印刷を完了できる。
【０００３】
【特許文献１】特開２００２−２６８８５０号公報
【特許文献２】特開２００１−１００９６３号公報
【特許文献３】特開平１１−１１０１４３号公報
【特許文献４】特開２００３−２９５７０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した従来技術の分散印刷システムでは、分散先となるプリンタが直ちに印刷を行えるか否かに関わらず、印刷が要求される複数のページを分散先となる複数の印刷装置に振り分けていた。プリンタは、次のような処理、例えば、電力を節約するためにプリンタエンジンへの電力供給を中断するスタンバイ処理、インクカートリッジのヘッドのクリーニング処理、を実行中の間は、これらの処理が終了するまで印刷を行えない。直ちに印刷を行えるか否かに関わらず印刷すべきページを分散先の印刷装置に振り分けることにより、印刷ジョブにより要求される印刷の完了までの印刷時間が、分散せずに印刷を実行した際の印刷時間よりも長くなり、ユーザにとって不便であるという問題があった。
【０００５】
上述された課題は、複数ページの印刷を要求する印刷ジョブをページ単位で分散する分散印刷システムに固有の課題ではなく、複数部数の印刷が要求される印刷ジョブを部数単位で分散する分散印刷システムにおいても同様の課題である。
【０００６】
本発明は上述した課題に鑑みてなされたものであり、分散印刷におけるユーザの利便性の向上を目的とする。
【課題を解決するための手段】
【０００７】
上述した課題の少なくとも一部を解決するために、本発明は、印刷ジョブを複数の分散先印刷装置に分散する分散元印刷装置において、前記印刷ジョブを受信する受信手段と、前記各分散先印刷装置から前記各分散先印刷装置において印刷可能な時刻に関する第１の情報を取得する取得手段と、前記各分散先から取得される各前記第１の情報に応じて、前記印刷ジョブにより要求される印刷の負荷を前記各分散先印刷装置に対して割り当てる割当手段と、前記各分散先印刷装置に割り当てられた印刷の負荷に応じて、前記各分散先印刷装置に供給する分散印刷ジョブを個別に生成する分散印刷ジョブ生成手段と、各前記分散印刷ジョブを、各前記分散先印刷装置に対してそれぞれ送信する送信手段と、を備えることを要旨とする。
【０００８】
本発明の印刷装置によれば、分散元印刷装置は、各分散先印刷装置の印刷可能な時刻に関する情報に応じて、印刷ジョブにより要求される印刷の負荷を各分散先印刷装置に分散できる。従って、印刷ジョブにより要求される印刷にかかる印刷時間を短縮できるため、ユーザの利便性を向上できる。
【０００９】
本発明の分散元印刷装置において、前記印刷ジョブは、複数のページに渡る印刷を要求する印刷ジョブであり、前記割当手段は、各前記第１の情報に応じて、前記複数のページの互いに異なる一部を割当ページとして前記各分散先印刷装置に割り当て、前記分散印刷ジョブ生成手段は、前記各割当ページの印刷を要求する前記分散印刷ジョブを生成してもよい。
【００１０】
こうすれば、分散元印刷装置は、印刷ジョブにより要求される複数のページを、各分散先印刷装置の印刷可能な時刻に関する情報に応じて、各分散先印刷装置に割り当てることができる。従って、各分散先印刷装置における印刷をほぼ同時に完了でき、ユーザの利便性を向上できる。
【００１１】
本発明の分散元印刷装置において、前記第１の情報には、前記印刷可能となる印刷可能時刻が含まれてもよい。
【００１２】
本発明の分散元印刷装置によれば、分散先印刷装置から取得する第１の情報に、直接、印刷可能となる印刷可能時刻が含まれるため、分散元印刷装置は、印刷ジョブにより要求される印刷の負荷の各分散先印刷装置への割り当てに用いられる情報である印刷可能時刻を簡易に取得できる。従って、印刷の負荷の割り当て処理の効率を向上できる。
【００１３】
また、本発明の分散元印刷装置には、前記第１の情報には、前記印刷可能となるまでの残時間が含まれてもよい。
【００１４】
本発明の分散元印刷装置によれば、分散先印刷装置から取得する第１の情報に、直接、印刷可能となるまでの残時間が含まれるため、分散元印刷装置は、印刷ジョブにより要求される印刷の負荷の各分散先印刷装置への割り当てに用いられる情報である残時間を簡易に取得できる。従って、印刷の負荷の割り当て処理の効率を向上できる。
【００１５】
本発明の分散先印刷装置において、前記第１の情報には、前記各分散先印刷装置が、直ちに印刷可能か否かを示す第２の情報が含まれており、前記第２の情報が直ちに印刷可能でないことを示す場合には、前記第１の情報には、更に、前記印刷可能な時刻を示す第３の情報を含まれてもよい。
【００１６】
本発明の分散元印刷装置によれば、第３の情報が含まれる第１の情報を全分散先印刷装置から取得する必要がないため、分散元印刷装置の処理負荷を軽減できる。
【００１７】
本発明の分散先印刷装置において、
前記第１の情報には、前記各分散先印刷装置が、直ちに印刷可能か否かを示す第２の情報が含まれており、
前記第１の情報は、前記第２の情報が直ちに印刷可能でないことを示す場合には、更に、前記印刷可能となるまでの残時間を示す第４の情報を含んでもよい。
【００１８】
本発明の分散元印刷装置によれば、第４の情報が含まれる第１の情報を全分散先印刷装置から取得する必要がないため、分散元印刷装置の処理負荷を軽減できる。
【００１９】
本発明において、上述した種々の態様は、適宜、組み合わせたり、一部を省略したりして適用することができる。また、本発明は、上述した分散元印刷装置としての構成の他に、分散元印刷装置による分散印刷方法、分散印刷ジョブを生成する分散元印刷装置と、分散印刷ジョブにより要求される印刷を行う分散先印刷装置とを備える分散印刷システム、かかる分散印刷システムによる分散印刷方法、出力装置に出力データを出力させるためのコンピュータプログラム、かかるコンピュータプログラムをコンピュータ読み取り可能に記録した記録媒体等としても構成できる。いずれの構成においても、上述した各態様を適宜適用可能である。コンピュータが読み取り可能な記録媒体としては、例えば、フレキシブルディスクや、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、光磁気ディスク、ＩＣカード、ハードディスク等種々の媒体を利用することが可能である。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施の形態について、実施例に基づき説明する。
【００２１】
Ａ．実施例：
Ａ１．システム構成：
図１は、実施例における分散印刷システム１０００の概略構成を例示する説明図である。分散印刷システム１０００は、クライアントＣＬと、複数のプリンタＰＲＴ１〜ＰＲＴ４を有する。プリンタＰＲＴ１にはネットワークボード１００、が取り付けられており、プリンタＰＴＲ２〜ＰＲＴ４にはネットワークボード２００が取り付けられている。クライアントＣＬとプリンタＰＲＴ１〜ＰＲＴ４はローカルエリアネットワークＬＡＮを介して接続されている。クライアントＣＬおよびプリンタＰＲＴ１〜ＰＲＴ４の間の通信は、ＴＣＰ／ＩＰプロトコルを用いて行われる。図１に示すように、クライアントＣＬには「ＩＰｃ」、プリンタＰＲＴ１〜ＰＲＴ４の各ネットワークボードには、それぞれ「ＩＰ１」〜「ＩＰ４」というＩＰアドレスが設定されている。
【００２２】
プリンタＰＲＴ１に取り付けられているネットワークボード１００はカスタムネットワークボードである（以降、ネットワークボード１００をカスタムネットワークボード１００と呼ぶ）。カスタムネットワークボード１００は、クライアントＣＬから受信した印刷ジョブを他のプリンタに分散して、分散印刷を実行するための分散印刷制御機能を備える。プリンタＰＲＴ２〜プリンタＰＲＴ４にそれぞれ取り付けられているネットワークボード２００は、標準的なネットワークボードである。
【００２３】
印刷ジョブがプリンタＰＲＴ１のカスタムネットワークボード１００からプリンタＰＲＴ１〜ＰＲＴ４に分散される流れを、図１に実線矢印により示す。プリンタＰＲＴ１〜ＰＲＴ４はいずれもネットワークボード１００による分散印刷の分散先とされ得る。プリンタＰＲＴ１は印刷ジョブにより印刷を要求される複数のページの分散元であり、かつ、分散先となりうる。
【００２４】
分散元のプリンタＰＲＴ１は、分散印刷の対象とされている印刷ジョブを受信すると、直ちに印刷を開始できるプリンタにＰＲＴ１に対して先頭ページを割り当てるように、各プリンタに対して割当ページを決定する。分散元プリンタＰＲＴ１は、割り当てられた割当ページの印刷を要求する新たな印刷ジョブを生成し、各分散先プリンタＰＲＴ１〜ＰＲＴ４に生成された印刷ジョブを送信する。本実施例において、プリンタＰＲＴ１およびプリンタＰＲＴ２は印刷ジョブを受信すると直ちに印刷を開始できるプリンタであり、プリンタＰＲＴ３およびプリンタＰＲＴ４は、所定の処理を実行中であるため、印刷ジョブを受信しても直ちに印刷を開始できないプリンタである。
【００２５】
ここで、所定の処理とは、例えば、（１）電力消費を抑制するために、プリンタエンジン９０への電力の供給が抑制・切断する省電力処理、（２）インクカートリッジのノズルの目詰まりを防止・除去するためのクリーニング処理、（３）カラープリンタにおいて、出力された色と実際の色とのバランスのずれを調整するためのキャリブレーション処理、である。
【００２６】
本実施例では、所定の処理を実行中であり直ちに印刷を開始できないプリンタを処理中プリンタ、直ちに印刷を開始でき、印刷ジョブの受信を待機しているプリンタを待機プリンタと呼ぶ。また、分散先とされるプリンタを分散先プリンタと呼ぶ。なお、本実施例において、プリンタＰＲＴ１、ＰＲＴ２は待機プリンタ、プリンタＰＲＴ３およびプリンタＰＲＴ４は処理中プリンタである。プリンタＰＲＴ３はスタンバイ処理、プリンタＰＲＴ４は、クリーニング処理をそれぞれ実行中である。
【００２７】
プリンタＰＲＴ１、プリンタＰＲＴ２およびクライアントＣＬの構成について、図２を用いて説明する。図２は、本実施例におけるプリンタＰＲＴ１、プリンタＰＲＴ２、およびクライアントＣＬの機能ブロックを例示する説明図である。本実施例におけるプリンタＰＲＴ１、ＰＲＴ２には、それぞれ、電源が投入されてからの経過時間をカウントアップするカウントアップタイマー（図示しない）が備えられている。プリンタＰＲＴ１、ＰＲＴ２は、ぞれぞれのカウントアップタイマーにより示される経過時間を各プリンタの現在時刻として管理する。すなわち、電源が投入されてから１分後には、プリンタＰＲＴ１〜ＰＲＴ２の現在時刻は「００：０１：００」となる。
【００２８】
プリンタＰＲＴ１は、図２に示すようにプリンタ本体ＰＲＢ１と上述したカスタムネットワークボード１００とを備える。プリンタ本体ＰＲＢ１は、プリンタコントローラ８０と、プリンタエンジン９０とを備える。プリンタエンジン９０は実際に印刷を実行する。プリンタコントローラ８０は後述する印刷ジョブ受信部６０から供給される印刷ジョブを受け取り、受け取った印刷ジョブを解釈してプリンタエンジン９０に印刷を実行させる。プリンタコントローラ８０は、供給される印刷ジョブを始めとするデータを一時的に格納するプリンタバッファ８２を備える。また、プリンタコントローラ８０は、ＭＩＢ（Management Information Base）ファイル８１を有する。
【００２９】
ＭＩＢファイル８１には、プリンタコントローラ８０によって収集されるプリンタ本体ＰＲＢ１に関する種々の情報がオブジェクト単位で保存される。オブジェクトごとにオブジェクトＩＤが割り振られている。ＭＩＢファイル８１に格納されている種々の情報の中に、前述の所定の処理に関する種々の情報が含まれる。本実施例では、所定の処理の開始時間、所定の処理にかかる時間長さが格納されている。例えば、プリンタＰＲＴ１がクリーニング中である場合、ＭＩＢファイル８１にはクリーニング処理の開始時間およびクリーニング処理にかかる時間長さが含まれている。ＭＩＢファイル８１に格納されている種々の情報には、また、例えば、クリーニングが完了され印刷可能となる印刷可能時刻、クリーニングが完了され印刷可能となるまでの残時間が含まれていてもよい。
【００３０】
カスタムネットワークボード１００は、ＣＰＵ２０、メモリ３０および通信を行うための通信用インターフェース等を備える。説明の便宜上、通信用インターフェース等の構成については省略する。
【００３１】
ＣＰＵ２０は、メモリ３０から分散印刷を実行するためのソフトウェアプログラムを読み出して実行することにより、図示する各機能ブロックをソフトウェア的に実現する。なお。各機能ブロックをハードウェア的に構成してもかまわない。
【００３２】
ＣＰＵ２０によって実現される機能ブロックには、ＴＣＰ／ＩＰ部１０と、分散制御部５０と、印刷ジョブ受信部６０と、ＳＮＭＰマネージャ４０と、ＳＮＭＰエージェント７０が含まれる。
【００３３】
ＴＣＰ／ＩＰ部１０は、ＴＣＰ／ＩＰプロトコルを解釈してネットワークを介して外部との通信を行う。ＴＣＰ／ＩＰ部１０は、ＴＣＰを用いて後述する印刷ジョブの通信行うとともに、ＵＤＰを用いてＳＮＭＰマネージャ４０とＳＮＭＰエージェント７０間の通信を行う。
【００３４】
分散制御部５０は、分散ジョブ受信部５２、分散先特定部５４、割当ページ決定部５６、印刷ジョブ送信部５８を備える。分散ジョブ受信部５２は、クライアントＣＬから第１の印刷ジョブを受信する。
【００３５】
分散先特定部５４は、ローカルエリアネットワークＬＡＮに接続されている複数のプリンタが所定の処理中であるかを確認し、所定の処理中である場合には所定の処理の開始時間および所定の処理に係る時間長さを取得する。分散先特定部５４は、取得された所定の処理の開始時間および所定の処理に係る時間長さと、第１の印刷ジョブにより印刷を要求される総ページ数とに基づき、複数のプリンタの中から第１の印刷ジョブの分散先となる複数のプリンタを特定する。
【００３６】
分散先特定部５４は、また、所定の処理が完了するまでの残時間を算出し、算出された残時間に応じて各分散先プリンタに割り当てる割当ページ数を決定する。分散先特定部５４は、割当ページ数を決定する際に、待機プリンタが複数存在する場合には割当ページが各待機プリンタにほぼ均等に割り当てられるように決定する。ここで、「ほぼ均等」とは、割当ページ数を算出する段階で、総ページ数の関係上、完全に均等に割り当てることができず端数のページ数が発生した場合、各待機プリンタに割り当てられる割当ページ数の差が１ないし２ページ程度となることを指す。例えば、残ページ数が２１ページであるのに対し、待機プリンタが４台存在する場合、１台目の待機プリンタに５ページ、２台目から４台目の分散先プリンタに４ページ割り当てる。このように、待機プリンタに印刷させるページ数をほぼ均等に割り当てることとすれば、効率的に印刷を行うことができる。
【００３７】
割当ページ決定部５６は、分散先特定部５４によって決定された割当ページ数に応じて各分散先プリンタに割り当てられる割当ページを決定する。
【００３８】
印刷ジョブ送信部５８は、割当ページの印刷を分散先プリンタに要求する印刷ジョブ（以下、第２の印刷ジョブと呼ぶ）を、各分散先プリンタに対して送信する。
【００３９】
印刷ジョブ受信部６０は、分散印刷が指定されていない通常の印刷ジョブ、例えば、上述した第２の印刷ジョブを受信し、プリンタコントローラ８０に供給する。
【００４０】
ＳＮＭＰマネージャ４０は、ＳＮＭＰ（Simple Network Management Protocol）を用いて各プリンタＰＲＴ１〜ＰＲＴ４が備えるＳＮＭＰエージェント７０に問い合わせて各種の情報を取得する。ＳＮＭＰマネージャ４０は、オブジェクトＩＤを指定することにより取得すべき情報を特定して問い合わせを行う。
【００４１】
ＳＮＭＰエージェント７０は、ＭＩＢファイル８１を管理し、ＳＮＭＰマネージャ４０の問い合わせに応じてＭＩＢファイル８１から所望の情報を取得し、ＳＮＭＰマネージャ４０に対して取得した情報を送信する。
【００４２】
メモリ３０は、上述された各機能を実現するためのプログラムを格納する他、オブジェクトＩＤ格納部３２、バッファ３６を有する。オブジェクトＩＤ格納部３２には、ＳＮＭＰマネージャ４０が問い合わせを行う際に指定するオブジェクトＩＤが格納されている。オブジェクトＩＤは、問い合わせ可能な情報と関連づけられて格納されている。ＳＮＭＰマネージャ４０は、オブジェクトＩＤ格納部３２を参照して指定すべきオブジェクトＩＤを取得することができる。
【００４３】
プリンタＰＲＴ２〜プリンタＰＲＴ４は、同一の構成を有しているので、代表してプリンタＰＲＴ２の構成について説明する。プリンタＰＲＴ２は、図２に示すように、プリンタ本体ＰＲＢ２および上述したネットワークボード２００を備える。プリンタ本体ＰＲＢ２の構成は、上述したプリンタＰＲＴ１のプリンタ本体ＰＲＢ１と同一の構成を有しているので、各構成要素にプリンタＰＲＴ１のプリンタ本体ＰＲＢ１の構成要素と同一の符号を付しその説明を省略する。
【００４４】
ネットワークボード２００は、ＴＣＰ／ＩＰ部１０と、印刷ジョブ受信部６０と、ＳＮＭＰエージェント７０とを有している。ネットワークボード２００の各構成要素のうち、カスタムネットワークボード１００の構成要素と同名の構成要素は、カスタムネットワークボード１００の各構成要素と同様の機能や構成を有しているのでその説明を省略する。
【００４５】
ここで、上記説明から解るように、プリンタＰＲＴ１〜プリンタＰＲＴ４に搭載されたネットワークボードには通常の印刷を実行するための機能（ＴＣＰ／ＩＰ部１０、印刷ジョブ受信部６０、プリンタ本体ＰＲＢ１）を全て備えている。カスタムネットワークボード１００の分散制御部５０からみて、プリンタＰＲＴ１〜プリンタＰＲＴ４は、全て等価であり、後述する分散印刷処理において全て分散先プリンタとして指定され得る。分散制御部５０は、分散制御部５０自体が内蔵されているプリンタＰＲＴ１についても、他のプリンタについても区別なく扱うことができる。
【００４６】
クライアントＣＬは、図２に示すように、アプリケーション１１の他、機能ブロックとして、ＴＣＰ／ＩＰ部１３と印刷ジョブ送信部１２とを有している。ＴＣＰ／ＩＰ部１３は、上述したカスタムネットワークボード１００のＴＣＰ／ＩＰ部１０と同様の機能および構成を有している。印刷ジョブ送信部１２は、アプリケーション１１の印刷要求に応じて印刷ジョブを生成し、ＴＣＰ／ＩＰ部１３を介して生成された印刷ジョブをプリンタＰＲＴ１に送信する。なお、分散印刷が指定された第１の印刷ジョブは、カスタムネットワークボード１００を備えるプリンタＰＲＴ１に対してのみ送信され、分散印刷が指定されていない通常の印刷ジョブは、プリンタＰＲＴ１〜ＰＲＴ４のいずれに対しても送信されることができる。
【００４７】
本実施例に用いられる印刷ジョブについて、図３を参照して説明する。図３は、印刷ジョブの構成を説明する概念図である。図３（ａ）は、印刷ジョブの通信に用いられる通信データの構成を示している。図３（ｂ）は、印刷ジョブのデータ構造を示している。
【００４８】
印刷ジョブは、ＴＣＰ／ＩＰプロトコルに従った形式の通信データとして送信される。この通信データは、図３（ａ）に示すように、ヘッダ４００と、データ部４５０とに分かれている。このうち、ヘッダ４００には、その通信データの送信元である機器のＩＰアドレスである送信元ＩＰアドレスＳＡと、その機器内における送信元であるソフトウェアを特定するポート番号である送信元ポート番号ＳＰと、を含む他、その通信データの送信先である機器のＩＰアドレスである送信先ＩＰアドレスＤＡと、その機器内における送信先であるソフトウェアを特定するポート番号である送信先ポート番号ＤＰとを含んでいる。送信元である機器のソフトウェアから発信された通信データは、送信先ＩＰアドレスＤＡに従って、そのＩＰアドレスを有する機器に送信される。さらに、受信したその機器内では、送信先ポート番号ＤＰに従って、その番号のポートで待機しているソフトウェアに渡される。データ部４５０は、通信の対象となるデータが格納される部分であり、本実施例では、印刷ジョブが格納される。
【００４９】
例えば、クライアントＣＬからプリンタＰＲＴ１に分散印刷が指定された第１の印刷ジョブを送信する場合、通信データのヘッダ４００には、上述した送信先ＩＰアドレスＤＡとしてプリンタＰＲＴ１のＩＰアドレスである「ＩＰ１」が、送信先ポート番号ＤＰとして「５９１００」がそれぞれ記載される。「５９１００」は、第１の印刷ジョブを受信する分散制御部５０が待機しているポート番号である。また、ヘッダ４００には、送信元ＩＰアドレスＳＡとして「ＩＰｃ」が、送信元ポート番号ＳＰとして印刷ジョブ送信部１２が待機しているポート番号（具体的な数字は省略）が記載される。一方、クライアントＣＬからプリンタＰＲＴ１に分散印刷が指定されていない通常の印刷ジョブを送信する場合、送信先ポート番号ＤＰとして上述した「５９１００」に代えて、「９１００」が記載される。「９１００」は、通常の印刷ジョブの受信を行う印刷ジョブ受信部６０が待機しているポート番号である。すなわち、本実施例では、印刷ジョブ送信部１２は、ユーザの要求に応じて印刷ジョブの送信時に指定される送信先ポート番号ＤＰの値を切り換えることにより、分散印刷を指定するか、指定しないかを選択することができる。言い換えれば、分散印刷が指定された第１の印刷ジョブは、ポート番号「５９１００」で待機する分散制御部５０に受信される印刷ジョブのことを指し、分散印刷が指定されていない通常の印刷ジョブは、ポート番号「９１００」で待機する印刷ジョブ受信部６０に渡される印刷ジョブを指している。印刷ジョブの内容自体は、基本的に第１の印刷ジョブと通常の印刷ジョブとの間に違いはない。
【００５０】
図３（ｂ）を参照して、印刷ジョブのデータ構造について説明する。印刷ジョブＪＢは、図３（ｂ）に示すように、ジョブ制御言語部５０１と、ページ記述言語部５０２を有している。ページ記述言語部５０２は、印刷内容を表す印刷データが所定のページ記述言語を用いて記述されている部分である。ページ記述言語としては、ESC/PageやPostscriptなどが用いられ得る。ジョブ制御言語部５０１には、ページ記述言語部５０２に記述された印刷データを印刷するために必要な属性が記述されている。ジョブ制御言語部５０１は、所定のジョブ制御言語、本実施例ではＥＪＬ（Epson Job Language）を用いて記述されている。
【００５１】
図３（ｂ）の下側は、ジョブ制御言語部５０１に記述された内容の具体例を示している。ジョブ制御言語部５０１は、上述した属性として、印刷用紙サイズ、ページ記述言語部５０２の記述に使用されているページ記述言語の種別と共に、総ページ数情報ＴＰ、印刷部数ＱＴを含んでいる。総ページ数情報ＴＰは、ページ記述言語部５０２に含まれる印刷データの総ページ数を示している。図３（ｂ）に示す例では、総ページ数情報ＴＰとして、総ページ数は３４ページであることが記述されている。印刷部数ＱＴは、ページ記述言語部５０２に含まれる印刷データの印刷部数を示している。図３（ｂ）に示す例では、印刷部数ＱＴとして３０部であることが記述されている。
【００５２】
ジョブ制御言語部５０１には、さらに、ページ特定情報ＰＥを含めることができる。ページ特定情報ＰＥは、ページ記述言語部５０２に含まれる印刷データの全てのページの中から印刷すべきページを特定する情報である。印刷ジョブのジョブ制御言語部５０１にページ特定情報ＰＥが含まれている場合、印刷ジョブを受信したプリンタＰＲＴは、後述するように、ページ記述言語部５０２に含まれる印刷データのうちページ特定情報ＰＥによって特定されたページのみを選択的に印刷する。ページ特定情報ＰＥは、開始ページ番号Ｓ、および、終了ページ番号Ｅを含んでいる。これによって、開始ページ番号Ｓから終了ページ番号Ｅまでの、１または連続する複数のページが指定される。図３（ｂ）に示す例では、先頭ページ番号（STARTPAGE）として「１１」が、終了ページ番号（ENDPAGE）として「２０」が記述されている。したがって、図３（ｂ）に示す印刷ジョブは、１〜３４ページまでの３４ページ分の印刷データを含んでいるが、そのうち１１ページから２０ページまでの１０ページの印刷を要求していることになる。一方、ジョブ制御言語部５０１にページ特定情報ＰＥが含まれていない印刷ジョブは、ページ記述言語部５０２に含まれる印刷データの全てのページの印刷を要求しているものと解釈される。
【００５３】
Ａ２．分散印刷処理：
図４〜図１０を参照して上述した印刷ジョブを用いて行われる本実施例における分散印刷処理について詳細に説明する。図４は、分散印刷処理の概要を示す説明図である。図５は、分散印刷処理を説明するフローチャートである。図６および図７は、分散先プリンタ特定処理を説明するフローチャートである。図９は、各分散先印刷装置へのページ数の割り当てについて説明する説明図である。図１０は、各分散先印刷装置へのページの割り当てを示す割当テーブルである。
【００５４】
図４を用いて、分散印刷処理について説明する。本実施例では、クライアントＣＬからプリンタＰＲＴ１に対して分散印刷が指定された第１の印刷ジョブＪＢ１が送信される。そして、第１の印刷ジョブＪＢ１を受信したプリンタＰＲＴ１の分散制御部５０が、第１の印刷ジョブにより要求される印刷を、分散先プリンタとしての４つのプリンタＰＲＴ１〜ＰＲＴ４に分散する。
【００５５】
クライアントＣＬからプリンタＰＲＴ１に送信される第１の印刷ジョブＪＢ１は、送信先ＩＰアドレスＤＡとして「ＩＰ１」、送信先ポート番号ＤＰとして「５９１００」が記述されたヘッダ４００を有する通信データとして送信される。実際には、第１の印刷ジョブＪＢ１は、複数のＴＣＰパケットに分割され、分割されたパケットごとにヘッダ４００が付加されて、送信される。しかしながら、図４では、図を見やすくするため、第１の印刷ジョブＪＢ１全体に、１つのヘッダ４００が付加された図を示している。このような図示は、後述する第２の印刷ジョブＪＢ２１〜ＪＢ２４についても同様である。
【００５６】
第１の印刷ジョブＪＢ１のジョブ制御言語部５０１には、上述した総ページ数情報ＴＰが含まれ、図４に示す例では、総ページ数情報ＴＰには総ページ数Ｑ＝３４であることが記述されている。
【００５７】
第１の印刷ジョブＪＢ１のページ記述言語部５０２には、総ページ数Ｑに対応する印刷データがページ記述言語により記述されている。図４に示す例では、３４ページ分の印刷データＤＴが、ページ記述言語部５０２に記述されている。
【００５８】
図５を用いて分散印刷処理の流れを説明する。分散印刷処理は、カスタムネットワークボード１００のＣＰＵ２０が備える分散制御部５０によって実行される。カスタムネットワークボード１００が搭載されたプリンタＰＲＴ１が、印刷ジョブを受け付ける状態にあるとき、分散制御部５０の分散ジョブ受信部５２は、クライアントＣＬから送信される第１の印刷ジョブＪＢ１、すなわち、送信先ポート番号ＤＰが「５９１００」である印刷ジョブの着信を検出すると（ステップＳ１０２）、分散ジョブ受信部５２は、ＴＣＰ／ＩＰ部１０を介して、第１の印刷ジョブＪＢ１を受信する。分散ジョブ受信部５２は、まず、ジョブ制御言語部５０１を含む印刷ジョブの先頭部分を受信する（ステップＳ１０４）。
【００５９】
分散制御部５０は、受信された第１の印刷ジョブにより印刷を要求される総ページ数Ｑを取得する（ステップＳ１０６）。具体的には、分散制御部５０は、ジョブ制御言語部５０１を読み出し、第１の印刷ジョブに含まれる総ページ数情報ＴＰに記述されている総ページ数Ｑ＝３４を取得する。続いて分散制御部５０は、分散先プリンタを特定する処理を行う（ステップＳ１０８）。
【００６０】
図６および図７を用いて、分散先プリンタ特定処理について説明する。図６および図７は、本実施例における分散先プリンタ特定処理を説明するフローチャートである。
【００６１】
分散先特定部５４は、ローカルエリアネットワークＬＡＮに接続されている機器のＩＰアドレスを取得する（ステップＳ２０２）。分散先特定部５４は、取得されたＩＰアドレスが割り当てられた各機器に関する情報を取得する（ステップＳ２０４）。具体的には、分散先特定部５４は、ＳＮＭＰマネージャ４０を用いて、ユニキャストで各機器に対して問い合わせを行い、問い合わせの応答として、各機器のＳＮＭＰエージェント７０から機種名およびステータスを取得する。
【００６２】
分散先特定部５４は、取得された機種名およびステータスに基づいて、ローカルエリアネットワークＬＡＮに接続された機器の中から所定の条件を満たすプリンタを検索し、検索されたプリンタを分散先候補プリンタとして特定する（ステップＳ２０６）。所定の条件の一例を以下に示す。
１．分散元のプリンタＰＲＴ１と同一の機種であること。
２．トナー残量が所定の閾値以上であること。
３．自己復帰不可能なエラーが発生していないこと。
【００６３】
これらの項目についての情報は、全て上述のＳＮＭＰマネージャ４０による問い合わせによって各機器のＳＮＭＰエージェント７０から取得することができる。条件１．として挙げるように、分散元のプリンタＰＲＴ１と同一機種であることを分散先候補プリンタとして選択するのは、分散印刷を行う際に各分散先プリンタにおいて印刷ジョブの展開処理、例えば、印刷ジョブのデータ変換をすることなく、適正な印刷を行わせるためである。条件２は、印刷途中でトナー切れとならないための条件である。条件３に示す「自己復帰不可能なエラー」とは、オペレータがプリンタの設置されている場所まで出向き、修理する必要のあるエラーを示す。「自己復帰不可能なエラー」には、例えば、紙詰まりが含まれる。
【００６４】
分散先特定部５４は、１台以上の分散先候補プリンタが特定されたか否かを判断する（ステップＳ２０８）。１台以上の分散先候補プリンタが特定されない場合（ステップＳ２０８：ＮＯ）、分散先特定部５４は、所定時間待機して（ステップＳ２１２）、ステップＳ２０２〜ステップＳ２０８の処理を繰り返す。
【００６５】
１台以上の分散先候補プリンタが特定された場合（ステップＳ２０８：ＹＥＳ）、分散先特定部５４は、所定の処理を実行中である処理中プリンタが存在するか否かを判断する（ステップＳ２１０）。処理中プリンタが存在しない場合、すなわち、全ての分散先候補プリンタが直ちに印刷可能な待機プリンタである場合（ステップＳ２１０：ＮＯ）、分散先特定部５４は、分散先候補プリンタの全てを分散先プリンタとして特定し（ステップＳ２１６）、分散先プリンタ特定処理を終了する。
【００６６】
処理中プリンタが存在する場合（ステップＳ２１０：ＹＥＳ）、分散先特定部５４は、各処理中プリンタが印刷を行えるようになるまでの残時間を取得する（ステップＳ２１８）。
【００６７】
分散先特定部５４が残時間を取得する取得処理について、図８を用いて説明する。図８は、本実施例における残時間取得処理を説明するフローチャートである。
【００６８】
分散先特定部５４は、ＳＮＭＰマネージャ４０を用いて、各処理中プリンタのＳＮＭＰエージェント７０に対して実行中の処理の開始時刻、処理の開始から完了までにかかる時間を問い合わせ、開始時間、処理にかかる時間を取得する（ステップＳ２６０，Ｓ２６２）。開始時間とは、処理の開始時点で処理中プリンタのカウントアップタイマーが示している時間である。
【００６９】
続いて、分散先特定部５４は処理中プリンタの現在時刻を取得する（ステップＳ２６４）。分散先特定部５４は、取得された開始時間、処理にかかる時間、および、現在時刻を用いて、現時点から処理が完了するまでの残時間を算出する（ステップＳ２６６）。具体的には、以下の式（１）を適用することにより算出される。なお、算出される残時間＝Ｗｘ、開始時間ｔ１、処理にかかる時間＝Ｌ、現在時刻＝ｔｔとする。Ｗｘのｘは第１実施例と同様に処理中プリンタに一意に割り振られる番号であり、処理中プリンタのうち各プリンタの符号ＰＲＴ１，ＰＲＴ２等の末尾の数字の早い順に１から昇順で割り振られている。
【００７０】
【数１】
2007076108.tif 000003
【００７１】
分散先特定部５４は、算出された残時間を用いて、各分散先候補プリンタに割り当てる割当ページ数を算出する（ステップＳ２２０）。分散先候補プリンタに割り当てる割当ページ数は、各分散先プリンタの印刷完了がほぼ同時となるように算出される。
【００７２】
第１の印刷ジョブＪＢ１により印刷を要求される総ページ数を、各分散先プリンタにおける印刷完了がほぼ同時となるように割当ページ数を決定する方法を、図９を参照して説明する。
【００７３】
図９は、本実施例における割当ページ数の決定について説明する割当図である。各分散先プリンタに割り当てられるページ数を斜線で示す。割当図６００の横軸は時間ｔを表している。本実施例では、以降、印刷を要求される総ページ数＝Ｑ、分散先プリンタの数＝Ｍ、全分散先プリンタの数＝Ｎ、分散先プリンタのうち待機プリンタの数＝Ｎ1、分散先プリンタのうち処理中プリンタの数＝Ｎ2、処理中プリンタの印刷可能となるまでの残時間Ｗｘ、各プリンタに割り当てられる割当ページ数＝Ｐ（ｙ）、分散先プリンタの１秒あたりの印刷可能ページ数、すなわちエンジンスピード＝Ｖとする。残時間Ｗｘにおけるｘは各処理中プリンタの符号の末尾の数字の早い順に、１，２…と昇順に割り振られる。例えば、本実施例では、プリンタＰＲＴ３およびプリンタＰＲＴ４が処理中プリンタであるため、Ｗ1はプリンタＰＲＴ３において実行中のスタンバイの完了までの残時間を示し、Ｗ2はプリンタＰＲＴ４において実行中のクリーニングの完了までの残時間を示す。Ｗｘの単位は秒（ｓ）である。Ｐ（ｙ）におけるｙは、各プリンタの符号の末尾の数字に対応している。例えば、Ｐ（２）は、プリンタＰＲＴ２に割当られる割当ページ数を示す。
【００７４】
本実施例では、分散処理が開始されてから分散印刷ジョブが各分散先プリンタに受信されるまでの時間を無視できるものとし、分散元プリンタＰＲＴ１は時間ｔ＝０に分散処理を開始し、各分散先プリンタは時間ｔ＝０に分散印刷ジョブを受信する。割当図６００中に示すマーク「▲」は、印刷可能となる時点を示す。全ての分散先プリンタにおける印刷が完了するまでに必要な印刷時間を時間Ｔとして示す。例えば、プリンタＰＲＴ３は、時間ｔ＝Ｗ１に印刷可能となり、印刷を開始する。
【００７５】
本実施例では、プリンタＰＲＴ３およびＰＲＴ４は処理中プリンタであるが、もしプリンタＰＲＴ３がスタンバイ処理中でなければ、プリンタＰＲＴ３は残時間Ｗ１の間に「Ｗ１／Ｖ」ページ分の印刷を行うことができる。また、もしプリンタＰＲＴ４がクリーニング処理中でなければ、プリンタＰＲＴ４は残時間Ｗ２の間に「Ｗ２／Ｖ」ページ分の印刷を行うことができる。ここで、プリンタＰＲＴ３およびＰＲＴ４が処理中でない場合、分散元プリンタＰＲＴ１は総ページ数Ｑを４台の分散先プリンタＰＲＴ１〜ＰＲＴ４に均等に割り当てることにより、全分散先プリンタにおいてほぼ同時に印刷を完了できる。従って、待機プリンタＰＲＴ１、ＰＲＴ２に割当られる割当ページ数は、次のように算出される。
Ｐ（１）＝（Ｑ＋Ｗ１／Ｖ＋Ｗ２／Ｖ）／Ｎ
【００７６】
また、処理中プリンタＰＲＴ３に割り当てられるページ数は、Ｐ（１）を考慮して次のように算出される。
Ｐ（３）＝Ｐ（１）―Ｗ１／Ｖ
【００７７】
プリンタＰＲＴ４もプリンタＰＲＴ３と同様に次のように算出される。
Ｐ（４）＝Ｐ（１）―Ｗ２／Ｖ
【００７８】
以上の説明を考慮し、各分散先プリンタに割り当てられる割当ページ数は、以下の計算式を用いて算出される。以下に示す式（２）は、待機プリンタに割り当てられる割当ページ数を算出する式であり、式（３）は、処理中プリンタに割り当てられる割当ページ数を算出する式である。
【００７９】
【数２】
2007076108.tif 000004
【００８０】
【数３】
2007076108.tif 000005
【００８１】
ここで、式（２）、式（３）における関数Ｉｎｔ（ａ）は、数値ａの整数部分を取り出す関数である。例えば、Ｉｎｔ（１．２３）＝１である。この数式にそれぞれ数値Ｑ，Ｗｘ、Ｍ、Ｎ1、Ｎ2、Ｖを代入することにより各分散先候補プリンタに割り当てられる割当ページ数が算出される。例えば、第１の印刷ジョブにより印刷を要求される総ページ数Ｑ＝３４、プリンタＰＲＴ３の残時間Ｗ1＝４、プリンタＰＲＴ４の残時間Ｗ2＝２、エンジンスピードＶ＝１の場合、各分散先候補プリンタに割り当てられる割当ページ数は、以下に示すように算出される。
【００８２】
・プリンタＰＲＴ１およびプリンタＰＲＴ２（以下の式はＰＲＴ１の割り当て割当ページ数）
【数４】
2007076108.tif 000006
・プリンタＰＲＴ３
【数５】
2007076108.tif 000007
・プリンタＰＲＴ４
【数６】
2007076108.tif 000008
【００８３】
分散先特定部５４は、上記割当ページ数の計算結果をもとに、図１０に示す割当テーブルＴＢを作成する。分散先特定部５４は割当テーブルＴＢをメモリ３０に格納する。割当テーブルＴＢは、各分散先プリンタのステータス、算出された残時間、式（２）、式（３）によって算出された割当ページ数、および、各プリンタに割り当てられる割当ページを示す。割当ページの割り当てについては後述する。図１０に示すように、例えば、プリンタＰＲＴ３はスタンバイ処理中であり、スタンバイ処理の完了、すなわち、スタンバイからの復帰までの残時間は４ｓである。そして、プリンタＰＲＴ３に割り当てられる割当ページ数は、上記の計算で示すように６ページとなる。また、待機プリンタであるプリンタＰＲＴ１およびプリンタＰＲＴ２に割り当てられる割当ページ数は１０ページ、クリーニング処理中であるプリンタＰＲＴ４に割り当てられる割当ページ数は８ページとなる。いずれの待機プリンタも上述の式（２）を用いて割当ページ数が算出されるため、割当ページは均等に算出される。
【００８４】
分散先特定部５４は、分散先候補プリンタのうちの処理中プリンタが、他の分散先候補プリンタの印刷の完了とほぼ同時に印刷を完了できるか否かを判断する（ステップＳ２２２）。分散先特定部５４は、式（３）によって算出されるＰ２（ｙ）が０未満となるか否かに基づき、上記判断を行う。すなわち、分散先特定部５４は、Ｐ２（ｙ）＜０の場合、分散先候補プリンタのうちの処理中プリンタが、他の分散先候補プリンタの印刷の完了とほぼ同時に印刷を完了できないと判断し（ステップＳ２２２：ＹＥＳ）、その処理中プリンタを分散先候補プリンタから除外する（ステップＳ２２４）。分散先特定部５４は、残りの分散先候補プリンタに割り当てられる割当ページ数を再計算する（ステップＳ２２０）。
【００８５】
分散先特定部５４は、Ｐ２（ｙ）＜０でない場合、他の分散先候補プリンタの印刷の完了とほぼ同時に印刷を完了できない処理中プリンタは存在しないと判断し（ステップＳ２２２：ＮＯ）、その時点で残っている分散先候補プリンタを分散先プリンタと特定する（ステップＳ２２６）。本実施例では、Ｐ２（ｙ）＜０となる処理中プリンタは存在しないため、全ての分散先候補プリンタを分散先プリンタと特定する。
【００８６】
Ｐ２（ｙ）＜０となる場合を説明する。例えば、第１の印刷ジョブにより印刷を要求される総ページ数Ｑ＝８、プリンタＰＲＴ３の残時間Ｗ１＝１６、プリンタＰＲＴ４の残時間Ｗ２＝１、エンジンスピードＶ＝１の場合、Ｐ（ｙ）は、１巡目の計算では次に示すように算出される。
・プリンタＰＲＴ１
Ｐ（１）＝６
・プリンタＰＲＴ２
Ｐ（２）＝６
・プリンタＰＲＴ３
Ｐ（３）＝−１０
・プリンタＰＲＴ４
Ｐ（４）＝５
【００８７】
Ｐ（３）＝−１０＜０となるため、プリンタＰＲＴ３を分散先候補プリンタから除外して（ステップＳ２２４）、分散先候補プリンタを残りの３台のプリンタＰＲＴ１、ＰＲＴ２、ＰＲＴ４として、割当ページ数を再計算する（ステップＳ２２０）。各分散先プリンタの割当ページ数は、次に示すように算出される。
【００８８】
・プリンタＰＲＴ１
Ｐ（１）＝３
・プリンタＰＲＴ２
Ｐ（２）＝３
・プリンタＰＲＴ４
Ｐ（４）＝２
【００８９】
Ｐ（ｙ）＜０となる分散先候補プリンタはないため、分散先特定部５４は、プリンタＰＲＴ１、プリンタＰＲＴ２、プリンタＰＲＴ４の３台の分散先候補プリンタを分散先プリンタと特定するとともに、プリンタＰＲＴ１、ＰＲＴ２に割り当てる割当ページ数を３ページ、プリンタＰＲＴ４に割り当てる割当ページ数を２ページとする。
【００９０】
分散先プリンタが特定されると、分散制御部５０の割当ページ決定部５６は、分散先プリンタ特定処理において決定された割当ページ数に応じて各分散先プリンタに割り当てるページを決定する（ステップＳ１１０）。このとき、割当ページ決定部５６は、印刷ジョブによって印刷が要求される複数のページの先頭ページが分散先プリンタの中の待機プリンタのいずれかに割り当てられるように割当ページを決定する。
【００９１】
割当ページ決定部５６は、図１０に示す割当テーブルＴＢを参照して、各分散先プリンタに対して割当ページの開始ページ番号Ｓ（ｙ）および終了ページ番号Ｅ（ｙ）を決定する。例えば、プリンタＰＲＴ１の開始ページ番号Ｓ（１）＝１、終了ページ番号Ｅ（１）＝１０であり、プリンタＰＲＴ２の開始ページ番号Ｓ（２）＝１１、終了ページ番号Ｅ（２）＝２０である。本実施例では、このように待機プリンタであるプリンタＰＲＴ１に先頭ページ（ページ番号１）が割り当てられる。プリンタＰＲＴ２も待機プリンタであるため、プリンタＰＲＴ２に割り当ててもよい。本実施例では、割当ページ決定部５６は、ページ番号の若い順に待機プリンタに優先してページを割り当てる。なお、先頭ページを分散先プリンタのうちの待機プリンタのいずれかに割り当てれば、他の分散先プリンタへの割当ページはどのように決定してもよい。
【００９２】
各分散先プリンタについて、割当ページの開始ページ番号Ｓ（ｙ）および終了ページ番号Ｅ（ｙ）が決定される、すなわち、各分散先プリンタが印刷する割当ページが決定されると、分散制御部５０の印刷ジョブ送信部５８は、割当ページの印刷を要求する第２の印刷ジョブを、各分散先プリンタに対して送信する（ステップＳ１１２〜Ｓ１１４）。図４には、各分散先プリンタとしてのプリンタＰＲＴ１〜ＰＲＴ４に送信される第２の印刷ジョブＪＢ２１〜ＪＢ２４がそれぞれ示されている。
【００９３】
図４に示すように、第２の印刷ジョブＪＢ２１〜ＪＢ２４を送信する通信データのヘッダ４００には、送信先ＩＰアドレスＤＡとしてそれぞれの分散先であるプリンタＰＲＴのＩＰアドレス「ＩＰ１」、「ＩＰ２」、「ＩＰ３」「ＩＰ４」が記述される。さらに、これらのヘッダ４００には、送信先ポート番号ＤＰとして「９１００」が記述される。
【００９４】
第２の印刷ジョブＪＢ２１〜ＪＢ２４のジョブ制御言語部５０１は、第１の印刷ジョブＪＢ１のジョブ制御言語部５０１に上述したページ特定情報ＰＥを追加したものである。ページ特定情報ＰＥには、上述したステップＳ１１０において算出された各分散先プリンタの割当ページの開始ページ番号Ｓ（ｙ）および終了ページ番号Ｅ（ｙ）が記述される。
【００９５】
第２の印刷ジョブＪＢ２１〜ＪＢ２４のページ記述言語部５０２は、第１の印刷ジョブＪＢ１のページ記述言語部５０２と全く同一である。すなわち、第２の印刷ジョブＪＢ２１〜ＪＢ２４のページ記述言語部５０２には、総ページ数Ｑに対応する印刷データがページ記述言語により記述されている。図４に示す例では、３４ページ分の印刷データＤＴが、ページ記述言語部５０２に記述されている。
【００９６】
第２の印刷ジョブＪＢ２１〜ＪＢ２４の送信を、ステップごとに説明する。まず、分散制御部５０の印刷ジョブ送信部５８は、ジョブ制御言語部５０１に各分散先プリンタ用のページ特定情報ＰＥを追加した上で、ジョブ制御言語部５０１を含む第２の印刷ジョブＪＢ２１〜ＪＢ２４の先頭部分を、それぞれ各プリンタＰＲＴ１〜ＰＲＴ４（分散先プリンタ）に送信する（ステップＳ１１２）。次に、分散制御部５０の分散ジョブ受信部５２は、第１の印刷ジョブＪＢ１の先頭部分以降の部分をクライアントＣＬから受信し、分散制御部５０の印刷ジョブ送信部５８は、受信された先頭部分以降の部分を、そのまま順次各プリンタＰＲＴ１〜ＰＲＴ４に送信する（ステップＳ１１４）。その後、分散制御部５０は、第１の印刷ジョブＪＢ１の全ての部分を受信したか否かを判断する（ステップＳ１１６）。分散制御部５０は、第１の印刷ジョブＪＢ１の全てを受信していないと判断すると（ステップＳ１１６：ＮＯ）、ステップＳ１１４に戻る。一方、分散制御部５０は、第１の印刷ジョブＪＢ１の受信が終了したと判断すると（ステップＳ１１６：ＹＥＳ）、本処理を終了する。
【００９７】
Ａ３．印刷処理
続いて、図１１および図１２を参照して、分散先プリンタＰＲＴ１〜ＰＲＴ４における処理について説明する。図１１は、第２の印刷ジョブを含む通常の印刷ジョブの受信処理を説明するフローチャートである。図１２は、第２の印刷ジョブを含む通常の印刷ジョブの印刷処理を説明するフローチャートである。
【００９８】
まず、通常の印刷ジョブの受信処理について説明する。本処理は、プリンタＰＲＴの印刷ジョブ受信部６０によって実行される処理である。プリンタＰＲＴが印刷ジョブを受け付ける状態にあるとき、印刷ジョブ受信部６０は、第２の印刷ジョブを含む通常の印刷ジョブ、すなわち、送信先ポート番号ＤＰが「９１００」である印刷ジョブのプリンタＰＲＴへの着信を検出すると（ステップＳ３０２）、印刷ジョブ受信部６０は、ＴＣＰ／ＩＰ部１０を介して、送信されてくる印刷ジョブを順次受信して、プリンタバッファ８２に格納する（ステップＳ３０４）。印刷ジョブ受信部６０は、印刷ジョブを全て受信したか否かを判断する（ステップＳ３０６）。印刷ジョブを送信してくる機器は、印刷ジョブを全て送信すると、印刷ジョブを送信するための通信コネクションの切断要求を送信してくる。従って、印刷ジョブ受信部６０は、通信コネクションの切断要求の有無によって、印刷ジョブを全て受信したか否かを判断できる。印刷ジョブ受信部６０は、印刷ジョブを全て受信していないと判断すると（ステップＳ３０６：ＮＯ）、ステップＳ３０４に戻る。印刷ジョブ受信部６０は、印刷ジョブを全て受信したと判断すると（ステップＳ３０６：ＹＥＳ）、受信処理を終了する。
【００９９】
続いて、通常の印刷ジョブの印刷処理について説明する。この印刷処理は、プリンタＰＲＴのプリンタコントローラ８０によって実行される処理である。プリンタコントローラ８０は、印刷ジョブ受信部６０から印刷ジョブのデータを受け取ると、すなわち、上述した受信処理によりプリンタバッファ８２に印刷ジョブが格納され始めると、印刷処理を開始する。
【０１００】
プリンタコントローラ８０は、印刷処理を開始すると、まず、印刷ジョブにページ特定情報ＰＥが含まれているか否かを判断する（ステップＳ４０２）。具体的には、プリンタコントローラ８０は、プリンタバッファ８２に格納されている印刷ジョブのジョブ制御言語部５０１から、ページ特定情報ＰＥを検索し、ページ特定情報ＰＥの有無を判断する。ページ特定情報ＰＥが含まれていると判断すると（ステップＳ４０２：ＹＥＳ）、プリンタコントローラ８０は、ページ特定情報ＰＥ、すなわち、開始ページ番号Ｓおよび終了ページ番号Ｅを取得して（ステップＳ４０４）、ステップＳ４０６に移行する。一方、ページ特定情報ＰＥが含まれていないと判断すると（ステップＳ４０２：ＮＯ）、プリンタコントローラ８０は、そのままステップＳ４０６に移行する。
【０１０１】
プリンタコントローラ８０は、続いて、処理対象のページ番号ｎを初期化して、ｎ＝１とする（ステップＳ４０６）。プリンタコントローラ８０は、印刷ジョブを解釈して、処理対象のページ、すなわち、第ｎページの画像データを生成する（ステップＳ４１０）。具体的には、プリンタコントローラ８０は、プリンタエンジン９０が印刷に用いるための画像データ、例えば、プリンタエンジン９０の解像度に合わせたドットデータを、ページ記述言語に記述されている印刷データから生成する。印刷ジョブのページ記述言語部５０２には、印刷データがページ順に記述されているため、プリンタコントローラ８０は、ページ記述言語部５０２に含まれる印刷データを、先頭から順次、１ページ分ずつ解釈していく。
【０１０２】
処理対象である第ｎページの画像データが生成されると、プリンタコントローラ８０は、ステップＳ４０４においてページ特定情報ＰＥを取得していたか否かを判断する（ステップＳ４１２）。プリンタコントローラ８０は、ページ特定情報ＰＥを取得していたと判断すると（ステップＳ４１２：ＹＥＳ）、ページ特定情報ＰＥとして取得していた開始ページ番号Ｓおよび終了ページ番号Ｅを用いて、処理対象である第ｎページがページ特定情報ＰＥにより特定されるページであるか否かを判断する（ステップＳ４１４）。プリンタコントローラ８０は、ｎの値に応じて、該判断を行う。
【０１０３】
プリンタコントローラ８０は、Ｓ≦ｎ≦Ｅが成立すると判断した場合（ステップＳ４１４：Ｓ≦ｎ≦Ｅ）、すなわち、第ｎページがページ特定情報ＰＥにより特定されるページであると判断した場合、あるいは、ページ特定情報ＰＥを取得していないと判断した場合（ステップＳ４１２：ＮＯ）には、第ｎページについての印刷要求を、プリンタエンジン９０に対して発行し（ステップＳ４１６）、ステップＳ４１８に移行する。プリンタコントローラ８０は、ｎ＜Ｓである場合（ステップＳ４１４：ｎ＜Ｓ）、ステップＳ４１８へ移行する。プリンタコントローラ８０は、ｎ＞Ｅである場合（ステップＳ４１４：ｎ＞Ｅ）には、残りの印刷ジョブを全て読み飛ばし、処理を終了する。プリンタエンジン９０は、プリンタコントローラ８０から印刷要求を受け取ると、プリンタコントローラ８０が生成した画像データを用いて、第ｎページの印刷を実行する。
【０１０４】
続いて、プリンタコントローラ８０は、印刷ジョブを全て解釈したかを判断する（ステップＳ４１８）。プリンタコントローラ８０は、印刷ジョブを全て解釈したと判断すると（ステップＳ４１８：ＹＥＳ）、印刷処理を終了する。一方で、プリンタコントローラ８０は、印刷ジョブを全て解釈していないと判断すると（ステップＳ４１８：ＮＯ）、処理対象のページ番号ｎをインクリメントし（ステップＳ４２０）、ステップＳ４１０に戻る。すなわち、プリンタコントローラ８０は、次のページについて上述したステップＳ４１０〜Ｓ４１８の処理を繰り返す。
【０１０５】
以上のような印刷処理を実行することによって、プリンタＰＲＴは、印刷ジョブにページ特定情報ＰＥが含まれている場合には、ページ特定情報ＰＥにより特定されるページについて印刷を実行し、それ以外のページについては印刷を行わない。また、プリンタＰＲＴは、印刷ジョブにページ特定情報ＰＥが含まれていない場合には、ページ記述言語部５０２に記述された印刷データの全てのページを印刷する。
【０１０６】
以上の説明から解るように、分散先プリンタとしてのプリンタＰＲＴ１〜ＰＲＴ４は、ページ特定情報ＰＥを含む第２の印刷ジョブＪＢ２１〜ＪＢ２４を受信すると、ページ特定情報ＰＥにより特定される割当ページについてのみ印刷を実行する。この結果、各分散先プリンタが、割当ページの印刷をそれぞれ実行することにより、第１の印刷ジョブＪＢ１により要求される印刷が完了される。
【０１０７】
以上説明した第１実施例の分散印刷システムによれば、処理中プリンタから取得可能な情報に基づき、印刷を開始できるようになるまでの残時間を簡易に取得でき、残時間に応じて印刷ジョブにより要求される印刷の負荷を複数の分散先プリンタに効率的に分散できる。従って、印刷にかかる印刷時間を短縮でき、ユーザの利便性を向上できる。
【０１０８】
Ｂ．第２実施例：
第１実施例では、各処理中プリンタの残時間Ｗｘを用いて、式（２）、式（３）を適用することにより分散先プリンタに割り当てる割当ページ数を算出した。第２実施例では、処理中プリンタの残時間に、待機プリンタが処理中プリンタに先行して印刷可能な先行印刷ページ数を算出し、算出されたページ数を待機プリンタにほぼ均等となるように割り当てる。先行印刷ページを除く残ページは、全分散先プリンタにほぼ均等となるように割り当てる。
【０１０９】
Ｂ１．ページ割当：
先行印刷ページの待機プリンタへの割当について、図１３を用いて説明する。図１３は、第２実施例における先行印刷ページの待機プリンタへの割当について説明する割当図である。割当図７００の横軸は時間ｔを表す。各プリンタが印刷するページ数をハッチングにより示す。本実施例では、プリンタＰＲＴ３およびＰＲＴ４がともにスタンバイ処理中であり、双方ともスタンバイ処理が完了するまでの残時間Ｗ＝４ｓである。図１３中に示すマーク「▲」は、処理中のスタンバイ処理が完了され印刷可能となる時点を示している。本実施例では、処理中の処理が完了され印刷可能な状態となることを「復帰する」と言う。なお、本実施例において各プリンタのエンジンスピードＶ＝１であり、第１の印刷ジョブにより印刷を要求される総ページ数Ｑ＝３２である。
【０１１０】
待機プリンタＰＲＴ１およびＰＲＴ２が、処理中プリンタＰＲＴ３およびＰＲＴ４が復帰するまでに処理中プリンタに先行して印刷可能な先行印刷ページ数Ｐ（ｐｒｅ）は以下の式（４）により算出される。なお、残時間Ｗ＝４ｓ、エンジンスピードＶ＝１である。
【０１１１】
【数７】
2007076108.tif 000009
【０１１２】
上述の式にＷ、Ｖを代入すると、Ｐ（ｐｒｅ）＝４となる。すなわち、待機プリンタＰＲＴ１およびＰＲＴ２が、図１３にクロスハッチングで示すように、処理中プリンタＰＲＴ３およびＰＲＴ４の復帰に先行してそれぞれ４ページずつ印刷できる。従って、処理中プリンタＰＲＴ３、ＰＲＴ４の印刷に先行してプリンタＰＲＴ１およびＰＲＴ２によって印刷される８ページを除いた残ページＰ（ｒ）はＰ（ｒ）＝３２−８＝２４となる。
【０１１３】
プリンタＰＲＴ１、ＰＲＴ２による先行印刷ページの印刷の終了時点ではプリンタＰＲＴ３、プリンタＰＲＴ４はスタンバイ処理から復帰しているため、分散制御部５０は、全分散先プリンタＰＲＴ１〜ＰＲＴ４に、残ページを均等に割り当てる。従って、分散先プリンタＰＲＴ１〜ＰＲＴ４はそれぞれ６ページずつ割り当てられる。すなわち、プリンタＰＲＴ１およびＰＲＴ２には先行印刷ページを含み１０ページずつ割り当てられ、プリンタＰＲＴ３およびＰＲＴ４には６ページずつ割り当てられることとなる。
【０１１４】
分散制御部５０は、第１実施例と同様に、先頭ページを含む割当ページを待機プリンタに割り当てる。
【０１１５】
以上説明した第２実施例の分散印刷システムによれば、先頭ページを含む割り当てページを待機プリンタに割り当てるとともに、先行印刷ページを待機プリンタに均等に割り当て、残ページを全分散印刷プリンタに割り当てることにより、簡易な構成で印刷効率を向上できる。
【０１１６】
Ｃ．第３実施例：
上述の第１実施例では、分散先プリンタから取得された情報、すなわち、所定の処理の開始時間および所定の処理に係る時間長さを用いて残時間を算出した。第３実施例では、予め分散先プリンタの現在時刻と分散元プリンタの現在時刻とを同期させ、分散元プリンタは、所定の処理が完了され、印刷を開始できる印刷開始時刻を分散先プリンタから取得し、印刷開始時刻に基づき印刷を開始できるまでの残時間を算出する。第３実施例におけるシステム構成は第１実施例と同様である。
【０１１７】
Ｃ１．時刻同期処理：
図１４を参照して、プリンタＰＲＴ２により実行される時刻同期処理について説明する。なお、プリンタＰＲＴ３およびプリンタＰＲＴ４は、プリンタＰＲＴ２と同様の処理を行う。図１４は、本実施例における時刻同期処理を説明するフローチャートである。
【０１１８】
プリンタＰＲＴ２は、プリンタＰＲＴ２の電源が投入されたことを検出すると（ステップＳ１００１）、分散元のプリンタであるプリンタＰＲＴ１に対して、プリンタＰＲＴ１の現在時刻を問い合わせ（ステップＳ１００２）、問い合わせに対する応答としてプリンタＰＲＴ１の現在時刻を取得する（ステップＳ１００３）。具体的には、プリンタＰＲＴ２は、プリンタＰＲＴ２のＳＮＭＰマネージャ４０を介して、プリンタＰＲＴ１のＳＮＭＰエージェント７０に対して現在時刻を問い合わせる。問い合わせに対する応答として、プリンタＰＲＴ１のＳＮＭＰエージェント７０からプリンタＰＲＴ２のＳＮＭＰマネージャ４０を介してプリンタＰＲＴ１の現在時刻を取得する。
【０１１９】
プリンタＰＲＴ２は、取得されたプリンタＰＲＴ１の現在時刻をプリンタＰＲＴ２の現在時刻に設定する（ステップＳ１００４）。
【０１２０】
こうすることで、分散元プリンタＰＲＴ１の現在時刻と分散先プリンタＰＲＴ２の現在時刻の同期を取ることができ、プリンタＰＲＴ１とプリンタＰＲＴ２との間で授受される時刻に関する情報の整合性を図ることができる。
【０１２１】
Ｃ２．分散処理：
分散元プリンタＰＲＴ１は、第１実施例において図６および図７を用いて説明済みのとおり、分散処理を実行する。ただし、かかる分散処理において、分散元プリンタＰＲＴ１が、処理中プリンタが存在するか否かを判断し（ステップＳ２１０）、処理中プリンタが存在する場合（ステップＳ２１０：ＹＥＳ）は、各処理中プリンタのから、各印刷処理中プリンタのＭＩＢファイルに格納されている印刷可能時刻を取得する。具体的には、分散先特定部５４は、ＳＮＭＰマネージャ４０を介して、各処理中プリンタに対して印刷可能時刻を問い合わせ、問い合わせに対する応答として処理中プリンタから印刷可能時刻を得る。
【０１２２】
分散元プリンタＰＲＴ１は、取得された印刷可能時刻を用いて印刷可能となるまでの残時間を算出する（ステップＳ２１８）。分散元プリンタＰＲＴ１は、算出された残時間を用いて、図７のステップＳ２２０以降の処理を実行する。
【０１２３】
以上説明した第３実施例の分散印刷システムによれば、分散先プリンタの印刷可能時刻を簡易に取得でき、印刷可能時刻に応じて印刷ジョブを分散できる。
【０１２４】
Ｄ．変形例：
以上、本発明の種々の実施例について説明したが、本発明はこれらの実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成をとることができることは言うまでもない。例えば、以下の実施態様が挙げられる。
【０１２５】
（１）上述の第３実施例では、分散先候補プリンタに対して所定の処理を実行中であるかを問い合わせ、所定の処理を実行中の処理中プリンタからのみ印刷可能時刻を取得したがこれに限られない。例えば、各分散先候補プリンタは、所定の処理を実行していない場合、ＭＩＢファイル８１に格納されている印刷可能時刻として、各分散先候補プリンタの現在時刻が格納されていてもよい。この際、分散元プリンタは、各分散先候補プリンタから取得済みの印刷可能時刻と分散元プリンタの現在時刻とに応じて、全ての分散先候補プリンタの印刷可能までの残時間を算出する。所定の処理を実行していない待機プリンタの残時間はほぼ０ｓとして算出されるため、分散元プリンタは、残時間がほぼ０ｓの分散候補プリンタを待機プリンタであると判断し分散先候補として特定すればよい。こうすれば、１度の問い合わせで、各分散先候補プリンタの印刷可能時間を簡易に取得できる。
【０１２６】
（２）上述の第３実施例では、処理中プリンタから印刷可能時刻そのものを取得しているがこれに限られない。処理中プリンタのＭＩＢファイル８１に格納されており、所定の処理について時間情報であれば、分散元プリンタは情報を取得可能である。時間情報には、例えば、所定の処理の印刷可能時刻を取得可能な情報、所定の処理が完了するまでの残時間、残時間を取得可能な情報、所定の処理の開始時間、所定の処理の開始から完了までに必要な時間、などが含まれる。
【０１２７】
（３）上述した第１実施例における分散印刷システムでは、まず、各分散先プリンタへの割当ページ数を算出し、先頭ページを含む割当ページ数分のページ群を各分散先プリンタに割り当てているがこれに限られない。例えば、割当ページ数を算出する前に先頭ページのみ待機プリンタに印刷させ、残りのページを全分散先プリンタに分散させてもよい。こうすれば、先頭ページは直ちに印刷されるため、ユーザは早い段階で先頭ページを確認でき、印刷のミス等を確認できる。
【０１２８】
（４）上述の第１実施例における分散印刷システムでは、処理中プリンタにおいて１つの処理のみが実行されているがこれに限られない。例えば、１台の処理中プリンタにおいて、複数の処理、例えば、クリーニングとキャリブレーションが並行して実行されている場合、プリンタＰＲＴ１はそれぞれの処理の完了までの残時間を算出し、最長の残時間を用いて割当ページ数を計算してもよい。
【０１２９】
（５）上述の第１実施例における分散印刷システムでは、処理中プリンタが複数存在する場合、各処理中プリンタの残時間に応じて割当ページ数を算出しているがこれに限られない。例えば、処理中プリンタが複数存在する場合、各処理中プリンタの残時間のうち最長の残時間を用いて全処理中プリンタの割当ページ数を算出してもよい。こうすれば、計算量が軽減でき処理効率を向上できる。
【０１３０】
（６）上述の第１実施例では、印刷ジョブにより印刷を要求される複数のページを分散先プリンタに分散したが、これに限られない。たとえば、印刷ジョブにより、複数部数の印刷が要求される場合には、複数部数を各分散先プリンタに分散してもよい。こうすれば、複数部数の印刷を要求される印刷ジョブをほぼ同時に、短時間で完了できる。
【図面の簡単な説明】
【０１３１】
【図１】第１実施例における分散印刷システムの概略構成を例示する説明図。
【図２】第１実施例におけるプリンタＰＲＴ１プリンタＰＲＴ２およびクライアントＣＬの機能ブロックを例示する説明図。
【図３】第１実施例における印刷ジョブの構成を説明する概念図。
【図４】第１実施例における分散印刷処理の概要を示す説明図。
【図５】第１実施例における分散印刷処理を説明するフローチャート。
【図６】第１実施例における分散先プリンタ特定処理を説明するフローチャート。
【図７】第１実施例における分散先プリンタ特定処理を説明するフローチャート。
【図８】第１実施例における残時間算出処理を説明するフローチャートである。
【図９】第実施例における各分散先印刷装置へのページ数の割り当てについて説明する説明図。
【図１０】第１実施例における各分散先印刷装置へのページの割り当てを示す割当テーブル。
【図１１】第１実施例における第２の印刷ジョブを含む通常の印刷ジョブの受信処理を説明するフローチャート。
【図１２】第１実施例における第２の印刷ジョブを含む通常の印刷ジョブの印刷処理を説明するフローチャート。
【図１３】第２実施例における先行印刷ページの待機プリンタへの割当について説明する割当図。
【図１４】第３実施例における時刻同期処理を説明するフローチャート。
【符号の説明】
【０１３２】
１１…アプリケーション
１２…印刷ジョブ送信部
２０…ＣＰＵ
３０…メモリ
３６…バッファ
５０…分散制御部
５２…分散ジョブ受信部
５４…分散先特定部
５６…割当ページ決定部
５８…印刷ジョブ送信部
６０…印刷ジョブ受信部
８０…プリンタコントローラ
８１…ファイル
８２…プリンタバッファ
９０…プリンタエンジン
１００…カスタムネットワークボード
２００…ネットワークボード
４００…ヘッダ
４５０…データ部
５０１…ジョブ制御言語部
５０２…ページ記述言語部
６０１…印刷グラフ
１０００…分散印刷システム
【図１】
2007076108.tif 000010
【図２】
2007076108.tif 000011
【図３】
2007076108.tif 000012
【図４】
2007076108.tif 000013
【図５】
2007076108.tif 000014
【図６】
2007076108.tif 000015
【図７】
2007076108.tif 000016
【図８】
2007076108.tif 000017
【図９】
2007076108.tif 000018
【図１０】
2007076108.tif 000019
【図１１】
2007076108.tif 000020
【図１２】
2007076108.tif 000021
【図１３】
2007076108.tif 000022
【図１４】
2007076108.tif 000023