(57)【要約】【課題】仮想マシンのライブマイグレーションの時間を短縮する。【解決手段】ネットワーク制御装置１０は、仮想マシンのマイグレーションの進捗情報をもとに、マイグレーションが目標時間以内に完了するか否かを判断する。ネットワーク制御装置１０がマイグレーションは目標時間以内に完了しないと判断したとき、当該仮想マシンのハイパーバイザに対する使用リソースの制限、または、ネットワーク装置４０に対する通信量の制限を指示する。【選択図】図１
2015156150.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＞
【非特許文献７】シトリックス≫XenServer≫動的メモリ制御、[online]、[平成２６年２月３日検索]、インターネット＜http://www.citrix.co.jp/products/xenserver/dmc.html＞
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、ライブマイグレーションの対象の仮想マシンに対し頻繁なアクセスが発生したり、当該仮想マシンにおける処理負荷が大きかったりすると、ライブマイグレーションの完了に長時間を要する場合や、ライブマイグレーションが完了しない場合があった。そこで、本発明は前記した問題を解決し、仮想マシンのライブマイグレーションの時間を短縮することを課題とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、仮想マシンのライブマイグレーションを実行するとき前記仮想マシンの負荷状況を取得する情報取得部と、前記取得した仮想マシンの負荷状況に応じて、前記仮想マシンの使用リソースの制限および前記仮想マシンの通信経路のネットワーク装置における通信の制限の少なくともいずれかを行う装置制御部とを備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、仮想マシンのライブマイグレーションの時間を短縮することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施形態に係る通信システムの全体構成例を示す図である。
【図２】図２は、ＶＭおよびＶＭ間を接続する仮想Ｌ２ネットワークの論理構成の一例を示す図である。
【図３】図３は、ＶＭを動作させる物理サーバの階層構造を示す図である。
【図４】図４は、ネットワーク制御装置の機能ブロック図である。
【図５】図５は、ＶＭ情報の一例を示す図である。
【図６】図６は、ネットワーク装置情報の一例を示す図である。
【図７】図７は、ネットワーク制御装置の処理手順を示すフローチャートである。
【図８】図８は、ネットワーク制御装置によるリソース制限とマイグレーションの進捗との関係の一例を示す図である。
【図９】図９は、ネットワーク制御プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態（実施形態）を説明する。なお、この実施形態によりこの発明が限定されるものではない。
【００１２】
図１に示すように、通信システムは、拠点Ａと、拠点Ｂと、ネットワーク制御装置１０と、クラウドコントローラ（管理装置）２０と、端末３０とを備える。各拠点と端末３０とはインターネット等、ＶＰＮ（Virtual  Private  Network）のネットワークにより接続される。拠点内にはデータセンタが設置される。ここでは拠点Ａには、データセンタ２Ａが設置され、拠点Ｂにはデータセンタ２Ｂが設置されるものとする。
【００１３】
端末３０は、データセンタ２Ａまたはデータセンタ２Ｂ等で動作する仮想マシン（ＶＭ）にアクセスして、各種サービスを利用する端末であり、例えばノートパソコンやスマートフォン等である。
【００１４】
データセンタ２Ａ、データセンタ２Ｂそれぞれには、１台以上の物理サーバ（図示省略）が設置され、物理サーバの物理リソースを用いてＶＭおよび当該ＶＭを制御するＨＶ（ハイパーバイザ）を動作させる。なお、物理リソースとしては、通信インタフェース、プロセッサ、メモリ、ハードディスク等である。ＨＶは、ＶＭを制御する仮想ソフトウェアであり、仮想スイッチ（図３参照）を含んでいてもよい。また、データセンタ２Ａ、データセンタ２Ｂは、それぞれネットワーク装置４０を備える。ここでは、データセンタ２Ａのネットワーク装置４０をネットワーク装置４０Ａとし、データセンタ２Ｂのネットワーク装置４０をネットワーク装置４０Ｂとする。
【００１５】
図２に示す通り、ＶＭ間は、仮想Ｌ２ネットワーク２１により接続される。この仮想Ｌ２ネットワーク２１が、データセンタ間を跨ぐ場合は、例えば、図３の仮想スイッチおよび仮想ソフトウェアスイッチと、物理ネットワーク２２（ネットワーク接続装置４０Ａ、インターネット／ＶＰＮおよびネットワーク接続装置４０Ｂ）を経由する経路を通るＶＰＮ技術によって実現する。
【００１６】
ネットワーク装置４０は、各データセンタ２の各ＶＭのデータ通信を中継する装置であり、例えば、このネットワーク装置４０は、各ＶＭと端末３０との通信を中継する。このネットワーク装置４０は、例えば、データセンタ２と外部ネットワークとの境界に設置されるルータである。このネットワーク装置４０は、前記したルータとして機能のほか、ファイアウォール、ロードバランサ、パケットシェイパーの機能を備えていてもよい。また、このネットワーク装置４０は、ＶＭが収容される物理サーバとは別個の装置であってもよいし、当該物理サーバにより仮想的に実現される装置であってもよい。
【００１７】
ＶＭは、例えばＷｅｂサーバやＤＢサーバ等を実行する仮想的な装置であり、端末３０との間でデータ通信を行い、各種サービスを提供する。なお、ＶＭは、動作する拠点が異なっていても、同一セグメントで動作するものとする。また、ＶＭはクラウドコントローラ２０からの指示に基づき、データセンタ２を跨いだマイグレーションが行われる。例えば、図１のＶＭ１は、クラウドコントローラ２０からの指示により、データセンタ２Ａからデータセンタ２Ｂへのマイグレーションが行われる。本実施形態において、ＶＭのマイグレーションはライブマイグレーション（ＶＭを稼働させた状態で、丸ごと別の物理サーバに移動させること）を想定している。
【００１８】
クラウドコントローラ２０は、ＶＭの制御を行う装置である。ここでのＶＭの制御は、例えば、ＶＭを制御するＨＶに対して行われる。このクラウドコントローラ２０は、例えば、ＶＭを収容する物理サーバに対しマイグレーションを指示する。また、クラウドコントローラ２０は、マイグレーションの対象であるＶＭを監視し、マイグレーションの進捗状況（例えば、何％まで進んだか）を把握する。さらに、クラウドコントローラ２０は、ネットワーク制御装置１０からの要求に応じて、マイグレーションの進捗状況を示す情報（進捗情報）を送信する。
【００１９】
ネットワーク制御装置１０は、ＶＭのリソースの制御と、ネットワーク装置４０に対する通信制限を行う。
【００２０】
例えば、ネットワーク制御装置１０は、ＶＭのマイグレーションが実行されると、クラウドコントローラ２０から、当該ＶＭのマイグレーションの進捗情報を取得し、マイグレーションの進捗状況を判断する。ここで、ネットワーク制御装置１０が、進捗情報をもとに、マイグレーションを目標時間以内に完了できないと判断したとき、当該ＶＭのリソースの制限と、当該ＶＭの通信経路のネットワーク装置４０に対する通信量の制限とを行う。
【００２１】
具体的には、まず、ネットワーク制御装置１０は、当該ＶＭのリソースの割り当て状況や通信量の情報を取得する。そして、ネットワーク制御装置１０は、マイグレーションの進捗情報をもとに、当該ＶＭに対しどの程度リソースの制限を行えばよいかを判断し、当該ＶＭのリソースの制限を行う。また、ネットワーク制御装置１０は、当該ＶＭの通信経路にあるネットワーク装置４０（例えば、ネットワーク装置４０Ａ）にどの程度通信制限を行えばよいか判断し、当該ネットワーク装置４０に対し通信制限の指示を行う。通信制限の指示を受けたネットワーク装置４０（例えば、ネットワーク装置４０Ａ）は、端末３０から当該ＶＭへの通信の遮断や、帯域制限等の通信制限を行う。これにより、当該ＶＭにおける負荷が軽減される。
【００２２】
このようにすることで、ＶＭのライブマイグレーション中に、当該ＶＭへのアクセス集中等により高負荷な状態になっている場合であっても、当該ＶＭの負荷が軽減される。その結果、当該ＶＭのマイグレーションに要する時間を短縮することができる。
【００２３】
なお、以下の説明においてネットワーク制御装置１０は、マイグレーションの対象のＶＭの負荷軽減のため、当該ＶＭに対するリソースの制限と、ネットワーク装置４０に対する通信量の制限との両方を行うものとして説明するが、これらのいずれか一方のみを行ってもよい。
【００２４】
図３は、図２のＶＭを動作させる物理サーバの階層構造を示す図である。
【００２５】
データセンタ２Ａでは、物理サーバ６が動作し、データセンタ２Ｂでは、物理サーバ１６が動作する。各物理サーバは、一般的なサーバ装置であり、プロセッサ、メモリ等のハードウェアを有する。
【００２６】
データセンタ２Ａの物理サーバ６は、ハードウェア６ａ上で仮想化ソフトウェア６ｂを動作させて、仮想環境を提供する。仮想化ソフトウェア６ｂは、仮想スイッチ６ｃを動作させる。また同様に、データセンタ２Ｂの物理サーバ１６は、ハードウェア１６ａ上で仮想化ソフトウェア１６ｂを動作させて、仮想環境を提供する。また、仮想化ソフトウェア１６ｂは、仮想スイッチ１６ｃを動作させて、図２の仮想Ｌ２ネットワーク２１を構築する。すなわち、異なるデータセンタ間を仮想Ｌ２ネットワーク２１で通信可能に接続する。
【００２７】
そして、各物理サーバの各仮想化ソフトウェアは、仮想Ｌ２ネットワーク２１を利用可能な状態でＶＭを動作させる。具体的には、仮想化ソフトウェア６ｂは、物理サーバ６の物理リソースを用いてＶＭ（Ａ）とＶＭ（Ｂ）とを動作させ、仮想スイッチ６ｃを経由して、各ＶＭを仮想Ｌ２ネットワーク２１に接続する。同様に、仮想化ソフトウェア１６ｂは、物理サーバ１６の物理リソースを用いてＶＭ（Ｃ）とＶＭ（Ｄ）とを動作させ、仮想スイッチ１６ｃを経由して、各ＶＭを仮想Ｌ２ネットワーク２１に接続する。
【００２８】
次に、図４を用いて、ネットワーク制御装置１０を詳細に説明する。ネットワーク制御装置１０は、入出力部１１と、記憶部１２と、制御部１３とを備える。
【００２９】
入出力部１１は、外部装置との各種情報の入出力を司る入出力インタフェースである。この入出力部１１は、例えば、クラウドコントローラ２０からマイグレーションの進捗情報を取得したり、ＨＶからＶＭのリソース状況や通信量を示す情報を取得したり、ＨＶやＶＭに対しリソース制限の指示を出力したりする。この入出力部１１は、外部装置との入出力インタフェースのほか、ネットワーク経由で通信可能な通信インタフェースを備えていてもよい。
【００３０】
記憶部１２は、ＶＭ情報と、ネットワーク装置情報とを記憶する。
【００３１】
ＶＭ情報は、通信システム内のＶＭに関する情報であり、例えば、図５に示すように、ＶＭの識別情報ごとに当該ＶＭの属する拠点、当該ＶＭが収容される物理サーバの識別情報、当該ＶＭのリソース状況、当該ＶＭの通信量等の情報を示した情報である。例えば、図５に示すＶＭ情報において、ＶＭ１の属する拠点は「Ａ」であり、当該ＶＭ１が収容される物理サーバは「サーバ２０Ａ」であり、メモリ使用率は「ｘ％」であり、ＣＰＵ使用率は「ｙ％」であり、通信量は「ａａ（ｂｐｓ）」であることを示す。
【００３２】
ネットワーク装置情報は、通信システム内のネットワーク装置４０に関する情報であり、例えば、図６に示すように、ネットワーク装置４０の識別情報ごとに、当該ネットワーク装置４０の属する拠点を示した情報である。このネットワーク装置情報は、図６に示すように、当該ネットワーク装置４０における通信量の値を含んでいてもよい。
【００３３】
制御部１３は、ネットワーク制御装置１０全体の制御を司る。この制御部１３は、進捗情報取得部１３０と、情報取得部１３１と、計算部１３２と、装置制御部１３３とを備える。
【００３４】
進捗情報取得部１３０は、入出力部１１経由で、クラウドコントローラ２０からＶＭのマイグレーションの進捗情報を取得する。この進捗情報は、例えば、当該ＶＭのライブマイグレーションが何％まで進んだか等を示した情報である。
【００３５】
情報取得部１３１は、ＶＭのマイグレーションの開始後、マイグレーション元の拠点におけるＶＭまたは当該ＶＭのＨＶから、当該ＶＭにおけるリソース状況（リソースの使用状況）や通信量を取得する。リソース状況は、例えば、当該ＶＭのメモリ使用率やＣＰＵ使用率等であり、通信量は、例えば、当該ＶＭへ入力される通信量等である。ここで取得した情報は、情報取得部１３１がＶＭ情報における当該ＶＭのリソース状況、通信量の欄に記載する。
【００３６】
計算部１３２は、ＶＭのマイグレーションが目標時間以内に完了するか否かを判断する。また、計算部１３２は、ＶＭへのリソース割り当て量や、ネットワーク装置４０へ指示する通信量の制限値を計算する。例えば、まず、計算部１３２は、進捗情報取得部１３０により取得された進捗情報をもとに、ＶＭのマイグレーションが目標時間以内に完了するか否かを判断する。ここで計算部１３２が、当該ＶＭのマイグレーションが目標時間以内に完了しないと判断したとき、情報取得部１３１により取得されたＶＭの負荷状況、例えば、当該ＶＭのリソース状況や通信量等を用いて、マイグレーションが目標時間以内に完了するような、当該ＶＭへのリソースの割り当て量や、当該ＶＭの通信経路のネットワーク装置４０の通信量の制限値を計算する。例えば、当該ＶＭへのＣＰＵの割り当てが８０％であった場合、計算部１３２は、ＣＰＵの割り当て量として「６０％」という値を計算する。計算部１３２は、計算した値を装置制御部１３３へ出力する。
【００３７】
装置制御部１３３は、ＶＭのリソース割り当て量やネットワーク装置４０の通信量の制御を行う。例えば、装置制御部１３３は、ＶＭの使用リソースの制限やＶＭの通信経路のネットワーク装置４０における通信の制限を行う。具体例を挙げると、装置制御部１３３は、入出力部１１経由でマイグレーションの対象のＶＭのＨＶに対し、当該ＶＭへのリソース割り当て量を、計算部１３２により計算された値とするよう指示する。また、装置制御部１３３は、入出力部１１経由で当該ＶＭの通信経路のネットワーク装置４０に対し、当該ＶＭへの通信量を計算部１３２により計算された制限値とするよう指示する。装置制御部１３３は、このような指示によりマイグレーションの対象のＶＭにおけるリソース割り当ての制限や通信量の制限を行う。
【００３８】
また、装置制御部１３３は、ＶＭのマイグレーションの完了後、当該ＶＭへのリソース割り当ての制限や通信量の制限を解除する。具体的には、装置制御部１３３は、進捗情報取得部１３０から当該ＶＭのマイグレーションが完了した旨の進捗情報を取得すると、当該ＶＭのＨＶに対し、リソース割り当ての制限を解除するよう指示する。また、装置制御部１３３は、当該ＶＭの通信経路のネットワーク装置４０に対し、通信量の制限を解除するよう指示する。
【００３９】
次に、図７を用いて、ネットワーク制御装置１０の処理手順を説明する。なお、以下の処理は、例えば、ＶＭのマイグレーション開始後、クラウドコントローラ２０からネットワーク制御装置１０へ処理の開始指示が送信されたことを契機に実行される。
【００４０】
まず、ネットワーク制御装置１０の進捗情報取得部１３０は、クラウドコントローラ２０からＶＭのマイグレーションの進捗情報を取得する（Ｓ１）。
【００４１】
そして、計算部１３２は、当該ＶＭのマイグレーションの進捗情報をもとに、当該マイグレーションが目標時間以内に完了するか否かを判断する（Ｓ２）。ここで計算部１３２が、当該マイグレーションは目標時間以内に完了しないと判断したとき（Ｓ２でＮｏ）、情報取得部１３１は、当該ＶＭまたは当該ＶＭのＨＶにアクセスし、当該ＶＭのリソース状況、通信量を取得する（Ｓ３）。
【００４２】
Ｓ３の後、装置制御部１３３は、当該ＶＭのリソース割り当ての制限、通信制限を指示する（Ｓ４）。すなわち、装置制御部１３３は、計算部１３２に当該ＶＭのリソース割り当て量の値、ネットワーク装置４０における通信量の制限値の計算を依頼する。そして、装置制御部１３３は、当該ＶＭのＨＶに対し、当該ＶＭのＣＰＵやメモリの割り当てを計算部１３２により計算された値まで下げるように指示し、当該ＶＭの通信経路のネットワーク装置４０に対し、通信量を、計算された制限値まで下げるように指示する。なお、Ｓ２でマイグレーションが目標時間以内に完了すると判断したとき（Ｓ２でＹｅｓ）、Ｓ５へ進む。
【００４３】
Ｓ５において装置制御部１３３が、当該ＶＭのマイグレーションが完了したと判断したとき（Ｓ５でＹｅｓ）、当該ＶＭのリソース割り当ての制限または通信制限を解除する（Ｓ６）。すなわち、装置制御部１３３は、進捗情報取得部１３０経由で、当該ＶＭのマイグレーションが完了した旨の進捗情報を取得すると、当該ＶＭのＨＶに対し、リソース割り当ての制限を解除するよう指示する。また、装置制御部１３３は、ネットワーク装置４０に対し通信制限を解除するよう指示する。例えば、装置制御部１３３は、当該ＶＭのリソース割り当て量を、マイグレーションの開始前の状態まで戻すよう指示する。また、装置制御部１３３は、ネットワーク装置４０における通信量をマイグレーションの開始前の状態まで戻すよう指示する。なお、装置制御部１３３が、当該ＶＭのマイグレーションがまだ完了してないと判断したときは（Ｓ５でＮｏ）、Ｓ２へ戻る。
【００４４】
このようにすることで、ＶＭのライブマイグレーション時に、当該ＶＭが高負荷な状態になっている場合であっても、負荷が軽減されるので、当該ＶＭのマイグレーションに要する時間を短縮することができる。
【００４５】
また、ネットワーク制御装置１０は、マイグレーションの開始前およびマイグレーションの完了後は、ＶＭのリソース割り当ての制限や通信制限を行わないので、ＶＭのリソースを有効活用できる。
【００４６】
なお、図７のＳ３における、マイグレーションが目標時間以内に完了するか否かの判断は、マイグレーションの進捗情報と、当該マイグレーションの開始時刻から現在（ｔ１）までの経過時間とに基づいて行われる。例えば、計算部１３２が、現在（ｔ１）におけるマイグレーションの進捗が２０％であるという進捗情報を取得した場合を考える。この場合、計算部１３２がマイグレーション開始から現在（ｔ１）までの経過時間とマイグレーションの進捗（％）とから、現在のペースでマイグレーションを進めた場合の進捗を推測する。例えば、図８の符号８１に示すように、目標時間におけるマイグレーションの進捗の推測値は４５％の場合、進捗は１００％に達していない。よって、計算部１３２は、目標時間までにマイグレーションは完了しないと判断する。
【００４７】
このような判断をした計算部１３２は、ＶＭのリソース割り当て量や通信制限の制限値を計算する。例えば、計算部１３２は、現在（ｔ１）のマイグレーションの進捗状況と、現在のＶＭのリソース状況や通信量とに基づき、時間あたりのマイグレーションの進捗の度合いをより高めるような値とする。例えば、計算部１３２は、図８の符号８１に示すように、ＣＰＵの割り当ては８０％、メモリの割り当ては９０％、ネットワークリソースの割り当ては１００％という値を計算する。
【００４８】
なお、図７のＳ４における割り当てリソースの制限、通信制限の指示は、マイグレーションが目標時間以内に完了しないと判断したときに（Ｓ２でＮｏ）実行することとしたが、これに限定されない。例えば、マイグレーション開始から予め設定された所定時間（例えば、目標時間の１/３の時間等）経過しても、マイグレーションが完了していないときに実行してもよい。
【００４９】
（その他の実施形態）
なお、ネットワーク制御装置１０は、ＶＭの割り当てリソースの制限または通信制限を指示してから所定時間経過後のマイグレーションの進捗状況から、マイグレーションを目標時間までの完了できないと判断したとき、ＶＭの割り当てリソースの制限または通信制限を再度行うようにしてもよい。
【００５０】
例えば、ネットワーク制御装置１０の装置制御部１３３が、図７のＳ４においてＶＭの割り当てリソースの制限、通信制限を指示してから所定時間経過後、進捗情報取得部１３０により、当該ＶＭのマイグレーションの進捗情報を取得する。そして、計算部１３２がこの進捗情報をもとに、現在のペースでは目標時間以内にマイグレーションを完了できないと判断したとき、装置制御部１３３は再度ＶＭの割り当てリソースの制限、通信制限を行う。
【００５１】
ここでのＶＭの割り当てリソース制限、通信制限の値は、計算部１３２により計算（決定）される。例えば、図８の符号８２のグラフに示すように、前回（ｔ１）で行ったＶＭの割り当てリソースの制限、通信制限によって、マイグレーションの進捗ペースは上がったが（符号８２１および符号８２２参照）、計算部１３２が現在（ｔ２）のペースでマイグレーションを進めても、目標時間までにマイグレーションは完了しないと判断した場合を考える。
【００５２】
この場合、計算部１３２は、まず現在（ｔ２）のペースでマイグレーションを進めた場合の目標時間におけるマイグレーションの進捗の推測値（例えば、７５％）を求める。その後、計算部１３２は、この進捗の推測値（例えば、７５％）と、割り当てリソースの制限、通信制限を行わなかった場合の目標時間におけるマイグレーションの進捗の推測値（例えば、４５％）との差分を求める。つまり、計算部１３２は、前回（ｔ１）のＶＭの割り当てリソースの制限、通信制限によって、マイグレーションの進捗ペースがどの程度向上したかを確認する。そして、計算部１３２は、このマイグレーションの進捗の差分と、現在（ｔ２）のマイグレーションの進捗状況と、現在（ｔ２）のＶＭの割り当てリソース量やネットワーク装置４０における通信量とに基づき、目標時間までのマイグレーションを完了できるような制限値を計算する。例えば、計算部１３２は、図８の符号８２に示すように、ＣＰＵの割り当ての制限をさらに強めて、ＣＰＵの割り当ては６０％、メモリの割り当ては９０％、ネットワークリソースの割り当ては１００％という値を計算する。
【００５３】
そして、装置制御部１３３は、この計算された値を用いてＶＭの割り当てリソースの制限、通信制限を行う。例えば、図８の符号８３のグラフに示すようにｔ２の時点で、装置制御部１３３がＶＭの割り当てリソースの制限、通信制限を指示すると、マイグレーションの進捗ペースはさらに向上することになる。その後、計算部１３２において、再度マイグレーションの進捗を確認し、前記したＶＭの割り当てリソースの制限、通信制限によっても、目標時間以内にマイグレーションが完了できないと判断したとき、前記した手順と同様の手順により、ＶＭの割り当てリソース制限、通信制限の値の再計算を行う。そして、装置制御部１３３は、この計算した値を用いて再度ＶＭの割り当てリソースの制限、通信制限を行う。
【００５４】
ネットワーク制御装置１０が上記の処理を繰り返すことで、最終的には、図８の符号８３に示すグラフのようにマイグレーションを目標時間以内に完了させることができる。このようにネットワーク制御装置１０が、実際のマイグレーションの進捗状況を確認しながら、段階的にＶＭの割り当てリソースの制限、通信制限を行うことで、当該ＶＭのリソースをできるだけ活用しつつ、ライブマイグレーションの時間を低減することができる。
【００５５】
なお、前記したＶＭの割り当てリソースの制限、通信制限は、ＶＭが外部からの攻撃を受けた場合において、当該ＶＭと同じ物理サーバ内のＶＭへ被害が及ばないようにするためにライブマイグレーションを実行する際に適用してもよい。例えば、クラウドコントローラ２０において、外部ネットワークから攻撃を受けていることを検知した拠点ＡのＶＭを、ライブマイグレーションにより拠点Ｂへ退避させる場合を考える。
【００５６】
この場合、当該ＶＭへの攻撃により、当該ＶＭが高負荷になり、当該ＶＭのライブマイグレーションが完了しないおそれがある。しかし、ネットワーク制御装置１０が、マイグレーションの対象のＶＭに対し、前記した割り当てリソースの制限、通信量の制限等を行うことで、当該ＶＭの負荷が軽減される。その結果、当該ＶＭのライブマイグレーションが完了しないという状況を回避することができる。
【００５７】
さらに、上記のＶＭの割り当てリソースの制限、通信制限は、マルウェアに感染した可能性のあるＶＭを監視するために当該ＶＭを他の拠点（監視用の拠点）へのライブマイグレーションを実行する際に適用してもよい。例えば、マルウェアに感染したＶＭは、高負荷な状態になり、ライブマイグレーションが完了しないおそれがある。しかし、ネットワーク制御装置１０が、マイグレーションの対象のＶＭに対し、前記した当該ＶＭの割り当てリソースの制限、通信量の制限等を行うことで、当該ＶＭへの負荷が軽減され、当該ＶＭのライブマイグレーションが完了しないという状況を回避することができる。
【００５８】
さらに、ＶＭのライブマイグレーションの開始後に、ネットワーク制御装置１０が当該ＶＭの割り当てリソースの制限、通信量の制限を行うが、マイグレーションの完了後は、このような制限を解除することで、当該ＶＭの性能を最大限に活用することができる。
【００５９】
なお、マイグレーションの対象のＶＭや、当該ＶＭの通信経路のネットワーク装置への制限が大きいほど、当該ＶＭのマイグレーションは早く完了するが、当該ＶＭの処理能力は低下することになる。一方、マイグレーションの対象のＶＭや、当該ＶＭの通信経路のネットワーク装置への制限を小さくすれば、当該ＶＭの処理能力の低下は抑えることができるが、マイグレーションに長時間を要することになる。つまり、両者はトレードオフの関係にある。そこで、通信システムの管理者等が、ネットワーク制御装置１０に対し、当該ＶＭの処理能力の維持をどの程度優先するのか、それともマイグレーションの時間の低減をどの程度優先するのかを定義情報として設定し、ネットワーク制御装置１０は、当該定義情報に基づき、マイグレーションの対象のＶＭや、当該ＶＭの通信経路のネットワーク装置への制限を行うようにしてもよい。
【００６０】
なお、前記した実施形態において、ネットワーク制御装置１０は、クラウドコントローラ２０から取得したマイグレーションの進捗情報に基づき、マイグレーションが目標時間以内に完了しないと判断したときに、リソース割り当ての制限や、通信制限を行うようにしたが、これに限定されない。例えば、ネットワーク制御装置１０は、ＶＭから取得したリソース状況、通信量をもとに、ＶＭの負荷状況を判断し、判断した負荷状況に応じて、リソース割り当ての制限や、通信制限を行うようにしてもよい。
【００６１】
（プログラム）
また、上記実施形態に係るネットワーク制御装置１０が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。この場合、コンピュータがプログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかるプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。以下に、ネットワーク制御装置１０と同様の機能を実現するネットワーク制御プログラムを実行するコンピュータの一例を説明する。
【００６２】
図９は、ネットワーク制御プログラムを実行するコンピュータを示す図である。図９に示すように、コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有する。これらの各部は、バス１０８０によって接続される。
【００６３】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１およびＲＡＭ（Random  Access  Memory）１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。ディスクドライブ１１００には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース１０５０には、例えば、マウス１１１０およびキーボード１１２０が接続される。ビデオアダプタ１０６０には、例えば、ディスプレイ１１３０が接続される。
【００６４】
ここで、図９に示すように、ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３およびプログラムデータ１０９４を記憶する。上記実施形態で説明した各テーブルは、例えばハードディスクドライブ１０９０やメモリ１０１０に記憶される。
【００６５】
また、ネットワーク制御プログラムは、例えば、コンピュータ１０００によって実行される指令が記述されたプログラムモジュールとして、ハードディスクドライブ１０９０に記憶される。具体的には、上記実施形態で説明したネットワーク制御装置１０が実行する各処理が記述されたプログラムモジュールが、ハードディスクドライブ１０９０に記憶される。
【００６６】
また、ネットワーク制御プログラムによる情報処理に用いられるデータは、プログラムデータとして、例えば、ハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、ハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して、上述した各手順を実行する。
【００６７】
なお、ネットワーク制御プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、ネットワーク制御プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ＬＡＮ（Local  Area  Network）やＷＡＮ（Wide  Area  Network）等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【００６８】
２      データセンタ
６      物理サーバ
６ａ    ハードウェア
６ｂ    仮想化ソフトウェア
６ｃ    仮想スイッチ
１０    ネットワーク制御装置
１１    入出力部
１２    記憶部
１３    制御部
１６    物理サーバ
１６ａ  ハードウェア
１６ｂ  仮想化ソフトウェア
１６ｃ  仮想スイッチ
２０    クラウドコントローラ
２１    仮想Ｌ２ネットワーク
３０    端末
４０    ネットワーク装置
１３０  進捗情報取得部
１３１  情報取得部
１３２  計算部
１３３  装置制御部
【図１】
2015156150.tif 000003
【図２】
2015156150.tif 000004
【図３】
2015156150.tif 000005
【図４】
2015156150.tif 000006
【図５】
2015156150.tif 000007
【図６】
2015156150.tif 000008
【図７】
2015156150.tif 000009
【図８】
2015156150.tif 000010
【図９】
2015156150.tif 000011