JP2005055981A - データ処理装置、データ処理システム、データ処理方法、情報処理方法およびプログラム - Google Patents
データ処理装置、データ処理システム、データ処理方法、情報処理方法およびプログラム Download PDFInfo
- Publication number
- JP2005055981A JP2005055981A JP2003206272A JP2003206272A JP2005055981A JP 2005055981 A JP2005055981 A JP 2005055981A JP 2003206272 A JP2003206272 A JP 2003206272A JP 2003206272 A JP2003206272 A JP 2003206272A JP 2005055981 A JP2005055981 A JP 2005055981A
- Authority
- JP
- Japan
- Prior art keywords
- service
- data processing
- information
- server
- processing device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Abstract
【課題】クライアント装置が他のサーバ装置でサービスを受けることができるとともに、当該他のサーバ装置のサービス内容をより速く効率的に認識できるデータ処理システムを提供する。
【解決手段】クライアント420は、サーバ410A用のWSDLファイルを使用してサービス要求を送信する(T3)。このサービス要求に対し、サーバ410Aは高負荷状態であることを理由にサービス要求を拒否し、拒否データをクライアント420に返信する(T4)。これを受信すると、クライアント420は、別のサーバの紹介をサーバ410Aに要求する(T5)。サーバ410Aは、サーバリスト418を基に、別のサーバであるサーバ410B用のWSDLファイルを返信する(T6)。クライアント420は、サーバ410B用のWSDLファイルを使用し、サーバ410Bにサービス要求を送信する(T7)。サーバ410Bは、クライアント420からのサービス要求に応じたサービスを実行する(T8)。
【選択図】 図5
【解決手段】クライアント420は、サーバ410A用のWSDLファイルを使用してサービス要求を送信する(T3)。このサービス要求に対し、サーバ410Aは高負荷状態であることを理由にサービス要求を拒否し、拒否データをクライアント420に返信する(T4)。これを受信すると、クライアント420は、別のサーバの紹介をサーバ410Aに要求する(T5)。サーバ410Aは、サーバリスト418を基に、別のサーバであるサーバ410B用のWSDLファイルを返信する(T6)。クライアント420は、サーバ410B用のWSDLファイルを使用し、サーバ410Bにサービス要求を送信する(T7)。サーバ410Bは、クライアント420からのサービス要求に応じたサービスを実行する(T8)。
【選択図】 図5
Description
【0001】
【発明の属する技術分野】
本発明は、情報処理装置からのサービス要求に応じてサービスを提供するデータ処理装置、データ処理システム、データ処理方法、情報処理方法およびプログラムに関する。
【0002】
【従来の技術】
あるホストコンピュータから接続要求を受信したとき、すでに他のホストコンピュータと接続している場合には、接続不可をホストコンピュータへ通知するとともに、代替プリンタとなりえる他のプリンタを探索し、見つかった他のプリンタのアドレス情報等をホストコンピュータへ提示するプリンタがあった(例えば、特許文献1)。
【0003】
【特許文献1】
特開平7−325679号公報
【0004】
【発明が解決しようとする課題】
サーバ装置およびクライアント装置がネットワークを介して接続されたデータ処理システムにおいて、Webサービス技術を使用することにより、サーバ装置がクライアント装置にサービスを提供することが知られている。
【0005】
このWebサービス技術では、サーバ装置が、WSDL(Web Services Description Language)で記述されたWSDLファイルをSOAP(Simple Object Access Protocol)を用いてクライアント装置に提供し、クライアント装置はそのサービス記述情報を解析して、サーバ装置がどのようなサービスを提供しているか、またはどのような手順及びプロトコルでサービスを受けるかを認識することができる。
【0006】
しかしながら、上記Webサービス技術を用いたデータ処理システムでは、例えば、以下に掲げる問題がある。すなわち、各サーバ装置が分担して複数のクライアント装置を固定して受け持つ場合、クライアント装置は、負荷が高い状態のサーバ装置に対し、通常通りのサービスを要求してしまうことにより、さらにサーバ装置の負荷を上げてしまっていた。
【0007】
また、負荷の分散を行うために、上記従来の技術のように、サーバ装置がすでに他のクライアント装置に対してサービスを提供している場合には、他のサーバ装置を探索し、見つかったサーバ装置のアドレス情報等をクライアント装置に提示することが考えられる。
【0008】
しかし、サーバ装置間では、同じようなサービスを提供していても、サービスを受けるときに指定可能なオペレーションやパラメータが異なっていたり、サービスを受けた後の出力データが異なっていたりすることがある。従って、クライアント装置は、提示された他のサーバ装置がどのようなサービスを提供しているかを、別途、確認しなければならない。
【0009】
そこで、本発明は、特定のサーバ装置に負荷が偏ってしまった場合やサーバ装置がサービスを提供できなくなってしまった場合に、クライアント装置が他のサーバ装置でサービスを受けることができるとともに、当該他のサーバ装置のサービス内容をより速く効率的に認識できるデータ処理装置、データ処理システム、データ処理方法、情報処理方法およびプログラムを提供することを目的とする。
【0010】
また、サーバ装置の構成が変わっても、クライアント装置の設定を変更する必要がなく、容易に管理することができるデータ処理装置、データ処理システム、データ処理方法、情報処理方法およびプログラムを提供することを他の目的とする。
【0011】
【課題を解決するための手段】
上記目的を達成するために、本発明のデータ処理装置は、情報処理装置からの要求にしたがって、サービスを提供するデータ処理装置において、前記データ処理装置が提供する第1のサービスに関する情報が所定の言語で記述された、当該第1のサービスを利用する場合に参照する第1のサービス記述情報を送信する第1の送信手段と、前記データ処理装置自身の状態を判断する状態判断手段と、前記状態判断手段によって判断された状態を基に前記第1のサービスの提供をしない場合、他のデータ処理装置が提供する第2のサービスに関する情報が前記所定の言語で記述された、当該第2のサービスを利用する場合に参照する第2のサービス記述情報を送信する第2の送信手段とを備えたことを特徴とする。
【0012】
本発明のデータ処理システムは、複数のデータ処理装置のいずれかが情報処理装置から要求されたサービスを提供するデータ処理システムにおいて、前記情報処理装置からデータ処理装置が提供する第1のサービスに関する情報が所定の言語で記述された、当該第1のサービスを利用する場合に参照する第1のサービス記述情報を参照し、第1のデータ処理装置に第1のサービスの利用を要求する第1のサービス要求手段と、前記第1のデータ処理装置の状態を基に、該第1のデータ処理装置が前記第1のサービスの提供をしない場合、前記情報処理装置に他のデータ処理装置が提供する、前記第1のサービスと同等のサービスである第2のサービスに関する情報が所定の言語で記述された、当該第2のサービスを利用する場合に参照する第2のサービス記述情報を送信する送信手段と、前記第2のサービス記述情報を参照して前記情報処理装置から前記他のデータ処理装置に前記第2のサービスの利用を要求する第2のサービス要求手段と、全てのデータ処理装置が前記第1のサービスと同等のサービスの提供をしない場合、前記第1のサービスに比べて機能が制限された第3のサービスに関する情報が所定の言語で記述された、当該第3のサービスを利用する場合に参照する第3のサービス記述情報を参照し、いずれかのデータ処理装置に第3のサービスの利用を要求する第3のサービス要求手段とを備えたことを特徴とする。
【0013】
本発明のデータ処理方法は、情報処理装置からの要求にしたがって、サービスを提供するデータ処理方法において、前記データ処理装置が提供する第1のサービスに関する情報が所定の言語で記述された、当該第1のサービスを利用する場合に参照する第1のサービス記述情報を送信する第1の送信ステップと、前記データ処理装置自身の状態を判断する状態判断ステップと、該判断された状態を基に、第1のサービスの提供をしない場合、他のデータ処理装置が提供する第2のサービスに関する情報が所定の言語で記述された、当該第2のサービスを利用する場合に参照する第2のサービス記述情報を送信する第2の送信ステップとを有することを特徴とする。
【0014】
本発明の情報処理方法は、データ処理装置が提供するサービスの利用を要求する情報処理方法において、第1のデータ処理装置が提供する第1のサービスに関する情報が所定の言語で記述された、当該第1のサービスを利用する場合に参照する第1のサービス記述情報を参照し、該第1のサービスの利用を要求する第1のサービス要求ステップと、前記第1のサービスの利用要求に対し、前記第1のデータ処理装置から他のデータ処理装置が提供する第2のサービスに関する情報が所定の言語で記述された、当該第2のサービスを利用する場合に参照する第2のサービス記述情報が返信された場合、該第2のサービス技術情報を参照し、前記他のデータ処理装置に第2のサービスの利用を要求する第2のサービス要求ステップとを有することを特徴とする。
【0015】
本発明のプログラムは、データ処理装置内のコンピュータが読み取り実行可能なプログラムであって、情報処理装置からの要求にしたがって、サービスを提供する際、前記データ処理装置が提供する第1のサービスに関する情報が所定の言語で記述された、当該第1のサービスを利用する場合に参照する第1のサービス記述情報を送信する第1の送信ステップと、前記データ処理装置自身の状態を判断する状態判断ステップと、該判断された状態を基に、第1のサービスの提供をしない場合、他のデータ処理装置が提供する第2のサービスに関する情報が所定の言語で記述された、当該第2のサービスを利用する場合に参照する第2のサービス記述情報を送信する第2のサービス記述情報送信ステップとを含むことを特徴とする。
【0016】
本発明のプログラムは、情報処理装置内のコンピュータが読み取り実行可能なプログラムであって、データ処理装置が提供するサービスの利用を要求する際、第1のデータ処理装置が提供する第1のサービスに関する情報が所定の言語で記述された、当該第1のサービスを利用する場合に参照する第1のサービス記述情報を参照し、該第1のサービスの利用を要求する第1のサービス要求ステップと、前記第1のサービスの利用要求に対し、前記第1のデータ処理装置から他のデータ処理装置が提供する第2のサービスに関する情報が所定の言語で記述された、当該第2のサービスを利用する場合に参照する第2のサービス記述情報が返信された場合、該第2のサービス記述情報を参照し、前記他のデータ処理装置に第2のサービスの利用を要求する第2のサービス要求ステップとを含むことを特徴とする。
【0017】
【発明の実施の形態】
本発明のデータ処理装置、データ処理システム、データ処理方法、情報処理方法およびプログラムの実施の形態について図面を参照しながら説明する。本実施形態のデータ処理システムは、WEBサービス技術を利用し、サーバ装置(単にサーバという)およびクライアント装置(単にクライアントという)がネットワークに接続されたネットワークシステムに適用される。
【0018】
図1は実施の形態におけるネットワークシステムの構成を示す図である。図において、101、102はサーバPCである。103、104はクライアントPCである。105、106はMFP(Multi Function Printer)である。サーバPC101、102、クライアントPC103、104およびMFP105、106は、LAN100に接続されている。
【0019】
サーバPC101、102はWEBサービスにおけるサーバであり、クライアントPC103、104からのサービス要求に応じてサービスを提供する。サーバPC101、102は同一のサービスを提供しており、本実施形態では、複数のサーバPCが同一のサービスを提供することによって、サービス処理における負荷の分散が図られている。
【0020】
MFP105、106は、それぞれWEBサービスのサーバまたはクライアントになることが可能な印刷デバイスであり、クライアントPC103、104からのサービス要求に応じてサービスを提供する、またはサーバPC101、102に対してサービス要求を行い、サービスの提供を受ける。MFP105、106がサーバとなる場合、サーバPC101、102と同様、同一のサービスを複数のMFPが提供することによって、サービス処理における負荷の分散が図られる。また、前述したように、クライアントPC103、104は、WEBサービスにおけるクライアントであり、サーバPC101、102またはMFP105、106に対してサービスを要求し、サービスの提供を受けることが可能である。
【0021】
図2はサーバPC101、102およびクライアントPC103、104の構成を示すブロック図である。サーバPC101、102およびクライアントPC103、104は一般的なパーソナルコンピュータ(PC)から構成されている。
【0022】
この一般的なPCは、ROM202もしくはハードディスク(HD)211に記憶された、あるいはフロッピー(登録商標)ディスクドライブ(FD)212から供給される各種ソフトウェアを実行するCPU201を有しており、CPU201はシステムバス204に接続された各部を総括的に制御する。
【0023】
203はRAMであり、CPU201の主メモリ、ワークエリア等として機能する。205はキーボードコントローラ(KBC)であり、キーボード(KB)209やポインティングデバイス(図示せず)等からの指示入力を制御する。206はCRTコントローラ(CRTC)であり、CRTディスプレイ(CRT)210の表示を制御する。
【0024】
207はディスクコントローラ(DKC)であり、ブートプログラム、分散サーバシステムプログラム、種々のアプリケーション、編集ファイル、ユーザファイル等を記憶するハードディスク(HD)211およびフロッピー(登録商標)ディスクドライブ(FD)212とのアクセスを制御する。208はネットワークインタフェースカード(NIC)であり、LAN100を介してネットワークプリンタ、他のネットワーク機器あるいは他のPCと双方向にデータをやりとりする。
【0025】
図3はWEBサービスプログラムが稼動するMFP105、106の構成を示すブロック図である。MFP105、106は、ROM302もしくはハードディスク(HD)311に記憶された、あるいはフロッピーディスクドライブ(FD)312から供給される各種プログラムを実行するCPU301を有しており、CPU301はシステムバス304に接続された各部を総括的に制御する。
【0026】
303はRAMであり、CPU301の主メモリ、ワークエリア等として機能する。305はユーザインタフェースコントローラ(UIC)であり、ユーザインタフェース(UI)309の表示、UI309からの指示入力を制御する。ファンクションコントローラ(FUNCC)306は各デバイス特有の機能であるファンクション(FUNC)310を実現し、これを制御する。ここで、デバイスがモノクロプリンタである場合、ファンクションコントローラ(FUNCC)306およびファンクション(FUNC)310として、モノクロプリントエンジンコントローラおよびモノクロプリントエンジンを設けてもよい。また、カラープリンタである場合、カラープリントエンジンコントローラおよびカラープリントエンジンを設けてもよい。
【0027】
307はディスクコントローラ(DKC)であり、ブートプログラム、分散サーバシステムプログラム、種々のアプリケーション、データファイルを記憶するハードディスク(HD)311およびフロッピー(登録商標)ディスクコントローラ(FD)312とのアクセスを制御する。308はネットワークインタフェースカード(NIC)であり、LAN100を介してネットワークプリンタ、他のネットワーク機器あるいは他のPCと双方向にデータをやりとりする。
【0028】
図4はネットワークシステムにおけるクライアントおよびサーバの機能的構成を示す図である。図において、410はサーバであり、サーバPC101、102、サーバとなる場合のMFP105、106に相当する。一方、420はクライアントであり、クライアントPC103、104、クライアントとなる場合のMFP105、106に相当する。サーバ410およびクライアント420はLAN100を介して接続されている。
【0029】
411はネットワークインタフェース機能であり、サーバ410をLAN100に接続する。412はWEBサービスサーバ機能であり、例えばHTTPサーバ、SOAPサーバ、XMLパーサ、WSDL生成機能などである。413はサービスを提供するサーバ側のアプリケーションである。MFP105、106がサーバとなる場合、スキャン機能、印刷機能などもここに含まれる。414はサーバ410の負荷を測定し、負荷状態を数値(負荷値)で把握するサーバ負荷監視機能である。
【0030】
415は通常負荷時にクライアントが使用する通常用のNWSDL(Normal Web Service Description Language)ファイルである。尚、ここでは、NWSDLファイルを単にWSDLとも称している。416はサーバ負荷監視機能414による現在のサーバの負荷状態を考慮に入れて生成された、輻輳用のWSDL(specialWSDL)ファイルである。WSDLファイルにはサーバが提供するサービスを利用するための情報が記述されており、specialWSDLファイルでは、NWSDLファイルに比べてサーバの機能が限定されている。例えば、specialWSDLファイルを使用した場合、NWSDLファイルに比べて優先度の低いポートに接続される。417はネットワーク上で同一のサービスを提供することが可能な他のサーバ用のWSDLファイルである。418は他のサーバ用のWSDLファイルを紹介する順番が記述されているサーバリストであり、ネットワーク上の全てのサーバで共通である。
【0031】
一方、421はクライアント側のネットワークインタフェース機能であり、クライアント420をLAN100に接続する。422はWEBサービスクライアント機能であり、例えば、HTTPクライアント、SOAPクライアント、XMLパーサなどである。423はサーバ410が提供するサービスを利用するクライアント(ユーザ)側のアプリケーションである。424はクライアント420とのユーザI/F(UI)である。425、426はサーバ410から獲得したWSDLファイルである。
【0032】
上記構成を有するネットワークシステムの動作を示す。図5はクライアントおよびサーバ間の動作処理の流れを示す図である。尚、ここでは、説明を簡単にするために、クライアントが1台、サーバが2台であるが、これらの台数は任意であることは勿論である。
【0033】
図において、420はクライアントである。410A、410Bはサーバ410に相当するものであり、それぞれ高負荷状態にあるサーバ1、定負荷状態にあるサーバ2である。まず、クライアント420はサーバ410Aに対し、サーバ410A用のWSDLファイルを要求する(T1)。この要求に応じて、サーバ410Aはサーバ410A用のWSDLファイルをクライアント420に送信する(T2)。
【0034】
クライアント420は、受信したサーバ410A用のWSDLファイルを使用してサービス要求を送信する(T3)。尚、クライアント420は、既にサーバ410A用のWSDLファイルを取得して保管している場合、ステップT1、T2の処理を行うことなく、直接ステップT3の処理を行ってもよい。
【0035】
クライアント420からのサービス要求に対し、サーバ410Aは高負荷状態であることを理由に、そのサービス要求を拒否する。この際、拒否データをクライアント420に返信する(T4)。この拒否データを受信すると、クライアント420は、別のサーバの紹介をサーバ410Aに要求する(T5)。サーバ410Aは、サーバリスト418(図4、図10参照)を基に、別のサーバであるサーバ410B用のWSDLファイルを返信する(T6)。クライアント420は、サーバ410B用のWSDLファイルを使用し、サーバ410Bにサービス要求を送信する(T7)。サーバ410Bがサービスを実行可能である場合、サーバ410Bはクライアント420からのサービス要求に応じたサービスを実行する(T8)。ここで、サービス要求に応じたサービスとして、例えば、サーバPC101、102がサーバである場合、認証処理等が挙げられ、MFP105、106がサーバである場合、画像読込処理や印刷処理等が挙げられる。この後、そのサービス結果をクライアント420に返信する(T9)。
【0036】
図6はクライアントおよびサーバ間の他の動作処理の流れを示す図である。図5では、クライアント420は、サーバ410Aから紹介されたサーバ410Bに対し、サービス要求を行ったが、図6ではサーバ410Bを含む全てのサーバでサービス要求が拒否された場合、つまり2台のサーバ410A、410Bのいずれもが高負荷状態にある場合を示す。尚、前述した図5と同一のステップ動作については、同一の符号を付すことにより、その説明を省略する。
【0037】
クライアント420は、ステップT6でサーバ410Aからサーバ410B用のWSDLファイル601を受信すると、ステップT7で、サーバ410B用のWSDLファイルを使用してサーバ410Bにサービス要求を送信する。このサービス要求に対し、サーバ410Bは高負荷状態であることを理由にサービス要求を拒否し、拒否データをクライアント420に送信する(T8A)。
【0038】
この拒否データを受信すると、クライアント420は、サーバ410Bに対し、別のサーバの紹介を要求する(T9A)。この要求に応じて、サーバ410Bはサーバ410A用のWSDLファイルを返信する(T10)。
【0039】
クライアント420は、受信したWSDLファイルから、既にサービス要求を行ったサーバ410Aが紹介されたことを知り、全てのサーバから拒否されたと判断する。そして、この拒否データを基にサーバ410Aを選択し(T11)、サーバが高負荷状態である場合に適した、輻輳用のWSDLファイルであるspecailWSDLファイルをサーバ410Aに要求する(T12)。
【0040】
サーバ410Aは、specialWSDLファイルをクライアント420に送信する(T13)。クライアント420は、受信したサーバ410A用のspecailWSDLファイルを使用し、サーバ410Aにサービス要求を送信する(T14)。このサービス要求に応じて、サーバ410Aは、輻輳時のサービスを実行する(T15)。ここで、輻輳時のサービス処理としては、例えば、サーバPC101、102がサーバである場合、簡単な認証処理等が挙げられ、MFP105、106がサーバである場合、低解像度の画像読込処理や低品質の印刷処理等が挙げられる。そして、そのサービス結果を通知する(T16)。
【0041】
図7はクライアントおよびサーバ間の他の動作処理の流れを示す図である。図7では、サーバ410A、410Bの他、サーバ410Cが存在し、同様にサーバ410に相当するものである。また、ここでは、サーバ410Aは高負荷状態にあり、サーバ410Bはダウン状態にあり、サーバ410Cは低負荷状態にある。尚、前述した図5と同一のステップ動作については、同一の符号を付すことにより、その説明を省略する。
【0042】
クライアント420は、ステップT6でサーバ410Aからサーバ410B用のWSDLファイルを受信すると、ステップT7で、サーバ410B用のWSDLファイルを使用してサーバ410Bにサービス要求を送信する。しかし、サーバ410Bがダウン状態であるので、サービス要求に対する返信が無く、クライアント420は、返信待ちが時間切れ(TimeOut)となるまで待機する。
【0043】
そして、時間切れになると、クライアント420は、サーバ410Aに対し、別のサーバの紹介を更に要求する(T8A)。サーバ410Aは、2回目の紹介としてサーバリスト418(図4、図10参照)を基に、サーバ410CのWSDLファイルを返信する(T9B)。クライアント420は、サーバ410C用のWSDLファイルを使用し、サーバ410Cにサービス要求を送信する(T10A)。サーバ410Cは、低負荷状態にあるので、このサービス要求を受信すると、サービスを実行する(T11A)。そして、クライアント420にそのサービス結果を返信する(T12A)。
【0044】
図8はクライアント420側のサービス要求処理手順を示すフローチャートである。この処理プログラムは、例えばハードディスクに格納されており、CPUによって実行されるものであり、クライアント側のアプリケーション423(図4参照)に相当する。まず、サーバ410Aにサーバ410A用のWSDLファイルを要求し、サーバ410A用のWSDLファイルを取得する(ステップS1)。ここで、サーバ410A用のWSDLファイルを既に取得して保管している場合、サーバ410A用のWSDLファイルを記憶媒体から読み出してもよい。
【0045】
サーバ410A用のWSDLファイルを使用してサーバ401Aにサービスの要求を行う(ステップS2)。この後、サービス要求の結果を待ち、その結果を判別する(ステップS3)。サービス要求の結果、サービスが実行された場合、そのサービスの実行結果を取得し(ステップS13)、本処理を終了する。
【0046】
一方、サービス要求の結果、サービス拒否である場合、受信した拒否データを保存し(ステップS4)、次に要求するサーバ(サーバ410B)用のWSDLファイルを、サービス要求を拒否したサーバ410Aから獲得する(ステップS5)。この後、ステップS6の処理に進む。
【0047】
また一方、サービス要求の結果、時間切れ(TimeOut)である場合、次に要求するサーバ(サーバ410C)用のWSDLファイルを、前回WSDLファイルを獲得したサーバ410Aから獲得する(ステップS7)。
【0048】
そして、獲得したサーバ用のWSDLファイルが既に要求したサーバ用のWSDLファイルと同じであるか否かを判別する(ステップS6)。既に要求したサーバ用のWSDLファイルと同じでない場合、つまり、未だ要求を行っていないサーバ用のWSDLファイルである場合、ステップS2の処理に戻る。一方、獲得したWSDLファイルが既に要求したサーバ用のWSDLファイルである場合、全てのサーバから拒否されたと判断する。拒否データからサービス要求に最適なサーバを選択し(ステップS8)、輻輳用のWSDLファイルであるspecialWSDLファイルを獲得し(ステップS9)、獲得したspecialWSDLファイルを使用してサーバにサービス要求を行う(ステップS10)。
【0049】
この後、サービス要求の結果を判別する(ステップS11)。サービス要求の結果、サービスが実行された場合、ステップS13の処理に移行する。一方、サービス要求の結果、サービスが拒否された場合、全てのサーバに対し、輻輳時のサービス要求を行ったか否かを判別する(ステップS12)。全てのサーバに対し、輻輳時のサービス要求を行っていない場合、ステップS8の処理に戻り、同様の処理を繰り返す。一方、全てのサーバに対し、輻輳時のサービス要求を行った場合、そのまま本処理を終了する。
【0050】
図9はサーバ410側のサービス応答処理手順を示すフローチャートである。この処理プログラムは、例えばハードディスクに格納されており、CPUによって実行されるものであり、サーバ側のアプリケーション413(図4参照)に相当する。まず、クライアント420からの要求に応じて、サーバ410Aは、サーバ410A用のWSDLファイルを返信する(ステップS21)。そして、クライアント420からのサーバ410A用のWSDLファイルによるサービス要求を受信する(ステップS22)。
【0051】
受信したサービス要求に対し、サーバ負荷監視機能414によるサーバの負荷状態を考慮し、サービスの実行が可能であるか否かを判別する(ステップS23)。低負荷状態であって、サービスの実行が可能である場合、サービスを実行し(ステップS27)、その実行結果をクライアント420に返信する(ステップS28)。この後、本処理を終了する。
【0052】
一方、ステップS23で、高負荷状態であって、サービスの実行が可能でない場合、拒否データをクライアント420に返信する(ステップS24)。そして、他のサーバの紹介がクライアント420から要求されたか否かを判別する(ステップS25)。要求されていない場合、そのまま本処理を終了する。一方、次に要求するサーバの紹介が要求された場合、次のサーバ用のWSDLファイルを返信する(ステップS26)。この後、本処理を終了する。
【0053】
このように、サーバがサービスの実行が可能でない場合、クライアントは他のサーバのWSDLファイルをもらうことができるので、他の複数のサーバのそれぞれにWSDLファイルを要求して同様なサービスを提供しているサーバをあらためて探索する必要がなく、通信量を削減することができる。
【0054】
なお、図9の処理では、サーバ410は、他のサーバの紹介がクライアント420から要求された場合に、次のサーバ用のWSDLファイルを返信しているが、ステップS22でサービス要求を受信した後、サービスの実行が可能でないのに応じて、次のサーバ用のWSDLファイルを返信しても良い。これにより、クライアントとサーバとの間の通信量をより一層削減することができる。
【0055】
図10はサーバリスト418を示す図である。このサーバリスト418は、ネットワーク上の全てのサーバに共通に保持されている。また、ネットワーク上に同一のサービスを提供するサーバの数が10台存在することが示されている。サーバリスト418には、サーバの負荷が高い場合、他のサーバを紹介してサービス要求を振るための順番を表されている。最初に振られるサーバは、自身のサーバ(Server3)の次に記述されているサーバ(Server4)に対して行い、その後、リストに従って順次行う。サーバ(Server3)では、最初に他のサーバの紹介要求(他のサーバのWSDL要求)があった場合、サーバ(Server4)から紹介を行い、2回目に要求があった場合、サーバ(Server5)を紹介する。さらに、サーバリスト418をリング状に循環して使用し、サーバ(Server10)まで紹介した後、再びサーバ(Server1)を紹介するようにしている。
【0056】
図11はサーバリスト418に従ってリング状に循環して紹介されるサーバの順序を示す図である。サーバ(Server3)はサーバ(Server4)を紹介し、サーバ(Server4)はサーバ(Server5)を紹介し、リング(チェーン)状に紹介が行われる。但し、サーバ(Server4)がダウン等の理由で無反応であった場合、チェーンが切れてしまうことを防ぐため、サーバ(Server4)がダウンしている場合、クライアント420は再びサーバ(Server3)に紹介を要求し、サーバ(Server3)はサーバ(Server5)を紹介する。
【0057】
図12および図13は認証サービスの要求用としてサーバによって発行されるWSDLファイルを示す図である。この例では、サーバPC101が認証サービスを提供し、認証サービスの要求用としてWSDLファイルを発行する。ここで、この認証サービスのオペレーションはauthReqである。その入力データは、UserID、PassWdであり、それぞれユーザID、パスワードを表している。出力データは、result−code、RejectDataであり、それぞれ認証結果、認証サービスが拒否された場合の拒否データを表している。
【0058】
また、このWSDLファイルを使用してアクセスするアドレスは、http://example.auth.co.jp/AuthenticationServiceのAuthenticationServicePort_HighPriorityである。
【0059】
図14および図15は認証サービスの要求用としてサーバによって発行される他のサーバのWSDLファイルを示す図である。この例では、サーバPC102が認証サービスを提供し、サーバPC101は、認証サービスの要求用として他のサーバのWSDLファイルを発行する。ここで、この認証サービスのオペレーションはauthReqである。その入力データ(パラメータ)はUserID、PassWdであり、それぞれユーザID、パスワードを表している。出力データ(出力結果)は、result−code、RejectDataであり、それぞれ認証結果、認証サービスが拒否された場合の拒否データを表している。
【0060】
また、このWSDLファイルを使用してアクセスするアドレスは、http://example2.auth.co.jp/AuthenticationServiceのAuthenticationServicePort_HighPriorityであり、図12、図13のhttp://example.auth.co.jp/AuthenticationServiceのAuthenticationServicePort_HighPriorityとは別のサーバであることがわかる。
【0061】
サーバは、▲1▼他のサーバが代替サーバとして設定されたときに、設定された他のサーバからWSDLファイルを取得する、▲2▼複数の他のサーバにそれぞれWSDLファイルを要求して、自身と同じサービスを提供しているサーバのWSDLファイルを保存する。
【0062】
また、認証サービスのほか、プリントサービスや複写サービスなど、装置が提供する様々なデータ処理に関する情報もWSDLファイルでは記述可能である。
【0063】
図16は拒否データの内容を示す図である。この拒否データは、MFP105がサーバ410として印刷サービスを提供し、負荷が高くなった場合に生成されるものである。図において、1310は拒否データに含まれるデータ要素の名称である。1320はデータ要素の内容である。負荷情報1311は、サーバの現在の負荷状況を数値で表したものであり、「0」で負荷最低の状態を表し、「9」で負荷最大の状態を表す。予想待ち時間1312は、サービスが実行されるまでの待ち時間を数値で表したものであり、「0」で即実行されることを表し、「9」で無限に待たされる可能性を表す。印刷可能枚数1313は、印刷が可能な枚数の限度を表している。図16に示す拒否データのデータ要素はあくまでも一例であり、これらのデータ要素が拒否データに含まれず、その他のデータ要素が拒否データに含まれてもよい。例えば、輻輳用のWSDLファイルを使用した際のサービス品質がデータ要素として含まれてもよい。
【0064】
このように、本実施形態によれば、サーバ装置は自身の負荷が高い場合、他のサーバ装置にサービスの要求を振ることができるので、特定のサーバ装置の負荷を上げてしまうことなく、全てのサーバ装置の負荷を平均化することができ、複数のサーバ装置に対する効率的な分散処理を行うことができる。また、特定のサーバ装置に負荷が偏ってしまった場合やサーバ装置がサービスを提供できなくなってしまった場合に、クライアント装置が他のサーバ装置でサービスを受けることができるとともに、当該他のサーバ装置のサービス内容をより速く効率的に認識できる。
【0065】
また、サーバ装置の構成が変わっても、クライアント装置の設定を変更する必要がなく、容易に管理することができる。さらに、クライアント装置が拒否データを基にサーバ装置を選択できるので、各サーバ装置の負荷を均等にすることができる。
【0066】
以上が本発明の実施の形態の説明であるが、本発明は、これら実施の形態の構成に限られるものではなく、特許請求の範囲で示した機能、または実施の形態の構成が持つ機能が達成できる構成であればどのようなものであっても適用可能である。
【0067】
例えば、サービスを提供するサーバPCは、複写サービスやプリントサービスを提供する複写機またはプリンタであってもよい。
【0068】
例えば、本発明は、複数の機器(例えばホストコンピュータ、インタフェース機器、リーダなど)から構成されるシステムあるいは統合装置に適用してもよいし、1つの機器からなる装置に適用してもよい。
【0069】
また、本発明の目的は、実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出して実行することによっても達成される。
【0070】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0071】
図17は記憶媒体としてのCD−ROMのメモリマップを示す図である。図において、9999はディレクトリ情報が記憶されている領域である。ディレクトリ情報には、分散サーバシステムプログラムをインストールするためのインストールプログラムが記憶されている領域9998、および分散サーバシステムプログラムが記憶されている領域9997の位置が示されている。
【0072】
本実施形態の分散サーバシステムプログラムが印刷デバイスであるMFP105、106にインストールされる際、まず領域9998に記憶されているインストールプログラムがRAM303にロードされ、CPU301によって実行される。そして、CPU301がインストールプログラムを実行することによって、領域9997から分散サーバシステムプログラムを読み出し、ハードディスク311に格納する。
【0073】
又、プログラムコードを供給するための記憶媒体としては、例えば、ROM、フロッピー(登録商標)ディスク、PCMCIAカードやコンパクトフラッシュ(登録商標)等のメモリカード、ハードディスク、マイクロDAT、光磁気ディスク、CD−RやCD−RW等の光ディスク、DVD等の相変化型光ディスク等で構成されてもよい。
【0074】
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0075】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0076】
また、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体から、そのプログラムをパソコン通信など通信ラインを介して要求者にそのプログラムを配信する場合にも適用できることは言うまでもない。
【0077】
【発明の効果】
本発明によれば、特定のサーバ装置に負荷が偏ってしまった場合やサーバ装置がサービスを提供できなくなってしまった場合に、クライアント装置が他のサーバ装置でサービスを受けることができるとともに、当該他のサーバ装置のサービス内容をより速く効率的に認識できる。
【0078】
また、サーバ装置の構成が変わっても、クライアント装置の設定を変更する必要がなく、容易に管理することができる。
【図面の簡単な説明】
【図1】実施の形態におけるネットワークシステムの構成を示す図である。
【図2】サーバPC101、102およびクライアントPC103、104の構成を示すブロック図である。
【図3】WEBサービスプログラムが稼動するMFP105、106の構成を示すブロック図である。
【図4】ネットワークシステムにおけるクライアントおよびサーバの機能的構成を示す図である。
【図5】クライアントおよびサーバ間の動作処理の流れを示す図である。
【図6】クライアントおよびサーバ間の他の動作処理の流れを示す図である。
【図7】クライアントおよびサーバ間の他の動作処理の流れを示す図である。
【図8】クライアント420側のサービス要求処理手順を示すフローチャートである。
【図9】サーバ410側のサービス応答処理手順を示すフローチャートである。
【図10】サーバリスト418を示す図である。
【図11】サーバリスト418に従ってリング状に循環して紹介されるサーバの順序を示す図である。
【図12】認証サービスの要求用としてサーバによって発行されるWSDLファイルを示す図である。
【図13】図12に続く認証サービスの要求用としてサーバによって発行されるWSDLファイルを示す図である。
【図14】認証サービスの要求用としてサーバによって発行される輻輳用のSpecialWSDLファイルを示す図である。
【図15】図14に続く認証サービスの要求用としてサーバによって発行される輻輳用のSpecialWSDLファイルを示す図である。
【図16】拒否データの内容を示す図である。
【図17】記憶媒体としてのCD−ROMのメモリマップを示す図である。
【符号の説明】
410、410A、410B、410C サーバ
413、423 アプリケーション
415 WSDLファイル
416 special WSDLファイル
418 サーバリスト
420 クライアント
【発明の属する技術分野】
本発明は、情報処理装置からのサービス要求に応じてサービスを提供するデータ処理装置、データ処理システム、データ処理方法、情報処理方法およびプログラムに関する。
【0002】
【従来の技術】
あるホストコンピュータから接続要求を受信したとき、すでに他のホストコンピュータと接続している場合には、接続不可をホストコンピュータへ通知するとともに、代替プリンタとなりえる他のプリンタを探索し、見つかった他のプリンタのアドレス情報等をホストコンピュータへ提示するプリンタがあった(例えば、特許文献1)。
【0003】
【特許文献1】
特開平7−325679号公報
【0004】
【発明が解決しようとする課題】
サーバ装置およびクライアント装置がネットワークを介して接続されたデータ処理システムにおいて、Webサービス技術を使用することにより、サーバ装置がクライアント装置にサービスを提供することが知られている。
【0005】
このWebサービス技術では、サーバ装置が、WSDL(Web Services Description Language)で記述されたWSDLファイルをSOAP(Simple Object Access Protocol)を用いてクライアント装置に提供し、クライアント装置はそのサービス記述情報を解析して、サーバ装置がどのようなサービスを提供しているか、またはどのような手順及びプロトコルでサービスを受けるかを認識することができる。
【0006】
しかしながら、上記Webサービス技術を用いたデータ処理システムでは、例えば、以下に掲げる問題がある。すなわち、各サーバ装置が分担して複数のクライアント装置を固定して受け持つ場合、クライアント装置は、負荷が高い状態のサーバ装置に対し、通常通りのサービスを要求してしまうことにより、さらにサーバ装置の負荷を上げてしまっていた。
【0007】
また、負荷の分散を行うために、上記従来の技術のように、サーバ装置がすでに他のクライアント装置に対してサービスを提供している場合には、他のサーバ装置を探索し、見つかったサーバ装置のアドレス情報等をクライアント装置に提示することが考えられる。
【0008】
しかし、サーバ装置間では、同じようなサービスを提供していても、サービスを受けるときに指定可能なオペレーションやパラメータが異なっていたり、サービスを受けた後の出力データが異なっていたりすることがある。従って、クライアント装置は、提示された他のサーバ装置がどのようなサービスを提供しているかを、別途、確認しなければならない。
【0009】
そこで、本発明は、特定のサーバ装置に負荷が偏ってしまった場合やサーバ装置がサービスを提供できなくなってしまった場合に、クライアント装置が他のサーバ装置でサービスを受けることができるとともに、当該他のサーバ装置のサービス内容をより速く効率的に認識できるデータ処理装置、データ処理システム、データ処理方法、情報処理方法およびプログラムを提供することを目的とする。
【0010】
また、サーバ装置の構成が変わっても、クライアント装置の設定を変更する必要がなく、容易に管理することができるデータ処理装置、データ処理システム、データ処理方法、情報処理方法およびプログラムを提供することを他の目的とする。
【0011】
【課題を解決するための手段】
上記目的を達成するために、本発明のデータ処理装置は、情報処理装置からの要求にしたがって、サービスを提供するデータ処理装置において、前記データ処理装置が提供する第1のサービスに関する情報が所定の言語で記述された、当該第1のサービスを利用する場合に参照する第1のサービス記述情報を送信する第1の送信手段と、前記データ処理装置自身の状態を判断する状態判断手段と、前記状態判断手段によって判断された状態を基に前記第1のサービスの提供をしない場合、他のデータ処理装置が提供する第2のサービスに関する情報が前記所定の言語で記述された、当該第2のサービスを利用する場合に参照する第2のサービス記述情報を送信する第2の送信手段とを備えたことを特徴とする。
【0012】
本発明のデータ処理システムは、複数のデータ処理装置のいずれかが情報処理装置から要求されたサービスを提供するデータ処理システムにおいて、前記情報処理装置からデータ処理装置が提供する第1のサービスに関する情報が所定の言語で記述された、当該第1のサービスを利用する場合に参照する第1のサービス記述情報を参照し、第1のデータ処理装置に第1のサービスの利用を要求する第1のサービス要求手段と、前記第1のデータ処理装置の状態を基に、該第1のデータ処理装置が前記第1のサービスの提供をしない場合、前記情報処理装置に他のデータ処理装置が提供する、前記第1のサービスと同等のサービスである第2のサービスに関する情報が所定の言語で記述された、当該第2のサービスを利用する場合に参照する第2のサービス記述情報を送信する送信手段と、前記第2のサービス記述情報を参照して前記情報処理装置から前記他のデータ処理装置に前記第2のサービスの利用を要求する第2のサービス要求手段と、全てのデータ処理装置が前記第1のサービスと同等のサービスの提供をしない場合、前記第1のサービスに比べて機能が制限された第3のサービスに関する情報が所定の言語で記述された、当該第3のサービスを利用する場合に参照する第3のサービス記述情報を参照し、いずれかのデータ処理装置に第3のサービスの利用を要求する第3のサービス要求手段とを備えたことを特徴とする。
【0013】
本発明のデータ処理方法は、情報処理装置からの要求にしたがって、サービスを提供するデータ処理方法において、前記データ処理装置が提供する第1のサービスに関する情報が所定の言語で記述された、当該第1のサービスを利用する場合に参照する第1のサービス記述情報を送信する第1の送信ステップと、前記データ処理装置自身の状態を判断する状態判断ステップと、該判断された状態を基に、第1のサービスの提供をしない場合、他のデータ処理装置が提供する第2のサービスに関する情報が所定の言語で記述された、当該第2のサービスを利用する場合に参照する第2のサービス記述情報を送信する第2の送信ステップとを有することを特徴とする。
【0014】
本発明の情報処理方法は、データ処理装置が提供するサービスの利用を要求する情報処理方法において、第1のデータ処理装置が提供する第1のサービスに関する情報が所定の言語で記述された、当該第1のサービスを利用する場合に参照する第1のサービス記述情報を参照し、該第1のサービスの利用を要求する第1のサービス要求ステップと、前記第1のサービスの利用要求に対し、前記第1のデータ処理装置から他のデータ処理装置が提供する第2のサービスに関する情報が所定の言語で記述された、当該第2のサービスを利用する場合に参照する第2のサービス記述情報が返信された場合、該第2のサービス技術情報を参照し、前記他のデータ処理装置に第2のサービスの利用を要求する第2のサービス要求ステップとを有することを特徴とする。
【0015】
本発明のプログラムは、データ処理装置内のコンピュータが読み取り実行可能なプログラムであって、情報処理装置からの要求にしたがって、サービスを提供する際、前記データ処理装置が提供する第1のサービスに関する情報が所定の言語で記述された、当該第1のサービスを利用する場合に参照する第1のサービス記述情報を送信する第1の送信ステップと、前記データ処理装置自身の状態を判断する状態判断ステップと、該判断された状態を基に、第1のサービスの提供をしない場合、他のデータ処理装置が提供する第2のサービスに関する情報が所定の言語で記述された、当該第2のサービスを利用する場合に参照する第2のサービス記述情報を送信する第2のサービス記述情報送信ステップとを含むことを特徴とする。
【0016】
本発明のプログラムは、情報処理装置内のコンピュータが読み取り実行可能なプログラムであって、データ処理装置が提供するサービスの利用を要求する際、第1のデータ処理装置が提供する第1のサービスに関する情報が所定の言語で記述された、当該第1のサービスを利用する場合に参照する第1のサービス記述情報を参照し、該第1のサービスの利用を要求する第1のサービス要求ステップと、前記第1のサービスの利用要求に対し、前記第1のデータ処理装置から他のデータ処理装置が提供する第2のサービスに関する情報が所定の言語で記述された、当該第2のサービスを利用する場合に参照する第2のサービス記述情報が返信された場合、該第2のサービス記述情報を参照し、前記他のデータ処理装置に第2のサービスの利用を要求する第2のサービス要求ステップとを含むことを特徴とする。
【0017】
【発明の実施の形態】
本発明のデータ処理装置、データ処理システム、データ処理方法、情報処理方法およびプログラムの実施の形態について図面を参照しながら説明する。本実施形態のデータ処理システムは、WEBサービス技術を利用し、サーバ装置(単にサーバという)およびクライアント装置(単にクライアントという)がネットワークに接続されたネットワークシステムに適用される。
【0018】
図1は実施の形態におけるネットワークシステムの構成を示す図である。図において、101、102はサーバPCである。103、104はクライアントPCである。105、106はMFP(Multi Function Printer)である。サーバPC101、102、クライアントPC103、104およびMFP105、106は、LAN100に接続されている。
【0019】
サーバPC101、102はWEBサービスにおけるサーバであり、クライアントPC103、104からのサービス要求に応じてサービスを提供する。サーバPC101、102は同一のサービスを提供しており、本実施形態では、複数のサーバPCが同一のサービスを提供することによって、サービス処理における負荷の分散が図られている。
【0020】
MFP105、106は、それぞれWEBサービスのサーバまたはクライアントになることが可能な印刷デバイスであり、クライアントPC103、104からのサービス要求に応じてサービスを提供する、またはサーバPC101、102に対してサービス要求を行い、サービスの提供を受ける。MFP105、106がサーバとなる場合、サーバPC101、102と同様、同一のサービスを複数のMFPが提供することによって、サービス処理における負荷の分散が図られる。また、前述したように、クライアントPC103、104は、WEBサービスにおけるクライアントであり、サーバPC101、102またはMFP105、106に対してサービスを要求し、サービスの提供を受けることが可能である。
【0021】
図2はサーバPC101、102およびクライアントPC103、104の構成を示すブロック図である。サーバPC101、102およびクライアントPC103、104は一般的なパーソナルコンピュータ(PC)から構成されている。
【0022】
この一般的なPCは、ROM202もしくはハードディスク(HD)211に記憶された、あるいはフロッピー(登録商標)ディスクドライブ(FD)212から供給される各種ソフトウェアを実行するCPU201を有しており、CPU201はシステムバス204に接続された各部を総括的に制御する。
【0023】
203はRAMであり、CPU201の主メモリ、ワークエリア等として機能する。205はキーボードコントローラ(KBC)であり、キーボード(KB)209やポインティングデバイス(図示せず)等からの指示入力を制御する。206はCRTコントローラ(CRTC)であり、CRTディスプレイ(CRT)210の表示を制御する。
【0024】
207はディスクコントローラ(DKC)であり、ブートプログラム、分散サーバシステムプログラム、種々のアプリケーション、編集ファイル、ユーザファイル等を記憶するハードディスク(HD)211およびフロッピー(登録商標)ディスクドライブ(FD)212とのアクセスを制御する。208はネットワークインタフェースカード(NIC)であり、LAN100を介してネットワークプリンタ、他のネットワーク機器あるいは他のPCと双方向にデータをやりとりする。
【0025】
図3はWEBサービスプログラムが稼動するMFP105、106の構成を示すブロック図である。MFP105、106は、ROM302もしくはハードディスク(HD)311に記憶された、あるいはフロッピーディスクドライブ(FD)312から供給される各種プログラムを実行するCPU301を有しており、CPU301はシステムバス304に接続された各部を総括的に制御する。
【0026】
303はRAMであり、CPU301の主メモリ、ワークエリア等として機能する。305はユーザインタフェースコントローラ(UIC)であり、ユーザインタフェース(UI)309の表示、UI309からの指示入力を制御する。ファンクションコントローラ(FUNCC)306は各デバイス特有の機能であるファンクション(FUNC)310を実現し、これを制御する。ここで、デバイスがモノクロプリンタである場合、ファンクションコントローラ(FUNCC)306およびファンクション(FUNC)310として、モノクロプリントエンジンコントローラおよびモノクロプリントエンジンを設けてもよい。また、カラープリンタである場合、カラープリントエンジンコントローラおよびカラープリントエンジンを設けてもよい。
【0027】
307はディスクコントローラ(DKC)であり、ブートプログラム、分散サーバシステムプログラム、種々のアプリケーション、データファイルを記憶するハードディスク(HD)311およびフロッピー(登録商標)ディスクコントローラ(FD)312とのアクセスを制御する。308はネットワークインタフェースカード(NIC)であり、LAN100を介してネットワークプリンタ、他のネットワーク機器あるいは他のPCと双方向にデータをやりとりする。
【0028】
図4はネットワークシステムにおけるクライアントおよびサーバの機能的構成を示す図である。図において、410はサーバであり、サーバPC101、102、サーバとなる場合のMFP105、106に相当する。一方、420はクライアントであり、クライアントPC103、104、クライアントとなる場合のMFP105、106に相当する。サーバ410およびクライアント420はLAN100を介して接続されている。
【0029】
411はネットワークインタフェース機能であり、サーバ410をLAN100に接続する。412はWEBサービスサーバ機能であり、例えばHTTPサーバ、SOAPサーバ、XMLパーサ、WSDL生成機能などである。413はサービスを提供するサーバ側のアプリケーションである。MFP105、106がサーバとなる場合、スキャン機能、印刷機能などもここに含まれる。414はサーバ410の負荷を測定し、負荷状態を数値(負荷値)で把握するサーバ負荷監視機能である。
【0030】
415は通常負荷時にクライアントが使用する通常用のNWSDL(Normal Web Service Description Language)ファイルである。尚、ここでは、NWSDLファイルを単にWSDLとも称している。416はサーバ負荷監視機能414による現在のサーバの負荷状態を考慮に入れて生成された、輻輳用のWSDL(specialWSDL)ファイルである。WSDLファイルにはサーバが提供するサービスを利用するための情報が記述されており、specialWSDLファイルでは、NWSDLファイルに比べてサーバの機能が限定されている。例えば、specialWSDLファイルを使用した場合、NWSDLファイルに比べて優先度の低いポートに接続される。417はネットワーク上で同一のサービスを提供することが可能な他のサーバ用のWSDLファイルである。418は他のサーバ用のWSDLファイルを紹介する順番が記述されているサーバリストであり、ネットワーク上の全てのサーバで共通である。
【0031】
一方、421はクライアント側のネットワークインタフェース機能であり、クライアント420をLAN100に接続する。422はWEBサービスクライアント機能であり、例えば、HTTPクライアント、SOAPクライアント、XMLパーサなどである。423はサーバ410が提供するサービスを利用するクライアント(ユーザ)側のアプリケーションである。424はクライアント420とのユーザI/F(UI)である。425、426はサーバ410から獲得したWSDLファイルである。
【0032】
上記構成を有するネットワークシステムの動作を示す。図5はクライアントおよびサーバ間の動作処理の流れを示す図である。尚、ここでは、説明を簡単にするために、クライアントが1台、サーバが2台であるが、これらの台数は任意であることは勿論である。
【0033】
図において、420はクライアントである。410A、410Bはサーバ410に相当するものであり、それぞれ高負荷状態にあるサーバ1、定負荷状態にあるサーバ2である。まず、クライアント420はサーバ410Aに対し、サーバ410A用のWSDLファイルを要求する(T1)。この要求に応じて、サーバ410Aはサーバ410A用のWSDLファイルをクライアント420に送信する(T2)。
【0034】
クライアント420は、受信したサーバ410A用のWSDLファイルを使用してサービス要求を送信する(T3)。尚、クライアント420は、既にサーバ410A用のWSDLファイルを取得して保管している場合、ステップT1、T2の処理を行うことなく、直接ステップT3の処理を行ってもよい。
【0035】
クライアント420からのサービス要求に対し、サーバ410Aは高負荷状態であることを理由に、そのサービス要求を拒否する。この際、拒否データをクライアント420に返信する(T4)。この拒否データを受信すると、クライアント420は、別のサーバの紹介をサーバ410Aに要求する(T5)。サーバ410Aは、サーバリスト418(図4、図10参照)を基に、別のサーバであるサーバ410B用のWSDLファイルを返信する(T6)。クライアント420は、サーバ410B用のWSDLファイルを使用し、サーバ410Bにサービス要求を送信する(T7)。サーバ410Bがサービスを実行可能である場合、サーバ410Bはクライアント420からのサービス要求に応じたサービスを実行する(T8)。ここで、サービス要求に応じたサービスとして、例えば、サーバPC101、102がサーバである場合、認証処理等が挙げられ、MFP105、106がサーバである場合、画像読込処理や印刷処理等が挙げられる。この後、そのサービス結果をクライアント420に返信する(T9)。
【0036】
図6はクライアントおよびサーバ間の他の動作処理の流れを示す図である。図5では、クライアント420は、サーバ410Aから紹介されたサーバ410Bに対し、サービス要求を行ったが、図6ではサーバ410Bを含む全てのサーバでサービス要求が拒否された場合、つまり2台のサーバ410A、410Bのいずれもが高負荷状態にある場合を示す。尚、前述した図5と同一のステップ動作については、同一の符号を付すことにより、その説明を省略する。
【0037】
クライアント420は、ステップT6でサーバ410Aからサーバ410B用のWSDLファイル601を受信すると、ステップT7で、サーバ410B用のWSDLファイルを使用してサーバ410Bにサービス要求を送信する。このサービス要求に対し、サーバ410Bは高負荷状態であることを理由にサービス要求を拒否し、拒否データをクライアント420に送信する(T8A)。
【0038】
この拒否データを受信すると、クライアント420は、サーバ410Bに対し、別のサーバの紹介を要求する(T9A)。この要求に応じて、サーバ410Bはサーバ410A用のWSDLファイルを返信する(T10)。
【0039】
クライアント420は、受信したWSDLファイルから、既にサービス要求を行ったサーバ410Aが紹介されたことを知り、全てのサーバから拒否されたと判断する。そして、この拒否データを基にサーバ410Aを選択し(T11)、サーバが高負荷状態である場合に適した、輻輳用のWSDLファイルであるspecailWSDLファイルをサーバ410Aに要求する(T12)。
【0040】
サーバ410Aは、specialWSDLファイルをクライアント420に送信する(T13)。クライアント420は、受信したサーバ410A用のspecailWSDLファイルを使用し、サーバ410Aにサービス要求を送信する(T14)。このサービス要求に応じて、サーバ410Aは、輻輳時のサービスを実行する(T15)。ここで、輻輳時のサービス処理としては、例えば、サーバPC101、102がサーバである場合、簡単な認証処理等が挙げられ、MFP105、106がサーバである場合、低解像度の画像読込処理や低品質の印刷処理等が挙げられる。そして、そのサービス結果を通知する(T16)。
【0041】
図7はクライアントおよびサーバ間の他の動作処理の流れを示す図である。図7では、サーバ410A、410Bの他、サーバ410Cが存在し、同様にサーバ410に相当するものである。また、ここでは、サーバ410Aは高負荷状態にあり、サーバ410Bはダウン状態にあり、サーバ410Cは低負荷状態にある。尚、前述した図5と同一のステップ動作については、同一の符号を付すことにより、その説明を省略する。
【0042】
クライアント420は、ステップT6でサーバ410Aからサーバ410B用のWSDLファイルを受信すると、ステップT7で、サーバ410B用のWSDLファイルを使用してサーバ410Bにサービス要求を送信する。しかし、サーバ410Bがダウン状態であるので、サービス要求に対する返信が無く、クライアント420は、返信待ちが時間切れ(TimeOut)となるまで待機する。
【0043】
そして、時間切れになると、クライアント420は、サーバ410Aに対し、別のサーバの紹介を更に要求する(T8A)。サーバ410Aは、2回目の紹介としてサーバリスト418(図4、図10参照)を基に、サーバ410CのWSDLファイルを返信する(T9B)。クライアント420は、サーバ410C用のWSDLファイルを使用し、サーバ410Cにサービス要求を送信する(T10A)。サーバ410Cは、低負荷状態にあるので、このサービス要求を受信すると、サービスを実行する(T11A)。そして、クライアント420にそのサービス結果を返信する(T12A)。
【0044】
図8はクライアント420側のサービス要求処理手順を示すフローチャートである。この処理プログラムは、例えばハードディスクに格納されており、CPUによって実行されるものであり、クライアント側のアプリケーション423(図4参照)に相当する。まず、サーバ410Aにサーバ410A用のWSDLファイルを要求し、サーバ410A用のWSDLファイルを取得する(ステップS1)。ここで、サーバ410A用のWSDLファイルを既に取得して保管している場合、サーバ410A用のWSDLファイルを記憶媒体から読み出してもよい。
【0045】
サーバ410A用のWSDLファイルを使用してサーバ401Aにサービスの要求を行う(ステップS2)。この後、サービス要求の結果を待ち、その結果を判別する(ステップS3)。サービス要求の結果、サービスが実行された場合、そのサービスの実行結果を取得し(ステップS13)、本処理を終了する。
【0046】
一方、サービス要求の結果、サービス拒否である場合、受信した拒否データを保存し(ステップS4)、次に要求するサーバ(サーバ410B)用のWSDLファイルを、サービス要求を拒否したサーバ410Aから獲得する(ステップS5)。この後、ステップS6の処理に進む。
【0047】
また一方、サービス要求の結果、時間切れ(TimeOut)である場合、次に要求するサーバ(サーバ410C)用のWSDLファイルを、前回WSDLファイルを獲得したサーバ410Aから獲得する(ステップS7)。
【0048】
そして、獲得したサーバ用のWSDLファイルが既に要求したサーバ用のWSDLファイルと同じであるか否かを判別する(ステップS6)。既に要求したサーバ用のWSDLファイルと同じでない場合、つまり、未だ要求を行っていないサーバ用のWSDLファイルである場合、ステップS2の処理に戻る。一方、獲得したWSDLファイルが既に要求したサーバ用のWSDLファイルである場合、全てのサーバから拒否されたと判断する。拒否データからサービス要求に最適なサーバを選択し(ステップS8)、輻輳用のWSDLファイルであるspecialWSDLファイルを獲得し(ステップS9)、獲得したspecialWSDLファイルを使用してサーバにサービス要求を行う(ステップS10)。
【0049】
この後、サービス要求の結果を判別する(ステップS11)。サービス要求の結果、サービスが実行された場合、ステップS13の処理に移行する。一方、サービス要求の結果、サービスが拒否された場合、全てのサーバに対し、輻輳時のサービス要求を行ったか否かを判別する(ステップS12)。全てのサーバに対し、輻輳時のサービス要求を行っていない場合、ステップS8の処理に戻り、同様の処理を繰り返す。一方、全てのサーバに対し、輻輳時のサービス要求を行った場合、そのまま本処理を終了する。
【0050】
図9はサーバ410側のサービス応答処理手順を示すフローチャートである。この処理プログラムは、例えばハードディスクに格納されており、CPUによって実行されるものであり、サーバ側のアプリケーション413(図4参照)に相当する。まず、クライアント420からの要求に応じて、サーバ410Aは、サーバ410A用のWSDLファイルを返信する(ステップS21)。そして、クライアント420からのサーバ410A用のWSDLファイルによるサービス要求を受信する(ステップS22)。
【0051】
受信したサービス要求に対し、サーバ負荷監視機能414によるサーバの負荷状態を考慮し、サービスの実行が可能であるか否かを判別する(ステップS23)。低負荷状態であって、サービスの実行が可能である場合、サービスを実行し(ステップS27)、その実行結果をクライアント420に返信する(ステップS28)。この後、本処理を終了する。
【0052】
一方、ステップS23で、高負荷状態であって、サービスの実行が可能でない場合、拒否データをクライアント420に返信する(ステップS24)。そして、他のサーバの紹介がクライアント420から要求されたか否かを判別する(ステップS25)。要求されていない場合、そのまま本処理を終了する。一方、次に要求するサーバの紹介が要求された場合、次のサーバ用のWSDLファイルを返信する(ステップS26)。この後、本処理を終了する。
【0053】
このように、サーバがサービスの実行が可能でない場合、クライアントは他のサーバのWSDLファイルをもらうことができるので、他の複数のサーバのそれぞれにWSDLファイルを要求して同様なサービスを提供しているサーバをあらためて探索する必要がなく、通信量を削減することができる。
【0054】
なお、図9の処理では、サーバ410は、他のサーバの紹介がクライアント420から要求された場合に、次のサーバ用のWSDLファイルを返信しているが、ステップS22でサービス要求を受信した後、サービスの実行が可能でないのに応じて、次のサーバ用のWSDLファイルを返信しても良い。これにより、クライアントとサーバとの間の通信量をより一層削減することができる。
【0055】
図10はサーバリスト418を示す図である。このサーバリスト418は、ネットワーク上の全てのサーバに共通に保持されている。また、ネットワーク上に同一のサービスを提供するサーバの数が10台存在することが示されている。サーバリスト418には、サーバの負荷が高い場合、他のサーバを紹介してサービス要求を振るための順番を表されている。最初に振られるサーバは、自身のサーバ(Server3)の次に記述されているサーバ(Server4)に対して行い、その後、リストに従って順次行う。サーバ(Server3)では、最初に他のサーバの紹介要求(他のサーバのWSDL要求)があった場合、サーバ(Server4)から紹介を行い、2回目に要求があった場合、サーバ(Server5)を紹介する。さらに、サーバリスト418をリング状に循環して使用し、サーバ(Server10)まで紹介した後、再びサーバ(Server1)を紹介するようにしている。
【0056】
図11はサーバリスト418に従ってリング状に循環して紹介されるサーバの順序を示す図である。サーバ(Server3)はサーバ(Server4)を紹介し、サーバ(Server4)はサーバ(Server5)を紹介し、リング(チェーン)状に紹介が行われる。但し、サーバ(Server4)がダウン等の理由で無反応であった場合、チェーンが切れてしまうことを防ぐため、サーバ(Server4)がダウンしている場合、クライアント420は再びサーバ(Server3)に紹介を要求し、サーバ(Server3)はサーバ(Server5)を紹介する。
【0057】
図12および図13は認証サービスの要求用としてサーバによって発行されるWSDLファイルを示す図である。この例では、サーバPC101が認証サービスを提供し、認証サービスの要求用としてWSDLファイルを発行する。ここで、この認証サービスのオペレーションはauthReqである。その入力データは、UserID、PassWdであり、それぞれユーザID、パスワードを表している。出力データは、result−code、RejectDataであり、それぞれ認証結果、認証サービスが拒否された場合の拒否データを表している。
【0058】
また、このWSDLファイルを使用してアクセスするアドレスは、http://example.auth.co.jp/AuthenticationServiceのAuthenticationServicePort_HighPriorityである。
【0059】
図14および図15は認証サービスの要求用としてサーバによって発行される他のサーバのWSDLファイルを示す図である。この例では、サーバPC102が認証サービスを提供し、サーバPC101は、認証サービスの要求用として他のサーバのWSDLファイルを発行する。ここで、この認証サービスのオペレーションはauthReqである。その入力データ(パラメータ)はUserID、PassWdであり、それぞれユーザID、パスワードを表している。出力データ(出力結果)は、result−code、RejectDataであり、それぞれ認証結果、認証サービスが拒否された場合の拒否データを表している。
【0060】
また、このWSDLファイルを使用してアクセスするアドレスは、http://example2.auth.co.jp/AuthenticationServiceのAuthenticationServicePort_HighPriorityであり、図12、図13のhttp://example.auth.co.jp/AuthenticationServiceのAuthenticationServicePort_HighPriorityとは別のサーバであることがわかる。
【0061】
サーバは、▲1▼他のサーバが代替サーバとして設定されたときに、設定された他のサーバからWSDLファイルを取得する、▲2▼複数の他のサーバにそれぞれWSDLファイルを要求して、自身と同じサービスを提供しているサーバのWSDLファイルを保存する。
【0062】
また、認証サービスのほか、プリントサービスや複写サービスなど、装置が提供する様々なデータ処理に関する情報もWSDLファイルでは記述可能である。
【0063】
図16は拒否データの内容を示す図である。この拒否データは、MFP105がサーバ410として印刷サービスを提供し、負荷が高くなった場合に生成されるものである。図において、1310は拒否データに含まれるデータ要素の名称である。1320はデータ要素の内容である。負荷情報1311は、サーバの現在の負荷状況を数値で表したものであり、「0」で負荷最低の状態を表し、「9」で負荷最大の状態を表す。予想待ち時間1312は、サービスが実行されるまでの待ち時間を数値で表したものであり、「0」で即実行されることを表し、「9」で無限に待たされる可能性を表す。印刷可能枚数1313は、印刷が可能な枚数の限度を表している。図16に示す拒否データのデータ要素はあくまでも一例であり、これらのデータ要素が拒否データに含まれず、その他のデータ要素が拒否データに含まれてもよい。例えば、輻輳用のWSDLファイルを使用した際のサービス品質がデータ要素として含まれてもよい。
【0064】
このように、本実施形態によれば、サーバ装置は自身の負荷が高い場合、他のサーバ装置にサービスの要求を振ることができるので、特定のサーバ装置の負荷を上げてしまうことなく、全てのサーバ装置の負荷を平均化することができ、複数のサーバ装置に対する効率的な分散処理を行うことができる。また、特定のサーバ装置に負荷が偏ってしまった場合やサーバ装置がサービスを提供できなくなってしまった場合に、クライアント装置が他のサーバ装置でサービスを受けることができるとともに、当該他のサーバ装置のサービス内容をより速く効率的に認識できる。
【0065】
また、サーバ装置の構成が変わっても、クライアント装置の設定を変更する必要がなく、容易に管理することができる。さらに、クライアント装置が拒否データを基にサーバ装置を選択できるので、各サーバ装置の負荷を均等にすることができる。
【0066】
以上が本発明の実施の形態の説明であるが、本発明は、これら実施の形態の構成に限られるものではなく、特許請求の範囲で示した機能、または実施の形態の構成が持つ機能が達成できる構成であればどのようなものであっても適用可能である。
【0067】
例えば、サービスを提供するサーバPCは、複写サービスやプリントサービスを提供する複写機またはプリンタであってもよい。
【0068】
例えば、本発明は、複数の機器(例えばホストコンピュータ、インタフェース機器、リーダなど)から構成されるシステムあるいは統合装置に適用してもよいし、1つの機器からなる装置に適用してもよい。
【0069】
また、本発明の目的は、実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出して実行することによっても達成される。
【0070】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0071】
図17は記憶媒体としてのCD−ROMのメモリマップを示す図である。図において、9999はディレクトリ情報が記憶されている領域である。ディレクトリ情報には、分散サーバシステムプログラムをインストールするためのインストールプログラムが記憶されている領域9998、および分散サーバシステムプログラムが記憶されている領域9997の位置が示されている。
【0072】
本実施形態の分散サーバシステムプログラムが印刷デバイスであるMFP105、106にインストールされる際、まず領域9998に記憶されているインストールプログラムがRAM303にロードされ、CPU301によって実行される。そして、CPU301がインストールプログラムを実行することによって、領域9997から分散サーバシステムプログラムを読み出し、ハードディスク311に格納する。
【0073】
又、プログラムコードを供給するための記憶媒体としては、例えば、ROM、フロッピー(登録商標)ディスク、PCMCIAカードやコンパクトフラッシュ(登録商標)等のメモリカード、ハードディスク、マイクロDAT、光磁気ディスク、CD−RやCD−RW等の光ディスク、DVD等の相変化型光ディスク等で構成されてもよい。
【0074】
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0075】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0076】
また、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体から、そのプログラムをパソコン通信など通信ラインを介して要求者にそのプログラムを配信する場合にも適用できることは言うまでもない。
【0077】
【発明の効果】
本発明によれば、特定のサーバ装置に負荷が偏ってしまった場合やサーバ装置がサービスを提供できなくなってしまった場合に、クライアント装置が他のサーバ装置でサービスを受けることができるとともに、当該他のサーバ装置のサービス内容をより速く効率的に認識できる。
【0078】
また、サーバ装置の構成が変わっても、クライアント装置の設定を変更する必要がなく、容易に管理することができる。
【図面の簡単な説明】
【図1】実施の形態におけるネットワークシステムの構成を示す図である。
【図2】サーバPC101、102およびクライアントPC103、104の構成を示すブロック図である。
【図3】WEBサービスプログラムが稼動するMFP105、106の構成を示すブロック図である。
【図4】ネットワークシステムにおけるクライアントおよびサーバの機能的構成を示す図である。
【図5】クライアントおよびサーバ間の動作処理の流れを示す図である。
【図6】クライアントおよびサーバ間の他の動作処理の流れを示す図である。
【図7】クライアントおよびサーバ間の他の動作処理の流れを示す図である。
【図8】クライアント420側のサービス要求処理手順を示すフローチャートである。
【図9】サーバ410側のサービス応答処理手順を示すフローチャートである。
【図10】サーバリスト418を示す図である。
【図11】サーバリスト418に従ってリング状に循環して紹介されるサーバの順序を示す図である。
【図12】認証サービスの要求用としてサーバによって発行されるWSDLファイルを示す図である。
【図13】図12に続く認証サービスの要求用としてサーバによって発行されるWSDLファイルを示す図である。
【図14】認証サービスの要求用としてサーバによって発行される輻輳用のSpecialWSDLファイルを示す図である。
【図15】図14に続く認証サービスの要求用としてサーバによって発行される輻輳用のSpecialWSDLファイルを示す図である。
【図16】拒否データの内容を示す図である。
【図17】記憶媒体としてのCD−ROMのメモリマップを示す図である。
【符号の説明】
410、410A、410B、410C サーバ
413、423 アプリケーション
415 WSDLファイル
416 special WSDLファイル
418 サーバリスト
420 クライアント
Claims (15)
- 情報処理装置からの要求にしたがって、サービスを提供するデータ処理装置において、
前記データ処理装置が提供する第1のサービスに関する情報が所定の言語で記述された、当該第1のサービスを利用する場合に参照する第1のサービス記述情報を送信する第1の送信手段と、
前記データ処理装置自身の状態を判断する状態判断手段と、
前記状態判断手段によって判断された状態を基に前記第1のサービスの提供をしない場合、他のデータ処理装置が提供する第2のサービスに関する情報が前記所定の言語で記述された、当該第2のサービスを利用する場合に参照する第2のサービス記述情報を送信する第2の送信手段とを備えたことを特徴とするデータ処理装置。 - 前記第1のサービスの提供を拒否する場合、拒否する旨とともに前記データ処理装置自身の状態を示す拒否データを前記情報処理装置に送信する送信手段と、
前記情報処理装置から前記他のデータ処理装置の前記第2のサービス記述情報の取得要求を受信する受信手段とを備え、
前記第2の送信手段は、前記取得要求を受信した場合、前記他のデータ処理装置の前記第2のサービス記述情報を返信することを特徴とする請求項1記載のデータ処理装置。 - 他の複数のデータ処理装置の順序が循環して記述されたリストを保持するリスト保持手段を備え、
前記第2の送信手段は、前記リストに記述された順序に従って、他のデータ処理装置のサービス記述情報を送信することを特徴とする請求項1或いは2記載のデータ処理装置。 - 前記情報処理装置から前記第1のサービスに比べて機能が制限された第3のサービスに関する情報が前記所定の言語で記述された、当該第3のサービスを利用する場合に参照する第3のサービス記述情報の取得が要求された場合、該第3のサービス記述情報を送信する第3の送信手段を備えたことを特徴とする請求項1乃至3のいずれか記載のデータ処理装置。
- 前記情報処理装置は、前記第1のサービス記述情報または前記第2のサービス記述情報を解析して、前記第1のサービスまたは前記第2のサービスにおいて指定可能なオペレーションの種類、または当該第1のサービスまたは当該第2のサービスで指定可能なパラメータの種類、または当該第1のサービスまたは当該第2のサービスによって出力される出力結果の種類を認識することを特徴とする請求項1乃至4のいずれか記載のデータ処理装置。
- 複数のデータ処理装置のいずれかが情報処理装置から要求されたサービスを提供するデータ処理システムにおいて、
前記情報処理装置からデータ処理装置が提供する第1のサービスに関する情報が所定の言語で記述された、当該第1のサービスを利用する場合に参照する第1のサービス記述情報を参照し、第1のデータ処理装置に第1のサービスの利用を要求する第1のサービス要求手段と、
前記第1のデータ処理装置の状態を基に、該第1のデータ処理装置が前記第1のサービスの提供をしない場合、前記情報処理装置に他のデータ処理装置が提供する、前記第1のサービスと同等のサービスである第2のサービスに関する情報が所定の言語で記述された、当該第2のサービスを利用する場合に参照する第2のサービス記述情報を送信する送信手段と、
前記第2のサービス記述情報を参照して前記情報処理装置から前記他のデータ処理装置に前記第2のサービスの利用を要求する第2のサービス要求手段と、
全てのデータ処理装置が前記第1のサービスと同等のサービスの提供をしない場合、前記第1のサービスに比べて機能が制限された第3のサービスに関する情報が所定の言語で記述された、当該第3のサービスを利用する場合に参照する第3のサービス記述情報を参照し、いずれかのデータ処理装置に第3のサービスの利用を要求する第3のサービス要求手段とを備えたことを特徴とするデータ処理システム。 - 他の複数のデータ処理装置の順序が循環して記述されたリストを保持するリスト保持手段を備え、
前記リストに記述された順序に従い、次のデータ処理装置のサービス記述情報を送信することを特徴とする請求項6記載のデータ処理システム。 - 情報処理装置からの要求にしたがって、サービスを提供するデータ処理方法において、
前記データ処理装置が提供する第1のサービスに関する情報が所定の言語で記述された、当該第1のサービスを利用する場合に参照する第1のサービス記述情報を送信する第1の送信ステップと、
前記データ処理装置自身の状態を判断する状態判断ステップと、
該判断された状態を基に、第1のサービスの提供をしない場合、他のデータ処理装置が提供する第2のサービスに関する情報が所定の言語で記述された、当該第2のサービスを利用する場合に参照する第2のサービス記述情報を送信する第2の送信ステップとを有することを特徴とするデータ処理方法。 - データ処理装置が提供するサービスの利用を要求する情報処理方法において、
第1のデータ処理装置が提供する第1のサービスに関する情報が所定の言語で記述された、当該第1のサービスを利用する場合に参照する第1のサービス記述情報を参照し、該第1のサービスの利用を要求する第1のサービス要求ステップと、
前記第1のサービスの利用要求に対し、前記第1のデータ処理装置から他のデータ処理装置が提供する第2のサービスに関する情報が所定の言語で記述された、当該第2のサービスを利用する場合に参照する第2のサービス記述情報が返信された場合、該第2のサービス技術情報を参照し、前記他のデータ処理装置に第2のサービスの利用を要求する第2のサービス要求ステップとを有することを特徴とする情報処理方法。 - 前記第1のデータ処理装置が前記第1のサービスの提供を拒否した場合、該第1のデータ処理装置に対し、前記他のデータ処理装置が提供する第2のサービスに関する情報が所定の言語で記述された、当該第2のサービスを利用する場合に参照する第2のサービス記述情報の取得を要求する第2のサービス記述情報取得要求ステップを有し、
前記第2のサービス要求ステップでは、前記第2のサービス記述情報の取得要求に応じて返信された前記第2のサービス記述情報を参照して前記他のデータ処理装置に第2のサービスの利用を要求することを特徴とする請求項9記載の情報処理方法。 - 第2のサービス記述情報取得要求ステップでは、前記他のデータ処理装置に対して要求された第2のサービスの利用に対し、前記他のデータ処理装置からの応答が時間切れである場合、前記第1のデータ処理装置に対し、別のデータ処理装置が提供する第3のサービスに関する情報が所定の言語で記述された、当該第3のサービスを利用する場合に参照する第3のサービス記述情報の取得を要求し、
第2のサービス要求ステップでは、前記第3のサービス記述情報の取得要求に応じて返信された前記第3のサービス記述情報を参照して前記別のデータ処理装置に第3のサービスの利用を要求することを特徴とする請求項10記載の情報処理方法。 - 返信されたサービス記述情報を参照してサービスの利用が要求されるデータ処理装置が既にサービスの利用を要求したデータ処理装置と同じであった場合、前記第1のサービスに比べて機能が制限された第4のサービスに関する情報が所定の言語で記述された、当該第4のサービスを利用する場合に参照する第4のサービス記述情報の取得を要求する第4のサービス記述情報取得要求ステップと、
前記第4のサービス記述情報の取得要求に応じて返信された前記第4のサービス記述情報を参照し、前記データ処理装置に第4のサービスの利用を要求する第4のサービス要求ステップとを有することを特徴とする請求項9記載の情報処理方法。 - 前記第1のサービスの提供を拒否した複数のデータ処理装置の中から、前記特定のデータ処理装置を選択する選択ステップを有し、
前記第4のサービス記述情報取得要求ステップでは、前記選択されたデータ処理装置の第4のサービス記述情報の取得を要求することを特徴とする請求項12記載の情報処理方法。 - データ処理装置内のコンピュータが読み取り実行可能なプログラムであって、
情報処理装置からの要求にしたがって、サービスを提供する際、前記データ処理装置が提供する第1のサービスに関する情報が所定の言語で記述された、当該第1のサービスを利用する場合に参照する第1のサービス記述情報を送信する第1の送信ステップと、
前記データ処理装置自身の状態を判断する状態判断ステップと、
該判断された状態を基に、第1のサービスの提供をしない場合、他のデータ処理装置が提供する第2のサービスに関する情報が所定の言語で記述された、当該第2のサービスを利用する場合に参照する第2のサービス記述情報を送信する第2のサービス記述情報送信ステップとを含むことを特徴とするプログラム。 - 情報処理装置内のコンピュータが読み取り実行可能なプログラムであって、
データ処理装置が提供するサービスの利用を要求する際、第1のデータ処理装置が提供する第1のサービスに関する情報が所定の言語で記述された、当該第1のサービスを利用する場合に参照する第1のサービス記述情報を参照し、該第1のサービスの利用を要求する第1のサービス要求ステップと、
前記第1のサービスの利用要求に対し、前記第1のデータ処理装置から他のデータ処理装置が提供する第2のサービスに関する情報が所定の言語で記述された、当該第2のサービスを利用する場合に参照する第2のサービス記述情報が返信された場合、該第2のサービス記述情報を参照し、前記他のデータ処理装置に第2のサービスの利用を要求する第2のサービス要求ステップとを含むことを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003206272A JP2005055981A (ja) | 2003-08-06 | 2003-08-06 | データ処理装置、データ処理システム、データ処理方法、情報処理方法およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003206272A JP2005055981A (ja) | 2003-08-06 | 2003-08-06 | データ処理装置、データ処理システム、データ処理方法、情報処理方法およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005055981A true JP2005055981A (ja) | 2005-03-03 |
Family
ID=34363188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003206272A Withdrawn JP2005055981A (ja) | 2003-08-06 | 2003-08-06 | データ処理装置、データ処理システム、データ処理方法、情報処理方法およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005055981A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008146328A (ja) * | 2006-12-08 | 2008-06-26 | Canon Inc | 画像ログ記録システム及びその制御方法、プログラム及び記憶媒体 |
-
2003
- 2003-08-06 JP JP2003206272A patent/JP2005055981A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008146328A (ja) * | 2006-12-08 | 2008-06-26 | Canon Inc | 画像ログ記録システム及びその制御方法、プログラム及び記憶媒体 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0952513B1 (en) | Automatic configuration of a network printer | |
US7587476B2 (en) | Peripheral device with a centralized management server, and system, computer program product and method for managing peripheral devices connected to a network | |
US9100527B2 (en) | Communication apparatus, control method therefor, and storage medium | |
CN100545829C (zh) | 打印支援装置及控制方法、打印处理装置和文本处理系统 | |
US10802779B2 (en) | Print processing system and method having print server converts document data into print data and to store the print data into plural storage servers for printing at image processing apparatus | |
JP2010157208A (ja) | データ処理装置、プリンタネットワークシステム、データ処理方法、プログラムおよび記録媒体 | |
JP2004213635A (ja) | 画像処理装置および画像処理方法および制御プログラム | |
US7760383B2 (en) | Multiple function image formation device and method including master and sub-service functions | |
US7457839B2 (en) | Selective rejection of access to parameters of an option application detachable from an embedded apparatus including web server function | |
JP2000330742A (ja) | ネットワークプリンタシステム | |
US7844689B2 (en) | Managing configuration request received via network | |
US20110167151A1 (en) | Event proxy notification apparatus and method of controlling the same and program | |
JP2004078282A (ja) | プリンタ機器情報設定方法、画像印刷装置及びプログラム | |
JP2005055981A (ja) | データ処理装置、データ処理システム、データ処理方法、情報処理方法およびプログラム | |
JP5195194B2 (ja) | 画像処理装置及び画像処理システム | |
US20060106924A1 (en) | Data-processing device, communication method, and computer program | |
US8760703B2 (en) | Job control system and job control method | |
JP4262016B2 (ja) | データ処理装置、情報処理装置、データ処理方法、情報処理方法およびプログラム | |
JP2004038550A (ja) | ネットワーク装置およびその制御方法 | |
JP2001202316A (ja) | 情報処理装置及びシステム及び方法並びに記憶媒体 | |
JP2002124951A (ja) | 通信端末装置、サービス提供システム、サービス利用方法及び記憶媒体 | |
JP2010061212A (ja) | データ配信方法、データ配信プログラムおよび記憶媒体 | |
JP2008135968A (ja) | 画像形成装置、ファクス通信方法、及びファクス通信プログラム | |
JP2009278336A (ja) | 画像形成装置、提供機能制御方法、及び提供機能制御プログラム | |
JP2007164521A (ja) | ネットワーク印刷システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20060417 |
|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20061107 |