【文献】
荻野 長生 他,ネットワーク分割に基づくサービス機能の簡素化,電子情報通信学会2011年通信ソサイエティ大会講演論文集2,2011年 8月30日,p.S-130
(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、上記各文献には、分割後の部分ネットワークにおいてノードの接続関係の属性を偏在化させることについて記載されていない。
【0008】
本発明は、このような事情を考慮してなされたものであり、分割後の部分ネットワーク間で、通信負荷を均等化すると共にノードの接続関係の属性を偏在化させることを目的の一つとする。
【課題を解決するための手段】
【0009】
本発明の一態様は、複数のノードを含む分割対象ネットワークを、第1の部分ネットワークと第2の部分ネットワークに分割するネットワーク分割装置であって、前記複数のノードのそれぞれの通信負荷を示す指標値と、接続関係に関する情報を取得する取得部と、前記第1の部分ネットワークと前記第2の部分ネットワークの間で、通信負荷が均等化されると共に、前記分割対象ネットワーク外のノードと接続する外部接続ノードと前記分割対象ネットワーク外のノードと接続しない内部接続ノードが偏在化するように、前記複数のノードを前記第1の部分ネットワークまたは前記第2の部分ネットワークに配分する配分部と、を備えるネットワーク分割装置である。
本発明の一態様において、前記配分部は、前記第1の部分ネットワークについては前記外部接続ノードを優先的に選択し、前記第2の部分ネットワークについては前記内部接続ノードを優先的に選択することで、前記外部接続ノードと前記内部接続ノードを偏在化させるものとしてよい。
本発明の一態様において、前記配分部は、前記第1の部分ネットワークにおける前記指標値の合計値(第1合計値)と前記第2の部分ネットワークにおける前記指標値の合計値(第2合計値)が均衡化するように、前記複数のノードを前記第1の部分ネットワークまたは前記第2の部分ネットワークに配分することで、前記第1の部分ネットワークと前記第2の部分ネットワークの間で通信負荷を均等化させるものとしてよい。
この場合、前記配分部は、前記第1合計値が前記第2合計値よりも小さい場合、未配分のノードの中に第1の所定条件を満たす前記外部接続ノードが存在すれば、該存在する外部接続ノードを前記第1の部分ネットワークに配分し、存在しなければ、前記第1の所定条件を満たす未配分の内部接続ノードを前記第1の部分ネットワークに配分し、前記第1合計値が前記第2合計値よりも大きい場合、未配分のノードの中に第2の所定条件を満たす前記内部接続ノードが存在すれば、該存在する内部接続ノードを前記第2の部分ネットワークに配分し、存在しなければ、前記第2の所定条件を満たす未配分の外部接続ノードを前記第2の部分ネットワークに配分するものとしてよい。
更にこの場合、前記第1の所定条件は、既に前記第1の部分ネットワークに配分されたノードの隣接ノードであることであり、前記第2の所定条件は、既に前記第2の部分ネットワークに配分されたノードの隣接ノードであることであるものとしてよい。
これらの場合、前記配分部は、前記第1合計値が前記第2合計値よりも小さく、且つ、未配分のノードの中に前記第1の所定条件を満たす前記外部接続ノードが存在しない場合であっても、前記第2合計値から前記第1合計値を差し引いた差分が閾値以下であれば、前記第2の所定条件を満たす未配分の内部接続ノードを前記第2の部分ネットワークに配分し、前記第1合計値が前記第2合計値よりも大きく、且つ、未配分のノードの中に前記第2の所定条件を満たす前記内部接続ノードが存在しない場合であっても、前記第1合計値から前記第2合計値を差し引いた差分が閾値以下であれば、前記第1の所定条件を満たす未配分の外部接続ノードを前記第1の部分ネットワークに配分するものとしてよい。
本発明の一態様において、前記配分部は、前記外部接続ノードを前記第1の部分ネットワークに配分する場合には、前記分割対象ネットワーク外のノードとの通信に係る通信負荷が大きいノードを優先的に配分し、前記第2の部分ネットワークに前記外部接続ノードを配分する場合には、前記分割対象ネットワーク外のノードとの通信に係る通信負荷が小さいノードを優先的に配分するものとしてよい。
本発明の一態様において、前記配分部は、前記第1の部分ネットワークに前記外部接続ノードを配分する場合には、前記分割対象ネットワーク外のノードとの接続関係に基づく第1の規則に従って前記外部接続ノードを選択し、前記第2の部分ネットワークに前記外部接続ノードを配分する場合には、前記第1の規則とは逆の傾向の第2の規則に従って前記外部接続ノードを選択するものとしてよい。
本発明の一態様において、前記第2の部分ネットワークに配分された外部接続ノードのうち、前記第1の部分ネットワークに配分された外部接続ノードが通信する前記分割対象ネットワーク外のネットワークと通信するものに対して、該分割対象ネットワーク外のネットワークへのリンクを削除するように指示する信号を送信するものとしてよい。
本発明の他の態様は、複数のノードを含む分割対象ネットワークを、第1の部分ネットワークと第2の部分ネットワークに分割するネットワーク分割方法であって、前記複数のノードのそれぞれの通信負荷を示す指標値と、接続関係に関する情報を取得し、前記第1の部分ネットワークと前記第2の部分ネットワークの間で、通信負荷が均等化されると共に、前記分割対象ネットワーク外のノードと接続する外部接続ノードと前記分割対象ネットワーク外のノードと接続しない内部接続ノードが偏在化するように、前記複数のノードを前記第1の部分ネットワークまたは前記第2の部分ネットワークに配分する、ネットワーク分割方法である。
本発明の他の態様は、コンピュータに、複数のノードを含む分割対象ネットワークを、第1の部分ネットワークと第2の部分ネットワークに分割するネットワーク分割プログラムであって、前記コンピュータに、前記複数のノードのそれぞれの通信負荷を示す指標値と、接続関係に関する情報を取得させ、前記第1の部分ネットワークと前記第2の部分ネットワークの間で、通信負荷が均等化されると共に、前記分割対象ネットワーク外のノードと接続する外部接続ノードと前記分割対象ネットワーク外のノードと接続しない内部接続ノードが偏在化するように、前記複数のノードを前記第1の部分ネットワークまたは前記第2の部分ネットワークに配分させる、ネットワーク分割プログラムである。
【発明の効果】
【0010】
本発明の一態様によれば、分割後の部分ネットワーク間で、通信負荷を均等化すると共にノードの接続関係の属性を偏在化させることができる。
【発明を実施するための形態】
【0012】
以下、図面を参照し、本発明のネットワーク分割装置、ネットワーク分割方法、およびネットワーク分割プログラムの実施形態について説明する。
【0013】
<第1実施形態>
[概要、および構成]
図1は、第1実施形態のネットワーク分割装置1が分割対象とするネットワーク(分割対象ネットワークTNW)を含むネットワークNWの全体像を例示した図である。ネットワークNWは、例えば、根(ルート)ネットワークを起点としてツリー状に展開しており、親ネットワーク、分割対象ネットワークTNW、子ネットワークと順に接続されている。ネットワークNWは、例えばイーサネット(登録商標)である。ネットワーク分割装置1は、例えば分割対象ネットワークの上位に位置する親ネットワーク内に配置される。なお、これに限らず、ネットワーク分割装置1は、ネットワークNWの任意の位置に配置されてよい。ネットワーク分割装置1は、分割対象ネットワークTNWを、少なくとも2つの部分ネットワークPNW1、PNW2に分割する。
【0014】
図2は、分割対象ネットワークTNWに含まれる複数のノードの接続関係を示す図である。
図2に示すように、分割対象ネットワークTNWに含まれる複数のノードは、分割対象ネットワークTNWの外部のノードと接続するもの(外部接続ノード)と、分割対象ネットワークTNWの内部にのみ接続するもの(内部接続ノード)とに大別される。
図2では、外部接続ノードを黒丸で、内部接続ノードを白丸で示した。ネットワーク分割装置1は、分割対象ネットワークTNW内の少なくとも1つの外部ノードに直接的または間接的に接続され(ネットワーク分割装置1が分割対象ネットワークTNW内にある場合は内部接続ノードに接続されてよい)、分割対象ネットワークTNW内の各ノードの通信状況を受信することができる。ネットワーク分割装置1は、受信した各ノードの通信状況に基づき、分割対象ネットワークTNWを分割する。
【0015】
図3は、ネットワーク分割装置1の機能構成の一例を示す構成図である。ネットワーク分割装置1は、通信部10と、情報取得部20と、属性判別部30と、配分処理部40と、分割指示部50と、記憶部60とを備える。
【0016】
通信部10は、例えばネットワークカードなどのハードウェアを含む。通信部10は、上記情報取得部20や分割指示部50の指示に応じて、ネットワークNW内の各通信ノードと通信を行う。
【0017】
情報取得部20、属性判別部30、配分処理部40、および分割指示部50は、例えば図示しないCPU(Central Processing Unit)が記憶部60に格納されたプログラムを実行することにより機能するソフトウェア機能部である。記憶部60は、例えば、RAM(Random Access Memory)やROM(Read Only Memory)、HDD(Hard Disk Drive)、フラッシュメモリなどである。なお、これに限らず、これらの機能部の一部または全部は、IC(Integrated Circuit)やLSI(Large Scale Integration)などのハードウェアにより実現されてもよい。各機能部は、独立したプログラムによって記述されている必要はなく、例えばサブルーチンとして他の機能部により呼び出される関係であってもよい。
【0018】
情報取得部20は、例えば定期的に通信部10を制御し、分割対象ネットワークTNWに含まれる各ノードのフロー管理情報量や、各ノードの接続関係に関する情報を取得し、記憶部60に記憶させる。
【0019】
フロー管理情報量とは、例えば、各ノードがデータを送受信する回数(入リンク数と出リンク数の合計)である。フロー管理情報量は、データサイズを考慮しない「回数」に限定されず、例えばデータサイズに回数を乗じた値であってもよい。また、接続関係に関する情報とは、例えば、各ノードが、どの他ノードに直接的に接続するかを示す情報(接続相手一覧)である。
図4は、各ノードから取得される、フロー管理情報量と接続関係に関する情報を含む情報の一例を示す図である。なお、
図4では、ノードの識別情報を「ノードNo.」と表記したが、実際には、IP(Internet Protocol)アドレスやMAC(Media Access Control)アドレスなどが用いられてもよい。
【0020】
属性判別部30は、
図4に例示した情報を解析し、各ノードに対して、外部接続ノードであるか、内部接続ノードであるかを判別し、判別結果を各ノードの接続関係の属性として記憶部60に記憶させる。
図5は、属性判別部30によって接続関係の属性が付与された情報の一例を示す図である。
【0021】
配分処理部40は、記憶部60に記憶された各ノードの情報(
図5)に基づいて、各ノードを部分ネットワークPNW1、PNW2のいずれかに所属させることにより、分割対象ネットワークTNWを部分ネットワークPNW1、PNW2に分割する。配分処理部40は、部分ネットワークPNW1と部分ネットワークPNW2の間で、通信負荷が均等化されると共に他ノードとの接続関係の属性が偏在化するように配分する。より具体的には、配分処理部40は、部分ネットワークPNW1におけるフロー管理情報量の合計値と部分ネットワークPNW2におけるフロー管理情報量の合計値が均衡化するように配分することで、部分ネットワークPNW1と部分ネットワークPNW2の間で通信負荷を均等化させる。また、配分処理部40は、部分ネットワークPNW1については外部接続ノードを優先的に選択し、部分ネットワークPNW2については内部接続ノードを優先的に選択することで、部分ネットワークPNW1と部分ネットワークPNW2の間で接続関係の属性を偏在化させる。
【0022】
これによって、分割後の部分ネットワーク間で、通信負荷を均等化すると共にノードの接続関係の属性を偏在化させることができる。すなわち、部分ネットワークPNW1内では元々の分割対象ネットワークTNWの外部との通信が多く行われ、部分ネットワークPNW2内では元々の分割対象ネットワークTNWの内部との通信が多く行われるといった偏在関係を生じさせることができる。このような偏在関係が生じると、例えば、各ノードがデータ(パケット)を転送する際にデータに対して設定された優先度が参照される場合に、部分ネットワーク内の優先度の段階数を削減することができる。部分ネットワークPNW1では分割対象ネットワークTNWの外部との通信に付与される優先度が中心に扱われ、部分ネットワークPNW2では分割対象ネットワークTNWの内部との通信に付与される優先度が中心に扱われるため、各部分ネットワーク内において、扱う必要のない優先度についての設定や判定処理などが不要となるからである。ここで、部分ネットワークPNW1内に内部接続ノードが存在することになる場合もあるが、その数(割合)は少なくなるため、例えば「内部接続に係る優先度」といった風にまとめて扱うことが可能となる。部分ネットワークPNW2内における外部接続ノードについても同様である。この結果、各ノードの通信制御を、より簡易なものにすることが可能となる。
【0023】
分割指示部50は、配分処理部40により行われた分割の結果が反映されるように、例えば、分割対象ネットワークTNW内の各ノードに対してネットワーク接続の変更指示などを送信する。なお、ネットワーク分割の実現は、このようにオンラインで行われるのに限らず、例えば新しいルータなどが分割対象ネットワークTNW内(例えば部分ネットワークPNW1と部分ネットワークPNW2の間)に設置され、これに応じてIPアドレスが変更されるなど、オフライン作業を含んでもよい。この場合、分割指示部50は、図示しない表示装置に分割結果を表示させるなどして、オフライン作業の内容を作業者に指示する。
【0024】
[配分処理]
以下、第1実施形態に係る配分処理部40により実行される配分処理の具体的な内容について説明する。
図6は、第1実施形態に係る配分処理部40により実行される配分処理の流れを示すフローチャートの一例である。
図6のフローチャートの処理は、例えば分割対象ネットワークTNW内のフロー管理情報量の合計が、予め規定された上限値を超えたときに開始される。
【0025】
まず、配分処理部40は、各部分ネットワークの中心ノードをそれぞれ決定する(ステップS100)。配分処理部40は、部分ネットワークPNW1に外部接続ノードのうち1つを、部分ネットワークPNW2に内部接続ノードのうち1つを、それぞれ中心ノードとして所属させる。これら中心ノードとして決定される2つのノード間の最小ホップ数は、できるだけ大きいものとすることが望ましい。
【0026】
次に、配分処理部40は、その時点において既に部分ネットワークPNW1に所属することが決定しているノードのフロー管理情報量の合計値(第1合計値)が、既に部分ネットワークPNW2に所属することが決定しているノードのフロー管理情報量の合計値(第2合計値)よりも小さいか否かを判定する(ステップS102)。なお、初めてステップS102が実行されるときは、第1合計値は、部分ネットワークPNW1の中心ノードのフロー管理情報量であり、第2合計値は、部分ネットワークPNW2の中心ノードのフロー管理情報量である。
【0027】
配分処理部40は、第1合計値が第2合計値よりも小さい、すなわち部分ネットワークPNW1における通信負荷が部分ネットワークPNW2における通信負荷よりも小さいと判定した場合には、以下の処理を行う。配分処理部40は、分割対象ネットワークTNW内のノードであって、既に部分ネットワークPNW1に所属することが決定しているノードの隣接ノードの中から外部接続ノードを1つ選択し、部分ネットワークPNW1に所属させる(ステップS104)。ここで、隣接ノードとは、あるノードに対して1ホップで接続されるノードである。
【0028】
なお、以下の説明において、「ノードを1つ選択し」などと記載されているときは、選択手法が明記されている場合を除き、選択手法として任意の手法を採用することができる。例えば、配分処理部40は、該当するノードの中からランダムで選択してもよいし、ノードに付与された識別番号の順で選択してもよい。
【0029】
次に、配分処理部40は、ステップS104において、該当するノードが存在したか否かを判定する(ステップS106)。該当するノードが存在した場合、配分処理部40は、ステップS116に進む。該当するノードが存在しなかった場合、配分処理部40は、分割対象ネットワークTNW内のノードであって、既に部分ネットワークPNW1に所属することが決定しているノードの隣接ノードの中から内部接続ノードを1つ選択し、部分ネットワークPNW1に所属させる(ステップS108)。そして、配分処理部40は、ステップS116に進む。
【0030】
一方、配分処理部40は、第1合計値が第2合計値よりも大きい、すなわち部分ネットワークPNW1における通信負荷が部分ネットワークPNW2における通信負荷よりも大きいと判定した場合には、以下の処理を行う。配分処理部40は、分割対象ネットワークTNW内のノードであって、既に部分ネットワークPNW2に所属することが決定しているノードの隣接ノードの中から内部接続ノードを1つ選択し、部分ネットワークPNW2に所属させる(ステップS110)。
【0031】
次に、配分処理部40は、ステップS110において、該当するノードが存在したか否かを判定する(ステップS112)。該当するノードが存在した場合、配分処理部40は、ステップS116に進む。該当するノードが存在しなかった場合、配分処理部40は、分割対象ネットワークTNW内のノードであって、既に部分ネットワークPNW2に所属することが決定しているノードの隣接ノードの中から外部接続ノードを1つ選択し、部分ネットワークPNW2に所属させる(ステップS114)。そして、配分処理部40は、ステップS116に進む。
【0032】
ステップS116では、配分処理部40は、全てのノードについてステップS104〜S108、またはステップS110〜S114の処理を実行したか否かを判定する。配分処理部40は、全てのノードについて処理を実行していない場合はステップS102に戻り、全てのノードについて処理を実行した場合は
図6のフローチャートの処理を終了する。
【0033】
なお、ステップS102において、第1合計値と第2合計値が等しかった場合、ステップS104〜S108の処理を行うものとしてもよいし、逆にステップS110〜S114の処理を行うものとしてもよいし、ランダムでステップS104〜S108の処理とステップS110〜S114の処理のいずれかを行うものとしてもよい。
【0034】
[まとめ]
以上説明した第1実施形態のネットワーク分割装置1によれば、分割後の部分ネットワーク間で、通信負荷を均等化すると共にノードの接続関係の属性を偏在化させることができる。この結果、例えば各ノードがデータを転送する際にデータに対して設定された優先度が参照される場合に、部分ネットワーク内の優先度の段階数を削減することができる。これによって、各ノードの通信制御を、より簡易なものにすることができる。
【0035】
<第2実施形態>
以下、第2実施形態のネットワーク分割装置2について説明する。第2実施形態において、ネットワークの全体像、分割対象ネットワークTNWに含まれる複数のノードの接続関係、およびネットワーク分割装置の機能構成については、第1実施形態と同様であるため、
図1〜3を援用することとし、それぞれについての説明を省略する。
【0036】
第2実施形態に係る配分処理部40は、第1実施形態と比較すると、通信負荷を均等化することよりも、ノードの接続関係の属性を偏在化させることを、より重視した処理を行う。より具体的には、部分ネットワークPNW1のフロー管理情報量が部分ネットワークPNW2の管理情報よりも小さいとき、部分ネットワークPNW1に外部接続ノードを追加できない場合であっても、フロー管理情報量の差分が閾値以下であれば、部分ネットワークPNW2に内部接続ノードを追加する。この逆に、部分ネットワークPNW1のフロー管理情報量が部分ネットワークPNW2の管理情報よりも大きいとき、部分ネットワークPNW2に内部接続ノードを追加できない場合であっても、フロー管理情報量の差分が閾値以下であれば、部分ネットワークPNW1に外部接続ノードを追加する。
【0037】
[配分処理]
図7は、第2実施形態に係る配分処理部40により実行される配分処理の流れを示すフローチャートの一例である。
図7のフローチャートの処理は、例えば分割対象ネットワークTNW内のフロー管理情報量の合計が、予め規定された上限値を超えたときに開始される。
【0038】
まず、配分処理部40は、第1実施形態と同様に、各部分ネットワークの中心ノードをそれぞれ決定し(ステップS200)、その時点において既に部分ネットワークPNW1に所属することが決定しているノードのフロー管理情報量の合計値(第1合計値)が、既に部分ネットワークPNW2に所属することが決定しているノードのフロー管理情報量の合計値(第2合計値)よりも小さいか否かを判定する(ステップS202)。
【0039】
配分処理部40は、第1合計値が第2合計値よりも小さい、すなわち部分ネットワークPNW1における通信負荷が部分ネットワークPNW2における通信負荷よりも小さいと判定した場合には、以下の処理を行う。配分処理部40は、分割対象ネットワークTNW内のノードであって、既に部分ネットワークPNW1に所属することが決定しているノードの隣接ノードの中から外部接続ノードを1つ選択し、部分ネットワークPNW1に所属させる(ステップS204)。
【0040】
次に、配分処理部40は、ステップS204において、該当するノードが存在したか否かを判定する(ステップS206)。該当するノードが存在した場合、配分処理部40は、ステップS228に進む。該当するノードが存在しなかった場合、配分処理部40は、第2合計値から第1合計値を差し引いた差分が閾値以下であるか否かを判定する(ステップS208)。
【0041】
差分が閾値以下である場合、配分処理部40は、分割対象ネットワークTNW内のノードであって、既に部分ネットワークPNW2に所属することが決定しているノードの隣接ノードの中から内部接続ノードを1つ選択し、部分ネットワークPNW2に所属させる(ステップS210)。そして、配分処理部40は、ステップS210において、該当するノードが存在したか否かを判定する(ステップS212)。該当するノードが存在した場合、配分処理部40は、ステップS228に進む。
【0042】
ステップS208において差分が閾値を超えると判定された場合、またはステップS212において該当するノードが存在しないと判定された場合、配分処理部40は、分割対象ネットワークTNW内のノードであって、既に部分ネットワークPNW1に所属することが決定しているノードの隣接ノードの中から内部接続ノードを1つ選択し、部分ネットワークPNW1に所属させる(ステップS214)。そして、配分処理部40は、ステップS228に進む。
【0043】
一方、配分処理部40は、第1合計値が第2合計値よりも大きい、すなわち部分ネットワークPNW1における通信負荷が部分ネットワークPNW2における通信負荷よりも大きいと判定した場合には、以下の処理を行う。配分処理部40は、分割対象ネットワークTNW内のノードであって、既に部分ネットワークPNW2に所属することが決定しているノードの隣接ノードの中から内部接続ノードを1つ選択し、部分ネットワークPNW2に所属させる(ステップS216)。
【0044】
次に、配分処理部40は、ステップS216において、該当するノードが存在したか否かを判定する(ステップS218)。該当するノードが存在した場合、配分処理部40は、ステップS228に進む。該当するノードが存在しなかった場合、配分処理部40は、第1合計値から第2合計値を差し引いた差分が閾値以下であるか否かを判定する(ステップS220)。
【0045】
差分が閾値以下である場合、配分処理部40は、分割対象ネットワークTNW内のノードであって、既に部分ネットワークPNW1に所属することが決定しているノードの隣接ノードの中から外部接続ノードを1つ選択し、部分ネットワークPNW1に所属させる(ステップS222)。そして、配分処理部40は、ステップS222において、該当するノードが存在したか否かを判定する(ステップS224)。該当するノードが存在した場合、配分処理部40は、ステップS228に進む。
【0046】
ステップS220において差分が閾値を超えると判定された場合、またはステップS224において該当するノードが存在しないと判定された場合、配分処理部40は、分割対象ネットワークTNW内のノードであって、既に部分ネットワークPNW2に所属することが決定しているノードの隣接ノードの中から外部接続ノードを1つ選択し、部分ネットワークPNW2に所属させる(ステップS226)。そして、配分処理部40は、ステップS228に進む。
【0047】
ステップS228では、配分処理部40は、全てのノードについてステップS204〜S214、またはステップS216〜S226の処理を実行したか否かを判定する。配分処理部40は、全てのノードについて処理を実行していない場合はステップS202に戻り、全てのノードについて処理を実行した場合は
図7のフローチャートの処理を終了する。
【0048】
なお、ステップS202において、第1合計値と第2合計値が等しかった場合、ステップS204〜S214の処理を行うものとしてもよいし、逆にステップS216〜S226の処理を行うものとしてもよいし、ランダムでステップS204〜S214の処理とステップS216〜S226の処理のいずれかを行うものとしてもよい。
【0049】
[まとめ]
以上説明した第2実施形態のネットワーク分割装置2によれば、第1実施形態と同様、分割後の部分ネットワーク間で、通信負荷を均等化すると共にノードの接続関係の属性を偏在化させることができる。この結果、例えば各ノードがデータを転送する際にデータに対して設定された優先度が参照される場合に、部分ネットワーク内の優先度の段階数を削減することができる。これによって、各ノードの通信制御を、より簡易なものにすることができる。
【0050】
また、第2実施形態のネットワーク分割装置2によれば、第1実施形態と比較すると、ノードの接続関係の属性を偏在化させることを、より重視した処理を行うことができる。
【0051】
<第3実施形態>
以下、第3実施形態のネットワーク分割装置3について説明する。第3実施形態において、ネットワークの全体像、分割対象ネットワークTNWに含まれる複数のノードの接続関係、およびネットワーク分割装置の機能構成については、第1実施形態と同様であるため、
図1〜3を援用することとし、それぞれについての説明を省略する。
【0052】
第3実施形態に係る配分処理部40は、第1実施形態や第2実施形態と比較すると、分割後の分割対象ネットワークTNWを含めたネットワークNWの接続構造を、ツリー構造に近くすることを、より重視した処理を行う。より具体的には、配分処理部40は、外部接続ノードをいずれかの部分ネットワークに所属させる際に、分割対象ネットワークTNWの外部のノードとの接続関係に基づく優先順位に従って、所属させる外部接続ノードを選択する。
【0053】
ここで、根ネットワークと、根ネットワークではないネットワークの親ネットワークとを定義する。全く分割が行われていないネットワークは根ネットワークであり、全く分割が行われていない根ネットワークを分割した際は、どちらか一方の部分ネットワークを新たな根ネットワークとする。以後、根ネットワークが分割される場合、外部ネットワークと接続する中心ノードを持つ部分ネットワークが、新たな根ネットワークとなる。根ネットワークではないネットワークの親ネットワークは、該当するネットワークから根ネットワークへ至る最短経路が通る隣接ネットワークとして定義される。親ネットワーク以外の隣接ネットワークは、全て子ネットワークである。
【0054】
[配分処理]
図8は、第3実施形態に係る配分処理部40により実行される配分処理の流れを示すフローチャートの一例である。
図8のフローチャートの処理は、例えば分割対象ネットワークTNW内のフロー管理情報量の合計が、予め規定された上限値を超えたときに開始される。
【0055】
まず、配分処理部40は、各部分ネットワークの中心ノードをそれぞれ決定する(ステップS300)。配分処理部40は、部分ネットワークPNW1に外部接続ノードのうち1つを、部分ネットワークPNW2に内部接続ノードのうち1つを、それぞれ中心ノードとして所属させる。これら中心ノードとして決定される2つのノード間の最小ホップ数は、できるだけ大きいものとすることが望ましい。
【0056】
第3実施形態に係る配分処理部40は、部分ネットワークPNW1の中心ノードとして、分割対象ネットワークTNWが根ネットワークでなければ親ネットワークと接続する外部接続ノードを、分割対象ネットワークTNWが根ネットワークであれば子ネットワークと接続する外部接続ノードを、それぞれ選択する。
【0057】
次に、配分処理部40は、その時点において既に部分ネットワークPNW1に所属することが決定しているノードのフロー管理情報量の合計値(第1合計値)が、既に部分ネットワークPNW2に所属することが決定しているノードのフロー管理情報量の合計値(第2合計値)よりも小さいか否かを判定する(ステップS302)。
【0058】
配分処理部40は、第1合計値が第2合計値よりも小さい、すなわち部分ネットワークPNW1における通信負荷が部分ネットワークPNW2における通信負荷よりも小さいと判定した場合には、以下の処理を行う。配分処理部40は、分割対象ネットワークTNW内のノードであって、既に部分ネットワークPNW1に所属することが決定しているノードの隣接ノードの中から所定の優先順位に従い外部接続ノードを1つ選択し、部分ネットワークPNW1に所属させる(ステップS304)。所定の優先順位に従う外部接続ノードの選択手順については、後に
図9を用いて説明する。
【0059】
次に、配分処理部40は、ステップS304において、該当するノードが存在したか否かを判定する(ステップS306)。該当するノードが存在した場合、配分処理部40は、ステップS316に進む。該当するノードが存在しなかった場合、配分処理部40は、分割対象ネットワークTNW内のノードであって、既に部分ネットワークPNW1に所属することが決定しているノードの隣接ノードの中から内部接続ノードを1つ選択し、部分ネットワークPNW1に所属させる(ステップS308)。そして、配分処理部40は、ステップS316に進む。
【0060】
一方、配分処理部40は、第1合計値が第2合計値よりも大きい、すなわち部分ネットワークPNW1における通信負荷が部分ネットワークPNW2における通信負荷よりも大きいと判定した場合には、以下の処理を行う。配分処理部40は、分割対象ネットワークTNW内のノードであって、既に部分ネットワークPNW2に所属することが決定しているノードの隣接ノードの中から内部接続ノードを1つ選択し、部分ネットワークPNW2に所属させる(ステップS310)。
【0061】
次に、配分処理部40は、ステップS310において、該当するノードが存在したか否かを判定する(ステップS312)。該当するノードが存在した場合、配分処理部40は、ステップS316に進む。該当するノードが存在しなかった場合、配分処理部40は、分割対象ネットワークTNW内のノードであって、既に部分ネットワークPNW2に所属することが決定しているノードの隣接ノードの中から所定の優先順位に従い外部接続ノードを1つ選択し、部分ネットワークPNW2に所属させる(ステップS314)。所定の優先順位に従う外部接続ノードの選択手順については、後に
図10を用いて説明する。そして、配分処理部40は、ステップS316に進む。
【0062】
ステップS316では、配分処理部40は、全てのノードについてステップS304〜S308、またはステップS310〜S314の処理を実行したか否かを判定する。配分処理部40は、全てのノードについて処理を実行していない場合はステップS302に戻り、全てのノードについて処理を実行した場合は
図8のフローチャートの処理を終了する。
【0063】
なお、ステップS302において、第1合計値と第2合計値が等しかった場合、ステップS304〜S308の処理を行うものとしてもよいし、逆にステップS310〜S314の処理を行うものとしてもよいし、ランダムでステップS304〜S308の処理とステップS310〜S314の処理のいずれかを行うものとしてもよい。また、第3実施形態において、第2実施形態と同様の処理が組み込まれてもよい。
【0064】
図9は、ステップS304において、外部接続ノードを選択する際の処理の流れを示すフローチャートの一例である。
図9および
図10では、ネットワークのことを「NW」と略記している。
【0065】
まず、配分処理部40は、自ネットワーク、すなわち分割対象ネットワークTNWが根ネットワークであるか否かを判定する(ステップS400)。自ネットワークが根ネットワークでない場合、配分処理部40は、自ネットワークに対する親ネットワーク内のノードと接続する外部接続ノード(且つ隣接ノードであるもの)が存在するか否かを判定する(ステップS402)。親ネットワーク内のノードと接続する外部接続ノードが存在する場合、配分処理部40は、親ネットワーク内のノードと接続する外部接続ノードを選択する(ステップS404)。
【0066】
自ネットワークが根ネットワークである場合、または親ネットワーク内のノードと接続する外部接続ノードが存在しない場合、配分処理部40は、部分ネットワークPNW1と既に接続している子ネットワーク内のノードと接続する外部接続ノードが存在するか否かを判定する(ステップS406)。部分ネットワークPNW1と既に接続している子ネットワーク内のノードと接続する外部接続ノードが存在する場合、配分処理部40は、その外部接続ノードを選択する(ステップS408)。
【0067】
部分ネットワークPNW1と既に接続している子ネットワーク内のノードと接続する外部接続ノードが存在しない場合、配分処理部40は、両方の部分ネットワークPNW1、PNW2と未接続の子ネットワーク内のノードと接続する外部接続ノードが存在するか否かを判定する(ステップS410)。両方の部分ネットワークPNW1、PNW2と未接続の子ネットワーク内のノードと接続する外部接続ノードが存在する場合、配分処理部40は、その外部接続ノードを選択する(ステップS412)。
【0068】
両方の部分ネットワークPNW1、PNW2と未接続の子ネットワーク内のノードと接続する外部接続ノードが存在しない場合、配分処理部40は、部分ネットワークPNW2と既に接続している子ネットワーク内のノードと接続する外部接続ノードを選択する(ステップS414)。
【0069】
係る処理によって、部分ネットワークPNW1に所属する外部接続ノードは、親ネットワーク→部分ネットワークPNW1と既接続の子ネットワーク→いずれの部分ネットワークにも未接続の子ネットワーク→他方の部分ネットワークPNW2と既接続の子ネットワークの優先順で選択される。
【0070】
図10は、ステップS314において、外部接続ノードを選択する際の処理の流れを示すフローチャートの一例である。
【0071】
まず、配分処理部40は、部分ネットワークPNW2と既に接続している子ネットワーク内のノードと接続する外部接続ノードが存在するか否かを判定する(ステップS500)。部分ネットワークPNW2と既に接続している子ネットワーク内のノードと接続する外部接続ノードが存在する場合、配分処理部40は、その外部接続ノードを選択する(ステップS502)。
【0072】
部分ネットワークPNW2と既に接続している子ネットワーク内のノードと接続する外部接続ノードが存在しない場合、配分処理部40は、両方の部分ネットワークPNW1、PNW2と未接続の子ネットワーク内のノードと接続する外部接続ノードが存在するか否かを判定する(ステップS504)。両方の部分ネットワークPNW1、PNW2と未接続の子ネットワーク内のノードと接続する外部接続ノードが存在する場合、配分処理部40は、その外部接続ノードを選択する(ステップS506)。
【0073】
両方の部分ネットワークPNW1、PNW2と未接続の子ネットワーク内のノードと接続する外部接続ノードが存在しない場合、配分処理部40は、部分ネットワークPNW1と既に接続している子ネットワーク内のノードと接続する外部接続ノードが存在するか否かを判定する(ステップS508)。部分ネットワークPNW1と既に接続している子ネットワーク内のノードと接続する外部接続ノードが存在する場合、配分処理部40は、その外部接続ノードを選択する(ステップS510)。
【0074】
部分ネットワークPNW1と既に接続している子ネットワーク内のノードと接続する外部接続ノードが存在しない場合、配分処理部40は、親ネットワーク内のノードと接続する外部接続ノードを選択する(ステップS512)。
【0075】
係る処理によって、部分ネットワークPNW2に所属する外部接続ノードは、部分ネットワークPNW1とは逆に、部分ネットワークPNW2と既接続の子ネットワーク→いずれの部分ネットワークにも未接続の子ネットワーク→他方の部分ネットワークPNW1と既接続の子ネットワーク→親ネットワークの優先順で選択される。
【0076】
これらの結果、親ネットワークは部分ネットワークPNW1に優先的に接続され、更に子ネットワークのうち部分ネットワークPNW1に接続される群と、部分ネットワークPNW2に接続される群とが分離する傾向が生じる。この結果、ネットワーク分割後の部分ネットワーク間の接続トポロジーをツリー構造に近くすることができ、2つの部分ネットワークにおける通過フロー数の将来的な不均等性を高めたネットワーク分割を実現することができる。
【0077】
[まとめ]
以上説明した第3実施形態のネットワーク分割装置3によれば、第1実施形態と同様、分割後の部分ネットワーク間で、通信負荷を均等化すると共にノードの接続関係の属性を偏在化させることができる。この結果、例えば各ノードがデータを転送する際にデータに対して設定された優先度が参照される場合に、部分ネットワーク内の優先度の段階数を削減することができる。これによって、各ノードの通信制御を、より簡易なものにすることができる。
【0078】
また、第3実施形態のネットワーク分割装置3によれば、外部接続ノードをいずれかの部分ネットワークに所属させる際に、分割対象ネットワークTNWの外部のノードとの接続関係に基づく優先順位に従って、所属させる外部接続ノードを選択するため、分割後の分割対象ネットワークTNWを含めたネットワークNWの接続構造を、ツリー構造に近くすることができる。
【0079】
<リンクの削除について>
上記各実施形態により対象ネットワークTNWが分割されると、その結果としてネットワークNWにおいてリンクの削除を行うことが可能となる場合がある。
図11は、分割が行われたネットワークNWにおいて削除可能なリンクを例示した図である。前述したように、部分ネットワークPNW2には、内部接続ノードだけでなく、親ネットワークや子ネットワークと接続している外部接続ノードが含まれる場合がある。このような外部接続ノードのうち、部分ネットワークPNW1内のノードと既接続の親ネットワークや子ネットワークと接続しているものについては、外部接続リンクを削除してよい。この様に外部接続リンクを削除することによって、複数の部分ネットワークで構成される閉路が取り除かれ、部分ネットワーク間の接続トポロジーが正確に木構造になるため、通過フロー数の将来的な不均等性が最大化される。
【0080】
リンクの削除は、ネットワーク分割装置が送信する指示信号に応じて各ノードが行ってもよいし、手動で削除対象リンクの削除が行われてもよい。
【0081】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【0082】
例えば、各実施形態において、部分ネットワークPNW1の中心ノードとして、外部ネットワークとの間で最大数のフローを有するノードを選択し、各段階で、部分ネットワークPNW1では、外部接続ノードのうち外部ネットワークとの間で最大数のフローを有する隣接ノードを選択し、部分ネットワークPNW2において、外部接続ノードを選択する必要がある場合には、外部ネットワークとの間のフロー数が最小である隣接ノードを選択してもよい。こうすれば、外部ネットワークとの通信を、更に部分ネットワークPNW1に偏在させることができる。