(57)【要約】【課題】印刷対象文書の再印刷を、高速で実行でき、かつ、再印刷のためのデータを記憶する記憶装置の容量が少なくて済むようにする。【解決手段】ジョブ制御部１０は、ページ記述言語の印刷データの各ページの処理を、それぞれ異なる中間データ生成部２０に割り当てて並列に処理させる。中間データ生成部２０は、割り当てられたページのページ記述言語データを解釈部２２で中間データに変換し、記憶部２４に保存すると共に、中間データ出力部２６により描画処理部３０へと出力する。描画処理部３０は、受け取った各ページの中間データを、ラスター形式等の印刷画像データに変換し、プリントエンジン４０に供給する。一度印刷した印刷データの再印刷が指示された場合、ジョブ制御部１０は、各中間データ生成部２０に対し、記憶部２４に保存した当該印刷データに対応する各ページの中間データが描画処理部３０に供給されるよう制御する。【選択図】図１
2014134959.tif 000002
【特許請求の範囲】
【請求項１】
印刷対象文書を表すページ記述言語データを解釈してページ単位の中間データを生成する複数の中間データ生成手段と、
前記各中間データ生成手段に対して前記ページ記述言語データの解釈処理をページ単位で割り当て、前記複数の中間データ生成手段に、並列的にページの解釈処理を実行させる割り当て手段と、
前記各中間データ生成手段が生成した各ページの前記中間データを記憶する少なくとも１つの記憶手段と、
前記少なくとも１つの記憶手段の各々から、それら各記憶手段との間の通信路を介して前記各ページの中間データを取得し、取得した各ページの中間データを、印刷装置が取扱可能な印刷画像データへと変換して前記印刷装置に供給する印刷画像変換手段と、
前記印刷対象文書の再印刷が指示された場合、前記少なくとも１つの記憶装置に記憶された当該印刷対象文書に対応する前記中間データを再度前記印刷画像変換手段に取得させ、前記印刷画像データへと再変換させるための制御を行う再印刷制御手段と、
を備える印刷データ処理システム。
【請求項２】
前記少なくとも１つの記憶手段のうち、前記印刷画像生成手段との間の前記通信路を介して前記印刷画像生成手段に前記中間データを転送する転送速度が、前記印刷装置の印刷速度に見合った転送速度に満たない記憶手段は、前記各中間データ生成手段が生成した各ページの前記中間データを記憶する手段として選択されないよう制御する制御手段、
を更に備える請求項１に記載の印刷データ処理システム。
【請求項３】
前記制御手段は、更に、前記印刷画像データの供給不足による前記印刷装置の一時停止が許容されるか否かを判定し、前記一時停止が許容される場合は、前記印刷画像生成手段に前記中間データを転送する転送速度が、前記印刷装置の印刷速度に見合った転送速度に満たない前記記憶手段も、前記各中間データ生成手段が生成した各ページの前記中間データを記憶する手段として選択されることを許容する、ことを特徴とする請求項２に記載の印刷データ処理システム。
【請求項４】
前記制御手段は、出力先に指定された前記印刷装置が、印刷画像データの供給不足により一時停止する際に損紙を発生させない種類のものである場合には、前記転送速度が前記印刷装置の印刷速度に見合った転送速度に満たない前記記憶手段も、前記各中間データ生成手段が生成した各ページの前記中間データを記憶する手段として選択されることを許容する、ことを特徴とする請求項２又は３に記載の印刷データ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷データ処理システムに関する。
【背景技術】
【０００２】
印刷出力の高速化のため、複数のＲＩＰ（ＲａｓｔｅｒＩｍａｇｅ Ｐｒｏｃｅｓｓｏｒ）により印刷データを並列処理する技術が知られている。ここで、ＲＩＰとは、ＰｏｓｔＳｃｒｉｐｔ（登録商標）やＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）等のページ記述言語（以下、ＰＤＬと略す。ＰＤＬはＰａｇｅ Ｄｅｓｃｒｉｐｔｉｏｎ Ｌａｎｇｕａｇｅの略）で記述された印刷データを、印刷や表示が可能なラスター形式等のデータに展開するハードウエア又はソフトウエアのことである。
【０００３】
例えば特許文献１には、複数の外部ＲＩＰ処理装置を用いて並列処理を行うことで、ＲＩＰ処理の高速化を図りシステムが開示されている。このシステムでは、現行ジョブのＲＩＰ処理中に未使用の外部ＲＩＰ処理装置が有る場合は、ジョブ管理部が事前処理部に後続ジョブの先行処理を依頼し、事前処理部がＲＩＰ処理装置に後続ジョブの先行処理情報を配信する。ＲＩＰ処理装置は、受け付けた先行処理情報を、自装置に割り当てられている外部ＲＩＰ処理装置に連絡する。外部ＲＩＰ処理装置は、後続ジョブの先行処理を行い、ラスタライズデータを保存する。現行ジョブの後に、後続ジョブをＲＩＰ処理する際は、ＲＩＰ処理装置の先行処理ページ取得部が先行処理実行情報に基づいて先行処理されているラスタライズデータを取得する。
【０００４】
特許文献２に開示されたシステムでは、複数の解釈部のそれぞれが、ページ記述言語で記述された文書データＰＤＬを解釈し、自身の担当ページについて、担当ページを構成する構成要素を描画する手順を表す描画命令を含む中間データを生成する。基本色（例えばＣ，Ｍ，Ｙ，Ｋ）毎に設けられた描画データ生成部は、それぞれ対応する基本色の中間データを各解釈部から取得し、取得した中間データに含まれる描画命令に従って、印刷画像を構成する画素ごと又は走査線毎の描画データ（例えばラスターデータ）を生成する。このように、特許文献２のシステムでは、ページ記述言語データから中間データへの変換と、中間データからラスター形式等の描画データへの変換との二段階の変換を行い、各段階での変換処理をそれぞれ異なる単位で並列化している。
【０００５】
さて、一度印刷したページ記述言語の印刷データを再印刷する場合、その印刷データを再度ＲＩＰ処理する必要があるため、時間を要する。再印刷の時間短縮のために、ＲＩＰ結果のラスター形式のデータを印刷装置側に保存し、再印刷の際にその保存したデータを読み出して用いるシステムも存在するが、データ量の大きいラスターデータを１文書分まとめて保存するのは、非常に大容量の記憶装置が必要となる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−２０１１４６号公報
【特許文献２】特開２０１１−０７０３３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、印刷対象文書の再印刷を、本発明を用いない場合よりも、高速で実行でき、かつ、再印刷のためのデータを記憶する記憶装置の容量が少なくて済むようにする。
【課題を解決するための手段】
【０００８】
請求項１に係る発明は、印刷対象文書を表すページ記述言語データを解釈してページ単位の中間データを生成する複数の中間データ生成手段と、前記各中間データ生成手段に対して前記ページ記述言語データの解釈処理をページ単位で割り当て、前記複数の中間データ生成手段に、並列的にページの解釈処理を実行させる割り当て手段と、前記各中間データ生成手段が生成した各ページの前記中間データを記憶する少なくとも１つの記憶手段と、前記少なくとも１つの記憶手段の各々から、それら各記憶手段との間の通信路を介して前記各ページの中間データを取得し、取得した各ページの中間データを、印刷装置が取扱可能な印刷画像データへと変換して前記印刷装置に供給する印刷画像変換手段と、前記印刷対象文書の再印刷が指示された場合、前記少なくとも１つの記憶装置に記憶された当該印刷対象文書に対応する前記中間データを再度前記印刷画像変換手段に取得させ、前記印刷画像データへと再変換させるための制御を行う再印刷制御手段と、を備える印刷データ処理システムである。
【０００９】
請求項２に係る発明は、前記少なくとも１つの記憶手段のうち、前記印刷画像生成手段との間の前記通信路を介して前記印刷画像生成手段に前記中間データを転送する転送速度が、前記印刷装置の印刷速度に見合った転送速度に満たない記憶手段は、前記各中間データ生成手段が生成した各ページの前記中間データを記憶する手段として選択されないよう制御する制御手段、を更に備える請求項１に記載の印刷データ処理システムである。
【００１０】
請求項３に係る発明は、前記制御手段は、更に、前記印刷画像データの供給不足による前記印刷装置の一時停止が許容されるか否かを判定し、前記一時停止が許容される場合は、前記印刷画像生成手段に前記中間データを転送する転送速度が、前記印刷装置の印刷速度に見合った転送速度に満たない前記記憶手段も、前記各中間データ生成手段が生成した各ページの前記中間データを記憶する手段として選択されることを許容する、ことを特徴とする請求項２に記載の印刷データ処理システムである。
【００１１】
請求項４に係る発明は、前記制御手段は、出力先に指定された前記印刷装置が、印刷画像データの供給不足により一時停止する際に損紙を発生させない種類のものである場合には、前記転送速度が前記印刷装置の印刷速度に見合った転送速度に満たない前記記憶手段も、前記各中間データ生成手段が生成した各ページの前記中間データを記憶する手段として選択されることを許容する、ことを特徴とする請求項２又は３に記載の印刷データ処理システムである。
【発明の効果】
【００１２】
請求項１に係る発明によれば、印刷対象文書の再印刷を、本発明を用いない場合よりも、高速で実行でき、かつ、再印刷のためのデータを記憶する記憶装置の容量が少なくて済ませることができる。
【００１３】
請求項２に係る発明によれば、中間データの供給遅れにより印刷装置の印刷処理が一時停止してしまう可能性を低減することができる。
【００１４】
請求項３に係る発明によれば、印刷装置の一時停止をユーザが許容する場合には、より多くの中間データ生成手段を用いて中間データの生成処理の高速化を図ることができる。
【００１５】
請求項４に係る発明によれば、一時停止しても損紙が発生しない種類の印刷装置を用いる場合には、より多くの中間データ生成手段を用いて中間データの生成処理の高速化を図ることができる。
【図面の簡単な説明】
【００１６】
【図１】実施の形態の印刷データ処理システムの一例の機能ブロック図である。
【図２】ジョブ制御部の機能構成の一例を示す図である。
【図３】実施形態のシステムの処理手順の一例を示す図である。
【図４】ジョブ制御部を複数備えるシステム構成の例を示す機能ブロック図である。
【発明を実施するための形態】
【００１７】
以下、図面を参照して、実施の形態に係る印刷データ処理システムについて説明する。
【００１８】
図１に、実施の形態の印刷データ処理システムの一例を示す。このシステムは、ジョブ制御部１０と、複数の中間データ生成部２０と、描画処理部３０と、プリントエンジン４０と含む。
【００１９】
ジョブ制御部１０は、入力された印刷指示をジョブとして管理し、システムの他の要素を制御してジョブを実行する。入力される印刷指示は、印刷対象の文書画像をページ記述言語（以下ＰＤＬと略す。ＰＤＬはPage Description Languageの略）で記述した印刷データが含まれる。「ジョブ」は、ユーザ側からの印刷指示を、このシステム側の「仕事」として捉えた概念である。ジョブ制御部１０は、印刷指示に含まれる印刷データや指示パラメータ（例えば印刷部数や面付け設定）を解析し、その解析結果に従いジョブの管理情報を生成し、その管理情報に従ってそのジョブの実行（すなわち印刷処理）を管理する。ジョブ制御部１０の一般的なジョブ制御機能は周知なので、これ以上の説明は省略する。
【００２０】
本実施形態のジョブ制御部１０は、一般的なジョブ制御機能に加え、複数の中間データ処理部２０に対して印刷データの異なるページの処理をそれぞれ割り当て、並列的に処理させる機能を備える。各中間データ生成部２０へのページの割り当て方は、特に限定されない。例えば、中間データ生成部２０が、（例えば処理中のページの処理が終わって）新たなページが受け入れ可能になるごとに、ジョブ制御部１０から新たなページの割り当てを受けるなどの方式でもよい。
【００２１】
中間データ生成部２０は、ジョブ制御部１０から割り当てられたページの印刷データ（ＰＤＬデータ）を解釈し、そのページの画像を表す中間データを生成する。中間データは、印刷対象の画像を中間言語で記述したデータである。中間言語は、プリントエンジン４０が受け入れるラスター形式等のハードウエアに密着したデータ形式と、高級言語であるＰＤＬと、の中間のレベルの言語である。
【００２２】
中間データの具体例としては、例えば、ディスプレイリストや、特許文献２にて図３，図４等を用いて説明されている方式（ＰＤＬのオブジェクトを、一画素幅の矩形微小オブジェクトに分解して表現する方式）があるが、もちろんこれに限られるわけではない。
【００２３】
同じ画像を表すデータのサイズは、一般に、ＰＤＬデータが一番少なく、次が中間データであり、ラスター形式等のハードウエア向け画像データはそれら二者に比べてはるかに大きい。また、中間データをラスター形式等の印刷画像データに変換する処理に要する時間（あるいは、コンピュータ性能と処理時間の積等の形で表現できる処理負荷）は、ＰＤＬデータを同様の印刷画像データに変換するための処理に要する時間（あるいは処理負荷）よりも少なくて済む。中間言語には、ハードウエア回路での処理のみでラスター形式に変換できるものも多く、このような言語を用いれば、ハードウエア処理による高速な変換の利益が得られる。
【００２４】
中間データ生成部２０は、解釈部２２、記憶部２４及び中間データ出力部２６を有する。解釈部２２は、ＰＤＬデータを解釈することで、ジョブ制御部１０から割り当てられたページの画像を中間言語で表現する中間データを生成する。図示例では、中間データとして、プリントエンジン４０が用いる４つの印刷基本色Ｙ（イエロー），Ｍ（マゼンタ），Ｃ（シアン），Ｋ（ブラック）の版に分版された、版別の中間データを生成する。この例では、プリントエンジン４０がＹＭＣＫの４色の色材（インクやトナーなど）を用いるタイプのものであるため、その４色に分版するが、これは一例に過ぎない。中間データは、プリントエンジン４０が用いる色材の各々に対応する分版データを含んでいればよい。また、このように分版された中間データを生成することも一例に過ぎない。この代わりに、プリントエンジン４０が用いる基本色成分を１つにまとめたコンポジット形式の中間データを生成するようにしてもよい。
【００２５】
解釈部２２が生成したページ単位の中間データは、記憶部２４に記憶される。
【００２６】
記憶部２４は、例えばランダムアクセスメモリやフラッシュメモリ、ハードディスク等の記憶媒体を用いたデータ記憶装置である。記憶部２４は、再印刷に備えて各ページの中間データをある程度の期間保存することを想定した容量を有している。すなわち、記憶部２４の容量は、上流側（解釈部２２）と下流側（描画処理部３０）との間のバッファ機能を果たすために必要な容量よりも大きい。ただし、中間データのデータ量は、ラスター形式等の印刷画像データのデータ量よりも遙かに小さいので、記憶部２４に必要な容量は、同じだけのページを印刷画像データとして記憶するのに必要な容量よりもはるかに少なくて済む。
【００２７】
本実施形態では、１つのジョブを分担して並列処理する複数の中間データ生成部２２の記憶部２４によって、そのジョブの各ページの中間データを分担して保存する。典型的な例では、中間データ生成部２０の記憶部２４には、その中間データ生成部２０の解釈部２２が担当したページの中間データを保存する。また、中間データを記憶する記憶部２４を絞り込む別の例では、ある中間データ生成部２０の記憶部２４に、当該中間データ生成部２０が担当したページだけでなく、別のいくつかの中間データ生成部２０が担当したページの中間データも保存する。
【００２８】
記憶部２４は、例えば、解釈部２２が生成した中間データを後段の描画処理部３０に転送する際のバッファとして用いられる。また、記憶部２４は、ジョブ毎のユーザからの明示的な保存指示やジョブを保存する旨のシステム設定等に応じて、記憶したジョブの各ページの中間データを保存する。保存されたジョブの中間データは、ユーザからの明示的な削除指示やシステムに設定された削除条件の成立（例えば設定された保存期間の経過）等に応じて、記憶部２４から削除される。記憶部２４に保存されているジョブの中間データは、再印刷指示に応じて読み出され、描画処理部３０に供給される。
【００２９】
中間データ出力部２６は、解釈部２２により生成された各ページの中間データを、描画処理部３０へと出力する。図示例では、各ページの分版された各色成分の中間データが、それぞれ描画処理部３０の対応する色成分の処理部３２Ｙ，３２Ｍ，３２Ｃ，３２Ｋに転送される。
【００３０】
図示した中間データ生成部２０は、解釈部２２が生成した中間データが記憶部２４に記憶され、その記憶部２４内の中間データを中間データ出力部２６が読み出して描画処理部３０に転送する構成であるが、これは一例に過ぎない。本実施形態では、解釈部２２が生成したジョブの各ページの中間データが記憶部２４に保存でき、保存した中間データを再印刷の指示に応じて出力できればよく、そのような保存ができるのであれば、記憶部２４は、解釈部２２及び中間データ出力部２６とどのような接続関係にあってもよい。
【００３１】
本実施形態のシステムは、以上に説明した中間データ生成部２０を複数備えている。個々の中間データ生成部２０は、例えば、上述した解釈部２２や中間データ出力部２６の機能を記述したプログラムをコンピュータで実行させることにより構成される。個々の中間データ生成部２０が実装されるコンピュータのハードウエア構成は特に限定されるものではなく、例えば１台のＰＣ（パーソナルコンピュータ）であってもよいし、ラックマウント型サーバやブレードサーバを構成する個々のサーバユニットやブレードであってもよい。なお、中間データ生成部２０全体をソフトウエアシステムとして実装する必要はなく、一部の機能を、コンピュータに装着されたハードウエア回路により実現してももちろんよい。
【００３２】
各中間データ生成部２０は、少なくともジョブ制御部１０と、ＬＡＮ（ローカルエリアネットワーク）、データ通信ケーブル等の通信路を介して接続されている。また、各中間データ生成部２０は、描画処理部３０に対し、通信路（例えばローカルエリアネットワーク）を介して接続されている。ジョブ制御部１０と各中間データ生成部２０との間の通信路と、各中間データ生成部２０と描画処理部３０との間の通信路とは、同じもの（例えば同一のネットワーク）であってもよいし、別のものであってもよい。
【００３３】
ジョブ制御部１０は、中間データ生成部２０と同様、ソフトウエアシステムとして実装してよい。１つの例では、ジョブ制御部１０は、システム内のいずれかの中間データ生成部２０を実装したコンピュータ内に実装される。また、別の例として、ジョブ制御部１０は、各中間データ生成部２０を実装したコンピュータとは別の、独立したコンピュータに実装してもよい。
【００３４】
描画処理部３０は、描画（レンダリング）処理、すなわち、中間データをプリントエンジン４０が処理可能なラスター形式等の印刷画像データに変換する処理、を実行する。図示例では、描画処理部３０は、プリントエンジン４０が用いる各色材に対応した４つの処理部、すなわち、Y色処理部３２Ｙ、Ｍ色処理部３２Ｍ、Ｃ色処理部３２Ｃ、及びＫ色処理部３２Ｋを有する。以下では、それら各色の処理部を区別する必要がない場合には、それら各処理部のことを「処理部３２」と総称する。同様に、各色の処理部３２が含む印刷画像データ生成部３４Ｙ、３４Ｍ、３４Ｃ、３４Ｋのことを「印刷データ生成部３４」と総称し、印刷画像データ出力部３６Ｙ、３６Ｍ、３６Ｃ、３６Ｋのことを「印刷データ出力部３６」と総称する。
【００３５】
印刷画像データ生成部３４は、中間データ生成部２０から供給される、当該生成部３４に対応する色の分版データ（中間言語形式）を処理し、プリントエンジン４０が取扱可能なラスター形式等の印刷画像データに変換する。図示例では、印刷画像データ生成部３４Ｙ、３４Ｍ、３４Ｃ、３４Ｋが、例えば、同一ページのＹ，Ｍ，Ｃ，Ｋ各版の印刷画像データを並列的に生成する。生成された各版の印刷画像データは、それぞれ対応する印刷データ出力部３６Ｙ、３６Ｍ、３６Ｃ、３６Ｋにより、プリントエンジン４０内の、それぞれ対応する色のエンジン４２、すなわちＹ色エンジン４２Ｙ、Ｍ色エンジン４２Ｍ、Ｃ色エンジン４２Ｃ、Ｋ色エンジン４２Ｋに供給される。
【００３６】
プリントエンジン４０は、印刷画像データが表す画像を、用紙等の媒体上に印刷する。プリントエンジン４０は、使用する各色材の画像を媒体上に形成するＹ色エンジン４２Ｙ、Ｍ色エンジン４２Ｍ、Ｃ色エンジン４２Ｃ、Ｋ色エンジン４２Ｋを備えている。
【００３７】
各色の印刷画像データ生成部３４及び印刷画像データ生成部３６は、典型的には、ＬＳＩ（Large Scale Integration）、ＡＳＩＣ（Application Specific Integrated Circuit）、またはＤＲＰ（Dynamic ReConfigurable Processor）等の回路要素を用いたハードウエア回路として実装される。ただし、これは必須のことではなく、印刷画像データ生成部３４及び印刷画像データ生成部３６の機能の一部または全部をソフトウエアとして実現してもよい。
【００３８】
１つの例では、描画処理部３０は、プリントエンジン４０を内蔵する印刷装置の筐体内に内蔵される。また別の例として、プリントエンジン４０を内蔵する印刷装置とは別の装置として描画処理部３０を実装してもよい。
【００３９】
次に、図１のシステムにおける印刷、及び再印刷の処理の流れについて説明する。
【００４０】
ユーザは、自分のＰＣにある文書データを印刷する場合、図１のシステムを出力先に指定して、その文書データの印刷指示を発する。この指示に応じ、ＰＣ内の印刷用デバイスドライバが、その文書データをページ記述言語の印刷データへと変換し、この変換により得られた印刷データ及び部数等の印刷パラメータを含む印刷指示をジョブ制御部１０へと送る。この印刷指示を受けたジョブ制御部１０は、受け取った印刷指示に対して一意なジョブＩＤ（識別情報）を付与し、当該印刷指示についてのジョブの実行を管理する。ジョブ制御部１０は、（前のジョブの処理が終わるなどして）その印刷指示（ジョブ）が実行可能になると、制御下にある各中間データ生成部２０に対してその印刷データのそれぞれ異なるページの処理を順に割り当てていく。ジョブ制御部１０は、各ページをそれぞれどの中間データ生成部２０に割り当てたかを示す情報を、当該ジョブのジョブＩＤに対応づけて記録する。
【００４１】
各中間データ生成部２０の解釈部２２は、印刷データを解釈することで、割り当てられたページの中間データを生成して記憶部２４に蓄積すると共に、次のページの割り当てを受ける。ここで、各ページの中間データは、ジョブＩＤ及びページ番号と対応づけて、記憶部２４に記憶される。
【００４２】
また、１つの例では、ジョブ制御部１０は、描画処理部３０及びプリントエンジン４０における描画及び印刷出力の進捗に応じて、印刷するページの順に、次に印刷すべきページの中間データを記憶した中間データ生成部２０に対し、当該ページの中間データを描画処理部３０に転送するよう指示する。この指示に応じ、中間データ出力部２６が、指示されたページの各版の中間データを、描画処理部３０内の、対応する色の処理部３４へと、ネットワーク等の通信路を介して転送する。描画処理部３０内の各色の処理部３４は、転送された中間データをそれぞれ処理して印刷画像データを生成し、生成した印刷画像データを、プリントエンジン４０内の、対応する色のエンジン４２に供給する。これにより、各版の印刷画像データが媒体上に順に画像形成され、当該ページのカラーの印刷結果が生成される。
【００４３】
以上が、文書を最初に印刷する際の流れである。次に、再印刷の流れの例を説明する。
【００４４】
過去に印刷した文書を再印刷する場合、ユーザは、ジョブ制御部１０にアクセスし、ジョブ制御部１０が過去に印刷したジョブ（例えば、当該ユーザが印刷指示したもの）のリストの中から、再印刷したいジョブを選択する。ここで、ジョブ制御部１０は、選択されたジョブの各ページの中間データがそれぞれどの中間データ生成部２０に記憶されているのか（すなわち最初の印刷の際に各ページをどの中間データ生成部２０に割り当てたか）を記録している。ジョブ制御部１０は、その記録に従い、描画処理部３０及びプリントエンジン４０における描画及び印刷出力の進捗に応じて、印刷するページの順番に、次に印刷すべきページの中間データを記憶した中間データ生成部２０に対し、当該ページの中間データを描画処理部３０に転送するよう指示する。この指示には、ジョブＩＤとページ番号の情報が含まれていればよい。このような指示により、最初の印刷の場合と同様に、各中間データ生成部２０の記憶部２４内に保存されている当該ジョブの各ページの中間データが順に描画処理部３０に転送され、描画処理部３０及びプリントエンジン４０の処理により印刷される。
【００４５】
ここでは、ジョブ制御部１０が、ジョブの各ページの中間データがそれぞれどの中間データ生成部２０に記憶されているのかを示す情報を保持しているとしたが、これは必須ではない。そのような情報がない場合でも、例えば、ジョブＩＤとページ番号を含んだ出力指示をすべての中間データ生成部２０に送信し、中間データ生成部２０のうちそのジョブＩＤ及びページ番号のペアに該当する中間データを持つものがその中間データを後段に流すようにすればよい。
【００４６】
また、以上の例では、ジョブ制御部１０が各中間データ生成部２０に対し、中間データの出力を指示したが、これも必須ではない。この代わりに、描画処理部３０が、例えば次のページの中間データが受け入れ可能な状態になる毎に、中間データ生成部２０に対して次のページの中間データを要求する方式を採用してもよい。この場合、例えば、ジョブ制御部１０が、出力対象のジョブＩＤを描画処理部３０に指示する。これを受けた描画処理部３０は、そのジョブＩＤに対応する各ページの中間データを、印刷するページの順に、中間データ生成部２０から取得していく。この取得は、例えば、ジョブＩＤとページ番号を含む取得要求をすべての中間データ生成部２０に送信する形でよい。別の例では、描画処理部３０が、そのジョブＩＤのジョブの各ページをどの中間データ生成部２０に割り当てたかを示す記録情報を、事前に（例えば出力指示と共に）ジョブ制御部１０から受け取っておき、その記録情報を参照して、各ページの中間データを持っている中間データ生成部２０からその中間データを取得するようにしてもよい。
【００４７】
以上説明したように、図１のシステムでは、ジョブの再印刷のためのデータを、中間データの形で記憶部２４に保存する。この方式は、再印刷の際にＰＤＬデータを再度解釈（ＲＩＰ）処理する方式よりも再印刷に要する時間が短く、また、ラスター形式等の印刷画像データとしてジョブのデータを保存しておく方式よりも保存のために必要な記憶容量がはるかに少ない。
【００４８】
さて、図１のシステムに含まれる複数の中間データ生成部２０は、ネットワーク等の通信路上の様々に異なった位置に配置されていたり、互いに異なる通信路を介して描画処理部３０に接続されていたりする場合がある。このような場合、各中間データ生成部２０と描画処理部３０との間のデータ転送の速度は一般に異なる。例えば、ある中間データ生成部２０は、描画処理部３０が接続されている高速なネットワークに直接接続されているのに対し、別の中間データ処理部３０は、低速なネットワークを介してその高速なネットワークに接続されている場合、後者は前者よりも、描画処理部３０へのデータ転送速度が低くなる。
【００４９】
一方、プリントエンジン４０を一時停止させることなく効率的に動作させるには、中間データ生成部２０から描画処理部３０への中間データの転送速度（言い換えれば、１ページあたりの中間データを転送所要時間）が、プリントエンジン４０の印刷速度（言い換えれば１ページあたりの印刷所要時間）以上である必要がある。そうでないと、ジョブの途中で中間データの供給が追いつかなくなることがあり、そのような場合、必要な量のデータが供給されるまで、プリントエンジン４０を一時停止する必要が出てくる。一時停止、及び印刷再開のためにそれぞれある程度の時間を要するため、処理速度の観点からみて一時停止は好ましくない。また、プリントエンジン４０の印刷方式や機種によっては、一時停止が指示されてもすぐに止まることができず、止まるまでの間にいくらかの媒体が搬送され、部分的に印刷されることがあり、このような媒体は正常な印刷結果とはならず、いわゆる「損紙」となる。
【００５０】
そこで、本実施形態のシステムは、このような一時停止がなるべく生じないよう、ジョブのページの分配先を、描画処理部３０に対するデータ転送速度が十分に速い中間データ生成部２０のみに限定するモードを備えていてもよい。すなわち、中間データ生成部２０の描画処理部３０へのデータ転送速度（例えば、単位時間あたり何ページ分の中間データを描画処理部３０に転送できるかを示す値）が、プリントエンジン４０の印刷速度（例えば、単位時間あたり何ページ分の印刷画像データを印刷できるかを示す値）に見合った速度以上であるか否かに応じて、その中間データ生成部２０を中間データ生成の分散処理に参加させるか否か等の制御を行う。なお、データ転送速度が印刷速度に見合った速度以上か否か、という場合の「印刷速度に見合った速度」とは、プリントエンジン４０の印刷速度そのものであってもよいし、その印刷速度に対して、データ転送処理のためのオーバーヘッド等による遅延を織り込んで定めた値であってもよい。以下では、記述の煩雑さを避けるため、「印刷速度に見合った速度」と記載する代わりに単に「印刷速度」と記載する。すなわち、以下で「データ転送速度が印刷速度以上か否か」というような記載をした場合、それは、データ転送速度が印刷速度に見合った速度以上か否か、という判断を表す。
【００５１】
このモードについて、図２及び図３を参照して説明する。
【００５２】
図２は、ジョブ制御部１０の機能構成の一例を示す。図に例示したジョブ制御部１０は、ＵＩ（ユーザインタフェース）部１１、割当制御部１３、中間データ生成部リスト１５、再印刷制御部１７、ジョブ保存先情報１９を有する。
【００５３】
ＵＩ部１１は、この実施形態のシステムのためのユーザインタフェース機構であり、新たな文書についての印刷指示や、既にそのシステムで印刷した文書の再印刷の指示を受け付ける。ＵＩ部１１は、例えばユーザから再印刷の指示を受けると、中間データを記憶部２４群内に保存したジョブの一覧（当該ユーザが指示したジョブ、或いはアクセス権を持つジョブに限定した一覧であってもよい）を示す画面を提供し、その中から再印刷対象の選択を受け付ける。
【００５４】
割当制御部１３は、新たな文書の印刷指示に応じ、その印刷指示に係る印刷データの各ページの処理を各中間データ生成部２０に割り当てる。
【００５５】
中間データ生成部リスト１５は、このシステムに属する中間データ生成部２０のリストである。このリスト１５は、例えばシステム管理者が作成すればよい。このリスト１５には、中間データ生成部２０毎に、その中間データ生成部２０の装置ＩＤ（例えばネットワーク上のアドレス）と転送速度情報とが登録されている。転送速度情報は、当該中間データ生成部２０から描画処理部３０までのデータ転送の速度を表す情報であり、図示例では、転送速度の相対的なレベルを示す値を転送速度情報として登録している。このレベル値が高いほど転送速度が速いことを示す。転送速度情報は、例えば、中間データ生成部２０と描画処理部３０とを結ぶネットワーク経路の情報（例えば両者間を繋ぐ経路上の各ネットワークの伝送速度の情報）から求めてもよいし、実際に両者間のデータ転送速度を測定することにより求めてもよい。後者の場合、事前に測定した転送速度を固定的に用いてもよいし、例えば定期的に転送速度を測定して転送速度情報を更新するようにしてもよい。なお、このリスト１５には、図示した情報以外の情報、例えば、各中間データ生成部２０の名称や設置場所の説明等といった、ユーザが各中間データ生成部２０を識別する助けとなる情報、が登録されていてもよい。
【００５６】
ユーザから新たな文書の印刷指示を受ける際に、中間データ生成部リスト１５の情報をユーザに提示し、その中から印刷指示の処理に利用する中間データ生成部２０をユーザに選択させるようにしてもよい。
【００５７】
また、中間データ生成部リスト１５に登録された転送速度情報に基づき、描画処理部３０へのデータ転送速度がプリントエンジン４０の印刷速度以上である中間データ生成部２０のみをページの処理の割当対象に選択するようにしてもよい。
【００５８】
割当制御部１３は、ユーザからの指示、又はデータ転送速度が印刷速度以上であるという条件、又はそれらの両方、に従って選択された各中間データ生成部２０に対し、ジョブの各ページの処理を割り当てていく。この例では、ジョブの中間データを再印刷等に備えて保存しておくかどうかをユーザが指定することができ、保存が指定された場合は、各中間データ生成部２０は、その指定に従い、割り当てられたページの中間データを記憶部２４に保存する。このようにジョブの中間データを保存する指定を受けた場合、割当制御部１３は、そのジョブの各ページをそれぞれどの中間データ生成部２０に割り当てたか（すなわち保存したか）をジョブ保存先リスト１７に記録する。すなわち、ジョブ保存先リスト１７には、図２に示すように、ジョブごとに、そのジョブのジョブＩＤに対応づけて、各中間データ生成部２０の装置ＩＤに対し、それぞれそのジョブの何ページ目を割り当てたかを示す情報が記録される。
【００５９】
再印刷制御部１９は、ユーザから指定された再印刷対象のジョブについて、再印刷の制御を行う。再印刷の制御では、ジョブ保存先リスト１７を参照することで、再印刷対象のジョブの各ページの中間データを記憶した中間データ生成部２０を識別し、ページの印刷順に、それら各ページの中間データを有する中間データ生成部２０に対してそのデータを描画処理部３０に送信するよう指示する。なお、前述の通り、ジョブ制御部１０がトップダウンで各中間データ生成部２０に各ページの中間データの出力を指示する代わりに、描画処理部３０が各中間データ生成部２０に各ページの中間データを要求する方式でもよい。また、ジョブ保存先リスト１７を用いて各ページの中間データを保存している中間データ生成部２０に指示を出す代わりに、すべての中間データ生成部２０に対してジョブＩＤ及びページ番号を指定して中間データの転送を指示または要求するようにしてもよい。
【００６０】
このようなジョブ制御部１０を用いた印刷処理の手順の一例を、図３を参照して説明する。図３の手順は、再印刷ではなく、ユーザから新たな文書の印刷が指示された場合の手順である。
【００６１】
この手順では、まず、現在のジョブ制御部１０の動作モードが、他システムの中間データ生成部２０を利用するモードであるかどうかを判定する（Ｓ１０）。図３の手順は、ジョブ制御部１０が、ある１つの中間データ生成部２０と同じコンピュータシステム上に実装されている場合を想定したものであり、Ｓ１０ではその中間データ生成部２０に加えて他の中間データ生成部２０を用いて並列処理を行う動作モードが指定されているかどうかを判定する。この判定の結果が否定（ｎｏ）の場合は、ジョブ制御部１０は、自分自身と同じコンピュータ上に実装されている中間データ生成部２０に対してジョブの各ページの印刷データを順に配信する。
【００６２】
Ｓ１０の判定結果が肯定（ｙｅｓ）の場合、ジョブ制御部１０のＵＩ部１１は、中間データ生成部リスト１５の情報を取得して（Ｓ１２）、そのリストを含んだ選択用のＵＩ画面を、印刷を指示したユーザのＰＣに提供する。このＵＩ画面を用いて、ユーザから、並列処理に用いる中間データ生成部２０の選択を受け付ける（Ｓ１４）とともに、さらに、印刷指示の印刷データから生成した中間データを、それら選択された中間データ生成部２０（及びジョブ制御部１０が実装されたコンピュータ上の中間データ生成部２０）に保存するか否か（言い換えれば、再印刷の予定があるか否か）の選択を受け付ける（Ｓ１６）。
【００６３】
Ｓ１４において、ユーザに提示する利用可能な中間データ生成部２０のリストに、各中間データ生成部２０のその時点での負荷状況を併せて表示し、ユーザが負荷状況を参照して使用する中間データ生成部２０を選択できるようにしてもよい。中間データ生成部２０の負荷状況としては、例えば、その中間データ生成部２０が保持する処理待ちページ数、または、その中間データ生成部２０のＣＰＵやメモリの使用率、あるいはそれらの組み合わせから求められる負荷指標値等を用いればよい。
【００６４】
次に、ジョブ制御部１０の割当制御部１３が、選択された各中間データ生成部２０（及びジョブ制御部１０が実装されたコンピュータ上の中間データ生成部２０）の描画処理部３０へのデータ転送速度を表す転送速度情報を中間データ生成部リスト１５から取得し（Ｓ１８）、それら中間データ生成部２０ごとに、その転送速度が、プリントエンジン４０の印刷速度以上であるかどうかを判定する（Ｓ２０）。
【００６５】
選択された中間データ生成部２０のすべてについて、Ｓ２０で「転送速度が印刷速度以上である」と判定（判定結果がｙｅｓ）した場合に対し、割当制御部１３は、当該ジョブのページを、印刷順序に従って、それら中間データ生成部２０に配信する。
【００６６】
Ｓ２０の判定結果がｎｏ、すなわち選択された中堅データ生成部２０の中に「転送速度が印刷速度未満である」ものが存在する場合、ＵＩ部１１が、ユーザに対し、選択された中間データ生成部２０の組を用いるとプリントエンジン４０にて印刷の一時停止が生じて損紙が発生する可能性がある旨のメッセージを提示し、損紙が発生してもよいかどうかを問い合わせ、ユーザが損紙発生を許容するか否かを判定する（Ｓ２２）。損紙発生が許容される場合は、割当制御部１３が、当該ジョブのページを、印刷順序に従って、Ｓ１４で選ばれた各中間データ生成部２０に配信する。損紙発生が許容されない場合は、Ｓ１４で選択された中間データ生成部２０のうち、転送速度が印刷速度未満と判定されたものを選択解除し（Ｓ２４）、残った中間データ生成部２０に対して当該ジョブのページを配信する。
【００６７】
以上に説明したように、この手順では、損紙発生が許容されない場合には、中間データ生成部２０と描画処理部３０との間の通信路のデータ転送速度とプリントエンジン４０の印刷速度との関係から、印刷が一時停止するおそれがある中間データ生成部２０をページ割当の対象から除く。このため、印刷が一時停止する可能性がほとんどなくなり、損紙がほぼ発生しなくなる。
【００６８】
なお、図３の手順は、プリントエンジン４０が印刷一時停止により損紙を発生させる可能性がある機種である場合の手順である。印刷を一時停止しても損紙が発生しない種類のプリントエンジン４０を用いる場合は、Ｓ２０〜Ｓ２４の処理は不要である。
【００６９】
また、図３の手順では、すべての中間データ生成部２０の中から、利用するものをユーザが選択したが、この代わりに、ユーザは並列動作させる中間データ生成部２０の個数を指定し、ジョブ制御部１０が、それら中間データ生成部２０の中から、当該ジョブに使用するものをその個数だけ自動選択するようにしてもよい。自動選択では、例えば、描画処理部３０へのデータ転送速度が速い順、あるいは現在の処理負荷が小さい順、あるいはそれら両者を組み合わせた処理及び転送の速度が高い順、等といった基準に従い、上位から順に指定された個数を選択すればよい。
【００７０】
以上に説明した例では、描画処理部３０とプリントエンジン４０のペアがシステム内に１つしか存在しないが、そのようなペアがシステム内に複数存在してもよい。複数存在する場合、中間データ生成部リスト１５には、中間データ生成部２０と、描画処理部３０・プリントエンジン４０のペアと、の組み合わせ毎に、その組み合わせにおける中間データ生成部２０・描画処理部３０間のデータ転送速度の情報を登録する。そして、新規印刷及び再印刷の指示の際に、ユーザから出力先とする描画処理部３０・プリントエンジン４０のペアの指定を受け付ける。そして、図３の手順のＳ２０の判定では、選択された各中間データ生成部２０と、指定された出力先の描画処理部３０との間での転送速度を、指定された出力先のプリントエンジン４０の印刷速度と比較する。
【００７１】
また、描画処理部３０とプリントエンジン４０のペアが複数存在するシステムの場合、印刷画像データの供給不足による印刷一時停止時に損紙を発生させるプリントエンジン４０と損紙を発生させないプリントエンジン４０とが混在する場合がある。この場合、ユーザから指定された出力先のプリントエンジン４０が印刷一時停止時に損紙を発生させるタイプのプリントエンジン４０である場合にのみ、図３の手順のように、データ転送速度が印刷速度に満たない中間データ生成部２０が（中間データを作成・保存する装置として）選択されないよう制御してもよい。この例では、印刷一時停止時に損紙を発生させないタイプのプリントエンジン４０が出力先に選ばれた場合には、データ転送速度によらず、利用可能なすべての中間データ生成部２０を選択可能とする。なお、各プリントエンジン４０が損紙を発生させるタイプ、させないタイプのいずれであるかは、ジョブ制御部１０にあらかじめ登録しておけばよい。例えば、印刷媒体として連帳（連続帳票）紙を用いるプリントエンジンは一時停止時に損紙を発生させるものが多く、カット紙を用いるプリントエンジンは一時停止時に損紙を発生させないものが多い。
【００７２】
また、以上の例では、中間データ生成部２０の解釈部２２が生成した中間データを同じ中間データ生成部２０内の記憶部２４に保存した。これに対し、いくつかの中間データ生成部２０の解釈部２２が生成した各ページの中間データを、より少ない数の中間データ生成部２０内の記憶部２４に集約して保存するようにしてもよい。この場合、中間データを保存しない中間データ生成部２０には、記憶部２４はなくてもよい（あるいは、記憶部２４を設けるとしても、再印刷のための保存に必要なほどの大容量は不要である）。中間データを保存する中間データ生成部２０は、描画処理部３０へのデータ転送速度が速いほうから順に、例えばあらかじめ定められた数、またはユーザが指定した数だけ選ぶようにしてもよい。そして、ユーザが選択した中間データ生成部２０のうち、中間データを保存する装置として選ばれなかったものは、選ばれた中間データ生成部２０のいずれかに対して自分が作成したページの中間データを転送する。どの中間データ生成部２０がどの中間データ生成部２０に中間データを転送するかは、例えばあらかじめ定めておけばよい。この例では、印刷開始時には、印刷順が早いページをデータ転送速度の速い（すなわち中間データを保存するものとして選ばれた）中間データ生成部２０に優先的に割り当てるようにしてもよい。
【００７３】
また、以上の例では、システム内にジョブ制御部１０が１つしかなかったが、本実施形態の方式は、ジョブ制御部１０が複数存在する場合にも適用可能である。
【００７４】
例えば、図４には、２つのジョブ制御部１０ａ及び１０ｂを備えるシステム構成が示される。この例では、ジョブ制御部１０ａは、中間データ生成部２０ａ−１、２０ａ−２、・・・を直接制御し、ジョブ制御部１０ｂは、中間データ生成部２０ｂ−１、２０ｂ−２、・・・を直接制御する。例えば、ジョブ制御部１０ａ及び中間データ生成部２０ａ−１、２０ａ−２、・・・が１つのブレードサーバシャーシ内の個々のブレード上に実装され、ョブ制御部１０ｂ及び中間データ生成部２０ｂ−１、２０ｂ−２、・・・が別のブレードサーバシャーシ内の個々のブレード上に実装されるシステム構成が考えられる。個々のシャーシ内のブレード同士は高速な内部ネットワークを介して通信可能である。また、異なるシャーシにあるジョブ制御部１０、中間データ生成部２０同士は、内部ネットワークよりも一般に低速な外部ネットワークを介して相互に通信可能となっていてもよい。
【００７５】
図示例は、ジョブ制御部１０ａが管理する各中間データ生成部２０ａ−１、２０ａ−２、・・・が、描画処理部３０に対し、プリントエンジン４０の印刷速度以上のデータ転送速度（中間データ生成部２０・描画処理部３０間）の通信路で接続されており、ジョブ制御部１０ｂの管理する中間データ生成部２０ｂ−１、２０ｂ−２、・・・は、プリントエンジン４０の印刷速度に満たないデータ転送速度で描画処理部３０に接続されている場合の例である。
【００７６】
中間データ生成部２０ｂ−１、２０ｂ−２、・・・が生成した中間データは、中間データ生成部２０ａ−１、２０ａ−２にいったん転送され、そこから描画処理部３０に転送される。印刷ジョブの実行初期に、印刷順の早いページを、中間データを保存する中間データ生成部２０ａ−１、２０ａ−２、・・・に優先的に割り当て、中間データを保存せずに他の中間データ生成部２０ａ−１等に転送する中間データ生成部２０ｂ−１、２０ｂ−２、・・・には、それらよりも印刷順が遅いページを割り当てることで、ジョブの最初の方のページの印刷出力が早くなされるようになる。
【００７７】
図４のシステム構成では、例えばジョブ制御部１０ａがユーザから印刷指示を受け取った場合、自分の管理下にある中間データ生成部２０ａ−１、２０ａ−２、・・・に対してページの処理を割り当てると共に、ジョブ制御部１０ｂの管理下の中間データ生成部２０ｂ−１、２０ｂ−２、・・・にも、ジョブ制御部１０ｂを介してページの処理を割り当てる。
【００７８】
また、図４のシステム構成では、図３の手順のＳ１０〜Ｓ１８にて、ジョブ制御部１０ａ、１０ｂがそれぞれ管理するサブシステム単位（言い換えればサーバシャーシ単位）で、ユーザが使用するサブシステムを選択するようにしてもよい。この例では、図２の中間データ生成部リスト１５には、サブシステム単位で転送速度情報が登録されており（すなわち同じサブシステムに属する中間データ生成部２０は、描画処理部３０に対するデータ転送速度が等しい）、印刷指示を受けたジョブ制御部１０ａまたは１０ｂは、このリスト１５を参照することで、データ転送速度が印刷速度に満たないサブシステムが中間データ生成の分散処理に参加しないよう制御する。また、別の例では、ジョブ制御部１０ａまたは１０ｂが、このリスト１５を参照することで、データ転送速度が印刷速度に満たないサブシステムが、生成した中間データを印刷速度以上のデータ転送速度を持つサブシステムに転送するという設定の下で、分散処理への参加を認める。
【符号の説明】
【００７９】
１０，１０ａ，１０ｂ  ジョブ制御部、１１  ＵＩ部、１３  割当制御部、１５  中間データ生成部リスト、１７  ジョブ保存先リスト、１９  再印刷制御部、２０，２０ａ−１，２０ａ−２，２０ｂ−１，２０ｂ−２  中間データ生成部、２２  解釈部、２４  記憶部、２６  中間データ出力部、３０  描画処理部、４０  プリントエンジン。
【図１】
2014134959.tif 000003
【図２】
2014134959.tif 000004
【図３】
2014134959.tif 000005
【図４】
2014134959.tif 000006