(57)【要約】【課題】  クライアントがサーバの処理能力および状態を自動的に取得して、最適なサーバに画像処理を行わせることにより、画像処理の効率化が図られた分散画像処理ネットワークシステムを提供する。【解決手段】  データ処理の依頼を行うクライアントが能力取得手段によりデータ処理を行うサーバ２の処理能力情報を取得するとともに、状態取得手段によりサーバ２の稼動状態情報を取得して、それらの情報に基づき、決定手段によりデータ処理を依頼するサーバ２を決定する。また、データ処理を複数のサーバ２に依頼して最も短時間で送信されてきた処理結果のみを印刷する。【選択図】  図７
2005078461.tif 000002
【特許請求の範囲】
【請求項１】
データ処理の依頼を行うクライアントと、前記クライアントから依頼されたプリンタ言語処理および画像処理の少なくとも１つのデータ処理を行う１以上のサーバとを含むネットワークシステムであって、
前記クライアントは、前記サーバから前記サーバの処理能力情報を取得する能力取得手段と、
前記サーバから前記サーバの状態情報を取得する状態取得手段と、
前記処理能力情報および前記状態情報に基づき、前記データ処理を依頼する１つの前記サーバを決定する決定手段と、
前記データ処理を依頼することを決定した前記サーバへ前記データ処理の依頼を通知する通知手段と、
前記サーバから前記サーバが処理した前記データを受信する処理結果受信手段とを有し、
前記サーバは、前記クライアントからの通知に応じてデータを処理する処理手段と、
処理した前記データを前記クライアントに送信する処理結果送信手段とを有することを特徴とする分散画像処理ネットワークシステム。
【請求項２】
データ処理の依頼を行うクライアントと、前記クライアントから依頼されたプリンタ言語処理および画像処理の少なくとも１つのデータ処理を行う複数のサーバとを含むネットワークシステムであって、
前記クライアントは、前記サーバから前記サーバの処理能力情報を取得する能力取得手段と、
前記サーバから前記サーバの状態情報を取得する状態取得手段と、
前記処理能力情報および前記状態情報に基づき、前記データ処理を依頼する複数の前記サーバを決定する決定手段と、
前記データ処理を依頼することを決定した前記サーバへ前記データ処理の依頼を通知する通知手段と、
前記サーバから前記サーバが処理した前記データを受信する処理結果受信手段とを有し、
前記サーバは、前記クライアントからの通知に応じてデータを処理する処理手段と、
処理した前記データを前記クライアントに送信する処理結果送信手段と、
処理された前記データの処理結果を印刷する印刷手段とを有することを特徴とする分散画像処理ネットワークシステム。
【請求項３】
前記クライアントは、分散オブジェクト技術を実装することを特徴とする請求項１または２記載の分散画像処理ネットワークシステム。
【請求項４】
前記サーバは、分散オブジェクト技術を実装することを特徴とする請求項１または２記載の分散画像処理ネットワークシステム。
【請求項５】
前記サーバは、ＰＣであることを特徴とする請求１または２記載の分散画像処理ネットワークシステム。
【請求項６】
前記能力取得手段は、前記サーバのＣＰＵの種類、周波数、実装メモリ容量またはハードディスクの容量を取得することを特徴とする請求項１または２記載の分散画像処理ネットワークシステム。
【請求項７】
前記状態取得手段は、前記サーバのスクリーンセーバ状態、スタンバイ状態、残余メモリ容量または残余ハードディスク容量を取得することを特徴とする請求項１または２記載の分散画像処理ネットワークシステム。
【請求項８】
前記サーバは、プリンタであることを特徴とする請求項１または２記載の分散画像処理ネットワークシステム。
【請求項９】
前記能力取得手段は、前記サーバのＣＰＵの種類、周波数、実装メモリ容量、ハードディスク容量または最大印刷速度を取得することを特徴とする請求項１または２記載の分散画像処理ネットワークシステム。
【請求項１０】
前記状態取得手段は、前記サーバの省エネ状態、印刷中の状態、残余ページメモリ容量、残余ハードディスク容量または使用中アプリケーション情報を取得することを特徴とする請求項１または２記載の分散画像処理ネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散オブジェクト環境を共有するクライアントおよびサーバ間の分散画像処理ネットワークシステムに関する。
【背景技術】
【０００２】
近年、画像形成装置がローカルエリアネットワーク（ＬＡＮ）またはワイドエリアネットワーク（ＷＡＮ）等に接続され、ネットワーク上に、コピー、スキャナまたはプリンタ等の多種多様な画像形成装置が接続されていることが多くなってきた。通常、プリンタ等の画像形成装置は処理能力が低いため、情報処理装置のプリンタドライバが画像処理等を行い、プリンタが印刷可能な印刷用のデータを作成してプリンタに印刷を行わせることが多い。
【０００３】
しかし、情報処理装置側で画像処理という処理負荷の高いプログラムを実行する必要があるため、処理能力の低い情報処理装置では、画像処理に時間を要して印刷されるまでの時間が長時間となる。そこで、印刷に関するデータ処理が可能な複数の情報処理装置がネットワークに接続されている場合には、十分なデータ処理実行環境を有している処理能力の高い情報処理装置に印刷に関するデータ処理を行わせ、プリンタ等の画像形成装置の機能アップをサポートさせることが効率的である。
【０００４】
上記のような種々の装置が接続されたネットワークにおいて、複数の情報処理装置の処理能力を自動的に取得して、データ処理を行うために十分な能力を有する情報処理装置を自動的に判定して、効率的な分散処理を実現するネットワークシステムは、従来から考えられており、クライアントであるプリンタが複数の情報処理装置に印刷処理に関する処理能力を問い合わせて、データ処理を行うために十分な能力を有する情報処理装置に印刷用データのデータ処理を行わせてプリンタ等の画像形成装置の機能アップをサポートすることにより、処理能力の高い情報処理装置の実行環境の効率的な活用を図り、効率的な分散処理を実現することが提案されている（例えば、特許文献１参照）。
【特許文献１】特開平１１−１７５２９５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記公報記載の従来技術にあっては、複数の同一処理を行うことができる情報処理装置が選定可能な環境下で分散オブジェクトにより効率よくデータ処理を行う場合に、複数の同一処理を行うことができる情報処理装置の処理能力をユーザが自ら比較して、マニュアル的に選定し、処理を依頼する情報処理装置を決定する必要があった。このためすべての情報処理装置の処理能力をユーザが各人で把握している必要があり、特に、情報処理装置の入れ替え等があった場合には、すべての情報処理装置の処理能力をユーザが各人で把握することは困難であった。したがって、複数の同一処理を行うことができる情報処理装置の処理能力をクライアントが自動的に取得して処理を行うのに最適な情報処理装置を自動的に判定し、その情報処理装置により効率的なデータ処理を実現することが必要である。
【０００６】
また、クライアントが複数の情報処理装置の印刷処理に関する処理能力のみを情報収集して処理を依頼する情報処理装置を決定するのでは、本来、処理能力が高く最も高速にデータ処理を行うことができる情報処理装置であっても、他のジョブをすでに実行中である場合等には、本来的には処理能力が劣る他の情報処理装置であっても、ジョブを実行中ではないため、処理能力が最も高い情報処理装置よりも短時間でデータ処理を終了することができる場合がある。すなわち常に処理能力が最高の情報処理装置を選定することが、最適な効率的な分散処理を実現することとはならないおそれがある。
【０００７】
したがって、クライアントが情報処理装置の処理能力のみでなく、稼動状況も自動的に取得してデータ処理を行うのに最適な情報処理装置を自動的に判定して効率の良いデータ処理を実現することができるネットワークシステムが要望されている。
【０００８】
そこで、本発明は、クライアントがサーバの処理能力および状態を自動的に取得して、データ処理を依頼するのに最適なサーバを決定し、印刷に関する画像処理を行わせることにより、最適なサーバを自動的に判定し、画像処理の効率化が図られた分散画像処理ネットワークシステムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
請求項１記載の発明は、データ処理の依頼を行うクライアントと、前記クライアントから依頼されたプリンタ言語処理および画像処理の少なくとも１つのデータ処理を行う１以上のサーバとを含むネットワークシステムであって、前記クライアントは、前記サーバから前記サーバの処理能力情報を取得する能力取得手段と、前記サーバから前記サーバの状態情報を取得する状態取得手段と、前記処理能力情報および前記状態情報に基づき、前記データ処理を依頼する１つの前記サーバを決定する決定手段と、前記データ処理を依頼することを決定した前記サーバへ前記データ処理の依頼を通知する通知手段と、前記サーバから前記サーバが処理した前記データを受信する処理結果受信手段とを有し、前記サーバは、前記クライアントからの通知に応じてデータを処理する処理手段と、処理した前記データを前記クライアントに送信する処理結果送信手段とを有することを特徴とする分散画像処理ネットワークシステムである。
【００１０】
請求項２記載の発明は、データ処理の依頼を行うクライアントと、前記クライアントから依頼されたプリンタ言語処理および画像処理の少なくとも１つのデータ処理を行う複数のサーバとを含むネットワークシステムであって、前記クライアントは、前記サーバから前記サーバの処理能力情報を取得する能力取得手段と、前記サーバから前記サーバの状態情報を取得する状態取得手段と、前記処理能力情報および前記状態情報に基づき、前記データ処理を依頼する複数の前記サーバを決定する決定手段と、前記データ処理を依頼することを決定した前記サーバへ前記データ処理の依頼を通知する通知手段と、前記サーバから前記サーバが処理した前記データを受信する処理結果受信手段とを有し、前記サーバは、前記クライアントからの通知に応じてデータを処理する処理手段と、処理した前記データを前記クライアントに送信する処理結果送信手段と、処理された前記データの処理結果を印刷する印刷手段とを有することを特徴とする分散画像処理ネットワークシステムである。
【００１１】
請求項３記載の発明は、請求項１または２記載の分散画像処理ネットワークシステムにおいて、前記クライアントは、分散オブジェクト技術を実装する。
【００１２】
請求項４記載の発明は、請求項１または２記載の分散画像処理ネットワークシステムにおいて、前記サーバは、分散オブジェクト技術を実装する。
【００１３】
請求項５記載の発明は、請求項１または２記載の分散画像処理ネットワークシステムにおいて、前記サーバは、ＰＣである。
【００１４】
請求項６記載の発明は、請求項１または２記載の分散画像処理ネットワークシステムにおいて、前記能力取得手段は、前記サーバのＣＰＵの種類、周波数、実装メモリ容量またはハードディスクの容量を取得する。
【００１５】
請求項７記載の発明は、請求項１または２記載の分散画像処理ネットワークシステムにおいて、前記状態取得手段は、前記サーバのスクリーンセーバ状態、スタンバイ状態、残余メモリ容量または残余ハードディスク容量を取得する。
【００１６】
請求項８記載の発明は、請求項１または２記載の分散画像処理ネットワークシステムにおいて、前記サーバは、プリンタである。
【００１７】
請求項９記載の発明は、請求項１または２記載の分散画像処理ネットワークシステムにおいて、前記能力取得手段は、前記サーバのＣＰＵの種類、周波数、実装メモリ容量、ハードディスク容量または最大印刷速度を取得する。
【００１８】
請求項１０記載の発明は、請求項１または２記載の分散画像処理ネットワークシステムにおいて、前記状態取得手段は、前記サーバの省エネ状態、印刷中の状態、残余ページメモリ容量、残余ハードディスク容量または使用中アプリケーション情報を取得する。
【００１９】
ここで、分散オブジェクト技術として、ＯＲＢ（Object Request Broker ）またはＣＯＲＢＡ（Common Object Request Broker Architecture ）等が有名であり、既に多くの分野でこれらの技術を用いて実用化が図られている。また、Ｊａｖａ（Ｒ）はオブジェクト志向の言語であり、Ｊａｖａ（Ｒ）プラットホームを基盤としたＲＭＩ（Remote Method Invocation）またはＪｉｎｉ等の分散オブジェクト技術が提案されており、分散オブジェクト環境の技術基盤は整備されてきている。
【００２０】
また、Ｊａｖａ（Ｒ）等はＶＭ（バーチャルマシン）上でプログラムを実行させるため、ＶＭが実装されている環境であれば機種に依存することなく同一のプログラムコードを実行させることが可能である。上記のマルチプラットフォーム環境と分散オブジェクト技術とによりオブジェクトを複数の実行環境で動作させることが可能となっている。
【００２１】
ほかにもＸＭＬ（Extensible Markup language）ベースのＪＸＴＡまたはＳＯＡＰ（Simple Object Access Protocol ）等を用いたＷｅｂサービス等も分散オブジェクト環境の技術基盤とし整備されつつある。
【００２２】
オブジェクト指向ではデータとそのデータを処理する手段（メソッド）とをクラスとしてセットで扱うことにより、常にデータの適切な処理を行うことを容易にしている。また、設計により多様なデータまたはメソッドをクラスとして扱うことができるため種々の形態をとることが可能である。
【発明の効果】
【００２３】
本発明によれば、クライアントは、サーバからサーバの処理能力情報を取得する能力取得手段と、サーバからサーバの状態情報を取得する状態取得手段とを備えることにより、複数のサーバのなかから、最高の処理能力を有するものを選定することができるとともに、そのサーバの稼動状況を自動的に把握することができるため、他のジョブを実行しているため依頼したデータ処理に時間を要するサーバを回避して、依頼したデータ処理を最も短時間で終了することができるサーバをマニュアルではなく自動的に選定することができる。これによりサーバを選択するユーザの負担が軽減されるとともに、常に最適な処理効率で画像処理を行うことができるサーバによりデータ処理が実行され、データ処理が最も短時間で実行され、画像処理の効率化を図ることができる。
【発明を実施するための最良の形態】
【００２４】
常に最適な処理効率で画像処理を行うことができるサーバによりデータ処理が実行され、画像処理を効率的に行うような分散画像処理ネットワークシステムを、クライアントにサーバの処理能力情報を取得する能力取得手段と、サーバの状態情報を取得する状態取得手段とを設けることで実現した。
【実施例１】
【００２５】
以下に、本発明の実施の形態を一実施例に基づき、図面を用いて詳細に説明する。本実施例は、サーバが１つである場合または複数のサーバから効率的な処理を実行させるのに最適なサーバを１つ選定して処理を依頼する場合に関する。
【００２６】
図１は、本発明の実施例においてクライアントであるプリンタおよびサーバが接続されたネットワークシステムの構成を示す概略図である。
【００２７】
ネットワークシステム１０のシステム構成は、通信回線１１を介して１つのサーバ２と、クライアントである複数台のプリンタ３ａおよび３ｂとが接続されている。なお、サーバおよびプリンタの台数は、必要に応じて増設可能な構成とされている。
【００２８】
サーバ２、プリンタ３ａおよび３ｂは分散オブジェクト環境を共有可能にするため、例えばＪａｖａ（Ｒ）ＶＭ（Java Virtual Machine）またはＣＯＲＢＡ等の分散オブジェクト技術を実装していてもよい。
【００２９】
さらに、上記ネットワークシステム１０には、通信回線１１を介してプリンタ３ａまたは３ｂに印刷処理を依頼するパーソナルコンピュータ（以下、「ＰＣ」という）１が接続されている。
【００３０】
上記ＰＣ１は、通信回線１１を介して外部のネットワークシステム、例えばインターネット等にアクセスし、文字または画像情報を受信することができる。また、各種の入出力媒体を介して、画像データを取り込むことができる。さらに、上記ＰＣ１自身により画像データを生成することができる。
【００３１】
図６は、上記プリンタ３ａ等のプリンタとして機能する装置の構成を示す。
【００３２】
図６において、ＣＰＵ（Central Processing Unit ）２１は、ＲＯＭ（Read Only Memory）２２に格納されていている制御プログラムにより本プリンタ３の制御を行っている。
【００３３】
ＲＡＭ（Random Access Memory）２３はＣＰＵ２１で処理されたデータを一時的に記憶している。ＣＰＵ２１は必要に応じてＲＡＭ２３にデータを記憶させたり読み出したりしている。
【００３４】
ＬＡＮコントローラ２４および電話回線（アナログ回線）等を介して、コンピュータ内のデジタル信号をアナログ信号に変調し、他の装置に送り出すモデム２５を備える。
【００３５】
プリンタを操作するタッチパネル等の操作部表示部２６と、記憶装置であるＨＤＤ（Hard Disk Drive ）２７と、フレームメモリ２９とのデータ制御を行うシステムコントローラ２８と、ローカルバスコントローラ３１を介して印刷を実行するプリンタ３２とのデータ制御を行うローカルバスコントローラ３０とを備える。そして、上記の各構成要素がＣＰＵとメモリおよび各種インターフェースとを接続する外部バスであるメインバス２０を介して構成されている。
【００３６】
本実施例において、プリンタ言語処理とは、通常プリンタはデバイス毎に処理できるプリンタコマンドが特定されているため、処理を依頼されたサーバが、クライアントプリンタに適したプリンタ言語に関する処理を行うことが必要であり、この処理を行うことをいう。
【００３７】
また、画像処理とは、例えばディスプレイ等に画像表示されるデータである画像データに関して、ＲＧＢからＣＭＹＫへの変換、レンダリング処理または色変換等の処理を行うことをいう。画像データにはテキストデータを含んでもよい。
【００３８】
図２は、印刷データクラスの例を示す。クライアントであるプリンタ３のドライバで生成されるプログラム言語で記述される印刷データ４０と、印刷データ４０をプリンタが印刷することができるビットマップデータ等の展開後データ４１とを有する。そしてメソッドとして印刷データ４０を展開後データ４１に展開する展開プログラム４２と、展開後データ４１を用いて印刷を実行する印刷処理４３とを有する。
【００３９】
展開プログラム４２はプログラムそのものであってもよく、または展開プログラムの実体は他のクラスで有することとして、そのクラスへのインターフェースを実装するのみであってもよい。
【００４０】
図３は、印刷データが印刷されるまでの流れを示す。
【００４１】
まず、制御オブジェクト４４がＰＣ１からプログラム言語により記述された印刷データを受信して、その印刷データから印刷データオブジェクト４５を生成する。
【００４２】
制御オブジェクト４４は印刷データオブジェクト４５に対して展開メソッドである展開プログラム４２を実行して、印刷データオブジェクト４５をビットマップデータ等の展開後データ４１とする。そして、ビットマップデータ等への展開終了後、制御オブジェクト４４は印刷データオブジェクト４５に対して印刷指示を行う。
【００４３】
印刷データオブジェクト４５は実質的な印刷を行う印刷オブジェクト４６に対して展開済みビットマップデータ等のオブジェクトとともに印刷指示を行うことにより印刷データを印刷することができる。
【００４４】
図４は、上記の図３で示した印刷データが印刷されるまでの流れをクライアントおよびサーバからなる分散オブジェクト環境で実装した流れを示す。
【００４５】
まず、クライアントであるプリンタ３上で、制御オブジェクト４４がＰＣ１からプログラム言語により記述された印刷データを受信して、その印刷データから印刷データオブジェクト４５を生成する。
【００４６】
次に、クライアントであるプリンタ３上で、制御オブジェクト４４がサーバ２上のオブジェクトを仮想的に実行するサーバ２のサーバ代理オブジェクト４７を生成する。また、サーバ側ではクライアント３から要求されるスタブを実行することができるスタブオブジェクト４８を生成する。サーバ代理オブジェクト４７およびスタブオブジェクト４８はＯＲＢ（Object Request Broker ）によりオブジェクト間の通信を行うことができる。
【００４７】
サーバ代理オブジェクト４７に対して印刷データオブジェクト４５を渡して、サーバ２上に印刷データオブジェクト４５を転送し、サーバ代理オブジェクト４７に対して印刷データオブジェクト４５の展開を指示する。そして、サーバ２上にある印刷データオブジェクト４５がビットマップデータ等へ展開され、展開終了後に、展開終了通知を送信する。
【００４８】
制御オブジェクト４４の印刷データオブジェクト４５を受信する準備が完了すると、サーバ２は展開後データの要求を行う。そして、サーバ２はビットマップデータ等への展開後の印刷データオブジェクト４５をプリンタ３へ送信する。
【００４９】
プリンタ３の制御オブジェクト４４は受信した印刷データオブジェクト４５に対して印刷指示を行う。そして、印刷データオブジェクト４５は実質的な印刷を行う印刷オブジェクト４６に対して展開済みビットマップデータ等のオブジェクトとともに印刷指示を行うことにより印刷を実行することができる。
【００５０】
次に、本実施の形態のネットワークシステム１０のより詳細な動作例を説明する。図７は、本実施の形態において、互いにクライアント用途またはサーバ用途となることができる装置間の構成を示す。
【００５１】
まず、ユーザのＰＣ１から印刷処理を依頼されたクライアントであるプリンタ３は、処理依頼先登録部によりあらかじめ登録されたサーバ２に対して、画像処理を行うサーバ２の稼動状態の通知を受けるためにサーバ２のクライアント処理依頼管理部に稼動状態の通知を要求する。
【００５２】
上記の通知の要求に先立ち、あらかじめクライアントであるプリンタ３にサーバ２のアドレスが入力されて、処理依頼先登録部へ登録される。また、あらかじめサーバ２は、プリンタ３からのデータ処理依頼に対して、処理を実行することに関して承認が取られる。
【００５３】
サーバ２は、上記の通知の要求に対して、サーバ２の状態監視通知部により、処理能力を示す、ＣＰＵの種類、周波数、実装メモリ容量またはハードディスクの容量等の情報を送信するとともに、現在の状態を示す、スクリーンセーバ状態、スタンバイ状態、残余メモリ容量または残余ハードディスク容量等をプリンタ３の処理依頼先処理前状態検知部に送信する。
【００５４】
プリンタ３の処理依頼先決定部は、上記のサーバ２の現在の状態を示す、スクリーンセーバ状態、スタンバイ状態、残余メモリ容量または残余ハードディスク容量等のデータに基づき、まず、他の処理を実行中でない状態のサーバを選び出し、次に、ＣＰＵの処理能力が最も高いサーバ、メモリ容量の最も大きいサーバおよびハードディスク容量の最も大きいサーバの順に優先順位をつけて、処理を依頼するサーバ２を決定する。
【００５５】
上記のプリンタ３の処理依頼先決定部にて、処理を依頼するサーバ２を決定したプリンタ３は、処理を依頼するオブジェクトをサーバ２の実行状態管理部に対して送信して、処理を実行させる。
【００５６】
サーバ２は、分散処理リソース監視部により、処理を依頼されたオブジェクトが、ハードディスク等へ不正にアクセスすることがないように監視を行いながら、処理の実行状態を監視する。
【００５７】
サーバ２は、実行状態管理部により、処理を依頼されたオブジェクトの処理を行っている間、プリンタ３に対して定期的に処理を実行中であることを通知する。
【００５８】
プリンタ３は、依頼処理監視部により、サーバ２の分散処理リソース管理部が不正なアクセスに対する中断または電源ＯＦＦによる中断を行ったか否かを監視する。
【００５９】
サーバ２は、依頼されたオブジェクトの処理がすべて終了したことをプリンタ３に対して通知して、プリンタ３は、負荷分散処理データ保管部が保存したデータを削除して、一連の動作を終了する。
【実施例２】
【００６０】
次に、第２の実施例を説明する。
【００６１】
本実施例の特徴は、クライアントであるプリンタおよびサーバが接続された分散画像処理ネットワークシステムにおいて複数のサーバがデータ処理を実行する点にある。
【００６２】
図１のネットワークシステム１０のシステム構成は、通信回線１１を介して１台のサーバ２と、クライアントである複数台のプリンタ３ａおよび３ｂとが接続されているが、サーバの台数は複数台に増設可能であり、複数台のサーバが接続されているネットワークシステム１０が本実施例のシステム構成である。
【００６３】
図５は、上記の図４で示した分散オブジェクト環境においてサーバが複数である場合の上記の図３で示した印刷データが印刷されるまでの流れをクライアントおよび複数のサーバからなる分散オブジェクト環境で実装した流れを示す。
【００６４】
まず、クライアントであるプリンタ３上で、制御オブジェクト４４がＰＣ１からプログラム言語により記述された印刷データを受信して、その印刷データから印刷データオブジェクト４５を生成する。
【００６５】
次に、クライアントであるプリンタ３上で、制御オブジェクト４４がサーバ２ａ、２ｂ上のオブジェクトを仮想的に実行するサーバ２ａ、２ｂのサーバ代理オブジェクト４７ａ、４７ｂを生成する。また、サーバ側ではクライアント３から要求されるスタブを実行することができるスタブオブジェクト４８ａ、４８ｂを生成する。サーバ代理オブジェクト４７ａ、４７ｂおよびスタブオブジェクト４８ａ、４８ｂはＯＲＢ（Object Request Broker ）によりオブジェクト間の通信を行うことができる。
【００６６】
サーバ代理オブジェクト４７ａ、４７ｂに対して印刷データオブジェクト４５をそれぞれ渡して、サーバ２ａ、２ｂ上に印刷データオブジェクト４５を転送し、サーバ代理オブジェクト４７ａ、４７ｂに対して印刷データオブジェクト４５の展開を同時に指示する。そして、サーバ２ａ、２ｂ上にある印刷データオブジェクト４５がビットマップデータ等へ展開され、展開終了後に、展開終了通知を送信する。本実施例では、サーバ２ａから展開終了通知が送信されていないが、サーバ２ｂから先に展開終了通知が送信されている。そして、制御オブジェクト４４の印刷データオブジェクト４５を受信する準備が完了しているので、サーバ２ｂは展開後データの要求を行う。そして、サーバ２ｂはビットマップデータ等への展開後の印刷データオブジェクト４５をプリンタ３へ送信する。
【００６７】
プリンタ３の制御オブジェクト４４は受信した印刷データオブジェクト４５に対して印刷指示を行う。そして、印刷データオブジェクト４５は実質的な印刷を行う印刷オブジェクト４６に対して展開済みビットマップデータ等のオブジェクトとともに印刷指示を行うことにより印刷を実行することができる。
【００６８】
図８は、上記の図７で説明した実施の形態において、処理を依頼するサーバが複数の場合の構成を示す。
【００６９】
クライアントであるプリンタ３と複数のサーバとのやりとりの一連の動作は、上記の図７と基本的には同様である。あらかじめクライアントであるプリンタ３に複数のサーバのアドレスが入力されて、処理依頼先登録部へ登録される。
【００７０】
複数のサーバは、上記の通知の要求に対して、各サーバの状態監視通知部により、処理能力を示す、ＣＰＵの種類、周波数、実装メモリ容量またはハードディスクの容量等の情報を送信するとともに、現在の状態を示す、スクリーンセーバ状態、スタンバイ状態、残余メモリ容量または残余ハードディスク容量等をプリンタ３の処理依頼先処理前状態検知部に送信する。
【００７１】
プリンタ３の処理依頼先決定部は、上記の各サーバの現在の状態を示す、スクリーンセーバ状態、スタンバイ状態、残余メモリ容量または残余ハードディスク容量等のデータに基づき、まず、他の処理を実行中でない状態のサーバを選び出し、次に、ＣＰＵの処理能力が最も高いサーバ、メモリ容量の最も大きいサーバおよびハードディスク容量の最も大きいサーバの順に優先順位をつけて、優先順位の高いサーバの中から処理を依頼する複数のサーバを決定する。
【００７２】
上記のプリンタ３の処理依頼先決定部にて、処理を依頼する複数のサーバを決定したプリンタ３は、処理を依頼するオブジェクトを各サーバの実行状態管理部に対して送信して、処理を実行させる。
【００７３】
各サーバはデータ処理が完了すると、処理結果をプリンタ３に送信する。そして、プリンタ３は最初に処理結果を送信してきたサーバの処理結果を用いて印刷処理を行う。したがって、他のサーバからその後に送信されてきた同一の処理結果は用いられないため、他のサーバで実行中のデータ処理は中止されてもよい。
【００７４】
複数のサーバは、実行状態管理部により、処理を依頼されたオブジェクトの処理を行っている間、プリンタ３に対して定期的に処理を実行中であることを通知する。
【００７５】
サーバの処理実行中に電源等が切られた場合には、プリンタ３は、依頼処理監視部により、サーバの分散処理リソース管理部が電源ＯＦＦによる中断を行ったことを検出する。そして、プリンタ３の処理依頼先登録部に再度、処理を依頼する異なるサーバを決定することを要求してもよい。この場合は、決定されたサーバに対して、中断された処理内容を送信して、リカバリ動作を行ってもよい。
【実施例３】
【００７６】
次に、第３の実施例を説明する。
【００７７】
本実施例の特徴は、クライアントであるプリンタおよびサーバが接続された分散画像処理ネットワークシステムにおいて、サーバとして、処理を依頼するクライアントであるプリンタよりも、高速印刷が可能なプリンタ、例えばＭＦＰ（Multi Function Printer）等が用いられる点にある。
【００７８】
図１のネットワークシステム１０のシステム構成は、通信回線１１を介して１台のサーバ２と、クライアントである複数台のプリンタ３ａおよび３ｂとが接続されているが、クライアントとしてプリンタ３ａが用いられ、サーバとしてサーバ２ではなく、プリンタ３ｂが用いられるネットワークシステム１０が本実施例のシステム構成である。
【００７９】
上記の図４において、本実施例では上記のサーバ２が行う処理は、サーバ２と同等の処理能力を有し、かつ分散オブジェクト環境を有するプリンタで実行される。プリンタの実行環境をＪａｖａ（Ｒ）またはＣＯＲＢＡ上に構築することにより異なるプラットホームでの処理が可能となる。したがって、分散オブジェクト技術基盤をＭＦＰ等に搭載することによりＣＰＵまたはＯＳ（Operating System）が異なる場合でもＰＣまたはサーバと同様に振る舞うことができる。
【００８０】
上記の図５においても、本実施例では上記のサーバ２ａ、２ｂが行う処理は、サーバ２ａ、２ｂと同等の処理能力を有し、かつ分散オブジェクト環境を有する複数のプリンタで実行される。
【００８１】
上記の図７および図８において、本実施例ではユーザのＰＣ１から印刷処理を依頼されたクライアントであるプリンタ３は、処理依頼先登録部によりあらかじめ登録されたサーバとしてのプリンタに対して、画像処理を行うサーバとしてのプリンタの稼動状態の通知を受けるためにサーバとしてのプリンタのクライアント処理依頼管理部に稼動状態の通知を要求する。
【００８２】
そして、サーバとしてのプリンタは、上記の通知の要求に対して、サーバとしてのプリンタの状態監視通知部により、処理能力を示す、ＣＰＵの種類、周波数、実装メモリ容量、ハードディスクの容量または最大印刷速度等の情報を送信するとともに、現在の状態を示す、省エネ状態、印刷中の状態、残余ページメモリ容量、残余ハードディスク容量または使用中アプリケーション情報をプリンタ３の処理依頼先処理前状態検知部に送信する。使用中アプリケーション情報とは、例えば、コピー中、プリンタ印刷中、ファクシミリ送信中またはファクシミリ受信中等である。
【００８３】
上記実施例によれば、処理能力情報および状態情報に基づき、データ処理を複数のサーバに依頼するため、各サーバの稼動状況を自動的に把握することができるため、他のジョブを実行していない、依頼したデータ処理を最も短時間で終了することができる複数のサーバを選定し、現実にデータ処理を実行させて、最も短時間で処理結果を送信してきたサーバの処理結果を採用することができる。これにより現実にデータ処理が最も短時間で実行されるサーバによるデータ処理の処理結果が用いられ、画像処理の効率化を図ることができる。
【００８４】
また、クライアントが、分散オブジェクト技術を実装するため、オブジェクトを複数の実行環境で動作させることができるため、ユーザが動作環境の相違を意識することなく容易に操作を行うことができる。
【００８５】
また、サーバが、分散オブジェクト技術を実装するため、オブジェクトを複数の実行環境で動作させることができるため、ユーザが動作環境の相違を意識することなく容易に操作を行うことができる。
【００８６】
また、サーバがＰＣであるため、ユーザがサーバ装置を設けることが容易となり、分散画像処理ネットワークシステムの構築が簡易に行うことができる。
【００８７】
また、能力取得手段は、前記サーバのＣＰＵの種類、周波数、実装メモリ容量またはハードディスクの容量を取得するため、サーバがＰＣ等の場合における、情報処理装置の一般に用いられている適切な性能指標であるため、性能情報を容易に取得でき、またその情報によりサーバのデータ処理能力を適正に評価することができる。
【００８８】
また、状態取得手段は、前記サーバのスクリーンセーバ状態、スタンバイ状態、残余メモリ容量または残余ハードディスク容量を取得するため、サーバがＰＣ等の場合における、情報処理装置の適切な稼動状況指標であるため、サーバの状態を適正に評価することができる。
【００８９】
また、サーバがプリンタであるため、ユーザがプリンタと別個にサーバ装置を設けることが不要であり、分散画像処理ネットワークシステムの構築が簡易に行うことができる。
【００９０】
また、能力取得手段は、前記サーバのＣＰＵの種類、周波数、実装メモリ容量、ハードディスク容量または最大印刷速度を取得するため、サーバがプリンタ等の場合における、情報処理装置の一般に用いられている適切な性能指標であるため、性能情報を容易に取得でき、またその情報によりサーバのデータ処理能力を適正に評価することができる。
【００９１】
また、状態取得手段は、前記サーバの省エネ状態、印刷中の状態、残余ページメモリ容量、残余ハードディスク容量または使用中アプリケーション情報を取得するため、サーバがプリンタ等の場合における、情報処理装置の適切な稼動状況指標であるため、サーバの状態を適正に評価することができる。
【産業上の利用可能性】
【００９２】
本発明は、デジタル複写機、プリンタ、ファクシミリ、スキャナ、携帯電話、ＰＤＡまたは携帯端末およびそれらの複合機等の間のネットワークシステムにも適用できる。
【図面の簡単な説明】
【００９３】
【図１】本発明の実施形態における分散画像処理ネットワークシステムの概略図である。
【図２】印刷データクラスの構成図である。
【図３】印刷データが印刷されるまでの流れを示す図である。
【図４】第１の実施例の印刷データが印刷されるまでの流れを示す図である。
【図５】第２の実施例の印刷データが印刷されるまでの流れを示す図である。
【図６】プリンタの概略を示す構成図である。
【図７】第１の実施例の詳細な動作例を説明するための図である。
【図８】第２の実施例の詳細な動作例を説明するための図である。
【符号の説明】
【００９４】
１    ＰＣ
２    サーバ
３ａ、３ｂ    プリンタ
１０    ネットワークシステム
２１    ＣＰＵ
２３    ＲＡＭ
２７    ＨＤＤ
【図１】
2005078461.tif 000003
【図２】
2005078461.tif 000004
【図３】
2005078461.tif 000005
【図４】
2005078461.tif 000006
【図５】
2005078461.tif 000007
【図６】
2005078461.tif 000008
【図７】
2005078461.tif 000009
【図８】
2005078461.tif 000010