(57)【特許請求の範囲】
【請求項１】
複数の画像形成装置にデータを転送してプリントさせるためのプリントプログラムであって、
プリント対象のページのデータサイズ、およびプリントサーバ内に設けられデータの蓄積および転送が可能なデータ転送装置のデータ転送能力に基づいて、当該ページのデータ転送速度を演算する演算手順と、
前記演算手順において演算されたデータ転送速度と所定台数の画像形成装置におけるプリント速度とを比較し、所定台数の画像形成装置ヘデータを転送したときにプリント画像に欠損が生じるか否かを判定する判定手順と、
前記判定手順において画像欠損が生じると判定されたページのデータを、他のデータ転送装置に転送して当該他のデータ転送装置から画像形成装置ヘ転送させる制御を行う制御手順と、
をコンピュータに実行させるためのプリントプログラム。
【請求項２】
前記制御手順において、前記データ転送装置からのデータ転送先である画像形成装置の台数を減少させ、画像欠損が生じると判定されたページのデータを、前記他のデータ転送装置から前記台数の減少により空いた画像形成装置へ転送させる制御を行うことを特徴とする請求項１に記載のプリントプログラム。
【請求項３】
前記他のデータ転送装置は、前記複数の画像形成装置および当該プリントサーバと通信可能な他のプリントサーバ内に設けられていることを特徴とする請求項１または２に記載のプリントプログラム。
【請求項４】
前記他のデータ転送装置は、当該プリントサーバ内に設けられていることを特徴とする請求項１または２に記載のプリントプログラム。
【請求項５】
複数の画像形成装置にデータを転送することが可能なプリントサーバであって、
プリント対象のページのデータサイズ、およびプリントサーバ内に設けられデータの蓄積および転送が可能なデータ転送装置のデータ転送能力に基づいて、当該ページのデータ転送速度を演算する演算手段と、
前記演算手段により演算されたデータ転送速度と所定台数の画像形成装置におけるプリント速度とを比較し、所定台数の画像形成装置ヘデータを転送したときにプリント画像に欠損が生じるか否かを判定する判定手段と、
前記判定手段により画像欠損が生じると判定されたページのデータを、他のデータ転送装置に転送して当該他のデータ転送装置から画像形成装置ヘ転送させる制御を行う制御手段と、
を有することを特徴とするプリントサーバ。
【請求項６】
前記データ転送装置は、第１のハードディスクであり、前記他のデータ転送装置は、前記第１のハードディスクと別個の第２のハードディスクであることを特徴とする請求項１〜４のいずれか１つに記載のプリントプログラム。
【請求項７】
前記第２のハードディスクは、前記第１のハードディスクよりも高速にデータの読み出しが可能であることを特徴とする請求項６に記載のプリントプログラム。
【請求項８】
前記判定手順において画像欠損が生じると判定されたページのデータを、他のデータ転送装置に転送して当該他のデータ転送装置から画像形成装置ヘ転送させた場合、いずれかの画像形成装置でプリント画像に欠損が生じるか否かを判定する第２の判定手順をさらにコンピュータに実行させ、
前記制御手順において、前記第２の判定手順において画像欠損が生じると判定された場合、データ転送先である画像形成装置の台数を減少させる制御を行うことを特徴とする請求項１〜４、６、７のいずれか１つに記載のプリントプログラム。
【請求項９】
複数の画像形成装置にデータを転送してプリントさせるためのプリント方法であって、
プリント対象のページのデータサイズ、およびプリントサーバ内に設けられデータの蓄積および転送が可能なデータ転送装置のデータ転送能力に基づいて、当該ページのデータ転送速度を演算する演算ステップと、
前記演算ステップにおいて演算されたデータ転送速度と所定台数の画像形成装置におけるプリント速度とを比較し、所定台数の画像形成装置ヘデータを転送したときにプリント画像に欠損が生じるか否かを判定する判定ステップと、
前記判定ステップにおいて画像欠損が生じると判定されたページのデータを、他のデータ転送装置に転送して当該他のデータ転送装置から画像形成装置ヘ転送させる制御を行う制御ステップと、
を有することを特徴とするプリント方法。
【請求項１０】
請求項１に記載のプリントプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プリントサーバおよびプリント方法に関し、特にプリントの効率を上げるために複数台の画像形成装置を用いてプリントを行うプリントプログラムおよびプリントサーバに関する。
【０００２】
【従来の技術】
フレキシブルディスクなどの記録媒体やネットワークを介して、顧客からプリントデータを受け取り、それをプリンタなどの画像形成装置で用紙に出力して、顧客に提供するオフィス業務補助サービス店舗が存在する。このような店舗において大量の用紙を出力する場合、プリンタを複数台用いて並行してプリントアウトすることで作業時間の短縮を図ることができる。このように複数のプリンタで並行してプリントを行うことを分散プリント(Cluster Printing)と呼ぶ。分散プリントにおいては、複数台のプリンタを管理するプリントサーバが用いられる。たとえばプリントサーバに４台プリンタを接続して、分散プリントシステムを構築した場合を想定する。たとえば、この分散プリントシステムが１０００ページのプリントを行うジョブを受け付けたとき、１〜２５０ページ、２５１〜５００ページ、５０１〜７５０ページ、および７５１〜１０００ページにジョブが分割され、４台のプリンタで並行して２５０ページずつプリントされる。これにより、プリント完了までの時間は１台のプリンタで処理を行うときの１／４になる。
【０００３】
【発明が解決しようとする課題】
ところで、分散プリントシステムで用いられるプリンタにプリントデータを記憶するための十分なメモリが搭載されていない場合、プリントサーバは、プリンタのプリント速度に合わせてプリントデータを転送する必要がある。
【０００４】
しかしながら、上述の分散プリントシステムでは、トータルとしてのプリント速度は接続されたプリンタの台数に比例して高くなるため、プリントサーバからのデータ転送速度もプリンタの台数に応じて高い速度が必要となる。ここで、複数のプリンタ群を構成することによりプリント速度が高くなると、結果として、プリンタへのデータ転送速度がプリンタのプリント速度よりも低くなるおそれがある（本明細書において、データ転送速度の単位として、プリント速度（１分間に処理できる画像データのページ数）の単位と同じＰＰＭ(page per minute)を使用する）。
【０００５】
また、プリントサーバの画像記憶装置であるハードディスクの読出速度には上限があるため、プリントサーバからのデータ転送速度（ＰＰＭ）は、データサイズの大きい画像データ（１ページ分）ほど低く、データサイズの小さい画像データ（１ページ分）ほど高くなる。ここで、画像データのデータサイズが大きい場合、プリントサーバからのデータ転送速度（ＰＰＭ）が低くなり、結果として、プリンタへのデータ転送速度がプリンタのプリント速度よりも低くなるおそれがある。
【０００６】
このように、画像データのデータサイズが大きく、データ転送先のプリンタの台数が多いほど、プリンタへのデータ転送速度がプリンタのプリント速度よりも低くなる可能性が高くなる。この結果、１ページのプリント中に、１ページ分の画像データ転送が完了できず、プリント画像に欠損が生じるおそれがあるという問題があった。
【０００７】
本発明は、かかる課題を解決するためになされたものであり、本発明の目的は、複数の画像形成装置で画像を形成するときに画像欠損が生じることを防止できるプリントプログラムおよびプリントサーバを提供することである。
【０００８】
【課題を解決するための手段】
本発明の目的は、下記する手段により達成される。
【０００９】
（１）複数の画像形成装置にデータを転送してプリントさせるためのプリントプログラムであって、プリント対象のページのデータサイズ、およびプリントサーバ内に設けられデータの蓄積および転送が可能なデータ転送装置のデータ転送能力に基づいて、当該ページのデータ転送速度を演算する演算手順と、前記演算手順において演算されたデータ転送速度と所定台数の画像形成装置におけるプリント速度とを比較し、所定台数の画像形成装置ヘデータを転送したときにプリント画像に欠損が生じるか否かを判定する判定手順と、前記判定手順において画像欠損が生じると判定されたページのデータを、他のデータ転送装置に転送して当該他のデータ転送装置から画像形成装置ヘ転送させる制御を行う制御手順と、をコンピュータに実行させるためのプリントプログラム。
【００１０】
（２）前記制御手順において、前記データ転送装置からのデータ転送先である画像形成装置の台数を減少させ、画像欠損が生じると判定されたページのデータを、前記他のデータ転送装置から前記台数の減少により空いた画像形成装置へ転送させる制御を行うことを特徴とする上記（１）に記載のプリントプログラム。
【００１１】
（３）前記他のデータ転送装置は、前記複数の画像形成装置および当該プリントサーバと通信可能な他のプリントサーバ内に設けられていることを特徴とする上記（１）または（２）に記載のプリントプログラム。
【００１２】
（４）前記他のデータ転送装置は、当該プリントサーバ内に設けられていることを特徴とする上記（１）または（２）に記載のプリントプログラム。
【００１３】
（５）複数の画像形成装置にデータを転送することが可能なプリントサーバであって、プリント対象のページのデータサイズ、およびプリントサーバ内に設けられデータの蓄積および転送が可能なデータ転送装置のデータ転送能力に基づいて、当該ページのデータ転送速度を演算する演算手段と、前記演算手段により演算されたデータ転送速度と所定台数の画像形成装置におけるプリント速度とを比較し、所定台数の画像形成装置ヘデータを転送したときにプリント画像に欠損が生じるか否かを判定する判定手段と、前記判定手段により画像欠損が生じると判定されたページのデータを、他のデータ転送装置に転送して当該他のデータ転送装置から画像形成装置ヘ転送させる制御を行う制御手段と、を有することを特徴とするプリントサーバ。
【００１４】
【発明の実施の形態】
以下、図面を参照して、本発明の実施の形態を説明する。
【００１５】
図１は、本発明の第１実施形態にかかるプリントサーバを用いたプリントシステムの全体構成図である。
【００１６】
図１に示すように、プリントシステムは、クライアント１０と、プリントサーバ２０、３０と、複数台のプリンタ５０〜５３とを備え、これらはネットワーク６０を介して相互に通信可能に接続されている。ネットワーク６０は、イーサネット（登録商標）、トークンリング、ＦＤＤＩ等の規格によりコンピュータやネットワーク機器同士を接続したＬＡＮや、ＬＡＮ同士を専用線で接続したＷＡＮ等からなる。
【００１７】
クライアント１０で作成されたプリントジョブ（各種アプリケーションソフトウェアで作成されたドキュメントデータ、定型業務システムからの帳票データ、あるいは画像処理ソフトウェアなどにより作成された画像データなどの各種データに基づいてプリンタドライバにより作成される）は、プリントサーバ２０に送られる。プリントサーバ２０は、クライアント１０から送られてきたプリントジョブをプリンタ５０〜５３が画像形成するための画像データ（ビットマップデータ）に変換する。
【００１８】
本実施形態において、プリントサーバ２０とプリンタ５０〜５３とは、ネットワーク６０を介して接続されているが、本発明は必ずしもこれに限定されるものではなく、ネットワーク６０を介することなくたとえばＩＥＥＥ１３９４などの規格に従ったインタフェースを介して接続されていてもよい。
【００１９】
また、ネットワーク６０に接続される機器の種類および台数は、図１に示す例に限定されない。本実施形態において、たとえばプリンタを４台接続しているが、４台に限らず何台接続してもよい。また、プリンタの代わりに、ファクシミリ装置、コピー機、およびそれらの複合機（ＭＦＰ）などの画像形成装置を用いてもよい。
【００２０】
次に、上記各機器の構成について説明するが、各機器で同様の機能を有する部分については、説明の重複を避けるため初回のみその説明を行い、２回目以降はその説明を省略する。
【００２１】
図２は、クライアント１０の概略構成を示すブロック図である。クライアント１０は、一般的なパーソナルコンピュータである。
【００２２】
図２に示すように、クライアント１０は、クライアント１０全体の制御を行うＣＰＵ（Central Processing Unit：中央処理装置）１０１、各種プログラムやデータを格納するためのＲＯＭ（Read only Memory）１０２、作業領域として一時的にプログラムやデータを記憶するためのＲＡＭ（Random Access Memory）１０３、図示しないフレキシブルディスクを読み取るためのフレキシブルディスクドライブ（ＦＤＤ）１０４、図示しないＣＤ−ＲＯＭを読み取るためのコンパクトディスクドライブ（ＣＤＤ）１０５、ＣＰＵが実行するプログラムやデータを記憶するためのハードディスク１０６、各種情報の表示のための液晶ディスプレイなどの表示部１０７、各種指示の入力のためのキーボードやマウスなどからなる入力部１０８、および、ネットワーク６０に接続するためのＬＡＮカードなどのネットワークインタフェース１０９を含み、これらは信号をやり取りするためのバス１１０を介して相互に接続されている。
【００２３】
ハードディスク１０６は、プリンタの制御を行うプリンタドライバや、データ送受信用のアプリケーションを記憶することができる。ここで、ハードディスク１０６にインストールされるプリンタドライバは、プリンタを制御するためのソフトウェアであり、アプリケーションから受け取った文宇や画像のデータをプリンタが解釈することのできるＰＤＬ（Page Description Language：ページ記述言語）に変換し、プリントジョブを作成するものである。また、プリンタドライバには、複数ページを縮小して１枚の用紙に印刷する割り付け機能や、プリンタの状態を監視して用紙切れやトナー切れを警告する機能などが備わっている。
【００２４】
図３および図４は、それぞれプリントサーバ２０、３０の概略構成を示すブロック図である。プリントサーバ２０、３０はプリンタ用のサーバコンピュータである。以下、プリントサーバ２０の構成について説明し、プリントサーバ３０は、プリントサーバ２０と同様の構成であるため説明を省略する。
【００２５】
プリントサーバ２０は、ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、ＦＤＤ２０４、ＣＤＤ２０５、ハードディスク２０６、表示部２０７、入力部２０８、ネットワークインタフェース２０９、および、通信部２１０を含み、これらは信号をやり取りするためのバス２１１を介して相互に接続されている。
【００２６】
ハードディスク２０６は、データ送受信用のアプリケーションを記憶することができる。また、ハードディスク２０６には、外部のクライアント１０から受信したプリントジョブにおけるＰＤＬなどで記述されたプリント制御データを解釈し、内部処理可能な形式のデータである中間レコードに変換するプログラムと、作成した中間レコードに基づき画像データを生成するプログラムとが記憶されており、これらプログラムを実行することによりプリントジョブから画像データを生成することができる。
【００２７】
通信部２１０は、たとえばＩＥＥＥ１３９４シリアルバスのインタフェースとその制御部分とから構成される。この通信部２１０は、ＩＥＥＥ１３９４シリアルバスを介して、各種データを送受信することができる。
【００２８】
図５は、プリンタ５０の概略構成を示すブロック図である。
【００２９】
プリンタ５０は、プリントサーバ２０または３０からの指示に基づき、プリントサーバで生成された画像データを用紙上にプリントするものである。以下、プリンタ５０の構成について説明し、プリンタ５１〜５３は、プリンタ５０と同様の構成であるため説明を省略する。
【００３０】
プリンタ５０は、ＣＰＵ５０１、ＲＯＭ５０２、ＲＡＭ５０３、操作パネル部５０４、印刷部５０５、ネットワークインタフェース５０６、および、通信部５０７を含み、これらは信号をやり取りするためのバス５０８を介して相互に接続されている。
【００３１】
操作パネル部５０４は、各種情報の表示および各種指示の入力に使用される。印刷部５０５は、画像データをレーザビーム方式により用紙などの記録材上にプリントする。
【００３２】
なお、クライアント１０、プリントサーバ２０、３０、プリンタ５０〜５３は、上述の構成要素以外の構成要素を含んでいてもよく、あるいは、上述の構成要素のうちの一部が含まれていなくてもよい。
【００３３】
次に、図６〜図１１を参照して、プリントサーバ２０で行われる処理について説明する。図６〜図８は、プリントサーバ２０で行われる処理を説明するためのフローチャート、図９〜図１１は、プリントジョブまたはプリントデータの流れを模式的に示す図である。なお、図６〜図８のフローチャートにより示されるアルゴリズムは、ハードディスク２０６などの記憶装置にプログラムとして記憶されており、ＣＰＵ２０１により実行される。
【００３４】
まず、クライアント１０により作成されたプリントジョブを受信したか否かを判断する（Ｓ１０１）。プリントジョブを受信していない場合（Ｓ１０１：ＮＯ）、受信するまで待機する。プリントジョブを受信した場合（Ｓ１０１：ＹＥＳ、図９参照）、プリントジョブを一旦ハードディスク２０６に蓄積する（Ｓ１０２）。なお、ステップＳ１０２は、プリントスプーラと称されるプリントジョブ要求管理モジュールによって実行される。次いで、プリント実行可能となったプリントジョブをラスタライズする（Ｓ１０３）。具体的には、プリントジョブを、プリンタ５０〜５３でプリント可能なビットマップ形式の画像データ（以下、「プリントデータ」という）に変換する。
【００３５】
続いて、ラスタライズされて得られたプリントデータの各ページのデータサイズに基づき、各ページをプリンタへ転送することが可能なデータ転送速度（ハードディスクからの読出速度）を算出し、図１２に示すようなジョブヘッダテーブルを作成する（Ｓ１０４）。図１２のジョブヘッダテーブルには、たとえば１０００ページの画像を含むプリントジョブに関する情報が記録されており、ここにおいて、各ページに対して、データサイズ（バイト）およびデータ転送速度（ＰＰＭ）が記録されている。なお、ジョブヘッダテーブルを作成のために必要な情報であるハードディスクからデータを転送するときのビットレートは、たとえば専用アプリケーションを用いて得ることができる。
【００３６】
ステップＳ１０５では、ジョブヘッダテーブルの内容に基づいて、プリントデータの格納処理が行われる。すなわち、プリントデータをページごとに解析し、プリント時に画像欠損が発生すると判断されなかった場合、当該ページのプリントデータを自機のハードディスク２０６に格納する。一方、プリント時に画像欠損が発生すると判断された場合、当該ページのプリントデータを他のプリントサーバ３０に転送してそのハードディスク３０６に格納させる（図９参照）。
【００３７】
次に、図７を参照して、ステップＳ１０５のプリントデータの格納処理について詳細に説明する。
【００３８】
まず、プリントサーバ２０に接続されており、プリント可能なプリンタ全体（プリンタ群）のプリント速度を取得する（Ｓ２０１）。具体的には、各プリンタのステータス情報を取得し、ステータス情報に基づいてプリント可能であるか否かを判断し、プリント可能であるプリンタのプリント性能（プリント速度を含む）をステータス情報から取得する。たとえば、４台のプリンタ５０〜５３がプリント可能であり、それぞれが１分間に４０枚のプリントが可能な場合（４０ＰＰＭ）、このシステムにおけるプリント速度は、４０ＰＰＭ×４＝１６０ＰＰＭとなる。
【００３９】
続いて、ステップＳ１０４で作成されたジョブヘッダテーブルの解析を行う（Ｓ２０２）。すなわち、ジョブヘッダテーブルの内容に基づいて、プリント速度と処理しようとするページのデータ転送速度との比較を行う。比較を行った結果、注目ページがプリント不可のページであるか否かが判断される（Ｓ２０３）。すなわち、そのページのプリント時に画像欠損が発生するか否かが判断される。ここで、一般的には、データ転送速度がプリント速度よりも低い場合に、注目ページがプリント不可のページであると判断されるが、本発明はかかる判断方法に限定されるものではない。データ転送速度のプリント速度に対する割合が所定の閾値以下の場合に、注目ページがプリント不可のページであると判断されてもよい。
【００４０】
たとえば、図１２のジョブヘッダテーブルに示されるように、プリントデータのたとえば２ページ目は、そのデータサイズが大きく１１９ＰＰＭの速度でしか送ることができない。この場合、データ転送速度がプリント速度（１６０ＰＰＭ）よりも低くなるため、プリント時に画像欠損を生じてしまう。
【００４１】
プリント速度と注目ページのデータ転送速度とを比較した結果、注目ページがプリント不可ページでない場合、すなわち、プリント時に画像欠損が発生しないと判断された場合（Ｓ２０３：ＮＯ）、自機であるプリントサーバ２０のハードディスク２０６に当該ページを格納する（Ｓ２０５）。一方、注目ページがプリント不可ページであると判断された場合、すなわち、プリント時に画像欠損が発生すると判断された場合（Ｓ２０３：ＹＥＳ）、他のプリントサーバ３０のハードディスク３０６に当該ページを転送して格納する（Ｓ２０４）。
【００４２】
次に、プリントジョブの送信時に指定された出力用のプリンタをページごとに示す出力プリンタ情報を、ジョブヘッダテーブルに追加する（Ｓ２０６）。
【００４３】
そして、プリントデータの全ページについてステップＳ２０２〜Ｓ２０７の処理が終了したか否かが判断される（Ｓ２０７）。全ページの処理が終了していない場合（Ｓ２０７：ＮＯ）、ステップＳ２０２〜Ｓ２０７の処理を繰り返す。一方、全ページの処理が終了した場合（Ｓ２０７：ＹＥＳ）、ステップＳ１０６に進む。
【００４４】
図６に示すフローチャートの説明に戻り、ステップＳ１０６では、プリントデータの送信処理および他のプリントサーバとの通信処理が行われる。
【００４５】
次に、図８を参照して、ステップＳ１０６の処理について詳細に説明する。
【００４６】
ステップＳ１０５でプリントデータを他のプリントサーバ３０に転送した場合、ステップＳ３０１では、プリントサーバ３０に対して、プリント開始準備の通知を送信する。プリントサーバ３０にプリント開始準備の通知を送信するのは、プリントサーバ３０を占有するためである。これにより、他のジョブがプリントサーバ３０で実行されてしまって目的とするプリントデータを同期して出力できなくなることが防止される。
【００４７】
そして、ジョブヘッダテーブルの解析を行う（Ｓ３０２）。解析の結果、処理しようとするページがプリント不可のページであるか否かが判断される（Ｓ３０３）。これらの解析（Ｓ３０２）および判断（Ｓ３０３）の内容は、図７のステップＳ２０２およびＳ２０３と同様であるため、説明を省略する。
【００４８】
処理しようとするページがプリント不可のページではないと判断された場合、すなわち、プリント時に画像欠損が発生しないと判断された場合（Ｓ３０３：ＮＯ）、当該プリントサーバ２０からプリントデータを送信する（Ｓ３０７）。ここで、プリントデータは、プリントジョブの送信時に指定されたプリンタ５０〜５３に対して、所定ページ数ずつ分割されて並行して送信され（図１０参照）、それぞれのプリンタでプリントが実行される。
【００４９】
一方、処理しようとするページがプリント不可のページであると判断された場合、すなわち、プリント時に画像欠損が発生すると判断された場合（Ｓ３０３：ＹＥＳ）、当該ページをプリントする予定のプリンタ（たとえばプリンタ５３）に対して、プリントデータの送信を終了する（Ｓ３０４）。そして、プリント不可のページのプリントデータを転送した他のプリントサーバ３０に対して、プリント開始命令を送信する（Ｓ３０５）。なお、ステップＳ３０４およびＳ３０５において、プリント不可のページをプリントする予定のプリンタ５３に出力するプリントサーバを、プリントサーバ２０から他のプリントサーバ３０に切り替える処理を行っている間も、他のプリンタ５０〜５２に対して並行してプリントデータが送信され、それぞれのプリンタでプリントする処理を継続している。
【００５０】
その後、プリントサーバ３０がプリンタ５３にプリントデータを送信してプリントさせる作業が終了したことを通知するためのプリント終了通知を、プリントサーバ３０から受信するまで待機する（Ｓ３０６：ＮＯ）。なお、この待機中も、他のプリンタ５０〜５２に対して並行してプリントデータが送信され、それぞれのプリンタでプリントする処理を継続している（図１１参照）。
【００５１】
プリントサーバ３０からプリント終了通知を受信すると（Ｓ３０６：ＹＥＳ）、プリンタ５３に関する残りのプリントデータが存在する場合、プリントデータのプリンタ５３への送信を再開する（Ｓ３０７）。また、他のプリンタ５０〜５２に関しても残りのプリントデータが存在する場合、プリントデータのプリンタ５０〜５２への送信を並行して行う。このとき、プリントデータの流れは、図１０に示す状態に戻る。
【００５２】
そして、プリントジョブに関する全プリントデータがプリンタへ送信されてプリントが終了したか否かが判断される（Ｓ３０８）。全プリントデータのプリントが終了していない場合（Ｓ３０８：ＮＯ）、ステップＳ３０２〜Ｓ３０８の処理を繰り返す。一方、全プリントデータのプリントが終了した場合（Ｓ３０８：ＹＥＳ）、他のプリントサーバ３０に対して、ステップＳ１０１で受信したプリントジョブの実行が終了したことを通知するためのジョブ終了通知を送信し、所定のプリントジョブ終了処理を行う（Ｓ３０９）。
【００５３】
次に、図１３を参照して、プリントサーバ３０で行われる処理について説明する。なお、図１３のフローチャートにより示されるアルゴリズムは、ハードディスク３０６などの記憶装置にプログラムとして記憶されており、ＣＰＵ３０１により実行される。
【００５４】
以下の説明においては、プリントサーバ２０でプリント不可ページであると判断されたページからなるプリントデータが、あらかじめプリントサーバ２０から受信され、受信したプリントデータがハードディスク３０６に格納されている場合について説明する。
【００５５】
まず、プリントサーバ２０からプリント開始準備通知を受信するまで待機する（Ｓ４０１：ＮＯ）。プリントサーバ３０は、プリント開始準備通知を受信すると（Ｓ４０１：ＹＥＳ）、プリント開始準備通知と関係のない他のジョブを開始しないように、プリントサーバ３０自身を占有する処理を行う（Ｓ４０２）。具体的には、プリントサーバ３０を占有するようにステータス情報を変更する。なお、プリントサーバ３０は、占有処理を行うことなく、他のジョブを受け付けることも可能である。この場合、本実施形態にかかるジョブによりプリントされた用紙と他のジョブによりプリントされた用紙とが混じることがないように、プリンタにおける両者の用紙の排紙場所を別々に設定することが望ましい。
【００５６】
続いて、プリントサーバ２０からプリント開始命令を受信するまで待機する（Ｓ４０３：ＮＯ）。プリントサーバ３０は、プリント開始命令を受信すると（Ｓ４０３：ＹＥＳ）、あらかじめプリントサーバ２０から受信されハードディスク３０６に格納されているプリントデータを、プリンタ５３に送信する（Ｓ４０４、図１１参照）。プリントサーバ３０からプリントデータが送信されるプリンタ５３は、ステップＳ３０４においてプリントサーバ２０からのプリントデータの送信が終了させられたプリンタ、すなわち、プリントサーバ２０からのデータ転送先であるプリンタの台数の減少により空いたプリンタである。このとき、プリンタ５３は、受信したプリントデータを用紙上にプリントする。
【００５７】
そして、プリンタ５３に送信したプリントデータのプリントが終了したか否かが判断される（Ｓ４０５）。プリントが終了していない場合（Ｓ４０５：ＮＯ）、ステップＳ４０４に戻って、ステップＳ４０４およびＳ４０５の処理を繰り返すことにより、プリンタ５３に対してプリントデータの送信を継続する。一方、プリントが終了した場合（Ｓ４０５：ＹＥＳ）、プリントサーバ２０に対して、プリントサーバ２０から受信したプリントデータをプリンタ５３に送信してプリントさせる作業が終了したことを通知するためのプリント終了通知を送信する（Ｓ４０６）。
【００５８】
その後、プリントジョブの実行が終了したことを通知するためのジョブ終了通知を、プリントサーバ２０から受信するまで待機する（Ｓ４０７：ＮＯ）。
【００５９】
プリントサーバ３０からジョブ終了通知を受信すると（Ｓ４０７：ＹＥＳ）、プリントサーバ３０は、他のジョブに備えるために、プリントサーバ３０自身を開放する処理を行う（Ｓ４０８）。
【００６０】
このように第１実施形態によれば、プリント時に画像欠損が発生すると判断されたページを、他のプリントサーバを介してプリンタに送信させることができる。したがって、必要なデータ転送速度が確保され、プリント速度がデータ転送速度を上回ることを防止するので、プリント時の画像欠損をなくすことができる。しかも、プリントシステム全体で見ればプリントを行うプリンタの台数を減らす必要がないので、プリント作業を効率よく行うことができる。
【００６１】
図１４は、本発明の第２実施形態にかかるプリントサーバを用いたプリントシステムの全体構成図である。以下、第１実施形態と相違する点を中心に第２実施形態を説明し、共通する点については適宜説明を省略する。
【００６２】
図１４に示すように、プリントシステムは、クライアント１０と、プリントサーバ４０と、複数台のプリンタ５０〜５３とを備え、これらはネットワーク６０を介して相互に通信可能に接続されている。本実施形態のプリントシステムでは、１台のプリントサーバ４０が用いられる。
【００６３】
図１５は、プリントサーバ４０の概略構成を示すブロック図である。プリントサーバ４０は、ＣＰＵ４０１、ＲＯＭ４０２、ＲＡＭ４０３、ＦＤＤ４０４、ＣＤＤ４０５、第１のハードディスク４０６ａ、第２のハードディスク４０６ｂ、表示部４０７、入力部４０８、ネットワークインタフェース４０９、および、通信部４１０を含み、これらは信号をやり取りするためのバス４１１を介して相互に接続されている。
【００６４】
このように、本実施形態のプリントサーバ４０は、通常使用される第１のハードディスク４０６ａと、第１のハードディスク４０６ａと別個の第２のハードディスク４０６ｂとを有している。第２のハードディスク４０６ｂは、第１のハードディスク４０６ａよりもデータを高速に読み出し可能であることが望ましく、これにより、プリントデータの送信がより効率よく行われる。
【００６５】
次に、図１６〜図２１を参照して、プリントサーバ４０で行われる処理について説明する。図１６〜図１８は、プリントサーバ４０で行われる処理を説明するためのフローチャート、図１９〜図２１は、プリントジョブまたはプリントデータの流れを模式的に示す図である。なお、図１６〜図１８のフローチャートにより示されるアルゴリズムは、第１のハードディスク４０６ａなどの記憶装置にプログラムとして記憶されており、ＣＰＵ４０１により実行される。
【００６６】
クライアント１０により作成されたプリントジョブをプリントサーバ４０が受信することにより（図１９参照）、プリントサーバ４０における処理が開始される。図１６におけるステップＳ５０１〜Ｓ５０４は、図６におけるステップＳ１０１〜Ｓ１０４とそれぞれ同様である。
【００６７】
ステップＳ５０５では、ジョブヘッダテーブルの内容に基づいて、プリントデータの格納処理が行われる。
【００６８】
図１７に示すように、プリントデータの格納処理では、プリント速度と注目ページのデータ転送速度とを比較した結果、注目ページがプリント不可ページでない場合、すなわち、プリント時に画像欠損が発生しないと判断された場合（Ｓ６０３：ＮＯ）、第１のハードディスク４０６ａに当該ページを格納する（Ｓ６０５）。一方、注目ページがプリント不可ページであると判断された場合、すなわち、プリント時に画像欠損が発生すると判断された場合（Ｓ６０３：ＹＥＳ）、第２のハードディスク４０６ｂに当該ページを格納する（Ｓ６０４）。なお、図１７におけるステップＳ６０１〜Ｓ６０３、Ｓ６０６、およびＳ６０７は、図７におけるＳ２０１〜Ｓ２０３、Ｓ２０６、およびＳ２０７とそれぞれ同様である。
【００６９】
図１６に示すフローチャートの説明に戻り、ステップＳ５０６では、第１のハードディスク４０６ａまたは第２のハードディスク４０６ｂに格納されたプリントデータの送信処理が行われる。
【００７０】
次に、図１８を参照して、ステップＳ５０６の処理について詳細に説明する。
【００７１】
まず、ジョブヘッダテーブルの解析を行う（Ｓ７０１）。解析の結果、処理しようとするページがプリント不可のページであるか否かが判断される（Ｓ７０２）。これらの解析（Ｓ７０１）および判断（Ｓ７０２）のの内容は、図７のステップＳ２０２およびＳ２０３と同様である。
【００７２】
処理しようとするページがプリント不可のページではないと判断された場合、すなわち、プリント時に画像欠損が発生しないと判断された場合（Ｓ７０２：ＮＯ）、第１のハードディスク４０６ａから当該ページを読み出して、プリンタに送信する（Ｓ７０４）。本実施形態では、後述するステップＳ７０３の切替処理が行われない限り、通常使用される第１のハードディスク４０６ａが、プリントデータの読み出し用ハードディスクとして設定される。ここで、プリントデータは、プリントジョブの送信時に指定されたプリンタ５０〜５３に対して、所定ページ数ずつ分割されて並行して送信され（図２０参照）、それぞれのプリンタでプリントが実行される。
【００７３】
一方、処理しようとするページがプリント不可のページであると判断された場合、すなわち、プリント時に画像欠損が発生すると判断された場合（Ｓ７０２：ＹＥＳ）、プリントデータの読み出し用ハードディスクが第２のハードディスク４０６ｂに切り替えられ（Ｓ７０３）、第２のハードディスク４０６ｂから当該ページを読み出して、たとえばプリンタ５３に送信する（Ｓ７０４）。このとき、プリンタ５３は、受信したプリントデータを用紙上にプリントする。第２のハードディスク４０６ｂから読み出されるページのプリントデータが送信されるプリンタ５３は、当該ページの直前のページのプリントデータが送信されたプリンタ、すなわち、プリントデータの読み出し用ハードディスクが切り替えられた結果、第１のハードディスク４０６ａからのデータ転送先であるプリンタの台数の減少により空いたプリンタである。なお、第２のハードディスク４０６ｂから読み出されたプリントデータをプリンタ５３に送信している間も、第１のハードディスク４０６ａからから読み出されたプリントデータが他のプリンタ５０〜５２に対して並行して送信され、それぞれのプリンタでプリントする処理を継続している（図２１参照）。
【００７４】
そして、プリントジョブに関する全プリントデータのプリンタへの送信が終了したか否かが判断される（Ｓ７０５）。全プリントデータの送信が終了していない場合（Ｓ７０５：ＮＯ）、ステップＳ７０１〜Ｓ７０５の処理を繰り返す。
【００７５】
このように第２実施形態によれば、プリント時に画像欠損が発生すると判断されたページを、高速にデータの読み出しが可能な第２のハードディスク４０６ｂから読み出してプリンタに送信させることができる。したがって、必要なデータ転送速度が確保され、プリント速度がデータ転送速度を上回ることを防止するので、プリント時の画像欠損をなくすことができる。しかも、プリントシステム全体で見ればプリントを行うプリンタの台数を減らす必要がないので、プリント作業を効率よく行うことができる。
【００７６】
本発明は、上記した実施形態のみに限定されるものではなく、特許請求の範囲内において、種々改変することができる。
【００７７】
たとえば、上記した実施形態では、画像欠損が生じると判定されたページのプリントデータを、他のプリントサーバ３０や第２のハードディスク４０６ｂに転送してそこからプリンタヘ転送させる制御について説明したが、かかる制御を行ってもなお画像欠損が生じるおそれがある場合には、プリントシステム全体におけるプリントを実行するプリンタの台数を減らす制御を追加してもよい。この場合、プリントシステム全体におけるプリント速度が若干低下するが、画像欠損の発生をより確実に防止することができる。
【００７８】
また、上記した第２実施形態では、プリントデータの格納処理が全ページについて終了した後に、プリントデータのプリンタへの送信処理が行われる場合について説明したが、プリントデータをページごとに解析してハードディスクに格納しながら、ハードディスクからプリントデータを読み出してプリンタへ送信することも可能である。
【００７９】
本発明によるプリントサーバにおける図６〜８、１３、１６〜１８の処理を行う各手段、およびプリント方法は、専用のハードウエア回路、またはプログラムされたコンピュータのいずれによっても実現することが可能である。上記プログラムは、例えばフレキシブルディスクやＣＤ−ＲＯＭなどのコンピュータ読み取り可能な記録媒体によって提供されてもよいし、インターネット等のネットワークを介してオンラインで提供されてもよい。この場合、コンピュータ読取可能な記録媒体に記録されたプログラムは、通常、ハードディスク等の記憶装置に転送されて記憶される。また、上記プログラムは、単独のアプリケーションソフトとして提供されてもよいし、装置の一機能としてその装置のソフトウェアに組み込まれてもよい。
【００８０】
なお、上述した本発明の実施形態には、特許請求の範囲の請求項１〜５に記載した発明以外にも、以下の付記１〜５に示すような発明が含まれる。
【００８１】
［付記１］  前記データ転送装置は、第１のハードディスクであり、前記他のデータ転送装置は、前記第１のハードディスクと別個の第２のハードディスクであることを特徴とする請求項１〜４のいずれか１つに記載のプリントプログラム。
【００８２】
［付記２］  前記第２のハードディスクは、前記第１のハードディスクよりも高速にデータの読み出しが可能であることを特徴とする付記１に記載のプリントプログラム。
【００８３】
［付記３］  前記判定手順において画像欠損が生じると判定されたページのデータを、他のデータ転送装置に転送して当該他のデータ転送装置から画像形成装置ヘ転送させた場合、いずれかの画像形成装置でプリント画像に欠損が生じるか否かを判定する第２の判定手順をさらにコンピュータに実行させ、
前記制御手順において、前記第２の判定手順において画像欠損が生じると判定された場合、データ転送先である画像形成装置の台数を減少させる制御を行うことを特徴とする請求項１〜４、付記１、２のいずれか１つに記載のプリントプログラム。
【００８４】
［付記４］  複数の画像形成装置にデータを転送してプリントさせるためのプリント方法であって、
プリント対象のページのデータサイズ、およびプリントサーバ内に設けられデータの蓄積および転送が可能なデータ転送装置のデータ転送能力に基づいて、当該ページのデータ転送速度を演算する演算ステップと、
前記演算ステップにおいて演算されたデータ転送速度と所定台数の画像形成装置におけるプリント速度とを比較し、所定台数の画像形成装置ヘデータを転送したときにプリント画像に欠損が生じるか否かを判定する判定ステップと、
前記判定ステップにおいて画像欠損が生じると判定されたページのデータを、他のデータ転送装置に転送して当該他のデータ転送装置から画像形成装置ヘ転送させる制御を行う制御ステップと、
を有することを特徴とするプリント方法。
【００８５】
［付記５］  請求項１に記載のプリントプログラムを記録したコンピュータ読み取り可能な記録媒体。
【００８６】
【発明の効果】
以上説明したように、本発明によれば、プリント時に画像欠損が発生すると判断されたページを、他のデータ転送装置を介してプリンタに送信させることができる。したがって、必要なデータ転送速度が確保され、プリント速度がデータ転送速度を上回ることを防止するので、プリント時の画像欠損をなくすことができる。しかも、プリントシステム全体で見ればプリントを行う画像形成装置の台数を減らす必要がないので、プリント作業を効率よく行うことができる。
【図面の簡単な説明】
【図１】  本発明の第１実施形態にかかるプリントサーバを用いたプリントシステムの全体構成図である。
【図２】  クライアントの概略構成を示すブロック図である。
【図３】  プリントサーバの概略構成を示すブロック図である。
【図４】  他のプリントサーバの概略構成を示すブロック図である。
【図５】  プリンタの概略構成を示すブロック図である。
【図６】  プリントサーバで行われる処理を説明するためのフローチャートである。
【図７】  プリントデータの格納処理を説明するためのフローチャートである。
【図８】  プリントデータの送信処理および他のプリントサーバとの通信処理を説明するためのフローチャートである。
【図９】  プリントジョブおよびプリントデータの流れを模式的に示す図である。
【図１０】  プリントデータの流れを模式的に示す図である。
【図１１】  プリントデータの流れを模式的に示す図である。
【図１２】  ジョブヘッダテーブルの一例を示す図である。
【図１３】  他のプリントサーバで行われる処理を説明するためのフローチャートである。
【図１４】  本発明の第２実施形態にかかるプリントサーバを用いたプリントシステムの全体構成図である。
【図１５】  第２実施形態のプリントサーバの概略構成を示すブロック図である。
【図１６】  第２実施形態のプリントサーバで行われる処理を説明するためのフローチャートである。
【図１７】  プリントデータの格納処理を説明するためのフローチャートである。
【図１８】  プリントデータの送信処理を説明するためのフローチャートである。
【図１９】  プリントジョブの流れを模式的に示す図である。
【図２０】  プリントデータの流れを模式的に示す図である。
【図２１】  プリントデータの流れを模式的に示す図である。
【符号の説明】
１０…クライアント、
２０…プリントサーバ、
２０１…ＣＰＵ、
２０２…ＲＯＭ、
２０３…ＲＡＭ、
２０４…ＦＤＤ、
２０５…ＣＤＤ、
２０６…ハードディスク、
２０７…表示部、
２０８…入力部、
２０９…ネットワークインタフェース、
２１０…通信部、
２１１…バス、
３０…他のプリントサーバ、
３０６…ハードディスク、
４０…プリントサーバ、
４０６ａ…第１のハードディスク、
４０６ｂ…第２のハードディスク、
５０〜５３…プリンタ、
６０…ネットワーク。
【図１】
0004029656.tif 000002
【図２】
0004029656.tif 000003
【図３】
0004029656.tif 000004
【図４】
0004029656.tif 000005
【図５】
0004029656.tif 000006
【図６】
0004029656.tif 000007
【図７】
0004029656.tif 000008
【図８】
0004029656.tif 000009
【図９】
0004029656.tif 000010
【図１０】
0004029656.tif 000011
【図１１】
0004029656.tif 000012
【図１２】
0004029656.tif 000013
【図１３】
0004029656.tif 000014
【図１４】
0004029656.tif 000015
【図１５】
0004029656.tif 000016
【図１６】
0004029656.tif 000017
【図１７】
0004029656.tif 000018
【図１８】
0004029656.tif 000019
【図１９】
0004029656.tif 000020
【図２０】
0004029656.tif 000021
【図２１】
0004029656.tif 000022