IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通株式会社の特許一覧

<>
  • 特開-探索プログラムおよび探索方法 図1
  • 特開-探索プログラムおよび探索方法 図2
  • 特開-探索プログラムおよび探索方法 図3
  • 特開-探索プログラムおよび探索方法 図4
  • 特開-探索プログラムおよび探索方法 図5
  • 特開-探索プログラムおよび探索方法 図6
  • 特開-探索プログラムおよび探索方法 図7
  • 特開-探索プログラムおよび探索方法 図8
  • 特開-探索プログラムおよび探索方法 図9A
  • 特開-探索プログラムおよび探索方法 図9B
  • 特開-探索プログラムおよび探索方法 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024140899
(43)【公開日】2024-10-10
(54)【発明の名称】探索プログラムおよび探索方法
(51)【国際特許分類】
   G06N 99/00 20190101AFI20241003BHJP
【FI】
G06N99/00 180
【審査請求】未請求
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2023052264
(22)【出願日】2023-03-28
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】清水 俊宏
(57)【要約】
【課題】トポロジー構造の評価にかかる計算量を削減する。
【解決手段】実施形態の探索プログラムは、コンピュータに、変換する処理と、求める処理と、生成する処理と、評価する処理とを実行させる。変換する処理は、評価対象とするネットワークのトポロジー構造およびネットワークの制約条件をネットワークフロー問題に変換する。求める処理は、変換したネットワークフロー問題について最大流量とする解を求める。生成する処理は、最大流量とする解に基づき、ネットワークフロー問題における最小カットを生成する。評価する処理は、生成した最小カットに対応するトポロジー構造の構成が制約条件を満たすか否かを評価する。
【選択図】図3
【特許請求の範囲】
【請求項1】
評価対象とするネットワークのトポロジー構造および当該ネットワークの制約条件をネットワークフロー問題に変換し、
変換した前記ネットワークフロー問題について最大流量とする解を求め、
前記最大流量とする解に基づき、前記ネットワークフロー問題における最小カットを生成し、
生成した前記最小カットに対応する前記トポロジー構造の構成が前記制約条件を満たすか否かを評価する、
処理をコンピュータに実行させることを特徴とする探索プログラム。
【請求項2】
前記変換する処理は、前記ネットワークフロー問題への変換を行う際に、前記トポロジー構造に含まれるサーバに対応するノードに対しては、前記サーバへの入力に対応する入力ノードと、前記サーバからの出力に対応する出力ノードとを作成し、前記入力ノードをネットワークフローの始点とする始点ノードへ接続し、前記出力ノードをネットワークフローの終点とする終点ノードへ接続する、
ことを特徴とする請求項1に記載の探索プログラム。
【請求項3】
前記トポロジー構造の構成が前記制約条件を満たさない場合、当該構成部分を増設したネットワークのトポロジー構造を新たな評価対象とし、前記変換する処理、前記求める処理、前記生成する処理および前記評価する処理を繰り返す、
ことを特徴とする請求項1に記載の探索プログラム。
【請求項4】
評価対象とするネットワークのトポロジー構造および当該ネットワークの制約条件をネットワークフロー問題に変換し、
変換した前記ネットワークフロー問題について最大流量とする解を求め、
前記最大流量とする解に基づき、前記ネットワークフロー問題における最小カットを生成し、
生成した前記最小カットに対応する前記トポロジー構造の構成が前記制約条件を満たすか否かを評価する、
処理をコンピュータが実行することを特徴とする探索方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、探索プログラムおよび探索方法に関する。
【背景技術】
【0002】
ネットワーク通信において、サーバ、スイッチとその間を結ぶケーブルの接続構成はトポロジー構造と呼ばれ、効率的なネットワーク通信を行うためには、このトポロジー構造が重要となる。
【0003】
このネットワーク通信におけるトポロジー構造については、通信量の見積もりを評価し、所定の制約条件下において通信量を最大とするトポロジー構造の探索を行う従来技術がある。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】米国特許第7680641号明細書
【特許文献2】特開2000-348073号公報
【特許文献3】特開2015-130551号公報
【特許文献4】米国特許出願公開第2018/0343191号明細書
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記の従来技術では、トポロジー構造の評価がNP困難問題であることから、単純に全探索するとトポロジー構造に含まれるノード数の増加に対して指数関数的に計算量が増加するという問題がある。
【0006】
1つの側面では、トポロジー構造の評価にかかる計算量を削減できる探索プログラムおよび探索方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
1実施形態の探索プログラムは、コンピュータに、変換する処理と、求める処理と、生成する処理と、評価する処理とを実行させる。変換する処理は、評価対象とするネットワークのトポロジー構造およびネットワークの制約条件をネットワークフロー問題に変換する。求める処理は、変換したネットワークフロー問題について最大流量とする解を求める。生成する処理は、最大流量とする解に基づき、ネットワークフロー問題における最小カットを生成する。評価する処理は、生成した最小カットに対応するトポロジー構造の構成が制約条件を満たすか否かを評価する。
【発明の効果】
【0008】
1実施態様によれば、トポロジー構造の評価にかかる計算量を削減できる。
【図面の簡単な説明】
【0009】
図1図1は、ネットワークフローの一例を説明する説明図である。
図2図2は、トポロジー構造のネットワークフローへの変換を説明する説明図である。
図3図3は、最小カットの一例を説明する説明図である。
図4図4は、実施形態にかかる探索装置の機能構成例を示すブロック図である。
図5図5は、実施形態にかかる探索装置の動作例を示すフローチャートである。
図6図6は、トポロジー構造と制約の一例を示す説明図である。
図7図7は、実施形態にかかる探索装置の動作例を示すフローチャートである。
図8図8は、送信元、宛先が複数あるトポロジー構造の一例を示す説明図である。
図9A図9Aは、送信元、宛先が複数あるトポロジー構造における最大流の計算例を示す説明図である。
図9B図9Bは、送信元、宛先が複数あるトポロジー構造における最大流の計算例を示す説明図である。
図10図10は、コンピュータ構成の一例を説明する説明図である。
【発明を実施するための形態】
【0010】
以下、図面を参照して、実施形態にかかる探索プログラムおよび探索方法を説明する。実施形態において同一の機能を有する構成には同一の符号を付し、重複する説明は省略する。なお、以下の実施形態で説明する探索プログラムおよび探索方法は、一例を示すに過ぎず、実施形態を限定するものではない。また、以下の各実施形態は、矛盾しない範囲内で適宜組みあわせてもよい。
【0011】
(実施形態の概要)
実施形態にかかる探索装置は、評価対象のトポロジー構造および制約条件をネットワークフロー問題に変換し、そのネットワークフロー問題の最大流問題(最大フロー)を解くことにより、ボトルネックとなる最小カットを得る。これにより、実施形態にかかる探索装置は、評価対象のトポロジー構造において最小カットに対応する構造(ノード、エッジ)、すなわち、ネットワーク通信のボトルネックとなるところ(通信量を目一杯使っている箇所)を特定できる。
【0012】
ついで、実施形態にかかる探索装置は、ネットワーク通信のボトルネックとなる構造部分が制約条件を満たすか否かを評価し、制約条件を満たさない場合はその構造部分のエッジを増やすなど、その構造部分の増設を行ったトポロジー構造に更新する。実施形態にかかる探索装置は、このような処理を繰り返すことで、制約条件を満たすトポロジー構造の探索を行う。
【0013】
図1は、ネットワークフローの一例を説明する説明図である。図1に示すように、ネットワークフロー問題の最大流問題は、各ノードNを辺Eで結んだグラフ構造において、始点となるノード(s:ソースともよぶ)から終点となるノード(t:シンクともよぶ)まで可能な限り多くの水を流す問題と言える。
【0014】
このようにネットワークフロー問題の最大流問題を解くと、最大フロー最小カット定理により、ノードN全体は、始点となるノード(s)を含む集合Sと、終点となるノード(t)を含む集合Tとに分かれる。そして、集合Sと、集合Tとの境界であり、集合Sから集合Tへの辺Eは、すべて目一杯流れたボトルネックとなるところ(最小カットB)となる。
【0015】
ここで、ネットワークフロー問題は、多項式時間で最大流量(=最小カットB)が求まることが知られている。例えば、最大流量(=最小カットB)を多項式時間で求めることが可能な手法としては、最も原始的にノード(s)からノード(t)へ流せるパスを探索するford-fulkerson法がある。また、ford-fulkerson法を改良した手法として、深さ優先探索と、幅優先探索を駆使し、ノード(s)からノード(t)へ流せるパスを複数同時に探索するDinic法がある。
【0016】
このように、ネットワークフロー問題において流量のボトルネックとなる最小カットBを求めることは、指数関数的に計算量が増加するようなNP困難問題ではない。したがって、実施形態にかかる探索装置は、最小カットBに対応するトポロジー構造の構成が制約条件を満たすか否かの評価にかかる計算量を削減できる。
【0017】
図2は、トポロジー構造のネットワークフローへの変換を説明する説明図である。図2に示すように、評価対象のトポロジー構造100は、各ノードNを辺Eで結ぶグラフ形状である。ここで、円形状のノードNはサーバ(1~6)を示しており、四角形状のノードNはスイッチ(1~5)を示している。
【0018】
実施形態にかかる探索装置は、このトポロジー構造100をもとに、始点となるノード(s)から終点となるノード(t)へのネットワークフローとするネットワークフロー問題101に変換する。具体的には、実施形態にかかる探索装置は、各サーバのノード(1~6)に対して、サーバへの入力に対応する入力ノードNinと、サーバからの出力に対応する出力ノードNoutとを作成する。なお、各スイッチのノード(1~5)は、そのままのノードとする。また、実施形態にかかる探索装置は、XとYのノードN(サーバまたはスイッチ)を結ぶケーブル(容量C)は、X_outからY_inへの容量(C)の辺Eに対応させる。また、サーバXからサーバYへの通信量Cでの通信は、ソースsからX_inへの容量Cの辺Eと、Y_outからシンクtへの容量Cの辺に対応させる。
【0019】
実施形態にかかる探索装置は、このようなネットワークフロー問題101へ変換して最大流量を解くことで、ネットワークフロー問題101の最小カットを得る。図3は、最小カットの一例を示す図である。図3に示すように、実施形態にかかる探索装置は、ネットワークフロー問題101の最大流問題をとくことで、スイッチ(1)とスイッチ(2)との間と、スイッチ(4)とスイッチ(3)との間の辺Eを跨ぐ最小カットB(解)が得られている。
【0020】
なお、実施形態にかかる探索装置は、このようなネットワークフロー問題101へ変換して最大流量を解いた場合、得られる解は、例えばサーバXからサーバYへの通信とは限らないことがある。すなわち、ネットワークフロー問題101は、元の問題(トポロジー構造)の厳密な解は得られないが、通信量の容量制限は満たしている緩和問題として扱うことができる。
【0021】
(実施形態)
図4は、実施形態にかかる探索装置の機能構成例を示すブロック図である。図4に示すように、探索装置1は、通信部10と、入力部20と、表示部30と、記憶部40と、制御部50とを有する。
【0022】
通信部10は、ネットワークを介して外部装置から各種のデータを受信する。通信部10は、通信装置の一例である。たとえば、通信部10は、設定情報41などを外部装置から受信してもよい。
【0023】
入力部20は、探索装置1の制御部50に各種の情報を入力する入力装置である。入力部20は、キーボードやマウス、タッチパネル等に対応する。例えば、入力部20は、設定情報41に関する操作等をユーザより受け付ける。
【0024】
表示部30は、制御部50から出力される情報を表示する表示装置である。例えば、表示部30は、制御部50の制御のもと、探索結果43の表示を行う。
【0025】
記憶部40は、設定情報41、演算情報42、探索結果43などのデータを格納する。記憶部40は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子や、HDD(Hard Disk Drive)などの記憶装置に対応する。
【0026】
設定情報41は、トポロジー構造の探索に関する処理等に用いられる各種設定を示す情報である。例えば、設定情報41には、トポロジー構造の初期設定(サーバやスイッチ等のノード数、エッジ数など)や制約条件(例えば、単位時間あたりのノード間の通信量、通信ポート数など)などが含まれる。
【0027】
演算情報42は、トポロジー構造の探索に関する処理等の演算過程で得られた情報である。例えば、演算情報42は、評価対象のネットワークのトポロジー構造100を示す情報、トポロジー構造100を変換したネットワークフロー問題101を示す情報などが含まれる。探索結果43は、トポロジー構造の探索により得られた結果などを示す情報である。
【0028】
制御部50は、トポロジー構造取得部51と、トポロジー構造変換部52と、流量計算部53と、トポロジー構造評価部54とを有する。制御部50は、例えばCPU(Central Processing Unit)やGPU(Graphics Processing Unit)、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤードロジック等によって実現される。
【0029】
トポロジー構造取得部51は、評価対象とするネットワークのトポロジー構造100を取得する処理部である。例えば、トポロジー構造取得部51は、設定情報41に含まれるトポロジー構造の初期設定などをもとに、ノードN、辺Eをランダムに配置することで、初期のトポロジー構造100を生成する。また、トポロジー構造取得部51は、トポロジー構造100の評価において最小カットに対応する構成部分が制約条件を満たさない場合、その構成部分に任意の増設(例えば辺Eの追加など)を行ったトポロジー構造100を生成する。
【0030】
トポロジー構造変換部52は、評価対象とするネットワークのトポロジー構造100をもとに、始点となるノード(s)から終点となるノード(t)へのネットワークフローとするネットワークフロー問題101に変換する処理部である。
【0031】
流量計算部53は、ford-fulkerson法、Dinic法等を用いて、トポロジー構造変換部52が変換したネットワークフロー問題101の最大流問題を解く処理部である。流量計算部53は、ネットワークフロー問題101の最大流問題を解くことで、ネットワークフロー問題101のノードN全体を分ける最小カットBを生成する。
【0032】
トポロジー構造評価部54は、流量計算部53が生成した最小カットBに対応するトポロジー構造100の構成が設定情報41に含まれる制約条件を満たすか否かを評価する処理部である。
【0033】
図5は、実施形態にかかる探索装置1の動作例を示すフローチャートである。図5に示すように、処理が開始されると、トポロジー構造取得部51は、通信させたいサーバ対とその通信量、用いるケーブルとその最大容量、用いるスイッチとそのポート数等、設定情報41に含まれる情報の入力を受け付ける(S10)。
【0034】
ついで、トポロジー構造取得部51は、設定情報41に含まれる情報をもとに、初期のトポロジー構造100をランダムに生成する(S11)。
【0035】
図6は、トポロジー構造100と制約の一例を示す説明図である。図6に示すように、例えば、初期のトポロジー構造100は、サーバ(1~6)、スイッチ(1~5)の各ノードNが辺Eを介して結ばれたグラフ構造となっている。トポロジー構造の探索にかかる処理の初期では、このようなトポロジー構造100を評価対象とする。
【0036】
なお、設定情報41に含まれる制約条件は次の制約(1)~(3)を有するものとする。
制約(1):
・サーバ(1)からサーバ(4)へ50Gbpsの通信
・サーバ(2)からサーバ(5)へ20Gbpsの通信
制約(2):
・各ケーブル上の通信量の合計は200Gbps以下
・Infiniband QDRを想定
制約(3)
・スイッチのポート数は6ポート
【0037】
S11についで、制御部50は、評価対象のトポロジー構造100についての評価を実行し、その評価において最小カットに対応する構成部分が制約条件を満たさない場合に、その構成部分に増設を行ったトポロジー構造100を生成する(S12)。なお、このように増設を行ったトポロジー構造100は、直近の評価対象のトポロジー構造100に近い構造を有していることから、近傍ともよぶ。
【0038】
図7は、実施形態にかかる探索装置の動作例を示すフローチャートであり、具体的にはS12に関する処理の詳細を示すフローチャートである。
【0039】
図7に示すように、処理が開始されると、トポロジー構造変換部52は、トポロジー構造100の制約の入力を受け付ける(S20)。ついで、トポロジー構造変換部52は、トポロジー構造100に対して、始点となるソース(s)と、終点となるシンク(t)のノードを追加する(S21)。
【0040】
ついで、トポロジー構造変換部52は、トポロジー構造100に含まれる各サーバのノードNをin(入力)とout(出力)に分離し(S22)、サーバへの入力に対応する入力ノードNinと、サーバからの出力に対応する出力ノードNoutとを作成する。
【0041】
ついで、トポロジー構造変換部52は、ソース(s)から各サーバの入力ノードNinへ通信量合計分の容量をもつ辺Eを追加する(S23)。ついで、トポロジー構造変換部52は、各サーバの出力ノードNoutからシンク(t)へ通信量合計分の容量をもつ辺Eを追加する(S24)。
【0042】
ついで、流量計算部53は、サーバを頂点・ケーブルを辺とするネットワークフロー問題101を解いて最大流(解)を得る(S25)。ついで、流量計算部53は、ネットワークフロー問題101の解から最小カットBを生成する(S26)。
【0043】
トポロジー構造評価部54は、最小カットBをまたぐ辺Eが制約条件を満たすか否かを評価する。トポロジー構造取得部51は、制約条件を満たさない場合、ランダムの辺Eを追加することで近傍となるトポロジー構造100を取得し(S27)、処理を終了する。
【0044】
なお、ネットワークフローにおいて、(送信元,宛先)のペアが複数ある場合、流量計算部53は、逐次計算を行うことで、最大流(解)を得るものとする。
【0045】
図8は、送信元、宛先が複数あるトポロジー構造100の一例を示す説明図である。図8に示すトポロジー構造100では、送信元はサーバのノード(1)、(2)であり、宛先はサーバのノード(3)、(4)とする。
【0046】
また、制約条件は、次のとおりとする。
制約:
ノード(1)からノード(3)へ1単位流す
ノード(1)からノード(4)へ2単位流す
ノード(2)からノード(3)へ2単位流す
ノード(2)からノード(4)へ1単位流す
【0047】
このように(送信元,宛先)のペアが複数ある場合、流量計算部53は、ソース(s)やシンク(t)を接続するノードを逐次つなぎかえてフローを逐次計算することで、全体の最大フローを求める。
【0048】
図9A図9Bは、送信元、宛先が複数あるトポロジー構造における最大流の計算例を示す説明図である。図9Aに示すように、流量計算部53は、ソース(s)をサーバのノード(1)に接続する(S30)。ついで、流量計算部53は、実際に水を流してフローを計算し(S31)、流れた分を容量から減らす(S32)。
【0049】
ついで、図9Bに示すように、流量計算部53は、ソース(s)をサーバのノード(2)に接続し(S33)、実際に水を流してフローを計算する(S34)。ここで、制約像件おける、ノード(2)からノード(3)へ2単位流す制約が達成できていないことがわかる。したがって、トポロジー構造取得部51は、最小カットBに対応する構成である、サーバのノード(2)からスイッチのノード(2)の間の辺Eを増設し、近傍となるトポロジー構造100を得る。
【0050】
図5に戻り、S12に次いで、トポロジー構造取得部51は、生成した近傍を受け入れるか否かを判定する(S13)。この判定では、例えば所定の確率で受け付けるか否かが判定される。
【0051】
近傍を受け入れない場合(S13:No)、トポロジー構造取得部51は、S12へ処理を戻す。近傍を受け入れる場合(S13:Yes)、トポロジー構造取得部51は、近傍で評価対象のトポロジー構造100を置き換える(S14)。
【0052】
ついで、トポロジー構造評価部54は、評価対象のトポロジー構造100が全ての誠意約条件を満たすか否かを判定し(S15)、全ての制約条件を満たさない場合(S15:No)はS12へ処理を戻す。全ての制約条件を満たす場合(S15:Yes)、トポロジー構造評価部54は、評価対象のトポロジー構造100を探索結果43として出力し(S16)、処理を終了する。
【0053】
以上のように、探索装置1は、評価対象とするネットワークのトポロジー構造100およびネットワークの制約条件をネットワークフロー問題101に変換する。探索装置1は、変換したネットワークフロー問題101について最大流量とする解を求める。探索装置1は、最大流量とする解に基づき、ネットワークフロー問題101における最小カットBを生成する。探索装置1は、生成した最小カットBに対応するトポロジー構造100の構成が制約条件を満たすか否かを評価する。
【0054】
ネットワークフロー問題は、ノード数に対して多項式時間で最大流量とする解が得られる。すなわち、ネットワークフロー問題において流量のボトルネックとなる最小カットBを求めることは、指数関数的に計算量が増加するようなNP困難問題ではない。このように、探索装置1では、最小カットBに対応するトポロジー構造100の構成が制約条件を満たすか否かの評価にかかる計算量を削減できる。
【0055】
また、探索装置1は、ネットワークフロー問題101への変換を行う際に、トポロジー構造100に含まれるサーバに対応するノードに対しては、サーバへの入力に対応する入力ノードNinと、サーバからの出力に対応する出力ノードNoutとを作成し、入力ノードNinをネットワークフローの始点とする始点ノード(S)へ接続し、出力ノードNoutをネットワークフローの終点とする終点ノード(t)へ接続する。
【0056】
このようなネットワークフロー問題101へ変換して最大流量を解いた場合、得られる解は、例えばサーバXからサーバYへの通信とは限らないことがある。すなわち、ネットワークフロー問題101は、元の問題(トポロジー構造)の厳密な解は得られないが、通信量の容量制限は満たしている緩和問題として扱うことができる。このような緩和問題の解は元の問題の必要条件になるが、十分条件とはならない。すなわち、緩和問題の解は、例えば通信不能(制約条件を満たなさい)場合は元の問題でも通信不能と評価でき、もとの問題の実行可能性を測る指標となりえる。
【0057】
また、探索装置1は、トポロジー構造100の構成が制約条件を満たさない場合、この構成部分を増設したネットワークのトポロジー構造を新たな評価対象とし、変換する処理、求める処理、生成する処理および評価する処理を繰り返す。これにより、探索装置1は、指数関数的に計算量が増加するようなNP困難問題を回避しつつ、制約条件を満たすようなネットワークのトポロジー構造を探索できる。
【0058】
なお、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0059】
また、探索装置1の制御部50で行われるトポロジー構造取得部51、トポロジー構造変換部52、流量計算部53およびトポロジー構造評価部54の各種処理機能は、CPU(またはMPU、MCU(Micro Controller Unit)等のマイクロ・コンピュータ)上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、CPU(またはMPU、MCU等のマイクロ・コンピュータ)で解析実行されるプログラム上、またはワイヤードロジックによるハードウエア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。また、探索装置1で行われる各種処理機能は、クラウドコンピューティングにより、複数のコンピュータが協働して実行してもよい。
【0060】
ところで、上記の実施形態で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の実施形態と同様の機能を有するプログラムを実行するコンピュータ構成(ハードウエア)の一例を説明する。図10は、コンピュータ構成の一例を説明する説明図である。
【0061】
図10に示すように、コンピュータ200は、各種演算処理を実行するCPU201と、データ入力を受け付ける入力装置202と、モニタ203と、スピーカ204とを有する。また、コンピュータ200は、記憶媒体からプログラム等を読み取る媒体読取装置205と、各種装置と接続するためのインタフェース装置206と、有線または無線により外部機器と通信接続するための通信装置207とを有する。また、探索装置1は、各種情報を一時記憶するRAM208と、ハードディスク装置209とを有する。また、コンピュータ200内の各部(201~209)は、バス210に接続される。
【0062】
ハードディスク装置209には、上記の実施形態で説明した機能構成(例えばトポロジー構造取得部51、トポロジー構造変換部52、流量計算部53およびトポロジー構造評価部54)における各種の処理を実行するためのプログラム211が記憶される。また、ハードディスク装置209には、プログラム211が参照する各種データ212が記憶される。入力装置202は、例えば、操作者から操作情報の入力を受け付ける。モニタ203は、例えば、操作者が操作する各種画面を表示する。インタフェース装置206は、例えば印刷装置等が接続される。通信装置207は、LAN(Local Area Network)等の通信ネットワークと接続され、通信ネットワークを介した外部機器との間で各種情報をやりとりする。
【0063】
CPU201は、ハードディスク装置209に記憶されたプログラム211を読み出して、RAM208に展開して実行することで、上記の機能構成(例えばトポロジー構造取得部51、トポロジー構造変換部52、流量計算部53およびトポロジー構造評価部54)に関する各種の処理を行う。なお、プログラム211は、ハードディスク装置209に記憶されていなくてもよい。例えば、コンピュータ200が読み取り可能な記憶媒体に記憶されたプログラム211を読み出して実行するようにしてもよい。コンピュータ200が読み取り可能な記憶媒体は、例えば、CD-ROMやDVDディスク、USB(Universal Serial Bus)メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、LAN等に接続された装置にこのプログラム211を記憶させておき、コンピュータ200がこれらからプログラム211を読み出して実行するようにしてもよい。
【0064】
以上の実施形態に関し、さらに以下の付記を開示する。
【0065】
(付記1)評価対象とするネットワークのトポロジー構造および当該ネットワークの制約条件をネットワークフロー問題に変換し、
変換した前記ネットワークフロー問題について最大流量とする解を求め、
前記最大流量とする解に基づき、前記ネットワークフロー問題における最小カットを生成し、
生成した前記最小カットに対応する前記トポロジー構造の構成が前記制約条件を満たすか否かを評価する、
処理をコンピュータに実行させることを特徴とする探索プログラム。
【0066】
(付記2)前記変換する処理は、前記ネットワークフロー問題への変換を行う際に、前記トポロジー構造に含まれるサーバに対応するノードに対しては、前記サーバへの入力に対応する入力ノードと、前記サーバからの出力に対応する出力ノードとを作成し、前記入力ノードをネットワークフローの始点とする始点ノードへ接続し、前記出力ノードをネットワークフローの終点とする終点ノードへ接続する、
ことを特徴とする付記1に記載の探索プログラム。
【0067】
(付記3)前記トポロジー構造の構成が前記制約条件を満たさない場合、当該構成部分を増設したネットワークのトポロジー構造を新たな評価対象とし、前記変換する処理、前記求める処理、前記生成する処理および前記評価する処理を繰り返す、
ことを特徴とする付記1に記載の探索プログラム。
【0068】
(付記4)評価対象とするネットワークのトポロジー構造および当該ネットワークの制約条件をネットワークフロー問題に変換し、
変換した前記ネットワークフロー問題について最大流量とする解を求め、
前記最大流量とする解に基づき、前記ネットワークフロー問題における最小カットを生成し、
生成した前記最小カットに対応する前記トポロジー構造の構成が前記制約条件を満たすか否かを評価する、
処理をコンピュータが実行することを特徴とする探索方法。
【0069】
(付記5)前記変換する処理は、前記ネットワークフロー問題への変換を行う際に、前記トポロジー構造に含まれるサーバに対応するノードに対しては、前記サーバへの入力に対応する入力ノードと、前記サーバからの出力に対応する出力ノードとを作成し、前記入力ノードをネットワークフローの始点とする始点ノードへ接続し、前記出力ノードをネットワークフローの終点とする終点ノードへ接続する、
ことを特徴とする付記4に記載の探索方法。
【0070】
(付記6)前記トポロジー構造の構成が前記制約条件を満たさない場合、当該構成部分を増設したネットワークのトポロジー構造を新たな評価対象とし、前記変換する処理、前記求める処理、前記生成する処理および前記評価する処理を繰り返す、
ことを特徴とする付記4に記載の探索方法。
【符号の説明】
【0071】
1…探索装置
10…通信部
20…入力部
30…表示部
40…記憶部
41…設定情報
42…演算情報
43…探索結果
50…制御部
51…トポロジー構造取得部
52…トポロジー構造変換部
53…流量計算部
54…トポロジー構造評価部
100…トポロジー構造
101…ネットワークフロー問題
200…コンピュータ
201…CPU
202…入力装置
203…モニタ
204…スピーカ
205…媒体読取装置
206…インタフェース装置
207…通信装置
208…RAM
209…ハードディスク装置
210…バス
211…プログラム
212…各種データ
B…最小カット
E…辺
N…ノード
Nin…入力ノード
Nout…出力ノード
S、T…集合
図1
図2
図3
図4
図5
図6
図7
図8
図9A
図9B
図10