(57)【要約】【課題】ポート間の接続に制限を有するノードが含まれるネットワークでも、冗長経路を適切に探索すること。【解決手段】経路探索装置では、トポロジ変更部が、ネットワークにおけるノード間の接続状態を示すトポロジ情報を、第１の経路が複数の経路から除外されるように変更する。そして、ポート変更部は、第１の経路上に、ポート間の接続に制限を含むノードである制限ノードが含まれる場合に、制限ノードにおけるポート間の接続の制限を示すポート情報を、制限に反する経路が２つの冗長経路として探索されないように変更する。そして、探索部は、変更されたトポロジ情報及びポート情報を用いて、第２の経路を探索する。【選択図】図１
2011041017.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードがリンクで接続されたネットワーク上で始点ノードから終点ノードへ至る複数の経路から第１の経路と異なる第２の経路を探索し、第１の経路及び第２の経路を用いて互いに重複しない２つの冗長経路を探索する経路探索装置であって、
前記ネットワークにおけるノード間の接続状態を示すトポロジ情報を、前記第１の経路が前記複数の経路から除外されるように変更するトポロジ変更手段と、
前記第１の経路上に、ポート間の接続に制限を含むノードである制限ノードが含まれる場合に、当該制限ノードにおけるポート間の接続の制限を示すポート情報を、前記制限に反する経路が前記２つの冗長経路として探索されないように変更するポート変更手段と、
前記トポロジ変更手段によって変更されたトポロジ情報と前記ポート変更手段によって変更されたポート情報とを用いて、前記第２の経路を探索する探索手段と
を備えたことを特徴とする経路探索装置。
【請求項２】
前記ポート変更手段は、前記第１の経路にて前記制限ノードよりも前記始点ノード側に存在するノードである始点側ノードと前記第１の経路にて前記制限ノードよりも前記終点ノード側に存在するノードである終点側ノードと結ぶポート間の接続については、前記終点側ノードから前記始点側ノードへ向かう方向の通信が許可されるように、前記ポート情報を変更することを特徴とする請求項１に記載の経路探索装置。
【請求項３】
前記ポート変更手段は、さらに、前記始点側ノードと前記第１の経路に含まれないノードである経路外ノードとを結ぶポート間の接続については、前記終点側ノードから前記経路外ノードへ向かう方向の通信が許可されるように、前記ポート情報を変更することを特徴とする請求項２に記載の経路探索装置。
【請求項４】
前記ポート変更手段は、さらに、前記終点側ノードと前記経路外ノードとを結ぶポート間の接続については、前記経路外ノードから前記始点側ノードへ向かう方向の通信が許可されるように、前記ポート情報を変更することを特徴とする請求項３に記載の経路探索装置。
【請求項５】
前記トポロジ変更手段は、前記第１の経路と前記第１の経路と交差する経路とが前記複数の経路から除外されるように、前記トポロジ情報を変更することを特徴とする請求項１〜４のいずれか１つに記載の経路探索装置。
【請求項６】
複数のノードがリンクで接続されたネットワーク上で始点ノードから終点ノードへ至る複数の経路から互いに重複しない２つの冗長経路を探索する経路探索方法であって、
前記ネットワークにおけるノード間の接続状態を示すトポロジ情報を用いて、前記複数の経路からリンクコストの総和が最小となる第１の経路を探索する第１探索ステップと、
前記第１探索ステップによって探索された第１の経路が前記複数の経路から除外されるように、前記トポロジ情報を変更するトポロジ変更ステップと、
前記第１探索ステップによって探索された第１の経路上に、ポート間の接続に制限を含むノードである制限ノードが含まれる場合に、当該制限ノードにおけるポート間の接続の制限を示すポート情報を、前記制限に反する経路が前記２つの冗長経路として探索されないように変更するポート変更ステップと、
前記トポロジ変更ステップによって変更されたトポロジ情報と前記ポート変更ステップによって変更されたポート情報とを用いて、前記複数の経路から前記第１の経路と異なる第２の経路を探索する第２探索ステップと、
前記第１探索ステップによって探索された第１の経路と前記第２探索ステップによって探索された第２の経路とを用いて、前記２つの冗長経路を探索する経路探索ステップと
を含んだことを特徴とする経路探索方法。
【請求項７】
複数のノードがリンクで接続されたネットワーク上で始点ノードから終点ノードへ至る複数の経路から互いに重複しない２つの冗長経路を探索する経路探索プログラムであって、
前記ネットワークにおけるノード間の接続状態を示すトポロジ情報を用いて、前記複数の経路からリンクコストの総和が最小となる第１の経路を探索する第１探索手順と、
前記第１探索手順によって探索された第１の経路が前記複数の経路から除外されるように、前記トポロジ情報を変更するトポロジ変更手順と、
前記第１探索手順によって探索された第１の経路上に、ポート間の接続に制限を含むノードである制限ノードが含まれる場合に、当該制限ノードにおけるポート間の接続を示すポート情報を、前記制限に反する経路が前記２つの冗長経路として探索されないように変更するポート変更手順と、
前記トポロジ変更手順によって変更されたトポロジ情報と前記ポート変更手順によって変更されたポート情報とを用いて、前記複数の経路から前記第１の経路と異なる第２の経路を探索する第２探索手順と、
前記第１探索手順によって探索された第１の経路と前記第２探索手順によって探索された第２の経路とを用いて、前記２つの冗長経路を探索する経路探索手順と
をコンピュータに実行させることを特徴とする経路探索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、経路探索装置、経路探索方法および経路探索プログラムに関する。
【背景技術】
【０００２】
従来より、ネットワークの信頼性を高めるために、ネットワーク上でノード障害やリンク障害が発生した場合に障害箇所を迂回するための経路である冗長経路を探索する技術が種々検討されている。
【０００３】
かかる経路探索方式としては、例えば、ネットワーク上で始点ノードから終点ノードへ至る複数の経路から互いに重複しない２つの冗長経路を探索する方式が提案されている（例えば、非特許文献１参照）。
【０００４】
図１８は、従来の経路探索方式を説明するための図である。図１８の例では、光ネットワーク上で始点ノード２０から終点ノード２５へ至る２つの冗長経路を探索する場合について説明する。
【０００５】
従来の経路探索方式では、経路探索装置が、まず、始点ノード２０から終点ノード２５へ至る複数の経路からリンクのコストの総和が最小となる第１の経路を探索する（図１８の（１）参照）。図１８の例では、経路探索装置は、リンクのコストの総和が最小の「３」となる「始点ノード２０→ノード２１→ノード２２→終点ノード２５」の経路を第１の経路ＳＰ１として探索する。
【０００６】
続いて、経路探索装置は、第１の経路ＳＰ１に含まれるノード間を結ぶリンクの方向が当該第１の経路ＳＰ１と反対方向となるようにネットワークのトポロジ情報を変更した後、リンクのコストの総和が最小となる第２の経路を探索する（図１８の（２）参照）。図１８の例では、経路探索装置は、リンクのコストの総和が最小の「７」となる「始点ノード２０→ノード２４→ノード２２→ノード２１→ノード２３→終点ノード２５」の経路を第２の経路ＳＰ２として探索する。
【０００７】
最後に、経路探索装置は、２つの経路ＳＰ１及びＳＰ２どうしで重複するリンクを削除することで、始点ノード２０から終点ノード２５へ至る２つの経路を冗長経路として探索する（図１８の（３）及び（４）参照）。図１８の例では、経路探索装置は、ノード２１〜２２を結ぶリンクを削除することで、「始点ノード２０→ノード２４→ノード２２→終点ノード２５」の経路Ｐａｔｈ１と、「始点ノード２０→ノード２１→ノード２３→終点ノード２５」の経路Ｐａｔｈ２を探索する。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】R. Bhandari, "Optimal physical diversity algorithms and  survivable  networks," Proceedings of the 2nd IEEE Symposium on Computers and Communications (ISCC '97), pp. 433--441, 1997
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ところで、光ネットワークでは、ノードに内蔵されたポート切替用ミラーの調整角度に限界がある等の物理的な理由でポート間の接続に制限を含むノード（以下、「制限ノード」という）が含まれる場合がある。また、光ネットワークの管理者により予め定められた運用ポリシによって、光ネットワークに制限ノードが設置されることもある。
【００１０】
図１９は、制限ノードを含んだ光ネットワークの構成例を説明するための図である。図１９に示した光ネットワークは、図１８に示した光ネットワークにおけるノード２２に代えて、制限ノード２６を含んでいる。制限ノード２６は、３つのポートＰ１〜Ｐ３を有する中継ノードである。ただし、制限ノード２６におけるポートＰ１〜Ｐ３間の接続には制限があり、制限ノード２６を介してノード２１とノード２４又は終点ノード２５との通行は許可されているが、制限ノード２６を介してノード２４から終点ノード２５へ向かう通行は規制されている。
【００１１】
このように制限ノードを含んだ光ネットワークでは、上記した従来の経路探索方式を適用すると、本来通行が禁止される部位を含んだ経路が、始点ノードから終点ノードへ至る２つの冗長経路として探索される恐れがあるという問題があった。
【００１２】
図２０は、図１９に示した光ネットワークに従来の経路探索方式を適用した場合の問題点について説明するための図である。
【００１３】
従来の経路探索方式では、経路探索装置が、図１８と同様に、始点ノード２０から終点ノード２５へ至る複数の経路から２つの経路ＳＰ１及びＳＰ２を探索する（図２０の（１）参照）。ここで、ＳＰ１とＳＰ２は共に制限ノード２６における接続制限を満たしている。 
【００１４】
そして、経路探索装置は、探索された２つの最短経路ＳＰ１及びＳＰ２どうしで重複するリンクを削除することで、始点ノード２０から終点ノード２５へ至る２つの経路Ｐａｔｈ１及びＰａｔｈ２を探索する（図２０の（２）参照）。
【００１５】
ここで、探索された２つの経路Ｐａｔｈ１及びＰａｔｈ２のうち経路Ｐａｔｈ２は、制限ノード２６におけるポートＰ１〜Ｐ３間の接続制限により通行が禁止されているノード２１→制限ノード２６→終点ノード２５の経路を含んでいるため、妥当な冗長経路ではない。
【００１６】
なお、図２０に示した例では、制限ノードを含む光ネットワークに従来の経路探索方式を適用した場合の問題点について説明したが、制限ノードを含む光ネットワーク以外の各種のネットワークに従来の経路探索方式を適用した場合にも同様の問題が生じ得る。
【００１７】
開示の技術は、上記に鑑みてなされたものであって、冗長経路を適切に探索することができる経路探索装置、経路探索方法および経路探索プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１８】
上述した課題を解決し、目的を達成するため、本願に開示する経路探索装置は、複数のノードがリンクで接続されたネットワーク上で始点ノードから終点ノードへ至る複数の経路から第１の経路と異なる第２の経路を探索し、第１の経路及び第２の経路を用いて互いに重複しない２つの冗長経路を探索する経路探索装置であって、前記ネットワークにおけるノード間の接続状態を示すトポロジ情報を、前記第１の経路が前記複数の経路から除外されるように変更するトポロジ変更手段と、前記第１の経路上に、ポート間の接続に制限を含むノードである制限ノードが含まれる場合に、当該制限ノードにおけるポート間の接続の制限を示すポート情報を、前記制限に反する経路が前記２つの冗長経路として探索されないように変更するポート変更手段と、前記トポロジ変更手段によって変更されたトポロジ情報と前記ポート変更手段によって変更されたポート情報とを用いて、前記第２の経路を探索する探索手段とを備えた。
【発明の効果】
【００１９】
本願の開示する経路探索装置の一つの態様によれば、冗長経路を適切に探索することができるという効果を奏する。
【図面の簡単な説明】
【００２０】
【図１】図１は、実施例１に係る経路探索装置の構成を示すブロック図である。
【図２Ａ】図２Ａは、実施例２に係る経路探索装置による経路探索方法を説明するための図である。
【図２Ｂ】図２Ｂは、実施例２に係る経路探索装置による経路探索方法を説明するための図である。
【図２Ｃ】図２Ｃは、実施例２に係る経路探索装置による経路探索方法を説明するための図である。
【図３】図３は、実施例２に係る経路探索装置の構成を示すブロック図である。
【図４】図４は、トポロジ情報記憶部の一例を示す図である。
【図５】図５は、第１経路情報記憶部の一例を示す図である。
【図６】図６は、ポート情報記憶部の一例を示す図である。
【図７】図７は、第２経路情報記憶部の一例を示す図である。
【図８】図８は、冗長経路情報記憶部の一例を示す図である。
【図９】図９は、トポロジ変更部による処理を説明するための図である。
【図１０】図１０は、ポート変更部による処理を説明するための図である。
【図１１】図１１は、ポート変更部によって変更されたポート情報の一例を示す図である。
【図１２】図１２は、実施例２に係る経路探索装置による経路探索処理の処理手順を示すフローチャートである。
【図１３】図１３は、実施例３に係る経路探索装置による経路探索方法を説明するための図である。
【図１４】図１４は、実施例３に係る経路探索装置の構成を示すブロック図である。
【図１５】図１５は、トポロジ変更部による処理を説明するための図である。
【図１６】図１６は、実施例３に係る経路探索装置による経路探索処理の処理手順を示すフローチャートである。
【図１７】図１７は、経路探索プログラムを実行するコンピュータを示す図である。
【図１８】図１８は、従来の経路探索方式を説明するための図である。
【図１９】図１９は、制限ノードを含んだ光ネットワークの構成例を説明するための図である。
【図２０】図２０は、図１９に示した光ネットワークに従来の経路探索方式を適用した場合の問題点について説明するための図である。
【発明を実施するための形態】
【００２１】
以下に、本願の開示する経路探索装置、経路探索方法および経路探索プログラムの実施例を図面に基づいて詳細に説明する。
【実施例１】
【００２２】
まず、実施例１に係る経路探索装置の構成について説明する。実施例１に係る経路探索装置は、複数のノードがリンクで接続されたネットワーク上で始点ノードから終点ノードへ至る複数の経路から第１の経路と異なる第２の経路を探索する。そして、実施例１に係る経路探索装置は、第１の経路及び第２の経路を用いて互いに重複しない２つの冗長経路を探索する。
【００２３】
ここで、ノードとは、ネットワークを構成する中継装置のことであり、例えば、光ネットワークにおける光分岐挿入（OADM：Optical add-drop multiplexer）装置や光クロスコネクト（WXC: Wavelength Cross Connect）装置のことである。また、ネットワークとしては、ＷＤＭ（Wavelength Division Multiplexing）方式を用いたＷＤＭネットワーク等が想定される。
【００２４】
図１は、実施例１に係る経路探索装置の構成を示すブロック図である。図１に示すように、本実施例に係る経路探索装置１０は、トポロジ変更部１１と、ポート変更部１２と、探索部１３とを有する。
【００２５】
トポロジ変更部１１は、ネットワークにおけるノード間の接続状態を示すトポロジ情報を、第１の経路が複数の経路から除外されるように変更する。
【００２６】
ポート変更部１２は、第１の経路上に、ポート間の接続に制限を含むノードである制限ノードが含まれる場合に、制限ノードにおけるポート間の接続の制限を示すポート情報を、制限に反する経路が２つの冗長経路として探索されないように変更する。探索部１３は、変更されたトポロジ情報及びポート情報を用いて、第２の経路を探索する。
【００２７】
このように、経路探索装置１０は、第１の経路が複数の経路から除外されるように変更されたトポロジ情報と、ポート間の接続制限に反する経路が２つの冗長経路として探索されないように変更されたポート情報とを用いて、第２の経路を探索する。そのため、経路探索装置１０は、第１の経路及び第２の経路を用いて探索される互い重複しない２つの冗長経路から、制限ノードにおけるポート間の接続制限に反する経路を除外することができる。その結果、経路探索装置１０は、ポート間の接続に制限を含むノードが含まれるネットワークでも、制限を満足する冗長経路を適切に探索することができる。
【実施例２】
【００２８】
次に、実施例２に係る経路探索装置を説明する。ここでは、実施例２に係る経路探索装置による経路探索方法について説明した後、実施例２に係る経路探索装置の構成について説明する。また、実施例２では、設計対象として想定されるネットワークのトポロジ情報がユーザによって入力された場合に、このトポロジ情報を用いて冗長経路を探索する場合を説明する。
【００２９】
まず、実施例２に係る経路探索装置による経路探索方法について説明する。図２Ａ〜図２Ｃは、実施例２に係る経路探索装置による経路探索方法について説明するための図である。以下では、図２Ａを用いて、ネットワーク上で始点ノード３０から終点ノード３５へ至る２つの冗長経路が経路探索装置により探索される例について説明した後、図２Ｂ及び図２Ｃを用いて、２つの冗長経路が探索されなかった例について説明する。
【００３０】
まず、図２Ａを用いて、ネットワーク上で始点ノード３０から終点ノード３５へ至る２つの冗長経路が経路探索装置により探索される例について説明する。なお、図２Ａに示すネットワークは、制限ノード３６を含んでいるものとする。また、制限ノード３６におけるポートＰ１〜Ｐ３間の接続には制限があり、制限ノード３６を介して終点ノード３５とノード３１又はノード３４との通信は許可され、制限ノード３６を介してノード３１とノード３４との通信は規制されているものとする。 
【００３１】
本実施例では、経路探索装置が、ネットワークにおけるノード間の接続状態を示すトポロジ情報を用いて、始点ノード３０から終点ノード３５へ至る複数の経路からリンクコストの総和が最小となる第１の経路を探索する（図２Ａの（１）参照）。図２Ａの例では、経路探索装置は、トポロジ情報を用いて、リンクコストの総和が最小の「３」となる「始点ノード３０→ノード３１→制限ノード３６→終点ノード３５」の経路を第１の経路ＳＰ１として探索する。
【００３２】
続いて、経路探索装置は、探索された第１の経路ＳＰ１が複数の経路から除外されるように、トポロジ情報を変更する。図２Ａの例では、経路探索装置は、第１の経路ＳＰ１に含まれるリンクの方向が第１の経路ＳＰ１と反対方向となるように、トポロジ情報におけるリンクのコストの正負を逆転することで、第１の経路ＳＰ１を複数の経路から除外する。
【００３３】
また、経路探索装置は、第１の経路ＳＰ１上の制限ノード３６におけるポートＰ１〜Ｐ３間の接続の制限を示すポート情報を、当該制限に反する経路が２つの冗長経路として探索されないように変更する（図２Ａの（２）参照）。図２Ａの例では、経路探索装置は、始点側ノード３１と終点側ノード３５とを結ぶポートＰ１〜Ｐ２間の接続については、終点側ノード３５から始点側ノード３１へ向かう方向の通信のみが許可されるように、ポート情報を変更する。さらに、経路探索装置は、終点側ノード３５と経路外ノード３４とを結ぶポートＰ２〜Ｐ３間の接続については、経路外ノード３４から始点側ノード３１へ向かう方向の通信のみが許可されるように、ポート情報を変更する。
【００３４】
なお、始点側ノードとは、第１の経路にて制限ノードよりも始点ノード側に存在するノードである。また、終点側ノードとは、第１の経路にて制限ノードよりも終点ノード側に存在するノードである。また、経路外ノードとは、第１の経路に含まれないノードである。
【００３５】
続いて、経路探索装置は、変更されたトポロジ情報及びポート情報を用いて、複数の経路から第１の経路ＳＰ１と異なる第２の経路を探索する（図２Ａの（３）参照）。図２Ａの例では、経路探索装置は、変更されたトポロジ情報及びポート情報を用いて、リンクコストの総和が最小の「７」となる「始点ノード３０→ノード３４→制限ノード３６→ノード３１→ノード３３→終点ノード３５」の経路を第２の経路ＳＰ２として探索する。
【００３６】
続いて、経路探索装置は、２つの経路ＳＰ１及びＳＰ２どうしで重複するリンクを削除することで、始点ノード３０から終点ノード３５へ至る２つの冗長経路を探索する（図２Ａの（４）参照）。図２Ａの例では、ノード３１〜制限ノード３６のリンクを削除して、「始点ノード３０→ノード３１→ノード３３→終点ノード３５」の経路Ｐａｔｈ１と、「始点ノード３０→ノード３４→制限ノード３６→終点ノード３５」の経路Ｐａｔｈ２とを冗長経路として探索する。
【００３７】
このようにして探索された２つの冗長経路Ｐａｔｈ１及びＰａｔｈ２のうち冗長経路Ｐａｔｈ２は、制限ノード３６を含んでいるが、制限ノード３６におけるポートＰ１〜Ｐ３の接続制限を満足しているため、適正な冗長経路である。
【００３８】
このように、実施例２に係る経路探索方法は、リンクコストの総和が最小となる第１の経路が複数の経路から除外されるようにトポロジ情報を変更する。そして、実施例２に係る経路探索方法は、制限ノードにおけるポート間の接続制限に反する経路が２つの冗長経路として探索されないようにポート情報を変更する。そして、実施例２に係る経路探索装置は、変更されたトポロジ情報及びポート情報を用いて、第１の経路と異なる第２の経路を探索する。
【００３９】
そのため、実施例２に係る経路探索方法は、第１の経路及び第２の経路を用いて探索される互い重複しない２つの冗長経路から、制限ノードにおけるポート間の接続制限に反する経路を除外することができる。その結果、実施例２に係る経路探索方法は、ポート間の接続に制限を含むノードが含まれるネットワークでも、制限を満足する冗長経路を適切に探索することができる。
【００４０】
次いで、図２Ｂを用いて、ネットワーク上で始点ノード３０から終点ノード３５へ至る２つの冗長経路が経路探索装置により探索されない例について説明する。なお、図２Ｂに示すネットワークは、図２Ａに示したネットワークにおける制限ノード３６に代えて、制限ノード３７を含んでいるものとする。また、制限ノード３７におけるポートＰ１〜Ｐ３間の接続には制限があり、制限ノード３７を介してノード３１とノード３４又は終点ノード３５との通信は許可され、制限ノード３７を介してノード３４と終点ノード３５との通信は規制されているものとする。
【００４１】
本実施例では、経路探索装置が、ネットワークにおけるノード間の接続状態を示すトポロジ情報を用いて、始点ノード３０から終点ノード３５へ至る複数の経路からリンクコストの総和が最小となる第１の経路を探索する（図２Ｂの（１）参照）。
【００４２】
続いて、経路探索装置は、探索された第１の経路ＳＰ１が複数の経路から除外されるように、トポロジ情報を変更する。そして、経路探索装置は、第１の経路ＳＰ１上の制限ノード３７におけるポートＰ１〜Ｐ３間の接続の制限を示すポート情報を、当該制限に反する経路が２つの冗長経路として探索されないように変更する（図２Ｂの（２）参照）。
【００４３】
続いて、経路探索装置は、変更されたトポロジ情報及びポート情報を用いて、複数の経路から第１の経路ＳＰ１と異なる第２の経路を探索する（図２Ｂの（３）参照）。図２Ｂの例では、経路探索装置は、複数の経路から第２の経路を探索することができない。
【００４４】
続いて、経路探索装置は、複数の経路から第２の経路を探索することができず、その結果、複数の経路から２つの冗長経路を探索することができなかった旨の処理結果を出力表示する（図２Ｂの（４）参照）。
【００４５】
このように、実施例２に係る経路探索方法は、第１の経路が複数の経路から除外されるように変更されたトポロジ情報と、ポート間の接続制限に反する経路が２つの冗長経路として探索されないように変更されたポート情報とを用いて、第２の経路を探索する。そのため、実施例２に係る経路探索方法は、ポート間の接続に制限を含むノードが含まれるネットワークにおいて、接続制限に反する冗長経路が誤って探索されることを回避することができる。
【００４６】
次いで、図２Ｃを用いて、ネットワーク上で始点ノード３０から終点ノード３５へ至る２つの冗長経路が経路探索装置により探索されない他の例について説明する。なお、図２Ｃに示すネットワークは、図２Ａに示したネットワークにおけるノード３１及び制限ノード３６に代えて、２つの制限ノード３８及び制限ノード３９を含んでいるものとする。また、制限ノード３８におけるポートＰ１〜Ｐ３間の接続には制限があり、制限ノード３８を介して制限ノード３９と始点ノード３０又はノード３３との通信は許可され、制限ノード３８を介して始点ノード３０とノード３３との通信は規制されているものとする。また、制限ノード３９におけるポートＰ４〜Ｐ６間の接続には制限があり、制限ノード３９を介して終点ノード３５と制限ノード３８又はノード３４との通信は許可され、制限ノード３９を介して制限ノード３８とノード３４との通信は規制されているものとする。
【００４７】
本実施例では、経路探索装置が、ネットワークにおけるノード間の接続状態を示すトポロジ情報を用いて、始点ノード３０から終点ノード３５へ至る複数の経路からリンクコストの総和が最小となる第１の経路を探索する（図２Ｃの（１）参照）。
【００４８】
続いて、経路探索装置は、探索された第１の経路ＳＰ１が複数の経路から除外されるように、トポロジ情報を変更する。そして、経路探索装置は、第１の経路ＳＰ１上に制限ノード３８が含まれているため、制限ノード３８におけるポートＰ１〜Ｐ３間の接続の制限を示すポート情報を、当該制限に反する経路が２つの冗長経路として探索されないように変更する。さらに、経路探索装置は、第１の経路ＳＰ１上の制限ノード３９におけるポートＰ４〜Ｐ６間の接続の制限を示すポート情報を、当該制限に反する経路が２つの冗長経路として探索されないように変更する（図２Ｃの（２）参照）。
【００４９】
続いて、経路探索装置は、変更されたトポロジ情報及びポート情報を用いて、複数の経路から第１の経路ＳＰ１と異なる第２の経路を探索する（図２Ｃの（３）参照）。図２Ｃの例では、経路探索装置は、複数の経路から第２の経路を探索することができない。
【００５０】
続いて、経路探索装置は、複数の経路から第２の経路を探索することができず、その結果、複数の経路から２つの冗長経路を探索することができなかった旨の処理結果を出力表示する（図２Ｃの（４）参照）。
【００５１】
このように、実施例２に係る経路探索方法は、第１の経路が複数の経路から除外されるように変更されたトポロジ情報と、ポート間の接続制限に反する経路が２つの冗長経路として探索されないように変更されたポート情報とを用いて、第２の経路を探索する。そのため、実施例２に係る経路探索方法は、ポート間の接続に制限を含むノードが複数含まれるネットワークであっても、接続制限に反する冗長経路が誤って探索されることを回避することができる。
【００５２】
次に、図３を用いて、実施例２に係る経路探索装置の構成を説明する。図３は、実施例２に係る経路探索装置４０の構成を示すブロック図である。図３に示すように、経路探索装置４０は、記憶部４１と、制御部４２とを有する。
【００５３】
記憶部４１は、制御部４２による各種処理に必要なデータや、制御部４２による各種処理の結果を記憶する。記憶部４１は、例えば、ＲＡＭ（Random Access Memory)、 ＲＯＭ（Read Only Memory)、フラッシュメモリ (flash memory)などの半導体メモリ素子、または、ＨＤＤ（Hard Disk Drive）、光ディスクなどの記憶装置である。特に、記憶部４１は、トポロジ情報記憶部５０と、第１経路情報記憶部５１と、ポート情報記憶部５２と、第２経路情報記憶部５３と、冗長経路情報記憶部５４とを有する。
【００５４】
トポロジ情報記憶部５０は、複数のノードがリンクで接続されたネットワークにおけるノード間の接続状態を示す情報をトポロジ情報として記憶する。トポロジ情報記憶部５０の一例を図４に示す。トポロジ情報記憶部５０は、ユーザによって入力された情報や通信Ｉ／Ｆ（図示せず）により各ノードから収集された情報をトポロジ情報として記憶する。図４に示すように、トポロジ情報記憶部５０は、リンクＩＤ（Identity）、ノード１、ノード２、コスト、方向を対応付けて記憶する。
【００５５】
リンクＩＤは、ネットワークを構成するノード間を結ぶリンクを識別するための識別情報を示す。ノード１は、リンクにより接続される一方のノードの識別情報を示す。ノード２は、リンクにより接続される他方のノードの識別情報を示す。コストは、リンクの理論的な距離であるリンクコストを示す。方向は、リンクの通信方向を示し、ノード１からノード２へ向かう方向及びノード２からノード１へ向かう方向の通信が許可されている場合に「０」となる。また、方向は、ノード１からノード２へ向かう方向の通信が許可されている場合に「１」となり、ノード２からノード１へ向かう方向の通信が許可されている場合に「２」となる。
【００５６】
第１経路情報記憶部５１は、ネットワーク上で始点ノードから終点ノードへ至る複数の経路から探索された第１の経路に関する情報を第１経路情報として記憶する。第１経路情報記憶部５１の一例を図５に示す。第１経路情報記憶部５１によって記憶される第１経路情報は、後述する第１探索部６０によって作成されて格納される。図５に示すように、第１経路情報記憶部５１は、第１経路ＩＤ、構成ノード、コスト総和を対応付けて記憶する。
【００５７】
第１経路ＩＤは、第１の経路を識別するための識別情報を示す。構成ノードは、第１の経路を構成するノードの識別情報を示す。例えば、「Ｎ１→Ｎ２→Ｎ３→Ｎ５」は、ノードＮ１を始点ノードとし、ノードＮ２及びノードＮ３を経由して、ノードＮ５を終点ノードとする第１の経路ＳＰ１を構成するノードを表している。コスト総和は、第１の経路に含まれるリンクのコストの総和を示す。
【００５８】
ポート情報記憶部５２は、制限ノードにおけるポート間の接続の制限を示す情報をポート情報として記憶する。ポート情報記憶部５２の一例を図６に示す。ポート情報記憶部５２は、ユーザによって入力された情報や通信Ｉ／Ｆ（図示せず）により各ノードから収集された情報をポート情報として記憶する。図６に示すように、ポート情報記憶部５２は、制限ノードＩＤ、ポート間接続、ノード１、ノード２、接続状態を対応付けて記憶する。
【００５９】
制限ノードＩＤは、制限ノードを識別するための識別情報を示す。ポート間接続は、制限ノードが有するポートのうち任意の一対のポートどうしの接続を示し、例えば、「Ｐ１−Ｐ２」は、ポートＰ１とポートＰ２との接続を表している。ノード１は、ポート間接続における一対のポートのうち一方のポートに接続されるノードを示す。ノード２は、ポート間接続における一対のポートのうち他方のポートに接続されるノードを示す。接続状態は、ポート間接続の接続状態を示し、ノード１からノード２へ向かう方向及びノード２からノード１へ向かう方向の通信が許可されている場合に「０」となる。また、接続状態は、ノード１からノード２へ向かう方向の通信が許可されている場合に「１」となり、ノード２からノード１へ向かう方向の通信が許可されている場合に「２」となり、ノード１とノード２との間の通信が規制（制限）されている場合に、「３」となる。
【００６０】
第２経路情報記憶部５３は、ネットワーク上で始点ノードから終点ノードへ至る複数の経路から探索された第１の経路と異なる第２の経路に関する情報を第２経路情報として記憶する。第２経路情報記憶部５３の一例を図７に示す。第２経路情報記憶部５３によって記憶される第２経路情報は、後述する第２探索部６３によって作成されて格納される。図７に示すように、第２経路情報記憶部５３は、第２経路ＩＤ、構成ノード、コスト総和を対応付けて記憶する。
【００６１】
第２経路ＩＤは、第２の経路を識別するための識別情報を示す。構成ノードは、第２の経路を構成するノードの識別情報を示す。例えば、「Ｎ１→Ｎ６→Ｎ３→Ｎ２→Ｎ４→Ｎ５」は、ノードＮ１を始点ノードとし、ノードＮ６、Ｎ３、Ｎ２及びＮ４を経由して、ノードＮ５を終点ノードとする第２の経路ＳＰ２を構成するノードを表している。コスト総和は、第２の経路に含まれるリンクのコストの総和を示す。
【００６２】
冗長経路情報記憶部５４は、ネットワーク上で始点ノードから終点ノードへ至る複数の経路から探索された互いに重複しない２つの冗長経路に関する情報を冗長経路情報として記憶する。冗長経路情報記憶部５４の一例を図８に示す。冗長経路情報記憶部５４によって記憶される冗長経路情報は、後述する経路探索部６４によって作成されて格納される。図８に示すように、冗長経路情報記憶部５４は、冗長経路ＩＤ、構成ノード、コスト総和を対応づけて記憶する。
【００６３】
冗長経路ＩＤは、冗長経路を識別するための識別情報を示す。構成ノードは、冗長経路を構成するノードの識別情報を示す。例えば、「Ｎ１→Ｎ２→Ｎ４→Ｎ５」は、ノードＮ１を始点ノードとし、ノードＮ２及びＮ４を経由して、ノードＮ５を終点ノードとする冗長経路Ｐａｔｈ１を構成するノードを表している。コスト総和は、冗長経路に含まれるリンクのコストの総和を示す。
【００６４】
制御部４２は、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部４２は、例えば、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ (Field Programmable Gate Array)などの集積回路、または、ＣＰＵ（Central Processing Unit）やＭＰＵ（Micro Processing Unit）などの電子回路である。特に、制御部４２は、第１探索部６０と、トポロジ変更部６１と、ポート変更部６２と、第２探索部６３と、経路探索部６４と、出力部６５とを有する。
【００６５】
第１探索部６０は、トポロジ情報を用いて、ネットワーク上で始点ノードから終点ノードへ至る複数の経路からリンクコストの総和が最小となる第１の経路を探索する。具体的には、第１探索部６０は、トポロジ情報記憶部５０から読み出したトポロジ情報に、Ｄｉｊｋｓｔｒａ法等に代表されるグラフ上の経路探索アルゴリズムを適用することにより、複数の経路からリンクコストの総和が最小となる第１の経路を探索する。また、第１探索部６０は、探索された第１の経路に関する情報を第１経路情報として第１経路情報記憶部５１に格納する。
【００６６】
トポロジ変更部６１は、探索された第１の経路がネットワーク上の複数の経路から除外されるように、トポロジ情報を変更する。具体的には、トポロジ変更部６１は、探索された第１の経路（例えば、第１経路ＩＤ「ＳＰ１」）の構成ノード（例えば、構成ノード「Ｎ１→Ｎ２→Ｎ３→Ｎ５」）を第１経路情報記憶部５１から読み出す。
【００６７】
そして、トポロジ変更部６１は、トポロジ情報記憶部５０を参照し、図９に示すように、読み出された構成ノード間を接続するリンク（例えば、リンクＩＤ「Ｌ１」、「Ｌ３」、「Ｌ５」）の方向が第１の経路と反対方向となるようにリンクのコストの正負を逆転する。これにより、探索された第１の経路がネットワーク上の複数の経路から除外される。なお、図９は、トポロジ変更部６１による処理を説明するための図である。
【００６８】
ポート変更部６２は、探索された第１の経路上に制限ノードが含まれる場合に、制限ノードにおけるポート間の接続の制限を示すポート情報を、当該制限に反する経路が２つの冗長経路として探索されないように変更する。具体的には、ポート変更部６２は、探索された第１の経路（例えば、第１経路ＩＤ「ＳＰ１」）の構成ノード（例えば、構成ノード「Ｎ１→Ｎ２→Ｎ３→Ｎ５」）を第１経路情報記憶部５１から読み出す。
【００６９】
そして、ポート変更部６２は、ポート情報記憶部５２を参照し、読み出された構成ノード（例えば、構成ノード「Ｎ１→Ｎ２→Ｎ３→Ｎ５」）に、制限ノードＩＤ（例えば、「Ｎ３」）に対応する制限ノードが含まれるか否かを判定する。その結果、ポート変更部６２は、制限ノードが含まれる場合には、ポート情報記憶部５２に記憶されたポート情報を変更する。
【００７０】
ここで、図１０及び図１１を用いて、ポート変更部６２がポート情報を変更する手法について説明する。図１０は、ポート変更部６２による処理を説明するための図であり、図１１は、ポート変更部６２によって変更されたポート情報の一例を示す図である。
【００７１】
図１０に示すように、ポート変更部６２は、始点側ノードと終点側ノードとを結ぶポート間の接続については、終点側ノードから始点側ノードへ向かう方向の通信が許可されるように、ポート情報のうち接続状態を変更する。また、ポート変更部６２は、始点側ノードと経路外ノードとを結ぶポート間の接続については、終点側ノードから経路外ノードへ向かう方向の通信が許可されるように、ポート情報のうち接続状態を変更する。さらに、ポート変更部６２は、終点側ノードと経路外ノードとを結ぶポート間の接続については、経路外ノードから始点側ノードへ向かう方向の通信が許可されるように、ポート情報のうち接続状態を変更する。
【００７２】
具体的な一例を挙げて説明すると、ポート変更部６２は、図６に示したポート情報記憶部５２に記憶されたポート情報のうち接続状態を、図１１に示す接続状態に変更する。つまり、ポート変更部６２は、始点側ノード（ノード１「Ｎ２」）と終点側ノード（ノード２「Ｎ５」）とを結ぶポート間の接続（ポート間接続「Ｐ１−Ｐ２」）に対応する接続状態を終点側ノード→始点側ノードを示す「２」とする。また、ポート変更部６２は、終点側ノード（ノード１「Ｎ５」）と経路外ノード（ノード２「Ｎ６」）とを結ぶポート間の接続（ポート間接続「Ｐ２−Ｐ３」）に対応する接続状態を終点ノード→経路外ノードを示す「１」とする。なお、ポート変更部６２は、残りのポート間の接続（ポート間接続「Ｐ１−Ｐ３」）に対応する接続状態を規制を示す「３」とする。 
【００７３】
図３に戻って、第２探索部６３は、トポロジ変更部６１によって変更されたトポロジ情報とポート変更部６２によって変更されたポート情報とを用いて、ネットワーク上で始点ノードから終点ノードへ至る複数の経路から第１の経路と異なる第２の経路を探索する。具体的には、第２探索部６３は、トポロジ変更部６１によって変更されたトポロジ情報をトポロジ情報記憶部５０から読み出す。そして、第２探索部６３は、ポート変更部６２によって変更されたポート情報をポート情報記憶部５２から読み出す。
【００７４】
そして、第２探索部６３は、読み出されたトポロジ情報及びポート情報にＤｉｊｋｓｔｒａ法等に代表されるグラフ上の経路探索アルゴリズムを適用することにより、複数の経路からリンクコストの総和が最小となる第２の経路を探索する。また、第２探索部６３は、探索された第２の経路に関する情報を第２経路情報として第２経路情報記憶部５３に格納する。
【００７５】
なお、第２探索部６３は、複数の経路から第２の経路を探索することができなかった場合には、その旨を経路探索部６４に通知する。
【００７６】
経路探索部６４は、探索された第１の経路と第２の経路とを用いて、始点ノードから終点ノードへ至る２つの冗長経路を探索する。具体的には、経路探索部６４は、探索された第１の経路の構成ノードを第１経路情報記憶部５１から読み出す。そして、経路探索部６４は、探索された第２の経路の構成ノードを第２経路情報記憶部５３から読み出す。
【００７７】
例えば、図５及び図７に示す例では、経路探索部６４は、第１経路ＩＤ「ＳＰ１」の構成ノード「Ｎ１→Ｎ２→Ｎ３→Ｎ５」を第１経路情報記憶部５１から読み出す。そして、経路探索部６４は、第２経路ＩＤ「ＳＰ２」の構成ノード「Ｎ１→Ｎ６→Ｎ３→Ｎ２→Ｎ４→Ｎ５」を第２経路情報記憶部５３から読み出す。
【００７８】
そして、経路探索部６４は、読み出した第１の経路の構成ノードと第２の経路の構成ノードとを対比し、第１の経路及び第２の経路どうしで重複するリンク（例えば、ノードＮ２〜Ｎ３間のリンク）を特定する。
【００７９】
例えば、図５及び図７に示す例では、経路探索部６４は、第１経路ＩＤ「ＳＰ１」の構成ノード「Ｎ１→Ｎ２→Ｎ３→Ｎ５」と第２経路ＩＤ「ＳＰ２」の構成ノード「Ｎ１→Ｎ６→Ｎ３→Ｎ２→Ｎ４→Ｎ５」とを対比し、ノードＮ２〜Ｎ３間のリンクを特定する。
【００８０】
そして、経路探索部６４は、第１の経路の構成ノード及び第２の経路の構成ノードから特定されたリンクを削除して残りの部分を連結することで、２つの冗長経路（例えば、冗長経路ＩＤ「Ｐａｔｈ１」、「Ｐａｔｈ２」）を探索する。
【００８１】
例えば、図８に示す例では、経路探索部６４は、特定されたノードＮ２〜Ｎ３間のリンクを削除して残りの部分を連結することで、冗長経路ＩＤ「Ｐａｔｈ１」、「Ｐａｔｈ２」に対応する２つの冗長経路を探索する。
【００８２】
また、経路探索部６４は、探索された２つの冗長経路に関する情報を冗長経路情報として冗長経路情報記憶部５４に格納する。なお、経路探索部６４は、複数の経路から第２の経路を探索することができなかった旨の通知を第２探索部６３から受け取った場合には、複数の経路から２つの冗長経路を探索することができなかった旨の処理結果を出力部６５に出力表示させる。
【００８３】
出力部６５は、冗長経路情報記憶部５４に記憶された冗長経路情報や経路探索部６４から受け取った冗長経路を探索することができなかった旨の情報を処理結果として出力する。
【００８４】
次に、図１２を用いて、実施例２に係る経路探索装置４０による経路探索処理の処理手順について説明する。図１２は、実施例２に係る経路探索装置４０による経路探索処理の処理手順を示すフローチャートである。
【００８５】
図１２に示すように、まず、第１探索部６０は、トポロジ情報を用いて、始点ノードから終点ノードへ至る複数の経路からリンクコストの総和が最小となる第１の経路を探索する（ステップＳ１１）。
【００８６】
続いて、トポロジ変更部６１は、探索された第１の経路が複数の経路から除外されるように、トポロジ情報を変更する。（ステップＳ１２）。そして、ポート変更部６２は、第１の経路上の制限ノードにおけるポート間の接続制限に反する経路が２つの冗長経路として探索されないように、ポート情報を変更する（ステップＳ１３）。
【００８７】
続いて、第２探索部６３は、変更されたトポロジ情報及びポート情報を用いて、複数の経路から第１の経路と異なる第２の経路を探索する（ステップＳ１４）。そして、第２の経路を探索することができなかった場合には（ステップＳ１５否定）、第２探索部６３は、その旨を経路探索部６４に通知する。
【００８８】
そして、経路探索部６４からの通知を受けた経路探索部６４は、複数の経路から２つの冗長経路を探索することができなかった旨の処理結果を出力部６５に出力表示させる（ステップＳ１６）。
【００８９】
一方、第２探索部６３によって第２の経路が探索された場合には（ステップＳ１５肯定）、経路探索部６４は、探索された第１の経路及び第２の経路を用いて、複数の経路から２つの冗長経路を探索する（ステップＳ１７）。そして、経路探索部６４は、探索された２つの冗長経路に関する情報を冗長経路情報として冗長経路情報記憶部５４に格納する。その後、出力部６５は、冗長経路情報記憶部５４に記憶された冗長経路情報を出力表示する（ステップＳ１８）。
【００９０】
なお、図１２に示すフローチャートにおいて、ステップＳ１２の処理とステップＳ１３の処理の順序を入れ替えてもよい。
【００９１】
上述してきたように、実施例２に係る経路探索装置４０は、リンクコストの総和が最小となる第１の経路が複数の経路から除外されるようにトポロジ情報を変更する。そして、実施例２に係る経路探索装置４０は、制限ノードにおけるポート間の接続制限に反する経路が２つの冗長経路として探索されないようにポート情報を変更する。そして、実施例２に係る経路探索装置４０は、変更されたトポロジ情報及びポート情報を用いて、第１の経路と異なる第２の経路を探索する。
【００９２】
そのため、実施例２に係る経路探索装置４０は、第１の経路及び第２の経路を用いて探索される互い重複しない２つの冗長経路から、制限ノードにおけるポート間の接続制限に反する経路を除外することができる。その結果、実施例２に係る経路探索装置４０は、ポート間の接続に制限を含むノードが含まれるネットワークでも、制限を満足する冗長経路を適切に探索することができる。
【００９３】
なお、この経路探索装置４０は、既知のパーソナルコンピュータ、ワークステーション、携帯電話、ＰＨＳ端末、移動体通信端末またはＰＤＡなどの情報処理装置に、上記した第１探索部６０、トポロジ変更部６１、ポート変更部６２、第２探索部６３、経路探索部６４および出力部６５の各機能を搭載することによって実現することもできる。
【実施例３】
【００９４】
上記実施例２では、第１の経路が複数の経路から除外されるようにトポロジ情報を変更する例を示したが、第１の経路と第１の経路と交差する経路とが複数の経路から除外されるようにトポロジ情報を変更することとしてもよい。そこで、実施例３では、第１の経路と第１の経路と交差する経路とが複数の経路から除外されるようにトポロジ情報を変更する経路探索装置について説明する。
【００９５】
まず、実施例３に係る経路探索装置による経路探索方法について説明する。図１３は、実施例３に係る経路探索装置による経路探索方法を説明するための図である。以下では、図１３を用いて、ネットワーク上で始点ノード７０から終点ノード７５へ至る２つの冗長経路が経路探索装置により探索される例について説明する。
【００９６】
なお、図１３に示すネットワークは、制限ノード７６を含んでいるものとする。また、制限ノード７６におけるポートＰ１〜Ｐ４間の接続には制限があり、制限ノード７６を介して終点ノード７５とノード７１又はノード７４との通信等は許可されているが、制限ノード７６を介してノード７１とノード７４との通信等は規制されているものとする。
【００９７】
本実施例では、経路探索装置が、ネットワークにおけるノード間の接続状態を示すトポロジ情報を用いて、始点ノード７０から終点ノード７５へ至る複数の経路からリンクコストの総和が最小となる第１の経路を探索する（図１３の（１）参照）。図１３の例では、経路探索装置は、トポロジ情報を用いて、リンクコストの総和が最小の「３」となる「始点ノード７０→ノード７１→制限ノード７６→終点ノード７５」の経路を第１の経路ＳＰ１として探索する。
【００９８】
続いて、経路探索装置は、探索された第１の経路ＳＰ１とこの第１の経路ＳＰ１と交差する経路が複数の経路から除外されるように、トポロジ情報を変更する。図１３の例では、経路探索装置は、第１の経路ＳＰ１に含まれるリンクの方向が第１の経路ＳＰ１と反対方向となるようにトポロジ情報におけるリンクのコストの正負を逆転することで、第１の経路ＳＰ１を複数の経路から除外する。
【００９９】
さらに、図１３の例では、経路探索装置は、第１の経路ＳＰ１に含まれるノード７１及び制限ノード７６をそれぞれ２つのサブノード（サブノード７１ａ、７１ｂ及びサブノード７６ａ、７６ｂ）に分割する。そして、経路探索装置は、サブノード７１ａ〜７１ｂ間及びサブノード７６ａ、７６ｂ間をコスト０でかつ第１の経路ＳＰ１と反対方向である新たなリンクで結ぶ。そして、経路探索装置は、第１の経路ＳＰ１に含まれるノード７１及び制限ノード７６と第１の経路ＳＰ１に含まれないノード７３及び７４とを結ぶリンクを、当該リンクと同一のコストでかつ互いに反対方向である２つの新たなリンクに分割する。このようにトポロジ情報を変更することで、経路探索装置は、第１の経路ＳＰ１と交差する経路を複数の経路から除外する。
【０１００】
また、経路探索装置は、第１の経路ＳＰ１上の制限ノード７６におけるポートＰ１〜Ｐ４間の接続の制限を示すポート情報を、当該制限に反する経路が２つの冗長経路として探索されないように変更する（図１３の（２）参照）。図１３の例では、経路探索装置は、始点側ノード７１と終点側ノード７５とを結ぶポートＰ１〜Ｐ２間の接続については終点側ノード７５から始点側ノード７１へ向かう方向の通信が許可されるように、ポート情報を変更する。さらに、経路探索装置は、終点側ノード７５と経路外ノード７４とを結ぶポートＰ２〜Ｐ３間の接続については経路外ノード７４から始点側ノード７１へ向かう方向の通信が許可されるように、ポート情報を変更する。
【０１０１】
続いて、経路探索装置は、変更されたトポロジ情報及びポート情報を用いて、複数の経路から第１の経路ＳＰ１と異なる第２の経路を探索する（図１３の（３）参照）。図１３の例では、経路探索装置は、リンクコストの総和が最小の「７」となる「始点ノード７０→ノード７４→制限ノード７６（サブノード７６ａ）→ノード７１（サブノード７１ｂ）→ノード７３→終点ノード７５」の経路を第２の経路ＳＰ２として探索する。
【０１０２】
続いて、経路探索装置は、２つの経路ＳＰ１及びＳＰ２どうしで重複するリンクを削除することで、始点ノード７０から終点ノード７５へ至る２つの冗長経路を探索する（図１３の（４）参照）。図１３の例では、ノード７１〜制限ノード７６のリンクを削除し、「始点ノード７０→ノード７１→ノード７３→終点ノード７５」の経路Ｐａｔｈ１と「始点ノード７０→ノード７４→制限ノード７６→終点ノード７５」の経路Ｐａｔｈ２とを冗長経路として探索する。
【０１０３】
このようにして探索された２つの冗長経路Ｐａｔｈ１及びＰａｔｈ２のうち冗長経路Ｐａｔｈ２は、制限ノード７６を含んでいるが、制限ノード７６におけるポートＰ１〜Ｐ４の接続制限を満足しているため、適正な冗長経路である。
【０１０４】
このように、実施例３に係る経路探索方法は、実施例２と同様に、変更されたトポロジ情報及びポート情報を用いて、第１の経路と異なる第２の経路を探索する。そのため、実施例３に係る経路探索方法は、実施例２と同様に、ポート間の接続に制限を含むノードが含まれるネットワークでも、制限を満足する冗長経路を適切に探索することができる。
【０１０５】
その上、実施例３に係る経路探索方法は、第１の経路と第１の経路と交差する経路とが複数の経路から除外されるようにトポロジ情報を変更するので、リンクだけでなくノードも重複しない経路を２つの冗長経路として探索することができる。
【０１０６】
次に、図１４を用いて、実施例３に係る経路探索装置の構成を説明する。図１４は、実施例３に係る経路探索装置８０の構成を示すブロック図である。なお、以下では、実施例２で既に説明した構成部位と同様の部位には同一符号を付すこととして、その詳細な説明を省略する。
【０１０７】
図１４に示すように、経路探索装置８０は、記憶部４１と、制御部８２とを有する。制御部８２は、第１探索部６０と、トポロジ変更部９１と、ポート変更部６２と、第２探索部６３と、経路探索部６４と、出力部６５とを有する。
【０１０８】
トポロジ変更部９１は、第１探索部６０によって探索された第１の経路とこの第１の経路と交差する経路とがネットワーク上の複数の経路から除外されるように、トポロジ情報を変更する。具体的には、トポロジ変更部９１は、探索された第１の経路（例えば、第１経路ＩＤ「ＳＰ１」）の構成ノード（例えば、構成ノード「Ｎ１→Ｎ２→Ｎ３→Ｎ５」）を第１経路情報記憶部５１から読み出す。
【０１０９】
そして、トポロジ変更部９１は、トポロジ情報記憶部５０を参照し、図１５に示すように、読み出された構成ノード間を接続するリンク（例えば、リンクＩＤ「Ｌ１」、「Ｌ３」、「Ｌ５」）の方向が第１の経路と反対方向となるようにリンクのコストの正負を逆転する。これにより、探索された第１の経路がネットワーク上の複数の経路から除外される。
【０１１０】
さらに、トポロジ変更部９１は、読み出された構成ノードのうち始点ノード及び終点ノードを除くノード（例えば、「Ｎ２」、「Ｎ３」）をそれぞれ２つのサブノード（例えば、「Ｎ２ａ」と「Ｎ２ｂ」及び「Ｎ３ａ」と「Ｎ３ｂ」）に分割する。そして、トポロジ変更部９１は、２つのサブノード間をコスト０でかつ第１の経路と反対方向の新たなリンク（例えば、リンクＩＤ「Ｌ８」、「Ｌ９」）で結ぶ。そして、トポロジ変更部９１は、読み出された構成ノードのうち始点ノード及び終点ノードを除くノードと構成ノード以外のノードとを結ぶリンクを、当該リンクと同一コストでかつ互いに反対方向の２つの新たなリンク（例えば、「Ｌ４ａ」と「Ｌ４ｂ」及び「Ｌ６ａ」と「Ｌ６ｂ」）に分割する。これにより、探索された第１の経路と交差する経路がネットワーク上の複数の経路から除外される。なお、図１５は、トポロジ変更部９１による処理を説明するための図である。
【０１１１】
次に、図１６を用いて、実施例３に係る経路探索装置８０による経路探索処理の処理手順について説明する。図１６は、実施例３に係る経路探索装置８０による経路探索処理の処理手順を示すフローチャートである。なお、ここでは、実施例２で図１２を用いて既に説明した処理手順と同様の処理手順（ステップＳ２１、Ｓ２３〜Ｓ２８）については、説明を省略する。
【０１１２】
図１６に示すように、第１探索部６０によって複数の経路から第１の経路が探索されると（ステップＳ２１）、トポロジ変更部９１は、第１の経路と第１の経路と交差する経路とが複数の経路から除外されるように、トポロジ情報を変更する（ステップＳ２２）。
【０１１３】
なお、図１６に示すフローチャートにおいて、ステップＳ２２の処理とステップＳ２３の処理の順序を入れ替えてもよい。
【０１１４】
上述してきたように、実施例３に係る経路探索装置８０は、実施例２と同様に、変更されたトポロジ情報及びポート情報を用いて、第１の経路と異なる第２の経路を探索する。そのため、実施例３に係る経路探索装置８０は、実施例２と同様に、ポート間の接続に制限を含むノードが含まれるネットワークでも、制限を満足する冗長経路を適切に探索することができる。
【０１１５】
その上、実施例３に係る経路探索装置８０は、第１の経路と第１の経路と交差する経路とが複数の経路から除外されるようにトポロジ情報を変更するので、リンクだけでなくノードも重複しない経路を２つの冗長経路として探索することができる。
【実施例４】
【０１１６】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では実施例４として本発明に含まれる他の実施例を説明する。
【０１１７】
例えば、上記実施例では、ポート間の接続制限を有する制限ノードを含む光ネットワークに本発明を適用したが、これに限らず、制限ノードを含むその他各種のネットワークに本発明を適用してもよい。
【０１１８】
また、上記実施例では、トポロジ情報やポート情報がユーザによって入力されるように構成したが、これに限らず、ネットワーク運用中にネットワーク上の各ノードからトポロジ情報やポート情報を収集するようにしてもよい。この場合、冗長経路情報記憶部５４に記憶された冗長経路情報や経路探索部６４から受け取った冗長経路を探索することができなかった旨の情報は、処理結果としてネットワーク上の各ノードに通知される。
【０１１９】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図３に示す例を用いて説明すると、第１探索部６０とトポロジ変更部６１とを統合してもよい。
【０１２０】
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをコンピュータで実行することによって実現することができる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータを他の実施例として説明する。
【０１２１】
図１７は、経路探索プログラムを実行するコンピュータを示す図である。図１７に示すように、経路探索装置としてのコンピュータ１００は、ＲＡＭ１１０と、ＨＤＤ１２０と、ＲＯＭ１４０と、ＣＰＵ１３０とから構成される。ここで、ＲＯＭ１４０には、上記の実施例と同様の機能を発揮するプログラムがあらかじめ記憶されている。つまり、ＲＯＭ１４０には、図１７に示すように、第１探索プログラム１４１、トポロジ変更プログラム１４２、ポート変更プログラム１４３、第２探索プログラム１４４、経路探索プログラム１４５および出力プログラム１４６があらかじめ記憶されている。
【０１２２】
そして、ＣＰＵ１３０が、これらのプログラム１４１〜１４６を読み出して実行することで、図１７に示すように、第１探索プロセス１３１、トポロジ変更プロセス１３２、ポート変更プロセス１３３、第２探索プロセス１３４、経路探索プロセス１３５および出力プロセス１３６として機能するようになる。なお、各プロセス１３１〜１３６は、図３に示した第１探索部６０、トポロジ変更部６１、ポート変更部６２、第２探索部６３、経路探索部６４、出力部６５にそれぞれ対応する。
【０１２３】
また、ＨＤＤ１２０には、図１７に示すように、トポロジテーブル１２１、第１経路テーブル１２２、ポートテーブル１２３、第２経路テーブル１２４、冗長経路テーブル１２５が設けられている。なお、トポロジテーブル１２１、第１経路テーブル１２２、ポートテーブル１２３、第２経路テーブル１２４、冗長経路テーブル１２５は、図３に示したトポロジ情報記憶部５０、第１経路情報記憶部５１、ポート情報記憶部５２、第２経路情報記憶部５３、冗長経路情報記憶部５４にそれぞれ対応する。
【０１２４】
ところで、上記したプログラム１４１〜１４６は、必ずしもＲＯＭ１４０に記憶させておく必要はなく、例えば、コンピュータ１００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」の他に、コンピュータ１００の内外に備えられるハードディスクドライブ（ＨＤＤ）などの「固定用の物理媒体」、さらに、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ１００に接続される「他のコンピュータ」に記憶させておき、コンピュータ１００がこれらからプログラムを読み出して実行するようにしてもよい。
【符号の説明】
【０１２５】
１０、４０、８０        経路探索装置
１１、６１、９１        トポロジ変更部
１２、６２              ポート変更部
１３                    探索部
４１                    記憶部
４２、８２              制御部
５０                    トポロジ情報記憶部
５１                    第１経路情報記憶部
５２                    ポート情報記憶部
５３                    第２経路情報記憶部
５４                    冗長経路情報記憶部
６０                    第１探索部
６３                    第２探索部
６４                    経路探索部
６５                    出力部
【図１】
2011041017.tif 000003
【図２Ａ】
2011041017.tif 000004
【図２Ｂ】
2011041017.tif 000005
【図２Ｃ】
2011041017.tif 000006
【図３】
2011041017.tif 000007
【図４】
2011041017.tif 000008
【図５】
2011041017.tif 000009
【図６】
2011041017.tif 000010
【図７】
2011041017.tif 000011
【図８】
2011041017.tif 000012
【図９】
2011041017.tif 000013
【図１０】
2011041017.tif 000014
【図１１】
2011041017.tif 000015
【図１２】
2011041017.tif 000016
【図１３】
2011041017.tif 000017
【図１４】
2011041017.tif 000018
【図１５】
2011041017.tif 000019
【図１６】
2011041017.tif 000020
【図１７】
2011041017.tif 000021
【図１８】
2011041017.tif 000022
【図１９】
2011041017.tif 000023
【図２０】
2011041017.tif 000024