(57)【要約】【課題】  柔軟性の高い情報集約が可能な通信システム、通信中継装置及び通信中継方法を提供する。【解決手段】  末端ルータ１０６は、エンドユーザ装置１０８からの情報を集約情報受信装置１０２からの情報検査手順に従って検査し、更に、集約情報受信装置１０２からの情報検査手順に従って集約して、集約結果を中間ルータ１０４へ送信する。中間ルータ１０４は、末端ルータ１０６からの情報を集約情報受信装置１０２からの集約情報受信装置１０２からの情報検査手順に従って集約し、集約結果を集約情報受信装置１０２へ送信する。【選択図】  図２
2005072907.tif 000002
【特許請求の範囲】
【請求項１】
第１の通信装置と、複数の第２の通信装置と、前記第１及び第２の通信装置間の通信を中継する複数の通信中継装置とを有する通信システムにおいて、
前記第１の通信装置は、
情報集約手順を送信する情報集約手順送信手段を備え、
前記通信中継装置は、
前記第１の通信装置又は他の通信中継装置からの情報集約手順を受信する情報集約手順受信手段と、
前記第２の通信装置からの集約対象の情報及び他の通信中継装置からの情報集約の結果の少なくとも何れかを受信する情報受信手段と、
前記情報受信手段により受信された集約対象の情報及び情報集約結果の少なくとも何れかを、前記情報集約手順受信手段によって受信された情報集約手順に従って集約する情報集約手段と、
前記情報集約手段による情報集約の結果を前記第１の通信装置又は他の通信中継装置へ送信する情報集約結果送信手段と、
を備え、
前記第１の通信装置は、
前記情報集約の結果を受信する情報集約結果受信手段を備える通信システム。
【請求項２】
第１の通信装置と複数の第２の通信装置との間の通信を中継する通信中継装置において、
前記第１の通信装置又は他の通信中継装置からの情報集約手順を受信する情報集約手順受信手段と、
前記第２の通信装置からの集約対象の情報及び他の通信中継装置からの情報集約の結果の少なくとも何れかを受信する情報受信手段と、
前記情報受信手段により受信された集約対象の情報及び情報集約結果の少なくとも何れかを、前記情報集約手順受信手段によって受信された情報集約手順に従って集約する情報集約手段と、
前記情報集約手段による情報集約の結果を前記第１の通信装置又は他の通信中継装置へ送信する情報集約結果送信手段と、
を備える通信中継装置。
【請求項３】
請求項２に記載の通信中継装置において、
前記第１の通信装置又は他の通信中継装置からの情報検査手順を受信する情報検査手順受信手段と、
前記情報受信手段により受信された集約対象の情報を、前記情報検査手順に従って検査する情報検査手段と、
を備え、
前記情報集約手段は、前記情報検査手段により検査された集約対象の情報を集約する通信中継装置。
【請求項４】
請求項３に記載の通信中継装置において、
前記情報検査手段は、前記第２の通信装置へ至る通信経路上に他の通信中継装置が存在しない場合に、前記集約対象の情報を、前記情報検査手順に従って検査する通信中継装置。
【請求項５】
第１の通信装置と複数の第２の通信装置との間の通信を中継する通信中継装置における通信中継方法において、
前記第１の通信装置又は他の通信中継装置からの情報集約手順を受信し、
前記第２の通信装置からの集約対象の情報及び他の通信中継装置からの情報集約の結果の少なくとも何れかを受信し、
前記集約対象の情報及び情報集約結果の少なくとも何れかを、前記情報集約手順に従って集約し、
前記情報集約の結果を前記第１の通信装置又は他の通信中継装置へ送信する通信中継方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信中継装置を介して通信装置間で通信が行われる通信システム、該通信システムを構成する通信中継装置、及び、該通信システムにおける通信中継方法に関する。
【背景技術】
【０００２】
インターネット技術の標準化を推進する団体であるＩＥＴＦ（Internet Engineering Task Force）における信頼性マルチキャストグループであるＲＭＴ（Reliable
Multicast Transport）は、ＴＲＡＣＫと称されるプロトコルを検討している（例えば、非特許文献１）。このＴＲＡＣＫプロトコルは、単純な情報集約機能を有している。
【０００３】
図１は、ＴＲＡＣＫプロトコルが適用される従来の通信システムの構成例を示す図である。同図に示す通信システム５００は、集約情報受信装置５０２、マルチキャストルータ５０４−１及び５０４−２（以下、これらマルチキャストルータ５０４−１及び５０４−２をまとめて、適宜「マルチキャストルータ５０４」と称する）、エンドユーザ装置５０６−１、５０６−２及び５０６−３（以下、これらエンドユーザ装置５０６−１、５０６−２及び５０６−３をまとめて、適宜「エンドユーザ装置５０６」と称する）を備える。
【０００４】
ＴＲＡＣＫプロトコルでは、別に規定されるＴｒｅｅ  Ａｕｔｏ−Ｃｏｎｆｉｇｕｒａｔｉｏｎを用いて、集約情報受信装置５０２からマルチキャストルータ５０４を経由して複数のエンドユーザの装置５０６までの通信経路に対応する階層構造を有する木が生成される。
【０００５】
マルチキャストルータ５０４は、自身に接続されている下位のエンドユーザ装置５０６からのＴＲＡＣＫパケットを、直接に又は下位の他のマルチキャストルータ５０４を介して受信する。そして、マルチキャストルータ５０４は、ＴＲＡＣＫパケットに含まれる情報の集約を行い、集約された情報を含んだＴＲＡＣＫパケットを上位の集約情報受信装置５０２やマルチキャストルータ５０４へ送信する。これにより、ネットワークにおけるトラヒックを減少させるとともに、集約情報受信装置５０２の処理負担を軽減させることができる。
【０００６】
ＴＲＡＣＫパケットには、例えば、エンドユーザ装置５０６における通信のロス率、ユニキャストコスト、マルチキャストコスト等が含まれている。マルチキャストルータ５０４は、ＴＲＡＣＫパケットにエンドユーザ装置５０６における通信のロス率が含まれている場合には、下位の全てのエンドユーザ装置５０６における通信のロス率のうちの最大値を集約情報として生成する。また、マルチキャストルータ５０４は、ＴＲＡＣＫパケットにエンドユーザ装置５０６におけるユニキャストコストやマルチキャストコストが含まれている場合には、下位の全てのエンドユーザ装置５０６におけるユニキャストコストやマルチキャストコストの合計値を集約情報として生成する。
【０００７】
また、ＴＲＡＣＫパケットには、数値とともに情報集約手順が含ませることもできる。この場合、マルチキャストルータ５０４は、エンドユーザ装置５０６からのＴＲＡＣＫパケットに含まれる情報集約手法に従って、数値の計算処理を行うことにより、情報を集約する。
【非特許文献１】［online］［平成１５年８月１８日検索］、インターネット＜ＵＲＬ：http://info.isl.ntt.co.jp/rmtp/index-j.html＞
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述した従来のＴＲＡＣＫプロトコルでは、マルチキャストルータ５０４は、予め規定されている単純な情報集約を行うのみであり、情報を収集する者の要求に応じて、柔軟性の高い情報集約を行うことができなかった。
【０００９】
本発明は、上述した問題を解決するものであり、柔軟性の高い情報集約が可能な通信システム、通信中継装置及び通信中継方法を提供することを課題とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決するために、本発明は請求項１に記載されるように、第１の通信装置と、複数の第２の通信装置と、前記第１及び第２の通信装置間の通信を中継する複数の通信中継装置とを有する通信システムにおいて、前記第１の通信装置は、情報集約手順を送信する情報集約手順送信手段を備え、前記通信中継装置は、前記第１の通信装置又は他の通信中継装置からの情報集約手順を受信する情報集約手順受信手段と、前記第２の通信装置からの集約対象の情報及び他の通信中継装置からの情報集約の結果の少なくとも何れかを受信する情報受信手段と、前記情報受信手段により受信された集約対象の情報及び情報集約結果の少なくとも何れかを、前記情報集約手順受信手段によって受信された情報集約手順に従って集約する情報集約手段と、前記情報集約手段による情報集約の結果を前記第１の通信装置又は他の通信中継装置へ送信する情報集約結果送信手段とを備え、前記第１の通信装置は、前記情報集約の結果を受信する情報集約結果受信手段を備える。
【００１１】
また、本発明は請求項２に記載されるように、第１の通信装置と複数の第２の通信装置との間の通信を中継する通信中継装置において、前記第１の通信装置又は他の通信中継装置からの情報集約手順を受信する情報集約手順受信手段と、前記第２の通信装置からの集約対象の情報及び他の通信中継装置からの情報集約の結果の少なくとも何れかを受信する情報受信手段と、前記情報受信手段により受信された集約対象の情報及び情報集約結果の少なくとも何れかを、前記情報集約手順受信手段によって受信された情報集約手順に従って集約する情報集約手段と、前記情報集約手段による情報集約の結果を前記第１の通信装置又は他の通信中継装置へ送信する情報集約結果送信手段とを備える。
【００１２】
また、本発明は請求項３に記載されるように、請求項２に記載の通信中継装置において、前記第１の通信装置又は他の通信中継装置からの情報検査手順を受信する情報検査手順受信手段と、前記情報受信手段により受信された集約対象の情報を、前記情報検査手順に従って検査する情報検査手段とを備え、前記情報集約手段は、前記情報検査手段により検査された集約対象の情報を集約する。
【００１３】
また、本発明は請求項４に記載されるように、請求項３に記載の通信中継装置において、前記情報検査手段は、前記第２の通信装置へ至る通信経路上に他の通信中継装置が存在しない場合に、前記集約対象の情報を、前記情報検査手順に従って検査する。
【００１４】
また、本発明は請求項５に記載されるように、第１の通信装置と複数の第２の通信装置との間の通信を中継する通信中継装置における通信中継方法において、前記第１の通信装置又は他の通信中継装置からの情報集約手順を受信し、前記第２の通信装置からの集約対象の情報及び他の通信中継装置からの情報集約の結果の少なくとも何れかを受信し、前記集約対象の情報及び情報集約結果の少なくとも何れかを、前記情報集約手順に従って集約し、前記情報集約の結果を前記第１の通信装置又は他の通信中継装置へ送信する。
【００１５】
本発明では、通信中継装置は、第１の通信装置又は他の通信中継装置からの情報集約手順に従って、第２の通信装置からの集約対象の情報及び他の通信中継装置からの情報集約の結果の少なくとも何れかを集約する。このため、第１の通信装置の利用者の要求に応じた柔軟性の高い情報集約を行うことが可能となる。
【発明の効果】
【００１６】
本発明によれば、柔軟性の高い情報集約が可能となる。
【発明を実施するための最良の形態】
【００１７】
以下、図面を参照しながら本発明の実施するための最良の形態を説明する。
【００１８】
図２は、本実施形態に係る通信システムの構成例を示す図である。同図に示す通信システム１００は、集約情報受信装置１０２、中間ルータ１０４−１及び１０４−２（以下、これら中間ルータ１０４−１及び１０４−２をまとめて、適宜「中間ルータ１０４」と称する）、末端ルータ１０６−１乃至１０６−３（以下、これら末端ルータ１０６−１乃至１０６−３をまとめて、適宜「末端ルータ１０６」と称する）、エンドユーザ装置１０８−１乃至１０８−７（以下、これらエンドユーザ装置１０８−１乃至１０８−７をまとめて、適宜「エンドユーザ装置１０８」と称する）を備える。
【００１９】
通信システム１００において、集約情報受信装置１０２とエンドユーザ装置１０８とを接続するルータは、中間ルータ１０４と末端ルータ１０６とに分類される。末端ルータ１０６は、エンドユーザ装置１０８と直接に接続されているルータである。一方、中間ルータ１０４は、末端ルータ１０６以外のルータであり、集約情報受信装置１０２からエンドユーザ装置１０８へ至る通信経路上において末端ルータ１０６の上位に属するルータである。
【００２０】
また、通信システム１００において、エンドユーザ装置１０８−１及び１０８−２は末端ルータ１０６−１に接続され、エンドユーザ装置１０８−３乃至１０８−５は末端ルータ１０６−２に接続され、エンドユーザ装置１０８−６及び１０８−７は末端ルータ１０６−３に接続される。更に、末端ルータ１０６−１は中間ルータ１０４−１に接続され、末端ルータ１０６−２及び１０６−３は中間ルータ１０４−２に接続される。また、中間ルータ１０４−２は中間ルータ１０４−１に接続され、この中間ルータ１０４−１は集約情報受信装置１０２に接続される。
【００２１】
集約情報受信装置１０２は、送受信部１２２を備える。また、中間ルータ１０４は、送受信部１４２及び情報集約部１４４を備え、末端ルータ１０６は、送受信部１６２、情報検査部１６４及び情報集約部１６６を備える。また、エンドユーザ装置１０８は、例えばパーソナルコンピュータや携帯電話機等の通信可能な装置である。
【００２２】
この通信システム１００では、集約情報受信装置１０２は、エンドユーザ装置１０８からの情報を集約する際に、情報検査手順及び情報集約手順を中間ルータ１０４及び末端ルータ１０６へ伝える。末端ルータ１０６は、これら情報検査手順及び情報集約手順に従って、エンドユーザ装置１０８からの情報を検査、集約し、その結果を中間ルータ１０４へ伝える。中間ルータ１０４は、集約情報受信装置１０２から伝えられた情報集約手順に従って、各末端ルータ１０６からの情報集約結果を集約し、その結果を集約情報受信装置１０２へ伝える。
【００２３】
以下、集約情報受信装置１０２、中間ルータ１０４、末端ルータ１０６及びエンドユーザ装置１０８における処理を具体的に説明する。
【００２４】
集約情報受信装置１０２が情報集約に関するアプリケーションを実行する前に、集約情報受信装置１０２あるいは当該集約情報受信装置１０２の利用者は、エンドユーザ装置１０８あるいは当該エンドユーザ装置１０８の利用者に対して、情報集約を行う旨を通知する。この通知には、例えば、個々の情報集約を識別するための集約識別子、変数のリスト、変数に設定すべき内容が含まれる。具体的な通知方法は、様々なものが考えられる。例えば、集約情報受信装置１０２内の送受信部１２２が、通知が記述されたテキストデータや、ＸＭＬ（eXtensible Markup Language）フォーマットにおけるデータ設定方法を送信するようにしても良い。この場合、通知を受けたエンドユーザ装置１０８は、集約情報受信装置１０２における情報集約に関するアプリケーションに対応する情報を取得する処理を開始する。あるいは、集約情報受信装置１０２の利用者が音声によりエンドユーザ装置１０８の利用者に対して通知する。この場合、エンドユーザ装置１０８の利用者は、当該エンドユーザ装置１０８のユーザインタフェースを利用して、情報取得に関するデータを入力し、エンドユーザ装置１０８は、集約情報受信装置１０２における情報集約に関するアプリケーションに対応する情報を取得する処理を開始する。
【００２５】
このようにして、集約情報受信装置１０２あるいは当該集約情報受信装置１０２の利用者からエンドユーザ装置１０８あるいは当該エンドユーザ装置１０８の利用者へ情報集約を行う旨が通知された後、情報集約に関する処理が行われる。
【００２６】
図３は、通信システム１００における情報集約処理を示すシーケンス図である。集約情報受信装置１０２では送受信部１２２が、集約情報受信装置１０２において実行される情報集約に関するアプリケーションに対応する情報集約要請を含んだパケット（情報集約要請パケット）を、マルチキャスト通信によりエンドユーザ装置１０８に向けて送信する（ステップ１０１）。
【００２７】
情報集約要請パケットのＩＰヘッダには、ルータ警告オプションが設定されている。このルータ警告オプションは、ＩＰｖ４においてはＲＦＣ（Request For Comments）２１１３で規定され、ＩＰｖ６においてはＲＦＣ２７１１で規定されている。中間ルータ１０４や末端ルータ１０６は、このルータ警告オプションにより、受信したパケットが情報集約要請パケットであることを認識することができる。
【００２８】
また、情報集約要請パケットには、集約識別子、情報検査手順、情報集約手順、変数のリスト、タイマ値等が含まれる。情報検査手順や情報集約手順のデータ形式は、様々なものが考えられる。例えば、Ｐｅｒｌ、シェル等のスクリプト、ＪＡＶＡ（登録商標）等の汎用的なプラットフォームで動作可能なバイナリ、逆ポーランド記法による簡便な記述、Ｃ言語等の様々なプラットフォームでコンパイルして実行可能なプログラム等である。なお、ＩＰパケットによる送信を考慮すると、情報検査手順や情報集約手順のデータ形式は、一般的なパケット長である１５００バイトに収まるような形式であることが望ましい。更に、中間ルータ１０４や末端ルータ１０６が通常はコンパイルの実行環境を実装していないことを考慮すると、情報検査手順や情報集約手順のデータ形式は、できるだけコンパイルの必要がない形式であることが望ましい。
【００２９】
中間ルータ１０４では送受信部１４２が、集約情報受信装置１０２からの情報集約要請パケットを受信する。なお、図１に示す中間ルータ１０４−２では、集約情報受信装置１０２へ向かう通信経路上に他の中間ルータ１０４−１が存在する。このため、当該中間ルータ１０４−２内の送受信部１４２は、中間ルータ１０４−１からの情報集約要請パケットを受信することになる。
【００３０】
更に、送受信部１４２は、受信した情報集約要請パケット内の集約識別子と、既に受信して記憶している情報集約要請パケット内の集約識別子とを比較する。そして、送受信部１４２は、これらの集約識別子が一致する場合には、再送等により重複して受信したと判断し、受信した情報集約要請パケットを破棄する。一方、送受信部１４２は、集約識別子が一致しない場合には、初めて受信したと判断し、受信した情報集約要請パケットを記憶する。
【００３１】
次に、送受信部１４２は、記憶した情報集約要請パケット内の情報集約手順を情報集約部１４４へ出力する。情報集約部１４４は、この情報集約手順を記憶する（ステップ１０２）。
【００３２】
更に、送受信部１４２は、記憶した情報集約要請パケットに対応するタイマ（図示せず）を、その情報集約要請パケット内のタイマ値から所定の値を減じた値に設定する。また、送受信部１４２は、受信した情報集約要請パケット内のタイマ値についても同じ値だけ減じ、下位の各末端ルータ１０６へ送信する（ステップ１０３）。なお、図１に示す中間ルータ１０４−１では、末端ルータ１０６−２及び１０６−３へ向かう通信経路上に他の中間ルータ１０４−２が存在する。このため、中間ルータ１０４−１内の送受信部１４２は、末端ルータ１０６−１及び中間ルータ１０４−２へ情報集約要請パケットを送信することになる。
【００３３】
末端ルータ１０６では送受信部１６２が、情報集約要請パケットを受信すると、中間ルータ１０４内の送受信部１４２と同様、受信した情報集約要請パケット内の集約識別子と、既に受信して記憶している情報集約要請パケット内の集約識別子とを比較する。そして、送受信部１６２は、これらの集約識別子が一致する場合には、受信した情報集約要請パケットを破棄する。一方、送受信部１６２は、集約識別子が一致しない場合には、受信した情報集約要請パケットを記憶する。
【００３４】
次に、送受信部１６２は、記憶した情報集約要請パケット内の情報検査手順を情報検査部１６４へ出力し、情報集約手順を情報集約部１６６へ出力する。情報検査部１６４は、情報検査手順を記憶し、情報集約部１６６は、情報集約手順を記憶する（ステップ１０４）。
【００３５】
更に、送受信部１６２は、記憶した情報集約要請パケットに対応するタイマ（図示せず）を、その情報集約要請パケット内のタイマ値から所定の値を減じた値に設定する。次に、送受信部１６２は、受信した情報集約要請パケット内のタイマ値についても同じ値だけ減じる。更に、送受信部１６２は、減算により得られた新たなタイマ値と、受信した情報集約要請パケット内の集約識別子及び変数リストのみを含んだ新たな情報集約要請パケットを生成し、下位の各エンドユーザ装置１０８へ送信する（ステップ１０５）。
【００３６】
なお、中間ルータ１０４内の送受信部１４２や末端ルータ１６０内の送受信部１６２は、タイマが満了するまで、そのタイマに対応する情報集約要請パケットを周期的に送信するようにしても良い。この場合、中間ルータ１０４内の送受信部１４２や末端ルータ１６０内の送受信部１６２は、送信される情報集約要請パケット内のタイマ値を、その送信時におけるタイマの残り時間に設定する。これにより、受信側の装置である末端ルータ１０６やエンドユーザ装置１０８は、どの情報集約要請パケットを受信しても、タイマの満了時間が同一になる。受信側の装置である末端ルータ１０６やエンドユーザ装置１０８は、情報集約要請パケットを重複して受信することになるが、末端ルータ１０６内の送受信部１４２やエンドユーザ装置１０８は、受信した情報集約要請パケット内の集約識別子と、既に受信して記憶している情報集約要請パケット内の集約識別子とを比較し、これらの集約識別子が一致する場合には、受信した情報集約要請パケットを破棄することができる。
【００３７】
また、中間ルータ１０４内の送受信部１４２や末端ルータ１６０内の送受信部１６２は、情報集約要請パケット内のタイマ値の代わりに、当該情報集約要請パケット内のＩＰヘッダにおける生存時間情報であって、ルータを通過する毎に１ずつ減少するＴＴＬ（Time To Live）を用いるようにしても良い。この場合、中間ルータ１０４内の送受信部１４２や末端ルータ１６０内の送受信部１６２は、１つのルータを通過する時間に基づいて、ＴＴＬを適切なタイマ値に換算し、タイマの設定を行う。
【００３８】
エンドユーザ装置１０８は、末端ルータ１０６からの情報集約要請パケットを受信すると、集約情報受信装置１０２における情報集約に関するアプリケーションに対応する情報取得処理により得られた情報を含んだパケット（集約情報パケット）を生成し、末端ルータ１０６へ送信する（ステップ１０６）。この集約情報パケットには、末端ルータ１０６からの情報集約要請パケット内の集約識別子と、情報取得処理により得られた値が設定された変数のリストとが含まれる。なお、各エンドユーザ装置１０８から末端ルータ１０６への集約情報パケットの転送が短時間に集中して輻輳が生じることを防止するため、エンドユーザ装置１０８は、受信した情報集約要請パケット内のタイマ値で示される時間から所定の値を減じた値以内の時間内で、ランダムな遅延時間を設定し、この遅延時間経過後に集約情報パケットを送信することが望ましい。
【００３９】
末端ルータ１０６では送受信部１６２が、下位の各エンドユーザ装置１０８からの集約情報パケットを受信すると、当該エンドユーザ装置１０８に対し、集約情報パケットを受信した旨の応答であるＡＣＫを返す（ステップ１０７）。エンドユーザ装置１０８は、このＡＣＫを受信することにより、末端ルータ１０６が集約情報パケットを受信したことを認識する。なお、エンドユーザ装置１０８は、ＡＣＫを受信しない場合には、集約情報パケットを再送するようにしても良い。
【００４０】
次に、送受信部１６２は、受信した集約情報パケットを情報検査部１６４へ出力する。情報検査部１６４は、予め送受信部１６２から送られて記憶していた情報検査手順に従って、集約情報パケット内の変数のリストに設定された値を検査する（ステップ１０８）。検査の結果、集約情報パケット内の変数のリストに設定された値が正当でない場合には、情報検査部１６４は、当該集約情報パケットを破棄する。一方、検査の結果、集約情報パケット内の変数のリストに設定された値が正当である場合には、情報検査部１６４は、当該集約情報パケットと既に記憶している集約情報パケットとを比較する。そして、情報検査部１６４は、集約情報パケットが重複していない場合には、検査を行った集約情報パケットを記憶するとともに、情報集約部１６６へ出力する。また、情報検査部１６４は、集約情報パケットが重複している場合には、記憶している方の集約情報パケットを破棄し、検査を行った集約情報パケットを新たに記憶するとともに、情報集約部１６６へ出力する。
【００４１】
情報集約部１６６は、送受信部１６２が情報集約要請パケットを受信した際に設定したタイマが満了すると、その満了までの間に情報検査部１６４から送られてきた各集約情報パケット内の変数のリストに設定された値を、予め送受信部１６２から送られていた情報集約手順に従って集約する（ステップ１０９）。
【００４２】
更に、情報集約部１６６は、その集約の結果を含んだ新たな集約情報パケットを生成し、送受信部１６２へ出力する。この集約情報パケットには、中間ルータ１０４からの情報集約要請パケット内の集約識別子と、情報集約により得られた値が設定された変数のリストとが含まれる。送受信部１６２は、情報集約部１６６によって生成された集約情報パケットを中間ルータ１０４へ送信する（ステップ１１０）。その後、末端ルータ１０６は、中間ルータ１０４からのＡＣＫを受信するか、所定時間が経過すると、情報集約時に記憶された各種の情報を消去する。なお、末端ルータ１０６は、情報集約の処理に関するログを記憶しておくようにしても良い。
【００４３】
中間ルータ１０４では送受信部１４２が、下位の各末端ルータ１０６からの集約情報パケットを受信すると、当該末端ルータ１０６に対し、集約情報パケットを受信した旨の応答であるＡＣＫを返す（ステップ１１１）。末端ルータ１０６は、このＡＣＫを受信することにより、中間ルータ１０４が集約情報パケットを受信したことを認識する。なお、末端ルータ１０６内の送受信部１６２は、ＡＣＫを受信しない場合には、集約情報パケットを再送するようにしても良い。更に、中間ルータ１０４内の送受信部１４２は、受信した集約情報パケットを情報集約部１４４へ出力する。
【００４４】
なお、図１に示す中間ルータ１０４−１では、末端ルータ１０６−２及び１０６−３へ向かう通信経路上に他の中間ルータ１０４−２が存在する。このため、中間ルータ１０４−１内の送受信部１４２は、末端ルータ１０６−１及び中間ルータ１０４−２からの集約情報パケットを受信し、これら末端ルータ１０６−１及び中間ルータ１０４−２へＡＣＫを返すことになる。
【００４５】
情報集約部１４４は、送受信部１４２が情報集約要請パケットを受信した際に設定したタイマが満了すると、その満了までの間に送受信部１４２から送られてきた各集約情報パケット内の変数のリストに設定された値を、予め送受信部１４２から送られていた情報集約手順に従って集約する（ステップ１１２）。
【００４６】
更に、情報集約部１４４は、その集約の結果を含んだ新たな集約情報パケットを生成し、送受信部１４２へ出力する。この集約情報パケットには、集約情報受信装置１０２からの情報集約要請パケット内の集約識別子と、情報集約により得られた値が設定された変数のリストとが含まれる。送受信部１４２は、情報集約部１４４によって生成された集約情報パケットを集約情報受信装置１０２へ向けて送信する（ステップ１１３）。なお、図１に示す中間ルータ１０４−２では、集約情報受信装置１０２へ向かう通信経路上に他の中間ルータ１０４−１が存在する。このため、当該中間ルータ１０４−２内の送受信部１４２は、中間ルータ１０４−１へ集約情報パケットを送信することになる。
【００４７】
その後、中間ルータ１０４は、集約情報受信装置１０２又は上位の他の中間ルータ１０４からのＡＣＫを受信するか、所定時間が経過すると、情報集約時に記憶された各種の情報を消去する。なお、中間ルータ１０４は、情報集約の処理に関するログを記憶しておくようにしても良い。
【００４８】
集約情報受信装置１０２内の送受信部１２２は、中間ルータ１０４からの集約情報パケットを受信すると、当該中間ルータ１０４に対し、集約情報パケットを受信した旨の応答であるＡＣＫを返す（ステップ１１４）。中間ルータ１０４は、このＡＣＫを受信することにより、集約情報受信装置１０２が集約情報パケットを受信したことを認識する。なお、中間ルータ１０４内の送受信部１４２は、ＡＣＫを受信しない場合には、集約情報パケットを再送するようにしても良い。
【００４９】
上述のような処理により、集約情報受信装置１０２は、情報集約に関するアプリケーションに対応する各エンドユーザ装置１０８からの情報の集約結果を取得することが可能となる。
【００５０】
次に、集約情報受信装置１０２において実行されるアプリケーションの例と、当該アプリケーションに対応する情報集約の具体的な処理について説明する。集約情報受信装置１０２において実行されるアプリケーションとしては、エンドユーザ数の調査、多数決処理、平均値調査、オークション処理、通信経路の深さの最大値（集約情報受信装置１０２から各エンドユーザ装置１０８へ至る通信経路におけるルータ数の最大値）調査、人気投票処理等がある。
【００５１】
エンドユーザ数の調査では、各エンドユーザ装置１０８は、変数リストに１を設定した集約情報パケットを上位の末端ルータ１０６へ送信する。末端ルータ１０６内の情報検査部１６４は、下位の各エンドユーザ装置１０８からの集約情報パケット内の変数リストに１が設定されているか否かを検査する。次に、末端ルータ１０６内の情報集約部１６６は、下位の各エンドユーザ装置１０８からの集約情報パケット内の変数リストに設定されている値を加算し、その加算値を変数リストに設定した新たな集約情報パケットを生成する。末端ルータ１０６内の送受信部１６２は、この新たな集約情報パケットを上位の中間ルータ１０４へ送信する。
【００５２】
中間ルータ１０４内の情報集約部１４４は、下位の末端ルータ１０６や中間ルータ１０４からの集約情報パケット内の変数リストに設定されている値を加算し、その加算値を変数リストに設定した集約情報パケットを生成する。中間ルータ１０４内の送受信部１４２は、この生成された集約情報パケットを集約情報受信装置１０２又は上位の中間ルータ１０４へ送信する。集約情報受信装置１０２は、受信した集約情報パケット内の変数リストに設定された値により、エンドユーザ数（エンドユーザ装置１０８の数）を認識することができる。
【００５３】
多数決処理では、集約情報パケット内の変数リストに、選択肢に対応する欄、例えば、賛成に対応する欄（賛成欄）と反対に対応する欄（反対欄）とが設けられる。各エンドユーザ装置１０８は、賛成の場合には、変数リストの賛成欄に１を設定し、反対欄に０を設定した集約情報パケットを上位の末端ルータ１０６へ送信し、反対の場合には、変数リストの反対欄に１を設定し、賛成欄に０を設定した集約情報パケットを、上位の末端ルータ１０６へ送信する。
【００５４】
末端ルータ１０６内の情報検査部１６４は、下位の各エンドユーザ装置１０８からの集約情報パケット内の変数リストにおいて、賛成欄が１であり且つ反対欄が０であるか、又は、賛成欄が０であり且つ反対欄が１であるか否かを検査する。
【００５５】
次に、末端ルータ１０６内の情報集約部１６６は、下位の各エンドユーザ装置１０８からの集約情報パケット内の変数リストの賛成欄に設定されている値を加算するとともに、反対欄に設定されている値を加算する。更に、末端ルータ１０６内の情報集約部１６６は、賛成欄の加算値については新たな集約情報パケット内の変数リストの賛成欄に設定し、反対欄の加算値については新たな集約情報パケット内の変数リストの反対欄に設定する。末端ルータ１０６内の送受信部１６２は、この新たな集約情報パケットを上位の中間ルータ１０４へ送信する。
【００５６】
中間ルータ１０４内の情報集約部１４４は、下位の末端ルータ１０６や中間ルータ１０４からの集約情報パケット内の変数リストの賛成欄に設定されている値を加算するとともに、反対欄に設定されている値を加算する。更に、中間ルータ１０４内の情報集約部１４４は、賛成欄の加算値については新たな集約情報パケット内の変数リストの賛成欄に設定し、反対欄の加算値については新たな集約情報パケット内の変数リストの反対欄に設定する。中間ルータ１０４内の送受信部１４２は、この新たな集約情報パケットを集約情報受信装置１０２又は上位の中間ルータ１０４へ送信する。集約情報受信装置１０２は、受信した集約情報パケット内の変数リストの賛成欄の値と反対欄の値とを比較し、大きい方の選択肢を多数決の結果とする。
【００５７】
平均値調査では、集約情報パケット内の変数リストには、合計値に対応する欄（合計値欄）とサンプル数に対応する欄（サンプル数欄）とが設けられる。各エンドユーザ装置１０８は、例えば、気温、電波強度等を測定すると、変数リストの合計値欄に、その測定値を設定し、サンプル数欄に１を設定した集約情報パケットを、上位の末端ルータ１０６へ送信する。
【００５８】
末端ルータ１０６内の情報検査部１６４は、下位の各エンドユーザ装置１０８からの集約情報パケット内の変数リストにおいて、合計値欄の値が適切な値であり、且つ、サンプル数欄が１であるか否かを検査する。情報検査部１６４は、例えば日本の夏の気温の平均値が調査される場合、集約情報パケット内の変数リストの合計値欄の値が−２０、７０等の値（単位は℃）である場合には、適切な値でないと判断する。
【００５９】
次に、末端ルータ１０６内の情報集約部１６６は、下位の各エンドユーザ装置１０８からの集約情報パケット内の変数リストの合計値欄に設定されている値を加算し、サンプル数欄に設定されている値を加算する。更に、末端ルータ１０６内の情報集約部１６６は、合計値欄の加算値については新たな集約情報パケット内の変数リストの合計値欄に設定し、サンプル数欄の加算値については新たな集約情報パケット内の変数リストのサンプル数欄に設定する。末端ルータ１０６内の送受信部１６２は、この新たな集約情報パケットを上位の中間ルータ１０４へ送信する。
【００６０】
中間ルータ１０４内の情報集約部１４４は、下位の末端ルータ１０６や中間ルータ１０４からの集約情報パケット内の変数リストの合計値欄に設定されている値を加算するとともに、サンプル数欄に設定されている値を加算する。更に、中間ルータ１０４内の情報集約部１４４は、合計値欄の加算値については新たな集約情報パケット内の変数リストの合計値欄に設定し、サンプル数欄の加算値については新たな集約情報パケット内の変数リストのサンプル数欄に設定する。中間ルータ１０４内の送受信部１４２は、この新たな集約情報パケットを集約情報受信装置１０２又は上位の中間ルータ１０４へ送信する。集約情報受信装置１０２は、受信した集約情報パケット内の変数リストにおける合計値欄の値をサンプル数欄の値で除することにより、平均値を算出することが可能となる。
【００６１】
オークション処理では、集約情報パケット内の変数リストには、金額の最大値に対応する欄（最大値欄）とエンドユーザ装置１０８の利用者の識別情報（エンドユーザ識別情報）に対応する欄（エンドユーザ識別情報欄）とが設けられる。各エンドユーザ装置１０８は、変数リストの最大値欄に、利用者が希望する金額を設定し、エンドユーザ識別情報欄にエンドユーザ装置１０８のＩＰアドレスを設定した集約情報パケットを、上位の末端ルータ１０６へ送信する。
【００６２】
末端ルータ１０６内の情報検査部１６４は、下位の各エンドユーザ装置１０８からの集約情報パケット内の変数リストにおいて、最大値欄の値が適切な値であり、且つ、エンドユーザ識別情報欄のＩＰアドレスが集約情報パケットの送信元のＩＰアドレスと一致するか否かを検査する。
【００６３】
次に、末端ルータ１０６内の情報集約部１６６は、下位の各エンドユーザ装置１０８からの集約情報パケット内の変数リストの最大値欄に設定されている値を比較し、最も大きい値を新たな集約情報パケット内の変数リストの最大値欄に設定し、その最も大きい値が設定されていた変数リストのエンドユーザ識別情報欄のＩＰアドレスを、新たな集約情報パケット内の変数リストのエンドユーザ識別情報欄に設定する。末端ルータ１０６内の送受信部１６２は、この新たな集約情報パケットを上位の中間ルータ１０４へ送信する。
【００６４】
中間ルータ１０４内の情報集約部１４４は、下位の末端ルータ１０６や中間ルータ１０４からの集約情報パケット内の変数リストの最大値欄に設定されている値を比較し、最も大きい値を新たな集約情報パケット内の変数リストの最大値欄に設定し、その最も大きい値が設定されていた変数リストのエンドユーザ識別情報欄のＩＰアドレスを、新たな集約情報パケット内の変数リストのエンドユーザ識別情報欄に設定する。中間ルータ１０４内の送受信部１４２は、この新たな集約情報パケットを集約情報受信装置１０２又は上位の中間ルータ１０４へ送信する。これにより、集約情報受信装置１０２は、受信した集約情報パケット内の変数リストの値により、各エンドユーザ装置１０８の利用者が希望する金額のうちの最大値と、その最大の金額を希望した者を認識することが可能となる。
【００６５】
なお、末端ルータ１０６内の情報集約部１６６や中間ルータ１０４内の情報集約部１４４は、受信した各集約情報パケット内の変数リストの最大値欄に設定されている値のうち、上位の所定数の値を新たな集約情報パケット内の変数リストの最大値欄に設定し、その値が設定されていた変数リストのエンドユーザ識別情報欄のＩＰアドレスを、新たな集約情報パケット内の変数リストのエンドユーザ識別情報欄に設定するようにしても良い。この場合、集約情報受信装置１０２の利用者は、各エンドユーザ装置１０８の利用者が希望する金額のうちの最大値のみならず、上位の所定数の金額とその金額を希望するものを認識することが可能となる。
【００６６】
通信経路の深さの最大値調査では、各エンドユーザ装置１０８は、変数リストに０を設定した集約情報パケットを上位の末端ルータ１０６へ送信する。末端ルータ１０６内の情報検査部１６４は、下位の各エンドユーザ装置１０８からの集約情報パケット内の変数リストに０が設定されているか否かを検査する。次に、末端ルータ１０６内の情報集約部１６６は、下位の各エンドユーザ装置１０８からの集約情報パケット内の変数リストに設定されている値のうち、最大の値を選択肢、その最大の値に１を加算した値を変数リストに設定した集約情報パケットを生成する。末端ルータ１０６内の送受信部１６２は、この生成された集約情報パケットを上位の中間ルータ１０４へ送信する。
【００６７】
中間ルータ１０４内の情報集約部１４４は、下位の末端ルータ１０６や中間ルータ１０４からの集約情報パケット内の変数リストに設定されている値のうち、最大の値を選択し、その最大の値に１を加算した値を変数リストに設定した集約情報パケットを生成する。中間ルータ１０４内の送受信部１４２は、この生成された集約情報パケットを集約情報受信装置１０２又は上位の中間ルータ１０４へ送信する。集約情報受信装置１０２は、受信した集約情報パケット内の変数リストに設定された値により、通信経路の深さの最大値を認識することができる。
【００６８】
人気投票処理では、予め人気投票の候補毎に番号が付与されており、各エンドユーザ装置１０８は、利用者が選択した候補の番号が変数リストに設定された集約情報パケットを、上位の末端ルータ１０６へ送信する。
【００６９】
末端ルータ１０６内の情報検査部１６４は、下位の各エンドユーザ装置１０８からの集約情報パケット内の変数リストにおいて、候補の番号が適切な値であるか否かを検査する。次に、末端ルータ１０６内の情報集約部１６６は、各エンドユーザ装置１０８からの集約情報パケットを、当該集約情報パケットの変数リストに設定されている候補の番号毎に集計する。更に、末端ルータ１０６内の情報集約部１６６は、変数リストにおいて、各候補の番号と、当該候補に対応する集計値とを対応付けて設定した新たな集約情報パケットを生成する。末端ルータ１０６内の送受信部１６２は、この新たな集約情報パケットを上位の中間ルータ１０４へ送信する。
【００７０】
中間ルータ１０４内の情報集約部１４４は、下位の末端ルータ１０６や中間ルータ１０４からの集約情報パケット内の変数リストに設定されている候補の番号毎に、当該候補に対応する集計値を更に集計する。更に、中間ルータ１０４内の情報集約部１４４は、変数リストにおいて、各候補の番号と、当該候補に対応する新たな集計値とを対応付けて設定した新たな集約情報パケットを生成する。中間ルータ１０４内の送受信部１４２は、この新たな集約情報パケットを集約情報受信装置１０２又は上位の中間ルータ１０４へ送信する。集約情報受信装置１０２は、受信した集約情報パケット内の変数リストに設定された値により、各候補の投票数を認識することができる。
【００７１】
なお、末端ルータ１０６内の情報集約部１６６及び中間ルータ１０４内の情報集約部１４４は、集計値の大きい上位の所定数の候補についてのみ、候補の番号と、当該候補に対応する集計値とを対応付けて設定した新たな集約情報パケットを生成するようにしても良い。
【００７２】
ところで、集約情報受信装置１０２が取得する集約結果の誤り度合いは、集約情報受信装置１０２と各エンドユーザ装置１０８との間の通信経路毎に、パケットの損失発生率とパケットの損失が集約結果へ与える誤差とを乗算し、これら乗算値を合計した値となる。なお、パケット損失発生率は、可能な限りパケットが再送したにもかかわらず、受信側においてパケットが受信されなかった割合を示す。
【００７３】
一般に、集約情報受信装置１０２に近い通信経路上でパケット損失が発生するほど、集約結果の誤り度合いは大きくなり、エンドユーザ装置１０８に近い通信経路上でパケット損失が発生するほど、集約結果の誤り度合いは小さくなる。従って、集約情報受信装置１０２内の送受信部１２２や当該集約情報受信装置１０２に近い通信経路上の中間ルータ１０４内の送受信部１４２は、パケットの再送回数を多くして、パケット損失発生率を低減させることが望ましい。一方、エンドユーザ装置１０８や当該エンドユーザ装置１０８に近い通信経路上の末端ルータ１０６は、パケットの再送回数を少なくして、情報集約に要する時間を短くすることが望ましい。
【００７４】
更には、上述したように中間ルータ１０４内の送受信部１４２や末端ルータ１０６内の送受信部１５２は、記憶した情報集約要請パケットに対応するタイマのタイマ値を、その情報集約要請パケット内のタイマ値から所定値を減じた値に設定するが、ここでの所定値（減算値）は、以下のようにして算出される。
【００７５】
即ち、まず隣接する上位のノードとの間におけるパケット交換での往復伝送遅延時間が統計等により導出される。更に、この往復伝送遅延時間に基づいて隣接する上位のノードへパケットを送信してからＡＣＫが未受信のために再送するまでの時間（タイムアウト時間）が導出される。このタイムアウト時間は、例えば、図４に示すように、過去の統計により、上位のノードに対してパケットを送信してから応答であるＡＣＫを受信するまでの時間を求め、全体のＡＣＫのうち８０％のＡＣＫを受信することができる時間が設定される。更に、このタイムアウト時間と上位のノードとの間におけるパケットの最大再送回数とを乗算する。この乗算値は、上位のノードとのパケット交換において損失が発生した場合に再送に要する最大の時間である。更に、得られた乗算値を２倍することにより減算値が得られる。乗算値を２倍するのは、上位のノードから中間ルータ１０４又は末端ルータ１０６へ情報集約要請パケットが送信される際に再送が発生する可能性があるとともに、中間ルータ１０４又は末端ルータ１０６から上位のノードへ集約情報パケットが送信される際に再送が発生する可能性があることに対応するものである。
【００７６】
上述した計算により減算値が決定される場合、集約情報受信装置１０２が情報集約要請パケットを送信してから集約情報パケットを受信するまでに許容される最大の時間、換言すれば、集約情報受信装置１０２が送信する情報集約要請パケット内のタイマ値をＴｍａｘ、集約情報受信装置１０２からエンドユーザ装置１０８に至る通信経路上のノードの集合Ｉ１０８に対して、集合に属するノードｉが隣接する上位のノードに対してパケットを再送する回数をＮｉ、ノードｉにおけるタイムアウト時間をＴｉとすると、再送回数Ｎｉ及びタイムアウト時間Ｔｉは
【００７７】
【数１】
2005072907.tif 000003
を満たす必要がある。この式は、各エンドユーザ装置１０８毎に成立する。
【００７８】
また、集約情報受信装置１０２からエンドユーザ装置１０８に至る通信経路上のノードのうち、ｉ番目のノードと隣接する上位のノード（ｉ−１番目のノード）との間の通信経路ｉにおけるパケット損失をＰｉ、集約情報受信装置１０２へ至る通信経路において当該通信経路ｉが含まれるエンドユーザ装置１０６の数をＲｉとすると、集約情報受信装置１０２における集約結果の誤り度合いの期待値（平均値）は
【００７９】
【数２】
2005072907.tif 000004
となる。従って、再送回数Ｎｉは、各エンドユーザ装置１０８毎に、上述の数１が満たされる条件下において、この集約結果の誤り度合いの期待値を最小にする値に設定されることが望ましい。再送回数Ｎｉが決定されれば、所定の減算値は、再送回数Ｎｉとタイムアウト時間Ｔｉの乗算値の２倍で示される。なお、他の方法で所定の減算値が決定されるようにしても良い。例えば、各ルータがタイマ値の所定比率（例えば３０％ずつ）を減算するようにしても良い。
【００８０】
このように、本実施形態の通信システム１００では、集約情報受信装置１０２から中間ルータ１０４及び末端ルータ１０６へ情報集約手順が送られ、末端ルータ１０６は、この情報集約手順に従って、エンドユーザ装置１０８からの情報を集約し、中間ルータ１０４は、この情報集約手順に従って、下位の末端ルータ１０６や中間ルータ１０４からの情報集約結果を更に集約する。従来のＴＲＡＣＫプロトコルでは、予め規定され、変更することができない情報集約手順に応じた情報集約のみが可能であるが、本実施形態の通信システム１００では、集約情報受信装置１０２が、プログラム等により情報集約手順を中間ルータ１０４及び末端ルータ１０６へ送ることができるため、集約情報受信装置１０２の利用者の要求に応じた柔軟性の高い情報集約が可能となる。特に、このような柔軟性の高い情報集約とマルチキャストとが組み合わされることにより、エンドユーザの多数決によって内容が変わる双方向番組や、オークション、人気投票等の多彩なサービスを容易に実現することが可能となる。
【００８１】
また、通信システム１００では、エンドユーザ装置１０８が直接に接続された末端ルータ１０６は、集約情報受信装置１０２からの情報検査手順に従って、エンドユーザ装置１０８からの情報を検査し、不当の場合は廃棄する。このため、エンドユーザ装置１０８が誤った情報を送信したり、エンドユーザによる不正行為があったような場合においても、情報集約の結果の精度を高く保つことができる。
【００８２】
更には、通信システム１００では、情報集約手順は、集約情報受信装置１０２から中間ルータ１０４や末端ルータ１０６に送られ、エンドユーザ装置１０８は関与しない。このため、従来のＴＲＡＣＫプロトコルと比較して、末端ルータ１０６とエンドユーザ装置１０８との間のトラヒックを削減することができる。また、エンドユーザが情報集約手順を変更することができないため、当該エンドユーザの不正行為を制限することができる。
【００８３】
なお、通信システム１００は、他のネットワーク構成であっても良い。例えば、複数の中間ルータ１０４が階層的に接続され、最上位の中間ルータ１０４が集約情報受信装置１０２と接続されるとともに、最下位の中間ルータ１０４が末端ルータ１０６と接続されるネットワーク構成の場合、最上位及び最下位以外の中間ルータ１０４は、上位の中間ルータ１０４からの情報集約要請パケットを１又は複数の下位の中間ルータ１０４へ送信するとともに、当該下位の中間ルータ１０４からの集約情報パケット内の情報を集約し、集約結果を含んだ新たな集約情報パケットを上位の中間ルータ１０４へ送信する。また、通信システム１００内に、中間ルータ１０４と末端ルータ１０６とを兼用するルータが存在しても良い。
【００８４】
また、上述した実施形態では、中間ルータ１０４内の情報集約部１４４や末端ルータ１０６内の情報集約部１６６は、タイマが満了すると、情報集約を行ったが、集約情報受信装置１０２が情報集約要請パケットを送信してから集約情報パケットを受信するまでに許容される最大の時間、換言すれば、集約情報受信装置１０２が送信する情報集約要請パケット内のタイマ値が小さい場合には、タイマの満了前に情報集約を行っても良い。この場合、中間ルータ１０４内の情報集約部１４４や末端ルータ１０６内の情報集約部１６６は、ランダムな間隔で、あるいは、タイマの満了が近づくにつれて高頻度で情報集約を行い、送受信部１４２や送受信部１６２は、その情報集約が行われる度に、情報集約の結果を含んだ集約情報パケットを送信する。この場合、集約情報受信装置１０２は、時間の経過につれて、徐々に精度の高い集約結果を取得することが可能となる。
【図面の簡単な説明】
【００８５】
【図１】従来の通信システムの構成例を示す図である。
【図２】本実施形態の通信システムの構成例を示す図である。
【図３】本実施形態の通信システムの処理を示すシーケンス図である。
【図４】タイムアウト時間の設定の一例を示す図である。
【符号の説明】
【００８６】
１００  通信システム
１０２  集約情報受信装置
１０４−１、１０４−２  中間ルータ
１０６−１、１０６−２  末端ルータ
１０８−１、１０８−２、１０８−３、１０８−４、１０８−５、１０８−６、１０８−７  エンドユーザ装置
１２２、１４２、１６２  送受信部
１４４、１６６  情報集約部
１６４  情報検査部
【図１】
2005072907.tif 000005
【図２】
2005072907.tif 000006
【図３】
2005072907.tif 000007
【図４】
2005072907.tif 000008