説明

印刷制御装置

【課題】印刷装置の生産性を低下させることなく、少なくとも一方が印刷ジョブである2つのジョブを効率よく並列処理することができる印刷制御装置を提供する。
【解決手段】本発明の印刷制御装置は、ジョブを実行して得られる画像データに基づく画像を印刷装置により印刷出力することを処理内容とする印刷ジョブと、他のジョブとを認識する認識部と、印刷装置の状態に基づいて、ジョブを実行するために用いられるリソースのうち印刷ジョブの実行に割り当てられるリソースの量を算出する算出部と、算出部により算出された量のリソースにより印刷ジョブを実行し、残りのリソースにより他のジョブを実行するための制御を行う制御部と、を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のジョブを並列処理する印刷制御装置に関する。
【背景技術】
【0002】
近年、印刷処理の高速化の見地から、プリンタコントローラのブレードサーバ化が実現されている。ブレードサーバ化されたプリンタコントローラによれば、印刷ジョブのラスタライズ処理(Raster Image Process:以下、RIP処理と称する)を複数のブレード装置により分散して実行することができる。
【0003】
ところで、プリンタコントローラが処理するジョブには、ジョブのRIP処理により得られた画像データに基づく画像をプリンタ(エンジン)により印刷出力することを処理内容とする印刷ジョブと、ジョブのRIP処理により得られた画像データをハードディスク等の記憶部に記憶することを処理内容とするストアジョブとが存在する。
【0004】
通常、プリンタコントローラにおいて、印刷ジョブの実行中にストアジョブが受信された場合、印刷ジョブのRIP処理が完了した後、ストアジョブのRIP処理が開始される。したがって、たとえば、大量ページの印刷ジョブの実行中にストアジョブが受信された場合、ストアジョブのRIP処理がなかなか開始されず、ストアジョブが完了するまでに時間がかかるという問題がある。
【0005】
これに関連する技術として、ジョブの分散処理に用いられるリソースを分配し、2つのジョブを並列に処理する技術が知られている(たとえば、特許文献1参照)。この技術によれば、印刷ジョブの実行中にストアジョブが受信された場合であっても、印刷ジョブの完了を待つことなくストアジョブのRIP処理を開始することができるため、ストアジョブが完了するまでにかかる時間が短縮される。
【0006】
しかしながら、この技術では、多くのリソースがストアジョブに分配された場合、印刷ジョブのRIP処理速度が低下し、プリンタの印刷速度(PPM:Print Per Minute)に追いつかず、プリンタの生産性が低くなってしまうという問題がある。
【0007】
なお、生産性とは、エンジンPPMに対して、プリンタコントローラのエンジン送信速度の割合である。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2006−252298号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
本発明は、上述した課題に鑑みてなされたものである。したがって、本発明の目的は、印刷装置の生産性を低下させることなく、少なくとも一方が印刷ジョブである2つのジョブを効率よく並列処理することができる印刷制御装置を提供することである。
【課題を解決するための手段】
【0010】
本発明の上記目的は、下記の手段によって達成される。
【0011】
(1)ジョブを実行して得られる画像データに基づく画像を印刷装置により印刷出力することを処理内容とする印刷ジョブと、他のジョブとを認識する認識部と、前記印刷装置の状態に基づいて、ジョブを実行するために用いられるリソースのうち前記印刷ジョブの実行に割り当てられるリソースの量を算出する算出部と、前記算出部により算出された量のリソースにより前記印刷ジョブを実行し、残りのリソースにより前記他のジョブを実行するための制御を行う制御部と、を有することを特徴とする印刷制御装置。
【0012】
(2)前記算出部は、前記印刷装置の印刷速度を維持したまま前記画像の印刷出力が行われるように、前記リソースの量を算出することを特徴とする上記(1)に記載の印刷制御装置。
【0013】
(3)前記他のジョブは、ジョブを実行して得られる画像データに基づく画像を印刷装置により印刷出力することなく保存または出力することを処理内容とするジョブであることを特徴とする上記(1)または(2)に記載の印刷制御装置。
【0014】
(4)前記他のジョブの実行中に前記印刷ジョブが認識された場合、前記算出部は、前記リソースの量を算出し、前記制御部は、前記制御を行うことを特徴とする上記(1)〜(3)のいずれか1つに記載の印刷制御装置。
【0015】
(5)前記他のジョブの実行中に前記印刷ジョブが認識された場合に前記制御を行うことを設定する設定部をさらに有し、前記制御を行うことが設定されている場合、前記制御が行われ、前記制御を行うことが設定されていない場合、前記制御が行われることなく、前記他のジョブの実行が継続されることを特徴とする上記(4)に記載の印刷制御装置。
【0016】
(6)前記算出部は、前記印刷装置による印刷出力が完了していない印刷待ちの画像データのページ数が変化する度に、または所定時間が経過する度に、前記リソースの量を算出し、前記制御部は、前記画像データのページ数が変化する度または所定時間が経過する度に算出される前記リソースの量に基づいて、前記制御を行うことを特徴とする上記(1)〜(5)のいずれか1つに記載の印刷制御装置。
【発明の効果】
【0017】
本発明によれば、印刷装置の状態に基づいて、ジョブの実行に用いられるリソースの量が変更されるため、印刷装置の生産性を低下させることなく、2つのジョブを効率よく並列処理できる。
【図面の簡単な説明】
【0018】
【図1】本発明の一実施形態に係る印刷システムの全体構成を示すブロック図である。
【図2】図1に示されるPCの構成を示すブロック図である。
【図3】図1に示されるプリンタコントローラのマスタ装置の構成を示すブロック図である。
【図4】図1に示されるプリンタコントローラのスレーブ装置の構成を示すブロック図である。
【図5】図1に示されるプリンタの構成を示すブロック図である。
【図6】図1に示されるマスタ装置により実行される分散処理の手順を示すフローチャートである。
【図7】図6に後続するフローチャートである。
【図8】図7のステップS119に示されるジョブ並列処理の手順を示すフローチャートである。
【図9】マスタ装置およびスレーブ装置により実行されるRIP処理の手順を示すフローチャートである。
【図10】印刷ジョブの実行中にストアジョブが受信された場合の滞留ページ数の変化を示す図である。
【図11】ジョブ並列処理の効果を説明するための図である。
【発明を実施するための形態】
【0019】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【0020】
図1は、本発明の一実施形態に係る印刷システムの全体構成を示すブロック図である。
【0021】
本実施形態に係る印刷システムは、クライアント装置としてのPC(Personal Computer)1a,1bと、印刷制御装置としてのプリンタコントローラ5と、印刷装置としてのプリンタ4とを備えている。PC1a,1bおよびプリンタコントローラ5は、ネットワーク6を介して相互に通信可能に接続されている。ネットワーク6は、イーサネット(登録商標)、トークンリング、FDDI(Fiber Distributed Data Interface)等の規格によりコンピュータやネットワーク機器同士を接続したLAN(Local Area Network)、あるいはLAN同士を専用線で接続したWAN(Wide Area Network)等からなる。プリンタコントローラ5は、ブレードサーバであり、マスタ装置2と複数のスレーブ装置3a〜3cとを備える。マスタ装置2および複数のスレーブ装置3a〜3cは、ブレード装置として、LAN等のネットワークを介して相互に通信可能に接続されている。また、マスタ装置2は、専用回線を介して、プリンタ4とローカル接続されている。なお、ネットワーク6に接続される機器の種類および台数は、図1に示す例に限定されない。
【0022】
図2は、図1に示されるPCの構成を示すブロック図である。PC1a,1bは、相互に同様の構成であるため、以下、PC1aを代表として用いて説明する。
【0023】
PC1aは、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、ハードディスク14、ディスプレイ15、入力装置16、およびネットワークインタフェース17を含み、これらは信号をやり取りするためのバス18を介して相互に接続されている。
【0024】
CPU11は、プログラムにしたがって上記各部の制御や各種の演算処理を行う。ROM12は、各種プログラムや各種データを格納する。RAM13は、作業領域として一時的にプログラムやデータを記憶する。ハードディスク14は、オペレーティングシステム(OS)を含む各種プログラムや、各種データを格納する。ハードディスク14には、文書ファイルを作成するための文書ファイル作成アプリケーションと、文書ファイルをプリンタコントローラ5が解釈可能なページ記述言語(PDL)で記述された印刷データに変換するプリンタドライバとがインストールされている。
【0025】
ディスプレイ15は、たとえば、液晶ディスプレイであり、各種の情報を表示する。入力装置16は、マウス等のポインティングデバイス、およびキーボードを含み、各種の入力を行うために使用される。ネットワークインタフェース17は、ネットワーク6を介し他の機器と通信するためのインタフェースであり、イーサネット(登録商標)、トークンリング、FDDI等の規格が用いられる。
【0026】
図3は、図1に示されるプリンタコントローラのマスタ装置の構成を示すブロック図である。
【0027】
マスタ装置2は、CPU21、ROM22、RAM23、ハードディスク24、プリンタインタフェース25、およびネットワークインタフェース26を備えており、これらは信号をやり取りするためのバス27を介して相互に接続されている。なお、マスタ装置2の上記各部のうち、PC1aの上記各部と同様の機能を有する部分については、説明の重複を避けるためその説明を省略する。
【0028】
ハードディスク24には、印刷ジョブの実行に割り当てられるブレード装置の数を算出するためのプログラム、算出された数のブレード装置に印刷ジョブを実行させ、残りのブレード装置にストアジョブを実行させるための制御を行うプログラム、および印刷ジョブのデータを翻訳しビットマップ形式の画像データに展開するためのRIP処理プログラムが格納されている。
【0029】
プリンタインタフェース25は、ローカル接続されたプリンタ4と通信するためのインタフェースである。
【0030】
図4は、図1に示されるプリンタコントローラのスレーブ装置の構成を示すブロック図である。スレーブ装置3a〜3cは、相互に同様の構成であるため、以下、スレーブ装置3aを代表として用いて説明する。
【0031】
スレーブ装置3aは、CPU31、ROM32、RAM33、ハードディスク34、およびネットワークインタフェース35を備えており、これらは信号をやり取りするためのバス36を介して相互に接続されている。なお、スレーブ装置3aの上記各部のうち、PC1aの上記各部と同様の機能を有する部分については、説明の重複を避けるためその説明を省略する。
【0032】
ハードディスク34には、マスタ装置2から受信したデータを翻訳しビットマップ形式の画像データに展開するためのRIP処理プログラムおよび画像データをマスタ装置2に送信するためのプログラムが格納されている。
【0033】
図5は、図1に示されるプリンタの構成を示すブロック図である。プリンタ4は、CPU41、ROM42、RAM43、操作パネル部44、印刷部45、およびコントローラインタフェース46を備えており、これらは信号をやり取りするためのバス47を介して相互に接続されている。なお、プリンタ4の上記各部のうち、PC1aの上記各部と同様の機能を有する部分については、説明の重複を避けるためその説明を省略する。
【0034】
ROM42には、プリンタコントローラ5から受信した画像データに基づいて行われる印刷出力処理のプログラムが格納されている。
【0035】
操作パネル部44は、タッチパネル、テンキー、スタートボタン、ストップボタン等を備えており、各種情報の表示および各種指示の入力に使用される。
【0036】
印刷部45は、電子写真式プロセス等の周知の作像プロセスを用いて、プリンタコントローラ5から受信した画像データに基づく画像を用紙等の記録媒体に印刷する。コントローラインタフェース46は、ローカル接続されたプリンタコントローラ5と通信するためのインタフェースである。
【0037】
PC1a,1b、マスタ装置2、スレーブ装置3a〜3c、およびプリンタ4は、上記構成要素以外の構成要素を含んでいてもよく、あるいは、上記構成要素のうちの一部が含まれていなくてもよい。
【0038】
以上のとおり構成される本実施形態の印刷システムでは、印刷ジョブとストアジョブの2つのジョブが複数のブレード装置により並列処理される。ここで、印刷ジョブは、RIP処理後の画像データに基づく画像をプリンタにより印刷出力することを処理内容とするジョブであり、ストアジョブは、RIP処理後の画像データをハードディスクに格納することを処理内容とするジョブである。
【0039】
以下、図6〜図11を参照して、本実施形態における印刷システムの動作について説明する。なお、本実施形態では、マスタ装置2は、スレーブ装置3a〜3cとともにRIP処理を実行するように構成されている。しかしながら、本実施形態とは異なり、マスタ装置は、RIP処理を実行することなく、複数のスレーブ装置の制御のみを行ってもよい。
【0040】
図6および図7は、図1に示されるマスタ装置により実行される分散処理の手順を示すフローチャートである。なお、図6および図7のフローチャートにより示されるアルゴリズムは、マスタ装置2のハードディスク24にプログラムとして記憶されており、CPU21によって実行される。
【0041】
まず、ジョブが受信される(ステップS101)。本実施形態では、たとえば、PC1aから送信されたジョブが受信される。
【0042】
続いて、すべてのブレード装置にRIP要求が送信される(ステップS102)。本実施形態では、ステップS101に示す処理で受信されたジョブの1ページ目〜4ページ目のデータ(PDLデータ)が各ブレード装置に送信され、RIP処理の実行が指示される。データを受信したブレード装置は、RIP処理の実行を開始する。各ブレード装置がRIP処理を完了するまでに必要とされる時間は、ページの内容に応じて異なる。RIP処理を完了したブレード装置は、RIP処理を実行して得られた画像データとRIP完了通知とをマスタ装置2に送信する。なお、上述したとおり、本実施形態のマスタ装置2は、スレーブ装置3a〜3cとともにRIP処理を実行する。したがって、マスタ装置2がブレード装置にRIP要求を送信する処理には、マスタ装置2が自機に対してRIP要求を発行する処理が含まれ、ブレード装置がマスタ装置にRIP完了通知を送信する処理には、マスタ装置2が自機に対してRIP完了通知を発行する場合が含まれる。
【0043】
続いて、RIP完了通知を受信したか否かが判断される(ステップS103)。本実施形態では、複数のブレード装置(マスタ装置2およびスレーブ装置3a〜3c)のうちの1つのブレード装置から、RIP完了通知を受信したか否かが判断される。RIP完了通知を受信していないと判断される場合(ステップS103:NO)、RIP完了通知を受信するまで待機する。
【0044】
一方、RIP完了通知を受信したと判断される場合(ステップS103:YES)、ジョブがストアジョブであるか否かが判断される(ステップS104)。本実施形態では、現在実行中のジョブが、ストアジョブであるか、印刷ジョブであるかが判断される。
【0045】
ジョブがストアジョブであると判断される場合(ステップS104:YES)、画像データがハードディスク24に格納される(ステップS105)。本実施形態では、ステップS103に示す処理でRIP完了通知とともに受信された画像データが、プリンタ4に転送されることなく、ハードディスク24に記憶される。
【0046】
一方、ジョブがストアジョブでないと判断される場合(ステップS104:NO)、ジョブが印刷ジョブであるとして、画像データがプリンタ4に転送される(ステップS106)。本実施形態では、ステップS103に示す処理でRIP完了通知とともに受信された画像データが、プリンタ4に転送される。画像データを受信したプリンタ4は、印刷出力処理を実行中でない場合には、受信した画像データに基づく画像を用紙上に印刷する。一方、印刷出力処理を実行中の場合には、プリンタ4は、受信した画像データをRAM43に記憶する。
【0047】
続いて、RIP済みページ数Preが加算され、かつ、残ページ数Pが更新される(ステップS107)。本実施形態では、現在実行中のジョブについて、RIP処理が完了したページ数を示すRIP済みページ数Preが「1」増加され、RIP処理が未完了のページ数を示す残ページ数Pが「1」減少される。
【0048】
続いて、残りのページがあるか否かが判断される(ステップS108)。本実施形態では、ステップS107に示す処理で更新された残ページ数に基づいて、現在実行中のジョブにRIP処理が未完了であるページがあるか否かが判断される。
【0049】
残りのページがあると判断される場合(ステップS108:YES)、新規ジョブの受信があるか否かが判断される(ステップS109)。本実施形態では、ジョブの実行中に、新規ジョブが受信されたか否かが判断される。新規ジョブの受信があると判断される場合(ステップS109:YES)、図7のステップS113に示す処理に移行する。
【0050】
一方、新規ジョブの受信がないと判断される場合(ステップS109:NO)、RIP完了ブレード装置にRIP要求が送信され(ステップS110)、ステップS103の処理に戻る。本実施形態では、ステップS103に示す処理で受信されたRIP完了通知の送信元であるブレード装置に次のページのデータが送信され、RIP処理の実行が指示される。たとえば、RIP完了通知の送信元であるブレード装置に5ページ目のデータが送信される。
【0051】
一方、ステップS108に示す処理において、残りのページがないと判断される場合(ステップS108:NO)、ジョブが完了したとして、待ち行列にジョブがあるか否かが判断される(ステップS111)。本実施形態では、RAM23に実行待ちのジョブが格納されているか否かが判断される。
【0052】
待ち行列にジョブがないと判断される場合(ステップS111:NO)、処理が終了される。一方、待ち行列にジョブがあると判断される場合(ステップS111:YES)、待ち行列から先頭ジョブが読み出され(ステップS112)、ステップS102の処理に戻る。その結果、複数のブレード装置により、待ち行列の先頭ジョブの実行が新たに開始される。
【0053】
以上のとおり、図6のステップS101〜S112に示す処理によれば、1つのジョブの各ページのRIP処理が複数のブレード装置により分散して実行される。1つのジョブが印刷ジョブである場合、RIP処理により得られた画像データがプリンタ4に送信される。一方、ジョブがストアジョブである場合、RIP処理により得られた画像データがマスタ装置2のハードディスク24に記憶される。
【0054】
一方、ステップS109に示す処理において、新規ジョブの受信があると判断される場合(ステップS109:YES)、実行中のジョブが印刷ジョブであるか否かが判断される(図7のステップS113)。本実施形態では、現在実行中のジョブが印刷ジョブであるか、ストアジョブであるかが判断される。
【0055】
実行中のジョブが印刷ジョブでないと判断される場合(ステップS113:NO)、ステップS115の処理に移行する。一方、実行中のジョブが印刷ジョブであると判断される場合(ステップS113:YES)、新規ジョブが印刷ジョブであるか否かが判断される(ステップS114)。本実施形態では、ステップS109に示す処理で受信されことが認識されたジョブが、印刷ジョブであるか、ストアジョブであるかが判断される。
【0056】
新規ジョブが印刷ジョブでないと判断される場合(ステップS114:NO)、新規ジョブがストアジョブであるとして、ジョブ並列処理が実行される(ステップS119)。本実施形態では、実行中の印刷ジョブと新規に受信されたストアジョブとを並列処理するジョブ並列処理が実行される。ステップS119に示されるジョブ並列処理についての詳細な説明は後述する。
【0057】
一方、ステップS114に示す処理において、新規ジョブが印刷ジョブであると判断される場合(ステップS114:YES)、新規ジョブが待ち行列に追加される(ステップS117)。本実施形態では、実行中のジョブも新規に受信されたジョブも印刷ジョブであり、ジョブ並列処理を行わないとして、新規ジョブが待ち行列に追加される。
【0058】
そして、RIP完了ブレード装置にRIP要求が送信され(ステップS118)、ステップS103の処理に戻る。その結果、複数のブレード装置により、現在実行中のジョブが引き続き処理される。
【0059】
一方、ステップS113に示す処理において、実行中のジョブが印刷ジョブでないと判断される場合(ステップS113:NO)、新規ジョブが印刷ジョブであるか否かが判断される(ステップS115)。新規ジョブが印刷ジョブでないと判断される場合(ステップS115:NO)、実行中のジョブも新規に受信されたジョブもストアジョブであり、ジョブ並列処理を行わないとして、新規ジョブが待ち行列に追加される(ステップS117)。そして、RIP完了ブレード装置にRIP要求が送信され(ステップS118)、ステップS103の処理に戻る。
【0060】
一方、新規ジョブが印刷ジョブであると判断される場合(ステップS115:YES)、プリント優先モードが設定されているか否かが判断される(ステップS116)。本実施形態では、ストアジョブを実行中に印刷ジョブが受信された場合に、ストアジョブと印刷ジョブとを並列処理する旨を指示するプリント優先モードが設定されているか否かが判断される。
【0061】
プリント優先モードが設定されていないと判断される場合(ステップS116:NO)、ジョブ並列処理を行わないとして、新規ジョブが待ち行列に追加される(ステップS117)。そして、RIP完了ブレード装置にRIP要求が送信され(ステップS118)、ステップS103の処理に戻る。
【0062】
一方、プリント優先モードが設定されていると判断される場合(ステップS116:YES)、ジョブ並列処理が実行される(ステップS119)。本実施形態では、実行中のストアジョブと新規に受信された印刷ジョブとを並列処理するジョブ並列処理が実行される。ジョブ並列処理は、2つのジョブのうちの一方のジョブが完了するまで実行される。ステップS119に示されるジョブ並列処理についての詳細な説明は後述する。
【0063】
2つのジョブのうちの一方のジョブが完了してジョブ並列処理が終了すれば、待ち行列にジョブがあるか否かが判断される(ステップS120)。待ち行列にジョブがないと判断される場合(ステップS120:NO)、RIP完了ブレード装置にRIP要求が送信され(ステップS125)、ステップS103の処理に戻る。その結果、ジョブ並列処理で完了しなかった他方のジョブが引き続き処理される。
【0064】
一方、待ち行列にジョブがあると判断される場合(ステップS120:YES)、実行中のジョブが印刷ジョブであるか否かが判断される(ステップS121)。本実施形態では、ジョブ並列処理で完了しなかった他方のジョブが、印刷ジョブであるか、ストアジョブであるかが判断される。
【0065】
実行中のジョブが印刷ジョブであると判断される場合(ステップS121:YES)、待ち行列にストアジョブがあるか否かが判断される(ステップS122)。待ち行列にストアジョブがあると判断される場合(ステップS122:YES)、ジョブ並列処理が再び実行される(ステップS119)。本実施形態では、実行中の印刷ジョブと待ち行列にあるストアジョブとを並列処理するジョブ並列処理が実行される。
【0066】
一方、待ち行列にストアジョブがないと判断される場合(ステップS122:NO)、RIP完了ブレード装置にRIP要求が送信され(ステップS125)、ステップS103の処理に戻る。その結果、ジョブ並列処理で完了しなかった他方のジョブが引き続き処理される。
【0067】
一方、ステップS121に示す処理において、実行中のジョブが印刷ジョブでないと判断される場合(ステップS121:NO)、待ち行列に印刷ジョブがあるか否かが判断される(ステップS123)。待ち行列に印刷ジョブがないと判断される場合(ステップS123:NO)、RIP完了ブレード装置にRIP要求が送信され(ステップS125)、ステップS103の処理に戻る。その結果、ジョブ並列処理で完了しなかった他方のジョブが引き続き処理される。
【0068】
一方、待ち行列に印刷ジョブがあると判断される場合(ステップS123:YES)、プリント優先モードが設定されているか否かが判断される(ステップS124)。プリント優先モードが設定されていると判断される場合(ステップS124:YES)、ジョブ並列処理が再び実行される(ステップS119)。本実施形態では、実行中のストアジョブと待ち行列にある印刷ジョブとを並列処理するジョブ並列処理が実行される。
【0069】
一方、プリント優先モードが設定されていないと判断される場合(ステップS124:NO)、RIP完了ブレード装置にRIP要求が送信され(ステップS125)、ステップS103の処理に戻る。その結果、ジョブ並列処理で完了しなかった他方のジョブが引き続き処理される。
【0070】
以上のとおり、図6および図7に示されるフローチャートの処理によれば、印刷ジョブの実行中にストアジョブが受信された場合、または、ストアジョブの実行中に印刷ジョブが受信され、かつ、プリント優先モードが設定されている場合、印刷ジョブとストアジョブとが並列処理される。このような構成によれば、実行中のジョブの完了を待つことなく、次のジョブの実行が開始されるので、2つのジョブを効率よく処理することができる。
【0071】
図8は、図7のステップS119に示されるジョブ並列処理の手順を示すフローチャートである。上述したとおり、ジョブ並列処理では、印刷ジョブとストアジョブとが並列処理される。
【0072】
まず、滞留ページ数Pが取得される(ステップS201)。本実施形態では、印刷ジョブについて、ブレード装置がRIP処理を実行して得られた画像データのうちプリンタ4による印刷出力が完了していない印刷待ちの画像データのページ数が、滞留ページ数Pとして取得される。滞留ページ数Pは、プリンタ4のRAM43に格納されており、プリンタ4から取得される。
【0073】
続いて、必要リソース量BNEEDが計算される(ステップS202)。本実施形態では、ステップS201に示す処理で取得された滞留ページ数Pに基づいて、印刷ジョブの実行に割り当てられるブレード装置の数が算出される。必要リソース量BNEEDは、下記の4つの数式に基づいて算出される。
【0074】
NEED=BALL−(P−BTH) …(11) (P>BTHの場合)
NEED=BALL …(12) (P≦BTHの場合)
NEED=P …(21) (BNEED>Pの場合)
NEED=BNEED …(22) (BNEED≦Pの場合)
ここで、BALLは、プリンタコントローラ5を構成するブレード装置の総数(すなわち、4)である。また、BTHは、所定の閾値であり、並列処理の実行中に印刷待ちの画像データがなくならないように所定の値(たとえば、2)に設定される。また、上述したとおり、Pは、滞留ページ数であり、Pは、ジョブの残ページ数である。
【0075】
滞留ページ数Pは、下記の(3)式に基づいて算出される。
【0076】
=Pce−Pee …(3)
ここで、Pceは、マスタ装置2からプリンタ4に転送された画像データのページ数であり、Peeは、プリンタ4により画像データに基づく画像の印刷出力が完了した排紙済みのページ数である。
【0077】
また、残ページ数Pは、下記の(4)式に基づいて算出される。
【0078】
=P−Pre …(4)
ここで、Pは、ジョブの総ページ数であり、Preは、ジョブのRIP済みページ数である。
【0079】
つまり、本実施形態のジョブ並列処理では、滞留ページ数Pが閾値BTHよりも多い場合、閾値BTHを超えたページ数をブレード装置の総数BALLから差し引いた数が、必要リソース量BNEEDとして算出される。一方、滞留ページ数Pが閾値BTH以下の場合、ブレード装置の総数BALL(すなわち、4)が、必要リソース量BNEEDとして算出される。また、必要リソース量BNEEDは、ジョブの残りのページ数に応じて調整される。
【0080】
ステップS202に示す処理において必要リソース量BNEEDが計算されれば、計算結果に応じて、RIP完了ブレード装置にRIP要求が送信される(ステップS203)。たとえば、必要リソース量BNEEDがブレード装置の総数BALLである場合には、すべてのブレード装置が印刷ジョブを実行するように、RIP完了ブレード装置に印刷ジョブのデータが送信される。一方、必要リソース量BNEEDがブレード装置の総数未満の所定の値の場合には、必要リソース量BNEEDが示す数のブレード装置が印刷ジョブを実行し、残りのブレード装置がストアジョブを実行するように、RIP完了ブレード装置に印刷ジョブまたはストアジョブのデータが送信される。
【0081】
続いて、1ページの印刷出力が完了したか否かが判断される(ステップS204)。本実施形態では、プリンタ4により1ページの画像データに基づく画像が用紙上に印刷されたか否かが判断される。
【0082】
1ページの印刷出力が完了していないと判断される場合(ステップS204:NO)、ステップS207の処理に移行する。一方、1ページの印刷出力が完了したと判断される場合(ステップS204:YES)、滞留ページ数Pが取得され、必要リソース量BNEEDが再計算される(ステップS205,S206)。
【0083】
続いて、RIP完了通知を受信したか否かが判断される(ステップS207)。RIP完了通知を受信していないと判断される場合(ステップS207:NO)、RIP完了通知を受信するまで待機する。一方、RIP完了通知を受信したと判断される場合(ステップS207:YES)、RIP処理が完了されたジョブがストアジョブであるか否かが判断される(ステップS208)。
【0084】
ジョブがストアジョブであると判断される場合(ステップS208:YES)、画像データがハードディスク24に格納される(ステップS209)。一方、ジョブがストアジョブでないと判断される場合(ステップS208:NO)、ジョブが印刷ジョブであるとして、画像データがプリンタ4に転送される(ステップS210)。そして、滞留ページ数Pが取得され、必要リソース量BNEEDが再計算される(ステップS211,S212)。
【0085】
続いて、RIP済みページ数Preが加算され、かつ、残ページ数Pが更新される(ステップS213)。
【0086】
続いて、並列処理されている2つのジョブのうち一方が完了したか否かが判断される(ステップS214)。2つのジョブの一方も完了していないと判断される場合(ステップS214:NO)、ステップS202の処理に戻る。その結果、RIP完了ブレード装置に印刷ジョブまたはストアジョブの次のページのRIP処理が指示される。
【0087】
一方、2つのジョブの一方が完了したと判断される場合(ステップS214:YES)、処理が終了される。
【0088】
以上のとおり、図8に示されるフローチャートの処理によれば、プリンタ4の滞留ページ数Pに基づいて、印刷ジョブの実行に割り当てられるブレード装置の数が算出され、算出された数のブレード装置が印刷ジョブを実行し、残りのブレード装置がストアジョブを実行するように、分散処理が制御される。また、印刷ジョブの実行に割り当てられるブレード装置の数は滞留ページ数Pが変化するタイミングで再計算され、再計算結果にしたがって、印刷ジョブを実行するブレード装置とストアジョブを実行するブレード装置の数が変更される。
【0089】
このような構成によれば、滞留ページ数Pが所定の閾値BTH以上に維持されつつ、印刷ジョブとストアジョブのRIP処理が同時に実行される。つまり、印刷待ちの画像データがなくならず、プリンタ4の印刷性能(印刷速度)を最大値に維持したまま、印刷ジョブとストアジョブとが並列処理される。たとえば、60PPMのプリンタの印刷速度を60PPMに維持しつつ、印刷ジョブとストアジョブとが並列処理される。
【0090】
なお、上述したジョブ並列処理では、滞留ページ数Pが変化するタイミングを契機として、必要リソース量BNEEDが再計算された。しかしながら、必要リソース量は、所定の時間間隔で再計算されてもよい。あるいは、滞留ページ数Pが変化するタイミングを契機として必要リソース量を再計算するとともに、所定の時間間隔で再計算が行われてもよい。
【0091】
図9は、マスタ装置およびスレーブ装置により実行されるRIP処理の手順を示すフローチャートである。なお、図9のフローチャートにより示されるアルゴリズムは、マスタ装置およびスレーブ装置のハードディスクにプログラムとしてそれぞれ記憶されており、CPUによって実行される。
【0092】
まず、RIP要求があるか否かが判断される(ステップS301)。本実施形態では、マスタ装置2からRIP要求があるか否かが判断される。
【0093】
RIP要求がないと判断される場合(ステップS301:NO)、RIP要求があるまで待機する。一方、RIP要求があると判断される場合(ステップS301:YES)、RIP処理が実行される(ステップS302)。
【0094】
そして、RIP処理が完了すれば、RIP完了通知と1ページの画像データとが送信される(ステップS303)。
【0095】
図10は、印刷ジョブの実行中にストアジョブが受信された場合の滞留ページ数の変化を示す図である。図10の縦軸は滞留ページ数Pであり、横軸は時間である。
【0096】
印刷ジョブ(ジョブA)が受信されれば、すべてのブレード装置によりRIP処理が分散して実行される。また、プリンタ4により、RIP処理を実行して得られる画像データに基づく画像の印刷出力が開始される。プリンタコントローラ5のRIP処理速度がプリンタ4の印刷速度よりも速い場合、時間の経過にしたがって、滞留ページ数Pは増加する(図10の領域A参照)。
【0097】
その後、ストアジョブ(ジョブB)が受信されれば、印刷ジョブAとストアジョブBの並列処理が開始される。印刷ジョブAとストアジョブBの並列処理が開始されれば、一部または全部のブレード装置が、ストアジョブBのRIP処理を実行するため、滞留ページ数Pは減少する(図10の領域B参照)。
【0098】
その後、滞留ページ数Pが閾値BTH以下になった場合には、並列処理が中断され、印刷ジョブAのみが実行される(図10の領域C参照)。
【0099】
このような構成によれば、滞留ページ数Pが閾値BTH以上に維持されつつ、印刷ジョブとストアジョブとが並列処理される。つまり、プリンタ4の印刷速度を低下させることなく、印刷ジョブとストアジョブとが並列処理される。
【0100】
図11は、ジョブ並列処理の効果を説明するための図である。図11(A)では、印刷ジョブ(ジョブA)の実行中に、ストアジョブ(ジョブB)が受信された場合のジョブ並列処理を示す。なお、図11(B)は、本実施形態のジョブ並列処理を実行しない場合を比較例として示している。図11に示される1つのマス目は、各ジョブの単位時間あたりの処理量を示し、図11の横軸は時間である。
【0101】
図11(B)に示されるとおり、一般的な分散処理では、印刷ジョブAが完了してから、ストアジョブBが実行される。したがって、ストアジョブBが受信されてからストアジョブBが完了するまでの時間が長くなる。
【0102】
一方、図11(A)に示されるとおり、本実施形態の分散処理では、印刷ジョブAの実行中にストアジョブBが受信されれば、印刷待ちの画像データがなくならない範囲で、ブレード装置がストアジョブBに割り当てられ、ストアジョブBが実行される。
【0103】
したがって、ストアジョブBが受信されてからストアジョブBが完了するまでの時間が短縮される。また、印刷待ちの画像データがなくならないため、印刷ジョブAの完了時間も遅れることがない。
【0104】
以上のとおり、本実施形態によれば、プリンタ4の印刷速度を維持しつつ、印刷ジョブとストアジョブが並列処理されるため、印刷システムの生産性を低下させることなく、2つのジョブを効率よく並列処理できる。
【0105】
本発明は、上述した実施形態のみに限定されるものではなく、特許請求の範囲内において、種々改変することができる。
【0106】
たとえば、上述した実施形態では、印刷ジョブとストアジョブとを並列処理する場合を例に挙げて説明した。しかしながら、印刷ジョブと並列処理されるジョブは、ストアジョブに実行されるものではなく、画像データを電子メールやファクシミリ機能により外部に出力するジョブであってもよい。
【0107】
また、プリンタコントローラが2台のプリンタに接続されている場合、2つの印刷ジョブが並列処理されてもよい。この場合、2台のプリンタのうちの一方のプリンタの印刷速度が維持されるように、一方の印刷ジョブに割り当てられるリソースの量が算出される。
【0108】
また、上述した実施形態では、プリンタの滞留ページ数に基づいて、必要リソース量が算出された。しかしながら、必要リソース量を算出するためのプリンタ4の状態は滞留ページ数に限定されるものではなく、たとえば、プリンタの印刷速度に基づいて、必要リソース量が算出されてもよい。
【0109】
また、上述した実施形態では、ジョブがページ単位で分割され、複数のブレード装置によりRIP処理が実行される場合を例に挙げて説明した。しかしながら、RIP処理が施されるジョブの分割単位は、ページ単位に限定されず、たとえば、オブジェクト単位でRIP処理が実行されてもよい。
【0110】
また、上述した実施形態では、プリンタコントローラがブレードサーバである場合を例に挙げて説明した。しかしながら、プリンタコントローラは、ブレードサーバに限定されるものではなく、複数のコアが内蔵されているマルチCPUを備えたコンピュータであってもよい。この場合、プリンタの状態に基づいて、印刷ジョブの実行に割り当てられるコアの数が変更される。あるいは、プリンタコントローラは、1つのCPUのみを備え、2つのジョブを実行するCPUの利用率が変更されてもよい。
【0111】
また、上述した実施形態では、プリンタとローカル接続されているプリンタコントローラによりジョブ並列処理を実行する場合を例に挙げて説明した。しかしながら、ジョブ並列処理は、プリンタおよびプリンタコントローラを内蔵するMFP(Multi−Function Peripheral)等の画像形成装置により実行されてもよい。
【0112】
本実施形態に係る印刷制御装置における各種処理を行う手段および方法は、専用のハードウエア回路、またはプログラムされたコンピュータのいずれによっても実現することが可能である。上記プログラムは、たとえば、フレキシブルディスクおよびCD−ROM等のコンピュータ読み取り可能な記録媒体によって提供されてもよいし、インターネット等のネットワークを介してオンラインで提供されてもよい。この場合、コンピュータ読み取り可能な記録媒体に記録されたプログラムは、通常、ハードディスク等の記憶部に転送され記憶される。また、上記プログラムは、単独のアプリケーションソフトとして提供されてもよいし、印刷制御装置の一機能としてその装置のソフトウエアに組み込まれてもよい。
【符号の説明】
【0113】
1a,1b PC、
11,21,31,41 CPU、
12,22,32,42 ROM、
13,23,33,43 RAM、
14,24,34 ハードディスク、
15 ディスプレイ、
16 入力装置、
17,26,35 ネットワークインタフェース、
18,27,36,47 バス、
2 マスタ装置、
25 プリンタインタフェース、
3a,3b,3c スレーブ装置、
4 プリンタ、
44 操作パネル部、
45 印刷部、
46 コントローラインタフェース、
5 プリンタコントローラ、
6 ネットワーク。

【特許請求の範囲】
【請求項1】
ジョブを実行して得られる画像データに基づく画像を印刷装置により印刷出力することを処理内容とする印刷ジョブと、他のジョブとを認識する認識部と、
前記印刷装置の状態に基づいて、ジョブを実行するために用いられるリソースのうち前記印刷ジョブの実行に割り当てられるリソースの量を算出する算出部と、
前記算出部により算出された量のリソースにより前記印刷ジョブを実行し、残りのリソースにより前記他のジョブを実行するための制御を行う制御部と、
を有することを特徴とする印刷制御装置。
【請求項2】
前記算出部は、前記印刷装置の印刷速度を維持したまま前記画像の印刷出力が行われるように、前記リソースの量を算出することを特徴とする請求項1に記載の印刷制御装置。
【請求項3】
前記他のジョブは、ジョブを実行して得られる画像データに基づく画像を印刷装置により印刷出力することなく保存または出力することを処理内容とするジョブであることを特徴とする請求項1または2に記載の印刷制御装置。
【請求項4】
前記他のジョブの実行中に前記印刷ジョブが認識された場合、前記算出部は、前記リソースの量を算出し、前記制御部は、前記制御を行うことを特徴とする請求項1〜3のいずれか1項に記載の印刷制御装置。
【請求項5】
前記他のジョブの実行中に前記印刷ジョブが認識された場合に前記制御を行うことを設定する設定部をさらに有し、
前記制御を行うことが設定されている場合、前記制御が行われ、前記制御を行うことが設定されていない場合、前記制御が行われることなく、前記他のジョブの実行が継続されることを特徴とする請求項4に記載の印刷制御装置。
【請求項6】
前記算出部は、前記印刷装置による印刷出力が完了していない印刷待ちの画像データのページ数が変化する度に、または所定時間が経過する度に、前記リソースの量を算出し、
前記制御部は、前記画像データのページ数が変化する度または所定時間が経過する度に算出される前記リソースの量に基づいて、前記制御を行うことを特徴とする請求項1〜5のいずれか1項に記載の印刷制御装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2012−215995(P2012−215995A)
【公開日】平成24年11月8日(2012.11.8)
【国際特許分類】
【出願番号】特願2011−79896(P2011−79896)
【出願日】平成23年3月31日(2011.3.31)
【出願人】(303000372)コニカミノルタビジネステクノロジーズ株式会社 (12,802)
【Fターム(参考)】