説明

通信径路決定システムと方法およびプログラム

【課題】オーバーレイネットワークにおける測定コストを削減しつつ、通信品質の改善を図る。
【解決手段】オーバーレイネットワークを構成する各ノード(オーバーレイノード1a〜1c)を、ごく一部の少数の上位ノード21〜25と、それ以外の大多数の一般ノード26a〜26dの2階層に分け、少数の上位ノード21〜25間についてはフルメッシュでの通信品質を測定するが、大多数の一般ノード26a〜26d間については、直通の通信品質を測定することなく、オーバーレイネットワークにおける高品質な通信経路を決定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、インターネット等のIP(Internet Protocol)ネットワークにおけるエンド・ツー・エンドの通信品質を向上させる技術に係り、特にIPネットワーク上に論理的に形成されたオーバーレイネットワークを用いた通信経路で、エンド・ツー・エンドの通信品質を効率的に向上させるのに好適な技術に関するものである。
【背景技術】
【0002】
IPネットワークを代表するインターネットは、多様なアプリケーションの収容を可能とすべく発展・普及してきており、昨今では、VoIP(Voice over IP)やストリーミングに代表されるQoS(Quality of Service)に敏感な実時間アプリケーション等の収容も急速に発展している。
【0003】
これに伴い・エンド・ツー・エンドでの輻輳を回避し、品質を向上するための技術(「エンド・ツー・エンドQoS管理技術」)をインターネット上で実現することが重要な課題となっている。しかしながら、このような技術を実現する上では、以下に示す問題点がある。
【0004】
(1)インターネットは既に社会的インフラ化しており、既存のネットワーク構造を大きく変更するような、ネットワークレイヤでの新たな機能拡張は困難である。
【0005】
(2)インターネットは管理主体の異なる複数のAS(Autonomous System)によって形成されており、全てのASに対して一斉に新たな機能を拡張することは困難である。
【0006】
こうした中、下位のネットワークレイヤを変更することなくエンド・ツー・エンドQoSの向上を可能とする有力な技術として、例えば非特許文献1に記載の、オーバーレイネットワークによるQoS管理技術が注目されている。
【0007】
オーバーレイネットワークとは、例えば非特許文献2においても記載のように、既存のリンクを用いて、その上位層に目的に応じて論理的(仮想的)なリンクを形成し、構成するネットワークである。
【0008】
このような、オーバーレイネットワークによるQoS管理の基本的な概念を図1に例示する。図1において、1a〜1cはオーバーレイネットワーク1を構成するノード(オーバーレイノード)であり、2a〜2eはIPネットワーク2を構成するIPルータであり、xからyに向けて、破線矢印で表わされる経路にトラヒックが流れているとする。また、この経路上には輻輳しているIPルータが存在しており、その結果として、x,y間のQoSが低下しているとする。
【0009】
このとき、オーバーレイノード1a,1b,1cで形成されるオーバーレイネットワーク1を用いて、実線矢印で表される経路(x→オーバーレイノード1a→オーバーレイノード1b→オーバーレイノード1c→y)にトラヒックを迂回させることができれば、上記の輻輳を回避できる。
【0010】
実際、非特許文献3,4,5では、上記のような迂回経路が実網において多数存在していることを実測に基づいて示している。しかし、非特許文献3と非特許文献5の結果は、オーバーレイネットワークのトポロジをフルメッシュとし、全てのオーバーレイノード間で測定した品質情報を利用して理想的な通信経路計算を行った場合の評価となっており、オーバーレイノードの総数が増加した場合のスケーラビリティ(システムの拡張性)の低下については考慮されていない。
【0011】
すなわち、オーバーレイノードの総数が大きい場合には、全てのオーバーレイノード間の品質測定情報を用いて通信経路の計算を行うことは現実的には不可能であるという問題がある。
【0012】
このような問題を回避するため、非特許文献4では、迂回経路を提供する中継ノード候補数を制限した場合を評価している。しかし、中継ノード候補は単にランダムに選択しているにすぎず、中継ノード候補の選択方法までは検討していなかった。
【0013】
一方、特許文献1において、本発明者らは、中継ノード候補を計測データに基づいて一定数以下に適切に制限することにより、全ノードを中継候補として経路探索を行った最適な場合とほぼ同等のQoS向上を図れることを示している。
【0014】
しかしながら、この技術では、全てのノードペアに対する経路について、全ノードペアの直通の品質を用いて、直通路と迂回路の通信品質を比較することにより適切な経路を決定していた。
【0015】
つまり、中継路探索においては全経路探索は行っていない(中継ノード候補を一定数に制限している)ものの、各ノードペアでの通信品質は依然として測定する必要があり、測定負荷自体は低減できていないという問題があった。
【0016】
【特許文献1】特開2008−053794号公報
【非特許文献1】L.Zhi and P.Mohapatra,“QRON:QoS−aware routing in overlay net−works,” IEEE J.Select.Areas Commun.vol.22,pp.29−40,January 2004.
【非特許文献2】WIDE プロジェクト,“オーバーレイネットワークによる統合分散環境,”WIDEプロジヱクト研究報告書,第17部,2002.
【非特許文献3】亀井,川原,“エンドホストオーバーレイネットワークによるトラヒックエンジニアリングとその有効性,”信学ソ大,BS−5−3,2004.
【非特許文献4】S.Rewaskar and J.Kaur,“Testing the Scalability of Overlay Routing Infrastructures,” Proc.;PAM2004,April 2004.
【非特許文献5】S.Banerjee, T.G.Grifin and M.Pias,“The Interdomain Connectivity of PlanetLab Nodes,” Proc.PAM 2004,April 2004.
【発明の開示】
【発明が解決しようとする課題】
【0017】
解決しようとする問題点は、従来の技術では、全てのノードペアに対する経路について、全ノードペアの直通の品質を測定する必要がある点である。
【0018】
本発明の目的は、これら従来技術の課題を解決し、各ノードペアでの通信品質の測定に係る負荷を低減することで、オーバーレイネットワークにおけるエンド・ツー・エンドの通信品質を効率的に向上させることである。
【課題を解決するための手段】
【0019】
上記目的を達成するため、本発明では、オーバーレイネットワークを構成するノード(オーバーレイノード)を、ごく一部の少数の上位ノードと、それ以外の大多数の一般ノードの2階層に分け、少数の上位ノード間についてはフルメッシュでの通信品質を測定するが、大多数の一般ノード間については、直通の通信品質を測定することなく、オーバーレイネットワークにおける高品質な通信経路を決定する。(1)具体的には、まず、オーバーレイネットワークを構成する各オーバーレイノードi(i=1〜N)の中から、M個のノードを上位ノードとして選択し、残りのN−M個を一般ノードとする。次に、各上位ノード間ではフルメッシュで通信品質(例えば、遅延時間や帯域あるいはパケット損失率など)を測定して最適な経路を決定し、一般ノードと当該一般ノードが接続された各上位ノード間では、各接続毎の通信品質を測定して最適な経路を決定することで、それぞれの経路選択においても、直通の経路を含めて最適な経路を決定する。そして、一般ノードjと他の一般ノードkへの経路は、ノードjからノードkへの直通路は使わず、ノードjから当該ノードjが接続された各上位ノード、および、この各上位ノードからノードkまでの経路の内で最適な経路を決定する。このように、オーバーレイネットワークを構成するノード(オーバーレイノード)を、少数の上位ノードと大多数の一般ノードに分け、一般ノードと一般ノードとの間はオーバーレイネットワークにおいて論理的に接続されていないとして、当該一般ノード間の品質測定結果は不要とすることにより、大多数の一般ノード間の品質コスト削減を可能としている。
【発明の効果】
【0020】
本発明によれば、オーバーレイノードをさらに上位ノードと一般ノードに分け、一般ノードと一般ノード間はオーバーレイネットワークにおいて論理的に接続されていないとすることで、一般ノード間の品質測定結果を不要とすることができ、大多数の一般ノード間の品質コスト削減が可能となり、オーバーレイネットワークにおける測定コストを削減しつつ、通信品質の改善を図ることが可能となる。
【発明を実施するための最良の形態】
【0021】
以下、図を用いて本発明を実施するための最良の形態例を説明する。図2は、本発明に係る通信経路選択システムを具備したオーバーレイネットワークの構成例を示すブロック図であり、図3は、図2におけるオーバーレイノードの本発明に係る構成例を示すブロック、図4は、図2における管理サーバ20の本発明に係る構成例を示すブロック図である。
【0022】
図2におけるオーバーレイネットワークでは、オーバーレイノードを、M個の上位ノード21〜25(ここではM=5個)とそれ以外の一般ノード26a〜26dに分け、上位ノード21〜25間ではフルメッシュで論理的に接続し、一般ノード26a〜26dは各上位ノード21〜25と論理的に接続しているとする。
【0023】
尚、ここで、論理的に接続されているとは、その接続先ノードのIPアドレスを知っており、通信可能な状態にある。
【0024】
上位ノード21〜25と一般ノード26a〜26dおよび管理サーバ20のそれぞれは、CPU(Central Processing Unit)や主メモリ、表示装置、入力装置、外部記憶装置を含むコンピュータ構成からなり、光ディスク駆動装置等を介してCD−ROM等の記憶媒体に記録されたプログラムやデータを外部記憶装置内にインストールした後、この外部記憶装置から主メモリに読み込みCPUで処理することにより、各処理部の機能を実行する。
【0025】
すなわち、上位ノード21〜25と一般ノード26a〜26dを含むオーバーレイノードは、図3のオーバーレイノード31として示すように、プログラムされたコンピュータ処理を実行する機能として、通信品質測定部31aと通信品質取得部31b、中継ノード決定部31c、中継候補選択部31d、上位ノード間通信品質取得部31e、上位ノード間最適経路算出部31f、一般・上位ノード間通信品質取得部31g、一般ノード間最適経路算出部31hを具備し、管理サーバ20は、図4に示すように、プログラムされたコンピュータ処理を実行する機能として、中継ノード状態管理部20aと中継ノード候補決定部20b、上位ノード決定部20c、上位ノード管理部20dを具備している。
【0026】
このような構成において、本例では、図1で示したオーバーレイネットワーク1を構成する各ノード(オーバーレイノード1a〜1c)を、図2に示すように、ごく一部の少数の上位ノード21〜25と、それ以外の大多数の一般ノード26a〜26dの2階層に分け、少数の上位ノード21〜25間についてはフルメッシュでの通信品質を測定するが、大多数の一般ノード26a〜26d間については、直通の通信品質を測定することなく、オーバーレイネットワークにおける高品質な通信経路を決定する。
【0027】
以下、本発明に係る第1〜第7の技術について説明する。
【0028】
まず、第1の技術について説明する。例えば、オーバーレイネットワーク1を構成する各オーバーレイノードi(i=1〜N)の中から、M個のノードを上位ノードとして選択し、残りのN−M個を一般ノードとする。図2の例では、5個の上位ノード21〜25と多数の一般ノード26a〜26dに分けられている。
【0029】
各上位ノード間ではフルメッシュで通信品質を測定して最適な経路を決定し、また、一般ノードと当該一般ノードが接続された各上位ノード間では、各接続毎の通信品質を測定して最適な経路を決定することで、それぞれの経路選択においても、直通の経路を含めて最適な経路を決定する。
【0030】
そして、一般ノードjと他の一般ノードkへの経路は、ノードjからノードkへの直通路は使わず、ノードjから当該ノードjが接続された各上位ノード、および、この各上位ノードからノードkまでの経路の内で最適な経路を決定する。
【0031】
より詳細には、オーバーレイネットワーク1を構成する各ノード(オーバーレイノード21〜25,26a〜26d)間の通信経路を、プログラムされたコンピュータ処理により決定するために、プログラムされたコンピュータ処理を実行する手段として、上位ノード間通信品質取得部31e、上位ノード間最適経路算出部31f、一般・上位ノード間通信品質取得部31g、一般ノード間最適経路算出部31hを設けており、まず、上位ノード間通信品質取得部31eにより、オーバーレイネットワーク1を構成する全てのN個のノード21〜25,26a〜26dから予め選択されたM個の上位ノード21〜25間のそれぞれの通信品質を、各上位ノードがフルメッシュで接続されたものとして全て測定して図示していない記憶装置に記憶する。
【0032】
次に、上位ノード間最適経路算出部31fにより、上位ノード間最適経路算出部31fが測定して記憶装置に記憶した各上位ノード間の通信品質を用いて、各上位ノード間の最適な通信品質の経路を決定して記憶装置に記憶する。
【0033】
さらに、一般・上位ノード間通信品質取得部31gにより、上位ノード21〜25以外の残りのN−M個の一般ノード26a〜26dのそれぞれと当該一般ノードに直接接続される各上位ノード間のそれぞれの通信品質を測定して記憶装置に記憶する。
【0034】
そして、一般ノード間最適経路算出部31hにより、上位ノード間最適経路算出部31fが記憶装置に記憶した決定情報および一般・上位ノード間通信品質取得部31gが記憶装置に記憶した通信品質測定情報を用いて、発信元の一般ノードと着信先の一般ノード間を上位ノードを経由して最適な通信品質で接続する通信経路を特定する。
【0035】
このように、本例では、オーバーレイネットワークを構成するノード(オーバーレイノード)を、少数の上位ノードと大多数の一般ノードに分け、一般ノードと一般ノードとの間はオーバーレイネットワークにおいて論理的に接続されていないとして、当該一般ノード間の品質測定結果は不要とすることにより、大多数の一般ノード間の品質測定に要するコストを削減することが可能となる。
【0036】
次に、第2,第3の技術について説明する。この第2,第3の技術は、通信品質に関するものであり、第2の技術においては、通信品質としてノード間の遅延時間を用い、ノード間のメトリックを遅延時間とし、上位ノード21〜25間はフルメッシュで接続されているとして、例えば上位ノード21から上位ノード24への経路は、上位ノード間最適経路算出部31fにおいて、遅延をメトリックとして、ダイクストラ法で最短経路を探索しておきそれを最適な経路として決定する。
【0037】
また、例えば一般ノード26aから上位ノード24への最適経路は、一般ノード26aと全ての上位ノード21〜25が接続されているとし、また上位ノード21〜25間はフルメッシュで接続されているとし、一般ノード間最適経路算出部31hにおいて、そのトポロジ上でダイクストラ法により最短経路を探索しておき、それを最適経路とする。
【0038】
そして、例えば一般ノード26aから他の一般ノード26dへの最適経路は、一般ノード26aと全ての上位ノード21〜25および全ての上位ノード21〜25と一般ノード26dが接続されているとしたトポロジ上で最短経路を探索し、それを最適経路とする。
【0039】
また、第3の技術では、上述の第2の技術のように遅延を品質とする代わりに、ノード間の利用可能帯域を品質として用い、品質の逆数をノード間のメトリックとして、あるいは、ノード間のパケット損失率またはパケット損失数を通信品質メトリックとしてダイクストラ法により最短経路を探索して最適経路とすることで、様々な品質メトリックに対応可能とする。
【0040】
次に、第4の技術について説明する。この第4の技術では、上述の第1〜第3の技術のように、一般ノードから全ての上位ノードとの間を接続する代わりに、一般ノードから最も近い上位ノードのみ接続するものである。
【0041】
すなわち、一般ノード間最適経路算出部31hは、一般・上位ノード間通信品質取得部31gが記憶装置に記憶した通信品質測定情報を用いて、各一般ノード毎に当該一般ノードに最適な通信品質で接続された上位ノードを1つ特定して記憶装置に記憶し、特定して記憶装置に記憶した特定情報を用いて、発信元の一般ノードに最適な通信品質で接続された発信側上位ノードと着信先の一般ノードに最適な通信品質で接続された着信側上位ノードを特定し、特定した発信側上位ノードと着信側上位ノード間の最適な通信品質の経路を、上位ノード間最適経路算出部31fが記憶装置に記憶した決定情報を用いて特定する。
【0042】
次に、第5〜第7の技術について説明する。この第5〜第7の技術は、M個の上位ノードを選択する技術に関するものである。
【0043】
第5の技術では、まず、オーバーレイネットワークによる経路制御開始から予め定めた時間までの間、一定周期毎に各オーバーレイノード(21〜25,26a〜26d)間でフルメッシュで通信品質を測定し、M個のノードをランダムに中継ノード候補として選択する。
【0044】
次に、ノードiからノードjへの経路を決定する際、ノードiから中継ノード候補群に属するノードkまでの通信品質をd(i,k)、ノードkからノードjまでの通信品質をd(k,j)とし、トータルな通信品質「d(i,k)+d(k,j)」を最小にする中継候補としてのノードk*を探索し、ノードiからノードjの直通の通信品質d(i,j)とトータルな通信品質「d(i,k*)+d(k*,j)」を比較し、後者(トータルな通信品質)が小さければ、当該ノードk*を中継ノードとして迂回経路を構築する。
【0045】
このような処理を、各ノードペアについて実行し、ノードkが中継ノードとして選択された回数をカウントし、次周期の中継ノード候補をM個選択する際には、過去に中継ノードとして選択された回数に応じた確率で選択する。
【0046】
そして、このような処理を予め定めた時間までの間、繰り返し実行し、予め定めた時間経週後は、それまでに中継ノードとして選択された回数の多いもの上位M個を上位ノードとして選択する。
【0047】
尚、このような上位ノードの選択技術には、上述の特許文献1に記載の技術を部分的に用いている。つまり、最初のうちは、全ノードペアの品質測定を実施し、特許文献1に記載の技術を用いて、良い中継路を提供できるM個のノードを推定する処理を、予め定めた時間まで実施し、その結果、中継ノードとして貢献した回数の多いものを上位ノードとして用いる。
【0048】
第6の技術では、上述の第5の技術のように各ノード間においてフルメッシュで品質測定する代わりに、まずN個のノードからランダムにM個を選択し、それらを上位ノードとし、それら以外を一般ノードとして、上述の第1の技術のように、上位ノード間フルメッシュで品質測定し、また一般ノードと上位ノード間も品質測定をする。
【0049】
そして、また、N個のノードの中からM’個(M’>M)を中継ノード候補として選択する。ここで、上位ノードiから上位ノードj、あるいは一般ノードiから上位ノードj、あるいは上位ノードiから一般ノードjへの直通の通信品質をd(i,j)とし、M’個の中継ノード候補kを中継としたときの通信品質(d(i,k)+d(k,j))を最小にするノードk*を中継ノード候補とし、通信品質d(i,j)と通信品質d(i,k*)+d(k*,j)を比較して後者の通信品質の方がよければ、ノードk*の得点をカウントアップし、この処理を直通の品質が測定されている全ノードペアに対して実行し、次周期には、その得点(カウントアップ結果)に応じてM’個の中継ノード候補を選択すると共に、M’個の中継ノード候補の特に上位M個を上位ノードとして選択し、これを繰り返すことにより現時点での上位ノードM個を決定する。あるいは、第1,第2の技術を用いて、ダイクストラ法により各ノードペアの最短経路を決定し、その結果ノードk*が中継ノードとして選択された回数をカウントアップし、次周期には、当該回数に応じてM個の上位ノードを選択しても良い。
【0050】
上述の第5の技術では、最初のうちはフルメッシュ測定を許容していたのに対し、本第6の技術では、最初からフルメッシュ測定は実施しないで、直通の品質が測定できている上位ノードと上位ノード間、および一般ノードと上位ノード間、上位ノードと一般ノード間のみを用いて、これらペアの直通路の品質と、M個の上位ノード群の中から最も品質の良い迂回路を提供する中継ノードを探索して、それを用いたときの迂回路の品質を比較し、後者の方が良い品質を提供できる場合には、そのときの中継ノードに得点を与え、これを繰り返し実施して、次周期にM個の上位ノードを選択する際には、過去の得点の高いものを高い確率で選択するようにする。
【0051】
得点としては、時点nにおいてノードkが中継ノードとして選択された回数をC’(n,k)として、時点n+1での得点C(n+1,k)を「C(n+1,k)=(1−α)C(n,k)+αC’(n,k)」により更新する。ここで、αは予め定める平滑化パラメータで、初期値C(0,k)=0とする。
【0052】
この得点C(n,k)を用いて、時点nにおいてノードkを上位ノードとして確率p(n,k)で選択する。ここで「p(n,k)=C(n,k)/ΣC(n,j)」、あるいは、「p(n,k)=exp{C(n,k)−1}/Σexp{C(n,j)−1}」、などが確率p(n,k)の候補となる。
【0053】
第7の技術では、ある時点においては各ノード間の通信品質をフルメッシュで測定し、ノードiとノードj以外の各ノードを中継候補に用いてノードiからノードjへの最適な通信経路を探索し、これを全てのノードペアについて実施し、その結果、最適な中継ノードとして選択された回数が多い順にM個を、それ以降の上位ノードとして決定する。
【0054】
以下、<第1の実施例>として、上述の第6の技術により上位ノードを選択し、上述の第2の技術によりノード間の経路を決定する場合について、図2〜図4を用いて説明する。尚、一定周期毎に以下の動作を実施するとし、n番目の周期を時点nと呼ぶ。
【0055】
図3における通信品質測定部31aは、測定周期τ毎に自身(仮にオーバーレイノードiとする)と他の上位ノードjとの間の遅延時間d(i,j)を測定し、図示していない記憶装置に記憶する。このように遅延時間測定を実施したら、その旨を中継候補選択部31dに通知する。
【0056】
中継候補選択部31dは、図4における管理サーバ20の中継ノード候補決定部20bから、時点nでのM’個の中継ノード候補を読み出す。同時に、中継候補選択部31dは、通信品質取得部31bに対して、各中継ノード候補k(k=1〜M’)から当該中継ノード候補kと上述の上位ノードj間の遅延時間測定結果「d(k,j)」を取得するように指示する。
【0057】
通信品質取得部31bは、中継候補選択部31dからの指示に応じて、各中継ノード候補kから、当該中継ノード候補kと上位ノードj間の遅延時間測定結果「d(k,j)」を取得し、中継ノード決定部31cにそれを通知する。
【0058】
以上の手順を、M’個の全ての中継ノード候補に対して実施する。
【0059】
中継ノード決定部31cは、自ノードiから中継ノード候補kまでの遅延時間d(i,k)を通信品質測定部31aから取得し、取得した遅延時間d(i,k)と、通信品質取得部31bから通知された中継ノード候補kと着信先の上位ノードjの間の遅延時間d(k,j)とを用いて、「d(i,j)>d(i,k)+d(k,j)」を満たす中継ノード候補kがM’個の候補の中に存在するか否かを調べる。
【0060】
存在しない場合は、自ノードiから着信先の上位ノードjの直通路を、最適な通信経路として決定し、存在する場合は、右辺(「d(i,k)+d(k,j)」)を最小にする中継ノード候補のノードk*を特定し、このノードk*を中継ノードとして選択し、その旨を管理サーバ20内の中継ノード状態管理部20aへ通知する。
【0061】
以上の手順を全ての上位ノードjに対して実施する。
【0062】
管理サーバ20内の中継ノード状態管理部20aは、中継ノード決定部31cからノードk*が中継ノードとして選択された旨の通知を受けると、当該ノードk*が中継ノードとなった回数C’(n,k*)を、「C’(n,k*)←C’(n,k*)+1」としてカウントアップする。
【0063】
以上を、n番目の周期が終わるまで繰り返して、各ノードの中継ノードとなった回数を計数する。そして、n+1番目の測定周期になれば、全てのノードの得点C(n+1,k)を「C(n+1,k)=(1−α)C(n,k)+αC’(n,k)」により更新する。尚、ここで、αは予め定める平滑化パラメータで「0<α<1」であり、C(n,k)の初期値は「C(0,k)=1(全てのk)」とする。
【0064】
管理サーバ20内の中継ノード候補決定部20bでは、時点nのノードkの得点C(n,k)を用いて、時点nにおけるM’個の中継ノード候補を確率p(n,k)で選択する。ここで、「p(n,k)=C(n,k)/ΣC(n,j)」、あるいは、「p(n,k)=exp{C(n,k)−1}/Σexp{C(n,j)−1}」、などがp(n,k)の候補となる。
【0065】
一方、管理サーバ20内の上位ノード決定部20cでは、確率p(n,k)あるいは得点C(n,k)を用いて、M個の上位ノードを決定する。
【0066】
例えば、確率p(n,k)を用いる場合には、中継ノード候補を選択した場合と同様に、確率p(n,k)でノードkを上位ノードとして選択する。
【0067】
また、得点C(n,k)を用いる場合には、得点の高い上位M個を上位ノードとして選択する。
【0068】
尚、以上の上位ノードの選択技術については、中継候補の更新処理の周期よりも長い周期で実施しても良いし、ネットワークの状態に変化が検知されたときのみ、上述の手順で上位ノードを再決定しても良い。
【0069】
上位ノード決定部20cは、上位ノードとして決定したノードに対して、上位ノードとして決定した旨と、他のどのノードが上位ノードであるかを通知する。
【0070】
上位ノードとして決定を受けた場合、当該上位ノードは、上位ノード間通信品質取得部31eにより、他の上位ノードとの間の遅延時間を測定しておき、その結果を他の上位ノードと共有する。また、その結果を管理サーバ20に通知する。この際、上位としての各ノードは、上位ノード間最適経路算出部31fにより他の上位ノードヘの最短経路をダイクストラ法で計算しておき、それを他ノードヘのオーバレイ経路とする。
【0071】
一方、一般ノードとしてのノードxは、一般・上位ノード間通信品質取得部31gにより、管理サーバ20内の上位ノード管理部20dから、どのノードが上位ノードであるかの情報と、上位ノード間の遅延時間情報を入手し、さらに、通信したい着信先ノードyから、当該着信先ノードyと上位ノード間の遅延時間を測定した結果を入手する。
【0072】
そして、一般ノードxは、これらの入手した情報を用いて、一般ノード間最適経路算出部31hにより、上位ノードを用いた場合の自ノードxから着信先ノードyへの最短経路をダイクストラ法で計算し、それをオーバレイ経路とする。
【0073】
次に、<第2の実施例>として上述の第5の技術に関して説明する。上述の<第1の実施例>のように、上位ノード間、上位ノードと一般ノード間のみで中継ノードの得点をカウントする代わりに、M個の上位ノードを決定する際に、オーバーレイネットワークによる経路制御開始から予め定めた時間までの間は、一定周期毎に各オーバーレイノード間でフルメッシュで通信品質を測定し、M個のノードをランダムに中継ノード候補として選択する。
【0074】
ノードiからノードjへの経路を決定する際、ノードiから該中継ノード候補群に属するノードkまでの通信品質をd(i,k)、ノードkからノードjまでの品質をd(k,j)とし、d(i,k)+d(k,j)を最小にするノードk*を探索し、ノードiからノードjの直通の品質d(i,j)とd(i,k*)+d(k*,j)を比較し、後者が小さければ、ノードk*を中継ノードとして迂回経路を構築し、これを各ノードペアについて実施し、ノードkが中継ノードとして選択された回数をカウントし、次周期の中継ノード候補をM個選択する際には、過去に中継ノードとして選択された回数に応じた確率で選択する。
【0075】
これを予め定めた時間までの間、実施する。予め定めた時間経過後は、それまでに中継ノードとして選択された回数の多いもの上位M個を上位ノードとして選択する。
【0076】
次に、<第3の実施例>として上述の第7の技術について説明する。上述の<第1の実施例>および<第2の実施例>では、上位ノードを決定するために、中継ノード候補の選択を実施していたが、そうする代わりに、ここでは、ある時点においては各ノード間の通信品質をフルメッシュで測定し、ノードi,j以外のノードを中継候補に用いてノードiからノードjへの最適な通信経路を探索し、これを全てのノードペアについて実施し、その結果、最適な中継ノードとして選択された回数に関する上位M個を、それ以降の上位ノードとして決定する。
【0077】
次に、図5〜図8を用いて、本発明に係る通信経路決定方法について説明する。図5は、本発明に係る通信経路決定システムによる通信経路決定方法の第1の処理手順例を示すフローチャートであり、図6は、本発明に係る通信経路決定システムによる通信経路決定方法の第2の処理手順例を示すフローチャート、図7は、本発明に係る通信経路決定システムによる通信経路決定方法の第3の処理手順例を示すフローチャート、図8は、本発明に係る通信経路決定システムによる通信経路決定方法の第4の処理手順例を示すフローチャートである。
【0078】
図5は、本例に係る一般ノード間の最適な通信経路を決定する際の処理手順例を示し、図6〜図8はM個の上位ノードを選択する際の処理手順例を示している。
【0079】
図5に示すように、本例の通信経路決定システムにおいては、まず、図3の上位ノード間通信品質取得部31eにより、オーバーレイネットワークを構成する全てのN個のノードから予め選択されたM個の上位間のそれぞれの通信品質を、各上位ノードがフルメッシュで接続されたものとして全て測定して記憶装置に記憶する(ステップS501)。
【0080】
次に、上位ノード間最適経路算出部31fにより、上位ノード間最適経路算出部31fが測定して記憶装置に記憶した各上位ノード間の通信品質を用いて、各上位ノード間の最適な通信品質の経路を決定して記憶装置に記憶する(ステップS502)。
【0081】
さらに、一般・上位ノード間通信品質取得部31gにより、上位ノード以外の残りのN−M個の一般ノードのそれぞれと当該一般ノードに直接接続される各上位ノード間のそれぞれの通信品質を測定して記憶装置に記憶する(ステップS503)。
【0082】
そして、一般ノード間最適経路算出部31hにより、上位ノード間最適経路算出部31fが記憶装置に記憶した決定情報および一般・上位ノード間通信品質取得部31gが記憶装置に記憶した通信品質測定情報を用いて、発信元の一般ノードと着信先の一般ノード間を上位ノードを経由して最適な通信品質で接続する通信経路を特定する(ステップS504)。
【0083】
また、図6に示すように、本例の通信経路決定システムにおいては、全てのオーバレイノード(N個)からM個の上位ノードを選択するために、まず、N個の各ノードからランダムにM個のノードを中継ノード候補として選択する(ステップS601)。
【0084】
次に、起動から予め定められた時間Tが経過するまで(ステップS602)、一定周期毎に、下記のステップS603〜S608の処理を実行する。
【0085】
ステップS603においては、N個の各ノード間のそれぞれの通信品質を、各ノードがフルメッシュで接続されたものとして全て測定して記憶装置に記憶し、ステップS604においては、記憶装置に記憶したN個の各ノード間のそれぞれの通信品質を用いて、M個の中継ノード候補を中継した、中継ノード候補以外のN−M個の各ノードのペア間の通信品質を算出する。
【0086】
ステップS605においては、ステップS604の手順で算出した通信品質が、最も良く、かつ、当該ノードペア間の直通の通信品質よりも良ければ、当該中継ノード候補を中継ノードとして選択し、ステップS606においては、ステップS605の手順で中継ノードとして選択した回数を、各中継ノード毎に計数して記憶装置に記憶する。
【0087】
さらに、次周期の中継ノード候補選択時に(ステップS607)、ステップS606の手順で記憶装置に記憶した回数に応じた確率でM個の中継ノード候補を選択する(ステップS608)。
【0088】
そして、時間Tの経過後(ステップS602)、ステップS606の手順により記憶装置に記憶した選択回数が多い上位M個の中継ノードを上位ノードとして選択する(ステップS609)。
【0089】
また、図7に示すように、本例の通信経路決定システムにおいては、全てのオーバレイノード(N個)からM個の上位ノードを選択するために、まず、N個の各ノードからランダムにM”個のノードを中継ノード候補として選択する(ステップS701)。
【0090】
次に、選択したM”個の中継ノード候補からM個の上位ノードを選択し(ステップS702)、以下、予め定められた周期(時間t間隔)で(ステップS703)、ステップS704〜S710の処理を実行する。
【0091】
ステップS704においては、M個の各上位ノード間のそれぞれの通信品質を、各上位ノードがフルメッシュで接続されたものとして全て測定して記憶装置に記憶し、ステップS705において、上位ノード以外の残りのN−M個の一般ノードのそれぞれと当該一般ノードに直接接続される上位ノード間のそれぞれの通信品質を測定して記憶装置に記憶する。
【0092】
ステップS706においては、記憶装置に記憶したM個の各上位ノード間のそれぞれの通信品質およびN−M個の一般ノードと上位ノード間の通信品質を用いて、M”個の各中継ノード候補を中継した、上位ノード同士からなる各ノードペア間の通信品質および上位ノードと一般ノードからなる各ノードペア間の通信品質を算出する。
【0093】
ステップS707においては、ステップS706の手順で算出した通信品質が、最も良く、かつ、当該ノードペア間の直通の通信品質よりも良ければ、当該中継ノード候補を中継ノードとして選択し、ステップS708においては、ステップS707の手順で中継ノードとして選択した回数を、各中継ノード毎に計数して記憶装置に記憶する。
【0094】
さらに、次周期の上位ノードおよび中継ノード候補の選択時に(ステップS709)、ステップS708の手順で記憶装置に記憶した回数に応じた確率でM個の上位ノードと中継ノード候補およびM”−M個の中継ノード候補を選択する(ステップS710)。
【0095】
そして、各ノードからの要求があれば(ステップS703)、当該時刻における、ステップS710の手順で選択したM個の上位ノードを、図5に示す各手順による通信経路決定手順用に出力する(ステップS711)。
【0096】
また、図8に示すように、本例の通信経路決定システムにおいては、全てのオーバレイノード(N個)からM個の上位ノードを選択するために、まず、任意の時点での各ノード間の通信品質をフルメッシュで測定して記憶装置に記憶する(ステップS801)。
【0097】
次に、記憶装置に記憶した各ノードそれぞれの通信品質を用いて、各ノードペア間の最適な通信経路を選択し(ステップS802)、最適な通信経路を構成する中継ノードとして選択された回数を各ノード毎に計数して記憶装置に記憶し(ステップS803)、そして、記憶装置に記憶した選択回数が多い上位M個のノードを上位ノードとして選択する(ステップS804)。
【0098】
このようにしてM個の上位ノードを選択して実際の通信経路決定を行った際の、評価結果を、図9,10に示す。図9は、本発明に係る通信経路決定システムの第1の実行結果例を示す説明図である。
【0099】
尚、図9の例では、インターネット上での約200台のオーバーレイノードのノード間で、測定されたノード間の遅延時間を用いた。
【0100】
ある時点において、各ノードペアに対して、全経路探索を実施し、その結果最適な経路を特定し、それを全ノードペアについて実施した。その結果、最適な中継路を提供した上位20個を上位ノードとして決定した。
【0101】
そして、その20個の上位ノードのみを用いて、オーバレイの経路を決定した際の、各ノードペアの遅延時間の累積分布を図9に示す。
【0102】
図9において、凡例(TypeA)がそのときの結果である。比較として、optimalとは、全経路探索をしたときの最適路であり、directとは迂回制御をしない直通路の遅延時間結果である。
【0103】
また、比較として、上位Mノードの選び方として、TypeAと同様に全経路探索を行った後、経路として選ばれなかったノード間リンクは削除し、その結果残ったトポロジにおいて、次数(ノードの接続リンク数)の高いもの上位20個を選んだ結果をTypeBとして表示している。
【0104】
また、図9におけるTypeCは、ノードのほかのノードヘの遅延時間の平均を計算して、その平均遅延時間が小さいものから20個選択した際の結果である。
【0105】
図5に示す結果により、本例におけるTypeAでは、optimalとほぼ同等の遅延の改善がみられることが確認できる。
【0106】
以上、図1〜図9を用いて説明したように、本例の通信経路決定システム・方法では、図1で示したオーバーレイネットワーク1を構成する各ノード(オーバーレイノード1a〜1c)を、図2に示すように、ごく一部の少数の上位ノード21〜25と、それ以外の大多数の一般ノード26a〜26dの2階層に分け、少数の上位ノード21〜25間についてはフルメッシュでの通信品質を測定するが、大多数の一般ノード26a〜26d間については、直通の通信品質を測定することなく、オーバーレイネットワークにおける高品質な通信経路を決定する。
【0107】
すなわち、オーバーレイネットワーク1を構成する各オーバーレイノードi(i=1〜N)の中から、ごく少数のM個のノードを上位ノードとして選択し、残りの大多数のN−M個を一般ノードとする。
【0108】
そして、ごく少数である各上位ノード間ではフルメッシュで通信品質を測定して最適な経路を決定するが、大多数の一般ノードは、自一般ノードが接続された各上位ノード間において、各接続毎の通信品質を測定して最適な経路を決定し、一般ノードjと他の一般ノードkへの経路は、ノードjからノードkへの直通路は使わず、ノードjから当該ノードjが接続された各上位ノード、および、この各上位ノードからノードkまでの経路の内で最適な経路を決定する。
【0109】
このように、オーバーレイネットワークを構成するノード(オーバーレイノード)を、少数の上位ノードと大多数の一般ノードに分け、一般ノードと一般ノードとの間はオーバーレイネットワークにおいて論理的に接続されていないとして、当該一般ノード間の品質測定結果は不要とすることにより、大多数の一般ノード間の品質測定に要するコストを削減することが可能となる。
【0110】
このことにより、オーバーレイネットワークにおける測定コストを削減しつつ、通信品質の改善を図ることが可能となる。
【0111】
尚、本発明は、図1〜図9を用いて説明した例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。例えば、本例では、各ノードに、本発明に係る通信経路決定を行う機能(上位ノード間通信品質取得部31e、上位ノード間最適経路算出部31f、一般・上位ノード間通信品質取得部31g、一般ノード間最適経路算出部31h)を設けた構成として説明しているが、これらの各機能を管理サーバ20側に設け、各一般ノードからの要求に応じて管理サーバ20で通信経路を決定し、決定した結果を要求元の一般ノードに通知する構成とすることでも良い。
【0112】
また、図2に示した上位ノードを5個として例を示しているが、図9において説明したように、20個とすることでも、また、その他の個数とすることでも良い。
【0113】
また、本例のコンピュータ構成例に関しても、キーボードや光ディスクの駆動装置の無いコンピュータ構成としても良い。また、本例では、光ディスクを記録媒体として用いているが、FD(Flexible Disk)等を記録媒体として用いることでも良い。また、プログラムのインストールに関しても、通信装置を介してネットワーク経由でプログラムをダウンロードしてインストールすることでも良い。
【図面の簡単な説明】
【0114】
【図1】オーバーレイネットワークによるQoS管理の基本的な概念を示す説明図である。
【図2】本発明に係る通信経路選択システムを具備したオーバーレイネットワークの構成例を示すブロック図である。
【図3】図2におけるオーバーレイノードの本発明に係る構成例を示すブロックである。
【図4】図2における管理サーバ20の本発明に係る構成例を示すブロック図である。
【図5】本発明に係る通信経路決定システムによる通信経路決定方法の第1の処理手順例を示すフローチャートである。
【図6】本発明に係る通信経路決定システムによる通信経路決定方法の第2の処理手順例を示すフローチャートである。
【図7】本発明に係る通信経路決定システムによる通信経路決定方法の第3の処理手順例を示すフローチャートである。
【図8】本発明に係る通信経路決定システムによる通信経路決定方法の第4の処理手順例を示すフローチャートである。
【図9】本発明に係る通信経路決定システムの第1の実行結果例を示す説明図である。
【符号の説明】
【0115】
1:オーバーレイネットワーク、1a〜1c:オーバーレイノード、2:IPネットワーク、2a〜2e:IPルータ、20:管理サーバ、20a:中継ノード状態管理部、20b:中継ノード候補決定部、20c:上位ノード決定部、20d:上位ノード管理部、21〜25:上位ノード、26a〜26d:一般ノード、31:オーバーレイノード、31a:通信品質測定部、31b:通信品質取得部、31c:中継ノード決定部、31d:中継候補選択部、31e:上位ノード間通信品質取得部、31f:上位ノード間最適経路算出部、31g:一般・上位ノード間通信品質取得部、31h:一般ノード間最適経路算出部。

【特許請求の範囲】
【請求項1】
オーバーレイネットワークを構成するノード(オーバーレイノード)間の通信経路を、プログラムされたコンピュータ処理により決定する通信経路決定システムであって、
プログラムされたコンピュータ処理を実行する手段として、
上記オーバーレイネットワークを構成する全てのN個のノードから予め選択されたM個の上位ノード間のそれぞれの通信品質を、各上位ノードがフルメッシュで接続されたものとして全て測定して記憶装置に記憶する第1の手段と、
該第1の手段が測定して記憶装置に記憶した各上位ノード間の通信品質を用いて、各上位ノード間の最適な通信品質の経路を決定して記憶装置に記憶する第2の手段と、
上記上位ノード以外の残りのN−M個の一般ノードのそれぞれと当該一般ノードに直接接続される各上位ノード間のそれぞれの通信品質を測定して記憶装置に記憶する第3の手段と、
上記第2の手段が記憶装置に記憶した決定情報および上記第3の手段が記憶装置に記憶した通信品質測定情報を用いて、発信元の一般ノードと着信先の一般ノード間を上位ノードを経由して最適な通信品質で接続する通信経路を特定する第4の手段と
を有することを特徴とする通信経路決定システム。
【請求項2】
請求項1に記載の通信経路決定システムであって、
上記通信品質としてノード間の遅延時間を用い、
上記第2の手段は、該遅延時間をノード間のメトリックとしたダイクストラ法により各上位ノード間の最短経路を探索し、該最短経路を上記最適な通信品質の経路として決定する
ことを特徴とする通信経路決定システム。
【請求項3】
請求項1もしくは請求項2のいずれかに記載の通信経路決定システムであって、
上記通信品質としてノード間の利用可能帯域を用い、
上記第2の手段は、該利用可能帯域の逆数をノード間のメトリックとしたダイクストラ法により各上位ノード間の最短経路を探索し、該最短経路を上記最適な通信品質の経路として決定する
ことを特徴とする通信経路決定システム。
【請求項4】
請求項1から請求項3のいずれかに記載の通信経路決定システムであって、
上記第4の手段は、
上記第3の手段が記憶装置に記憶した通信品質測定情報を用いて、各一般ノード毎に当該一般ノードに最適な通信品質で接続された上位ノードを1つ特定して記憶装置に記憶する手段と、
該手段で特定して記憶装置に記憶した特定情報を用いて、発信元の一般ノードに最適な通信品質で接続された発信側上位ノードと着信先の一般ノードに最適な通信品質で接続された着信側上位ノードを特定する手段と、
該手段で特定した発信側上位ノードと着信側上位ノード間の最適な通信品質の経路を、上記第2の手段が記憶装置に記憶した決定情報を用いて特定する手段と
を有することを特徴とする通信経路決定システム。
【請求項5】
請求項1から請求項4のいずれかに記載の通信経路決定システムであって、
プログラムされたコンピュータ処理を実行する手段として、
上記M個の上位ノードを選択する第7の手段を有し、
該第7の手段は、
N個の各ノードからランダムにM個のノードを中継ノード候補として選択する第8の手段と、
起動から予め定められた時間Tが経過するまで、一定周期毎に、第1〜第4の手順の処理
(N個の各ノード間のそれぞれの通信品質を、各ノードがフルメッシュで接続されたものとして全て測定して記憶装置に記憶する第1の手順、
記憶装置に記憶したN個の各ノード間のそれぞれの通信品質を用いて、
M個の中継ノード候補を中継した、中継ノード候補以外のN−M個の各ノードのペア間の通信品質を算出する第2の手順、
該第2の手順で算出した通信品質が、最も良く、かつ、当該ノードペア間の直通の通信品質よりも良ければ、当該中継ノード候補を中継ノードとして選択する第3の手順、
該第3の手順で中継ノードとして選択した回数を、各中継ノード毎に計数して記憶装置に記憶する第4の手順、
次周期の中継ノード候補選択時に、上記第4の手順で記憶装置に記憶した回数に応じた確率でM個の中継ノード候補を選択する第5の手順)
を繰り返し実行する第9の手段と
を具備し、
上記時間Tの経過後、上記第9の手段が第4の手順により記憶装置に記憶した選択回数が多い上位M個の中継ノードを上記上位ノードとして選択することを特徴とする
通信経路決定システム。
【請求項6】
請求項1から請求項4のいずれかに記載の通信経路決定システムであって、
プログラムされたコンピュータ処理を実行する手段として、
上記M個の上位ノードを選択する第7の手段を有し、
該第7の手段は、
N個の各ノードからランダムにM”個のノードを中継ノード候補として選択する第8の手段と、
上記M”個の中継ノード候補からM個の上位ノードを選択する第9の手段と、
予め定められた周期で、第1〜第5の手順の処理(
M個の各上位ノード間のそれぞれの通信品質を、各上位ノードがフルメッシュで接続されたものとして全て測定して記憶装置に記憶する第1の手順、
上位ノード以外の残りのN−M個の一般ノードのそれぞれと当該一般ノードに直接接続される上位ノード間のそれぞれの通信品質を測定して記憶装置に記憶する第2の手順、
記憶装置に記憶したM個の各上位ノード間のそれぞれの通信品質およびN−M個の一般ノードと上位ノード間の通信品質を用いて、M”個の各中継ノード候補を中継した、上位ノード同士からなる各ノードペア間の通信品質および上記上位ノードと上記一般ノードからなる各ノードペア間の通信品質を算出する第3の手順、
該第3の手順で算出した通信品質が、最も良く、かつ、当該ノードペア間の直通の通信品質よりも良ければ、当該中継ノード候補を中継ノードとして選択する第4の手順、
該第4の手順で中継ノードとして選択した回数を、各中継ノード毎に計数して記憶装置に記憶する第5の手順、
次周期の上位ノードおよび中継ノード候補の選択時に、上記第5の手順で記憶装置に記憶した回数に応じた確率でM個の上位ノードと中継ノード候補およびM”−M個の中継ノード候補を選択する第6の手順)
を繰り返して実行する第10の手段と
を具備し、
該第10の手段が上記第6の手順で選択したM個の上位ノードを用いて上記第1〜第6の手段による各処理を実行することを特徴とする通信経路決定システム。
【請求項7】
請求項1から請求項4のいずれかに記載の通信経路決定システムであって、
プログラムされたコンピュータ処理を実行する手段として、
上記M個の上位ノードを選択する第7の手段を有し、
該第7の手段は、
任意の時点での各ノード間の通信品質をフルメッシュで測定して記憶装置に記憶する第8の手段と、
記憶装置に記憶した各ノードそれぞれの通信品質を用いて、各ノードペア間の最適な通信経路を選択する第9の手段と、
最適な通信経路を構成する中継ノードとして選択された回数を各ノード毎に計数して記憶装置に記憶する第10の手段と、
記憶装置に記憶した選択回数が多い上位M個のノードを上記上位ノードとして選択する第11の手段と
を具備することを特徴とする通信経路決定システム。
【請求項8】
オーバーレイネットワークを構成するノード(オーバーレイノード)間の通信経路を、プログラムされたコンピュータ処理により決定する通信経路決定方法であって、
プログラムされたコンピュータ処理手順として、
請求項1から請求項4のいずれかに記載の通信経路決定システムにおける各手段により、
発信元の一般ノードと着信先の一般ノード間を上位ノードを経由して最適な通信品質で接続する手順と、
請求項5から請求項7のいずれかに記載の通信経路決定システムにおける各手段により、
M個の上位ノードを選択する手順と
を含むことを特徴とする通信経路決定方法。
【請求項9】
コンピュータを、請求項1から請求項7のいずれかに記載の通信経路決定システムにおける各手段として機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate