(57)【要約】【課題】  分散処理の対象機器が省電力モードにある場合、分散処理のために機器を通常動作状態まで復帰させれば、分散処理に不要な部分による無駄な電力消費が発生する。【解決手段】  機器を構成する一部のモジュールへ供給する電力またはクロックを停止する、あるいは、クロックの周波数を低減する電力抑制部を有するコンピュータ機器において、コンピュータネットワークを介してホストマシンから受信したパケットの種類を判定し(S702-S703)、判定の結果が分散処理の開始を示すパケットの受信を示す場合、分散処理に必要なリソースのみクロック停止の解除およびクロックアップを行う(S705)。【選択図】    図9
2005352694.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータネットワークに接続された情報処理装置であって、
前記コンピュータネットワークを介してホストマシンから分散処理を示すパケットを受信した場合、前記分散処理に必要なリソースのみクロック停止の解除およびクロックアップを行うことを特徴とする情報処理装置。
【請求項２】
コンピュータネットワークに接続された情報処理装置であって、
前記コンピュータネットワークを介してホストマシンから分散処理を示すパケットを受信した場合、前記分散処理に不要なリソースへのクロックの供給を停止する、または、前記リソースへ供給するクロックの周波数を通常動作時より低い周波数に設定することを特徴とする情報処理装置。
【請求項３】
コンピュータネットワークに接続された情報処理装置であって、
前記情報処理装置がデータ処理を行っていない場合に、前記情報処理装置を構成する一部のモジュールへ供給する電力またはクロックを停止する、あるいは、前記クロックの周波数を低減する電力抑制手段と、
前記コンピュータネットワークを介してホストマシンから受信したパケットの種類を判定する判定手段と、
前記判定の結果が分散処理の開始を示すパケットの受信を示す場合、前記分散処理に必要なモジュールへ供給する前記電力またはクロックの停止、および、前記クロックの周波数の低減を解除する制御手段とを有することを特徴とする情報処理装置。
【請求項４】
前記制御手段は、前記判定の結果が印刷処理の開始を示すパケットの受信を示す場合、前記電力制御手段による前記電力またはクロックの停止、および、前記クロックの周波数の低減を解除することを特徴とする請求項3に記載された情報処理装置。
【請求項５】
さらに、前記分散処理と前記印刷処理のどちらを優先的に処理するかの設定情報を保持する保持手段を有し、
前記制御手段は、前記分散処理の開始を示すパケットが受信された後、前記分散処理を開始するまでに前記印刷処理の開始を示すパケットが受信された場合、前記設定情報に基づき、前記分散処理または前記印刷処理を優先的に処理することを特徴とする請求項4に記載された情報処理装置。
【請求項６】
前記分散処理に必要なモジュールには、少なくともCPU、メモリ、ネットワークインタフェイスが含まれることを特徴とする請求項3から請求項5の何れかに記載された情報処理装置。
【請求項７】
前記判定手段は、前記パケットの種類を判定した結果を格納する、前記制御手段からアクセス可能なレジスタ、および、前記パケットの受信を示す信号を前記制御手段に送信する通知手段を有することを特徴とする請求項3から請求項6の何れかに記載された情報処理装置。
【請求項８】
前記電力抑制手段は前記前記電力またはクロックの停止、および、前記クロックの周波数の低減を設定する、前記制御手段からアクセス可能なレジスタを有することを特徴とする請求項3から請求項6の何れかに記載された情報処理装置。
【請求項９】
さらに、前記分散処理の結果を前記コンピュータネットワークを介して前記ホストマシンに送信する送信手段を有することを特徴とする請求項3から請求項8の何れかに記載された情報処理装置。
【請求項１０】
コンピュータネットワークに接続された情報処理装置であって、
前記コンピュータネットワークを介してホストマシンからパケットを受信する受信手段と、
前記情報処理装置がデータ処理を行っていない場合に、前記情報処理装置を構成する一部のモジュールへの電力供給を停止し、前記受信手段がパケットを受信すると前記電力供給の停止を解除する電力抑制手段と、
前記情報処理装置を構成する一部のモジュールへ供給するクロックを停止する、または、前記クロックの周波数を低減するクロック制御手段と、
前記受信手段が受信したパケットの種類を判定し、前記パケットが分散処理の開始を示す場合、前記クロック制御手段に前記分散処理に不要なモジュールへ供給するクロックを停止、または、前記クロックの周波数の低減させる制御手段とを有することを特徴とする情報処理装置。
【請求項１１】
コンピュータネットワークに接続された情報処理装置であって、
メモリに割り当てられた領域のデータを記憶装置に退避し、前記記憶装置に退避したデータを前記メモリに復帰する退避復帰手段と、
前記情報処理装置を構成する一部のモジュールへ供給するクロックを停止する、または、前記クロックの周波数を低減するクロック制御手段と、
前記コンピュータネットワークを介してホストマシンから受信したパケットの種類を判定する判定手段と、
前記判定の結果が分散処理の開始を示すパケットの受信を示す場合、前記退避復帰手段に前記メモリ上の所定領域のデータを退避させ、前記クロック制御手段に前記分散処理に不要なモジュールへ供給するクロックを停止、または、前記クロックの周波数の低減させる制御手段とを有することを特徴とする情報処理装置。
【請求項１２】
さらに、前記分散処理の結果を前記コンピュータネットワークを介して前記ホストマシンに送信する送信手段を有し、
前記制御手段は、前記分散処理結果の送信後、前記クロック制御手段に前記クロックの停止、および、前記クロックの周波数低減を解除させ、前記退避復帰手段に前記記憶装置に退避したデータを前記メモリに復帰させることを特徴とする請求項11に記載された情報処理装置。
【請求項１３】
コンピュータネットワークに接続され、装置がデータ処理を行っていない場合に、前記装置を構成する一部のモジュールへ供給する電力またはクロックを停止する、あるいは、前記クロックの周波数を低減する電力抑制部を有する情報処理装置の制御方法であって、
前記コンピュータネットワークを介してホストマシンから受信したパケットの種類を判定し、
前記判定の結果が分散処理の開始を示すパケットの受信を示す場合、前記分散処理に必要なモジュールへ供給する前記電力またはクロックの停止、および、前記クロックの周波数の低減を解除することを特徴とする制御方法。
【請求項１４】
コンピュータネットワークに接続され、前記コンピュータネットワークを介してホストマシンからパケットを受信する受信部、並びに、装置がデータ処理を行っていない場合に、前記装置を構成する一部のモジュールへの電力供給を停止し、前記受信部がパケットを受信すると前記電力供給の停止を解除する電力抑制部を有する情報処理装置の制御方法であって、
前記受信部が受信したパケットの種類を判定し、
前記パケットが分散処理の開始を示す場合、前記分散処理に不要なモジュールへ供給するクロックを停止、または、前記クロックの周波数の低減すことを特徴とする制御方法。
【請求項１５】
コンピュータネットワークに接続された情報処理装置の制御方法であって、
前記コンピュータネットワークを介してホストマシンから受信したパケットの種類を判定し、
前記判定の結果が分散処理の開始を示すパケットの受信を示す場合、メモリ上の所定領域のデータを記憶装置へ退避し、前記分散処理に不要なモジュールへ供給するクロックを停止、または、前記クロックの周波数の低減することを特徴とする制御方法。
【請求項１６】
情報処理装置を制御して、請求項13から請求項15の何れかに記載された制御を実現することを特徴とするプログラム。
【請求項１７】
請求項16に記載されたプログラムが記録されたことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置およびその制御方法に関し、例えば、コンピュータネットワークに接続されたプリンタや複合機能印刷装置などの情報処理装置にグリッドコンピューティングの負荷分散システムを適用する場合に関する。
【背景技術】
【０００２】
図1はグリッドコンピューティング(grid computing)のアーキテクチャを説明する図である。グリッドには数種類あるが、ここで説明するのはデスクトップグリッドと呼ばれる、デスクトップPCなどのCPUの空き時間を利用してジョブを実行するタイプである。
【０００３】
図1に示すクライアントPCは、ユーザの指示に従い、ジョブを投入し(S1)、その要求（ジョブ）はタスクマネージャ（Task Manager、以下「TM」と略す）に渡され、TMはその内容（ジョブリクエスト）をダイナミックジョブスケジューラ（Dynamic Job Scheduler、以下「DJS」と略す）に伝える(S2)。グリッドコンピューティングシステム全体のリソースを管理するDJSは、最適なリソースのブローカ（Broker）を選択してTMに通知する(S3)。ここで、リソースとはPCのCPUの空き状態のことを言う。
【０００４】
PC内のブローカは、同じくPC内のリソースマネージャ（Resource Manager、以下「RM」と略す）が吸い上げたリソースの情報をDJSに登録する。そして、TMから要求がある(S4)とそれに従い、RMにジョブを投入し(S5)、ジョブの完了（および処理結果）をTMに通知する(S6)。TMは、DJSが選択したブローカにジョブを投入した以後、そのジョブの進行状況のモニタリングを実施し、完了通知（および処理結果）をブローカから受信すると(S6)、クライアントPCに完了通知（および処理結果）を通知する(S7)。
【０００５】
また、RMは、リソースの情報をブローカに通知するとともに、ブローカの指示によりジョブをリソースに投入する。さらに、定期的にリソースの状態を調べて、リソースに変化・異常（例えば故障、他のジョブを受け付けた等）があれば、その旨をブローカに通知する。
【０００６】
このような仕組みにより、最適な（通常は利用されていない）CPUなどのリソースにジョブを配分することで分散処理を可能にするのが、デスクトップグリッドコンピューティングの実現形である。
【０００７】
一方、機器が省電力モードに移行している、機器の一部モジュールに電力が投入されていない、または、動作周波数（例えばCPUのクロック周波数）が低くなっているような場合がある。これら省電力状態にある機器を通常動作状態に復帰させるには、それらの機器にマジックパケットと呼ばれる特定のパケットを受信させる方法がある。しかし、上記のような分散処理の対象機器の場合、分散処理のために機器を通常動作状態まで復帰させれば、分散処理に不要な部分（モジュール）が無駄な電力を消費することになる。
【０００８】
また、多数の頁や部数を印刷する場合、その出力先を分けることで（分散印刷）高速印刷を可能にするクラスタリング機構については複数の提案があり、ネットワーク上の機器（プリンタや複合機能印刷装置など）がネットワーク接続された別の機器に処理を振り分けて処理を分散することで、処理を高速に終了することが行われる。ただし、この分散処理は印刷する頁や部数を分割して複数の機器に印刷まで行わせるものであり、クライアントが指定した機器がすべての頁および部数の印刷を行うわけではない。
【０００９】
他方、上記の機器にグリッドコンピューティングの負荷分散システムを適用すれば、印刷のためのデータ処理や画像処理をそれら機器に分散処理させ、その処理結果に基づき、クライアントに指定された機器がすべての頁および部数の印刷を実行することができる。言い換えれば、クライアントのユーザは分散処理を意識することなく、指定した機器から短時間に所望する印刷結果を得ることができる。
【００１０】
【非特許文献１】IBMプロフェッショナル論文「グリッド・コンピューティングの商用システムへの適用性」http://www-6.ibm.com/jp/provision/no36/pdf/36_ppr1.pdf
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明は、上述の問題を個々にまたはまとめて解決するもので、分散処理の対象機器が分散処理を行う際の消費電力を抑えることを目的とする。
【課題を解決するための手段】
【００１２】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【００１３】
本発明は、コンピュータネットワークに接続された情報処理装置であって、前記コンピュータネットワークを介してホストマシンから分散処理を示すパケットを受信した場合、前記分散処理に必要なリソースのみクロック停止の解除およびクロックアップを行うことを特徴とする。
【００１４】
また、コンピュータネットワークに接続された情報処理装置であって、前記コンピュータネットワークを介してホストマシンから分散処理を示すパケットを受信した場合、前記分散処理に不要なリソースへのクロックの供給を停止する、または、前記リソースへ供給するクロックの周波数を通常動作時より低い周波数に設定することを特徴とする。
【００１５】
また、コンピュータネットワークに接続された情報処理装置であって、前記情報処理装置がデータ処理を行っていない場合に、前記情報処理装置を構成する一部のモジュールへ供給する電力またはクロックを停止する、あるいは、前記クロックの周波数を低減する電力抑制手段と、前記コンピュータネットワークを介してホストマシンから受信したパケットの種類を判定する判定手段と、前記判定の結果が分散処理の開始を示すパケットの受信を示す場合、前記分散処理に必要なモジュールへ供給する前記電力またはクロックの停止、および、前記クロックの周波数の低減を解除する制御手段とを有することを特徴とする。
【００１６】
また、コンピュータネットワークに接続された情報処理装置であって、前記コンピュータネットワークを介してホストマシンからパケットを受信する受信手段と、前記情報処理装置がデータ処理を行っていない場合に、前記情報処理装置を構成する一部のモジュールへの電力供給を停止し、前記受信手段がパケットを受信すると前記電力供給の停止を解除する電力抑制手段と、前記情報処理装置を構成する一部のモジュールへ供給するクロックを停止する、または、前記クロックの周波数を低減するクロック制御手段と、前記受信手段が受信したパケットの種類を判定し、前記パケットが分散処理の開始を示す場合、前記クロック制御手段に前記分散処理に不要なモジュールへ供給するクロックを停止、または、前記クロックの周波数の低減させる制御手段とを有することを特徴とする。
【００１７】
また、コンピュータネットワークに接続された情報処理装置であって、メモリに割り当てられた領域のデータを記憶装置に退避し、前記記憶装置に退避したデータを前記メモリに復帰する退避復帰手段と、前記情報処理装置を構成する一部のモジュールへ供給するクロックを停止する、または、前記クロックの周波数を低減するクロック制御手段と、前記コンピュータネットワークを介してホストマシンから受信したパケットの種類を判定する判定手段と、前記判定の結果が分散処理の開始を示すパケットの受信を示す場合、前記退避復帰手段に前記メモリ上の所定領域のデータを退避させ、前記クロック制御手段に前記分散処理に不要なモジュールへ供給するクロックを停止、または、前記クロックの周波数の低減させる制御手段とを有することを特徴とする。
【００１８】
本発明の制御方法は、コンピュータネットワークに接続され、装置がデータ処理を行っていない場合に、前記装置を構成する一部のモジュールへ供給する電力またはクロックを停止する、あるいは、前記クロックの周波数を低減する電力抑制部を有する情報処理装置の制御方法であって、前記コンピュータネットワークを介してホストマシンから受信したパケットの種類を判定し、前記判定の結果が分散処理の開始を示すパケットの受信を示す場合、前記分散処理に必要なモジュールへ供給する前記電力またはクロックの停止、および、前記クロックの周波数の低減を解除することを特徴とする。
【００１９】
また、コンピュータネットワークに接続され、前記コンピュータネットワークを介してホストマシンからパケットを受信する受信部、並びに、装置がデータ処理を行っていない場合に、前記装置を構成する一部のモジュールへの電力供給を停止し、前記受信部がパケットを受信すると前記電力供給の停止を解除する電力抑制部を有する情報処理装置の制御方法であって、前記受信部が受信したパケットの種類を判定し、前記パケットが分散処理の開始を示す場合、前記分散処理に不要なモジュールへ供給するクロックを停止、または、前記クロックの周波数の低減すことを特徴とする。
【００２０】
また、コンピュータネットワークに接続された情報処理装置の制御方法であって、前記コンピュータネットワークを介してホストマシンから受信したパケットの種類を判定し、前記判定の結果が分散処理の開始を示すパケットの受信を示す場合、メモリ上の所定領域のデータを記憶装置へ退避し、前記分散処理に不要なモジュールへ供給するクロックを停止、または、前記クロックの周波数の低減することを特徴とする。
【発明の効果】
【００２１】
本発明によれば、分散処理の対象機器が分散処理を行う際の消費電力を抑えることができる。
【発明を実施するための最良の形態】
【００２２】
以下、図面を参照して、本発明に好適な一実施例を詳細に説明する。
【００２３】
［概要］
図2はデスクトップグリッドコンピューティングの技術をプリンタ記述言語(PDL)処理に適用する場合の構成例を説明する図である。図1の説明では、グリッドを構成する各モジュールを別個のものとして扱ったが、デスクトップグリッドコンピューティングの技術を印刷装置に適用する場合、複数のモジュールが一つの機器の中に存在するのが一般的だと考えられる。
【００２４】
図2のクライアントPC 901は、プリンタ902に印刷を指示（プリントジョブの投入）する。プリンタ902はTMおよびDJSの機能を有し（つまり分散処理のホストマシンである）、PC 903から905はブローカおよびRMの機能をもつ。この構成により、例えばネットワーク907に接続された三台のPCを用いるグリッドコンピューティングによる分散処理が可能になる。
【００２５】
クライアントPC 901から投入されたジョブ（PDL形式のデータの印刷ジョブ）は、ホストマシンであるプリンタ902のTMおよびDJSによって、例えば第一頁はPC 903へ、第二頁はPC 904へ、第三頁はPC 905へといった具合に各リソースに分配され、PDLデータから画像データへの展開処理が実行される。その際、PDLデータのイメージ展開処理用のアプリケーションプログラムも同時にプリンタ902から各リソースへ送信されるようにする。各PCによってPDLデータから展開された画像（つまり、第一から第三頁の各頁の画像の処理結果）は、ホストマシンであるプリンタ902によって収集されて、三頁の画像906が印刷出力され、クライアントPC 901には印刷の終了が通知される。
【００２６】
勿論、この分散処理の対象リソースは四台以上のPCであってもよいし、ジョブ投入元のクライアントPC 901のリソースも利用することができるし、ネットワーク905上の他のプリンタのリソースを対象にしてもよい。
【００２７】
しかし、前述したように、機器が省電力モードに移行しいる、機器の一部モジュールに電力が投入されていない、または、動作周波数（例えばCPUのクロック周波数）が低くなっているような場合がある。これら省電力状態にある機器を分散処理のために通常動作状態まで復帰させれば、分散処理に不要な部分（モジュール）による消費電力を無駄に消費することになる。以下では、分散処理に不要な部分（モジュール）による無駄な消費電力を抑える実施例を詳細に説明する。
【実施例１】
【００２８】
［プリンタ］
図3は実施例のプリンタ1000の構成例を示す図である。なお、本実施例は、複数の複合機(MFP)、複写機、レーザビームやインクジェットプリンタが接続されるネットワーク環境に適用することができるが、以下では、典型的なプリンタとしてカラーレーザビームプリンタ（以下、単に「プリンタ」と呼ぶ）を例として説明する。また、図3に示すプリンタは、各色成分の画素を8ビットで階調表現した多値データに基づき、600 dpiの記録密度の画像を印刷する。
【００２９】
図3において、プリンタ1000は、外部に接続されるホストコンピュータ200から供給されるプリントデータ（文字コード、画像データ、PDLデータ等）および制御コードからなる印刷命令を受信して記憶するとともに、受信した印刷命令に従い、文字パターンやイメージなどを形成して、記録紙上にカラー可視像を形成する。フォーマッタ制御部110は、ホストコンピュータから供給される印刷命令を解析して印刷イメージの生成処理を行うとともに、プリンタ1000全体の制御を行う。また、フォーマッタ制御部110は、ユーザの操作・指示を入力し、ユーザへプリンタ1000の状態を通知するための、スイッチおよびLCD表示器などが配され、例えばプリンタ1000の筐体の一部として実装されているオペレーションパネル120と接続されている。
【００３０】
フォーマッタ制御部110において生成された最終的な印刷イメージは、ビデオ信号VDOとして出力制御部130に読み出される。出力制御部130は、プリンタ1000の各部に配置された各種センサ（図示しない）から状態信号を入力するとともに、光学ユニット140および各種駆動系機構部に対し制御信号を出力して印刷処理を制御し実行する。
【００３１】
給紙カセット161から供給される記録紙Pは、その先端をグリッパ154fにより狭持されて転写ドラム154の外周に保持される。光学ユニット140から出力されるレーザビームによって感光ドラム151上には、四色に色分解された画像の静電潜像がイエロー(Y)、マゼンタ(M)、シアン(C)およびブラック(Bk)の順に形成される。各色の静電潜像は、現像選択機構部152内の対応する現像器Dy、Dm、DcまたはDkによってトナー現像され、現像結果のトナー像が転写ドラム154上の記録紙Pに重畳転写され、記録紙P上に多色画像が形成される。
【００３２】
その後、記録紙Pは、転写ドラム154より分離され、定着ユニット155へ搬送される。そして、定着ユニット155によって熱と圧力によりトナー像が定着された記録紙Pは、排紙部159より排紙トレイ部160に排出される。
【００３３】
ここで、各色の現像器Dy、Dm、DcおよびDkは、その両端に回転支軸を有し、それぞれ、その軸を中心に回転可能に現像器選択機構部152に保持されている。これによって、各現像器は、図3に示すように、現像器を選択するために現像器選択機構部152が回転軸152aを中心に回転しても、その姿勢を一定に維持することができる。選択された現像器が現像位置に移動後、支点153bを有する選択機構保持フレーム153がソレノイド153aにより感光ドラム151の方向へ引っ張られ、現像器選択機構部152が感光ドラム151の方向へ移動することで現像処理が行われる。
【００３４】
また、フォーマッタ制御部110は印刷命令をデバイスに依存するビットマップデータに展開し、出力制御部130は、フォーマッタ制御部110からビットマップデータに対応するビデオ信号VDOを読み出す。このビデオ信号は、レーザドライバ141に入力され半導体レーザ素子を駆動する。半導体レーザ素子から出力されるレーザ光Lは、ビデオ信号VDOに応じてオンオフ制御され、さらに、スキャナモータ143によって高速回転するポリゴンミラー142によって反射され、f-θレンズ144および反射鏡145を介して、帯電器156によって所定の極性に均一に帯電された感光ドラム151上を走査露光する。これにより、感光ドラム151上には、ビデオ信号VDOに対応する静電潜像が形成される。
【００３５】
次に、例えばM色の静電潜像がM色の現像器Dmにより現像され、感光体ドラム151上にM色の第一のトナー像が形成される。一方、所定のタイミングで記録紙Pが給紙カセット161から供給され、トナーと反対極性（例えばプラス極性）の転写バイアス電圧が転写ドラム154に印加されることで、記録紙Pが転写ドラム154の表面に静電吸着されるとともに、感光体ドラム151上の第一のトナー像が記録紙Pに転写される。トナー像転写後、感光ドラム151に残留するトナーは、クリーナ157によって除去され、次の色の潜像形成および現像に備える。
【００３６】
以下同様の手順によってC、Y、Bkの順に第二、第三および第四色の静電潜像の走査露光、トナー像の現像および転写が行われる。ただし、第二、第三および第四色の転写時には、前回よりも高いバイアス電圧が転写ドラム154に印加される点で異なる。
【００３７】
四色のトナー像が重畳転写された記録紙Pの先端部が分離位置に近づくと、分離爪158が接近し、分離爪158記録紙Pの先端が転写ドラム154の表面に接触し、記録紙Pを転写ドラム154から分離する。分離された記録紙Pは、上述したように、定着ユニット155に搬送され、記録紙上のトナー像が定着された後、排紙トレイ160上に排出される。
【００３８】
プリンタ1000は、以上のような画像形成過程を経て600 dpiの解像度で画像を出力する。なお、本実施例において印刷装置として使用可能なプリンタは、カラーレーザビームプリンタに限られず、インクジェットプリンタやサーマルプリンタなど他の方式のカラープリンタでもよいし、モノクロプリンタでもよい。
【００３９】
［印刷システム］
図4は実施例の印刷システムの構成例を示すブロック図で、印刷システムは、ホストコンピュータ3000と複数のプリンタ1000、1001、1002、…が通信路2000を介して相互に接続された構成を有する。なお、図4には三台の印刷装置を記載するが、印刷装置の数については問わない。
【００４０】
●フォーマッタ制御部
フォーマッタ制御部110はPDLコントローラなどとも呼ばれ、ホストコンピュータ3000などとの通信を行うネットワークインタフェイス(I/F) 3101、受信データなどを一時的に保持する受信バッファ3103、送信データなどを一時的に保持する送信バッファ3104、印刷データを解析するコマンド解析部3107、印刷制御処理を実行する印刷制御処理部3109、描画処理を実行する描画処理部3105、ページメモリ3106などから構成される。
【００４１】
ネットワークI/F 3101は、ホストコンピュータ3000などと印刷データの送受信を行う。ただし、ホストコンピュータ3000と印刷装置の接続方法は任意で、LANなどのコンピュータネットワークを介した接続でも、USB (Universal Serial Bus)、やIEEE1394などのシリアルバスを介した接続であってもよい。勿論、通信路2000として赤外線や無線を利用することもできる。
【００４２】
ネットワークI/F 3101によって受信された印刷データは受信バッファ3103に逐次蓄積され、必要に応じて、コマンド解析部3107または描画処理部3105によって読み出されて処理される。コマンド解析部3107は、印刷命令体系や印刷ジョブ制御言語に準じた制御プログラムにより構成され、コマンドが文字印刷、図形、イメージなどの描画に関する場合は、その処理を描画処理部3105に指示し、コマンドが給紙選択やリセット命令など描画以外の場合は、その処理を印刷制御処理部3109に指示する。
【００４３】
描画処理部3105は、文字やイメージの各描画オブジェクトをページメモリ3106内のバンドメモリに逐次展開するYMCKレンダラである。図3に示すカラーレーザビームプリンタの場合、MCYKの順にデバイス依存ビットマップデータをプリンタエンジン3110に送る必要があるが、標準状態では、そのために必要なメモリ容量をすべて確保するわけではない。つまり、描画処理部3105は、1プレーン（1、2または4ビット/画素）の数分の一の容量のメモリ領域をバンドメモリとしてページメモリ3106内に確保し、バンドメモリを繰り返し用いて、プリンタエンジン3110の処理に同期した描画処理を実行する。なお、プリンタエンジン3110は、図3に示す光学ユニット140、感光ドラム151、現像選択機構部152、転写ドラム154、定着ユニット155など上述した画像形成過程を実行する構成全体の総称である。
【００４４】
通常は、描画処理部3105による展開処理を、プリンタエンジン3110へのビデオ信号のシッピング処理が追いかけるバンディング制御によってページメモリ3106は管理されるが、充分なメモリ容量がある場合は一頁分のビットマップデータを展開可能なメモリ領域を確保してもよい。
【００４５】
また、一般に、フォーマッタ制御部110は、中央演算処理装置(CPU)、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)などを用いるコンピュータシステムに、フォーマッタ制御部用の制御・処理プログラムを実行させることによって構成される。フォーマッタ制御部110内の各部の処理は、マルチタスクモニタ（リアルタイムOS）の基でタイムシェアリングに処理される構成であってもよいし、各機能ごとに専用のコントローラハードウェアを用意して独立に処理される構成であっても構わない。
【００４６】
オペレーションパネル120は、前述したように、ユーザの操作・指示を入力し、ユーザへプリンタ1000の状態を通知するためのものである。出力制御部3108は、バンドメモリ（ページメモリ）3106に展開されたビットマップデータをビデオ信号に変換処理し、プリンタエンジン3110へ転送する。プリンタエンジン3110は、受信したビデオ信号に基づき、記録紙上に可視像を形成する。
【００４７】
●ホストコンピュータ
ホストコンピュータ3000は、プリントデータおよび制御コードからなる印刷データをプリンタ1000に出力する。ホストコンピュータ3000は、入力装置としてのキーボード310やマウス311、表示装置であるディスプレイモニタ320が接続された一つのコンピュータシステムとして構成されている。なお、ホストコンピュータ3000は、中央演算処理装置(CPU)、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、ハードディスクドライブ(HDD)、各種入出力制御部(I/O)などのハードウェアの基で、Windows(R)などの基本ソフト(OS)がその制御を司り、その基本ソフトの基で、それぞれのアプリケーションソフトウェアやサブシステムプロセスが機能モジュールとして動作する。
【００４８】
本実施例に関与する機能のみに注目すると、ホストコンピュータ3000の機能部は、アプリケーションソフトウェア301、グラフィックサブシステム302、スプーラ303および印刷装置と通信を行うネットワークインタフェイス3033に区分される。アプリケーションソフトウェア301は、例えばワープロや表計算などのOS上で動作する、一般的なドキュメントを作成するアプリケーションソフトウェアである。
【００４９】
グラフィックサブシステム302は、OSの機能の一部であるGraphics Device Interface（以後「GDI」と記す）3021、GDI 3021から動的にリンクされるデバイスドライバであるプリンタドライバ3022、バンドスプーラ3023および積算データ3024（例えば、ともにRAMの所定領域に格納される）によって構成される。プリンタドライバ3022は、GDI 3021からDevice Driver Interface（以降「DDI」と記す）3025を介してコールされ、印刷装置に応じた処理を描画オブジェクトごとに行う。本実施例にかかるホストコンピュータ3000は、DDI関数に渡された情報をプリンタが高速に処理可能な印刷命令データ(PDL)形式に変換して直接スプーラ303に送出する場合と、生成した印刷命令データをバンド単位に分割してバンドスプーラ3023に第一のバンドから順に一頁分保持し、頁の最後にまとめてスプーラ303に送出する場合の、二通りの処理が存在する。
【００５０】
スプーラ303は、OSが管理するスプールファイルシステムで、設定により一頁単位またはジョブ単位で印刷データをスプールファイル3031（例えば、HDDに格納領域が割り当てられる）として格納し、I/F 3032およびネットワークI/F 3033を介して印刷装置に送信する。
【００５１】
OSによって、上述した各部の名称や機能的な枠組みが若干異なる場合もあるが、これら名称や枠組みの相違は本実施例の本質には影響しない。例えば、本実施例でスプーラやスプールファイルと呼ぶモジュールは、別のOSにおいてはプリントキューと呼ばれるモジュールを用いて実現可能である。
【００５２】
●プリンタドライバの処理
図5はプリンタドライバ3022の処理概要を模式的に示す図で、一般的なドキュメント作成アプリケーションを使って作成したドキュメント4001は、グラフィクス、文字、イメージを含むものとする。
【００５３】
ドキュメント4001を印刷する際、まず、OSにインストールされているプリンタドライバ3022に対して、OSを介して、描画命令4002、4003が渡される。プリンタドライバ3022は、初期状態は通常のPDLモード系ドライバと同様に、描画命令ごとに印刷命令（PDL）を生成し、スプーラ303に書き込み、コマンド数やコマンドの種類に応じた所定の計算式で計算したデータサイズを積算データ3024として積算する(S4004)。なお、OSを介してプリンタドライバ3022が受け取る描画命令（DDI関数）は、描画オブジェクトの重なりの、下位のレイヤから順に出力される仕様である。スプーラ303は、一頁分のデータすべてが書き込まれると、スプールファイル3031として蓄えた印刷命令（PDL）および積算データ3024を後述するタスクマネージャに送信し、スプールファイル3031をクリアし、積算データ3024のクリアをプリンタドライバ3023に指示する(S4012)。
【００５４】
一方、積算データ3024の値が、予め定めたデータサイズ、コマンド数などを超えた場合は頁単位の処理を、下記のバンド単位の処理に切り替える。なお、図5に示す「矩形描画（イメージの背景）」4021、「イメージ描画」4022および「イメージの実体（画像データ）」4023まではスプーラ303に格納され、「イメージの実体」4023がスプーラ303に出力された時点で積算データ3024が予め定めたデータサイズの閾値を超えたタイミングでバンド単位の処理に切り替えられるものとする。
【００５５】
プリンタドライバ3022は、上記のタイミングでバンド単位の処理に切り替えると、「イメージの実体」4023以降の描画命令4003に対する印刷命令を生成し、印刷装置が処理するバンド領域ごとに、印刷命令を分けて描画順にバンドスプーラ3023に格納し管理する(S4006)。OSから渡される描画命令4003（DDI関数）は、印刷装置の印刷方向とは無関係に出力されるため、本実施例のように頁の途中からバンド単位の処理に切り替わった場合も、第一のバンドから第N番目のバンドまで頁内のすべてのバンドに対する格納処理が行われる。
【００５６】
格納処理はプリンタドライバ3022内のDDI関数がコールされる度に行われる。もし、バンド単位の処理用に確保した格納領域に空きがなくなった場合は、新たにRAMの領域を確保することで対処する。一頁分の残りに相当する、第一のバンドから第N番目のバンドまでの描画データの格納が終了すると、印刷装置に処理させるバンド順にデータをスプーラ303に書き出し、バンドスプーラ3023をクリアする(S4009)。
【００５７】
各バンドデータの先頭には、以降に送出するバンドデータの情報(Band N inf)4011を付加することで、印刷データが頁単位からバンド単位に移行したことを印刷装置に認識させる。スプーラ303は、一頁分の印刷データが書き込まれると、スプーラファイル3031および積算データ3024を後述するタスクマネージャへ送信し、スプールファイル3031をクリアし、積算データ3024のクリアをプリンタドライバ3022に指示する(S4012)。
【００５８】
●印刷装置のハードウェア構成
図6は印刷装置のハードウェア構成例を示す図である。
【００５９】
印刷装置のCPU 501は、ROM 502に格納された制御・処理プログラムに従い、RAM 503をワークメモリに利用して印刷装置全体の制御、画像処理を含む演算処理などを行う。ROM 502は、制御・処理プログラムなどが格納されていて、CPU 501は、ROM 502からプログラムを読み出し実行することによって動作する。RAM 503は、ネットワーク2000との送受信データを一時保存する受信バッファ3103、送信バッファ3104、描画された画像データを一時保存するページメモリ3106、CPU 501が演算に必要なデータを一時保存するワークメモリなどとして利用される。これらCPU 501、ROM 502、RAM 503を組み合わせることによって、フォーマット制御部110などが実現される。
【００６０】
CPU 501、ROM 502、RAM 503はシステムバス504によって相互に接続され、さらにバスブリッジ506を介して、拡張バス505に接続される。バスブリッジ506によって、システムバス504と拡張バス505は独立に動作可能である。プリンタI/F 507は、RAM 503などに格納された画像データをプリンタエンジン3110へ転送する。
【００６１】
ネットワークI/F 3101は、バイセントロインタフェイスであるIEEE1284 I/F 508、および、ネットワークコントローラ509を備える。PHY 511は、ネットワーク2000と接続するための物理トランシーバである。また、MII I/F 512は、PHY 511へLANC 509を接続するためのインタフェイスで、PHY 511との間でハンドシェークのデータ転送を行う。さらに、LANC 509が内蔵する制御部513は、LANC 509内の制御および外部との通信の制御を行う。制御部513は、専用の信号線510によってCPU 501へ割り込みを通知することが可能で、ネットワーク2000とのデータの送受信の終了を通知したりすることが可能である。また、ネットワーク2000上の別の機器からデータパケットを受信し、そのデータパケットから特定のビットパターン検出した場合（以下「特定のパケットを受信」と記す）、CPU 501へその旨を割り込みで通知する。なお、特定のパケットには、マジックパケット(Magic Packet)や、後述する分散処理の開始を示すパケットが含まれ、それらのビットパターンは制御部513に予め保持されている。なお、分散処理の開始を示すパケットのビットパターンは、予めホストコンピュータおよび印刷装置の間で設定されているものとする。なお、本実施例では、この分散処理の開始を示す特定のビットパターンを有するパケットを「Gridパケット」と呼ぶことにする。
【００６２】
クロック制御部514は、図示しないクロック供給線によって上記の各モジュールにクロックを分配する。クロック制御部514は、CPU 501から設定可能なレジスタ514aの値によって、一部のモジュールへ供給するクロックの停止（以下「クロック停止」と呼ぶ）、クロック停止の解除、一部のモジュールへ供給するクロックを通常動作時よりも低い周波数にする（以下「クロックダウン」と呼ぶ）、通常動作時の周波数に戻す（以下「クロックアップ」と呼ぶ）などの制御が可能である。
【００６３】
●分散処理
図7は印刷システムの分散処理を説明する図である。なお、以下の説明では、タスクマネージャ(TM) 3034およびダイナミックジョブスケジューラ(DJS) 3035は、ホストコンピュータ3000のCPUが実行する基本ソフト上に実装されたソフトウェアによって機能するものとする。また、ブローカおよびリソースマネージャ(RM)は、各印刷装置のCPUが実行する基本ソフト上に実装されたソフトウェアによって機能するものとする。
【００６４】
まず、ホストコンピュータ3000はジョブを開始する。なお、本実施例の場合、ジョブとはプリント動作のことである。ジョブを受信したTM 3034は、ジョブリクエストをDJS 3035に送り、その分析を依頼し、DJS 3035からの分析結果（最適なブローカを示す通知を含む）に基づき、ジョブをブローカ1003、1005および/または1007へ投入する（図7はプリンタ1002のブローカ1007へジョブが投入された状態を示している）。なお、DJS 3035は、定期的にブローカへ状況を問い合わせてリソース（印刷装置の空き状況）の状況および印刷システム全体の状況を常に把握し、最適なブローカを選択する。
【００６５】
各印刷装置のブローカ1003、1005、1007は、同じ装置のRM 1004、1006、1008からリソースの空き状態などを吸い上げ、DJS 3035に登録する。また、各ブローカは、TM 3034からジョブを投入されると、最適なリソースを探し、そのリソースにRMを介してジョブを投入し、RMからのジョブ完了通知（および処理結果）をTM 3034に通知する。また、各RMは、リソースに異常があれば、その旨を同じ装置のブローカへ通知する。なお、異常とは、他のクライアントからジョブを投入されて、TM 3034から投入される/されたジョブを継続して処理することができない場合などに当たる。
【００６６】
図8はTM 3034の処理を示すフローチャートである。
【００６７】
TM 3034は、ジョブが投入されるのを待ち(S1101)、ジョブが投入されるとその処理時間を予測する(S1102)。処理時間は、前述した積算データ3024から予測することができる。
【００６８】
次に、処理時間の予測結果から分散処理するか否かを判定し(S1103)、分散処理した方が速いと判断した場合は、予め指定された機器にジョブから分割した処理を投入する(S1105)。なお、処理の分割方法は、バンド単位、頁単位などが可能である。勿論、複数の機器に分割した処理を分散投入してもよいし、ある機器ですべてを処理した方が速ければその機器にジョブを丸ごと投入してもよい。
【００６９】
DJS 3035は、定期的に、ネットワークに接続されたプリンタ1002などに実装されているブローカ1007などへ状況を問い合わせるため、ネットワークに接続されているリソース（印刷装置の空き情報）などの状態を把握し、この把握した情報を内部に保持している。このため、機器を指定する際は、DJS 3035が保持しているネットワーク上のリソース情報を元に、空いている機器を選択し、ジョブを投入することが可能である。
【００７０】
次に、分割した処理を投入した機器から返される処理結果（ここでは、レンダリングされ、ビットマップデータに変換された画像データ）を結合し(S1106)、ジョブに指定されたプリンタに画像を印刷させて(S1107)ジョブを終了する。勿論、一台の機器に丸ごとジョブを投入した場合は処理結果を結合する必要はない。
【００７１】
また、ステップS1103の判定で、ジョブに指定されたプリンタで処理した方が速い、分散処理した方が速くても予め指定された機器のリソースが他のジョブの処理中で処理の高速化が期待できない、あるいは、ジョブが比較的軽く指定されたプリンタの処理速度で充分処理できる場合などは、ジョブに指定されたプリンタに処理（レンダリングおよびビットマップデータへの変換）(S1104)および画像の印刷(S1107)を行わせ、ジョブを終了する。
【００７２】
ここでは、TM 3034によってプリンタ1000に分割処理が投入される場合を想定する。TM 3034による分散処理の開始指示に対して、プリンタ1000のCPU 501上で動作するブローカ1003が応答し、次に、同様にCPU 501上で動作するRM 1004が応答する。そして、ブローカ1003は、分割処理の受信が可能であること、および、プリンタ1000のリソースの状況をTM 3034に返信する。この返信に対して、TM 3034はブローカ1003に分割処理を送信する。
【００７３】
図9は分割処理を投入された機器の消費電力の制御を説明するフローチャートである。
【００７４】
プリンタ1000はネットワーク2000からパケットを受信するまで待機状態（クロック停止、または、クロックダウンした省電力状態）にあり、LANコントローラ(LANC) 509は、パケットを受信すると割り込みを発生して、CPU 501にパケットの受信を通知する(S701)。割り込みを受信したCPU 501は、LANC 509内部のレジスタ509aの値を読み、割り込みの要因を判定し(S702、S703)、マジックパケットの受信による割り込みの場合は、クロック制御部514内部のレジスタ514aを操作して、クロック停止の解除およびクロックアップにより、通常の動作を開始する(S704)。また、Gridパケット（分散処理の開始を示すパケット）の受信による割り込みの場合は、分散処理に必要なリソース（図6の例ではCPU 501、RAM 503、バスブリッジ506、ネットワークI/F 3101など）のみクロック停止の解除およびクロックアップを行い(S705)、TM 3034から送られてくる分割処理のデータを受信し、分散処理を実行する(S706)。
【００７５】
LANC 509は、その内部の割り込み要因を示すレジスタ509aの、受信したパケットの種類（マジックパケット、Gridパケット）を示すビットをセットする。CPU 501は、このレジスタ509aの値を読み込むことによって、受信したパケットがマジックパケットかGridパケットか、あるいは、それら以外のパケットを受信したのかを知ることができる。もし、マジックパケット、Gridパケット以外のパケットを受信した場合、プリンタ1000は何も動作を行わず、そのまま処理を終了する。
【００７６】
図15は、図9に示す処理において、Gridパケットによる割り込みが発生し、ステップS706で分散処理を開始する前にマジックパケットを受信した場合を考慮した、機器の消費電力の制御を説明するフローチャートである。
【００７７】
CPU 501は、分散処理に必要なリソースのみクロック停止の解除およびクロックアップを行い(S705)、その後、LANC 509のレジスタ509aの値を読みマジックパケットを受信したか否かを判定する(S711)。マジックパケットを受信していなければ分散処理(S706)を実行するが、マジックパケットを受信していた場合は、不揮発性RAM(NVRAM) 503aの値を読み印刷処理を優先するか、分散処理を優先するかを判定する(S712)。なお、どちらの処理を優先するかはオペレーションパネル120から設定可能で、その設定はNVRAM 503aに保持されている。
【００７８】
印刷処理を優先する場合、CPU 501（ブローカ1003）は、分散処理の中断をTM 3034に通知し(S713)、全リソースのクロック停止の解除およびクロックアップを行って印刷処理を実行する(S714)。そして、印刷処理終了後、CPU 501（ブローカ1003）は、分散処理の再開をTM 3034に通知し(S715)、分散処理に不要なリソースのクロック停止またはクロックダウンを行って分散処理を実行する(S716)。なお、分散処理の再開を通知した後、TM 3034から分散処理の解除が通知された場合、CPU 501は分散処理を実行しない。
【００７９】
また、分散処理を優先する場合、CPU 501は、分散処理を実行し(S717)、その後、全リソースのクロック停止の解除およびクロックアップを行って印刷処理を実行する(S718)。
【００８０】
このように、Gridパケットを受信した場合、分散処理に必要な部分（図6の例では、CPU 501、RAM 503、バスブリッジ506、ネットワークI/F 3101など）のみに通常動作時の周波数のクロックを供給し、分散処理に不要なプリンタI/F 507、プリンタエンジン3110などの部分はクロック停止またはクロックダウンにする。従って、分散処理の対象機器が、分散処理中に、分散処理に不要な部分で無駄な電力を消費することを防ぐことができる。
【００８１】
なお、消費電力の抑制のために、クロック停止およびクロックダウンだけでなく、電力制御部によってモジュールへ供給する電力を停止する場合もある。その場合、ステップS705で、CPU 501は分散処理に必要なモジュールへの電力停止を解除するように電力制御部を制御する。
【実施例２】
【００８２】
以下、本発明にかかる実施例2を説明するが、実施例2において、実施例1と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【００８３】
実施例2において、実施例1と異なる点は、図10に示すように、プリンタ1000に電力制御を行う電力制御部516を追加し、ネットワーク2000からパケットを受信した際のLANC 509の割り込み信号515が電力制御部516に入力される点である。電力制御部516は、LANC 509以外のモジュールに供給する電力をオンオフする機能を有し、LANC 509から割り込み信号515を受信すると停止した電力の供給を再開することができる。
【００８４】
ここでは、TM 3034によってプリンタ1000に分割処理が投入される場合を想定する。TM 3034は、電力制御部516によってプリンタ1000が省電力状態に遷移する前に、プリンタ1000上で動作するブローカ1003およびRM 1004からプリンタ1000のリソースの情報を取得しているものとする。
【００８５】
LANC 509は、ネットワーク2000からパケットを受信すると割り込み信号515を発生する。割り込み信号を受信した電力制御部516は、LANC 509以外のモジュールへの電力の供給を再開する。
【００８６】
図11は分割処理を投入された機器の消費電力の制御を説明するフローチャートである。
【００８７】
CPU 501は、電力の供給が再開されると、ブートアップ処理を実行する(S801)。ブートアップ処理は、CPU 501が、ROM 502の所定のアドレスに記憶されているプログラムを読み込み、プリンタ1000内部の各モジュールの初期化などを実行する処理である。
【００８８】
ブートアップ処理が終了すると、CPU 501は、LANC 509内のレジスタ509aの値を読み込み、受信したパケットがマジックパケットかGridパケットかを判定する(S802、S803)。マジックパケットを受信した場合、通常の印刷処理が開始されるものとして、ホストコンピュータ3000からデータを受信して印刷処理を実行する(S804)。他方、Gridパケットを受信した場合は、分散処理に必要なリソース以外（図6の例ではプリンタI/F 507やプリンタエンジン3110など）をクロック停止またはクロックダウンにして(S805)、TM 3034から送られてくる分割処理のデータを受信し、分散処理を実行する(S806)。
【００８９】
このように、電力供給の再開後、Gridパケットを受信した場合は分散処理に必要な部分（図6の例では、CPU 501、RAM 503、バスブリッジ506、ネットワークI/F 3101など）のみに通常動作時の周波数のクロックを供給し、分散処理に不要なプリンタI/F 507、プリンタエンジン3110などの部分はクロック停止またはクロックダウンにする。従って、分散処理の対象機器に分散処理させる際に、分散処理に不要な部分の電力消費を抑えることができる。
【実施例３】
【００９０】
以下、本発明にかかる実施例3を説明するが、実施例3において、実施例1、2と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【００９１】
実施例3において、実施例1と異なる点は、図12に示すように、プリンタ1000にハードディスクインタフェイス(HD I/F) 517および、ハードディスクドライブ(HDD) 518を追加した点である。CPU 501は、HD I/F 517を制御して、RAM 503とHDD 518の間でデータを読み書きすることが可能になる。
【００９２】
図13は分割処理を投入された機器の消費電力の制御を説明するフローチャートである。なお、分割処理が投入前、プリンタ1000は通常動作を行うために、各モジュールへ電力が供給され、クロック制御部514から各モジュールへ通常動作時の周波数のクロックが供給されている。
【００９３】
CPU 501は、LANC 509から割り込みが発生したか否かを判定している(S901)。ホストコンピュータ3000が分散処理を実行するためGridパケットをLANC 509へ送信すると、LANC 509は、割り込み信号510によりCPU 501へパケットの受信を通知する。割り込みの発生を検出したCPU 501は、LANC 509内のレジスタ509aの値を読み込み、Gridパケットを受信したか否かを判定する(S902)。Gridパケットを受信せず、ホストコンピュータ3000から通常の印刷処理を受信した場合は、通常の印刷処理を実行する(S903)。
【００９４】
一方、Gridパケットを受信した場合、CPU 501は、RAM 503上に存在する印刷処理用のプログラムなどをHDD 518へ退避する(S904)。これは、図14(a)に示すように、RAM 503上には基本ソフトであるOSを含むシステム用のプログラム領域と、印刷処理を行うための印刷処理用のプログラム領域、画像データなどを保持するための印刷処理用のデータ領域などがあり、分散処理を開始するに当りRAM 503上に空き領域をつくるために、印刷処理用のプログラム領域、さらに必要であれば印刷処理用のデータ領域をHDD 518に退避する。
【００９５】
次に、CPU 501は、分散処理用のプログラムをダウンロードする(S905)。分散処理用のプログラムは、ホストコンピュータ3000からネットワーク2000経由でダウンロードしてRAM 503へ展開する、あるいは、予めHDD 518に格納されたプログラムをHDD 518から読み出してRAM 503へ展開する、など複数の方法がある。図14(b)は分散処理用のプログラムを展開した後のRAM 503の割り当てを示す図で、さらに、分散処理結果を保持するための分散処理用のデータ領域もOSによって確保される。
【００９６】
次に、CPU 501は、クロック制御部514のレジスタ514aを設定して、分散処理に必要なリソース（CPU 501、RAM 503、ネットワークI/F 3101など）以外の、例えばプリンタI/F 507、プリンタエンジン3110、HD I/F 517をクロック停止またはクロックダウンにする(S906)。勿論、HDD 518のディスクの回転を停止してもよい。
【００９７】
次に、CPU 501は、ホストコンピュータ3000から投入された分割処理を実行し(S907)、分割処理が終了するとLANC 509を制御して、分割処理の結果をホストコンピュータ3000に転送（アップロード）し(S908)、クロック停止の解除およびクロックアップする(S909)。もし、HDD 518のディスクの回転を停止した場合、回転を再開した後、HDD 518に退避した印刷処理用のプログラム領域（必要ならば印刷処理用のデータ領域も）をRAM 503に復帰して(S910)、分散処理を終了する。
【００９８】
このように、分散処理を開始する際に、RAM 503上の分散処理に関与しないプログラムやデータ領域を一旦HDD 518へ退避し、分散処理用のプログラムおよびデータを保持するRAM 503の領域を確保する。従って、比較的少ないRAM 503の記憶容量が少ない場合でも分散処理が可能になり、さらに、分散処理に関与しないモジュールへのクロック停止またはクロックダウンにより、分散処理中の電力消費を抑えることができる。
【００９９】
［他の実施例］
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【０１００】
また、本発明の目的は、前述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはCPUやMPU）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施例の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【０１０１】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【０１０２】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【０１０３】
【図１】グリッドコンピューティング(grid computing)のアーキテクチャを説明する図、
【図２】デスクトップグリッドコンピューティングの技術をプリンタ記述言語(PDL)処理に適用する場合の構成例を説明する図、
【図３】実施例のプリンタの構成例を示す図、
【図４】実施例の印刷システムの構成例を示すブロック図
【図５】プリンタドライバの処理概要を模式的に示す図、
【図６】印刷装置のハードウェア構成例を示す図、
【図７】印刷システムの分散処理を説明する図、
【図８】TMの処理を示すフローチャート、
【図９】分割処理を投入された機器の消費電力の制御を説明するフローチャート、
【図１０】実施例2の印刷装置のハードウェア構成例を示す図、
【図１１】実施例2の分割処理を投入された機器の消費電力の制御を説明するフローチャート、
【図１２】実施例3の印刷装置のハードウェア構成例を示す図、
【図１３】実施例3の分割処理を投入された機器の消費電力の制御を説明するフローチャート、
【図１４】RAMの割り当てを示す図、
【図１５】図9に示す処理において、Gridパケットによる割り込みが発生し、分散処理を開始する前にマジックパケットを受信した場合を考慮した、機器の消費電力の制御を説明するフローチャートである。
【図１】
2005352694.tif 000003
【図２】
2005352694.tif 000004
【図３】
2005352694.tif 000005
【図４】
2005352694.tif 000006
【図５】
2005352694.tif 000007
【図６】
2005352694.tif 000008
【図７】
2005352694.tif 000009
【図８】
2005352694.tif 000010
【図９】
2005352694.tif 000011
【図１０】
2005352694.tif 000012
【図１１】
2005352694.tif 000013
【図１２】
2005352694.tif 000014
【図１３】
2005352694.tif 000015
【図１４】
2005352694.tif 000016
【図１５】
2005352694.tif 000017
【手続補正書】
【提出日】平成17年6月13日(2005.6.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
グリッド処理する印刷ジョブを受信する受信手段と、
待機状態にあるリソースの中から前記グリッド処理に必要なリソースを起動して、前記受信手段によって受信した印刷ジョブに対して前記グリッド処理を行う処理手段とを有することを特徴とする印刷装置。
【請求項２】
前記グリッド処理に必要なリソースには少なくともCPU、メモリおよびネットワークインタフェイスが含まれることを特徴とする請求項1に記載された印刷装置。
【請求項３】
前記処理手段は、前記グリッド処理に必要なリソースに対してクロック停止の解除およびクロックアップを行うことで、前記グリッド処理に必要なリソースを起動することを特徴とする請求項1または請求項2に記載された印刷装置。
【請求項４】
さらに、前記グリッド処理の処理結果を前記印刷ジョブを発行したホストマシンに送信する送信手段を有することを特徴とする請求項1から請求項3の何れかに記載された印刷装置。
【請求項５】
グリッド処理する印刷ジョブを受信する受信手段と、
前記グリッド処理に不必要なリソースを起動しないように制御し、前記受信手段によって受信した印刷ジョブに対して前記グリッド処理を行う処理手段とを有することを特徴とする印刷装置。
【請求項６】
前記グリッド処理に不必要なリソースには少なくともCPU、メモリおよびネットワークインタフェイスは含まれないことを特徴とする請求項5に記載された印刷装置。
【請求項７】
さらに、前記グリッド処理の処理結果を前記印刷ジョブを発行したホストマシンに送信する送信手段を有することを特徴とする請求項5または請求項6に記載された印刷装置。
【請求項８】
コンピュータネットワークへ接続される情報処理装置であって、
前記情報処理装置がデータ処理を行っていない場合に、前記情報処理装置を構成する一部のモジュールへ供給する電力またはクロックを停止、あるいは、前記クロックの周波数を低減する電力抑制手段と、
前記コンピュータネットワークを介してホストマシンから受信したパケットの種類を判定する判定手段と、
前記判定の結果が分散処理の開始を示すパケットの受信を示す場合、前記分散処理に必要なモジュールへ供給する前記電力またはクロックの停止、および、前記クロックの周波数の低減を解除する制御手段とを有することを特徴とする情報処理装置。
【請求項９】
前記制御手段は、前記判定の結果が印刷処理の開始を示すパケットの受信を示す場合、前記電力抑制手段による前記電力またはクロックの停止、および、前記クロックの周波数の低減を解除することを特徴とする請求項8に記載された情報処理装置。
【請求項１０】
さらに、前記分散処理と前記印刷処理のどちらを優先的に処理するかを示す設定情報を保持するメモリを有し、
前記制御手段は、前記分散処理の開始を示すパケットが受信された後、前記分散処理を開始するまでに前記印刷処理の開始を示すパケットが受信された場合、前記設定情報に基づき、前記分散処理または前記印刷処理を優先的に処理することを特徴とする請求項9に記載された情報処理装置。
【請求項１１】
前記分散処理に必要なモジュールには、少なくともCPU、メモリ、ネットワークインタフェイスが含まれることを特徴とする請求項8から請求項10の何れかに記載された情報処理装置。
【請求項１２】
前記判定手段は、前記パケットの種類を判定した結果を格納し、前記制御手段からアクセス可能なするレジスタ、並びに、前記パケットの受信を示す信号を前記制御手段に送信する送信手段を有することを特徴とする請求項8から請求項11の何れかに記載された情報処理装置。
【請求項１３】
前記電力抑制手段は、前記前記電力またはクロックの停止、および、前記クロックの周波数の低減を設定し、前記制御手段からアクセス可能なレジスタを有することを特徴とする請求項8から請求項11の何れかに記載された情報処理装置。
【請求項１４】
さらに、前記分散処理の結果を前記コンピュータネットワークを介して前記ホストマシンに送信する送信手段を有することを特徴とする請求項8から請求項13の何れかに記載された情報処理装置。
【請求項１５】
コンピュータネットワークへ接続される情報処理装置であって、
前記コンピュータネットワークを介してホストマシンからパケットを受信する受信手段と、
前記情報処理装置がデータ処理を行っていない場合に、前記情報処理装置を構成する一部のモジュールへの電力供給を停止し、前記受信手段がパケットを受信すると前記電力供給の停止を解除する電力抑制手段と、
前記情報処理装置を構成する一部のモジュールへ供給するクロックを停止、または、前記クロックの周波数を低減するクロック制御手段と、
前記受信手段が受信したパケットの種類を判定し、前記パケットが分散処理の開始を示す場合、前記クロック制御手段に前記分散処理に不要なモジュールへ供給するクロックを停止、または、前記クロックの周波数の低減させる制御手段とを有することを特徴とする情報処理装置。
【請求項１６】
コンピュータネットワークへ接続される情報処理装置であって、
メモリに割り当てられた領域のデータを記憶装置に退避し、前記記憶装置に退避したデータを前記メモリに復帰する退避復帰手段と、
前記情報処理装置を構成する一部のモジュールへ供給するクロックを停止、または、前記クロックの周波数を低減するクロック制御手段と、
前記コンピュータネットワークを介してホストマシンから受信したパケットの種類を判定する判定手段と、
前記判定の結果が分散処理の開始を示すパケットの受信を示す場合、前記退避復帰手段に前記メモリ上の所定領域のデータを退避させ、前記クロック制御手段に前記分散処理に不要なモジュールへ供給するクロックを停止、または、前記クロックの周波数の低減させる制御手段とを有することを特徴とする情報処理装置。
【請求項１７】
さらに、前記分散処理の結果を前記コンピュータネットワークを介して前記ホストマシンに送信する送信手段を有し、
前記制御手段は、前記分散処理結果の送信後、前記クロック制御手段に前記クロックの停止、および、前記クロックの周波数の低減を解除させ、前記退避復帰手段に前記記憶装置に退避したデータを前記メモリに復帰させることを特徴とする請求項16に記載された情報処理装置。
【請求項１８】
グリッド処理する印刷ジョブを受信し、
待機状態にあるリソースの中から前記グリッド処理に必要なリソースを起動して、前記受信した印刷ジョブに対して前記グリッド処理を行うことを特徴とする印刷方法。
【請求項１９】
グリッド処理する印刷ジョブを受信し、
前記グリッド処理に不必要なリソースを起動しないように制御し、前記受信手段によって受信した印刷ジョブに対して前記グリッド処理を行うことを特徴とする印刷方法。
【請求項２０】
コンピュータネットワークに接続される情報処理装置の制御方法であって、
前記コンピュータネットワークを介してホストマシンから受信したパケットの種類を判定し、
前記判定の結果が分散処理の開始を示すパケットの受信を示す場合、メモリ上の所定領域のデータを記憶装置へ退避し、前記分散処理に不要なモジュールへ供給するクロックを停止、または、前記クロックの周波数の低減することを特徴とする制御方法。
【請求項２１】
印刷装置を制御して、請求項18または請求項19の何れかに記載された印刷を実現することを特徴とするプログラム。
【請求項２２】
情報処理装置を制御して、請求項20に記載された制御を実現することを特徴とするプログラム。
【請求項２３】
請求項21または請求項22に記載されたプログラムが記録されたことを特徴とする記録媒体。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は印刷装置およびその方法、並びに、情報処理装置およびその制御方法に関し、例えば、コンピュータネットワークに接続されたプリンタや複合機能印刷装置などの情報処理装置にグリッドコンピューティングの負荷分散システムを適用する場合に関する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
本発明にかかる印刷装置は、グリッド処理する印刷ジョブを受信する受信手段と、待機状態にあるリソースの中から前記グリッド処理に必要なリソースを起動して、前記受信手段によって受信した印刷ジョブに対して前記グリッド処理を行う処理手段とを有することを特徴とする。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
また、グリッド処理する印刷ジョブを受信する受信手段と、前記グリッド処理に不必要なリソースを起動しないように制御し、前記受信手段によって受信した印刷ジョブに対して前記グリッド処理を行う処理手段とを有することを特徴とする。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
本発明にかかる情報処理装置は、コンピュータネットワークへ接続される情報処理装置であって、前記情報処理装置がデータ処理を行っていない場合に、前記情報処理装置を構成する一部のモジュールへ供給する電力またはクロックを停止、あるいは、前記クロックの周波数を低減する電力抑制手段と、前記コンピュータネットワークを介してホストマシンから受信したパケットの種類を判定する判定手段と、前記判定の結果が分散処理の開始を示すパケットの受信を示す場合、前記分散処理に必要なモジュールへ供給する前記電力またはクロックの停止、および、前記クロックの周波数の低減を解除する制御手段とを有することを特徴とする。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】変更
【補正の内容】
【００１６】
また、コンピュータネットワークへ接続される情報処理装置であって、前記コンピュータネットワークを介してホストマシンからパケットを受信する受信手段と、前記情報処理装置がデータ処理を行っていない場合に、前記情報処理装置を構成する一部のモジュールへの電力供給を停止し、前記受信手段がパケットを受信すると前記電力供給の停止を解除する電力抑制手段と、前記情報処理装置を構成する一部のモジュールへ供給するクロックを停止、または、前記クロックの周波数を低減するクロック制御手段と、前記受信手段が受信したパケットの種類を判定し、前記パケットが分散処理の開始を示す場合、前記クロック制御手段に前記分散処理に不要なモジュールへ供給するクロックを停止、または、前記クロックの周波数の低減させる制御手段とを有することを特徴とする。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】変更
【補正の内容】
【００１７】
また、コンピュータネットワークへ接続される情報処理装置であって、メモリに割り当てられた領域のデータを記憶装置に退避し、前記記憶装置に退避したデータを前記メモリに復帰する退避復帰手段と、前記情報処理装置を構成する一部のモジュールへ供給するクロックを停止、または、前記クロックの周波数を低減するクロック制御手段と、前記コンピュータネットワークを介してホストマシンから受信したパケットの種類を判定する判定手段と、前記判定の結果が分散処理の開始を示すパケットの受信を示す場合、前記退避復帰手段に前記メモリ上の所定領域のデータを退避させ、前記クロック制御手段に前記分散処理に不要なモジュールへ供給するクロックを停止、または、前記クロックの周波数の低減させる制御手段とを有することを特徴とする。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】変更
【補正の内容】
【００１８】
本発明にかかる印刷方法は、グリッド処理する印刷ジョブを受信し、待機状態にあるリソースの中から前記グリッド処理に必要なリソースを起動して、前記受信した印刷ジョブに対して前記グリッド処理を行うことを特徴とする。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】変更
【補正の内容】
【００１９】
また、グリッド処理する印刷ジョブを受信し、前記グリッド処理に不必要なリソースを起動しないように制御し、前記受信手段によって受信した印刷ジョブに対して前記グリッド処理を行うことを特徴とする。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００２０
【補正方法】変更
【補正の内容】
【００２０】
本発明にかかる制御方法は、コンピュータネットワークに接続される情報処理装置の制御方法であって、前記コンピュータネットワークを介してホストマシンから受信したパケットの種類を判定し、前記判定の結果が分散処理の開始を示すパケットの受信を示す場合、メモリ上の所定領域のデータを記憶装置へ退避し、前記分散処理に不要なモジュールへ供給するクロックを停止、または、前記クロックの周波数の低減することを特徴とする。