(57)【要約】【課題】複数の画像形成装置で並行して画像を形成するときに画像欠損が生じることを防止できるプリントプログラムおよびプリントサーバを提供する。【解決手段】プリントサーバは、複数のプリンタで並行して画像を形成する場合、プリント時に画像欠損が生じると判定したときには（Ｓ２０５：ＹＥＳ）、複数のプリンタのうち、所定台数のプリンタに対するプリント制御の開始時をずらす調整を行う（Ｓ２０６）。【選択図】            図７
2004220439.tif 000002
【特許請求の範囲】
【請求項１】
複数の画像形成装置にデータを並行して転送することが可能なプリントプログラムであって、
プリントサーバからのデータの出力速度、複数の画像形成装置にそれぞれ転送されるページのデータサイズ、および転送先の各画像形成装置のプリント速度に基づいて、前記複数の画像形成装置ヘデータを転送したときにプリント画像に欠損が生じるか否かを判定する判定手順と、
前記判定手順において画像欠損が生じると判定された場合、前記複数の画像形成装置のうち、所定台数の画像形成装置に対するプリント制御の開始時をずらす調整を行う調整手順と
をコンピュータに実行させるためのプリントプログラム。
【請求項２】
複数の画像形成装置にそれぞれ転送されるページのデータサイズ、および転送先の各画像形成装置のプリント速度に基づいて、前記複数の画像形成装置をプリント制御するために必要となる当該複数の画像形成装置へのデータの入力速度を演算する演算手順をさらにコンピュータに実行させ、
前記判定手順において、演算されたデータの入力速度とプリントサーバからのデータの出力速度とを比較し、前記複数の画像形成装置ヘデータを転送したときにプリント画像に欠損が生じるか否かを判定することを特徴とする請求項１に記載のプリントプログラム。
【請求項３】
前記調整手順において、転送先の複数の画像形成装置のうち、ｎを自然数としてｎ台の画像形成装置に対して前記プリント制御の開始時をずらす調整を行っても、前記判定手順において、画像欠損が生じると判定される場合、（ｎ＋１）台の画像形成装置に対して前記プリント制御の開始時をずらす調整を行うことを特徴とする請求項１または２に記載のプリントプログラム。
【請求項４】
前記調整手順において、Ｕを転送先の各画像形成装置における１ページの出力に要する時間の最大公約数、Ｔを自然数として、前記所定台数の画像形成装置に対して前記プリント制御の開始時を時間（Ｔ×Ｕ）だけずらす調整を行っても、前記判定手順において、画像欠損が生じると判定される場合、前記所定台数の画像形成装置に対して前記プリント制御の開始時を時間（（Ｔ＋１）×Ｕ）だけずらす調整を行うことを特徴とする請求項１または２に記載のプリントプログラム。
【請求項５】
複数の画像形成装置にデータを並行して転送することが可能なプリントサーバであって、
プリントサーバからのデータの出力速度、複数の画像形成装置にそれぞれ転送されるページのデータサイズ、および転送先の各画像形成装置のプリント速度に基づいて、前記複数の画像形成装置ヘデータを転送したときにプリント画像に欠損が生じるか否かを判定する判定手段と、
前記判定手段により画像欠損が生じると判定された場合、前記複数の画像形成装置のうち、所定台数の画像形成装置に対するプリント制御の開始時をずらす調整を行う調整手段と
を有することを特徴とするプリントサーバ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プリントプログラムおよびプリントサーバに関し、特に、プリントの効率を上げるために複数の画像形成装置を用いてプリントを行うためのプリントプログラムおよびプリントサーバに関する。
【０００２】
【従来の技術】
プリンタなどの画像形成装置を用いて大量の用紙を印刷出力する場合、プリンタを複数台用いて並行してプリントアウトすることで作業時間の短縮を図ることができる（たとえば、特許文献１参照）。このように複数のプリンタで並行してプリントを行うことを分散プリント（Ｃｌｕｓｔｅｒ  Ｐｒｉｎｔｉｎｇ）と呼ぶ。
【０００３】
分散プリントにおいては、複数のプリンタを管理するプリントサーバが用いられる。ここで、プリントサーバに４台のプリンタを接続して、分散プリントシステムを構築した場合を想定する。たとえば、この分散プリントシステムが１００ページの画像データを４部プリント（合計４００ページをプリント）するジョブを受け付けたとき、４台のプリンタで並行して１００ページずつプリントされる。また、たとえば、この分散プリントシステムが１０００ページのプリントを行うジョブを受け付けたとき、１〜２５０ページ、２５１〜５００ページ、５０１〜７５０ページ、および７５１〜１０００ページにデータが分割され、４台のプリンタで並行して２５０ページずつプリントされる。これにより、プリント完了までの時間は、１台のプリンタで処理を行うときの約１／４になる。
【０００４】
【特許文献１】
特開２００２−７０９０号公報
【０００５】
【発明が解決しようとする課題】
ところで、分散プリントシステムで用いられるプリンタに、プリントデータを記憶するための十分なメモリが搭載されていない場合、プリントサーバは、プリンタのプリント速度（１分間に処理できる画像データのページ数、単位はＰＰＭ（ｐａｇｅ  ｐｅｒ  ｍｉｎｕｔｅ））に合わせてプリントデータを転送する必要がある。
【０００６】
しかしながら、上述の分散プリントシステムでは、トータルとしてのプリント速度は接続されたプリンタの台数に比例して高くなるため、プリントサーバからのデータの出力速度も転送先のプリンタの台数に応じて高い速度が必要となる。ここで、複数のプリンタからなるプリンタ群を構成することによりトータルとしてのプリント速度が高くなることは、このプリンタ群をプリント制御するために必要となる当該プリンタ群へのデータの入力速度が高くなることを意味している。結果として、プリントサーバからのデータの出力速度が、プリント制御のために必要なプリンタ群へのデータの入力速度よりも低くなるおそれがある。
【０００７】
また、転送される画像データのデータサイズが大きい場合、プリント制御するために必要となる当該プリンタ群へのデータの入力速度が高くなる。したがって、結果的に、プリントサーバからのデータの出力速度が、プリント制御のために必要なプリンタ群へのデータの入力速度よりも低くなるおそれがある。
【０００８】
つまり、転送される画像データのデータサイズが大きく、データ転送先のプリンタの台数が多いほど、プリントサーバからのデータの出力速度が、プリント制御のために必要なプリンタ群へのデータの入力速度よりも低くなる可能性が高くなる。この結果、１ページのプリント中に、１ページ分の画像データ転送が完了できず、プリント画像に欠損（ビデオアンダーラン）が生じるおそれがあるという問題があった。
【０００９】
本発明は、上述の課題を解決するためになされたものであり、本発明の目的は、複数の画像形成装置で並行して画像を形成するときに画像欠損が生じることを防止できるプリントプログラムおよびプリントサーバを提供することである。
【００１０】
【課題を解決するための手段】
本発明の目的は、下記する手段により達成される。
【００１１】
（１）複数の画像形成装置にデータを並行して転送することが可能なプリントプログラムであって、プリントサーバからのデータの出力速度、複数の画像形成装置にそれぞれ転送されるページのデータサイズ、および転送先の各画像形成装置のプリント速度に基づいて、前記複数の画像形成装置ヘデータを転送したときにプリント画像に欠損が生じるか否かを判定する判定手順と、前記判定手順において画像欠損が生じると判定された場合、前記複数の画像形成装置のうち、所定台数の画像形成装置に対するプリント制御の開始時をずらす調整を行う調整手順とをコンピュータに実行させるためのプリントプログラム。
【００１２】
（２）複数の画像形成装置にそれぞれ転送されるページのデータサイズ、および転送先の各画像形成装置のプリント速度に基づいて、前記複数の画像形成装置をプリント制御するために必要となる当該複数の画像形成装置へのデータの入力速度を演算する演算手順をさらにコンピュータに実行させ、前記判定手順において、演算されたデータの入力速度とプリントサーバからのデータの出力速度とを比較し、前記複数の画像形成装置ヘデータを転送したときにプリント画像に欠損が生じるか否かを判定することを特徴とする上記（１）に記載のプリントプログラム。
【００１３】
（３）前記調整手順において、転送先の複数の画像形成装置のうち、ｎを自然数としてｎ台の画像形成装置に対して前記プリント制御の開始時をずらす調整を行っても、前記判定手順において、画像欠損が生じると判定される場合、（ｎ＋１）台の画像形成装置に対して前記プリント制御の開始時をずらす調整を行うことを特徴とする上記（１）または（２）に記載のプリントプログラム。
【００１４】
（４）前記調整手順において、Ｕを転送先の各画像形成装置における１ページの出力に要する時間の最大公約数、Ｔを自然数として、前記所定台数の画像形成装置に対して前記プリント制御の開始時を時間（Ｔ×Ｕ）だけずらす調整を行っても、前記判定手順において、画像欠損が生じると判定される場合、前記所定台数の画像形成装置に対して前記プリント制御の開始時を時間（（Ｔ＋１）×Ｕ）だけずらす調整を行うことを特徴とする上記（１）または（２）に記載のプリントプログラム。
【００１５】
（５）複数の画像形成装置にデータを並行して転送することが可能なプリントサーバであって、プリントサーバからのデータの出力速度、複数の画像形成装置にそれぞれ転送されるページのデータサイズ、および転送先の各画像形成装置のプリント速度に基づいて、前記複数の画像形成装置ヘデータを転送したときにプリント画像に欠損が生じるか否かを判定する判定手段と、前記判定手段により画像欠損が生じると判定された場合、前記複数の画像形成装置のうち、所定台数の画像形成装置に対するプリント制御の開始時をずらす調整を行う調整手段とを有することを特徴とするプリントサーバ。
【００１６】
【発明の実施の形態】
以下、図面を参照して、本発明の実施の形態を説明する。
【００１７】
図１は、本発明の一実施形態に係るプリントシステムの全体構成図である。
【００１８】
図１に示すように、プリントシステムは、クライアント１０と、プリントサーバ２１と、複数のプリンタ５１〜５４とを備え、これらはネットワーク６０を介して相互に通信可能に接続されている。ネットワーク６０は、イーサネット（登録商標）、トークンリング、ＦＤＤＩ等の規格によりコンピュータやネットワーク機器同士を接続したＬＡＮ、あるいはＬＡＮ同士を専用線で接続したＷＡＮ等からなる。
【００１９】
クライアント１０にインストールされたプリンタドライバにより、各種アプリケーションソフトウェアで作成されたドキュメントデータ、定型業務システムからの帳票データ、あるいは画像処理ソフトウェアなどにより作成された画像データなどの各種データに基づいて、プリントジョブが作成される。クライアント１０で作成されたプリントジョブは、プリントサーバ２１に送られる。プリントサーバ２１は、クライアント１０から送られてきたプリントジョブをプリンタ５１〜５４が画像形成するための画像データ（ビットマップデータ）に変換する。
【００２０】
本実施形態において、プリントサーバ２１とプリンタ５１〜５４とは、ネットワーク６０を介して接続されているが、本発明は必ずしもこれに限定されるものではなく、たとえばＩＥＥＥ１３９４シリアルバス等の専用インタフェース用バスを介して接続されていてもよい。
【００２１】
また、ネットワーク６０に接続される機器の種類および台数は、図１に示す例に限定されない。本実施形態において、たとえばプリンタを４台接続しているが、４台に限らず何台接続してもよい。
【００２２】
次に、上記各機器の構成について説明するが、各機器で同様の機能を有する部分については、説明の重複を避けるため初回のみその説明を行い、２回目以降はその説明を省略する。
【００２３】
図２は、クライアント１０の概略構成を示すブロック図である。クライアント１０は、たとえば、一般的なパーソナルコンピュータである。
【００２４】
図２に示すように、クライアント１０は、装置全体の制御および各種演算処理を行うＣＰＵ１０１、各種プログラムやデータを格納するためのＲＯＭ１０２、作業領域として一時的にプログラムやデータを記憶するためのＲＡＭ１０３、図示しないフレキシブルディスクを読み取るためのフレキシブルディスクドライブ（ＦＤＤ）１０４、図示しないＣＤ−ＲＯＭを読み取るためのコンパクトディスクドライブ（ＣＤＤ）１０５、ＣＰＵによるプログラムの実行時にＲＡＭに読み込まれる各種プログラムやデータを記憶するためのハードディスク１０６、各種情報の表示のための液晶ディスプレイなどの表示部１０７、各種指示の入力のためのキーボードやマウスなどからなる入力部１０８、およびネットワーク６０に接続するためのＬＡＮカードなどのネットワークインタフェース１０９を含み、これらは信号をやり取りするためのバス１１０を介して相互に接続されている。
【００２５】
ハードディスク１０６は、プリンタドライバや、データ送受信用のアプリケーションを格納することができる。ここで、ハードディスク１０６にインストールされるプリンタドライバは、プリンタを制御するためのソフトウェアであり、アプリケーションから受け取った文字や画像のデータをプリンタが解釈することのできるＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ：ページ記述言語）に変換し、プリントジョブを作成することができる。また、プリンタドライバには、複数ページを縮小して１枚の用紙に印刷する割り付け機能や、プリンタの状態を監視して用紙切れやトナー切れを警告する機能などが備わっている。
【００２６】
図３は、プリントサーバ２１の概略構成を示すブロック図である。プリントサーバ２１は、プリンタ用のサーバコンピュータである。
【００２７】
プリントサーバ２１は、ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、ＦＤＤ２０４、ＣＤＤ２０５、ハードディスク２０６、表示部２０７、入力部２０８、ネットワークインタフェース２０９、および、通信部２１０を含み、これらは信号をやり取りするためのバス２１１を介して相互に接続されている。
【００２８】
ハードディスク２０６は、データ送受信用のアプリケーションを記憶することができる。また、ハードディスク２０６には、外部のたとえばクライアント１０から受信したプリントジョブにおけるＰＤＬなどで記述されたプリント制御データを解釈し、内部処理可能な形式のデータである中間レコードに変換するプログラムと、作成した中間レコードに基づき画像データを生成するプログラムとが記憶されており、これらプログラムを実行することによりプリントジョブから画像データを生成することができる。
【００２９】
通信部２１０は、たとえばＩＥＥＥ１３９４シリアルバス用のインタフェースとその制御部分とから構成される。この通信部２１０は、ＩＥＥＥ１３９４シリアルバスを介して、各種データを送受信するためのものである。
【００３０】
図４は、プリンタ５１の概略構成を示すブロック図である。プリンタ５１は、プリントサーバ２１からの指示に基づき、プリントサーバで生成された画像データを用紙上にプリントするものである。プリンタ５２〜５４は、プリンタ５１と同様の構成であるため詳細な説明を省略する。
【００３１】
プリンタ５１は、ＣＰＵ５０１、ＲＯＭ５０２、ＲＡＭ５０３、操作パネル部５０４、印刷部５０５、ネットワークインタフェース５０６、および、通信部５０７を含み、これらは信号をやり取りするためのバス５０８を介して相互に接続されている。
【００３２】
操作パネル部５０４は、各種情報の表示および各種指示の入力に使用される。印刷部５０５は、画像データをレーザビーム方式により用紙などの記録材上にプリントする。図５に示すように、印刷部５０５は、ポリゴンミラーの回転制御を行うスキャナ制御部５１１と、感光体ドラムへの帯電、現像バイアスおよび転写ローラへの転写バイアスの電圧印加などの高電圧制御を行う高圧制御部５１２と、レーザビームの変調制御を行うレーザ制御部５１３と、用紙などの記録材の搬送制御を行う搬送制御部５１４等とを有している。
【００３３】
なお、クライアント１０、プリントサーバ２１、プリンタ５１〜５４は、上述した構成要素以外の構成要素を含んでいてもよく、あるいは、上述した構成要素のうちの一部が含まれていなくてもよい。
【００３４】
次に、図６〜図１３を参照して、プリントサーバ２１で行われる処理について説明する。なお、図６〜図８のフローチャートにより示されるアルゴリズムは、プリントサーバ２１のハードディスク２０６などの記憶装置にプログラムとして記憶されており、ＣＰＵ２０１により実行される。
【００３５】
本実施形態では、複数ページからなるデータを複数部数並行して複数のプリンタに転送するプリントジョブが受信された場合について、以下に説明する。
【００３６】
まず、クライアント１０により作成されたプリントジョブを受信し、受信したプリントジョブを一旦ハードディスク２０６に蓄積する（Ｓ１０１）。なお、ステップＳ１０１は、プリントスプーラと称されるプリントジョブ要求管理モジュールによって実行される。次いで、プリント実行可能となったプリントジョブをラスタライズする（Ｓ１０２）。具体的には、プリントジョブを、プリンタ５１〜５４でプリント可能なビットマップ形式の画像データ（プリントデータ）に変換する。
【００３７】
続いて、ラスタライズされて得られたプリントデータの各ページのデータサイズ、ページ数、および部数が記録された、図９に示すようなジョブヘッダテーブルを作成する（Ｓ１０３）。図９に示すジョブヘッダテーブルには、たとえば、５０ページの画像データを１０部印刷出力するプリントジョブに関する情報が記録されている。
【００３８】
ラスタライズされて得られたプリントデータの各ページは、一旦ハードディスク２０６に蓄積される（Ｓ１０４）。
【００３９】
ステップＳ１０５では、ジョブヘッダテーブルの内容に基づき、処理しようとするプリントジョブに関してプリンタのプリントスケジュールを決定するための処理が行われる。ここで、プリントジョブの割り振り先が決定される。また、並行してプリント制御される複数のプリンタのうち、何台のプリンタが時期的にずれてプリント制御されるかが決定される。本明細書において、プリント制御とは、データを用紙などの記録材に画像欠損なくプリントすべくプリンタを制御することをいう。プリント制御には、データの転送に関する制御が含まれる。ステップＳ１０５の処理の具体的な内容については後述する。
【００４０】
続いて、ステップＳ１０５で決定されたプリントスケジュールに基づいて、プリントデータをプリントサーバ２１からのデータの転送先として設定された各プリンタに対して送信する（Ｓ１０６）。そして、各プリンタは、受信したプリントデータの印刷を並行して行う。
【００４１】
次に、図７を参照して、ステップＳ１０５におけるプリントスケジュールの決定処理について説明する。
【００４２】
まず、プリントサーバ２１は、プリントサーバ自身からのデータの出力速度（データ転送速度）を算出する（Ｓ２０１）。データの出力速度は、プリントサーバがハードディスク２０６から画像データを読み出すときの読出速度、ネットワークインタフェース２０９および通信部２１０の通信速度、などに基づいて算出される。ここでは、データ転送速度の単位として、たとえばＭＢ／秒（Ｍｅｇａ  Ｂｙｔｅ  ｐｅｒ  Ｓｅｃ）が使用される。
【００４３】
続いて、プリント制御可能なプリンタのステータス情報が取得され、解析される（Ｓ２０２）。具体的には、プリント制御可能なプリンタのステータス情報から各プリンタのプリント性能（プリント速度を含む）を取得し、これにより、各プリンタにおける１ページの出力に要する時間の最大公約数を算出する。
【００４４】
たとえば、４台のプリンタ５１〜５４がプリント制御可能であり、プリンタ５１、５２が１分間に１０枚のプリントが可能（１０ＰＰＭ）で、プリンタ５３、５４が１分間に２０枚のプリントが可能（２０ＰＰＭ）である場合、プリンタ５１、５２における１ページの出力に要する時間は６秒（＝６０／１０）、プリンタ５３、５４における１ページの出力に要する時間は３秒（＝６０／２０）となる。したがって、各プリンタにおける１ページの出力に要する時間の最大公約数は、３秒と算出される。
【００４５】
続いて、プリントジョブの割り振り先の決定、およびプリント時間の予測が行われる（Ｓ２０３）。プリントジョブの割り振り先の決定、およびプリント時間の予測は、各プリンタのプリント速度と、ジョブヘッダテーブル（図９参照）における部数およびページ数の情報に基づいて行われる。たとえば、図９に示されるような５０ページの画像データを１０部印刷するプリントジョブを、プリント速度が１０ＰＰＭのプリンタ５１、５２と２０ＰＰＭのプリンタ５３、５４とに割り振る場合、プリンタ５１、５２にはそれぞれ２部、プリンタ５３、５４にはそれぞれ３部の画像データが割り振られる。この場合、プリンタ５１、５２では１０分（＝５０×２／１０）、プリンタ５１、５２では７．５分（＝５０×３／２０）で印刷が終了する。したがって、プリンタ群全体としてのプリント時間は、１０分である。
【００４６】
続いて、複数のプリンタからなるプリンタ群をプリント制御するために必要となる当該プリンタ群へのデータの入力速度（データ転送速度）が算出される（Ｓ２０４）。図１０は、後述するプリント制御開始時の調整を行わない場合に、必要となるプリンタへのデータの入力速度を示す図である。
【００４７】
具体的には、まず、各プリンタをプリント制御するために必要となる各プリンタへのデータの入力速度が算出される。必要となる各プリンタへのデータの入力速度は、ステップＳ２０２で算出された各プリンタにおける１ページの出力に要する時間の最大公約数ごとに算出される。ここで、必要となる各プリンタへのデータの入力速度は、図９における各ページのデータサイズ（ＭＢ）を、当該プリンタにおける１ページの出力に要する時間（Ｓ２０２参照）で除算することにより求められる。
【００４８】
たとえば、図９に示されるプリントジョブを、プリント速度が１０ＰＰＭのプリンタ５１、５２と２０ＰＰＭのプリンタ５３、５４とで並行してプリントする場合、上記した最大公約数である３秒ごとの、必要となる各プリンタへのデータの入力速度は、図１０に示すとおりである。図１０に示すように、プリンタ５１、５２には、たとえば、経過時間が０（×３秒）および１（×３秒）のとき図９に示すページ番号が１の画像データが転送される。一方、プリンタ５３、５４には、たとえば、経過時間が０（×３秒）のとき図９に示すページ番号が１の画像データが転送され、経過時間が１（×３秒）のとき図９に示すページ番号が２の画像データが転送される。
【００４９】
そして、このようにして算出された必要となる各プリンタへのデータの入力速度を合計することにより、複数のプリンタからなるプリンタ群をプリント制御するために必要となる当該プリンタ群へのデータの入力速度が算出される。
【００５０】
ステップＳ２０５では、ステップＳ２０４で算出された必要となるプリンタ群へのデータの入力速度と、ステップＳ２０１で算出されたプリントサーバからのデータの出力速度とが比較される。比較を行った結果、複数のプリンタヘデータを並行して転送したときにプリント画像に欠損が生じるか否かが判定される。ここで、プリントサーバからのデータの出力速度が、必要となるプリンタ群へのデータの入力速度よりも低い場合に、画像欠損が発生すると判定される。ただし、本発明は、かかる判定方法に限定されるものではなく、たとえば、プリントサーバからのデータの出力速度に対する、必要となるプリンタ群へのデータの入力速度の割合が所定の閾値以上の場合に、画像欠損が発生するおそれがあると判定されてもよい。
【００５１】
ここで、ステップＳ２０１でプリントサーバからのデータの出力速度がたとえば４０（ＭＢ／秒）と算出された場合を想定する。この場合、たとえば図１０に示すように、プリンタ群をプリント制御するために必要となる当該プリンタ群へのデータの入力速度が、経過時間が０（×３秒）のときに６０（ＭＢ／秒）となり、プリントサーバからのデータの出力速度を超えるため、プリント時に画像欠損を生じる。
【００５２】
このように、所定の時間ごとに、必要となるプリンタ群へのデータの入力速度とプリントサーバからのデータの出力速度とを比較した結果、プリント時に画像欠損が発生すると判定された場合（Ｓ２０５：ＹＥＳ）、画像欠損が実際上起こらないように、並行してプリント制御される複数のプリンタのうち、所定台数のプリンタに対するプリント制御の開始時をずらす（遅らせる）調整が行われる（Ｓ２０６）。ステップＳ２０６の処理の具体的な内容については後述する。
【００５３】
一方、プリント時に画像欠損が発生しないと判定された場合（Ｓ２０５：ＮＯ）、図６のフローチャートに戻る。
【００５４】
次に、図８を参照して、ステップＳ２０６におけるプリント制御の開始時の調整処理について説明する。
【００５５】
まず、Ｕを転送先の各プリンタにおける１ページの出力に要する時間の最大公約数、Ｔを自然数として、所定台数のプリンタに対してプリント制御の開始時を時間（Ｔ×Ｕ）だけ遅らせる調整を行う場合のプリント制御開始時スケジュールが１つ作成される（Ｓ３０１）。すなわち、かかる調整の実行無しでプリンタ群をプリント制御することが可能な場合にプリントに要する時間をＶとした場合、（Ｔ×Ｕ＋Ｖ）の時間で印刷が終了するためのプリント制御開始時スケジュールが作成される。ここで、Ｔは、プリント制御の開始時を遅らせるための時間関数として機能する。
【００５６】
本実施形態では、最初にＴ＝１として、プリント時間が（Ｔ×Ｕ＋Ｖ）＝１×３秒＋１０分＝１０分３秒となるプリント制御開始時スケジュールが作成される。このようなプリント制御開始時スケジュールは、図１１に示すように、１４通り存在する。ここでは、たとえばプリンタ５１に対するプリント制御の開始時を３秒だけ遅らせる調整を行うパターン１のプリント制御開始時スケジュールが作成される。
【００５７】
続いて、ステップＳ３０１で作成されたプリント制御開始時スケジュールに基づいて、複数のプリンタからなるプリンタ群をプリント制御するために必要となる当該プリンタ群へのデータの入力速度が算出される（Ｓ３０２）。具体的な算出方法は、ステップＳ２０４における処理と同様であるため説明を省略する。図１２は、パターン１のプリント制御開始時スケジュールによる調整が実行される場合に、必要となるプリンタへのデータの入力速度を示す図である。
【００５８】
ステップＳ３０３では、ステップＳ３０２で算出された必要となるプリンタ群へのデータの入力速度と、ステップＳ２０１で算出されたプリントサーバからのデータの出力速度とが比較される。比較を行った結果、複数のプリンタヘデータを並行して転送したときにプリント画像に欠損が生じるか否かが判定される。
【００５９】
たとえばパターン１のプリント制御開始時スケジュールによる調整が実行される場合であっても、図１２に示すように、プリンタ群をプリント制御するために必要となる当該プリンタ群へのデータの入力速度が、経過時間が０（×３秒）のときに５０（ＭＢ／秒）となり、プリントサーバからのデータの出力速度を超えるため、プリント時に画像欠損を生じる。
【００６０】
プリント時に画像欠損が発生すると判定された場合（Ｓ３０３：ＹＥＳ）、（Ｔ×Ｕ＋Ｖ）の時間で印刷が終了するための他のパターンのプリント制御開始時スケジュールの作成が可能か否かが判断される。ここでは、図１１に示す１４通りのパターンのうち、未検討のパターンのプリント制御開始時スケジュールが存在するか否かが判断される。一方、プリント時に画像欠損が発生しないと判定された場合（Ｓ３０３：ＮＯ）、図７のフローチャートに戻る。
【００６１】
他のパターンのプリント制御開始時スケジュールの作成が可能であると判断された場合（Ｓ３０４：ＹＥＳ）、ステップＳ３０１に戻る。このとき、ステップＳ３０１では、たとえばプリンタ５１および５２に対するプリント制御の開始時を３秒だけ遅らせる調整を行うパターン２のプリント制御開始時スケジュールが作成される。続いて、ステップＳ３０２では、パターン２のプリント制御開始時スケジュールに基づいて、複数のプリンタからなるプリンタ群をプリント制御するために必要となる当該プリンタ群へのデータの入力速度が算出される。図１３は、パターン２のプリント制御開始時スケジュールによる調整が実行される場合に、必要となるプリンタへのデータの入力速度を示す図である。たとえばパターン２のプリント制御開始時スケジュールによる調整が実行される場合、図１３に示すように、プリンタ群をプリント制御するために必要となる当該プリンタ群へのデータの入力速度は、プリントサーバからのデータの出力速度を超えない。この場合、プリント時に画像欠損が発生しないと判定され（Ｓ３０３：ＮＯ）、図７のフローチャートに戻る。
【００６２】
一方、他のパターンのプリント制御開始時スケジュールの作成が可能でないと判断された場合（Ｓ３０４：ＮＯ）、プリント制御の開始時を遅らせるための時間関数Ｔが、１だけインクリメント（Ｔ＝Ｔ＋１）される（Ｓ３０５）。
【００６３】
続いて、プリント制御の開始時を遅らせる時間（Ｔ×Ｕ）が、プリント制御の開始時を遅らせる調整の実行無しでプリンタ群をプリント制御することが可能な場合にプリントに要する時間Ｖ以上であるか否かが判断される（Ｓ３０６）。
【００６４】
Ｔ×Ｕ＜Ｖである場合（Ｓ３０６：ＮＯ）、ステップＳ３０１に戻る。このとき、ステップＳ３０１では、たとえばプリンタ５１および５２に対するプリント制御の開始時を６（＝２×３）秒だけ遅らせる調整を行うプリント制御開始時スケジュールが作成される。
【００６５】
一方、Ｔ×Ｕ≧Ｖである場合（Ｓ３０６：ＹＥＳ）、プリント制御するプリンタの台数を減少させるプリンタ台数減処理が行われる（Ｓ３０７）。Ｔ×Ｕ≧Ｖである場合には、プリント制御開始時の調整の実行を含んでプリント群をプリント制御する場合にプリントに要する時間が、調整の実行無しでプリント群をプリント制御することが可能な場合にプリントに要する時間の２倍以上となり、複数のプリンタを使用してプリント時間の短縮を図るという目的が達成され難い。このため、本実施形態では、Ｔ×Ｕ≧Ｖとなるようなプリントスケジュールは作成されない。ただし、ステップＳ３０６では、プリント制御開始時の調整の実行を含んでプリント群をプリント制御する場合にプリントに要する時間が、調整の実行無しでプリント群をプリント制御することが可能な場合にプリントに要する時間の所定倍（たとえば１．５倍など）以上となるか否かが判断されてもよい。
【００６６】
ステップＳ３０７では、プリントサーバ２１からのデータの転送先であるプリンタの台数が減少させられるが、本実施形態では、先にプリント制御可能なプリンタとして選択されたプリンタのうち、まず最もプリント速度の遅い１台が使用されないものとされる。この処理によりジョブの割り振りのやり直しが必要となるため、図７のステップＳ２０３に戻る。この場合、結果として、プリントサーバ２１がプリンタ群をプリント制御するために必要となる当該プリンタ群へのデータの入力速度が下がり、画像欠損の発生の防止が図られる。
【００６７】
このように本実施形態によれば、複数のプリンタで並行して画像を形成する場合、プリント時に画像欠損が生じると判定されたときには、複数のプリンタのうち、所定台数のプリンタに対するプリント制御の開始時をずらす調整を行う。これにより、複数のプリンタからなるプリンタ群をプリント制御するために必要となる当該プリンタ群へのデータの入力速度が、プリントサーバからのデータの出力速度を上回ることを防止することが可能となる。したがって、複数のプリンタで並行して画像を形成する場合のプリントシステム全体のパフォーマンスを確保しつつ、プリント時の画像欠損を防止することが可能となる。
【００６８】
本発明は、上述した実施形態のみに限定されるものではなく、特許請求の範囲内において、種々改変することができる。
【００６９】
たとえば、プリンタの代わりに、ファクシミリ装置、コピー機、およびそれらを複合した機能を有する多機能周辺機器（ＭＦＰ：Ｍｕｌｔｉ−Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）などの画像形成装置が用いられてもよい。
【００７０】
また、上記実施形態では、複数ページからなるデータを複数部数並行して複数のプリンタに転送する場合について説明したが、本発明はこれに限定されるものではなく、複数ページからなる１部のデータを分割して複数のプリンタに並行して転送する場合にも適用可能である。
【００７１】
本発明において、プリントサーバにおける各種処理を行う手段は、専用のハードウェア回路、またはプログラムされたコンピュータのいずれによっても実現することが可能である。上記プログラムは、例えばフレキシブルディスクやＣＤ−ＲＯＭなどのコンピュータ読み取り可能な記録媒体によって提供されてもよいし、インターネット等のネットワークを介してオンラインで提供されてもよい。この場合、コンピュータ読取可能な記録媒体に記録されたプログラムは、通常、ハードディスク等の記憶装置に転送されて記憶される。また、上記プログラムは、単独のアプリケーションソフトとして提供されてもよいし、装置の一機能としてその装置のソフトウェアに組み込まれてもよい。
【００７２】
なお、上述した本発明の実施形態には、特許請求の範囲の請求項１〜５に記載した発明以外にも、以下の付記１〜３に示すような発明が含まれる。
【００７３】
［付記１］  前記調整手順において、前記調整の実行を含んで前記複数の画像形成装置をプリント制御する場合にプリントに要する時間が、前記調整の実行無しで前記複数の画像形成装置をプリント制御することが可能な場合にプリントに要する時間の所定倍以上となるとき、プリント制御する画像形成装置の台数を減少させる台数減少手順をさらにコンピュータに実行させることを特徴とする請求項４に記載のプリントプログラム。
【００７４】
［付記２］  請求項１〜４、付記１のいずれか１つに記載のプリントプログラムを記録したコンピュータ読み取り可能な記録媒体。
【００７５】
［付記３］  複数の画像形成装置にデータを並行して転送することが可能なプリント方法であって、
プリントサーバからのデータの出力速度、複数の画像形成装置にそれぞれ転送されるページのデータサイズ、および転送先の各画像形成装置のプリント速度に基づいて、前記複数の画像形成装置ヘデータを転送したときにプリント画像に欠損が生じるか否かを判定する判定ステップと、
前記判定ステップにおいて画像欠損が生じると判定された場合、前記複数の画像形成装置のうち、所定台数の画像形成装置に対するプリント制御の開始時をずらす調整を行う調整ステップと
を有することを特徴とするプリント方法。
【００７６】
【発明の効果】
以上説明したように、本発明によれば、複数の画像形成装置で並行して画像を形成する場合のプリントシステム全体のパフォーマンスを確保しつつ、プリント時の画像欠損を防止することが可能となる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係るプリントシステムの全体構成図である。
【図２】クライアントの概略構成を示すブロック図である。
【図３】プリントサーバの概略構成を示すブロック図である。
【図４】プリンタの概略構成を示すブロック図である。
【図５】印刷部の概略構成を示す図である。
【図６】プリントサーバで行われる処理について説明するためのフローチャートである。
【図７】プリントスケジュールの決定処理について説明するためのフローチャートである。
【図８】プリント制御の開始時の調整処理について説明するためのフローチャートである。
【図９】ジョブヘッダテーブルの一例を示す図である。
【図１０】プリント制御開始時の調整を行わない場合に、必要となるプリンタへのデータの入力速度を示す図である。
【図１１】プリント制御開始時スケジュールのリストを示す図である。
【図１２】パターン１のプリント制御開始時スケジュールによる調整が実行される場合に、必要となるプリンタへのデータの入力速度を示す図である。
【図１３】パターン２のプリント制御開始時スケジュールによる調整が実行される場合に、必要となるプリンタへのデータの入力速度を示す図である。
【符号の説明】
１０…クライアント、
２１…プリントサーバ、
２０１…ＣＰＵ、
２０２…ＲＯＭ、
２０３…ＲＡＭ、
２０４…ＦＤＤ、
２０５…ＣＤＤ、
２０６…ハードディスク、
２０７…表示部、
２０８…入力部、
２０９…ネットワークインタフェース、
２１０…通信部、
２１１…バス、
５１〜５４…プリンタ、
６０…ネットワーク。
【図１】
2004220439.tif 000003
【図２】
2004220439.tif 000004
【図３】
2004220439.tif 000005
【図４】
2004220439.tif 000006
【図５】
2004220439.tif 000007
【図６】
2004220439.tif 000008
【図７】
2004220439.tif 000009
【図８】
2004220439.tif 000010
【図９】
2004220439.tif 000011
【図１０】
2004220439.tif 000012
【図１１】
2004220439.tif 000013
【図１２】
2004220439.tif 000014
【図１３】
2004220439.tif 000015