(57)【要約】【課題】トポロジとリンク容量が与えられたネットワークを対象に、投資コストを抑えながら効果的に信頼性を向上させるよう、適切なリンク設置・リンク容量増設箇所を発見する方法、特にネットワークの故障発生時にサービスを継続する目的で、リンク（通信路）増設を行う際に、過剰増設とならないように、適切な増設箇所を特定する。【解決手段】最大最短閉路（任意の二つのノードＡ，Ｂを含む経路で経路コストが最小のものを最短閉路と定義し、最短閉路の中でホップ長が最大のものを最大最短閉路と定義）のホップ長を効果的に削減し、障害時のホップ長倍率を低減するリンク増設箇所を抽出する。さらに、障害時のフロー数倍率を低減するリンク容量増設箇所を抽出する。さらに、リンク増設箇所の候補とリンク容量増設箇所の候補を抽出し、前者の障害時フロー長倍率低減効果と後者の障害時フロー数倍率低減効果を比較し、より効果の大きな方を選択することで、リンク増設とリンク容量増設箇所の選定を同時に行う。【選択図】図２
2009260705.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークのトポロジとリンク容量の各情報をコンピュータに入力し、該コンピュータの制御により、投資コストを抑えながら、ネットワークの障害時のホップ長の安定性とリンク負荷の安定性を効率的に向上させるために、リンク増設箇所またはリンク容量増設箇所またはその両方を同時に絞り込むリンクとリンク容量増設方法であって、
該コンピュータは、隣接しない任意の二つのノードを含む経路で経路コストが最小のものを最短閉路と定義し、該最短閉路の中でホップ長が最大である最大最短閉路のホップ長を算出し、
算出された最大最短閉路のホップ長を効率的に削減するための、障害時のホップ長倍率を低減するリンク増設箇所を抽出し、抽出された増設箇所の情報を出力することを特徴とするリンクとリンク容量増設方法。
【請求項２】
前記コンピュータは、障害時のフロー数倍率を低減するため、各リンクに対して最大フロー数倍率を算出し、
該最大フロー数倍率の値が大きな順にリンクを選択し、
該リンクの容量をリンク容量セットに含まれる値で現在の容量より大きな値に増設した場合の最大フロー数倍率と平均フロー数倍率を算出し、
算出された最大フロー数倍率が最小のものを選択して、選択された最大フロー数倍率と平均フロー数倍率が悪化せず、かつ少なくとも一方が改善している場合に、選択された値が最も大きな最大フロー数倍率であるリンクの容量セットに含まれる値に増設することを特徴とする請求項１に記載のリンクとリンク容量増設方法。
【請求項３】
前記コンピュータは、リンク増設箇所の候補とリンク容量増設箇所の候補を抽出し、
該リンク増設箇所の候補による障害時フロー長倍率低減効果と該リンク容量増設箇所の候補による障害時フロー数倍率低減効果を比較し、
より効果の大きな方を選択することにより、リンク増設とリンク容量増設箇所の選択を同時に行うことを特徴とする請求項１に記載のリンクとリンク容量増設方法。
【請求項４】
前記コンピュータは、リンク増設箇所の候補とリンク容量増設箇所の候補を抽出する際に、改善対象でない側の品質尺度に下限許容量を設定し、そのような制約が満たされる範囲で最適な増設箇所を選定し、
より効果の大きな方を選択することにより、リンク増設とリンク容量増設箇所の選択を同時に行うことを特徴とする請求項３に記載のリンクとリンク容量増設方法。
【請求項５】
障害時のホップ長倍率を低減するリンク増設箇所抽出用プログラムであって、
コンピュータに、各ノードペアｓｄに対して、正常時のパス集合Ｐｓｄと、クリティカルパスに含まれるリンクの障害時のパス集合Ｐｓｄ（−Ωｓｄ）を算出する手順、ｍａｘ  ｈ（ｐ２）／ｍｉｎ  ｈ（ｐ１）の値が最大となるｓｄペアをランダムに選択する手順、選択されたパス集合Ｐｓ＊ｄ＊（−Ωｓ＊ｄ＊）（ｓ＊、ｄ＊は選択されたｓｄペア）に含まれるパスの中でホップ数が最大のパスｐ上の隣接しない任意の２つのノードａ，ｂを選択する手順、トポロジＴに対してａｂ間に容量ｃのリンクを設置したトポロジ（Ｔ（＋ｅａｂ，ｃ））における最大フロー長倍率ξｍａｘと平均フロー長倍率ξを計算する手順、可能な全てのａ，ｂ，ｃの組の中で、最大フロー長倍率ξｍａｘが等しいものが複数存在する場合には、その中で平均フロー長倍率ξが最小のものを選択する手順、最大フロー長倍率ξｍａｘと平均フロー長倍率ξが悪化せず、かつ少なくとも一方が改善する場合には、ノードａ＊，ｂ＊間に容量ｃ＊のリンクを増設する手順を、それぞれ実行させるためのリンク増設箇所抽出用プログラム。
【請求項６】
障害時のフロー数倍率を低減するリンク容量増設箇所抽出用プログラムであって、
コンピュータに、各リンクｌに対して最大フロー数倍率εｍａｘ，ｌを算出する手順、最大フロー数倍率εｍａｘ，ｌの値が大きな順にリンクｌを選択する手順、リンクｌの容量を、リンク容量セットＣに含まれる値で現在の容量より大きな値ｃに増設した場合の最大フロー数倍率εｍａｘと平均フロー数倍率εを計算する手順、最大フロー数倍率εｍａｘが同一のものが複数存在する場合には、その中で平均フロー数倍率εが最小のものを選択する手順、最大フロー数倍率εｍａｘが最小となるリンクｌ＊の容量をｃ＊に増設した場合に、最大フロー数倍率εｍａｘと平均フロー数倍率εの両方が悪化しないで、かつ少なくとも一方が改善する場合には、εｍａｘが最小となるリンクｌ＊の容量をｃ＊に増設する手順を、それぞれ実行させるためのリンク容量増設箇所抽出用プログラム。
【請求項７】
ネットワークの障害時のホップ長の安定性とリンク負荷の安定性を向上させるためのリンクとリンク容量増設箇所抽出用プログラムであって、
コンピュータに、請求項５に記載の手順を実行して、リンク増設の候補箇所を選定する手順、請求項６に記載の手順を実行して、リンク容量増設の候補箇所を選定する手順、リンク増設を行った場合の２つの効果ζｌｉｎｋ，１，ζｌｉｎｋ，２の両方がゼロ以上、かつ少なくとも一方がゼロより大きいか否かを判定する手順、リンク増設の効果ζｌｉｎｋ，１＞ζｃａｐ，１，もしくはζｌｉｎｋ，１＝ζｃａｐ，１かつζｌｉｎｋ，２＞ζｃａｐ，２、という二つの条件が共に満たされるか否かを判定する手順、満たされる場合には、選定した候補箇所にリンクを増設する手順、増設を行う前の効果ζｃａｐ，１とζｃａｐ，２の両方がゼロ以上、かつ少なくとも一方がゼロより大きいか否かを判定する手順、ζｃａｐ，１＜ζｃａｐ，２，もしくはζｌｉｎｋ，１＝ζｃａｐ，１、かつζｌｉｎｋ，２＜ζｃａｐ，２、という二つの条件が共に満たされるか否かを判定する手順、これらの判定の結果、いずれも満たされれば、候補箇所にリンク容量を増設する手順を、それぞれ実行させるための請求項５または請求項６に記載のリンクとリンク容量増設箇所抽出用プログラム。
【請求項８】
ネットワークの障害時のホップ長の安定性とリンク負荷の安定性を向上させるためのリンクとリンク容量増設箇所抽出用プログラムであって、
コンピュータに、請求項５に記載の手順を実行して、リンク増設の候補箇所を選定する手順、最大フロー長倍率ε’ｍａｘ＜αεｍａｘであること、平均フロー長倍率ε’＜αεであること、の両方が満足しているか否かを判定する手順、満たしているならば、改善効果が最大のａ，ｂ，ｃを選択する手順、次に、請求項６に記載の手順を実行して、リンク容量を増設する候補箇所を選定する手順、最大フロー数倍率、ξ’ｍａｘ＜αξｍａｘであること、および、平均フロー数倍率ξ’＜αξであること、の両方が満たされるか否かを判定する手順、満たされているならば、改善効果が最大のｌとｃを選択する手順、次に、請求項７に記載の手順を実行する手順、選定した候補箇所にリンク増設を行うとともに、選定した候補箇所にリンク容量増設を行う手順を、それぞれ実行させるための請求項５，６または７のいずれかに記載のリンクとリンク容量増設箇所抽出用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、トポロジとリンク容量が与えられたネットワークを対象に、投資コストを抑えながら効果的に信頼性を向上させるよう、適切なリンクとリンク容量増設箇所を発見する方法に関し、特にネットワークの故障発生時にサービスを継続する目的で、リンク（通信路）増設を行う際に、過剰増設とならないように、適切な増設箇所を特定するためのリンクとリンク容量増設箇所の具体的な選定方法に関する。
【背景技術】
【０００２】
従来、電子メール、Ｗｅｂアクセス、ファイル交換などの利用が主であったインターネットにおいて、近年、電話サービスのマイグレーションが急速に進みつつある。日常的に利用される機会は今後ますます増加していくことが予想され、社会インフラ化に伴い信頼性に対する要求はますます増大している。特に、バックボーンは大量のトラヒックを中継する役目を担っており、特別に高い信頼性が求められる。ファイバ切断や光伝送装置の故障、ルータの設定ミスやソフトウェアのバグ、処理装置の過剰負荷といった様々な要因で、インターネットでは日常的に様々なリンクやルータで障害が発生している。そのため障害が発生することを前提とし、障害発生時にもノード間の接続性を維持し、サービスを継続する堅牢性が求められる。
【０００３】
インターネットの単一ＡＳ（Ａｕｔｏｎｏｍｏｕｓ  Ｓｙｓｔｅｍ）内では、ルーティングプロトコルとしてＯＳＰＦ（Ｏｐｅｎ  Ｓｈｏｒｔｅｓｔ  Ｐａｔｈ  Ｆｉｒｓｔ）が用いられているが、障害発生時、ルータは障害発生箇所を避けるようにフロー（発着ノード間を流れるパケットの集合と定義）の迂回経路を自律的に設定する。そのため、障害発生時にも高い接続性を維持することができる反面、フローの経路が迂回される結果、フローのホップ長が大きく増加する可能性や、迂回フローが特定のリンクに集中し負荷が大きく増加する可能性がある。このことは、パケット転送時間の増大、フローのスループット低下を意味するため、音声や動画といった即時性の高いサービスの品質劣化を招く。そのため、ネットワーク（ＮＷ）の信頼性を議論する際には、接続性の維持の観点だけでは不十分であり、フロー長やリンク負荷の安定性の維持の観点からも評価することが重要である。
【０００４】
障害時の接続性と安定性を向上させる最も簡易な方法は、大容量のリンクを数多く敷設することであるが、設備投資コストと管理・運営コストが増大する。ＩＳＰ（Ｉｎｔｅｒｎｅｔ  Ｓｅｒｖｉｃｅ  Ｐｒｏｖｉｄｅｒ）が競争力を保つためには信頼性の高いサービスを低料金でユーザに提供することが重要である。限られた投資コストで効果的に信頼性を向上させる必要がある。そのための一つの方法は、静的な交流トラヒック行列に対して障害発生時の迂回を考慮した上で総コストが最小化するように網トポロジとリンク容量を設計することである。しかし、交流量を精度よく推定することは容易でなく、またトラヒック量は日々変化するため、時間の経過に伴い最適性が低下する。そのため、ＩＳＰにとっての現実的な方法は、長期的な交流需要行列の変化に応じて、既に保有するＮＷに対して部分的にリンクを設置し、リンク容量を増設することである。そのためには、障害発生時に接続性や安定性を低下させる主な要因を分析し、設備増設箇所を効果的に絞り込む必要がある。
【０００５】
発明者は、本出願より前に本願発明の基になる提案（ネットワークのリンク増設箇所またはリンク容量増設箇所特定方法）を出願した。この方法では、現実の商用ＩＳＰのバックボーンＮＷを対象に、単一リンク障害（ＳＬＦ：ｓｉｎｇｌｅ  ｌｉｎｋ  ｆａｉｌｕｒｅ）時の、接続性、フローホップ長の安定性、リンクのフロー数の安定性、について評価し、これら品質が悪化する要因について分析した。
以下に、その内容をまとめる。
【０００６】
（ネットワークの分類と構造分析）
評価には、ＣＡＩＤＡのＷｅｂページでトポロジとリンク容量が公開されている３９の商用ＩＳＰのバックボーンＮＷを用いる。ただし、Ｃａｂｌｅ  ＩｎｔｅｒｎｅｔとＲＩＳＱ（Ｒｅｖｉｅｗ  ｏｆ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｏｃｉａｌ  Ｑｕｅｓｔｉｏｎｓ）Ｎｅｔｗｏｒｋは、トポロジが単一のＳｐａｎｎｉｎｇ  Ｔｒｅｅであり、任意のＳＬＦ時に障害フローの迂回が全くできないことから、評価には用いない。また、Ｕｎｉｌａｔ  Ｉｎｃ．は全体が４つと２つのノードの集合に分断されているため、やはり評価には用いない。また、ＰＳＩＮｅｔ、Ｑｗｅｓｔ、Ｔｅｌｓｔｒａ  Ｉｎｔｅｒｎｅｔ、ＵＵＮＥＴにおいて、各々、３，２，６，２個のノードが孤立しているため、これらのノードは除外する。
【０００７】
図２３は、評価に用いた３６のＮＷについて、名称、ノード数ｎ、（双方向）リンク数ｍ、ノード次数の平均と最大値、リンク容量の最小値と最大値をまとめた図である。
図１１は、平均次数と最大次数の散布図である。
この図では、これら３６のＮＷの平均ノード次数と最大ノード次数の散布図を示している。
図１１から、３６のＮＷを以下の３つのグループに分類する。
１）Ｆｕｌｌ  ｍｅｓｈ・・・各ノードが殆んど他の全てのノードと接続しているトポロジで、平均次数と最大次数の差が小さく、平均次数が大きい。平均次数をＥ（ｄ）、最大次数をＭａｘ（ｄ）とすると、ここではＥ（ｄ）≧Ｍａｘ（ｄ）−１を満たすＮＷと定義する。２つのＮＷがこれに該当する。
２）Ｈ＆Ｓ・・・次数の高いノード（ハブノード）が存在し最大次数が大きい。ハブ＆スポーク型と呼ばれるトポロジ構造であり、航空路線のトポロジが本形態となることが知られている。ハブノードを経由して多数のノードに到達することができるため、フローのホップ長が短くなる特徴がある反面、ハブノードに多数のフローが経由するため負荷がハブノードに集中し易い。ここでは、Ｍａｘ（ｄ）≧１０、Ｅ（ｄ）＜Ｍａｘ（ｄ）−１を満たすＮＷと定義する。１２のＮＷがこれに該当する。
３）Ｌａｄｄｅｒ・・・高次数ノードが存在せず、ループを組み合わせたトポロジ構造となる。平均次数と最大次数が共に小さい。リンク総延長を抑えられる反面、遠方のノードに到達するためには多数のノードを経由する必要があり、フローのホップ長が長くなる傾向がある。高速道路網が本形態となることが知られている。ここでは、Ｍａｘ（ｄ）＜１０、Ｅ（ｄ）＜Ｍａｘ（ｄ）−１を満たすＮＷと定義する。２２のＮＷがこれに該当する。
【０００８】
図１２は、ネットワークトポロジの例を示す図である。
この図には、各々の種別に属するＮＷを例示している。
これら３つのＮＷは、全て米国のＩＳＰであるが、種別ごとに大きく形状が異なることが確認できる。
Ｈ＆Ｓ型のＮＷは次数の大きく異なるノードから構成されているため、ノードの接続構造を考察する。
【０００９】
図１３は、Ｈ＆Ｓ型ネットワークの特性図である。
図１３（ａ）のように、Ｈ＆Ｓ型の１２のＮＷの各々に対して、次数の大きな順に正規化ノード次数（ノード次数を最大次数で除した値）をプロットする。横軸は順位をノード数ｎで除した値である。ＮＷ１６，２９を除く他の１０のＨ＆Ｓ型ＮＷでは、全て全体の５％〜２０％程度の少数のノードが高次数である。次に、ハブノードが相互に接続されている度合いを調べるため、図１３（ｂ）のように、ＲＣＣ（ｒｉｃｈ  ｃｌｕｂ  ｃｏｎｎｅｃｔｉｖｉｔｙ）をプロットする。ＲＣＣは、ノードを次数の大きな順に並べたときの上位ρ個のノード間に存在するリンク数を、可能な総数ρ（ρ−１）／２で除した値で定義され、図１３ではρをｎで正規化した値に対してプロットしている。ＲＣＣも正規化ノード次数と同様の傾向を示しており、高次数ノードのＲＣＣは高く、多くの高次数ノード間にはリンクが設置されている。
【００１０】
高次数ノード間に設置されたリンクには多数のフローが経由することから、そのような場所には大容量リンクが設置されることが予想される。リンク容量が均一なＮＷ１３を除いた１１のＮＷを対象に、各リンクの正規化リンク容量（リンク容量を最大リンク容量で除した値）を正規化ノード次数積に対して、図１３（ｃ）のようにプロットする。
正規化ノード次数積を、各リンクの両端のノードの次数の積を、各ＮＷにおける次数積の最大値で除した値で定義する。次数の高いノード間に設置されたリンクほど、正規化ノード次数積が大きくなるが、予想に反して、リンク容量とノード次数積との間には明確な正の相関は見られない。
【００１１】
（正常時のフローとリンク負荷特性）
障害が発生していない正常時の、フローのホップ長とリンク負荷について考察する。
これらの特性はフローの経路設定法に依存するが、本発明では、ＯＳＰＦを想定し、リンクコストとして、シスコ社の推奬するリンク容量の逆数に設定する場合（ｉｎｖ．ｃａｐ）と、全リンクで同一の値を設定する場合（ｍｉｎ．ｈｏｐ）の二つを考える。ある発着ノード間に同じコストの経路が複数存在する場合には、全ての最小コスト経路にトラヒックが均一に分散されると仮定する。
各ＮＷに対して平均フロー長ｈを次式で定義する。
【００１２】
【数１】
2009260705.tif 000003
ただし、Ｖはノード集合、ｈｓｄはノードｓとｄの間のフロー（フローｓｄと表記）の平均フロー長、σｓｄはフローｓｄのパスの本数、Ｐｓｄはフローｓｄのパス集合、ｈｓｄ，ｐはｓｄ間のパスｐのホップ長である。
【００１３】
図１４は、正常時のフロー特性を示す図である。
この図では、３６の各ＮＷに対して、ｈをｍに対してプロットしている。
ｍｉｎ．ｈｏｐでは最短ホップ経路が設定されるため、ｉｎｖ．ｃａｐはｍｉｎ．ｈｏｐよりｈが若干増加している。特に、ＮＷ２，４，８，１５，２６のｈが大きいが、これらは全てＬａｄｄｅｒ型である。Ｌａｄｄｅｒ型ＮＷにハブノードが存在せず、遠方のノードに到達するためには多数のノードを経由する必要があり、ｈが大きくなる傾向がある。
次に、正常時に各リンクを経由するフロー数について考察する。
リンクｌの平均フロー数νｌＢｅｔｗｅｅｎｅｓｓと同様、
【００１４】
【数２】
2009260705.tif 000004
と定義し、各ＮＷに対して平均フロー数υと最大フロー数υｍａｘを、ｍ本の全リンクにわたるυｌの相加平均と最大値により求める。
図１５は、正常時のリンク負荷特性を示す図である。
図１５（ａ）には、ｉｎｖ．ｃａｐとｍｉｎ．ｈｏｐにおけるυｍａｘを平均フロー数υで除した値の散布図を、３６のＮＷに対してプロットする。殆んどのＮＷは直線ｙ＝ｘの右下の領域に存在ｉｎｖ．ｃａｐを用いることで大容量リンクにフローが集中し、各リンクを経由するフロー数の格差が拡大することが確認できる。リンク容量の格差が大きく迂回経路を見つけ易いＨ＆Ｓ型のＮＷで、特にこの傾向が強い。
【００１５】
また図１５（ｂ）には、リンク容量が不均一な２４の各ＮＷに対して、リンク容量ｃｌとフロー数υｌとの間の相関係数を、ｉｎｖ．ｃａｐとｍｉｎ．ｈｏｐの各々の場合について散布図としてプロットする。ＮＷによって、ｃｌとυｌとの間の相関係数のばらつきが大きく、ＮＷ種別による明確な傾向は見られない。ｉｎｖ．ｃａｐを用いることでリンク容量の大きなリンクにフローが集中し、ｃｌとυｌとの間の相関性が向上すること、リンク容量の有効な活用の観点からはｉｎｖ．ｃａｐを用いることが望ましいことが確認できる。
また、図１５（ｃ）（ｄ）に、ｉｎｖ．ｃａｐとｍｉｎ．ｈｏｐにおける、２４のＮＷの各リンクに対して、正規化リンク容量（ｃｌを各ＮＷの最大リンク容量ｃｍａｘで除した値）と正規化フロー数（υｌをυｍａｘで除した値）間の散布図を示す。ｉｎｖ．ｃａｐを用いることで、リンク容量の小さいリンクを経由するフロー数が抑えられることが確認できる。
【００１６】
（接続性に関する評価）
ＳＬＦ時の接続性喪失率Ｐｄｃを、一つ以上のＳＬＦ発生パタンにおいて接続性が失われるフローの割合と定義する。すなわち、ｘｓｄ，ｌをリンクｌのＳＬＦ時のフローｓｄの接続性が維持される場合に１、損なわれる場合に０をとる２値変数と定義すると、
【００１７】
【数３】
2009260705.tif 000005
である。次数ｄが１のノードを発着とするフローは、そのノードが接続するリンクの障害時に必ず接続性が失われる。
図１６は、次数１のノード数比率を示す図である。
図１６（ａ）には、次数１のノード数のｎに対する割合をｎに対してプロットする。ただしＮＷ１１，１８（Ｆｕｌｌ  ｍｅｓｈ型）とＮＷ７，１７（Ｌａｄｄｅｒ型）は次数１のノードが存在しないため省いている。次数１のノード割合はＮＷにより大きく異なり、ｎやＮＷ種別による明確な傾向は見られない。
【００１８】
また、図１６（ｂ）には、ＮＷごとに、次数１ノード数比率に対してＰｄｃをプロットする。これら二つの尺度間には正の相関が見られ、ＳＬＦ時に接続性が失われるフローの大部分は次数が１のノードを発着とするものであることが予想される。ただし、次数１ノードに接続するリンクのＳＬＦ時、影響を受けるフローはそのノードを発着とするフローに限定され、ＮＷ全体の信頼性に与える影響は小さい。そこで、Ｐｄｃから次数１のノードに起因するものを除いたＳＬＦ時の接続性喪失率Ｐｄｃ’を算出したところ、２３のＮＷでＰｄｃ’がゼロとなり、Ｐｄｃ’が０．０５を超えたのはＮＷ２，１２，１５，２０のＬａｄｄｅｒ型の４つのＮＷのみであった。これら４つのＮＷのトポロジ形状を調べたところ、ＮＷ２は８２ノード中１７ノードが１本のリンクによって他の部分に接続しており、ＮＷ１２，１５は１本のリンクのＳＬＦによりＮＷ全体が二つに分断される形状であり、ＮＷ２０は１５ノード中３ノードが１本のリンクによって他の部分に接続している。よって、これら４つのＮＷにおいてはＳＬＦに対して脆弱なアキレス腱となるリンクが存在するが、他の３２のＮＷにはそのようなリンクが存在せず、接続性については堅牢であると言える。
以後、ＳＬＦ時の安定性に関する性能指標を算出する際には、接続性が喪失したフローについては全て除いて考える。
【００１９】
（フロー長の増加に関する分析）
ホップ数がｙのフローがＳＬＦ時に影響を受ける障害発生パタン数の全リンク数ｍに対する割合をＲｆ（ｙ）とすると、Ｒｆ（ｙ）＝ｙ／ｍなので、ＮＷ全体で各フローが平均的に影響を受ける障害発生パタン数のｍに対する比率Ｒｆは、
【００２０】
【数４】
2009260705.tif 000006
より算出できる。
図１７は、各フローやリンクに影響を与える障害パタン数比率を示す図である。
図１７（ａ）には、３６のＮＷに対して、ｉｎｖ．ｃａｐにおけるＲｆとｍｉｎ．ｈｏｐにおけるＲｆの散布図を示している。ｉｎｖ．ｃａｐを用いると、ｍｉｎ．ｈｏｐと比較してフローの平均ホップ長が増加するため、Ｒｆは若干大きくなる。また、Ｌａｄｄｅｒ型のＮＷフローのホップ長が長くなる傾向があるため、Ｒｆが大きい。殆んどのＮＷはＲｆが０．１５程度より小さいため、ＳＬＦ時の平均的なフロー長増加特性を評価するに際し、各フローに対して影響を受けるリンク障害パタンのみを考慮する。すなわち、ＳＬＦ時のフローｓｄの平均フロー長ｈ’ｓｄを次式（５）で定義する。
【００２１】
【数５】
2009260705.tif 000007
ただし、ｍｓｄはＳＬＦ時にフローｓｄが影響を受けるリンク数、Ｅｓｄはそのリンク集合、ｈｓｄ，ｌはリンクｌのＳＬＦ時のノードｓ，ｄ間のフローの平均ホップ長、σｓｄ，ｌはリンクｌのＳＬＦ時にノードｓ，ｄ間に設けられるパス数、Ｐｓｄ，ｌはそのパス集合、ｈｓｄ，ｌ，ｐはＰｓｄ，ｌに属するパスｐのホップ長である。そして、ＳＬＦ時の平均フロー長倍率ξを、ξ＝Σｓ，ｄ∈Ｖｈ'ｓｄ／ｈｓｄ／ｎ／（ｎ−１）で算出する。また、ＳＬＦ時の最大フロー長倍率ξｍａｘを次式（６）で定義する。
【００２２】
【数６】
2009260705.tif 000008
ただし、ｈｍｉｎ，ｓｄは正常時にノードｓ，ｄ間に設置されるフロー最小ホップ長である。
図１８は、ＳＬＦ時のフロー長増加率を示す図である。
この図では、３６のＮＷを対象にξｍａｘとξの散布図を、（ａ）ｉｎｖ．ｃａｐと（ｂ）ｍｉｎ．ｈｏｐの各々について示している。ｍｉｎ．ｈｏｐとｉｎｖ．ｃａｐとで大きな差異は見られない。Ｌａｄｄｅｒ型のＮＷは全体的にフロー長が長いため、ＳＬＦ時の増加度合いも大きくなる傾向が見られる。特に、５つのＮＷはξｍａｘは突出して大きいが、これらは正常時の平均フロー長が大きい５つのＮＷである（図１４参照）。
次に、これらのＮＷで、ξｍａｘが大きな要因を考察する。
【００２３】
正常時のトポロジにおいて、任意のノードＡから出発して同じリンクを逆方向も含めて２回以上経由することなく、任意の他のノードＢを経由し、さらに元のノードＡに戻ることのできる経路の中で最小のコストのものをノードＡとノードの最短閉路と定義する。
最短閉路の存在しない二つのノード間のフローは、どのように経路を設定しても必ず経由する必要のあるリンクが存在することになり、そのリンクのＳＬＦ時には接続性が失われるため、ＳＬＦ時の安定性の評価の対象外となる。よって、最短閉路が存在するノードペアについてのみ考える。
【００２４】
ノードＡ，Ｂの最短閉路上には、リンクを共有しない二つの経路がＡとＢの間に存在するが、そのうちコストの小さい方がＡＢ間の最小コスト経路となり、もう一方が、次にコストの小さい経路となる。そのため、正常時には、最短閉路上のコストの小さい経路が用いられ、この経路上のリンクのＳＬＦ時には最短閉路上のもう一方の経路にフローが迂回される。そのため、最短閉路上の迂回経路のホップ数を正常時経路のホップ数で除したものがＡＢ間のフロー長倍率となる。よって、各ＮＷにおいて、隣接する二つのノードに対して定義される最短閉路の中でホップ数が最大のものを最大最短閉路と定義すると、最大最短閉路を導く二つの隣接ノード間のリンクのＳＬＦ時に、これら二つのノード間のフローのフロー長倍率がξｍａｘを与え、最大最短閉路のホップ数をθとすると、ξｍａｘ＝θ−１となる。
【００２５】
図１９は、ＡｔＨｏｍｅ  ｎｅｔｗｏｒｋのトポロジを示す図である。
この図では、ξｍａｘが突出して大きかった５つのＮＷの例として、ＮＷ４のトポロジを示している。このＮＷには、θ＝１４の最大最短閉路が２つ存在し、隣接ノードペア７，９などの最短閉路（７−９−１５−１８−２１−３９−４０−４１−３６−３８−１４−１２−１０−８−７）と、隣接ノードペア３３，３４などの最短閉路（１８−２０−２８−２９−３０−３１−３２−３３−３４−３５−３７−４０−３９−２１−１８）が該当する。例えば、ノード７，９間のリンクのＳＬＦ時、これらのノード間のフローのホップ長が１から１３に増加し、ξｍａｘ＝１３となる。
【００２６】
ξｍａｘの大きなＮＷはξも大きな傾向にあり、ξｍａｘの突出して出きな５つのＮＷのうちＮＷ２６を除く４つはξが１．８を超えていた。またＮＷ１１，１７，１８，２０，２１の５つのＮＷは、ξｍａｘは小さいもののξが大きい。このうち、ＮＷ１１と１８はＦｕｌｌ  ｍｅｓｈ型であり、正常時は殆んどのノード間のフローが１ホップであるのに対して、ＳＬＦ時には影響を受けたフローが２ホップとなり、ξが２に近くなる。また、ＮＷ１７，２０，２１はループトポロジに近く、θの総リンク数ｍに対する比率が大きく、多数のフローのフロー長倍率が大きくなる結果、ξが大きい。
【００２７】
（リンク負荷の増加に関する分析）
各リンクを経由するフロー数が正常時のフロー数と比較して増加するＳＬＦのパタン数の全リンクにわたる平均をリンク数で除した値をＲｌと定義する。
図１７（ｂ）に、３６のＮＷに対して、ｉｎｖ．ｃａｐにおけるＲｌとｍｉｎ．ｈｏｐにおけるＲｌの散布図を示す。ｉｎｖ．ｃａｐを用いると、特定のリンクにフローが集中するため、多くのリンクに対しては障害時にフローが迂回されず、ｍｉｎ．ｈｏｐと比較してＲｌが小さい。殆んどのＮＷはＲｆが０．５程度より小さいため、ＳＬＦ時の平均的な経由フロ数増加特性を評価するに際し、やはり各リンクの経由フロー数が増加するリンク障害パタンのみを考慮する。ＳＬＦ時のリンクの平均経由フロー数倍率をｎ−１で除して正規化した，正規化平均経由フロー数倍率εを次式（７）で定義する。
【００２８】
【数７】
2009260705.tif 000009
ただし、εｌはＳＬＦにおけるリンクｌの平均フロー数倍率、υ'ｌ，ｅはリンクｅのＳＬＦ時におけるリンクｌのフロー数（算出方法は前式（２）に準じる）、ｍε，ｌはυ'ｌ，ｅ＞υｌとなるＳＬＦパタン数、Ｅε，ｌはそのＳＬＦリンク集合、ｍεはｍε，ｌ＞０のリンク数、Ｅεはそのリンク集合である。また、ＳＬＦ時の最大フロー数倍率をｎ−１で正規化した、正規化最大フロー数倍率εｍａｘを次式（８）で定義する。
【００２９】
【数８】
2009260705.tif 000010
ただし、εとεｍａｘの算出において、υｌ＝０のリンクはυｌ＝１と置き換える。また、これらの評価値をｎ−１で除した正規化値で考えるのは、一つのノードを発ノードもしくは着ノードとするフローは、ｎ−１本存在するため、ｎが大きなほど、ＳＬＦ時のフロー数倍率が大きくなる傾向があり、その効果を除くためである。
【００３０】
図２０は、ＳＬＦ時のフロー数増加率を示す図である。
この図では、３６のＮＷを対象にεとεｍａｘの散布図を、（ａ）ｉｎｖ．ｃａｐと（ｂ）ｍｉｎ．ｈｏｐの各々について示している。ｍｉｎ．ｈｏｐを用いると、リンク間で経由フロー数の格差が大きいため、ＳＬＦ時のフロー数倍率も高くなる。ｉｎｖ．ｃａｐの場合、６つのＮＷで算出において、εｍａｘの値が大きいが、その要因を考察する。
【００３１】
ＳＬＦ時のフロー数倍率が高いリンクは正常時に経由するフロー数が少なく、かつＳＬＦ時に大量のフローが迂回される障害パタンが存在するリンクである。そのようなリンクは、１）二つ以上のハブノードを含む最短閉路、２）ホップ数の長い最短閉路、のいずれかに存在すると考えられる。そのような最短閉路を構成するリンクの容量の格差が大きく、一部のリンク容量が極端に小さい場合、小容量リンクの両端のノードＡ，Ｂ間のフローはｉｎｖ．ｃａｐにおいては、正常時にはそのリンクを用いず、最短閉路上を周回する経由を用いる。このようなリンクは正常時には経由するフロー数がゼロとなるが、最短閉路上に存在する少なくとも一方がＡ，Ｂとは異なる２個のノードのうち、やはり同一の最短閉路を構成するものの間の任意のリンクのＳＬＦ時には、大量のフローがＡ，Ｂ間を接続するリンクに迂回される結果、フロー数倍率が高くなる。
【００３２】
図２１は、ａｂｏｖｅ．ｎｅｔのトポロジを示す図である。
この図では、εｍａｘの大きいＮＷの例としてＮＷ１のトポロジを示している。ノードペア０，１および１，２の最短閉路は（０−１−２−０）であるが、リンク（０，１）と（０，２）の容量が６２２Ｍｂｐｓであるのに対してリンク（１，２）の容量は１５５Ｍｂｐｓである。そのため、正常時、ノード１，２間のフローも含めて、リンク（１，２）には全くフローが経由しないが、二つのハブノード０と１の間のリンクのＳＬＦ時、大量のフロが（０−２−１）の経路に迂回される結果、リンク（１，２）のフロー数倍率が高くなる。
【００３３】
最短閉路長が短い場合に、単一のリンクを通るコストが最短閉路上を周回するコストより大きくなり易いため、εｌが大きなリンクは３本のリンクから構成される最短閉路において生じ易い。実際に、εｍａｘの大きな６つのＮＷのうち、ＮＷ１，３，５は２以上のハブノードを含み、リンク容量格差の大きな３本のリンクから構成される最短閉路においてεｌが最大となった。また、ＮＷ８，２３は、各々、６，５ホップの最短閉路上においてεｌが最大となった。ただし、ＮＷ２は１７のノードが１本のリンクで接続する特殊な形状となっており、例外的に、接続点からＮＷの他の部分に接続する容量の異なる２本のリンクでεｌが最大となった。
【００３４】
このように、容量格差の大きいリンクで最短閉路を構成した場合、ＳＬＦ時に一部のリンクで経由フロー数が非常に増加する場合がある。特に、リンク容量の小さなリンクでフロー数倍率が高くなる場合、ＳＬＦ時にリンク輻輳を生じる要因となる。このことを確認するため、各リンクのＳＬＦ時の平均迂回フロー数を最大迂回フロー数で正規化した値ψを、正規化リンク容量に対して図２２にプロットする。
図２２は、ＳＬＦ時の正規化平均迂回フロー数を示す図である。
ここでは、リンク容量が不均一な２４のＮＷの各リンクに対して、（ａ）ｉｎｖ．ｃａｐ、（ｂ）ｍｉｎ．ｈｏｐの場合について示している。ここで、ψは、次式（９）で定義する。
【００３５】
【数９】
2009260705.tif 000011
ただし、ψｌはＳＬＦにおけるリンクｌの平均迂回フロー数、ｕｌ，ｅはリンクｅのＳＬＦ時においてリンクｌに迂回されるフロー数（算出方法は前式（２）に準じる）、ｍψ，ｌはｕｌ，ｅ＞０のＳＬＦパタン数、Ｅψ，ｌはそのＳＬＦリンク集合、ｍψはｍψ，ｌ＞０のリンク数、Ｅψはそのリンク集合である。最大リンク容量の０．１〜０．０１倍を下回る小容量リンクの多くに、最大迂回フロー数に近い大量のフローが迂回されることが確認できる。
【００３６】
（分析のまとめ設計指針）
公開されている３６の商用ＩＳＰのバックボーンＮＷを対象に、単一リンク障害（ＳＬＦ）に対する信頼性を接続性と品質の安定性の観点から評価し、信頼性が劣化する要因について分析した結果、以下のことが明らかとなった。
●ＳＬＦによりＮＷが分断されるリンクを有するＮＷは４つのみであり、大部分のＮＷは接続性の観点からは堅牢である。
●ＳＬＦ時のフロー長の最大増加量は最大最短閉路によって決まり、最大最短閉路長が長いＬａｄｄｅｒ型のＮＷがＳＬＦ時のフロー長の増加度合いが高くなる傾向がある。
●容量格差の大きなリンクから構成される，２個以上のハブノードを含むかホップ長の長い最短閉路上の小容量リンクが、ＳＬＦ時に経由するフロー数の増加度合いが大きい。ハブノードを多く含むＨ＆Ｓ型のＮＷにおいてＳＬＦ時のリンクのフロー数増加度合いが高くなる傾向がある。
【００３７】
以上のことから、容量格差の大きな最短閉路が存在するか否かを調べ、存在する場合には最短閉路上の小容量リンクの容量を増設することが、また、ホップ長が大きな最大最短閉路が存在するか否かを調べ、存在する場合には最大最短閉路のホップ長が小さくなるようバイパスリンクを設置することが、ＩＳＰにとって投資コストを抑えながら信頼性を効果的に向上させるために有効である。
【発明の開示】
【発明が解決しようとする課題】
【００３８】
先に出願された前述の『ネットワークのリンク増設箇所またはリンク容量増設箇所特定方法』では、実ネットワークを分析することで、単一リンク障害時のフローホップ長倍率とフロー数倍率を劣化させる要因を分析した。しかし、これら品質を改善するために効果的な選定方法については述べられていない。
【００３９】
（目的）
本発明の目的は、限られた投資コストで、効果的にこれら品質を改善するための，リンクとリンク容量増設方法、およびそのプログラムを提供することにある。
すなわち、本発明の目的は、トポロジとリンク容量が与えられたネットワークを対象に、投資コストを抑えながら効果的に信頼性を向上させるよう、適切なリンクとリンク容量増設箇所を発見する方法、特にネットワークの故障発生時にサービスを継続する目的で、リンク（通信路）増設を行う際に、過剰増設とならないように、適切な増設箇所を特定するためのリンクとリンク容量増設方法、およびそのプログラムを提供することにある。
【課題を解決するための手段】
【００４０】
本発明のリンク増設およびリンク容量増設方法は、ネットワークトポロジとリンク容量が与えられたときに、投資コストを抑えながら、ネットワークの障害時のホップ長の安定性とリンク負荷の安定性を効率的に向上させるために、適切なリンク増設箇所とリンク容量増設箇所を絞り込むことを特徴としている。
【００４１】
さらに、最大最短閉路（任意の二つのノードを含む経路で経路コストが最小のものを最短閉路と定義し、最短閉路の中でホップ長が最大のものを最大最短閉路と定義）のホップ長を効果的に削減し、障害時のホップ長倍率を低減するリンク増設箇所を抽出することを特徴としている。
【００４２】
さらに、障害時のフロー数倍率を低減するリンク容量増設箇所を抽出することも特徴としている。
さらに、リンク増設箇所の候補とリンク容量増設箇所の候補を抽出し、前者の障害時フロー長倍率低減効果と後者の障害時フロー数倍率低減効果を比較し、より効果の大きな方を選択することで、リンク増設とリンク容量増設箇所の選定を同時に行うことを特徴としている。
さらに、リンク増設箇所の候補とリンク容量増設箇所の候補を抽出する際に、改善対象でない側の品質尺度に下限許容量を設定し、そのような制約が満たされる範囲で最適な増設箇所を選定し、より効果の大きな方を選択することで、リンク増設とリンク容量増設箇所の選定を同時に行うことを特徴としている。
【発明の効果】
【００４３】
本発明によれば、ネットワークのトポロジとリンク容量が与えられているときに、単一リンク障害時における，フローのホップ長の増加、リンク負荷の増加、の二つを効果的に抑えるためのリンク増設およびリンク容量の増設箇所を絞り込むことができる、という効果を奏する。
【発明を実施するための最良の形態】
【００４４】
以下、本発明の実施の形態を図面により詳細に説明する。
図１は、本発明の実施形態に係る網トポロジ・リンク容量設計システムの構成図である。
図１において、１０１はトポロジ情報とリンク容量情報をシステムに入力するＮＷ条件入力装置、１０２はネットワーク構造の分析装置、１０３はリンク増設・リンク容量増設箇所を出力する出力装置である。
ＮＷ条件入力装置１０１により、ネットワークのトポロジとリンク容量が入力される。ネットワーク構造分析装置１０２により、効果的なリンク増設箇所・リンク容量増設箇所が特定される。そして、得られた増設箇所が、リンク増設・リンク容量増設箇所出力装置１０３によって出力される。
【００４５】
次に、本発明の実施の形態に係るネットワークの効果的な信頼性向上について、詳細を説明する。
１）（リンク増設箇所選択法）
ここでは、既に存在する任意のバックボーンＮＷに対して、ＳＬＦ時の最大フロー長倍率εを、少数のリンク増設で可能な限り改善する方法を検討する。これらを改善するためには、最大最短閉路のホップ長が小さくなるようバイパスリンクを設置することが有効である。ここでは、まず最大最短閉路をより厳密に定義し、効果的なリンク増設箇所選定アルゴリズムを提案する。
【００４６】
１−１）（最大最短閉路の定義）
パスｐを任意の二つの部分パスｐ１，ｐ２に分割できるとき、パスｐをｐ＝ｐ１＋ｐ２と表記する。三つ以上の部分パスに分割できる場合にも同様に表記する。また、パスｐのコストをｗ（ｐ）とし、フローｓｄ間の最小コストパスのコストをｗｓｄ（ｍｉｎ，１）、その次にコストの小さいｓｄ間のパスのコストをｗｓｄ（ｍｉｎ，２）とする。
【００４７】
図２は、本発明における最短閉路の例を示す図である。
ここでは、ノードＡ・Ｂ間のフローを示している。ｗ（ｐａ）＝ｗ（ｐｂ），ｗ（ｐｄ）＝ｗ（ｐｅ）と仮定すると、フローＡＢには、ｐａ＋ｐｃ＋ｐｄ，ｐａ＋ｐｃ＋ｐｅ，ｐｂ＋ｐｃ＋ｐｄ，ｐｂ＋ｐｃ＋ｐｅの４本の最小コストパスが存在し（パスコストはｗＡＢ（ｍｉｎ，１））、これら４本のパスが正常時に利用される。コストがｗｓｄ（ｍｉｎ，１）の全てのパスが経由する部分パスの集合を、フローｓｄのクリティカルパスセットΩｓｄと定義する。
図２の例では、パスｐｃがフローＡＢのクリティカルパスとなる。クリティカルパスが存在しない対地ペアも存在する。
【００４８】
クリティカルパスに障害が発生すると、正常時の全てのパスが利用できなくなる。元のトポロジＴからΩｓｄに含まれる全てのリンクを除いたトポロジ（Ｔ（−Ωｓｄ）と表記）上の最小コストパス（パスコストはｗＡＢ（ｍｉｎ，２））が、フローｓｄが正常時のパスを利用することができないときの迂回パスとなる。
図２の例では、ｐｆとｐｇの２本のパスがこれに該当する。
【００４９】
フローｓｄにクリティカルパスが存在しない場合、任意のＳＬＦにおいてパスコストが
ｗｓｄ（ｍｉｎ，２）の経路が利用されることはなく、ノードペアｓとｄの最短閉路はパスコストｗＡＢ（ｍｉｎ，１）のフローの中で辺独立な任意の２本のパスを組み合わせたものとなり、ＳＬＦ時のフロー長倍率は１となる。一方、フローｓｄにクリティカルパスが存在する場合、ノードペアｓとｄの最短閉路は、パスコストがｗｓｄ（ｍｉｎ，１）の任意のフローと、パスコストがｗｓｄ（ｍｉｎ，２）の任意のフローを組み合わせたものとなり、ＳＬＦ時のフロー長倍率はｍａｘ  ｈ（ｐ２）／ｍｉｎ  ｈ（ｐ１）となる。ただし、ｈ（ｐ）はパスｐのホップ数で、ｐ１とｐ２は各々、ｐ１∈Ｐｓｄ，ｐ２∈Ｐｓｄ（−Ωｓｄ）である。Ｐｓｄ（−Ωｓｄ）はトポロジＴ（−Ωｓｄ）上のフローｓｄの最小コストパス集合である。よって、この値が最大となる最短閉路が最大最短閉路となる。
【００５０】
１−２）（リンク増設箇所選定アルゴリズム）
可能な限り少ない数のリンク増設により、可能な限り最大フロー長倍率ξｍａｘと平均フロー長倍率ξを低減するためには、最大最短閉路を抽出し、そのホップ長を低減するようリンクを増設すればよい。ここでは、そのためのリンク増設箇所選定アルゴリズムを提案する。
【００５１】
１−３）（ＡｌｇｏｒｉｔｈｍＡ：リンク増設箇所選定）
Ａ−１・・・各ｓｄペアに対して、正常時のパス集合Ｐｓｄと、クリティカルパスに含まれるリンクの障害時のパス集合Ｐｓｄ（−Ωｓｄ）を算出する。
Ａ−２・・・ｍａｘ  ｈ（ｐ２）／ｍｉｎ  ｈ（ｐ１）の値が最大となるｓｄペアをランダムに選択（選択したｓｄペアをｓ＊、ｄ＊と表記）、
【００５２】
Ａ−３・・・Ｐｓ＊、ｄ＊（−Ωｓ＊ｄ＊）に含まれるパスの中でホップ数が最大のパスｐ上の隣接しない任意の２つのノードａ，ｂを選択し、Ｔに対してａｂ間に容量ｃのリンクを設置したトポロジ（Ｔ（＋ｅａｂ，ｃ）と表記）におけるξｍａｘとξを計算する。ただし、ｃは既設リンクの容量の集合Ｃから選択する。可能な全てのａ，ｂ，ｃの組の中で、ξｍａｘが最小となるものを選択する（選択した組をａ＊ｂ＊ｃ＊と表記）。ただし、ξｍａｘが等しいものが複数存在する場合には、その中でξが最小のものを選択する。
Ａ−４・・・ξｍａｘとξが悪化せず、かつ少なくとも一方が改善する場合には、ノードａｂ間に容量ｃのリンクを増設し、Ａ−１に戻る。そのようなリンク増設箇所が存在しない場合には、アルゴリズムを終了する。
【００５３】
ただし、ｍｉｎ．ｈｏｐの場合、リンク容量がルーティングに影響しないため、設置リンクの容量はＣのメディアンとする。次に、上記アルゴリズムの計算量について考える。
Ａ−１においては、各ｓｄペアに対してダイクストラ法を用いてＰｓｄ（−Ωｓｄ）上の最小コストパスを算出する必要があるが、ダイクストラ法の計算量はノード数ｎに対してＯ（ｎ２）となるため、Ａ−１の計算量はＯ（ｎ４）となる。Ａ−２は、Ｏ（１）でよい。
最後にＡ−３であるが、一つのａ，ｂ，ｃの組に対してξｍａｘとξを算出するのにＯ（ｍｎ３）の計算量を要する。よって、ｈｍａｘをＰｓ＊、ｄ＊（−Ωｓ＊ｄ＊）に含まれるパスの最大ホップ長、ｎｃをリンク容量の異なり数とすると、Ａ−３の計算量はＯ（ｈ２．ｍａｘｎｃｍｎ３）となる。ｎｃとｍの相関性は小さく、ｎｃはｍと比較して遥かに小さい。また、ｈｍａｘは、ｎと比較して遥かに小さいが、ｎと正の相関性がある。よって、Ａ−３の計算量はＯ（ｍｎ５）で上限を抑えることができ、この計算量が全体の計算量となる。
【００５４】
図３は、上述のリンク増設箇所選定アルゴリズムをコンピュータに実行させるための動作フローチャートである。
図１のＮＷ条件入力装置１０１がネットワークのトポロジとリンク容量とが入力されると、ネットワーク構造分析装置１０２は、コンピュータの制御によりリンク増設箇所選定用プログラムを実行することで、上述のリンク増設箇所選定が実現される。
まず、各ｓｄペアに対して、正常時のパス集合Ｐｓｄと、クリティカルパスに含まれるリンクの障害時のパス集合Ｐｓｄ（−Ωｓｄ）を算出する（ステップＡ−１）。
次に、ｍａｘ  ｈ（ｐ２）／ｍｉｎ  ｈ（ｐ１）の値が最大となるｓｄペアをランダムに選択する（ステップＡ−２）。なお、選択されたｓｄペアを、ｓ＊，ｄ＊とする。
【００５５】
選択されたパス集合Ｐｓ＊ｄ＊（−Ωｓ＊ｄ＊）に含まれるパスの中でホップ数が最大のパスｐ上の隣接しない任意の２つのノードａ，ｂを選択し（ステップＡ−３−１）、トポロジＴに対してａｂ間に容量ｃのリンクを設置したトポロジ（Ｔ（＋ｅａｂ，ｃ））における最大フロー長倍率ξｍａｘと平均フロー長倍率ξを計算する（ステップＡ−３−２）。
可能な全てのａ，ｂ，ｃの組の中で、最大フロー長倍率ξｍａｘが等しいものが複数存在する場合には（ステップＡ−３−３）、その中で平均フロー長倍率ξが最小のものを選択する（ステップＡ−３−４）。
最大フロー長倍率ξｍａｘと平均フロー長倍率ξが悪化せず、かつ少なくとも一方が改善する場合には（ステップＡ−４−１）、ノードａ＊，ｂ＊間に容量ｃ＊のリンクを増設する（ステップＡ−４−２）。そして、ステップＡ−１に戻る。
そのようなリンク増設箇所が存在しない場合には、処理を終了する。
【００５６】
２）（リンク容量増設箇所選択法）
次に、既に存在する任意のバックボーンＮＷに対して、ＳＬＦ時の正規化最大フロー数倍率εｍａｘと正規化平均フロー数倍率εを、少数のリンクの容量増設で可能な限り改善するリンク容量増設箇所選定アルゴリズムを提案する。
各リンクｌに対して、最大フロー数倍率εｍａｘ，ｌを、次式（１０）で定義する。
【００５７】
【数１０】
2009260705.tif 000012
ｉｎｖ．ｃａｐにおいて、この値が大きなリンクの容量を増設すれば正常時の経由フロー数ＳＬＦ時の経由フロー数の格差を低減できることから、εｍａｘとεの改善が期待できる。そこで、εｍａｘ，ｌの大きなリンクから順に容量増設を試る。以下に、アルゴリズムを示す。
【００５８】
２−１）（ＡｌｇｏｒｉｔｈｍＢ：リンク容量増設箇所選定）
Ｂ−１・・・各リンクｌに対してεｍａｘ，ｌを算出する。
Ｂ−２・・・εｍａｘ，ｌの値が大きな順にリンクｌを選択し、以下の処理を反復。
Ｂ−２−１・・・リンクｌの容量を、リンク容量セットＣに含まれる値で現在の容量より大きな値ｃに増設した場合のεｍａｘを計算。
Ｂ−２−２・・・εｍａｘが最小となるリンクｌ＊の容量をｃ＊（εｍａｘが同一のものが複数存在する場合には、その中でεが最小のものとする。また、そのような容量が複数存在する場合には、最小の容量とする）に増設した場合に、εｍａｘとεの両方が悪化しないで、かつ少なくとも一方が改善する場合には、Ｂ−３に進む。そのような容量ｃが存在しない場合には、次の容量増設候補リンクｌを対象に、Ｂ−２−１に進む。全てのリンクを対象に調べても、そのようなリングが存在しない場合には、アルゴリズムを終了。
Ｂ−３・・・リンクｌ＊の容量をｃ＊に増設し、Ｂ−１に戻る。
【００５９】
次に、上記アルゴリズムの計算量について考察する。Ｂ−１において、各リンクｌを正常時にフローが経由するｓｄペアの集合を管理することにより、一つのリンクをフローが経由する発ノードｓの数をｎｓとすると、Ｏ（ｍｎｓｎ２）の計算量となる。ｎｓはｎで上限が抑えられることから、Ｏ（ｍｎ３）で計算量の上限が抑えられる。一方、Ｂ−２はＯ（ｎｃｍｎ３）〜Ｏ（ｍｎ３）の計算量を必要とすることから、Ｏ（ｍｎ３）で計算量の上限が抑えられる。一方、Ｂ−２はＯ（ｎｃｍｎ３）〜Ｏ（ｍｎ３）の計算量を必要とすることから、やはり全体ではＯ（ｍｎ３）の計算量となる。リンク増設箇所の選定の場合と比較して、計算量は大幅に小さい。
【００６０】
図４は、上述のリンク容量増設箇所選定アルゴリズムをコンピュータに実行させるための動作フローチャートである。
まず、各リンクｌに対して最大フロー数倍率εｍａｘ，ｌを算出する（ステップＢ−１）。
最大フロー数倍率εｍａｘ，ｌの値が大きな順にリンクｌを選択する（ステップＢ−２）。
次に、リンクｌの容量を、リンク容量セットＣに含まれる値で現在の容量より大きな値ｃに増設した場合の最大フロー数倍率εｍａｘと平均フロー数倍率εを計算する（ステップＢ−２−１）。
最大フロー数倍率εｍａｘが同一のものが複数存在する場合には（ステップＢ−２−２−１）、その中で平均フロー数倍率εが最小のものを選択する（ステップＢ−２−２−２）。
最大フロー数倍率εｍａｘが最小となるリンクｌ＊の容量をｃ＊に増設した場合に、最大フロー数倍率εｍａｘと平均フロー数倍率εの両方が悪化しないで、かつ少なくとも一方が改善する場合には（ステップＢ−２−２−３）、εｍａｘが最小となるリンクｌ＊の容量をｃ＊に増設する（ステップＢ−３）。そして、Ｂ−１に進んで、処理を反復する。
【００６１】
３）（リンク・リンク容量増設箇所選択法）
リンク増設アルゴリズムもしくはリンク容量増設アルゴリズムを個別に適用した場合、考慮しない品質（前者の場合はフロー数倍率特性、後者の場合はフロー長倍率特性）が悪化することが懸念される。そこで、ξｍａｘ、ξ、εｍａｘ、εの４つを同時に考慮し、リンク増設とリンク容量増設を同時に行う方法を検討する。
各々のアルゴリズムを用いて、リンク増設箇所の候補と、リンク容量増設可能の候補を選定し、リンク増設を行った場合の効果をζｌｉｎｋ，１およびζｌｉｎｋ，２として、リンク容量増設を行った場合の効果をζｃａｐ，１とζｃａｐ，２として算出する。ただし、
【００６２】
【数１１】
2009260705.tif 000013
であり、ξｍａｘ，ξ，εｍａｘ，εは、各々増設を行う前の評価値、ξ’ｍａｘ，ξ’，ε’ｍａｘ，ε’は、各々増設を行った後の評価値である。
そして、ζｌｉｎｋ，１＞ζｃａｐ，１、もしくはζｌｉｎｋ，１＝ζｃａｐ，１、かつζｌｉｎｋ，２＞ζｃａｐ，２の場合にはリンク増設を、もしくはζｌｉｎｋ，１＝ζｃａｐ，１、かつζｌｉｎｋ，２＜ζｃａｐ，２、の場合にはリンク容量の増設を行う。以下に、アルゴリズムをまとめる。
【００６３】
（Ａｌｇｏｒｉｔｈｍ  Ｃ：リンク増設・リンク容量増設箇所選定）
Ｃ−１・・・アルゴリズムＡのＡ−１、Ａ−２、Ａ−３を実行し、リンク増設の候補箇所を選定する。
Ｃ−２・・・アルゴリズムＢのＢ−１、Ｂ−２を実行し、リンク容量増設の候補箇所を選定する。
Ｃ−３・・・以下の条件で、処理項目を選択
（ａ）−１）ζｌｉｎｋ，１とζｌｉｎｋ，２の両方がゼロ以上で、かつ少なくとも一方がゼロより大きい、−２）ζｌｉｎｋ，１＞ζｃａｐ，１もしくはζｌｉｎｋ，１＝ζｃａｐ，１かつζｌｉｎ２＞ζｃａｐ，２、という二つの条件が共に満たされる場合、Ｃ−１で選定した箇所にリンクを増設し、Ｃ−１に進む。
（ｂ）−１）ζｃａｐ，１とζｃａｐ，１の両方がゼロ以上で、かつ少なくとも一方がゼロより大きい、−２）ζｌｉｎｋ，１＜ζｃａｐ，１，もしくはζｌｉｎｋ，１＝ζｃａｐ，１かつζｌｉｎｋ，２＜ζｃａｐ，２という二つの条件が共に満たされる場合、Ｃ−２で選定した箇所のリンク容量を増設し、Ｃ−１に進む。
（ｃ）それ以外の場合、アルゴリズムを終了する。
【００６４】
図５は、上述のリンク増設・リンク容量増設箇所選定アルゴリズムをコンピュータに実行させるための動作フローチャートである。
まず、図３に示すステップＡ−１〜Ａ−４を実行して、リンク増設の候補箇所を選定する（ステップＣ−１）。
次に、図４に示すステップＢ−１〜Ｂ−３を実行して、リンク容量増設の候補箇所を選定する（ステップＣ−２）。
リンク増設を行った場合の２つの効果ζｌｉｎｋ，１，ζｌｉｎｋ，２の両方がゼロ以上、かつ少なくとも一方がゼロより大きいか否かを判定する（ステップＣ−３−ａ（１））。また、リンク増設の効果ζｌｉｎｋ，１＞ζｃａｐ，１，もしくはζｌｉｎｋ，１＝ζｃａｐ，１かつζｌｉｎｋ，２＞ζｃａｐ，２、という二つの条件が共に満たされるか否かを判定して（ステップＣ−３−ａ（２））、Ｃ−１で選定した候補箇所にリンクを増設する（ステップＣ−３−ａ（３））。
【００６５】
また、増設を行う前の効果ζｃａｐ，１とζｃａｐ，２の両方がゼロ以上、かつ少なくとも一方がゼロより大きいか否かを判定する（ステップＣ−３−ｂ（１）。また、ζｃａｐ，１＜ζｃａｐ，２，もしくはζｌｉｎｋ，１＝ζｃａｐ，１、かつζｌｉｎｋ，２＜ζｃａｐ，２、という二つの条件が共に満たされるか否かを判定する（ステップＣ−３−ｂ（２））。それらが満たされれば、Ｃ−２の候補箇所にリンク容量を増設する（ステップＣ−３−ｂ（３））。そして、Ｃ−１に進む。
また、それ以外の場合（条件が満足しない場合）には、処理を終了する。
【００６６】
ただし、上記アルゴリズムにおいては、リンク増設箇所の選定時にはεｍａｘとεを、リンク容量増設箇所の選定時にはξｍａｘとξを考慮せず、これら特性が悪化する結果、これら４つの特性がリンク増設やリンク容量増設に伴い、安定して改善しないで振動する可能性がある。そこで、アルゴリズムＣを改良した以下のアルゴリズムを提案する。ただし、αはα≧１の値をとる実数パラメタで、アルゴリズムの開始時に与える。
【００６７】
（Ａｌｇｏｒｉｔｈｍ  Ｄ：リンク増設・リンク容量増設箇所選定）
Ｄ−１・・・アルゴリズムＡのＡ−１，Ａ−２，Ａ−３を実行し、リンク増設の候補箇所を選定する。ただし、Ａ−３において、ε’ｍａｘ＜αεｍａｘとε’＜αεが満たされる条件の範囲で改善効果が最大のａ，ｂ，ｃを選択する。
Ｄ−２・・・アルゴリズムＢのＢ−１，Ｂ−２を実行し、リンク容量増設の候補箇所を選定する。ただし、Ｂ−２において、ξ’ｍａｘ＜αξｍａｘとξ’＜αξが満たされる条件の範囲で、改善効果が最大のｌとｃを選択する。
Ｄ−３・・・Ｃ−３と同じ。
【００６８】
図６は、上述のリンク増設・リンク容量増設箇所選定アルゴリズムをコンピュータに実行させるための動作フローチャートである。
まず、図３に示したステップＡ−１〜Ａ−４を実行して、リンク増設の候補箇所を選定する（ステップＤ−１−１）。
次に、最大フロー長倍率ε’ｍａｘ＜αεｍａｘであること、平均フロー長倍率ε’＜αεであること、の両方が満足しているか否かを判定し（ステップＤ−１−２）、満たしているならば、改善効果が最大のａ，ｂ，ｃを選択する（ステップＤ−１−３）。
次に、図４に示したステップＢ−１〜Ｂ−３を実行して、リンク容量を増設する候補箇所を選定する（ステップＤ−２−１）。
【００６９】
この場合、最大フロー数倍率、ξ’ｍａｘ＜αξｍａｘであること、および、平均フロー数倍率ξ’＜αξであること、の両方が満たされるか否かを判定する（ステップＤ−２−２）。
満たされているならば、改善効果が最大のｌとｃを選択する（ステップＤ−２−３）。
次に、図５に示すステップＣ−３−ａ（１）〜Ｃ−３−ｂ（３）を実行し（ステップＤ−３−１）、ステップＤ−１−１で選定した候補箇所にリンク増設を行うとともに、ステップＤ−１−２で選定した候補箇所にリンク容量増設を行う（ステップＤ−３−２）。
そして、ステップＤ−１−１に進む。
なお、Ｄ−１−２およびＤ−２−２で満足していない場合には、処理を終了する。
【００７０】
（数値評価）
ここでは、Ｗｅｂ上で公開されている３６の商用ＩＳＰのバックボーンＮＷを対象に、提案アルゴリズムを適用した結果について述べる。評価を行うに際し、リンク重みの設定には全てｉｎｖ．ｃａｐを用いた。
ａ）（リンク増設のみの場合）
まず、リンク増設箇所選定アルゴリズムのみを適用した場合（アルゴリズムＡ）について評価する。
図７は、本発明のアルゴリズムＡの適用結果を示す図である。
図７では、ｉ本のリンクを増設した時点における，ξｍａｘ（ａ）、ξ（ｂ）、εｍａｘ（ｃ）、ε（ｄ）の値を、各々、全リンク数ｍに対する増設リンク数比率（ｉ／ｎ）に対して示している。ただし、ξｍａｘが突出して大きい５つのＮＷに対する結果のみを示している。リンクの増設に伴って、ξｍａｘとξが改善することが確認できる。全リンク数ｍの１０％程度の数のリンクを増設するだけで、ξｍａｘを５０％〜７５％程度、ξを３０％〜４０％程度、低減することが可能である。しかし、一方で、リンク増設の結果、εｍａｘとεが悪化している。これは、リンク増設箇所を選定する際に、ＳＬＦ時のフロー数倍率を考慮しないためである。
【００７１】
ｂ）（リンク容量のみの場合）
次に、リンク容量増設箇所選定アルゴリズムのみを適用した場合（アルゴリズムＢ）について評価する。
図８は、本発明のアルゴリズムＢの適用結果を示す図である。
図８では、ｉ本のリンクを増設した時点における，εｍａｘ（ａ）、ε（ｂ）、ξｍａｘ（ｃ）、ξ（ｄ）、の値を各々、全リンク数ｍに対する容量増設リンク数比率（ｉ／ｎ）に対して示す。ただし、εｍａｘが大きい６つのＮＷに対する結果のみを示している。リンク容量の増設に伴って、εｍａｘとεが改善することが確認できる。全リンク数ｍの５％程度の数のリンクの容量を増設するだけで、εｍａｘを９０％、εを７０％程度、低減することが可能である。また、リンク容量増設の結果、ξｍａｘとξは殆んど変化しない。リンク増設箇所を選定する際に、ＳＬＦ時のフロー長倍率は考慮していないため、これらを改善することはできない。
【００７２】
ｃ）（リンク増設とリンク容量増設を両方行う場合）
図９は、本発明のアルゴリズムＣの適用結果を示す図である。
図９では、アルゴリズムＣを適用し、ｉ本のリンクを増設もしくは容量増設した時点における，ξｍａｘ（ａ）、ξ（ｂ）、εｍａｘ（ｃ）、ε（ｄ）、の値を各々、増設もしくは容量増設したリンクの本数のｍに対する比率（ｉ／ｎ）に対して示す。ただし、ξｍａｘかεｍａｘが大きい９つのＮＷに対する結果のみを示している。各反復において、単に解の改善効果の大きなアクションをとった場合、考慮されなかった尺度が悪化する結果、特にεｍａｘとεが激しく振動することが確認できる。
【００７３】
図１０は、本発明のアルゴリズムＤの適用結果を示す図である。
図１０では、考慮しない側の尺度に制約値を設けた場合（アルゴリズムＤ）を適用した結果を示している。ただし、α＝１．１とした。４つの評価尺度の全てが、リンクやリンク容量の増設に伴って、安定して改善していく様子が確認できる。
【００７４】
図３〜図６に示すフローチャートの各ステップをプログラム化したものをＣＤ−ＲＯＭなどの記録媒体に格納して、図１に示すネットワーク構造分析装置１０２が内蔵するコンピュータに装着し、プログラムをインストールしてこれを実行させることにより、本発明を容易に実現することができる。また、例えば、本発明の装置からインターネットを経由して他の端末に本プログラムをダウンロードすることで、本プログラムの汎用化が可能となる。
【図面の簡単な説明】
【００７５】
【図１】本発明の実施形態に係るリンク増設・リンク容量増設のためのシステム構成図である。
【図２】最短閉路の例を示す図である。
【図３】本発明の一実施形態に係るアルゴリズムＡの動作フローチャートである。
【図４】同じくアルゴリズムＢの動作フローチャートである。
【図５】同じくアルゴリズムＣの動作フローチャートである。
【図６】同じくアルゴリズムＤの動作フローチャートである。
【図７】本発明におけるアルゴリズムＡの適用結果を示す図である。
【図８】同じくアルゴリズムＢの適用結果を示す図である。
【図９】同じくアルゴリズムＣの適用結果を示す図である。
【図１０】同じくアルゴリズムＤの適用結果を示す図である。
【図１１】平均次数と最大次数の散布図である。
【図１２】ネットワークトポロジの例を示す図である。
【図１３】Ｈ＆Ｓ型ネットワークの特性を示す図である。
【図１４】正常時のフロー特性を示す図である。
【図１５】正常時のリンク負荷特性を示す図である。
【図１６】次数１のノード数比率を示す図である。
【図１７】各フローやリンクに影響を与える障害パタン数比率を示す図である。
【図１８】ＳＬＦ時のフロー長増加率を示す図である。
【図１９】Ａｔ  Ｈｏｍｅ  ｎｅｔｗｏｒｋのトポロジを示す図である。
【図２０】ＳＬＦ時のフロー数増加率を示す図である。
【図２１】ａｂｏｖｅ．ｎｅｔのトポロジを示す図である。
【図２２】ＳＬＦ時の正規化平均迂回フロー数を示す図である。
【図２３】評価に用いた３６のＮＷについて、名称、ノード数、リンク数、リンク容量の最小値と最大値をまとめた図である。
【符号の説明】
【００７６】
１０１  ＮＷ条件入力装置
１０２  ネットワーク構造分析装置
１０３  リンク増設・リンク容量増設箇所出力装置
Ａ，Ｂ，Ｃ，Ｄ  ノード
ｐａ，ｐｂ，ｐｃ，ｐｄ，ｐｅ，ｐｆ，ｐｇ  パス
【図１】
2009260705.tif 000014
【図２】
2009260705.tif 000015
【図３】
2009260705.tif 000016
【図４】
2009260705.tif 000017
【図５】
2009260705.tif 000018
【図６】
2009260705.tif 000019
【図７】
2009260705.tif 000020
【図８】
2009260705.tif 000021
【図９】
2009260705.tif 000022
【図１０】
2009260705.tif 000023
【図１１】
2009260705.tif 000024
【図１２】
2009260705.tif 000025
【図１３】
2009260705.tif 000026
【図１４】
2009260705.tif 000027
【図１５】
2009260705.tif 000028
【図１６】
2009260705.tif 000029
【図１７】
2009260705.tif 000030
【図１８】
2009260705.tif 000031
【図１９】
2009260705.tif 000032
【図２０】
2009260705.tif 000033
【図２１】
2009260705.tif 000034
【図２２】
2009260705.tif 000035
【図２３】
2009260705.tif 000036