(57)【要約】【課題】仮想マシンのライブマイグレーションの時間を短縮することを課題とする。【解決手段】ネットワーク制御装置１０は、ライブマイグレーションの対象となるＶＭの通信量を当該ＶＭの通信経路のネットワーク装置４０から取得し、取得された通信量が、所定の設定値を超えているか否かを判定する。この結果、ネットワーク制御装置１０は、通信量が、所定の設定値を超えていると判定された場合には、ネットワーク装置４０に対し、ＶＭへの通信を制限する旨を指示する。【選択図】図１
2015156585.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＞
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、ライブマイグレーションの対象の仮想マシンに対し、複数のユーザのＷｅｂアクセス等の集中による頻繁なアクセスが発生したり、ＤｏＳ攻撃、ＤＤｏＳ攻撃等による頻繁なアクセスが発生したり、当該仮想マシンやサーバにおける処理負荷が大きかったりすると、ライブマイグレーションの完了に長時間を要する場合や、ライブマイグレーションが完了しない場合がある。そこで、本発明は前記した問題を解決し、仮想マシンのライブマイグレーションの時間を短縮することを課題とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明は、ライブマイグレーションの対象となる仮想マシンの通信量を当該仮想マシンの通信経路のネットワーク装置から取得する取得部と、前記取得部によって取得された通信量が、所定の設定値を超えているか否かを判定する判定部と、前記判定部によって前記通信量が、所定の設定値を超えていると判定された場合には、前記ネットワーク装置に対し、前記仮想マシンへの通信を制限する旨を指示する装置制御部とを備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、仮想マシンのライブマイグレーションの時間を短縮することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施形態に係る通信システムの全体構成例を示す図である。
【図２】図２は、ＶＭおよびＶＭ間を接続する仮想Ｌ２ネットワークの論理構成の一例を示す図である。
【図３】図３は、ＶＭを動作させる物理サーバの階層構造を示す図である。
【図４】図４は、ネットワーク制御装置の機能ブロック図である。
【図５】図５は、ＶＭ情報の一例を示す図である。
【図６】図６は、ネットワーク装置情報の一例を示す図である。
【図７】図７は、設定値情報の一例を示す図である。
【図８】図８は、設定値を設定するための画面例を示す図である。
【図９】図９は、ＤＤｏＳ（Distributed  Denial  of  Service）攻撃を受けている際の、ネットワーク制御処理の一連の流れを説明する図である。
【図１０】図１０は、ネットワーク制御装置の処理手順を示すフローチャートである。
【図１１】図１１は、ネットワーク制御プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態（実施形態）を説明する。なお、この実施形態により本発明が限定されるものではない。
【００１２】
図１に示すように、通信システムは、拠点Ａと、拠点Ｂと、ネットワーク制御装置１０と、クラウドコントローラ（管理装置）２０と、端末３０とを備える。各拠点と端末３０とはインターネット、ＶＰＮ（Virtual  Private  Network）等のネットワークにより接続される。拠点内にはデータセンタが設置される。ここでは拠点Ａには、データセンタ２Ａが設置され、拠点Ｂにはデータセンタ２Ｂが設置されるものとする。
【００１３】
端末３０は、データセンタ２Ａまたはデータセンタ２Ｂ等で動作する仮想マシン（ＶＭ）にアクセスして、各種サービスを利用する端末であり、例えばノートパソコンやスマートフォン等である。
【００１４】
データセンタ２Ａ、データセンタ２Ｂは、それぞれ１台以上の物理サーバ（図示省略）が設置され、物理サーバの物理リソースを用いてＶＭを収容／制御するＨＶ（ハイパーバイザ）を動作させる。なお、物理リソースとしては、通信インタフェース、プロセッサ、メモリ、ハードディスク等である。なお、ＨＶは、ＶＭを収容／制御する仮想ソフトウェアであり、例えば、仮想スイッチ（図３参照）を含んでいてもよい。また、データセンタ２Ａ、データセンタ２Ｂは、それぞれネットワーク装置４０を備える。ここでは、データセンタ２Ａのネットワーク装置４０をネットワーク装置４０Ａとし、データセンタ２Ｂのネットワーク装置４０をネットワーク装置４０Ｂとする。
【００１５】
図２に示す通り、ＶＭ間は、仮想Ｌ２ネットワーク２１により接続される。この仮想Ｌ２ネットワーク２１が、データセンタ間を跨ぐ場合は、例えば、図３の仮想スイッチおよび仮想ソフトウェアスイッチと、物理ネットワーク２２（ネットワーク接続装置４０Ａ、インターネット／ＶＰＮおよびネットワーク接続装置４０Ｂ）を経由する経路を通るＶＰＮ技術によって実現する。
【００１６】
ネットワーク装置４０は、各データセンタの各ＶＭのデータ通信を中継する装置であり、例えば、このネットワーク装置４０は、各ＶＭと端末３０とのデータ通信を中継する。このネットワーク装置４０は、例えば、データセンタと外部ネットワークとの境界に設置されるルータである。このネットワーク装置４０は、前記したルータとしての機能のほか、ファイアウォール、ロードバランサ、パケットシェイパーの機能を備えていてもよい。また、このネットワーク装置４０は、ＶＭが収容される物理サーバとは別個の装置であってもよいし、当該物理サーバにより仮想的に実現される装置であってもよいし、また、専用の物理装置であってもよい。
【００１７】
ＶＭは、例えばＷｅｂサーバやＤＢサーバ等を実行する仮想的な装置であり、端末３０との間でデータ通信を行い、各種サービスを提供する。なお、各ＶＭは、動作する拠点が異なっていても、同一セグメントで動作するものとする。また、各ＶＭはクラウドコントローラ２０からの指示に基づき、データセンタを跨いだマイグレーションが行われる。例えば、ＶＭは、クラウドコントローラ２０からの指示により、データセンタ２Ａからデータセンタ２Ｂへのマイグレーションが行われる。本実施形態において、ＶＭのマイグレーションはライブマイグレーション（ＶＭを稼働させた状態で、丸ごと別の物理サーバに移動させること）を想定している。
【００１８】
クラウドコントローラ２０は、ＶＭの制御を行う装置である。ここでのＶＭの制御はＶＭを制御するＨＶに対して行われる。このクラウドコントローラ２０は、例えば、ＶＭを収容する物理サーバに対しマイグレーションを指示する。そして、クラウドコントローラ２０は、マイグレーションの指示を行うと、マイグレーションを開始した旨をネットワーク装置１０に通知する。
【００１９】
ネットワーク制御装置１０は、ネットワーク装置４０に対するトラヒック制限を指示する。具体的には、ネットワーク制御装置１０は、ライブマイグレーションの対象となるＶＭの通信量を、当該ＶＭの通信経路のネットワーク装置４０から取得する。ネットワーク制御装置１０は、ＶＭの通信経路にあるネットワーク装置４０を監視し、ＶＭの通信量（例えば、ｈｔｔｐ等のアプリケーションのリクエスト数、ＴＣＰセッション数、ｐｐｓ（ｐａｃｋｅｔ／ｓｅｃ）、ｂｐｓ（ｂｉｔ／ｓｅｃ）等）を取得する。
【００２０】
そして、ネットワーク制御装置１０は、取得されたＶＭの通信量が、所定の設定値を超えているか否かを判定する。例えば、ネットワーク制御装置１０は、ＶＭの通信量の判定処理として、ｈｔｔｐ等のアプリケーションのリクエスト数が「１０００ｈｔｔｐ／ｓｅｃ」を超えているか否かを判定する。なお、ｈｔｔｐ等のアプリケーションのリクエスト数以外に、ＴＣＰセッション数、ｐｐｓ、ｂｐｓ等をＶＭの通信量の判定処理に用いてもよい。
【００２１】
そして、ネットワーク制御装置１０は、ＶＭの通信量が、所定の設定値を超えていると判定された場合には、ネットワーク装置４０に対し、ＶＭへの通信を制限する旨を指示（図１では「トラヒック制限指示」と記載）する。例えば、ネットワーク制御装置１０は、ライブマイグレーションの対象となるＶＭを収容しているネットワーク装置４０（例えば、境界ルータ）に対して、当該ＶＭ宛ての通信量を、設定値と同じ「１０００ｈｔｔｐ／ｓｅｃ」以下となるように削減するように設定する。このような指示を受けたネットワーク装置４０は、例えば、通信中の通信量を減らしたり、新規ＴＣＰセッションの受付を停止する等を行う。その結果、当該ＶＭへの通信が制限されるので、当該ＶＭの負荷の軽減がされる。なお、本実施形態では、通信システムは、ネットワーク制御装置１０とクラウドコントローラ２０とを有する場合を説明したが、これに限定されるものではなく、ネットワーク制御装置１０が有する機能をクラウドコントローラ２０に適用し、ネットワーク制御装置１０を設けないようにしてもよい。
【００２２】
このようにすることで、ＶＭのライブマイグレーション中に、当該ＶＭへのアクセス集中等により高負荷な状態になっている場合であっても、当該ＶＭの負荷が軽減される。その結果、当該ＶＭのマイグレーションに要する時間を短縮することができる。
【００２３】
図３は、ＶＭを動作させる物理サーバの階層構造を示す図である。なお、ここでは、一例として１台の物理サーバでＶＭを動作させる例を説明する。データセンタ２Ａでは、物理サーバ６が動作し、データセンタ２Ｂでは、物理サーバ１６が動作する。各物理サーバは、一般的なサーバ装置であり、プロセッサ、メモリ等のハードウェアを有する。
【００２４】
データセンタ２Ａの物理サーバ６は、ハードウェア６ａ上で仮想化ソフトウェア６ｂを動作させて、仮想環境を提供する。仮想化ソフトウェア６ｂは、仮想スイッチ６ｃを動作させる。また同様に、データセンタ２Ｂの物理サーバ１６は、ハードウェア１６ａ上で仮想化ソフトウェア１６ｂを動作させて、仮想環境を提供する。また、仮想化ソフトウェア１６ｂは、仮想スイッチ１６ｃを動作させて、図２に例示した仮想Ｌ２ネットワーク２１を構築する。すなわち、異なるデータセンタ間を仮想Ｌ２ネットワーク２１で通信可能に接続する。
【００２５】
そして、各物理サーバの各仮想化ソフトウェアは、仮想Ｌ２ネットワーク２１を利用可能な状態でＶＭを動作させる。具体的には、仮想化ソフトウェア６ｂは、物理サーバ６の物理リソースを用いてＶＭ（Ａ）とＶＭ（Ｂ）とを動作させ、仮想スイッチ６ｃを経由して、各ＶＭを仮想Ｌ２ネットワーク２１に接続する。同様に、仮想化ソフトウェア１６ｂは、物理サーバ１６の物理リソースを用いてＶＭ（Ｃ）とＶＭ（Ｄ）とを動作させ、仮想スイッチ１６ｃを経由して、各ＶＭを仮想Ｌ２ネットワーク２１に接続する。
【００２６】
次に、図４を用いて、ネットワーク制御装置１０を詳細に説明する。ネットワーク制御装置１０は、入出力部１１と、記憶部１２と、制御部１３とを備える。
【００２７】
入出力部１１は、外部装置との各種情報の入出力を司る入出力インタフェースである。この入出力部１１は、例えば、ネットワーク装置４０からＶＭの通信量に関する情報を取得したり、ネットワーク装置４０へのトラヒック制限の指示を出力したりする。この入出力部１１は、外部装置との入出力インタフェースのほか、ネットワーク経由で通信可能な通信インタフェースを備えていてもよい。
【００２８】
記憶部１２は、ＶＭ情報と、ネットワーク装置情報と、設定値情報とを記憶する。
【００２９】
ＶＭ情報は、通信システム内のＶＭに関する情報であり、例えば、図５に示すように、ＶＭの識別情報ごとに当該ＶＭの属する拠点等を示した情報である。図５の例を挙げて具体的に説明すると、例えば、ＶＭ情報として、ＶＭの識別情報「ＶＭ１」と該ＶＭが属する拠点を示す情報「拠点Ａ」とが対応付けられて記憶部１２に記憶される。
【００３０】
ネットワーク装置情報は、通信システム内のネットワーク装置４０に関する情報であり、例えば、図６に示すように、ネットワーク装置４０の識別情報ごとに、当該ネットワーク装置４０の属する拠点を示した情報である。このネットワーク装置情報は、図６に示すように、各ネットワーク装置４０が収容するＶＭの通信量の値を含んでいてもよい。例えば、図６の例では、ネットワーク装置情報として、ネットワーク装置の識別情報「４０Ａ」と、該ネットワーク装置の属する拠点を示す情報「Ａ」と、該ネットワーク装置が収容するＶＭの通信量として「８００ｈｔｔｐ」とが対応付けられて記憶部１２に記憶される。なお、図６の例では、ネットワーク装置が収容するＶＭが一つであるものとして、簡略化されて記載されている。
【００３１】
設定値情報は、判定部１３２（後記）がネットワーク装置４０に対しトラヒック制限を行うか否かを判定するための情報である。この設定値情報は、例えば、ユーザにより設定可能な情報である。例えば、図７に示すように、ユーザ応答を優先するかライブマイグレーションを優先するかを示す優先度に対応付けて、ネットワーク装置４０に対しトラヒック制限を行うか否かを判定するための閾値である設定値が記憶されている。なお、ここで優先度は、値が低いほどユーザ応答を優先し、値が高いほどライブマイグレーションを優先しているものとする。
【００３２】
図７の例を挙げて説明すると、例えば、設定値情報として、優先度「１」と、設定値「４０００ｈｔｔｐ／ｓｅｃ」とが対応付けられて記憶部１２に記憶されている。また、例えば、設定値情報として、優先度「５」と、設定値「０ｈｔｔｐ／ｓｅｃ」とが対応付けられて記憶部１２に記憶されている。このように、優先度の値が低い場合には、ユーザ応答を優先しているため、閾値である設定の通信量が多く設定されている。また、優先度の値が低い場合には、ユーザ応答を優先しているため、閾値である設定の通信量が低く設定されている。
【００３３】
つまり、上記の優先度「１」の例では、ＶＭの通信量が「４０００ｈｔｔｐ／ｓｅｃ」を超えた場合に、ネットワーク装置１０が、ＶＭを収容するネットワーク装置４０の通信量を「４０００ｈｔｔｐ／ｓｅｃ」以下に削減するように、ネットワーク装置４０に対してトラヒック制限を指示することを意味する。また、上記の優先度「５」の例では、ネットワーク制御装置１０が、ＶＭを収容するネットワーク装置４０に対する全ての通信を遮断するように、ネットワーク装置４０に対してトラヒック制限を指示することを意味する。
【００３４】
制御部１３は、ネットワーク制御装置１０全体の制御を司る。この制御部１３は、受付部１３０と、取得部１３１と、判定部１３２と、装置制御部１３３とを備える。
【００３５】
受付部１３０は、入出力部１１経由で、設定値の指定を受け付ける。具体的には、受付部１３０は、ユーザ応答を優先するのか、マイグレーションを優先するのかをＶＭごとに段階的に設定値を指定できる画面を表示し、段階的な設定値の指定をユーザの操作により受け付ける。
【００３６】
ここで、図８を用いて、ユーザ応答を優先するのか、マイグレーションを優先するのかを段階的に指定できる画面の例について説明する。図８に示すように、設定値を５段階で指定できるバーが表示されており、ユーザがマウスを操作する等により、バー上に表示される円形のポインタを左右にスライドすることで、ユーザ応答を優先した設定値もしくは、マイグレーションを優先した設定値を指定することができる。図８の例では、円形のポインタを左にスライドさせるほど、ユーザ応答を優先した設定値が設定され、円形のポインタを右にスライドさせるほど、マイグレーションを優先した設定値が設定される。
【００３７】
例えば、図８の（１）に示す画面例では、円形のポインタを左にスライドさせており、ユーザ応答を優先した設定値が指定されているものとする。また、図８の（２）に示す画面例では、円形のポインタを右にスライドさせており、マイグレーションを優先した設定値が指定されているものとする。
【００３８】
また、図８の例では、ユーザがマウスを操作する等により、画面の下部に表示された決定ボタンが押下されると、指定された設定値が適用される。ここで、図８に例示する画面例では、設定値を５段階で指定できるようにしており、図７に例示した設定値情報と対応している。つまり、例えば、円形のポインタを一番左にスライドさせた状態で決定ボタンが押下されると、優先度「１」に対応する設定値「４０００ｈｔｔｐ／ｓｅｃ」が適用される。また、例えば、円形のポインタを一番右にスライドさせた状態で決定ボタンが押下されると、優先度「５」に対応する設定値「０ｈｔｔｐ／ｓｅｃ」が適用される。
【００３９】
取得部１３１は、入出力部１１経由で、ライブマイグレーションの対象となるＶＭの通信量を当該ＶＭの通信経路のネットワーク装置４０から取得する。この通信量は、例えば、ｈｔｔｐ等のアプリケーションのリクエスト数、ＴＣＰセッション数、ｐｐｓ、ｂｐｓ等である。
【００４０】
具体的には、取得部１３１は、ＶＭのマイグレーションが開始した後に、ＶＭの通信経路のネットワーク装置４０からＶＭの通信量に関する情報として、ｈｔｔｐ等のアプリケーションのリクエスト数、ＴＣＰセッション数、ｐｐｓ、ｂｐｓ等を取得する。
【００４１】
判定部１３２は、取得部１３１によって取得された通信量が、所定の設定値を超えているか否かを判定する。具体的には、判定部１３２は、取得部１３１によって取得された通信量が、受付部１３０によって受け付けられた設定値を超えているか否かを判定する。例えば、判定部１３２は、設定値として「４０００ｈｔｔｐ／ｓｅｃ」が指定された場合には、ＶＭに対するｈｔｔｐ等のリクエスト数が１秒間あたり「４０００」を超えているか否かを判定する。
【００４２】
装置制御部１３３は、判定部１３２によってＶＭ通信量が、設定値を超えていると判定された場合には、ネットワーク装置４０に対し、ＶＭへの通信を制限する旨を指示する。例えば、装置制御部１３３は、ＶＭの通信量が指定値「４０００ｈｔｔｐ／ｓｅｃ」を超えた場合に、ネットワーク装置１０が、ＶＭを収容するネットワーク装置４０の通信量を「４０００ｈｔｔｐ／ｓｅｃ」以下に削減するように、ネットワーク装置４０に対してトラヒック制限を指示する。なお、通信量をどの程度削減するかについては、指定値と同じでなくともよい。
【００４３】
また、例えば、判定部１３２によってＶＭの通信量が、設定値を超えていると判定された場合には、ネットワーク装置４０に対し、ＶＭに対する通信のうち、通信中の通信パケットを制限する旨を指示してもよいし、ＶＭに対する新規ＴＣＰセッションの受付を中止する旨を指示してもよい。つまり、通信中の通信パケットを制限することで、ＶＭの通信量を抑制するとともに、メモリ内容の変化を抑えてマイグレーション先にメモリ内容の変化を送る頻度を減らすことが可能である。また、新規ＴＣＰセッションの受付を中止することで、ＶＭの通信量が新たなＴＣＰセッションにより増加することを抑制することが可能である。
【００４４】
また、装置制御部１３３は、ネットワーク装置４０に対してＶＭへの通信を制限する旨を指示してから所定の設定時間（例えば、５分）が経過した場合であって、且つ、ライブマイグレーションが完了していない場合には、ＶＭへの通信を全て遮断する旨をネットワーク装置４０に指示する。これにより、確実にマイグレーションを完了させることが可能である。
【００４５】
また、装置制御部１３３は、ＶＭのマイグレーションの完了後、トラヒック制限を解除する。具体的には、装置制御部１３３は、ネットワーク装置４０から当該ＶＭのマイグレーションが完了した旨の情報を取得すると、当該ＶＭの通信経路のネットワーク装置４０に対し、トラヒック制限を解除するよう指示する。
【００４６】
ここで、ＤＤｏＳ攻撃を受けている際にライブマイグレーションを行う場合を例に、ネットワーク装置４０Ａに対するネットワーク制御処理の一連の流れについて説明する。図９は、ＤＤｏＳ攻撃を受けている際の、ネットワーク制御処理の一連の流れを説明する図である。
【００４７】
図９に示すように、ＤＤｏｓ（Distributed  Denial  of  Service）攻撃を受けている場合、同一ネットワーク内に存在するＶＭへのネットワーク帯域が使えない等の影響がでるため、仮想マシンを退避用のデータセンタ２Ｂにマイグレーションさせることで、他のＶＭへの影響を防ぐ手段が考えられる。このとき、攻撃を受けているＶＭをマイグレーションさせようとしても、攻撃のトラヒックを受け続けているため、ライブマイグレーションの完了に長時間を要する場合や、ライブマイグレーションが完了しない場合がある。そこで、ネットワーク制御装置１０が以下に説明するネットワーク処理を行うことで、ＶＭのライブマイグレーションの時間を短縮することができる。
【００４８】
まず、ネットワーク制御装置１０が、ＶＭのライブマイグレーションが実施されると、データセンタ内に存在するデータセンタ２Ａと外部の境界ルータ等であるネットワーク装置４０Ａから、当該ＶＭの通信量を定期的に取得する（図９の（１）参照）。
【００４９】
そして、クラウドコントローラ２０が、ライブマイグレーションをＶＭに指示し（図９の（２）参照）、マイグレーションを開始した旨をネットワーク制御装置１０に通知する。続いて、ネットワーク制御装置１０は、クラウドコントローラ２０からマイグレーションを開始した旨の通知を受け付けると（図９の（３）参照）、ＶＭの通信量が設定値を超えているか判定し、ＶＭの通信量が設定値を超えている場合には、ネットワーク装置４０Ａに対し、トラヒック制限を指示する（図９の（４）参照）。
【００５０】
具体的には、ライブマイグレーションの実施に伴い、ネットワーク制御装置１０は、当該ＶＭを収容しているネットワーク装置４０Ａと連携して、当該ＶＭ宛てのトラヒック量（Ｌ４パケット、ｐｐｓ、ｂｐｓ等）を削減することで、マイグレーション時間の短縮やマイグレーションを完了可能な状態にする。なお、ルータ等がトラヒック削減できない場合、パケットシェイパーを導入し、これを用いてトラヒック量の制限を行うようにしてもよい。なお、マイグレーション完了後、クラウドコントローラ２０は、経路を移動先のデータセンタ２Ｂのネットワーク装置４０Ｂに切替える。また、ネットワーク制御装置１０は、ネットワーク装置４０Ａに対するトラヒック制限を解除する。
【００５１】
（処理手順）
次に、図１０を用いて、ネットワーク制御装置１０の処理手順を説明する。なお、以下の処理は、例えば、ＶＭのマイグレーション開始後、クラウドコントローラ２０からネットワーク制御装置１０へ処理の開始指示が送信されたことを契機に実行される。
【００５２】
まず、ネットワーク制御装置１０の取得部１３１は、ネットワーク装置４０からＶＭの通信量を取得する（Ｓ１）。次に、ネットワーク制御装置１０の判定部１３２は、取得部１３１によって取得された通信量が、所定の設定値を超えているか否かを判定する（Ｓ２）。例えば、判定部１３２は、設定値として「４０００ｈｔｔｐ／ｓｅｃ」が設定されている場合には、ＶＭに対するｈｔｔｐ等のリクエスト数が１秒間あたり「４０００」を超えているか否かを判定する。
【００５３】
この結果、通信量が、所定の設定値を超えていないと判断したとき（Ｓ２でＮｏ）、トラヒック制限は行わずに処理を終了する。また、通信量が、所定の設定値を超えていると判断したとき（Ｓ２でＹｅｓ）、ネットワーク制御装置１０の装置制御部１３３は、ネットワーク装置４０に対し、ＶＭへの通信を制限する旨を指示する（Ｓ３）。例えば、装置制御部１３３は、ネットワーク装置４０に対し、ＶＭに対する通信のうち、通信中の通信パケットを制限する旨を指示してもよいし、ＶＭに対する新規ＴＣＰセッションの受付を中止する旨を指示してもよい。
【００５４】
そして、装置制御部１３３が、当該ＶＭのマイグレーションが完了したか否かを判定する（Ｓ４）。この結果、装置制御部１３３が、当該ＶＭのマイグレーションが完了したと判断したとき（Ｓ４でＹｅｓ）、ネットワーク装置４０に対するトラヒック制限を解除する（Ｓ５）。
【００５５】
また、装置制御部１３３が、Ｓ４において、当該ＶＭのマイグレーションがまだ完了していないと判断したときは（Ｓ４でＮｏ）、所定の設定時間（例えば、５分）が経過したか否かを判定する（Ｓ６）。この結果、所定の設定時間（例えば、５分）が経過していないと判断したときは（Ｓ６でＮｏ）、Ｓ２へ戻る。
【００５６】
また、所定の設定時間（例えば、５分）が経過したと判断したときは（Ｓ６でＹｅｓ）、ＶＭへの通信を全て遮断する旨をネットワーク装置４０に指示する（Ｓ７）。そして、装置制御部１３３が、当該ＶＭのマイグレーションが完了したか否かを判定する（Ｓ８）。この結果、装置制御部１３３が、当該ＶＭのマイグレーションが完了したと判断したとき（Ｓ８でＹｅｓ）、ネットワーク装置４０に対するトラヒック制限を解除し（Ｓ５）、処理を終了する。
【００５７】
このように、ネットワーク制御装置１０は、ライブマイグレーションの対象となるＶＭの通信量を当該ＶＭの通信経路のネットワーク装置４０から取得し、取得された通信量が、所定の設定値を超えているか否かを判定する。この結果、ネットワーク制御装置１０は、通信量が、所定の設定値を超えていると判定された場合には、ネットワーク装置４０に対し、ＶＭへの通信を制限する旨を指示する。このため、ＶＭのライブマイグレーション時に、当該ＶＭが高負荷な状態になっている場合であっても、負荷の軽減がされるので、当該ＶＭのマイグレーションに要する時間を短縮することができる。また、ネットワーク制御装置１０は、マイグレーションの開始前およびマイグレーションの完了後はトラヒック制限を行わないので、ＶＭの性能を最大限利用することが可能である。
【００５８】
例えば、ネットワーク制御装置１０では、ロードバランサを介在しないＶＭが、頻繁に通信を行っている場合にマイグレーション時間が長くなる問題や、マイグレーションが完了しない問題を解決することができる。また、例えば、ＤＤｏＳ攻撃を受けているＶＭを他拠点に移動させ、攻撃を受けていないＶＭを守る際に、トラヒック量が原因で退避できない状況の回避に有効である。
【００５９】
（システム構成等）
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、判定部１３２と装置制御部１３３を統合してもよい。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００６０】
また、本実施形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００６１】
（プログラム）
また、上記実施形態に係るネットワーク制御装置１０が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。この場合、コンピュータがプログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかるプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。以下に、ネットワーク制御装置１０と同様の機能を実現するネットワーク制御プログラムを実行するコンピュータの一例を説明する。
【００６２】
図１１は、ネットワーク制御プログラムを実行するコンピュータを示す図である。図１１に示すように、コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有する。これらの各部は、バス１０８０によって接続される。
【００６３】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１およびＲＡＭ（Random  Access  Memory）１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。ディスクドライブ１１００には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース１０５０には、例えば、マウス１１１０およびキーボード１１２０が接続される。ビデオアダプタ１０６０には、例えば、ディスプレイ１１３０が接続される。
【００６４】
ここで、図１１に示すように、ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３およびプログラムデータ１０９４を記憶する。上記実施形態で説明した各テーブルは、例えばハードディスクドライブ１０９０やメモリ１０１０に記憶される。
【００６５】
また、ネットワーク制御プログラムは、例えば、コンピュータ１０００によって実行される指令が記述されたプログラムモジュールとして、ハードディスクドライブ１０９０に記憶される。具体的には、上記実施形態で説明したネットワーク制御装置１０が実行する各処理が記述されたプログラムモジュールが、ハードディスクドライブ１０９０に記憶される。
【００６６】
また、ネットワーク制御プログラムによる情報処理に用いられるデータは、プログラムデータとして、例えば、ハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、ハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して、上述した各手順を実行する。
【００６７】
なお、ネットワーク制御プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、ネットワーク制御プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ＬＡＮ（Local  Area  Network）やＷＡＮ（Wide  Area  Network）等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【００６８】
２      データセンタ
１０    ネットワーク制御装置
１１    入出力部
１２    記憶部
１３    制御部
２０    クラウドコントローラ
２１    仮想Ｌ２ネットワーク
３０    端末
４０    ネットワーク装置
１３０  受付部
１３１  取得部
１３２  判定部
１３３  装置制御部
【図１】
2015156585.tif 000003
【図２】
2015156585.tif 000004
【図３】
2015156585.tif 000005
【図４】
2015156585.tif 000006
【図５】
2015156585.tif 000007
【図６】
2015156585.tif 000008
【図７】
2015156585.tif 000009
【図８】
2015156585.tif 000010
【図９】
2015156585.tif 000011
【図１０】
2015156585.tif 000012
【図１１】
2015156585.tif 000013