(57)【要約】【課題】  ハードウェアの書き換えを前提とした複数の端末装置でネットワーク経由の分散処理を可能とする。【解決手段】  ホストコンピュータから特定の機器にジョブを投入し、機器の装備及び動作状況を管理する。投入されたジョブの処理の一部をハードウェアで処理可能なネットワーク上の機器の状態を把握する。ジョブを投入された機器はジョブの一部を処理するのに必要なハードウェアの書き換え情報と処理データとを生成してネットワーク上の分散処理依頼可能な他の機器に送信する。他の機器はハードウェアの書き換え情報と処理データとを受信し、機器内のハードウェアの書き換えを行うことが可能であり、書き換えを行ったハードウェアによって処理を行い、分散処理依頼元の機器に処理後のデータを返信する。【選択図】      図３
2007140952.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続された複数の機器で分散処理を行う分散処理システムであって、
ホストコンピュータから特定の機器にジョブを投入するジョブ投入手段と、
前記分散処理を行う機器の装備及び動作状況を管理する管理手段とを有し、
前記管理手段は、前記ジョブ投入手段によって投入されたジョブの処理の一部をハードウェアで処理可能なネットワーク上の機器の状態を把握し、
前記ジョブを投入された特定の機器が、前記ジョブの一部を処理するのに必要なハードウェアの書き換え情報と処理データとを生成し、前記ネットワーク上の分散処理依頼可能な他の機器に送信し、
前記他の機器が、前記ハードウェアの書き換え情報と処理データとを受信し、機器内のハードウェアの書き換えを行うことが可能であり、前記書き換えを行ったハードウェアによって処理を行い、分散処理依頼元の機器に処理後のデータを返信することを特徴とする分散処理システム。
【請求項２】
前記管理手段は、前記ジョブ投入手段によって投入されたジョブの一部を処理するのに必要なハードウェアの回路規模を把握し、分散処理依頼する機器に書き換え可能なハードウェア部分に前記処理を行うのに十分な空きスペースがあるか否かを判断する判断手段を更に有することを特徴とする請求項１記載の分散処理システム。
【請求項３】
前記分散処理を依頼される機器のハードウェアの書き換え及び、書き換えられたハードウェアによる処理が終了した時点で、前記分散処理を依頼された機器は前記分散処理依頼している機器に対してハードウェアの回路の貸し出しに見合う課金が成立することを特徴とする請求項１記載の分散処理システム。
【請求項４】
前記ハードウェアの回路の貸し出しに見合う課金とは、貸し出したハードウェアの回路規模や演算器等の性能に応じたものであることを特徴とする請求項３記載の分散処理システム。
【請求項５】
前記分散処理を依頼される機器のハードウェアの書き換え及び、書き換えられたハードウェアによる処理が終了した時点で、機器の販売者が分散処理依頼している機器に対してハードウェアの回路の貸し出しに見合う課金のうち、一部の供給を受けることを特徴とする請求項３記載の分散処理システム。
【請求項６】
ネットワークに接続された複数の機器で分散処理を行う分散処理システムの処理方法であって、
ホストコンピュータから特定の機器にジョブを投入するジョブ投入工程と、
前記分散処理を行う機器の装備及び動作状況を管理する管理工程とを有し、
前記管理工程は、前記ジョブ投入手段によって投入されたジョブの処理の一部をハードウェアで処理可能なネットワーク上の機器の状態を把握し、
前記ジョブを投入された特定の機器が、前記ジョブの一部を処理するのに必要なハードウェアの書き換え情報と処理データとを生成し、前記ネットワーク上の分散処理依頼可能な他の機器に送信し、
前記他の機器が、前記ハードウェアの書き換え情報と処理データとを受信し、機器内のハードウェアの書き換えを行うことが可能であり、前記書き換えを行ったハードウェアによって処理を行い、分散処理依頼元の機器に処理後のデータを返信することを特徴とする分散処理システムの処理方法。
【請求項７】
ジョブを受信し、
印刷装置から書き換え可能なハードウエアブロックの空情報を得て、
前記ハードウエアの空情報を用いて、前記ジョブのうち前記印刷装置にて処理させるジョブを決定し、
前記印刷装置のハードウエアの空情報から前記印刷装置の前記ハードウエアの書き換えを行い、
前記書き換え後のハードウエアにより処理された前記ジョブを受信することを特徴とする処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上に接続されたＭＦＰ（マルチファンクションペリフェラル）やプリンタで分散処理を行う技術に関するものである。
【背景技術】
【０００２】
従来、大量の処理を複数の機器に分散させて処理し、高速な処理を可能とするシステムや機構について、複数の提案がなされている（例えば、非特許文献１参照）。
【非特許文献１】ＩＢＭプロフェッショナル論文「グリッド・コンピューティングの商用システムへの適用性」http://www-6.ibm.com/jp/provision/no36/pdf/36_ppr1.p
【発明の開示】
【発明が解決しようとする課題】
【０００３】
一般に、ネットワーク接続された複数の機器により分散処理を行う場合、他の機器から依頼されたジョブに対する制御をソフトウェアが行うことによりＣＰＵの負荷が発生し、自機のメインジョブのパフォーマンスに影響を与えてしまう。
【０００４】
また、他の機器から依頼されたジョブに対する制御をハードウェアで行う場合、処理を依頼する側の機器と同様の仕様に基づくハードウェアを、依頼された側の機器も装備していないと分散処理を行うことはできない。
【０００５】
近年、ハードウェアを書き換え可能なシステムが多く提案されているが、ネットワーク経由の分散処理において、ハードウェアの書き換えを前提としたシステムは具体的に提案されていなかった。
【０００６】
本発明は、上記課題を解決するためになされたもので、ハードウェアの書き換えを前提とした複数の端末装置でネットワーク経由の分散処理を可能とすることを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、ネットワークに接続された複数の機器で分散処理を行う分散処理システムであって、ホストコンピュータから特定の機器にジョブを投入するジョブ投入手段と、前記分散処理を行う機器の装備及び動作状況を管理する管理手段とを有し、前記管理手段は、前記ジョブ投入手段によって投入されたジョブの処理の一部をハードウェアで処理可能なネットワーク上の機器の状態を把握し、前記ジョブを投入された特定の機器が、前記ジョブの一部を処理するのに必要なハードウェアの書き換え情報と処理データとを生成し、前記ネットワーク上の分散処理依頼可能な他の機器に送信し、前記他の機器が、前記ハードウェアの書き換え情報と処理データとを受信し、機器内のハードウェアの書き換えを行うことが可能であり、前記書き換えを行ったハードウェアによって処理を行い、分散処理依頼元の機器に処理後のデータを返信することを特徴とする。
【０００８】
また、本発明は、ネットワークに接続された複数の機器で分散処理を行う分散処理システムの処理方法であって、ホストコンピュータから特定の機器にジョブを投入するジョブ投入工程と、前記分散処理を行う機器の装備及び動作状況を管理する管理工程とを有し、前記管理工程は、前記ジョブ投入手段によって投入されたジョブの処理の一部をハードウェアで処理可能なネットワーク上の機器の状態を把握し、前記ジョブを投入された特定の機器が、前記ジョブの一部を処理するのに必要なハードウェアの書き換え情報と処理データとを生成し、前記ネットワーク上の分散処理依頼可能な他の機器に送信し、前記他の機器が、前記ハードウェアの書き換え情報と処理データとを受信し、機器内のハードウェアの書き換えを行うことが可能であり、前記書き換えを行ったハードウェアによって処理を行い、分散処理依頼元の機器に処理後のデータを返信することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、分散処理依頼を受けた機器は依頼元のハードウェア書き換え情報により書き換わり、その直後に処理を行うことができるので、ハードウェアリソースを有効に活用し、高速、かつ柔軟な分散処理システムを構築することが可能となる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照しながら発明を実施するための最良の形態について詳細に説明する。尚、本実施形態は、クライアントからジョブを受け取り、膨大な時間のかかる処理を行う場合に、グリッド（grid）のフレームワークを使用して複数の機器の処理能力を有効活用し、より高速な分散処理を実現するものである。
【００１１】
＜印刷装置の構成＞
図１は、本実施形態における印刷装置の構成の一例を示す側断面図である。尚、本実施形態では、印刷装置の一例としてカラーレーザービームプリンタ（カラーＬＢＰ）を例に挙げて複数のＭＦＰ（マルチファンクションペリフェラル）やプリンタが接続されているネットワーク環境について説明する。図１に示すカラーＬＢＰは、６００ドット／インチ（ｄｐｉ）の解像度を有し、各色成分の画素が８ビットで表現された多値データに基づいて画像記録を行うものとする。
【００１２】
図１において、１００はカラーＬＢＰ本体であり、外部に接続されているコンピュータ（ホスト）から供給されるプリントデータ（文字コードや画像データ等）及び制御コードからなる印刷命令を受信して記憶する。また、受信した印刷命令に従って、対応する文字パターンやイメージ等を作成し、記憶媒体の一例としての記録紙上に可視像を形成する。１１０はホストコンピュータから供給される印刷命令を解析し、印刷イメージの生成処理を行うと共に、カラーＬＢＰ本体１００の制御を行うフォーマッタ制御部である。
【００１３】
また、フォーマッタ制御部１１０は、ユーザによる操作及びユーザに対する状態通知のためのスイッチやＬＥＤ表示器等が配されているオペレーション・パネル部１２０と接続されている。オペレーション・パネル部１２０は、例えばカラーＬＢＰ本体１００の筐体の一部として実装されている。このフォーマッタ制御部１１０で生成された最終的な印刷イメージはビデオ信号として出力制御部１３０に送出される。
【００１４】
一方、出力制御部１３０は、カラーＬＢＰ本体１００の不図示の各種センサからの状態入力と共に、光学ユニット１４０及び各種駆動系機構部に対して制御信号を出力し、印刷装置１００の印刷処理制御を司る。
【００１５】
図１に示すように、給紙カセット１６１から給紙された記録紙Ｐはその先端がグリッパ１５４ｆにより狭持され、転写ドラム１５４の外周に保持される。光学ユニット１４０により感光ドラム１５１上に形成された、４色に色分解された原稿画像の静電潜像は、順次、イエロー（Ｙ），シアン（Ｃ），マゼンタ（Ｍ），ブラック（Ｂ）の各色現像器Ｄｙ，Ｄｃ，Ｄｍ，Ｄｂにより現像される。現像結果である各色トナー像を転写ドラム１５４上の記録紙Ｐに重ねて転写することにより、記録紙Ｐ上に多色画像が形成される。
【００１６】
その後、記録紙Ｐは転写ドラム１５４より分離され、定着ユニット１５５へ搬送される。定着ユニット１５５では熱と圧力によりトナー像を記録紙Ｐに定着し、記録紙Ｐを排紙部１５９より排紙トレイ部１６０へ排出する。
【００１７】
ここで、各色の現像器Ｄｙ，Ｄｃ，Ｄｍ，Ｄｂは、その両端に回転支軸を有し、各々がその軸を中心に回転可能となるように現像器選択機構部１５２に保持される。これにより、各現像器Ｄｙ，Ｄｃ，Ｄｍ，Ｄｂは、図１に示すように現像器選択のために現像器選択機構部１５２が回転軸１５２ａを中心にして回転しても、その姿勢を一定に維持できる構成をとっている。
【００１８】
選択された現像器が現像位置に移動した後、現像器選択機構部１５２は現像器と一体で支点１５３ｂを中心にして、選択機構保持フレーム１５３がソレノイド１５３ａによって感光ドラム１５１方向へ引っ張られる。これにより、感光ドラム１５１方向へ移動し現像処理が行われるように構成されている。
【００１９】
次に、帯電器１５６によって感光ドラム１５１が所定の極性に均一に帯電される。ここで、フォーマッタ制御部１１０においてデバイス依存ビットマップとして展開された印刷命令は、対応するパターンのビデオ信号に変換され、レーザドライバに出力され、半導体レーザ１４１を駆動する。一方、入力されたビデオ信号に応じて半導体レーザ１４１から発射されるレーザ光はオン、オフ制御され、スキャナモータ１４３によって高速回転するポリゴンミラー１４２で反射される。そして、レーザ光はポリゴンレンズ１４４、反射鏡１４５を介して感光ドラム１５１上を走査露光する。これにより、感光ドラム１５１上にはビデオ信号に対応した静電潜像が形成される。
【００２０】
次に、例えばＹ（イエロー）色の静電潜像がＹ（イエロー）色の現像器Ｄｙにより現像され、感光体ドラム１５１上にＹ（イエロー）色の第１のトナー像が形成される。一方、所定のタイミングで記録紙Ｐが給紙され、トナーと反対極性（例えばプラス極性）の転写バイアス電圧が転写ドラム１５４に印加され、感光体ドラム１５１上の第１のトナー像が記録紙Ｐに転写され、記録紙Ｐが転写ドラム１５４の表面に静電吸着される。
【００２１】
その後、感光ドラム１５１は、クリーナー１５７によって残留するＹ（イエロー）色のトナーが除去され、次の色の潜像形成及び現像行程に備える。以下、同様の手順によってＣ（シアン）、Ｍ（マゼンタ）、Ｂｋ（ブラック）の順で第２，３，４色目のトナー像の転写が行われる。但し、各色の転写時に、転写ドラム１５４には前回よりも高いバイアス電圧が印加される点は異なる。
【００２２】
次に、４色のトナー像が重畳転写された記録紙Ｐの先端部が分離位置に近づくと、分離爪１５８が接近してその先端が転写ドラム１５４の表面に接触し、記録紙Ｐを転写ドラム１５４から分離させる。分離された記録紙Ｐは定着ユニット１５５に搬送され、ここで記録紙上のトナー像が定着されて排紙トレイ１６０上に排出される。カラーレーザービームプリンタは、以上のような画像形成過程を経て６００ドット／インチ（ｄｐｉ）の解像度で画像出力を行う。
【００２３】
尚、本発明において印刷装置として使用可能なプリンタは、カラーＬＢＰに限られるものではなく、インクジェットプリンタやサーマルプリンタ等、他の方式のカラープリンタでも良いし、モノクロプリンタであっても良い。
【００２４】
＜印刷システムの構成＞
図２は、本実施形態における印刷システムの構成例を示す図である。図２に示すように、ホストコンピュータ３００と複数の印刷装置１００、１０１、１０２とがネットワーク（通信可能な構成）に接続された構成を有する。尚、ここでは、３台の印刷装置１００、１０１、１０２について明記するが、台数については問わない。また、印刷装置１００、１０１、１０２の構成はそれぞれ同じであり、ここでは印刷装置１００を例に挙げて説明する。
【００２５】
まず、印刷装置１００におけるフォーマッタ制御部２００について、図２を用いて説明する。このフォーマッタ制御部２００は、ＰＤＬコントローラなどとも呼ばれ、ホストコンピュータ３００との接続手段であるインターフェース（Ｉ／Ｆ）部２０１を含む。また、受信データ等を一時的に保持管理するための受信バッファ２０２、送信データ等を一時的に保持管理するための送信バッファ２０３を含む。更に、描画処理を実行する描画処理実行部２０４、１ページ分のデータを記憶するページメモリ２０５、印刷データの解析を司るコマンド解析部２０６、出力制御部２０７、印刷制御処理実行部２０８を含む。
【００２６】
インターフェース（Ｉ／Ｆ）部２０１は、ホストコンピュータ３００との印刷データの送受信を行う通信手段であり、通信プロトコルとして、例えばIEEE-1284に準拠した通信を可能とするものである。尚、ホストコンピュータ３００と印刷装置１００との接続方法は任意である。例えば、ＬＡＮなどのコンピュータネットワークを介した接続や、ＵＳＢ（Universal Serial Bus）、IEEE-1394などのシリアルインターフェースを介した接続でも良い。ここでは、３０５に示すネットワークを介した接続を想定する。
【００２７】
ホストコンピュータ３００から受信された印刷データは、インターフェース部２０１を通してデータを一時的に保持する受信バッファ２０２へ送られ、逐次蓄積される。そして、必要に応じてコマンド解析部２０６又は描画処理実行部２０４によって読み出され処理される。コマンド解析部２０６は、印刷命令体系や印刷ジョブ制御言語に準じた制御プログラムにより構成される。ここで、文字の印字、図形やイメージなどの描画に関する印刷データの解析結果は、描画処理実行部２０４に指示を与えて処理し、給紙選択やリセット命令などの描画以外のコマンドは印刷制御処理実行部２０８に指示を出して処理する。
【００２８】
描画処理実行部２０４は、文字やイメージの各描画オブジェクトをページメモリ２０５内のバンドメモリに逐次展開して行くＹＭＣＫレンダラである。尚、図１に示したカラーＬＢＰに対しては、ＭＣＹＫの順番でデバイス依存ビットマップデータを送出する必要があるが、標準状態では、展開に必要なメモリを全て確保しているわけではない。つまり、１プレーン（１、２、又は４ビット／画素）の数分の１のメモリ領域がバンドメモリ領域としてページメモリ２０５内に確保される。そして、バンドメモリ領域を繰り返し用い、プリンタエンジン２０９の処理に同期して描画処理を実行するように構成されている。
【００２９】
通常、このように描画処理実行部２０４による展開処理をプリンタエンジン２０９へのビデオ信号のシッピング処理が追いかけるバンディング制御によってページメモリ２０５は管理されている。しかし、十分なメモリがある場合は、１ページ分が展開可能なメモリ領域を確保しても良い。
【００３０】
尚、一般的にフォーマッタ制御部２００は、中央演算処理装置（ＣＰＵ）、リードオンリーメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）などを用いたコンピュータ・システムによって構成されている。また、フォーマッタ制御部２００内の各部の処理は、マルチタスクモニタ（リアルタイムＯＳ）により、タイムシェアリング処理される構成であっても良いし、各機能毎に専用のコントローラ・ハードウェアを用意して独立して処理される構成でもかまわない。
【００３１】
オペレーション・パネル１２０は、上述した通り、印刷装置１００の各種状態を設定・表示するためのものである。出力制御部２０７は、ページメモリ（バンドメモリ）２０５の内容をビデオ信号に変換処理し、プリンタエンジン２０９へ転送する。一方、プリンタエンジン２０９は、受け取ったビデオ信号に基づいて記録紙上に永久可視画像を形成するための印刷機構であり、図１を用いて説明した各種機構を含む。
【００３２】
＜ホストコンピュータの構成＞
図２において、３００は本発明の印刷命令生成装置に好適な本実施形態におけるホストコンピュータであり、プリントデータ及び制御コードを含む印刷データを印刷装置１００に出力する。ホストコンピュータ３００は、入力装置としてのキーボード３０７やマウス３０６と、表示装置であるディスプレイモニタ３０８とが接続された一つのコンピュータ・システムとして構成されている。また、ホストコンピュータ３００は、Windows（登録商標）などの基本ソフト（ＯＳ）によって動作しているものとする。
【００３３】
ここで、ホストコンピュータ側について、本発明に関する部分にのみ注目し、機能的に大きく分類すると、アプリケーションソフトウェア３０１、グラフィック・サブ・システム３０２、スプーラ３０３に大別される。スプーラ３０３は、スプールファイル３３１と通信インターフェース３３２（Ｉ／Ｆ）とを含む。Ｉ／Ｆ３３２は、ネットワーク３０５を介して印刷装置１００と通信するためのものである。
【００３４】
アプリケーションソフトウェア３０１は、例えばワープロや表計算などのＯＳ上で動作する応用ソフトウェアである。またグラフィック・サブ・システム３０２は、ＯＳの機能の一部であるグラフィックデバイスインターフェース（ＧＤＩ）３２１と、ＧＤＩ３２１から動的にリンクされるデバイスドライバであるプリンタドライバ３２２とを含む。更に、バンドスプーラ３２３と、積算データ３２４とを含む。
【００３５】
このプリンタドライバ３２２は、ＧＤＩ３２１からデバイスドライバインターフェース（ＤＤＩ）を介してコールされ、印刷装置１００に応じた所定の処理を描画オブジェクト毎に行う。本実施形態におけるホストコンピュータ３００では、次の二通りの処理が存在する。１つ目は、ＤＤＩ関数により渡された情報をプリンタで高速に処理可能な印刷命令データ（ＰＤＬ）形式に変換し、直接スプーラ３０３に送出する場合の処理である。２つ目は、生成した印刷命令データ（ＰＤＬ）をバンド単位に分割し、バンドスプーラ３２３に第１バンドから順に１ページ分保持し、ページの最後にまとめてスプーラ３０３に送出する場合の処理である。
【００３６】
このスプーラ３０３は、ＯＳが管理しているスプールファイルシステムであり、設定により１ページ単位又はジョブ単位で印刷データをスプールファイル３３１として格納し、Ｉ／Ｆ３３２を介して印刷装置１００に送出する。
【００３７】
ＯＳにより、上述した各部の名称や機能的な枠組みが若干異なる場合もあるが、これらの名称や枠組みの相違は本発明の本質には影響しない。例えば、本実施形態でスプーラやスプールファイルと呼ぶモジュールは、別のＯＳにおいてはプリント・キューと呼ばれるモジュールを用いて実現可能である。
【００３８】
尚、一般的に、これらの各機能モジュールを含むホストコンピュータ３００は、ＣＰＵ、ＲＯＭ、ＲＡＭ、ＨＤＤ、Ｉ／Ｏなどのハードウェアを基本ソフト（ＯＳ）と呼ばれるソフトウェアが制御する。そして、その基本ソフトに基づいて、それぞれの応用ソフト、サブ・システム・プロセスが機能モジュールとして動作する。ここで、ＣＰＵは中央演算処理装置、ＲＯＭはリードオンリーメモリ、ＲＡＭはランダムアクセスメモリ、ＨＤＤはハードディスクドライブ、Ｉ／Ｏは各種入出力制御部である。
【００３９】
＜プリンタドライバの処理＞
プリンタドライバ３２２は、一般的なドキュメント作成アプリケーションを使って作成されたグラフィックス、文字、イメージを含むドキュメントに対して所定の処理を行う。このドキュメントを印刷する際に、まずＯＳにインストールされているプリンタドライバ３２２に対してＯＳを介して描画命令が渡される。プリンタドライバ３２２は、初期状態は通常のＰＤＬモード系ドライバと同様に、描画命令毎に印刷命令（ＰＤＬ）を生成し、システムスプーラ３０３に書き込みを実施する。この際に、プリンタドライバ３２２は、コマンド数やコマンドの種類に応じた所定の計算式で計算したデータサイズを積算データ３２４として積算していく。ここで、積算データ３２４は、例えばホストコンピュータの有するＲＡＭの所定領域に格納される。
【００４０】
尚、ＯＳを介してプリンタドライバ３２２が受け取る描画命令（ＤＤＩ関数）は、描画オブジェクトの重なりの下のレイヤーから順に出力される仕様になっている。
【００４１】
１ページ分の全データをシステムスプーラ３０３に書き込めたときは、スプーラ３０３にスプールファイル３３１として蓄えられた印刷命令（ＰＤＬ）を印刷装置１００に送出し、積算データ３２４をクリアする。一方、積算データ３２４の値が所定のデータサイズ、コマンド数等を超えた時は、以下のように処理を切り替える。
【００４２】
システムスプーラ３０３に格納されたイメージデータ以降の描画命令に対する印刷命令を生成し、初期化時に、例えばＲＡＭ内に所定領域として確保しておいたバンドスプーラ３２３に印刷装置１００が処理するバンド領域毎に分けて描画順に格納し管理する。これは、ＯＳから渡される描画命令（ＤＤＩ関数）は、印刷装置の印字方向とは無関係に出力されるためである。このように処理することにより、本実施形態のように、ページの途中からバンド処理に切り替わった場合にも、第１バンドから第Ｎバンドまでページ内の全てのバンドに対する格納処理を行うことができる。
【００４３】
この格納処理はプリンタドライバ３２２内のＤＤＩ関数がコールされる度に行われる。尚、バンド領域内に格納領域に格納できなくなった時は、新たにＲＡＭの領域を確保することで対処する。第１バンドから第Ｎバンドまでの１ページ分の残りの描画データ格納が終了したら、印刷装置１００で処理されるバンド順にデータをシステムスプーラ３０３に書き出す。
【００４４】
また、各バンドデータの先頭には、以降に送出するバンド情報を付加することにより、印刷装置１００側で印刷データがページ単位からバンド単位に移行したことを認識可能とする。そして、１ページ分の印刷データがシステムスプーラ３０３にスプールされると、印刷装置１００に送出する。
【００４５】
ここで、図３を用いて、ホストコンピュータ３００が印刷処理を複数の印刷装置１００、１０１、１０２に分散させて処理する際に、タスクマネージャー３０４と各印刷装置とで行われる処理について説明する。
【００４６】
図３は、複数の印刷装置１００、１０１、１０２を用いて分散処理を行う場合の一例を示す図である。まず、ホストコンピュータ３００において、ジョブが開始される（この例では、プリント動作とする）。そして、ホストコンピュータ３００からのジョブの開始を受け、タスクマネージャー３０４が以下の動作を行う。
【００４７】
まず、ユーザからの要求に対してダイナミックジョブスケジューラ（ＤＪＳ）３１０に分析を依頼し、ＤＪＳ３１０からの分析結果に基づき、最適なブローカ１０３、１０５、１０７へジョブを投入する。また、ＤＪＳ３１０はジョブの処理をハードウェアによって処理するのか、ソフトウェアによって処理するのかを判定する。具体的には、各印刷装置のリソースマネージャー１０４、１０６、１０８がハードウェアによって処理可能であるか否かを判断し、ＤＪＳ３１０はその結果に基づいて判定する。
【００４８】
次に、ＤＪＳ３１０では、ジョブを投入したブローカへ定期的に進行状況の問いかけを行い、そのブローカからのジョブ完了通知を受けると、ホストコンピュータ３００へ完了を通知する。また、ＤＪＳ３１０はタスクマネージャー３０４からの各リソースの状況を把握する。そして、タスクマネージャー３０４からジョブリクエストを受け取り、最適なブローカを選択し、タスクマネージャー３０４に通知を行う。
【００４９】
更に、ＤＪＳ３１０は、全体のリソースの状況を常に把握しておく。ここで、上述したリソースとは、印刷装置１００、１０１、１０２の空き状況のことである。
【００５０】
次に、印刷装置のブローカ１０３、１０５、１０７では、リソースマネージャー１０４、１０６、１０８からリソースの状態を入力し、ＤＪＳ３１０へ出力する。また、タスクマネージャー３０４からの要求を受け、最適なリソースを探してジョブを投入する。更に、リソースマネージャーからのジョブ完了通知をタスクマネージャーに通知する。
【００５１】
最後に、リソースマネージャ１０４、１０６、１０８は、リソースの情報をブローカに通知し、ブローカからの指示によりリソースにジョブを投入する。更に、定期的にリソースの状態を入力し、異常があればブローカへ通知する。ここで、異常状態とは、他のジョブを他のクライアントから投入された場合とかで、継続してジョブを続けることができなくなった場合をいう。
【００５２】
次に、図４を用いて、ハードウェアの書き換え手段を用いた分散処理の例について説明する。図４は、印刷装置１０１がクライアントＰＣ４０１から投入されたジョブを受けた後、ハードウェアで処理可能なジョブの一部の処理を印刷装置１０２に処理依頼している様子を示す図である。まず管理サーバ４０２は、ハードウェアで処理可能なクライアントＰＣ４０１から投入されたジョブのジョブＩＤやジョブを分割する。そして、それぞれの分割ジョブに付加したサブＩＤ及びそれぞれに対応する分割ジョブのタイプとその処理に必要なハードウェアの回路規模が登録されている管理テーブル４１０を参照する。
【００５３】
図４に示す例では、管理テーブル４１０を管理サーバ４０２が参照する一方、印刷装置１０２から必要に応じて書き換え可能なハードウェアブロックの空き状況（規模）に関する情報を取得する。そして、管理テーブル４１０の情報と空き領域とを比較し、処理可能か否かを機器との間でハンドシェイクすることで、前記クライアントPC４０１から受信したジョブのうち印刷装置１０２に処理させるジョブの内容を決定する。また、図４に示す例では、サブＩＤ＝１の処理がタイプ＝４の処理内容であり、必要な回路規模（領域）が印刷装置１０２上で現在、自由に書き換えられる領域に収まっていると判断する。そして、サブＩＤ＝１の処理を行うための回路書き換え情報を印刷装置１０１から印刷装置１０２へ送る。また、不図示であるが、印刷装置１０１に対して管理サーバ４０２はサブＩＤ＝１のジョブの処理は印刷装置１０２に処理依頼を行うように、指示を出している。
【００５４】
図５は、印刷装置１０１から印刷装置１０２へのジョブの処理依頼を行っている様子を示す図である。印刷装置１０１は、IP address、Config Code、Setup Data、input dataを含む情報５１０をネットワークへ送出する。ここで、IP addressは、印刷装置１０２のＩＰアドレスであり、Config Codeは上述したサブＩＤ＝１のジョブの処理を行うために必要なハードウェア書き換え用のデータである。また、Setup Dataは書き換えた後の回路に設定するためのデータであり、input dataは書き換えた後の回路に処理させるべき入力データである。input dataは印刷装置１０２に処理させるジョブである。
【００５５】
次に、ネットワークへ送出された情報５１０は印刷装置１０２によって受け取られる。印刷装置１０２は入力したデータにより、書き換え可能なハードウェアから必要な回路を生成し、書き換えた後の回路に設定を行った後、入力データを処理する。生成された回路によって処理された出力データは、印刷装置１０１のＩＰアドレスと共にネットワークに送られ、印刷装置１０１がそれを受け取る。
【００５６】
尚、管理サーバ４０２は、印刷装置１０２以外のその他の印刷装置（不図示）からもハードウエアブロックの空情報を受信して、ジョブ依頼するようにしても良い。また、印刷装置１０１が管理サーバ４０１をかねても良い。
【００５７】
印刷装置１０１では、印刷装置１０２により処理済のジョブ（他の不図示の印刷装置があればその印刷装置により処理されたジョブ）、ならびに印刷装置１０１自身が処理したジョブを用いて印刷処理を行う。
【００５８】
図６は、印刷装置１０２のコントローラ内部の詳細構成を示す図である。コントローラ内部は、ＣＰＵ６０１、ネットワークコントローラ６０２、書き換え可能なハードウェア（reconfigurable cell）６０３、ハードウェア群６０４に分類される。ＣＰＵ６０１は印刷装置１０２全体の制御を行う中央処理装置であるが、他の機器から依頼された処理に関しては書き換え可能なハードウェア６０３の未使用領域の状況について把握のみ行う。また、ＣＰＵ６０１は、他の機器から依頼された処理をハードウェアが行っている最中はその制御に介在せず、処理の終了タイミングを割り込みで知る程度にとどめ、処理負荷が最小限で済むように構成されている。
【００５９】
次に、ネットワークコントローラ６０２は、ネットワーク経由で他の機器から送られてくるデータが自装置宛てであるか否かをＩＰアドレスにより判定する機能を有する。また、書き換え可能なハードウェア６０３用のデータ（Config Code）の場合、そのデータ部分を切り出し、書き換え可能なハードウェア６０３に転送してハードウェアを書き換える機能を有する。また同様に、書き換えた後の回路に設定するためのデータ（Setup Data）も切り出し、書き換え後のハードウェアに転送して処理に必要な設定を行い、最後に処理を行うために、必要な入力データを設定後のハードウェアに入力する。そして、処理後の出力データに対してはデータ転送元のＩＰアドレスを付加してネットワークに送り返す。
【００６０】
尚、外部機器に対して書き換え可能なハードウェア６０３の未使用領域はＣＰＵ６０１が把握し、ネットワークコントローラ６０２の所定領域に未使用領域数を書き込んでおく。そして、外部機器が印刷装置１０２のステータスを取得する時に書き換え可能なハードウェア６０３の未使用領域数を把握できるようにしておく。図６に示す例では、書き換え可能なハードウェア６０３のグリッド用（for grid）と記載されている領域のみが外部に使用可能な領域である。そして、他のブロックは印刷装置１０２内の処理にのみ使用している（或いは、使用する可能性があり、リザーブしている）領域である。
【００６１】
また、ハードウェア群６０４は書き換え不可能な通常のハードウェアブロックであり、印刷装置１０２内の処理のみに使用する。
【００６２】
以上の構成において、印刷装置１０２内の書き換え可能なハードウェア６０３は、外部機器からのジョブを処理するために書き換えられ、ネットワーク経由での分散処理を行うための機能を提供するものである。
【００６３】
次に、図７及び図８を用いて、本実施形態における分散処理の課金について説明する。図７は、印刷装置１０１から書き換え可能なハードウェアを有する機器を見つけ出した時に印刷装置１０１の操作部に表示する画面の一例を示す図である。操作部には、分散処理を依頼するジョブの種別や処理を行うのに必要な予想時間（estimated time）及びそれに応じた課金（charge）が表示される。印刷装置１０１では、この表示情報を参考にして、処理の緊急度と金額を踏まえて処理を依頼するか否かを操作部のタッチパネル上のＹｅｓ又はＮｏを選択することで指示を送る。Ｙｅｓを選択した場合は分散処理依頼が行われ、処理が終了した時点で印刷装置１０２のユーザに対して金額が支払われる。
【００６４】
尚、印刷装置１０２のユーザはこのような支払いを期待して、日頃から未使用なハードウェアブロックが存在する場合はネットワーク上の他の機器のために処理することを許可しておけば良い。また、分散処理依頼が成立した場合、機器を提供している販売者が中間マージンとして受け取るケースも考えられる。
【００６５】
図８は、本実施形態における課金の流れを説明するための図である。印刷装置１０１のユーザ８０１から印刷装置１０２のユーザ８０２に使用量として金額の８割が支払われ、印刷装置１０２の販売者８０２に金額の２割が支払われる。
【００６６】
このようにして書き換え可能なハードウェアを有する機器の所有者はネットワーク経由で他の機器へジョブを処理するためにハードウェアを貸し出し、利益を得ることができる。また、機器販売者は課金の仕組みを提供している立場として一部の利益の供給を受けることができる。
【００６７】
尚、本発明は複数の機器（例えば、ホストコンピュータ，インターフェース機器，リーダ，プリンタなど）から構成されるシステムに適用しても、１つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用しても良い。
【００６８】
また、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（ＣＰＵ若しくはＭＰＵ）が記録媒体に格納されたプログラムコードを読出し実行する。これによっても、本発明の目的が達成されることは言うまでもない。
【００６９】
この場合、記録媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【００７０】
このプログラムコードを供給するための記録媒体としては、例えばフロッピー（登録商標）ディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００７１】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、次の場合も含まれることは言うまでもない。即ち、プログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合。
【００７２】
更に、記録媒体から読出されたプログラムコードがコンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００７３】
【図１】本実施形態における印刷装置の構成の一例を示す側断面図である。
【図２】本実施形態における印刷システムの構成例を示す図である。
【図３】複数の印刷装置１００、１０１、１０２を用いて分散処理を行う場合の一例を示す図である。
【図４】印刷装置１０１がクライアントＰＣ４０１から投入されたジョブを受けた後、ハードウェアで処理可能なジョブの一部の処理を印刷装置１０２に処理依頼している様子を示す図である。
【図５】印刷装置１０１から印刷装置１０２へのジョブの処理依頼を行っている様子を示す図である。
【図６】印刷装置１０２のコントローラ内部の詳細構成を示す図である。
【図７】印刷装置１０１から書き換え可能なハードウェアを有する機器を見つけ出した時に印刷装置１０１の操作部に表示する画面の一例を示す図である。
【図８】本実施形態における課金の流れを説明するための図である。
【符号の説明】
【００７４】
１００  印刷装置
１１０  フォーマッタ制御部
１２０  オペレーション・パネル部
１３０  出力制御部
１４０  光学ユニット
１４１  半導体レーザ
１４２  ポリゴンミラー
１４３  スキャナモータ
１４４  ポリゴンレンズ
１４５  反射鏡
１５１  感光ドラム
１５２  現像器選択機構部
１５３  選択機構保持フレーム
１５４  転写ドラム
１５５  定着ユニット
１５６  帯電器
１５７  クリーナー
１５８  分離爪
１５９  排紙部
１６０  排紙トレイ
１６１  給紙カセット
３００  ホストコンピュータ
【図１】
2007140952.tif 000003
【図２】
2007140952.tif 000004
【図３】
2007140952.tif 000005
【図４】
2007140952.tif 000006
【図５】
2007140952.tif 000007
【図６】
2007140952.tif 000008
【図７】
2007140952.tif 000009
【図８】
2007140952.tif 000010
【手続補正書】
【提出日】平成17年11月29日(2005.11.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項４
【補正方法】変更
【補正の内容】
【請求項４】
前記ハードウェアの回路の貸し出しに見合う課金とは、貸し出したハードウェアの回路規模又は演算器の性能に応じたものであることを特徴とする請求項３記載の分散処理システム。