JP2009212791A - オーバレイトポロジ構成方法 - Google Patents

オーバレイトポロジ構成方法 Download PDF

Info

Publication number
JP2009212791A
JP2009212791A JP2008053429A JP2008053429A JP2009212791A JP 2009212791 A JP2009212791 A JP 2009212791A JP 2008053429 A JP2008053429 A JP 2008053429A JP 2008053429 A JP2008053429 A JP 2008053429A JP 2009212791 A JP2009212791 A JP 2009212791A
Authority
JP
Japan
Prior art keywords
node
ring
code ring
tree
chord
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2008053429A
Other languages
English (en)
Inventor
Tetsushi Matsuda
哲史 松田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2008053429A priority Critical patent/JP2009212791A/ja
Publication of JP2009212791A publication Critical patent/JP2009212791A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】 Chordでのパケット転送は、同一ノード間を複数回転送することはないが、物理ネットワーク上で経由する経路で見ると同一物理リンクを複数回転送されることが有り得る。1つのパケットが同一リンクを複数回転送されることは、広帯域リンクでは問題にならないが、リンクの帯域が細い場合は、Chordネットワーク全体のスループットや転送遅延時間に悪影響を及ぼす。
【解決手段】 本発明におけるオーバレイネットワークの構成方法は、オーバレイネットワーク(コードリング)を構成するシステムにおいて、コードリングを構成する各ノードがトポロジ情報を入手し、あるノードがコードリングに参加する時には、参加ノードのIDが、上流ノードと下流ノードのIDの間の値となり、参加ノードをコードリングのどこに配置するかを決定した後に、参加ノードが使用するIDが決定されるものである。
【選択図】 図4

Description

この発明は、オーバレイネットワークのトポロジ決定方法に関するものである。
オーバレイネットワークを構築する手法の1つにコード(Chord)の非特許文献1に示される方法がある。
Chordでは、ノードに固有の情報に対してハッシュ関数を適用して得られる値をIDとして付与し、IDの昇順にノードをリング状に配置する(Chordリングと呼ぶ)。図1のように、あるノードAからみて、リング上での1つ前のノードを上流ノード(predecessor)、1つ後のノードを下流ノード(successor)と呼ぶ。IDは、ノードの固有情報(例 IPアドレス)にハッシュ関数を適用して決定する。IDがある程度均一に分散していることが必要となる。
I.Stoica, etal, "Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications", SIGCOMM'01, Aug., 2001 D.Kostic,A.Rodriguez, etal, "Using Random Subsets to Build Scalable Network Services", Proceedings of 4th USENIX Symposium on Internet Technologies and Systems, March 2003
図2のように、Chordでのパケット転送は、Chordリングに参加するノード(以下、ノードと呼ぶ)間でのマルチホップ転送が基本である。1パケットの転送において、同一ノード間を複数回転送することはないが、物理ネットワーク上で経由する経路で見ると同一物理リンク(以下、リンクと呼ぶ)を複数回転送されることが有り得る。
1つのパケットが同一リンクを複数回転送されることは、広帯域リンクでは問題にならないが、リンクの帯域が細い場合は、Chordネットワーク全体のスループットや転送遅延時間に悪影響を及ぼす。
本発明は、帯域が細いリンクでのパケット転送回数を少なくする様に、Chordのトポロジを構築することを目的とする。
本発明におけるオーバレイネットワークの構成方法は、オーバレイネットワーク(コードリング)を構成するシステムにおいて、コードリングを構成する各ノードが、ノード間のリンクの帯域を含むトポロジ情報を入手し、あるノードがコードリングに参加する時には、参加ノードのIDが、上流ノードと下流ノードのIDの間の値となり、コードリングに参加している間は、当該IDが変更されず、参加ノードをコードリングのどこに配置するかを決定した後に、参加ノードが使用するIDが決定されるものである。
本発明の方法を取ることで、パケットがChordリングを一周する場合に経由するリンクの関数f()の値の総和ができるだけ小さくなる様に、Chordトポロジを構成することが可能となる。これにより、パケットがChordリングを一周する場合に帯域が細いリンクを使用する回数を減らすことができる。
本発明の方法の実施例について説明する。
図4において、本発明の方法を実現するノードの構成例を示す。図4に示す各処理部の処理内容について説明する。物理ネットワークとしてIPネットワークを使用し、その上でChordリングを実現する場合を想定する。
(a)ID値決定処理部
元となるChordの処理方法と、本発明の処理方法との差分の中で、Ransubアルゴリズム実施に使用するツリー管理処理と評価関数計算処理以外の処理を行う。
Chordリングに未参加のノードがChordリングに参加する場合、ID値決定処理部は、既にChordリングに参加しているノードを最低1つは知っており、そのノードに対して参加要求をChordデータ転送処理部経由で送信する。そして、既にChordリングに参加しているノードのID値決定処理部に参加要求を送信し、自ノードがChordリングのどこに参加するべきかを決定する様に依頼する。参加要求を受信したノードのID値決定処理部は、以下の処理を実行し、参加要求を送信したノードがChordリングのどこに参加すべきかを決定する。そして、決定した結果を、参加しようとしているノードに参加応答で通知する。
(1)非特許文献1に示すChordの方法によりオーバレイネットワーク(Chordリング)を構成するシステムにおいて、あるノードがChordリングに参加する場合に使用するノードのIDを、Chordで用いられるハッシュ関数を適用して決定する代わりに、以下(1-1)〜(1-5)の方法を用いることにより、ノードをChordリング上のどこに配置するかを決定した後に、ノードが使用するIDを決定する。
Chordのリングを構成する各ノードは、リンクステートルーティングプロトコル(OSPF)等を利用して、ノード間を接続するリンク(物理リンク)の帯域を含むトポロジ情報を入手しており、IP層での経路計算もできることを前提とする。
(1-1)ノードのIDを、ノード(参加ノード)がChordリングに参加する時にpredecessorとsuccessorになるノードのIDの真ん中(間)の値にする。Chordリングに参加している間は、ノードのIDは変更しない。
(1-2)例えば、Chordリングに参加するノードのツリーを構成し(ツリーのルートは最小のIDを持つノード(ルートノード)とする)、そのツリー上でRansubアルゴリズム[非特許文献2]を実行し、Chordリングを構成する各ノードからsuccessorに至る時に経由するリンクが何かの情報とノード数を、Chordリングを構成する全ノードで共有する。
(1-3)評価関数として、E=ΣCi×f(Bi) [iはリンクの識別子]を設定する。Ciはリンクiを経由する回数であり、Chordリングを構成する各ノードからsuccessorに至る時に経由するリンクが何かの情報から求める。Biはリンクiの帯域値、f(Bi)は単調減少関数(値は0以上)。評価関数Eの値が小さくなる様にノードがChordリングに参加する位置を決定する。
(1-4)ノードXがChordリングに参加する時は、ノードを均一に分散させるため、predecessorになるノードのIDと、successorになるノードのIDの差が、(ID空間サイズ/Chordリング上のノード数)×α(α<=2)以上であることを条件とする。この条件を満たすpredecessor, successor候補の中で、ノードX参加後の評価関数Eを最小とするものを、ツリーのルートが計算し選択する。そして、結果をノードXに通知し、ノードXのpredecessor, successorを指示する。
(1-5)ノードがChordリングから離脱する時や、(ノードやリンクの障害等のための)物理ネットワークトポロジ変化時に、Chordリングの再構築を行うために、ツリーのルートが、Chordリングに参加するノードの中から1つを選び、そのノードがChordリングの別の場所に参加し直すことで評価関数Eをより小さくできるノードを探すことを、評価関数Eをより小さくできなくなるまで繰り返す。そして、計算結果を元に、Chordリングを構成するノードに対して別の場所への参加を指示する。
また、上述のID値決定処理部における評価関数計算(1-4)を、以下の方法で行う。
(1-4-1)ノードXからChordリングへの参加要求を受けた、Chordリングに既に参加しているノードAは、Ransubアルゴリズムを実行するツリーのルートノード(ノードR)にノードXの参加要求を通知する。
(1-4-2)ノードRは、Chordリングに参加している全ノードに、自ノードとsuccessorの間にノードXが参加した場合の評価関数Eの変化量を計算する様に指示する。
(1-4-3)Chordリングに参加している各ノードは、ノードRに計算結果を報告する。計算結果の報告にあたり、Ransubアルゴリズムを使用し、各ノードは、ツリーの子ノードからの報告結果と自ノードの計算結果の中で、変化量が最も小さい結果のみを、ツリーの親ノードに報告する。
参加応答を受信したノードのID値決定処理部は、指定されるID値を自ノードのIDとしてChordトポロジ管理処理部に通知し、通常のChordの方法でChordリングに参加することを、Chordトポロジ管理処理部に要求する。
ID値決定処理部は、Chordトポロジ管理処理部から通知されるChordリングトポロジ情報を元に、自ノードがRansubアルゴリズム実行用ツリーのルートになるかどうかを判断する。
具体的には、自ノードのpredecessorのID値が、自ノードのID値よりも大きいか等しい場合、自ノードがChordリング上で最もID値が小さいノードとなるため、ルートになると判断する。
物理ネットワークトポロジ管理処理部から、物理ネットワークトポロジ変化を通知された時に、ツリーのルートとなるノードはChordリング再構築処理を開始する。
Chordトポロジ管理処理部から通知されるChordリングトポロジ情報の変化から、ノード離脱を検出した場合、ツリーのルートとなるノードはChordリング再構築処理を開始する。
Chordリング再構築処理は、各ノードのID値決定処理部が、以下の処理を実行することで実現する。まずは、上述の(1)及び(1-1)〜(1-5)の処理を行うが、その内容は上述のとおり。
また、上述の評価関数計算(1-5)は、以下の方法で行う。
(1-5-1)ノードのChordリングからの離脱や、物理ネットワークトポロジ変化を検出した時点で、ツリーのルートノード(ノードR)は、Chordリングに参加している各ノードに対して、自ノードがChordリングを離脱して別の場所に参加した場合に、評価関数Eの変化量が最も小さくなる参加箇所と変化量を求めるように指示する。
(1-5-2)各ノードはノードRに計算結果を報告する。計算結果の報告にあたり、Ransubアルゴリズムを使用し、各ノードは、ツリーの子ノードからの報告結果と自ノードの計算結果の中で、変化量が最も小さい結果のみを、ツリーの親ノードに報告する。
次に、本発明を実現する図4の他の処理部の処理内容について説明する。
(b)Chordトポロジ管理処理部
ID値決定処理部が決定したID値を自ノードのIDとして使用し、Chordで規定される方法に従ってChordリングの維持管理を行う。Chordリング上での転送テーブル情報の管理も行い、転送テーブル情報をChordデータ転送処理部に通知する。Chordリングの維持のために他ノードとの間でやり取りする制御メッセージは、Chordデータ転送処理部の機能を用いて送受信する。
(c)Chordデータ転送処理部
Chordトポロジ管理処理部から通知される転送テーブル情報を元に、Chordリング上で転送するデータの転送処理を行う。
(d)ツリー管理処理部
Chordトポロジ管理処理部から通知されるChordリングトポロジ情報を利用して、Chordリング上に、Ransubアルゴリズム実行に使用するツリーネットワークを維持管理するための処理を行う。Ransubアルゴリズム実行はID値決定処理部が行うため、ツリートポロジ情報(ツリー上の親ノード,子ノードのIDが何かの情報)をID値決定処理部に提供する。
(e)評価関数計算処理部
物理ネットワークトポロジ管理処理部から提供される(1)物理ネットワークトポロジ、(2)各リンクの帯域、(3)ノード間のルート情報(任意の2つのノード間通信で使用するリンクが何になるかを、物理ネットワークトポロジの情報とルーティングプロトコル仕様に基づき決定する)と、Chordトポロジ管理処理部から提供されるChordリングトポロジ情報を用いて、ID値決定処理部から指定るChordリングトポロジ変化情報(新規参加ノードと参加位置の情報、離脱ノードの情報)に対して、上述の(1-3)に示す評価関数の値の計算を行い、その結果をID値決定処理部へ返す機能を有する。f(x)としては、例えば1/xをとることが考えられる。
(f)物理ネットワークトポロジ管理処理部
例えばOSPFといったリンクステートルーティングプロトコルを実行し、物理ネットワークのトポロジ、各リンクの帯域の管理を行う。また、指定された2ノード間の通信が使用するリンクが何かを、物理ネットワークで使用されるルーティングプロトコル仕様に基づき決定する機能を持つ。(1)物理ネットワークトポロジ、(2)各リンクの帯域、(3)ノード間のルート情報の情報を、評価関数計算処理部からの要求に対して応答する機能を持つ。物理ネットワークトポロジ変化が発生した場合に、そのことをID値決定処理部に通知する機能を持つ。IPパケット転送処理部の機能を使用し、ルーティングプロトコルパケットの送受信を行う
(g)IPパケット転送処理部
通常のIPネットワークでの規則に従って、IPパケットの送受信処理、および、ルーティング処理を行う機能ブロック。例えば、Linux, Windows(登録商標)等のOSに含まれるIPプロトコルスタックソフトウェアで実現される。
以上のことから、以下の効果が得られる。
本発明の方法を取ることで、パケットがChordリングを一周する場合に経由するリンクのf()の値の総和ができるだけ小さくなる様に、Chordトポロジを構成することが可能となる。これにより、パケットがChordリングを一周する場合に帯域が細いリンクを使用する回数を減らすことができる。
例えば、図2の場合に、仮にノード1とノード3が既にChordリングに参加している状態で、ノード2に対応するノードが新たにChordリングに参加する場合に、上述の方法をとることでノードのIDが2ではなく5になり、パケットがChordリング上でsuccessorを順に辿って転送される時に、各リンクを1回のみ経由するトポロジになる。これを図3に示す。
また、上述の(1-4-1)〜(1-4-3)や(1-5-1)〜(1-5-2)の方法により、本発明の方法による評価関数計算時間を短くし、新規ノード参加時、ノード離脱時、物理ネットワークトポロジ変化時にChordリング再構成にかかる時間を短くできる。
また、上述の(1-4)での計算量について、Chordリングを構成するノード数をNとすると、本発明では、ツリーのルートであるノードRの計算量がO(N)であるものを、ノード間メッセージがO(N)必要になるが各ノードでの計算量をO(1)に抑えることができる。また、ノード間通信時間よりも計算時間が処理時間において支配要因である場合、上述の(1-4-1)〜(1-4-3)の方法により、新規ノードがChordリングに参加するためにかかる時間を低減できる。
さらに、上述の(1-5-1)〜(1-5-2)の方法を用いることにより、(1-5)の計算量について、Chordリングを構成するノード数をNとすると、本発明では、ツリーのルートであるノードRの計算量が繰り返し計算の1回につきO(N2)であるものを、繰り返し計算の1回につき、ノード間メッセージがO(N)必要になるが、各ノードでの計算量をO(N)に抑えることができる。また、ノード間通信時間よりも計算時間が処理時間において支配要因である場合、(1-5-1)〜(1-5-2)の方法により、本発明の方法でノード離脱時や物理ネットワークトポロジ変化時にChordリング再構成にかかる時間を低減することができる。
Chordリングに関する概要説明図。 従来のオーバーレイネットワークを示す説明図。 本発明のオーバーレイネットワークを示す説明図。 本発明のオーバーレイネットワークを構成するノードに関する構成図。
符号の説明
1 ID値決定処理部、2 Chordトポロジ管理処理部、3 Chordデータ転送処理部、4 ツリー管理処理部、5 評価関数計算処理部、6 物理ネットワークトポロジ管理処理部、7 IPパケット転送処理部。

Claims (6)

  1. オーバレイネットワーク(コードリング)を構成するシステムにおいて、
    前記コードリングを構成する各ノードは、
    ノード間のリンクの帯域を含むトポロジ情報を入手し、
    あるノードが前記コードリングに参加する時には、前記参加ノードのIDが、上流ノードと下流ノードのIDの間の値となり、前記コードリングに参加している間は、当該IDが変更されず、
    前記参加ノードを前記コードリングのどこに配置するかを決定した後に、前記参加ノードが使用するIDが決定される
    ことを特徴とするオーバレイネットワークを構成する構成方法。
  2. コードリングに参加するノードのツリーを構成し、前記コードリングを構成する各ノードの下流ノードと前記ノードの数とについて、コードリングを構成する全ノードで共有する
    ことを特徴とする請求項1に記載のオーバレイネットワークを構成する構成方法。
  3. あるノードと当該ノードの下流ノードとのリンクを経由する回数に基づく評価関数を設定し、
    この評価関数の評価結果に基づき、
    この評価関数の所定の条件を満たす上流ノード、下流ノードの候補の中から、前記ノードのコードリングへの参加後の評価関数が最小となるものを、ツリーのルートが選択し、前記ノードのコードリングへの参加位置を決定する
    ことを特徴とする請求項1に記載のオーバレイネットワークを構成する構成方法。
  4. 任意のノードXからコードリングへの参加要求を受けた、コードリングに既に参加しているノードAは、Ransubアルゴリズムを実行するツリーのルートノード(ノードR)にノードXの参加要求を通知し、
    前記ノードRは、コードリングに参加している全ノードに、自ノードと下流ノードの間にノードXが参加した場合の評価関数の変化量を計算するように指示し、
    コードリングに参加している各ノードは、前記ノードRに計算結果を報告し、計算結果の報告にあたり、Ransubアルゴリズムを使用し、各ノードは、ツリーの子ノードからの報告結果と自ノードの計算結果の中で、変化量が最も小さい結果のみを、ツリーの親ノードに報告する
    ことを特徴とする請求項3に記載のオーバレイネットワークを構成する構成方法。
  5. ノードがコードリングから離脱する時や、物理ネットワークトポロジの変化時に、コードリングの再構築を行うために、ツリーのルートが、コードリングに参加するノードの中から1つを選び、そのノードがコードリングの別の場所に参加し直すことで評価関数をより小さくできるノードを探すことを、評価関数をより小さくできなくなるまで繰り返し、前記評価関数結果に基づき、コードリングを構成するノードに対して別の場所への参加を指示する
    ことを特徴とする請求項1に記載のオーバレイネットワークを構成する構成方法。
  6. ノードのコードリングからの離脱や、物理ネットワークトポロジ変化を検出した時点で、ツリーのルートノード(ノードR)は、コードリングに参加している各ノードに対して、自ノードがコードリングを離脱して別の場所に参加した場合に、評価関数の変化量が最も小さくなる参加箇所と変化量を求めるように指示し、
    各ノードは前記ノードRに計算結果を報告し、前記各ノードはツリーの子ノードからの報告結果と自ノードの計算結果の中で、変化量が最も小さい結果を、ツリーの親ノードに報告する
    ことを特徴とする請求項1に記載のオーバレイネットワークを構成する構成方法。
JP2008053429A 2008-03-04 2008-03-04 オーバレイトポロジ構成方法 Pending JP2009212791A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008053429A JP2009212791A (ja) 2008-03-04 2008-03-04 オーバレイトポロジ構成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008053429A JP2009212791A (ja) 2008-03-04 2008-03-04 オーバレイトポロジ構成方法

Publications (1)

Publication Number Publication Date
JP2009212791A true JP2009212791A (ja) 2009-09-17

Family

ID=41185521

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008053429A Pending JP2009212791A (ja) 2008-03-04 2008-03-04 オーバレイトポロジ構成方法

Country Status (1)

Country Link
JP (1) JP2009212791A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101826986A (zh) * 2010-05-04 2010-09-08 中国人民解放军国防科学技术大学 一种物理网络感知的覆盖网构建方法
US8892663B2 (en) 2010-04-19 2014-11-18 Samsung Electronics Co., Ltd. Apparatus and method for establishing partnership with a peer-to-peer (P2P) service based on gossip

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8892663B2 (en) 2010-04-19 2014-11-18 Samsung Electronics Co., Ltd. Apparatus and method for establishing partnership with a peer-to-peer (P2P) service based on gossip
CN101826986A (zh) * 2010-05-04 2010-09-08 中国人民解放军国防科学技术大学 一种物理网络感知的覆盖网构建方法

Similar Documents

Publication Publication Date Title
JP5029373B2 (ja) ノード、経路制御方法および経路制御プログラム
JP4416733B2 (ja) 状態の同期化を有するクラスタのための仮想マルチキャスト経路指定
JP2017028698A (ja) トラフィック切り替え方法、デバイス、およびシステム
US20100220736A1 (en) Advertising alternate paths at border gateway protocol route reflectors
Krishnan et al. Performance analysis of OSPF and EIGRP routing protocols for greener internetworking
US8996726B2 (en) Methods and apparatus for event distribution and routing in peer-to-peer overlay networks
JP5194233B2 (ja) 経路制御方法およびノード装置
US9515927B2 (en) System and method for layer 3 proxy routing
RU2645296C2 (ru) Маршрутизация услуг &#34;точка - много точек&#34; в многодоменной сети
US20080019265A1 (en) Systems and methods for configuring a network to include redundant upstream connections using an upstream control protocol
US9288067B2 (en) Adjacency server for virtual private networks
CN113261245A (zh) 网络链路或节点故障的恢复系统和方法
EP2962411B1 (en) System and method for traffic polarization during failures
US20100085892A1 (en) Overlay network coordination redundancy
EP3429139B1 (en) Ingress gateway selection for a shortest path bridging network to support inter domain multicast routing
JP2009212791A (ja) オーバレイトポロジ構成方法
Spohn An Endogenous and Self-organizing Approach for the Federation of Autonomous MQTT Brokers.
US20150085706A1 (en) Convergence of multi-destination traffic in a network environment
Alvarez-Horcajo et al. Improving multipath routing of TCP flows by network exploration
US9331924B2 (en) Distribution route construction method and terminal device
JP2016046785A (ja) キャッシュサーバ選択装置、分散キャッシュシステム、及びキャッシュサーバ選択方法
Fischer et al. Resilient and underlay-aware P2P live-streaming
Young et al. UCDS: Unifying connected dominating set with low message complexity, fault tolerance, and flexible dominating factor
JP2019049950A (ja) 通信装置及び通信方法
Banno et al. Adaptive topology for scalability and immediacy in distributed publish/subscribe messaging