(57)【要約】【課題】仮想マシンのライブマイグレーションの時間を短縮する。【解決手段】ネットワーク制御装置１０は、仮想マシンのライブマイグレーションの進捗情報を取得する。その後、ネットワーク制御装置１０は、進捗情報をもとに、当該仮想マシンのライブマイグレーションの進捗状況が所定の条件に該当すると判断したとき、当該仮想マシンの通信経路のネットワーク装置４０に対して、当該仮想マシンへの通信パケットの制限を指示する。【選択図】図１
2015156149.tif 000002
【特許請求の範囲】
【請求項１】
仮想マシンのライブマイグレーションの進捗情報を取得する進捗情報取得部と、
前記進捗情報をもとに、前記仮想マシンのライブマイグレーションの進捗状況が所定の条件に該当すると判断したとき、前記仮想マシンの通信経路のネットワーク装置に対し、前記仮想マシンへの通信の制限を指示する装置制御部とを備えることを特徴とするネットワーク制御装置。
【請求項２】
前記進捗情報は、前記ライブマイグレーションの対象となる仮想マシンにおけるメモリ転送の進捗情報を含み、
前記所定の条件は、前記仮想マシンのメモリ転送の進捗状況、前記仮想マシンのメモリ変更量に対するメモリ転送量の割合を示すダーティ率、前記仮想マシンのライブマイグレーションの開始後に発生したメモリ変更分のメモリ転送の進捗状況、および、前記ライブマイグレーションの完了までの予測時間の少なくともいずれかにより記述された前記マイグレーションの進捗状況であることを特徴とする請求項１に記載のネットワーク制御装置。
【請求項３】
前記ネットワーク制御装置は、さらに、
前記ライブマイグレーションの進捗状況ごとに、前記進捗状況に対応する前記通信の制限の内容を示した制限定義情報を記憶する記憶部を備え、
前記装置制御部は、
前記制限定義情報と、前記進捗情報に示される前記仮想マシンのライブマイグレーションの進捗状況とを参照して、前記仮想マシンの通信経路のネットワーク装置に対する通信の制限の内容を決定することを特徴とする請求項１または２に記載のネットワーク制御装置。
【請求項４】
前記通信の制限は、
前記仮想マシンへの通信パケットのパケットシェイピング、遮断および新たな通信パケットの受信の拒否の少なくともいずれかであることを特徴とする請求項１〜３のいずれか１項に記載のネットワーク制御装置。
【請求項５】
前記装置制御部は、
前記仮想マシンのライブマイグレーションが完了したとき、前記仮想マシンの通信経路のネットワーク装置に対し、前記通信の制限を解除するよう指示することを特徴とする請求項１〜４のいずれか１項に記載のネットワーク制御装置。
【請求項６】
仮想マシンのライブマイグレーションを実行する管理装置と、前記仮想マシンおよびネットワーク装置を制御するネットワーク制御装置とを備える通信システムであって、
前記ネットワーク制御装置は、
前記管理装置から前記仮想マシンのライブマイグレーションの進捗情報を取得する進捗情報取得部と、
前記進捗情報をもとに、前記仮想マシンのライブマイグレーションの進捗状況が所定の条件に該当すると判断したとき、前記仮想マシンの通信経路のネットワーク装置に対し、前記仮想マシンへの通信の制限を指示する装置制御部とを備えることを特徴とする通信システム。
【請求項７】
仮想マシンのライブマイグレーションの進捗情報を取得するステップと、
前記進捗情報をもとに、前記仮想マシンのライブマイグレーションの進捗状況が所定の条件に該当すると判断したとき、前記仮想マシンの通信経路のネットワーク装置に対し、前記仮想マシンへの通信の制限を指示するステップとを含んだことを特徴とするネットワーク制御方法。
【請求項８】
仮想マシンのライブマイグレーションの進捗情報を取得するステップと、
前記進捗情報をもとに、前記仮想マシンのライブマイグレーションの進捗状況が所定の条件に該当すると判断したとき、前記仮想マシンの通信経路のネットワーク装置に対し、前記仮想マシンへの通信の制限を指示するステップとをコンピュータに実行させることを特徴とするネットワーク制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク制御装置、通信システム、ネットワーク制御方法、および、ネットワーク制御プログラムに関する。
【背景技術】
【０００２】
近年、クラウドコンピューティングが普及し、データセンタに設置される物理サーバのリソースを用いて仮想環境を構築して、ユーザに各種サービスを提供することが行われている。また、仮想スイッチを用いて、異なるデータセンタ間を跨った仮想Ｌ２（レイヤ２）ネットワーク構築も行われている。
【０００３】
例えば、部門サーバ、経理サーバ、出退勤管理サーバ、ファイルサーバ等を仮想マシン（以下、ＶＭ（Virtual  Machine）と記載する場合がある）によって実現する企業（Ｚ）を例にして説明する。企業（Ｚ）では、拠点（札幌）のデータセンタ（Ｘ）で仮想マシン（Ａ）と仮想マシン（Ｂ）とを動作させ、拠点（福岡）のデータセンタ（Ｙ）で仮想マシン（Ｃ）と仮想マシン（Ｄ）とを動作させる。そして、Open  vSwitch等による仮想スイッチを用いて、データセンタ（Ｘ）とデータセンタ（Ｙ）とを仮想Ｌ２ネットワークで接続する。
【０００４】
このようにして、企業（Ｚ）では、異なるデータセンタで動作して各サービスを提供する仮想マシン間の通信を実現することで、各拠点にいる社員に対して、拠点に依存することなく、各種サービスの提供を行う。
【０００５】
このようなネットワークの拠点間において仮想マシンのライブマイグレーションが実施されることがある。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】OpenStack  ホームページ、［online］、［平成２６年２月３日検索］、インターネット＜http://www.openstack.org/＞
【非特許文献２】石井他、「オープンソースlaaSクラウド基盤OpenStack」，ＮＴＴ技術ジャーナルVol.23、No.8、2011.
【非特許文献３】北爪他、「クラウドサービスを支えるネットワーク仮想化技術」、ＮＴＴ技術ジャーナルVol.23、No.10、2011.
【非特許文献４】永渕他、「データセンタ間ライブマイグレーションにおける冗長経路回避に向けた経路制御方式の提案」、信学技報、IN2013-48、vol.113、No.140、pp.71-76、Jul.2013.
【非特許文献５】永渕他、「国際通信網における仮想マシンのマイグレーション性能評価」、信学技報、IN2012-40、vol.112、No.134、Jul.2012.
【非特許文献６】Cisco  ASA  5500  シリーズ  コンフィギュレーション  ガイド（CLI8.2を使用）  接続の制限値とタイムアウトの設定、［online］、［平成２６年２月３日検索］、インターネット＜http://www.cisco.com/cisco/web/support/JP/docs/SEC/Multi-FunctionSecur/ASA5500AdaptiveSecurAppli/CG/004/conns_connlimits.html?bid=0900e4b1825ae5e9＞
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、ライブマイグレーションの対象の仮想マシンに対し頻繁なアクセスが発生したり、当該仮想マシンにおける処理負荷が大きかったりすると、ライブマイグレーションの完了に長時間を要する場合や、ライブマイグレーションが完了しない場合があった。そこで、本発明は前記した問題を解決し、仮想マシンのライブマイグレーションの時間を短縮することを課題とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明は、仮想マシンのライブマイグレーションの進捗情報を取得する進捗情報取得部と、前記進捗情報をもとに、前記仮想マシンのライブマイグレーションの進捗状況が所定の条件に該当すると判断したとき、前記仮想マシンの通信経路のネットワーク装置に対し、前記仮想マシンへの通信の制限を指示する装置制御部とを備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、仮想マシンのライブマイグレーションの時間を短縮することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施形態に係る通信システムの全体構成例を示す図である。
【図２】図２は、ＶＭおよびＶＭ間を接続する仮想Ｌ２ネットワークの論理構成の一例を示す図である。
【図３】図３は、図２のＶＭを動作させる物理サーバの階層構造を示す図である。
【図４】図４は、ネットワーク制御装置の機能ブロック図である。
【図５】図５は、ＶＭ情報の一例を示す図である。
【図６】図６は、ネットワーク装置情報の一例を示す図である。
【図７】図７は、制限定義情報のフォーマットの一例を示す図である。
【図８】図８は、制限定義情報の一例を示す図である。
【図９】図９は、ネットワーク制御装置の処理手順を示すフローチャートである。
【図１０】図１０は、ネットワーク制御プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態（実施形態）を説明する。なお、この実施形態により本発明が限定されるものではない。
【００１２】
図１に示すように、通信システムは、拠点Ａと、拠点Ｂと、ネットワーク制御装置１０と、クラウドコントローラ（管理装置）２０と、端末３０とを備える。各拠点と端末３０とはインターネット、ＶＰＮ（Virtual  Private  Network）等のネットワークにより接続される。拠点内にはデータセンタが設置される。ここでは拠点Ａには、データセンタ２Ａが設置され、拠点Ｂにはデータセンタ２Ｂが設置されるものとする。
【００１３】
端末３０は、データセンタ２Ａまたはデータセンタ２Ｂ等で動作する仮想マシン（ＶＭ）にアクセスして、各種サービスを利用する端末であり、例えばノートパソコンやスマートフォン等である。
【００１４】
データセンタ２Ａ、データセンタ２Ｂはそれぞれ、１台以上の物理サーバ（図示省略）が設置され、物理サーバの物理リソースを用いてＶＭおよび当該ＶＭを制御するＨＶ（ハイパーバイザ）を動作させる。なお、物理リソースとしては、通信インタフェース、プロセッサ、メモリ、ハードディスク等である。ＨＶは、ＶＭを制御する仮想ソフトウェアであり、仮想スイッチ（図３参照）を含んでいてもよい。また、データセンタ２Ａ、データセンタ２Ｂは、それぞれネットワーク装置４０を備える。ここでは、データセンタ２Ａのネットワーク装置４０をネットワーク装置４０Ａとし、データセンタ２Ｂのネットワーク装置４０をネットワーク装置４０Ｂとする。
【００１５】
図２に示す通り、ＶＭ間は、仮想Ｌ２ネットワーク２１により接続される。この仮想Ｌ２ネットワーク２１が、データセンタ間を跨ぐ場合は、例えば、図３の仮想スイッチおよび仮想ソフトウェアスイッチと、物理ネットワーク２２（ネットワーク接続装置４０Ａ、インターネット／ＶＰＮおよびネットワーク接続装置４０Ｂ）を経由する経路を通るＶＰＮ技術によって実現する。
【００１６】
ネットワーク装置４０は、各データセンタの各ＶＭのデータ通信を中継する装置であり、例えば、このネットワーク装置４０は、各ＶＭと端末３０とのデータ通信を中継する。このネットワーク装置４０は、例えば、データセンタと外部ネットワークとの境界に設置されるルータである。このネットワーク装置４０は、前記したルータとしての機能のほか、ファイアウォール、ロードバランサ、パケットシェイパーの機能を備えていてもよい。また、このネットワーク装置４０は、ＶＭが収容される物理サーバとは別個の装置であってもよいし、当該物理サーバにより仮想的に実現される装置であってもよい。
【００１７】
ＶＭは、例えばＷｅｂサーバやＤＢサーバ等を実行する仮想的な装置であり、端末３０との間でデータ通信を行い、各種サービスを提供する。なお、各ＶＭは、動作する拠点が異なっていても、同一セグメントで動作するものとする。また、各ＶＭはクラウドコントローラ２０からの指示に基づき、データセンタを跨いだマイグレーションが行われる。例えば、図１のＶＭ１は、クラウドコントローラ２０からの指示により、データセンタ２Ａからデータセンタ２Ｂへのマイグレーションが行われる。本実施形態において、ＶＭのマイグレーションはライブマイグレーション（ＶＭを稼働させた状態で、丸ごと別の物理サーバに移動させること）を想定している。
【００１８】
クラウドコントローラ２０は、ＶＭの制御を行う装置である。ここでのＶＭの制御は、例えば、ＶＭを制御するＨＶに対して行われる。このクラウドコントローラ２０は、例えば、ＶＭを収容する物理サーバに対しマイグレーションを指示する。また、クラウドコントローラ２０は、マイグレーションの対象であるＶＭを監視し、マイグレーションの進捗状況（例えば、何％まで進んだか）を把握する。さらに、クラウドコントローラ２０は、ネットワーク制御装置１０からの要求に応じて、マイグレーションの進捗状況を示す情報（進捗情報）を送信する。
【００１９】
ネットワーク制御装置１０は、ネットワーク装置４０に対する通信制限を行う。具体的には、ネットワーク制御装置１０は、ＶＭの他の拠点へのライブマイグレーションの進捗情報を取得し、取得した進捗情報をもとに、制限定義情報（詳細は後記）を参照して、当該ＶＭのライブマイグレーションの進捗状況が所定の条件に該当するか否かを判断する。ここで、ネットワーク制御装置１０が、該ＶＭのライブマイグレーションの進捗状況が所定の条件に該当すると判断したとき、例えば、ライブマイグレーションの開始から所定時間経過しているにもかかわらず、進捗率が１０％以下であると判断したとき、当該ＶＭの通信経路のネットワーク装置４０に対し、当該ＶＭへの通信パケットの制限を指示する。このような指示を受けたネットワーク装置４０は、例えば、当該ＶＭへの通信パケットの遮断や、帯域制限等を行う。その結果、当該ＶＭへの通信が制限されるので、当該ＶＭの負荷が軽減される。
【００２０】
このようにすることで、ＶＭのライブマイグレーション中に、当該ＶＭへのアクセス集中等により高負荷な状態になっている場合であっても、当該ＶＭの負荷の軽減がされる。その結果、当該ＶＭのマイグレーションに要する時間を短縮することができる。
【００２１】
図３は、図２のＶＭを動作させる物理サーバの階層構造を示す図である。データセンタ２Ａでは、物理サーバ６が動作し、データセンタ２Ｂでは、物理サーバ１６が動作する。各物理サーバは、一般的なサーバ装置であり、プロセッサ、メモリ等のハードウェアを有する。
【００２２】
データセンタ２Ａの物理サーバ６は、ハードウェア６ａ上で仮想化ソフトウェア６ｂを動作させて、仮想環境を提供する。仮想化ソフトウェア６ｂは、仮想スイッチ６ｃを動作させる。また同様に、データセンタ２Ｂの物理サーバ１６は、ハードウェア１６ａ上で仮想化ソフトウェア１６ｂを動作させて、仮想環境を提供する。また、仮想化ソフトウェア１６ｂは、仮想スイッチ１６ｃを動作させて、図２の仮想Ｌ２ネットワーク２１を構築する。すなわち、異なるデータセンタ間を仮想Ｌ２ネットワーク２１で通信可能に接続する。
【００２３】
そして、各物理サーバの各仮想化ソフトウェアは、仮想Ｌ２ネットワーク２１を利用可能な状態でＶＭを動作させる。具体的には、仮想化ソフトウェア６ｂは、物理サーバ６の物理リソースを用いてＶＭ（Ａ）とＶＭ（Ｂ）とを動作させ、仮想スイッチ６ｃを経由して、各ＶＭを仮想Ｌ２ネットワーク２１に接続する。同様に、仮想化ソフトウェア１６ｂは、物理サーバ１６の物理リソースを用いてＶＭ（Ｃ）とＶＭ（Ｄ）とを動作させ、仮想スイッチ１６ｃを経由して、各ＶＭを仮想Ｌ２ネットワーク２１に接続する。
【００２４】
次に、図４を用いて、ネットワーク制御装置１０を詳細に説明する。ネットワーク制御装置１０は、入出力部１１と、記憶部１２と、制御部１３とを備える。
【００２５】
入出力部１１は、外部装置との各種情報の入出力を司る入出力インタフェースである。この入出力部１１は、例えば、クラウドコントローラ２０からマイグレーションの進捗情報を取得したり、ネットワーク装置４０への通信制限の指示を出力したりする。この入出力部１１は、外部装置との入出力インタフェースのほか、ネットワーク経由で通信可能な通信インタフェースを備えていてもよい。
【００２６】
記憶部１２は、ＶＭ情報と、ネットワーク装置情報と、制限定義情報とを記憶する。
【００２７】
ＶＭ情報は、通信システム内のＶＭに関する情報であり、例えば、図５に示すように、ＶＭの識別情報ごとに当該ＶＭの属する拠点等を示した情報である。
【００２８】
ネットワーク装置情報は、通信システム内のネットワーク装置４０に関する情報であり、例えば、図６に示すように、ネットワーク装置４０の識別情報ごとに、当該ネットワーク装置４０の属する拠点を示した情報である。このネットワーク装置情報は、図６に示すように、各ネットワーク装置４０における通信量の値を含んでいてもよい。
【００２９】
制限定義情報は、装置制御部１３３（後記）がネットワーク装置４０に対し通信制限を行うときの条件を示した情報である。この制限定義情報は、例えば、マイグレーションの進捗状況ごとに、当該進捗状況に該当するときの通信制限の内容を示した情報である。
【００３０】
この制限定義情報のフォーマットとしては、例えば、図７に示すように、条件の適用優先度と、当該優先度に対応する条件と、当該条件に用いる閾値と、当該条件に対するアクション（通信制限の内容）とを対応付けたものが考えられる。例えば、図７の１行目の条件は、２つの条件をＡＮＤ（＆）で結んだ条件を示し、条件Ａについて閾値以上となり、かつ、条件Ｂについて閾値となった場合、「アクション」に示される通信制限を行うことを示す。ここでの通信制限の内容は、通信パケットのシェーピング、遮断、新たな通信パケットの受信の拒否等である。シェーピングや遮断の値の単位は、例えば、ｂｐｓ（bit  per  second）やｐｐｓ（packet  per  second）等である。
【００３１】
このようなフォーマットを用いた制限定義情報の一例を図８に示す。図８に示す制限定義情報は、マイグレーションの進捗率とマイグレーションの残り時間（マイグレーション完了までの予測時間）との組み合わせにより、マイグレーションの進捗状況に関する条件を記述した場合の例を示す。例えば、この制限定義情報の１行目は、マイグレーションの進捗率が０％、かつ、残り時間（マイグレーション完了までの残り時間の予測値）が０時間以上であれば、３０００ｐｐｓのシェーピングを行うことを示す。また、制限定義情報の２行目の条件は進捗率が１０％以下であり、残り時間が９時間以上であれば、２０００ｐｐｓのシェーピングを行うことを示す。
【００３２】
なお、この制限定義情報に用いられる条件は、例えば、マイグレーションの対象となるＶＭにおけるメモリ転送の進捗状況（％）や、マイグレーションの完了までの予測時間に関する条件の他、当該ＶＭのメモリ変更量に対するメモリ転送量の割合を示すダーティ率等も用いてよい。なお、当該ＶＭのメモリ変更量に対するメモリ転送量の割合を示すダーティ率は、当該ＶＭのマイグレーションの開始後に発生したメモリ変更量に対するメモリ転送量の割合であってもよい。制限定義情報には、このようなマイグレーションの進捗に関する条件と、条件に用いる値（例えば、閾値）とが記述される。また、それぞれの条件は、図８に例示したように複数の条件の組み合わせにより記述されていてもよい。また、それぞれの条件の適用の優先度に関する情報を含んでもよい。
【００３３】
また、制限定義情報に示される「アクション」の内容、つまり、通信制限の内容は、例えば、通信パケットのシェーピングや遮断の他、新規の通信パケットは受け付けないといった内容を含んでいてもよい。なお、新規の通信パケットを受け付けない、とは、例えば、ＴＣＰ（Transmission  Control  Protocol）であればｓｙｎ、ＴＣＰ以外ならば新たなＩＰアドレスとポート番号の組み合わせの通信パケットは受け付けないといったものである。この「アクション」の内容も、複数の通信制限の内容を組み合わせたものが記述されていてもよい。例えば、通信パケットのシェーピングをしつつ、新規の通信パケットは受け付けない、といった内容であってもよい。
【００３４】
制御部１３は、ネットワーク制御装置１０全体の制御を司る。この制御部１３は、進捗情報取得部１３０と、計算部１３２と、装置制御部１３３とを備える。
【００３５】
進捗情報取得部１３０は、入出力部１１経由で、クラウドコントローラ２０からＶＭのマイグレーションの進捗情報を取得する。この進捗情報は、マイグレーションの対象となるＶＭにおけるメモリ転送が何％まで進んだか等を示した情報である。
【００３６】
計算部１３２は、装置制御部１３３からの要求に基づき、マイグレーションの進捗情報をもとに、ＶＭのマイグレーションの進捗状況を示す値を計算する。例えば、計算部１３２は、進捗情報として、マイグレーションの対象となるＶＭにおけるメモリ転送の進捗を示す情報を取得すると、この情報をもとに、当該ＶＭのメモリ変更量に対するメモリ転送量の割合を示すダーティ率、マイグレーションの完了までの残り時間の予測値等を計算する。マイグレーションの完了までの残り時間の予測値は、例えば、
（マイグレーション開始から現在までのメモリ転送時間（ｓ）／メモリ転送の進捗状況（％））×（１００（％）−メモリ転送の進捗状況（％））
により計算される。また、当該ＶＭのメモリ変更量に対するメモリ転送量の割合を示すダーティ率は、当該ＶＭのマイグレーションの開始後に発生したメモリ変更量に対するメモリ転送量の割合であってもよい。計算部１３２は、このようにして計算した値を装置制御部１３３に受け渡す。
【００３７】
装置制御部１３３は、ＶＭのマイグレーションの進捗状況が所定の条件に該当すると判断したとき、当該ＶＭの通信経路のネットワーク装置４０に対して、当該ＶＭへの通信制限を指示する。具体的には、装置制御部１３３は、前記した制限定義情報と、当該ＶＭの進捗情報（および計算部１３２により計算されたＶＭのマイグレーションの進捗状況を示す値）とを参照して、当該ＶＭの通信経路のネットワーク装置４０に対する通信パケットの制限の内容を決定する。そして、装置制御部１３３はこの決定した内容を実行するよう、ネットワーク装置４０に対し指示する。
【００３８】
また、装置制御部１３３は、ＶＭのマイグレーションの完了後、通信制限を解除する。具体的には、装置制御部１３３は、進捗情報取得部１３０から当該ＶＭのマイグレーションが完了した旨の進捗情報を取得すると、当該ＶＭの通信経路のネットワーク装置４０に対し、通信制限を解除するよう指示する。
【００３９】
（処理手順）
次に、図９を用いて、ネットワーク制御装置１０の処理手順を説明する。なお、以下の処理は、例えば、ＶＭのマイグレーション開始後、クラウドコントローラ２０からネットワーク制御装置１０へ処理の開始指示が送信されたことを契機に実行される。
【００４０】
まず、ネットワーク制御装置１０の進捗情報取得部１３０は、クラウドコントローラ２０からＶＭのマイグレーションの進捗情報を取得する（Ｓ１）。
【００４１】
次に、ネットワーク制御装置１０の装置制御部１３３は、進捗情報取得部１３０により取得された進捗情報と、制限定義情報とを参照して、ＶＭのマイグレーションの進捗状況が制限定義情報に示される所定の条件に該当するか否かを判断する（Ｓ２）。ここで、装置制御部１３３が、ＶＭのマイグレーションの進捗状況が制限定義情報に示される所定の条件に該当すると判断したとき（Ｓ２でＹｅｓ）、ＶＭの通信経路のネットワーク装置４０に対し、制限定義情報に示される当該条件に対応する通信制限を指示する（Ｓ３）。
【００４２】
そして、Ｓ３の後、装置制御部１３３が、当該ＶＭのマイグレーションが完了したと判断したとき（Ｓ４でＹｅｓ）、ネットワーク装置４０に対する通信制限を解除する（Ｓ５）。すなわち、装置制御部１３３は、進捗情報取得部１３０経由で、当該ＶＭのマイグレーションが完了した旨の進捗情報を取得すると、ネットワーク装置４０に対し通信制限を解除するように指示する。
【００４３】
なお、装置制御部１３３が、Ｓ４において、当該ＶＭのマイグレーションがまだ完了してないと判断したときは（Ｓ４でＮｏ）、Ｓ２へ戻る。つまり、装置制御部１３３は、進捗情報取得部１３０経由で取得した進捗情報に基づき再度マイグレーションが制限定義情報に示される所定の条件に該当するか否かを判断する（Ｓ２）。一方、装置制御部１３３が、Ｓ２において、ＶＭのマイグレーションの進捗状況が制限定義情報に示される所定の条件に該当しないと判断したとき（Ｓ２でＮｏ）、通信制限は行わない。
【００４４】
このようにすることで、ＶＭのライブマイグレーション時に、当該ＶＭが高負荷な状態になっている場合であっても、負荷の軽減がされるので、当該ＶＭのマイグレーションに要する時間を短縮することができる。
【００４５】
また、ネットワーク制御装置１０は、マイグレーションの開始前およびマイグレーションの完了後は通信制限を行わないので、ＶＭのリソースを有効活用できる。
【００４６】
（具体例）
図８に示す制限定義情報を参照して、通信制限の内容の決定処理の例を説明する。ここでは、１行目の条件の優先度が「１０」、２行目の条件の優先度が「８」、３行目の条件の優先度が「６」、４行目の条件の優先度が「４」、５行目の条件の優先度が「２」、６行目の条件の優先度が「１」であるものとする。
【００４７】
装置制御部１３３は、ＶＭのマイグレーションの進捗情報を取得すると、この進捗情報に示される進捗状況が、制限定義情報に示されるどの条件と該当するかを判断する。例えば、ＶＭのマイグレーションの進捗状況が、進捗率８％、かつ、残り時間９．５時間であれば、２行目の条件に該当する。よって、装置制御部１３３は、当該ＶＭの通信経路のネットワーク装置４０に２０００ｐｐｓのシェーピングを指示することを決定する。
【００４８】
その後、装置制御部１３３が、再度ＶＭのマイグレーションの進捗情報を取得する。そして、装置制御部１３３は、取得した進捗情報に示される進捗状況が、制限定義情報に示されるどの条件と該当するかを判断する。ここで、今回取得した進捗情報が、進捗率１５％、かつ、残り時間が９.５時間であった場合、制限定義情報の３行目の条件に該当するので、装置制御部１３３は、当該ＶＭの通信経路のネットワーク装置４０に１０００ｐｐｓのシェーピングを指示することを決定する。
【００４９】
ここで、装置制御部１３３は、制限定義情報に示される条件のうち、より優先度の高い条件がヒットした場合、現在適用している条件に対するアクションを中止し、より優先度の高い条件に対するアクションを実行する。つまり、前記した例でいうと、制限定義情報に示される１行目の条件（優先度：１０）を適用中に、２行目の条件（優先度：８）がヒットした場合、装置制御部１３３は、これまで実行していた１行目の条件（優先度：１０）に対するアクションを中止し、より優先度の高い２行目の条件（優先度：８）に対するアクションを実行するようにする。
【００５０】
つまり、図８に例示したように、制限定義情報に、マイグレーションの進捗状況（進捗率）に対応した通信制限の内容を定義することで、装置制御部１３３はマイグレーションの進捗状況に応じた段階的な通信制限を行うことができる。例えば、装置制御部１３３は、制限定義情報を参照して、ＶＭのマイグレーションの開始当初は、シェーピングの値を高く（例えば、３０００ｐｐｓ程度に）しておくが、マイグレーションの進捗率に対し、マイグレーション完了までにはまだある程度の時間がかかりそうな場合、シェーピングの値を低く（例えば、５００ｐｐｓ程度に）する。つまり、装置制御部１３３が、ＶＭのマイグレーションの開始当初から強い通信制限を行わず、マイグレーションの進捗状況に応じて段階的に通信制限を行う。その結果、ＶＭへの通信制限を必要以上に行わずにマイグレーションを完了させることができる。
【００５１】
（プログラム）
また、上記実施形態に係るネットワーク制御装置１０が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。この場合、コンピュータがプログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかるプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。以下に、ネットワーク制御装置１０と同様の機能を実現するネットワーク制御プログラムを実行するコンピュータの一例を説明する。
【００５２】
図１０は、ネットワーク制御プログラムを実行するコンピュータを示す図である。図１０に示すように、コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有する。これらの各部は、バス１０８０によって接続される。
【００５３】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１およびＲＡＭ（Random  Access  Memory）１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。ディスクドライブ１１００には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース１０５０には、例えば、マウス１１１０およびキーボード１１２０が接続される。ビデオアダプタ１０６０には、例えば、ディスプレイ１１３０が接続される。
【００５４】
ここで、図１０に示すように、ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３およびプログラムデータ１０９４を記憶する。上記実施形態で説明した各テーブルは、例えばハードディスクドライブ１０９０やメモリ１０１０に記憶される。
【００５５】
また、ネットワーク制御プログラムは、例えば、コンピュータ１０００によって実行される指令が記述されたプログラムモジュールとして、ハードディスクドライブ１０９０に記憶される。具体的には、上記実施形態で説明したネットワーク制御装置１０が実行する各処理が記述されたプログラムモジュールが、ハードディスクドライブ１０９０に記憶される。
【００５６】
また、ネットワーク制御プログラムによる情報処理に用いられるデータは、プログラムデータとして、例えば、ハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、ハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して、上述した各手順を実行する。
【００５７】
なお、ネットワーク制御プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、ネットワーク制御プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ＬＡＮ（Local  Area  Network）やＷＡＮ（Wide  Area  Network）等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【００５８】
２      データセンタ
１０    ネットワーク制御装置
１１    入出力部
１２    記憶部
１３    制御部
２０    クラウドコントローラ
２１    仮想Ｌ２ネットワーク
３０    端末
４０    ネットワーク装置
１３０  進捗情報取得部
１３２  計算部
１３３  装置制御部
【図１】
2015156149.tif 000003
【図２】
2015156149.tif 000004
【図３】
2015156149.tif 000005
【図４】
2015156149.tif 000006
【図５】
2015156149.tif 000007
【図６】
2015156149.tif 000008
【図７】
2015156149.tif 000009
【図８】
2015156149.tif 000010
【図９】
2015156149.tif 000011
【図１０】
2015156149.tif 000012