(57)【特許請求の範囲】
【請求項１】
迂回経路を設定可能なノード装置を備え、該各ノード装置が、接続情報やリンクコスト情報を備える物理リンクを備えた、ポイントツーポイント（P2P）またはポイントツーマルチポイント（P2MP）が設定可能なネットワーク上の、迂回経路を計算する迂回経路計算方法であって、
入口ノードと出口ノードを結ぶプライマリパスに対して、End-to-Endでの迂回経路を計算する場合において、
グラフ生成手段において、入力されたネットワークの物理ノードと物理リンクで構成される接続情報から前記プライマリパスの通る物理ノードを削除し、経路計算対象のグラフを生成するグラフ生成ステップと、
経路計算手段において、前記経路計算対象グラフから残余帯域を考慮した最短経路または、最小経路を計算する経路計算ステップと、
解出力手段において、計算された経路を出力する解出力ステップと、を行い、
前記経路計算ステップにおいて、前記プライマリパスと重複しない迂回経路が設定できない場合には、
前記グラフ生成ステップにおいて、
ネットワークの物理ノードと物理リンクで構成される接続情報から前記プライマリパスの通る物理ノードを全て削除した後に、該プライマリパス上の宛先ノードから１ホップ上流のノードを前記接続情報に戻して１ホップ上流のノードに遡ったグラフを再生成し、
前記経路計算ステップにおいて、
前記グラフ生成ステップで再生成された前記グラフについて経路計算を行い、
解となる迂回経路が設定されるまで前記グラフ生成ステップ及び経路計算ステップを繰り返す緩和ステップを行う
ことを特徴とする迂回経路計算方法。
【請求項２】
前記緩和ステップは、
前記経路計算ステップで解が導出されなかった場合には、
前記グラフ生成ステップを呼び出して、前記ネットワークの前記接続情報から到達できなかった宛先ノードを通る迂回経路が必要となるプライマリパスの宛先ノードから１ホップ上流側までの当該ノードを除く、プライマリパスの通る接続情報を除いた接続情報を、前記経路計算対象グラフとし、前記経路計算ステップを呼び出して入口ノードから宛先ノードまでの経路計算を行い、該経路計算ステップにより解が導出された場合には、出力ステップにおいて計算結果の経路を元に迂回経路を設定する第１の緩和ステップと、
さらに、前記第１の緩和ステップにより解が導出されかなった場合には、
前記グラフ生成ステップを呼び出して、前記ネットワークの前記接続情報から該到達できなかった宛先ノードを通る、迂回経路が必要となるプライマリパスの宛先ノードから２ホップ上流側まで当該ノードを除く、プライマリパスの通る接続情報を除いた接続情報を、前記経路計算対象グラフとし、前記経路計算ステップを呼び出して入口ノードから宛先ノードまでの経路計算を行い、該経路計算ステップにより解が導出された場合には、出力ステップにより計算結果の経路を元に迂回経路を設定する第２の緩和ステップと、
解が導出されるまで、ソースノード上流までｎホップ分繰り返す第３の緩和ステップと、
解が導出された場合は、前記解出力手段において解が求められなかったリーフ数と全体のリーフ数からリンク重複比率を計算し、出力判定を行う解出力判定ステップと、を行い、
前記解出力ステップは、
前記第３の緩和ステップで解が導出されなかった場合には、解を出力しない、
請求項１記載の迂回経路計算方法。
【請求項３】
迂回経路を設定可能なノード装置を備え、該各ノード装置が、接続情報やリンクコスト情報を備える物理リンクを備えた、ポイントツーポイント（P2P）またはポイントツーマルチポイント（P2MP）が設定可能なネットワーク上の、迂回経路を計算可能な手段を有する迂回経路計算装置であって、
入口ノードと出口ノードを結ぶプライマリパスに対して、End-to-Endでの迂回経路を計算する場合において、
入力されたネットワークの物理ノードと物理リンクで構成される接続情報から前記プライマリパスの通るノードを削除し、経路計算対象のグラフを生成するグラフ生成手段と、
前記経路計算対象グラフから残余帯域を考慮した最短経路または、最小経路を計算を行う経路計算手段と、
計算された経路を出力する解出力手段と、
前記経路計算手段において前記プライマリパスと重複しない迂回経路が設定できない場合に、前記グラフ生成手段において、ネットワークの物理ノードと物理リンクで構成される接続情報から該プライマリパスの通る物理ノードを全て削除した後に、該プライマリパス上の宛先ノードから１ホップ上流のノードを前記接続情報に戻して１ホップ上流のノードに遡ったグラフを再生成し、前記経路計算手段に経路計算を実行させる処理を繰り返す緩和手段と、
を有することを特徴とする迂回経路計算装置。
【請求項４】
前記緩和手段は、
前記経路計算手段で解が導出されなかった場合には、前記グラフ生成手段を呼び出して、前記ネットワークの前記接続情報から該到達できなかった宛先ノードを通る、迂回経路が必要となるプライマリパスの宛先ノードから１ホップ上流側まで当該ノードを除く、プライマリパスの通る接続情報を除いた接続情報を、前記経路計算対象グラフとし、前記経路計算手段を呼び出して入口ノードから宛先ノードまでの経路計算を行い、該経路計算手段により解が導出された場合には、計算結果の経路を元に迂回経路を設定する第１の緩和手段と、
さらに、前記第１の緩和手段により解が導出されかなった場合には、前記グラフ生成手段を呼び出して、前記ネットワークの前記接続情報から前記到達できなかった宛先ノードを通る、迂回経路が必要となるプライマリパスの宛先ノードから２ホップ上流側までの当該ノードを除く、プライマリパスの通る接続情報を除いた接続情報を、前記経路計算対象グラフとし、前記経路計算手段を呼び出して入口ノードから宛先ノードまでの経路計算を行い、該経路計算手段により解が導出された場合には、計算結果の経路を元に迂回経路を設定する第２の緩和手段と、
解が導出されるまで、ソースノード上流までｎホップ分繰り返す第３の緩和手段と、
解が導出された場合は、前記解出力手段において解が求められなかったリーフ数と全体のリーフ数からリンク重複比率を計算し、出力判定を行う解出力判定手段と、
を有し、
前記解出力手段は、
前記第３の緩和手段により解が導出されなかった場合には、解を出力しない、
請求項３記載の迂回経路計算装置。
【請求項５】
請求項３または、４記載の迂回経路計算装置の各手段を有することを特徴とする迂回経路計算サーバ。
【請求項６】
請求項３または、４記載の迂回経路計算装置の各手段を有することを特徴とする迂回経路計算ルータ。
【請求項７】
コンピュータを、
請求項３または、４記載の迂回経路計算装置として機能させることを特徴とする迂回経路計算プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、迂回経路計算方法及び装置、迂回経路計算サーバ、迂回経路計算ルータ、及び迂回経路計算プログラムに係り、特に、Point-to-Point (P2P) Traffic Engineering (TE) Label Switched Path (LSP)やPoint-to-MultiPoint(P2MP)を設定可能なMPLSネットワーク技術に関する。
【０００２】
特に、P2P TE LSPのIngress（入口）ノードと複数のEgress (leaf)（出口）ノードを結ぶプライマリパスに対して、End-End間でのP2P迂回経路を設定するための迂回経路計算方法及び装置、迂回経路計算サーバ、迂回経路計算ルータ、及び迂回経路計算プログラムに関する。
【背景技術】
【０００３】
従来の迂回パス計算では迂回パスを求められない場合は「解無し」としている（つまり、迂回パスを求めない）。
【０００４】
なお、P2Pのパスを設定するためのプロトコル規定（例えば、非特許文献１参照）やP2MPのパスを設定するためのプロトコル規定（例えば、非特許文献２参照）がある。
【非特許文献１】http://www.ietf.org/rfc3209.txt?number=3209
【非特許文献２】http://ietf.org/internet-drafts/draft-ietf-mpls-rsvp-te-p2mp-02.txt
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来は、迂回パスを求められなかったため、プライマリP2P TE LSPを設定しているリンクが故障などを引き起こした場合に、迂回させることができなかった。
【０００６】
本発明は、上記の点に鑑みなされたもので、どのようなネットワーク環境においても、迂回経路を求められないような状況下でも、条件緩和を施すことにより経路を設定することが可能な迂回経路計算方法及び装置、迂回経路計算サーバ、迂回経路計算ルータ、及び迂回経路計算プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
図１は、本発明の原理を説明するための図である。
【０００８】
本発明（請求項１）は、迂回経路を設定可能なノード装置を備え、該各ノード装置が、接続情報やリンクコスト情報を備える物理リンクを備えた、ポイントツーポイント（P2P）またはポイントツーマルチポイント（P2MP）が設定可能なネットワーク上の、迂回経路を計算する迂回経路計算方法であって、
入口ノードと出口ノードを結ぶプライマリパスに対して、End-to-Endでの迂回経路を計算する場合において、
グラフ生成手段において、入力されたネットワークの物理ノードと物理リンクで構成される接続情報からプライマリパスの通る物理ノードを削除し、経路計算対象のグラフを生成するグラフ生成ステップ（ステップ１）と、
経路計算手段において、経路計算対象グラフから残余帯域を考慮した最短経路または、最小経路を計算する経路計算ステップ（ステップ２）と、
解出力手段において、計算された経路を出力する解出力ステップ（ステップ３）と、を行い、
経路計算ステップにおいて、プライマリパスと重複しない迂回経路が設定できない場合には、
グラフ生成ステップにおいて、
ネットワークの物理ノードと物理リンクで構成される接続情報からプライマリパスの通る物理ノードを全て削除した後に、該プライマリパス上の宛先ノードから１ホップ上流のノードを接続情報に戻して１ホップ上流のノードに遡ったグラフを再生成し（ステップ４）、
経路計算ステップにおいて、
グラフ生成ステップで再生成されたグラフについて経路計算を行い（ステップ５）、
解となる迂回経路が設定されるまでグラフ生成ステップ及び経路計算ステップを繰り返す緩和ステップを行う。
【０００９】
また、本発明（請求項２）は、請求項１の緩和ステップにおいて、
経路計算ステップで解が導出されなかった場合には、
グラフ生成ステップを呼び出して、ネットワークの接続情報から到達できなかった宛先ノードを通る迂回経路が必要となるプライマリパスの宛先ノードから１ホップ上流側までの当該ノードを除く、プライマリパスの通る接続情報を除いた接続情報を、経路計算対象グラフとし、経路計算ステップを呼び出して入口ノードから宛先ノードまでの経路計算を行い、該経路計算ステップにより解が導出された場合には、出力ステップにおいて計算結果の経路を元に迂回経路を設定する第１の緩和ステップと、
さらに、第１の緩和ステップにより解が導出されかなった場合には、
グラフ生成ステップを呼び出して、ネットワークの接続情報から該到達できなかった宛先ノードを通る、迂回経路が必要となるプライマリパスの宛先ノードから２ホップ上流側まで当該ノードを除く、プライマリパスの通る接続情報を除いた接続情報を、経路計算対象グラフとし、経路計算ステップを呼び出して入口ノードから宛先ノードまでの経路計算を行い、該経路計算ステップにより解が導出された場合には、出力ステップにより計算結果の経路を元に迂回経路を設定する第２の緩和ステップと、
解が導出されるまで、ソースノード上流までｎホップ分繰り返す第３の緩和ステップと、
解が導出された場合は、解出力手段において解が求められなかったリーフ数と全体のリーフ数からリンク重複比率を計算し、出力判定を行う解出力判定ステップと、を行い、
解出力ステップは、
第３の緩和ステップで解が導出されなかった場合には、解を出力しない。
【００１０】
図２は、本発明の原理構成図である。
本発明（請求項３）は、迂回経路を設定可能なノード装置を備え、該各ノード装置が、接続情報やリンクコスト情報を備える物理リンクを備えた、ポイントツーポイント（P2P）またはポイントツーマルチポイント（P2MP）が設定可能なネットワーク上の、迂回経路を計算可能な手段を有する迂回経路計算装置であって、
入口ノードと出口ノードを結ぶプライマリパスに対して、End-to-Endでの迂回経路を計算する場合において、
入力されたネットワークの物理ノードと物理リンクで構成される接続情報からプライマリパスの通るノードを削除し、経路計算対象のグラフを生成するグラフ生成手段３０と、
経路計算対象グラフから残余帯域を考慮した最短経路または、最小経路計算を行う経路計算手段４０と、
計算された経路を出力する解出力手段６０と、
経路計算手段４０においてプライマリパスと重複しない迂回経路が設定できない場合に、グラフ生成手段３０において、ネットワークの物理ノードと物理リンクで構成される接続情報から該プライマリパスの通る物理ノードを全て削除した後に、該プライマリパス上の宛先ノードから１ホップ上流のノードを接続情報に戻して１ホップ上流のノードに遡ったグラフを再生成し、経路計算手段４０に経路計算を実行させる処理を繰り返す緩和手段と、を有する。
【００１１】
また、本発明（請求項４）は、請求項３の緩和手段において、
経路計算手段４０で解が導出されなかった場合には、グラフ生成手段を呼び出して、ネットワークの接続情報から該到達できなかった宛先ノードを通る、迂回経路が必要となるプライマリパスの宛先ノードから１ホップ上流側まで当該ノードを除く、プライマリパスの通る接続情報を除いた接続情報を、経路計算対象グラフとし、経路計算手段４０を呼び出して入口ノードから宛先ノードまでの経路計算を行い、該経路計算手段により解が導出された場合には、計算結果の経路を元に迂回経路を設定する第１の緩和手段と、
さらに、第１の緩和手段により解が導出されかなった場合には、グラフ生成手段３０を呼び出して、ネットワークの接続情報から到達できなかった宛先ノードを通る、迂回経路が必要となるプライマリパスの宛先ノードから２ホップ上流側までの当該ノードを除く、プライマリパスの通る接続情報を除いた接続情報を、経路計算対象グラフとし、経路計算手段４０を呼び出して入口ノードから宛先ノードまでの経路計算を行い、該経路計算手段４０により解が導出された場合には、計算結果の経路を元に迂回経路を設定する第２の緩和手段と、
解が導出されるまで、ソースノード上流までｎホップ分繰り返す第３の緩和手段と、
解が導出された場合は、解出力手段において解が求められなかったリーフ数と全体のリーフ数からリンク重複比率を計算し、出力判定を行う解出力判定手段と、
を有し、
解出力手段は、
第３の緩和手段により解が導出されなかった場合には、解を出力しない。
【００１２】
本発明（請求項５）は、請求項３または、４記載の迂回経路計算装置の各手段を有する迂回経路計算サーバである。
【００１３】
本発明（請求項６）は、請求項３または、４記載の迂回経路計算装置の各手段を有する迂回経路計算ルータである。
【００１４】
本発明（請求項７）は、コンピュータを、請求項３または、４記載の迂回経路計算装置として機能させる迂回経路計算プログラムである。
【発明の効果】
【００１５】
上記のように本発明によれば、まず、複数のP2P TE LSPから迂回経路の設定が必要なLSPを選択し、そのLSPと交わらないように、迂回経路を計算することによってP2P迂回経路または、P2MP迂回経路を実現し、プライマリ P2P TE LSPを設定しているリンクが故障などを引き起こした場合に、この迂回経路に迂回させることが可能となる。
【００１６】
本発明は、ネットワークの状態によっては完全にプライマリパスと交わらない迂回経路を設計できないような状況であっても、ネットワーク状態によって最適なP2P迂回経路または、P2MP迂回経路を設定することができるため、あらゆるネットワーク状態に応じてP2P TE LSPの迂回経路を実現することができる。
【発明を実施するための最良の形態】
【００１７】
以下、図面と共に本発明の実施の形態を説明する。
【００１８】
図３は、本発明の一実施の形態における迂回経路計算装置の構成を示す。
【００１９】
同図に示す迂回経路計算装置は、入出力部１０、データベース２０、P2P迂回経路生成部３０、経路計算部４０、リンク重複比率閾値Ｎ判別部５０から構成される。
【００２０】
入出力部１０は、トポロジ情報及びプライマリパス情報を取得し、データベース２０に転送する。また、データベース２０から迂回経路生成部３０で求められた迂回経路情報及びリンク重複比率を取得して出力する。
【００２１】
データベース２０は、入出力部１０から取得したトポロジ情報及びプライマリパス情報を格納し、迂回経路生成部３０にこれらの情報を出力する。また、リンク重複比率閾値Ｎ判別部５０から取得したリンク重複比率及び迂回経路生成部３０で求められた迂回経路情報を格納し、入出力部１０に出力する。
【００２２】
迂回経路生成部３０は、トポロジ情報及びプライマリパス情報に基づいて経路計算対象のグラフを作成し、経路計算部４０を呼び出すことにより実行させた経路計算結果を取得し、解が求められなかった場合には、再度経路計算対象のグラフを作成し、経路計算部４０を呼び出す処理を解が導出できるまで繰り返す。
【００２３】
経路計算部４０は、経路計算アルゴリズムを複数有し、経路計算対象のパスに基づいてアルゴリズムを選択し、経路を計算する。例えば、P2MPパスである場合には、Dijkstraまたは、DDMCアルゴリズムにより計算し、また、P2Pパスである場合には、Dijkstraアルゴリズムを用いて計算する。
【００２４】
リンク重複比率閾値Ｎ判別部５０は、リンク重複比率を、
リンク重複比率＝解が求められなかったリーフ数÷全体のリーフ数×１００（％）
により計算する。オペレータの指定したリンク重複比率閾値Ｎ（％）により、迂回経路生成部３０から取得した計算結果を出力するかどうかを判定する。リンク重複比率閾値Ｎ（％）の入力数値は、オペレータが手動で変更可能である。また、閾値を超えるものは「解無し」を出力し、閾値を超えないものは計算結果とリンク重複比率の値を出力する。例えば、オペレータが最低でも７０％以上のLeafは救えるような迂回経路を設定したいのであれば、Ｎ＝７０（％）と入力する。Ｎ＜７０なら解無し、Ｎ≧７０であれば経路計算部４０の計算結果をデータベース２０に出力する。
【００２５】
次に、本発明の要部である、迂回経路生成部３０、経路計算部４０で利用されるデータについて説明する。
【００２６】
図４は、本発明の一実施の形態における入力データを説明するための図である。
【００２７】
入力されるプライマリパスＴ（Vt，Et）の入力データで経路計算時に必要となる情報は以下の通りである。
【００２８】
プライマリパスＴは、経路を構成するノード集合Ｖ、リンク集合Ｅの情報を保持する。図４の例では、
T(Vt,Et)=｛（V1,V2,V3,V4），(E1,E2,E3)｝
となる。
【００２９】
また、プライマリパスＴは、ノードの属性（ソースノードまたは、宛先ノード、または中間ノード）を保持する。図４の例では、
T(Source，Destination，Branch)={(V1)，(V4)，(V2,V3)}
となる。
【００３０】
また、リーフノードＶは、ソースノードまでの上流ノード情報を保持する。図４の例では、
V4：{１ホップ上流ノードはV3、２ホップ上流ノードはV2、３ホップ上流ノードはV1}となる。
【００３１】
また、リーフノードＶは、ソースノードまでの上流リンク情報を保持する。図４の例では、
V4：｛１ホップ上流リンクはE3、２ホップ上流リンクはE2、３ホップ上流リンクはE1}となる。
【００３２】
プライマリパスＴは、Ｐ２ＰパスかＰ２ＭＰパスかを判別する情報を保持する。プライマリパスＴはDijkstraで計算するかＤＤＭＣで計算するか判別する情報を保持する。
【００３３】
以下では、上記のようなデータがデータベース２０に設定され、迂回経路生成部３０がこれを読み込んで利用するものとして説明する。
【００３４】
ここで、迂回経路生成部３０の動作について説明する。
【００３５】
図５は、本発明の一実施の形態における迂回経路生成部の動作のフローチャートである。
【００３６】
入力は、グラフＧの辺（i，j）とそれらの長さＬｉｊ，Ｔであり、出力は、Ｔの迂回経路Ｔ’となる。
【００３７】
迂回経路生成部３０は、ネットワークの物理ノードと物理リンクで構成されるグラフＧからP2PのプライマリパスＴの通るノード（Vt）を除くグラフＧ’を作成し（ステップ１０１）、Ｇ’を経路計算部４０に送る（ステップ１０２）。経路計算部４０は、Ｇ’の最短経路を経路計算アルゴリズム（例えば、P2Pの場合はDijkstra）によって計算し（ステップ１０３）、解が導出されたならば、T’（Vt’）を迂回経路生成部３０に転送し、解がなければ「解無し」を転送する（ステップ１０４）。
【００３８】
迂回経路生成部３０は、解が導出された場合には、経路計算部４０から送られたT’（Vt’）をリンク重複比較閾値Ｎ判定部１５０に出力する（ステップ１０５）。
【００３９】
経路計算部４０から「解無し」が送られた場合には、迂回経路生成部３０は、到達できなかったリーフノードを特定し、そのリーフノードの通るプライマリパスＴのリーフから１ホップ上流のノードをグラフに復帰させたグラフＧ２'（Vt2'）を作成し（ステップ１０６）、Ｇ２'を経路計算部４０に送る（ステップ１０７）。
【００４０】
経路計算部４０は、迂回経路生成部３０から与えられたグラフＧ２’の最短経路を経路計算アルゴリズムにより計算する（ステップ１０８）。解が導出されたならば、T’（Vt’）を迂回経路生成部３０に転送し、解がなければ「解無し」を転送する（ステップ１０９）。
【００４１】
迂回経路生成部３０は、解が導出された場合には、経路計算部４０から送られたT’（Vt’）をリンク重複比較閾値Ｎ判定部１５０に出力する（ステップ１１０）。解が導出されなかった場合は、ホップ数を１増加させ、ソースノード上流までｎホップ分繰り返す（ステップ１１１）。ｎホップ分繰り返しが終了したら解を出力する（ステップ１１２）。なお、解無しの場合には、その時点の経路計算対象のグラフが出力される。
【００４２】
次に、上記の動作を詳細に説明する。
【００４３】
図６、図７は、本発明の一実施の形態における迂回経路生成動作の詳細なフローチャートである。
【００４４】
以下のフローチャートに使用されている変数等を説明する。
【００４５】
Ｇ：グラフ；
Ｔ：プライマリパス
m＝１：到達不可能であった宛先ノードから１ホップ上流までのプライマリパス上のノード集合；
ｍ＝２：到達不可能であった宛先ノードから２ホップ上流までのプライマリパス上のノード集合；
ｍ＝ｍａｘ：到達不可能であった宛先ノードからソースノードまでのプライマリパス上のノード集合；
ステップ２０１）  迂回経路生成部３０は、連結グラフ（物理ノード）で構成される接続情報）ＧとプライマリＴが入力されると、ＧからＴの通るノード（Ｖｔ）を除くグラフＧ’を作成する。
【００４６】
ステップ２０２）  経路計算部４０は、ＴがP2MPパスであるかを判定し、P2MPパスである場合はステップ２０４に移行し、P2Pパスである場合はステップ２０３に移行する。
【００４７】
ステップ２０３）  経路計算部４０は、Ｇ’からDijkstraアルゴリズムを用いて計算を行い、求められたＴ’を迂回経路生成部３０に出力し、ステップ２０５に移行する。
【００４８】
ステップ２０４）  経路計算部４０は、Ｇ’からDijkstraアルゴリズムまたは、DDMCアルゴリズムを用いて計算を行い、求められたＴ’を迂回経路生成部３０に出力し、ステップ２０５に移行する。
【００４９】
ステップ２０５）  迂回経路生成部３０は、Ｔ’が導出されたかを判定し、導出された場合には、ステップ２０７に移行し、導出されなかった場合はステップ２０６に移行する。
【００５０】
ステップ２０６）  m（但し、初期値は０）>maxであるかを判定し、そうである場合にはステップ２０７に移行し、そうでない場合には、ステップ２０８に移行する。
【００５１】
ステップ２０７）  Ｔ’から不要な（宛先でないリーフまでの）ノード情報を削除し、それをＴ”として出力し、処理を終了する。
【００５２】
ステップ２０８）  ｍを１増加させる。
【００５３】
ステップ２０９）  Ｇを初期化（Ｇ＝Ｇ）する。
【００５４】
ステップ２１０）  到達不可能であった宛先ノードからｍホップ上流までのノード集合をVmとしてＧからVm以外のＴを通るノード（Ｖｔ）を除くグラフＧ’を作成し、ステップ２０２に移行する。
【００５５】
次に、上記のフローチャートにおける動作のメカニズムについて説明する。
【００５６】
図８〜図１２は、本発明の一実施の形態におけるアルゴリズムの動作を説明するための図である。
【００５７】
まず、図８に示すように、入口ノード（Ingress）はＡであり、出口ノード（Egress）はＨであり、同図に示すような迂回経路を要求するプライマリパス（Ａ−Ｃ−Ｅ−Ｆ−Ｈ）が設定されているものとする。
【００５８】
まず、図９に示すように、迂回経路生成部３０において、迂回経路が必要となるプライマリパスの通る物理ノードを除いたグラフを生成する（ステップ２０１）。
【００５９】
次に、図１０に示すように、経路計算部４０において、プライマリパスの通る物理ノードを除いたグラフを用いて、Dijkstraによって計算する(ステップ２０３)。図１０の例では、出口ノードHに到達するルートがなく、経路計算が中断され、解が出力されない（「解無し」）（ステップ２０５，Ｎｏ）。
【００６０】
次に、図１１に示すように、迂回経路生成部３０は、迂回経路が必要となるプライマリパスの通る物理ノードを除いたグラフを作成する（ステップ２０８〜２０９）。
【００６１】
ここで、１ホップ上流のノードＦをグラフに復帰させる（ステップ２１０）。
【００６２】
次に、図１２に示すように、経路計算部４０において、Dijkstraによる経路計算を行うことにより、迂回パス（Ａ−Ｂ−Ｆ−Ｇ−Ｈ）が得られる（（ステップ２０３、２０５,Yes）。
【００６３】
上記のようにして計算された迂回経路がリンク重複比率閾値Ｎ判別部５０に出力される。
【００６４】
リンク重複比率閾値Ｎ判別部５０は、迂回経路に基づいて、リンク重複比率を求め、計算結果をデータベース２０に出力するか否かを判定し、出力する場合には、迂回経路と求められたリンク重複比率をデータベース２０に出力する。
【実施例】
【００６５】
［第１の実施例］
本実施例では、前述の経路計算装置をサーバに実装した場合について説明する。
【００６６】
図１３は、本発明の第１の実施例におけるサーバ型の経路計算システムの概要を示す。
【００６７】
同図において、パス計算サーバは、
１）迂回経路を要求するプライマリパス情報及びトポロジ情報を入力し、
２）迂回経路を計算し、
３）計算結果をコンフィグファイルとして記憶手段に出力し、
４）記憶手段に出力された出力結果を各ルータに送出することにより反映する。
【００６８】
図１４は、本発明の第１の実施例のシステム構成図である。
【００６９】
同図に示すシステムは、パス計算サーバ１００と複数のルータ２００から構成される。
【００７０】
パス計算サーバ１００は、ルータコンフィグ変換部１０、データベース２０、迂回経路生成部３０、経路計算部４０、リンク重複比率閾値Ｎ判別部５０を有する。
【００７１】
同図において、パス計算サーバ１００は、前述の迂回経路計算装置を内蔵しており、図３に示す構成の入出力部１０の代わりに、ルータコンフィグ変換部１１０を有する。その他の構成については図３に示す構成と同様であるので、その構成要素の詳細な説明は省略する。
【００７２】
ルータコンフィグ変換部１１０は、ルータ２００からコンフィグファイルを取得し、その中から迂回経路を要求するプライマリパス情報及びトポロジ情報を取得して、データベース２０に転送する。
【００７３】
迂回経路生成部３０は、データベース２０からトポロジ情報及びプライマリパス情報を取得し、経路計算部４０の処理（アルゴリズム）を呼び出して迂回経路を計算する。
【００７４】
リンク重複比率閾値Ｎ判別部５０は、迂回経路生成部３０から取得した解である迂回経路情報を取得して、リンク重複比率を求め、迂回経路情報とリンク重複比率をデータベース２０に出力する。
【００７５】
データベース２０は、迂回経路情報とリンク重複比率をコンフィグファイルとして記憶する。
【００７６】
ルータコンフィグ変換部１１０は、データベース２０に出力された出力結果を各ルータに送出する。
【００７７】
［第２の実施例］
本実施例では、前述の迂回経路計算装置をルータに実装した場合について説明する。
【００７８】
図１５は、本発明の第２の実施例におけるルータ型の迂回経路計算システムの概要を示す。
【００７９】
本実施例では、図３に示す迂回経路計算装置を各ルータ内に実装したことを示している。
【００８０】
図１６は、本発明の第２の実施例のシステム構成図である。
【００８１】
同図に示すルータは、迂回経路計算部２１０とコンフィグファイル格納データベース２２０を有する。
【００８２】
迂回経路計算部２１０として図３に示す迂回経路計算装置を実装する。但し、図３の入出力部１０の代わりに、ルータコンフィグ変換部２１１を有する。
【００８３】
ルータコンフィグ変換部２１１は、コンフィグファイル格納データベース２２０からコンフィグファイルを取得し、その中のトポロジ情報とプライマリパス情報をデータベース２０に出力する。また、データベース２０から取得した情報をコンフィグファイルに変換し、コンフィグファイル格納データベース２２０に出力する。
【００８４】
なお、上記の図３に示す迂回経路生成部３０、経路計算部４０からなる装置の動作、もしくは、迂回経路生成部３０、経路計算部４０及びリンク重複比率閾値Ｎ判別部５０からなる装置の動作をプログラムとして構築し、サーバまたは、ルータとして利用されるコンピュータにインストールして実行する、または、ネットワークを介して流通させることが可能である。
【００８５】
また、構築されたプログラムをハードディスク、フレキシブルディスク・ＣＤ−ＲＯＭ等の可搬記憶媒体に格納し、コンピュータにインストールして実行させる、または、配布すること可能である。
【００８６】
なお、本発明は、上記の実施の形態及び実施例に限定されることなく、特許請求の範囲内において種々変更・応用が可能である。
【産業上の利用可能性】
【００８７】
本発明は、P2P TE LSPのEnd-End間でのP2P迂回経路を設定するための迂回経路計算技術に適用することが可能である。また、P2MPに対しても適用可能である。
【図面の簡単な説明】
【００８８】
【図１】本発明の原理説明図である。
【図２】本発明の原理構成図である。
【図３】本発明の一実施の形態における迂回経路計算装置の構成図である。
【図４】本発明の一実施の形態における入力データを説明するための図である。
【図５】本発明の一実施の形態における迂回経路生成動作のフローチャートである。
【図６】本発明の一実施の形態における迂回経路生成動作の詳細なフローチャート（その１）である。
【図７】本発明の一実施の形態における迂回経路生成動作の詳細なフローチャート（その２）である。
【図８】本発明の一実施の形態における迂回経路生成動作を説明するための図（その１）である。
【図９】本発明の一実施の形態における迂回経路生成動作を説明するための図（その２）である。
【図１０】本発明の一実施の形態における迂回経路生成動作を説明するための図（その３）である。
【図１１】本発明の一実施の形態における迂回経路生成動作を説明するための図（その４）である。
【図１２】本発明の一実施の形態における迂回経路生成動作を説明するための図（その５）である。
【図１３】本発明の第１の実施例におけるサーバ型の迂回経路計算システムの概要を示す図である。
【図１４】本発明の第１の実施例のシステム構成図である。
【図１５】本発明の第２の実施例におけるルータ型の迂回経路計算システムの概要を示す図である。
【図１６】本発明の第２の実施例のシステム構成図である。
【符号の説明】
【００８９】
１０  入出力部
２０  データベース
３０  グラフ生成手段、迂回経路生成部
４０  経路計算手段、経路計算部
５０  リンク重複比率閾値Ｎ判別部
６０  解出力手段
７０  緩和手段
１００  パス計算サーバ
１１０  ルータコンフィグ変換部
２００  ルータ
２１０  迂回経路計算部
２１１  ルータコンフィグ変換部
２２０  コンフィグファイル格納データベース
【図１】
0004485464.tif 000002
【図２】
0004485464.tif 000003
【図３】
0004485464.tif 000004
【図４】
0004485464.tif 000005
【図５】
0004485464.tif 000006
【図６】
0004485464.tif 000007
【図７】
0004485464.tif 000008
【図８】
0004485464.tif 000009
【図９】
0004485464.tif 000010
【図１０】
0004485464.tif 000011
【図１１】
0004485464.tif 000012
【図１２】
0004485464.tif 000013
【図１３】
0004485464.tif 000014
【図１４】
0004485464.tif 000015
【図１５】
0004485464.tif 000016
【図１６】
0004485464.tif 000017