(57)【要約】【課題】  負荷分散を行うための技術をＷｅｂサービスシステムに適用した際に生じるクライアント、Ｗｅｂサービスサーバ間の処理負荷を軽減することができる情報管理装置を提供する。【解決手段】  クライアントからサービス検索要求を受信すると、サーバ情報テーブルを参照し、クライアントからの要求を満たすサービス提供サーバが見つかった場合、サーバの状態から最適なサーバを選択し、選択されたサーバのＷＳＤＬをクライアント装置に送信する。ＷＳＤＬが作成されていない場合、サーバ情報が変更されている場合には、分散管理サーバがサービス提供サーバに代わってＷＳＤＬを作成し、クライアント装置に送信する。【選択図】  図１２
2005157613.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して情報処理装置、サービス提供装置と通信可能な情報管理装置であって、
前記サービス提供装置の情報を記憶する記憶手段と、
前記情報処理装置から送信されるサービス検索要求を受信する受信手段と、
前記受信手段によって受信されたサービス検索要求が示すサービスを提供するサービス提供装置を、前記記憶手段に記憶されるサービス提供装置の情報を元に検索する検索手段と、
前記検索手段による検索の結果見つかったサービス提供装置が提供するサービスに関する情報が所定の言語で記述された、該サービスを利用する場合に参照するサービス記述情報を送信する送信手段と、
を有することを特徴とする情報管理装置。
【請求項２】
前記記憶手段に記憶されるサービス提供装置の情報は、該サービス提供装置の状態情報を含み、
前記検索手段は、前記サービス検索要求が示すサービスを提供するサービス提供装置が複数見つかった場合、前記記憶手段に記憶されるサービス提供装置の状態情報を参照し、何れかのサービス提供装置を選択することを特徴とする請求項１記載の情報管理装置。
【請求項３】
前記記憶手段に記憶されるサービス提供装置の情報は、該サービス提供装置の負荷情報を含み、
前記検索手段は、前記サービス検索要求が示すサービスを提供するサービス提供装置が複数見つかった場合、前記記憶手段に記憶されるサービス提供装置の負荷情報を参照し、負荷がより小さいサービス提供装置を選択することを特徴とする請求項１又は２記載の情報管理装置。
【請求項４】
前記サービス提供装置から、該サービス提供装置が提供するサービスに関する情報が所定の言語で記述された、該サービスを利用する場合に参照するサービス記述情報を取得する取得手段をさらに有することを特徴とする請求項１乃至３記載の情報管理装置。
【請求項５】
前記サービス提供装置が提供するサービスに関する情報が所定の言語で記述された、該サービスを利用する場合に参照するサービス記述情報を作成する為の情報を、前記サービス提供装置から取得する取得手段と、
前記取得手段によって取得されたサービス記述情報を作成する為の情報に基づいて前記サービス記述情報を作成する作成手段と、
をさらに有することを特徴とする請求項１乃至３記載の情報管理装置。
【請求項６】
前記サービス記述情報に記述される情報は、該サービス記述情報が示すサービスの入力パラメータ情報及び出力パラメータ情報を含むことを特徴とする請求項１乃至５記載の情報管理装置。
【請求項７】
前記サービス記述情報は、ＷＳＤＬ（ウェブサービス記述言語）に準拠した形式で記述されていることを特徴とする請求項１乃至６記載の情報管理装置。
【請求項８】
ネットワークを介して情報処理装置、サービス提供装置と通信可能な情報管理装置における情報管理方法であって、
前記サービス提供装置の情報を記憶手段に記憶させるステップと、
前記情報処理装置から送信されるサービス検索要求を受信する受信ステップと、
前記受信ステップによって受信されたサービス検索要求が示すサービスを提供するサービス提供装置を、前記記憶手段に記憶されるサービス提供装置の情報を元に検索する検索ステップと、
前記検索ステップによる検索の結果見つかったサービス提供装置が提供するサービスに関する情報が所定の言語で記述された、該サービスを利用する場合に参照するサービス記述情報を送信する送信ステップと、
を有することを特徴とする情報管理方法。
【請求項９】
前記記憶手段に記憶されるサービス提供装置の情報は、該サービス提供装置の状態情報を含み、
前記検索ステップは、前記サービス検索要求が示すサービスを提供するサービス提供装置が複数見つかった場合、前記記憶手段に記憶されるサービス提供装置の状態情報を参照し、何れかのサービス提供装置を選択することを特徴とする請求項８記載の情報管理方法。
【請求項１０】
前記記憶手段に記憶されるサービス提供装置の情報は、該サービス提供装置の負荷情報を含み、
前記検索ステップは、前記サービス検索要求が示すサービスを提供するサービス提供装置が複数見つかった場合、前記記憶手段に記憶されるサービス提供装置の負荷情報を参照し、負荷がより小さいサービス提供装置を選択することを特徴とする請求項８又は９記載の情報管理方法。
【請求項１１】
前記サービス提供装置から、該サービス提供装置が提供するサービスに関する情報が所定の言語で記述された、該サービスを利用する場合に参照するサービス記述情報を取得する取得ステップをさらに有することを特徴とする請求項８乃至１０記載の情報管理方法。
【請求項１２】
前記サービス提供装置が提供するサービスに関する情報が所定の言語で記述された、該サービスを利用する場合に参照するサービス記述情報を作成する為の情報を、前記サービス提供装置から取得する取得ステップと、
前記取得ステップによって取得されたサービス記述情報を作成する為の情報に基づいて前記サービス記述情報を作成する作成ステップと、
をさらに有することを特徴とする請求項８乃至１０記載の情報管理方法。
【請求項１３】
ネットワークを介して情報処理装置、サービス提供装置と通信可能な情報管理装置において実行可能なプログラムであって、
前記サービス提供装置の情報を記憶手段に記憶させるステップと、
前記情報処理装置から送信されるサービス検索要求を受信する受信ステップと、
前記受信ステップによって受信されたサービス検索要求が示すサービスを提供するサービス提供装置を、前記記憶手段に記憶されるサービス提供装置の情報を元に検索する検索ステップと、
前記検索ステップによる検索の結果見つかったサービス提供装置が提供するサービスに関する情報が所定の言語で記述された、該サービスを利用する場合に参照するサービス記述情報を送信する送信ステップと、
を実行させる為のプログラム。
【請求項１４】
前記記憶手段に記憶されるサービス提供装置の情報は、該サービス提供装置の状態情報を含み、
前記検索ステップは、前記サービス検索要求が示すサービスを提供するサービス提供装置が複数見つかった場合、前記記憶手段に記憶されるサービス提供装置の状態情報を参照し、何れかのサービス提供装置を選択することを特徴とする請求項１３記載のプログラム。
【請求項１５】
前記記憶手段に記憶されるサービス提供装置の情報は、該サービス提供装置の負荷情報を含み、
前記検索ステップは、前記サービス検索要求が示すサービスを提供するサービス提供装置が複数見つかった場合、前記記憶手段に記憶されるサービス提供装置の負荷情報を参照し、負荷がより小さいサービス提供装置を選択することを特徴とする請求項１３又は１４記載のプログラム。
【請求項１６】
前記サービス提供装置から、該サービス提供装置が提供するサービスに関する情報が所定の言語で記述された、該サービスを利用する場合に参照するサービス記述情報を取得する取得ステップをさらに実行させることを特徴とする請求項１３乃至１５記載のプログラム。
【請求項１７】
前記サービス提供装置が提供するサービスに関する情報が所定の言語で記述された、該サービスを利用する場合に参照するサービス記述情報を作成する為の情報を、前記サービス提供装置から取得する取得ステップと、
前記取得ステップによって取得されたサービス記述情報を作成する為の情報に基づいて前記サービス記述情報を作成する作成ステップと、
をさらに実行させることを特徴とする請求項１３乃至１５記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のサービス提供装置が存在するネットワークシステムにおけるサービス提供装置の情報を管理する情報管理装置に関する。
【背景技術】
【０００２】
複数のプリンタと情報処理装置がネットワークを介して接続され、複数の情報処理装置からプリンタが使用可能であるプリントシステムにおいて、
情報処理装置がネットワーク上のサーバへ予め印刷データのジョブ情報を送信し、サーバからプリンタが指定されるのに応じて、情報処理装置は指定されたプリンタへ印刷データを送信するといった技術がある（例えば特許文献１参照）。
【０００３】
また、同一のサービスを複数のサーバが提供するシステムにおいてサーバの負荷分散が考慮され、処理時間記録統計化手段が複数台のサーバで処理された処理負担を測定して統計化して管理し、クライアントからの新たな処理要求時に、当該処理に要する処理負担を予測し、該予測された処理負担と管理されている処理負担とから処理分散手段が実際に当該要求された処理を何れかのサーバに振り分けるといった技術がある（例えば特許文献２参照）。
【特許文献１】特許第３２６２５１８号公報
【特許文献２】特開２００２−１４０３１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
Ｗｅｂサービスと呼ばれる分散コンピューティング技術がある。このＷｅｂサービスは、ＳＯＡＰ（Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）、ＷＳＤＬ（Ｗｅｂ  Ｓｅｒｖｉｃｅｓ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）、ＵＤＤＩ（Ｕｎｉｖｅｒｓａｌ  Ｄｅｓｃｒｉｐｔｉｏｎ，Ｄｉｓｃｏｖｅｒｙ，ａｎｄ  Ｉｎｔｅｇｒａｔｉｏｎ）技術で実現されており、既存のＷｅｂインフラ上で実現されている。ＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）で通信プロトコルやデータ構造が規定され、汎用ソフトウェア開発ツールで容易に対応でき、インターネットサービスのソフトウェア開発スピードも向上する。
【０００５】
Ｗｅｂサービスシステムにおいて行われる、クライアント（Ｗｅｂサービスを利用するクライアントの情報処理装置）がＷｅｂサービスを利用するまでの処理を以下に示す。
【０００６】
まずクライアントは、所望のサービスを提供するＷｅｂサービスサーバを探す際にＵＤＤＩへ問い合わせる。ＵＤＤＩレジストリからクライアント所望のサービスを提供するＷｅｂサービスサーバが検索され、ＵＤＤＩからこのサーバのＵＲＬなどの情報が送られる。これを受け取ったクライアントは該ＵＲＬを使ってＷｅｂサービスサーバへアクセスし、該サーバによって生成されるＷＳＤＬファイルを取得する。ＷＳＤＬファイルにはそのＷｅｂサービスを利用する為に必要な、Ｗｅｂサービスは何処にあるのか、どのようなフォーマットのメッセージを使って利用するのか、どのような通信プロトコルを使ってメッセージをやり取りするのか、といったようなＷｅｂサービスのインターフェースに関する情報がＸＭＬ形式で記述されている。クライアントはこのＷＳＤＬファイルを参照し、これらの情報を得ることができる。つまりクライアントはＷＳＤＬファイルを用いてＷｅｂサービスを利用することになる。
【０００７】
Ｗｅｂサービスシステムにおいて、上記背景技術に示したような従来の技術を用いてサーバの負荷分散を行うと、ＵＤＤＩサーバが各Ｗｅｂサービスサーバの負荷状態を監視し、負荷状態に基づいて選択されたＷｅｂサービスサーバのＵＲＬなどの宛先情報がクライアントに送信される。しかしクライアントはＷｅｂサービスサーバのＵＲＬのみではサービスの提供を受けることは出来ない為、改めて該ＵＲＬのＷｅｂサービスサーバにＷＳＤＬファイルの要求を行うといった処理が生じてしまう。
【０００８】
また、ＵＤＤＩサーバが各Ｗｅｂサービスサーバの負荷状態を監視する際に、ＷＳＤＬファイルを取得した場合などには、ＵＤＤＩサーバ、クライアントが重複してＷＳＤＬファイルを取得してしまうというような無駄も生じる。
【０００９】
本発明はこれらの問題点に鑑みなされたものであって、従来用いられた負荷分散を行うための技術をＷｅｂサービスシステムに適用した際に生じるクライアント、Ｗｅｂサービスサーバ間の処理負荷を軽減することができる情報管理装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決する為に本発明の情報管理装置は、ネットワークを介して情報処理装置、サービス提供装置と通信可能な情報管理装置であって、前記サービス提供装置の情報を記憶する記憶手段と、前記情報処理装置から送信されるサービス検索要求を受信する受信手段と、前記受信手段によって受信されたサービス検索要求が示すサービスを提供するサービス提供装置を、前記記憶手段に記憶されるサービス提供装置の情報を元に検索する検索手段と、前記検索手段による検索の結果見つかったサービス提供装置が提供するサービスに関する情報が所定の言語で記述された、該サービスを利用する場合に参照するサービス記述情報を送信する送信手段とを有することを特徴とする。
【発明の効果】
【００１１】
分散管理サーバがユーザの指示に応じて、又は定期的に各サーバの状態を監視しているため、各サーバの動的に変化するサービス提供状況を把握し、クライアントのサービス検索要求に対して最適なサーバを紹介することが可能となる。また、各サーバの負荷を均等にすることができる。
【００１２】
さらに、本発明における分散管理サーバはクライアントからのサービス検索要求に応じて最適なＷｅｄサービスサーバに対するＷＳＤＬファイルを送信するため、クライアントが改めてＷｅｂサービスサーバにＷＳＤＬファイルを問い合わせるという処理を省略することができ通信の負荷を減少させることができる。
【発明を実施するための最良の形態】
【００１３】
本発明の一実施形態は以下に詳述するように、ＷＥＢサービス技術を使用したシステムにおいて、Ｗｅｂサービスを提供するサーバ（以下サーバと省略する）とＷｅｂサービスを利用するクライアントの情報処理装置（以下クライアントと省略する）がそれぞれネットワークに接続されているネットワークシステムである。
【００１４】
図１は、本実施形態のネットワークシステムが動作可能な構成を示す図である。
【００１５】
図１において、１０１、１０２はサーバＰＣ、１０３、１０４はクライアントＰＣ、１０５、１０６はＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒ）、１１０は分散管理サーバＰＣであり、それぞれＬＡＮ１００に接続されている。ＬＡＮ１００はファイアウォール１２０を介してインターネット１３０や外部のネットワーク１４０、公衆網などへ接続されていても良い。
【００１６】
サーバＰＣ１０１、１０２はＷＥＢサービスにおけるサーバであり、クライアントＰＣ１０３、１０４からのサービス要求によってサービスを提供する。これらのサーバは同一サービスを提供するものであり、２台以上の複数のサーバＰＣが同一サービスを提供することによって、サービス処理の負荷分散を図っている。ＭＦＰ１０５、１０６はそれぞれＷＥＢサービスのサーバまたはクライアントとなることができる印刷デバイスであり、クライアントＰＣ１０３、１０４からのサービス要求によってサービスを提供する、または、サーバＰＣ１０１、１０２に対してサービス要求を行い、サービスの提供を受ける。ＭＦＰ１０５、１０６がサーバとなる場合において、サーバＰＣ１０１、１０２と同様に同一サービスを２台以上の複数のＭＦＰによって提供することによって、サービス処理の負荷分散を図っている。クライアントＰＣ１０３、１０４はＷＥＢサービスにおけるクライアントであり、サーバＰＣ１０１、１０２またはＭＦＰ１０５、１０６に対してサービスを要求し、サービスの提供を受ける。分散管理サーバＰＣ１１０には、あらかじめサービスを提供するサーバが登録されている。分散管理サーバＰＣ１１０は、登録されたサーバの負荷状況やその他の状態を監視し、サーバ情報として保存しておく。分散管理サーバＰＣ１１０は、クライアントＰＣ１０３、１０４、もしくはクライアントとなる場合のＭＦＰ１０５、１０６より、サービス検索の要求を受信した場合、要求されたサービスを提供するサーバのうち、負荷の状態を考慮して最適なサーバへ接続するためのＷＳＤＬファイルをクライアントへ返信する。
【００１７】
図２は、本発明の実施形態におけるコンピュータの内部構成を示した図であり、図１におけるサーバＰＣ１０１、１０２、クライアントＰＣ１０３、１０４、分散管理サーバＰＣ１１０の内部構成はこのようになっている。ＰＣ２００は、ＲＯＭ２０２もしくはハードディスク（ＨＤ）２１１に記憶された、あるいはフロッピー（登録商標）ディスクドライブ（ＦＤ）２１２より供給される各種ソフトウェアを実行するＣＰＵ２０１を備え、システムバス２０４に接続される各機器を総括的に制御する。２０３はＲＡＭで、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。２０５はキーボードコントローラ（ＫＢＣ）で、キーボード（ＫＢ）２０９や不図示のポインティングデバイス等からの指示入力を制御する。２０６はＣＲＴコントローラ（ＣＲＴＣ）で、ＣＲＴディスプレイ（ＣＲＴ）２１０の表示を制御する。２０７はディスクコントローラ（ＤＫＣ）で、ブートプログラム、本発明の分散サーバシステムプログラム、種々のアプリケーション、編集ファイル、ユーザファイル等を記憶するハードディスク（ＨＤ）２１１およびフロッピー（登録商標）ディスクコントローラ（ＦＤ）２１２とのアクセスを制御する。２０８はネットワークインタフェースカード（ＮＩＣ）で、ＬＡＮ２２０を介して、ネットワークプリンタ、他のネットワーク機器あるいは他のＰＣと双方向にデータをやりとりする。
【００１８】
なお、本実施例においては、ＬＡＮ２２０は図１におけるＬＡＮ１００と同じものである。
【００１９】
図３において、３００は、ＷＥＢサービスプログラムが稼動するＭＦＰまたはプリンタの内部構成の一例であり、図１における１０５、１０６と同等である。デバイス３００は、ＲＯＭ３０２もしくはハードディスク（ＨＤ）３１０に記憶された、あるいはフロッピー（登録商標）ディスクドライブ（ＦＤ）３１１より供給される各種プログラムを実行するＣＰＵ３０１を備え、システムバス３０４に接続される各機器を総括的に制御する。３０３はＲＡＭで、ＣＰＵ３０１の主メモリ、ワークエリア等として機能する。３０５はユーザインタフェースコントローラ（ＵＩＣ）で、ユーザインタフェース（ＵＩ）３０９への表示、３０９からの指示入力を制御する。ファンクションコントローラ（ＦＵＮＣＣ）３０６は各デバイス特有の機能であるファンクション（ＦＵＮＣ）３１０を実現／制御する。モノクロプリンタであればモノクロプリントエンジンコントローラとモノクロプリントエンジン、カラープリンタであればカラープリントエンジンコントローラとカラープリントエンジン、ＭＦＰであればデバイス３００は各機能のファンクションコントローラ（ＦＵＮＣＣ）３０６とファンクション（ＦＵＮＣ）３１０をそれぞれ持つ。３０７はディスクコントローラ（ＤＫＣ）で、ブートプログラム、本発明の分散サーバシステムプログラム、種々のアプリケーション、データファイルを記憶するハードディスク（ＨＤ）３１１およびフロッピー（登録商標）ディスクコントローラ（ＦＤ）３１２とのアクセスを制御する。３０８はネットワークインタフェースカード（ＮＩＣ）で、ＬＡＮ３２０を介して、ネットワークプリンタ、他のネットワーク機器あるいは他のＰＣと双方向にデータをやりとりする。なお、本実施例においては、ＬＡＮ３２０は図１におけるＬＡＮ１００と同じものである。
【００２０】
図４は、本発明のネットワークシステムにおけるクライアントとサーバのモデル図である。４１０は分散管理サーバであり、図１における１１０と同等である。４３０はサーバであり、図１における１０１、１０２、およびサーバとなる場合の１０５、１０６と同等である。４２０はクライアントであり、図１における１０３、１０４、およびクライアントとなる場合の１０５、１０６と同等である。分散管理サーバ４１０とクライアント４２０とサーバ４３０はＬＡＮ４４０を介して接続されている。
【００２１】
４１１はネットワークインタフェース機能であり、分散管理サーバ４１０をＬＡＮ４４０に接続する。４１２はＷＥＢサービスＵＤＤＩ機能であり、クライアント４２０からのサービス検索要求に対する処理や、ネットワーク上のサーバ４３０の情報保持を行う。４１３はネットワーク上のサーバ４３０の状態を監視する機能である。４１４はサーバ４３０の情報を保持する場所である。サーバの情報としてはサービスの種類、サーバのＵＲＬ、サーバ状態監視手段で取得された各サーバの負荷情報などが含まれる、サーバ情報テーブルについては図５を用いて後述する。分散管理サーバは、ＵＤＤＩ機能を用いて、クライアントからのＷｅｂサービス検索要求に応じてサーバ情報テーブル４１４に管理されているサーバ情報を参照し、クライアント所望のサービスを提供するサーバを検索する。さらにサーバ状態監視手段４１３を参照し、クライアント所望のサービスを提供するサーバが複数ある場合には例えば負荷の最も小さいサーバなどの条件で最適なサーバを選択する。選択されたサーバについてのＷＳＤＬファイルを作成し、クライアントに送信するといった処理を行う。
【００２２】
４２１はネットワークインタフェース機能であり、クライアント４２０をＬＡＮ４４０に接続する。４２２はＷＥＢサービスクライアント機能であり、ＨＴＴＰクライアント、ＳＯＡＰクライアント、ＸＭＬパーサなどが代表的な例である。４２３はサーバ４１０が提供するサービスを利用するアプリケーションを表している。４２４はＵＩであり、クライアント４２０とユーザのＩ／Ｆである。４２５、４２６はＷｅｂサービスを提供するサーバへアクセスし、Ｗｅｂサービスを利用する際に用いられるＷＳＤＬファイルである。
【００２３】
４３１はネットワークインタフェース機能であり、サーバ４３０をＬＡＮ４４０に接続する。４３２はＷＥＢサービスサーバ機能であり、例えばＨＴＴＰサーバ、ＳＯＡＰサーバ、ＸＭＬパーサ、ＷＳＤＬ生成機能などである。４３３はサービスを提供するアプリケーションである。図１のＭＦＰ１０５、１０６がサーバとなる場合は、スキャン機能、印刷機能などもここに含まれる。４３４はＵＩであり、サーバ４３０とユーザのＩ／Ｆである。
【００２４】
なお、本実施例においては、ＬＡＮ４４０は図１におけるＬＡＮ１００と同じものである。
【００２５】
次に、分散管理サーバにおけるサーバ情報テーブルの例を図面を用いて説明する。
【００２６】
図５、図６、図７は図４のサーバ情報テーブル４１４の一例であり、分散管理サーバがサーバの情報を格納するテーブルである。
【００２７】
図５の行５０１はサーバ情報テーブルの項目を表し、図５の例では、サーバ名（５１０）、負荷（５２０）、サービス種類（５３０）、サービス毎の状態（５４０）、サービスのアドレス（５５０）、ＷＳＤＬファイル（５６０）を列挙している。これはあくまでも例であり、別の項目を列挙しても良い。
【００２８】
行５０２〜行５０６は各サーバの情報を示している。行５０２は、サーバ名は「ｃｏｌｌｏｒ０１」、サーバ全体の負荷は「低」であり、サービスの種類は全部で６種類を提供し、ｃｏｌｌｏｒ  ｐｒｉｎｔ、ｃｏｌｌｏｒ  ｃｏｐｙ、ｂｏｘ、ｓｅｎｄ、ｆａｘ、ｓｔａｐｌｅであり、それぞれのサービス毎の現時点での状態は、ｃｏｌｌｏｒ  ｐｒｉｎｔサービスは「負荷  低」の状態で、ｃｏｌｌｏｒ  ｃｏｐｙサービスは「空き」の状態で、ｂｏｘサービスは「使用領域３０％」の状態で、ｓｅｎｄサービスは「負荷  低」の状態で、ｆａｘサービスは「不可」の状態で、ｓｔａｐｌｅサービスは「準備完了」の状態であることが分かる。また、各サービスにアクセスするアドレスは、ｃｏｌｌｏｒ  ｐｒｉｎｔサービスは「ｈｔｔｐ：：／ｃｏｌｌｏｒ０１．ｃｏ．ｊｐ／ｃｏｌｌｏｒＰｒｉｎｔ／」であり、ｃｏｌｌｏｒ  ｃｏｐｙサービスは「ｈｔｔｐ：：／ｃｏｌｌｏｒ０１．ｃｏ．ｊｐ／ｃｏｌｌｏｒＰｒｉｎｔ／」であり、ｂｏｘサービスは「ｈｔｔｐ：：／ｃｏｌｌｏｒ０１．ｃｏ．ｊｐ／ｂｏｘ／」であり、ｓｅｎｄサービスは「ｈｔｔｐ：：／ｃｏｌｌｏｒ０１．ｃｏ．ｊｐ／ｓｅｎｄ／」であり、ｆａｘサービスは「ｈｔｔｐ：：／ｃｏｌｌｏｒ０１．ｃｏ．ｊｐ／ｆａｘ／」であり、ｓｔａｐｌｅサービスは「ｈｔｔｐ：：／ｃｏｌｌｏｒ０１．ｃｏ．ｊｐ／ｓｔａｐｌｅ／」であることを示している。そして、各サービスに対応するＷＳＤＬファイルが記憶されている。このＷＳＤＬファイルは、ＷＳＤＬファイル作成の為の情報に基づいて、分散管理サーバにおいて作成されたものであり、サービスを要求したクライアントに送信され、クライアントは該サービスを利用するために参照する。図８の例では、ｃｏｌｌｏｒ  ｐｒｉｎｔサービスには「ＡＡＡＡ．ｘｍｌ」というＷＳＤＬファイルが対応して記憶されていることを示している。ＢｏｘサービスやｓｔａｐｌｅサービスのようにＷＳＤＬファイルの欄が空欄であるサービスについては、サービス情報テーブルに該サービスのＷＳＤＬファイルが記憶されていない状態を示している。尚、ＷＳＤＬファイル作成の為の情報、ＷＳＤＬファイルについての詳細な説明は、図６〜９を用いて後述する。
【００２９】
行５０３ではサーバ名「ｃｏｌｌｏｒ０２」の、行５０４ではサーバ名「ＢＷ０１」の、行５０５ではサーバ名「ａｕｔｈＳｖ０１」の、行５０６ではサーバ名「ａｕｔｈＳｖ０２」の、それぞれの負荷、サービス種類、サービス毎の状態、サービスのアドレス、ＷＳＤＬファイルが、図５の例では分かる。
【００３０】
図５の例では、サーバがｃｏｌｌｏｒ０１、ｃｏｌｌｏｒ０２、ＢＷ０１、ａｕｔｈＳｖ０１、ａｕｔｈＳｖ０２と５つが登録されているが、本発明は、登録されるサーバの種類、登録されるサーバの数、登録されるサービスの種類やそのアドレス、などに左右されるものではない。例えば登録されるサーバの数が１００を超えても良い。行５０３ではｃｏｌｌｏｒ０２、行５０４ではＢＷ０１、行５０５ではａｕｔｈＳｖ０１、行５０６ではａｕｔｈＳｖ０２に関するサーバ情報が格納される。
【００３１】
図６のサーバ情報テーブルの例では、サーバｃｏｌｌｏｒ０１、ｃｏｌｌｏｒ０２に使用するＷＳＤＬファイル作成のための情報が記述されている。これらの情報は、サーバ情報を収集した時点で収集され、対応する図５のサーバ情報テーブル内のサーバ名と関連して管理される。尚、図６に示す情報を取得するタイミングは、サーバ情報を収集した時点であっても、図５のサーバ情報テーブルを用いて使用するサーバが選択された時点でもよい。
【００３２】
行６０１はサーバ情報テーブルの項目を表し、図６の例では、サーバ名（６１０）、負荷（６２０）、サービス種類（６３０）、アクセスポート（６４０）、ＲＰＣの種類１（６５０）、ＲＰＣの情報２（６６０）、を列挙している。これはあくまでも例であり、別の項目を列挙しても良い。
【００３３】
行６０２〜行６０３は各サーバの情報を示している。行６０２は、サーバ名は「ｃｏｌｌｏｒ０１」、サーバ全体の負荷は「低」であり、サービスの種類は全部で６種類を提供し、ｃｏｌｌｏｒ  ｐｒｉｎｔ、ｃｏｌｌｏｒ  ｃｏｐｙ、ｂｏｘ、ｓｅｎｄ、ｆａｘ、ｓｔａｐｌｅであり、それぞれのサービスに対する現時点でアクセス可能なポートは、ｃｏｌｌｏｒ  ｐｒｉｎｔサービスは「ＨｉｇｈＰｏｒｔ」、ｃｏｌｌｏｒ  ｃｏｐｙサービスは「ＨｉｇｈＰｏｒｔ」、ｂｏｘサービスは「Ｍ３Ｐｏｒｔ」、ｓｅｎｄサービスは「ＨｉｇｈＰｏｒｔ」の状態で、ｆａｘサービスは「なし」の状態で、ｓｔａｐｌｅサービスは「ＨｉｇｈＰｏｒｔ」の状態であることが分かる。また、ｃｏｌｌｏｒ  ｐｒｉｎｔサービスにおけるＲＰＣの１つは、「ｃｏｌｌｏｒＰｒｉｎｔＲｅｑ」、入力パラメータは「ｄａｔａ」、「ｓｉｚｅ」、出力パラメータは「ｒｅｓｕｌｔ」であり、もう１つのＲＰＣは「ｇｅｔＳｔａｔｕｓＲｅｑ」、入力パラメータは「なし」、出力パラメータは「ｓｔａｔｕｓ」であることが分かる。行６０３ではサーバ名「ｃｏｌｌｏｒ０２」のＷＳＤＬファイルに関する情報を示している。
【００３４】
図６の例では、サーバがｃｏｌｌｏｒ０１、ｃｏｌｌｏｒ０２と２つが示されているが、本発明は、登録されるサーバの種類、登録されるサーバの数、登録されるサービスの種類やそのＲＰＣの種類や数などに左右されるものではない。例えば登録されるサーバの数が１００を超えても良い。
【００３５】
図７はサーバ情報テーブルの例で、図６の場合から状況が変化したサーバｃｏｌｌｏｒ０１におけるＷＳＤＬファイル作成のための情報が記述されている。これらの情報は、サーバ情報を収集した時点で収集され、対応する図５のサーバ情報テーブル内のサーバ名と関連して管理される。尚、図７に示す情報を取得するタイミングは、サーバ情報を収集した時点であっても、図５のサーバ情報テーブルを用いて使用するサーバが選択された時点でもよい。
【００３６】
行７０１はサーバ情報テーブルの項目を表し、図７の例では、サーバ名（７１０）、負荷（７２０）、サービス種類（７３０）、アクセスポート（７４０）、ＲＰＣの種類１（７５０）、ＲＰＣの情報２（７６０）、ＲＰＣの情報３（７７０）、を列挙している。これはあくまでも例であり、別の項目を列挙しても良い。行７０２〜行７０３は各サーバの情報を示している。行７０２は、サーバ名は「ｃｏｌｌｏｒ０１」、サーバ全体の負荷は「高」であり、サービスの種類は全部で６種類を提供し、ｃｏｌｌｏｒ  ｐｒｉｎｔ、ｃｏｌｌｏｒ  ｃｏｐｙ、ｂｏｘ、ｓｅｎｄ、ｆａｘ、ｓｔａｐｌｅであり、それぞれのサービスに対する現時点でアクセス可能なポートは、ｃｏｌｌｏｒ  ｐｒｉｎｔサービスは「ＬｏｗＰｏｒｔ」、ｃｏｌｌｏｒ  ｃｏｐｙサービスは「ＬｏｗＰｏｒｔ」、ｂｏｘサービスは「ＬｏｗＰｏｒｔ」、ｓｅｎｄサービスは「ＬｏｗＰｏｒｔ」の状態で、ｆａｘサービスは「なし」の状態で、ｓｔａｐｌｅサービスは「ＬｏｗＰｏｒｔ」の状態であることが分かる。また、ｃｏｌｌｏｒ  ｐｒｉｎｔサービスにおけるＲＰＣの１つは、「ｃｏｌｌｏｒＰｒｉｎｔＲｅｑ」、入力パラメータは「ｄａｔａ」、「ｓｉｚｅ」、「ｔｉｍｅ」、出力パラメータは「ｒｅｓｕｌｔ」であり、もう１つのＲＰＣは「ｇｅｔＳｔａｔｕｓＲｅｑ」、入力パラメータは「なし」、出力パラメータは「ｓｔａｔｕｓ」であり、もう１つのＲＰＣは「ｇｅｔＣｏｎｇｅｓｔＤａｔａＲｅｑ」、入力パラメータは「なし」、出力パラメータは「ｃｇＤａｔａ」であることが分かる。行７０３ではサーバ名「ｃｏｌｌｏｒ０２」のＷＳＤＬファイルに関する情報を示している。
【００３７】
図７の例では、サーバがｃｏｌｌｏｒ０１、ｃｏｌｌｏｒ０２と２つが示されているが、本発明は、登録されるサーバの種類、登録されるサーバの数、登録されるサービスの種類やそのＲＰＣ種類や数などに左右されるものではない。例えば登録されるサーバの数が１００を超えても良い。
【００３８】
図８及び図９は図５および図６の情報から作成した、サーバｃｏｌｌｏｒ０１のｃｏｌｌｏｒ  ｐｒｉｎｔサービスに対するＷＳＤＬファイルの例である。尚、図８と図９は一連のＷＳＤＬファイルを示す図であって、図８と図９で一つのＷＳＤＬファイルを示している。ｃｏｌｌｏｒ  ｐｒｉｎｔサービスのＯｐｅｒａｔｉｏｎの１つはｃｏｌｌｏｒＰｒｉｎｔＲｅｑであり、図６の情報の行６０２、列６５０のＲＰＣ１「ｃｏｌｌｏｒＰｒｉｎｔＲｅｑ」に対応する。その入力データは、ｄａｔａ，ｓｉｚｅでそれぞれデータとそのサイズを表し、図６での行６０２、列６５０の入力パラメータの「ｄａｔａ」、「ｓｉｚｅ」に対応する。また、その出力データはｒｅｓｕｌｔで、印刷結果を表し、図６での行６０２、列６５０の出力パラメータの「ｒｅｓｕｌｔ」に対応する。また、現状のＪｏｂ状態を獲得するためのＯｐｅｒａｔｉｏｎとして、ｇｅｔＳｔａｔｕｓＲｅｑがあり、図６の情報の行６０２、列６６０のＲＰＣ２「ｇｅｔＳｔａｔｕｓＲｅｑ」に対応する。その入力データは、「なし」であり、図６での行６０２、列６６０の空欄に対応する。また、その出力データはｓｔａｔｕｓであり、図６での行６０２、列６６０の出力パラメータの「ｓｔａｔｕｓ」に対応する。
【００３９】
このＷＳＤＬファイルを使用してアクセスするアドレスが、ｈｔｔｐ：／／ｃｏｌｌｏｒ０１．ｃｏ．ｊｐ／ｃｏｌｌｏｒＰｒｉｎｔのＣｏｌｌｏｒＰｒｉｎｔＳｅｒｖｉｃｅＰｏｒｔ＿ＨｉｇｈＰｒｉｏｒｉｔｙであり、優先度が高いポートへアクセスすることを示している。これらはそれぞれ、図５の行５０２、列５５０のｈｔｔｐ：／／ｃｏｌｌｏｒ０１．ｃｏ．ｊｐ／ｃｏｌｌｏｒＰｒｉｎｔ／、および図６の行６０２、列６４０のＨｉｇｈＰｏｒｔの情報から決定される。
【００４０】
このように、ＷＳＤＬファイルはＸＭＬ形式で記述されている。サービスを受ける際にどのようなプロトコルでどのようなデータを受け取りどのようなデータを返すのかなどといった内容が記述され、クライアントはこのファイルの情報にもとづいてサービスを受けることができる。
【００４１】
次に、ＷＳＤＬファイル利用の一例として、クライアントがＷＳＤＬファイルを取得した後に、ＷＳＤＬファイルを解析する処理について説明する。
【００４２】
図１０は、クライアントが、取得したＷＳＤＬファイルの解析処理を示すフローチャートである。
【００４３】
図８及び図９に示すように、ＷＳＤＬファイルはｔｙｐｅｓ部８０１、ｍｅｓｓａｇｅ部８０２、ｐｏｒｔｔｙｐｅ部８０３、ｂｉｎｄｉｎｇ部８０４、ｓｅｒｖｉｃｅ部８０５から成る。
【００４４】
図１０のＳ１００１においてクライアント装置がＷＳＤＬファイルを受信すると、Ｓ１００２に進みＷＳＤＬファイルのｓｅｒｖｉｃｅ部８０５の解析を行う。Ｓｅｒｖｉｃｅ部８０５にはＷＳＤＬで記述されるサービスの名前やアクセスするためのポート、そのバインディング情報が記述されている。
【００４５】
次にＳ１００３に進み、ｂｉｎｄｉｎｇ部８０４の解析を行う。Ｂｉｎｄｉｎｇ部８０４にはｓｅｒｖｉｃｅ部８０５で記述されたバインディング情報の詳細が記述されている。
【００４６】
次にＳ１００４に進み、ｐｏｒｔｔｙｐｅ部８０３の解析を行う。Ｐｏｒｔｔｙｐｅ部８０３には、サービスが提供するオペレーションの名前やそれぞれのオペレーションで送受信されるメッセージの名前が記述されている。図８及び図９に示したＷＳＤＬファイルの例では、“ｃｏｌｏｒＰｒｉｎｔＲｅｑ”“ｇｅｔＳｔａｔｕｓＲｅｑ”といった二つのオペレーションがあることが分かる。このようにオペレーションは複数存在することが可能であり、以降の処理はＳ１００４における解析によって取得されるオペレーションのそれぞれについて行われる。
【００４７】
Ｓ１００５では、すべてのオペレーションについて処理が終了したかを判断し、全てのオペレーションについて処理が終了した場合にはＷＳＤＬ解析処理を終了する。Ｓ１００５における判断の結果、まだ全てのオペレーションについて処理が終了していないと判断された場合には、処理の終了していないオペレーションについて、Ｓ１００６においてｍｅｓｓａｇｅ部８０２の解析を行う。Ｍｅｓｓａｇｅ部８０２には各オペレーションで送受信されるメッセージ情報が記述されている。図８及び図９に示したＷＳＤＬファイルの例では、オペレーション“ｃｏｌｌｏｒＰｒｉｎｔＲｅｑ”に対する入力パラメータは“ｄａｔａ”“ｓｉｚｅ”であり、出力パラメータは“ｒｅｓｕｌｔ”であることが分かる。
【００４８】
次にＳ１００７に進み、ｔｙｐｅｓ部８０１の解析を行う。Ｔｙｐｅｓ部８０１にはＷ３Ｃが策定しているＸＭＬ  Ｓｃｈｅｍａ仕様に基づき、サービスが使用するデータ型定義が記述されている。
【００４９】
再びＳ１００５に戻り、全てのオペレーションについて解析が終了すると、ＷＳＤＬ解析処理を終了する。
【００５０】
以上の処理を行うことでクライアントは各サービスを使用するための情報を得て、これらの情報に基づいたＧＵＩ（グラフィックユーザインターフェース）を生成し、ユーザからのデータの入力を受ける。
【００５１】
次に分散管理サーバがサービス提供サーバの情報をサーバ情報テーブルに登録・更新する処理について説明する。
【００５２】
図１１は、本実施形態の分散管理サーバ４１０において実行される、サーバ情報テーブル登録・更新処理を示すフローチャートである。
【００５３】
まずＳ１１０１において、分散管理サーバはサーバ情報テーブル登録・更新処理を行う所定のタイミングであるかを判断する。ここで、所定のタイミングとは、予め管理者などによって定期的（例えば一時間の間隔）にサーバ情報テーブル登録・更新処理を行うように設定されていてもよいし、管理者からの何らかの指示を所定のタイミングとしてもよい。
【００５４】
所定のタイミングでない場合には所定のタイミングが来るまで待機する。Ｓ１１０１において所定のタイミングであると判定された場合には、Ｓ１１０２に進みネットワークを探索し、サービス提供サーバを探す処理を行う。
【００５５】
Ｓ１１０３においてネットワーク上にサービス提供サーバが見つかったかどうかを判断する。
【００５６】
ネットワーク上にサービス提供サーバがあった場合、Ｓ１１０４に進み、見つかったサーバの状態情報を取得する。このとき同時に図６、７に示すようなＷＳＤＬファイルを作成する為の情報も取得する。
【００５７】
次にＳ１１０５において、現在のサーバ情報テーブルを参照し、Ｓ１１０４において取得したサーバの状態情報とサーバ情報テーブルを比較する。
【００５８】
Ｓ１１０６で、サーバ情報テーブルの内容に変更があるかどうかが判定される。つまり、見つかったサーバが既にサーバ情報テーブルに記憶されているかどうか、又は既にサーバ情報テーブルに記憶されていたサーバについては、記憶されている状態情報と取得した状態情報が同じであるかどうかが判定される。その結果、変更があると判定された場合には、Ｓ１１０７に進み、サーバ情報テーブルの更新処理を行う。つまり、新たに見つかったサーバについては、サーバ情報テーブルに新規に登録し、既に登録されているサーバについては変更があった情報を更新する。
【００５９】
Ｓ１１０６において変更がないと判定されたか、又はＳ１１０７について更新処理が終了すると、Ｓ１１０３に戻り他にサービス提供サーバが見つかったかどうかを判定し、見つかったサービス提供サーバ一つ一つについてＳ１１０３からＳ１１０７までの処理を繰り返す。
【００６０】
Ｓ１１０３においてサービス提供サーバが見つからないと判定された場合、Ｓ１１０８に進み、サーバ情報テーブルに登録されているサーバで、見つからなかったサーバがあるかどうかを判定する。つまり、以前はネットワークにつながっていたサービス提供サーバがその後ネットワークから外されている状態、又は電源が入っていない状態などが考えられる為、Ｓ１１０８ではこのようなサーバがサーバ情報テーブル内にあるかどうかを判定している。
【００６１】
Ｓ１１０８において、このようなサーバがある場合にはＳ１１０９に進み、サーバ情報テーブルからこのようなサーバの情報を削除する。
【００６２】
以上の処理が終了すると、再び次のネットワーク探索のタイミングを待つ状態となる。
【００６３】
尚、Ｓ１１０４において、ネットワーク探索の結果見つかったサーバから収集する状態情報には、該サーバの提供するサービスに対するＷＳＤＬファイルを含んでいてもよい。この場合は、分散管理サーバはＷＳＤＬファイルを作成しないため、図６、図７に示したＷＳＤＬファイルを作成するための情報は取得しないことになる。
【００６４】
また、図１１の例では、所定のタイミングで負荷管理サーバがネットワーク探索を行うようにしたが、ネットワーク上の各サービス提供サーバが、自身の状態が変化した際に負荷管理サーバに自身の状態を通知するようにしてもよい。
【００６５】
次に、クライアント装置からのサービス要求に応じて、分散管理サーバで行われる処理について説明する。
【００６６】
図１２は、本実施形態においてクライアント装置からのサービス要求に応じて分散管理サーバにおいて実行される処理の流れを示すフローチャートである。
【００６７】
まず、Ｓ１２０１においてクライアント装置から、サービス要求を受信する。
【００６８】
Ｓ１２０２において、サーバ情報管理テーブルを参照し、クライアントから要求されたサービスを実行可能なサーバがサーバ情報テーブル内に登録されているかどうかを判断する。
【００６９】
Ｓ１２０３において、クライアントからの要求を満たすサーバが見つかった場合はＳ１２０４に進む。見つからなかった場合にはＳ１２０８に進み、見つからなかった旨をクライアントに通知し、処理を終了する。
【００７０】
Ｓ１２０４では、クライアントからの要求を満たすサーバが複数見つかったかどうかを判断し、複数見つかった場合にはＳ１２０９に進み、複数見つからなかった場合つまりクライアントの要求を満たすサーバが一つだけしかなかった場合にはＳ１２０５に進む。
【００７１】
Ｓ１２０９では、サーバ情報テーブルを参照し、見つかったサーバそれぞれの状態を判断する。例えばサーバの負荷を判断する。又はサービス夫々の状態（例えば、サービス夫々の負荷、使用状況など）を判断する。
【００７２】
Ｓ１２１０に進み、Ｓ１２０９での判断に基づいて、見つかった複数のサーバの中から最適なサーバを選択する（最適なサーバとは例えば負荷の最小のサーバなどを指す）。
【００７３】
Ｓ１２０４においてサーバが一つだけ見つかった場合、又はＳ１２１０において最適なサーバが選択されると、Ｓ１２０５に進み、該サーバのＷＳＤＬファイルが既に作成済みかどうか、つまりサーバ情報テーブルに該サーバのＷＳＤＬファイルが記憶されているかどうかを判断する。作成済みである場合にはＳ１２０６に進み、作成されていない場合にはＳ１２１１に進む。
【００７４】
Ｓ１２０６では、サーバ情報テーブルが変更されているかどうかを判断する。つまり、以前にＷＳＤＬファイルを作成する際に参照したサーバ情報テーブルの内容と現在のサーバ情報テーブルの内容が異なるかどうかを判断する。サーバ情報テーブルの内容に応じてＷＳＤＬファイルは異なる為、常に最新のＷＳＤＬファイルを使用する必要がある。変更がないと判断された場合には、Ｓ１２０７に進み、サーバ情報テーブルに記憶されているＷＳＤＬファイルをクライアントに送信し、処理を終了する。変更があると判断された場合には、Ｓ１２１１に進む。
【００７５】
Ｓ１２１１では、サーバ情報テーブルに基づいて新たにＷＳＤＬファイルが作成される、例えば、図５、図６のサーバ情報テーブルに基づいて図８及び図９のようなＷＳＤＬファイルが作成される。
【００７６】
ＷＳＤＬファイルが作成されるとＳ１２１２に進み、作成されたＷＳＤＬファイルをサーバ情報テーブルに記憶し、その様にテーブルを更新する。
【００７７】
その後Ｓ１２０７に進み、ＷＳＤＬファイルをクライアントに送信し処理を終了する。
【００７８】
以上説明したように、図１２に係る実施形態においては、サーバ状態が変更されているかを確認し、ＷＳＤＬファイルを作成し直す形式になっているが、図１０のＳ１００７において分散管理サーバがサーバ情報テーブルを更新する際に、ＷＳＤＬファイルを作成しておき、更新内容に基づいたＷＳＤＬファイルを常に記憶しておくようにしてもよい。このようにすることでサーバ情報テーブルには常に最新のＷＳＤＬファイルを記憶しておくことができる。
【００７９】
図１２に示した実施形態では、分散管理サーバにおいてＷＳＤＬファイルを作成する場合について説明したが、分散管理サーバが各サービス提供サーバから情報を取得する際に、各サーバで作成されたＷＳＤＬファイルを併せて取得し、クライアントからの要求に応じて分散管理サーバからＷＳＤＬファイルを送信するようにしても、クライアント装置、サービス提供サーバ間の通信処理負荷を減少させるといった効果を得ることができる。
【００８０】
この場合の処理の流れを図１３を用いて説明する。
【００８１】
Ｓ１３０１〜Ｓ１３０７の処理については図１２のＳ１２０１〜Ｓ１２０４、Ｓ１２０８〜Ｓ１２１０と同様の処理であり、説明は省略する。
【００８２】
何れかのサーバが選択されると、Ｓ１３０８ではサーバ情報テーブルを参照し、該サーバのサービスに対応するＷＳＤＬファイルをサーバ情報テーブルから読み出す。図１３の実施形態では、図１１のＳ１１０４において、サーバの状態が取得される際に、ＷＳＤＬファイルを作成する為の情報ではなくＷＳＤＬファイル自体を取得している。そのためサーバ情報テーブルには常に最新のＷＳＤＬファイルが記憶されていることになるので、Ｓ１２０６のような、サーバ情報が変更されているかどうかを判断するステップはなくなる。
【００８３】
Ｓ１３０８でＷＳＤＬファイルが読み出されるとＳ１３０９に進み該ＷＳＤＬファイルをクライアント装置に送信し、処理を終了する。
【００８４】
図１４は、記憶媒体の一例であるＣＤ−ＲＯＭのメモリマップを示す図である。１４１１はディレクトリ情報を記憶してある領域で、以降のインストールプログラムを記憶してある領域１４１２および分散サーバシステムプログラムを記憶してある領域１４１３の位置を示している。１４１２は、分散サーバシステムプログラムをインストールするためのプログラムを記憶してある領域である。１４１３は、分散サーバシステムプログラムを記憶してある領域である。本発明の分散サーバシステムプログラムが印刷デバイス３００にインストールされる際には、まずインストールプログラムを記憶してある領域１４１２に記憶されているインストールプログラムがシステムにロードされ、ＣＰＵ３０１によって実行される。次に、ＣＰＵ３０１によって実行されるインストールプログラムが、分散サーバシステムプログラムを記憶してある領域１４１３から分散サーバシステムプログラムを読み出して、ハードディスク３１１に格納する。
【００８５】
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェース機器、リーダなど）から構成されるシステムあるいは統合装置に適用しても、ひとつの機器からなる装置に適用してもよい。
【００８６】
また、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【００８７】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００８８】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ，ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【００８９】
また、コンピュータが読み出したプログラムコードを実行することによって、前述した実施形態の機能が実現される他、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００９０】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００９１】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体から、そのプログラムをパソコン通信など通信ラインを介して要求者にそのプログラムを配信する場合にも適用できることは言うまでもない。
【図面の簡単な説明】
【００９２】
【図１】本発明の実施形態におけるＷｅｂサービスシステムの構成を示す図である。
【図２】本発明の実施形態におけるコンピュータの内部構成を示した図である。
【図３】本発明の実施形態における印刷装置の内部構成を示した図である。
【図４】本発明の実施形態における分散サーバシステムのモデル図である。
【図５】本発明の実施形態における分散管理サーバが保持するサーバ情報テーブルの例である。
【図６】本発明の実施形態における分散管理サーバが保持するＷＳＤＬファイル作成のための情報の例である。
【図７】本発明の実施形態における分散管理サーバが保持するＷＳＤＬファイル作成のための情報の例である。
【図８】本発明の実施形態における分散管理サーバが発行するＷＳＤＬの例である。
【図９】本発明の実施形態における分散管理サーバが発行するＷＳＤＬ（図８の続き）の例である。
【図１０】本発明の実施形態におけるクライアントが行う、取得したＷＳＤＬファイルの解析処理の流れを示したフローチャートである。
【図１１】本発明の実施形態における分散管理サーバにおいて実行される、サーバ情報テーブル登録・更新処理を示すフローチャートである。
【図１２】本発明の実施形態におけるクライアント装置からのサービス要求に応じて分散管理サーバにおいて実行される処理の流れを示すフローチャートである。
【図１３】図１０に示す実施形態のその他の実施形態を示すフローチャートである。
【図１４】本発明の実施形態における分散サーバシステムプログラムの記憶媒体におけるメモリマップを示す図である。
【符号の説明】
【００９３】
１０１、１０２  サーバＰＣ
１０３、１０４  クライアントＰＣ
１０５、１０６  ＭＦＰ
１１０  分散管理サーバＰＣ
４１０  分散管理サーバＰＣ
４２０  クライアントＰＣ
４３０  サーバＰＣ
【図１】
2005157613.tif 000003
【図２】
2005157613.tif 000004
【図３】
2005157613.tif 000005
【図４】
2005157613.tif 000006
【図５】
2005157613.tif 000007
【図６】
2005157613.tif 000008
【図７】
2005157613.tif 000009
【図８】
2005157613.tif 000010
【図９】
2005157613.tif 000011
【図１０】
2005157613.tif 000012
【図１１】
2005157613.tif 000013
【図１２】
2005157613.tif 000014
【図１３】
2005157613.tif 000015
【図１４】
2005157613.tif 000016