(57)【要約】【課題】印刷装置の生産性を低下させることなく、少なくとも一方が印刷ジョブである２つのジョブを効率よく並列処理することができる印刷制御装置を提供する。【解決手段】本発明の印刷制御装置は、ジョブを実行して得られる画像データに基づく画像を印刷装置により印刷出力することを処理内容とする印刷ジョブと、他のジョブとを認識する認識部と、印刷装置の状態に基づいて、ジョブを実行するために用いられるリソースのうち印刷ジョブの実行に割り当てられるリソースの量を算出する算出部と、算出部により算出された量のリソースにより印刷ジョブを実行し、残りのリソースにより他のジョブを実行するための制御を行う制御部と、を有する。【選択図】図８
2012215995.tif 000002
【特許請求の範囲】
【請求項１】
ジョブを実行して得られる画像データに基づく画像を印刷装置により印刷出力することを処理内容とする印刷ジョブと、他のジョブとを認識する認識部と、
前記印刷装置の状態に基づいて、ジョブを実行するために用いられるリソースのうち前記印刷ジョブの実行に割り当てられるリソースの量を算出する算出部と、
前記算出部により算出された量のリソースにより前記印刷ジョブを実行し、残りのリソースにより前記他のジョブを実行するための制御を行う制御部と、
を有することを特徴とする印刷制御装置。
【請求項２】
前記算出部は、前記印刷装置の印刷速度を維持したまま前記画像の印刷出力が行われるように、前記リソースの量を算出することを特徴とする請求項１に記載の印刷制御装置。
【請求項３】
前記他のジョブは、ジョブを実行して得られる画像データに基づく画像を印刷装置により印刷出力することなく保存または出力することを処理内容とするジョブであることを特徴とする請求項１または２に記載の印刷制御装置。
【請求項４】
前記他のジョブの実行中に前記印刷ジョブが認識された場合、前記算出部は、前記リソースの量を算出し、前記制御部は、前記制御を行うことを特徴とする請求項１〜３のいずれか１項に記載の印刷制御装置。
【請求項５】
前記他のジョブの実行中に前記印刷ジョブが認識された場合に前記制御を行うことを設定する設定部をさらに有し、
前記制御を行うことが設定されている場合、前記制御が行われ、前記制御を行うことが設定されていない場合、前記制御が行われることなく、前記他のジョブの実行が継続されることを特徴とする請求項４に記載の印刷制御装置。
【請求項６】
前記算出部は、前記印刷装置による印刷出力が完了していない印刷待ちの画像データのページ数が変化する度に、または所定時間が経過する度に、前記リソースの量を算出し、
前記制御部は、前記画像データのページ数が変化する度または所定時間が経過する度に算出される前記リソースの量に基づいて、前記制御を行うことを特徴とする請求項１〜５のいずれか１項に記載の印刷制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のジョブを並列処理する印刷制御装置に関する。
【背景技術】
【０００２】
近年、印刷処理の高速化の見地から、プリンタコントローラのブレードサーバ化が実現されている。ブレードサーバ化されたプリンタコントローラによれば、印刷ジョブのラスタライズ処理（Ｒａｓｔｅｒ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓ：以下、ＲＩＰ処理と称する）を複数のブレード装置により分散して実行することができる。
【０００３】
ところで、プリンタコントローラが処理するジョブには、ジョブのＲＩＰ処理により得られた画像データに基づく画像をプリンタ（エンジン）により印刷出力することを処理内容とする印刷ジョブと、ジョブのＲＩＰ処理により得られた画像データをハードディスク等の記憶部に記憶することを処理内容とするストアジョブとが存在する。
【０００４】
通常、プリンタコントローラにおいて、印刷ジョブの実行中にストアジョブが受信された場合、印刷ジョブのＲＩＰ処理が完了した後、ストアジョブのＲＩＰ処理が開始される。したがって、たとえば、大量ページの印刷ジョブの実行中にストアジョブが受信された場合、ストアジョブのＲＩＰ処理がなかなか開始されず、ストアジョブが完了するまでに時間がかかるという問題がある。
【０００５】
これに関連する技術として、ジョブの分散処理に用いられるリソースを分配し、２つのジョブを並列に処理する技術が知られている（たとえば、特許文献１参照）。この技術によれば、印刷ジョブの実行中にストアジョブが受信された場合であっても、印刷ジョブの完了を待つことなくストアジョブのＲＩＰ処理を開始することができるため、ストアジョブが完了するまでにかかる時間が短縮される。
【０００６】
しかしながら、この技術では、多くのリソースがストアジョブに分配された場合、印刷ジョブのＲＩＰ処理速度が低下し、プリンタの印刷速度（ＰＰＭ：Ｐｒｉｎｔ  Ｐｅｒ  Ｍｉｎｕｔｅ）に追いつかず、プリンタの生産性が低くなってしまうという問題がある。
【０００７】
なお、生産性とは、エンジンＰＰＭに対して、プリンタコントローラのエンジン送信速度の割合である。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００６−２５２２９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明は、上述した課題に鑑みてなされたものである。したがって、本発明の目的は、印刷装置の生産性を低下させることなく、少なくとも一方が印刷ジョブである２つのジョブを効率よく並列処理することができる印刷制御装置を提供することである。
【課題を解決するための手段】
【００１０】
本発明の上記目的は、下記の手段によって達成される。
【００１１】
（１）ジョブを実行して得られる画像データに基づく画像を印刷装置により印刷出力することを処理内容とする印刷ジョブと、他のジョブとを認識する認識部と、前記印刷装置の状態に基づいて、ジョブを実行するために用いられるリソースのうち前記印刷ジョブの実行に割り当てられるリソースの量を算出する算出部と、前記算出部により算出された量のリソースにより前記印刷ジョブを実行し、残りのリソースにより前記他のジョブを実行するための制御を行う制御部と、を有することを特徴とする印刷制御装置。
【００１２】
（２）前記算出部は、前記印刷装置の印刷速度を維持したまま前記画像の印刷出力が行われるように、前記リソースの量を算出することを特徴とする上記（１）に記載の印刷制御装置。
【００１３】
（３）前記他のジョブは、ジョブを実行して得られる画像データに基づく画像を印刷装置により印刷出力することなく保存または出力することを処理内容とするジョブであることを特徴とする上記（１）または（２）に記載の印刷制御装置。
【００１４】
（４）前記他のジョブの実行中に前記印刷ジョブが認識された場合、前記算出部は、前記リソースの量を算出し、前記制御部は、前記制御を行うことを特徴とする上記（１）〜（３）のいずれか１つに記載の印刷制御装置。
【００１５】
（５）前記他のジョブの実行中に前記印刷ジョブが認識された場合に前記制御を行うことを設定する設定部をさらに有し、前記制御を行うことが設定されている場合、前記制御が行われ、前記制御を行うことが設定されていない場合、前記制御が行われることなく、前記他のジョブの実行が継続されることを特徴とする上記（４）に記載の印刷制御装置。
【００１６】
（６）前記算出部は、前記印刷装置による印刷出力が完了していない印刷待ちの画像データのページ数が変化する度に、または所定時間が経過する度に、前記リソースの量を算出し、前記制御部は、前記画像データのページ数が変化する度または所定時間が経過する度に算出される前記リソースの量に基づいて、前記制御を行うことを特徴とする上記（１）〜（５）のいずれか１つに記載の印刷制御装置。
【発明の効果】
【００１７】
本発明によれば、印刷装置の状態に基づいて、ジョブの実行に用いられるリソースの量が変更されるため、印刷装置の生産性を低下させることなく、２つのジョブを効率よく並列処理できる。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施形態に係る印刷システムの全体構成を示すブロック図である。
【図２】図１に示されるＰＣの構成を示すブロック図である。
【図３】図１に示されるプリンタコントローラのマスタ装置の構成を示すブロック図である。
【図４】図１に示されるプリンタコントローラのスレーブ装置の構成を示すブロック図である。
【図５】図１に示されるプリンタの構成を示すブロック図である。
【図６】図１に示されるマスタ装置により実行される分散処理の手順を示すフローチャートである。
【図７】図６に後続するフローチャートである。
【図８】図７のステップＳ１１９に示されるジョブ並列処理の手順を示すフローチャートである。
【図９】マスタ装置およびスレーブ装置により実行されるＲＩＰ処理の手順を示すフローチャートである。
【図１０】印刷ジョブの実行中にストアジョブが受信された場合の滞留ページ数の変化を示す図である。
【図１１】ジョブ並列処理の効果を説明するための図である。
【発明を実施するための形態】
【００１９】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【００２０】
図１は、本発明の一実施形態に係る印刷システムの全体構成を示すブロック図である。
【００２１】
本実施形態に係る印刷システムは、クライアント装置としてのＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）１ａ，１ｂと、印刷制御装置としてのプリンタコントローラ５と、印刷装置としてのプリンタ４とを備えている。ＰＣ１ａ，１ｂおよびプリンタコントローラ５は、ネットワーク６を介して相互に通信可能に接続されている。ネットワーク６は、イーサネット（登録商標）、トークンリング、ＦＤＤＩ（Ｆｉｂｅｒ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｄａｔａ  Ｉｎｔｅｒｆａｃｅ）等の規格によりコンピュータやネットワーク機器同士を接続したＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、あるいはＬＡＮ同士を専用線で接続したＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等からなる。プリンタコントローラ５は、ブレードサーバであり、マスタ装置２と複数のスレーブ装置３ａ〜３ｃとを備える。マスタ装置２および複数のスレーブ装置３ａ〜３ｃは、ブレード装置として、ＬＡＮ等のネットワークを介して相互に通信可能に接続されている。また、マスタ装置２は、専用回線を介して、プリンタ４とローカル接続されている。なお、ネットワーク６に接続される機器の種類および台数は、図１に示す例に限定されない。
【００２２】
図２は、図１に示されるＰＣの構成を示すブロック図である。ＰＣ１ａ，１ｂは、相互に同様の構成であるため、以下、ＰＣ１ａを代表として用いて説明する。
【００２３】
ＰＣ１ａは、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３、ハードディスク１４、ディスプレイ１５、入力装置１６、およびネットワークインタフェース１７を含み、これらは信号をやり取りするためのバス１８を介して相互に接続されている。
【００２４】
ＣＰＵ１１は、プログラムにしたがって上記各部の制御や各種の演算処理を行う。ＲＯＭ１２は、各種プログラムや各種データを格納する。ＲＡＭ１３は、作業領域として一時的にプログラムやデータを記憶する。ハードディスク１４は、オペレーティングシステム（ＯＳ）を含む各種プログラムや、各種データを格納する。ハードディスク１４には、文書ファイルを作成するための文書ファイル作成アプリケーションと、文書ファイルをプリンタコントローラ５が解釈可能なページ記述言語（ＰＤＬ）で記述された印刷データに変換するプリンタドライバとがインストールされている。
【００２５】
ディスプレイ１５は、たとえば、液晶ディスプレイであり、各種の情報を表示する。入力装置１６は、マウス等のポインティングデバイス、およびキーボードを含み、各種の入力を行うために使用される。ネットワークインタフェース１７は、ネットワーク６を介し他の機器と通信するためのインタフェースであり、イーサネット（登録商標）、トークンリング、ＦＤＤＩ等の規格が用いられる。
【００２６】
図３は、図１に示されるプリンタコントローラのマスタ装置の構成を示すブロック図である。
【００２７】
マスタ装置２は、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、ハードディスク２４、プリンタインタフェース２５、およびネットワークインタフェース２６を備えており、これらは信号をやり取りするためのバス２７を介して相互に接続されている。なお、マスタ装置２の上記各部のうち、ＰＣ１ａの上記各部と同様の機能を有する部分については、説明の重複を避けるためその説明を省略する。
【００２８】
ハードディスク２４には、印刷ジョブの実行に割り当てられるブレード装置の数を算出するためのプログラム、算出された数のブレード装置に印刷ジョブを実行させ、残りのブレード装置にストアジョブを実行させるための制御を行うプログラム、および印刷ジョブのデータを翻訳しビットマップ形式の画像データに展開するためのＲＩＰ処理プログラムが格納されている。
【００２９】
プリンタインタフェース２５は、ローカル接続されたプリンタ４と通信するためのインタフェースである。
【００３０】
図４は、図１に示されるプリンタコントローラのスレーブ装置の構成を示すブロック図である。スレーブ装置３ａ〜３ｃは、相互に同様の構成であるため、以下、スレーブ装置３ａを代表として用いて説明する。
【００３１】
スレーブ装置３ａは、ＣＰＵ３１、ＲＯＭ３２、ＲＡＭ３３、ハードディスク３４、およびネットワークインタフェース３５を備えており、これらは信号をやり取りするためのバス３６を介して相互に接続されている。なお、スレーブ装置３ａの上記各部のうち、ＰＣ１ａの上記各部と同様の機能を有する部分については、説明の重複を避けるためその説明を省略する。
【００３２】
ハードディスク３４には、マスタ装置２から受信したデータを翻訳しビットマップ形式の画像データに展開するためのＲＩＰ処理プログラムおよび画像データをマスタ装置２に送信するためのプログラムが格納されている。
【００３３】
図５は、図１に示されるプリンタの構成を示すブロック図である。プリンタ４は、ＣＰＵ４１、ＲＯＭ４２、ＲＡＭ４３、操作パネル部４４、印刷部４５、およびコントローラインタフェース４６を備えており、これらは信号をやり取りするためのバス４７を介して相互に接続されている。なお、プリンタ４の上記各部のうち、ＰＣ１ａの上記各部と同様の機能を有する部分については、説明の重複を避けるためその説明を省略する。
【００３４】
ＲＯＭ４２には、プリンタコントローラ５から受信した画像データに基づいて行われる印刷出力処理のプログラムが格納されている。
【００３５】
操作パネル部４４は、タッチパネル、テンキー、スタートボタン、ストップボタン等を備えており、各種情報の表示および各種指示の入力に使用される。
【００３６】
印刷部４５は、電子写真式プロセス等の周知の作像プロセスを用いて、プリンタコントローラ５から受信した画像データに基づく画像を用紙等の記録媒体に印刷する。コントローラインタフェース４６は、ローカル接続されたプリンタコントローラ５と通信するためのインタフェースである。
【００３７】
ＰＣ１ａ，１ｂ、マスタ装置２、スレーブ装置３ａ〜３ｃ、およびプリンタ４は、上記構成要素以外の構成要素を含んでいてもよく、あるいは、上記構成要素のうちの一部が含まれていなくてもよい。
【００３８】
以上のとおり構成される本実施形態の印刷システムでは、印刷ジョブとストアジョブの２つのジョブが複数のブレード装置により並列処理される。ここで、印刷ジョブは、ＲＩＰ処理後の画像データに基づく画像をプリンタにより印刷出力することを処理内容とするジョブであり、ストアジョブは、ＲＩＰ処理後の画像データをハードディスクに格納することを処理内容とするジョブである。
【００３９】
以下、図６〜図１１を参照して、本実施形態における印刷システムの動作について説明する。なお、本実施形態では、マスタ装置２は、スレーブ装置３ａ〜３ｃとともにＲＩＰ処理を実行するように構成されている。しかしながら、本実施形態とは異なり、マスタ装置は、ＲＩＰ処理を実行することなく、複数のスレーブ装置の制御のみを行ってもよい。
【００４０】
図６および図７は、図１に示されるマスタ装置により実行される分散処理の手順を示すフローチャートである。なお、図６および図７のフローチャートにより示されるアルゴリズムは、マスタ装置２のハードディスク２４にプログラムとして記憶されており、ＣＰＵ２１によって実行される。
【００４１】
まず、ジョブが受信される（ステップＳ１０１）。本実施形態では、たとえば、ＰＣ１ａから送信されたジョブが受信される。
【００４２】
続いて、すべてのブレード装置にＲＩＰ要求が送信される（ステップＳ１０２）。本実施形態では、ステップＳ１０１に示す処理で受信されたジョブの１ページ目〜４ページ目のデータ（ＰＤＬデータ）が各ブレード装置に送信され、ＲＩＰ処理の実行が指示される。データを受信したブレード装置は、ＲＩＰ処理の実行を開始する。各ブレード装置がＲＩＰ処理を完了するまでに必要とされる時間は、ページの内容に応じて異なる。ＲＩＰ処理を完了したブレード装置は、ＲＩＰ処理を実行して得られた画像データとＲＩＰ完了通知とをマスタ装置２に送信する。なお、上述したとおり、本実施形態のマスタ装置２は、スレーブ装置３ａ〜３ｃとともにＲＩＰ処理を実行する。したがって、マスタ装置２がブレード装置にＲＩＰ要求を送信する処理には、マスタ装置２が自機に対してＲＩＰ要求を発行する処理が含まれ、ブレード装置がマスタ装置にＲＩＰ完了通知を送信する処理には、マスタ装置２が自機に対してＲＩＰ完了通知を発行する場合が含まれる。
【００４３】
続いて、ＲＩＰ完了通知を受信したか否かが判断される（ステップＳ１０３）。本実施形態では、複数のブレード装置（マスタ装置２およびスレーブ装置３ａ〜３ｃ）のうちの１つのブレード装置から、ＲＩＰ完了通知を受信したか否かが判断される。ＲＩＰ完了通知を受信していないと判断される場合（ステップＳ１０３：ＮＯ）、ＲＩＰ完了通知を受信するまで待機する。
【００４４】
一方、ＲＩＰ完了通知を受信したと判断される場合（ステップＳ１０３：ＹＥＳ）、ジョブがストアジョブであるか否かが判断される（ステップＳ１０４）。本実施形態では、現在実行中のジョブが、ストアジョブであるか、印刷ジョブであるかが判断される。
【００４５】
ジョブがストアジョブであると判断される場合（ステップＳ１０４：ＹＥＳ）、画像データがハードディスク２４に格納される（ステップＳ１０５）。本実施形態では、ステップＳ１０３に示す処理でＲＩＰ完了通知とともに受信された画像データが、プリンタ４に転送されることなく、ハードディスク２４に記憶される。
【００４６】
一方、ジョブがストアジョブでないと判断される場合（ステップＳ１０４：ＮＯ）、ジョブが印刷ジョブであるとして、画像データがプリンタ４に転送される（ステップＳ１０６）。本実施形態では、ステップＳ１０３に示す処理でＲＩＰ完了通知とともに受信された画像データが、プリンタ４に転送される。画像データを受信したプリンタ４は、印刷出力処理を実行中でない場合には、受信した画像データに基づく画像を用紙上に印刷する。一方、印刷出力処理を実行中の場合には、プリンタ４は、受信した画像データをＲＡＭ４３に記憶する。
【００４７】
続いて、ＲＩＰ済みページ数Ｐｒｅが加算され、かつ、残ページ数Ｐｒが更新される（ステップＳ１０７）。本実施形態では、現在実行中のジョブについて、ＲＩＰ処理が完了したページ数を示すＲＩＰ済みページ数Ｐｒｅが「１」増加され、ＲＩＰ処理が未完了のページ数を示す残ページ数Ｐｒが「１」減少される。
【００４８】
続いて、残りのページがあるか否かが判断される（ステップＳ１０８）。本実施形態では、ステップＳ１０７に示す処理で更新された残ページ数に基づいて、現在実行中のジョブにＲＩＰ処理が未完了であるページがあるか否かが判断される。
【００４９】
残りのページがあると判断される場合（ステップＳ１０８：ＹＥＳ）、新規ジョブの受信があるか否かが判断される（ステップＳ１０９）。本実施形態では、ジョブの実行中に、新規ジョブが受信されたか否かが判断される。新規ジョブの受信があると判断される場合（ステップＳ１０９：ＹＥＳ）、図７のステップＳ１１３に示す処理に移行する。
【００５０】
一方、新規ジョブの受信がないと判断される場合（ステップＳ１０９：ＮＯ）、ＲＩＰ完了ブレード装置にＲＩＰ要求が送信され（ステップＳ１１０）、ステップＳ１０３の処理に戻る。本実施形態では、ステップＳ１０３に示す処理で受信されたＲＩＰ完了通知の送信元であるブレード装置に次のページのデータが送信され、ＲＩＰ処理の実行が指示される。たとえば、ＲＩＰ完了通知の送信元であるブレード装置に５ページ目のデータが送信される。
【００５１】
一方、ステップＳ１０８に示す処理において、残りのページがないと判断される場合（ステップＳ１０８：ＮＯ）、ジョブが完了したとして、待ち行列にジョブがあるか否かが判断される（ステップＳ１１１）。本実施形態では、ＲＡＭ２３に実行待ちのジョブが格納されているか否かが判断される。
【００５２】
待ち行列にジョブがないと判断される場合（ステップＳ１１１：ＮＯ）、処理が終了される。一方、待ち行列にジョブがあると判断される場合（ステップＳ１１１：ＹＥＳ）、待ち行列から先頭ジョブが読み出され（ステップＳ１１２）、ステップＳ１０２の処理に戻る。その結果、複数のブレード装置により、待ち行列の先頭ジョブの実行が新たに開始される。
【００５３】
以上のとおり、図６のステップＳ１０１〜Ｓ１１２に示す処理によれば、１つのジョブの各ページのＲＩＰ処理が複数のブレード装置により分散して実行される。１つのジョブが印刷ジョブである場合、ＲＩＰ処理により得られた画像データがプリンタ４に送信される。一方、ジョブがストアジョブである場合、ＲＩＰ処理により得られた画像データがマスタ装置２のハードディスク２４に記憶される。
【００５４】
一方、ステップＳ１０９に示す処理において、新規ジョブの受信があると判断される場合（ステップＳ１０９：ＹＥＳ）、実行中のジョブが印刷ジョブであるか否かが判断される（図７のステップＳ１１３）。本実施形態では、現在実行中のジョブが印刷ジョブであるか、ストアジョブであるかが判断される。
【００５５】
実行中のジョブが印刷ジョブでないと判断される場合（ステップＳ１１３：ＮＯ）、ステップＳ１１５の処理に移行する。一方、実行中のジョブが印刷ジョブであると判断される場合（ステップＳ１１３：ＹＥＳ）、新規ジョブが印刷ジョブであるか否かが判断される（ステップＳ１１４）。本実施形態では、ステップＳ１０９に示す処理で受信されことが認識されたジョブが、印刷ジョブであるか、ストアジョブであるかが判断される。
【００５６】
新規ジョブが印刷ジョブでないと判断される場合（ステップＳ１１４：ＮＯ）、新規ジョブがストアジョブであるとして、ジョブ並列処理が実行される（ステップＳ１１９）。本実施形態では、実行中の印刷ジョブと新規に受信されたストアジョブとを並列処理するジョブ並列処理が実行される。ステップＳ１１９に示されるジョブ並列処理についての詳細な説明は後述する。
【００５７】
一方、ステップＳ１１４に示す処理において、新規ジョブが印刷ジョブであると判断される場合（ステップＳ１１４：ＹＥＳ）、新規ジョブが待ち行列に追加される（ステップＳ１１７）。本実施形態では、実行中のジョブも新規に受信されたジョブも印刷ジョブであり、ジョブ並列処理を行わないとして、新規ジョブが待ち行列に追加される。
【００５８】
そして、ＲＩＰ完了ブレード装置にＲＩＰ要求が送信され（ステップＳ１１８）、ステップＳ１０３の処理に戻る。その結果、複数のブレード装置により、現在実行中のジョブが引き続き処理される。
【００５９】
一方、ステップＳ１１３に示す処理において、実行中のジョブが印刷ジョブでないと判断される場合（ステップＳ１１３：ＮＯ）、新規ジョブが印刷ジョブであるか否かが判断される（ステップＳ１１５）。新規ジョブが印刷ジョブでないと判断される場合（ステップＳ１１５：ＮＯ）、実行中のジョブも新規に受信されたジョブもストアジョブであり、ジョブ並列処理を行わないとして、新規ジョブが待ち行列に追加される（ステップＳ１１７）。そして、ＲＩＰ完了ブレード装置にＲＩＰ要求が送信され（ステップＳ１１８）、ステップＳ１０３の処理に戻る。
【００６０】
一方、新規ジョブが印刷ジョブであると判断される場合（ステップＳ１１５：ＹＥＳ）、プリント優先モードが設定されているか否かが判断される（ステップＳ１１６）。本実施形態では、ストアジョブを実行中に印刷ジョブが受信された場合に、ストアジョブと印刷ジョブとを並列処理する旨を指示するプリント優先モードが設定されているか否かが判断される。
【００６１】
プリント優先モードが設定されていないと判断される場合（ステップＳ１１６：ＮＯ）、ジョブ並列処理を行わないとして、新規ジョブが待ち行列に追加される（ステップＳ１１７）。そして、ＲＩＰ完了ブレード装置にＲＩＰ要求が送信され（ステップＳ１１８）、ステップＳ１０３の処理に戻る。
【００６２】
一方、プリント優先モードが設定されていると判断される場合（ステップＳ１１６：ＹＥＳ）、ジョブ並列処理が実行される（ステップＳ１１９）。本実施形態では、実行中のストアジョブと新規に受信された印刷ジョブとを並列処理するジョブ並列処理が実行される。ジョブ並列処理は、２つのジョブのうちの一方のジョブが完了するまで実行される。ステップＳ１１９に示されるジョブ並列処理についての詳細な説明は後述する。
【００６３】
２つのジョブのうちの一方のジョブが完了してジョブ並列処理が終了すれば、待ち行列にジョブがあるか否かが判断される（ステップＳ１２０）。待ち行列にジョブがないと判断される場合（ステップＳ１２０：ＮＯ）、ＲＩＰ完了ブレード装置にＲＩＰ要求が送信され（ステップＳ１２５）、ステップＳ１０３の処理に戻る。その結果、ジョブ並列処理で完了しなかった他方のジョブが引き続き処理される。
【００６４】
一方、待ち行列にジョブがあると判断される場合（ステップＳ１２０：ＹＥＳ）、実行中のジョブが印刷ジョブであるか否かが判断される（ステップＳ１２１）。本実施形態では、ジョブ並列処理で完了しなかった他方のジョブが、印刷ジョブであるか、ストアジョブであるかが判断される。
【００６５】
実行中のジョブが印刷ジョブであると判断される場合（ステップＳ１２１：ＹＥＳ）、待ち行列にストアジョブがあるか否かが判断される（ステップＳ１２２）。待ち行列にストアジョブがあると判断される場合（ステップＳ１２２：ＹＥＳ）、ジョブ並列処理が再び実行される（ステップＳ１１９）。本実施形態では、実行中の印刷ジョブと待ち行列にあるストアジョブとを並列処理するジョブ並列処理が実行される。
【００６６】
一方、待ち行列にストアジョブがないと判断される場合（ステップＳ１２２：ＮＯ）、ＲＩＰ完了ブレード装置にＲＩＰ要求が送信され（ステップＳ１２５）、ステップＳ１０３の処理に戻る。その結果、ジョブ並列処理で完了しなかった他方のジョブが引き続き処理される。
【００６７】
一方、ステップＳ１２１に示す処理において、実行中のジョブが印刷ジョブでないと判断される場合（ステップＳ１２１：ＮＯ）、待ち行列に印刷ジョブがあるか否かが判断される（ステップＳ１２３）。待ち行列に印刷ジョブがないと判断される場合（ステップＳ１２３：ＮＯ）、ＲＩＰ完了ブレード装置にＲＩＰ要求が送信され（ステップＳ１２５）、ステップＳ１０３の処理に戻る。その結果、ジョブ並列処理で完了しなかった他方のジョブが引き続き処理される。
【００６８】
一方、待ち行列に印刷ジョブがあると判断される場合（ステップＳ１２３：ＹＥＳ）、プリント優先モードが設定されているか否かが判断される（ステップＳ１２４）。プリント優先モードが設定されていると判断される場合（ステップＳ１２４：ＹＥＳ）、ジョブ並列処理が再び実行される（ステップＳ１１９）。本実施形態では、実行中のストアジョブと待ち行列にある印刷ジョブとを並列処理するジョブ並列処理が実行される。
【００６９】
一方、プリント優先モードが設定されていないと判断される場合（ステップＳ１２４：ＮＯ）、ＲＩＰ完了ブレード装置にＲＩＰ要求が送信され（ステップＳ１２５）、ステップＳ１０３の処理に戻る。その結果、ジョブ並列処理で完了しなかった他方のジョブが引き続き処理される。
【００７０】
以上のとおり、図６および図７に示されるフローチャートの処理によれば、印刷ジョブの実行中にストアジョブが受信された場合、または、ストアジョブの実行中に印刷ジョブが受信され、かつ、プリント優先モードが設定されている場合、印刷ジョブとストアジョブとが並列処理される。このような構成によれば、実行中のジョブの完了を待つことなく、次のジョブの実行が開始されるので、２つのジョブを効率よく処理することができる。
【００７１】
図８は、図７のステップＳ１１９に示されるジョブ並列処理の手順を示すフローチャートである。上述したとおり、ジョブ並列処理では、印刷ジョブとストアジョブとが並列処理される。
【００７２】
まず、滞留ページ数Ｐｐが取得される（ステップＳ２０１）。本実施形態では、印刷ジョブについて、ブレード装置がＲＩＰ処理を実行して得られた画像データのうちプリンタ４による印刷出力が完了していない印刷待ちの画像データのページ数が、滞留ページ数Ｐｐとして取得される。滞留ページ数Ｐｐは、プリンタ４のＲＡＭ４３に格納されており、プリンタ４から取得される。
【００７３】
続いて、必要リソース量ＢＮＥＥＤが計算される（ステップＳ２０２）。本実施形態では、ステップＳ２０１に示す処理で取得された滞留ページ数Ｐｐに基づいて、印刷ジョブの実行に割り当てられるブレード装置の数が算出される。必要リソース量ＢＮＥＥＤは、下記の４つの数式に基づいて算出される。
【００７４】
ＢＮＥＥＤ＝ＢＡＬＬ−（Ｐｐ−ＢＴＨ）  …（１１）    （Ｐｐ＞ＢＴＨの場合）
ＢＮＥＥＤ＝ＢＡＬＬ  …（１２）    （Ｐｐ≦ＢＴＨの場合）
ＢＮＥＥＤ＝Ｐｒ  …（２１）    （ＢＮＥＥＤ＞Ｐｒの場合）
ＢＮＥＥＤ＝ＢＮＥＥＤ  …（２２）    （ＢＮＥＥＤ≦Ｐｒの場合）
ここで、ＢＡＬＬは、プリンタコントローラ５を構成するブレード装置の総数（すなわち、４）である。また、ＢＴＨは、所定の閾値であり、並列処理の実行中に印刷待ちの画像データがなくならないように所定の値（たとえば、２）に設定される。また、上述したとおり、Ｐｐは、滞留ページ数であり、Ｐｒは、ジョブの残ページ数である。
【００７５】
滞留ページ数Ｐｐは、下記の（３）式に基づいて算出される。
【００７６】
Ｐｐ＝Ｐｃｅ−Ｐｅｅ  …（３）
ここで、Ｐｃｅは、マスタ装置２からプリンタ４に転送された画像データのページ数であり、Ｐｅｅは、プリンタ４により画像データに基づく画像の印刷出力が完了した排紙済みのページ数である。
【００７７】
また、残ページ数Ｐｒは、下記の（４）式に基づいて算出される。
【００７８】
Ｐｒ＝Ｐｊ−Ｐｒｅ  …（４）
ここで、Ｐｊは、ジョブの総ページ数であり、Ｐｒｅは、ジョブのＲＩＰ済みページ数である。
【００７９】
つまり、本実施形態のジョブ並列処理では、滞留ページ数Ｐｐが閾値ＢＴＨよりも多い場合、閾値ＢＴＨを超えたページ数をブレード装置の総数ＢＡＬＬから差し引いた数が、必要リソース量ＢＮＥＥＤとして算出される。一方、滞留ページ数Ｐｐが閾値ＢＴＨ以下の場合、ブレード装置の総数ＢＡＬＬ（すなわち、４）が、必要リソース量ＢＮＥＥＤとして算出される。また、必要リソース量ＢＮＥＥＤは、ジョブの残りのページ数に応じて調整される。
【００８０】
ステップＳ２０２に示す処理において必要リソース量ＢＮＥＥＤが計算されれば、計算結果に応じて、ＲＩＰ完了ブレード装置にＲＩＰ要求が送信される（ステップＳ２０３）。たとえば、必要リソース量ＢＮＥＥＤがブレード装置の総数ＢＡＬＬである場合には、すべてのブレード装置が印刷ジョブを実行するように、ＲＩＰ完了ブレード装置に印刷ジョブのデータが送信される。一方、必要リソース量ＢＮＥＥＤがブレード装置の総数未満の所定の値の場合には、必要リソース量ＢＮＥＥＤが示す数のブレード装置が印刷ジョブを実行し、残りのブレード装置がストアジョブを実行するように、ＲＩＰ完了ブレード装置に印刷ジョブまたはストアジョブのデータが送信される。
【００８１】
続いて、１ページの印刷出力が完了したか否かが判断される（ステップＳ２０４）。本実施形態では、プリンタ４により１ページの画像データに基づく画像が用紙上に印刷されたか否かが判断される。
【００８２】
１ページの印刷出力が完了していないと判断される場合（ステップＳ２０４：ＮＯ）、ステップＳ２０７の処理に移行する。一方、１ページの印刷出力が完了したと判断される場合（ステップＳ２０４：ＹＥＳ）、滞留ページ数Ｐｐが取得され、必要リソース量ＢＮＥＥＤが再計算される（ステップＳ２０５，Ｓ２０６）。
【００８３】
続いて、ＲＩＰ完了通知を受信したか否かが判断される（ステップＳ２０７）。ＲＩＰ完了通知を受信していないと判断される場合（ステップＳ２０７：ＮＯ）、ＲＩＰ完了通知を受信するまで待機する。一方、ＲＩＰ完了通知を受信したと判断される場合（ステップＳ２０７：ＹＥＳ）、ＲＩＰ処理が完了されたジョブがストアジョブであるか否かが判断される（ステップＳ２０８）。
【００８４】
ジョブがストアジョブであると判断される場合（ステップＳ２０８：ＹＥＳ）、画像データがハードディスク２４に格納される（ステップＳ２０９）。一方、ジョブがストアジョブでないと判断される場合（ステップＳ２０８：ＮＯ）、ジョブが印刷ジョブであるとして、画像データがプリンタ４に転送される（ステップＳ２１０）。そして、滞留ページ数Ｐｐが取得され、必要リソース量ＢＮＥＥＤが再計算される（ステップＳ２１１，Ｓ２１２）。
【００８５】
続いて、ＲＩＰ済みページ数Ｐｒｅが加算され、かつ、残ページ数Ｐｒが更新される（ステップＳ２１３）。
【００８６】
続いて、並列処理されている２つのジョブのうち一方が完了したか否かが判断される（ステップＳ２１４）。２つのジョブの一方も完了していないと判断される場合（ステップＳ２１４：ＮＯ）、ステップＳ２０２の処理に戻る。その結果、ＲＩＰ完了ブレード装置に印刷ジョブまたはストアジョブの次のページのＲＩＰ処理が指示される。
【００８７】
一方、２つのジョブの一方が完了したと判断される場合（ステップＳ２１４：ＹＥＳ）、処理が終了される。
【００８８】
以上のとおり、図８に示されるフローチャートの処理によれば、プリンタ４の滞留ページ数Ｐｐに基づいて、印刷ジョブの実行に割り当てられるブレード装置の数が算出され、算出された数のブレード装置が印刷ジョブを実行し、残りのブレード装置がストアジョブを実行するように、分散処理が制御される。また、印刷ジョブの実行に割り当てられるブレード装置の数は滞留ページ数Ｐｐが変化するタイミングで再計算され、再計算結果にしたがって、印刷ジョブを実行するブレード装置とストアジョブを実行するブレード装置の数が変更される。
【００８９】
このような構成によれば、滞留ページ数Ｐｐが所定の閾値ＢＴＨ以上に維持されつつ、印刷ジョブとストアジョブのＲＩＰ処理が同時に実行される。つまり、印刷待ちの画像データがなくならず、プリンタ４の印刷性能（印刷速度）を最大値に維持したまま、印刷ジョブとストアジョブとが並列処理される。たとえば、６０ＰＰＭのプリンタの印刷速度を６０ＰＰＭに維持しつつ、印刷ジョブとストアジョブとが並列処理される。
【００９０】
なお、上述したジョブ並列処理では、滞留ページ数Ｐｐが変化するタイミングを契機として、必要リソース量ＢＮＥＥＤが再計算された。しかしながら、必要リソース量は、所定の時間間隔で再計算されてもよい。あるいは、滞留ページ数Ｐｐが変化するタイミングを契機として必要リソース量を再計算するとともに、所定の時間間隔で再計算が行われてもよい。
【００９１】
図９は、マスタ装置およびスレーブ装置により実行されるＲＩＰ処理の手順を示すフローチャートである。なお、図９のフローチャートにより示されるアルゴリズムは、マスタ装置およびスレーブ装置のハードディスクにプログラムとしてそれぞれ記憶されており、ＣＰＵによって実行される。
【００９２】
まず、ＲＩＰ要求があるか否かが判断される（ステップＳ３０１）。本実施形態では、マスタ装置２からＲＩＰ要求があるか否かが判断される。
【００９３】
ＲＩＰ要求がないと判断される場合（ステップＳ３０１：ＮＯ）、ＲＩＰ要求があるまで待機する。一方、ＲＩＰ要求があると判断される場合（ステップＳ３０１：ＹＥＳ）、ＲＩＰ処理が実行される（ステップＳ３０２）。
【００９４】
そして、ＲＩＰ処理が完了すれば、ＲＩＰ完了通知と１ページの画像データとが送信される（ステップＳ３０３）。
【００９５】
図１０は、印刷ジョブの実行中にストアジョブが受信された場合の滞留ページ数の変化を示す図である。図１０の縦軸は滞留ページ数Ｐｐであり、横軸は時間である。
【００９６】
印刷ジョブ（ジョブＡ）が受信されれば、すべてのブレード装置によりＲＩＰ処理が分散して実行される。また、プリンタ４により、ＲＩＰ処理を実行して得られる画像データに基づく画像の印刷出力が開始される。プリンタコントローラ５のＲＩＰ処理速度がプリンタ４の印刷速度よりも速い場合、時間の経過にしたがって、滞留ページ数Ｐｐは増加する（図１０の領域Ａ参照）。
【００９７】
その後、ストアジョブ（ジョブＢ）が受信されれば、印刷ジョブＡとストアジョブＢの並列処理が開始される。印刷ジョブＡとストアジョブＢの並列処理が開始されれば、一部または全部のブレード装置が、ストアジョブＢのＲＩＰ処理を実行するため、滞留ページ数Ｐｐは減少する（図１０の領域Ｂ参照）。
【００９８】
その後、滞留ページ数Ｐｐが閾値ＢＴＨ以下になった場合には、並列処理が中断され、印刷ジョブＡのみが実行される（図１０の領域Ｃ参照）。
【００９９】
このような構成によれば、滞留ページ数Ｐｐが閾値ＢＴＨ以上に維持されつつ、印刷ジョブとストアジョブとが並列処理される。つまり、プリンタ４の印刷速度を低下させることなく、印刷ジョブとストアジョブとが並列処理される。
【０１００】
図１１は、ジョブ並列処理の効果を説明するための図である。図１１（Ａ）では、印刷ジョブ（ジョブＡ）の実行中に、ストアジョブ（ジョブＢ）が受信された場合のジョブ並列処理を示す。なお、図１１（Ｂ）は、本実施形態のジョブ並列処理を実行しない場合を比較例として示している。図１１に示される１つのマス目は、各ジョブの単位時間あたりの処理量を示し、図１１の横軸は時間である。
【０１０１】
図１１（Ｂ）に示されるとおり、一般的な分散処理では、印刷ジョブＡが完了してから、ストアジョブＢが実行される。したがって、ストアジョブＢが受信されてからストアジョブＢが完了するまでの時間が長くなる。
【０１０２】
一方、図１１（Ａ）に示されるとおり、本実施形態の分散処理では、印刷ジョブＡの実行中にストアジョブＢが受信されれば、印刷待ちの画像データがなくならない範囲で、ブレード装置がストアジョブＢに割り当てられ、ストアジョブＢが実行される。
【０１０３】
したがって、ストアジョブＢが受信されてからストアジョブＢが完了するまでの時間が短縮される。また、印刷待ちの画像データがなくならないため、印刷ジョブＡの完了時間も遅れることがない。
【０１０４】
以上のとおり、本実施形態によれば、プリンタ４の印刷速度を維持しつつ、印刷ジョブとストアジョブが並列処理されるため、印刷システムの生産性を低下させることなく、２つのジョブを効率よく並列処理できる。
【０１０５】
本発明は、上述した実施形態のみに限定されるものではなく、特許請求の範囲内において、種々改変することができる。
【０１０６】
たとえば、上述した実施形態では、印刷ジョブとストアジョブとを並列処理する場合を例に挙げて説明した。しかしながら、印刷ジョブと並列処理されるジョブは、ストアジョブに実行されるものではなく、画像データを電子メールやファクシミリ機能により外部に出力するジョブであってもよい。
【０１０７】
また、プリンタコントローラが２台のプリンタに接続されている場合、２つの印刷ジョブが並列処理されてもよい。この場合、２台のプリンタのうちの一方のプリンタの印刷速度が維持されるように、一方の印刷ジョブに割り当てられるリソースの量が算出される。
【０１０８】
また、上述した実施形態では、プリンタの滞留ページ数に基づいて、必要リソース量が算出された。しかしながら、必要リソース量を算出するためのプリンタ４の状態は滞留ページ数に限定されるものではなく、たとえば、プリンタの印刷速度に基づいて、必要リソース量が算出されてもよい。
【０１０９】
また、上述した実施形態では、ジョブがページ単位で分割され、複数のブレード装置によりＲＩＰ処理が実行される場合を例に挙げて説明した。しかしながら、ＲＩＰ処理が施されるジョブの分割単位は、ページ単位に限定されず、たとえば、オブジェクト単位でＲＩＰ処理が実行されてもよい。
【０１１０】
また、上述した実施形態では、プリンタコントローラがブレードサーバである場合を例に挙げて説明した。しかしながら、プリンタコントローラは、ブレードサーバに限定されるものではなく、複数のコアが内蔵されているマルチＣＰＵを備えたコンピュータであってもよい。この場合、プリンタの状態に基づいて、印刷ジョブの実行に割り当てられるコアの数が変更される。あるいは、プリンタコントローラは、１つのＣＰＵのみを備え、２つのジョブを実行するＣＰＵの利用率が変更されてもよい。
【０１１１】
また、上述した実施形態では、プリンタとローカル接続されているプリンタコントローラによりジョブ並列処理を実行する場合を例に挙げて説明した。しかしながら、ジョブ並列処理は、プリンタおよびプリンタコントローラを内蔵するＭＦＰ（Ｍｕｌｔｉ−Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）等の画像形成装置により実行されてもよい。
【０１１２】
本実施形態に係る印刷制御装置における各種処理を行う手段および方法は、専用のハードウエア回路、またはプログラムされたコンピュータのいずれによっても実現することが可能である。上記プログラムは、たとえば、フレキシブルディスクおよびＣＤ−ＲＯＭ等のコンピュータ読み取り可能な記録媒体によって提供されてもよいし、インターネット等のネットワークを介してオンラインで提供されてもよい。この場合、コンピュータ読み取り可能な記録媒体に記録されたプログラムは、通常、ハードディスク等の記憶部に転送され記憶される。また、上記プログラムは、単独のアプリケーションソフトとして提供されてもよいし、印刷制御装置の一機能としてその装置のソフトウエアに組み込まれてもよい。
【符号の説明】
【０１１３】
１ａ，１ｂ  ＰＣ、
１１，２１，３１，４１  ＣＰＵ、
１２，２２，３２，４２  ＲＯＭ、
１３，２３，３３，４３  ＲＡＭ、
１４，２４，３４  ハードディスク、
１５  ディスプレイ、
１６  入力装置、
１７，２６，３５  ネットワークインタフェース、
１８，２７，３６，４７  バス、
２  マスタ装置、
２５  プリンタインタフェース、
３ａ，３ｂ，３ｃ  スレーブ装置、
４  プリンタ、
４４  操作パネル部、
４５  印刷部、
４６  コントローラインタフェース、
５  プリンタコントローラ、
６  ネットワーク。
【図１】
2012215995.tif 000003
【図２】
2012215995.tif 000004
【図３】
2012215995.tif 000005
【図４】
2012215995.tif 000006
【図５】
2012215995.tif 000007
【図６】
2012215995.tif 000008
【図７】
2012215995.tif 000009
【図８】
2012215995.tif 000010
【図９】
2012215995.tif 000011
【図１０】
2012215995.tif 000012
【図１１】
2012215995.tif 000013