説明

経路探索装置、経路探索方法及び経路探索プログラム

【課題】ポート間の接続に制限のあるノードを含むネットワーク上で終点から始点へ向かうリンクを含む冗長経路を探索する。
【解決手段】経路探索装置は、第一経路探索部、トポロジ情報変更部、ポート情報変更部、第二経路探索部及び冗長経路探索部を備える。第一経路探索部は、トポロジ情報を用いて、始点ノードから終点ノードへ至る複数の経路から第一経路を探索する。トポロジ情報変更部は、第一経路を構成する構成リンクに対して当該構成リンクと方向が反対である追加リンクを設定することにより、トポロジ情報を変更する。ポート情報変更部は、ポート間の接続に制限を含む制限ノードが第一経路に含まれる場合に、ポート情報を変更する。第二経路探索部は、変更されたトポロジ情報及びポート情報を用いて、複数の経路から第二経路を探索する。冗長経路探索部は、第一経路と第二経路とで重複する構成リンクを削除することにより、一対の冗長経路を探索する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、経路探索装置、経路探索方法及び経路探索プログラムに関する。
【背景技術】
【0002】
近年、ネットワークの信頼性を高めるために、ネットワーク上でノード障害やリンク障害が発生した場合に障害箇所を迂回するための経路である冗長経路を探索する経路探索方式が種々検討されている。このような経路探索方式として、例えば、ネットワーク上で始点ノードから終点ノード至る複数の経路から互いに重複しない一対の冗長経路を探索する経路探索方式が提案されている。
【0003】
また、近年のネットワークには、ポート間の接続に制限を含むノード(以下「制限ノード」という)を含むものがある。このような制限ノードを含んだネットワーク上で一対の冗長経路を探索する経路探索方式が実行された場合には、本来通信が制限される部位を含む経路が、冗長経路として探索される可能性がある。そのため、制限ノードにおけるポート間の接続制限に反する経路を冗長経路の候補から除外する経路探索方式が提案されている。
【0004】
このような経路探索方式では、経路探索装置は、ネットワークにおけるノード間の接続状態を示すトポロジ情報を用いて、始点ノードから終点ノードへ至る複数の経路からリンクのコストの総和が最小となる第一経路を探索する。そして、経路探索装置は、第一経路を複数の経路から除外することにより、トポロジ情報を変更する。そして、経路探索装置は、第一経路上にポート間の接続に制限を含む制限ノードが含まれる場合に、制限ノードにおけるポート間の接続の制限を示すポート情報を、制限に反する経路が一対の冗長経路として探索されないように変更する。そして、経路探索装置は、変更されたトポロジ情報と変更されたポート情報とを用いて第一経路と異なる第二経路を探索する。そして、経路探索装置は、第一経路と第二経路とで重複するリンクを削除することにより互いに重複しない一対の冗長経路を探索する。これにより、ネットワークに制限ノードが含まれる場合であっても、制限ノードにおけるポート間の接続制限に反する冗長経路が誤って探索されることを回避することが可能となる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2011−41017号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、制限ノードにおけるポート間の接続制限に反する経路を冗長経路の候補から除外する従来の経路探索方式では、ネットワーク上で終点から始点へ向かうリンクを含む冗長経路を適切に探索することができない恐れがあるという問題がある。
【0007】
具体的には、従来の経路探索方式では、第一経路を構成するリンクの方向を終点ノードから始点ノードへ向かう方向に変更することにより、第一経路を複数の経路から除外する。そのため、従来の経路探索方式では、冗長経路を探索する際に第一経路と第二経路とで重複するリンクが削除されると、終点ノードから始点ノードへ向かう方向に変更されたリンクが、第一経路を構成する構成リンクによって相殺されて消滅する。つまり、従来の経路探索方式では、終点ノードから始点ノードへ向かう方向のリンクが消滅するので、制限ノードを含むネットワーク上で終点から始点へ向かうリンクを含む経路を冗長経路として適切に探索することができない恐れがある。
【0008】
開示の技術は、上記に鑑みてなされたものであって、ポート間の接続に制限のあるノードを含むネットワーク上で終点から始点へ向かうリンクを含む冗長経路を探索することができる経路探索装置、経路探索方法及び経路探索プログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
本願の開示する経路探索装置は、第一経路探索部と、トポロジ情報変更部と、ポート情報変更部と、第二経路探索部と、冗長経路探索部とを備える。第一経路探索部は、複数のノードがリンクで接続されたネットワークにおけるノード間の接続状態を示すトポロジ情報を用いて、前記ネットワーク上で始点ノードから終点ノードへ至る複数の経路からリンクのコストの総和が最小となる第一経路を探索する。トポロジ情報変更部は、前記第一経路を前記複数の経路から除外するとともに、前記第一経路を構成する構成リンクに対して当該構成リンクと方向が反対である追加リンクを設定することにより、前記トポロジ情報を変更する。ポート情報変更部は、ポート間の接続に制限を含む制限ノードが前記第一経路に含まれる場合に、前記構成リンク及び前記追加リンクにて終点ノードから始点ノードへ向かう通信が許可されるように、前記制限ノードにおけるポート間の接続の制限を示すポート情報を変更する。第二経路探索部は、前記変更されたトポロジ情報と前記変更されたポート情報とを用いて、前記複数の経路から前記第一経路と異なる第二経路を探索する。冗長経路探索部は、前記第一経路と前記第二経路とで重複する構成リンクを削除することにより、互いに重複しない一対の冗長経路を探索する。
【発明の効果】
【0010】
本願の開示する経路探索装置の一つの態様によれば、ポート間の接続に制限のあるノードを含むネットワーク上で終点から始点へ向かうリンクを含む冗長経路を探索することができるという効果を奏する。
【図面の簡単な説明】
【0011】
【図1】図1は、本実施例に係る経路探索装置による経路探索方法について説明するための図である。
【図2】図2は、本実施例に係る経路探索装置の構成を示すブロック図である。
【図3】図3は、トポロジ情報記憶部の一例を示す図である。
【図4】図4は、第一経路情報記憶部の一例を示す図である。
【図5】図5は、ポート情報記憶部の一例を示す図である。
【図6】図6は、第二経路情報記憶部の一例を示す図である。
【図7】図7は、冗長経路情報記憶部の一例を示す図である。
【図8A】図8Aは、第一経路上に制限ノードが含まれる場合のトポロジ情報変更部による処理を説明するための図である。
【図8B】図8Bは、第一経路上に通常ノードが含まれる場合のトポロジ情報変更部による処理を説明するための図である。
【図9】図9は、トポロジ情報変更部によって変更されたトポロジ情報の一例を示す図である。
【図10A】図10Aは、ポート情報変更部による処理を説明するための図である。
【図10B】図10Bは、ポート情報変更部による処理を説明するための図である。
【図10C】図10Cは、ポート情報変更部による処理を説明するための図である。
【図11】図11は、ポート情報変更部によって変更されたポート情報の一例を示す図である。
【図12】図12は、本実施例に係る経路探索装置による経路探索処理の処理手順を示すフローチャートである。
【図13A】図13Aは、トポロジ情報変更部による処理のその他の例を説明するための図である。
【図13B】図13Bは、トポロジ情報変更部による処理のその他の例を説明するための図である。
【図14】図14は、本実施例に係る経路探索装置を構成するコンピュータのハードウェア構成を示す図である。
【発明を実施するための形態】
【0012】
以下に、本願の開示する経路探索装置、経路探索方法及び経路探索プログラムを図面に基づいて詳細に説明する。
【実施例】
【0013】
まず、本実施例に係る経路探索装置による経路探索方法について説明する。図1は、本実施例に係る経路探索装置による経路探索方法について説明するための図である。図1に示すネットワークは、複数のノード11〜17を含む。複数のノード11〜17は、互いにリンクで接続されている。リンク近傍に記された数字は、当該リンクの理論的な距離を表すコストである。例えば、ノード14とノード16とを接続するリンクのコストは、「3」である。
【0014】
また、複数のノード11〜17のうちノード11は、始点となるノードであり始点ノードと呼ばれる。ノード15は、終点となるノードであり終点ノードと呼ばれる。また、ノード12及びノード13は、ポートP1〜P3間の接続に制限を含むノードであり制限ノードと呼ばれる。ここでは、制限ノード12を介してノード13と始点ノード11又はノード17との通信は許可され、制限ノード12を介してノード11とノード17との通信は制限されているものとする。また、制限ノード13を介してノード12と始点ノード11又はノード14との通信は許可され、制限ノード13を介して始点ノード11とノード14との通信は制限されているものとする。
【0015】
まず、経路探索装置は、ネットワークにおけるノード間の接続状態を示すトポロジ情報を用いて、ネットワーク上で始点ノード11から終点ノード15へ至る複数の経路からリンクのコストの総和が最小となる第一経路を探索する(図1の(1)参照)。図1の例では、経路探索装置は、トポロジ情報を用いて、リンクのコストの総和が最小の「6」となる経路を第一経路SP1として探索する。このようにして探索された第一経路SP1は、「始点ノード11→ノード12→ノード13→ノード14→終点ノード15」により構成される。
【0016】
続いて、経路探索装置は、第一経路SP1を複数の経路から除外するとともに、第一経路SP1を構成する構成リンクに対して当該構成リンクと方向が反対である追加リンクを設定することにより、トポロジ情報を変更する(図1の(2)参照)。図1の例では、経路探索装置は、第一経路SP1を構成する構成リンクの方向を反転するとともに、構成リンクのコストの正負を逆転して、第一経路SP1を複数の経路から除外する。そして、経路探索装置は、第一経路SP1に含まれる制限ノード12、制限ノード13及びノード14を、それぞれサブノード12a、12b、サブノード13a、13b及びサブノード14a〜14cに分割する。そして、経路探索装置は、第一経路SP1を構成する構成リンクの方向を逆転して、第一経路SP1を構成する構成リンクに対して追加リンクを設定する。
【0017】
続いて、経路探索装置は、構成リンク及び追加リンクにて終点ノード15から始点ノード11へ向かう通信が許可されるように、制限ノード12、13におけるポートP1〜P3の接続の制限を示すポート情報を変更する(図1の(2)参照)。図1の例では、経路探索装置は、制限ノード12aにおいて、始点側ノード11と終点側ノード13aとを結ぶポートP1〜P2間の接続については構成リンクに沿って終点側ノード13aから始点側ノード11へ向かう方向の通信を許可することにより、ポート情報を変更する。また、経路探索装置は、制限ノード13aまたは制限ノード13bにおいて、始点側ノード12aと終点側ノード14aとを結ぶポートP1〜P2間の接続については構成リンクに沿って終点側ノード14aから始点側ノード12aへ向かう方向の通信を許可することにより、ポート情報を変更する。また、経路探索装置は、制限ノード13aまたは制限ノード13bにおいて、始点側ノード12bと終点側ノード14cとを結ぶポートP1〜P2間の接続については追加リンクに沿って終点側ノード14cから始点側ノード12bへ向かう方向の通信を許可することにより、ポート情報を変更する。また、経路探索装置は、制限ノード13aまたは制限ノード13bにおいて、 終点側ノード14cと始点側ノード12aとを結ぶポートP1〜P2間の接続については構成リンクに沿って終点側ノード14cから始点側ノード12aへ向かう方向の通信を許可することにより、ポート情報を変更する。また、経路探索装置は、制限ノード13aまたは制限ノード13bにおいて、終点側ノード14aと始点側ノード12bとを結ぶポートP1〜P2間の接続については追加リンクに沿って終点側ノード14aから始点側ノード12bへ向かう方向の通信を許可することにより、ポート情報を変更する。
【0018】
また、経路探索装置は、制限ノード12aにおいて、終点側ノード13aまたは13bと経路外ノード17とを結ぶポートP2〜P3間の接続については構成リンクに沿って経路外ノード17から終点側ノード13aまたは13bへ向かう方向の通信を許可することにより、ポート情報を変更する。さらに、経路探索装置は、制限ノード12bにおいて、終点側ノード13aまたは13bと経路外ノード17とを結ぶポートP2〜P3間の接続については追加リンクに沿って終点側ノード13aまたは13bから経路外ノード17へ向かう方向の通信を許可することにより、ポート情報を変更する。
【0019】
また、経路探索装置は、制限ノード13aにおいて、始点側ノード12aと経路外ノード11とを結ぶポートP1〜P3間の接続については構成リンクに沿って始点側ノード12aから経路外ノード11へ向かう方向の通信を許可することにより、ポート情報を変更する。さらに、経路探索装置は、制限ノード13bにおいて、始点側ノード12bと経路外ノード11とを結ぶポートP1〜P3間の接続については追加リンクに沿って経路外ノード11から始点側ノード12aへ向かう方向の通信を許可することにより、ポート情報を変更する。
【0020】
なお、始点側ノードとは、第一経路にて制限ノードよりも始点ノード側に存在するノード、又は、始点ノードである。また、終点側ノードとは、第一経路にて制限ノードよりも終点ノード側に存在するノード、又は、終点ノードである。また、経路外ノードとは、第一経路に含まれないノード、又は、第一経路に含まれるノードのうち制限ノードと隣接しないノードである。
【0021】
続いて、経路探索装置は、変更されたトポロジ情報と変更されたポート情報とを用いて、複数の経路から第一経路SP1と異なる第二経路SP2を探索する(図1の(3)及び(4)参照)。図1の例では、経路探索装置は、変更されたトポロジ情報及びポート情報を用いて、リンクのコストの総和が最小の「8」となる経路を第二経路SP2として探索する。このようにして探索された第二経路SP2は、「始点ノード11→ノード16→ノード14→制限ノード13→制限ノード12→始点ノード11→制限ノード13→制限ノード12→ノード17→終点ノード15」により構成される。
【0022】
続いて、経路探索装置は、第一経路SP1と第二経路SP2とで重複する構成リンクを削除することにより、互いに重複しない一対の冗長経路を探索する(図1の(5)参照)。図1の例では、経路探索装置は、第一経路SP1と第二経路SP2とで重複する構成リンクとして、制限ノード12と制限ノード13とを接続するリンクを削除することにより、互いに重複しない一対の冗長経路Path1、Path2を探索する。このようにして探索された冗長経路Path1は、「始点ノード11→ノード16→ノード14→終点ノード15」により構成される。また、冗長経路Path2は、「始点ノード11→制限ノード13→制限ノード12→ノード17→終点ノード15」により構成される。
【0023】
ここで、冗長経路Path1及びPath2のうち冗長経路Path2は、制限ノード12、13を含むが、制限ノード12、13におけるポートP1〜P3の接続制限を満足するため、適正な冗長経路である。さらに、冗長経路Path2は、第一経路SP1上で終点ノード15から始点ノード11へ向かうリンクとして、制限ノード13と制限ノード12とを接続するリンクを含んでいる。
【0024】
このように、本実施例の経路探索装置は、第一経路を複数の経路から除外するとともに、第一経路を構成する構成リンクに対して構成リンクと反対方向の追加リンクを設定することにより、トポロジ情報を変更する。そして、経路探索装置は、構成リンク及び追加リンクにて終点ノードから始点ノードへ向かう通信が許可されるように、制限ノードのポート情報を変更する。そして、経路探索装置は、変更されたトポロジ情報及びポート情報を用いて複数の経路から第一経路と異なる第二経路を探索する。
【0025】
そのため、本実施例の経路探索装置は、第一経路及び第二経路から一対の冗長経路を探索する際に、第一経路と第二経路とで重複する構成リンクを削除しても、第一経路上で終点ノードから始点ノードへ向かうリンクを残存させることができる。すなわち、本実施例の経路探索装置は、ポート間の接続に制限のあるノードを含むネットワーク上で第一経路上の終点から始点へ向かうリンクを含む冗長経路を適切に探索することができる。
【0026】
次に、図2を用いて、本実施例に係る経路探索装置の構成を説明する。図2は、本実施例に係る経路探索装置100の構成を示すブロック図である。図2に示すように、経路探索装置100は、記憶部110及び制御部120を有する。
【0027】
記憶部110は、制御部120による各種の処理に必要なデータや、制御部120による各種の処理の結果を記憶する。具体的には、記憶部110は、トポロジ情報記憶部111、第一経路情報記憶部112、ポート情報記憶部113、第二経路情報記憶部114及び冗長経路情報記憶部115を有する。
【0028】
トポロジ情報記憶部111は、複数のノードがリンクで接続されたネットワークにおけるノード間の接続状態を示すトポロジ情報を記憶する。トポロジ情報記憶部111は、経路探索装置100のユーザにより入力された情報や通信インターフェースにより各ノードから収集された情報をトポロジ情報として記憶する。トポロジ情報記憶部111の一例を図3に示す。図3に示すトポロジ情報記憶部111は、リンクID(IDentifier)、ノード1、ノード2、コスト及び方向といった項目を対応付けて記憶する。
【0029】
リンクIDは、ネットワークを構成するノード間を接続するリンクを識別するための識別情報である。ノード1は、リンクの一端に接続される一方のノードの識別情報である。ノード2は、リンクの他端に接続される他方のノードの識別情報である。コストは、リンクの理論的な距離であるコストである。方向は、リンクの通信の方向であり、ノード1からノード2へ向かう方向及びノード2からノード1へ向かう方向の通信が許可されている場合に「0」となる。また、方向は、ノード1からノード2へ向かう方向の通信が許可されている場合に「1」となり、ノード2からノード1へ向かう方向の通信が許可されている場合に「2」となる。
【0030】
第一経路情報記憶部112は、ネットワーク上で始点ノードから終点ノードへ至る複数の経路から探索された第一経路に関する情報を第一経路情報として記憶する。第一経路情報記憶部112によって記憶される第一経路情報は、後述する第一経路探索部121によって作成されて格納される。第一経路情報記憶部112の一例を図4に示す。図4に示す第一経路情報記憶部112は、第一経路ID、構成ノード及びコスト総和といった項目を対応付けて記憶する。
【0031】
第一経路IDは、第一経路を識別するための識別情報である。構成ノードは、第一経路を構成するノードの識別情報である。例えば、「N1→N2→N3→N4→N5」は、ノードN1を始点ノードとし、ノードN2、N3及びN4を経由して、ノードN5を終点ノードとする第一経路SP1を構成するノードを表している。コスト総和は、第一経路に含まれるリンクのコストの総和である。
【0032】
ポート情報記憶部113は、制限ノードにおけるポート間の接続の制限を示す情報をポート情報として記憶する。ポート情報記憶部113は、経路探索装置100のユーザによって入力された情報や通信インターフェースにより各ノードから収集された情報をポート情報として記憶する。ポート情報記憶部113の一例を図5に示す。図5に示すポート情報記憶部113は、制限ノードID、ポート間接続、ノード1、ノード2及び接続状態といった項目を対応付けて記憶する。
【0033】
制限ノードIDは、制限ノードを識別するための識別情報である。ポート間接続は、制限ノードが有するポートのうち任意の一対のポートどうしの接続を示し、例えば「P1−P2」は、ポートP1とポートP2との接続を表している。ノード1は、ポート間接続における一対のポートのうち一方のポートに接続されるノードである。ノード2は、ポート間接続における一対のポートのうち他方のポートに接続されるノードである。接続状態は、ポート間接続の接続状態を示し、ノード1からノード2へ向かう方向及びノード2からノード1へ向かう方向の通信が許可されている場合に「0」となる。また、接続状態は、ノード1からノード2へ向かう方向の通信が許可されている場合に「1」となり、ノード2からノード1へ向かう方向の通信が許可されている場合に「2」となり、ノード1とノード2との間の通信が制限されている場合に「3」となる。
【0034】
第二経路情報記憶部114は、ネットワーク上で始点ノードから終点ノードへ至る複数の経路から探索された第二経路に関する情報を第二経路情報として記憶する。第二経路情報記憶部114によって記憶される第二経路情報は、後述する第二経路探索部124によって作成されて格納される。第二経路情報記憶部114の一例を図6に示す。図6に示す第二経路情報記憶部114は、第二経路ID、構成ノード及びコスト総和といった項目を対応付けて記憶する。
【0035】
第二経路IDは、第二経路を識別するための識別情報である。構成ノードは、第二経路を構成するノードの識別情報である。例えば、「N1→N6→N4→N3→N2→N1→N3→N2→N7→N5」は、ノードN1を始点ノードとし、ノードN6、N4、N3、N2、N1、N3、N2及びN7を経由して、ノードN5を終点ノードとする第二経路SP2を構成するノードを表している。コスト総和は、第二経路に含まれるリンクのコストの総和である。
【0036】
冗長経路情報記憶部115は、ネットワーク上で始点ノードから終点ノードへ至る複数の経路から探索された、互いに重複しない一対の冗長経路に関する情報を冗長経路情報として記憶する。冗長経路情報記憶部115によって記憶される冗長経路情報は、後述する冗長経路探索部125によって作成されて格納される。冗長経路情報記憶部115の一例を図7に示す。図7に示す冗長経路情報記憶部115は、冗長経路ID、構成ノード及びコスト総和といった項目を対応付けて記憶する。
【0037】
冗長経路IDは、冗長経路を識別するための識別情報である。構成ノードは、冗長経路を構成するノードの識別情報である。例えば、「N1→N6→N4→N5」は、ノードN1を始点ノードとし、ノードN6及びN4を経由して、ノードN5を終点ノードとする冗長経路Path1を構成するノードを表している。コスト総和は、冗長経路に含まれるリンクのコストの総和である。
【0038】
制御部120は、各種の処理手順などを規定したプログラム及び所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する。具体的には、制御部120は、第一経路探索部121、トポロジ情報変更部122、ポート情報変更部123、第二経路探索部124、冗長経路探索部125及び出力部126を有する。
【0039】
第一経路探索部121は、トポロジ情報を用いて、ネットワーク上で始点ノードから終点ノードへ至る複数の経路からリンクのコストの総和が最小となる第一経路を探索する。具体的には、第一経路探索部121は、トポロジ情報記憶部111からトポロジ情報を読み出す。そして、第一経路探索部121は、読み出したトポロジ情報に、Dijkstra法等に代表されるグラフ上の経路探索アルゴリズムを適用することにより、複数の経路からリンクのコストの総和が最小となる第一経路を探索する。また、第一経路探索部121は、探索した第一経路に関する情報を第一経路情報として第一経路情報記憶部112に格納する。
【0040】
トポロジ情報変更部122は、探索された第一経路をネットワーク上の複数の経路から除外するとともに、第一経路を構成する構成リンクに対して構成リンクと方向が反対である追加リンクを設定することにより、トポロジ情報を変更する。具体的には、トポロジ情報変更部122は、探索された第一経路(例えば、第一経路ID「SP1」)の構成ノード(例えば、構成ノード「N1→N2→N3→N4→N5」)を第一経路情報記憶部112から読み出す。そして、トポロジ情報変更部122は、トポロジ情報記憶部111を参照し、読み出された構成ノード間を接続するリンク、すなわち、第一経路を構成する構成リンクの方向を反転するとともに、構成リンクのコストの正負を逆転する。これにより、第一経路がネットワーク上の複数の経路から除外される。そして、トポロジ情報変更部122は、トポロジ情報記憶部111を参照し、第一経路に含まれるノードを複数のサブノードに分割する。そして、トポロジ情報変更部122は、第一経路を構成する構成リンクの方向を反転する。これにより、第一経路を構成する構成リンクに対して追加リンクが設定される。
【0041】
ここで、トポロジ情報変更部122がトポロジ情報を変更する手法について具体的に説明する。まず、図8Aを用いて、第一経路上に制限ノードが含まれる場合のトポロジ情報変更部122による処理について説明する。図8Aは、第一経路上に制限ノードが含まれる場合のトポロジ情報変更部122による処理について説明するための図である。
【0042】
図8Aに示すように、トポロジ情報変更部122は、第一経路を構成する構成リンクの方向を反転するとともに、構成リンクのコスト「c」及び「d」の正負を逆転する。これにより、第一経路がネットワーク上の複数の経路から除外される。そして、トポロジ情報変更部122は、第一経路に含まれる制限ノードを2つのサブノードに分割する。そして、トポロジ情報変更部122は、第一経路を構成する構成リンクの方向を反転する。これにより、第一経路を構成する構成リンクに対して追加リンクが設定される。
【0043】
次いで、図8Bを用いて、第一経路上に通常ノードが含まれる場合のトポロジ情報変更部122による処理について説明する。図8Bは、第一経路上に通常ノードが含まれる場合のトポロジ情報変更部による処理について説明するための図である。なお、以下では、制限ノード以外のノードのことを通常ノードと言うことがあるものとする。
【0044】
図8Bに示すように、トポロジ情報変更部122は、第一経路を構成する構成リンクの方向を反転するとともに、構成リンクのコスト「c」及び「d」の正負を逆転する。これにより、第一経路がネットワーク上の複数の経路から除外される。そして、トポロジ情報変更部122は、第一経路に含まれる通常ノードを4つのサブノードに分割する。そして、トポロジ情報変更部122は、第一経路を構成する構成リンクの方向を反転する。これにより、第一経路を構成する構成リンクに対して追加リンクが設定される。
【0045】
具体的な一例を挙げて説明すると、トポロジ情報変更部122は、図3に示したトポロジ情報記憶部111に記憶されたトポロジ情報を、図9の右側に示すトポロジ情報に変更する。すなわち、トポロジ情報変更部122は、第一経路を構成する構成リンク(例えば、リンクID「L1」、「L2a」、「L2b」、「L3a」、「L3b」、「L4」)の方向を反転するとともに、構成リンクのコストの正負を逆転する。これにより、第一経路がネットワーク上の複数の経路から除外される。そして、トポロジ情報変更部122は、第一経路に含まれる制限ノード(例えば、ノード「N2」、「N3」)をそれぞれ2つのサブノード(例えば、ノード「N2a」、「N2b」及びノード「N3a」、「N3b」)に分割する。また、トポロジ情報変更部122は、第一経路に含まれる通常ノード(例えば、ノード「N4」)を3つのサブノード(例えば、ノード「N4a」、「N4b」、「N4c」)に分割する。そして、トポロジ情報変更部122は、第一経路を構成する構成リンク(例えば、リンクID「L2c」、「L2d」、「L3c」、「L3d」)の方向を反転する。これにより、第一経路を構成する構成リンク対して追加リンクが設定される。なお、図9は、トポロジ情報変更部122によって変更されたトポロジ情報の一例を示す図である。
【0046】
図2に戻って、ポート情報変更部123は、制限ノードが第一経路に含まれる場合に、第一経路を構成する構成リンク及び構成リンクに設定された追加リンクにて終点ノードから始点ノードへ向かう通信が許可されるように、ポート情報を変更する。具体的には、ポート情報変更部123は、探索された第一経路(例えば、第一経路ID「SP1」)の構成ノード(例えば、構成ノード「N1→N2→N3→N4→N5」)を第一経路情報記憶部112から読み出す。
【0047】
そして、ポート情報変更部123は、ポート情報記憶部113を参照し、読み出された構成ノード(例えば、構成ノード「N1→N2→N3→N4→N5」)に、制限ノードID(例えば、「N2」、「N3」)に対応する制限ノードが含まれるか否かを判定する。その結果、ポート情報変更部123は、制限ノードが含まれる場合に、ポート情報変更部123に記憶されたポート情報を変更する。
【0048】
ここで、図10A〜図10Cを用いて、ポート情報変更部123がポート情報を変更する手法について説明する。図10A〜図10Cは、ポート情報変更部123による処理を説明するための図である。
【0049】
ポート情報変更部123は、始点側ノードと終点側ノードとを結ぶポート間の接続については、図10Aに示すように、構成リンク及び追加リンクに沿って終点側ノードから始点側ノードへ向かう方向の通信を許可することにより、ポート情報を変更する。ここで、第二経路がサブノードに生成された接続を使用する場合、制限ノード内の終点側ノードから始点側ノードへの接続も使用しなければならない。すなわち、第二経路は追加リンクを使用する場合、構成リンクも使用しなければならない。
【0050】
また、ポート情報変更部123は、始点側ノードと経路外ノードとを結ぶポート間の接続については、図10Bに示すように、構成リンクに沿って始点側ノードから経路外ノードへ向かう方向の通信を許可することにより、ポート情報を変更する。さらに、ポート情報変更部123は、追加リンクに沿って経路外ノードから始点側ノードへ向かう方向の通信を許可することにより、ポート情報を変更する。ここで、第二経路がサブノードあるいは制限ノード内の経路外ノードと始点側ノード間の接続を使用する場合、制限ノード内の終点側ノードから始点側ノードへの接続も使用しなければならない。すなわち、第二経路が追加リンクを使用する場合は対応する構成リンクも使用せねばならず、また第二経路が制限ノードと経路外ノードとの間のリンクを使用する場合、直前のノードは第一経路上の終点側隣接ノード(サブノードを含む)でなければならない。
【0051】
また、ポート情報変更部123は、終点側ノードと経路外ノードとを結ぶポート間の接続については、図10Cに示すように、構成リンクに沿って経路外ノードから終点側ノードへ向かう方向の通信を許可することにより、ポート情報を変更する。さらに、ポート情報変更部123は、追加リンクに沿って終点側ノードから経路外ノードへ向かう方向の通信を許可することにより、ポート情報を変更する。ここで、第二経路がサブノードあるいは制限ノード内の経路外ノードと終点側ノード間の接続を使用する場合、制限ノード内の終点側ノードから始点側ノードへの接続も使用しなければならない。すなわち、第二経路が追加リンクを使用する場合は対応する構成リンクも使用せねばならず、また第二経路が制限ノードと経路外ノードとの間のリンクを使用する場合、直後のノードは第一経路上の始点側隣接ノード(サブノードを含む)でなければならない。
【0052】
具体的な一例を挙げて説明すると、ポート情報変更部123は、図5に示したポート情報記憶部113に記憶されたポート情報のうち接続状態を、図11の下側に示すポート情報に変更する。つまり、ポート情報変更部123は、始点側ノード(ノード1「N1」)と終点側ノード(ノード2「N3a」)とを結ぶポート間の接続(ポート間接続「P1−P2」)に対応する接続状態を、構成リンクに沿って終点側ノード→始点側ノードを示す「2」とする。また、ポート情報変更部123は、始点側ノード(ノード1「N2a」)と終点側ノード(ノード2「N4a」)とを結ぶポート間の接続(ポート間接続「P1−P2」)に対応する接続状態を、構成リンクに沿って終点側ノード→始点側ノードを示す「2」とする。また、ポート情報変更部123は、始点側ノード(ノード1「N2b」)と終点側ノード(ノード2「N4c」)とを結ぶポート間の接続(ポート間接続「P1−P2」)に対応する接続状態を、追加リンクに沿って終点側ノード→始点側ノードを示す「2」とする。
【0053】
また、ポート情報変更部123は、終点側ノード(ノード1「N3a」)と経路外ノード(ノード2「N7」)とを結ぶポート間の接続(ポート間接続「P2−P3」)に対応する接続状態を、構成リンクに沿って経路外ノード→終点側ノードを示す「2」とする。さらに、ポート情報変更部123は、終点側ノード(ノード1「N3b」)と経路外ノード(ノード2「N7」)とを結ぶポート間の接続(ポート間接続「P2−P3」)に対応する接続状態を、追加リンクに沿って終点側ノード→経路外ノードを示す「1」とする。
【0054】
また、ポート情報変更部123は、経路外ノード(ノード1「N1」)と始点側ノード(ノード2「N2a」)とを結ぶポート間の接続(ポート間接続「P1−P3」)に対応する接続状態を、構成リンクに沿って始点側ノード→経路外ノードを示す「2」とする。さらに、ポート情報変更部123は、経路外ノード(ノード1「N1」)と始点側ノード(ノード2「N2b」)とを結ぶポート間の接続(ポート間接続「P1−P3」)に対応する接続状態を、追加リンクに沿って経路外ノード→始点側ノードを示す「1」とする。なお、図11は、ポート情報変更部によって変更されたポート情報の一例を示す図である。
【0055】
図2に戻って、第二経路探索部124は、トポロジ情報変更部122によって変更されたトポロジ情報とポート情報変更部123によって変更されたポート情報とを用いて、ネットワーク上で始点ノードから終点ノードへ至る複数の経路から第二経路を探索する。具体的には、第二経路探索部124は、トポロジ情報変更部122によって変更されたトポロジ情報をトポロジ情報記憶部111から読み出す。そして、第二経路探索部124は、ポート情報変更部123によって変更されたポート情報をポート情報記憶部113から読み出す。
【0056】
そして、第二経路探索部124は、読み出されたトポロジ情報及びポート情報にDijkstra法等に代表されるグラフ上の経路探索アルゴリズムを適用することにより、複数の経路からリンクのコストの総和が最小となる第二経路を探索する。また、第二経路探索部124は、探索した第二経路に関する情報を第二経路情報として第二経路情報記憶部114に格納する。
【0057】
冗長経路探索部125は、第一経路と第二経路とで重複する構成リンクを削除することにより、互いに重複しない一対の冗長経路を探索する。具体的には、冗長経路探索部125は、第一経路の構成ノードを第一経路情報記憶部112から読み出す。そして、冗長経路探索部125は、第二経路の構成ノードを第二経路情報記憶部114から読み出す。そして、冗長経路探索部125は、読み出した第一経路の構成ノードと第二経路の構成ノードとを対比し、第一経路と第二経路とで重複する構成リンクを特定する。そして、冗長経路探索部125は、特定した構成リンクを、第一経路の構成ノード及び第二経路の構成ノードから削除して残りの部分を連結する。これにより、互いに重複しない一対の冗長経路が探索される。
【0058】
ここで、図4及び図6に示した例を用いて、冗長経路探索部125による処理を説明する。冗長経路探索部125は、第一経路ID「SP1」の構成ノード「N1→N2→N3→N4→N5」を第一経路情報記憶部112から読み出す。そして、冗長経路探索部125は、第二経路ID「SP2」の構成ノード「N1→N6→N4→N3→N2→N1→N3→N2→N7→N5」を第二経路情報記憶部114から読み出す。そして、冗長経路探索部125は、読み出した第一経路の構成ノードと第二経路の構成ノードとを対比し、第一経路と第二経路とで重複する構成リンクとして、ノード「N2」〜ノード「N3」間の構成リンクを特定する。そして、冗長経路探索部125は、特定したノード「N2」〜ノード「N3」間の構成リンクを削除して残りの部分を連結する。これにより、互いに重複しない一対の冗長経路が探索される。そして、冗長経路探索部125は、探索した一対の冗長経路に関する情報を冗長経路情報として冗長経路情報記憶部115に格納する。
【0059】
出力部126は、冗長経路情報記憶部115に記憶された冗長経路情報を処理結果としてディスプレイ等の表示部に出力する。
【0060】
なお、上述した制御部120の第一経路探索部121、トポロジ情報変更部122、ポート情報変更部123、第二経路探索部124、冗長経路探索部125及び出力部126は、例えば、集積回路又は電子回路である。集積回路は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等である。電子回路は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等である。
【0061】
また、上述した記憶部110のトポロジ情報記憶部111、第一経路情報記憶部112、ポート情報記憶部113、第二経路情報記憶部114及び冗長経路情報記憶部115は、例えば、半導体メモリ素子又は記憶装置である。半導体メモリ素子は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)等である。記憶装置は、例えば、HDD(Hard Disc Drive)、光ディスク等である。
【0062】
次に、図12を用いて、本実施例に係る経路探索装置100による経路探索処理の処理手順について説明する。図12は、本実施例に係る経路探索装置100による経路探索処理の処理手順を示すフローチャートである。
【0063】
図12に示すように、第一経路情報記憶部112は、トポロジ情報を用いて、始点ノードから終点ノードへ至る複数の経路からリンクのコストの総和が最小となる第一経路を探索する(ステップS101)。
【0064】
そして、トポロジ情報変更部122は、第一経路を複数の経路から除外するとともに、第一経路を構成する構成リンクに対して構成リンクと方向が反対である追加リンクを設定することにより、トポロジ情報を変更する(ステップS102)。
【0065】
そして、ポート情報変更部123は、構成リンク及び追加リンクにて終点ノードから始点ノードへ向かう方向の通信が許可されるように、制限ノードにおけるポートの接続の制限を示すポート情報を変更する(ステップS103)。そして、第二経路探索部124は、変更されたトポロジ情報と変更されたポート情報とを用いて、複数の経路から第一経路と異なる第二経路を探索する(ステップS104)。
【0066】
そして、冗長経路探索部125は、探索された第一経路と第二経路とで重複する構成リンクを削除することにより、互いに重複しない一対の冗長経路を探索する(ステップS105)。そして、冗長経路探索部125は、探索した一対の冗長経路に関する情報を冗長経路情報として冗長経路情報記憶部115に格納する。そして、出力部126は、冗長経路情報記憶部115に記憶された冗長経路情報を表示出力する(ステップS106)。
【0067】
上述してきたように、本実施例の経路探索装置100は、第一経路を複数の経路から除外するとともに、第一経路を構成する構成リンクに対して構成リンクと反対方向の追加リンクを設定することにより、トポロジ情報を変更する。そして、経路探索装置100は、構成リンク及び追加リンクにて終点ノードから始点ノードへ向かう通信が許可されるように、制限ノードのポート情報を変更する。そして、経路探索装置100は、変更されたトポロジ情報及びポート情報を用いて複数の経路から第一経路と異なる第二経路を探索する。
【0068】
そのため、本実施例の経路探索装置100は、第一経路及び第二経路から一対の冗長経路を探索する際に、第一経路と第二経路とで重複する構成リンクを削除しても、終点ノードから始点ノードへ向かう追加リンクを残存させることができる。すなわち、本実施例の経路探索装置100は、ポート間の接続に制限のあるノードを含むネットワーク上で終点から始点へ向かうリンクを含む冗長経路を適切に探索することができる。
【0069】
ところで、上記実施例では、ポート情報変更部123が、制限ノードが第一経路に含まれる場合に、構成リンク及び追加リンクにて終点ノードから始点ノードへ向かう通信が許可されるように、ポート情報を変更する例を説明した。しかしながら、制限ノードが第一経路に含まれる場合に、構成リンク及び追加リンクにて終点ノードから始点ノードへ向かう通信を許可する手法はこれに限定されるものではない。例えば、制限ノードが第一経路に含まれる場合に、トポロジ情報変更部122が、構成リンク及び追加リンクにて終点ノードから始点ノードへ向かう通信が許可されるように、トポロジ情報を変更してもよい。
【0070】
以下では、図13A及び図13Bを用いて、トポロジ情報変更部122による処理のその他の例を説明する。図13A及び図13Bは、トポロジ情報変更部122による処理のその他の例を説明するための図である。
【0071】
トポロジ情報変更部122は、制限ノードが第一経路に含まれる場合に、以下に説明するようにトポロジ情報を変更する。すなわち、トポロジ情報変更部122は、始点側ノードと経路外ノードとを結ぶポート間の接続については、図13Aに示すように、構成リンクに沿って始点側ノードから経路外ノードへ向かうリンクを新たに生成することにより、トポロジ情報を変更する。さらに、トポロジ情報変更部122は、追加リンクに沿って経路外ノードから始点側ノードへ向かうリンクを新たに生成することにより、トポロジ情報を変更する。
【0072】
また、トポロジ情報変更部122は、終点側ノードと経路外ノードとを結ぶポート間の接続については、図13Bに示すように、構成リンクに沿って経路外ノードから終点側ノードへ向かうリンクを新たに生成することにより、トポロジ情報を変更する。さらに、トポロジ情報変更部122は、追加リンクに沿って終点側ノードから経路外ノードへ向かうリンクを新たに生成することにより、トポロジ情報を変更する。
【0073】
なお、経路探索装置100は、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをコンピュータで実行することによって実現することができる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータについて説明する。
【0074】
図14は、本実施例に係る経路探索装置を構成するコンピュータのハードウェア構成を示す図である。図14に示すように、コンピュータ200は、RAM210と、HDD220と、CPU230と、ROM240とを有する。各装置210〜240は、バス250に接続される。
【0075】
そして、ROM240には、上記の実施例と同様の機能を発揮するプログラムがあらかじめ記憶されている。つまり、ROM240には、第一経路探索プログラム241、トポロジ情報変更プログラム242、ポート情報変更プログラム243、第二経路探索プログラム244、冗長経路探索プログラム245及び出力プログラム246があらかじめ記憶されている。
【0076】
そして、CPU230が、プログラム241〜244を読み出して実行することで、第一経路探索プロセス231、トポロジ情報変更プロセス232、ポート情報変更プロセス233及び第二経路探索プロセス234として機能するようになる。また、CPU230が、プログラム245及び246を読み出して実行することで、冗長経路探索プロセス235及び出力プロセス236として機能するようになる。なお、各プロセス231〜236は、図2に示した第一経路探索部121、トポロジ情報変更部122、ポート情報変更部123、第二経路探索部124、冗長経路探索部125及び出力部126にそれぞれ対応する。
【0077】
また、HDD220には、トポロジテーブル221、第一経路テーブル222、ポートテーブル223、第二経路テーブル224及び冗長経路テーブル225が設けられる。なお、各テーブル221〜225は、図2に示したトポロジ情報記憶部111、第一経路情報記憶部112、ポート情報記憶部113、第二経路情報記憶部114及び冗長経路情報記憶部115にそれぞれ対応する。
【0078】
なお、上記のプログラム241〜246は、必ずしもROM240に記憶させておく必要はなく、CD−ROM等の記憶媒体に記憶されたプログラムを、コンピュータ200が読み出して実行するようにしてもよい。また、公衆回線、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)等にこれらプログラムを記憶させておき、コンピュータ200がこれらからプログラムを読み出して実行するようにしてもよい。
【符号の説明】
【0079】
100 経路探索装置
110 記憶部
111 トポロジ情報記憶部
112 第一経路情報記憶部
113 ポート情報記憶部
114 第二経路情報記憶部
115 冗長経路情報記憶部
120 制御部
121 第一経路探索部
122 トポロジ情報変更部
123 ポート情報変更部
124 第二経路探索部
125 冗長経路探索部
126 出力部

【特許請求の範囲】
【請求項1】
複数のノードがリンクで接続されたネットワークにおけるノード間の接続状態を示すトポロジ情報を用いて、前記ネットワーク上で始点ノードから終点ノードへ至る複数の経路からリンクのコストの総和が最小となる第一経路を探索する第一経路探索部と、
前記第一経路を前記複数の経路から除外するとともに、前記第一経路を構成する構成リンクに対して当該構成リンクと方向が反対である追加リンクを設定することにより、前記トポロジ情報を変更するトポロジ情報変更部と、
ポート間の接続に制限を含む制限ノードが前記第一経路に含まれる場合に、前記構成リンク及び前記追加リンクにて終点ノードから始点ノードへ向かう通信が許可されるように、前記制限ノードにおけるポート間の接続の制限を示すポート情報を変更するポート情報変更部と、
前記変更されたトポロジ情報と前記変更されたポート情報とを用いて、前記複数の経路から前記第一経路と異なる第二経路を探索する第二経路探索部と、
前記第一経路と前記第二経路とで重複する構成リンクを削除することにより、互いに重複しない一対の冗長経路を探索する冗長経路探索部と
を備えたことを特徴とする経路探索装置。
【請求項2】
前記ポート情報変更部は、前記第一経路にて前記制限ノードよりも始点ノード側に存在する始点側ノードと前記第一経路にて前記制限ノードよりも終点ノード側に存在する終点側ノードとを結ぶポート間の接続については、前記構成リンク及び前記追加リンクに沿って前記終点側ノードから前記始点側ノードへ向かう方向の通信を許可することにより、前記ポート情報を変更することを特徴とする請求項1に記載の経路探索装置。
【請求項3】
前記第二経路探索部は、
探索すべき前記第二経路がサブノードに生成された接続を使用する場合、前記制限ノード内の前記終点側ノードから前記始点側ノードへの接続を使用することを特徴とする請求項2に記載の経路探索装置。
【請求項4】
前記ポート情報変更部は、前記始点側ノードと前記第一経路に含まれないノードである経路外ノードとを結ぶポート間の接続については、前記構成リンクに沿って前記始点側ノードから前記経路外ノードへ向かう方向の通信を許可し、かつ、前記追加リンクに沿って前記経路外ノードから前記始点側ノードへ向かう方向の通信を許可することにより、前記ポート情報を変更することを特徴とする請求項2に記載の経路探索装置。
【請求項5】
前記第二経路探索部は、
探索すべき前記第二経路がサブノードあるいは前記制限ノード内の前記経路外ノードと前記始点側ノード間の接続を使用する場合、前記制限ノード内の前記終点側ノードから前記始点側ノードへの接続を使用することを特徴とする請求項4に記載の経路探索装置。
【請求項6】
前記ポート情報変更部は、前記終点側ノードと前記経路外ノードとを結ぶポート間の接続については、前記構成リンクに沿って前記経路外ノードから前記終点側ノードへ向かう方向の通信を許可し、かつ、前記追加リンクに沿って前記終点側ノードから前記経路外ノードへ向かう方向の通信を許可することにより、前記ポート情報を変更することを特徴とする請求項4に記載の経路探索装置。
【請求項7】
前記第二経路探索部は、
探索すべき前記第二経路がサブノードあるいは前記制限ノード内の前記経路外ノードと前記終点側ノード間の接続を使用する場合、前記制限ノード内の前記終点側ノードから前記始点側ノードへの接続を使用することを特徴とする請求項6に記載の経路探索装置。
【請求項8】
コンピュータが
複数のノードがリンクで接続されたネットワークにおけるノード間の接続状態を示すトポロジ情報を用いて、前記ネットワーク上で始点ノードから終点ノードへ至る複数の経路からリンクのコストの総和が最小となる第一経路を探索し、
前記第一経路を前記複数の経路から除外するとともに、前記第一経路を構成する構成リンクに当該構成リンクと方向が反対である追加リンクを設定することにより、前記トポロジ情報を変更し、
ポート間の接続に制限を含む制限ノードが前記第一経路に含まれる場合に、前記構成リンク及び前記追加リンクにて終点ノードから始点ノードへ向かう通信が許可されるように、前記制限ノードにおけるポート間の接続の制限を示すポート情報を変更し、
前記変更されたトポロジ情報と前記変更されたポート情報とを用いて、前記複数の経路から前記第一経路と異なる第二経路を探索し、
前記第一経路と前記第二経路とで重複する構成リンクを削除することにより、互いに重複しない一対の冗長経路を探索する
ことを含むことを特徴とする経路探索方法。
【請求項9】
コンピュータに、
複数のノードがリンクで接続されたネットワークにおけるノード間の接続状態を示すトポロジ情報を用いて、前記ネットワーク上で始点ノードから終点ノードへ至る複数の経路からリンクのコストの総和が最小となる第一経路を探索し、
前記第一経路を前記複数の経路から除外するとともに、前記第一経路を構成する構成リンクに当該構成リンクと方向が反対である追加リンクを設定することにより、前記トポロジ情報を変更し、
ポート間の接続に制限を含む制限ノードが前記第一経路に含まれる場合に、前記構成リンク及び前記追加リンクにて終点ノードから始点ノードへ向かう通信が許可されるように、前記制限ノードにおけるポート間の接続の制限を示すポート情報を変更し、
前記変更されたトポロジ情報と前記変更されたポート情報とを用いて、前記複数の経路から前記第一経路と異なる第二経路を探索し、
前記第一経路と前記第二経路とで重複する構成リンクを削除することにより、互いに重複しない一対の冗長経路を探索する
処理を実行させることを特徴とする経路探索プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8A】
image rotate

【図8B】
image rotate

【図9】
image rotate

【図10A】
image rotate

【図10B】
image rotate

【図10C】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13A】
image rotate

【図13B】
image rotate

【図14】
image rotate


【公開番号】特開2013−51647(P2013−51647A)
【公開日】平成25年3月14日(2013.3.14)
【国際特許分類】
【出願番号】特願2011−189773(P2011−189773)
【出願日】平成23年8月31日(2011.8.31)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】