(57)【要約】【課題】  Ｗｅｂサービスを提供する為の処理を委譲した場合の応答を効率良く返すと共に不必要な通信資源の利用を削減することが可能な技術を提供する。【解決手段】  Ｗｅｂサービスを提供する為の処理を委譲するＷｅｂサービス委譲処理方法において、Ｗｅｂサービスの提供を要求するリクエストメッセージを通信手段により受信するステップと、前記リクエストメッセージで要求されたＷｅｂサービスの処理を他のＷｅｂサービス提供装置へ委譲してその処理結果を含む応答メッセージの委譲元への送信を要求する場合に、その応答メッセージの送信先を示すリターン先情報ヘッダを付加したリクエストメッセージを通信手段により送信して当該処理の委譲を行うステップと、前記リターン先情報ヘッダを含むリクエストメッセージにより委譲された処理を自装置で実行した場合に、その処理結果を含む応答メッセージを当該リターン先情報ヘッダで示される送信先へ通信手段により送信するステップとを有するものである。【選択図】        図１
2005228229.tif 000002
【特許請求の範囲】
【請求項１】
Ｗｅｂサービスを提供する為の処理を委譲するＷｅｂサービス委譲処理方法において、
Ｗｅｂサービスの提供を要求するリクエストメッセージを通信手段により受信するステップと、
前記リクエストメッセージで要求されたＷｅｂサービスの処理を他のＷｅｂサービス提供装置へ委譲してその処理結果を含む応答メッセージの委譲元への送信を要求する場合に、その応答メッセージの送信先を示すリターン先情報ヘッダを付加したリクエストメッセージを通信手段により送信して当該処理の委譲を行うステップと、
前記リターン先情報ヘッダを含むリクエストメッセージにより委譲された処理を自装置で実行した場合に、その処理結果を含む応答メッセージを当該リターン先情報ヘッダで示される送信先へ通信手段により送信するステップとを有することを特徴とするＷｅｂサービス委譲処理方法。
【請求項２】
前記Ｗｅｂサービスの処理を委譲する際にその処理結果を含む応答メッセージの委譲元への送信が不要である場合に、前記リクエストメッセージを変更せずに通信手段により送信して当該処理の委譲を行うことを特徴とする請求項１に記載されたＷｅｂサービス委譲処理方法。
【請求項３】
前記Ｗｅｂサービスの処理を委譲してその処理結果を含む応答メッセージの委譲元への送信を要求する際に、リクエストメッセージ中にリターン先情報ヘッダが含まれている場合には、そのリターン先情報ヘッダに自装置を示す送信先を追加したリクエストメッセージを通信手段により送信して当該処理の委譲を行うことを特徴とする請求項１または請求項２のいずれかに記載されたＷｅｂサービス委譲処理方法。
【請求項４】
各Ｗｅｂサービス提供装置での委譲された処理の実行状況を示す委譲先データベース中の情報を記憶手段から読み出し、その読み出した情報に応じて委譲先のＷｅｂサービス提供装置を決定することを特徴とする請求項１乃至請求項３のいずれか１項に記載されたＷｅｂサービス委譲処理方法。
【請求項５】
前記処理結果を含む応答メッセージをリターン先情報ヘッダで示される送信先へ送信する際に、どのリクエストメッセージに対応した処理結果であるかを識別する為のメッセージ識別子を含む応答メッセージを通信手段により送信することを特徴とする請求項１乃至請求項４のいずれか１項に記載されたＷｅｂサービス委譲処理方法。
【請求項６】
前記リターン先情報ヘッダを含むリクエストメッセージにより委譲された処理を自装置で実行した場合に、その委譲された処理の終了を通知する為の応答メッセージを当該リクエストメッセージの送信元のＷｅｂサービス提供装置へ通信手段により送信することを特徴とする請求項１乃至請求項５のいずれか１項に記載されたＷｅｂサービス委譲処理方法。
【請求項７】
前記処理結果を含む応答メッセージを送信する際に、リターン先情報ヘッダ及び処理結果を含む応答メッセージを埋め込んだ応答埋め込みメッセージを生成して当該リターン先情報ヘッダで示される送信先へ通信手段により送信することを特徴とする請求項１乃至請求項６のいずれか１項に記載されたＷｅｂサービス委譲処理方法。
【請求項８】
他のＷｅｂサービス提供装置から受信した応答埋め込みメッセージのリターン先情報ヘッダ中に自装置以外のリターン先情報が含まれている場合に、自装置のリターン先情報を削除したリターン先情報ヘッダ及び処理結果を含む応答メッセージを埋め込んだ応答埋め込みメッセージを、そのリターン先情報ヘッダで示される送信先へ通信手段により送信することを特徴とする請求項７に記載されたＷｅｂサービス委譲処理方法。
【請求項９】
Ｗｅｂサービスを提供する為の処理を実行してＷｅｂサービスの提供を行うＷｅｂサービス提供装置において、
Ｗｅｂサービスの提供を要求するリクエストメッセージを通信手段により受信するメッセージ受信解析部と、
前記リクエストメッセージで要求されたＷｅｂサービスの処理を他のＷｅｂサービス提供装置へ委譲してその処理結果を含む応答メッセージの委譲元への送信を要求する場合に、その応答メッセージの送信先を示すリターン先情報ヘッダを付加したリクエストメッセージを通信手段により送信して当該処理の委譲を行うサービス委譲処理部と、
前記リターン先情報ヘッダを含むリクエストメッセージにより委譲された処理を自装置で実行した場合に、その処理結果を含む応答メッセージを当該リターン先情報ヘッダで示される送信先へ通信手段により送信するメッセージ送信部とを備えることを特徴とするＷｅｂサービス提供装置。
【請求項１０】
Ｗｅｂサービスを提供する為の処理を委譲するＷｅｂサービス委譲処理方法をコンピュータに実行させる為のプログラムにおいて、
Ｗｅｂサービスの提供を要求するリクエストメッセージを通信手段により受信するステップと、
前記リクエストメッセージで要求されたＷｅｂサービスの処理を他のＷｅｂサービス提供装置へ委譲してその処理結果を含む応答メッセージの委譲元への送信を要求する場合に、その応答メッセージの送信先を示すリターン先情報ヘッダを付加したリクエストメッセージを通信手段により送信して当該処理の委譲を行うステップと、
前記リターン先情報ヘッダを含むリクエストメッセージにより委譲された処理を自装置で実行した場合に、その処理結果を含む応答メッセージを当該リターン先情報ヘッダで示される送信先へ通信手段により送信するステップとをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はＷｅｂサービスを提供する為の処理を他の情報処理装置に委譲するＷｅｂサービス委譲処理技術に関するものである。
【背景技術】
【０００２】
複数のノードに分散して配置された複数のＷｅｂサービス処理部が互いに連携してサービス（プログラムやオブジェクトの実行により実現される機能）を提供する多段型のＷｅｂサービス処理には、非特許文献１に記載される様な技術があり、同じサービスを提供するＷｅｂサービス同士が互いに委譲し合うことで、クライアント側の情報処理装置に対してサービスが提供できないという事象を減少させることができる。
【０００３】
【非特許文献１】David A. Chappell他著「Java Web Services」出版社：O’Reilly & Associates,Inc., 2002.3,p6
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記従来技術によれば、Ｗｅｂサービス処理においてリクエストを連鎖的に委譲すると、それに対する応答も連鎖的に返される為、単に委譲しただけのサービス提供装置にとってはその応答は必要が無いにも関わらず、応答が引き回されることによって通信資源及び時間が浪費されるという問題がある。
【０００５】
本発明の目的は上記問題を解決し、Ｗｅｂサービスを提供する為の処理を委譲した場合の応答を効率良く返すと共に不必要な通信資源の利用を削減することが可能な技術を提供することにある。
【課題を解決するための手段】
【０００６】
本発明は、Ｗｅｂサービスを提供する為の処理を委譲するＷｅｂサービス提供装置において、他のＷｅｂサービス提供装置から委譲された処理の結果をリターン先情報ヘッダで示される送信先へ応答するものである。
【０００７】
本発明のＷｅｂサービス提供装置（計算機や情報処理装置、またはその様な処理を実施するプログラムやオブジェクトでも良い）では、Ｗｅｂサービス（プログラムやオブジェクトの実行により実現される機能）の提供を要求するリクエストメッセージをクライアント側の処理装置やＷｅｂサービス提供装置から通信装置により受信すると、このリクエストメッセージで要求されたＷｅｂサービスの処理を他のＷｅｂサービス提供装置へ委譲するかどうかを自装置の状態や他のサービスの稼動状況等から判定し、その処理を委譲する場合にはサービス委譲処理を実行し、自装置で処理する場合にはその処理を自装置で実行する。
【０００８】
委譲元のＷｅｂサービス提供装置におけるサービス委譲処理では、まず各Ｗｅｂサービス提供装置での委譲された処理の実行状況を示す委譲先データベース中の情報を記憶装置から読み出し、その読み出した情報に応じて委譲先のＷｅｂサービス提供装置を決定する。
【０００９】
次に、委譲される処理の処理結果を含む応答メッセージ（リターン先情報ヘッダ及び処理結果を含む応答メッセージを埋め込んだ応答埋め込みメッセージ）の委譲元への送信を委譲先のＷｅｂサービス提供装置へ要求するかどうかを判定する。例えば、クライアント側の処理装置からリクエストメッセージを直接受信したＷｅｂサービス提供装置では、クライアント側の処理装置へ処理結果を応答する必要があるので、委譲された処理の処理結果を含む応答メッセージの送信を要求する判定を行い、委譲された処理を更に他のＷｅｂサービス提供装置に委譲するＷｅｂサービス提供装置では処理結果を必要としない為、委譲された処理の処理結果を含む応答メッセージの送信を要求しない判定を行う。なお委譲された処理を更に他のＷｅｂサービス提供装置に委譲するＷｅｂサービス提供装置でも、特にその処理結果を必要とする場合には、委譲された処理の処理結果を含む応答メッセージの送信を要求する判定を行っても良い。
【００１０】
前記判定の結果、委譲された処理の処理結果を含む応答メッセージの送信を要求する場合には、その応答メッセージの送信先を示すリターン先情報ヘッダを付加したリクエストメッセージを、前記決定した委譲先のＷｅｂサービス提供装置へ通信装置により送信して当該処理の委譲を行う。
【００１１】
前記の様にして委譲された処理を委譲先のＷｅｂサービス提供装置で処理する場合、その処理を委譲先のＷｅｂサービス提供装置で実行した後、そのリクエストメッセージのヘッダ部の情報と処理結果を含む応答メッセージを生成する。
【００１２】
次に、前記生成した応答メッセージ中にリターン先情報ヘッダが含まれているかどうかを調べ、リターン先情報ヘッダが含まれている場合には、その応答メッセージをボディ部に埋め込んだ応答埋め込みメッセージを生成した後、その応答埋め込みメッセージを当該リターン先情報ヘッダでリターン先として示されているＷｅｂサービス提供装置へ通信装置により送信する。
【００１３】
リターン先情報ヘッダでリターン先として示されているＷｅｂサービス提供装置は、前記送信された応答埋め込みメッセージを受信した後、その応答埋め込みメッセージから応答メッセージを取り出し、そのリターン先情報ヘッダの中から自装置の情報を削除する。
【００１４】
そして、そのリターン先情報ヘッダ中に他のＷｅｂサービス提供装置へのリターン先情報が残っているかどうかを調べ、他のリターン先情報が残っている場合には、そのリターン先情報ヘッダを含む応答メッセージをボディ部に埋め込んだ応答埋め込みメッセージをリターン先情報ヘッダで示されるＷｅｂサービス提供装置へ送信し、他のＷｅｂサービス提供装置へのリターン先を示すリターン先情報ヘッダが残っていない場合には、最初にそのＷｅｂサービスの提供を要求したクライアント側の処理装置へ応答メッセージを送信する。
【発明の効果】
【００１５】
本発明によれば、Ｗｅｂサービスを提供する為の処理を委譲した場合の応答を効率良く返すと共に不必要な通信資源の利用を削減することが可能である。
【発明を実施するための最良の形態】
【００１６】
以下にＷｅｂサービスを提供する為の処理を他のＷｅｂサービス提供装置に委譲する一実施形態のＷｅｂサービス提供装置について説明する。
【００１７】
図１は本実施形態のＷｅｂサービス提供システムの全体構成を示す図である。図１のＷｅｂサービス提供システムでは、同じ内容のサービスを提供し、お互いに委譲し合うサービス処理部Ａ１１１、サービス処理部Ｂ１１２、サービス処理部Ｃ１１３、サービス処理部Ｄ１１４、サービス処理部Ｅ１１５、サービス処理部Ｆ１１６、サービス処理部Ｇ１１７からなる同業サービスネットワーク１０２と、ネットワーク１０１を介して繋がるクライアント側処理装置１０３が存在する。各サービス処理部は、それぞれＷｅｂサービス提供装置１０４からＷｅｂサービス提供装置１０８に分散している。
【００１８】
ここで、クライアント側処理装置１０３が所定のサービスの提供を受ける場合、クライアント側処理装置１０３は、そのサービスを提供しているＷｅｂサービス提供装置１０４のサービス処理部Ａ１１１に対してリクエストメッセージ１２１を送信する。
【００１９】
サービス処理部Ａ１１１は、自処理部でそのリクエストを処理できる場合には処理を実行するが、処理できない場合には同業サービスネットワーク１０２内の別のサービス処理部に処理を委譲する。本図ではサービス処理部Ｂ１１２に委譲しており（リクエストメッセージ１２２）、サービス処理部Ｂ１１２以後も同様にサービス処理部Ｄ１１４まで処理を委譲している（リクエストメッセージ１２３及びリクエストメッセージ１２４）。
【００２０】
そして、サービス処理部Ｄ１１４で処理が可能であった場合、従来技術であればそのリクエストに対する応答は委譲された道順を逆に辿って応答を返す（応答メッセージ１２６〜１２８）。しかし、単に処理を委譲しただけのサービス処理部Ｂ１１２及びサービス処理部Ｃ１１３は、必ずしも処理結果が含まれる応答を必要としない為、この様に応答を引き回すことによって無駄な通信資源を消費する可能性がある。また、送信パスを逆に辿る際、パス上のサービス処理部が必ずアクティブである保証もない為、クライアント側処理装置１０３への応答が遅延する可能性もある。
【００２１】
本実施形態は、クライアント側処理装置１０３からのリクエストを直接受信したサービス処理部Ａ１１１に対して、処理を行ったサービス処理部Ｄ１１４から応答を直接送る（応答メッセージ１２５）ことにより、不要な応答の引き回し（応答メッセージ１２６〜１２８）を無くし、応答を効率良く返すと共に、不必要な通信資源を削減することを目的とする。なお、本図では、クライアント側処理装置１０３からのリクエストメッセージ１２１はサービス処理部Ａ１１１に送信されているが、同業サービスネットワーク１０２に属するサービス処理部であればどれでも構わない。
【００２２】
図２は本実施形態のクライアント側処理装置１０３からのリクエストメッセージ１２１を処理するまでのメッセージの流れを時間的に表すシーケンスの一例を示す図である。まず、クライアント側処理装置１０３からのリクエストメッセージ１２１をサービス処理部Ａ１１１が受信する。
【００２３】
次に、サービス処理部Ａ１１１はサービス処理部Ｂ１１２にリクエストメッセージ（委譲）１２２を送信してリクエストを委譲する。ここで、「リクエストメッセージ（委譲）」は、処理を委譲する際に用いられるリクエストメッセージを示すものとし、以下の記載でも同様であるものとする。同様に、サービス処理部Ｂ１１２はサービス処理部Ｃ１１３にリクエストメッセージ（委譲）１２３を送信してリクエストを委譲し、サービス処理部Ｃ１１３はサービス処理部Ｄ１１４にリクエストメッセージ（委譲）１２４を送信してリクエストを委譲する。
【００２４】
サービス処理部Ｄ１１４は、処理が完了したら、リクエストに対する応答を埋め込んだメッセージである応答埋め込みメッセージ１２５をサービス処理部Ａ１１１に対して送信する。サービス処理部Ａ１１１は、応答埋め込みメッセージ１２５から処理の応答を取り出し、クライアント側処理装置１０３に応答メッセージ２０１を返信する。
【００２５】
またサービス処理部Ｄ１１４は、サービス処理部Ａ１１１に応答埋め込みメッセージ１２５を送信した後、直接委譲を受けたサービス処理部Ｃ１１３に対して、応答埋め込みメッセージ１２５を送信したことを通知する為の応答メッセージ（通知）１２６を送信する。ここで、「応答メッセージ（通知）」は、委譲された処理の終了を通知する際に用いられる応答メッセージを示すものとし、以下の記載でも同様であるものとする。
【００２６】
サービス処理部Ｃ１１３は、サービス処理部Ｄ１１４から受信した応答メッセージ（通知）１２６を利用してサービス処理部Ｂ１１２に応答メッセージ（通知）１２７を送信し、同様にサービス処理部Ｂ１１２もサービス処理部Ａ１１１に対して応答メッセージ（通知）１２８を送信する。
【００２７】
この様に本実施形態のサービス提供装置では、通常であれば応答メッセージ（通知）１２８を受信するタイミング以降でなければクライアント側処理装置１０３に返信できない応答メッセージ２０１を、サービス処理部Ｄ１１４の処理が完了してから直ぐにクライアント側処理装置１０３に返信することができる。
【００２８】
図３は本実施形態の委譲処理を行うＷｅｂサービス提供装置の概略構成を示す図である。図３に示す様に本実施形態のＷｅｂサービス提供装置３００は、サービス処理部３０１と、メッセージ受信解析部３０２と、サービス実行部３０３と、サービス委譲処理部３０４と、返信用メッセージ生成部３０５と、メッセージ送信部３０６と、メッセージ返信部３０７とを有している。
【００２９】
サービス処理部３０１は、Ｗｅｂサービスを提供する為の処理の委譲や実行を行う各部を制御する処理部である。メッセージ受信解析部３０２は、Ｗｅｂサービスの提供を要求するリクエストメッセージ３２１またはリクエストメッセージ（委譲）３２２を通信装置により受信し、その内容を解析する処理部である。
【００３０】
サービス実行部３０３は、前記リクエストメッセージで要求されたＷｅｂサービスの処理を自装置で実行する処理部である。サービス委譲処理部３０４は、前記リクエストメッセージで要求されたＷｅｂサービスの処理を他のＷｅｂサービス提供装置へ委譲してその処理結果を含む応答メッセージの委譲元への送信を要求する場合に、その応答メッセージの送信先を示すリターン先情報ヘッダを付加したリクエストメッセージを通信装置により送信して当該処理の委譲を行う処理部である。
【００３１】
返信用メッセージ生成部３０５は、委譲により得られた結果または自装置で処理した結果から返信用のメッセージを生成する処理部である。メッセージ送信部３０６は、前記リターン先情報ヘッダを含むリクエストメッセージにより委譲された処理を自装置で実行した場合に、その処理結果を含む応答埋め込みメッセージ３２３を当該リターン先情報ヘッダで示される送信先へ通信装置により送信する処理部である。メッセージ返信部３０７は、応答メッセージ（通知）３２４または応答メッセージ３２５をリクエストメッセージ３２１またはリクエストメッセージ（委譲）３２２の送信元へ返信する処理部である。
【００３２】
Ｗｅｂサービス提供装置３００をサービス処理部３０１、メッセージ受信解析部３０２、サービス実行部３０３、サービス委譲処理部３０４、返信用メッセージ生成部３０５、メッセージ送信部３０６及びメッセージ返信部３０７として機能させる為のプログラムは、ＣＤ−ＲＯＭ等の記録媒体に記録され磁気ディスク等に格納された後、メモリにロードされて実行されるものとする。なお前記プログラムを記録する記録媒体はＣＤ−ＲＯＭ以外の他の記録媒体でも良い。また前記プログラムを当該記録媒体から情報処理装置にインストールして使用しても良いし、ネットワークを通じて当該記録媒体にアクセスして前記プログラムを使用するものとしても良い。
【００３３】
またＷｅｂサービス提供装置３００は委譲先データベース３１１を有している。委譲先データベース３１１は、サービス委譲処理部３０４が委譲を行う際に委譲先を決定する為に必要な情報を保持するデータベースである。
【００３４】
このＷｅｂサービス提供装置３００は、リクエストメッセージ３２１またはリクエストメッセージ（委譲）３２２を受信すると、リクエストの内容と自装置の状態に応じて自分で処理をするか若しくは委譲するかを判断して処理または委譲を行う。そして、その結果を特定のリターン先に送信する様に指定されていれば応答埋め込みメッセージ３２３と応答メッセージ（通知）３２４を送信し、そうでなければ従来通り応答メッセージ３２５を送信する処理を行う。
【００３５】
図４は本実施形態のサービス委譲処理部３０４の構成を示す図である。サービス委譲処理部３０４は、リクエストを委譲することが決定した場合に動作する。
【００３６】
サービス委譲処理部３０４は、委譲先のサービス処理部を決定する委譲先決定部４０１、委譲先のサービス処理部に対してリクエストメッセージ（委譲）３２２を送信する委譲メッセージ送信部４０２、自分のサービス処理部が応答埋め込みメッセージ３２３を受ける様に設定した場合に、実際に応答埋め込みメッセージ３２３を受信する応答埋め込みメッセージ受信部４０３、応答メッセージ（通知）３２４または応答メッセージ３２５を受信する委譲メッセージ応答受信部４０４から成る。
【００３７】
委譲先決定部４０１で委譲先を決定する為に、委譲先データベース３１１の情報を利用するものとする。また、応答埋め込みメッセージ受信部４０３及び委譲メッセージ応答受信部４０４は、受信したメッセージの送信先の情報を元に委譲先データベース３１１を更新するものとする。
【００３８】
図５は本実施形態のリクエストメッセージ（委譲）３２２の形式例を示す図である。図５のリクエストメッセージ（委譲）３２２はＸＭＬ(Extensible Markup Language)で表現されているものとし、要素としてヘッダ部５０１とボディ部５０２を含んでいる。
【００３９】
ヘッダ部５０１は、主にＷｅｂサービスの制御情報を含んでおり、要素として、本実施形態の特徴の一つであるリターン先情報ヘッダ５１１と、その他のヘッダ５１２を持っている。リターン先情報ヘッダ５１１は、応答埋め込みメッセージ３２３の送信先に関する情報を持ち、その他のヘッダ５１２及びボディ部５０２は、委譲する処理の内容等の情報を含んでいる。
【００４０】
図６は本実施形態のリターン先情報ヘッダ５１１の内容例を示す図である。図６に示す様にリターン先情報ヘッダ５１１は、リターン先の情報６０２を開始タグ６０１と終了タグ６０３で囲む形で表すものとし、この例ではリターン先が１個しかないが、複数個指定しても構わないものとする。
【００４１】
リターン先の情報６０２は、リターン先のＵＲＬ(Uniform Resource Locator)を表す属性６１１、現在のメッセージの状態を表す種別属性６１２、リターン先のどのメッセージに対応するメッセージであるかを示すメッセージ識別子属性６１３を含んでいる。
【００４２】
種別属性６１２には、リクエストメッセージであることを表す種別（request）、リクエストに対する応答であることを表す種別（response）、そして既に応答埋め込みメッセージを通知済みであることを表す種別（notice）がある。種別属性がnoticeであれば、そのリターン先情報ヘッダ５１１が含まれるメッセージは応答メッセージ（通知）３２４である。
【００４３】
図６のリターン先情報ヘッダ５１１を含むメッセージはリクエストのメッセージであり、当該メッセージに対する応答埋め込みメッセージのリターン先はサービス処理部Ａで、サービス処理部Ａにおいて対応するメッセージはA-1という識別子を持つことを示している。
【００４４】
リターン先の情報６０２を複数個指定する場合には、後から指定するものを上に指定するものとする。リターン先において、リターン先情報ヘッダ５１１が指定されたメッセージを受信した場合には、自分自身を示す情報を削除し、それでもなおリターン先情報が残っている場合には、そのリターン先情報で示される送信先にメッセージを送信するものとする。
【００４５】
図７は本実施形態の応答埋め込みメッセージ３２３の形式例を示す図である。図７の応答埋め込みメッセージ３２３もＸＭＬ形式であるものとし、要素としてヘッダ部７０１とボディ部７０２を持っている。ヘッダ部７０１の内容はヘッダ部５０１の内容と同様であり、ボディ部７０２については、ただ一つの要素である応答メッセージ３２５を含んでいる。
【００４６】
応答メッセージ３２５は、それ自身がメッセージの形式をしており、要素としてヘッダ部７３１及びボディ部７３２を持っている。応答メッセージ３２５のヘッダ部７３１も他のヘッダ部５０１やヘッダ部７０１と同様の構成であり、応答メッセージ３２５のボディ部７３２はＷｅｂサービスの処理結果等の実際の応答に関する情報を含んでいる。
【００４７】
応答メッセージ３２５はそれ自身がメッセージの形式をしている為、応答埋め込みメッセージ３２３を受信したサービス処理部は、応答メッセージ３２５を取り出して別のサービス処理部またはクライアント側処理装置１０３に送信することが可能である。
【００４８】
応答埋め込みメッセージ３２３及び応答メッセージ３２５には、その内容がリクエストに対する応答であることを示す為に、リターン先情報ヘッダ７１１及びリターン先情報ヘッダ７４１中の種別属性６１２に応答を表す値を設定するものとする。
【００４９】
図８は本実施形態の応答メッセージ（通知）３２４の形式例を示す図である。図８の応答メッセージ（通知）３２４も他のメッセージ同様ＸＭＬ形式であるものとし、ヘッダ部８０１及びボディ部８０２を要素に持っている。ヘッダ部８０１の内容も他のメッセージ同様リターン先情報ヘッダ８１１とその他のヘッダ８１２から成る。
【００５０】
本メッセージの役割は、既に応答埋め込みメッセージ３２３をリターン先に送信したことを示すことであるので、ボディ部８０２は特に要素を持たないものとし、リターン先情報ヘッダ８１１における種別属性６１２には、通知目的であることを示す値を設定するものとする。
【００５１】
図９は本実施形態の委譲先データベース３１１のデータ形式の一例を示す図である。図９に示す様に委譲先データベース３１１は、属性として委譲先識別子９１１、委譲先ＵＲＬ９１２、これまでにどの程度委譲したリクエストを処理したかを示す委譲処理率９１３、これまでの委譲の依頼数を示す委譲依頼数９１４、これまでの委譲の処理数を示す委譲処理数９１５、各レコードの登録された日付を表す登録日９１６を持っている。
【００５２】
この例のサービス処理部Ｂ１１２に関する情報を示すレコード９０２は、サービス処理部Ｂ１１２が２００３年４月５日からサービス処理部Ａ１１１のデータベースに登録されており、サービス処理部Ａからの委譲依頼を８０％の確率で処理しており、依頼数は１２０件、処理数は９６件にのぼることを示している。サービス委譲処理部３０４の委譲先決定部４０１は、本情報を基に委譲先を決定する。また、応答埋め込みメッセージ受信部４０３及び委譲メッセージ応答受信部４０４は受信したメッセージ内容を基に本情報を更新する。
【００５３】
図１０は本実施形態のＷｅｂサービス提供装置３００の処理手順を示すフローチャートである。ステップ１００１でＷｅｂサービス提供装置３００のメッセージ受信解析部３０２は、Ｗｅｂサービスの提供を要求するリクエストメッセージ３２１またはリクエストメッセージ（委譲）３２２がクライアント側処理装置１０３または他のＷｅｂサービス提供装置３００から送信されているかどうかを調べ、送信されている場合にはそれらのメッセージを通信装置により受信してメモリに格納する。
【００５４】
ステップ１００２では、前記メモリに格納したメッセージの内容を読み出してその内容を解析し、このリクエストを他のＷｅｂサービス提供装置３００に委譲するかどうか判定する。この判定方法は、自装置での処理負荷等の状態を判断して判定しても良いし、他のサービス処理部の稼動状況から判断しても構わない。委譲先データベース３１１に属性を追加し、それを利用して判定しても良い。
【００５５】
ステップ１００２で判定した結果、そのリクエストを委譲する場合にはステップ１００３へ進み、ステップ１００３でサービス委譲処理部３０４は、リターン先情報ヘッダ５１１の付加されたリクエストメッセージ（委譲）３２２を通信装置により委譲先のＷｅｂサービス提供装置３００へ送信して当該処理の委譲を行う。
【００５６】
またステップ１００２で判定した結果、そのリクエストを自装置で処理する場合にはステップ１００４へ進み、ステップ１００４でサービス実行部３０３は、前記リクエストメッセージで要求されたＷｅｂサービスの処理を自装置で実行する処理を行う。
【００５７】
次にステップ１００５で返信用メッセージ生成部３０５は、ステップ１００３での委譲により得られた結果またはステップ１００４での自装置で処理した結果から返信用のメッセージを生成する処理を行う。生成する返信用のメッセージには応答埋め込みメッセージ３２３と応答メッセージ（通知）３２４の対と、応答メッセージ３２５の２種類がある。どちらの返信用メッセージを生成したかによって、以降の処理が異なる。
【００５８】
ステップ１００６では、ステップ１００５で応答埋め込みメッセージ３２３を生成したかどうかを調べ、応答埋め込みメッセージ３２３を生成した場合にはステップ１００７へ進み、そうでない場合にはステップ１００９へ進む。
【００５９】
ステップ１００７でメッセージ送信部３０６は、ステップ１００５で生成された応答埋め込みメッセージ３２３中のリターン先情報ヘッダからリターン先のＵＲＬを表す属性６１１を読み出し、その応答埋め込みメッセージ３２３を属性６１１で示される送信先へ通信装置により送信する処理を行う。そしてステップ１００８でメッセージ返信部３０７は、ステップ１００５で生成された応答メッセージ（通知）３２４を、リクエストメッセージ（委譲）３２２の送信元へ返信する処理を行う。また、ステップ１００９では、メッセージ返信部３０７により、応答メッセージ３２５をリクエストメッセージ３２１の送信元へ返信する処理を行う。
【００６０】
サービスを委譲する場合のステップ１００３の処理及び返信用メッセージを生成するステップ１００５の処理の詳細については、それぞれ図１１、図１２にて表している。以下、これらの処理手順について説明する。
【００６１】
図１１は本実施形態のサービス委譲処理部３０４におけるサービス委譲処理の処理手順を示すフローチャートである。ステップ１００３でサービス委譲処理部３０４が処理を開始すると、まずステップ１１０１でサービス委譲処理部３０４は、各Ｗｅｂサービス提供装置での委譲された処理の実行状況を示す委譲先データベース３１１中の情報を記憶装置から読み出し、その読み出した情報に応じて委譲先のＷｅｂサービス提供装置を決定する。決定の方法は、委譲処理率９１３が最も高いものを選択しても良いし、登録日が最も新しいものを選択する方法でも良いし、これらの組合せ条件を満たすものでも構わない。
【００６２】
次にステップ１１０２では、応答埋め込みメッセージ３２３を要求するかどうかを判定する。例えば、クライアント側処理装置１０３からリクエストメッセージ３２１を直接受信したＷｅｂサービス提供装置では、クライアント側処理装置１０３へ処理結果を応答する必要があるので、委譲された処理の処理結果を含む応答埋め込みメッセージ３２３の送信を要求する判定を行い、リクエストメッセージ（委譲）３２２により委譲された処理を更に他のＷｅｂサービス提供装置に委譲するＷｅｂサービス提供装置では、その処理結果を必要としない為、委譲された処理の処理結果を含む応答埋め込みメッセージ３２３の送信を要求しない判定を行う。なお委譲された処理を更に他のＷｅｂサービス提供装置に委譲するＷｅｂサービス提供装置でも、特にその処理結果を必要とする場合には、委譲された処理の処理結果を含む応答埋め込みメッセージ３２３の送信を要求する判定を行っても良い。
【００６３】
ステップ１１０２での判定の結果、応答埋め込みメッセージ３２３を要求する場合には、ステップ１１０３にて自装置のサービス処理部へのＵＲＬを示す属性６１１及び現在処理中のメッセージを識別する為のメッセージ識別子属性６１３をリターン先情報ヘッダ５１１としてリクエストメッセージ（委譲）３２２に記述する。ここで、ステップ１００１で受信したメッセージがリクエストメッセージ（委譲）３２２であり、既にリターン先情報ヘッダ５１１が含まれている場合には、そのリターン先情報ヘッダ５１１に自装置の属性６１１及びメッセージ識別子属性６１３を追加してリクエストメッセージ（委譲）３２２の記述を行う。また応答埋め込みメッセージ３２３を要求しない場合には、受信したメッセージをそのままリクエストメッセージ（委譲）３２２とする。
【００６４】
続いてステップ１１０４では、リクエストメッセージ（委譲）３２２をステップ１１０１で決定した委譲先のＷｅｂサービス提供装置に対して通信装置により送信する。
【００６５】
この先の処理は、ステップ１１０２にて応答埋め込みメッセージ３２３を要求するとの判定を行ったかどうかによって処理が異なっており、ステップ１１０５では、ステップ１１０２で応答埋め込みメッセージ３２３を要求する判定を行ったかどうかを調べ、その判定を行っている場合にはステップ１１０８に進み、ステップ１１０８では、応答埋め込みメッセージ３２３が送信されるのを待って、応答埋め込みメッセージ３２３の受信を行う。
【００６６】
複数のリクエストを他のサービス処理部に委譲している場合、どの応答埋め込みメッセージ３２３がどのリクエストメッセージ（委譲）３２２に対応するものであるかを識別する必要がある。そこで、ステップ１１０９では、応答埋め込みメッセージ中のリターン先情報ヘッダ５１１中のメッセージ識別子属性６１３を利用し、まずリクエストメッセージ（委譲）３２２と応答埋め込みメッセージ３２３とを対応付ける。その後、応答埋め込みメッセージ３２３から応答メッセージ３２５を取り出し、応答メッセージ３２５中のリターン先情報ヘッダ５１１の中から自サービス処理部の情報を削除し、その応答メッセージ３２５を返信用メッセージ生成部３０５に送る。
【００６７】
更にステップ１１１０にて、リクエストメッセージ（委譲）３２２に対応する応答メッセージ（通知）３２４を受信するのを待つ。応答メッセージ（通知）３２４は特に返信用メッセージ生成部３０５に送る必要はない。
【００６８】
一方、ステップ１１０２で応答埋め込みメッセージ３２３を要求する判定を行っていない場合にはステップ１１０６に進み、リクエストメッセージ（委譲）３２２に対する応答メッセージ３２５を受信するのを待ち、受信した応答メッセージ３２５を返信用メッセージ生成部３０５に送る（ステップ１１０７）。
【００６９】
これらの処理の後で、ステップ１１１１にて委譲先の処理の状況を委譲先データベース３１１に反映する。これら一連の動作を行うことにより、他サービス処理部に処理を委譲した場合に、従来通りに応答を受信する処理と、本実施形態の特徴である、先に応答を受信する処理の両方が可能となる。
【００７０】
図１２は本実施形態の返信用メッセージ生成部３０５の処理手順を示すフローチャートである。ステップ１００５で返信用メッセージ生成部３０５の処理が開始されると、ステップ１２０１で返信用メッセージ生成部３０５は、ステップ１００２での判定結果を調べて、自サービス処理部でリクエストを処理したかどうか判定し、自サービス処理部でリクエストを処理した場合にはステップ１２０２へ進む。
【００７１】
ステップ１２０２で返信用メッセージ生成部３０５は、その実行結果を元にしてリクエストメッセージのヘッダ部と処理結果を含む応答メッセージ３２５を生成する。なお、自サービス処理部で処理をしなかった場合、すなわち他サービス処理部に処理を委譲した場合には、図１１に示した様に既にサービス委譲処理部３０４の働きによって応答メッセージ３２５は生成されている。
【００７２】
ステップ１２０３では、返信用メッセージ生成部３０５またはサービス委譲処理部３０４によって生成された応答メッセージ３２５中のヘッダ部を参照し、その中にリターン先情報ヘッダ５１１が残っているかどうかを調べる。リターン先情報ヘッダ５１１が残っている場合には、そのリターン先情報に従って応答埋め込みメッセージ３２３を送信しなければならない。この為、ステップ１２０４にて応答メッセージ３２５をボディ部に埋め込んだ応答埋め込みメッセージ３２３を生成し、ステップ１２０５では、この応答に関する応答メッセージ（通知）３２４を生成する。
【００７３】
一方、ステップ１２０３で調べた結果、返信用メッセージ生成部３０５またはサービス委譲処理部３０４によって生成された応答メッセージ３２５中のヘッダ部にリターン先情報ヘッダ５１１が残っていなければ、応答埋め込みメッセージ３２３を生成する必要はないので、そのまま返信用メッセージ生成部３０５の処理を終了する。
【００７４】
なお、上記実施形態では、委譲を行う様に提携した同業サービスネットワーク１０２を例に挙げて説明したが、委譲先データベース３１１に負荷情報を格納して負荷分散ネットワークに適用し、その負荷に応じて委譲先を決定する様にしても構わないものとする。
【００７５】
また本実施形態では、委譲先データベース３１１をテーブルで表現したが、委譲先データベース３１１の情報を単なるテキストファイルまたは別の形式で保持しても構わないものとする。更に本実施形態では、委譲先データベース３１１をＷｅｂサービス提供装置内に保持する様に表現したが、委譲先データベース３１１をＷｅｂサービス提供装置外に配置し、ネットワークで共有化するものとしても構わないものとする。
【００７６】
以上説明した様に本実施形態のＷｅｂサービス提供装置によれば、他のＷｅｂサービス提供装置から委譲された処理の結果をリターン先情報ヘッダで示される送信先へ応答するので、Ｗｅｂサービスを提供する為の処理を委譲した場合の応答を効率良く返すと共に不必要な通信資源の利用を削減することが可能である。
【図面の簡単な説明】
【００７７】
【図１】本実施形態のＷｅｂサービス提供システムの全体構成を示す図である。
【図２】本実施形態のクライアント側処理装置１０３からのリクエストメッセージ１２１を処理するまでのメッセージの流れを時間的に表すシーケンスの一例を示す図である。
【図３】本実施形態の委譲処理を行うＷｅｂサービス提供装置の概略構成を示す図である。
【図４】本実施形態のサービス委譲処理部３０４の構成を示す図である。
【図５】本実施形態のリクエストメッセージ（委譲）３２２の形式例を示す図である。
【図６】本実施形態のリターン先情報ヘッダ５１１の内容例を示す図である。
【図７】本実施形態の応答埋め込みメッセージ３２３の形式例を示す図である。
【図８】本実施形態の応答メッセージ（通知）３２４の形式例を示す図である。
【図９】本実施形態の委譲先データベース３１１のデータ形式の一例を示す図である。
【図１０】本実施形態のＷｅｂサービス提供装置３００の処理手順を示すフローチャートである。
【図１１】本実施形態のサービス委譲処理部３０４におけるサービス委譲処理の処理手順を示すフローチャートである。
【図１２】本実施形態の返信用メッセージ生成部３０５の処理手順を示すフローチャートである。
【符号の説明】
【００７８】
１０１…ネットワーク、１０２…同業サービスネットワーク、１０３…クライアント側処理装置、１０４〜１０８…Ｗｅｂサービス提供装置、１１１…サービス処理部Ａ、１１２…サービス処理部Ｂ、１１３…サービス処理部Ｃ、１１４…サービス処理部Ｄ、１１５…サービス処理部Ｅ、１１６…サービス処理部Ｆ、１１７…サービス処理部Ｇ、１２１〜１２４…リクエストメッセージ、１２５〜１２８…応答メッセージ、１２２〜１２４…リクエストメッセージ（委譲）、１２５…応答埋め込みメッセージ、１２６〜１２８…応答メッセージ（通知）、２０１…応答メッセージ、３００…Ｗｅｂサービス提供装置、３２１…リクエストメッセージ、３２２…リクエストメッセージ（委譲）、３２３…応答埋め込みメッセージ、３２４…応答メッセージ（通知）、３２５…応答メッセージ、３０１…サービス処理部、３０２…メッセージ受信解析部、３０３…サービス実行部、３０４…サービス委譲処理部、３０５…返信用メッセージ生成部、３０６…メッセージ送信部、３０７…メッセージ返信部、３１１…委譲先データベース、４０１…委譲先決定部、４０２…委譲メッセージ送信部、４０３…応答埋め込みメッセージ受信部、４０４…委譲メッセージ応答受信部、５０１…ヘッダ部、５０２…ボディ部、５１１…リターン先情報ヘッダ、５１２…その他のヘッダ、６０１…開始タグ、６０２…リターン先の情報、６０３…終了タグ、６１１…属性、６１２…種別属性、６１３…メッセージ識別子属性、７０１…ヘッダ部、７０２…ボディ部、７１１…リターン先情報ヘッダ、７１２…その他のヘッダ、７３１…ヘッダ部、７３２…ボディ部、７４１…リターン先情報ヘッダ、７４２…その他のヘッダ、８０１…ヘッダ部、８０２…ボディ部、８１１…リターン先情報ヘッダ、８１２…その他のヘッダ、９０１〜９０７…レコード、９１１…委譲先識別子、９１２…委譲先ＵＲＬ、９１３…委譲処理率、９１４…委譲依頼数、９１５…委譲処理数、９１６…登録日
【図１】
2005228229.tif 000003
【図２】
2005228229.tif 000004
【図３】
2005228229.tif 000005
【図４】
2005228229.tif 000006
【図５】
2005228229.tif 000007
【図６】
2005228229.tif 000008
【図７】
2005228229.tif 000009
【図８】
2005228229.tif 000010
【図９】
2005228229.tif 000011
【図１０】
2005228229.tif 000012
【図１１】
2005228229.tif 000013
【図１２】
2005228229.tif 000014