(57)【特許請求の範囲】
【請求項１】
ＩＰネットワークに接続する複数のオーバーレイノードによって構成される論理網であるオーバーレイネットワークにおいて、発信元オーバーレイノードから着信先オーバーレイノードへの通信経路を決定する通信経路決定方法であって、
上記オーバーレイネットワークに属する各オーバーレイノードは、
通信品質測定手段と、通信品質取得手段、中継ノード決定手段、中継候補選択手段を具備し、
上記通信品質測定手段は、
自オーバーレイノードｉと着信先オーバーレイノードｊ間の時点ｎでの遅延時間ｄ（ｉ，ｊ）とパケット損失率ｐ（ｉ，ｊ）とを測定し、
上記中継候補選択手段は、
自オーバーレイノードｉと着信先オーバーレイノードｊを除く他のオーバーレイノードの中から複数のオーバーレイノードを中継ノード候補として選択し、
上記通信品質取得手段は、
上記中継候補選択手段が選択した中継ノード候補から、当該中継ノード候補ｋが測定した時点ｎでの遅延時間ｄ（ｋ，ｊ）とパケット損失率ｐ（ｋ，ｊ）を取得し、
上記中継ノード決定手段は、
上記中継ノード候補ｋを経由した場合のパケット損失率を［１−｛１−ｐ（ｉ，ｋ）｝×｛１−ｐ（ｋ，ｊ）｝］で求め、求めたパケット損失率が予め定めたしきい値Ｌ_ｔｈよりも小さい中継ノード候補を、上記中継候補選択手段が選択したＭ個の中継ノード候補から抽出し、抽出した中継ノード候補から、迂回遅延時間｛ｄ（ｉ，ｋ）＋ｄ（ｋ，ｊ）｝を最小にする中継ノード候補ｋ＊を特定し、
上記パケット損失率ｐ（ｉ，ｊ）が上記しきい値Ｌ_ｔｈより大きければ、上記特定した中継ノードｋ候補＊を中継ノードｋ＊に用いた迂回経路（自オーバーレイノードｉ→中継ノードｋ＊→着信先オーバーレイノードｊ）を、自オーバーレイノードｉから着信先オーバーレイノードｊへの通信経路として決定し、
上記パケット損失率ｐ（ｉ，ｊ）が上記しきい値Ｌ_ｔｈ以下であれば、遅延時間ｄ（ｉ，ｊ）と迂回遅延時間｛ｄ（ｉ，ｋ＊）＋ｄ（ｋ＊，ｊ）｝とを比較し、
遅延時間ｄ（ｉ，ｊ）が迂回遅延時間｛ｄ（ｉ，ｋ＊）＋ｄ（ｋ＊，ｊ）｝より小さければ上記中継ノードｋ＊を用いず着信先オーバーレイノードｊへ直接転送する直通路を上記通信経路として決定し、
上記遅延時間ｄ（ｉ，ｊ）が迂回遅延時間｛ｄ（ｉ，ｋ＊）＋ｄ（ｋ＊，ｊ）｝以上であれば上記中継ノードｋ＊を用いた迂回経路を上記通信経路として決定し、
上記パケット損失率［１−｛１−ｐ（ｉ，ｋ）｝×｛１−ｐ（ｋ，ｊ）｝］が上記しきい値Ｌ_ｔｈより小さい中継ノード候補が一つも存在しなければ、上記Ｍ個の中継ノード候補の中で、遅延時間ｄ（ｉ，ｊ）が迂回遅延時間｛ｄ（ｉ，ｋ）＋ｄ（ｋ，ｊ）｝より大きい中継ノード候補の有無を判別し、
無ければ上記直通路を上記通信経路として決定し、
有れば、迂回遅延時間｛ｄ（ｉ，ｋ）＋ｄ（ｋ，ｊ）｝を最小にする中継ノード候補を中継ノードｋ＊とし、該中継ノードｋ＊を用いた迂回経路を上記通信経路として決定する
ことを特徴とするオーバーレイネットワークにおける通信経路決定方法。
【請求項２】
請求項１に記載のオーバーレイネットワークにおける通信経路決定方法であって、
上記中継ノード決定手段は、
上記遅延時間として、複数回測定した遅延時間の平均、最大、最小を含む統計量を用いる
ことを特徴とするオーバーレイネットワークにおける通信経路決定方法。
【請求項３】
ＩＰネットワークに接続する複数のオーバーレイノードによって構成される論理網であるオーバーレイネットワークにおいて、発信元オーバーレイノードから着信先オーバーレイノードへの通信経路を決定する通信経路決定方法であって、
上記オーバーレイネットワークに属する各オーバーレイノードは、
通信品質測定手段と、通信品質取得手段、中継ノード決定手段、中継候補選択手段を具備し、
上記通信品質測定手段は、
自オーバーレイノードｉと着信先オーバーレイノードｊ間の時点ｎでのパケット損失率ｐ（ｉ，ｊ）を求めると共に、遅延時間の測定を複数回行い、測定した遅延時間が予め定めたしきい値Ｄ_ｔｈを超えた割合ｐ_ｄ（ｉ，ｊ）を求め、
上記中継候補選択手段は、
自オーバーレイノードｉと着信先オーバーレイノードｊを除く他のオーバーレイノードの中から複数のオーバーレイノードを中継ノード候補として選択し、
上記通信品質取得手段は、
上記中継候補選択手段が選択した中継ノード候補から、当該中継ノード候補ｋが求めた時点ｎでのパケット損失率ｐ（ｋ，ｊ）と割合ｐ_ｄ（ｋ，ｊ）を取得し、
上記中継ノード決定手段は、
上記中継候補選択手段が選択した複数の中継ノード候補に、「ｐ（ｉ，ｊ）＋ｐ_ｄ（ｉ，ｊ）＞１−｛１−（ｐ（ｉ，ｋ）＋ｐ_ｄ（ｉ，ｋ））｝×｛１−（ｐ（ｋ，ｊ）＋ｐ_ｄ（ｋ，ｊ））｝」の式を満たす中継ノード候補ｋが存在するか否かを判別し、
存在しない場合は、上記中継ノード候補を用いず着信先オーバーレイノードｊへ直接転送する直通路を、自オーバーレイノードｉから着信先オーバーレイノードｊへの通信経路として決定し、
存在する場合は、上記式の右辺を最小にする中継ノード候補を中継ノードｋ＊とし、該中継ノードｋ＊を用いた迂回経路（自オーバーレイノードｉ→中継ノードｋ＊→着信先オーバーレイノードｊ）を上記通信経路として決定する
ことを特徴とするオーバーレイネットワークにおける通信経路決定方法。
【請求項４】
オーバーレイネットワークを構成するオーバーレイノードであって、
請求項１から請求項３のいずれかに記載のオーバーレイネットワークにおける通信経路決定方法における各手段を具備することを特徴とするオーバーレイノード。
【請求項５】
請求項４に記載の複数のオーバーレイノードによって構成されたことを特徴とするオーバーレイネットワーク。
【請求項６】
コンピュータに、請求項１から請求項３のいずれかに記載のオーバーレイネットワークにおける通信経路決定方法における各処理を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネットにおけるエンド・ツー・エンドの通信品質を向上させる技術に係り、特にＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ネットワーク上に論理的に形成されたオーバーレイネットワークを用いた通信経路で、エンド・ツー・エンドの通信品質を効率的に向上させるのに好適な技術に関するものである。
【背景技術】
【０００２】
ＩＰネットワークを代表するインターネットは、多様なアプリケーションの収容を可能とすべく発展・普及してきており、昨今では、ＶｏＩＰ（Ｖｏｉｃｅ  ｏｖｅｒ  ＩＰ）やストリーミングに代表されるＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）に敏感な実時間アプリケーション等の収容も急速に発展している。
【０００３】
これに伴い、エンド・ツー・エンドでの輻輳を回避し、品質を向上するための技術（「エンド・ツー・エンドＱｏＳ管理技術」）をインターネット上で実現することが重要な課題となっている。しかしながら、このような技術を実現する上では、以下に示す問題点がある。
【０００４】
（１）インターネットは既に社会的インフラ化しており、既存のネットワーク構造を大きく変更するような、ネットワークレイヤでの新たな機能拡張は困難である。
（２）インターネットは管理主体の異なる複数のＡＳ（Ａｕｔｏｎｏｍｏｕｓ  Ｓｙｓｔｅｍ）によって形成されており、全てのＡＳに対して一斉に新たな機能を拡張することは困難である。
【０００５】
こうした中、下位のネットワークレイヤを変更することなくエンド・ツー・エンドＱｏＳの向上を可能とする有力な技術として、例えば非特許文献１に記載の、オーバーレイネットワークによるＱｏＳ管理技術が注目されている。
【０００６】
オーバーレイネットワークとは、例えば非特許文献２においても記載のように、既存のリンクを用いて、その上位層に、目的に応じて論理的（仮想的）なリンクを形成し、構成するネットワークである。
【０００７】
このようなオーバーレイネットワークによるＱｏＳ管理の基本的な概念を図１に例示する。図１において、ｘからｙに向けて、破線矢印で表わされる経路にトラヒックが流れているとする。また、この経路上には輻輳しているＩＰルータ２ｄ，２ｅが存在しており、その結果として、ｘ，ｙ間のＱｏＳが低下しているとする。
【０００８】
このとき、オーバーレイノード１ａ，１ｂ，１ｃで形成されるオーバーレイネットワーク１を用いて、実線矢印で表される経路（ｘ→オーバーレイノード１ａ→オーバーレイノード１ｂ→オーバーレイノード１ｃ→ｙ）にトラヒックを迂回させることができれば、上記の輻輳を回避できる。
【０００９】
実際、非特許文献３，４，５では、上記のような迂回経路が実網において多数存在していることを実測に基づいて示している。しかし、非特許文献３と非特許文献５の技術は、オーバーレイネットワークのトポロジをフルメッシュとし、全てのオーバーレイノード間で測定した品質情報を利用して理想的な通信経路計算を行った場合の評価となっており、オーバーレイノードの総数が増加した場合のスケーラビリティ（システムの拡張性）の低下については考慮されていない。
【００１０】
すなわち、オーバーレイノードの総数が大きい場合には、全てのオーバーレイノード間の品質測定情報を用いて通信経路の計算を行うことは現実的には不可能であるという問題がある。
【００１１】
上記問題を回避するため、非特許文献４では迂回経路を提供する中継ノード候補数を制限した場合を評価している。しかし、中継ノード候補は単にランダムに選択しているにすぎず、中継ノード候補の選択方法までは検討していなかった。
【００１２】
一方、非特許文献６において本発明者らは、中継ノード候補を計測データに基づいて適切に制限することにより、全ノードを中継候補として経路探索を行った最適な場合とほぼ同等のＱｏＳ向上を図れることを示している。
【００１３】
しかしながら、この技術では、遅延時間、あるいはパケット損失率といった単一のＱｏＳ尺度のみを考慮した経路決定アルゴリズムであった。実際には、アプリケーションによっては、遅延時間とパケット損失率の２つのＱｏＳを同時に向上する必要がある。
【００１４】
【非特許文献１】Ｌ．Ｚｈｉ  ａｎｄ  Ｐ．Ｍｏｈａｐａｔｒａ，“ＱＲＯＮ：ＱｏＳ−ａｗａｒｅ  ｒｏｕｔｉｎｇ  ｉｎ  ｏｖｅｒｌａｙ  ｎｅｔ−ｗｏｒｋｓ，”ＩＥＥＥ  Ｊ．Ｓｅｌｅｃｔ．Ａｒｅａｓ  Ｃｏｍｍｕｎ．，ｖｏｌ．２２，ｐｐ．２９−４０，Ｊａｎｕａｒｙ  ２００４．
【非特許文献２】ＷＩＤＥプロジェクト，“オーバーレイネットワークによる統合分散環境，”ＷＩＤＥプロジェクト研究報告書，第１７部，２００２．
【非特許文献３】亀井，川原，“エンドホストオーバーレイネットワークによるトラヒックエンジニアリングとその有効性，”信学ソ大，ＢＳ−５−３，２００４．
【非特許文献４】Ｓ．Ｒｅｗａｓｋａｒ  ａｎｄ  Ｊ．Ｋａｕｒ，“Ｔｅｓｔｉｎｇ  ｔｈｅ  Ｓｃａｌａｂｉｌｉｔｙ  ｏｆ  Ｏｖｅｒｌａｙ  Ｒｏｕｔｉｎｇ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅｓ，”Ｐｒｏｃ．ＰＡＭ２００４．Ａｐｒｉｌ  ２００４．
【非特許文献５】Ｓ．Ｂａｎｅｒｊｅｅ，  Ｔ．Ｇ．Ｇｒｉｆｉｎ  ａｎｄ  Ｍ．Ｐｉａｓ，  “Ｔｈｅ  Ｉｎｔｅｒｄｏｍａｉｎ  Ｃｏｎｎｅｃｔｉｖｉｔｙ  ｏｆ  ＰｌａｎｅｔＬａｂ  Ｎｏｄｅｓ，”  Ｐｒｏｃ．  ＰＡＭ２００４，Ａｐｒｉｌ  ２００４．
【非特許文献６】Ｍａｓａｔｏ  Ｕｃｈｉｄａ，Ｓａｔｏｓｈｉ  Ｋａｍｅｉ，Ｒｙｏｉｃｈｉ  Ｋａｗａｈａｒａ，ａｎｄ  Ｔａｋｅｏ  Ａｂｅ，“ＱｏＳ−ａｗａｒｅ  Ｏｖｅｒｌａｙ  Ｒｏｕｔｉｎｇ  ｗｉｔｈ  Ｌｉｍｉｔｅｄ  Ｎｕｍｂｅｒ  ｏｆ  Ａｌｔｅｒｎａｔｉｖｅ  Ｒｏｕｔｅ  Ｃａｎｄｉｄａｔｅｓ  ａｎｄ  ｉｔｓ  Ｅｖａｌｕａｔｉｏｎ，”ＩＥＩＣＥ  Ｔｒａｎｓ．Ｃｏｍｍｕｎ．，ｖｏｌ．Ｅ８９−Ｂ，ｎｏ．９，ｐｐ．２３６１−２３７４，Ｓｅｐ．  ２００６．
【発明の開示】
【発明が解決しようとする課題】
【００１５】
解決しようとする問題点は、従来のオーバーレイネットワークにおける、中継ノード候補を計測データに基づいて適切に制限することにより、全ノードを中継候補として経路探索を行った最適な場合とほぼ同等のＱｏＳ向上を図る技術では、遅延時間、あるいはパケット損失率といった単一のＱｏＳ尺度のみを考慮した経路決定アルゴリズムであって、例えば遅延時間とパケット損失率の２つのＱｏＳを同時に向上する必要があるアプリケーションには適用できない点である。
【００１６】
本発明の目的は、これら従来技術の課題を解決し、複数のＱｏＳを同時に考慮した、オーバーレイネットワークにおける高品質な通信経路の決定を可能とし、通信品質の改善を図ることである。
【課題を解決するための手段】
【００１７】
上記目的を達成するため、本発明では、（１）オーバーレイネットワークにおける通信経路を決定するために、各オーバーレイノード（以下、単にノードとも記載する）に、通信品質測定手段、通信品質取得手段、中継ノード決定手段、中継候補選択手段を設け、中継ノード決定手段において、通信品質測定手段が測定した自ノードと他の各ノード間の複数ＱｏＳと、中継候補選択手段が選択した中継ノード候補から通信品質取得手段が取得した当該中継ノード候補と着信先ノード間の複数ＱｏＳ測定結果とを比較して、中継ノードは用いず着信先ノードへ直接転送する経路（直通路）もしくは中継ノードを経由する経路（迂回経路）のいずれか通信品質の良い方を、自ノードから着信先ノードへの通信経路として決定することを特徴とする。例えば、オーバーレイネットワークに属する各ノードｉ（ｉ＝１〜Ｎ）は、自ノードを発信元ノードとし他ノードｊ（ｉを除く全て）を着信先ノードｊとして、通信品質測定手段により、発信元ノードｉと着信先ノードｊの間の時点ｎにおける複数のＱｏＳを測定しておき、その一方で中継候補選択手段によりＮ個のノードの中からＭ個のノードを中継ノード候補として選択し、中継ノード候補ｋと着信先ノードｊとの間の複数ＱｏＳ測定結果を、通信品質取得手段により当該中継ノード候補ｋから取得し、中継ノード決定手段において、自ノードｉと着信先ノードｊの間の通信品質と、自ノードｉから中継ノード候補ｋを経由して着信先ノードｊに到達するときの通信品質とを比較し、前者の方がよい品質を与える場合には直通路を通信経路として決定し、また、後者がよい品質を与える場合には、その中でも最も高品質を提供するノードｋ＊を中継ノードとし、この中継ノードｋ＊を用いた迂回経路（自ノードｉ→中継ノードｋ＊→着信先ノードｊ）を通信経路と決定する。尚、（２）複数ＱｏＳとして、ノード間の遅延時間とパケット損失率を用いる。この場合、（３）ノードｉとノードｊの間の遅延時間をｄ（ｉ，ｊ）、パケット損失率をｐ（ｉ，ｊ）とし、通信品質測定手段は、一定周期毎に自ノードｉから中継ノード候補ｋまでの時刻ｎにおける遅延時間ｄ（ｉ，ｋ）とパケット損失率ｐ（ｉ，ｋ）を測定し、通信品質取得手段は、中継候補選択手段が選択した中継ノード候補ｋと着信先ノードｊの間の遅延時間ｄ（ｋ，ｊ）とパケット損失率ｐ（ｋ，ｊ）を取得し、中継ノード決定手段は、自ノードｉから着信先ノードｊへの経路を決定するときにＭ個の中継ノード候補のいずれかを用いて迂回するか否かを決定する際、Ｍ個の中継ノード候補のうち、中継ノードｋを経由したときのパケット損失率を「１−｛１−ｐ（ｉ，ｋ）｝×｛１−ｐ（ｋ，ｊ）｝」の式により推定し、その値が予め定めたしきい値Ｌ_ｔｈよりも小さくなるような中継ノードｋが少なくとも一つ存在すれば、それらのノードの全てを中継ノード候補として抽出し（その抽出した数をＭ’（≦Ｍ）とする）、これらＭ’個の中継ノード候補のうち、「ｄ（ｉ，ｋ）＋ｄ（ｋ，ｊ）」を最小にするｋを中継ノードｋ＊とし、もし「ｐ（ｉ，ｊ）＞Ｌ_ｔｈ」ならば中継ノードｋ＊を用いた迂回経路（自ノードｉ→中継ノードｋ＊→着信先ノードｊ）を通信経路として決定し、もし「ｐ（ｉ，ｊ）≦Ｌ_ｔｈ」な���ば「ｄ（ｉ，ｊ）」と「ｄ（ｉ，ｋ＊）＋ｄ（ｋ＊，ｊ）」とを比較し、「ｄ（ｉ，ｊ）＜ｄ（ｉ，ｋ＊）＋ｄ（ｋ＊，ｊ）」ならば直通路を通信経路として決定し、そうでなければ、すなわち、「ｄ（ｉ，ｊ）≧ｄ（ｉ，ｋ＊）＋ｄ（ｋ＊，ｊ）」ならば、中継ノードｋ＊を用いた迂回経路（自ノードｉ→中継ノードｋ＊→着信先ノードｊ）を通信経路として決定する。さらに、もし「１−｛１−ｐ（ｉ，ｋ）｝×｛１−ｐ（ｋ，ｊ）｝＜Ｌ_ｔｈ」を満たす中継ノードが一つも存在しなければ、Ｍ個の中継ノード候補ｋの中で、「ｄ（ｉ，ｊ）＞ｄ（ｉ，ｋ）＋ｄ（ｋ，ｊ）」を満たすｋが存在するか否かを調べ、存在しない場合は、ノードｉからノードｊの直通路を通信経路として決定し、存在する場合は、右辺を最小にするｋを中継ノードｋ＊とし、この中継ノードｋ＊を用いた迂回経路（自ノードｉ→中継ノードｋ＊→着信先ノードｊ）を通信経路として決定する。尚、（４）遅延時間として、複数回測定した遅延時間に対して統計量（平均、最大、最小等）を計算したものを使用する。あるいは、（５）通信品質測定手段により、ノードｉとノードｊ間において複数回遅延測定を実施し、そのうち、予め定めたしきい値Ｄ_ｔｈを超えた割合をｐ_ｄ（ｉ，ｊ）とし、またパケット損失率をｐ（ｉ，ｊ）として求め、中継ノード決定手段は、中継候補選択手段が選択したＭ個の中継ノード候補のうち、「ｐ（ｉ，ｊ）＋ｐ_ｄ（ｉ，ｊ）＞１−｛１−（ｐ（ｉ，ｋ）＋ｐ_ｄ（ｉ，ｋ））｝×｛１−（ｐ（ｋ，ｊ）＋ｐ_ｄ（ｋ，ｊ））｝」の式を満たすｋが存在するか調べ、存在しない場合は、ノードｉからノードｊの直通路を通信経路として決定し、存在する場合は、右辺を最小にするｋを中継ノードｋ＊とし、この中継ノードｋ＊を用いた迂回経路（自ノードｉ→中継ノードｋ＊→着信先ノードｊ）を通信経路として決定する。ここで、予め定めたしきい値Ｄ_ｔｈを超えた割合ｐ_ｄ（ｉ，ｊ）は、例えばしきい値をＤ_ｔｈ＝１００ｍｓに設定すると、１００ｍｓを超えて着信先ノードに到着する確率を意味し、リアルタイムアプリケーションでは、例えば１００ｍｓを越えて到着したパケットは再生に間に合わず廃棄することがあり、パケット損と同じ扱いになる。従って、予め定めたしきい値Ｄ_ｔｈを超えた割合ｐ_ｄ（ｉ，ｊ）にパケット損失率ｐ（ｉ，ｊ）を加えた値は、受信側での無効パケットの割合を意味するため、この技術では、遅延とパケット損失率を集約して扱っている。
【発明の効果】
【００１８】
本発明によれば、複数ＱｏＳを考慮したオーバーレイネットワークにおける通信経路の決定を行うことにより、通信品質の改善を図ることが可能となる。
【発明を実施するための最良の形態】
【００１９】
以下、図を用いて本発明を実施するための最良の形態例を説明する。図１は、本発明に係るオーバーレイネットワークを設けたＩＰネットワークの構成例を示すブロック図であり、図２は、図１におけるオーバーレイネットワークの基本構成の一例を示すブロック図、図３は、図１におけるオーバーレイノードの本発明に係る構成例を示すブロック図、図４は、図１におけるオーバーレイノードの本発明に係る処理動作例を示すフローチャート、図５は、本発明による第１の効果例を示す説明図、図６は、本発明による第２の効果例を示す説明図である。
【００２０】
図１に示すように、ＩＰルータ２ａ〜２ｅで構成されるＩＰネットワーク（図中「ＩＰ−ＮＷ」と記載）３において、ｘからｙに向けて、破線矢印で表わされる経路にトラヒックが流れている際、この経路上のＩＰルータ２ｄ，２ｅ間で輻輳が発生すると、その結果として、ｘ，ｙ間のＱｏＳが低下する。
【００２１】
このとき、オーバーレイノード（以下、単にノードとも記載する）１ａ，１ｂ，１ｃで形成されるオーバーレイネットワーク（図中「Ｏｖｅｒｌａｙ−ＮＷ」と記載）１を用いて、実線矢印で表される経路（ｘ→オーバーレイノードａ→オーバーレイノードｂ→オーバーレイノードｃ→ｙ）にトラヒックを迂回させることで、上述の輻輳を回避することができる。
【００２２】
このオーバーレイネットワーク１においては、図２に示すように、各オーバーレイノード（１）２１〜（５）２５は他のノードと論理的に接続している。つまり、オーバーレイネットワーク１に存在する他のノードのＩＰアドレスを知っており、通信可能な状態にあり、また、中継ノード候補を管理する管理サーバ２０が存在する。
【００２３】
各オーバーレイノード（１）２１〜（５）２５は、発着ノード（発信元オーバーレイノードおよび着信先オーバーレイノード）として振る舞い、必要に応じて他の発着ノードペアの中継ノードとしても振る舞う。また、各オーバーレイノード（１）２１〜（５）２５は、他ノードとの通信経路を一定周期毎に更新する。
【００２４】
管理サーバ２０は、時点ｎでの、各オーバーレイノード（１）２１〜（５）２５の中継ノードとしての適正を管理している。
【００２５】
以下、オーバーレイノード（１）２１を発ノードとして、図３を用いて、その構成と動作の説明をすすめる。尚、他のオーバーレイノード（１）２１〜（５）２５も各々が独立に同様の振る舞いをする。
【００２６】
図３に示すように、本例のオーバーレイノード３０（図２のオーバーレイノード（１）２１に相当）は、プログラムされたコンピュータ処理を実行する機能として、通信品質測定部３０ａ、通信品質取得部３０ｂ、中継ノード決定部３０ｃ、中継候補選択部３０ｄを具備する。すなわち、オーバーレイノード３０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）や主メモリ、表示装置、入力装置、外部記憶装置からなるコンピュータ構成からなり、光ディスク駆動装置等を介してＣＤ−ＲＯＭ等の記憶媒体に記録されたプログラムやデータを外部記憶装置内にインストールした後、この外部記憶装置から主メモリに読み込みＣＰＵで処理することにより、通信品質測定部３０ａ、通信品質取得部３０ｂ、中継ノード決定部３０ｃ、中継候補選択部３０ｄの各処理部の機能を実行する。
【００２７】
このような構成により本例のオーバーレイノード３０では、図１に示すＩＰネットワーク３に接続する複数のオーバーレイノード１ａ〜１ｃによって構成される論理網であるオーバーレイネットワーク１において、発信元ノードから着信先ノードへの通信経路を決定する際、発着ノード間で中継候補となるオーバーレイノード毎の経路上のＱｏＳの測定データを比較することで、例えば遅延時間とパケット損失率といった、複数のＱｏＳを同時に考慮した、オーバーレイネットワーク１における高品質な通信経路の決定を行う。
【００２８】
以下、その具体的な動作説明を、図３と共に図４を用いて説明する。
【００２９】
まず、オーバーレイノード３０は、通信品質測定部３０ａにより、例えばＩＣＭＰ（Ｉｎｔｅｒｎｅｔ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ  Ｐｒｏｔｏｃｏｌ）等を用いて、一定周期毎に（ステップＳ４０１）、時点ｎにおける他のノード間との複数ＱｏＳを測定して保持し（ステップＳ４０２）、中継候補選択部３０ｄにより、時点ｎにおいて最適と思われる中継ノード候補を、予め設定された数（Ｍ個）だけ選択する（ステップＳ４０３）。
【００３０】
ここで、中継候補選択部３０ｄは、管理サーバ２０から、この管理サーバ２０が管理している全ノードに関しての適正情報、例えば時点ｎでの最適中継ノードである確率情報等を読み出し、最適中継ノードである確率の高い上位Ｍ個を選択する。
【００３１】
次に、オーバーレイノード３０は、通信品質取得部３０ｂにより、中継候補選択部３０ｄが選択したＭ個の中継ノード候補から、当該中継ノード候補と各ノードとの間の複数ＱｏＳ測定結果を取得する（ステップＳ４０４）。
【００３２】
そして、オーバーレイノード３０は、中継ノード決定部３０ｃにより、通信品質測定部３０ａが測定した複数ＱｏＳの測定結果と通信品質取得部３０ｂが取得した複数ＱｏＳ測定結果とを用いて、中継ノード候補は用いず着信先ノードへ直接転送する経路（「直通路」）での通信品質と、中継ノード候補を経由して着信先ノードへ転送する迂回経路での通信品質とを求め、それぞれを比較し（ステップＳ４０５）、直通路での通信品質の方が良い場合には（ステップＳ４０６）直通路を自ノードから着信先ノードへの通信経路として決定し（ステップＳ４０７）、迂回経路での通信品質の方が良い場合には最も通信品質の良い中継ノード候補を中継ノードとし、この中継ノードを用いた迂回経路（自ノード→中継ノード→着信先ノード）を自ノードから着信先ノードへの通信経路として決定する（ステップＳ４０８）。
【００３３】
例えば、複数ＱｏＳとして遅延時間とパケット損失率を用いた場合、以下のようにして、自ノードから着信先ノードへの通信経路の決定を行うことができる。
【００３４】
ノードｉとノードｊの間の遅延時間をｄ（ｉ，ｊ）、パケット損失率をｐ（ｉ，ｊ）とし、通信品質測定部３０ａは、例えばＩＣＭＰ等を用いて、一定周期毎に自ノードｉから中継ノード候補ｋまでの時刻ｎにおける遅延時間ｄ（ｉ，ｋ）とパケット損失率ｐ（ｉ，ｋ）を測定し、通信品質取得部３０ｂは、中継候補選択部ｄが選択した中継ノード候補ｋと着信先ノードｊの間の遅延時間ｄ（ｋ，ｊ）とパケット損失率ｐ（ｋ，ｊ）を取得する。
【００３５】
そして、中継ノード決定部３０ｃは、自ノードｉから着信先ノードｊへの経路を決定するときにＭ個の中継ノード候補のいずれかを用いて迂回するか否かを決定する際、Ｍ個の中継ノード候補のうち、中継ノードｋを経由したときのパケット損失率を「１−｛１−ｐ（ｉ，ｋ）｝×｛１−ｐ（ｋ，ｊ）｝」の式により求め、求めた値が予め定めたしきい値Ｌ_ｔｈよりも小さくなるような中継ノードｋが少なくとも一つ存在すれば、それらのノードの全てを中継ノード候補として抽出し（その抽出した数をＭ’（≦Ｍ）とする）、これらＭ’個の中継ノード候補のうち、「ｄ（ｉ，ｋ）＋ｄ（ｋ，ｊ）」を最小にするｋを中継ノードｋ＊とし、もし「ｐ（ｉ，ｊ）＞Ｌ_ｔｈ」ならば中継ノードｋ＊を用いた迂回経路（自ノードｉ→中継ノードｋ＊→着信先ノードｊ）を通信経路として決定し、もし「ｐ（ｉ，ｊ）≦Ｌ_ｔｈ」ならば「ｄ（ｉ，ｊ）」と「ｄ（ｉ，ｋ＊）＋ｄ（ｋ＊，ｊ）」とを比較し、「ｄ（ｉ，ｊ）＜ｄ（ｉ，ｋ＊）＋ｄ（ｋ＊，ｊ）」ならば直通路を通信経路として決定し、そうでなければ、すなわち、「ｄ（ｉ，ｊ）≧ｄ（ｉ，ｋ＊）＋ｄ（ｋ＊，ｊ）」ならば、中継ノードｋ＊を用いた迂回経路（自ノードｉ→中継ノードｋ＊→着信先ノードｊ）を通信経路として決定し、さらに、もし「１−｛１−ｐ（ｉ，ｋ）｝×｛１−ｐ（ｋ，ｊ）｝＜Ｌ_ｔｈ」を満たす中継ノードが一つも存在しなければ、Ｍ個の中継ノード候補ｋの中で、「ｄ（ｉ，ｊ）＞ｄ（ｉ，ｋ）＋ｄ（ｋ，ｊ）」を満たすｋが存在するか否かを調べ、存在しない場合は、ノードｉからノードｊの直通路を通信経路として決定し、存在する場合は、右辺を最小にするｋを中継ノードｋ＊とし、この中継ノードｋ＊を用いた迂回経路（自ノードｉ→中継ノードｋ＊→着信先ノードｊ）を通信経路として決定することでも良い。
【００３６】
次に、このような通信経路を決定する他の実施例の詳細を以下に説明する。
【００３７】
通信品質測定部３０ａは、例えばＩＣＭＰ等を用いて、測定周期τ毎に自身（オーバーレイノード（１））と他のオーバーレイノードｊ（ｊ＝（２）〜（５））との間の時点ｎにおける遅延時間ｄ（１，ｊ）およびパケット損失率ｐ（１，ｊ）を測定する。
【００３８】
尚、同様に、各オーバーレイノードｉ（ｉ＝（２）〜（５））も、それぞれ具備した通信品質測定部により、他のオーバーレイノードｊ（ｊ＝ｉを除くｊ＝（１）〜（５）のいずれか）との遅延時間ｄ（ｉ，ｊ）およびパケット損失率ｐ（ｉ，ｊ）を測定している。このように、ＱｏＳ測定を実施したならば、その旨を中継候補選択部３０ｄに通知する。
【００３９】
中継候補選択部３０ｄは、図２に示す管理サーバ２０にＭ個の中継ノード候補の通知を要求し、その結果を中継ノード決定部３０ｃに通知してもらう。
【００４０】
中継ノード決定部３０ｃは、管理サーバ２０からの通知を受けると、通知通信品質取得部３０ｂに対して、管理サーバ２０から通知された中継ノード候補ｋから、当該オーバーレイノードｋとオーバーレイノードｊ間のＱｏＳ測定結果（遅延時間ｄ（ｋ，ｊ）、パケット損失率ｐ（ｋ，ｊ））を取得するように指示する。
【００４１】
通信品質取得部３０ｂは、中継ノード決定部３０ｃからの指示に応じて中継ノード候補ｋから遅延時間ｄ（ｋ，ｊ）とパケット損失率ｐ（ｋ，ｊ）を取得し、中継ノード決定部３０ｃにそれを通知する。以上の手順を、Ｍ個全ての中継ノード候補に対して行う。
【００４２】
中継ノード決定部３０ｃは、自ノードiから中継ノード候補ｋまでの遅延時間ｄ（i，ｋ）とパケット損失率ｐ（i，ｋ）を通信品質測定部３０ａから取得し、それらの情報と、通信品質取得部３０ｂから通知された中継ノード候補ｋと着信先ノードｊ間の遅延時間ｄ（ｋ，ｊ）とパケット損失率ｐ（ｋ，ｊ）を用いて、以下の手順で通信経路を決定する。
【００４３】
Ｍ個の中継ノード候補のうち、当該中継ノード候補ｋを経由したときのパケット損失率を［１−｛１−ｐ（ｉ，ｋ）｝×｛１−ｐ（ｋ，ｊ）｝］により求め、求めた値が予め定めたしきい値Ｌ_ｔｈよりも小さくなるような中継ノードｋが少なくとも一つ存在すれば、それらのノードの全てを中継ノード候補として抽出し（抽出した数をＭ’（≦Ｍ）とする）、これらＭ’個の中継ノード候補のうち、｛ｄ（ｉ，ｋ）＋ｄ（ｋ，ｊ）｝を最小にする中継ノード候補を中継ノードｋ＊とし、もし「ｐ（ｉ，ｊ）＞Ｌ_ｔｈ」ならば、中継ノードｋ＊を用いた迂回経路（自ノードｉ→中継ノードｋ＊→着信先ノードｊ）を、自ノードｉから着信先ノードｊへの通信経路として決定し、もし「ｐ（ｉ，ｊ）≦Ｌ_ｔｈ」ならば、「ｄ（ｉ，ｊ）」と「ｄ（ｉ，ｋ＊）＋ｄ（ｋ＊，ｊ）」とを比較し、「ｄ（ｉ，ｊ）＜ｄ（ｉ，ｋ＊）＋ｄ（ｋ＊，ｊ）」ならば、中継ノードｋ＊を用いない直通路を通信経路として決定し、そうでなければ、中継ノードｋ＊を用いた迂回経路（自ノードｉ→中継ノードｋ＊→着信先ノードｊ）を通信経路として決定する。
【００４４】
さらに、もし「１−｛１−ｐ（ｉ，ｋ）｝×｛１−ｐ（ｋ，ｊ）｝＜Ｌ_ｔｈ」を満たす中継ノードが一つも存在しなければ、Ｍ個の中継ノード候補ｋの中で、「ｄ（ｉ，ｊ）＞ｄ（ｉ，ｋ）＋ｄ（ｋ，ｊ）」を満たす中継ノード候補ｋが存在するか否かを判定し、存在しない場合は、ノードｉからノードｊの直通路を通信経路として決定し、存在する場合は、右辺（「ｄ（ｉ，ｋ）＋ｄ（ｋ，ｊ）」）を最小にする中継ノード候補ｋを中継ノードｋ＊とし、この中継ノードｋ＊を用いた迂回経路（自ノードｉ→中継ノードｋ＊→着信先ノードｊ）を通信経路として決定する。
【００４５】
尚、通信経路の決定後、中継ノードｋ＊に対して、通信経路を「自ノードi→中継ノードｋ＊→着信先ノードｊ」と設定するように要求する。以上の手順を全ての着信先ノードｊ（ｊ＝（２）〜（５））に対して行う。
【００４６】
要求を受けた中継ノードｋ＊は、当該要求に応じて「ノードi→中継ノードｋ＊→着信先ノードｊ」の経路を設定する。その後、自身が中継ノードとして選択された旨を管理サーバ２０に通知する。
【００４７】
管理サーバ２０は、中継ノードｋ＊からの通知を受けると、当該ノードｋ＊が中継ノードとなった回数を管理しておき、次回の中継ノード候補選定時にその情報を用いる。例えば、次回の中継ノード候補選択時には、過去に中継ノードとして選択された頻度が高いノードが選択される確率を大きくしておく。
【００４８】
尚、上述の遅延時間として、複数回測定した遅延時間に対して統計量（平均、最大、最小等）を計算したものを使用してもよい。
【００４９】
また、通信経路の決定を、以下のようにして行うことでも良い。
【００５０】
通信品質測定部３０ａにより、ノードｉとノードｊ間において、複数回、遅延測定を実施し、そのうち、予め定めたしきい値Ｄ_ｔｈを超えた割合をｐ_ｄ（ｉ，ｊ）とし、またパケット損失率をｐ（ｉ，ｊ）として求め、中継ノード決定手段は、中継候補選択手段が選択したＭ個の中継ノード候補のうち、「ｐ（ｉ，ｊ）＋ｐ_ｄ（ｉ，ｊ）＞１−｛１−（ｐ（ｉ，ｋ）＋ｐ_ｄ（ｉ，ｋ））｝×｛１−（ｐ（ｋ，ｊ）＋ｐ_ｄ（ｋ，ｊ））｝」の式を満たすｋが存在するか否かを判別し、存在しない場合は、ノードｉからノードｊの直通路を通信経路として決定し、存在する場合は、右辺（「１−｛１−（ｐ（ｉ，ｋ）＋ｐ_ｄ（ｉ，ｋ））｝×｛１−（ｐ（ｋ，ｊ）＋ｐ_ｄ（ｋ，ｊ））｝」）を最小にするｋを中継ノードｋ＊とし、この中継ノードｋ＊を用いた迂回経路（自ノードｉ→中継ノードｋ＊→着信先ノードｊ）を通信経路として決定する。
【００５１】
ここで、測定した遅延時間が予め定めたしきい値Ｄ_ｔｈを超えた割合ｐ_ｄ（ｉ，ｊ）は、例えばしきい値をＤ_ｔｈ＝１００ｍｓに設定すると、１００ｍｓを超えて着信先ノードに到着する確率を意味し、リアルタイムアプリケーションでは、例えば１００ｍｓを越えて到着したパケットは再生に間に合わず廃棄することがあり、パケット損と同じ扱いになる。
【００５２】
従って、予め定めたしきい値Ｄ_ｔｈを超えた割合ｐ_ｄ（ｉ，ｊ）にパケット損失率ｐ（ｉ，ｊ）を加えた値は、受信側での無効パケットの割合を意味するため、この技術では、遅延とパケット損失率を集約して扱っている。
【００５３】
このような本例の実行評価結果を図５，６に示す。本評価においては、国内で適当に地理的に離れた１８箇所のＩＳＰ（Ｉｎｔｅｒｎｅｔ  Ｓｅｒｖｉｃｅｓ  Ｐｒｏｖｉｄｅｒ）に利用者として契約したコンピュータ端末において、各端末間で１時間毎に毎秒１パケットを３分間送出する動作を２４時間実施し、各時点で遅延時間とパケット損失数を測定したデータを用いた。
【００５４】
ｎ時間目（ｎ＝１，２，…２４）における端末ｉと端末ｊの間の遅延時間（３分間送出したパケットの遅延時間のうち、最大遅延時間）ｄ（ｎ，ｉ，ｊ）とパケット損失率（３分間送出したパケット数（３×６０＝１８０個）で、損失した数を割った値）ｐ（ｎ，ｉ，ｊ）とを用い、１８箇所の端末をオーバーレイノードとみなし、各ノードｉは他のノードｊへの通信経路を本例の技術に従って決定していく。尚、中継ノード候補数Ｍは「１６（Ｍ＝１６）」とした。
【００５５】
このときの全ノードペアの遅延時間とパケット損失率の累積分布（２４時間分）の９５パーセンタイルを図５，図６に示す。
【００５６】
図５中、「ｌｏｓｓ_ｔｈ」は、しきい値Ｌ_ｔｈを意味し、「ｌｏｓｓ_ｔｈ＝ｘ」のｘはしきい値の値を意味し、ここでは、しきい値として、「０」と「１／１８０」および「２／１８０」の３通りを用いて測定を実施している。
【００５７】
図５において、比較として、経路制御を行わなかった場合、すなわち、すべて直通路を選択した場合（ｄｅｆａｕｌｔ「＋」）と、遅延時間のみを用いた場合（ｄｅｌａｙ  ｏｐｔｉｍａｌ「×」）、およびパケット損失率のみを用いた場合（ｌｏｓｓ  ｏｐｔｉｍａｌ「＊」）の結果も示す。
【００５８】
図５に示す内容から、しきい値Ｌ_ｔｈを「０」あるいは「１／１８０」に設定した場合には、遅延とパケット損失率の両方を同時に改善できていることがわかる。
【００５９】
また、図６においては、中継ノード候補数を「Ｍ＝４」に制限した場合の例を示す。この図６に示す内容から、中継ノード候補数を制限しても、良い性能を示すことが確認できる。
【００６０】
以上、図１〜図６を用いて説明したように、本例では、オーバーレイネットワークにおける通信経路を決定するために、各オーバーレイノードに、通信品質測定部３０ａ、通信品質取得部３０ｂ、中継ノード決定部３０ｃ、中継候補選択部３０ｄを設け、中継ノード決定部３０ｃにおいて、通信品質測定部３０ａが測定した自ノードと他の各ノード間の複数ＱｏＳと、中継候補選択部３０ｄが選択した中継ノード候補から通信品質取得部３０ｂが取得した当該中継ノード候補と着信先ノード間の複数ＱｏＳ測定結果とを比較して、中継ノードは用いず着信先ノードへ直接転送する経路（直通路）もしくは中継ノードを経由する経路（迂回経路）のいずれか通信品質の良い方を、自ノードから着信先ノードへの通信経路として決定する。
【００６１】
例えば、オーバーレイネットワークに属する各ノードｉ（ｉ＝１〜Ｎ）は、自ノードを発信元ノードとし他ノードｊ（ｉを除く全て）を着信先ノードｊとして、通信品質測定部３０ａにより、発信元ノードｉと着信先ノードｊの間の時点ｎにおける複数のＱｏＳを測定し保持する。
【００６２】
その一方で中継候補選択部３０ｄによりＮ個のノードの中からＭ個のノードを中継ノード候補として選択し、中継ノード候補ｋと着信先ノードｊとの間の複数ＱｏＳ測定結果を、通信品質取得部３０ｄにより当該中継ノード候補ｋから取得し、中継ノード決定部３０ｃにおいて、自ノードｉと着信先ノードｊの間の通信品質（直通路での通信品質）と、自ノードｉから中継ノード候補ｋを経由して着信先ノードｊに到達するときの通信品質（迂回経路での通信品質）とを比較し、前者（直通路での通信品質）の方がよい品質を与える場合には直通路を通信経路として決定し、また、後者（迂回経路での通信品質）がよい品質を与える場合には、その中でも最も高品質を提供する中継ノード候補を中継ノードｋ＊とし、この中継ノードｋ＊を用いた迂回経路（自ノードｉ→中継ノードｋ＊→着信先ノードｊ）を通信経路と決定する。
【００６３】
これにより、本例によれば、複数ＱｏＳを考慮したオーバーレイネットワークにおける通信経路の決定を行うことができ、通信品質の改善を図ることが可能となる。
【００６４】
尚、本発明は、図１〜図６を用いて説明した例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。例えば、本例では、複数ＱｏＳとして、ノード間の遅延時間とパケット損失率を用いているが、これらに限るものではない。
【００６５】
また、本例では、オーバーレイノード３０における各処理部（通信品質測定部３０ａ、通信品質取得部３０ｂ、中継ノード決定部３０ｃ、中継候補選択部３０ｄ）は、ＣＰＵや記憶装置からなる、プログラムにより各機能の実行が可能なコンピュータで構成するものとしているが、各処理部の全てもしくは幾つかを、論理素子回路からなるハードウェア構成としても良い。
【００６６】
また、本例でのコンピュータ構成例に関しても、キーボードや光ディスクの駆動装置の無いコンピュータ構成としても良い。また、本例では、光ディスクを記録媒体として用いているが、ＦＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ）等を記録媒体として用いることでも良い。また、プログラムのインストールに関しても、通信装置を介してネットワーク経由でプログラムをダウンロードしてインストールすることでも良い。
【図面の簡単な説明】
【００６７】
【図１】本発明に係るオーバーレイネットワークを設けたＩＰネットワークの構成例を示すブロック図である。
【図２】図１におけるオーバーレイネットワークの基本構成の一例を示すブロック図である。
【図３】図１におけるオーバーレイノードの本発明に係る構成例を示すブロック図である。
【図４】図１におけるオーバーレイノードの本発明に係る処理動作例を示すフローチャートである。
【図５】本発明による第１の効果例を示す説明図である。
【図６】本発明による第２の効果例を示す説明図である。
【符号の説明】
【００６８】
１：オーバーレイネットワーク（Ｏｖｅｒｌａｙ−ＮＷ）、１ａ〜１ｃ：オーバーレイノード、２ａ〜２ｅ：ＩＰルータ、３：ＩＰネットワーク（ＩＰ−ＮＷ）、４：輻輳、２０：管理サーバ、２１〜２５：オーバーレイノード（１）〜（５）、３０：オーバーレイノード、３０ａ：通信品質測定部、３０ｂ：通信品質取得部、３０ｃ：中継ノード決定部、３０ｄ：中継候補選択部。
【図１】
0004749392.tif 000002
【図２】
0004749392.tif 000003
【図３】
0004749392.tif 000004
【図４】
0004749392.tif 000005
【図５】
0004749392.tif 000006
【図６】
0004749392.tif 000007