(57)【要約】【課題】用意すべき予備トポロジ情報数を低減しつつ、ネットワークの負荷を平滑化する予備トポロジ情報群を作成する。【解決手段】ノードは、交流トラヒック情報に基づき、発着トラヒック量が所定の閾値を超えるノードを高負荷ノードとして選択する。そして、予備トポロジ情報群それぞれにおけるプロテクトリンクの配置を考えるとき、トポロジ情報を参照して、高負荷ノードに接続するリンク群を、Ｎ個の予備トポロジ情報の初期情報群の間で、できるだけ均等になるよう配置する。そして、そのＮ個の初期情報をベースとして、IP-FRRに用いられる方法により、プロテクトリンクを除外したとき各ノード間の接続が接続グラフとなるような予備トポロジ情報を作成する。また、プロテクトリンクをどのように配置変更しても接続グラフとならない場合は、Ｎを増加させて再度、予備トポロジ情報の初期情報群を作成する。【選択図】図４
2011124811.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークにおけるノード故障発生時またはリンク故障発生時に不通となるリンクを、プロテクトリンクとして示した予備トポロジ情報に基づき迂回経路情報を作成する迂回経路情報作成装置であって、
前記ネットワークのトポロジおよび各リンクのリンクコストを示したトポロジ情報を記憶する記憶部と、
前記ネットワーク内の各ノードから前記各ノード間のトラヒック流量である交流トラヒック情報を取得し、前記記憶部に記憶する交流トラヒック取得部と、
前記トポロジ情報および前記交流トラヒック情報を参照して、前記ノードごとの発着トラヒック量を計算し、前記計算した発着トラヒック量が所定の閾値を超えるノードを高負荷ノードとして選択する高負荷ノード選択部と、
前記トポロジ情報を参照して、１つの前記高負荷ノードに接続するプロテクトリンクが最大［（前記高負荷ノードそれぞれに接続するリンク数の最大値／Ｎ）＋１］個の前記予備トポロジ情報の初期情報をＮ個作成する初期情報作成処理を行う初期情報作成部と、
前記作成したＮ個の初期情報または予備トポロジ情報すべてについて前記プロテクトリンクを除去したときノード間の接続が接続グラフとなるか否かを判断する接続性判定部と、
前記接続性判定部により、前記作成したＮ個の初期情報すべてについて前記プロテクトリンクを除去したときノード間の接続が接続グラフとなると判断された場合、IP-FRR（IP Fast Reroute）に用いられる方法により、前記作成したＮ個の初期情報それぞれにおいて、既に前記プロテクトリンクとして選択されているリンク以外のリンクから、前記プロテクトリンクを選択する処理を、前記選択したプロテクトリンクの集合が、前記トポロジ情報に示されるリンクの集合と一致するまで実行することで、Ｎ個の前記予備トポロジ情報の作成処理を行うプロテクトリンク選択部と、
前記作成した予備トポロジ情報ごとに、当該予備トポロジ情報に示されるプロテクトリンクを迂回する迂回経路を示した迂回経路情報を作成し、前記記憶部に記憶する経路計算部と、
前記接続性判定部により、前記作成したＮ個の初期情報のいずれかにおいて前記プロテクトリンクを除去したときノード間の接続が接続グラフとならないと判断された場合、前記Ｎ個の初期情報における、前記プロテクトリンクの配置を変更して、前記Ｎ個の初期情報それぞれにおける前記ノード間の接続が接続グラフとなる初期情報を探索するプロテクトリンク配置変更部とを備え、
前記プロテクトリンク選択部は、前記プロテクトリンク配置変更部により探索されたＮ個の初期情報それぞれに対し、前記予備トポロジ情報の作成処理を行い、
前記プロテクトリンク配置変更部により、前記Ｎ個の初期情報それぞれにおける前記ノード間の接続が接続グラフとなる初期情報を発見できなかったとき、前記初期情報作成部は、前記Ｎの値を増加させ、再度、前記初期情報作成処理を行い、
前記プロテクトリンク選択部は、当該初期情報作成処理により得られた前記Ｎ個の初期情報に対し、前記予備トポロジ情報作成処理を行うことを特徴とする迂回経路情報作成装置。
【請求項２】
前記接続性判定部により、前記プロテクトリンク選択部が作成した前記Ｎ個の予備トポロジ情報のうち、いずれかの予備トポロジ情報が接続グラフにならないと判断された場合、
前記初期情報作成部は、前記Ｎの値を増加させ、再度、前記初期情報作成処理を行い、
前記プロテクトリンク選択部は、当該初期情報作成処理により得られた前記Ｎ個の初期情報に対し、前記予備トポロジ情報の作成処理を行うことを特徴とする請求項１に記載の迂回経路情報作成装置。
【請求項３】
ネットワークにおけるノード故障発生時またはリンク故障発生時に不通となるリンクを、プロテクトリンクとして示した予備トポロジ情報に基づき迂回経路情報を作成する迂回経路情報作成装置であって、
前記ネットワークのトポロジおよび各リンクのリンクコストを示したトポロジ情報を記憶する記憶部と、
前記ネットワーク内の各ノードから前記ネットワーク内の各ノード間のトラヒック流量である交流トラヒック情報を取得し、前記記憶部に記憶する交流トラヒック取得部と、
前記トポロジ情報および交流トラヒック情報を参照して、前記ノードそれぞれの発着トラヒック量を計算し、前記計算したトラヒック量が所定の閾値を超えるノードを高負荷ノードとして選択する高負荷ノード選択部と、
IP-FRRに用いられる方法により、当該予備トポロジ情報におけるプロテクトリンクを除去したときノード間の接続が接続グラフとなり、かつ、前記予備トポロジ情報それぞれにおけるプロテクトリンクの集合が、前記トポロジ情報に示されるリンクの集合と一致するＮ個の予備トポロジ情報を作成する予備トポロジ情報作成部と、
前記作成したＮ個の予備トポロジ情報のうち、前記高負荷ノードに接続するプロテクトリンク数が最も多い予備トポロジ情報を選択し、この選択した予備トポロジ情報において前記高負荷ノードに接続するプロテクトリンクのうちいずれかを、通常のリンクに変更し、前記選択した予備トポロジ情報以外の予備トポロジ情報における当該リンクをプロテクトリンクに変更するプロテクトリンク交換処理を実行するプロテクトリンク交換部と、
前記プロテクトリンク交換処理後、前記予備トポロジ情報のノード間の接続が接続グラフとなるか否かを判断し、前記ノード間の接続が接続グラフにならないと判断されたとき、前記プロテクトリンク交換部に対し、まだ選択していない前記プロテクトリンクおよび予備トポロジ情報について、再度、前記プロテクトリンク交換処理を実行するよう指示する接続性判定部と、
前記プロテクトリンク交換処理後における、前記選択した予備トポロジ情報の高負荷ノードに接続するプロテクトリンク数と、他の予備トポロジ情報それぞれの当該高負荷ノードに接続するプロテクトリンク数の最大値とを比較し、前記選択した予備トポロジ情報の高負荷ノードに接続するプロテクトリンク数の方が予備トポロジ情報それぞれの当該高負荷ノードに接続するプロテクトリンク数の最大値よりも小さい値の場合、前記プロテクトリンク交換処理後の予備トポロジ情報群を前記記憶部に記憶するプロテクトリンク数比較部と、
前記プロテクトリンク交換部が、すべての前記プロテクトリンクおよび予備トポロジ情報の組み合わせについて、前記プロテクトリンク交換処理を実行しても、前記ノード間の接続が接続グラフにならないと前記接続性判定部により判断されたとき、前記プロテクトリンク交換部に前記プロテクトリンク交換処理を終了するよう指示する終了判定部と、
前記記憶部の予備トポロジ情報ごとに、当該予備トポロジ情報に示されるプロテクトリンクを迂回する迂回経路を示した迂回経路情報を作成し、前記記憶部に記憶する経路計算部とを備えることを特徴とする迂回経路情報作成装置。
【請求項４】
ネットワークにおけるノード故障発生時またはリンク故障発生時に不通となるリンクを、プロテクトリンクとして示した予備トポロジ情報に基づき迂回経路情報を作成する迂回経路情報作成装置が、
前記ネットワーク内の各ノードから前記各ノード間のトラヒック流量である交流トラヒック情報を取得し、記憶部に記憶するステップと、
前記ネットワークのトポロジおよび各リンクのリンクコストを示したトポロジ情報および前記交流トラヒック情報を参照して、前記ノードごとに、当該ノードの発着トラヒック量を計算し、前記計算した発着トラヒック量が所定の閾値を超えるノードを高負荷ノードとして選択するステップと、
前記トポロジ情報を参照して、１つの前記高負荷ノードに接続するプロテクトリンクが最大［（前記高負荷ノードそれぞれに接続するリンク数の最大値／Ｎ）＋１］個の前記予備トポロジ情報の初期情報をＮ個作成する初期情報作成処理を行うステップと、
前記作成したＮ個の初期情報すべてについて前記プロテクトリンクを除去したときノード間の接続が接続グラフとなるとき、IP-FRR（IP Fast Reroute）に用いられる方法により、前記作成したＮ個の初期情報それぞれにおいて、既に前記プロテクトリンクとして選択されているリンク以外のリンクから、前記プロテクトリンクを選択する処理を、前記選択したプロテクトリンクの集合が、前記トポロジ情報に示されるリンクの集合と一致するまで実行することで、Ｎ個の前記予備トポロジ情報の作成処理を行うステップと、
前記作成した予備トポロジ情報ごとに、当該予備トポロジ情報に示されるプロテクトリンクを迂回する迂回経路を示した迂回経路情報を作成し、前記記憶部に記憶するステップと、
前記作成したＮ個の初期情報のいずれかにおいて前記プロテクトリンクを除去したときノード間の接続が接続グラフとならない場合、前記Ｎ個の初期情報における、前記プロテクトリンクの配置を変更して、前記Ｎ個の初期情報それぞれにおける前記ノード間の接続が接続グラフとなる初期情報を探索するステップと、
前記探索されたＮ個の初期情報それぞれに対し、前記予備トポロジ情報作成処理を行うステップと、
前記Ｎ個の初期情報それぞれにおける前記ノード間の接続が接続グラフとなる初期情報を発見できなかったとき、前記Ｎの値を増加させ、再度、前記初期情報作成処理を行うステップと、
当該初期情報作成処理により得られた前記Ｎ個の初期情報に対し、前記予備トポロジ情報作成処理を行うステップとを実行することを特徴とする迂回経路情報作成方法。
【発明の詳細な説明】
【背景技術】
【０００１】
本発明は、ネットワークにおける故障復旧技術に関する。
【技術分野】
【０００２】
ネットワークにおいて、予期しない故障の発生に対して迅速に転送経路を切り替えることで故障復旧を行い、転送品質の維持を行うことが重要である。IP（Internet Protocol）網における故障復旧方式として、OSPF(Open Shortest Path First)等のルーチングプロトコルを用いた動的な復旧方式がある（非特許文献１参照）。
【０００３】
OSPFでは、故障を検知したノードは全ノードに故障情報を通知（フラッディング）する。故障情報を受け取ったノードは、故障箇所を除いたトポロジデータベース情報をもとに迂回経路を計算することで、自動的に転送経路を切り替えることが可能となる。しかし、OSPFでは故障発生後に迂回経路を計算するため、故障の復旧に秒単位の時間を必要とする問題がある。また、故障情報の通知や迂回経路計算は網規模に依存して増加する。
【０００４】
このような問題点を解決する方法として、事前に迂回経路を計算しておくことで高速な故障復旧を実現するIP Fast Reroute(IP-FRR)方式が提案されている（非特許文献２参照）。IP-FRR方式は、事前に予備トポロジ情報を作成し、故障発生時には該当故障箇所をプロテクトする（迂回する）予備トポロジ情報に従った転送経路に切り替えることで故障復旧を行う。
【０００５】
予備トポロジ情報を用いた故障復旧方法の具体例を図１を用いて説明する。
【０００６】
まず、迂回経路情報作成装置は、リンク断絶に備えたコンフィグレーション（予備トポロジ情報）を予め用意しておく。例えば、迂回経路情報作成装置は、リンク１−２（ノード番号１のノードと、ノード番号２のノードとの間のリンク）が断絶した場合に備え、このリンク１−２をプロテクトリンクとする予備トポロジ情報を事前に作成する。なお、予備トポロジ情報におけるプロテクトリンクのリンクコストは、このプロテクトリンクが経路として選択されないようにするため、設定可能な最大値を付与する。これにより、予備トポロジ情報上でリンクコストの総和が最小となる最小コストルーティングにより経路を計算すると、プロテクトリンクを使用しない経路が算出される。この予備トポロジを示した情報（予備トポロジ情報）はすべてのノードに投入され、すべてのノードは予備トポロジ情報に従った経路が事前に（トラヒック転送前に）計算される。
【０００７】
ここで、ノード番号１のノードをsrc（発ノード）とし、ノード番号５のノードをdst（着ノード）とする経路上において、リンク１−２の故障を検出した場合を考える。例えば、図１の通常のトポロジ上で、（１）リンク１−２の故障を検出すると、故障検出ノード（ノード番号１のノード）は、故障リンクをプロテクトする予備トポロジＡに従ってパケットを転送する。このとき、故障検出ノードはリンク１−２が故障したことを知っているので、予備トポロジＡの予備トポロジ情報を使用すれば故障箇所を迂回できることを知っている。しかし、他のノードは故障箇所を把握できていない。そこで、故障検出ノードは、（２）使用する予備トポロジＡを選択し、この予備トポロジＡのＩＤをパケットのヘッダに付与しておく。そして、迂回路上に存在する他のノード（例えば、ノード番号４のノード）はパケットを受信すると、（３）このパケットのヘッダを参照し、使用すべき予備トポロジ情報を選択し、その選択した予備トポロジ情報に従ってパケットを転送する。
【０００８】
ここで、故障復旧に対する一般的な要求条件として、ネットワーク内の任意の単一故障に対応可能であることが挙げられる。この要求条件を満たすため、図１に示したように、１つのリンクを１つの予備トポロジ情報でプロテクトすると、予備トポロジ情報はリンクの数だけ必要となる。予備トポロジ情報数の増加はルーターのメモリ量増加を発生させる。そこで、複数のリンクを１つの予備トポロジ情報でプロテクトする方法が提案されている（非特許文献２参照）。
【０００９】
例えば、図２に示すように、以下の２つの条件を満たせば複数のプロテクトリンクを１つの予備トポロジ情報に配置することが可能である。（１）各予備トポロジ情報が、その予備トポロジ情報上でプロテクトリンクを除去しても全ノードの接続性が担保されている（接続グラフである）。（２）各予備トポロジ情報におけるプロテクトリンクの集合がもとのトポロジのリンク集合に一致する。（１）を条件としたのは、どのリンクが不通になったとしても全ノードの到達性を確保しなければならないからである。また、（２）を条件としたのは、ネットワーク内のすべての単一リンク故障に対応しなければならないからである。
【先行技術文献】
【非特許文献】
【００１０】
【非特許文献１】IETF RFC2328、“OSPF Version 2“ April 1998
【非特許文献２】A.Kvalbein, A.F.Hansen, T.Cicic, S.Gjessing, and O.Lysne, “Fast IP Network Recovery using Multiple Routing Configurations,” in Proceedings of INFOCOM, Apr.2006
【非特許文献３】A. Kvalbein, T. Cicic and S. Gjessing, “Post-Failure Routing Performance with Multiple Routing Configurations,” INFOCOM, May 2007
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかし、前記した技術により予備トポロジ情報群を作成すると、複数のリンクを１つの予備トポロジ情報でプロテクトするため、各予備トポロジ情報上では迂回路として使用可能なリンク数が減少する。このため、発着トラヒック量の大きいノードに接続するリンクは高負荷となり、輻輳が発生するおそれがある。ここで、非特許文献３に記載の技術では、予備トポロジ情報のリンクコストを最適化することで、間接的に迂回経路を最適化し、負荷を平滑化する方法が提案されている。しかし、図２に示すように高負荷ノードに接続するリンクが１つしかない予備トポロジ情報（予備トポロジＡ）が作成されてしまうと、経路の最適化自体が行えないため負荷の平滑化を行うことはできない。そこで、本発明は、前記した問題を解決し、用意すべき予備トポロジ情報数を低減しつつ、ネットワークの負荷が平滑化される予備トポロジ情報群を作成することを目的とする。
【課題を解決するための手段】
【００１２】
前記した課題を解決するため、請求項１に記載の発明は、ネットワークにおけるノード故障発生時またはリンク故障発生時に不通となるリンクを、プロテクトリンクとして示した予備トポロジ情報に基づき迂回経路情報を作成する迂回経路情報作成装置であって、ネットワークのトポロジおよび各リンクのリンクコストを示したトポロジ情報を記憶する記憶部と、ネットワーク内の各ノードから各ノード間のトラヒック流量である交流トラヒック情報を取得し、記憶部に記憶する交流トラヒック取得部と、トポロジ情報および交流トラヒック情報を参照して、ノードごとの発着トラヒック量を計算し、計算した発着トラヒック量が所定の閾値を超えるノードを高負荷ノードとして選択する高負荷ノード選択部と、トポロジ情報を参照して、１つの高負荷ノードに接続するプロテクトリンクが最大［（高負荷ノードそれぞれに接続するリンク数の最大値／Ｎ）＋１］個の予備トポロジ情報の初期情報をＮ個作成する初期情報作成処理を行う初期情報作成部と、作成したＮ個の初期情報または予備トポロジ情報すべてについてプロテクトリンクを除去したときノード間の接続が接続グラフとなるか否かを判断する接続性判定部と、接続性判定部により、作成したＮ個の初期情報すべてについてプロテクトリンクを除去したときノード間の接続が接続グラフとなると判断された場合、IP-FRR（IP Fast Reroute）に用いられる方法により、作成したＮ個の初期情報それぞれにおいて、既にプロテクトリンクとして選択されているリンク以外のリンクから、プロテクトリンクを選択する処理を、選択したプロテクトリンクの集合が、トポロジ情報に示されるリンクの集合と一致するまで実行することで、Ｎ個の予備トポロジ情報の作成処理を行うプロテクトリンク選択部と、作成した予備トポロジ情報ごとに、当該予備トポロジ情報に示されるプロテクトリンクを迂回する迂回経路を示した迂回経路情報を作成し、記憶部に記憶する経路計算部と、接続性判定部により、作成したＮ個の初期情報のいずれかにおいてプロテクトリンクを除去したときノード間の接続が接続グラフとならないと判断された場合、Ｎ個の初期情報における、プロテクトリンクの配置を変更して、Ｎ個の初期情報それぞれにおけるノード間の接続が接続グラフとなる初期情報を探索するプロテクトリンク配置変更部とを備え、プロテクトリンク選択部は、プロテクトリンク配置変更部により探索されたＮ個の初期情報それぞれに対し、予備トポロジ情報の作成処理を行い、プロテクトリンク配置変更部により、Ｎ個の初期情報それぞれにおけるノード間の接続が接続グラフとなる初期情報を発見できなかったとき、初期情報作成部は、Ｎの値を増加させ、再度、初期情報作成処理を行い、プロテクトリンク選択部は、当該初期情報作成処理により得られたＮ個の初期情報に対し、予備トポロジ情報作成処理を行うことを特徴とする迂回経路情報作成装置とした。
【００１３】
請求項４に記載の発明は、ネットワークにおけるノード故障発生時またはリンク故障発生時に不通となるリンクを、プロテクトリンクとして示した予備トポロジ情報に基づき迂回経路情報を作成する迂回経路情報作成装置が、ネットワーク内の各ノードから各ノード間のトラヒック流量である交流トラヒック情報を取得し、記憶部に記憶するステップと、ネットワークのトポロジおよび各リンクのリンクコストを示したトポロジ情報および交流トラヒック情報を参照して、ノードごとに、当該ノードの発着トラヒック量を計算し、計算した発着トラヒック量が所定の閾値を超えるノードを高負荷ノードとして選択するステップと、トポロジ情報を参照して、１つの高負荷ノードに接続するプロテクトリンクが最大［（高負荷ノードそれぞれに接続するリンク数の最大値／Ｎ）＋１］個の予備トポロジ情報の初期情報をＮ個作成する初期情報作成処理を行うステップと、作成したＮ個の初期情報すべてについてプロテクトリンクを除去したときノード間の接続が接続グラフとなるとき、IP-FRR（IP Fast Reroute）に用いられる方法により、作成したＮ個の初期情報それぞれにおいて、既にプロテクトリンクとして選択されているリンク以外のリンクから、プロテクトリンクを選択する処理を、選択したプロテクトリンクの集合が、トポロジ情報に示されるリンクの集合と一致するまで実行することで、Ｎ個の予備トポロジ情報の作成処理を行うステップと、作成した予備トポロジ情報ごとに、当該予備トポロジ情報に示されるプロテクトリンクを迂回する迂回経路を示した迂回経路情報を作成し、記憶部に記憶するステップと、作成したＮ個の初期情報のいずれかにおいてプロテクトリンクを除去したときノード間の接続が接続グラフとならない場合、Ｎ個の初期情報における、プロテクトリンクの配置を変更して、Ｎ個の初期情報それぞれにおけるノード間の接続が接続グラフとなる初期情報を探索するステップと、探索されたＮ個の初期情報それぞれに対し、予備トポロジ情報作成処理を行うステップと、Ｎ個の初期情報それぞれにおけるノード間の接続が接続グラフとなる初期情報を発見できなかったとき、Ｎの値を増加させ、再度、初期情報作成処理を行うステップと、当該初期情報作成処理により得られたＮ個の初期情報に対し、予備トポロジ情報作成処理を行うステップとを実行することを特徴とする迂回経路情報作成方法とした。
【００１４】
このようにすることで、迂回経路情報作成装置は、まず、交流トラヒック情報を用いてどのノードが高負荷ノードかを特定する。そして、トポロジ情報を参照してその高負荷ノードそれぞれに接続するリンク数を特定する。次に、その高負荷ノードに接続するリンク数の最大値を、予備トポロジ情報の数で割った値をもとに、予備トポロジ情報の初期情報１つあたり、高負荷ノードに接続するプロテクトリンクの数を決定する。例えば、高負荷ノードが３つあり、作成する予備トポロジ情報の数が「５」の場合、この高負荷ノードに接続するリンク数が、「４」、「４」、「５」ならば、最大値は「５」である。よって、この「５」を予備トポロジ情報の数「５」で割った値「１」を、１つの初期情報における高負荷ノード１つあたりのプロテクトリンクの最大値とする。そして、このプロテクトリンクを含む初期情報をベースとして、IP-FRRに用いられる方法により、プロテクトリンクの選択を行い、Ｎ個の予備トポロジ情報の作成処理を行う。つまり、迂回経路情報作成装置は、予備トポロジ情報のＮ個の初期情報を作成する際、高負荷ノードの発着経路（リンク）を予備トポロジ情報間で分散した予備トポロジ情報群を作成できる。よって、迂回経路情報作成装置は、このような予備トポロジ情報群に基づき、迂回経路情報を作成するので、ネットワーク内のリンク故障やノード故障が発生したときのネットワーク負荷を平滑化できる。
【００１５】
請求項２に記載の発明は、請求項１に記載の迂回経路情報作成装置における接続性判定部により、プロテクトリンク選択部が作成したＮ個の予備トポロジ情報のうち、いずれかの予備トポロジ情報が接続グラフにならないと判断された場合、初期情報作成部は、Ｎの値を増加させ、再度、初期情報作成処理を行い、プロテクトリンク選択部は、当該初期情報作成処理により得られたＮ個の初期情報に対し、予備トポロジ情報の作成処理を行うことを特徴とする。
【００１６】
このようにすることで、迂回経路情報作成装置は、プロテクトリンクを除去しても接続グラフとなる（つまり、ネットワークの任意のノード間の接続性が確保される）予備トポロジ情報を作成できる。また、迂回経路情報作成装置は、予備トポロジ情報の初期情報作成後、この初期情報のプロテクトリンクをどのように変更しても接続グラフとならない場合、Ｎの数を増加させて、再度、初期情報を作成するので、プロテクトリンクを除去しても接続グラフとなる初期情報を作成しやすくなる。また、最初はＮの初期値から開始し、ノード間の接続が接続グラフにならないときに、Ｎを増加させるので、迂回経路情報作成装置は、予備トポロジ情報の数をできるだけ少ないものにできる。
【００１７】
請求項３に記載の発明は、ネットワークにおけるノード故障発生時またはリンク故障発生時に不通となるリンクを、プロテクトリンクとして示した予備トポロジ情報に基づき迂回経路情報を作成する迂回経路情報作成装置であって、ネットワークのトポロジおよび各リンクのリンクコストを示したトポロジ情報を記憶する記憶部と、ネットワーク内の各ノードからネットワーク内の各ノード間のトラヒック流量である交流トラヒック情報を取得し、記憶部に記憶する交流トラヒック取得部と、トポロジ情報および交流トラヒック情報を参照して、ノードそれぞれの発着トラヒック量を計算し、計算したトラヒック量が所定の閾値を超えるノードを高負荷ノードとして選択する高負荷ノード選択部と、IP-FRRに用いられる方法により、当該予備トポロジ情報におけるプロテクトリンクを除去したときノード間の接続が接続グラフとなり、かつ、予備トポロジ情報それぞれにおけるプロテクトリンクの集合が、トポロジ情報に示されるリンクの集合と一致するＮ個の予備トポロジ情報を作成する予備トポロジ情報作成部と、作成したＮ個の予備トポロジ情報のうち、高負荷ノードに接続するプロテクトリンク数が最も多い予備トポロジ情報を選択し、この選択した予備トポロジ情報において高負荷ノードに接続するプロテクトリンクのうちいずれかを、通常のリンクに変更し、選択した予備トポロジ情報以外の予備トポロジ情報における当該リンクをプロテクトリンクに変更するプロテクトリンク交換処理を実行するプロテクトリンク交換部と、プロテクトリンク交換処理後、予備トポロジ情報のノード間の接続が接続グラフとなるか否かを判断し、ノード間の接続が接続グラフにならないと判断されたとき、プロテクトリンク交換部に対し、まだ選択していないプロテクトリンクおよび予備トポロジ情報について、再度、プロテクトリンク交換処理を実行するよう指示する接続性判定部と、プロテクトリンク交換処理後における、選択した予備トポロジ情報の高負荷ノードに接続するプロテクトリンク数と、他の予備トポロジ情報それぞれの当該高負荷ノードに接続するプロテクトリンク数の最大値とを比較し、選択した予備トポロジ情報の高負荷ノードに接続するプロテクトリンク数の方が予備トポロジ情報それぞれの当該高負荷ノードに接続するプロテクトリンク数の最大値よりも小さい値の場合、プロテクトリンク交換処理後の予備トポロジ情報群を記憶部に記憶するプロテクトリンク数比較部と、プロテクトリンク交換部が、すべてのプロテクトリンクおよび予備トポロジ情報の組み合わせについて、プロテクトリンク交換処理を実行しても、ノード間の接続が接続グラフにならないと接続性判定部により判断されたとき、プロテクトリンク交換部にプロテクトリンク交換処理を終了するよう指示する終了判定部と、記憶部の予備トポロジ情報ごとに、当該予備トポロジ情報に示されるプロテクトリンクを迂回する迂回経路を示した迂回経路情報を作成し、記憶部に記憶する経路計算部とを備えることを特徴とする迂回経路情報作成装置とした。
【００１８】
このようにすることでも、迂回経路情報作成装置は、高負荷ノードの発着経路（リンク）を予備トポロジ情報間で分散した予備トポロジ情報群を作成できる。よって、迂回経路情報作成装置は、このような予備トポロジ情報群に基づき、迂回経路情報を作成し、ネットワーク内のリンク故障やノード故障が発生したとき、この迂回経路情報に基づく経路制御を行うことでネットワーク負荷を平滑化できる。
【発明の効果】
【００１９】
本発明によれば、迂回経路情報作成装置は用意すべき予備トポロジ情報数を低減しつつ、ネットワークの負荷を平滑化するような予備トポロジ情報群を作成できる。
【図面の簡単な説明】
【００２０】
【図１】従来の予備トポロジ情報を用いた故障復旧方法の具体例を示した図である。
【図２】従来の予備トポロジ情報を用いた故障復旧方法の具体例を示した図である。
【図３】本実施の形態の迂回経路情報作成装置がノードにより実現される場合のネットワークの構成例を示した図である。
【図４】本実施の形態のノードの処理の概要を説明する図である。
【図５】本実施の形態のノードの構成を例示した図である。
【図６】図５のノードの処理手順を示した図である。
【図７】（ａ）は、トポロジ情報を例示した図であり、（ｂ）は、（ａ）のトポロジ情報における高負荷ノードに接続されるリンクのグルーピング例を示した図である。
【図８】本実施の形態における予備トポロジ情報の初期情報を例示した図である。
【図９】本実施の形態の予備トポロジ情報を例示した図である。
【図１０】（ａ）は、本実施の形態の予備トポロジ情報を例示した図であり、（ｂ）は、（ａ）の予備トポロジ情報におけるプロテクトリンクの交換を例示した図である。
【図１１】本実施の形態のノードの構成を例示した図である。
【図１２】図１１のノードの処理手順を示した図である。
【発明を実施するための形態】
【００２１】
以下、本発明の実施の形態を、第１の実施の形態および第２の実施の形態に分けて説明する。まず、図３を用いて、各実施の形態の迂回経路情報作成装置の処理の概要を説明する。なお、この迂回経路情報作成装置は、例えば、図３に示すようなネットワークの各ノード１００により実現されるものして説明するが、ネットワークの各ノードに経路制御信号を送信して、経路制御を行う経路制御管理装置により実現してもよい。
【００２２】
ノード１００は、ネットワークにおけるノード故障発生時またはリンク故障発生時に不通となるリンクを、プロテクトリンクとして示した予備トポロジ情報を作成する。そして、その予備トポロジ情報をもとに、故障発生時の迂回経路情報を作成する。そして、ノード１００は、故障発生時に迂回経路情報において使用する予備トポロジのＩＤをパケットのヘッダに付与したパケットを他のノード１００へ送信する。そして、迂回路上に存在する他のノード１００はパケットを受信すると、ヘッダを参照することで、使用すべき予備トポロジ情報に従ってパケットを転送する。
【００２３】
図４に示すように、比較例となるノードの作成する予備トポロジ情報は、高負荷ノードに接続するリンクのうち、１つのリンクを残しすべてのリンクがプロテクトリンクとなる可能性がある（図４（ａ）参照）。つまり、予備トポロジ情報上で迂回路として使用可能なリンクが１つになる可能性があるため、これに基づき迂回経路情報を作成すると負荷が集中するおそれがある。一方、本実施の形態のノード１００は、予備トポロジ情報上において高負荷ノードに接続するプロテクトリンクをできるだけ少なくするので、各ノードやリンクの負荷を平滑化することができる。つまり、ノード１００は、予備トポロジ情報を作成するとき、高負荷ノードの特定リンクにトラヒックが集中するのを避けるようなトポロジとするので、これに基づき迂回経路情報を作成すれば、ネットワークの負荷を平滑化できる（図４（ｂ）参照）。
【００２４】
＜第１の実施の形態＞
次に、図５を用いて、第１の実施の形態のノード１００の構成を説明する。このノード１００は、例えば、ルータやレイヤ２スイッチにより実現される。図５に示すように、ノード１００の機能は、大きく入出力部１１と、処理部１２と、記憶部１３とに分けられる。
【００２５】
入出力部１１は、他のノード１００との間でトポロジ情報１３１（後記）や経路情報１３４のもととなるデータや、他のノード１００との間のパケットの入出力を司る。処理部１２は、予備トポロジ情報や、作成した予備トポロジ情報に基づく経路制御等を行う。記憶部１３は、予備トポロジ情報の作成ために必要なトポロジ情報１３１等を記憶する。入出力部１１は、ネットワーク経由でパケットの送受信を行うための通信インタフェースや、入出力インタフェースから構成される。また、記憶部１３は、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ＨＤＤ（Hard Disk Drive）、フラッシュメモリ等の記憶媒体から構成される。処理部１２は、このノード１００が備えるＣＰＵ（Central Processing Unit）によるプログラム実行処理や、専用回路等により実現される。なお、ノード１００をプログラム実行処理により実現する場合、記憶部１３には、ノード１００の機能を実現するためのプログラムが格納される。
【００２６】
まず、記憶部１３を説明する。記憶部１３は、トポロジ情報１３１と、経路情報１３４とを記憶する。また、記憶部１３は、処理部１２により作成された予備トポロジ情報群１３２と、交流トラヒック情報１３３と、迂回経路情報１３５と、予備トポロジ情報管理情報１３６とを記憶する領域を備える。
【００２７】
トポロジ情報１３１は、ネットワーク内の各ノード１００の識別情報や、そのそれぞれのノードがどのリンクにより接続されているか、各リンクのリンクコスト等を示した情報である。このトポロジ情報１３１は、例えば、図１の「通常のトポロジ」に示すような情報であり（図１においてリンクコストは省略）、各ノード１００がOSPF等のルーチングプロトコルにより取得する。このトポロジ情報１３１は、予備トポロジ情報や迂回経路情報１３５を作成するときに参照される。なお、このトポロジ情報１３１は、各ノード１００間で同じ情報が用いられるものとする。
【００２８】
予備トポロジ情報群１３２は、ネットワーク内の全単一故障に対応する予備トポロジ情報の集合である。この予備トポロジ情報は、ネットワークにおけるノード故障発生時またはリンク故障発生時に不通となるリンクを、プロテクトリンクとして示した情報である。この予備トポロジ情報群１３２は、予備トポロジ情報処理部１２１により作成され、迂回経路情報１３５の作成に用いられる。
【００２９】
交流トラヒック情報１３３は、ネットワーク内の各ノード１００間を流れるトラヒック量を示した情報である。この交流トラヒック情報１３３には、発ノード（src）となるノード１００の識別情報と、着ノード（dst）となるノード１００の識別情報との組み合わせごとに、そのノード１００間を流れるトラヒック量を示した情報である。この交流トラヒック情報１３３は、交流トラヒック取得部１２７により取得される。この交流トラヒック情報１３３は、予備トポロジ情報処理部１２１が高負荷ノードを選択する際に参照される。
【００３０】
経路情報１３４は、パケットの宛先アドレスごとに、このパケットを出力するためのインタフェースを示した情報である。
【００３１】
迂回経路情報１３５は、ノード１００やリンクの故障パターンごとに、その故障パターンの故障が発生した場合における、パケットの宛先アドレスごとの、当該パケットを出力するためのインタフェースを示した情報である。
【００３２】
予備トポロジ情報管理情報１３６は、予備トポロジ情報処理部１２１が作成した予備トポロジ情報や予備トポロジ情報の初期情報において、プロテクトリンクとして選択したリンク等を記録した情報である。予備トポロジ情報処理部１２１は、この予備トポロジ情報管理情報１３６を参照することで、与えられたトポロジに対し、次にどのリンクをプロテクトリンクとして選択すればよいかや、すべてのリンク故障をカバーするような予備トポロジ情報群１３２を作成できたか否かを判断することができる。
【００３３】
次に、処理部１２を説明する。処理部１２は、予備トポロジ情報群１３２を作成する。そして、予備トポロジ情報群１３２に基づき迂回経路情報１３５を作成し、故障発生時には、この迂回経路情報１３５に基づく経路制御を行う。このような処理部１２は、予備トポロジ情報群１３２を作成する予備トポロジ情報処理部１２１と、ネットワーク内の他のノード１００から交流トラヒック情報１３２のもととなる情報を取得する交流トラヒック取得部１２７と、経路情報１３４や迂回経路情報１３５を参照して、他のノード１００から送信されたパケットの経路制御を行う経路制御部１２８とを備える。
【００３４】
予備トポロジ情報処理部１２１は、高負荷ノード選択部１２２と、初期情報作成部１２３と、接続性判定部１２１３と、プロテクトリンク選択部１２４と、プロテクトリンク配置変更部１２５と、予備トポロジ情報出力処理部１２６とを備える。
【００３５】
高負荷ノード選択部１２２は、トポロジ情報１３１および交流トラヒック情報１３３を参照して、ネットワーク内のノード１００それぞれの発着トラヒック量を計算する。そして、計算した発着トラヒック量が所定の閾値を超えるノード１００を高負荷ノードとして選択する。なお、この高負荷ノードの選択は、発着トラヒック量が所定の閾値を超えるノード１００について、発着トラヒック量が多いものから順に上位所定数のノード１００を選択するようにしてもよい。
【００３６】
初期情報作成部１２３は、トポロジ情報１３１を参照して、高負荷ノード選択部１２２により選択された各高負荷ノードに接続するプロテクトリンクを最大Ｍ個含む予備トポロジ情報の初期情報をＮ個作成する。なお、Ｍは、以下の式（１）を満たす数である。
Ｍ＝［（Ｄ／Ｎ）＋１］…式（１）
ここで、Ｄは、高負荷ノードそれぞれに接続するリンク数の最大値であり、［  ］は、［  ］内の値よりも小さい最大の整数を示す。Ｎはネットワークの規模により初期値が決められるものとする。なお、後記するプロテクトリンク配置変更部１２５により、作成したＮ個の初期情報それぞれにおけるノード間の接続が接続グラフとなる初期情報を発見できなかったとき、初期情報作成部１２３は、Ｎの値を増加させ、再度、初期情報作成処理を行う。
【００３７】
例えば、図７の（ａ）に示すトポロジにおいて、Ｎ（予備トポロジ情報数）＝５、高負荷ノード＝ノード番号「０，６，９」であるとき、この高負荷ノードに接続するリンク群は、図７の（ｂ）に示すように３つのグループにグルーピングされる。すなわち、Group１（実線）、Group２（二点鎖線）、Group３（破線）のようにグルーピングされる。ここで、高負荷ノードそれぞれに接続するリンク数の最大値は「５」であるので、Ｍ＝［（５／５）＋１］＝１となる。よって、プロテクトリンクとして、各グループのリンクを最大１個ずつ含む、図８の＃１〜＃５に示すような初期情報を作成する（図８においては＃１〜＃５について最大１個）。これにより、初期情報作成部１２３は、各予備トポロジ情報の初期情報間で、高負荷ノードに接続するプロテクトリンクができるだけ分散された予備トポロジ情報の初期情報群を作成することができる。この初期情報においてプロテクトリンクとしたリンクの情報は、予備トポロジ情報管理情報１３６に記録しておく。
【００３８】
図５の接続性判定部１２１３は、初期情報作成部１２３が作成したＮ個の初期情報や、プロテクトリンク選択部１２４、プロテクトリンク配置変更部１２５が作成した予備トポロジ情報について、プロテクトリンクを除去してもノード間の接続が接続グラフとなるか否かを判断する。つまり、予備トポロジ情報や、初期情報において、プロテクトリンクを除去しても全ノード間の接続性が確保されているか否かを判断する。
【００３９】
プロテクトリンク選択部１２４は、接続性判定部１２１３により、このＮ個の初期情報におけるプロテクトリンクを除去してもノード間の接続が接続グラフとなると判断されたとき、このＮ個の初期情報をベースとして、IP-FRRに用いられる方法（非特許文献２参照）により、Ｎ個の予備トポロジ情報を作成する。つまり、プロテクトリンク選択部１２４は、予備トポロジ情報管理情報１３６を参照して、Ｎ個の初期情報それぞれにおいて、既にプロテクトリンクとして選択されているリンク以外のリンクから、プロテクトリンクを選択する。この選択は、選択したプロテクトリンクの集合が、トポロジ情報１３１に示されるリンクの集合と一致するまで実行する。例えば、プロテクトリンク選択部１２４は、図８の＃１〜＃５に示す初期情報をもとに、プロテクトリンクの集合が、もとのトポロジのリンク集合と同じになるまで、プロテクトリンクを選択して、図９の＃１〜＃５に示すような予備トポロジ情報群を作成する。ここでの処理手順の詳細は、図９を用いて後記する。
【００４０】
図５のプロテクトリンク配置変更部１２５は、接続性判定部１２１３により、初期情報作成部１２３が作成したＮ個の初期情報のいずれかにおいて、プロテクトリンクを除去したときノード間の接続が接続グラフとならないと判断された場合（つまり、接続性が確保できないノード１００が１つでもあった場合）、このＮ個の初期情報における、プロテクトリンクの配置を変更して、このＮ個の初期情報それぞれにおけるノード間の接続が接続グラフとなる初期情報群を探索する。例えば、図８の＃１〜＃５に示す初期情報のいずれかにおいて、プロテクトリンクを除去したときノード間の接続グラフにならない場合、プロテクトリンク配置変更部１２５は、＃１の初期情報における「６−１」のプロテクトリンクを、「６−２」に変更し、また、プロテクトリンクの「９−３」を、「９−４」に変更する。また、＃２の初期情報における「６−２」のプロテクトリンクを、「６−４」に変更し、また、「９−４」のプロテクトリンクを「９−８」に変更する。このような処理を＃３〜＃５についても実行する。つまり、プロテクトリンク配置変更部１２５は、各初期情報間でプロテクトリンクの組み合わせを変更し、プロテクトリンクを除去してもノード間の接続が接続グラフになるような初期情報群を探索する。ここで、プロテクトリンク配置変更部１２５は、プロテクトリンクを除去してもノード間の接続が接続グラフになるような初期情報群を発見すると、その初期情報群におけるプロテクトリンクの配置を予備トポロジ情報管理情報１３６に記録する。そして、プロテクトリンク選択部１２４は、このノード間の接続が接続グラフになるような初期情報群をもとにＮ個の予備トポロジ情報の作成処理を行う。
【００４１】
なお、プロテクトリンク配置変更部１２５により、Ｎ個の初期情報それぞれにおけるノード間の接続が接続グラフとなる初期情報群を発見できなかったとき、初期情報作成部１２３は、Ｎの値を増加させ、再度、初期情報作成処理を行う。そして、プロテクトリンク選択部１２４は、この初期情報作成処理により得られたＮ個の初期情報に対し、予備トポロジ情報作成処理を行う。例えば、図９に示す＃１〜＃５の予備トポロジ情報において接続グラフとならない予備トポロジ情報が１つでもあった場合、Ｎの数を５個から１個増やし、６個の初期情報を作成し、この６個の初期情報をもとに６個の予備トポロジ情報を作成する。
【００４２】
予備トポロジ情報出力処理部１２６は、予備トポロジ情報処理部１２１により、（１）ノード間の接続が接続グラフであり、かつ、（２）各予備トポロジ情報におけるプロテクトリンクの集合が、トポロジ情報１３１におけるリンクの集合と一致する予備トポロジ情報群が作成されると、この予備トポロジ情報群を予備トポロジ情報群１３２として記憶部１３に記憶する。
【００４３】
交流トラヒック取得部１２７は、入出力部１１経由でネットワーク内の各ノード１００から各ノード１００間を流れるトラヒック量を示した情報を取得する。
【００４４】
経路制御部１２８は、経路計算部１２９と、パケット転送部１３０とを備える。経路計算部１２９は、トポロジ情報１３１や予備トポロジ情報群１３２に基づき、転送経路（迂回経路）の計算を行い、経路情報１３４や、迂回経路情報１３５を作成する。
【００４５】
パケット転送部１３０は、受信したパケットの宛先アドレスをもとに、経路情報１３４または迂回経路情報１３５を参照して、このパケットの出力インタフェースを選択し、この選択した出力インタフェースからパケットを出力する。ここで、故障発生時にはパケット転送部１３０は迂回経路情報１３５を参照してパケットの出力インタフェースを選択するが、どの迂回経路情報１３５を用いればよいかは、このノード１００に入力される故障情報に基づき判断される。
【００４６】
＜処理手順＞
次に、図５を参照しつつ、図６を用いて、ノード１００の処理手順を説明する。まず、ノード１００の交流トラヒック取得部１２７は、ネットワークのノード１００から交流トラヒック情報（交流トラヒック情報１３３のもととなる情報）を取得し（Ｓ１）、この情報を交流トラヒック情報１３３として記憶部１３に記憶する。そして、高負荷ノード選択部１２２は、トポロジ情報１３１および交流トラヒック情報１３３を参照して、ノード１００ごとに、発着トラヒック量を計算し、この計算した発着トラヒック量が所定の閾値を超えるノード１００を高負荷ノードとして選択する（Ｓ２）。
【００４７】
次に、初期情報作成部１２３は、トポロジ情報１３１を参照して、１つの高負荷ノードにつき、最大［（Ｄ／Ｎ）＋１］個のリンクをプロテクトリンクとして含む予備トポロジ情報の初期情報をＮ個作成する（Ｓ３）。この初期情報においてプロテクトリンクとしたリンクの情報は、予備トポロジ情報管理情報１３６に記録しておく。次に、接続性判定部１２１３は、作成したＮ個の初期情報すべてについて、プロテクトリンクを除去したときノード間の接続が接続グラフとなるか否かを判断する（Ｓ４）。ここで、初期情報すべてについてノード間の接続が接続グラフとなっていれば（Ｓ４のＹｅｓ）、プロテクトリンク選択部１２４は、Ｓ３で作成したＮ個の初期情報をベースとして、IP-FRRに用いられる方法（非特許文献２参照）により、予備トポロジ情報を作成する。つまり、プロテクトリンク選択部１２４は、Ｓ３で作成したＮ個の初期情報それぞれにおいて、IP-FRRに用いられる方法（非特許文献２参照）により、既にプロテクトリンクとして選択されているリンク以外のリンクから、プロテクトリンクを選択することで（Ｓ８）、予備トポロジ情報を作成する。選択したプロテクトリンクの情報は、予備トポロジ情報管理情報１３６に記録する。そして、プロテクトリンク選択部１２４は、選択したプロテクトリンクの集合が、トポロジ情報１３１に示されるリンクの集合と一致すれば（Ｓ９のＹｅｓ）、プロテクトリンクの選択を終了する。一方、選択したプロテクトリンクの集合が、トポロジ情報１３１に示されるリンクの集合と一致しなければ、Ｓ８へ戻る。そして、Ｓ９でＹｅｓのとき、予備トポロジ情報それぞれにおけるプロテクトリンクを除去したノード間の接続が接続グラフとなっているか否かを判断する（Ｓ１０）。ここで、接続性判定部１２１３により、接続グラフになっていると判断されたとき（Ｓ１０のＹｅｓ）、予備トポロジ情報出力処理部１２６は、作成した予備トポロジ情報（予備トポロジ情報群）を記憶部１３に出力する（Ｓ１１）。つまり、作成した予備トポロジ情報を予備トポロジ情報群１３２として、記憶部１３に記憶する。そして、経路計算部１２９は、この予備トポロジ情報群１３２に基づき、迂回経路情報１３５を作成し（Ｓ１２）、記憶部１３に記憶する。この後、ノード１００は、ネットワーク内のノード故障やリンク故障を検出すると、経路制御部１２８はこの故障箇所の迂回経路を迂回経路情報１３５から読み出し、パケット転送部１３０はこの読み出した迂回経路に基づくパケット転送を行う。
【００４８】
一方、Ｓ４において、接続性判定部１２１３により、初期情報作成部１２３が作成したＮ個の初期情報のいずれかにおいて、プロテクトリンクを除去したときにノード間の接続が接続グラフになっていないと判断された場合（Ｓ４のＮｏ）、プロテクトリンク配置変更部１２５は、Ｎ個の初期情報における、プロテクトリンクの配置を変更して、このＮ個の初期情報それぞれにおいて、プロテクトリンクを除去したノード間の接続が接続グラフとなる初期情報（初期情報群）を探索する（Ｓ５）。ここで、接続グラフとなる初期情報（初期情報群）を発見できた場合（Ｓ６のＹｅｓ）、プロテクトリンク配置変更部１２５は、その初期情報群におけるプロテクトリンクの情報を予備トポロジ情報管理情報１３６に記録し、Ｓ８へ進む。一方、プロテクトリンク配置変更部１２５が、Ｎ個の初期情報におけるプロテクトリンクの配置をどのように変更しても、Ｎ個の初期情報すべてが接続グラフとなる初期情報群を発見できなかったとき（Ｓ６のＮｏ）、初期情報作成部１２３は、Ｎの値を増加させて（Ｓ７）、Ｓ３へ進む。例えば、プロテクトリンク配置変更部１２５が、４個の初期情報についてあらゆるプロテクトリンクの配置変更を試みたが接続グラフとなる配置を発見できなかった場合、Ｎを１つ増加させ、初期情報作成部１２３は５個の初期情報を作成する。そして、Ｓ４以降の処理を実行する。
【００４９】
また、Ｓ１０において、接続性判定部１２１３が、Ｓ８で作成されたＮ個の予備トポロジ情報のいずれかにおいて、プロテクトリンクを除去したときにノード間の接続が接続グラフになっていないと判断した場合も（Ｓ１０のＮｏ）、初期情報作成部１２３は、Ｎの値を増加させて（Ｓ７）、Ｓ３へ進む。
【００５０】
このようにすることで、ネットワーク内の各ノード１００は、故障発生時に高負荷ノードの特定リンクへのトラヒックが集中しにくい迂回経路をとることができる。
【００５１】
次に、図５を参照しつつ、図７〜図９を用いて、本実施の形態における予備トポロジ情報の作成手順の具体例を説明する。ここでは、トポロジ情報１３１として、図７（ａ）に示すトポロジが与えられ、高負荷ノード選択部１２２により選択された高負荷ノードがノード番号「０，６，９」のノード１００であり、Ｎ＝５である場合を例に説明する。
【００５２】
まず、ノード１００の初期情報作成部１２３は、トポロジ情報１３１を参照して、高負荷ノードに接続するリンク群を、接続先の高負荷ノードごとに、グルーピングする。例えば、図７（ｂ）に示すようにGroup1（ノード番号「０」に接続するリンク群）、Group2（ノード番号「６」に接続するリンク群）およびGroup3（ノード番号「９」に接続するリンク群）に分ける。次に、初期情報作成部１２３は、前記した式（１）に基づき、各高負荷ノードに接続するリンクを最大Ｍ個ずつ含む予備トポロジ情報の初期情報をＮ個作成する。ここでは、Ｎ＝５であり、Ｄ＝５なので、Ｍ＝１である。よって、各高負荷ノードが最大２個のプロテクトリンクを含む初期情報を作成する（図８の＃１〜＃５参照）。ここで、各初期情報におけるプロテクトリンクをどのように選択するかは様々な方法があるが、例えば、トポロジを構成するノード１００それぞれに、図８に示すようなユニークなノード番号を割り振る。そして、高負荷ノードに接続するリンクのうち、最も小さいノード番号のノード１００に接続するリンクから順に選択する。
【００５３】
例えば、図８の＃１の場合、初期情報作成部１２３は、ノード番号「０」の高負荷ノードに接続するリンクのうち、最も小さいノード番号へのリンク（リンク０−１）をプロテクトリンクとして選択する。また、同様に、ノード番号「６」の高負荷ノードに接続するプロテクトリンクとして、リンク６−１を選択し、ノード番号「９」の高負荷ノードに接続するプロテクトリンクとして、リンク９−３を選択する。同様にして、＃２において、ノード番号「０」の高負荷ノードに接続するリンクのうち、２番目も小さいノード番号へのリンク（リンク０−２）をプロテクトリンクとして選択する。また、同様に、ノード番号「６」の高負荷ノードに接続するプロテクトリンクとして、リンク６−２を選択し、ノード番号「９」の高負荷ノードに接続するプロテクトリンクとして、リンク９−４を選択する。初期情報作成部１２３は、このような処理を＃３〜＃５についても実行し、図８の＃１〜＃５に示すような初期情報を作成する。なお、ここでは、Ｎ＝５の場合を説明したが、Ｎ＝４の場合、＃５におけるプロテクトリンク（リンク６−１０）は、＃１に配置される。
【００５４】
このようにして作成された初期情報（例えば、図８の＃１〜＃５）において、プロテクトリンクを除去した場合のノード間の接続は接続グラフになっているので、プロテクトリンク選択部１２４は、この＃１〜＃５の初期情報をベースとして、非特許文献２に記載の技術に基づき、図９の＃１〜＃５に示す予備トポロジ情報を作成する。例えば、プロテクトリンク選択部１２４は、ノード番号順に、そのノード１００に接続するリンクの中からプロテクトリンクとして未選択のリンクを選択していく。具体的には以下のようにして作成する。
【００５５】
まず、プロテクトリンク選択部１２４は、図８の＃１において、最も若いノード番号（ノード番号「０」）のノード１００に着目し、このノード番号「０」のノード１００に接続するリンクのうちプロテクトリンクとして選択していないリンクを探す。しかし、ノード番号「０」のノード１００に接続するリンクは、＃２〜＃５において既にプロテクトリンクとして選択済みなので、選択しない。これでノード番号（ノード番号「０」）のノード１００に関する処理が終了したので、＃２の処理に移る。
【００５６】
＃２では、次のノード番号（ノード番号「１」）のノード１００に着目し、このノード１００に接続するリンクから、＃１，＃３〜＃５において未選択のリンク１−２，１−７をプロテクトリンクとして選択する。次に、＃３の処理に移る。
【００５７】
＃３では、次のノード番号（ノード番号「２」）のノード１００に着目し、＃１，＃２，＃４，＃５において未選択のリンク２−３，２−５をプロテクトリンクとして選択する。次に、＃４の処理に移る。
【００５８】
＃４では、次のノード番号（ノード番号「３」）のノード１００に着目し、＃１〜＃３，＃５において未選択のリンク３−４，３−５をプロテクトリンクとして選択する。次に、＃５の処理に移る。
【００５９】
＃５では、次のノード番号（ノード番号「４」）のノード１００に着目し、＃１〜＃４において未選択のリンク４−８をプロテクトリンクとして選択する。次に、＃１の処理に戻る。
【００６０】
＃１では、次のノード番号（ノード番号「５」）のノード１００に着目し、＃２〜＃５で未選択のリンク５−７，５−８をプロテクトリンクとして選択する。次に、＃２の処理に移る。
【００６１】
＃２では、次のノード番号（ノード番号「６」）のノード１００に着目するが、＃１，＃３〜＃５において、このノード１００に接続するリンクはすべて、プロテクトリンクとして選択済みなので、＃３の処理に移る。
【００６２】
＃３では、次のノード番号（ノード番号「７」）のノード１００に着目し、＃１，＃２，＃４，＃５において未選択のリンク７−８，７−１０をプロテクトリンクとして選択する。次に、＃４の処理に移る。
【００６３】
＃４では、次のノード番号（ノード番号「８」）のノード１００に着目し、＃１〜＃３，＃５において未選択のリンク８−１０をプロテクトリンクとして選択する。次に、＃５の処理に移る。
【００６４】
＃５では、次のノード番号（ノード番号「９」）のノード１００に着目するが、＃１〜＃４においてこのノードに接続するリンクはすべて、プロテクトリンクとして選択済みなので、＃１の処理に戻る。
【００６５】
＃１では、次のノード番号（ノード番号「１０」）のノード１００に着目するが、＃２〜＃５においてこのノードに接続するリンクはすべて、プロテクトリンクとして選択済みである。これで、ノード番号「１〜１０」のノード１００の処理が終了したので、プロテクトリンク選択処理を終了する。
【００６６】
このようにして作成された予備トポロジ情報群は、トポロジ情報１３１に示されるすべてのリンクを網羅し、また、プロテクトリンクを除いた場合のノード間の接続も接続グラフとなっている。よって、予備トポロジ情報出力処理部１２６は、この予備トポロジ情報群を、予備トポロジ情報群１３２として記憶部１３に記憶する。
【００６７】
以上説明した手順により作成された予備トポロジ情報群１３２は、予備トポロジ情報間でプロテクトリンクが分散配置されたものとなる。よって、ノード１００は、この予備トポロジ情報群１３２に基づき迂回経路情報１３５を作成しておくことで、ネットワーク内のノード故障やリンク故障が発生したときでも、特定のノードやリンクに負荷が集中しないような迂回経路をとることができる。
【００６８】
＜第２の実施の形態＞
次に、第２の実施の形態を説明する。第２の実施の形態のノード１００Ａは、非特許文献２に記載の技術により、Ｎ個の予備トポロジ情報を作成した後、高負荷ノードにプロテクトリンクが集中している予備トポロジ情報を発見すると、この予備トポロジ情報におけるプロテクトリンクを別の予備トポロジ情報のプロテクトリンクとして変更する。
【００６９】
例えば、ノード１００Ａが図１０（ａ）に示す３つの予備トポロジ情報（ｘ、ｙ１、ｙ２）を作成し、高負荷ノードがノード番号「７」のノード１００Ａである場合、予備トポロジ情報ｘにおいてノード番号「７」のノード１００Ａに接続する４本のリンクのうち、使用可能なリンクは１本のみなので負荷が集中するおそれがある。そこで、ノード１００Ａは、図１０（ｂ）に示すように、予備トポロジ情報ｘの高負荷ノードに接続するリンク６−７をプロテクトリンクから通常のリンクに変更し、かわりに予備トポロジ情報ｙ２におけるリンク６−７をプロテクトリンクに変更する。また、ノード１００Ａは、予備トポロジ情報ｘの高負荷ノード１００Ａに接続するリンク４−７をプロテクトリンクから通常のリンクに変更し、かわりに予備トポロジ情報ｙ１におけるリンク４−７をプロテクトリンクに変更する。このようにすることで、ノード１００Ａは、予備トポロジ情報間でプロテクトリンクが分散配置された予備トポロジ情報群１３２を作成することができる。よって、ノード１００Ａは、この予備トポロジ情報群１３２に基づき迂回経路情報１３５を作成しておくことで、ネットワーク内のノード故障やリンク故障が発生したときでも、特定のノードやリンクに負荷が集中しないような迂回経路をとることができる。
【００７０】
次に、図１１を用いて、このようなノード１００Ａの構成を説明する。前記した実施の形態と同様の構成要素は、同じ符号を付して説明を省略する。図１１に示すように、ノード１００Ａの処理部１２は、予備トポロジ情報処理部１２１Ａを備える。この予備トポロジ情報処理部１２１Ａは、高負荷ノード選択部１２２と、予備トポロジ情報作成部１２１１と、プロテクトリンク交換部１２１２と、接続性判定部１２１３Ａと、プロテクトリンク数比較部１２１４と、終了判定部１２１５と、予備トポロジ情報出力処理部１２６とを備える。
【００７１】
予備トポロジ情報作成部１２１１は、非特許文献２に記載の技術により、（１）予備トポロジ情報におけるプロテクトリンクを除去したときノード間の接続が接続グラフとなり、かつ、（２）予備トポロジ情報それぞれにおけるプロテクトリンクの集合が、トポロジ情報１３１に示されるリンクの集合と一致するＮ個の予備トポロジ情報を作成する。
【００７２】
プロテクトリンク交換部１２１２は、予備トポロジ情報作成部１２１１が作成したＮ個の予備トポロジ情報のうち、高負荷ノードに接続するプロテクトリンク数が最も多い予備トポロジ情報を選択する。そして、この選択した予備トポロジ情報において高負荷ノードに接続するプロテクトリンクのうちいずれかを、通常のリンクに変更し、当該通常のリンクに変更したリンクについて、選択した予備トポロジ情報以外の予備トポロジ情報においてプロテクトリンクに変更する。つまり、プロテクトリンク交換処理を行う。
【００７３】
接続性判定部１２１３Ａは、プロテクトリンク交換処理後、予備トポロジ情報のノード間の接続が接続グラフとなるか否かを判断する。そして、接続性判定部１２１３Ａは、ノード間の接続が接続グラフにならないとき、プロテクトリンク交換部１２１２に対し、まだ選択していないプロテクトリンクおよび予備トポロジ情報の組み合わせで、再度、プロテクトリンク交換処理を実行するよう指示する。
【００７４】
プロテクトリンク数比較部１２１４は、プロテクトリンク交換処理後における、選択した予備トポロジ情報の高負荷ノードに接続するプロテクトリンク数と、他の予備トポロジ情報それぞれの当該高負荷ノードに接続するプロテクトリンク数の最大値とを比較する。そして、予備トポロジ情報それぞれの当該高負荷ノードに接続するプロテクトリンク数の最大値よりも、選択した予備トポロジ情報の高負荷ノードに接続するプロテクトリンク数の方が小さいとき、予備トポロジ情報出力処理部１２６に、プロテクトリンク交換処理後の予備トポロジ情報群を、予備トポロジ情報群１３２として記憶部１３に出力するよう指示する。
【００７５】
終了判定部１２１５は、プロテクトリンク交換部１２１２が、すべてのプロテクトリンクおよび予備トポロジ情報の組み合わせについて、プロテクトリンク交換処理を実行しても、ノード間の接続が接続グラフにならないと接続性判定部１２１３Ａにより判断されたとき、プロテクトリンク交換処理を終了するようプロテクトリンク交換部１２１２に指示する。
【００７６】
＜処理手順＞
次に、図１１を参照しつつ、図１２を用いて、ノード１００Ａの処理手順を説明する。Ｓ２１，Ｓ２２は、図６のＳ１，Ｓ２と同様の処理なので説明を省略し、Ｓ２３から説明する。
【００７７】
ノード１００Ａの予備トポロジ情報作成部１２１１は、非特許文献２に記載の技術に基づきＮ個の予備トポロジ情報を作成する（Ｓ２３）。ここで作成する予備トポロジ情報は、当該予備トポロジ情報におけるプロテクトリンクを除去したときノード間の接続が接続グラフとなり、かつ、予備トポロジ情報それぞれにおけるプロテクトリンクの集合が、トポロジ情報に示されるリンクの集合と一致するものである。予備トポロジ情報作成部１２１１は、例えば、図１０の（ａ）に示す３個の予備トポロジ情報を作成する。
【００７８】
次に、プロテクトリンク交換部１２１２は、Ｓ２３で作成したＮ個の予備トポロジ情報のうち、高負荷ノードに接続するプロテクトリンク数が最も多い予備トポロジ情報を選択する（Ｓ２４）。例えば、プロテクトリンク交換部１２１２は、図１０（ａ）に示す予備トポロジ情報群から、予備トポロジ情報ｘを選択する。
【００７９】
そして、プロテクトリンク交換部１２１２は、この選択した予備トポロジ情報において高負荷ノードに接続するプロテクトリンクを、他の予備トポロジ情報におけるリンクと交換する（Ｓ２５）。つまり、プロテクトリンク交換部１２１２は、プロテクトリンク交換処理を実行する。例えば、プロテクトリンク交換部１２１２は、図１０（ｂ）に示すように、予備トポロジ情報ｘの高負荷ノードに接続するプロテクトリンク（リンク６−７）を、通常のリンクに変更する。また、予備トポロジ情報ｙ２におけるリンク６−７を、通常リンクから、プロテクトリンクに変更する。このようなプロテクトリンク交換処理の結果は、プロテクトリンク交換部１２１２が、予備トポロジ情報管理情報１３６に記録する。なお、ここでは高負荷ノードが１つである場合を例に説明したが、高負荷ノードが複数あれば、そのすべての高負荷ノードに接続するプロテクトリンクについてプロテクトリンク交換処理を行う。
【００８０】
そして、接続性判定部１２１３Ａは、すべての予備トポロジ情報におけるノード間の接続がプロテクトリンクを除去しても接続グラフとなるか否かを判断する（Ｓ２６）。ここで、すべての予備トポロジ情報におけるノード間の接続がプロテクトリンクを除去しても接続グラフであれば（Ｓ２６のＹｅｓ）、Ｓ２９の処理を実行する。すなわち、プロテクトリンク数比較部１２１４は、Ｓ２４で選択した予備トポロジ情報以外の予備トポロジ情報それぞれにおける当該高負荷ノードに接続するプロテクトリンク数の最大値よりも、Ｓ２４で選択した予備トポロジ情報の高負荷ノードに接続するプロテクトリンク数の方が少ないか否かを判断する（Ｓ２９）。つまり、プロテクトリンク数比較部１２１４は、プロテクトリンク交換処理の結果、予備トポロジ情報間で高負荷ノードに接続す
るプロテクトリンク数が分散されたか否かを判断する。ここで、Ｓ２４で選択した予備トポロジ情報以外の予備トポロジ情報それぞれにおける当該高負荷ノードに接続するプロテクトリンク数の最大値よりも、選択した予備トポロジ情報の高負荷ノードに接続するプロテクトリンク数の方が少なければ（Ｓ２９のＹｅｓ）、ノード１００Ａは、Ｓ３０の予備トポロジ情報出力処理およびＳ３１の迂回経路情報作成処理を実行する。Ｓ３０およびＳ３１は、図６のＳ１１およびＳ１２と同様なので説明を省略する。
【００８１】
例えば、プロテクトリンク交換処理後、予備トポロジ情報ｘ，ｙ１，ｙ２のプロテクトリンクの配置が、図１０（ｂ）に示すような配置になった場合、予備トポロジ情報ｘにおける高負荷ノード（ノード番号「７」のノード１００Ａ）に接続するプロテクトリンク数は「１」である。また、予備トポロジ情報ｙ１における高負荷ノード（ノード番号「７」のノード１００Ａ）に接続するプロテクトリンク数は「１」であり、予備トポロジ情報ｙ２における高負荷ノード（ノード番号「７」のノード１００Ａ）に接続するプロテクトリンク数は「２」である。よって、予備トポロジ情報ｙ１，ｙ２における当該高負荷ノードに接続するプロテクトリンク数の最大値（「２」）よりも、選択した予備トポロジ情報ｘの高負荷ノードに接続するプロテクトリンク数（「１」）の方が少ないので、Ｓ３０へ進む。
【００８２】
一方、Ｓ２６で予備トポロジ情報それぞれのノード間の接続がプロテクトリンクを除去しても接続グラフとならないと判断されたとき（Ｓ２６のＮｏ）、および、選択した予備トポロジ情報の高負荷ノードに接続するプロテクトリンク数が、他の予備トポロジ情報それぞれにおける当該高負荷ノードに接続するプロテクトリンク数の最大値以上の値であるときは（Ｓ２９のＮｏ）、Ｓ２７へ進む。そして、終了判定部１２１５は、プロテクトリンク交換処理の終了判定を行う。すなわち、終了判定部１２１５は、予備トポロジ情報管理情報１３６を参照して、プロテクトリンク交換部１２１２が、すべてのプロテクトリンクおよび予備トポロジ情報の組み合わせについて、プロテクトリンク交換処理を実行済みか否かを判断し（Ｓ２７）、すべてのプロテクトリンクおよび予備トポロジ情報の組み合わせについて、プロテクトリンク交換処理を実行済みであれば（Ｓ２７のＹｅｓ）、Ｎを増加し（Ｓ３２）、Ｓ２３へ戻る。つまり、予備トポロジ情報間でどのようにプロテクトリンクの交換を行っても、接続グラフとなる配置を発見できなかったとき、ノード１００Ａは、予備トポロジ情報の数を増加させて、Ｓ２３以降の処理を実行する。
【００８３】
一方、終了判定部１２１５は、プロテクトリンク交換部１２１２が、すべてのプロテクトリンクおよび予備トポロジ情報の組み合わせのうち、まだプロテクトリンク交換処理を実行していない組み合わせがあると判断したとき（Ｓ２７のＮｏ）、プロテクトリンク交換部１２１２は別のプロテクトリンクと予備トポロジ情報との組み合わせを選択して（Ｓ２８）、Ｓ２５へ戻る。
【００８４】
このようにすることで、ノード１００Ａは、予備トポロジ情報間でプロテクトリンクが分散配置された予備トポロジ情報群１３２を作成することができる。よって、ノード１００Ａは、この予備トポロジ情報群１３２に基づき迂回経路情報１３５を作成しておくことで、ネットワーク内のノード故障やリンク故障が発生したときでも、特定のノードやリンクに負荷が集中しないような迂回経路をとることができる。
【符号の説明】
【００８５】
１１    入出力部
１２    処理部
１３    記憶部
１００，１００Ａ  ノード
１２１，１２１Ａ  予備トポロジ情報処理部
１２２  高負荷ノード選択部
１２３  初期情報作成部
１２４  プロテクトリンク選択部
１２５  プロテクトリンク配置変更部
１２６  予備トポロジ情報出力処理部
１２７  交流トラヒック取得部
１２８  経路制御部
１２９  経路計算部
１３０  パケット転送部
１３１  トポロジ情報
１３２  予備トポロジ情報群
１３３  交流トラヒック情報
１３４  経路情報
１３５  迂回経路情報
１３６  予備トポロジ情報管理情報
１２１１  予備トポロジ情報作成部
１２１２  プロテクトリンク交換部
１２１３，１２１３Ａ  接続性判定部
１２１４  プロテクトリンク数比較部
１２１５  終了判定部
【図１】
2011124811.tif 000003
【図２】
2011124811.tif 000004
【図３】
2011124811.tif 000005
【図４】
2011124811.tif 000006
【図５】
2011124811.tif 000007
【図６】
2011124811.tif 000008
【図７】
2011124811.tif 000009
【図８】
2011124811.tif 000010
【図９】
2011124811.tif 000011
【図１０】
2011124811.tif 000012
【図１１】
2011124811.tif 000013
【図１２】
2011124811.tif 000014