(57)【要約】【課題】面付け指定が変更された場合でも、以前の面付け指定での印刷の際に作成された解釈結果データを再利用できる印刷システムを提供する。【解決手段】フロントエンド装置１０は、面付けに応じたページ出力順を意識せず、原稿のページ順に各解釈装置２０にページを割り当て、どの解釈装置２０にどのページを割り当てたかを示すリファレンス情報をバックエンド装置４０に通知する。解釈装置２０は、割り当てられたページを解釈して中間データを生成しスプール装置３０に保存する。フロントエンド装置１０は面付けに応じた出力順序情報と共に出力依頼をバックエンド装置４０に送る。バックエンド装置４０は、リファレンス情報を参照して各ページの中間データがどのスプール装置３０にあるかを特定し、出力順序情報が表すページ順に各ページの中間データをそれぞれ特定したスプール装置３０から取得し、面付けして印刷装置５０に印刷させる。【選択図】図１
2014178860.tif 000002
【特許請求の範囲】
【請求項１】
ページ記述言語で記述された印刷データの各ページを、面付け指定に対応するページの印刷出力順序と関わりなくあらかじめ定められた順序で、複数の解釈装置に分配して割り当てる割り当て装置と、
複数のスプール装置と、
前記割り当て装置から割り当てられた前記印刷データの各ページを解釈して解釈結果データを生成し、生成した解釈結果データを、前記複数のスプール装置のうちの当該解釈装置に対応するスプール装置に記憶させる複数の解釈装置と、
前記印刷データの各ページに対応する前記解釈結果データが前記複数のスプール装置のいずれに記憶されているかを示す参照情報と、面付け指定に対応するページの印刷出力順序を表す出力順序情報と、を取得し、前記各ページの解釈結果データを、前記出力順序情報が表す印刷出力順序で、それぞれ前記参照情報により特定される当該ページの解釈結果を保持する前記スプール装置から取得し、取得した各ページの解釈結果データに基づくページ画像データを前記面付け指定に従って面付けし、印刷装置に供給して印刷させる印刷制御装置と、
を備える印刷システム。
【請求項２】
前記複数のスプール装置が、それぞれ、当該スプール装置に記憶している前記解釈結果データのページについての前記参照情報を保持しており、
前記印刷制御装置は、前記出力順序情報を含む前記印刷データについての出力依頼を受けたときに、当該印刷データに対応する前記参照情報を得ていない場合には、前記複数のスプール装置に対して当該印刷データに対応する前記参照情報を要求して取得する、
ことを特徴とする請求項1に記載の印刷システム。
【請求項３】
前記割り当て装置は、前記複数の解釈装置のいずれかから新たなページの割り当ての要求を受けると、その要求を発した前記解釈装置に対して前記印刷データのうちまだいずれの解釈装置にも割り当てていないページを割り当て、
前記複数の解釈装置の各々は、それぞれ、新たなページの割り当てを受けた場合にそのページの解釈処理をあらかじめ定めた時間条件を満たして実行可能であるかどうかを当該解釈装置の処理負荷に基づき判定し、前記時間条件を満たして実行可能であると判断した場合に、前記割り当て装置に対して新たなページの割り当てを要求する、
ことを特徴とする請求項１又は２に記載の印刷システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷システムに関する。
【背景技術】
【０００２】
特許文献１に開示されたシステムでは、分配部が、ページ記述言語で記述された文書データの処理を、複数の解釈部にページ単位で分配する。各解釈部は、文書データを解釈し、自身の担当ページについて、担当ページを構成する構成要素を描画する手順を表す描画命令を含む中間データを生成する。基本色（例えばＣ，Ｍ，Ｙ，Ｋ）毎に設けられた描画データ生成部は、それぞれ対応する基本色の中間データを各解釈部から取得し、取得した中間データに含まれる描画命令に従って、印刷画像を構成する画素ごと又は走査線毎の描画データ（例えばラスターデータ）を生成する。
【０００３】
特許文献２には、印刷ジョブの解釈実行を複数の演算処理装置に分散して行わせるシステムにおいて、複数の演算処理装置でラスタライズ処理された印刷画素情報の回収を効率化する手法が開示されている。このシステムにおいて、印刷ジョブ分割手段は資源情報を基に印刷ジョブフラグメントを生成する際に、印刷ジョブフラグメントの管理情報を記述したフラグメントタグおよび分割・スケジューリング時の印刷ジョブの管理情報を記述したタグテーブルを生成する。各印刷ジョブフラグメントは各演算処理装置のラスタライズ処理手段で画素情報に変換され、選択された各演算処理装置または印刷装置のページ合成手段でページ単位の画素情報に合成し、これらを印刷装置の印刷ジョブ出力制御手段にて回収してプリンタ装置より印刷ジョブを出力する。印刷ジョブ管理手段は印刷ジョブの許可・終了、各印刷フラグメントの終了、および印刷ジョブ出力制御手段への回収指示などを行う。
【０００４】
特許文献３には、上位装置より送られてくる印刷データを受信して印刷処理を行う画像処理装置が開示される。この装置は、受信した前記印刷データを分割して分割印刷データを生成する印刷データ分割手段と、ネットワークに接続するネットワーク接続手段と、分割印刷データのラスタライズ処理を依頼すべく分割印刷データをネットワーク接続手段を介して送信する分割印刷データ送信手段と、送信した分割印刷データのラスタライズ処理が全て終了したことを確認するラスタライズ処理終了確認手段と、前記ラスタライズ処理終了確認手段による確認の後、前記ラスタライズ処理で生成された分割画像データを印刷順序に基づいて取得する分割画像データ取得手段と、分割画像データを保持する分割画像データ保持手段と、前記分割画像データに基づいて、印刷処理を行う印刷手段とを備える。
【０００５】
特許文献４に開示される装置では、解析部は、入力されたプリントデータを解析し、その処理に必要なＲＩＰ機能を調査し、ＲＩＰ機能情報としてＲＩＰ決定部に通知する。ＲＩＰ決定部は、ＲＩＰ機能情報の他、各スプーラの状態を示すスプール情報、並行して動作する各ＲＩＰ部の状態を示すＲＩＰ情報に基づいて、入力されたプリントデータに係るプリントジョブを最も迅速に処理可能なＲＩＰ部を決定する。ＰＤＬ変換部は、必要に応じて、入力されたプリントデータを変換して、決定に係るＲＩＰ部のスプーラに登録する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−０７０３３７号公報
【特許文献２】特開平０９−２１８７６３号公報
【特許文献３】特開２００７−０５８５１１号公報
【特許文献４】特開平１０−２８９０６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、面付け指定が変更された場合でも、以前の面付け指定での印刷の際に作成された解釈結果データを再利用できる印刷システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
請求項１に係る発明は、ページ記述言語で記述された印刷データの各ページを、面付け指定に対応するページの印刷出力順序と関わりなくあらかじめ定められた順序で、複数の解釈装置に分配して割り当てる割り当て装置と、複数のスプール装置と、前記割り当て装置から割り当てられた前記印刷データの各ページを解釈して解釈結果データを生成し、生成した解釈結果データを、前記複数のスプール装置のうちの当該解釈装置に対応するスプール装置に記憶させる複数の解釈装置と、前記印刷データの各ページに対応する前記解釈結果データが前記複数のスプール装置のいずれに記憶されているかを示す参照情報と、面付け指定に対応するページの印刷出力順序を表す出力順序情報と、を取得し、前記各ページの解釈結果データを、前記出力順序情報が表す印刷出力順序で、それぞれ前記参照情報により特定される当該ページの解釈結果を保持する前記スプール装置から取得し、取得した各ページの解釈結果データに基づくページ画像データを前記面付け指定に従って面付けし、印刷装置に供給して印刷させる印刷制御装置と、を備える印刷システムである。
【０００９】
請求項２に係る発明は、前記複数のスプール装置が、それぞれ、当該スプール装置に記憶している前記解釈結果データのページについての前記参照情報を保持しており、前記印刷制御装置は、前記出力順序情報を含む前記印刷データについての出力依頼を受けたときに、当該印刷データに対応する前記参照情報を得ていない場合には、前記複数のスプール装置に対して当該印刷データに対応する前記参照情報を要求して取得する、ことを特徴とする請求項１に記載の印刷システムである。
【００１０】
請求項３に係る発明は、前記割り当て装置は、前記複数の解釈装置のいずれかから新たなページの割り当ての要求を受けると、その要求を発した前記解釈装置に対して前記印刷データのうちまだいずれの解釈装置にも割り当てていないページを割り当て、前記複数の解釈装置の各々は、それぞれ、新たなページの割り当てを受けた場合にそのページの解釈処理をあらかじめ定めた時間条件を満たして実行可能であるかどうかを当該解釈装置の処理負荷に基づき判定し、前記時間条件を満たして実行可能であると判断した場合に、前記割り当て装置に対して新たなページの割り当てを要求する、ことを特徴とする請求項１又は２に記載の印刷システムである。
【発明の効果】
【００１１】
請求項１に係る発明によれば、面付け指定が変更された場合でも、以前の面付け指定での印刷の際に作成された解釈結果データを再利用できる。
【００１２】
請求項２に係る発明によれば、複数の解釈装置に印刷データの解釈を行わせる時点で、どの印刷制御装置にその解釈結果のデータを渡して処理させるかが決まっていない場合にも、対応することができる。
【００１３】
請求項３に係る発明によれば、処理負荷の大きいページが割り当てられた解釈装置に更に別のページが割り当てられ、その別のページの処理が遅くなるという事象を生じにくくすることができる。
【図面の簡単な説明】
【００１４】
【図１】実施形態のシステムの概要を説明するための図である。
【図２】リファレンス情報のデータ構造の一例を示す図である。
【図３】実施形態のシステムに含まれる各装置の内部機能構成の一例を示す図である。
【図４】実施形態のシステムにおいて、中間データの生成及びスプールと、出力依頼とが分けて行われる場合の処理の流れを説明するための図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照して、本発明の実施形態を説明する。
【００１６】
図１に示すように、本実施形態の印刷システムは、フロントエンド装置１０、複数の解釈装置２０、複数のスプール装置３０、バックエンド装置４０及び印刷装置５０を有する。
【００１７】
フロントエンド装置１０は、パーソナルコンピュータやワークステーションなどのクライアント装置からページ記述言語（以下「ＰＤＬ」と略称）で記述された印刷データ１００を受け取る。そして、その印刷データ１００をページ単位で複数の解釈装置２０に割り当てるという、分配処理を実行する。
【００１８】
解釈装置２０は、画像を表すＰＤＬデータを解釈し、その解釈結果に基づき、その画像を表す中間データ１０２を生成する。中間データは、ＰＤＬデータと、印刷装置５０が取り扱い可能なラスター画像データとの中間のデータである。ＰＤＬデータは、一般に、画像を、その画像を構成するオブジェクトごとの描画コマンドの集まりとして表現する。逆に、ラスター画像データは、画像を、各々あらかじめ定められた数の色値の組を有する画素の集まりとして表現する。中間データは、これら両者の中間の粒度のデータであり、ＰＤＬのオブジェクトを更に複数に分割したサブオブジェクトの集まりとして画像を表現する。サブオブジェクトの一例は、例えば、ＰＤＬのオブジェクト（例えば、文字フォント、グラフィックス図形、画像データ）を、ラスター走査の走査線ごとに区切った区間データであってもよい。この区間データは、オブジェクトが１つの走査線上に占める区間を表すデータであり、例えばその区間の両端の座標の組で表され、その区間内の各画素の画素値を規定する情報を含んでいてもよい。画素値は、例えばＣ，Ｍ，Ｙ，Ｋなどの各色の印刷エンジンが用いる基本色ごとの濃度値である。また、中間データの別の例としてディスプレイリストもよく知られている。この明細書では、ＰＤＬを解釈して中間データを生成する処理のことを「ＲＩＰ処理」と呼ぶことにする。
【００１９】
解釈装置２０は、フロントエンド装置１０から割り当てられたページの中間データ１０２を生成し、生成した中間データ１０２をスプール装置３０に保存する。
【００２０】
スプール装置３０は、解釈装置２０が生成した中間データ１０２をスプールする装置である。
【００２１】
１つの例では、１つの解釈装置２０に対して１つのスプール装置３０が設けられる。また、別の例として、１つのグループを構成する複数の解釈装置２０が１つのスプール装置３０を共有してもよい。いずれの場合でも、基本的には、１つの解釈装置２０に対応するスプール装置３０は１つである。
【００２２】
また、１つの例では、解釈装置２０とスプール装置３０との間の接続には、フロントエンド装置１０と解釈装置２０とバックエンド装置４０との間の接続よりも、高速な通信手段を用いる。例えば、フロントエンド装置１０と解釈装置２０とバックエンド装置４０との間はローカルエリアネットワークを介して接続し、解釈装置２０とスプール装置３０との間はコンピュータの内部バスを介して接続するなどである。
【００２３】
バックエンド装置４０は、印刷装置５０に接続され、印刷装置５０を制御して印刷を行わせる装置である。バックエンド装置４０は、複数のスプール装置３０に分散して保存された１つの印刷ジョブの各ページの中間データを収集し、収集した各ページの中間データから各ページのラスター画像データを生成し、生成したラスター画像データを印刷装置５０に転送して用紙に印刷させる。
【００２４】
さて、書籍や冊子などの作成に用いる業務用の印刷システムの場合、大きな用紙に対して断裁・製本を考慮した順序で複数のページを面付けして印刷する。各ページが面付けされる順序（すなわち印刷出力される順序）は、原稿である印刷データ内でのページの順序とは異なる。ここで、従来の印刷システムでは、複数の解釈装置（「ＲＩＰ」とも呼ばれる。ＲＩＰはRaster Image Processorの略）に各ページを並列的に処理させる場合、その上流にある装置が印刷データの各ページの出力順序（すなわち面付けされる順序）を考慮し、印刷順に各ページをそれら解釈装置に分配していた。そして、それら複数の解釈装置によるページの解釈結果（例えばラスター画像データなど）をページの出力順にスプール装置に蓄積し、その出力順にスプール装置から読み出して印刷装置に供給していた。
【００２５】
このような従来の仕組みでは、解釈処理の分配や解釈結果のスプール及び読み出しがページ出力順すなわち面付け順に行われているので、何らかの事情で面付け順に変更が生じた場合、新たな面付け順に従って再度解釈処理からやり直す必要がある。
【００２６】
これに対し、図１に示した本実施形態のシステムでは、面付け順が変更されても解釈処理のやり直しが不要となる仕組みを採用している。以下、その仕組みについて説明する。
【００２７】
（１）図１に示すように、フロントエンド装置１０は、ページの出力順序（面付け順）を考慮せず、あらかじめ定めた順序（例えば印刷データ１００でのページ順）に従って印刷データ１００を下流に出力する。ここで、印刷データ１００がページ非独立（前のページについての命令が後のページの描画結果に影響を与えるタイプ）のＰＤＬ（例えばＰｏｓｔＳｃｒｉｐｔ（登録商標））のデータである場合は、印刷データ１００全体を各解釈装置２０に提供する。逆に印刷データ１００がページ独立のＰＤＬのデータである場合には、印刷データ１００をページごとに分割して各解釈装置２０に割り当てていく。
【００２８】
（２）このときフロントエンド装置１０は、その順序に従って、各解釈装置２０に対して解釈すべきページを割り当てていく。この実施形態では、この割り当ては、解釈装置２０からの要求に応じて行う。すなわち、本実施形態では、各解釈装置２０がそれぞれ自分自身の処理負荷を監視し、処理負荷から見て新たなページの割り当てを受けても例えばあらかじめ定められた性能基準（例えば、そのページをあらかじめ定められた時間内に処理完了するという基準）を満たすことができると判断できれば、フロントエンド装置１０に新たなページを要求する。
【００２９】
また、図示例では、フロントエンド装置１０は、解釈装置２０に対してページを割り当てた場合、リファレンス情報を生成し、生成したリファレンス情報をバックエンド装置４０に通知する。
【００３０】
図２にリファレンス情報２００のデータ構造の一例を示す。図示のように、リファレンス情報２００は、ジョブＩＤ２０２、ページ番号２０４及びスプールＩＤ２０６を含む。
【００３１】
ジョブＩＤ２０２は、入力された印刷データ１００についての印刷指示、すなわちその指示に従って行う印刷処理（これが「ジョブ」である）に対して一意的に割り当てた識別情報である。フロントエンド装置１０は、印刷データ１００を含む印刷指示が入力された場合、その印刷指示に対して新たなジョブＩＤを割り当てる。その後の本システム内でのジョブの管理はそのジョブＩＤを用いて行われる。
【００３２】
ページ番号２０４は、印刷データ１００のページのうち解釈装置２０に割り当てたページの番号である。
【００３３】
スプールＩＤ２０６は、ページ割当先の解釈装置２０に対応するスプール装置３０を一意的に識別する識別情報である。解釈装置２０に対してスプール装置３０が付属している場合（例えば解釈装置２０がインストールされたコンピュータ内の記憶装置をスプール装置３０として用いる場合）には、スプールＩＤ２０６として、解釈装置２０の識別情報を用いてもよい。
【００３４】
リファレンス情報２００を生成するために、フロントエンド装置１０には、解釈装置２０とスプール装置３０の対応関係の情報があらかじめ登録されている。
【００３５】
１つの例では、フロントエンド装置１０は、このリファレンス情報２００を、ページの割り当て指示に対応づけて、解釈装置２０にも通知する。別の例では、リファレンス情報２００のうちジョブＩＤとページ番号の組を、ページの割り当て指示に対応づけて解釈装置２０に通知する。
【００３６】
なお、システム内に利用可能なバックエンド装置４０が複数ある場合、フロントエンド装置１０は、各解釈装置２０に対して、リファレンス情報２００と共に、今回の出力先に指定されたバックエンド装置４０の識別情報も指示する。解釈装置２０は、その識別情報が示すバックエンド装置４０に対してスプール完了通知を送る。
【００３７】
（３）解釈装置２０は、受け取った印刷データ１００を解釈し、その解釈結果に応じて、フロントエンド装置１０から割り当てられたページの中間データ１０２を生成する。
【００３８】
（４）解釈装置２０は、生成した中間データ１０２を、そのページの割り当て指示と対応づけてフロントエンド装置１０から受け取ったリファレンス情報２００（別の例では、ジョブＩＤとページ番号の組）に対応づけて、当該解釈装置２０に対応するスプール装置３０に保存する。
【００３９】
スプール装置３０は、ページの中間データ１０２が保存されると、その中間データ１０２に対応するリファレンス情報２００（別の例では、ジョブＩＤとページ番号の組）を含む、スプール完了通知をバックエンド装置４０に送る。バックエンド装置４０は、そのスプール完了通知により、どのジョブのどのページの中間データが作成済みであるかを認識する。このように、各解釈装置２０がリファレンス情報２００等を含んだスプール完了通知をバックエンド装置４０に送る構成の場合、フロントエンド装置１０からバックエンド装置４０にリファレンス情報を送る必要は必ずしもない。
【００４０】
以上に説明した流れで、印刷データ１００の各ページがいずれかの解釈装置２０に分配される。そして、複数の解釈装置２０がそれぞれ異なるページを処理することで、印刷データ１００の解釈処理が並列実行される。
【００４１】
（５）各解釈装置２０へのページの割り当ての開始後のいずれかの時点で、フロントエンド装置１０は、バックエンド装置４０に対して、当該印刷データ１００のジョブについての出力依頼を送る。この出力依頼には、ジョブＩＤと出力順序情報が含まれる。出力順序情報は、印刷対象の用紙（製本分野でいうところの「折り」）に対するページの面付けを考慮したときの、印刷データ１００の各ページの印刷装置５０への出力順序を特定する情報である。この出力順序は、クライアント装置から印刷データ１００と対応づけて入力される面付けの指定情報に基づいて決まる。
【００４２】
バックエンド装置４０に送られる出力順序情報は、例えば、印刷データ１００におけるページの番号を、印刷装置５０への出力順序に従って並べたものである。また、別の例では、面付け指定情報（及びページの出力順序を決定するのに必要な他の情報）をバックエンド装置４０に送り、バックエンド装置４０がその情報からページの出力順序を求める。
【００４３】
フロントエンド装置１０がバックエンド装置４０に出力依頼を送るタイミングは特に限定されない。ある例では、各解釈装置２０へのページの割り当ての開始と同時に出力依頼を送る。別の例では、解釈装置２０へのページの割り当てがある程度進んだ時点（例えばページ割り当て開始からあらかじめ定めた時間が経過した時点や、あらかじめ定めたページ数（場合によっては印刷データ１００の全ページ）の割り当てが済んだ時点）で出力依頼を送る。
【００４４】
（６）出力依頼を受けたバックエンド装置４０は、その出力順序情報が示す出力順序での先頭ページから順に、各ページの中間データ１０２を、その中間データ１０２を保持するスプール装置３０から取得する。印刷データ１００の各ページの中間データ１０２がどのスプール装置３０に保持されているかは、フロントエンド装置１０又は各スプール装置３０から通知されたリファレンス情報２００から特定する。ここで、スプール装置３０からスプール完了通知が到来していないページについては、そのページの中間データはまだスプールされていないので、バックエンド装置４０はその中間データの取得を試みず、スプール完了通知が到来するのを待つ。
【００４５】
（７）バックエンド装置４０は、出力順序の順に取得した各ページの中間データを、取得した順にラスタライズする。「ラスタライズ」とは、ラスター画像データへと変換する処理のことである。
【００４６】
（８）バックエンド装置４０は、ラスタライズにより得られた各ページのラスター画像データを面付けし、印刷装置５０に供給する。印刷装置５０は、面付けされたページ群のラスター画像データを用紙に対して印刷する。
【００４７】
以上、図１を参照して、本実施形態のシステムの概要を説明した。次に、図３を参照して、フロントエンド装置１０、解釈装置２０、及びバックエンド装置４０の細部について説明する。
【００４８】
図３に示すように、フロントエンド装置１０はジョブ管理部１２、ジョブ出力部１４及びコマンド配信部１６を有する。
【００４９】
ジョブ管理部１２は、クライアント装置から印刷データ１００及びこの印刷データ１００についての印刷指示を受け取ると、その印刷指示に対応するジョブＩＤを生成し、その印刷指示の実行順序の管理などの、いわゆるジョブ管理を実行する。ジョブの実行順序が到来すると、ジョブ管理部１２がジョブ出力部１４に当該ジョブの出力を指示すると共に、各解釈装置２０（図３には代表して１つのみを示す）及びバックエンド装置４０に対して、そのジョブＩＤを含んだ処理開始指示を送る。ジョブ出力の指示を受けたジョブ出力部１４は、そのジョブの印刷データ１００内のページの順に、印刷データ１００の各ページをコマンド配信部１６に出力していく（Ｓ１）。
【００５０】
ジョブの処理開始指示を受けた解釈装置２０のジョブ管理部２３は、その指示に対応するジョブＩＤを含んだキュー（待ち行列）を生成し、そのキューを用いてそのジョブの実行を管理する。ジョブ管理部２３は、コマンド受信部２１に対して、そのジョブについてのフロントエンド装置１０へのページ要求処理の開始を指示する。この指示を受けたコマンド受信部２１は、解釈装置２０の手持ちの未処理ページ数（すなわち割り当てられたがまだ処理が終わっていないページ数）及びＲＩＰ処理部２５の現在の処理負荷などを監視し、その監視結果に基づき新たなページの割り当てを受けるかどうかを判定する。ここで、ＲＩＰ処理部２５は、ＰＤＬデータの解釈及び中間データの生成を行う手段である。その判定では、例えば、手持ちの未処理ページ数と、ＲＩＰ処理部２５の現在の処理速度から、仮に新たにページの割り当てを受けた場合に、そのページがあらかじめ定めた時間内に処理完了できるかどうかを判定し、完了できると判定した場合に、新たなページの割り当てを受けると判定する（Ｓ２）。
【００５１】
従来の一般的なページの分配方式では、ページを分配する装置は、分配先の装置のバッファメモリに空きがあれば、その分配先装置の負荷に関わりなく、ページを分配していた。しかし、この方式では、分配先装置に処理負荷の高いページ（例えば多くの複雑なオブジェクトを含んでいるなど）が割り当てられている中で、更にバッファが空いているからといって新たなページを割り当てるとすると、その新たなページの処理が完了するのが大幅に遅くなる。このような遅れが律速となり、並列処理による高速化のメリットが低減される場合もあり得る。これに対し、この例のように、解釈装置２０が自らの処理負荷に応じて新たなページを要求するかどうかを決定すれば、処理負荷が高いページを処理している解釈装置２０は新たなページを要求しないので、そのような新たなページの処理遅れは生じにくい。
【００５２】
このような判定に応じて解釈装置２０からページ割り当て要求が到来すると、コマンド配信部１６は、その解釈装置２０に対して、印刷データ１００のうちの未割り当ての先頭ページについての解釈処理を指示するコマンドを配信する（Ｓ２）。印刷データ１００がページ非独立のＰＤＬデータの場合、最初のページ割り当ての前にその印刷データ１００が各解釈装置２０に送信されている。ページ独立のＰＤＬデータの場合には、例えば、割り当てるページのＰＤＬデータがこのとき解釈装置２０に送られる。また、コマンド配信部１６は、バックエンド装置４０に対して、リファレンス情報２００を通知する（Ｓ２）。
【００５３】
解釈装置２０のコマンド受信部２１は、フロントエンド装置１０から受信したページの処理指示をジョブ管理部２３に転送する（Ｓ３）。この処理指示には、リファレンス情報２００と同様の情報（ジョブＩＤとページ番号の組）が含まれる。ジョブ管理部２３は、受け取った情報を、そのジョブＩＤに対応するキューの末尾に追加する。
【００５４】
解釈装置２０のジョブ管理部２３は、転送されたページの処理指示に応じて、ＲＩＰ処理部２５にそのページの解釈処理を指示する（Ｓ４）。ここで、ジョブ管理部２３は、ＲＩＰ処理部２５が指示された１ページの中間データの処理を終えるごとに、先入れ先出し順でキューの先頭のページの処理をＲＩＰ処理部２５に指示する。
【００５５】
なお、このＲＩＰ処理部２５によるページの解釈及び中間データ生成の処理と、コマンド受信部２１によるページ要求の制御とは、同時並行で実行される。すなわち、ＲＩＰ処理部２５はジョブ管理部２３から指示されるページを順に処理し、これと並行してコマンド受信部２１がＲＩＰ処理部２５の処理負荷などから次のページを要求するかどうかを判定し、判定結果に応じて要求を行う。
【００５６】
ＲＩＰ処理部２５がページの中間データを生成し終わると、ジョブ管理部２３がスプール管理部２７に対してその中間データとそのページについてのリファレンス情報２００とを渡し、スプール装置３０への登録を指示する（Ｓ５）。スプール管理部２７は、その指示に応じて、その中間データとリファレンス情報２００とを対応づけて、スプール装置３０に保存する。スプール装置３０への保存を終えると、スプール管理部２７は、データ配信部２９に対して、そのページについてのリファレンス情報２００をバックエンド装置４０に通知するよう依頼する（Ｓ６）。この依頼に応じ、データ配信部２９が、リファレンス情報２００を含んだスプール完了通知をバックエンド装置４０に送る（Ｓ７）。
【００５７】
フロントエンド装置１０からジョブの処理開始指示を受けると、バックエンド装置４０のジョブ管理部４３が、その指示に含まれるジョブＩＤに対応づけてジョブの管理情報を生成し、その後のフロントエンド装置１０及び各解釈装置２０から通知を待ち受ける。
【００５８】
フロントエンド装置１０からページごとのリファレンス情報２００が到来すると（Ｓ２）、コマンド受信部４１がそのリファレンス情報２００を受け取り、ジョブ管理部４３に転送する。ジョブ管理部４３は、そのリファレンス情報２００をジョブ管理情報に組み込む。
【００５９】
また、各解釈装置２０から各ページについてのスプール完了通知（リファレンス情報２００を含む）が到来すると（Ｓ７）、コマンド受信部４１がその通知を受け取り、ジョブ管理部４３に転送する（Ｓ８）。ジョブ管理部４３は、その通知に含まれるリファレンス情報２００のジョブＩＤ及びページ番号を確認し、そのジョブＩＤに対応するジョブ管理情報に含まれるそのページ番号に対応するリファレンス情報２００に対して、そのページがスプール完了済みであることを示すフラグを立てる。
【００６０】
また、フロントエンド装置１０から出力順序情報を含んだ出力依頼が到来すると（Ｓ９）、コマンド受信部４１がその依頼を受け取り、ジョブ管理部４３に転送する（Ｓ１０）。出力依頼を受け取ったジョブ管理部４３は、その依頼に含まれるジョブＩＤに対応するジョブの実行を開始する。
【００６１】
ジョブの実行を開始したジョブ管理部４３は、出力順序情報が示す順序に従って、先頭のページから順にラスタライズ処理部４５にラスタライズを依頼する（Ｓ１１）。このとき、ジョブ管理部４３は、ラスタライズ処理部４５の処理状況を監視し、この監視結果に基づき、ラスタライズ処理部４５が新たなページのラスタライズを行うことが可能かどうかを判定し、可能と判定した場合に新たなページのラスタライズの依頼を行う。
【００６２】
ジョブ管理部４３からのラスタライズ依頼に応じ、ラスタライズ処理部４５は、そのページの中間データの転送をデータ取得部４７に依頼する（Ｓ１２）。
【００６３】
データ取得部４７は、依頼されたページの中間データがどのスプール装置３０に保持されているかを、ジョブ管理部４３が持つジョブ管理情報内の当該ページのリファレンス情報２００から特定し、そのスプール装置３０にそのページの中間データを要求する（Ｓ１３）。なお、この例では、解釈装置２０とスプール装置３０とが一対一に対応しており、解釈装置２０のスプール管理部２７がスプール装置３０を管理する構成となっているので、ページの中間データの要求は解釈装置２０に送られる。ページの中間データを要求された解釈装置２０のデータ配信部２９は、スプール管理部２７にそのページの中間データを要求する。スプール管理部２７は、スプール装置３０からそのページの中間データを取り出し、データ配信部２９に渡す。データ配信部２９は、その中間データを、要求元のバックエンド装置４０のデータ取得部４７に返す。
【００６４】
データ取得部４７は、取得した中間データをラスタライズ処理部４５に渡す。ラスタライズ処理部４５は、その中間データをラスタライズすることで、ページのラスター画像データを生成し、生成したラスター画像データをジョブ管理部４３に渡す（Ｓ１４）。ジョブ管理部４３は、受け取ったラスター画像データをエンジン制御部４９に渡す（Ｓ１５）。エンジン制御部４９は、そのラスター画像データを印刷装置５０に送信し、印刷を実行させる。
【００６５】
以上、本実施形態のシステムの動作の一例を説明した。次に、図４を参照して、本実施形態のシステムの別の動作モードについて説明する。
【００６６】
図１に示した動作モードでは、フロントエンド装置１０又は各スプール装置３０からバックエンド装置４０に対して各ページのリファレンス情報が送られていた。これに対し、図４の動作モードでは、フロントエンド装置１０又は各スプール装置３０からバックエンド装置４０に対してリファレンス情報が提供されていない状況を考える。このような状況は、例えば、一度あるバックエンド装置４０及び印刷装置５０を出力先に指定してジョブを実行した後、スプール装置３０群に保存されているそのジョブのスプールデータ（中間データ）を、出力先を替えて再度印刷出力する場合に起こりえる。すなわち、このような場合、新たに出力先に指定されたバックエンド装置４０及び印刷装置５０は、その時点では、そのジョブの各ページのリファレンス情報を有していない。また、同じ状況は、ユーザが出力先を指定せずに、印刷データ１００の解釈及びスプールのみの実行を指定した場合にも起こりえる。例えば、膨大な量の印刷データ１００の解釈及びスプール処理を無人の夜間に自動実行させておき、翌日ユーザが印刷システムを監視できる営業時間内にスプールしたジョブの印刷出力を行う場合がその一例である。この場合も、出力依頼を受けた時点では、バックエンド装置４０は当該ジョブの各ページのリファレンス情報を持っていない。
【００６７】
図４の例の（１）〜（４）のステップは、フロントエンド装置１０から今回の出力先であるバックエンド装置４０に対してリファレンス情報が送られないことを除いては、図１に示した同じ番号のステップと同様である。この（１）〜（４）のステップの繰り返しで、印刷データ１００の全ページの中間データが、各スプール装置３０に分散して蓄積される。
【００６８】
（５）このあと、ユーザがフロントエンド装置１０に対して、出力対象のジョブＩＤ、出力先のバックエンド装置４０及び印刷装置５０の指定、及び面付け指定情報を入力して印刷を指示すると、フロントエンド装置１０は、そのジョブＩＤと、面付け指定情報に応じた出力順序情報とを含んだ出力依頼を、指定されたバックエンド装置４０に送る。
【００６９】
（６）出力依頼を受けたバックエンド装置４０は、このシステムに含まれる全てのスプール装置３０に対して、そのジョブＩＤに対応する各ページのリファレンス情報２００の提供を依頼する。
【００７０】
（７）各スプール装置３０（解釈装置２０がスプール装置３０を管理する場合は解釈装置２０）は、その依頼に応じて、自分が保持しているそのジョブＩＤに対応する各ページのリファレンス情報２００をバックエンド装置４０に送信する。
【００７１】
（８）リファレンス情報２００を受け取ったバックエンド装置４０は、それらリファレンス情報２００を参照して、出力順序情報が示す出力順序での先頭ページから順に、各ページの中間データ１０２を、その中間データ１０２を保持するスプール装置３０から取得する。
【００７２】
（９）バックエンド装置４０は、取得したページをその取得順にラスタライズする。
【００７３】
（１０）バックエンド装置４０は、ラスタライズ結果のラスター画像データを面付けして印刷装置５０に供給する。印刷装置５０は、それら面付けされたラスター画像データを用紙に印刷する。
【００７４】
このように、リファレンス情報２００を受け取っていないバックエンド装置４０は、各スプール装置３０からリファレンス情報２００を取得することで、フロントエンド装置１０から出力依頼を受けたジョブの各ページの中間データがどのスプール装置３０にあるかを把握する。
【００７５】
以上、実施形態の印刷システムについて説明した。以上に説明した実施形態では、バックエンド装置４０が、面付け設定に応じて決まる出力順序情報に従って順にページの中間データをスプール装置３０群から取得して面付けしていくので、スプール装置３０群に保持された各ページの中間データは、面付け設定を変えてもそのまま再利用し得る。
【００７６】
また、最初に出力した印刷装置５０とは別の印刷装置５０で同じ印刷データを印刷する場合、印刷装置５０の変更に応じて面付けの設定が変わってしまう場合がある。そのような場合でも、それら両印刷装置５０の間の色特性などの差が中間データのラスタライズ及びそのラスタライズ結果に対する色補正等の補正処理で吸収可能であれば、スプール装置３０群に保持された各ページの中間データは、後の印刷装置５０での印刷でもそのまま再利用し得る。
【００７７】
図１、３、４に示した印刷システムのハードウエアへの実装の仕方にはある程度の自由度がある。
【００７８】
本実施形態の印刷システムが有する４種類の要素、すなわちフロントエンド装置１０、解釈装置２０、スプール装置３０、バックエンド装置４０は、それぞれ、コンピュータにそれら各要素が備える機能を表すプログラムを実行させることにより実現される。この場合、物理的に１つのコンピュータにそれら４種類のうちの１つの要素の機能を持たせるようにしてもよいし、物理的に１つのコンピュータに複数種類の要素の機能を持たせるようにしてもよい。例えば高速化を目指したシステム構成では、フロントエンド装置１０、各解釈装置２０、バックエンド装置４０は、それぞれ別々のマシン上に実装される。ハードウエアコスト低減を目指し、フロントエンド装置１０、解釈装置２０、スプール装置３０、バックエンド装置４０を物理的に１つのマシン上に実装することも考えられる。このように、システム構成にはある程度のスケーラビリティの確保が可能である。
【００７９】
ここで、コンピュータは、例えば、ハードウエアとして、ＣＰＵ等のマイクロプロセッサ、ランダムアクセスメモリ（ＲＡＭ）およびリードオンリメモリ（ＲＯＭ）等のメモリ（一次記憶装置）、二次記憶装置（ハードディスクドライブ、ソリッドステートドライブ、フラッシュメモリなど）、各種Ｉ／Ｏ（入出力）インタフェース、ローカルエリアネットワークなどのネットワークとの接続のための制御を行うネットワークインタフェース等が、例えばバスを介して接続された回路構成を有する。また、そのバスに対し、例えばＩ／Ｏインタフェース経由で、ＣＤやＤＶＤなどの可搬型ディスク記録媒体に対する読み取り及び／又は書き込みのためのディスクドライブ、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体に対する読み取り及び／又は書き込みのためのメモリリーダライタ、などが接続されてもよい。上に例示した各機能モジュールの処理内容が記述されたプログラムがＣＤやＤＶＤ等の記録媒体を経由して、又はネットワーク等の通信手段経由で、二次記憶装置に保存され、コンピュータにインストールされる。二次記憶装置に記憶されたプログラムがＲＡＭに読み出されＣＰＵ等のマイクロプロセッサにより実行されることにより、上に例示した機能モジュール群が実現される。
【符号の説明】
【００８０】
１０  フロントエンド装置、１２  ジョブ管理部、１４  ジョブ出力部、１６  コマンド配信部、２０  解釈装置、２１  コマンド受信部、２３  ジョブ管理部、２５  ＲＩＰ処理部、２７  スプール管理部、２９  データ配信部、３０  スプール装置、４０  バックエンド装置、４１  コマンド受信部、４３  ジョブ管理部、４５  ラスタライズ処理部、
４７  データ取得部、４９  エンジン制御部、５０  印刷装置、１００  印刷データ、
１０２  中間データ、２００  リファレンス情報。
【図１】
2014178860.tif 000003
【図２】
2014178860.tif 000004
【図３】
2014178860.tif 000005
【図４】
2014178860.tif 000006