(57)【特許請求の範囲】
【請求項１】
与えられた始点拠点と終点拠点との間の区間毎の複数のトラフィックデマンドのうちで、該複数のトラフィックデマンドを対象ネットワークに収容させるネットワーク設計問題を数理計画問題として解くソルバが同時に解くトラフィックデマンドの数を表している同時設計デマンド数であって、該ネットワーク設計問題における問題規模を表す設計変数の数および制約数が、それぞれ、該ソルバの能力に基づき規定された設計変数の数の上限より小さく、且つ、該ソルバの能力に基づき規定された制約数の上限より小さいという条件を満たす該同時設計デマンド数を導出する調整部と、
前記導出した同時設計デマンド数毎にネットワーク設計演算を行う、該ソルバを備えた設計部と、
を備えることを特徴とするネットワーク設計装置。
【請求項２】
前記ネットワーク設計問題は、ネットワーク設計条件として与えられる、物理リンク数、拠点数、装置候補数、回線候補数のパラメータによって規定されることを特徴とする請求項１に記載のネットワーク設計装置。
【請求項３】
与えられた問題規模を、前記パラメータを用いた線形不等式で記述することを特徴とする請求項２に記載のネットワーク設計装置。
【請求項４】
前記パラメータを用いた線形不等式の演算で、同時設計デマンド数を導出することを特徴とする請求項３に記載のネットワーク設計装置。
【請求項５】
前記設計部の演算の結果得られたトラフィックデマンドの収容設計結果をオペレータに提示することを特徴とする請求項１に記載のネットワーク設計装置。
【請求項６】
ネットワーク設計装置に実行させるネットワーク設計方法であって、
該ネットワーク設計装置は、
与えられた始点拠点と終点拠点との間の区間毎の複数のトラフィックデマンドのうちで、該複数のトラフィックデマンドを対象ネットワークに収容させるネットワーク設計問題を数理計画問題として解くソルバが同時に解くトラフィックデマンドの数を表している同時設計デマンド数であって、該ネットワーク設計問題における問題規模を表す設計変数の数および制約数が、それぞれ、該ソルバの能力に基づき規定された設計変数の数の上限より小さく、且つ、該ソルバの能力に基づき規定された制約数の上限より小さいという条件を満たす該同時設計デマンド数を導出し、
該ソルバを用いて、前記導出した同時設計デマンド数毎にネットワーク設計演算を行う、
ことを特徴とするネットワーク設計方法。
【請求項７】
ネットワーク設計装置にネットワーク設計を行なわせるプログラムであって、
該ネットワーク設計装置に、
与えられた始点拠点と終点拠点との間の区間毎の複数のトラフィックデマンドのうちで、該複数のトラフィックデマンドを対象ネットワークに収容させるネットワーク設計問題を数理計画問題として解くソルバが同時に解くトラフィックデマンドの数を表している同時設計デマンド数であって、該ネットワーク設計問題における問題規模を表す設計変数の数および制約数が、それぞれ、該ソルバの能力に基づき規定された設計変数の数の上限より小さく、且つ、該ソルバの能力に基づき規定された制約数の上限より小さいという条件を満たす該同時設計デマンド数を導出させ、
該ソルバを用いて、前記導出した同時設計デマンド数毎にネットワーク設計演算を行わせる、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
以下の実施形態は、ネットワーク設計装置に関する。
【背景技術】
【０００２】
ネットワーク内に流入するトラフィック増加に従い、ネットワーク装置の大規模・高性能化が進み、ネットワーク装置の消費電力量やコストが大きくなりつつある。
一方、現在のネットワークでは、トラフィックを収容する上で余剰な回線・装置が配置されていることが多く、回線・装置の最適配置によってネットワーク全体の省電力化や低コスト化（以下、電力と金額を含めて、コストと呼ぶ）が期待できる。しかし、トラフィック転送状態（パス経路）に依存して、適切な回線や装置配置は異なるため、トラフィック経路、回線、装置配置などを総合的に考えることが省コストなネットワーク構成を導出する上で重要となる。
【０００３】
一方で、従来の人手によるネットワーク設計では、様々な設計要素（経路、回線、装置）の依存関係を考慮した、膨大なパラメータを扱うようなネットワーク設計が難しいという問題が存在する。したがって、各設計要素の関係を考慮した設計プロセスを体系化させ、最小電力（最小金額でもよい、あわせて最小コスト）となるネットワーク構成を自動設計する技術が求められる。
【０００４】
トラフィック転送経路とネットワーク装置構成を自動的に統合設計する近年発表された方式として、非特許文献１に記載された従来技術がある。
この文献では、トラフィックデマンドを収容する装置構成の消費電力量が最小になるように、各経路候補へのトラフィック流量設計とシャーシ構成設計を実施することを特徴とし、数理計画問題に帰着したネットワーク設計方法を示している。
【０００５】
しかしながら、この従来技術には、以下のような課題がある。
１．様々な経路構成パターンやポート利用形態を考慮したネットワーク設計ができない。
各拠点間に対して、ルーティングプロトコルで規定される最小リンクコスト経路を前提とするため、経路探索範囲に制限があることや、様々な転送レートを有するポート種別の選定や、リンクアグリゲーションなど細かなポート利用形態を設計できない。
２．大規模ネットワークでは、設計演算ができない。
設計問題の規模が大きく、演算を実施するマシン性能や数理計画問題を解くソフト（solver）の性能次第で、設計演算が実行できない。
【０００６】
したがって、この従来技術では、様々な経路状態やポート利用形態を考慮した装置の統合設計を行う機能はなく、また、大規模な実ネットワーク環境を対象とした設計問題を解く上で、現実的な時間で設計演算を実施することが困難であった。ここで、現実的な時間とは、ネットワーク設計を行なうに要する時間として、実際の作業に適した時間である。例えば、現実的な時間とは、１日や、あるいは、数時間以内である。実際のネットワーク設計作業を行なうにおいて、ネットワーク設計装置を用いて設計に要する時間が、人手で行なう場合より多くなってしまう場合には、現実的な時間ではない。
【０００７】
従来技術には、デマンドを確率変数として与え、確率的な制約条件を作成して、数理計画問題としてネットワーク設計を扱うものがある。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平１１−２１５１２４号公報
【非特許文献】
【０００９】
【非特許文献１】J.Chabarek et.al, "Power Awareness in Network Design and Routing",INFOCOM 2008, pp.457-465,2008
【発明の概要】
【発明が解決しようとする課題】
【００１０】
以下の実施形態では、コストが最小となるネットワーク設計の演算処理を、現実的な時間で実施することが可能なネットワーク設計装置を提供する。
【課題を解決するための手段】
【００１１】
以下の実施形態の一側面におけるネットワーク設計装置は、与えられた始点拠点と終点拠点との間の区間毎の複数のトラフィックデマンドのうちで、該複数のトラフィックデマンドを対象ネットワークに収容させるネットワーク設計問題を数理計画問題として解くソルバが同時に解くトラフィックデマンドの数を表している同時設計デマンド数であって、該ネットワーク設計問題における問題規模を表す設計変数の数および制約数が、それぞれ、該ソルバの能力に基づき規定された設計変数の数の上限より小さく、且つ、該ソルバの能力に基づき規定された制約数の上限より小さいという条件を満たす該同時設計デマンド数を導出する調整部と、前記導出した同時設計デマンド数毎にネットワーク設計演算を行う、該ソルバを備えた設計部とを備える。
【発明の効果】
【００１２】
以下の実施形態によれば、コストが最小となるネットワーク設計の演算処理を、現実的な時間で実施することが可能なネットワーク設計装置を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】本実施形態のネットワーク設計装置のブロック構成図である。
【図２】本実施形態におけるネットワーク設計処理について説明する図である。
【図３】本実施形態に従って、ネットワーク設計を数理計画問題として解く方法について説明する図（その１）である。
【図４】本実施形態に従って、ネットワーク設計を数理計画問題として解く方法について説明する図（その２）である。
【図５】本実施形態に従って、ネットワーク設計を数理計画問題として解く方法について説明する図（その３）である。
【図６】本実施形態に従って、ネットワーク設計を数理計画問題として解く方法について説明する図（その４）である。
【図７】数理計画問題の解の最適性と問題規模について説明する図（その１）である。
【図８】数理計画問題の解の最適性と問題規模について説明する図（その２）である。
【図９】数理計画問題の解の最適性と問題規模について説明する図（その３）である。
【図１０】本実施形態のネットワーク設計装置の処理を示すフローチャート（その１）である。
【図１１】本実施形態のネットワーク設計装置の処理を示すフローチャート（その２）である。
【図１２】問題規模の導出方法と問題規模の分割方法について説明する図（その１）である。
【図１３】問題規模の導出方法と問題規模の分割方法について説明する図（その２）である。
【図１４】本実施形態の動作のより具体的な説明における問題設定を説明する図（その１）である。
【図１５】本実施形態の動作のより具体的な説明における問題設定を説明する図（その２）である。
【図１６】本実施形態の動作のより具体的な説明における問題設定を説明する図（その３）である。
【図１７】パスデマンドの収容設計の具体的データ例を示す図（その１）である。
【図１８】パスデマンドの収容設計の具体的データ例を示す図（その２）である。
【図１９】パスデマンドの収容設計の具体的データ例を示す図（その３）である。
【図２０】パスデマンドの収容設計の具体的データ例を示す図（その４）である。
【図２１】パスデマンドの収容設計の具体的データ例を示す図（その５）である。
【図２２】パスデマンドの収容設計の具体的データ例を示す図（その６）である。
【図２３】パスデマンドの収容設計の具体的データ例を示す図（その７）である。
【図２４】パスデマンドの収容設計の具体的データ例を示す図（その８）である。
【図２５】パスデマンドの収容設計の具体的データ例を示す図（その９）である。
【図２６】パスデマンドの収容設計の具体的データ例を示す図（その１０）である。
【図２７】パスデマンドの収容設計の具体的データ例を示す図（その１１）である。
【図２８】パスデマンドの収容設計の具体的データ例を示す図（その１２）である。
【図２９】本実施形態の設計手法をプログラムで実行する場合に必要とされるコンピュータのハードウェア構成例である。
【発明を実施するための形態】
【００１４】
本実施形態は、各拠点間のパスデマンドを収容する上で、最小電力や最小金額（最小コスト）となる装置構成、経路、及び、物理ポートの利用方法（リンクアグリゲーション）を同時に設計するためのネットワーク設計装置を提供する。
【００１５】
本実施形態のネットワーク設計装置の一側面においては、例えば、設定部、調整部、モデル生成部、及び、導出部を有する。
設定部は、要求されるパスの始点拠点および終点拠点間に新規に要求されるパスの要求帯域の情報と、各拠点に設置可能な装置候補の種類と、各装置のポート数の情報を用いて、装置コストを表す目的関数と、該目的関数を最小化する際に考慮すべき制約条件とを設定する。
【００１６】
調整部は、設計を実施する演算性能に合わせて、問題規模を設定する。
モデル生成部は、調整部より指定される問題規模によって設定される同時設計パス数の上限値に基づいて、設定部より得られる該制約条件の下に、該目的関数を最小とする数理計画問題を生成する。
【００１７】
導出部は、モデル生成部より得られる問題の解を求め、要求されるすべてのパス数の設計が終了するまで、複数のパス収容設計を繰り返すことにより、各パスの配置の仕方、装置の配置の仕方、および、使用するポート数を導出する。
【００１８】
図１は、本実施形態のネットワーク設計装置のブロック構成図である。
図１において、オペレータ設定部１０は、ネットワーク設計を行なうオペレータが、ネットワーク設計に必要な情報を入力したり、対象ネットワーク１２のネットワーク状態の表示を目視するものである。ネットワーク設計管理部１１は、オペレータ設定部１０からの入力を受け付け、ネットワーク設計演算を行った結果をオペレータ設定部１０に表示する。また、ネットワーク設計管理部１１は、対象ネットワーク１２からのネットワーク状態を受け取って、オペレータ設定部１０に送信する。対象ネットワーク１２は、ネットワーク設計演算の対象となるネットワークであり、ネットワークの設計演算の結果を用いて、パス設定がなされる対象である。対象ネットワーク１２のパス設定は、オペレータが、ネットワーク設計演算結果を得てから、手動で行なってもよい。あるいは、オペレータが、オペレータ設定部１０からコマンドを送信し、ネットワーク設計管理部１１のパス設定部２３を介して、自動で対象ネットワーク１２のパス設定を行なうようにしてもよい。
【００１９】
ネットワーク設計管理部１１には、対象ネットワーク１２の状態を計測するネットワーク状態計測部１５が設けられている。ネットワーク状態計測部１５は、対象ネットワーク１２の状態を計測すると、計測されたパスの状態をパス管理部１３に、装置使用の状態を装置管理部１４に格納する。
【００２０】
オペレータ設定部１０において、ネットワーク設計の条件設定がなされると、演算性能設定部１６は、線形計画問題のソルバなどのＮＷ（ネットワーク）設計部２２の演算性能を取得して、ネットワーク設計のパラメータとして設定する。パス要求（パスデマンド）設定部１７は、オペレータ設定部１０から入力されるトラフィックデマンドに従った、設定することが要求されるパスを設定する。装置候補設定部１８は、オペレータ設計部１０から入力されるトラフィックデマンドを収容するのに使用可能な装置の候補を設定する。
【００２１】
調整部１９は、演算性能設定部１６で設定された演算性能から、一度に現実的な時間で演算可能なパス要求の数を選択する。目的関数設定部２０は、行なおうとするネットワーク設計に対応する数理計画問題の目的関数を設定する。制約条件設定部２１は、行なおうとするネットワーク設計に対応する数理計画問題の制約条件を設定する。
【００２２】
ＮＷ設計部２２は、数理計画問題のソルバなどであり、目的関数設定部２０で設定された目的関数と、制約条件設定部２１で設定された制約条件に基づいて数理計画問題を解くことにより、ネットワーク設計を行なう。このとき、１回の演算でＮＷ設計部２２が処理するパス要求の数は、調整部１９が設定した数に制限される。ＮＷ設計部２２は、調整部１９の設定したパス要求数ごとに演算を行い、全てのパス要求が処理されるまで演算を繰り返す。ＮＷ設計部２２は、ネットワーク設計結果をオペレータ設定部１０を介して、オペレータに提示する。オペレータは、提示されたネットワーク設計結果に基づいて、対象ネットワーク１２に対し、手動で、あるいは、パス設定部２３を介して自動で、トラフィックデマンドを収容する設定を行なう。
【００２３】
本実施形態によれば、各装置のポート数上限とコストの関係を考慮しながら、パス収容に伴うコストが最小となる経路、装置、ポート利用数等を、現実的な時間で、設計可能なネットワーク設計システムを提供することができる。
【００２４】
図２は、本実施形態におけるネットワーク設計処理について説明する図である。
トラフィックデマンドを保証する装置・ポートの選定問題として、トラフィック経路、リンクレート、利用ポート数の関係と、装置毎に搭載されるポート数上限の制約条件を定式化し、各拠点に配置される装置のコストの総和が最小となるネットワーク構成を設計する。
【００２５】
さらに、この設計問題は、
・目的関数：min{各拠点に配置される装置およびポートコストの和}、
・制約条件：接続関係を考慮したトラフィック流量保存条件、
各装置が持つポート利用数の上限条件、
各拠点に配置される装置条件（装置は各拠点に一つのみ存在）など
という条件式を立て、制約条件の下に目的関数を最小化する問題として記述することが出来る。
【００２６】
このような問題を数理計画問題と呼び、設計変数の1次式である目的関数と制約式を結合した行列を生成し、作成した行列を既存の数理計画問題ソルバへの入力として与え、演算することで各設計変数の値を取得することができる。
【００２７】
なお、数理計画問題を解くソルバには、フリーソフトや商用ソフトが存在する。これらのソルバでは、線形計画問題や整数計画問題の構造を各ソルバで指定されるフォーマットに変換した入力を与えると、目的関数を最適化（最大化or最小化）する設計解を自動計算することが可能である。なお、フリーのソルバには以下のようなソフトがある。
・GLPK:http://www.gnu.org/software/glpk/
・SCIP:http://scip.Zib.de
・lp-solve:http://lpsolve.sourceforge.net/5.5/
・Clp:https://projects.coin-or.org/Clp
【００２８】
以下、Ｒという統計計算ソフト上で、Ｒsymphonyを実行する例題を説明する。（Ｒ：http://www.cran.fyxm.net/web/packages/Rsymphony/index.html)
*****************************************
目的関数
min x + 9y + 3z
制約条件
x + 2y + 3z  <= 9
3x + 2y + 2z <= 15
*****************************************
という整数計画問題を解く場合、入力データは、
f.obj <- c(1、 9、 3) 
f.con <- matrix (c(1、 2、 3、 3、 2、 2)、 nrow=2、 byrow=TRUE)
f.dir <- c("<="、 "<=")
f.rhs <- c(9、 15)
Rsymphony_solve_LP(f.obj、f.con、 f.dir、 f.rhs、 types=c("B"、"B"、"I")、 max = TRUE)$solution
と与えられ、結果「１，１，２」のベクトルが出力され、ｘ=1、ｙ=1、ｚ=2の解を示す。
【００２９】
このように、目的関数の係数をベクトル化したf.objと、設計変数を含む項を左辺に移行した制約条件式に対して、係数を行列化したf.con、制約条件式の等号・不等号をベクトル化したf．dir、 制約条件式の定数項をベクトル化したf.rhsを生成する。そして、これらをLP()関数に引数として与えることで、目的関数を最適化 （最大化max = TRUE or 最小化max = FALSE）する設計変数の解をベクトルとして得ることが可能になる。
【００３０】
図３〜図６は、本実施形態に従って、ネットワーク設計を数理計画問題として解く方法について説明する図である。
図３のように、３つの拠点で接続されるネットワークに対して、４つのトラフィックデマンド
（１）拠点１から拠点２に８Ｇｂｐｓのトラフィック量
（２）拠点２から拠点３に１Ｇｂｐｓのトラフィック量
（３）拠点３から拠点１に１Ｇｂｐｓのトラフィック量
（４）拠点１から拠点３に１０Ｇｂｐｓのトラフィック量
を収容する上で、各デマンドの転送経路と、各拠点に配置すべき装置を装置Ａ，Ｂ，Ｃの中から選定する問題を考える。
【００３１】
設計変数は、図４および図５のように
・パスデマンドの経路が経由するリンク利用の有無：Ｘ∈｛０、１｝
・装置利用の有無：Ｚ∈｛０、１｝
・回線選択の有無：Ｗ∈｛０、１｝
・各回線に対する利用ポート数  Ｙ∈整数（設計上予め設定された値）
が定義される。ここで、Ｘ，Ｚ，Ｗの添え字は、各拠点の番号と、回線種別、装置の識別子等である。例えば、
・Ｘs,dr,(ij)は、始点ｓ−終点ｄ間のパスデマンドであって、回線種別ｒの、拠点ｉ->ｊ間のリンクの利用の有無を示す。
・Ｚm,kは、拠点ｍにおける装置種別ｋの装置の使用の有無を示す。
・Ｗr,(i,j)は、回線種別ｒの拠点ｉ−ｊ間の回線の使用の有無を示す。
・Ｙr,(i,j)は、回線種別ｒの拠点ｉ−ｊ間の利用ポート数である。
【００３２】
図６のように、これらの設計変数の線形結合で、目的関数と各制約条件を定式化することで、目的関数を最適化する経路解（Ｘ＝０，１）、装置選定解（Ｚ＝０，１）、利用ポート数（Ｙ∈整数）を特定することが可能になる。なお、本問題で定義されるリンク変数Ｘは、転送方向を含めた経路を設計するものである。すなわち、リンク変数Ｘは、１つの物理リンクに対して、２つの片方向リンク変数が定義されるものであり、回線選択変数および利用ポート数変数は、１つの物理リンクに対して、回線種別毎に定義される。
【００３３】
なお、図４および図５は、４つのパスデマンド（（１）、（２）、（３）、（４））に対して、２つずつ（（１）（２）と（３）（４））に分けて順番に設計する際の設計変数の定義例を表している。
【００３４】
図４では、
・デマンド（１）と（２）で別々に設けられた１Ｇおよび１０Ｇ回線レート毎の経路変数  Ｘ
・各拠点間で選択される回線レートの変数  Ｗ
・各拠点間で利用されるポート数の変数  Ｙ
・各拠点に配置される装置変数  Ｚ
【００３５】
図５では、
・デマンド（３）と（４）で別々に設けられた１Ｇおよび１０Ｇ回線レート毎の経路変数  Ｘ
・各拠点間で選択される回線レートの変数  Ｗ
・各拠点間で利用されるポート数の変数  Ｙ
・各拠点に配置される装置変数  Ｚ
が定義される。
【００３６】
また、図５では、図４で設計されたトラフィック経路状態からデマンド（３）、（４）を追加収容する問題として扱われる。
【００３７】
そして、数理計画問題としては、以下の式にしたがって、ソルバによって問題を解く。
【数１】
0005811805.tif 000002
【００３８】
上記式と、各変数の意味は、図６にまとめて示されている。各変数の説明において、用途のDesignは、設計変数であることを示し、Given は、予め問題を解く際に与えられた値を持つことを示す。
【００３９】
図７〜図９は、数理計画問題の解の最適性と問題規模について説明する図である。
これらの設計問題は、事前に与えられた複数の設計パスデマンドに対して、同時に設計するパス数を変更して設計できるが、図７に示すように、同時設計パス数に対して、設計解の最適性と問題規模（計算時間）にはトレードオフの関係が存在する。
【００４０】
例えば、与えられたパスデマンドに対して一つずつ収容設計する場合、数理計画問題で解く設計問題行列（ソルバに与えるパラメータを表す行列；列：設計変数の総数  行：制約数）は小さくでき、大規模なネットワークにおいても現実的な時間で解くことが可能になる。しかし、パスデマンドの設計順によっては、最小コストとなるネットワーク構成を導出できない場合がある。
【００４１】
一方で、与えられたパスデマンドすべてを一括で設計しようとすると、必ず最適（最小コスト）となるネットワーク構成の導出が保証されるものの、設計問題行列が非常に大きくなり、現実的な計算時間で解けない場合が発生する。
【００４２】
図８に示すように、数理計画演算を実施するソフト環境（ソルバの種類）によって、現実的な時間（１時間とか数時間、多くても１日以内程度）で解を導出できる問題規模は異なる。したがって、現実的な時間でできるだけ最適な設計解を導出するためには、演算環境に合わせて適切な同時パス設計数を導出する必要がある。
【００４３】
なお、大きな問題規模で解けば、全体最適な解を得る確率が高まるので、現実的な時間で解ける範囲で、できるだけ大きい問題規模で問題を解くことが望ましい。しかしながら、計算時間はある問題規模以上になると指数関数的に増大してしまう。
【００４４】
できるだけ現実的な計算時間で、できるだけ最適な解を導出するためには、図９のように、計算時間が許す限り、同時設計パス数を変えて施行し、計算できなくなる問題規模の前で得られた最良解を採用する方式が考えられる。しかし、この方式では、施行回数が膨大になり、かつ現実的な時間で計算できなくなる規模の問題も一度施行しなければ分からないため、結局多くの時間を要してしまう。
【００４５】
そこで、ソルバ毎に、現実的な問題規模（設計変数の数、制約数）が規定されている状況を踏まえ、その規定規模になるようなデマンド同時設計数を事前に導出するようにする。
すなわち、ネットワーク設計問題に対して、数理計画演算を実施するソフトウェア（solver）によって指定される現実的な時間で演算可能な設計問題規模になるように、同時設計パス数を設定する。
【００４６】
そして、設定された同時設計パス数と、事前に与えられる装置候補から、各装置のポート数上限とコストの関係を考慮しながら、パス収容に伴う電力量が最小となる転送経路、装置、ポート種別・利用数を設計する問題を自動生成する。
【００４７】
すなわち、ネットワーク設計を実施する環境の演算性能に応じて適切な問題規模に自動分割して、コストを軽減する転送経路、装置、ポート利用数などの設計演算を実施する。
【００４８】
図１０及び図１１は、本実施形態のネットワーク設計装置の処理を示すフローチャートである。
ステップＳ１０においては、ソルバ環境、すなわち、使用するソルバが現実的な時間で解くことのできる問題規模を取得し、ステップＳ１１において、一回の演算で解くことのできるパスデマンド数を問題規模目標値として設定する。この問題規模目標値から設計変数の上限数と制約式の上限数を決定する。設計変数の上限数は、ステップＳ１２で用いられる。また、制約式の上限数は、ステップＳ１６で用いられる。
【００４９】
また、一方で、ステップＳ１３において、ネットワーク設計条件が入力され、ステップＳ１４において、設計問題に対する列数の方程式を算出する。また、ステップＳ１５において、設計問題に対する行数の方程式を算出する。ここで、列数、行数といっているのは、数理計画問題で解く設計問題行列（ソルバに与えるパラメータを表す行列；列：設計変数の総数  行：制約数）の列数と行数のことである。すなわち、ステップＳ１４では、設計変数の数に関する後述の方程式を算出するもので、ステップＳ１５では、制約の数に関する後述の方程式を算出するものである。
【００５０】
ステップＳ１４の方程式は、ステップＳ１２で使用され、ステップＳ１５の方程式は、ステップＳ１６で使用される。ステップＳ１２では、設計問題に対する列数の方程式と設計変数の上限数から、設計変数不等式を生成する。ステップＳ１６では、設計問題に対する行数の方程式と制約式の上限数から制約数不等式を生成する。そして、ステップＳ１２の設計変数不等式と、ステップＳ１６の制約数不等式から、ステップＳ１７で、同時設計デマンド数を設定する。
【００５１】
そして、ステップＳ１８において、デマンドリストからパスデマンドを読み込み、解くべき問題を生成する。ステップＳ１９において、同時設計デマンド数のパスデマンドをまとめて収容設計する。ステップＳ２０において、デマンドリストにある全てのパスデマンドについて設計したか否かを判断する。ステップＳ２０の判断がＮｏの場合には、ステップＳ２２において、新たに設計されたパスデマンドが収容された設計状態に、現在のネットワーク設計状態を更新し、ステップＳ１９に戻って設計を行なう。ステップＳ２０の判断がＹｅｓの場合には、デマンドリストにある全てのパスデマンドについて設計し終わったので、処理を終了する。
【００５２】
図１２及び図１３は、問題規模の導出方法と問題規模の分割方法について説明する図である。
数理計画演算を実施するソフトウェア（solver）において、現実的な時間で演算可能な設計変数および制約数になる設計問題規模になるように、同時設計パス数を導出する。
【００５３】
図１２の設計問題において、設計条件として、デマンド数Ｄ／物理リンク数Ｌ／拠点数Ｍ／装置種別数Ｋ／回線種別数  Ｒが与えられたとき、設計問題規模は
設計変数の数  (K*M) +(2*D*R*L)+(2*R*L)
制約の数  D*[M+(R*L)+1]+L+M+(2*L)+(R*M)+(2*R*L)
となる。
【００５４】
ここで、可変パラメータは、Ｄのみであり、Ｌ、Ｍ、Ｋ、Ｒは、パスデマンドを収容する数理計画問題が設定されたときに与えられるものである。設計変数の数の(K*M)は、Zm,kの数であり、(2*D*R*L)は、Ｘ(s,d)r,(ij)の数であり、(2*R*L)は、Ｗr,(i,j)とＹr,(I,j)の数である。
【００５５】
ここで、図１３に示すように、数理計画問題を解くソフトウェア（solver）において規定される最大問題規模として、
設計変数の上限数  Ｘ
制約数の上限数  Ｙ
が与えられている条件に対して、同時設計可能なパスデマンド数の見積もりを以下の方程式演算により行う。
条件１  （設計変数制限）
(K*M) +(2*D*R*L)+(2R*L))<  X
条件２  （制約数制限）
D*[M+(R*L)+1]+L+M+(2*L)+(R*M)+(2*R*L)<  Y
を満たす最大の同時設計パスデマンド数を導出する。
【００５６】
この問題は、通常の線型方程式を解くソフトウェアを用いることにより、容易に解を得ることができる。
【００５７】
指定された複数パス数を収容する問題として、各パスデマンドに対するトラフィック経路、回線レート、利用ポート数の設計を行う関係と、装置毎に搭載されるポート数上限の制約条件を定式化する。そして、各拠点に配置される装置のコストの総和が最小となるネットワーク構成を、各トラフィックデマンドに経路（リンク集合）・装置・回線の選定有無を示す{0、1}変数、各リンクで利用されるポート数を示す整数とで定義した“整数計画モデル”を生成する。
【００５８】
数理計画問題を解くソフトウェア（solver）を用いて、最小コストとなるパス選定、最小コストとなる装置選定、トラフィック経路、回線レート、利用ポート数の設計を行う。さらに、事前に与えられたパスデマンドをすべて収容設計するまで、整数計画モデルを生成し、ソルバで解くことを繰り返す。
【００５９】
図１４〜図１６は、本実施形態の動作のより具体的な説明における問題設定を説明する図である。
図１４では、２拠点が接続されたネットワークにおいて、与えられたトラフィックデマンドを収容する上で、最小コストとなる装置・回線選定と、トラフィック転送経路設計をする場合を示している。
デマンドリストには4本のデマンド情報が与えられている。
（１）拠点１から拠点２へのデマンド
要求帯域５Ｇbps で、入口ポートおよび出口ポートは１０Ｇポートが利用され、経路長は最短経路とする。
（２）拠点２から拠点1へのデマンド
要求帯域２Ｇbps で、入口ポートおよび出口ポートは１０Ｇポートが利用され、経路長は最短経路とする。
（３）拠点１から拠点２へのデマンド
要求帯域３Ｇbps で、入口ポートおよび出口ポートは１０Ｇポートが利用され、経路長は最短経路とする。
（４）拠点２から拠点1へのデマンド
要求帯域１０Ｇbps で、入口ポートおよび出口ポートは１０Ｇポートが利用され、経路長は最短経路とする。
【００６０】
回線候補としては，１０Ｇおよび４０Ｇを対象とし、各回線電力を１Ｗ、３Ｗとする。
また、各拠点間のリンクにおいてアグリゲーション数の上限は２本までとする。
さらに、各拠点に配置可能な装置情報は以下の３種類としている。
・装置Ａ： 電力１００Ｗ  １０Ｇポート２  ４０Ｇポート０
・装置Ｂ： 電力３００Ｗ  １０Ｇポート４  ４０Ｇポート２
・装置Ｃ： 電力５００Ｗ  １０Ｇポート８  ４０Ｇポート４
本具体例における設計問題を与えるパラメータは以下のようになる。
・物理リンク数  Ｌ＝１
・拠点数  Ｍ＝２
・装置種別数  Ｋ＝３
・回線種別数  Ｒ＝２
【００６１】
したがって、図１５に示されるように、本問題サイズは、同時設計デマンド数Ｄを用いて
列数（設計変数の数）  4D+10
行数（制約の数）   5D+13
と表現される。
【００６２】
一方で、使用するソルバが本設計問題を解く上で、問題規模の条件を「設計変数の数２０、制約数３０」と与えられたとすると、同時設計デマンド数Ｄは以下の不等号を満たす最大の値になる。
4D+10  ≦  20
5D+13  ≦  30
【００６３】
この線形不等式を、線形式を処理するソフトウェアで解く。結果として、Ｄ≦2.5となることから、本問題を解くための同時設計デマンド数は２本となる。
【００６４】
ここで、デマンドリスト内には４本のデマンドが設定されていることから、デマンドを2本ずつ2回に分けて問題を解く。
このときの設計変数の定義を図１６に示す。
【００６５】
各デマンドが経由するリンク利用有無を表す経路変数Ｘ∈｛0、1｝は、1回目の設計用と、２回目の設計用でそれぞれ定義される。それに合わせて、
・各拠点に配置する装置変数Ｚ∈｛0、1｝、
・各拠点間を繋ぐ回線種別を表すＷ∈｛0、1｝、
・各拠点間で利用される回線種別毎のポート数  Ｙ∈  整数
が定義される。
【００６６】
図１７〜図２８は、パスデマンドの収容設計の具体的データ例を示す図である。
１回目の設計演算のデータを図１７〜図２２に、２回目の設定演算のデータを図２３〜図２８に示す。
【００６７】
１回目の設計演算では、デマンド（１）とデマンド（２）を収容設計する問題行列が生成される。ここで、目的関数を表す行列を図１７に示す。図１７にあるように、ソルバに入力する具体的データ例としては、各変数が対応付けられたデータ配列において、目的関数に用いられる変数の欄に対応する数値を入力し、使用されない変数の欄には、０を入力するものとなる。これにより、数値を入力するのみで、目的関数を表現することができるようになる。なお、ここでは、デマンド（１）収容用のＸ変数とデマンド（２）収容用のＸ変数が別個に定義されているが、目的関数には使用されていないので、それらの欄には０が設定されている。図１８〜図２１は、制約行列の具体的データ例である。制約式としては、フロー保存則、ポート種別制約、ホップ数制約、装置選択制約、装置ポート数制約、回線種別の一意性を保証する制約、リンクアグリゲーション数制約がある。いずれも、データ配列の各欄に変数が対応付けられており、表現したい式にない変数には０が設定される。また、制約式の右辺の数値と、等号／不等号を入力する欄が設けられている。
【００６８】
図２２は、ソルバによる１回目の演算の問題行列と演算結果を示す図である。
各制約行列と目的関数のベクトルを組み合わせた設計問題行列をソルバで演算した結果、デマンド（１）、（２）の経路が各方向で収容設計され、拠点１−拠点２間を接続する回線は１０Ｇが1本設計される。さらに、拠点１には、外部からの入出力用１０Ｇポートが２つと、拠点２と接続するための１０Ｇポート１つで、合計１０Ｇのポートが３つ必要のため装置Ｂが設けられるよう設計されている。同様に拠点２にも装置Ｂが設けられるよう設計される。装置Ｂを設けることは、Ｚ１，Ｂ、Ｚ２，Ｂの欄に「１」が設定されていることから示されている。また、１０Ｇの回線を用いることは、Ｘ２（１，２）、Ｘ２（２，１）またはW2の欄に「１」が設定されていることによって示されている。
【００６９】
図２３〜図２８は、２回目のソルバによる演算の具体的データ例を示している。
２回目の設計では、１回目のトラフィック経路状態に基づいて、デマンド（３）と（４）を追加設計する。図２３は、２回目の演算の目的関数を示すが、目的関数は、１回目と２回目で同じなので、図１７のものと同じである。
【００７０】
２回目の設計において各制約条件を表す行列を図２４〜図２７に示す。
なお、各制約式は、デマンド（３）、（４）を表現する。フロー保存則、ポート種別制約、ホップ数制約、装置選択制約、回線種別の一意性を保証する制約、リンクアグリゲーション数制約式については１回目と同様である。すなわち、これらの制約式は、１回目の演算がデマンド（１）、(２)について記述しているのに対し、２回目の演算では、デマンド（３）、（４）を記述している以外は同じである。ただし、装置ポート数制約式では、丸点線で示されるように、装置ポート数制約の右辺に1回目の設計結果を反映した値が設定されている。例えば、図２６の装置ポート数制約において、1番目の式の右辺は、「５」となっている。同じく、２番目の式の右辺は、「２」となっており、1回目の設計デマンド量（５Gbpsおよび２Gbps）を表す。一方で，３番目の式の右辺は、回線種別が２のときに「−４」となっており、1回目の設計デマンド収容時に用いられる入出力用１０Ｇポートが２つと，これから設計する2回目のデマンド収容時に用いられる入出力用１０Ｇポート２つを足し合わせた値を表す。
【００７１】
図２８は、ソルバによる２回目の演算の問題行列と演算結果を示す図である。
デマンド（１）、（２）の経路に加えて、デマンド（３）、（４）が各方向で収容設計されている。拠点１−拠点２間を接続する回線は１０Ｇが２本でアグリゲーション設計される。これは，Y２の欄に２が設定されていることから示される。さらに、各拠点では、デマンド（１）、（２）で入出ポートで利用された2個の10Ｇポートに加えて、デマンド（３）、（４）を追加収容する。これにより、各拠点で、外部からの入出力１０Ｇポートが４個ずつと、拠点１と２を接続するための１０Ｇポートが２つで、それぞれ１０Ｇのポートが全部で６個ずつ必要になっているため、各拠点で装置Ｃを設けることが設計される。装置Ｃを設けることは、Ｚ１，Ｃ、Ｚ２，Ｃの欄に「１」が設定されていることから示されている。
【００７２】
図２９は、本実施形態の設計手法をプログラムで実行する場合に必要とされるコンピュータのハードウェア構成例である。
本実施形態の設計手法は、プログラムで実行可能である。プログラムを実行するコンピュータ３０は、スタンドアロンのマシンでも、対象ネットワーク４０に通信インタフェース３５を介して接続され、対象ネットワーク４０のネットワーク装置の設定を自動で行なうネットワーク装置であっても良い。
【００７３】
コンピュータ３０は、プログラムを実行するＣＰＵ３２を備える。また、プログラムを格納するハードディスクなどの記憶装置３６、プログラムを展開して実行するためのワークエリアとしてＲＡＭ３４、コンピュータ３０の基本機能を制御するプログラムを格納するＲＯＭ３３、キーボードやディスプレイ、マウス等の入出力装置３９、外部と通信するための通信インタフェース３５を備える。また、記録媒体読み取りドライブ３７は、プログラムを格納する、ＤＶＤ，ＣＤ，フレキシブルディスク、ＩＣメモリ等の可搬記録媒体３８からプログラムを読み込む。これらは相互にバス３１によって接続される。
【００７４】
本実施形態の手法を実行するプログラムは、記憶装置３６に格納されているか、可搬記録媒体３８に記録されている。プログラムを実行する場合には、記憶装置３６あるいは可搬記録媒体３８からプログラムを読み取り、ＲＡＭ３４にそれを展開して実行する。
【００７５】
ユーザ（オペレータ）は、本実施形態の設計手法を実行するにおいて、設計モデルを生成し、これをプログラムとして与えられるソルバへの入力データとして構築する。この入力データを入出力装置３９から入力し、ＣＰＵ３２にプログラムを実行させ、設計結果をディスプレイ等に表示させる。これにより、ユーザは、どのようにネットワークを構築すればよいかをディスプレイの表示から知ることが出来る。
【００７６】
プログラムは、通信インタフェース３５に接続されたネットワーク４２を介して、他所にある情報提供者４１の保持するデータベースからダウンロードして実行したり、ネットワーク環境で実行することも可能である。
【００７７】
また、コンピュータ３０が通信インタフェース３５を介して、設計対象のネットワーク４０に接続されたネットワーク管理装置の場合、プログラムを実行するための設計モデルの構築に用いる必要なデータを対象ネットワーク４０から収集することが可能である。また、プログラム実行後に得られた設計情報を通信インタフェース３５からコマンドとして対象ネットワーク４０に送信し、自動的に設計内容が対象ネットワーク４０に反映されるようにしても良い。
【符号の説明】
【００７８】
１０      オペレータ設定部
１１      ネットワーク設計管理部
１２、４０      対象ネットワーク
１３      パス管理部
１４      装置管理部
１５      ネットワーク状態計測部
１６      演算性能設定部
１７      パス要求設定部
１８      装置候補設定部
１９      調整部
２０      目的関数設定部
２１      制約条件設定部
２２      ＮＷ設計部
２３      パス設定部
３０      コンピュータ
３１      バス
３２      ＣＰＵ
３３      ＲＯＭ
３４      ＲＡＭ
３５      通信インタフェース
３６      記憶装置
３７      媒体読み取りドライブ
３８      可搬記録媒体
３９      入出力装置
４１      情報提供者
４２      ネットワーク
【図３】
0005811805.tif 000003
【図４】
0005811805.tif 000004
【図５】
0005811805.tif 000005
【図６】
0005811805.tif 000006
【図７】
0005811805.tif 000007
【図８】
0005811805.tif 000008
【図９】
0005811805.tif 000009
【図１０】
0005811805.tif 000010
【図１１】
0005811805.tif 000011
【図１２】
0005811805.tif 000012
【図１３】
0005811805.tif 000013
【図１４】
0005811805.tif 000014
【図１５】
0005811805.tif 000015
【図１６】
0005811805.tif 000016
【図２９】
0005811805.tif 000017
【図１】
0005811805.tif 000018
【図２】
0005811805.tif 000019
【図１７】
0005811805.tif 000020
【図１８】
0005811805.tif 000021
【図１９】
0005811805.tif 000022
【図２０】
0005811805.tif 000023
【図２１】
0005811805.tif 000024
【図２２】
0005811805.tif 000025
【図２３】
0005811805.tif 000026
【図２４】
0005811805.tif 000027
【図２５】
0005811805.tif 000028
【図２６】
0005811805.tif 000029
【図２７】
0005811805.tif 000030
【図２８】
0005811805.tif 000031