(57)【特許請求の範囲】
【請求項１】
印刷ジョブを管理するためのジョブ管理構造を構築し、そのジョブ管理構造を参照して印刷ジョブを処理する印刷制御装置であって、
前記印刷ジョブの印刷データをデコンポーズして解釈し、各ページの画像データを生成する画像データ生成手段と、
前記各ページの画像データをプリンタへ転送する転送手段と、
ジョブ処理の中断命令があった場合に、出力が完了した中断ページの次の再開ページを特定する再開ページ情報と、前記印刷データ内に印刷属性設定用コマンドとして記述された情報であって丁合情報及び部数情報を含むデバイスコントロール情報と、を含む中断情報を保存するための制御を行う中断制御手段と、
ジョブ処理の再開命令があった場合に、前記中断情報に基づいて前記ジョブ管理構造を再構築すると共に前記画像データ生成手段の処理を制御する再開制御手段と、
を含み、
前記ジョブ処理の再開命令があった場合に、前記中断情報が参照され、前記丁合情報及び前記部数情報を含む前記デバイスコントロール情報が利用され、前記再開ページ情報によって特定される再開ページからデコンポーズが再開されることを特徴とする印刷制御装置。
【請求項２】
請求項１記載の装置において、
前記中断制御手段は、前記ジョブ処理の中断命令があった場合に、前記再開ページ情報を含む中断情報を上位手段に転送退避する制御を実行し、
前記再開制御手段は、前記ジョブ処理の再開命令があった場合に、前記上位手段から前記中断情報を取得することを特徴とする印刷制御装置。
【請求項３】
請求項１記載の装置において、
ページの出力ごとに前記再開ページ情報を更新する手段を含むことを特徴とする印刷制御装置。
【請求項４】
印刷ジョブを管理するためのジョブ管理構造を構築し、そのジョブ管理構造を参照して印刷ジョブを処理する印刷制御方法であって、
前記印刷ジョブの印刷データをデコンポーズして解釈し、各ページの画像データを順次生成する画像データ生成工程と、
前記各ページの画像データをプリンタへ転送する転送工程と、
ジョブ処理の中断命令があった場合に、出力が完了した中断ページの次の再開ページを特定する再開ページ情報と、前記印刷データ内に印刷属性設定用コマンドとして記述された情報であって丁合情報及び部数情報を含むデバイスコントロール情報と、を含む中断情報を保存するための制御を行う中断制御工程と、
ジョブ処理の再開命令があった場合に、前記中断情報に基づいて前記ジョブ管理構造を再構築すると共に前記画像データ生成手段の処理を制御する再開制御工程と、
を含み、
前記ジョブ処理の再開命令があった場合に、前記中断情報が参照され、前記丁合情報及び前記部数情報を含む前記デバイスコントロール情報が利用され、前記再開ページ情報によって特定される再開ページからデコンポーズが再開されることを特徴とする印刷制御方法。
【請求項５】
印刷ジョブを管理するためのジョブ管理構造を構築し、そのジョブ管理構造を参照して印刷ジョブを処理する印刷制御プログラムを記憶した媒体であって、
前記印刷ジョブの印刷データをデコンポーズして解釈し、各ページの画像データを順次生成する工程と、
前記各ページの画像データをプリンタへ転送する工程と、
ジョブ処理の中断命令があった場合に、出力が完了した中断ページの次の再開ページを特定する再開ページ情報と、前記印刷データ内に印刷属性設定用コマンドとして記述された情報であって前記丁合情報及び前記部数情報を含むデバイスコントロール情報と、を含む中断情報を保存するための制御を行う工程と、
ジョブ処理の再開命令があった場合に、前記中断情報に基づいて前記ジョブ管理構造を再構築すると共に前記画像データ生成手段の処理を制御する工程であって、前記丁合情報及び前記部数情報を含む前記デバイスコントロール情報が利用され、前記再開ページ情報によって特定される再開ページからデコンポーズが再開される工程と、
を印刷制御装置に実行させる印刷制御プログラムを記憶した媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は印刷制御装置に関し、特に、ページ記述言語（ＰＤＬ）で記述された印刷データを各プレートのイメージデータに展開してプリンタへ出力する装置に関する。
【０００２】
【従来の技術】
ネットワーク・プリンティング・システムにおいて、クライアントからのＰＤＬで記述された印刷データが印刷制御装置としてのプリントサーバーに送られると、そのプリントサーバーに搭載されたデコンポーザ（ＰＤＬ解釈部及びイメージ生成部として機能する手段）によってその印刷データが処理され、各プレートのイメージデータ（ラスターデータ）が生成される。それらのイメージデータは、プリントサーバーに直接的に又は間接的に接続された画像出力装置としてのプリンタに送られ、これにより各イメージデータが用紙上に印刷される。なお、プレートとは、用紙の各ページ（すなわち、用紙の表面及び裏面）に相当するものである。
【０００３】
ところで、従来の印刷制御装置において、ジョブ処理の途中で、例えばクライアントからのジョブ処理の中断命令が受け付けられると、それまでに印刷したページの中で最後のページ（中断ページ）の情報を保存する制御が行われていた。その後、ジョブ処理の再開命令が出されると、その保存された中断ページの次のページからデコンポーズが行われていた。
【０００４】
【発明が解決しようとする課題】
しかしながら、１つのジョブに複数のドキュメントが含まれるような場合、中断時に中断ページの情報しか保存されていないと、中断ページの次のページが当該ドキュメント中に存在しないような場合（すなわち、再開ページが他のドキュメントの先頭ページであるような場合）には、ジョブ処理の再開時に、当該ドキュメントの「中断ページ＋１」番号のページをデコンポーズしようとして初めてそれが存在しないことが確認される。この場合、本来不要なデコンポーズ処理が行われるため、効率的ではなく、また再開時の迅速な処理を図れないという問題がある。
【０００５】
この問題は、上記の１ジョブマルチドキュメントの場合に限られず、例えば、１ジョブ１ドキュメントであっても、それが「複数部数」、「丁合あり」で印刷されるような場合に生じる。すなわち、ジョブの最終ページではないドキュメントの最終ページが中断ページとなった場合、再開ページは当該ドキュメントの先頭ページとなるが、デコンポーザは「中断ページ＋１」番号のページをデコンポーズしようとしてしまい、その時点で不存在が確認されるという無駄が生じる。
なお、ジョブの最終ページが中断ページとなる場合には、一般に、ジョブ終了通知が出され、それによって再デコンポーズが回避されるため、上記問題は生じない。特開平６−１５８９５号公報には関連する技術が開示されているが、上記問題を解決できるものではない。
【０００６】
本発明は上記従来の課題に鑑みなされたものであり、その目的は、ジョブ処理の再開時に無駄な処理を排除してジョブ処理を迅速に行うことにある。
【０００７】
また、本発明の目的は、１ジョブマルチドキュメントの場合や複数部数を丁合ありで印刷するような場合において、ドキュメントの切目でジョブ処理が中断した場合でも、無駄なデコンポーズが行われないようにすることにある。
【０００８】
【課題を解決するための手段】
上記目的を達成するために、本発明は、印刷ジョブを管理するためのジョブ管理構造を構築し、そのジョブ管理構造を参照して印刷ジョブを処理する印刷制御装置であって、前記印刷ジョブの印刷データをデコンポーズして解釈し、各ページの画像データを生成する画像データ生成手段と、前記各ページの画像データをプリンタへ転送する転送手段と、ジョブ処理の中断命令があった場合に、出力が完了した中断ページの次の再開ページを特定する再開ページ情報と、前記印刷データ内に印刷属性設定用コマンドとして記述された情報であって丁合情報及び部数情報を含むデバイスコントロール情報と、を含む中断情報を保存するための制御を行う中断制御手段と、ジョブ処理の再開命令があった場合に、前記中断情報に基づいて前記ジョブ管理構造を再構築すると共に前記画像データ生成手段の処理を制御する再開制御手段と、を含み、前記ジョブ処理の再開命令があった場合に、前記中断情報が参照され、前記丁合情報及び前記部数情報を含む前記デバイスコントロール情報が利用され、前記再開ページ情報によって特定される再開ページからデコンポーズが再開されることを特徴とする。
【０００９】
上記構成によれば、ジョブ処理の停止により例えば当該ジョブの印刷属性やジョブ処理結果が消去されてたとしても、中断制御手段によって中断情報が保存される。中断情報は、再開ページを特定するための再開ページ情報と、丁合情報及び部数情報を含むデバイスコントロール情報と、を含む。そして、ジョブ処理の再開時に、その中断情報を利用して画像データの生成処理を行うことができる。よって、中断ページの情報のみを保存していた場合に生じていた無駄なデコンポーズの問題を解消できる。また、ジョブ処理の再開時に、デバイスコントロール情報を含む中断情報（後述する実施形態ではチェックポイント情報）に基づいてジョブ管理で参照されるジョブ管理構造を再構築できる。
【００１１】
本発明の好適な態様では、前記中断制御手段は、前記ジョブ処理の中断命令があった場合に、前記再開ページ情報を含む中断情報を上位手段に転送退避する制御を実行し、前記再開制御手段は、前記ジョブ処理の再開命令があった場合に、前記上位手段から前記中断情報を取得することを特徴とする。
【００１２】
ここで、上記の上位手段は例えばスケジューリング手段であり、ジョブ処理の中断（停止）時に、上位手段からの印刷ジョブを受けるジョブ実行部内の情報が次のジョブ処理の準備のためにクリアされても、上位手段に中断情報を保存退避できる。中断情報には、ジョブ処理再開の際に必要な各種の情報が含まれる。
【００１３】
また、本発明に係る方法は、印刷ジョブを管理するためのジョブ管理構造を構築し、そのジョブ管理構造を参照して印刷ジョブを処理する印刷制御方法であって、前記印刷ジョブの印刷データをデコンポーズして解釈し、各ページの画像データを順次生成する画像データ生成工程と、前記各ページの画像データをプリンタへ転送する転送工程と、ジョブ処理の中断命令があった場合に、出力が完了した中断ページの次の再開ページを特定する再開ページ情報と、前記印刷データ内に印刷属性設定用コマンドとして記述された情報であって丁合情報及び部数情報を含むデバイスコントロール情報と、を含む中断情報を保存するための制御を行う中断制御工程と、ジョブ処理の再開命令があった場合に、前記中断情報に基づいて前記ジョブ管理構造を再構築すると共に前記画像データ生成手段の処理を制御する再開制御工程と、を含み、前記ジョブ処理の再開命令があった場合に、前記中断情報が参照され、前記丁合情報及び前記部数情報を含む前記デバイスコントロール情報が利用され、前記再開ページ情報によって特定される再開ページからデコンポーズが再開されることを特徴とする。
【００１４】
また、本発明は、印刷ジョブを管理するためのジョブ管理構造を構築し、そのジョブ管理構造を参照して印刷ジョブを処理する印刷制御プログラムを記憶した媒体であって、前記印刷ジョブの印刷データをデコンポーズして解釈し、各ページの画像データを順次生成する工程と、前記各ページの画像データをプリンタへ転送する工程と、ジョブ処理の中断命令があった場合に、出力が完了した中断ページの次の再開ページを特定する再開ページ情報と、前記印刷データ内に印刷属性設定用コマンドとして記述された情報であって丁合情報及び部数情報を含むデバイスコントロール情報と、を含む中断情報を保存するための制御を行う工程と、ジョブ処理の再開命令があった場合に、前記中断情報に基づいて前記ジョブ管理構造を再構築すると共に前記画像データ生成手段の処理を制御する工程であって、前記丁合情報及び前記部数情報を含む前記デバイスコントロール情報が利用され、前記再開ページ情報によって特定される再開ページからデコンポーズが再開される工程と、を印刷制御装置に実行させる印刷制御プログラムを記憶した媒体を提供するものである。
【００１５】
上記媒体には、電気、光、磁気などを利用して情報が記録されるすべての媒体が含まれ、例えば、ＲＯＭ（リードオンリーメモリー）、ＲＡＭ（ランダムアクセスメモリー）、ＨＤ（ハードディスク）、ＦＤ（フロッピーディスク）、ＣＤ−ＲＯＭ（コンパクトディスク−ＲＯＭ）などが含まれる。また、印刷制御装置の概念には、コンピュータなどのプログラムに従って処理を行うすべての情報処理装置が含まれる。
【００１６】
【発明の実施の形態】
以下、本発明の好適な実施形態を図面に基づいて説明する。
【００１７】
図１には、本発明が適用されるプリンティングシステムの例が示されている。ネットワーク（ＬＡＮ）１０には、この例ではプリントサーバー１２及び複数台のクライアント１４が接続されている。プリントサーバー１２及びクライアント１４は通常、コンピュータマシンで構成される。プリントサーバー１２にはプリンタ１６が接続されており、そのプリントサーバー１２は印刷制御装置として機能する。クライアント１４ではＰＤＬで記述されたマスターデータ（印刷データ）が作成され、印刷要求１５としてそのマスターデータがプリントサーバー１２へ送出される。本実施形態のシステムでは、そのマスターデータに複数のドキュメントを含めることができる。なお、印刷要求１５はマスターデータとそれに付随する属性情報とで構成される。
【００１８】
ちなみに、上記印刷要求１５の他、必要に応じてクライアント１４からプリントサーバー１２へ印刷の停止要求も出される。また、プリントサーバー１２内に設けられた記憶装置には本実施形態の印刷制御を実現する印刷制御プログラムが内蔵される。
【００１９】
図２には、プリントサーバー１２の各機能がブロック図として示されている。この実施形態において各機能はソフトウエアで実現される。
【００２０】
クライアントからの印刷要求はまず要求受付部２０で受け付けられ、それがジョブとして登録される。スプーリング／スケジューリング部２２において、そのジョブはスプーリングされ、またスケジューリングされる。そして、そのジョブは、上位層であるスプーリング／スケジューリング部から２２ジョブ実行部２４へ渡される。このジョブ実行部２４は、属性データ設定部２６、画像処理部２８、プリンタ制御部３０及び属性データ管理部３２などで構成される。
【００２１】
属性データ設定部２６は、入力されたジョブの属性（部数、両面印刷の有無、など）を読み取って、その属性データを属性データ管理部３２に設定するものである。すなわち、この属性データ設定部２６は、後述するジョブ属性、ドキュメント属性、ブレークシート属性、コンテント属性の設定機能を有する。
【００２２】
画像処理部２８は、ＰＤＬで記述されたマスターデータを解釈して各プレートのイメージデータを生成するデコンポーザ３４と、メモリを節約するためデータ量が多いイメージデータの圧縮及び伸長を行う圧縮／伸長部３６と、イメージデータがその転送前に一時的に格納される転送用バッファであって、デコンポーザ３４及び圧縮／伸長部３６の作業用メモリとしても機能するバッファメモリ４０と、そのバッファメモリ４０に入りきらないデータを一時的に保存するための外部記憶装置としてのハードディスク３８と、を含む。上記バッファメモリ４０は例えばＲＡＭ上に構築されるが、その容量はプリンタの処理速度などを考慮して適応的に設定される。
【００２３】
プリンタ制御部３０は、プリンタ１６固有の動作条件を取得し、それに応じてプリンタ１６の動作制御を行うものであり、また、その動作条件などに基づいて設定された転送順位で各画像データを転送する制御を行う。すなわち、このプリンタ制御部３０は、画像データ転送手段として機能し、また後述のように転送順位設定手段としても機能する。
【００２４】
属性データ設定部２６と画像処理部２８との間では必要に応じてメッセージ交換が行われ、また、属性データ設定部２６とプリンタ制御部３０との間でも必要に応じてメッセージ交換が行われる。更に、画像処理部２８からプリンタ制御部３０へは画像データの格納アドレスなどが渡される。
【００２５】
属性データ管理部３２では、ジョブ属性などの各種属性情報が一括管理され、後述のように、その属性の一部として各画像データの転送順位も管理される。図示されるように、この属性データ管理部３２は、他の手段とは別に設けられ、同時に各手段によりその内容が定義・参照される。このような構成によれば、画像処理部２８とプリンタ制御部３０とを互いに独立して動作させることがき、また互いに並行動作させることができる。
【００２６】
図３（Ａ）には、画像処理部２８による画像形成処理の動作タイミングの例が示され、図３（Ｂ）には、プリンタ制御部３０による画像転送処理の動作タイミングの例が示されている。ちなみに、図中の各数字はプレート番号に相当するものである。通常は、各プレートのイメージデータの生成処理が先行するが、イメージデータの生成処理が遅れた場合にはその生成完了を待ってそのイメージデータが転送される。
【００２７】
図４には、図２に示した属性データ管理部３２の構成が示されている。プリンタデータ記憶部４２に格納されるプリンタデータは、当該プリントサーバーに接続されているプリンタに関して、ジョブに依存しないプリンタ固有の動作条件のデータである。そのプリンタデータとしては、例えば、プリンタで使用できる用紙の情報、その時点でセットされている用紙の情報などがある。
【００２８】
デフォルトデータ記憶部４４には、ジョブのデフォルトデータが記憶され、そのデフォルトデータは、ジョブ属性の内でユーザー指定されなかったものがある場合にそれに代わりに使用されるデフォルト値である。
【００２９】
本実施形態においては、ジョブの下にドキュメントという概念があり、上述したように１ジョブに複数のドキュメントを含めることができる。ドキュメントはアプリケーションソフトウエアで作成される文書ファイルに相当するものである。デフォルトデータ記憶部４６には、ドキュメント属性のデフォルトデータが記憶され、そのデフォルトデータは、ドキュメント属性の内でユーザー指定されなかったものがある場合にそれの代わりに使用されるデフォルト値である。
【００３０】
ジョブルート４９にリンクされたジョブ保持キュー４８にはジョブ実行部に受け付けられた１又は複数のジョブ５０が格納される。ここでジョブ５０は、印刷ジョブの内の属性データ部分に相当するものであり、印刷ジョブの内の印刷データは上記の画像処理部２８によって管理される。
【００３１】
図５には、上記のジョブ５０の属性を管理するのに当たって、属性データ管理部３２（図２参照）に構築されるジョブ管理構造（ジョブ属性の管理を行う階層構造）５１が示されている。
【００３２】
このジョブ管理構造において、ジョブデータ５２には、複数のドキュメントデータ５４を保持したドキュメントデータ保持キューと、複数のブレークシートデータ５６を保持したブレークシート保持キューと、複数のコンテントデータ５８を保持したコンテントデータ保持キューと、複数のプレートデータ６０を保持したプレートデータ保持キュー６２と、が関連付けられている。図面簡略化のため、各キューの内でプレートデータ保持キューにのみに符号６０を付してある。各キューはリスト構造となっており、ある要素から隣接する要素へアクセスすることが可能である。
【００３３】
ジョブデータ５２は、ジョブ全体に関わる属性が記入（保持）されたものであり、具体的には、属性データ設定部２６（図２参照）によって作成されたジョブアトリビュートによって構成されるものである。このジョブデータ５２の具体例については後に図７を用いて説明する。
【００３４】
ドキュメントデータ５４は、ドキュメントに関わる属性が記入されたものであり、具体的には、属性データ設定部２６によって作成されたドキュメントアトリビュートによって構成されるものである。このドキュメントデータ５４の具体例については後に図８を用いて説明する。
【００３５】
ブレークシートデータ５６は、仕分紙の種別毎にその属性を記入したものであり、この実施形態ではスタートシートデータ５６Ａとエンドシートデータ５６Ｂとからなる。それらは属性データ設定部２６によって作成されたブレークシートアトリビュートによって構成されるものである。このブレークシートデータ５６の具体例については後に図９を用いて説明する。
【００３６】
コンテントデータ５８は、コンテントの属性を記入したものであり、コンテントとは、この実施形態では各部毎のドキュメント及びブレークシートに相当する概念である。コンテントの順番はジョブを構成するドキュメント及びブレークシートの論理的な並び順に対応するが、プリンタ１６への画像データの転送順に対応させてもよい。コンテントという中間概念を利用することにより、ブレークシートとドキュメントとを対等・並列に取り扱うことが可能になる。よって、特に、１ジョブマルチドキュメントで仕分紙があるようなジョブを処理する場合に有用である。コンテントデータ５８は属性データ設定部２６によって作成されたコンテントアトリビュートによって構成されるもので、その具体例については後に図１０を用いて説明する。
【００３７】
上記のように、ジョブデータ５２、ドキュメントデータ５４、ブレークシートデータ５６、及びコンテントデータ５８は、ジョブがジョブ処理部に渡された時に属性データ設定部２６によって設定される。
【００３８】
一方、プレートデータ６０は、各プレートの属性が記入されたものであり、画像処理部２８（図２参照）によって作成される。その作成に当たっては、デコンポーズ結果、及び、ジョブデータ５２、ドキュメントデータ５４、ブレークシートデータ５６、コンテントデータ５８が参照される。その具体例については後に図１１及び図１２を用いて説明する。ちなみに、プレートデータ６０には当該プレートの転送順位も記入されるが、その記入はプリンタ制御部３０（図２参照）によって行われる。
【００３９】
なお、図２のプリンタ制御部３０は、プレートデータ６０の参照を行い、そのプレートの画像データを転送可能であれば転送処理を行う。この場合、そのプレートがジョブの何部目であるか、あるいはそのプレートがブレークシートであるかといった内容を知る必要はない。
【００４０】
図５に示すジョブ管理構造５１について具体的に説明すると、その構造５１は、「２ドキュメント」、「２部印刷」、「丁合あり」、「各部毎のスタートシート及びエンドシートあり」、という属性をもったジョブについてのものである。ここで、ドキュメント１（Doc1）は３ページ構成であり、ドキュメント２（Doc2）は１ページ構成である。ドキュメント１にリンクしたコンテント２（Cont2 ）及びコンテント６（Cont6 ）にはそれぞれ３つのプレートが関連付けられている。ドキュメント２にリンクしたコンテント３（Cont3 ）及びコンテント７（Cont7 ）にはそれぞれ１のプレートが関連付けられている。
【００４１】
スタートシート及びエンドシートはそれぞれ１ページで構成される。部単位のスタートシートとは、各部の最初にスタートシートが挿入されることを意味し、部単位のエンドシートとは、各部の最後にエンドシートが挿入されることを意味する。コンテント１及びコンテント５には１部目及び２部目のスタートシートが関連付けられ、コンテント４及びコンテント８には１部目及び２部目のエンドシートが関連付けられている。以上のことから理解されるように、プレート１〜プレート６が１部目の印刷に相当し、プレート７〜プレート１２が２部目の印刷に相当する。
【００４２】
図６には、他のジョブについてのジョブ管理構造５１が示されている。このジョブには、「２ドキュメント」、「２部印刷」、「丁合なし」、「ジョブ毎のスタートシート及びエンドシートあり」、という属性が設定されている。このジョブでは「丁合なし」であるため、後述するプレートデータ６０内の部数の欄には２が記入される。要するに、複数部数印刷の場合においては「丁合」の有無やブレークシートの配置条件によって、コンテント列及びプレート列の構成が異なる。
【００４３】
図７には、上記のジョブデータ５２の具体例が示されている。「id」にはジョブのＩＤ番号が記入され、「jobName 」にはジョブの名前が記入され、「jobCopies 」にはジョブ単位での印刷部数が記入され、「output」には丁合の有無が記入される。「resume」には当該ジョブが通常ジョブであるか再開ジョブであるかが記入される。再開ジョブは、あるジョブの印刷処理が中断された後、そのジョブ処理を続行する際のジョブである。
【００４４】
「check point 」（チェックポイント）の欄には、将来のジョブ処理中断があった場合におけるその後のジョブ処理再開時に有用な情報が含まれる。例えば、中断時に最後に印刷されたページ（中断ページ）の情報に加えて、本実施形態では、その次のページ（再開ページ）の情報が含まれる。後述のように、このチェックポイント情報は、ジョブ処理の中断時に、中断情報として、上位層であるスプーリング／スケジューリング部２２へ渡され、これによりその情報が退避保存される。また、当該ジョブの処理再開時には、スプーリング／スケジューリング部２２から、そこに保存されていたチェックポイント情報が返され、デコンポーズを行うべき再開ページの特定に利用される。なお、このチェックポイント情報には、デバイスコントロールに関する情報も含まれる。デバイスコントロールとは、ＰＤＬファイル中に印刷属性の設定（変更）をコマンドとして記述しておきデコンポーザにそれを実行させるものである。中断時にはそのデバイスコントロールの情報が保存退避され、再開時には、そのデバイスコントロールの情報が利用され、実際のデバイスコントロールの解釈を待たずにジョブ管理構造５１（図５参照）が構築される。このチェックポイント情報の具体的な内容については後に図２１を用いて詳述する。
【００４５】
図８には、上記のドキュメントデータ５４の具体例が示されている。「id」にはドキュメントのＩＤ番号が記入され、「masterData」にはマスターデータ（印刷データ）の保管位置とファイル名とが記入され、「feeder」にはプリンタにおいて使用する給紙トレイが記入され、「media 」にはプリンタにおいて使用する用紙の種別が記入され、「side2 」には両面印刷か片面印刷かの別が記入される。
【００４６】
図９には、上記のブレークシートデータ５６の具体例が示されている。「id」にはブレークシートのＩＤ番号が記入され、「feeder」にはブレークシートで使用する給紙トレイが記入され、「outputBin 」にはブレークシートを排出する排出ビンが記入され、「media 」にはブレークシートに使用する用紙の種別が記入され、「bsType」にはブレークシートのタイプが記入される。ブレークシートのタイプには、ジョブ単位のスタート及びエンドシートと部単位のスタートシート及びエンドシートがある。
【００４７】
図１０には、上記のコンテントデータ５８の具体例が示されている。「id」にはコンテントのＩＤ番号が記入され、「tag 」にはコンテントがドキュメントに対応するかあるいはブレークシートに対応するかの情報が記入され、「dataID」にはコンテントに対応するドキュメント又はブレークシートのＩＤが記入され、「copyCount 」には丁合時の部数が記入され、「docID 」にはコンテントに関連付けられているドキュメントのＩＤが記入される。
【００４８】
図１１には、図５に示したプレート保持キュー６２の具体的な内容が示されている。ルート６４を先頭として、各プレートデータ６０はその生成順で相互にリンクされ、双方向リスト構造が構築されている。
【００４９】
プレートデータ６０において、「id」はプレートデータのＩＤ番号であり、「*previous 」には１つ手前のプレートデータのアドレスがポインタとして記入され、「*next 」には１つ後のプレートデータのアドレスがポインタとして記入される。「*seq」には当該プレートの出力順位が記入され、各プレートデータ６０の「*seq」を順番に追っていくことにより、各画像データの転送が行われる。「PlateAttribute」には当該プレートに関わる各種の属性が記入され、すなわち画像処理部２８が形成したプレートアトリビュートの内容が記入される。
【００５０】
図１２には、プレートアトリビュート７４の具体例が示されている。「plateCopies 」には当該プレートが出力されるべき部数が記入され、「plateDelivered」には当該プレートが排出された部数が記入され、「feeder」にはフィードすべき用紙が格納されている給紙トレイが記入され、「outputBin 」には印字された用紙が排出される排出ビンが記入され、「sides 」にはプレートが両面印刷の表裏のどちらに対応するかの情報が記入され、「media 」には印字に使用される用紙のサイズや紙質が記入され、「contentID 」には当該プレートが関連付けられているコンテントのＩＤが記入され、「logicalPage 」にはドキュメント内のページ番号が記入される。
【００５１】
なお、図２の画像処理部２８がマスターデータのデコンポーズによって１プレート分の画像データを生成する度に、属性データ管理部３２によってプレートデータが１つ作成され、それが既に作成されたプレートデータ列の最後尾にリンクされる。
【００５２】
図１１において、各プレートデータ６０に含まれる「*seq」は、上記のように各プレートの画像データを転送順にアクセスするためのポインタとして機能するものであり、図２の属性データ管理部３２により作成された各プレートデータ６０の「*seq」に対し、プリンタ制御部３０により転送順にアドレスが記入され、プリンタ制御部３０の制御の下、その転送順で各画像データが転送される。
【００５３】
ところで、高速に両面印刷を行えるプリンタに中には、装置内の用紙搬送経路に複数枚の用紙を並べて同時に流し、それらの用紙の第１面を印刷した後に裏返してそれらの第２面を印刷という処理を繰り返し実行するものがある。例えば用紙搬送経路に同時に３枚の用紙が流されるプリンタでは、３枚の用紙の第１面を印刷した後にそれらの第２面を印刷する制御がなされる。このようなプリンタに各プレートの画像データを転送する場合、その転送順序は例えば１，３，５，２，４，６，…となり、デコンポーズによる画像データの生成順序と実際の転送順序が異なることになる。上記実施形態のプリントサーバーによれば、そのような各プリンタ固有の動作条件はプリンタ制御部３０によって認識され、その動作条件の下で各プレートデータ６０の「*seq」が設定される。
【００５４】
図１３に示すように、本実施形態では、コンテントによってドキュメント及びブレークシートが同じレベルで取り扱われ、すなわちドキュメントの各ページ及び各ブレークシートがプレートという単一概念によって取り扱われている。そして、各プレート毎にプレートデータ６０が設定され、各プレート属性を個別に管理できるので、例えば、各部毎に異なる属性を設定することができる。例えば、図１３において、１部目にはＡ４のサイズが設定されており、２部目にはＡ３のサイズが設定されている。このように各部毎に属性を変更するのは容易であり、多様な印刷制御を実現できる。上記以外にも、例えば各部間において出力ビンを切り換えることや用紙の色を切り換えることなども容易に実現できる。各部間で出力ビンを切り換える場合には、プレートデータ６０の「outputBin 」の内容を変更すればよい。用紙の色を変更する場合には、予め色毎に給紙トレイを用意し、各部間でプレートデータ６０の「feeder」を変更すればよい。
【００５５】
次に、図２を参照しながら、図１４〜図１９のフローチャートを用いて本実施形態のプリントサーバーの動作について説明する。
【００５６】
図１４には属性データ設定部２６の動作がフローチャートとして示されている。スプーリング／スケジューリング部２２からのコマンド（処理要求）が入力されると、Ｓ１０１では、そのコマンドが解釈さて、印刷コマンドであればＳ１０２以降の各ステップが実行される。Ｓ１０２〜Ｓ１０５では、属性データ設定部２６によって、ジョブに付随する属性情報が読み取られ、それによりジョブアトリビュート、ドキュメントアトリビュート、ブレークシートアトリビュート、コンテントアトリビュートが設定される。それらのアトリビュートにより、属性データ管理部３２において、図５に示したようなジョブ管理構造５１、すなわちジョブデータ５２、ドキュメントデータ５４、ブレークシートデータ５６、コンテントデータ５８が構築される。なお、プレートデータ６０は画像処理部２８によるデコンポーズ（又はプレスャン）時に作成される。
【００５７】
そのジョブが再開ジョブである場合、すなわちいったん中断した後に続行されるジョブである場合には、Ｓ１０６でそれが判定され、Ｓ１０８において上述のチェックポイント情報が参照され、印刷データのデコンポーズを待たずに、チェックポイント情報（デバイスコントロールによる属性指定など）が反映されたジョブ管理構造５１（図５など参照）が構築される。すなわち、この場合、Ｓ１０２〜Ｓ１０５で設定されたアトリビュートに優先してチェックポイント情報による属性（丁合有無、部数など）の内容が利用される。なお、再開ジョブの処理では、先頭プレートからの画像データ転送ではなく、中断プレートからの画像データの転送が行われる。
【００５８】
上述のようにチェックポイント情報は、ジョブ処理の再開コマンドと共に、図２に示したスプーリング／スケジューリング部２２からジョブ実行部２４へ渡される。そのチェックポイント情報の内の再開ページなどに関する情報は画像処理部２８へ渡され、デコンポーズ開始ページ（ファイル）の特定に利用される。
【００５９】
Ｓ１０７では、属性データ設定部２６からプリンタ制御部３０へ印刷コマンドが送出される。一方、Ｓ１０１において、停止コマンドが判定されると、Ｓ１０９において属性データ設定部２６からプリンタ制御部３０へ停止コマンドが送出される。
【００６０】
図１５には、プリンタ制御部３０の動作がフローチャートとして示されている。属性データ設定部２６からのコマンドを受けると、Ｓ２０１において停止要求フラグをＯＦＦにする初期設定が行われ、Ｓ２０２において、そのコマンドが印刷コマンドであるか停止コマンドであるかが判定される。
【００６１】
印刷コマンドであれば、Ｓ２０３においてプリンタ制御部３０により転送順リストが作成される。具体的には、プリンタ制御部３０によって、属性データ管理部３２内に管理されている各属性（プリンタ動作条件などを含む）が参照され、その参照結果に基づいて各プレートデータの「*seq」にアドレスを設定することにより、転送順リストが形成される。通常、その処理はすべてのプレートデータが生成された後に実行されるが、用紙の印字面を下にして排出されるフェイスダウン方式のプリンタを制御している場合など所定の場合には各プレートデータの生成後直ちに「*seq」にアドレスを設定すると共に当該画像データの転送が行われる。
【００６２】
Ｓ２０４では、１プレートの処理毎に停止要求フラグが確認され、そのフラグがＯＦＦであればＳ２０５以降の各工程が実行される。
【００６３】
Ｓ２０５では、デコンポーズが完了して転送を行うべき画像データの全体が生成されているか否かが確認され、画像データ（ラスターデータ）が完全に生成されていれば、Ｓ２０６において、その画像データが格納されているバッファメモリなどのアドレスを入手し、そのアドレスの画像データを取得する処理がなされる。そして、Ｓ２０７では、その画像データがプリンタへ転送される。もちろん、このＳ２０６及びＳ２０７における画像データ転送処理はＳ２０３で設定された転送順リストに従って行われる。
【００６４】
Ｓ２０８において、ジョブを構成するすべての画像データの転送が完了したことが確認されると、Ｓ２０９ではプリンタ側ですべてのプレートが印刷されて最終用紙が排出されたことが確認される。Ｓ２１０では、プリンタ制御部３０から属性データ設定部２６へジョブの終了を意味する終了通知が出される。Ｓ２１１では、停止要求フラグがＯＦＦにされる。
【００６５】
一方、Ｓ２０２において停止コマンドが確認されると、Ｓ２１２において現在印刷処理がなされている途中であるか否かが判定され、途中であればＳ２１３で停止要求フラグがＯＮされる。Ｓ２１２で印刷処理中でなければ直ちにＳ２１５において属性データ設定部２６へ停止通知が出される。Ｓ２０４で停止要求フラグがＯＮであると判定されると、Ｓ２１４においてその時点で転送された画像データの印刷が完結したことが確認された後、Ｓ２１５において停止通知が出される。すなわち、停止要求があった場合、停止可能なタイミングをまって処理が停止することになる。
【００６６】
図１６には、画像処理部２８の動作がフローチャートとして示されている。Ｓ３０１では初期設定として停止要求フラグがＯＦＦにされる。Ｓ３０２では、属性データ設定部２６からのコマンドが解釈され、それが画像形成コマンドであれば、Ｓ３０３において、属性データ管理部３２に管理されているコンテント保持キューから先頭のコンテントデータが取得される。そのコンテントデータを参照することにより、そのコンテントがドキュメントであるかブレークシートであるかが判別できるので、その判別結果に基づいてデコンポーズすべきファイルを特定する。なお、ブレークシートは、ドキュメントと同様に、ＰＤＬファイルの形式でハードディスク３８などに格納されている。
【００６７】
Ｓ３０４で停止要求フラグがＯＦＦであると判定されると、Ｓ３０５では、デコンポーズ後の画像データを格納するためにバッファメモリ４０上で記憶領域が確保され、Ｓ３０６ではデコンポーズが実行される。
【００６８】
Ｓ３０７では、デコンポーズによって生成された画像データに対応するプレートアトリビュートが追加され、具体的には、属性データ管理部３２のプレート保持キューに１つプレートデータが追加される。Ｓ３０８では、生成された画像データを保存したバッファメモリ上のアドレスがプリンタ制御部３０へ通知される。Ｓ３０９では、対象としたコンテントについてのすべてのデコンポーズが終了したことが確認され、終了していなければＳ３０４からの各工程がプレート毎に繰り返し実行される。
【００６９】
Ｓ３１０では、ジョブを構成するすべてのコンテントについてデコンポーズが終了したか否かが確認され、終了していなければＳ３０３からの各工程が繰り返し実行される。Ｓ３１１では属性データ設定部２６へ終了通知が出される。Ｓ３１２では停止要求フラグがＯＦＦにされる。
【００７０】
一方、Ｓ３０２において、停止コマンドが判定されると、Ｓ３１３において画像形成処理中であるか否かが判定され、そのＳ３１３において処理中でないと判定された場合には、Ｓ３１６において画像データ設定部２６へ停止通知が出される。処理中であればＳ３１４において停止要求フラグがＯＮされる。これにより、Ｓ３０４でそれが判定され、Ｓ３１５においてデコンポーザが適当なタイミングで停止される。その後に上記Ｓ３１６が実行される。
【００７１】
図２０には、図７に示したチェックポイント情報の具体例が示されている。図２０（Ａ）において、「pageDelivered 」には、出力ずみの総プレート数が記入され、「copyCount 」には中断時の出力部数が記入され、「copies」にはデバイスコントロールで指定された部数が記入され、「output」にはデバイスコントロールで指定された丁合モードが記入され、「lastDelivered 」には最後に出力されたプレート情報が記入され、「next」には次に出力すべきプレート情報が記入される。
【００７２】
図２０（Ｂ）には、上記の「lastDelivered 」及び「next」の具体的内容が示され、両者は同じ構造を有する。「tag 」には、最後に出力したプレート又は次に出力すべきプレートがドキュメントであるかブレークシートであるかが記入される。「docID 」には、最後に出力したプレート又は次に出力すべきプレートがどのドキュメントに含まれるのかの情報が記入される。「logicalPage 」には、最後に出力したプレート又は次に出力すべきプレートがドキュメントである場合に、そのドキュメントの何ページ目であるかの情報が記入される。「bsType」には、最後に出力したプレート又は次に出力すべきプレートがブレークシートである場合に、それがスタートシートであるかエンドシートであるかの情報が記入される。
【００７３】
なお、このチェックポイント情報は、上述のようにジョブデータ内に含まれ、属性データ管理部によってプレートが排出される毎に更新される。また、ジョブ処理の中断時には、上述のようにスプーリング／スケジューリング部２２へ一時的に転送退避される。
【００７４】
以上のように、ジョブ処理中断時に、中断ページ情報に加えて再開ページ情報を取得でき、ジョブ処理再開時にはそれらの情報を利用して再開ページを特定できるので、上記従来の問題を解消できる。
【００７５】
図１７には、属性データ管理部３２による上記チェックポイント情報の更新処理がフローチャートとして示されている。
【００７６】
Ｓ４０１では、新たに最後に排出されたプレートが特定され、チェックポイント情報の「lastDelivered 」の内容が更新される。これについては後の図１８を用いて説明する。Ｓ４０２では、現在のモードが「丁合なし」かつ「部の途中」であるか否かが判定される。「部の途中」とは、中断した時点で当該最後の出力プレートが、要求された部数分だけ出力されていないことを意味する。例えば、「丁合なし」で「出力部数３」の場合、出力順は、例えば１，１，１，２，２，２，３，３，３のようになるが、最後に出力したプレートの部数が３未満の場合には、次に出力すべきプレートは最後に出力したプレートと同じであり、この場合を「部の途中」ということにする。
【００７７】
さて、Ｓ４０２においてＹｅｓであれば、「lastDelivered 」の内容がそのまま「next」に設定される。一方、Ｓ４０２においてＮｏであればＳ４０４において「next」の内容が更新される。これについては後に図１９を用いて説明する。図１８には、上記Ｓ４０１の「lastDelivered 」更新処理がフローチャートとして示されている。
【００７８】
Ｓ５０１では、最後に排出されたプレートのプレートデータ６０（図１１及び図１２参照）が参照される。そのプレートデータ６０には、当該プレートがどのコンテントに含まれるかを示すコンテントＩＤの情報が含まれているため、Ｓ５０２では、そのコンテントＩＤからコンテントデータ５８（図１０参照）が特定され、その内容が参照される。そして、Ｓ５０３では、そのコンテントデータ５８内の「tag 」及び「docID 」の内容がチェックポイント情報の「tag 」及び「docID 」へそれぞれコピーされる。
【００７９】
Ｓ５０４では、最後に出力されたプレートがドキュメントであるかブレークシートであるかが判定され、ブレークシートであれば、Ｓ５０６においてそのコンテントデータに記録されているブレークシートＩＤからブレークシートデータ５６（図９参照）が特定され、Ｓ５０７においてその「bsType」の内容がチェックポイント情報の「bsType」にコピーされる。一方、Ｓ５０４でドキュメントであると判定された場合、Ｓ５０５においてプレートデータ６０の「logicalPage 」の内容がチェックポイント情報の「logicalPage 」にコピーされる。
【００８０】
Ｓ５０８では、丁合モードについて判定され、「丁合あり」であればＳ５０９においてコンテントデータの「copyCount 」の内容がチェックポイント情報の「copyCount 」にコピーされ、「丁合なし」であればＳ５１０においてプレートデータ６０の「plateDelivered」＋１がチェックポイント情報の「copyCount 」にコピーされる。Ｓ５１１では、プレートデータ６０に記憶された「plateCopies 」の内容がチェックポイント情報の「copies」にコピーされる。
【００８１】
図１９には、上記Ｓ４０４の「next」更新処理がフローチャートとして示されている。
【００８２】
Ｓ６０１では、最後に出力されたプレートの次のプレートが存在するか否かが判定される。次のプレートが存在しない場合とは、ジョブに含まれるすべてのプレートのデコンポーズが終了した場合又はマスターデータが複雑であるためにデコンポーズの処理時間が長くかかっている場合である。いずれの場合でも、この実施形態では、Ｓ６０９及びＳ６１０において、「lastDelivered 」の内容が「next」にコピーされ、また「logicalPage 」に１が加えられる。もちろん、他の方法も利用可能である。
【００８３】
Ｓ６０１において、次のプレートが存在すると判定された場合、Ｓ６０２において、当該次のプレートのプレートデータ６２が参照されて、Ｓ６０３においてそのプレートに対応するコンテントのコンテントデータ５８が参照される。そして、コンテントデータ５８の「tag 」及び「docID 」の内容がチェックポイント情報の「tag 」及び「docID 」へコピーされる。
【００８４】
Ｓ６０５では、当該次のプレートがドキュメントであるかブレークシートであるかが判定され、ブレークシートであれば、Ｓ６０７においてそのコンテントデータに記録されているブレークシートＩＤからブレークシートデータ５６（図９参照）が特定され、Ｓ６０８においてその「bsType」の内容がチェックポイント情報の「bsType」にコピーされる。一方、Ｓ６０５で当該次のプレートがドキュメントであると判定された場合には、Ｓ６０６においてそのプレートデータ６２の「logicalPage 」の内容がチェックポイント情報の「logicalPage 」にコピーされる。
【００８５】
次に、図２１には、ジョブ処理再開時におけるジョブデータ５２の内容が例示されている。再開ジョブであるため、「resume」にはTRUEが設定され、チェックポイント情報に有効な情報が入っていることが示されている。上述のように、再開ジョブの場合には、このチェックポイント情報が利用されつつ必要な制御が実行され、またジョブ管理構造が再構築される。図２３には、そのジョブ管理構造５１が示されている。この図２１及び図２３に示す例では第３プレート（ドキュメント１の第２ページ）の印刷完了をもって停止が行われ、その次の第４プレートから画像データの生成が開始される。
【００８６】
上記同様に、図２２には、ジョブ処理再開時におけるジョブデータ５２の内容が例示されている。このジョブも再開ジョブであり、「resume」にはTRUEが設定されている。図２４には、そのジョブ管理構造５１が示されている。この図２２及び図２４に示す例では、第１１プレート（ドキュメント２の第１ページ）の印刷完了をもって停止が行われ、その次の第１２プレートから画像データの生成が再開される。従来においては、中断ページ情報のみが利用されていたため、再開時にドキュメント２についてのデコンポーズの試行がなされていたが、この実施形態によれば、再開ページ情報の利用によって、再開時にドキュメント２の次のエンドシートからデコンポーズを行うことができる。
【００８７】
【発明の効果】
以上説明したように、本発明によれば、ジョブ処理の再開時に無駄な処理を排除してジョブ処理を迅速に行うことができ、特に、本発明によれば、１ジョブマルチドキュメントの場合や複数部数を丁合ありで印刷するような場合において、ドキュメントの切目でジョブ処理が中断した場合でも、無駄なデコンポーズが行われずに効率的なジョブ処理を行えるという利点がある。
【図面の簡単な説明】
【図１】  本発明に係るプリンティングシステムの構成を示す図である。
【図２】  本発明に係るプリントサーバーの構成例を示す機能ブロック図である。
【図３】  画像形成処理と画像転送処理との関係を示すタイミングチャートである。
【図４】  属性管理テーブルの具体的な構造を示す図である。
【図５】  属性管理構造の概念を示す図である。
【図６】  属性管理構造の概念を示す図である。
【図７】  ジョブデータの具体例を示す図である。
【図８】  ドキュメントデータの具体例を示す図である。
【図９】  ブレークシートデータの具体例を示す図である。
【図１０】  コンテントデータの具体例を示す図である。
【図１１】  プレート保持キューの構成を示す図である。
【図１２】  プレートアトリビュートの具体例を示す図である。
【図１３】  ジョブ管理構造を示す図である。
【図１４】  属性データ設定部の要求受付処理を示すフローチャートである。
【図１５】  プリント制御部を示すフローチャートである。
【図１６】  画像処理部の処理を示すフローチャートである。
【図１７】  チェックポイント情報の更新処理を示すフローチャートである。
【図１８】  チェックポイント情報の更新処理を示すフローチャートである。
【図１９】  チェックポイント情報の更新処理を示すフローチャートである。
【図２０】  チェックポイント情報の具体例を示す図である。
【図２１】  ジョブデータの具体例を示す図である。
【図２２】  ジョブデータの具体例を示す図である。
【図２３】  ジョブ管理構造の例を示す図である。
【図２４】  ジョブ管理構造の例を示す図である。
【符号の説明】
１２  プリントサーバー、１４  クライアント、１６  プリンタ、２０  要求受付部、２２  スプーリング／スケジューリング部、２４  ジョブ実行部、２６属性データ設定部、２８  画像処理部、３０  プリンタ制御部、３２  属性データ管理部、５１  ジョブ管理構造、５２  ジョブデータ、５４  ドキュメントデータ、５６  ブレークシートデータ、５８  コンテントデータ、６０  プレートデータ、６２  プレート保持キュー。
【図１】
0003680459.tif 000002
【図２】
0003680459.tif 000003
【図３】
0003680459.tif 000004
【図４】
0003680459.tif 000005
【図５】
0003680459.tif 000006
【図６】
0003680459.tif 000007
【図７】
0003680459.tif 000008
【図８】
0003680459.tif 000009
【図９】
0003680459.tif 000010
【図１０】
0003680459.tif 000011
【図１１】
0003680459.tif 000012
【図１２】
0003680459.tif 000013
【図１３】
0003680459.tif 000014
【図１４】
0003680459.tif 000015
【図１５】
0003680459.tif 000016
【図１６】
0003680459.tif 000017
【図１７】
0003680459.tif 000018
【図１８】
0003680459.tif 000019
【図１９】
0003680459.tif 000020
【図２０】
0003680459.tif 000021
【図２１】
0003680459.tif 000022
【図２２】
0003680459.tif 000023
【図２３】
0003680459.tif 000024
【図２４】
0003680459.tif 000025