(57)【要約】      （修正有）【課題】優先度の高いジョブを優先して印刷出来る印刷システムを提供する。【解決手段】ネットワークを介してホストコンピュータと画像形成装置が接続され、ジョブスケジューラの機能とタスクマネージャとクライアントとなる全てのシステムにブローカの機能を持つ印刷システムにおいて、タスクマネージャは印刷ジョブを受信する手段と受信したジョブから優先度情報を取得しジョブスケジューラに対してブローカを介してリソース状況の分析を依頼する。リソース状況に応じてジョブをブローカへと分散投入しする。ブローカはタスクマネージャからのジョブを受信し受信したジョブから優先度情報を読み取り優先度情報を元にＣＰＵの利用率を変更しジョブを実行する。ジョブが終了した際に前記タスクマネージャに対して終了通知を行う。【選択図】図４
2006252298.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介してホストコンピュータ及び画像形成装置が接続され、ジョブスケジューラの機能と、タスクマネージャとクライアントとなる全てのシステムにブローカの機能を持つ印刷システムにおいて、
前記タスクマネージャは、印刷ジョブを受信する手段と、受信したジョブから優先度情報を取得する手段と、前記ジョブスケジューラに対して前記ブローカを介してリソース状況の分析を依頼する手段と、リソース状況に応じてジョブを前記ブローカへと分散投入する手段とを有し、
前記ジョブスケジューラは、リソースを分析する手段と、分析結果をタスクマネージャに対して通知する手段とを有し、
前記ブローカは、前記タスクマネージャからのジョブを受信する手段と、受信したジョブから優先度情報を読み取る手段と、読み取った優先度情報を元にＣＰＵの利用率を変更する手段と、ジョブを実行させる手段と、ジョブが終了した際に前記タスクマネージャに対して終了通知を行う手段とを有することを特徴とする印刷システム。
【請求項２】
前記タスクマネージャにおいて、ジョブの進捗状況をジョブスケジューラに対して確認する手段と、進捗状況が規定値を超えているかどうかを判断する手段と、規定値を超えた場合に処理が終了していない前記ブローカに対してＣＰＵ利用率の上昇を指示する手段とを有し、
前記ジョブスケジューラは、タスクマネージャの指示を受けてジョブの進捗状況を分析する手段と、分析結果を前記タスクマネージャに対して通知する手段とを有し、
前記ブローカは、前記タスクマネージャからの指示を読み取る手段と、指示に対応してＣＰＵ利用率を上昇させる手段と、ジョブを実行させる手段と、ジョブが終了した際に前記タスクマネージャに対して終了通知を行う手段とを有することを特徴とする印刷システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インタフェースを介してホストコンピュータに接続される、プリンタや複合機能印刷装置にグリッドコンピューティングの負荷分散システムを適用させた印刷システムに関する。
【背景技術】
【０００２】
図１は本発明に適用されるグリッドコンピューティングのアーキテクチャを説明する図である。
【０００３】
グリッドには数種類あるが、ここで説明するのはデスクトップグリッドと呼ばれる、デスクトップＰＣなどのＣＰＵの空き時間を利用してジョブを実行するタイプのものである。
【０００４】
図１のＣｌｉｅｎｔはジョブを投入するユーザでありその要求（ジョブ）はタスクマネージャ（Ｔａｓｋ  Ｍａｎａｇｅｒ：以下ＴＭと略す）に渡されダイナミックジョブスケジューラ（Ｄｙｎａｍｉｃ  Ｊｏｂ  Ｓｃｈｅｄｕｌｅｒ：以下ＤＪＳと略す）にその内容を伝える。
【０００５】
ＤＪＳは全体のリソース管理をしていて最適なリソースのブローカ（Ｂｒｏｋｅｒ）を選択しＴＭに通知する（このリソースとはここではＣＰＵの空き状態のことを言っている。）。
【０００６】
Ｂｒｏｋｅｒはリソースマネージャ（Ｒｅｓｏｕｒｃｅ  Ｍａｎａｇｅｒ：以下ＲＭと略す）の吸い上げたリソースの情報をＤＪＳに登録し、ＴＭからの要求で最適なリソースにジョブを投入し、完了通知をＴＭに対して行う。
【０００７】
ＴＭはＤＪＳが選択した最適なＢｒｏｋｅｒにジョブを投入し、以後そのジョブの進行状況のモニタリングを実施し、完了通知をＢｒｏｋｅｒから受けるとユーザにその結果を通知する。またリソースに変化・異常があれば（例：故障、他のジョブを受け付けた等）ＲＭはＢｒｏｋｅｒに通知する。
【０００８】
このような仕組みで最適な（通常は利用されていない）ＣＰＵなどのリソースにジョブを配分することで分散処理を可能にするのがデスクトップグリッドコンピューティングの実現形である。
【０００９】
続いてこの技術を画像形成装置のＰＤＬ処理に適用した場合の構成の説明を図２にて行う。図１の説明ではグリッドを構成するそれぞれのモジュールが別個のものとして扱われたが、印刷装置に適用する場合、複数のモジュールが１つの機器の中に存在することが一般的になる。
【００１０】
図２では印刷指示（ジョブ投入）するクライアントＰＣがプリントジョブを投入しＴＭ，ＤＪＳ機能を画像形成装置にもち、Ｂｒｏｋｅｒ，ＲＭをＰＣ１、ＰＣ２、ＰＣ３がもつことで例えば３台のＰＣを用いてのグリッドコンピューティングによる分散処理を適用した機器構成ができる。
【００１１】
クライアントから投入されたジョブ（ＰＤＬの印刷ジョブデータ）は画像形成装置のＴＭ，ＤＪＳを経由してＰＣ１，２，３のリソースに分割される。またこの時、ＰＤＬデータイメージ展開処理用のアプリケーションプログラムも同時に画像形成装置から送信されるようにする。
【００１２】
それぞれのＰＣでＰＤＬ画像形成を分散実行しできたイメージは画像形成装置が収集して最終的に出力するような処理をグリッドの機構を用いて実施する。
【００１３】
この分散処理対象になるリソースは３台以上のＰＣであってもよいし、それにジョブ投入元のクライアントＰＣのリソースを含めても、同じネットワーク上の画像形成装置のリソースを対象にして利用しても良い。
【非特許文献１】ＩＢＭプロフェッショナル論文「グリッドコンピューティングの商用システムへの適用性」＜ｈｔｔｐ：／／ｗｗｗ−６．ｉｂｍ．ｃｏｍ／ｊｐ／ｐｒｏｖｉｓｉｏｎ／ｎｏ３６／ｐｄｆ／３６＿ｐｐｒ１．ｐｄｆ＞
【発明の開示】
【発明が解決しようとする課題】
【００１４】
近年グリッドコンピューティング（Ｇｒｉｄ  ｃｏｍｐｕｔｉｎｇ）の技術を用いてコンピュータのＣＰＵパワーを集め、高速処理を実現する研究がサイエンス系の研究において盛んであるが、未だ組み込み機器への適用は類を見ない。
【００１５】
印刷システムにおいてＧｒｉｄ技術が活用されるようになった場合、１つのＣＰＵに対して複数の印刷ジョブが割り振られることが考えられる。しかしＧｒｉｄには優先度の概念がないため、リソースの空きに応じて割り振られ、全ての印刷ジョブが均等に処理されてしまい、優先度の高い印刷ジョブについては他の印刷ジョブの出力をまたなければいけない恐れがある。
【００１６】
本発明は、上述の問題点に着目してなされたものであって、ジョブを分散させる際にジョブの優先度も同時に通知することで優先度の高いジョブを優先して印刷出来る印刷システムを提供することを目的とする。
【課題を解決するための手段】
【００１７】
上記課題を解決するために、本発明に係るシステムは、ネットワークを介してホストコンピュータ及び画像形成装置が接続され、ジョブスケジューラの機能と、タスクマネージャとクライアントとなる全てのシステムにブローカの機能を持つ印刷システムにおいて、前記タスクマネージャは、印刷ジョブを受信する手段と、受信したジョブから優先度情報を取得する手段と、前記ジョブスケジューラに対して前記ブローカを介してリソース状況の分析を依頼する手段と、リソース状況に応じてジョブを前記ブローカへと分散投入する手段とを有し、前記ジョブスケジューラは、リソースを分析する手段と、分析結果をタスクマネージャに対して通知する手段とを有し、前記ブローカは、前記タスクマネージャからのジョブを受信する手段と、受信したジョブから優先度情報を読み取る手段と、読み取った優先度情報を元にＣＰＵの利用率を変更する手段と、ジョブを実行させる手段と、ジョブが終了した際に前記タスクマネージャに対して終了通知を行う手段とを有する。
【発明の効果】
【００１８】
グリッドコンピューティング（Ｇｒｉｄ  ｃｏｍｐｕｔｉｎｇ）の技術を、画像形成装置に適用した場合に、印刷ジョブの優先度に応じて効率的に印刷が行えるようになる。
【発明を実施するための最良の形態】
【００１９】
以下、図面を参照して本発明をその効果的な実施形態に基づき詳細に説明する。
【実施例】
【００２０】
［第一の実施例］
（画像形成装置のハード構成）
図３は、複写機能を有する画像形成装置の外観を示す図である。画像入力デバイスであるスキャナ２０１は、原稿となる紙上の画像を照明し、ＣＣＤラインセンサ（図示せず）を走査することによって、ラスターイメージデータを生成する。
【００２１】
使用者が、原稿用紙を原稿フィーダ２０４のトレイ２０３にセットして、操作部２０２において読み取りの起動を指示すると、画像形成装置のコントローラＣＰＵがスキャナ２０１に指示を与え、フィーダ２０３は原稿用紙を１枚ずつフィードし、スキャナ２０１は原稿画像の読み取り動作を行う。
【００２２】
操作部２０２はコピー動作時の設定指示や状態表示や、各種動作設定を指定をするためのユーザインタフェースである。
【００２３】
画像出力デバイスであるプリンタエンジン１０３は、ラスターイメージデータを用紙上の印刷する部分である。その方式は感光体ドラムや感光体ベルトを用いた電子写真方式、微少ノズルアレイからインクを吐出して用紙上に直接画像を印字するインクジェット方式等があるが、どの方式でも構わない。なお、プリント動作は、コントローラＣＰＵからの指示によって起動される。
【００２４】
プリンタエンジン１０３は、異なる用紙サイズまたは異なる用紙向きを選択できるように複数の給紙段を持ち、それに対応した用紙カセット２０６、２０７、２０８がある。また、排紙トレイ２０５は、印字し終わった用紙を受けるものである。
【００２５】
図４は、画像形成装置の制御構成を示すブロック図である。プリンタコントローラ１０２は、画像入力デバイスであるスキャナ２０１や画像出力デバイスであるプリンタエンジン１０３と接続し、一方ではホストＩ／Ｆ３０８経由で、ホストとの間で印刷データや画像情報やデバイス情報の入出力をする。
【００２６】
ＣＰＵ３０１は、システム全体を制御するコントローラである。ＲＡＭ３０２は、ＣＰＵ３０１が動作するために使用するシステムワークメモリである。また、ＲＡＭ３０２は、画像データを一時記憶するための画像メモリでもある。ＲＯＭ３０３は、ブートＲＯＭであり、システムのブートプログラムが格納されている。ＨＤＤ３０４は、ハードディスクドライブで、システムソフトウェア、画像データを格納する。
【００２７】
操作部Ｉ／Ｆ３０６は、操作部（ＵＩ）２０２との間のインタフェースを司り、操作部２０２に表示する画像データを操作部２０２に対して出力する。また、使用者が操作部２０２を介して入力した情報を、ＣＰＵ３０１に伝える役割を果たす。また操作部２０２からの入力された動作モードなどの環境設定情報は不揮発性のメモリであるＮＶＲＡＭ３１６に記憶される。
【００２８】
ホストインタフェース３０８は、ホスト００１に対して情報の入出力を行う。以上のデバイスがシステムバス３０７上に配置される。
【００２９】
イメージバスインターフェース（Ｉｍａｇｅ  Ｂｕｓ  Ｉ／Ｆ）３０５は、システムバス３０７と画像データを高速で転送する画像バス３０９とを接続し、データ構造を変換するバスブリッジである。画像バス３０９には以下のデバイスが配置される。ラスターイメージプロセッサ（ＲＩＰ）３１０は、ネットワークから送信されて来たＰＤＬコードをビットマップイメージに展開する。デバイスＩ／Ｆ部３１１は、画像入出力デバイスであるスキャナ２０１やプリンタエンジン１０３とプリンタコントローラ１０２とを接続し、画像データの同期系／非同期系の変換を行う。
【００３０】
スキャナ画像処理部３１２は、入力画像データに対し補正、加工、編集を行う。プリンタ画像処理部３１３は、プリント出力画像データに対して、プリンタの補正、解像度変換等を行う。画像回転部３１４は画像データの回転を行う。画像圧縮部３１５は、多値画像データに対してはＪＰＥＧ圧縮新調処理を行い、２値画像画像データに対してはＪＢＩＧ、ＭＭＲ、ＭＨ等の圧縮伸張処理を行う。
【００３１】
（画像形成装置のソフト構成）
図５は、第一の実施例の画像形成装置での印刷ジョブの優先度に応じたＧｒｉｄの利用を説明するフローチャートである。なお背景となるグリッドコンピューティングの技術と構成は図１，図２で説明したものと同じである。
【００３２】
ここで図５のフローの画像形成装置での処理は、図４のＨＤＤ３０４に格納されたシステムプログラムに従いＣＰＵ３０１の制御のもとに実行される。
【００３３】
以下、まず図５のフローチャートを用いて画像形成装置において印刷ジョブの優先度に応じてＧｒｉｄを利用する流れを説明する。
【００３４】
以下図面ではステップをＳと示す。
【００３５】
ステップ５０１では、ユーザが使用するクライアントＰＣから印刷ジョブを受信するのをＴＭが待ち続ける。印刷ジョブの受信待ちから開放されるとステップ５０２へと進み、ジョブの受信処理を行う。続いてステップ５０３で受信したジョブから優先度情報を取得する。ここで優先度情報とは、ジョブの優先度を決定するために利用する情報であり、例えば印刷完了のタイムリミット時間などをさす。次にステップ５０４において、ジョブの分散投入の準備としてＤＪＳに対してリソース状況の分析依頼を行う。ＤＪＳでは分析依頼を受けてステップ５０７でＢｒｏｋｅｒを介してリソースの分析を行う。そしてステップ５０８でその分析結果をＴＭへと通知する。ＴＭでは、リソース状況の分析結果を受けてステップ５０５においてジョブの分散投入を行う。この分散投入を行う際に、同時にステップ５０３で取得したジョブの優先度も合わせてＢｒｏｋｅｒへと通知する。
【００３６】
Ｂｒｏｋｅｒでは、ジョブの投入によりステップ５０９の受信待ちから開放される。そしてステップ５１０へと進み、投入されたジョブの優先度を取得する。続いてステップ５１１において、取得された優先度情報を現在実行中のその他のジョブと比較し、その結果を元にＣＰＵの利用率を変更する。
【００３７】
次にステップ５１２に進み、ジョブの実行が行われる。そしてステップ５１３でジョブの終了がＴＭへと通知される。
【００３８】
このような制御を行うことにより、例えば投入されたジョブがその他よりタイムリミット時間が迫っているものであれば、優先度が一番高いとして、ＣＰＵの利用率も一番高くなるように変更することができる。そして結果として優先度の順番になるべく近いかたちでジョブを完了することが可能となる。
【００３９】
以上述べたグリッド用の制御プログラムをここでは画像形成装置にもたせた構成にしたが、グリッド構成する要素はそれぞれ独立させてサーバーや他のＰＣに持たせたとしても良い。
【００４０】
［第二の実施例］
第一実施例では、クライアントＰＣから指定されたタイムリミットなどの優先度情報を各Ｂｒｏｋｅｒへと通知し、Ｂｒｏｋｅｒでのジョブ投入時に優先度に応じてＣＰＵ利用率が変更できるようにしていた。このＣＰＵ利用率の変更をジョブ投入時だけでなく、ジョブの状況に応じて動的に変更できるようにしてもよい。
【００４１】
図６はジョブ投入時には優先度情報などを用いず、複数のジョブで均等にＣＰＵ利用率を割り当てるが、ジョブの進捗が全体で７０％を超えて、一部の分散ジョブがボトルネックとなっているような状況で、ボトルネックとなっているＣＰＵにおいてＣＰＵ利用率を上げるように制御する処理フローである。
【００４２】
ＴＭではステップ６０１において逐次投入されているジョブの状況確認をＤＪＳに対して行う。ＤＪＳでは、ステップ６０４においてＴＭからの問合せを待ち、問合せがあった場合は、ステップ６０５へと進みジョブの進捗状況の確認を行う。次にステップ６０６でその分析結果をＴＭへと通知する。ＴＭでは、ステップ６０２において受け取った通知から、ジョブの進捗が７０％を超えているかで判断を行う。ここで超えていなければステップ６０１へと戻り、状況確認を繰り返す。７０％を超えているとステップ６０３において、ボトルネックとなっているＣＰＵのＢｒｏｋｅｒに対して、ＣＰＵ利用率を上昇されるための指示を通知する。Ｂｒｏｋｅｒではステップ６０７でＴＭからの指示を待っており、指示が受信された場合は、ステップ６０８へと進み、ＣＰＵ利用率を上昇させる指示を読み取る。続いてステップ６０９で指定されたジョブに対するＣＰＵ利用率を上昇させる。そしてステップ６１０で再度ジョブの実行を行い、ジョブの実行が終了すればステップ６１１からＴＭへと終了通知が送られる。
【００４３】
このような構成とすることで、ボトルネックが発生した際にもその解消を容易に行うことができる。
【００４４】
［その他の実施例］
本発明に係るプログラムコード及び関連データは、フロッピー（登録商標）ディスク（ＦＤ）やＣＤ−ＲＯＭ中に記憶され、そこからコンピュータに供給されうる。また、本発明の目的は、前述した実施形態の機能を実現するソフトウエア（制御プログラム）のプログラムコードを記録した記憶媒体を、図９に示すようにコンピュータに供給し、そのコンピュータの装置（ＣＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによって達成される。プログラムやデータをコンピュータに供給する方法として、図７に示すようにフロッピー（登録商標）ディスクＦＤ７００に記憶させてコンピュータ本体７０２に（フロッピー（登録商標）ディスクドライブ７０１を介して）供給する方法が一般的である。この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００４５】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスクやハードディスク以外にも，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００４６】
【図１】背景技術のグリッドコンピューティングの構成を示す図である。
【図２】背景技術のＰＤＬ処理に適用した場合の構成を示す図である。
【図３】画像形成装置の概観を示す図である。
【図４】画像形成装置の制御構成を示すブロック図である。
【図５】第一の実施例の処理を示すフローチャートである。
【図６】第二の実施例の処理を示すフローチャートである。
【図７】プログラムコードの供給方法を示す図である。
【符号の説明】
【００４７】
００１  ホストコンピュータ
１０１  画像形成装置全体
１０２  プリンタコントローラ全体
１０３  プリンタエンジン
【図１】
2006252298.tif 000003
【図２】
2006252298.tif 000004
【図３】
2006252298.tif 000005
【図４】
2006252298.tif 000006
【図５】
2006252298.tif 000007
【図６】
2006252298.tif 000008
【図７】
2006252298.tif 000009