JP2008219644A - パケット転送方法および制御装置 - Google Patents

パケット転送方法および制御装置 Download PDF

Info

Publication number
JP2008219644A
JP2008219644A JP2007056351A JP2007056351A JP2008219644A JP 2008219644 A JP2008219644 A JP 2008219644A JP 2007056351 A JP2007056351 A JP 2007056351A JP 2007056351 A JP2007056351 A JP 2007056351A JP 2008219644 A JP2008219644 A JP 2008219644A
Authority
JP
Japan
Prior art keywords
transfer
control device
identification number
destination
information
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.)
Granted
Application number
JP2007056351A
Other languages
English (en)
Other versions
JP4926763B2 (ja
Inventor
Hajime Hirai
肇 平井
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 JP2007056351A priority Critical patent/JP4926763B2/ja
Publication of JP2008219644A publication Critical patent/JP2008219644A/ja
Application granted granted Critical
Publication of JP4926763B2 publication Critical patent/JP4926763B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】コストを増大させることなく、仮想ノードがもたらす負荷分散効果を損なわずに転送回数の少ないノード間通信を実現するパケット転送方法を得ること。
【解決手段】本発明は、複数の仮想制御装置を備える制御装置を含みオーバレイネットワークを構成する通信システムにおいて、固有の識別番号が付与されかつ識別番号に基づき識別番号空間における管理領域が個別に割り当てられている仮想制御装置におけるパケット転送方法であって、識別番号に基づき転送先のリストである転送情報を生成し、同一の制御装置に属する全ての仮想制御装置間で共有可能に保持するステップと、受信データに含まれる最終的な宛先を示す宛先識別番号が自装置の管理領域でない場合(S1 NO)に、前記宛先識別番号に基づき転送情報の中から転送先を選択するステップ(S2〜S5)と、選択した転送先に受信データを転送する転送ステップ(S6)と、を含む。
【選択図】 図6

Description

本発明は、オーバレイネットワークにおけるパケット転送方法に関するものである。
オーバレイネットワークにおいてノード間通信およびデータ(コンテンツデータなど)の分散配置をスケーラブルに行う方法として、分散ハッシュテーブル(DHT:Distributed Hash Table)方式がある。その代表的な一例であるChordシステムでは、ネットワークを構成するノードとそこに配置するデータの双方にハッシュ関数を用いて固定長のID(Identifier)値(識別番号)を割り当てる。各々のデータは、ID値が最も近くなるノードによって管理されるようにして、データが分散して配置されるようにしている。
このとき、ハッシュ関数の性質によってノードはID空間上にまんべんなく配置される。しかし、ID空間上で隣接するノード同士の間隔、すなわちID空間上で隣接するノード間のID値の間隔は一定ではなくばらつきが生じる。各ノードに配置されるデータ数の期待値は、ノードの隣接するノード間のID値の間隔に比例すると考えられるため、この間隔のばらつきによってノード間に負荷の偏りが発生することになる。
これを緩和する方法として、たとえば下記非特許文献1では、一つのノードに複数のID値を割り当てて、それぞれを仮想的なノードとして動作することにより負荷を均等化するという手法が提案されている。複数の仮想ノードを束ねることによって、ノード間のID値の間隔のばらつきが平均化されて物理的なノードごとの負荷の偏りを緩和することができる。
しかしながら、上記従来の非特許文献1の技術によれば、仮に一つの物理ノードにn個の仮想ノードを割り当てたとすると、システムに参加するノードの総数がn倍に増加することになる。一組のノード間の通信に必要な転送回数の平均はノード総数に対しておよそ対数オーダーで増加する。対数オーダーでの緩やかな増加であるため、スケーラビリティは損なわれないが、分散ハッシュテーブルの探索を頻繁に行うシステムでは転送回数がネットワークのコストに大きく影響するため、転送回数の増加を可能な限り抑えることが望ましい。
一方、一般的にDHTシステムにおいて、各々のノードが転送に利用可能なノード間リンクの本数を増やすと、一組のノード間通信にかかる平均転送回数は減少する。したがって、単純にリンクの本数を増加させるだけでも平均転送回数を抑えることはできる。しかしながら、リンクの本数を増やすとその維持・管理にかかるコストも増大するため、リンクの本数を増やすという対応には限界があり、転送回数の増加を抑えることは困難であるという問題があった。
本発明は、上記に鑑みてなされたものであって、コストを増大させることなく、仮想ノードがもたらす負荷分散効果を損なわずに転送回数の少ないノード間通信を実現するパケット転送方法および制御装置を得ることを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、複数の仮想制御装置を備える制御装置を含みオーバレイネットワークを構成する通信システムにおいて、固有の識別番号が付与されかつ前記識別番号に基づき識別番号空間における管理領域が個別に割り当てられている仮想制御装置におけるパケット転送方法であって、前記識別番号に基づき転送先のリストである転送情報を生成し、生成した転送情報を、同一の制御装置に属する全ての仮想制御装置間で共有可能に保持する転送情報生成ステップと、前記全ての仮想制御装置のうちのデータを受信した仮想制御装置が、受信データに含まれる最終的な宛先を示す宛先識別番号が自装置の管理領域でない場合に、前記宛先識別番号に基づき、前記共有可能に保持された転送情報の中から転送先を選択する転送先選択ステップと、前記データを受信した仮想制御装置が前記選択した転送先に受信データを転送する転送ステップと、を含むことを特徴とする。
この発明によれば、同一の物理ノードに属する仮想ノード間で転送情報を共有し、さらに転送情報の重複部分を削除するようにしたので、コストを増大させることなく、仮想ノードがもたらす負荷分散効果を損なわずに転送回数の少ないノード間通信を実現するという効果を奏する。
以下に、本発明にかかるパケット転送方法および制御装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
図1は、本発明にかかる制御装置の実施の形態1の機能構成例を示す図である。図1に示すように、本実施の形態の制御装置1は、外部ネットワークへデータを送信する送信処理部2と、外部ネットワークからデータを受信する受信処理部3と、受信データを仮想制御装置5−1〜5−4のいずれかに転送する共通処理部4と、仮想制御装置5−1〜5−4と、仮想制御装置5−1〜5−4間を接続するインタフェース9と、で構成される。また、仮想制御装置5−i(i=1〜4)は、受信データを解析する演算処理部6−iと、パケットの転送情報などの制御情報を保持する制御情報管理部7−iと、オーバレイネットワーク上に分散配置されたコンテンツデータのうち自仮想ノードに割り当てられたデータを保持するコンテンツ管理部8−iと、で構成される。
図2は、本実施の形態の制御装置1と通信端末10−1〜10−5を接続して構築されるオーバレイネットワークの一例を示す図である。図2において、制御装置1−1〜1−5は、それぞれ図1に示した制御装置1と同様の機能構成を有する。制御装置1−1〜1−5のそれぞれの間には論理的な通信路が設定されており、片方向または双方向の通信が可能である。また、たとえば、制御装置1−1と通信端末10−1,制御装置1−3と通信端末10−2のように、通信端末10−1〜10−5とそれぞれ接続されている制御装置1−1〜1−5との間にも、論理的な通信路が設定されており、片方向または双方向の通信が可能である。
本実施の形態のオーバレイネットワークにおいては、Chordシステムを適用することとし、各ノード(ここでは仮想制御装置)および各コンテンツデータにID(IDentifier)値が割り当てられる。各データは、そのデータに割り当てられたID値と、最も近いID値を持つ仮想制御装置が管理する。そして、本実施の形態における送受信データには、最終宛先を示す宛先IDが含まれているものとする。なお、ここでは、宛先IDとは、コンテンツ取得要求の場合には取得を要求するコンテンツデータのIDとし、制御情報(制御装置の追加など)の場合にはその制御情報の最終送信先の制御装置のIDとする。
ここで、本実施の形態の制御装置1の動作を説明するために、まず、仮想化を行わない単独制御装置を例にあげて動作を説明する。図3は、単独制御装置11の機能構成例を示す図である。図1の制御装置1と同様の機能のものは、同一の番号を付して説明を省略する。単独制御装置11は、図1の制御装置1の仮想制御装置5−1〜5−4,共通処理部4に替えて、演算処置部6a,制御情報管理部7,コンテンツ管理部8を備えている。制御情報管理部7,コンテンツ管理部8は、それぞれ制御情報管理部7−i,コンテンツ管理部8−iと同様の機能を備える。
まず、Chordシステムにおける一般的な転送方法の一例について説明する。Chordシステムにおいては、ID空間(IDサークル)上で自装置のIDから時計回りにみて最初に存在する制御装置をsuccessorとよび、逆周りに最初に存在する制御装置をpredecessorとよぶ。各制御装置は、predecessorのIDより大きく自分ID以下となるID空間を自制御装置の管理領域とし、管理領域内のIDをもつコンテンツデータなどを管理する。また、各制御装置は、送信されたデータが効率的に宛先の制御装置に転送されるように、「自ID+2i-1(i=1〜mの自然数、mはIDのビット数)」のIDを持つm個の制御装置への転送情報(Chordシステムでは一般にfinger tableとよばれる)を保持している。そして、各制御装置は、管理領域外の宛先IDのデータを受信した場合は、finger tableのなかから、宛先IDより小さく、かつ、宛先に最も近いIDを持つ転送先を選択し、選択した転送先にその受信データを転送する。
たとえば、端末が、コンテンツを取得したい場合には、そのコンテンツデータのID(以下、コンテンツIDという)を含んだコンテンツ取得要求を送信する。そして、その取得要求はコンテンツIDに基づいて、順次、そのコンテンツIDにより近いIDをもつ制御装置に転送されていき、最終的にそのコンテンツIDを管理する制御装置(最終宛先)に転送される。そのコンテンツIDを管理する制御装置は、コンテンツデータの所在などの情報を送信元の端末などに送信する。このようにして、端末は、コンテンツデータを取得することができるようになる。
つづいて、単独制御装置11の動作について説明する。単独制御装置11においても、制御情報管理部7が、上記のChordシステムにおける一般的な転送方法の一例と同様に、転送情報と、successor,predecessorの情報を保持している。また、ここでは、制御装置11のコンテンツ管理部8は、自装置の管理領域内のコンテンツを保持しているものとする。
まず、単独制御装置11は、外部ネットワークに接続されており、受信処理部3が外部ネットワーク経由でデータを受信する。そして、演算処理部6aは、受信データを解析して、宛先IDが自制御装置の管理領域のIDであるか否かを判断する。自制御装置の管理領域のIDである場合、演算処理部6aは、受信データが制御情報については制御情報管理部7へ、コンテンツ取得要求についてはコンテンツ管理部8へ、それぞれ受信データを転送する。
受信データがコンテンツ取得要求であった場合には、コンテンツ管理部8は、演算処理部6aから転送された受信データに含まれるコンテンツ取得要求に従い、コンテンツデータを演算処理部6aに出力する。演算処理部6aは、コンテンツ取得要求の送信元を宛先とし、コンテンツデータを、送信処理部2および外部ネットワーク経由で送信する。
受信データが制御要求であった場合には、制御情報管理部7は演算処理部6aから転送された受信データに含まれる制御要求の内容を反映する。たとえば、関連する制御装置の追加があった場合に、転送情報の書き換えを行う。
一方、演算処理部6aが、宛先IDが自制御装置の管理領域のIDでないと判断した場合には、その受信データの宛先IDに基づいて転送先を選択し、選択した転送先に受信データを送信処理部2経由で転送する。このときの転送方法は、上述のChordシステムにおける一般的な転送方法とする。
ここでは、単独制御装置11のコンテンツ管理部8は、自装置の管理領域内のコンテンツを保持しているものとするが、コンテンツデータを別の制御装置等に格納して、コンテンツ管理部8は自装置の管理領域内のコンテンツの所在のみを管理するようにしてもよい。
つづいて、仮想化について説明する。図4は、物理的に1つの制御装置を4つの仮想制御装置として動作させる場合の機能構成例を示す図である。仮想制御装置5−1〜5−4には、ChordシステムにおけるIDが割り当てられている。それぞれ図4に示す制御装置12は、インタフェース9を備えていないが、それ以外は図1の制御装置1と同様である。図4において、図1と同様の機能のものは同一の符号を付している。
図4の例では、物理的に1つの制御装置12を、仮想化により4つの仮想制御装置として動作させており、仮想制御装置5−1〜5−4にそれぞれ異なるIDを割り当てられている。このような構成の場合の動作の一例について説明する。まず、受信処理部3がデータを受信し、共通処理部4が仮想制御装置5−1〜5−4のいずれか1つを選択して、選択した仮想制御装置5−1〜5−4に受信データを転送する。このときの受信データに含まれる宛先ID値が仮想制御装置5−1〜5−4のいずれかのID値に一致する場合には、その一致するID値の仮想制御装置に転送する。
宛先ID値が仮想制御装置5−1〜5−4のいずれのID値とも一致しない場合には、たとえば、宛先ID以外に転送する仮想制御装置5−1〜5−4を識別する情報(たとえばIPアドレス、ポート番号など)が含まれていればそれを用いて転送先の仮想制御装置5−1〜5−4を選択する。また、たとえば、共通処理部4が、宛先IDと転送先仮想制御装置との対応情報をあらかじめ保持しておき、受信データに含まれる宛先IDに対応する転送先を対応情報から検索して、転送先として選択するようにしてもよい。これに限らず、転送先の仮想制御装置5−1〜5−4の選択方法については、特に制約はなく従来行われている方法を用いればよい。
そして、受信データが転送された演算処理部6−n(n=1〜4)は、受信データを受け取ると、宛先IDが自装置の管理領域内であるか否かを判断し、自装置の管理領域内でない場合には各々が単独制御装置11の演算処理部6aと同様の転送処理を行う。なお、制御情報管理部7−1〜7−4は、それぞれが自仮想装置のIDに基づいた転送情報を保持している。
演算処理部6−nが、自装置の管理領域内であると判断した場合には、受信データがコンテンツの取得要求のときにはコンテンツ管理部8−nに受信データを転送し、受信データが制御要求のときには制御情報管理部7−nに転送する。そして、コンテンツ管理部8−nがコンテンツ管理部8と同様の動作をし、制御情報管理部7−nが制御情報管理部7と同様の動作をする。そして、コンテンツ管理部8−nから出力されたコンテンツデータは、演算処理部6−nおよび共通処理部4を経由して送信処理部2が送信する。すなわち、仮想制御装置5−1〜5−4は、送受信の動作以外は、各々が独立の単独制御装置11と同様の動作を行う。
つづいて、図1に示した本実施の形態の制御装置1の制御情報管理部7−1〜7−4が保持する転送情報について説明する。図4の制御装置12においては、物理的には1つの制御装置であるが、Chordシステムにおける転送は全く独立に行われる。たとえば、仮想制御装置5−1に転送された受信データに含まれる宛先IDが、仮想制御装置5−2の保持する転送情報に含まれる制御装置の管理領域の宛先IDであったとする。そして、仮想制御装置5−1は、自装置の保持する転送情報のなかには、その受信データに含まれる宛先IDを管理する制御情報はないものとする。このとき、仮想制御装置5−1は、自装置の保持する転送情報のなかから宛先IDに最も近いIDをもつ装置に転送を行うため、最終的にその宛先IDを管理領域に持つ装置に転送されるまで、最低さらにもう1回の転送が必要となる。
一方、仮想制御装置5−1〜5−4間で転送情報を共有しているとすると、仮想制御装置5−1は、仮想制御装置5−2の保持する転送情報に基づいてその受信データに含まれる宛先IDを管理する装置に直接転送でき、転送回数は1回となる。このように、仮想制御装置5−1〜5−4が転送情報を共有することにより、転送回数を減らすことができる。なお、仮想制御装置5−1〜5−4が保持する転送情報は、それぞれ演算処理部6−1〜6−4または制御情報管理部7−1〜7−4が自装置に割り当てられたID値に基づいて算出した後に保持しているものとする。本実施の形態では、制御情報管理部7−1〜7−4は、インタフェース9を介してお互いの転送情報を参照することにより転送情報を共有する。
以下、本実施の形態の転送情報の共有方法について具体的に説明する。転送情報を共有する方法として、たとえば、仮想制御装置5−1〜5−4が保持する転送情報を、それぞれがお互いに独立に参照する方法がある。この方法では、転送情報に重複する情報がある場合、重複する情報を多重に保持することになる。このため、本実施の形態では、さらに、制御情報管理部7−1〜7−4の保持する転送情報から重複する情報を削除することにより、転送情報を削減する。なお、ここでは、転送情報の重複部分を削除するようにしたが、削除せずにそのまま用いるようにしてもよい。
図5−1〜5−3は転送情報の削減方法を示す図である。図5−1は、仮想制御装置5−1が自装置に割り当てられているID値に基づいて算出した転送情報A−1の一例を示す図である。図5−1において、横軸はID値(識別番号)を示し、ここでは右側がID値の数値の増加方向とする。なお、図5−1〜図5−3では、仮想装置5−1または仮想装置5−2の自装置のID値を黒四角で示し、転送情報A−1または転送情報A−2に含まれる転送先のID値を白抜き四角で示している。なお、本実施の形態では「仮想制御装置5−1のID値<仮想制御装置5−2のID値<仮想制御装置5−3のID値<仮想制御装置5−4のID値」とする。
図5−2は、仮想制御装置5−1の保持している転送情報A−1と、仮想制御装置5−2の保持している転送情報A−2の一例を示す図である。転送情報A−1と転送情報A−2には図5−2に示すように重複区間が生じることがある。図5−3は、転送情報A−1から転送情報A−2と重複する部分を削除した例を示す図である。図5−3では、転送情報A−1のうち、仮想制御装置5−2のIDを超えているIDを持つ転送先(ここでは、仮想制御装置5−3)を削除した例を示している。
本実施の形態では、図5−1〜図5−3で例示したように、仮想制御装置5−1〜5−4をIDの小さい順にならべ、IDの最も小さい仮想制御装置5−1〜5−4の転送情報から、IDが2番目に小さい仮想制御装置5−1〜5−4のIDを超えるIDを持つ転送先を削除する。同様に、IDが2番目に小さい仮想制御装置5−1〜5−4の転送情報から、IDが3番目に小さい仮想制御装置5−1〜5−4のIDを超えるIDを持つ転送先を削除する。また、同様に、IDが3番目に小さい仮想制御装置5−1〜5−4の転送情報から、IDが一番大きい仮想制御装置5−1〜5−4のIDを超えるIDを持つ転送先を削除する。
このように、仮想制御装置5−1〜5−4は、IDが自装置の次にIDの大きい仮想制御装置5−1〜5−4のIDを超えるIDを持つ転送先を削除することにより、重複部分を削除することができる。このため、転送情報の容量を削減することができる。また、これらの転送情報を用いて、後述の転送処理において宛先ID値に最も近い転送先を検索する場合にも、重複した検索が不要となり処理負荷も削減することができる。
つづいて、本実施の形態の動作について説明する。送信処理部2,受信処理部3,共通処理部4の動作は図4に示した制御装置12と同様である。ここでは、仮想制御装置5−1が共通処理部4から受信データを転送された場合を例にあげて説明するが、仮想制御装置5−2〜5−4に受信データが転送された場合も、各仮想制御装置5−2〜5−4の動作は同様となる。
仮想制御装置5−1の演算処理部6−1は、共通処理部4から受信データを受け取ると、まず、宛先ID値が自装置の管理領域(predecessorのID値より大きく、かつ自分のID以下)であるか否かを判断する。宛先ID値が自装置の管理領域のID値であると判断した場合、自装置内の処理として、制御装置12と同様に、受信データがコンテンツの取得要求のときにはコンテンツ管理部8−1に受信データを転送し、受信データが制御要求のときには制御情報管理部7−1に転送する。コンテンツ管理部8−1,制御情報管理部7−1の動作は、それぞれ上述の制御装置11のコンテンツ管理部8,制御情報管理部7の動作と同様である。
演算処理部6−1が、宛先ID値が自装置の管理領域のID値でないと判断した場合、以下に示す転送処理を行う。図6は、本実施の形態の転送処理手順の一例を示すフローチャートである。なお、本実施の形態では、図5で示した重複部分を削除した転送情報を制御情報管理部7−1〜7−4が算出して保持しているものとする。また、演算処理部6−1〜6−4は、それぞれ、制御装置1内の全ての仮想制御装置5−1〜5−4のID値を仮想制御装置5−1〜5−4の識別子と対応付けて保持しているものとする。なお、フローチャートにおいては、仮想制御装置を仮想ノードと表現し、単にノードという場合には、制御装置と仮想制御装置の区別なく、独立のIDをもつ装置とする。
まず、仮想制御装置5−1の演算処理部6−1は、共通処理部4から転送された受信データの宛先ID値が、predecessorのID値より大きく、かつ自分のID値以下(自装置の管理領域)であるか否かを判断する(ステップS1)。自装置の管理領域の宛先ID値である場合(ステップS1 YES)には、転送を行う必要がないため転送処理をそのまま終了する。自装置の管理領域の宛先ID値でない場合(ステップS1 NO)には、宛先ID値がsuccessorのID以下であるか否かを判断する(ステップS2)。なお、ステップS1については、上述のように、すでに転送処理を行うか自装置内の処理を行うかの判断において、同様の処理がされているため、ステップS1を省略し、ステップS2から開始するようにしてもよい。
宛先IDがsuccessorのID以下でないと判断した場合(ステップS2 NO)には、演算処理部6−1は、さらに、宛先ID値が次の仮想ノード(同一制御装置内でID値が自装置の次に大きい仮想ノード:この例では、仮想制御装置5−2)のID値未満であるか否かを判断する(ステップS3)。宛先ID値が次の仮想ノードのID値未満でないと判断した場合(ステップS3 NO)は、演算処理部6−1は、さらに、宛先ID値以下で最大のID値をもつ仮想ノードを選択する(ステップS4)。つぎに、演算処理部6−1は、その選択した仮想ノード(5−jとする。j=2〜4)の制御情報管理部7−jが保持している転送情報を参照して、そのなかから宛先ID以下で最大のID値を持つ転送先(ノード)を選択する(ステップS5)。そして、演算処理部6−1は、選択したノードに、共通処理部4,送信処理部2経由で、受信データを転送する(ステップS6)。
一方、ステップS2において、宛先ID値がsuccessorのID値以下であると判断した場合(ステップS2 YES)は、演算処理部6−1は、successorノードに、共通処理部4,送信処理部2経由で、受信データを転送する(ステップS7)。
また、ステップS3において、宛先ID値が次の仮想ノードのID値未満であると判断した場合(ステップS3 YES)は、演算処理部6−1は、制御情報管理部7−1が保持している転送情報を参照して、そのなかから宛先ID以下で最大のID値を持つ転送先(ノード)を選択し(ステップS8)、ステップS6に進む。
ステップS1,ステップS2は通常のChordシステムと同様であるが、本実施の形態のステップS3〜ステップS5では、同一制御装置内の別の仮想制御装置の転送情報を参照するようにしている。このため、より宛先ID値に近いノードへ転送を行うことができ、最終宛先ノードまでの到達にかかる転送回数を減らすことができる。なお、ここでは、重複した部分を削除した転送情報を用いる転送処理手順を示したが、重複した部分を削除しない場合には、ステップS3〜ステップS5,ステップS8のかわりに、演算処理部6−1が、全ての仮想制御装置の転送情報を順次参照して、そのなかから宛先ID値以下で最大のID値をもつノードを選択する処理を行い、ステップS6にすすむようにすればよい。
なお、本実施の形態では、1つの物理的な制御装置1を4つの仮想制御装置5−1〜5−4として動作させる例について説明したが、これに限らず、1つの物理的な制御装置1に対する仮想制御装置の数がどのような数であっても本実施の形態の転送方法を適用することができる。
このように、本実施の形態では、仮想制御装置5−1〜5−4の制御情報管理部7−1〜7−4がインタフェース9を介してお互いの転送情報を参照するようにして、全ての転送情報のなかから、宛先ID値以下で最も宛先ID値に近いID値を持つ転送先に受信データを転送するようにした。さらに、制御情報管理部7−1〜7−4間で転送情報の重複部分を削除するようにした。このため、1回の転送でより宛先ID値に近いノードへ転送を行うことができ、最終宛先ノードまでの到達にかかる転送回数が減らすことができる。さらに、転送情報の重複部分を削減しない場合に比べ記憶容量と処理負荷を削減することができる。
実施の形態2.
図7は、本発明にかかる制御装置の実施の形態2の機能構成例を示す図である。図7に示すように、本実施の形態の制御装置1aは、実施の形態1の制御装置1からインタフェース9を削除し、制御情報管理部7−1〜7−4,仮想制御装置5−1〜5−4に替えてそれぞれ制御情報管理部7a,仮想制御装置5a−1〜5a−4を備える以外は、実施の形態1の制御装置1と同様である。実施の形態1と同様の機能のものは同一の符号を付して説明を省略する。
本実施の形態では、制御装置1aは、全ての仮想制御装置5a−1〜5a−4の制御情報を一元管理する制御情報管理部7aを設けて、各々の演算処理部6−1〜6−4から制御情報管理部7aが保持する情報を参照できるようにしている。制御情報管理部7aは、実施の形態1で説明した制御情報管理部7−1〜7−4がそれぞれ保持していた転送情報を統合した制御情報を保持している。ここで、保持される転送情報は実施の形態1と同様に重複部分を削除したものである。また、さらに、制御情報管理部7aは、仮想制御装置5a−1〜5a−4に接続する通信端末などへのパケット配信に必要な情報(配信情報)を一元管理する。配信情報は、たとえばマルチキャストグループのパケットを配信している通信端末の情報(マルチキャスト配信情報)などである。
つづいて、本実施の形態の転送方法について説明する。本実施の形態の転送方法以外の動作については、実施の形態1と同様である。以下、実施の形態1と異なる部分について説明する。
図8は、本実施の形態の転送処理手順の一例を示すフローチャートである。ステップS11,ステップS12は、それぞれ実施の形態1のステップS1,ステップS2と同様であるため説明を省略する。ステップS12において、ステップS11において、宛先IDがsuccessorのID以下でないと判断した場合(ステップS12 NO)には、演算処理部6−1は、さらに、制御情報管理部7aが保持している転送情報を参照して、そのなかから宛先ID値以下で最大のID値を持つ転送先(ノード)を選択する(ステップS13)。ステップS14,ステップS15は、実施の形態1のステップS6,ステップS7とそれぞれ同様であるため説明を省略する。このように、本実施の形態では、実施の形態1のステップS3,S4,S5,S8の替わりに、ステップS13のみを行えばよく、実施の形態1に比べ転送処理手順を簡素化できる。
つづいて、本実施の形態のマルチキャスト配信情報の共有について説明する。オーバレイネットワークを利用したマルチキャストパケット配信を行う場合、同一の制御装置に属する複数の仮想制御装置が、同一のマルチキャストパケットの配信を受けることが起こりうる。この場合、マルチキャストパケットが重複して同一の制御装置に送信されることになりトラフィックに無駄が生じてしまう。本実施の形態では、この重複受信をさけるためにマルチキャスト配信情報の共有を行う。
図9は、マルチキャスト配信情報の共有によってパケットの二重配信を回避する方法を示す図である。図10は、配信情報の一例を示す図である。図10には、仮想制御装置5a−1に関する配信情報を示している。このような配信情報が、仮想制御装置5a−1〜5a−4の全てについて保持されている。まず、仮想制御装置5a−1に通信端末10a−1が接続し、マルチキャストグループxのパケット配信を受けているとする。図10の上段には、この状態の仮想制御装置5a−1の配信情報を示している。仮想制御装置5a−1の配信情報には、このように、マルチキャストグループごとにその配信を受けている通信端末が格納されている。
つぎに、仮想制御装置5a−2に接続されている通信端末10a−2が、マルチキャストグループxの配信要求を送信する。仮想制御装置5a−2の演算処理部6−2は、受信処理部3,共通処理部4経由でマルチキャストグループの配信要求を受信すると、制御情報管理部7aが保持している配信情報を参照して、マルチキャストグループxへの配信情報を含む仮想制御装置5a−1〜5a−4を検索する。
この場合、演算処理部6−2は、マルチキャストグループxへの配信情報を含む仮想制御装置5a−1〜5a−4を検索した結果として、仮想制御装置5a−1を得ることになる。そして、演算処理部6−2は、仮想制御装置5a−1の配信情報に通信端末10a−2を追加する。図10の下段は、通信端末10a−2が追加された状態の仮想制御装置5a−1の配信情報(マルチキャストxに対応する行)を示している。
図11は、本実施の形態のマルチキャスト配信設定処理手順の一例を示すフローチャートである。以下、図9と同様に、仮想制御装置5a−2が、自装置に接続される通信端末10a−2からマルチキャストグループの配信要求を受信した場合について説明する。まず、仮想制御装置5a−2の演算処理部6−2は、制御情報管理部7aが保持している仮想制御装置5a−1の配信情報を検索して、配信要求のあったマルチキャストグループと同じマルチキャストグループのエントリ(情報)があるか否かを判断する(ステップS21)。同じマルチキャストグループのエントリがあると判断した場合(ステップS21 YES)には、仮想制御装置5a−1の配信情報に、通信端末10a−2を追加し(ステップS22)、マルチキャスト配信設定処理を終了する。
一方、ステップS21において、同じマルチキャストグループのエントリがないと判断した場合(ステップS21 NO)には、演算処理部6−2は、全ての仮想ノード(ここでは仮想制御装置5a−1〜5a−4)を検索済みが否かを判断する(ステップS23)。全ての仮想ノードを検索済みでないと判断した場合(ステップS23 NO)には、未検索の仮想ノードのうちの1つを選択し(ステップS24)、ステップS21以降の処理を繰り返す。
また、ステップS23において、全ての仮想ノードを検索済みであると判断した場合(ステップS23 YES)には、演算処理部6−2は、そのマルチキャストグループに参加するためのマルチキャストパケット配信要求を共通処理部4,送信処理部2経由でマルチパケット配信要求の送信先(マルチパケット要求を管理する装置,他のマルチパケット配信を受けている制御装置など)へ送信する(ステップS25)。そして、自装置(5a−2)の、そのマルチパケットグループの配信情報に通信端末10a−2を追加する(ステップS22)。
なお、本実施の形態では、制御情報管理部7aが配信情報を一元管理するようにしたが、実施の形態1の制御装置1と同様の構成として、制御情報管理部7−1〜7−4をお互いに参照することにより、図11に示した手順を行うようにしてもよい。この場合、演算処理部6−2は、制御情報管理部7aの配信情報を参照する替わりに、制御情報管理部7−1の配信情報を順次参照して全ての仮想ノード分を検索するようにすればよい。
なお、本実施の形態では、配信情報を仮想制御装置ごとに保持するようにしたが、配信情報を統合し、全ての仮想制御装置5a−1〜5a−4の配信情報を1つの配信情報として管理するようにしてもよい。図12は、このように、配信情報を統合した場合のマルチキャスト配信設定処理手順の一例を示すフローチャートである。
図12を用いてこの場合の処理を説明する。まず、仮想制御装置5a−2は、制御情報管理部7aが保持している統合された配信情報を検索して、配信要求のあったマルチキャストグループと同じマルチキャストグループのエントリがあるか否かを判断する(ステップS31)。
同じマルチキャストグループのエントリがあった場合(ステップS31 YES)は、統合された配信情報に通信端末6−2を追加する(ステップS32)。同じマルチキャストグループのエントリがない場合(ステップS31 NO)は、そのマルチキャストグループに参加するためのマルチキャストパケット配信要求を、共通処理部4,送信処理部2経由でマルチパケット配信要求の送信先(マルチパケット要求を管理する装置,他のマルチパケット配信を受けている制御装置など)へ送信する(ステップS33)。そして、自装置(5a−2)の、そのマルチパケットグループの配信情報に通信端末10a−2を追加する(ステップS32)。このように、統合された配信情報を用いると、処理手順を図11の場合に比べて簡略化することができる。
このように、本実施の形態では、制御情報管理部7aが、転送情報および制御情報を一元管理するようにした。このため、実施の形態1にくらべ転送処理を簡略化することができ、同一のマルチキャストグループの重複配信を避けることができる。また、さらに、配信情報を統合化することにより、マルチキャストグループの配信設定処理を簡略化することができる。
以上のように、本発明にかかるパケット転送方法および制御装置は、オーバレイネットワークにおけるパケット転送に有用であり、特に、仮想ノードを含むChordシステムにおけるパケット転送に適している。
本発明にかかる制御装置の実施の形態1の機能構成例を示す図である。 実施の形態1のオーバレイネットワークの一例を示す図である。 単独制御装置の機能構成例を示す図である。 物理的に1つの制御装置を4つの仮想制御装置として動作させる場合の機能構成例を示す図である。 仮想制御装置5−1の転送情報を示す図である。 仮想制御装置5−1の保持している転送情報と、仮想制御装置5−2の保持している転送情報の一例を示す図である。 重複部分を削除した転送情報を示す図である。 実施の形態1の転送手順の一例を示すフローチャートである。 本発明にかかる制御装置の実施の形態2の機能構成例を示す図である。 実施の形態2の転送処理手順の一例を示すフローチャートである。 マルチキャスト配信情報の共有によってパケットの二重配信を回避する方法を示す図である。 仮想制御装置5a−1の配信情報の一例を示す図である。 実施の形態2のマルチキャスト配信設定処理手順の一例を示すフローチャートである。 配信情報を統合した場合のマルチキャスト配信設定処理手順の一例を示すフローチャートである。
符号の説明
1,1a,12 制御装置
2 送信処理部
3 受信処理部
4 共通処理部
5−1〜5−4,5a−1〜5a−4 仮想制御装置
6−1〜6−4,6a 演算処理部
7,7−1〜7−4,7a 制御情報管理部
8,8−1〜8−4 コンテンツ管理部
9 インタフェース
10−1〜10−5,10a−1,10a−2 通信端末
11 単独制御装置

Claims (11)

  1. 複数の仮想制御装置を備える制御装置を含みオーバレイネットワークを構成する通信システムにおいて、固有の識別番号が付与されかつ前記識別番号に基づき識別番号空間における管理領域が個別に割り当てられている仮想制御装置におけるパケット転送方法であって、
    前記識別番号に基づき転送先のリストである転送情報を生成し、生成した転送情報を、同一の制御装置に属する全ての仮想制御装置間で共有可能に保持する転送情報生成ステップと、
    前記全ての仮想制御装置のうちのデータを受信した仮想制御装置が、受信データに含まれる最終的な宛先を示す宛先識別番号が自装置の管理領域でない場合に、前記宛先識別番号に基づき、前記共有可能に保持された転送情報の中から転送先を選択する転送先選択ステップと、
    前記データを受信した仮想制御装置が前記選択した転送先に受信データを転送する転送ステップと、
    を含むことを特徴とするパケット転送方法。
  2. 前記転送情報生成ステップにおいては、各仮想制御装置が、固有の識別情報に基づきそれぞれ前記転送情報を生成することを特徴とする請求項1に記載のパケット転送方法。
  3. 前記転送情報生成ステップにおいては、同一制御装置に属する仮想制御装置のなかで自装置の次に前記識別番号が大きい仮想制御装置の識別番号未満の識別番号を持つ転送先の転送情報を生成することを特徴とする請求項2に記載のパケット転送方法。
  4. 前記転送先選択ステップにおいては、前記宛先識別番号が前記次に識別番号が大きい仮想制御装置の識別番号未満である場合には、自装置の転送情報に基づき転送先を選択し、一方、前記宛先識別番号が前記次に識別番号が大きい仮想制御装置の識別番号以上である場合には、同一制御装置に属する仮想制御装置のうちの、前記宛先識別番号以下で最大の識別番号を有する仮想制御装置の転送情報に基づいて転送先を選択することを特徴とする請求項3に記載のパケット転送方法。
  5. 前記転送情報生成ステップにおいては、仮想制御装置ごとに生成された転送先のリストを統合して、1つの転送情報を生成することを特徴とする請求項1に記載のパケット転送方法。
  6. 前記転送先選択ステップにおいては、前記転送情報のなかから、前記宛先識別番号以下で最大の識別番号を持つ転送先を選択することを特徴とする請求項1〜5のいずれか1つに記載のパケット転送方法。
  7. 前記仮想制御装置に接続する端末からマルチキャストグループの配信要求があった場合に、前記全ての仮想制御装置が保持し、マルチキャストグループの配信を受けている配下の端末が格納されている、配信情報を検索し、前記配信要求のあったマルチキャストグループと同一のマルチキャストグループの配信情報が検索結果として得られた場合には、得られた配信情報に前記端末を追加する配信設定処理ステップ、
    をさらに含むことを特徴とする請求項1〜6のいずれか1つに記載のパケット転送方法。
  8. 前記配信情報を、仮想制御装置ごとに保持し、
    前記配信設定処理ステップにおいては、仮想制御装置ごとに配信情報を検索することを特徴とする請求項7に記載のパケット転送方法。
  9. 前記全ての仮想制御装置の配信情報を統合して1つの配信情報として保持することを特徴とする請求項7に記載のパケット転送方法。
  10. オーバレイネットワークを構成し、固有の識別番号に基づき識別番号空間における管理領域が個別に割り当てられている複数の仮想制御装置を備える制御装置であって、
    前記各仮想制御装置が、
    前記識別番号に基づき転送先のリストである転送情報を生成し、生成した転送情報を、同一の制御装置に属する全ての仮想制御装置間で共有可能に保持する制御情報管理手段と、
    受信データに含まれる最終的な宛先を示す宛先識別番号が自装置の管理領域でない場合に、前記宛先識別番号に基づき、前記共有可能に保持された転送情報の中から転送先を選択して転送する演算手段と、
    を備えることを特徴とする制御装置。
  11. オーバレイネットワークを構成し、固有の識別番号に基づき識別番号空間における管理領域が個別に割り当てられている複数の仮想制御装置を備える制御装置であって、
    前記識別番号に基づき仮想制御装置ごとに生成された転送先のリストである転送情報を統合して1つの転送情報として保持する制御情報管理手段と、
    を備え、
    前記仮想制御装置が、
    受信データに含まれる最終的な宛先を示す宛先識別番号が自装置の管理領域でない場合に、前記宛先識別番号に基づき、前記共有可能に保持された転送情報の中から転送先を選択して転送する演算手段と、
    を備えることを特徴とする制御装置。
JP2007056351A 2007-03-06 2007-03-06 パケット転送方法および制御装置 Expired - Fee Related JP4926763B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007056351A JP4926763B2 (ja) 2007-03-06 2007-03-06 パケット転送方法および制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007056351A JP4926763B2 (ja) 2007-03-06 2007-03-06 パケット転送方法および制御装置

Publications (2)

Publication Number Publication Date
JP2008219644A true JP2008219644A (ja) 2008-09-18
JP4926763B2 JP4926763B2 (ja) 2012-05-09

Family

ID=39839124

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007056351A Expired - Fee Related JP4926763B2 (ja) 2007-03-06 2007-03-06 パケット転送方法および制御装置

Country Status (1)

Country Link
JP (1) JP4926763B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010038775A1 (ja) * 2008-10-02 2010-04-08 日本電気株式会社 ネットワークノードおよびその負荷分散方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004221807A (ja) * 2003-01-14 2004-08-05 Hitachi Ltd 分散ルーティングテーブル管理方式およびルータ
JP2004266796A (ja) * 2002-09-11 2004-09-24 Microsoft Corp 効率的な分散データ構造を備えた改良されたオーバレイネットワークを生成するシステムおよび方法
JP2006313949A (ja) * 2005-05-06 2006-11-16 Hitachi Ltd パケット転送装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004266796A (ja) * 2002-09-11 2004-09-24 Microsoft Corp 効率的な分散データ構造を備えた改良されたオーバレイネットワークを生成するシステムおよび方法
JP2004221807A (ja) * 2003-01-14 2004-08-05 Hitachi Ltd 分散ルーティングテーブル管理方式およびルータ
JP2006313949A (ja) * 2005-05-06 2006-11-16 Hitachi Ltd パケット転送装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010038775A1 (ja) * 2008-10-02 2010-04-08 日本電気株式会社 ネットワークノードおよびその負荷分散方法
JP5429179B2 (ja) * 2008-10-02 2014-02-26 日本電気株式会社 ネットワークノードおよびその負荷分散方法

Also Published As

Publication number Publication date
JP4926763B2 (ja) 2012-05-09

Similar Documents

Publication Publication Date Title
JP6129928B2 (ja) アジャイルデータセンタネットワークアーキテクチャ
JP5889914B2 (ja) ロードバランサーコンポーネント間の状態の同期
US9762494B1 (en) Flow distribution table for packet flow load balancing
JP5381998B2 (ja) クラスタ制御システム、クラスタ制御方法、及びプログラム
KR100984384B1 (ko) 클러스터 노드들을 권위적 도메인 네임 서버들로서사용하여 액티브 부하 조절을 하는 시스템, 네트워크 장치,방법, 및 컴퓨터 프로그램 생성물
CN109937401B (zh) 经由业务旁路进行的负载均衡虚拟机的实时迁移
JP6169251B2 (ja) 分散型ロードバランサにおける非対称パケットフロー
JP3944168B2 (ja) ネットワーク環境におけるピアツーピア通信のための方法およびシステム
US7693050B2 (en) Stateless, affinity-preserving load balancing
US8213336B2 (en) Distributed data center access switch
JP5016063B2 (ja) 整合性のとれた耐障害性分散ハッシュテーブル(dht)オーバレイネットワーク
EP2137844B1 (en) Distributed routing table architecture and design
JP6106896B2 (ja) 粗粒度の負荷分散と細粒度の負荷分散との間をブリッジするクラスタコンピューティングデバイスのコンピューティングノード、および、粗粒度の負荷分散と細粒度の負荷分散との間でブリッジする方法
US7315896B2 (en) Server network controller including packet forwarding and method therefor
JP6109954B2 (ja) 仮想シャーシシステムにおけるパススルーモードのためのシステムおよび方法
US20120233240A1 (en) Sctp association endpoint relocation in a load balancing system
CN101534255A (zh) 一种实现特定请求定向处理的方法及装置
WO2023207189A1 (zh) 负载均衡方法及系统、计算机存储介质、电子设备
JP4926763B2 (ja) パケット転送方法および制御装置
JP2007013804A (ja) 属性指定通信方法および通信装置
US11528222B2 (en) Decentralized control plane
JP2004264911A (ja) 計算機ノード、クラスタシステム、クラスタ管理方法、クラスタ管理プログラム
WO2012046585A1 (ja) 分散ストレージシステム、その制御方法、およびプログラム
US9118581B2 (en) Routing network traffic
JP2009070172A (ja) コンテンツ分散保存システム、提供元サーバ装置登録方法、ノード装置、及びノード処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091117

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110422

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110510

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110707

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120207

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120208

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150217

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees