【文献】
大下 裕一 他,モデル予測制御にもとづく仮想ネットワーク間資源調停,電子情報通信学会技術研究報告,2014年10月 9日,第114巻,第253号,p.1〜6,特に,1ページ「あらまし」
【文献】
福野 太洋 他,発見的手法によるリンク負荷を考慮した仮想サービス資源配置法の検討,電子情報通信学会技術研究報告,2015年 2月23日,第114巻,第477号,p.281〜284, 特に,281ページ「あらまし」
(58)【調査した分野】(Int.Cl.,DB名)
各仮想ネットワーク制御エージェントにおいて、対応する仮想ネットワークにおける将来の各時刻において利用する物理資源を計算し、前記物理ネットワーク資源管理エージェントに計算結果を通知し、当該物理ネットワーク資源管理エージェントを介して他の仮想ネットワークが将来の各時刻に利用することが予測される資源に関する情報を交換しながら、各仮想ネットワークが利用する資源の決定を行う
ことを特徴とする請求項1に記載の仮想ネットワーク制御装置。
各仮想ネットワーク制御エージェントにおいて、対応する仮想ネットワークにおける将来の各時刻において利用する物理資源を計算し、前記物理ネットワーク資源管理エージェントに計算結果を通知し、当該物理ネットワーク資源管理エージェントを介して他の仮想ネットワークが将来の各時刻に利用することが予測される資源に関する情報を交換しながら、各仮想ネットワークが利用する資源の決定を行う
ことを特徴とする請求項5に記載の仮想ネットワーク制御方法。
【先行技術文献】
【非特許文献】
【0007】
【非特許文献1】Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, and Andrew Warfield, "Xen and the art of virtualization," in Proceedings of the nineteenth ACM symposium on Operating Systems Principles, pp. 164-177, 2003.
【非特許文献2】Christopher Clark, Keir Fraser, Steven Hand, Jacob Gorm Hansen, Eric Jul, Christian Limpach, Ian Pratt, and Andrew Warfield, "Live migration of virtual machines," in Proceedings of the 2nd conference on Symposium on Networked Systems Design & Implementation - Volume 2 (NSDI'05), Vol. 2, pp. 273-286, 2005.
【非特許文献3】N. M. M. K. Chowdhury, "Network virtualization: State of the art and research challenges," IEEE Communications Magazine, vol. 47, no. 7, pp. 20-26, Jul. 2009
【非特許文献4】Andreas Fischer, Juan Felipe Botero, Michael Till Beck, Hermann de Meer, and Xavier Hesselbach, "Virtual Network Embedding: A Survey," IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 15, NO. 4, 2013.
【非特許文献5】I. Fajjari, N. Aitsaadi, G. Pujolle, and H. Zimmermann, "VNR algorithm: A greedy approach for virtual networks reconfigurations," in Proceedings of Global Telecommunications Conference (GLOBECOM 2011), 2011.
【発明を実施するための形態】
【0015】
以下、図面を参照して本発明の実施の形態を説明する。なお、以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
【0016】
(実施の形態の概要)
本実施の形態に係る技術は、需要の変動を予測し、その予測結果を用いながら、物理ネットワーク上に収容される仮想ネットワークの需要を可能な限り満たすような仮想ネットワークへの資源の割り当ての計算を、仮想ネットワーク制御装置内のエージェントの連携により、短い時間周期で行うものである。その結果、将来を予測しながら仮想ネットワークの割り当て資源の変更を行うことにより、仮想ノードの移動等の負荷を抑えることができ、短い周期で制御を行うことにより、需要の変動に短時間で追随することができる。
【0017】
すなわち、本実施の形態においては、サービスプロバイダからの仮想ネットワーク埋め込みの要求に対して、管理下の物理資源の割り当てを行う仮想ネットワーク制御装置が提供される。
【0018】
当該仮想ネットワーク制御装置は、将来の各時刻における物理ネットワーク上の資源の利用状況を管理する物理ネットワーク資源管理エージェントと、各仮想ネットワークに対応して配置され、当該仮想ネットワークにおける将来の需要の予測を行う機能を持ち、その予測結果と、物理ネットワーク資源管理エージェントから取得する将来の物理ネットワーク上の資源の利用状況の情報をもとに当該仮想ネットワークが将来の各時刻において利用する物理資源を計算し、物理ネットワーク資源管理エージェントに通知する機能を持つ仮想ネットワーク制御エージェントとを備える。
【0019】
上記仮想ネットワーク制御装置において、各仮想ネットワーク制御エージェントは、対応する仮想ネットワークにおける将来の各時刻において利用する物理資源を計算し、物理ネットワーク資源管理エージェントに計算結果を通知し、物理ネットワーク資源管理エージェントを介して他の仮想ネットワークが将来の各時刻に利用したいと考えている資源に関する情報を交換しながら、各仮想ネットワークが利用する資源の決定を行うこととしている。
【0020】
本実施の形態では、上記のように、各仮想ネットワーク制御エージェントが対応する仮想ネットワークが利用する資源のみを計算するという形態をとることにより、各エージェントが解く問題の解空間を小さくし、利用資源の計算を短時間で可能とすることができる。
【0021】
また、本実施の形態に係る各仮想ネットワーク制御エージェントにおいては、対応する仮想ネットワークの将来の各時刻における需要の予測結果と、将来の各時刻における他の仮想ネットワークの物理ネットワークの資源の利用状況を入力とし、物理資源の利用状況に関する指標と、各時刻における資源の割り当て変更にかかる負荷に関する指標の重み付きの和を最小化する最適化問題を解くことにより、将来における各時刻において、当該仮想ネットワークが利用する資源を決定することとしている。
【0022】
このような計算を行うことで、予測された当該仮想ネットワークや他の仮想ネットワークの需要変動に対応しつつ、仮想ネットワーク再構成にかかる負荷を抑えた資源割り当てを実現することが可能となる。
【0023】
更に、本実施の形態では、その計算された当該仮想ネットワークが利用する資源を物理ネットワーク資源管理エージェントに伝えることにより、物理ネットワーク資源管理エージェントを介して、当該仮想ネットワークの将来にわたる資源割り当てを、他の仮想ネットワーク制御エージェントと共有することができる。そして、次の時刻において、各仮想ネットワーク制御エージェントは、共有された各仮想ネットワークの将来の利用資源情報と、再度予測された当該仮想ネットワークの需要(例:前回のものを新たな観測データをもとに修正したもの)をもとに、当該仮想ネットワークの利用資源を再計算するということを繰り返すことにより、予測の誤差があった場合や予測外の環境変動が生じた場合であっても、誤差を補正しながら制御することが可能となり、需要の変動に追随した仮想ネットワークへの資源割り当てを実現できる。
【0024】
すなわち、本実施の形態に係る技術を用いることで、サービスプロバイダから送られる必要とする計算機資源と、計算資源間に必要な通信性能からなる仮想ネットワーク構築の要求に対して、物理ネットワーク上の資源の割り当てを行う仮想ネットワークオペレータにおいて、各サービスプロバイダからの要求の時間変動に追随しつつも、仮想ネットワーク再構成にかかる負荷を抑えた、安定的な仮想ネットワークの収容を実現することが可能となる。
【0025】
以下、本発明の実施の形態をより具体的に説明する。
【0026】
(システム全体構成例)
図1に本実施の形態におけるシステムの構成例を示す。
図1に示すように、本実施の形態に係るシステムにおいて、複数のノード10、20が転送装置30〜50に接続され、また、転送装置同士がリンクにより接続されている。
【0027】
各ノードは、例えば、物理的な計算機(コンピュータ)である、各転送装置は、例えば、物理的な通信装置であり、例えば、ルータ、スイッチ等である。各ノードでは、単一、あるいは、複数の仮想ノード(仮想マシン)を動作させることができる。
図1の例では、ノード10において仮想マシン11が動作し、ノード20において仮想マシン21、22が動作している。
【0028】
本実施の形態に係るシステムには、ネットワークデータベース80が備えられており、ネットワーク構成情報、及び各仮想ネットワークが利用している「各ノードの資源及び各転送装置のトラヒック情報」は、当該ネットワークデータベース80に収集される。
【0029】
また、
図1に示すとおり、本実施の形態に係るシステムにおいて、各サービスに対応するサービス制御装置60、70が備えられ、更に、仮想ネットワーク制御装置100、及び設定装置90が備えられている。
【0030】
各サービス制御装置は、該当するサービスに対応する仮想ネットワーク埋め込みの要求を発生する。仮想ネットワーク制御装置100は、サービス制御装置60、70より仮想ネットワーク埋め込みの要求を受け、ネットワークデータベース80よりネットワーク構成情報と各仮想ネットワークの各ノードの資源利用状況やトラヒック情報を取得し、各仮想ネットワークに割り当てるノードの資源、ネットワーク資源を決定する。決定された各仮想ネットワークに割り当てる資源情報をもとに、設定装置90が各ノードに仮想ノードを動作させる設定を投入するとともに、各転送装置に経路・帯域制限の設定を投入する。
【0031】
(仮想ネットワーク制御装置100の構成、及び動作)
図2に、本実施の形態における仮想ネットワーク制御装置100の構成例を示す。
図2に示すように、仮想ネットワーク制御装置100は、仮想ネットワーク制御エージェント110、120、...、及び物理ネットワーク資源管理エージェント130を有する。なお、仮想ネットワーク制御エージェントを「仮想ネットワーク制御部」と称し、物理ネットワーク資源管理エージェントを「物理ネットワーク資源管理部」と称してもよい。
【0032】
各仮想ネットワーク制御エージェントは同様の構成を有するので、仮想ネットワーク制御エージェント110を例にとると、仮想ネットワーク制御エージェント110は、需要予測部111、及び利用資源決定部112を有する。他の仮想ネットワーク制御エージェントも同様の構成を有する。
【0033】
また、物理ネットワーク資源管理エージェント130は、資源状況管理部131を有する。以下、各機能部の動作の概要を説明する。
【0034】
物理ネットワーク管理エージェント130は、資源状況管理部131により、ネットワーク内に配置されたノードの資源の管理、各リンクの通信帯域の将来の各時刻における利用状況の管理を行う。つまり、物理ネットワーク管理エージェント130は、メモリ等の記憶手段を含み、これら資源の情報、将来の各時刻における利用状況の情報等を格納する。
【0035】
仮想ネットワーク制御エージェントは、各仮想ネットワークに対応して配備される機能部であり、新たな仮想ネットワーク埋め込みの要求が到着した場合には、新たな仮想ネットワーク管理エージェントが生成される。「生成」されるとは、例えば、当該仮想ネットワーク管理エージェントに対応するプログラムが、仮想ネットワーク制御装置100において起動されることである。
【0036】
各仮想ネットワーク管理エージェント(例として仮想ネットワーク管理エージェント110)において、需要予測部111が、対応する仮想ネットワークの需要を予測する。利用資源決定部112は、需要予測部111により予測した需要と、物理ネットワーク管理エージェント130から取得した、将来の各時刻における他の仮想ネットワークの資源利用状況をもとに、対応する仮想ネットワークが将来利用する資源を決める。そして、決定された将来の各時刻において利用する資源を物理ネットワーク資源管理エージェント130に通知することにより、物理ネットワーク資源管理エージェント130の持つ将来の各仮想ネットワークの資源利用状況の情報を更新する。
【0037】
図3は、本実施の形態の仮想ネットワーク制御装置100における仮想ネットワーク制御エージェント110の動作を示すフローチャートである。ここでは、仮想ネットワーク制御エージェント110の動作例を説明するが、他の仮想ネットワーク制御エージェントも同様の動作を行う。
【0038】
仮想ネットワーク制御エージェント110は、まず、ネットワークデータベース80より、現在の当該仮想ネットワークのトラヒック情報や仮想ノードの利用情報(これらを観測データと呼ぶことができる)を取得することにより、現在の当該仮想ネットワーク(仮想ネットワーク制御エージェント110に対応するサービスの仮想ネットワーク)の需要を把握する(ステップS101)。
【0039】
その後、仮想ネットワーク制御エージェント110は、取得された需要情報をもとに、将来にわたる当該仮想ネットワークの需要の予測を行う(ステップS102)。なお、需要予測の方法は特定の方法に限定されない。例えば、既存の需要予測の方法を用いることができる。また、仮想ネットワーク制御エージェント110は、物理ネットワーク管理エージェント130から他の仮想ネットワークが将来の各時刻に利用を予定している資源の情報を取得する(ステップS103)。
【0040】
そして、仮想ネットワーク制御エージェント110は、将来の他の仮想ネットワークが利用を予定している資源の情報と、自身の仮想ネットワークの需要の予測をもとに、将来にわたって、より多くの仮想ネットワークの需要を満足させることができ、かつ、各時刻において移動が必要な仮想ノードの数が最小となるような、将来にわたる資源の利用計画を計算する(ステップS104)。
【0041】
そして、仮想ネットワーク制御エージェント110は、その計画に基づいて、次時刻の資源の予約・利用を開始するとともに、将来にわたる資源の利用計画を物理ネットワーク管理エージェント130に伝える。その後、需要情報の取得に戻り、予測を行いなおし、他の仮想ネットワークの将来の資源の最新の利用計画を取得し、再度、将来の資源の利用計画を計算しなおす。この処理を短時間で繰り返すことにより、各仮想ネットワークエージェントは、将来の需要変動を考慮することにより、仮想ノードの移動による負荷をさけつつ、需要変動に対応した制御を行うことができる。なお、繰り返しの処理の終了タイミングは任意であるが、例えば、当該制御装置の利用者からの指示により終了させることができる。
【0042】
本実施の形態に係る仮想ネットワーク制御装置100は、例えば、1つ又は複数のコンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。すなわち、仮想ネットワーク制御装置100が有する機能は、当該コンピュータに内蔵されるCPUやメモリ、ハードディスクなどのハードウェア資源を用いて、仮想ネットワーク制御装置100で実施される処理に対応するプログラムを実行することによって実現することが可能である。また、上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メールなど、ネットワークを通して提供することも可能である。
【0043】
図4は、本発明の実施の形態における仮想ネットワーク制御装置100のハードウェア構成例を示す図である。
図4の仮想ネットワーク制御装置100は、それぞれバスBで相互に接続されているドライブ装置150、補助記憶装置152、メモリ装置153、CPU154、インタフェース装置155、表示装置156、及び入力装置157等を有する。
【0044】
仮想ネットワーク制御装置100での処理を実現するプログラムは、例えば、CD−ROM又はメモリカード等の記録媒体151によって提供される。プログラムを記憶した記録媒体151がドライブ装置150にセットされると、プログラムが記録媒体151からドライブ装置150を介して補助記憶装置152にインストールされる。但し、プログラムのインストールは必ずしも記録媒体151より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置152は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【0045】
メモリ装置153は、プログラムの起動指示があった場合に、補助記憶装置152からプログラムを読み出して格納する。CPU154は、メモリ装置153に格納されたプログラムに従って仮想ネットワーク制御装置100に係る機能を実現する。インタフェース装置155は、ネットワークに接続するためのインタフェースとして用いられる。表示装置156はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置157はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。
【0046】
(仮想ネットワーク制御エージェント110における処理の詳細例)
以下に、仮想ネットワーク制御エージェント110における、将来にわたる資源の利用計画を計算する際に用いる最適化問題の一例について説明する。仮想ネットワーク制御エージェント110は、本最適化問題を解くことにより、制御を行う現在時刻を0とした場合における、時刻1から時刻Hまでの各時刻(1、2、...H)の仮想ノード、及び仮想ノード間のリンク(仮想リンク)の収容箇所(物理資源における収容箇所)を決める。なお、ここでは、仮想ネットワーク制御エージェント110について説明するが、他の仮想ネットワーク制御エージェントも同様の処理を行っている。
【0047】
本最適化問題では、入力として、物理ネットワークの情報である、ネットワーク内のノードの集合N
p、リンクの集合L
p、物理ネットワーク上のパスの集合P
pが与えられる。これらの情報はネットワークデータベース80から取得できる。
【0048】
パスの集合P
pの各要素pは、当該パスが経由するリンクの集合として表されるものとし、その始点ノードはn
pstart、終点ノードはn
pendとあらわし、G
p,lを、パスpがリンクlを経由する場合に1、それ以外の場合は0となるように定義する。
【0049】
また、各ノードn∈N
pについて、他の仮想ネットワークから予約された資源量を除いた、当該仮想ネットワークに対して、各時刻tにおいて提供可能な計算資源の総量U
n(t)が与えられる。これは、例えば、各時刻tにおける他の仮想ネットワークから予約された資源量を物理ネットワーク資源管理エージェント130から入力し、ネットワークデータベース80から取得されたノードの全体の資源量から、当該他の仮想ネットワークから予約された資源量を除くことにより得ることができる。また、各リンクl∈L
pについても、他の仮想ネットワークから予約された資源量を除いた、当該仮想ネットワークに対して、各時刻tにおいて提供可能な帯域の総量B
l(t)が与えられる。これについても、各時刻tにおける他の仮想ネットワークから予約された資源量を物理ネットワーク資源管理エージェント130から入力し、ネットワークデータベース80から取得されたリンクの全体の資源量から、当該他の仮想ネットワークから予約された資源量を除くことにより得ることができる。
【0050】
また、当該仮想ネットワーク制御エージェント110が対応する仮想ネットワーク埋め込みの要求として、埋め込みが必要な仮想ノードの集合N
v、仮想リンクの集合L
vが与えられる。各仮想リンクl∈L
vについては始点となる仮想ノードv
lstart、終点となる仮想ノードv
lendと、時刻tにおける当該仮想リンクを流れるトラヒック量の予測値b^
l(t)が与えられる。なお、明細書のテキストにおいては、表記の便宜上、予測値を示す^(ハット)は、文字の頭でなく、文字の右側に記述している。
【0051】
また、各仮想ノードv∈N
vについて、当該仮想ノードが時刻tに必要とする計算資源の予測値u^
v(t)が与えられる。なお、仮想リンクを流れるトラヒック量の予測値b^
l(t)、及び仮想ノードが時刻tに必要とする計算資源の予測値u^
v(t)は、
図3のステップS102において求められる需要予測の結果である。
【0052】
本最適化問題では、上記の入力を用い、各時刻tに仮想ノードを収容する物理ノード、仮想リンクを収容するパス(1つ又は複数の物理リンクからなる伝送路)を決定する。
【0053】
ここで、M
v,nNode(t)を、時刻tにおいて仮想ノードvを物理ノードnに収容する場合には1、それ以外は0となる変数とし、当該変数を仮想ノードの収容先の物理ノードを表す変数として定義する。同様に、M
l,pLink(t)を、時刻tにおいて仮想リンクlをパスpに収容する場合は1、それ以外は0となる変数とし、当該変数を仮想リンクの収容先のパスを表す変数として定義する。また、M
v,nNode(0)、M
l,pLink(0)については、制御時に仮想ノード、仮想リンクが収容されている箇所に合わせて与えられているものとする。
【0054】
また、時刻tにおいて仮想ノードvを物理ノードnに収容するのにかかるコストをC
n,v(t)として定義する。本最適化問題では、目的関数として、以下の関数を与える。
【0055】
【数1】
本目的関数では、第一項は全時刻におけるコストの総和であり、第二項は仮想ノードの移動にかかるコスト、wは重みパラメータである。本目的関数は、第一項に(1−w)を乗じた値と、第二項にwを乗じた値との和を最小にすることを目的とする目的関数である。なお、第一項は、物理資源の利用状況に関する指標の例であり、第二項は、各時刻における資源の割り当て変更にかかる負荷に関する指標の例である。また、wは0以上1以下の実数である。
【0056】
仮想ネットワーク制御エージェント110は、本目的関数に合わせて制御をすることにより、各時刻における仮想ノード埋め込みにかかるコストを小さくしながらも、多数の仮想ノードの移動が必要になることを避けることができる。このコスト(C
n,v(t))は、例えば、当該物理ノードで提供可能な資源が大きくなるほど単調増加する関数として定義することにより、提供可能な資源が大きい物理ノードの利用を避け、要求する計算資源を提供できる物理ノードのうち、可能な限り提供可能な資源が少ないノードの選択を促し、仮想ネットワークの収容に用いられる物理ノード数を抑えることができる。
【0057】
仮想ネットワーク制御エージェント110は、本最適化問題について、以下の制約条件を満たす範囲内での解の探索を行う。
【0058】
制約条件1:全ての仮想ノードがいずれかの物理ノードに収容される。
【0059】
【数2】
制約条件2:全ての仮想リンクがいずれかのパスに収容される。
【0060】
【数3】
制約条件3:仮想リンクは、当該仮想リンクの始点となる仮想ノードが収容されている物理ノードが始点となるパスのみに収容される。
【0061】
【数4】
制約条件4:仮想リンクは、当該仮想リンクの終点となる仮想ノードが収容されている物理ノードが終点となるパスのみに収容される。
【0062】
【数5】
制約条件5:各物理ノードに収容される仮想ノードが必要とする計算資源は、物理ノードで提供可能な計算資源よりも少ない。
【0063】
【数6】
制約条件6:各物理リンクに収容される仮想リンクが必要とする帯域の総量は、当該物理リンクで提供可能な帯域よりも少ない。
【0064】
【数7】
仮想ネットワーク制御エージェント110は、上記の最適化問題を解くことにより、時刻1から時刻Hまでの各時刻の各仮想ノード、仮想リンクを収容する場所(物理ノード、パス)を計算することができる。そして、計算された結果と必要とする計算資源・帯域の予測値を物理ネットワーク資源管理エージェント130に通知することにより、物理ネットワーク資源管理エージェント130は、将来の時刻Hまでの各時刻に当該仮想ネットワークが利用する資源を把握することができ、他の仮想ネットワーク制御エージェントは、当該仮想ネットワークが将来にわたり利用する資源を考慮に入れた上で、自身が対応する仮想ネットワークの利用する資源を決めることができる。
【0065】
仮想ネットワーク制御エージェント110は、上記の最適化問題の結果得られた仮想ノード・仮想リンクを収容する場所のうち、時刻1において定められた物理ノードに仮想ノードを収容するとともに、時刻1において定められたパスに仮想リンクを収容する設定情報を設定装置90に通知し、設定装置90は当該設定を物理ネットワークにおける該当装置に投入する。時刻2以降の仮想ノードや仮想リンクの収容箇所については、当該仮想ネットワークにおける新たな需要の観測結果を取得後、需要の予測を再度行い、また、他の仮想ネットワーク制御エージェントが利用資源を計算し、物理ネットワーク資源管理エージェント130に将来の利用資源の情報を通知するのを待って新たな利用可能資源情報を取得した後に、再度計算を行う。
【0066】
本実施の形態に係る制御では、各仮想ネットワーク制御エージェントは、対応する仮想ネットワークの仮想ノード・仮想リンクの収容箇所のみを計算するため、計算時間を短く抑えることが可能であり、短い時間周期で、仮想ノード・仮想リンクの収容箇所の計算を繰り返すことができる。また、この制御を短い周期で繰り返すことにより、将来の需要変動を考慮し、仮想ノード移動にかかる負荷を抑えつつも、新たな仮想ネットワークの埋め込み要求の発生や、予想外の需要変動が発生した場合にも対応が可能となる。
【0067】
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【0068】
本特許出願は2015年5月7日に出願した日本国特許出願第2015−095193号に基づきその優先権を主張するものであり、日本国特許出願第2015−095193号の全内容を本願に援用する。