(58)【調査した分野】(Int.Cl.,DB名)
共用基盤ノードを含む基盤ノード群から構成される基盤ネットワークに、連携仮想ノードを含む仮想ノード群から構成される連携型仮想ネットワークを割当てる方法において、
基盤ネットワークを表すグラフに連携型仮想ネットワークの各仮想ノードに対応する拡張ノードを追加して拡張基盤ネットワークグラフを生成する手順と、
拡張基盤ネットワークグラフ上で基盤ネットワークへ連携型仮想ネットワークを割当てる整数計画法モデルを求解する手順と、
前記求解の結果を対象に、各共用基盤ノードの障害を想定した場合の仮想ネットワークの連結性を検査する手順と、
非連結とする検査結果に対して、連結性を維持するために前記整数計画法モデルに追加する制約条件を定義する手順とを含み、
前記整数計画法モデルを求解する手順は、前記制約条件が追加されるごと整数計画法モデルの求解を繰り返すことを特徴とする連携型仮想ネットワーク割当方法。
前記追加する手順では、障害を想定した共用基盤ノードを中継ノードとする基盤パスに割当てられた仮想リンク集合の中から、それらが切断されると仮想ネットワークが非連結となる極小の仮想リンク集合を抽出し、当該仮想リンク集合中の少なくとも一つの仮想リンクが当該共用基盤ノードを回避する基盤パスに割当てられる制約条件を定義して整数計画法モデルに追加することを特徴とする請求項1に記載の連携型仮想ネットワーク割当方法。
前記連結性を検査する手順は、障害を想定した共用基盤ノードに割当てられた連携仮想ノードを除いた仮想ノード集合中の一の仮想ノードと他の全ての仮想ノードとのペア間で経路探索を行い、経路探索できないペアがあれば検査結果を非連結とすることを特徴とする請求項2に記載の連携型仮想ネットワーク割当方法。
前記求解する手順は、連携型仮想ネットワークから各連携仮想ノードと当該各連携仮想ノードに接続された仮想リンクとを取り除いた各々の仮想ネットワークにおける最小カットセットを抽出し、当該最小カットセットに関する制約条件を、最初に求解する整数計画法モデルに加えることを特徴とする請求項1ないし4のいずれかに記載の連携型仮想ネットワーク割当方法。
前記求解する手順は、連携型仮想ネットワークから各連携仮想ノードと当該各連携仮想ノードに接続された仮想リンクとを取り除いた各々の仮想ネットワークにおいて、当該各連携仮想ノードの隣接仮想ノード群に接続する仮想リンク群によって構成される極小カットセットを抽出し、当該極小カットセットに関する制約条件を、最初に求解する整数計画法モデルに加えることを特徴とする請求項1ないし4のいずれかに記載の連携型仮想ネットワーク割当方法。
共用基盤ノードを含む基盤ノード群から構成される基盤ネットワークに、連携仮想ノードを含む仮想ノード群から構成される連携型仮想ネットワークを割当てる連携型仮想ネットワーク割当装置において、
基盤ネットワークを表すグラフに、連携型仮想ネットワークの各仮想ノードに対応する拡張ノードを追加して拡張基盤ネットワークグラフを生成する手段と、
拡張基盤ネットワークグラフ上で、基盤ネットワークへ連携型仮想ネットワークを割当てる整数計画法モデルを求解する手段と、
前記求解の結果を対象に、各共用基盤ノードの障害を想定した場合の仮想ネットワークの連結性を検査する手段と、
非連結とする検査結果に対して、連結性を維持するため前記整数計画法モデルに追加する制約条件を定義する手段とを含み、
前記整数計画法モデルを求解する手段は、前記制約条件が追加されるごと整数計画法モデルの求解を繰り返すことを特徴とする連携型仮想ネットワーク割当装置。
【発明の概要】
【発明が解決しようとする課題】
【0008】
非特許文献1では、仮想ノードが割当てられている基盤ノードに障害が発生した場合、当該仮想ノードが持つサービス機能を維持することができない。非特許文献2では、共用基盤ノード障害に備えて、サービス連携機能を有する予備の共用基盤ノードを用意する必要がある。
【0009】
特許文献1では、連携仮想ノードが割当てられている共用基盤ノードに障害が発生した場合、サービス連携機能を利用できなくなる仮想ノードが発生する恐れがある。特許文献2では、解法すべき整数計画法モデルが大規模化して、解法に要する計算量が増加し、規模が大きな高信頼連携型仮想ネットワークの割当てを実現することができない場合がある。
【0010】
本発明の目的は、上記の技術課題を解決し、共用基盤ノードに障害が発生した場合でも、仮想ネットワークの連結性が維持されるための制約条件を必要に応じて追加しつつ、繰り返し整数計画法モデルを解くことによりサービス連携を継続できる、規模の大きな高信頼連携型仮想ネットワークに好適な連携型仮想ネットワーク割当方法および装置を提供することにある。
【課題を解決するための手段】
【0011】
上記の目的を達成するために、本発明は、共用基盤ノードを含む基盤ノード群から構成される基盤ネットワークに、連携仮想ノードを含む仮想ノード群から構成される連携型仮想ネットワークを割当てる方法において、以下の構成を具備した点に特徴がある。
【0012】
(1) 基盤ネットワークを表すグラフに、連携型仮想ネットワークの各仮想ノードに対応する拡張ノードを追加して拡張基盤ネットワークグラフを生成する手順と、拡張基盤ネットワークグラフ上で、基盤ネットワークへ連携型仮想ネットワークを割当てる整数計画法モデルを求解する手順と、前記求解の結果を対象に、各共用基盤ノードの障害を想定した場合の仮想ネットワークの連結性を検査する手順と、非連結とする検査結果に対して、連結性を維持するために前記整数計画法モデルに追加する制約条件を定義する手順とを含み、整数計画法モデルを求解する手順は、制約条件が追加されるごと整数計画法モデルの求解を繰り返すようにした。
【0013】
(2) 追加する手順では、障害を想定した共用基盤ノードを中継ノードとする基盤パスに割当てられた仮想リンク集合の中から、それらが切断されると仮想ネットワークが非連結となる極小の仮想リンク集合を抽出し、当該仮想リンク集合中の少なくとも一つの仮想リンクが当該共用基盤ノードを回避する基盤パスに割当てられる制約条件を定義して整数計画法モデルに追加するようにした。
【0014】
(3) 連結性を検査する手順は、障害を想定した共用基盤ノードに割当てられた連携仮想ノードを除いた仮想ノード集合中の一の仮想ノードと他の全ての仮想ノードとのペア間で経路探索を行い、経路探索できない仮想ノードペアがあれば検査結果を非連結とするようにした。
【0015】
(4) 求解する手順は、連携型仮想ネットワークから各連携仮想ノードと当該各連携仮想ノードに接続された仮想リンクとを取り除いた各々の仮想ネットワークにおける最小カットセットを抽出し、当該最小カットセットに関する制約条件を、最初に求解する整数計画法モデルに加えるようにした。
【0016】
(5) 求解する手順は、連携型仮想ネットワークから各連携仮想ノードと当該各連携仮想ノードに接続された仮想リンクとを取り除いた各々の仮想ネットワークにおいて、当該各連携仮想ノードの隣接仮想ノード群に接続する仮想リンク群によって構成される極小カットセットを抽出し、当該極小カットセットに関する制約条件を、最初に求解する整数計画法モデルに加えるようにした。
【発明の効果】
【0017】
本発明によれば、以下のような効果が達成される。
【0018】
(1) 仮想ネットワークの連結性を維持するために必要な実質的に最低限の制約条件のみが整数計画法モデルに追加されるので、仮想ネットワーク割当てに係る計算負荷を軽減できる。したがって、サービス連携機能を有する1個の共用基盤ノードが障害になった場合でも、他の共用基盤ノードを用いてサービス連携を継続できる規模の大きな高信頼連携型仮想ネットワークを基盤ネットワークへ割当てることができるようになる。
【0019】
(2) 障害を想定した共用基盤ノードを中継ノードとする基盤パスに割当てられた仮想リンク集合の中から、それらが切断されると仮想ネットワークが非連結となる極小の仮想リンク集合を抽出し、当該仮想リンク集合中の少なくとも一つの仮想リンクが当該共用基盤ノードを回避する基盤パスに割当てられる制約条件を追加するようにしたので、仮想ネットワークの連結性を維持するために必要な実質的に最低限の制約条件のみを整数計画法モデルに追加できるようになる。
【0020】
(3) 連結性を検査する手順では、障害を想定した共用基盤ノードに割当てられた連携仮想ノードを除いた仮想ノード集合中の一の仮想ノードと他の全ての仮想ノードとのペア間で経路探索を行い、経路探索できない仮想ノードペアがあれば検査結果を非連結とするので、仮想ネットワークの連結性を容易に検査できるようになる。
【0021】
(4) 連携型仮想ネットワークから各連携仮想ノードと当該各連携仮想ノードに接続された仮想リンクとを取り除いた各々の仮想ネットワークにおける最小カットセットを抽出し、当該最小カットセットに関する制約条件を、最初に求解する整数計画法モデルに加えるようにしたので、整数計画法モデル解法の繰り返し回数を減じることができる。
【0022】
(5) 連携型仮想ネットワークから各連携仮想ノードと当該各連携仮想ノードに接続された仮想リンクとを取り除いた各々の仮想ネットワークにおいて、当該各連携仮想ノードの隣接仮想ノード群に接続する仮想リンク群によって構成される極小カットセットを抽出し、当該極小カットセットに関する制約条件を、最初に求解する整数計画法モデルに加えるようにしたので、整数計画法モデル解法の繰り返し回数を減じることができる。
【発明を実施するための形態】
【0024】
以下、図面を参照して本発明の実施の形態について詳細に説明する。
図1は、サービス連携機能を有する共用基盤ノード群を含む基盤ネットワークSNに対して、連携仮想ノード群を含む連携型仮想ネットワークVNを割当てる方法を模式的に示した図であり、
図2は、基盤ネットワークSNに対する連携型仮想ネットワークVNの割当て例を示した図である。本実施形態では、サービス連携機能を有する1個の共用基盤ノードに障害が発生しても他の共用基盤ノードを用いてサービス連携を継続できる、高信頼の連携型仮想ネットワークが基盤ネットワークに割当てられる。
【0025】
連携型仮想ネットワークVNは、
図1に示したように、ハッチング(●)で示した連携仮想ノードvn(vn1,vn2)と、それ以外の白丸(○)で示した通常仮想ノードvn(vn3,vn4)とを仮想リンクvlで連結して構成される。基盤ネットワークSNは、ハッチングで示した共用基盤ノードsn(sn1,sn6)と、それ以外の白丸で示した通常基盤ノードsn(sn2,sn3…)とを基盤リンクで連結して構成される。
【0026】
連携型仮想ネットワークVNの連携仮想ノードvn(群)および基盤ネットワークSNの共用基盤ノードsn(群)は予め指定されている。共用基盤ノードsn1,sn6には、各連携型仮想ネットワークVNが共有するデータを管理するサーバ(図示省略)が接続されている。
【0027】
また、連携型仮想ネットワークVNを構成する各連携仮想ノードvnおよび各通常仮想ノードvn(以下、「仮想ノード」で総称する場合もある)の要求容量および各仮想リンクvlの要求帯域は予め与えられる。同様に、基盤ネットワークSNを構成する各共用基盤ノードsnおよび各通常基盤ノードsn(以下、「基盤ノード」で総称する場合もある)の空き容量および各基盤リンクの空き帯域も予め与えられる。
【0028】
前記要求容量の指標としては、例えば仮想ノードを構成するコンピュータのリソース(メモリ、CPU、ディスク記録媒体など)の要求容量や要求稼働率を用いることができる。前記空き容量の指標としては、例えば基盤ノードを構成するコンピュータのリソースの空き容量や空き稼働率を用いることができる。
【0029】
連携型仮想ネットワークVNを構成する各連携仮想ノードvnは、それぞれ異なる1個の共用基盤ノードsnに割当てられ、各通常仮想ノードvnは、それぞれ異なる1個の基盤ノードsnに割当てられる。
図2の例では、連携仮想ノードvn1,vn2が、それぞれ共用基盤ノードsn6,sn1に割当てられ、通常仮想ノードvn3,vn4が、それぞれ基盤ノードsn3,sn7に割当てられている。各仮想ノードvnの割当ては、各基盤ノードsnの空き容量を超えて行う事はできない。
【0030】
連携型仮想ネットワーVNを構成する各仮想リンクvlは、当該仮想リンクvlの両端に接続された仮想ノードvnが割当てられる基盤ノードsn間を接続する1本の基盤パスに割当てられる。各仮想リンクvlの割当ては、基盤パスを構成する各基盤リンクの空き帯域を超えて行う事はできない。
【0031】
図3は、本実施形態における連携型仮想ネットワークの基盤ネットワークへの割当て例を、
図2に示した従来の割当て例との比較において示した図であり、連携仮想ノードvn1,vn2は、それぞれ共用基盤ノードsn6,sn1に割当てられ、通常仮想ノードvn3,vn4は、それぞれ基盤ノードsn3,sn7に割当てられている。
【0032】
図2の例では、仮想リンクvl4は基盤パスsn3−sn1−sn7に割当てられる。このとき、仮想リンクvl4の割当ては、基盤リンクsn3−sn1および基盤リンクsn1−sn7の空き帯域を超えて行う事はできない。
図3の例では、仮想リンクvl4は基盤パスsn3−sn4−sn7に割当てられる。このとき、仮想リンクvl4の割当ては、基盤リンクsn3−sn4および基盤リンクsn4−sn7の空き帯域を超えて行う事はできない。
【0033】
図2の割当て例では、共用基盤ノードsn1に障害が発生すると、共用基盤ノードsn1を経由している仮想リンクvl4も障害となり、仮想ノードvn3は正常な連携仮想ノードvn1から連携サービスを受けられなくなる。
【0034】
一方、
図3の割当て例では、共用基盤ノードsn1に障害が発生しても、仮想ノードvn3と正常な連携仮想ノードvn1の接続性が保たれるので、仮想ノードvn3は連携仮想ノードvn1から継続して連携サービスを受けられる。そこで、本実施形態では、
図2に例示した連携型仮想ネットワークの割当ては避けて、
図3に例示した高信頼を実現する連携型仮想ネットワークの割当てを実現する。
【0035】
図4は、本発明の一実施形態に係る高信頼を実現する連携型仮想ネットワークの基盤ネットワークへの割当方法を適用した高信頼連携型仮想ネットワーク割当装置1の主要部の構成を示した機能ブロック図であり、拡張基盤ネットワークグラフ生成部10、整数計画法モデル求解部20、連結性検査部30および制約条件生成および追加部40を主要な構成としている。
【0036】
このような連携型仮想ネットワーク割当装置1は、汎用のコンピュータやサーバに各機能を実現するアプリケーション(プログラム)を実装することで構成できる。あるいはアプリケーションの一部がハードウェア化またはROM化された専用機や単能機としても構成できる。
【0037】
本実施形態では、基盤ネットワーク情報および連携型仮想ネットワーク割当要求が入力情報として与えられる。前記基盤ネットワーク情報は、基盤ネットワークのトポロジー情報、共用基盤ノードを識別する共用基盤ノード情報、各基盤ノードの空き容量および各基盤リンクの空き帯域で構成される。前記高信頼連携型仮想ネットワーク割当要求は、仮想ネットワークのトポロジー情報、連携仮想ノードを識別する連携仮想ノード情報、各仮想ノードの要求容量および各仮想リンクの要求帯域で構成される。
【0038】
前記拡張基盤ネットワークグラフ生成部10は、前記2つの入力情報に基づき、整数計画法モデルの対象となる拡張グラフを生成する。拡張グラフでは、
図5に示したように、連携仮想ノードに対応する拡張ノードvn1,vn2が、拡張リンクによって共用基盤ノードsn1,sn6のみに接続される。一方、通常仮想ノードに対応する拡張ノードvn3,vn4は、拡張リンクによって全ての基盤ノードsn1−sn8に接続される。
【0039】
整数計画法モデル求解部20は、前記生成した拡張グラフ上の整数計画法モデルを、所定の制約条件下で求解することによって連携型仮想ネットワークの基盤ネットワークへの割当てを行う。連結性検査部30は、整数計画法モデルの解法によって得られた連携型仮想ネットワークの連結性を検査する。制約条件生成および追加部40は、連結性が維持されていないとする検査結果に応答して、個々の共用基盤ノードに障害が発生した際にも仮想ネットワークの連結性が維持されるための制約条件を前記整数計画法モデルに追加する。
【0040】
前記整数計画法モデル求解部20は、前記制約条件が追加されるごとに、拡張基盤ネットワークグラフ上の整数計画法モデルを繰り返し求解することによって、高信頼な連携型仮想ネットワークの基盤ネットワークへの割当てを実現する。
【0041】
本実施形態の整数計画法モデルは、連携型仮想ネットワーク割当てに要求される一般的な制約条件(一般的制約条件:次式(1)−(10))および目的関数(次式(12)−(14))を含み、さらに仮想ネットワークの連結性を維持するための制約条件(連結性制約条件:次式(11))が繰り返し追加される。
【0042】
本実施形態では、整数計画法モデルにおける各定数および各集合が以下の様に定義される。
SN:基盤ノード集合(基盤ネットワークのトポロジー情報)
SSN:共用基盤ノード集合(共用基盤ノード情報)
SL:基盤リンク集合(基盤ネットワークのトポロジー情報)
EN:拡張(仮想)ノード集合(仮想ネットワークのトポロジー情報)
CEN:連携仮想ノード群に対応する拡張(仮想)ノード集合(連携仮想ノード情報)
EL:拡張リンク集合
VL:仮想リンク集合(仮想ネットワークのトポロジー情報)
SC
w:基盤ノードwの空き容量
SB
u, v:基盤リンク(u, v)の空き帯域
VC
m:仮想ノードmの要求容量
VB
i:仮想リンクiの要求帯域
INOUT
n:拡張グラフ上のノードnに接続しているリンクの集合
s
i:仮想リンクiの始点拡張(仮想)ノード
t
i:仮想リンクiの終点拡張(仮想)ノード
CS cvn:連携仮想ノードcvnと当該連携仮想ノードcvnに接続した仮想リンクを取り除いた仮想ネットワークにおけるカットセットの集合
α
u, v:基盤リンク(u, v)の重み(単位帯域当たりのコスト)
β
w:基盤ノードwの重み(単位容量当たりのコスト)
【0043】
また、整数計画法モデルにおける変数が以下の様に定義される。
x
iu, v:仮想リンクiが割当てられた基盤パスが基盤・拡張リンク(u, v)を通過するか否かを示すバイナリ変数。
y
iw:仮想リンクiが割当てられた基盤パスが基盤ノードwを通過するか否かを示すバイナリ変数。
z
m, w:拡張ノードmに対応する仮想ノードが基盤ノードwに割当てられたか否かを示すバイナリ変数。
【0044】
整数計画法モデルにおける一般的制約条件は、次式(1)−(10) の通りであり、仮想ネットワークの連結性を維持するための連結性制約条件は、次式(11)の通りである。
【0045】
(基盤ノードの容量制約)
仮想ノードの要求容量が割当先の基盤ノードの空き容量よりも小さくなければならない制約条件であり、次式(1)で与えられる。
【0047】
(基盤リンクの帯域制約)
仮想リンクの要求帯域が割当先の基盤リンクの空き帯域よりも小さくなければならない制約条件であり、次式(2)で与えられる。
【0049】
(仮想リンクが割当てられた基盤パス制約)
仮想リンクが割当てられた基盤パスは、出リンクおよび入リンクとして中継基盤ノードの接続リンクを2回通り、非中継基盤ノードの接続リンクは1回も通らず、更に始点ノードの接続リンクおよび終点ノードの接続リンクを1回だけ通るというパス保存則であり、次式(3),(4)で与えられる。
【0054】
(仮想ノードの割当制約)
各拡張ノードは各基盤ノードに1回だけ割当てられ、各基盤ノードには高々1個の拡張ノードが割当てられるという制約条件であり、次式(6),(7)で与えられる。
【0061】
次いで、共用基盤ノード障害時に仮想ネットワークの連結性を維持するための制約条件について説明する。
【0062】
本実施形態では、連携仮想ノードcvnが共用基盤ノードssnに割当てられた場合、連携仮想ノードcvnと当該連携仮想ノードcvnに接続した仮想リンクとを取り除いた仮想ネットワークにおいて、その連結性を妨げる仮想リンク集合をカットセットCSとしたとき、当該カットセットCS中の少なくとも1本の仮想リンクが共用基盤ノードssnを回避する基盤パスに割当てられるようにする制約条件が次式(11)で定義される。
【0064】
整数計画法モデルにおいて最少化すべき総コストは、各基盤ノードに確保する容量および各基盤リンクに確保する帯域の総和であり、次式(12)で与えられる。
【0068】
上式(13),(14)で表される重みは、所要基盤リンク帯域および所要基盤ノード容量の削減に加えて、各基盤リンクへのトラヒック負荷および各基盤ノードへの処理負荷の均一化を目的としている。すなわち基盤リンクの空き帯域および基盤ノードの空き容量に反比例する重みを用いることによって、大きな帯域を要求する仮想リンクは大きな空き帯域を有する基盤リンクに割当てられ易くなり、大きな容量を要求する仮想ノードは大きな空き容量を有する基盤ノードに割当てられ易くなる。各基盤リンクへのトラヒック負荷および各基盤ノードへの処理負荷の均一化を図ることにより、割当て可能な高信頼連携型仮想ネットワーク数の増加が期待される。
【0069】
本実施形態では、制約条件(11)として考慮する共用基盤ノード障害時における仮想ネットワークのカットセットCSを必要に応じて追加しながら、前記整数計画法モデル求解部20が、繰り返し整数計画法モデルの解法を行う。前記連結性検査部30は、整数計画法モデルの解法によって得られた高信頼連携型仮想ネットワークの割当て結果に対して、各共用基盤ノードの障害を想定して仮想ネットワークの連結性を検査する。
【0070】
図6は、連結性検査部30において、共用基盤ノードの障害時に仮想ネットワークの連結性が維持されるか否かを検査する手順を示したフローチャートであり、全ての共用基盤ノードsnの障害を順次に想定して仮想ノード間の連結性が検査される。
【0071】
ステップS1では、未検査の共用基盤ノードssnの一つが今回の検査対象として選択される。ステップS2では、連携型仮想ネットワークから、選択した共用基盤ノードssnに障害が発生したと想定した場合に障害となる連携仮想ノードcvnおよび仮想リンクが取り除かれる。本実施形態では、選択した共用基盤ノードssnに割当てられた連携仮想ノードcvnと、当該連携仮想ノードcvnに接続している仮想リンクとが取り除かれる。
【0072】
ステップS3では、選択した共用基盤ノードssnを通過する基盤パスに割当てられた仮想リンクが存在すれば、当該仮想リンクも連携型仮想ネットワークから取り除かれる。以下、前記ステップS2,S3において、検査対象の共用基盤ノードssnと直接的に関連する連携仮想ノードcvnおよび仮想リンクが除去された後の連携型仮想ネットワークを、「除去後連携型仮想ネットワーク」と表現する場合もある。
【0073】
ステップS4では、除去後連携型仮想ネットワークを構成する任意の仮想ノードが一つ選択される。ステップS5では、当該選択した任意の仮想ノードから他の全ての仮想ノードまでの最小コスト経路が計算される。ステップS6では、全ての仮想ノードまでの最小コスト経路が存在するか否かが判断される。
【0074】
最小コスト経路が存在すれば、除去後連携型仮想ネットワークを構成する全ての仮想ノードが、少なくとも前記選択した仮想ノードを中継することで連結性を維持できるのでステップS7へ進む。ステップS7では、今回の除去後連携型仮想ネットワークを、前記選択した共用基盤ノードssnの障害時にも「連結」になると判定する。
【0075】
これに対して、何れかの仮想ノードまでの最小コスト経路が存在しなければステップS8へ進み、今回の除去後連携型仮想ネットワークは、前記選択した共用基盤ノードssnの障害時に「非連結」になると判定する。
【0076】
ステップS9では、全ての共用基盤ノードに対する検査が完了したか否かが判断される。未検査の共用基盤ノードが存在すればステップS1へ戻り、検査対象の共用基盤ノードを切り替えながら上記の検査が繰り返される。
【0077】
前記連結性検査部30による連結性に関する検査の結果、全ての共用基盤ノード障害において除去後連携型仮想ネットワークが連結であると判定された場合、現時点での割当てが最終的な基盤ネットワークへの割当て結果となる。
【0078】
これに対して、何れかの共用基盤ノード障害により非連結になると判定された場合、前記制約条件生成および追加部40が、前記最小コスト経路が存在しないと判断された仮想ノード間に経路を構築するための制約条件(11)を前記整数計画法モデルに新たに追加して、再び整数計画法モデルの解法を試みる。
【0079】
図7は、制約条件生成および追加部40が仮想ネットワークの連結性を維持する制約条件(11)を定義する手順を示したフローチャートである。
【0080】
ステップS21では、障害を想定する共用基盤ノードssnが選択される。ステップS22では、選択された共用基盤ノードssnの障害時における仮想ネットワークの連結性に関する前記連結性検査部30が実施した検査の結果がチェックされる。検査結果が非連結であればステップS23へ進み、連携型仮想ネットワークから、前記選択した共用基盤ノードssnに割当てられた連携仮想ノードcvnと当該連携仮想ノードcvnに接続している仮想リンクとが取り除かれる。
【0081】
ステップS24−S37では、選択されている共用基盤ノードssnを通過する基盤パスに割当てられたことにより障害となる仮想リンク集合に含まれる極小カットセットCSを抽出し、当該極小カットセットCSに関する前記式(11)の制約条件が整数計画法モデルに追加される。ここで、極小カットセットとは、その中の1本のリンクでも接続されればグラフが連結になる様なカットセットを意味するものとする。
【0082】
以下、
図8を参照してS24−S28の手順を具体的に説明する。ここでは、仮想ノードvn11−vn19間で最小コスト経路を計算できなかった場合を例にして説明する。
【0083】
前記ステップS24では、選択した共用基盤ノードssnを通過する基盤パスに割当てられたために障害となる仮想リンク集合から順番に1本ずつ仮想リンクが取り出される。ここでは、仮想リンク集合に4つの仮想リンクvL12-15,vL13-16,vL14-17,vL17-18が含まれている。ステップS25では、取り出した仮想リンクが障害にならないと仮定しても依然として仮想ネットワークが非連結であるか否かが判断される。
【0084】
例えば、仮想リンクvL12-15またはvL13-16が選択された場合、当該仮想リンクが障害にならないと仮定すれば当該仮想リンクを経由するパスにより仮想ネットワークが連結になるのでステップS26へ進む。ステップS26では、当該仮想リンクを極小カットセットに含め、更に当該仮想リンクは障害であると見なして処理を進める。
【0085】
これに対して、仮想リンクvL14-17またはvL17-18が選択された場合、一方が障害にならないと仮定しても、他方に障害が残ることが原因で依然として仮想ネットワークが非連結となるのでステップS27へ進む。ステップS27では、選択されている仮想リンクが接続されているものと見なして処理を進める。
【0086】
したがって、仮想リンクvL14-17がvL17-18よりも先に選択された場合、仮想リンクvL14-17は極小カットセットに含まれないが正常とみなされるので、次に仮想リンクvL17-18が選択されると、ステップS26へ進んで極小カットセットに含まれることになる。同様に、仮想リンクvL14-18がvL14-17よりも先に選択された場合、仮想リンクvL14-18は極小カットセットに含まれないが正常とみなされるので、次に仮想リンクvL14-17が選択されると、ステップS26へ進んで極小カットセットに含まれることになる。
【0087】
ステップS28では、未選択の仮想リンクが存在するか否かが判断される。未選択の仮想リンクが存在すれば、ステップS24へ戻って上記の各処理が繰り返される。本実施形態では、当該処理が4つの仮想リンクvL12-15,vL13-16,vL14-17,vL17-18に対して繰り返され、未選択の仮想リンクが存在しなくなるとステップS29へ進む。
【0088】
このとき、本実施形態では
図9に示したように、3つの仮想リンクvL12-15,vL13-16,vL14-17(または、vL12-15,vL13-16,vL17-18)が、極小カットセットとして抽出される。すなわち、前記ステップS24において、2つの仮想リンクvL14-17,vL17-18のうち仮想リンクvL14-17がvL17-18よりも早く選択されていれば3つの仮想リンクvL12-15,vL13-16,vL17-18が極小カットセットCS1として抽出される。これに対して、仮想リンクvL17-18がvL14-17よりも早く選択されていれば3つの仮想リンクvL12-15,vL13-16,vL14-17が極小カットセットCS2として抽出される。
【0089】
ステップS29では、前記極小カットセットCSに関する制約式(11)が生成される。ステップS30では、障害を想定していない共用基盤ノードが存在するか否かが判断される。障害が未想定の共用基盤ノードが存在すればステップS21へ戻り、障害を想定する共用基盤ノードを切り替えながら上記の各処理が実施されて極小カットセットCSが抽出され、当該極小カットセットCSに対応した制約式(11)がさらに生成される。
【0090】
前記整数計画法モデル求解部20は、このようにして生成された制約式(11)を制約条件に追加して整数計画法モデルの求解を繰り返す。
【0091】
なお、上記の実施形態では、整数計画法モデル求解部20による求解の結果を対象に連結性検査部30が仮想ネットワークの連結性を検査し、この検査結果に基づいて整数計画法モデルに追加する制約条件を追加している。したがって、最初の求解時には、前記ステップS24−S27で説明したような、求解の結果を反映した制約条件(式(11))を含ませることはできない。しかしながら、整数計画法モデル解法の繰り返し回数を減らすためには、最初の求解時から仮想ネットワークの連結性を維持するための制約条件を含ませることが望ましい。
【0092】
そこで、本実施形態では、連携型仮想ネットワークから各連携仮想ノードと当該各連携仮想ノードに接続した仮想リンクとを取り除いた各々の仮想ネットワークにおける最小カットセットを抽出し、この最小カットセットに関する制約条件を、最初に求解する整数計画法モデルに加えるようにしても良い。ここで、最小カットセットとは、含まれるリンク数が最小の(極小)カットセットを意味するものとする。
【0093】
あるいは、各連携仮想ノードの隣接仮想ノード群に接続する仮想リンク群は、当該連携仮想ノードに近く、障害となった共用基盤ノードを通過する基盤パスに割当てられる可能性が高い。したがって、連携型仮想ネットワークから各連携仮想ノードと当該各連携仮想ノードに接続した仮想リンクを取り除いた各々の仮想ネットワークにおいて、当該各連携仮想ノードの隣接仮想ノード群に接続する仮想リンク群によって構成される極小カットセットを抽出し、この極小カットセットに関する制約条件を、最初に求解する整数計画法モデルに加えるようにしても良い。
【0094】
このようにすれば、共用基盤ノード障害時に連携型仮想ネットワークの非連結性をもたらす可能性が高いカットセットに関する制約条件を、最初の求解時から整数計画法モデルに含めることができるので、数計画法モデル解法の繰り返し回数を減らすことができる。