(57)【要約】【課題】レスポンス装置からの複数の応答情報をより適切に扱うことを目的とする。【解決手段】リクエスト装置から送信された識別情報が含まれるリクエスト情報を受信し、リクエスト情報を受信すると、リクエスト情報の複製を行い、複数のレスポンス装置のうちの送信先のレスポンス装置に、複製したリクエスト情報の複製情報を送信し、複製情報を受信したレスポンス装置から送信された識別情報が含まれる応答情報を記憶部に記憶し、記憶部に記憶した識別情報が含まれる応答情報を集約したリクエスト情報に対するレスポンス情報を生成し、レスポンス情報をリクエスト装置に送信することによって課題を解決する。【選択図】図８
2012256973.tif 000002
【特許請求の範囲】
【請求項１】
リクエスト装置と複数のレスポンス装置との間の情報の中継を行う情報処理装置であって、
前記リクエスト装置から送信された識別情報が含まれるリクエスト情報を受信する受信手段と、
前記受信手段でリクエスト情報が受信されると、前記リクエスト情報の複製を行う複製手段と、
前記複数のレスポンス装置のうちの送信先のレスポンス装置に、前記複製手段で複製された前記リクエスト情報の複製情報を送信する送信手段と、
前記複製情報を受信したレスポンス装置から送信された前記識別情報が含まれる応答情報を記憶部に記憶する記憶手段と、
前記記憶部に記憶された前記識別情報が含まれる応答情報を集約した前記リクエスト情報に対するレスポンス情報を生成する生成手段と、
前記レスポンス情報を前記リクエスト装置に送信するレスポンス情報送信手段と、を有することを特徴とする情報処理装置。
【請求項２】
前記生成手段は、前記記憶部に記憶された前記識別情報が含まれる応答情報から重複しない内容を抜き出して前記レスポンス情報を生成する請求項１記載の情報処理装置。
【請求項３】
前記複製手段は、前記リクエスト情報に含まれる複製数に応じて前記リクエスト情報の複製を行い、
前記送信手段は、前記複数のレスポンス装置の数と前記複製数とを比較し、前記複製数の方が少ないと判断した場合、前記複数のレスポンス装置に割り当てられている優先順位情報の高いものから前記複製数までのレスポンス装置を送信先のレスポンス装置として決定し、決定したレスポンス装置に前記複製情報を送信することを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
前記記憶部には、前記複数のレスポンス装置の各々に対応して平均応答時間情報が記憶され、
前記送信手段は、前記リクエスト情報に含まれる最大応答時間情報と前記平均応答時間情報とを比較し、前記平均応答時間情報が前記最大応答時間情報よりも小さいと判断したレスポンス装置を送信先のレスポンス装置として決定し、決定したレスポンス装置に前記複製情報を送信することを特徴とする請求項３記載の情報処理装置。
【請求項５】
リクエスト装置と複数のレスポンス装置との間の情報の中継を行う情報処理装置における通信方法であって、
受信手段が、前記リクエスト装置から送信された識別情報が含まれるリクエスト情報を受信する受信工程と、
複製手段が、前記受信手段でリクエスト情報が受信されると、前記リクエスト情報の複製を行う複製工程と、
送信手段が、前記複数のレスポンス装置のうちの送信先のレスポンス装置に、前記複製手段で複製された前記リクエスト情報の複製情報を送信する送信工程と、
記憶手段が、前記複製情報を受信したレスポンス装置から送信された前記識別情報が含まれる応答情報を記憶部に記憶する記憶工程と、
生成手段が、前記記憶部に記憶された前記識別情報が含まれる応答情報を集約した前記リクエスト情報に対するレスポンス情報を生成する生成工程と、
レスポンス情報送信手段が、前記レスポンス情報を前記リクエスト装置に送信するレスポンス情報送信工程と、を有することを特徴とする通信方法。
【請求項６】
リクエスト装置と複数のレスポンス装置との間の情報の中継を行うコンピュータを、
前記リクエスト装置から送信された識別情報が含まれるリクエスト情報を受信する受信手段と、
前記受信手段でリクエスト情報が受信されると、前記リクエスト情報の複製を行う複製手段と、
前記複数のレスポンス装置のうちの送信先のレスポンス装置に、前記複製手段で複製された前記リクエスト情報の複製情報を送信する送信手段と、
前記複製情報を受信したレスポンス装置から送信された前記識別情報が含まれる応答情報を記憶部に記憶する記憶手段と、
前記記憶部に記憶された前記識別情報が含まれる応答情報を集約した前記リクエスト情報に対するレスポンス情報を生成する生成手段と、
前記レスポンス情報を前記リクエスト装置に送信するレスポンス情報送信手段として機能させるプログラム。
【請求項７】
リクエスト装置と、複数のレスポンス装置と、前記リクエスト装置および前記複数のレスポンス装置の間の情報の中継を行う情報処理装置と、を有する通信システムであって、
前記リクエスト装置は、識別情報が含まれるリクエスト情報を前記情報処理装置に送信し、
前記情報処理装置は、
前記リクエスト装置から送信された識別情報が含まれるリクエスト情報を受信する受信手段と、
前記受信手段でリクエスト情報が受信されると、前記リクエスト情報の複製を行う複製手段と、
前記複数のレスポンス装置のうちの送信先のレスポンス装置に、前記複製手段で複製された前記リクエスト情報の複製情報を送信する送信手段と、
前記複製情報を受信したレスポンス装置から送信された前記識別情報が含まれる応答情報を記憶部に記憶する記憶手段と、
前記記憶部に記憶された前記識別情報が含まれる応答情報を集約した前記リクエスト情報に対するレスポンス情報を生成する生成手段と、
前記レスポンス情報を前記リクエスト装置に送信するレスポンス情報送信手段と、を有し、
前記複数のレスポンス装置は、前記送信手段から送信された前記複製情報を受信し、前記識別情報が含まれる応答情報を前記情報処理装置に送信することを特徴とする通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、通信方法、プログラム、及び通信システムに関する。
【背景技術】
【０００２】
１つの識別子が指定されると複数の宛先にメッセージを送信するプロトコル（例えば、ＸＭＰＰ（eXtensible Messaging and Presence Protocol））がある（非特許文献１）。また、ＸＭＰＰを用いて、リクエスト装置が通信装置にリクエストメッセージを送信し、レスポンス装置からのレスポンスメッセージを通信装置を介してリクエスト装置が受信するシステムが実現されている。
より詳細に説明すると、リクエスト装置が、通信装置にリクエストメッセージを送信する。このリクエストメッセージを受信した通信装置は、識別子に対応する複数の宛先についてメッセージを複製し、それらの宛先に複製したメッセージを送信する。リクエストメッセージを受信したレスポンス装置は、リクエストメッセージに対する返答であるレスポンスメッセージを通信装置を介してリクエスト装置に送信する。
ここで、通信装置によってリクエストメッセージが複製されているので、リクエスト装置は、実際にいくつのレスポンス装置が受信したのかを知ることができなかった。即ち、リクエスト装置は、不定の数のレスポンスメッセージを受け取らなければならず、いくつレスポンスメッセージを受信すれば終了であるかがわからなかった。また、返答までの時間が規定されておらず、複数のレスポンスメッセージを受信する場合、リクエスト装置は、レスポンスメッセージを待ち続けてしまっていた。
また、リクエスト装置は、返答までの時間を決めると、返答までの時間に受信できなかったレスポンスメッセージを破棄することになる。通信装置は、実際には受信されないレスポンスメッセージを中継するために、計算機資源、ネットワーク資源などが利用されるので、効率的な処理および通信ができなかった。
【０００３】
ここで、メッセージを１つに集約する技術が提案されている（特許文献１参照）。通信装置は、メッセージをマスターとスレーブとに送信し、マスターから応答がある場合、マスターの応答を選択していた。また、通信装置は、メッセージを複数の処理装置に送信し、複数の処理装置の応答を多数決によって選択していた。特許文献１では、通信装置は、メッセージを処理装置に送信し、マスターの応答が正常値であるか否かの判断を行い、マスターの応答が正常値でない場合、多数決で応答を選択する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−３１６７８７号公報
【非特許文献】
【０００５】
【非特許文献１】Extensible Messaging and Presence Protocol (XMPP): Core  RFC3920
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の技術では、レスポンス装置から複数の応答があった場合、通信装置は、どれか１つを選択し、リクエスト装置に送信していた。そのため、リクエスト装置は、レスポンス装置から複数の異なる応答を取得できなかった。
また、通信装置は、リクエスト装置の要求（返答までの待ち時間など）がわからないため、無駄なメッセージを送信し、計算機資源、ネットワーク資源などを有効に利用できなかった。
【０００７】
本発明はこのような問題点に鑑みなされたもので、レスポンス装置からの複数の応答情報をより適切に扱うことを目的とする。
【課題を解決するための手段】
【０００８】
そこで、本発明に係る情報処理装置は、リクエスト装置と複数のレスポンス装置との間の情報の中継を行う情報処理装置であって、前記リクエスト装置から送信された識別情報が含まれるリクエスト情報を受信する受信手段と、前記受信手段でリクエスト情報が受信されると、前記リクエスト情報の複製を行う複製手段と、前記複数のレスポンス装置のうちの送信先のレスポンス装置に、前記複製手段で複製された前記リクエスト情報の複製情報を送信する送信手段と、前記複製情報を受信したレスポンス装置から送信された前記識別情報が含まれる応答情報を記憶部に記憶する記憶手段と、前記記憶部に記憶された前記識別情報が含まれる応答情報を集約した前記リクエスト情報に対するレスポンス情報を生成する生成手段と、前記レスポンス情報を前記リクエスト装置に送信するレスポンス情報送信手段と、を有することを特徴とする。
【０００９】
また、本発明は、通信方法、プログラム、通信システムなどとしてもよい。
【発明の効果】
【００１０】
本発明によれば、レスポンス装置からの複数の応答情報をより適切に扱うことができる。
【図面の簡単な説明】
【００１１】
【図１】ネットワークシステムの構成の一例を示す図である。
【図２】通信装置のモジュールの構成の一例を示す図である。
【図３】リクエストメッセージ受信処理に係るフローチャートの一例を示す図である。
【図４】パラメータの一例を示す図である。
【図５】平均レスポンス時間のリストの一例を示す図である。
【図６】パラメータの一例を示す図である。
【図７】レスポンスメッセージ受信処理に係るフローチャートの一例を示す図である。
【図８】ネットワークシステムに係るシーケンスの一例を示す図である。
【図９】確認処理に係るフローチャートの一例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態について図面に基づいて説明する。なお、実施形態は、本発明を限定するものではなく、また、実施形態で説明されている全ての構成が本発明の課題を解決するための手段に必須であるとは限らない。
【００１３】
図１は、本実施形態に係るネットワークシステムの構成の一例を示す図である。ネットワークシステムは、通信システムの一例であり、通信装置１０１、リクエスト装置１０２、及び複数のレスポンス装置１０３（１０３ａ、１０３ｂ、１０３ｃ）を含んで構成される。通信装置１０１、リクエスト装置１０２、及び複数のレスポンス装置１０３は、ネットワーク１００を介して通信可能に接続される。ネットワーク１００は、インターネット、ＷＡＮ（Wide Area Network）、ＬＡＮ（Local Area Network）、これらの複合などである。
通信装置１０１は、ネットワーク１００に接続された装置間のメッセージ交換（メッセージの中継）を行うことが可能な情報処理装置（コンピュータ）の一例である。通信装置１０１は、リクエスト装置１０２から送信されるリクエストメッセージの複製、および、複数のレスポンス装置１０３から送信されるレスポンスメッセージの集約を実行する。
より具体的には、通信装置１０１は、リクエスト装置１０２から受信したリクエストメッセージ（リクエスト情報の一例）に応じてリクエストメッセージを複製し、複製したリクエストメッセージ（複製情報の一例）をレスポンス装置１０３に送信する。また、通信装置１０１は、複数のレスポンス装置１０３から、複製したリクエストメッセージに対応するレスポンスメッセージ（応答情報の一例）を受信する。また、通信装置１０１は、複数のレスポンスメッセージを集約し、集約したレスポンスメッセージ（レスポンス情報の一例）をリクエスト装置１０２に送信（レスポンス情報送信）する。
【００１４】
リクエスト装置１０２は、レスポンス装置１０３へのリクエストを含むリクエストメッセージを通信装置１０１に送信し、通信装置１０１からレスポンスメッセージを受信する。
レスポンス装置１０３は、通信装置１０１からリクエストメッセージを受信し、リクエストメッセージに応じた処理を行い、リクエスト装置１０２へのレスポンスを含むレスポンスメッセージを通信装置１０１に送信する。本実施形態では、３つのレスポンス装置１０３（１０３ａ、１０３ｂ、１０３ｃ）を例に挙げて説明する。
【００１５】
図２は、通信装置１０１のモジュールの構成の一例を示す図である。通信装置１０１は、モジュール（２０１〜２１１）を有し、各モジュールは、バス２００を介して接続され、通信装置１０１の機能、後述のフローチャートの処理を実現する。本実施形態では、各モジュールは、通信装置１０１のＣＰＵがＲＯＭ、ハードディスク等に記憶されたプログラムをＲＡＭに読み出して実行することにより実現されるものとして説明する。なお、通信装置１０１の機能、後述のフローチャートの処理の全部または一部を専用のハードウェアを用いて実現してもよい。
リクエストメッセージ送信部２０１は、レスポンス装置１０３にリクエストメッセージを送信する。リクエストメッセージ受信部２０２は、リクエスト装置１０２から送信されたリクエストメッセージを受信する。レスポンスメッセージ送信部２０３は、リクエスト装置１０２にレスポンスメッセージを送信する。レスポンスメッセージ受信部２０４は、レスポンス装置１０３から送信されたレスポンスメッセージを受信する。
【００１６】
パラメータ保存部２０５は、リクエストメッセージの内容に応じて決定されたパラメータと、経過時間、レスポンスメッセージの受信状況などのリストとを保存する。メッセージ解析部２０６は、リクエスト装置１０２から送信されたリクエストメッセージ、および、レスポンス装置１０３から送信されたレスポンスメッセージを解析する。レスポンス時間判断部２０７は、レスポンス装置１０３のレスポンス時間と、パラメータに含まれる最大待ち時間とを比較する。
リクエストメッセージ送信抑制部２０８は、レスポンス装置１０３にリクエストメッセージを送信する際、リクエストメッセージの送信を抑制する。レスポンスメッセージ集約部２０９は、レスポンス装置１０３からレスポンスメッセージを受信する際、レスポンスメッセージを集約する。ＸＭＰＰ処理部２１０は、ＸＭＰＰに係る処理を行う。ＴＣＰ／ＩＰ制御部２１１は、ネットワーク１００に接続し、パケットの通信処理を行う。
【００１７】
図３は、通信装置１０１がリクエスト装置１０２からリクエストメッセージを受信したときの処理（リクエストメッセージ受信処理）に係るフローチャートの一例を示す図である。
Ｓ３０１では、リクエストメッセージ受信部２０２は、ＴＣＰ／ＩＰ制御部２１１およびＸＭＰＰ処理部２１０を通じて、リクエスト装置１０２から送信されたリクエストメッセージを受信し、Ｓ３０２に処理を進める。
Ｓ３０２では、メッセージ解析部２０６は、受信したリクエストメッセージの解析を行う。より具体的には、メッセージ解析部２０６は、リクエストメッセージにパラメータが含まれているか否かを判断する。メッセージ解析部２０６は、リクエストメッセージにパラメータが含まれていると判断した場合、Ｓ３０３に処理を進める。他方、メッセージ解析部２０６は、リクエストメッセージにパラメータが含まれていないと判断した場合、Ｓ３１０に処理を進める。
【００１８】
本実施形態では、リクエストメッセージにパラメータが含まれているか否かで判断を行う構成であるが、この構成に限られるものではなく、リクエストメッセージの内容からパラメータを決定する構成としてもよい。
例えば、メッセージ解析部２０６は、リクエストメッセージの内容がデバイスの探索である場合、レスポンスメッセージのうち、非正常の応答、および、重複する応答を削除して結合する集約方法のパラメータを生成する。また、例えば、メッセージ解析部２０６は、リクエストメッセージの内容がデバイスからのコンテンツの取得である場合、最初に受信した応答を、レスポンスメッセージとして応答する集約方法のパラメータを生成する。
このように、リクエストメッセージの内容から集約方法を変更するパラメータを生成する構成を採用してもよい。なお、メッセージ解析部２０６は、パラメータを生成できたと判断した場合、Ｓ３０３に処理を進め、パラメータを生成できなかったと判断した場合、Ｓ３１０に処理を進める。
【００１９】
図４は、通信装置１０１がリクエストメッセージから取得したパラメータ（パラメータリスト）の一例を示す図である。パラメータには、複数の項目、より具体的には集約モード、複製許可、メッセージ複製最大数、最大待ち時間の項目の情報が含まれている。集約モードのフラグ（許可／禁止）は、レスポンスメッセージを集約するか否かを示す。複製許可のフラグ（許可／禁止）は、リクエストメッセージの複製を許可するか否かを示す。メッセージ複製最大数の値（「１０」など）は、リクエストメッセージを複製する際の最大数（複製数の一例）を示す。最大待ち時間の値（「１００」など）は、レスポンスメッセージをどのくらい待つかを示す。
このパラメータは、パラメータ保存部２０５で保存される。なお、パラメータ保存部２０５は、ハードディスク等の記憶部により実現できる。
【００２０】
Ｓ３０３では、リクエストメッセージ送信抑制部２０８は、パラメータに含まれる複製許可のフラグを参照し、リクエストメッセージを複製するか否かを決定する。リクエストメッセージ送信抑制部２０８は、リクエストメッセージを複製すると決定した場合、Ｓ３０４に処理を進める。他方、リクエストメッセージ送信抑制部２０８は、リクエストメッセージを複製しないと決定した場合、Ｓ３１１に処理を進める。
Ｓ３０４では、リクエストメッセージ送信抑制部２０８は、パラメータからメッセージ複製最大数を取得し、Ｓ３０５に処理を進める。Ｓ３０５では、リクエストメッセージ送信抑制部２０８は、リクエストメッセージに含まれる送信先の識別子でログインしているノード数をＸＭＰＰ処理部２１０から取得し、Ｓ３０６に処理を進める。
【００２１】
Ｓ３０６では、リクエストメッセージ送信抑制部２０８は、メッセージ複製最大数とログインしているノード数との比較を行う。リクエストメッセージ送信抑制部２０８は、メッセージ複製最大数の方が多いと判断した場合、Ｓ３０７に処理を進める。他方、リクエストメッセージ送信抑制部２０８は、ログインしているノード数の方が多いと判断した場合、Ｓ３０９に処理を進める。
Ｓ３０７では、まず、リクエストメッセージ送信抑制部２０８は、ログインしているノード全てに対してリクエストメッセージの複製を行う。そして、リクエストメッセージ送信部２０１は、複製されたリクエストメッセージをログインしているノード全てに送信し、Ｓ３０８に処理を進める。
【００２２】
Ｓ３０８では、リクエストメッセージ送信抑制部２０８は、リクエストメッセージに含まれるメッセージ識別子（ＸＭＰＰのＩＱである場合、ＰａｃｋｅｔＩＤ）とパラメータとを関連付け、パラメータ保存部２０５に保存し、処理を終了する。メッセージ識別子とパラメータとの関連付けについては図６を用いて後述する。なお、メッセージ識別子は、リクエストメッセージを識別可能な識別情報の一例である。
Ｓ３０９では、まず、リクエストメッセージ送信抑制部２０８は、ＸＭＰＰ処理部２１０に含まれるＸＭＰＰのプライオリティの高いものから順にメッセージ数分だけ複製を行う。なお、プライオリティは、ＸＭＰＰ処理部２１０で管理される優先順位情報の一例である。そして、リクエストメッセージ送信部２０１は、プライオリティの高いものから順にメッセージ数分だけのレスポンス装置１０３を決定し、決定したレスポンス装置１０３に、複製されたリクエストメッセージを送信し、Ｓ３０８に処理を進める。
【００２３】
Ｓ３１０では、メッセージ解析部２０６は、サーバに予め設定されたポリシを取得し、取得したポリシに従ってパラメータを決定し、Ｓ３０３に処理を進める。なお、サーバについては図示を省略しているが、ネットワーク１００などを介して通信装置１０１と通信可能に接続されている。
Ｓ３１１では、リクエストメッセージ送信抑制部２０８は、ＸＭＰＰ処理部２１０に含まれるＸＭＰＰのプライオリティの最も高いレスポンス装置１０３を決定する。リクエストメッセージ送信部２０１は、決定したレスポンス装置１０３にリクエストメッセージを送信し、Ｓ３０８に処理を進める。
【００２４】
Ｓ３０９およびＳ３１１では、ＸＭＰＰのプライオリティに応じて送信を行ったが、この構成に限られるものではない。例えば、リクエストメッセージ送信抑制部２０８は、レスポンス時間に応じて送信を行ってもよい。
図５は、レスポンス装置１０３がリクエストメッセージを受信してからレスポンスメッセージを送信するのにかかる時間を示した平均レスポンス時間のリストの一例を示す図である。なお、図５に示す情報は、記憶部に記憶されている。
パラメータに含まれる最大待ち時間（最大応答時間情報）が平均レスポンス時間（平均応答時間情報）よりも小さい場合、リクエストメッセージ送信抑制部２０８は、該当するレスポンス装置１０３（ここではレスポンス装置１０３ｃ）に送信しないことを決定する。平均レスポンス時間については、リクエストメッセージに対するレスポンスメッセージの過去ログを取ることで計算することができる。
なお、定期的に平均レスポンス時間を測定するためのパケットを通信装置１０１がレスポンス装置１０３に送信することにより取得する構成としてもよい。
【００２５】
図６は、通信装置１０１が保持する（パラメータ保存部２０５で保存されている）、リクエストメッセージ（メッセージ識別子）に関連付けられたパラメータの一例を示す図である。図６（Ａ）および図６（Ｂ）では、通信装置１０１がリクエストメッセージをレスポンス装置１０３に送信してから２０秒経過したときのパラメータの例を示す。
経過時間は、通信装置１０１がレスポンス装置１０３にリクエストメッセージを送信してからの経過時間である。経過時間は、パラメータ保存部２０５によって時間毎に更新される。メッセージ複製数は、通信装置１０１が送信したリクエストメッセージの総数である。パラメータは、登録されたメッセージ識別子毎にあり、パラメータ保存部２０５は、複数のメッセージ識別子のパラメータを保持できる。
図６（Ｂ）では、通信装置１０１が、レスポンス装置１０３ａおよびレスポンス装置１０３ｂからレスポンスメッセージを受信していることが示されている。また、通信装置１０１が、レスポンス装置１０３ｃからのレスポンスメッセージは受信していないことが示されている。図６（Ａ）、（Ｂ）からは、最大待ち時間が１００秒に設定されており、経過時間が２０秒であるため、レスポンス装置１０３ｃのレスポンスメッセージを待つ状態であることがわかる。なお、通信装置１０１が受信したレスポンスメッセージは、図６（Ｂ）のレスポンス装置１０３のエントリに関連付けて保持される。
【００２６】
図７は、通信装置１０１がレスポンスメッセージを受信したときの処理（レスポンスメッセージ受信処理）に係るフローチャートの一例を示す図である。
Ｓ７０１では、レスポンスメッセージ受信部２０４は、ＴＣＰ／ＩＰ制御部２１１およびＸＭＰＰ処理部２１０を介して、レスポンス装置１０３からレスポンスメッセージを受信する。より具体的には、メッセージ解析部２０６は、パラメータ保存部２０５に保存されているパラメータ（図６を参照のこと。）に含まれるメッセージ識別子（ＰａｃｋｅｔＩＤ）とレスポンスメッセージに含まれるメッセージ識別子（ＰａｃｋｅｔＩＤ）とを比較する。
メッセージ解析部２０６は、パラメータに含まれるメッセージ識別子とレスポンスメッセージに含まれるメッセージ識別子とが同じであると判断した場合、Ｓ７０２に処理を進める。他方、メッセージ解析部２０６は、パケットに含まれるメッセージ識別子とレスポンスメッセージに含まれるメッセージ識別子とが異なると判断した場合、Ｓ７０８に処理を進める。
【００２７】
Ｓ７０２では、メッセージ解析部２０６は、Ｓ７０１で同じであると判断したパラメータに含まれる集約モードのフラグを確認する。メッセージ解析部２０６は、集約モードが許可であると判断した場合、Ｓ７０３に処理を進める。他方、メッセージ解析部２０６は、集約モードが禁止であると判断した場合、Ｓ７０８に処理を進める。
Ｓ７０３では、メッセージ解析部２０６は、メッセージが全て揃ったか（図６（Ｂ）のレスポンスの項目が全て「受信済み」であるか）の確認を行う。メッセージ解析部２０６は、メッセージが全て揃ったと判断した場合、Ｓ７０４に処理を進める。他方、メッセージ解析部２０６は、メッセージが一部でも揃っていないと判断した場合、処理を終了する。
【００２８】
Ｓ７０４では、レスポンスメッセージ集約部２０９は、レスポンス装置１０３から受信したレスポンスメッセージの内容が同じであるかを確認する。レスポンスメッセージ集約部２０９は、同じであると判断した場合、Ｓ７０５に処理を進める。他方、レスポンスメッセージ集約部２０９は、同じでないと判断した場合、Ｓ７０７に処理を進める。
Ｓ７０５では、レスポンスメッセージ集約部２０９は、プライオリティの最も高いレスポンス装置１０３のメッセージを残し、それ以外を削除し、Ｓ７０６に処理を進める。ここでのプライオリティとしては、ＸＭＰＰで用いられているプライオリティを用いる。
【００２９】
Ｓ７０６では、レスポンスメッセージ送信部２０３は、リクエスト装置１０２にレスポンスメッセージを送信する。パラメータ保存部２０５は、送信されたレスポンスメッセージに係るパラメータを削除し、処理を終了する。なお、パラメータ保存部２０５は、レスポンスメッセージが全て受信されたとき、または所定の時間が経過したときに、送信されたレスポンスメッセージに係るパラメータを削除する。
Ｓ７０７では、レスポンスメッセージ集約部２０９は、レスポンス装置１０３から受信したレスポンスメッセージの内容（ヘッダ以外のボディ部分）を抜き出す。レスポンスメッセージ集約部２０９は、抜き出した内容を１つのレスポンスメッセージに集約する。レスポンスメッセージの内容（ヘッダ以外のボディ部分）を連結させ、最もプライオリティの高いレスポンス装置１０３のヘッダを付与する処理（レスポンスメッセージの集約）を実行し、Ｓ７０６に処理を進める。
Ｓ７０８では、レスポンスメッセージ送信部２０３は、リクエスト装置１０２にレスポンスメッセージを送信し、処理を終了する。
【００３０】
図８は、ネットワークシステムに係るシーケンスの一例を示す図である。Ｍ８０１では、リクエスト装置１０２は、通信装置１０１にリクエストメッセージを送信する。
Ｍ８０２では、通信装置１０１は、リクエストメッセージの複製を行う（図３の処理に対応する）。Ｍ８０３では、通信装置１０１は、リクエストメッセージをレスポンス装置１０３ａに送信する。Ｍ８０４では、通信装置１０１は、リクエストメッセージをレスポンス装置１０３ｂに送信する。Ｍ８０５では、通信装置１０１は、リクエストメッセージをレスポンス装置１０３ｃに送信する。
【００３１】
Ｍ８０６では、レスポンス装置１０３ａは、レスポンスメッセージを通信装置１０１に送信する。Ｍ８０７では、レスポンス装置１０３ｂは、レスポンスメッセージを通信装置１０１に送信する。Ｍ８０８では、レスポンス装置１０３ｃは、レスポンスメッセージを通信装置１０１に送信する。
Ｍ８０９では、通信装置１０１は、レスポンス装置１０３ａ〜１０３ｃから受信したレスポンスメッセージの集約を行う（図７の処理に対応する）。Ｍ８１０では、通信装置１０１は、リクエスト装置１０２にレスポンスメッセージを送信する。
【００３２】
図９は、通信装置１０１が待ち時間を確認する処理（確認処理）に係るフローチャートの一例を示す図である。通信装置１０１は、一定時間毎に待ち時間の確認処理を実行する。なお、図７のフローチャートの処理と同じ処理については同一の符号を用いてその説明を省略する。
Ｓ９０１では、レスポンス時間判断部２０７は、パラメータ保存部２０５に保存されたパラメータを参照し、最大待ち時間と経過時間との確認を行う。レスポンス時間判断部２０７は、経過時間が最大待ち時間を超えたと判断した場合、リクエストメッセージを受信していないレスポンス装置１０３のエントリを消去し、Ｓ７０４に処理を進める。他方、レスポンス時間判断部２０７は、経過時間が最大待ち時間を超えていないと判断した場合、処理を終了する。
【００３３】
ここで、最大待ち時間が過ぎた後、レスポンスメッセージを受信することが考えられる。このとき、通信装置１０１がエントリを持っていないと、受信した時間切れのレスポンスメッセージをリクエスト装置１０２に転送することになる。
これに対処するために、通信装置１０１は、エントリを最大待ち時間より長い時間（例えば最大待ち時間の２倍の時間）保持する。エントリに最大待ち時間が経過したことを示す情報を追加することで、通信装置１０１は、遅れてくるレスポンスメッセージをリクエスト装置１０２に送信しないことができるようになる。
【００３４】
上述した構成によれば、リクエスト装置は、リクエストメッセージを送信するだけで、所望の形式に集約されたレスポンスメッセージを受信できるようになる。これにより、リクエスト装置は、レスポンス装置から複数の異なる応答を取得できる。また、上述した構成によれば、リクエスト装置は、複数のレスポンスメッセージを待ち続ける必要がなくなり、レスポンスメッセージを待ち続ける事態を回避できる。
また、上述した構成によれば、リクエスト装置の要求（リクエストメッセージ）に応じてレスポンスメッセージが適切に送信されるので、計算機資源、ネットワーク資源などを有効に利用することができる。
【００３５】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００３６】
上述した実施形態の構成によれば、レスポンス装置からの複数の応答情報をより適切に扱うことができる。
【００３７】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００３８】
１０１  通信装置、１０２  リクエスト装置、１０３ａ  レスポンス装置、１０３ｂ  レスポンス装置、１０３ｃ  レスポンス装置
【図１】
2012256973.tif 000003
【図２】
2012256973.tif 000004
【図３】
2012256973.tif 000005
【図４】
2012256973.tif 000006
【図５】
2012256973.tif 000007
【図６】
2012256973.tif 000008
【図７】
2012256973.tif 000009
【図８】
2012256973.tif 000010
【図９】
2012256973.tif 000011