(57)【要約】【課題】  用紙サイズやカラーデータの有無などからページ単位で印刷ジョブを分割処理する分散印刷システムにおいて、ページ数が少なく早く印刷が終了する分散先印刷装置において、後続する他のジョブの印刷物が分散印刷ジョブの印刷物と混在し、ユーザの印刷物の回収作業を困難にしていた。【解決手段】  印刷ジョブを分割し、複数の印刷装置で印刷する分散印刷システムにおいて、印刷ジョブを分割して生成した分割ジョブが全て同時に終了するように、少なくとも１つの分割ジョブの印刷開始を遅らせることを特徴とする分散印刷システム。【選択図】        図１
2005196546.tif 000002
【特許請求の範囲】
【請求項１】
印刷ジョブを分割し、複数の印刷装置で印刷する分散印刷システムであって、印刷ジョブを分割して生成した分割ジョブが全て同時に終了するように、少なくとも１つの分割ジョブの印刷開始を遅らせること特徴とする分散印刷システム。
【請求項２】
前記印刷ジョブに対して、ページ単位の印刷処理に関わる性質を解析する手段と、前記複数の印刷装置に対して、それぞれの印刷装置の印刷処理能力を検出する手段とを有し、前記ページ単位の印刷処理に関わる性質と、前記印刷装置の印刷処理能力とから、ページ単位で印刷に適する印刷装置を特定し、その結果に基づいて印刷ジョブをページ単位で分割して前記分割ジョブを生成することを特徴とする請求項１記載の分散印刷システム。
【請求項３】
前記ページ単位の印刷処理に関わる性質は「カラーデータの有無」であり、前記印刷装置の印刷処理能力は「カラー印刷が可能か否か」であることを特徴とする請求項２記載の分散印刷システム。
【請求項４】
前記ページ単位の印刷処理に関わる性質は「出力用紙サイズ」であり、前記印刷装置の印刷処理能力は「印刷可能な用紙サイズ」であることを特徴とする請求項２記載の分散印刷システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷ジョブを分割し、複数の印刷装置で印刷する分散印刷システムに関するものである。
【背景技術】
【０００２】
従来、分散印刷システムにおいて、１つの印刷ジョブを分割して複数の印刷装置で印刷させる場合、ジョブの分割が完了した時点、あるいは、ジョブの分割方法が決定した時点で、直ちに、分散先の印刷装置に印刷を開始させていた（例えば、特許文献１参照）。
【特許文献１】特開平１１−２４２５７４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、全ての分散先で同時に印刷を開始させる場合、ジョブの分割方法によっては、分散先の印刷処理が同時に終了しない場合がある。例えば、カラーデータを含むカラーページをカラープリンタへ振り分け、その他の白黒ページを白黒プリンタへ振り分けるような分割方法を採ると、印刷ジョブ内のカラーページと白黒ページの構成比と、分散印刷システム内のカラープリンタと白黒プリンタの構成比によっては、分散先の印刷処理を同時に終了させるようにページを振り分けることができない場合がある。
【０００４】
このような場合、分散印刷が実行され、その処理が先に終了した印刷装置においては、後続のジョブの印刷物と分散印刷による印刷物とが混在一体となってしまい、分散印刷を行ったユーザが印刷物の回収作業を円滑に行うことができないという問題が起きていた。
【０００５】
本発明は、このような問題点に鑑みて為されたものであり、その目的とする処は、ジョブの分散先の印刷処理が全て同時に終了するように制御可能な分散印刷システムを提供することにある。
【課題を解決するための手段】
【０００６】
本発明は、下記の技術的構成により前記目的を達成できたものである。
【０００７】
（１）印刷ジョブを分割し、複数の印刷装置で印刷する分散印刷システムであって、印刷ジョブを分割して生成した分割ジョブが全て同時に終了するように、少なくとも１つの分割ジョブの印刷開始を遅らせること特徴とする分散印刷システム。
【０００８】
（２）前記印刷ジョブに対して、ページ単位の印刷処理に関わる性質を解析する手段と、前記複数の印刷装置に対して、それぞれの印刷装置の印刷処理能力を検出する手段とを有し、前記ページ単位の印刷処理に関わる性質と、前記印刷装置の印刷処理能力とから、ページ単位で印刷に適する印刷装置を特定し、その結果に基づいて印刷ジョブをページ単位で分割して前記分割ジョブを生成することを特徴とする前記（１）記載の分散印刷システム。
【０００９】
（３）前記ページ単位の印刷処理に関わる性質は「カラーデータの有無」であり、前記印刷装置の印刷処理能力は「カラー印刷が可能か否か」であることを特徴とする前記（２）記載の分散印刷システム。
【００１０】
（４）前記ページ単位の印刷処理に関わる性質は「出力用紙サイズ」であり、前記印刷装置の印刷処理能力は「印刷可能な用紙サイズ」であることを特徴とする前記（２）記載の分散印刷システム。
【発明の効果】
【００１１】
本発明によれば、印刷ジョブを分割し、複数の印刷装置で印刷する分散印刷システムにおいて、印刷ジョブを分割して生成した分割ジョブの少なくとも１つの印刷開始を遅らせることにより、全ての分割ジョブが同時に終了するように制御することで、分散印刷を実行したユーザが、円滑に印刷物を回収できる分散印刷システムを提供することができる。
【発明を実施するための最良の形態】
【００１２】
以下本発明の実施例について、図面を参照しながら説明する。
【実施例１】
【００１３】
以下、本発明の実施の形態について図面を参照しながら説明する。
【００１４】
図１は、本発明に係る分散印刷システムを適用可能な印刷システムの構成を説明するブロック図である。
【００１５】
図１において、１０１はユーザが操作するクライアントコンピュータであり、ネットワーク１０８を介してプリンタサーバ１０４、プリンタＡ１０５、プリンタＢ１０６、プリンタＣ１０７と通信可能に接続されている。
【００１６】
プリンタサーバ１０４はクライアントコンピュータが印刷に使用可能なプリンタＡ１０５〜Ｃ１０７に関してそれぞれの印刷処理能力や状態を保持し、クライアントコンピュータからの印刷要求に応じて印刷許可を発行する。
【００１７】
１０２は印刷すべき文書データを作成するアプリケーションプログラムである。
【００１８】
１０３はアプリケーションから印刷の要求を受ける仮想的な分散プリンタであり、プリンタサーバ１０４に登録されている複数のプリンタへ印刷データを振り分ける分散印刷を制御する。
【００１９】
なお、アプリケーション１０２と分散プリンタ１０３は同一の装置内に実装される必要は必ずしもなく、例えば、分散プリンタ１０３はプリンタサーバ１０４上、アプリケーション１０２がクライアントコンピュータ１０１上に存在する構成でも良い。その場合は、アプリケーション１０２からメタファイル等の中間形式でファイルがプリンタサーバ上の分散プリンタへ渡されることになる。
【００２０】
また、プリンタサーバは専用の装置として実現する必要は必ずしも無く、クライアントコンピュータ１０１上にプリンタサーバ機能と、アプリケーション１０２、分散プリンタ１０３を実装する構成でも良い。
【００２１】
図２は、本発明の分散印刷システムを構成するソフトウエアモジュールを説明する図である。なお、前述した図と同じ構成は同一の符号を付してある。
【００２２】
図において、１０２は前述したように、印刷すべき文書データを作成するアプリケーションモジュールであり、作成された文書データを印刷する際にはＯＳの描画手段であるＧＤＩ（Ｇｒａｐｈｉｃ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ）２０１に対して描画データを出力する。
【００２３】
２０２は米国マイクロソフト社製のＯＳ（Ｗｉｎｄｏｗｓ（登録商標））が提供するＥＭＦスプーラであり、２０３はＯＳ内に組み込まれるプリンタドライバである。
【００２４】
２０８はＷｉｎｄｏｗｓ（登録商標）内の印刷データをスプールするＲＡＷスプーラ、２０９はネットワークプリンタ用制御モニタである。
【００２５】
２０４と２０５はプリンタドライバ２０３に含まれるモジュールであり、２０４は印刷ジョブの名称、オーナ名、印刷ジョブの印刷出力先であるプリンタ名、印刷依頼した時刻等の情報を含む印刷要求情報を生成する印刷要求生成部である。
【００２６】
２０５は出力先のプリンタで解釈可能なプリンタ言語形式の印刷データを生成する印刷データ生成部である。
【００２７】
２１０はプリンタサーバ１０４と通信してプリンタドライバが生成した印刷データをプリンタへ出力するタイミングを制御する送信制御部である。
【００２８】
２０６は分散印刷時に分散印刷の制御を行う分散制御部であり、複数のプリンタドライバ２０７Ａ〜２０７Ｃを起動できるようになっている。プリンタドライバ２０７Ａ〜２０７Ｃはプリンタドライバ２０３と同様に、印刷要求生成部と印刷データ生成部を含み、対応するプリンタに適した印刷要求情報および印刷データの生成を行う。
【００２９】
２１１はプリンタサーバ１０４内のモジュールであり、ネットワークを介してクライアントコンピュータ１０１から受信した印刷要求情報に基づいて印刷順序を管理する順序管理部である。印刷要求情報は出力先のプリンタ毎に分けて管理され、順序リスト２１２に格納される。
【００３０】
また、２１３はプリンタ監視部であり、ネットワーク上に通信可能に接続され、サーバ１０４の管理下にあるプリンタのステータスを監視し、印刷待ち状態のプリンタに対して依頼されている印刷要求がある場合は順序管理部２１１に通知する。
【００３１】
プリンタ監視部２１３は所定時間おきにプリンタに対してポーリングを行い、ＭＩＢ（Ｍａｎａｇｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｂａｓｅ）情報を取得することによりプリンタのステータス及び印刷完了ページを把握する。
【００３２】
このように構成されるシステムにおいて、アプリケーション１０２で印刷を行う場合は、文書データを描画データであるＧＤＩ関数としてＧＤＩ２０１に出力し、ＧＤＩ２０１はＤＤＩ関数（Ｄｅｖｉｃｅ  Ｄｒｉｖｅｒ  Ｉｎｔｅｒｆａｃｅ）と呼ばれるドライバで実行可能な中間データ形式の描画コマンドに変換してＥＭＦスプーラ２０２にスプールする。
【００３３】
ＥＭＦスプーラ２０２にスプールされる中間データはページ単位に分けられており、本発明の分散印刷処理にとって扱いやすいデータ形式となっている。
【００３４】
通常印刷時は、出力先のポートに指定されているプリンタドライバ２０３が、中間データ、つまりＤＤＩ関数を受け取り、印刷要求生成部２０４、及び印刷データ生成部２０５により、印刷要求情報、及び印刷出力先のネットワークプリンタで解釈可能なプリンタ言語（ページ記述言語）の印刷データを生成する。
【００３５】
生成された印刷要求情報は送信制御部２１０によりモニタ２０９からネットワークを介してプリンタサーバ１０４に送信され、印刷データはＲＡＷスプーラ２０８にスプールされる。スプールされた印刷データは、対応する印刷要求情報に対する印刷許可がプリンタサーバ１０４から送信制御部２１０へ送られた後に、送信制御部２１０によってプリンタへ出力される。
【００３６】
前述した分散プリンタが出力先のポートとして指定されている場合は、分散制御部２０６がＥＭＦスプーラから中間データを受け取る。分散制御部２０６はページ単位の中間データを解析してそのページを振り分けるプリンタを決定し、対応するプリンタドライバ２０７に中間データを渡す。
【００３７】
中間データを受け取った各プリンタドライバ２０７は通常印刷時と同様に、印刷要求生成部及び印刷データ生成部により印刷要求情報及び印刷データを生成する。生成された各印刷要求情報は送信制御部２１０によりモニタ２０９からネットワークを介してプリンタサーバ１０４に送信され、各印刷データはＲＡＷスプーラ２０８にスプールされる。スプールされた各印刷データは、対応する印刷要求情報に対する印刷許可がプリンタサーバ１０４から送信制御部２１０へ送られた後に、送信制御部２１０によってプリンタへ出力される。この時、プリンタサーバ１０４においては、プリンタ監視部２１３が分散印刷で用いる全てのプリンタが印刷待ち状態になるのを待ち、全てのプリンタが印刷待ち状態になった時に、順序管理部２１１が分散印刷の全ての印刷要求に対する印刷許可を送信する。
【００３８】
以下、図３から図７によって分散制御部２０６の詳細を説明する。
【００３９】
図３は、分散制御部２０６を構成するソフトウエアモジュールを説明する図である。
【００４０】
図において、分割ジョブ生成部３０１はＥＭＦスプーラ２０２から１ジョブ分の中間データを受け取り、分散印刷に使用するそれぞれのプリンタに１対１に対応する分割ジョブを生成する。
【００４１】
分割ジョブ管理部３０５は分割ジョブ生成部３０１により生成された分割ジョブが全て同時に終了するように各プリンタ上の分割ジョブを管理する。
【００４２】
印刷処理能力管理部３０７は、プリンタサーバ１０４が管理しているプリンタの情報を取得し、各プリンタの印刷処理能力を保持する。図４が、その印刷処理能力をわかり易く説明する図であり、具体的な例を示している。各レコードは、プリンタ名４０１、カラー印刷が可能か否かを示すフラグ４０２、印刷可能な用紙サイズのリスト４０３、Ａ４印刷の所要時間４０４などのフィールドから構成される。
【００４３】
図の例では、プリンタＡ１０５の場合は、レコード４０５のように、プリンタ名４０１が「プリンタＡ」、フラグ４０２が「可能」、リスト４０３が「Ａ４用紙とＡ３用紙」、Ａ４印刷の所要時間４０４が「５秒」となっている。
【００４４】
ジョブ分割結果３０６には分割ジョブを生成する際に各分割ジョブの詳細情報が記録される。図５が、その構成をわかり易く説明する図で、具体的な例を示している。各レコードは、分割ジョブに対応付けられたプリンタの名前５０１、振り分けられたページのリスト５０２、振り分けられたページを全て印刷するための所要時間５０３、分割ジョブの印刷開始の遅延時間５０４などから成る。後述するように、振り分けられたページのリスト５０２と振り分けられたページを全て印刷するための所要時間５０３はページ振り分け部３０２内のプリンタ決定部３０４により更新され、分割ジョブの印刷開始の遅延時間５０４は分割ジョブ生成部３０１により設定される。
【００４５】
図の例では、プリンタＡ１０５に対する分割ジョブの場合、レコード５０５のように、プリンタの名前５０１が「プリンタＡ」、リスト５０２が「ページ１のみ」、所要時間５０３が「５秒」、遅延時間５０４が「１０秒」となっている。
【００４６】
なお、図５の具体例、レコード５０５〜５０７は、印刷処理能力が図４に示す具体例の値である場合に、分散印刷ジョブとして、１ページ目：カラーデータ有り・用紙サイズＡ４、２〜４ページ目：カラーデータ無し・用紙サイズＡ４、５ページ目：カラーデータ有り・用紙サイズＡ３、という５ページのデータが投入された場合の結果である。
【００４７】
ページ振り分け部３０２は分割ジョブ生成部３０１から１ページづつ中間データを受け取り、ページ解析部３０３とプリンタ決定部３０４によって、各ページを振り分けるプリンタを決定し、ジョブ分割結果３０６を更新する。
【００４８】
更に詳細を説明すると、まず、ページ解析部３０３がページ単位の中間データを解析し、印刷処理に関わる性質として「カラーデータの有無」と「用紙サイズ」を抽出し、プリンタ決定部３０４へ結果を伝える。次いで、プリンタ決定部３０４が、ページ解析部３０３から受け取ったページの「印刷処理に関わる性質」と印刷処理能力管理部３０７が保持する「印刷処理能力」に基づいてそのページの印刷に適したプリンタを決定する。
【００４９】
プリンタ決定部３０４は、決定したプリンタと一致するレコードをジョブ分割結果３０６内で特定し、そのレコードの振り分けられたページのリスト５０２にページ番号を追加し、振り分けられたページを全て印刷するための所要時間５０３に新たに振り分けたページの印刷所要時間を加算する。加算する印刷所要時間は、そのページの用紙サイズと、印刷処理能力管理部３０７が保持する該当するプリンタのＡ４印刷の所要時間４０４から求める。
【００５０】
図６はプリンタ決定部３０４が振り分けるプリンタを決定する処理を説明するフローチャートである。図において、まず、ステップ６０１にて、「カラーデータの有無」から振り分けるプリンタを絞り込む。ステップ６０２にて、その結果が複数のプリンタである場合は、ステップ６０３にて、「用紙サイズ」から更にプリンタを絞り込む。ステップ６０４にて、その結果が複数のプリンタである場合は、ステップ６０５にて、Ａ４印刷の所要時間４０４から１つのプリンタに絞り込む。ステップ６０２およびステップ６０４にてプリンタが１つに絞り込まれている場合は処理を終了する。
【００５１】
図７は、分割ジョブ生成部３０１の処理を説明するフローチャートである。
【００５２】
図において、分散印刷ジョブが投入されると、まず、ステップ７０１とステップ７０２からなるループ処理にて１ジョブ分のページを全て処理する。ページ毎の処理はステップ７０１にて行なう。ステップ７０１においては、ＥＭＦスプーラ２０２から１ページ分の中間データを取り出し、それをページ振り分け部３０２に渡してページを振り分けるプリンタ（分割ジョブ）を決定させる。この時、前述のように、ページ振り分け部３０２がジョブ分割結果３０６のページのリスト５０２と印刷所要時間５０３を更新する。
【００５３】
上記ループ処理を抜けると、ステップ７０３にて、ジョブ分割結果３０６の全レコードに対して分割ジョブの印刷開始遅延時間５０４を設定する。各レコードの値は、印刷所要時間５０３の最大値から、各レコードの印刷所要時間５０３を引いたものである。
【００５４】
次いで、ステップ７０４にて、分割ジョブ管理部３０５に対して全分割ジョブのプリンタ名５０１と対応する印刷開始遅延時間５０４を伝える。分割ジョブ管理部３０５は渡されたプリンタ名のプリンタを全て監視し続け、分散印刷開始時刻から印刷開始遅延時間が経過したプリンタに対してジョブの再開指示を送る。なお、分散印刷開始時刻は、分散先として監視する複数のプリンタのどれか１つが印刷待ち状態からポーズ状態に変化した時刻である。
【００５５】
次いで、ステップ７０５とステップ７０６からなるループ処理にて、再び、１ジョブ分のページを全て処理する。ページ毎の処理はステップ７０５にて行なう。ステップ７０５においては、再びＥＭＦスプーラから１ページ分の中間データを取り出し、ジョブの分割結果３０６に基づいて、そのページが振り分けられているプリンタに対応するドライバ２０７に中間データを処理させる。ただし、初めて起動するプリンタドライバ２０７に対しては、プリンタの印刷処理を一時停止させるポーズコマンドをジョブの先頭に挿入するかどうか指示する。ジョブ分割結果３０６の対応するレコードの印刷開始遅延時間５０４が０秒でない場合にはポーズコマンドを挿入するように指示し、０秒である場合には挿入しないように指示する。
【００５６】
以上説明したように分散制御部２０６が動作することにより、印刷時間が短いと予想される分割ジョブはプリンタに投入されると直ぐにポーズされ、全分割ジョブが同時に終了する都合の良いタイミングで再開されることになる。
【００５７】
以上説明したように、本実施例によれば、印刷ジョブを構成するページがカラーページならカラープリンタへ、白黒ページなら白黒プリンタへ自動的に振り分ける分散印刷システムにおいて、カラーページと白黒ページの構成比やカラープリンタと白黒プリンタの構成比に関わらず、分散された印刷処理を全て同時に終了させることができる。
【図面の簡単な説明】
【００５８】
【図１】本発明に係る分散印刷システムを適用可能な印刷システムの構成を説明するブロック図
【図２】本発明の分散印刷システムを構成するソフトウエアモジュールを説明する図
【図３】図２に示す分散制御部２０６を構成するソフトウエアモジュールを説明する図
【図４】図３に示す印刷処理能力管理部３０７が保持する印刷処理能力をわかり易く説明する図
【図５】図３に示すジョブ分割結果３０６の構成をわかり易く説明する図
【図６】図３に示すプリンタ決定部３０４が振り分けるプリンタを決定する処理を説明するフローチャート
【図７】図３に示す分割ジョブ生成部３０１の処理を説明するフローチャート
【符号の説明】
【００５９】
１０１  クライアントコンピュータ
１０２  アプリケーションプログラム
１０３  分散プリンタ
１０４  プリンタサーバ
１０５、１０６，１０７  プリンタ
１０８  ネットワーク
【図１】
2005196546.tif 000003
【図２】
2005196546.tif 000004
【図３】
2005196546.tif 000005
【図４】
2005196546.tif 000006
【図５】
2005196546.tif 000007
【図６】
2005196546.tif 000008
【図７】
2005196546.tif 000009