(57)【要約】【課題】ネットワーク全体におけるリソース利用量を低減し、ネットワークに、より多数のトポロジを収容することができる、ネットワークトポロジ設計装置、ネットワークトポロジ設計方法、およびプログラムを提供する。【解決手段】複数のノードを備えるルータ網（下位網）の上位のレイヤに構築されるオーバーレイネットワークにおいて、複数のサービスごとのトポロジを収容する際に、ネットワークトポロジ設計装置１０は、各サービスごとに消費するリソース利用量を算出し、リソース利用量の大きいサービスを優先的に収容する。そして、ネットワークトポロジ設計装置１０は、ルータ網（下位網）２における各リンクのリンク利用率を算出し、リンク利用率が高いリンクを利用されにくく設定したリンクコストを用いて経路選択を行い、各サービスのトポロジを構築する。【選択図】図６
2011004294.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードと前記ノードを接続するための複数のリンクとを備えるデータネットワークに、複数のサービスごとにそのサービスを収容するためのトポロジを設計するネットワークトポロジ設計装置であって、
（１）前記データネットワークの各ノード間に流れるフローのトラヒック量を示す交流トラヒック量を含むネットワーク情報、（２）前記サービスごとのトポロジにより示される経路の経路情報および前記データネットワークにおける前記フローのホップ数に関する情報を含むトポロジ情報、が記憶される記憶部と、
前記データネットワークから、前記交流トラヒック量に関する情報を収集するネットワーク情報収集部と、
前記収集した交流トラヒック量および前記サービスごとの経路情報を用いて各サービスにおける各フローごとのトラヒック量を算出し、当該算出したフローのトラヒック量と当該フローの前記ホップ数との積を前記サービスごとのすべてのフローについて総和し、前記収容するサービスごとのリソース利用量を算出し、前記算出したリソース利用量が多い程、前記サービスを収容する優先度が高くなるような評価値を算出し、前記算出した評価値の大きい順に前記複数のサービスの前記データネットワークへの収容順序を決定する収容順序決定部と、
前記収容順序決定部が決定した収容順序に基づいて、前記複数のサービスごとにトポロジを構築し、前記構築したトポロジに関する前記トポロジ情報を用いて前記記憶部に記憶されたトポロジ情報を更新するトポロジ構築部と、
を備えることを特徴とするネットワークトポロジ設計装置。
【請求項２】
前記記憶部には、前記リンクごとの最大利用可能帯域に関する情報が前記ネットワーク情報としてさらに記憶されており、
前記トポロジ構築部は、
前記記憶部に記憶された前記交流トラヒック量および前記リンクごとの最大利用可能帯域を用いて、各リンクのリンク利用率を算出し、前記算出したリンク利用率が所定の値より高いリンクのリンクコストを増加し、前記各リンクのリンクコストを用いて各サービスごとに各サービスのフローを収容する経路を算出しトポロジを構築すること
を特徴とする請求項１に記載のネットワークトポロジ設計装置。
【請求項３】
複数のノードと前記ノードを接続するための複数のリンクとを備えるデータネットワークに、複数のサービスごとにそのサービスを収容するためのトポロジを設計するネットワークトポロジ設計装置に用いられるネットワークトポロジ設計方法であって、
前記ネットワークトポロジ設計装置は、
（１）前記データネットワークの各ノード間に流れるフローのトラヒック量を示す交流トラヒック量を含むネットワーク情報、（２）前記サービスごとのトポロジにより示される経路の経路情報および前記データネットワークにおける前記フローのホップ数に関する情報を含むトポロジ情報、が記憶される記憶部を備え、
前記データネットワークから、前記交流トラヒック量に関する情報を収集するステップと、
前記収集した交流トラヒック量および前記サービスごとの経路情報を用いて各サービスにおける各フローごとのトラヒック量を算出し、当該算出したフローのトラヒック量と当該フローの前記ホップ数との積を前記サービスごとのすべてのフローについて総和し、前記収容するサービスごとのリソース利用量を算出し、前記算出したリソース利用量が多い程、前記サービスを収容する優先度が高くなるような評価値を算出し、前記算出した評価値の大きい順に前記複数のサービスの前記データネットワークへの収容順序を決定するステップと、
前記収容順序決定部が決定した収容順序に基づいて、前記複数のサービスごとにトポロジを構築し、前記構築したトポロジに関する前記トポロジ情報を用いて前記記憶部に記憶されたトポロジ情報を更新するステップと、
を実行することを特徴とするネットワークトポロジ設計方法。
【請求項４】
前記記憶部には、前記リンクごとの最大利用可能帯域に関する情報が前記ネットワーク情報としてさらに記憶されており、
前記複数のサービスごとにトポロジを構築するステップは、
前記記憶部に記憶された前記交流トラヒック量および前記リンクごとの最大利用可能帯域を用いて、各リンクのリンク利用率を算出し、前記算出したリンク利用率が所定の値より高いリンクのリンクコストを増加し、前記各リンクのリンクコストを用いて各サービスごとに各サービスのフローを収容する経路を算出しトポロジを構築すること
を特徴とする請求項３に記載のネットワークトポロジ設計方法。
【請求項５】
請求項３または請求項４に記載のネットワークトポロジ設計方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークトポロジ設計装置、ネットワークトポロジ設計方法、およびプログラムに関する。
【背景技術】
【０００２】
多数のサービスをルータ網等に収容するため、ルータにおいて膨大となるエントリを宛先ごとに保持する必要をなくし、サービスごとに構築される論理的なトポロジを、ルータ網（下位網）の上位のレイヤにオーバーレイでツリートポロジとして構築する技術が開示されている（例えば、非特許文献１参照）。
【０００３】
また、非特許文献１のオーバーレイツリートポロジを構築する際に、交流トラヒック（各ルータ間のトラヒック量）と対地（通信相手）間の通信ホップ数情報を利用して、単一のサービスにおけるリソース利用量を抑制することが可能なオーバーレイツリートポロジ構築法が開示されている（例えば、非特許文献２参照）。この非特許文献２において開示されたトポロジ構築法は、具体的には、まずルータ網上に存在するノードのうちからオーバーレイツリートポロジに参加させるノード（オーバーレイ参加ノード）を交流トラヒック量に基づき選択し、選択したノードの中から発着トラヒック量が多いノードをルートノードとして決定する。そして、そのルータ網において決定したルートノードからオーバーレイ参加ノードまでの最短経路（ホップ数が最小となる経路）を、最もリソース利用量が少なくてすむ経路として探索する。そして、その探索した経路と、ルータ網（下位網）の上位のレイヤに仮想的に設けられたオーバーレイネットワーク上の経路とを対応付ける経路情報を生成することで、オーバーレイツリートポロジを構築する。
【０００４】
なお、ここでリソース利用量とは、各フローのトラヒック量と各フローに必要な下位網（ルータ網等）のホップ数の積の総和を意味し、サービスごとのリソース利用量といった場合には、当該サービスにおいて流れるフロー全体に注目し、そのトラヒック量とそのホップ数の積の総和を指す。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】磯貝彰則，他「多数サービスをスケーラブルに収容するネットワーク仮想化技術に関する検討」，2008年9月ソサイエティ大会（ＢＳ−５−３）
【非特許文献２】磯貝彰則，他「ネットワークリソース利用効率を考慮したオーバーレイ・ツリートポロジ構築法の検討」，2009年電子情報通信学会総合大会（Ｂ−６−１０９）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
この非特許文献２に記載されたオーバーレイツリートポロジ構築法は、ツリートポロジを構築する際に、単一のツリートポロジにおいて流れるトラヒックのみに注目したものであるため、単一のツリートポロジにおいて消費するネットワークリソース（リソース利用量）を抑制することが可能となる。しかしながら、複数のサービスを収容するネットワークにおいては、トポロジ構築時や現状のトポロジから再度新しいトポロジを構築する際において、他のサービスのトポロジ、交流トラヒックを踏まえてトポロジを構築する必要がある。これは、非特許文献２に記載のリソース利用量を抑えるトポロジ構築法を、収容するサービス数回繰り返しても、各サービス単体としてのリソース利用量は低減されるが、収容しようとする複数のサービス全体の動向に基づくリンク容量やリンク利用率（リンクの最大利用可能帯域に対する利用している帯域の割合）が考慮されていないため、収容可能なサービス数については、減少してしまう可能性があるからである。
【０００７】
具体的には、リンク容量やリンク利用率が考慮されないトポロジが構築されると、単一のリンクが過剰に使用される可能性がある。すると、多数のサービスを収容する際には、リンク容量の制限により、オーバーレイツリートポロジが単一のリンクの最大利用可能帯域以内で利用できず、必要以上に迂回が必要なトポロジを構築しなければならなくなる。さらに、単一リンクが過剰に使用され、単一リンクに負荷が集中した結果、パケットの欠落や遅延の増大といった品質の点でサービスに影響を与える事態が発生する可能性が高くなる。なお、以下の説明において、トポロジを構築するという記載は、他の説明がない限り、非特許文献２におけるオーバーレイツリートポロジ構築法のよる処理を意味する。
【０００８】
また、ノード数が多い大規模かつ多数のサービスの収容を目的としたネットワークにおいて、各サービスの遅延や帯域等の要求品質を満たした上で、全体としてリソース利用量を最小化するサービスごとのツリートポロジを算出することは、計算量の観点で膨大になる。よって、複数のサービスの交流トラヒック等の変化に追従してトポロジの構築を行う場合においては、非現実的なものとなる。
【０００９】
このような背景に鑑みて本発明がなされたのであり、本発明は、ネットワーク全体におけるリソース利用量を低減し、ネットワークに、より多数のサービスのトポロジを収容するネットワークトポロジ設計装置、ネットワークトポロジ設計方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
前記した課題を解決するため、請求項１に記載の発明は、複数のノードと前記ノードを接続するための複数のリンクとを備えるデータネットワークに、複数のサービスごとにそのサービスを収容するためのトポロジを設計するネットワークトポロジ設計装置であって、（１）前記データネットワークの各ノード間に流れるフローのトラヒック量を示す交流トラヒック量を含むネットワーク情報、（２）前記サービスごとのトポロジにより示される経路の経路情報および前記データネットワークにおける前記フローのホップ数に関する情報を含むトポロジ情報、が記憶される記憶部と、前記データネットワークから、前記交流トラヒック量に関する情報を収集するネットワーク情報収集部と、前記収集した交流トラヒック量および前記サービスごとの経路情報を用いて各サービスにおける各フローごとのトラヒック量を算出し、当該算出したフローのトラヒック量と当該フローの前記ホップ数との積を前記サービスごとのすべてのフローについて総和し、前記収容するサービスごとのリソース利用量を算出し、前記算出したリソース利用量が多い程、前記サービスを収容する優先度が高くなるような評価値を算出し、前記算出した評価値の大きい順に前記複数のサービスの前記データネットワークへの収容順序を決定する収容順序決定部と、前記収容順序決定部が決定した収容順序に基づいて、前記複数のサービスごとにトポロジを構築し、前記構築したトポロジに関する前記トポロジ情報を用いて前記記憶部に記憶されたトポロジ情報を更新するトポロジ構築部と、を備えることを特徴とする。
【００１１】
請求項３に記載の発明は、複数のノードと前記ノードを接続するための複数のリンクとを備えるデータネットワークに、複数のサービスごとにそのサービスを収容するためのトポロジを設計するネットワークトポロジ設計装置に用いられるネットワークトポロジ設計方法であって、前記ネットワークトポロジ設計装置は、（１）前記データネットワークの各ノード間に流れるフローのトラヒック量を示す交流トラヒック量を含むネットワーク情報、（２）前記サービスごとのトポロジにより示される経路の経路情報および前記データネットワークにおける前記フローのホップ数に関する情報を含むトポロジ情報、が記憶される記憶部を備え、前記データネットワークから、前記交流トラヒック量に関する情報を収集するステップと、前記収集した交流トラヒック量および前記サービスごとの経路情報を用いて各サービスにおける各フローごとのトラヒック量を算出し、当該算出したフローのトラヒック量と当該フローの前記ホップ数との積を前記サービスごとのすべてのフローについて総和し、前記収容するサービスごとのリソース利用量を算出し、前記算出したリソース利用量が多い程、前記サービスを収容する優先度が高くなるような評価値を算出し、前記算出した評価値の大きい順に前記複数のサービスの前記データネットワークへの収容順序を決定するステップと、前記収容順序決定部が決定した収容順序に基づいて、前記複数のサービスごとにトポロジを構築し、前記構築したトポロジに関する前記トポロジ情報を用いて前記記憶部に記憶されたトポロジ情報を更新するステップと、を実行することを特徴とする。
【００１２】
このようにすることで、データネットワークから交流トラヒック量に関する情報を収集し、収集した交流トラヒック量に関する情報と記憶部に記憶されたホップ数に関する情報とから、収容するサービスごとのリソース利用量を算出する。次に、算出したリソース利用量に基づき、複数のサービスの収容順序を決定するための評価値を算出し、その算出した評価値が大きい順に、データネットワークへの収容順序を決定する。そして、決定した収容順序に基づいて、各サービスごとにトポロジを構築する。
【００１３】
したがって、本発明によれば、リソース利用量が大きいサービスを優先的に収容することができ、トポロジを構築する際に、リンク容量によるリンク選択の制限を受けにくくでき、選択可能な経路の候補を増やすことができる。
【００１４】
請求項２に記載の発明は、請求項１に記載のネットワークトポロジ設計装置において、前記記憶部には、前記リンクごとの最大利用可能帯域に関する情報が前記ネットワーク情報としてさらに記憶されており、前記トポロジ構築部は、前記記憶部に記憶された前記交流トラヒック量および前記リンクごとの最大利用可能帯域を用いて、各リンクのリンク利用率を算出し、前記算出したリンク利用率が所定の値より高いリンクのリンクコストを増加し、前記各リンクのリンクコストを用いて各サービスごとに各サービスのフローを収容する経路を算出しトポロジを構築することを特徴とする。
【００１５】
請求項４に記載の発明は、前記ネットワークトポロジ設計装置の前記記憶部に、前記リンクごとの最大利用可能帯域に関する情報が前記ネットワーク情報としてさらに記憶されており、請求項３に記載のネットワークトポロジ設計方法の前記複数のサービスごとにトポロジを構築するステップは、前記記憶部に記憶された前記交流トラヒック量および前記リンクごとの最大利用可能帯域を用いて、各リンクのリンク利用率を算出し、前記算出したリンク利用率が所定の値より高いリンクのリンクコストを増加し、前記各リンクのリンクコストを用いて各サービスごとに各サービスのフローを収容する経路を算出しトポロジを構築することを特徴とする。
【００１６】
このようにすることで、各リンクのリンク利用率を反映して各サービスのトポロジを構築することができ、リンク利用率が高いリンクは、経路として選択されにくくなるため、各リンクのリンク利用率が平滑化され、サービス収容時に要求帯域や品質を満たす経路が存在しないという状況を回避しやすくすることができる。
【００１７】
請求項５に記載の発明は、請求項３または請求項４に記載のネットワークトポロジ設計方法をコンピュータに実行させるためのプログラムとした。
【００１８】
このようなプログラムによれば、請求項３または請求項４に記載のネットワークトポロジ設計方法を一般的なコンピュータで実行させることができる。
【発明の効果】
【００１９】
本発明によれば、ネットワーク全体におけるリソース利用量を低減し、ネットワークに、より多数のサービスのトポロジを収容するネットワークトポロジ設計装置、ネットワークトポロジ設計方法、およびプログラムを提供することができる。
【図面の簡単な説明】
【００２０】
【図１】本実施形態に係るネットワークシステムを例示した図である。
【図２】本実施形態において、サービスごとに構築されたトポロジの収容順序決定処理を説明するための図である。
【図３】本実施形態において、サービスを収容する優先度を評価するための評価値を算出する演算式を示す図である。
【図４】本実施形態において、リンク利用率を反映したトポロジ構築処理を説明するための図である。
【図５】本実施形態において、リンク利用率を反映したリンクコストを算出する演算式を示す図である。
【図６】本実施形態に係るネットワークトポロジ設計装置の構成例を示す機能ブロック図である。
【図７】本実施形態に係る収容順序決定部が行うサービスの収容順序決定処理の流れを示すフローチャートである。
【図８】本実施形態に係るトポロジ構築部が行うリンク利用率を反映したトポロジ構築処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００２１】
次に、発明を実施するための形態（以下、「実施形態」という）について、適宜図面を参照しながら詳細に説明する。まず、本実施形態におけるネットワークシステム７の概要を、図１を用いて説明する。図１は、本実施形態に係るネットワークシステム７を例示した図である。
【００２２】
ネットワークシステム７は、複数のノード（ルータ装置）３がリンク４により接続されるルータ網（データネットワーク）２と、そのルータ網２を構成する複数のノード３の中から選択されるノード３に対応付けて、ネットワークトポロジ設計装置１０により設計されるオーバーレイネットワーク１とを含んで構成される。オーバーレイネットワーク１は、サービスＡ，Ｂ，Ｃ，…ごとにツリートポロジで構築され、ルータ網（下位網）２の上位のレイヤに仮想的に設けられるネットワークである。ここでは、例えばルータ網２におけるノード３ａが、オーバーレイネットワーク１において、サービスＡのツリートポロジではノード「２」、サービスＢのツリートポロジではノード「１６」、サービスＣのツリートポロジではノード「２４」に対応付けられることを示している。また、例えば、サービスＡのノード「１」がルータ網（下位網）２のノード３ｃに対応付けられている場合、サービスＡのツリートポロジにおける、ノード「２」→ノード「１」へのリンク（オーバーレイリンク４０）を用いた経路は、ルータ網（下位網）２におけるノード３ａ→３ｂ→３ｃを経由する複数のリンク４に対応する経路として設定される。
【００２３】
本実施形態では、データネットワークとしてのルータ網（下位網）２とその上位のレイヤに構築されるオーバーレイツリートポロジを例示して説明するが、その他にも、光網とルータ網といった上位下位の関係を持つネットワークを想定することができる。また、これらのネットワークにおいては、既にノード間の通信到達性は確保されているものとする。
【００２４】
また、本実施形態においては、サービスは、例えばＶＰＮ（Virtual Private Network）サービス等であり、サービスごとにトポロジを構築するものとする。そして、下位網であるルータ網２の上位のレイヤに、サービスごとにオーバレイツリートポロジを構築してネットワークにサービスを収容する。トポロジの構築のタイミングは、新規サービスの開始、または交流トラヒック等の変化に伴って現状のトポロジから移行し、新たな形状で構成し直したトポロジを収容する状況を想定する。
【００２５】
さらに、サービスごとに発生する交流トラヒックは、新規サービスの収容時において、サービスの通信形態や回線契約による回線速度等から算出できるものとする。また、既に提供されているサービスについての交流トラヒックは、フロー計測技術や交流トラヒック推定法等を用いて、把握できるものとする。
【００２６】
次に、本実施形態におけるネットワークトポロジ設計処理の概要について説明する。本実施形態では、ルータ網（下位網）２のリンク容量に上限（リンクの最大利用可能帯域）があるネットワークにおいて、複数のサービスを収容する際に、（１）サービスの収容順序決定処理、（２）リンク利用率を反映したトポロジの構築処理、を行うことで、ネットワーク全体におけるリソース利用量を低減し、より多数のオーバーレイツリートポロジを収容する。
【００２７】
（サービスの収容順序決定処理の概要）
まず、サービスの収容順序決定処理について、その概要を説明する。本実施形態に係るネットワークシステム７は、ネットワークにサービスごとのツリートポロジを収容する際の順序として、各サービスごとに消費しているリソース利用量に注目し、サービスを収容する優先順位を決定する。
【００２８】
図２は、本実施形態において、サービスごとに構築されたトポロジの収容順序決定処理を説明するための図である。図２に示すように、ルータ網２の上位のオーバーレイネットワーク１において、サービスＡ〜Ｃのトポロジが既に構築されており、交流トラヒック等の変化に伴い、新たな形状で各サービスのトポロジを構築し、収容する場合を想定する。この場合、このオーバーレイツリートポロジを構成するオーバーレイリンク４０が、ルータ網（下位網）２のどのリンク４を経由するかを決めることがリソースの利用効率や品質を左右する。本実施形態においては、リソース利用量の最も大きいサービスＣのツリートポロジを優先的にネットワークインフラへ収容する。サービスＣのトポロジをネットワークインフラに優先的に収容することで、多くの帯域を必要とするサービスＣのトポロジを、ネットワークインフラに、リソース利用量が少なくてすむ最短経路（ホップ数の最小の経路）であり、かつ品質を満たす経路で収容できる。
【００２９】
仮に、サービスＡやサービスＢのトポロジを優先的に収容した後に、サービスＣのトポロジを収容しようとする場合、サービスＣが本来利用したいルータ網（下位網）２のリンク４が、既にサービスＡやサービスＢによって利用されている可能性が高くなる。そして、サービスＣで要求する帯域や品質の関係で本来利用したいリンク４を利用できず、過剰にホップ数が長い、または遅延が大きい等の品質の悪いリンク４を利用する可能性がある。これは、サービスＣのようにリソース利用量の大きいサービスにおいては、このような僅かな効率の悪化でも、ネットワークインフラとしては、大幅なリソース利用量の増加やサービス品質の劣化につながり、非効率となるからである。
【００３０】
次に、サービス収容の優先度の決定方法について説明する。図３は、本実施形態において、サービスを収容する優先度を評価するための評価値を算出する演算式を示す図である。図３に示す演算式を用いて、サービスの収容順序を決定する。
【００３１】
図３に示す〔評価値１〕（＝Ｅｖａｌ１）は、各サービスのリソース利用量をそのままサービスの収容順序の決定に用いるもので、評価値つまりリソース利用量が大きいサービスから優先的に収容する。
【００３２】
〔評価値２〕（＝Ｅｖａｌ２）は、最初にトポロジを構築した時点（初期トポロジ）でのリソース利用量を記憶しておき、現在のリソース利用量との比を計算する。そして、現在のリソース利用量との積の絶対値をとることで、初期トポロジと現在のトポロジにおけるリソース利用量の差に注目する。現在のリソース利用量との積をとる理由として、リソース利用量の変化の比が同じでも、現在のリソース利用量が大きいサービスの方が、ネットワークインフラのリソース利用効率の観点で優先的に収容されるべきだからである。
【００３３】
このほか、評価値の演算式については、〔評価値１〕，〔評価値２〕以外にも、例えばサービスのトポロジごとのルータ網（下位網）２のホップ数あたりの平均遅延時間等を採用し、平均遅延時間が短いサービスを優先的に収容するように収容順序が決定できる。平均遅延時間が短いサービスは、空きリンク容量の比較的多いリンクを経由していると考えられるため、平均遅延時間の短いサービスを優先的に収容することにより、サービス収容時に平均遅延時間についての要求を満たさない経路の増加を防ぐことができる。なお、サービスの収容順序決定処理の詳細は、図７において説明する。
【００３４】
（リンク利用率を反映したトポロジ構築処理の概要）
次に、リンク利用率を反映した各サービスのトポロジ構築処理の概要について説明する。トポロジ構築時にリンク利用率を反映させる方法として、現状のルータ網（下位網）２の各リンクのリンク利用率を考慮して、各リンクにリンクコスト付与を行う。これは、リンク利用率が高いリンクは、それ以降のトポロジ構築時に過剰に利用されないようにするというリンク利用率の平滑化の概念に基づいている。これを適用すると、新規のサービスをルータ網２に収容する際に、各リンクのリンク利用率が平滑化されるため、サービス収容時に要求帯域や品質を満たすルータ網２内の経路が存在しないという状況を回避しやすくすることができる。
【００３５】
図４は、本実施形態において、リンク利用率を反映したトポロジ構築処理を説明するための図である。図４に示すように、ルータ網（下位網）２の上位のオーバーレイネットワーク１において、既にサービスＡ〜Ｃのトポロジが、リンク利用率を反映せずに構築されているものとして説明する。サービスＡ〜Ｃのトポロジを構築した結果、ルータ網２のリンク４Ｘのリンク利用率が低く、一方、リンク４Ｙのリンク利用率が高いとする。ここで、新たなサービスとして、「拠点１」から「拠点２」への通信を行う大容量のトラヒックを、リンク４Ｘに比べ低遅延であることを理由にリンク４Ｙに流したい要求が発生すると、現状のネットワーク状態においては、リンク４Ｙは、低遅延であってもリンク利用率が高く残余帯域の点で条件を満たすことができない。しかし、サービスＡ〜Ｃのトポロジの構築の時点で、リンク利用率の平滑化を実現していると、リンク４Ｙには残余帯域があり、遅延も少ないという状況になり、通信の要求条件を満たす状況が実現できる。
【００３６】
図５は、本実施形態において、リンク利用率を反映したリンクコストを算出する演算式を示す図である。リンクコストの決定は、図５に示す演算式に基づいて行う。まず、具体的な指標として、リンク利用率の平滑化の指標となる所定の値「Ｒ」（０≦Ｒ≦１００）をネットワークトポロジ設計者が予め決定しておく。決定された「Ｒ」にしたがい、現状のノードｉｊ間のリンク利用率（LinkUtilij）に基づいて、０≦ LinkUtilij≦Ｒの場合は、まだ該当リンクは充分に利用できるとし、リンクコスト値（Costorigin_ij）は変更せずにトポロジ構築に用いる。一方、Ｒ ＜ LinkUtilij ≦ １００の場合は、設定した「Ｒ」値を上回ったとして、該当リンクを利用させ難くするために、リンクコストを（LinkUtilij／Ｒ）倍した値を新規のリンクコストとして採用する。そして、トポロジの構築において、最短経路（ホップ数が最小となる経路）に基づき経路探索する代わりに、リンクコストが最小となるように経路探索を行う。このようにすることで、リンク利用率の高いリンクを利用させ難くし、リンク利用率の平滑化を実現することができる。なお、リンク利用率を反映したトポロジ構築処理の詳細は、図８において説明する。
【００３７】
（ネットワークトポロジ設計装置）
次に、本実施形態に係るネットワークトポロジ設計装置１０について具体的に説明する。図６は、本実施形態に係るネットワークトポロジ設計装置１０の構成例を示す機能ブロック図である。図６に示すように、ネットワークトポロジ設計装置１０は、制御部１００と、通信部２００と、入出力部３００と、メモリ部４００と、記憶部５００とを含んで構成される。
【００３８】
制御部１００は、ネットワークトポロジ設計処理の全般を司り、ネットワーク情報収集部１１０と、ネットワーク設計部１２０とを含んで構成される。ネットワーク情報収集部１１０は、通信部２００を介して、ルータ網２における各ノード３と各リンク４の接続関係を示す情報や、ルータ網２に流れるトラヒック量に関する情報を取得し、記憶部５００に記憶する。なお、このネットワーク情報収集部１１０の機能は、ネットワークトポロジ設計装置１０とは別の独立したサーバで実現することもできる。また、この制御部１００の機能は、例えば、記憶部５００に記憶されたプログラムをＣＰＵ（Central Processing Unit）がメモリ部４００に展開し実行することで実現される。
【００３９】
ネットワーク設計部１２０は、ルータ網２の上位のレイヤに、複数のサービスに対応するオーバーレイツリートポロジを設計する処理を行い、収容順序決定部１２１と、トポロジ構築部１２２とを含んで構成される。
【００４０】
収容順序決定部１２１は、トポロジを新たに構築するサービスごとに、収容順序を決定するための評価値（図３参照）を算出する評価値算出部１２１０を備える。そして評価値算出部１２１０は、予め設定された評価値に関する演算式、〔評価値１〕，〔評価値２〕等を用いて、サービスごとのリソース利用量から各サービスの評価値を算出する。そして、収容順序決定部１２１は、評価値算出部１２１０が算出した評価値の大きいものから順に、新たにトポロジを収容する際の順序を決定する。
【００４１】
トポロジ構築部１２２は、トポロジを構築するサービスごとに、各リンク４のリンクコストを算出するリンクコスト算出部１２２０を備える。そしてリンクコスト算出部１２２０は、ルータ網２の全サービスで利用中のリンク容量から各リンクのリンク利用率を算出し、その算出したリンク利用率に基づき、予め設定されたリンクコストを算出するための演算式（図５参照）を用いて、各リンクのリンクコストを算出する。そして、トポロジ構築部１２２は、サービスごとにリンクコストの合計値が最小となるようにルータ網２の経路選択を行い、新たなトポロジを構築する。続いて、トポロジ構築部１２２は、構築した新たなトポロジに関する情報を記憶部５００に記憶する。
【００４２】
次に、入出力部３００は、キーボードやタッチパネル等からなる入力手段と、ディスプレイ等からなる出力手段とを含んで構成され、制御部１００が行う処理に関する指示を与えたり、処理結果を表示する。
【００４３】
メモリ部４００は、ＲＡＭ（Random Access Memory）等の一次記憶装置からなり、評価値算出部１２１０が算出した各サービスごとの評価値に関する情報や、リンクコスト算出部１２２０が算出した各サービスのリンクコストに関する情報等を記憶する。
【００４４】
記憶部５００は、ハードディスク、フラッシュメモリ等の記憶装置から構成され、ネットワーク情報記憶部５１０と、トポロジ情報記憶部５２０とを含んで構成される。
【００４５】
ネットワーク情報記憶部５１０には、ネットワーク情報収集部１１０が通信部２００を介して収集した、各ノード間に流れるフローのトラヒック量を示す交流トラヒック量に関する情報が記憶される。また、ネットワーク情報記憶部５１０には、ルータ網２における各リンクの最大利用可能帯域の情報が記憶される。
【００４６】
トポロジ情報記憶部５２０には、トポロジ構築部１２２が生成した、サービスごとのトポロジに関する情報が記憶される。ここで、サービスごとのトポロジに関する情報は、そのサービスのオーバーレイツリートポロジにおけるオーバーレイリンク４０が、ルータ網（下位網）２のどのリンク４の経路に該当しているかを示すマッピング情報（経路情報）、およびルータ網（下位網）２におけるフローのホップ数に関する情報を含むものである。
【００４７】
（ネットワークトポロジ設計処理）
次に、本実施形態に係るネットワークシステム７におけるサービスのトポロジ設計処理の流れを説明する。トポロジ設計処理は、まず、サービスの収容順序決定処理により各サービスのトポロジの収容順序を決定し、次にリンク利用率を反映したトポロジ構築処理を行うものであり、それぞれについて具体的に処理の流れを説明する。
【００４８】
（サービスの収容順序決定処理）
図７は、本実施形態に係る収容順序決定部１２１が行うサービスの収容順序決定処理の流れを示すフローチャートである。
【００４９】
まず、ネットワークトポロジ設計装置１０の収容順序決定部１２１は、トポロジを新たに構築する対象となるサービスを抽出する（ステップＳ７０１）。続いて、収容順序決定部１２１の評価値算出部１２１０は、そのサービスの交流トラヒック量をネットワーク情報記憶部５１０から取得し、トポロジ情報記憶部５２０からサービスごとの経路情報を取得して、各サービスにおける各フローごとの現在のトラヒック量を算出する。そして、算出したフローのトラヒック量とトポロジ情報記憶部５２０に記憶されたそのフローのホップ数との積を、サービスごとのすべてのフローについて総和し、収容するサービスごとのリソース利用量を算出する（ステップＳ７０２）。そして、評価値算出部１２１０は、予め設定された演算式である〔評価値１〕または〔評価値２〕（図３参照）等を用いて、そのサービスの評価値を算出する（ステップＳ７０３）。次に、収容順序決定部１２１は、収容する対象となるすべてのサービスを処理したか否かを判定する（ステップＳ７０４）。ここで、まだ評価値を算出していないサービスがある場合には（ステップＳ７０４→Ｎｏ）、ステップＳ７０１へ戻り処理を続ける。一方、すべてのサービスについて評価値の算出処理を終えている場合には（ステップＳ７０４→Ｙｅｓ）、次のステップＳ７０５へ進む。
【００５０】
ステップＳ７０５において、収容順序決定部１２１は、ステップＳ７０３で算出されたサービスごとの評価値を比較し、評価値の大きい順にソートを行い、新たなトポロジを収容する際の順序を決定する（ステップＳ７０５）。
【００５１】
このようにすることで、リソースを大きく消費するサービスを優先的に収容することができ、トポロジを構築する際にリンク容量によるリンク選択の制限を受けにくくでき、選択可能な経路の候補を増やすことができる。
【００５２】
（リンク利用率を反映したトポロジ構築処理）
トポロジ設計処理においては、各サービスのトポロジの収容順序が決まると、次に、リンク利用率を反映したトポロジ構築処理を行う。図８は、本実施形態に係るトポロジ構築部１２２が行うリンク利用率を反映したトポロジ構築処理の流れを示すフローチャートである。
【００５３】
まず、ネットワークトポロジ設計装置１０のトポロジ構築部１２２は、トポロジを新たに構築する対象となるサービスを抽出する（ステップＳ８０１）。続いて、抽出した対象サービスが現在利用中のリンク容量の仮返還を行う（ステップＳ８０２）。ここで、仮返還とは、対象サービスが現在のネットワークに存在しないものとした場合のネットワーク状態を取得するため、トポロジ情報記憶部５２０に記憶された対象サービスのトポロジにより示される経路情報と、ネットワーク情報記憶部５１０が収集した交流トラヒック量とを用いて対象サービスが利用する分のリンク容量を算出し、現リンク容量から仮想的に差し引く処理をいう。ここで、仮返還を行う理由は、現状の空きリンク容量を求める際に、自サービス以外で利用しているリンク容量を正確に把握するためである。
【００５４】
次に、トポロジ構築部１２２は、仮返還後のルータ網（下位網）２において利用中のリンク容量からリンク利用率を算出する（ステップＳ８０３）。続いて、トポロジ構築部１２２のリンクコスト算出部１２２０は、ステップＳ８０３で算出したリンク利用率から、図５で示すリンクコスト演算式を用いて、ルータ網２（下位網）２の各リンクの新たなリンクコストを算出する（ステップＳ８０４）。そして、トポロジ構築部１２２は、仮返還後のリンク容量とステップＳ８０４で算出された新たなリンクコストに基づき、ルータ網（下位網）２の経路選択を行い、新たなトポロジを構築し（ステップＳ８０５）、新たに構築したトポロジに関する情報を用いて、トポロジ情報記憶部５２０に記憶されたトポロジ情報を更新する。
【００５５】
このように、トポロジ構築時にリンク利用率を反映させることで、リンク利用率が高いリンクは、経路として選択されにくくなるため、ルータ網（下位網）２の各リンクのリンク利用率が平滑化され、サービス収容時に要求帯域や品質を満たす経路が存在しないという状況を回避しやすくすることができる。
【００５６】
ネットワーク設計部１２０は、このサービスの収容順序決定処理とリンク利用率を反映したトポロジ構築処理とを、以下のように、組み合わせてサービスを収容することができる。
【００５７】
（１）前記説明したように、収容順序を本実施形態に係る収容順序決定処理により決定し、さらにトポロジ構築時においても、本実施形態に係るリンク利用率を反映したトポロジ構築処理を行う。
（２）収容順序を本実施形態に係る収容順序決定処理により決定し、サービスごとのトポロジは、非特許文献２に記載されたような、従来技術に基づく最短経路（ホップ数が最小となる経路）を用いてトポロジ構築処理を行う。
（３）全サービスは、ランダムな順序で収容することとし、トポロジ構築時において本実施形態に係るリンク利用率を反映したトポロジ構築処理を行う。
【００５８】
このようにすることで、（１）の方法によりサービスを収容すれば、リソース利用量の大きいサービスを優先的に収容して選択可能な経路の候補を増やし、かつ要求帯域や品質を満たす経路が存在しないという状況を回避しやすくすることができる。（２）の方法によりサービスを収容すれば、リソース利用量の大きいサービスを優先的に収容することができるので、非特許文献２に記載された従来技術に比べ、選択可能な経路の候補を増やすことができる。（３）の方法によりサービスを収容すれば、各リンクのリンク利用率が平滑化されるため、従来技術に比べ、サービス収容時に要求帯域や品質を満たす経路が存在しないという状況を回避しやすくすることができる。
【００５９】
本実施形態に係るネットワークトポロジ設計装置、ネットワークトポロジ設計方法、およびプログラムによれば、各サービスの収容順序やリンク利用率を反映したトポロジの構築を行うことで、ネットワーク全体におけるリソース利用量を低減し、多数のサービスをネットワークに収容することが可能となる。さらに、サービスごとの最適なトポロジを算出するために、最適解を求める従来の計画法を用いた場合の、膨大な計算処理が必要になるという問題に対し、本実施形態によれば、容易に計算可能な、サービスごとの収容順序決定処理や、リンク利用率を反映したトポロジ構築処理を行うことで、計算負荷を低減し、処理時間を短縮する効率化を図ることができる。
【００６０】
なお、本実施形態におけるサービスの収容順序決定処理においては、収容順序を決定するサービスが複数ある場合は、評価値を算出したすべてのサービスに対して収容順序を決定し、ネットワークインフラにそのサービスのトポロジを収容する処理を行うものとして説明した。しかしながら、各サービスの評価値を算出した結果、上位Ｎ位までのサービスのトポロジについて、ネットワークインフラに収容することもできる。
【００６１】
また、本実施形態においては、ネットワークトポロジ設計装置１０が、ルータ網（下位網）２の上位のレイヤに設けられたオーバーレイネットワーク１に、サービスごとにツリートポロジを構築するものとして説明したが、単一のネットワークインフラに複数のサービスを収容する状況であれば、本発明を適用することができる。例えば、アプリケーションレイヤで実現するオーバーレイ・マルチキャスト（Application Layer Multicast）、ＣＤＮ（Contents Delivery Network）等の単一のネットワークインフラに複数のネットワークトポロジを重畳して収容させるものについて適用可能である。
【符号の説明】
【００６２】
１      オーバーレイネットワーク
２      ルータ網（データネットワーク）
３      ノード
４      リンク
５      クライアント
６      サーバ
７      ネットワークシステム
１０    ネットワークトポロジ設計装置
４０    オーバーレイリンク
１００  制御部
１１０  ネットワーク情報収集部
１２０  ネットワーク設計部
１２１  収容順序決定部
１２２  トポロジ構築部
２００  通信部
３００  入出力部
４００  メモリ部
５００  記憶部
５１０  ネットワーク情報記憶部
５２０  トポロジ情報記憶部
１２１０  評価値算出部
１２２０  リンクコスト算出部
【図１】
2011004294.tif 000003
【図２】
2011004294.tif 000004
【図３】
2011004294.tif 000005
【図４】
2011004294.tif 000006
【図５】
2011004294.tif 000007
【図６】
2011004294.tif 000008
【図７】
2011004294.tif 000009
【図８】
2011004294.tif 000010