(57)【要約】【課題】仮想化環境においてネットワークリソースを自動的に管理することができるネットワークリソース管理システムを提供する【解決手段】複数の物理サーバで仮想マシンが動作する仮想化環境において仮想マシン間の通信量を測定する通信量測定手段10と、通信量測定手段10が測定した通信量に基づいて、所定の仮想マシンを動作させる物理サーバを異なる物理サーバに変更した場合のネットワーク使用率の期待値を算出する期待値算出手段12と、期待値算出手段12が算出した期待値に基づいて、仮想マシンを動作させる物理サーバの変更が妥当か否かを判定する妥当性判定手段13と、妥当性判定手段13の判定結果に基づいて、仮想マシンを動作させる物理サーバを変更する変更手段16とを含む。【選択図】図１０
2011180889.tif 000002
【特許請求の範囲】
【請求項１】
複数の物理サーバで仮想マシンが動作する仮想化環境において前記仮想マシン間の通信量を測定する通信量測定手段と、
前記通信量測定手段が測定した通信量に基づいて、所定の仮想マシンを動作させる物理サーバを異なる物理サーバに変更した場合のネットワーク使用率の期待値を算出する期待値算出手段と、
前記期待値算出手段が算出した期待値に基づいて、前記仮想マシンを動作させる物理サーバの変更が妥当か否かを判定する妥当性判定手段と、
前記妥当性判定手段の判定結果に基づいて、前記仮想マシンを動作させる物理サーバを変更する変更手段とを
含むことを特徴とするネットワークリソース管理システム。
【請求項２】
所定の仮想マシンを動作させる物理サーバを、現在動作させている物理サーバから異なる物理サーバに変更する際に必要なリソースを移動コストとして算出する移動コスト算出手段を含み、
妥当性判定手段は、前記移動コスト算出手段が算出した移動コストが予め定められた閾値を超える場合には、前記仮想マシンを動作させる物理サーバの変更が妥当でないと判定する
請求項１記載のネットワークリソース管理システム。
【請求項３】
期待値算出手段は、互いに異なる物理サーバで動作している仮想マシン間の通信のうち、最も通信量の大きい仮想マシンの組み合わせを特定し、特定した前記仮想マシンを同一の物理サーバで動作させるように、前記仮想マシンを動作させる物理サーバを変更した場合のネットワーク使用率の期待値を算出し、
妥当性判定手段は、前記期待値算出手段が算出したネットワーク使用率の期待値が最も低くなる場合に前記仮想マシンを動作させる物理サーバの変更が妥当であると判定する
請求項１又は請求項２記載のネットワークリソース管理システム。
【請求項４】
所定の仮想マシンを動作させる物理サーバを、現在動作させている物理サーバから異なる物理サーバに変更すると、前記異なる物理サーバのリソースが枯渇するか否かを判定するリソース判定手段を含み、
変更手段は、前記リソース判定手段の判定結果に基づいて、前記仮想マシンを動作させる物理サーバを前記異なる物理サーバに変更する
請求項１から請求項３のうちのいずれか１項に記載のネットワークリソース管理システム。
【請求項５】
リソース判定手段は、所定の仮想マシンを動作させる物理サーバを現在動作させている第１の物理サーバから第２の物理サーバに変更すると前記第２の物理サーバのリソースが枯渇する場合に、前記所定の仮想マシンと前記第２の物理サーバで動作する他の仮想マシンとを交換することで前記リソースの枯渇を回避できるか否かを判定し、
変更手段は、前記リソース判定手段の判定結果に基づいて、前記所定の仮想マシンを動作させる物理サーバを前記第２の物理サーバに変更するとともに、前記他の仮想マシンを動作させる物理サーバを前記第１の物理サーバに変更する
請求項４記載のネットワークリソース管理システム。
【請求項６】
複数の物理サーバで仮想マシンが動作する仮想化環境において前記仮想マシン間の通信量を測定する通信量測定手段と、
前記通信量測定手段が測定した通信量に基づいて、所定の仮想マシンを動作させる物理サーバを異なる物理サーバに変更した場合のネットワーク使用率の期待値を算出する期待値算出手段と、
前記期待値算出手段が算出した期待値に基づいて、前記仮想マシンを動作させる物理サーバの変更が妥当か否かを判定する妥当性判定手段と、
前記妥当性判定手段の判定結果に基づいて、前記仮想マシンを動作させる物理サーバを変更する変更手段とを
備えたことを特徴とするネットワークリソース管理装置。
【請求項７】
所定の仮想マシンを動作させる物理サーバを、現在動作させている物理サーバから異なる物理サーバに変更する際に必要なリソースを移動コストとして算出する移動コスト算出手段を備え、
妥当性判定手段は、前記移動コスト算出手段が算出した移動コストが予め定められた閾値を超える場合には、前記仮想マシンを動作させる物理サーバの変更が妥当でないと判定する
請求項６記載のネットワークリソース管理装置。
【請求項８】
複数の物理サーバで仮想マシンが動作する仮想化環境において前記仮想マシン間の通信量を測定し、
測定した通信量に基づいて所定の仮想マシンを動作させる物理サーバを異なる物理サーバに変更した場合のネットワーク使用率の期待値を算出し、
算出した期待値に基づいて前記仮想マシンを動作させる物理サーバの変更が妥当か否かを判定し、
判定結果に基づいて前記仮想マシンを動作させる物理サーバを変更する
ことを特徴とするネットワークリソース管理方法。
【請求項９】
所定の仮想マシンを動作させる物理サーバを、現在動作させている物理サーバから異なる物理サーバに変更する際に必要なリソースを移動コストとして算出し、
算出した移動コストが予め定められた閾値を超える場合には、前記仮想マシンを動作させる物理サーバの変更が妥当でないと判定する
請求項８記載のネットワークリソース管理方法。
【請求項１０】
コンピュータに、
複数の物理サーバで仮想マシンが動作する仮想化環境において前記仮想マシン間の通信量を測定する通信量測定処理と、
測定した通信量に基づいて所定の仮想マシンを動作させる物理サーバを異なる物理サーバに変更した場合のネットワーク使用率の期待値を算出する期待値算出処理と、
算出した期待値に基づいて前記仮想マシンを動作させる物理サーバの変更が妥当か否かを判定する妥当性判定処理と、
判定結果に基づいて前記仮想マシンを動作させる物理サーバを変更する変更処理とを
実行させるためのネットワークリソース管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想化環境における物理ネットワークリソースを管理するネットワークリソース管理システム、ネットワークリソース管理装置、ネットワークリソース管理方法及びネットワークリソース管理プログラムに関する。
【背景技術】
【０００２】
年々ハードウェアのスペックが向上しているため、これまで複数台のサーバや、パーソナルコンピュータで運用していた環境を、１台のサーバに集約して運用することが容易になってきている。このため、オフィス内では、シンクライアント化や複数台のサーバを物理サーバに集約する仮想化が進展している。
【０００３】
通常１台のサーバに複数台の仮想的なコンピュータ環境（仮想マシン（VM: Virtual Machine））を構築して運用を行う場合には、CPUやメモリ、ネットワーク、ディスクIO等といったリソースが枯渇しないように設計が行われる。しかし、瞬間的な負荷の増大や、ハードウェアの故障により集約率が高まった場合等には、想定外のケースが発生する可能性がある。
【０００４】
このような場合には、例えば、ある物理サーバ上で動作しているVMを他の物理サーバ上に移動するマイグレーション作業を行うことで負荷の分散を図ることができる。また、例えば、特許文献１には、マイグレーション作業を支援するシステムが記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２９９７９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
VMを構築して運用する場面を想定する。ここでは、VMを管理して提供するソフトウェア（VMM:Virtual Machine Monitor）上で、複数のVMが動作し、異なるサーバ上で動作するVMM間は物理的なネットワーク（以下、物理ネットワークという）で接続されているものとする。
【０００７】
例えば、あるサーバのVMM-A上で動作するVM-1から、異なるサーバのVMM-B上で動作するVM-2にデータを送信する場合には、VM-1→VMM-A→VMM-B→VM-2という経路でデータを送信する。このとき、VM-1とVMM-Aとの間の通信およびVMM-BとVM-2との間の通信を行う場合には、VMMによって実現される仮想的なネットワーク（以下、仮想ネットワークという）で接続されている区間の通信であるため、VMM-AまたはVMM-Bのみで処理を実行することになり、実際の物理ネットワークを使用しない。
【０００８】
これに対して、VMM-AとVMM-Bとの間の通信では、物理ネットワークを介して通信を行うことになる。物理ネットワークは、仮想ネットワークと比較して、性能（例えば、通信速度等）の限界が低い。そのため、複数のVMが同時に他のVMM上で動作する複数のVMと通信を行った場合等には、通信量が物理ネットワークの通信容量の限界に達し、通信に遅延が発生する可能性がある。
【０００９】
このような場合に、特許文献１に記載されたシステムを用いてVMのマイグレーション作業を行えば、物理ネットワークを介さないで通信しているVM群が、異なる他のサーバに分散することを防止することができる。
【００１０】
しかし、特許文献１に記載された方法では、管理者等が手動でマイグレーション作業を行う際にVM間の依存度を提示するに過ぎず、仮想化環境のネットワークリソースの管理を自動的に行うことはできない。
【００１１】
そこで、本発明は、仮想化環境においてネットワークリソースを自動的に管理することができるネットワークリソース管理システム、ネットワークリソース管理装置、ネットワークリソース管理方法及びネットワークリソース管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明によるネットワークリソース管理システムは、複数の物理サーバで仮想マシンが動作する仮想化環境において仮想マシン間の通信量を測定する通信量測定手段と、通信量測定手段が測定した通信量に基づいて、所定の仮想マシンを動作させる物理サーバを異なる物理サーバに変更した場合のネットワーク使用率の期待値を算出する期待値算出手段と、期待値算出手段が算出した期待値に基づいて、仮想マシンを動作させる物理サーバの変更が妥当か否かを判定する妥当性判定手段と、妥当性判定手段の判定結果に基づいて、仮想マシンを動作させる物理サーバを変更する変更手段とを含むことを特徴とする。
【００１３】
本発明によるネットワークリソース管理装置は、複数の物理サーバで仮想マシンが動作する仮想化環境において仮想マシン間の通信量を測定する通信量測定手段と、通信量測定手段が測定した通信量に基づいて、所定の仮想マシンを動作させる物理サーバを異なる物理サーバに変更した場合のネットワーク使用率の期待値を算出する期待値算出手段と、期待値算出手段が算出した期待値に基づいて、仮想マシンを動作させる物理サーバの変更が妥当か否かを判定する妥当性判定手段と、妥当性判定手段の判定結果に基づいて、仮想マシンを動作させる物理サーバを変更する変更手段とを備えたことを特徴とする。
【００１４】
本発明によるネットワークリソース管理方法は、複数の物理サーバで仮想マシンが動作する仮想化環境において仮想マシン間の通信量を測定し、測定した通信量に基づいて所定の仮想マシンを動作させる物理サーバを異なる物理サーバに変更した場合のネットワーク使用率の期待値を算出し、算出した期待値に基づいて仮想マシンを動作させる物理サーバの変更が妥当か否かを判定し、判定結果に基づいて仮想マシンを動作させる物理サーバを変更することを特徴とする。
【００１５】
本発明によるネットワークリソース管理プログラムは、コンピュータに、複数の物理サーバで仮想マシンが動作する仮想化環境において仮想マシン間の通信量を測定する通信量測定処理と、測定した通信量に基づいて所定の仮想マシンを動作させる物理サーバを異なる物理サーバに変更した場合のネットワーク使用率の期待値を算出する期待値算出処理と、算出した期待値に基づいて仮想マシンを動作させる物理サーバの変更が妥当か否かを判定する妥当性判定処理と、判定結果に基づいて仮想マシンを動作させる物理サーバを変更する変更処理とを実行させることを特徴とする。
【発明の効果】
【００１６】
本発明によれば、仮想化環境においてネットワークリソースを自動的に管理することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明によるネットワークリソース管理システムの構成の一例を示すブロック図である。
【図２】各サーバのVMM上のエージェントと、監視サーバ130上のマネージャ133との通信の状況を示す説明図である。
【図３】ネットワークリソース管理システムの機能構成の一例を示す機能ブロック図である。
【図４】VM間の通信の一例を示す説明図である。
【図５】通信が行われている状態の一例を示す説明図である。
【図６】ホットマイグレーション後の状態の一例を示す説明図である。
【図７】ホットマイグレーション後の状態の一例を示す説明図である。
【図８】ネットワークリソース管理システムが実行する処理例を示す流れ図である。
【図９】通信情報の一例を示す説明図である。
【図１０】ネットワークリソース管理システムの最小の構成例を示すブロック図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施形態について図面を参照して説明する。図１は、本発明によるネットワークリソース管理システムの構成の一例を示すブロック図である。図１に示すように、ネットワークリソース管理システムは、サーバ100、サーバ110、サーバ120、監視サーバ130、ストレージ140、FC（Fibre Channel）スイッチ150及びネットワークスイッチ160を含む。
【００１９】
サーバ100は、具体的には、プログラムに従って動作するパーソナルコンピュータ等の情報処理装置によって実現され、NIC（Network Interface Card）101と、SAN（Storage Area Network）に接続するためのHBA（Host Bus Adapter）102とを搭載している。また、サーバ100では、VMM103が動作しており、さらにVMM103上では、VM104〜108が動作している。なお、VMは、具体的には、プログラムに従って動作するサーバ100のCPUやメモリ等によって実現される。
【００２０】
サーバ110及びサーバ120については、サーバ100と同様の構成であるため説明を省略する。なお、本実施形態では、VMMが動作しているサーバが3台設置されている例について説明するが、3台に限らず、2台以上設置されていればよい。
【００２１】
監視サーバ130は、具体的には、プログラムに従って動作するパーソナルコンピュータ等の情報処理装置によって実現され、NIC131を搭載している。また、監視サーバ130では、OS132が動作している。監視サーバ130は、ネットワークスイッチ160に接続されているネットワークを使用することにより、各VMを監視するための情報を収集する機能を備えている。
【００２２】
ストレージ140は、具体的には、光ディスク装置や磁気ディスク装置等の記憶装置によって実現される。
【００２３】
次に、監視サーバ130で動作するマネージャ133と、各サーバで動作するエージェントとについて図２を参照して説明する。図２は、各サーバのVMM上のエージェント（109、119及び129）と、監視サーバ130のマネージャ133との通信の状況を示す説明図である。
【００２４】
監視サーバ130のマネージャ133は、各サーバ（100、110及び120）のVMM上で動作しているエージェント（109、119及び129）と通信を行うことにより、各サーバのVMM上で動作しているVM（104、105、114、115、124及び125）の通信状況を管理する機能を備えている。例えば、エージェント109は、VM104及びVM105の通信先や通信量等を計測する。そして、マネージャ133は、所定期間ごとにエージェント109から計測した通信先や通信量等を示す情報を受信して記憶することで、各VMの通信状況を管理する。なお、マネージャ133は、具体的には、プログラムに従って動作する監視サーバ130のCPUによって実現される。また、各エージェントは、具体的には、VMMに従ってCPUが処理を実行することによって実現される。
【００２５】
次に、本実施形態におけるネットワークリソース管理システムの機能構成について図３を参照して説明する。図３は、ネットワークリソース管理システムの機能構成の一例を示す機能ブロック図である。図３に示すように、ネットワークリソース管理システムは、通信量測定手段10、移動コスト算出手段11、期待値算出手段12、妥当性判定手段13、リソース判定手段14及び移動手段15を含む。
【００２６】
通信量測定手段10は、具体的には、エージェント及びマネージャによって実現される。通信量測定手段10は、VM間の通信量を測定する機能を備えている。
【００２７】
移動コスト算出手段11は、具体的には、プログラムに従って動作する情報処理装置のCPUによって実現される。移動コスト算出手段11は、VMを移動する際に必要なリソース（例えば、CPUやメモリ、物理ネットワーク等）を移動コストとして算出する機能を備えている。
【００２８】
期待値算出手段12は、具体的には、プログラムに従って動作する情報処理装置のCPUによって実現される。期待値算出手段12は、VMを移動した場合の物理ネットワークの使用量の期待値を算出する機能を備えている。また、期待値算出手段12は、VMを移動した場合の物理ネットワーク使用率の期待値を算出する機能を備えている。例えば、期待値算出手段12は、異なるVMMで動作するVM間の通信のうち、最も通信量の大きいVMの組み合わせを特定し、特定したVMを同一のVMMで動作させるように、少なくともいずれか１つのVMを移動した場合の物理ネットワークの使用量の期待値を算出する。
【００２９】
妥当性判定手段13は、具体的には、プログラムに従って動作する情報処理装置のCPUによって実現される。妥当性判定手段13は、移動コスト算出手段11が算出した移動コストと、期待値算出手段12が算出した期待値とに基づいて、VMを移動することの妥当性を判定する機能を備えている。
【００３０】
リソース判定手段14は、具体的には、プログラムに従って動作する情報処理装置のCPUによって実現される。リソース判定手段14は、VMを移動することで移動先のVMMのリソース（例えば、CPUやメモリ等）が枯渇するか否かを判定する機能を備えている。また、リソース判定手段14は、互いに異なるVMM上で動作するVMを移動し合う（以下、VMを交換するという）ことで移動先及び移動元のVMMのリソースが枯渇することを回避できるか否かを判定する機能を備えている。なお、本実施形態においてリソースの枯渇とは、例えば、サーバが各処理を行う上で必要となるリソース量が不足する状態をいう。
【００３１】
移動手段15は、具体的には、プログラムに従って動作する情報処理装置のCPUによって実現される。移動手段15は、動作中のVMを停止させることなく、例えば、ホットマイグレーションと呼ばれる技術を用いて、他のVMMに移動する処理を実行する機能を備えている。なお、VMを移動させるとは、VMを動作させるVMMを、現在動作させているVMMから異なるVMMに変更することである。
【００３２】
次に、ネットワークリソース管理システムの動作について図４から図９を参照して説明する。
【００３３】
図４は、VM間の通信の一例を示す説明図である。図４に示す各サーバ間では、それぞれのNICからネットワークスイッチ160を経由して通信を行う。また、サーバ間では物理ネットワークを介して通信を行う。図４では、物理ネットワークを介する通信を実線で表現する。
【００３４】
図４に示すように、VMから送信されるデータは、必ず仮想スイッチを経由する。また、VMから外部にデータを送信する場合（すなわち、物理ネットワークを介して、他のVMM上で動作するVM等にデータを送信する場合）には、送信されるデータは、サーバに実装されているNICからネットワークスイッチ160に到達することになる。
【００３５】
同一のVMM上で動作するVM間の通信では、仮想スイッチしか経由しないため、物理ネットワークを使用することはない。図４では、物理ネットワーク以外の通信（すなわち、仮想ネットワークでの通信）を破線で表現する。
【００３６】
図５は、通信が行われている状態の一例を示す説明図である。図５に示す例では、VM-A205とVM-B214との間で大量のデータの通信が行われており、その通信経路を太線で表現している。
【００３７】
VM-A205とNIC201との間およびVM-B214とNIC211との間では、仮想ネットワークを使用した通信が行われている。これに対して、仮想スイッチA207と仮想スイッチB217との間では、実際の物理ネットワークを介した通信が行われている。
【００３８】
ここで、VM-A205とVM-B214との間での通信量が非常に多いため、NIC201又はNIC211を利用して通信を行う他の全てのVMの通信速度が低下することが予想される。これは、複数のVMが単一、又は少数のNICを経由して、仮想ネットワークに比べて通信速度の限界が低い物理ネットワークを利用するため、特定のVMが大量の帯域を使用した場合には、他のVMの通信を妨げてしまうからである。
【００３９】
本実施形態では、マネージャは、エージェントを用いて通信状況を監視し、特定のVM同士が長時間大量の帯域を使用しており、それ以降も定常的に大量の通信を行うことが予想できた時点で、それらのVMを同一VMM上で動作させるように制御する。
【００４０】
この際、集約先のVMMのリソース（例えば、CPUやメモリ、ディスクIO等）は十分に空いているものとする。なお、本実施形態では、マネージャは、ホットマイグレーションにより、VMを停止することなく移動することが可能である。
【００４１】
図６は、ホットマイグレーション後の状態を示す説明図である。図６に示す例は、図５に示す状態から、VM-A206とVM-B214とを入れ替えたものである。図６に示す状態では、VM-A205とVM-B214とが、大量の帯域を使用して通信しているが、それは仮想スイッチA内での通信である。したがって、VM-A205とVM-B214との間の通信は、物理ネットワーク(NIC201、NIC211及びNIC221とネットワークスイッチ160との間の通信)には影響を及ぼさない。
【００４２】
そのため、図５に示す状態から図６に示す状態に移行することで、物理ネットワーク全体の帯域の使用率低減が期待できる。また、仮想ネットワークのみを使用する場合には、他のVMの物理ネットワークを使用する通信の状況に関わらず通信を行えるため、VM-A205及びVM-B214のスループットを向上させることができる。なお、本実施形態では、VM-A205とVM-B214とを同一のVMM上で動作させるために、VM-A206とVM-B214とを入れ替えたが、これに限らず、図７に示すように、VM-A205又はVM-B214のいずれかを単純に移動するようにしてもよい。また、例えば、VM-A205とVM-B214とを、VMM-Cに移動して動作させるようにしてもよい。
【００４３】
図８は、ネットワークリソース管理システムが実行する処理例を示す流れ図である。ここでは、図４に示す仮想化環境でVMが動作しているものとする。また、図２に示すように、監視サーバ130のマネージャ133が、各VMの通信状況を管理しているものとする。
【００４４】
仮想化環境において、各エージェント（209、219及び229）は、継続的にVMM上で動作するVMの通信量や通信先を測定している。そして、マネージャ133は、各エージェントから、所定期間ごとに各VMの通信先や通信量を示す通信情報を受信する（ステップS1）。次いで、マネージャ133は、受信した通信情報に基づいて、物理ネットワークの使用量を算出する（ステップS2）。
【００４５】
図９は、通信情報の一例を示す説明図である。図９（ａ）〜（ｃ）に示す表において、太線で囲われている部分は、同一のVMM上で動作するVM間の通信である。すなわち、太線で囲われている部分は、物理ネットワークを介さない使用しない通信である。
【００４６】
マネージャ133は、通信情報（例えば、図９（ａ）に示す情報）を受信すると、物理ネットワークの使用量として、異なるVMM間の通信量を算出する。例えば、マネージャ133は、VMM-A203上で動作するVMとVMM-B213上で動作するVMとの間の各通信量の総和を算出することで、VMM-A203とVMM-B213との間の通信量を算出する。
【００４７】
図９（ａ）に示す例では、マネージャ133は、VMM-A203とVMM-B213との間の物理ネットワークの使用量を示す値を830と算出する。また、マネージャ133は、VMM-A203とVMM-C223との間の物理ネットワークの使用量を示す値を412と算出する。また、マネージャ133は、VMM-B213とVMM-C223との間の物理ネットワークの使用量を示す値を1108と算出する。そして、マネージャ133は、物理ネットワークの総使用量を示す値を2350と算出する。なお、上記のステップS1及びS2の処理については、エージェント及びマネージャによって実現される通信量測定手段10が実行するともいえる。
【００４８】
次いで、移動コスト算出手段11は、所定のVMを他のVMMに移動する場合に必要なリソース（例えば、CPUやメモリ等）を移動コストとして算出する。また、期待値算出手段12は、異なるVMMで動作するVM間の通信のうち、最も通信量の大きいVMの組み合わせを特定し、特定したVMを同一のサーバで動作させるように、少なくともいずれか１つのVMを移動した場合に低減される物理ネットワークの使用量の期待値を算出する（ステップS3）。なお、本実施形態では、期待値算出手段12がVMを移動した場合の物理ネットワークの使用量の期待値を算出する例について説明するが、物理ネットワーク使用率の期待値を算出するようにしてもよい。この場合、期待値算出手段12は、算出した物理ネットワークの使用量の期待値を物理ネットワークの通信容量で割った値を物理ネットワーク使用率の期待値として算出することができる。
【００４９】
移動コスト算出手段11は、例えば、物理ネットワークを介するVM間の通信のうち、最も通信量が大きい組み合わせを特定する。図９（ａ）に示す例では、移動コスト算出手段11は、VM-B216とVM-C225とを、物理ネットワークを介する通信量が最も大きい組み合わせとして特定する。
【００５０】
次いで、移動コスト算出手段11は、VM-C225をVM-B214又はVM-B215と交換する際の移動コストと、VM-B216をVM-C224又はVM-C226と交換する際の移動コストとを算出する。なお、ここではVMを交換する例について説明するが、移動コスト算出手段11は、単純にVM-C225をVMM-Bに移動する移動コストと、VM-B216をVMM-Cに移動する移動コストとを算出してもよい。
【００５１】
次いで、期待値算出手段12は、VM-C225をVM-B214もしくはVM-B215と交換した場合、またはVM-B216をVM-C224もしくはVM-C226と交換した場合に低減される物理ネットワークの使用量の期待値をそれぞれ算出する。
【００５２】
例えば、期待値算出手段12は、VM-B216とVM-C226とを交換した場合には、図９（ｂ）に示すように、VMM-A203とVMM-B213との間での物理ネットワークの使用量の期待値を788と算出する。また、期待値算出手段12は、VMM-A203とVMM-C223との間での物理ネットワークの使用量の期待値を454と算出する。また、期待値算出手段12は、VMM-B213とVMM-C223との間での物理ネットワークの使用量の期待値を405と算出する。そして、期待値算出手段12は、物理ネットワークの総使用量の期待値を1647と算出する。
【００５３】
次いで、妥当性判定手段13は、移動コスト算出手段11が算出した移動コストと、期待値算出手段12が算出した期待値とに基づいて、VMの移動を行うべきか否かを判定する（ステップS４）。
【００５４】
例えば、妥当性判定手段13は、移動コストが予め定められた閾値を超える場合には、VMの移動を行うべきではないと判断する。また、例えば、妥当性判定手段13は、移動コストが予め定められた閾値を超えず、かつ期待値算出手段12が算出した期待値が最も低いVMの移動又は交換を行うべきであると判定する。すなわち、妥当性判定手段13は、移動コストが予め定められた閾値を超えず、かつ物理ネットワークの使用量が最も少なくなる場合に、移動が妥当であると判定する。
【００５５】
ステップS4においてVMの移動を行うべきであると判定すると、リソース判定手段14は、VMを移動することで移動先のVMMのリソースが枯渇するか否かを判定する（ステップS5）。例えば、リソース判定手段14は、各エージェントからリソースを示すリソース情報を受信し、受信したリソース情報に基づいて、移動先のVMMのリソースが枯渇するか否かを判定する。
【００５６】
ステップS5において移動先のVMMのリソースが枯渇することがないと判定すると、移動手段15は、所定のVMを他のVMMに移動するホットマイグレーションを実行する（ステップS7）。
【００５７】
また、ステップS5において、移動先のVMMのリソースが枯渇すると判定した場合には、リソース判定手段14は、VMの交換によりリソースの枯渇を回避することができるか否かを判定する（ステップS6）。例えば、リソース判定手段14は、移動先のVMMのリソース情報と移動元のVMMのリソース情報とに基づいて、リソースの枯渇を回避することができるか否かを判定する。
【００５８】
ステップS6において、リソースの枯渇を避けることができないと判定すると、ネットワークリソース管理システムは、処理をステップS3に移行し、ステップS3以降の処理を繰り返す。
【００５９】
一方、ステップS6において、リソースの枯渇を避けることができると判定すると、移動手段15は、所定のVMを他のVMMで動作しているVMと交換する（ステップS8）。ここでは、移動手段15は、VM-B216とVM-C226とを交換する。すなわち、移動手段15は、VM-B216をVMM-B213からVMM-C223に移動し、VM-C226をVMM-C223からVMM-B213に移動する。
【００６０】
その後、ステップS4においてVMの移動を行うべきではないと判定するまで、ネットワークリソース管理システムは、ステップS3からステップS7又はS8までの処理を繰り返す。例えば、移動手段15は、図９（ｂ）に示す状態から、VM-A205とVM-B214とを交換する（図９（ｃ））。
【００６１】
このように、VMMのリソースの空き状況に応じて、片方のVMMにVMを移動させるか、図５及び図６に示すように互いにVMを移動し合う（交換）することにより、VMMのCPUやメモリ等のネットワーク以外のリソースが枯渇することなく、VMの移動を行うことができる。なお、VMを移動することで、VMMのネットワーク以外のリソースが枯渇する可能性がある場合には、VMの移動は行わない。これらの判断は監視サーバ130（例えば、妥当性判定手段13やリソース判定手段14）により行われる。
【００６２】
以上のように、本実施形態では、ネットワークリソース管理システムは、複数のVMM、VMM上で動作する複数のVM、及び監視サーバを含む。そして、監視サーバは、VMM上で動作するエージェントからの各VMの通信情報等を収集する。また、VMMは、VMにCPUやメモリといったリソースを割り当て、他のVMとの優先度や負荷状況等を判定し、適時リソースを割り当てなおす。
【００６３】
また、監視サーバ上のマネージャは、VMM上で動作するエージェントと通信を行い、大量に通信を行っているVMを特定し、そのVMを同一VMM上で動作させるように処理を実行する。ネットワークリソース管理システムは、この処理を集約先VMMのリソースが枯渇しないことを前提として実行し、集約することによりリソース不足になると判断する場合には、処理を実行しない。したがって、ネットワークリソース管理システムは、以下に示す効果を奏するといえる。
【００６４】
第１の効果は、特定のVM同士が大量のネットワーク帯域を使用している場合に、自動的に物理ネットワークリソースの使用率を低減することが可能なことである。その理由は、大量の通信を行っているVM同士（以下VM-a,b）を同一のVMM上で動作させることにより、VM-a,bが仮想ネットワークのみを利用して通信を行うことになり、物理ネットワークを使用しなくなるためである。
【００６５】
第２の効果は、VM-a,bの通信速度及びVM-a,b以外のVMの通信速度を向上することが可能になることである。その理由は、第１の効果によりVM-a,bが仮想ネットワークのみを利用して通信を行うため、他のVMの通信の影響を受けずに処理を行うことが可能になるからである。また、VM-a,bにより妨げられていた物理ネットワークの帯域が開放されることになり、その結果VM-a,bが他のVMの通信に及ぼしていた影響も低減されるため、VM-a,b以外のVMの通信速度が向上するからである。
【００６６】
以上のことから、解決しようとする課題に対して、本実施形態は次のような解決手段を備えているといえる。
【００６７】
異なるVMM上で動作するVM間での通信の場合には、物理ネットワークを使用することになるが、同一のVMM上で動作するVM間での通信の場合には、物理ネットワークを使用せず、VMM上のみでの処理となる。このため本実施形態では、可能な限りVM間の通信に関しては、仮想ネットワークを使用し、VMMの物理ネットワークリソースの使用量を低減するように制御する。
【００６８】
例えば、あるアプリケーションが動作しているサーバ（クライアントコンピュータに対して、所定の機能を提供するコンピュータ）の役割を担っているVMと、データベースサーバの役割を担っているVMとが、それぞれ異なるVMM上で動作している場合を想定する。
【００６９】
アプリケーションとデータベースとが定常的に大量の通信を行うものとすると、それぞれのVMが異なるVMM間で動作しているため、VMM間の物理ネットワーク帯域を大量に使用することが想定される。
【００７０】
このような場合に、大量の通信を行っているVM同士を、ホットマイグレーション（VMを停止させることなく、VMMから他のVMMへ移動させる技術）させることにより、同一のVMMで動作させる。その結果、2つのVMは、同一のVMM上で動作することになり、仮想ネットワークを使用するため、物理ネットワークを使用することなく通信を行うことが可能となる。
【００７１】
通信状況の監視については、VMM上にエージェントを配置し、CPU、メモリ、ディスクIO、単位時間当たりのネットワーク帯域使用量を、監視サーバに送信することにより行われる。そのため、管理者等が手動でマイグレーション作業を行う必要がなく、ネットワークリソースの管理を自動的に行うことができる。
【００７２】
次に、本発明によるネットワークリソース管理システムの最小構成について説明する。図１０は、ネットワークリソース管理システムの最小の構成例を示すブロック図である。図１０に示すように、ネットワークリソース管理システムは、最小の構成要素として、通信量測定手段10と、期待値算出手段12と、妥当性判定手段13と、変更手段16とを含む。
【００７３】
図１０に示す最小構成のネットワークリソース管理システムでは、複数の物理サーバで仮想マシンが動作する仮想化環境において、通信量測定手段10は、継続的に仮想マシン間の通信量を測定する。そして、期待値算出手段12は、通信量測定手段10が測定した通信量に基づいて、所定の仮想マシンを動作させる物理サーバを異なる物理サーバに変更した場合のネットワーク使用率の期待値を算出する。次いで、妥当性判定手段13は、期待値算出手段12が算出した期待値に基づいて、仮想マシンを動作させる物理サーバの変更が妥当か否かを判定する。次いで、変更手段16は、妥当性判定手段13の判定結果に基づいて、仮想マシンを動作させる物理サーバを変更する。
【００７４】
従って、最小構成のネットワークリソース管理システムによれば、仮想化環境においてネットワークリソースの管理を自動的に行うことができる。
【００７５】
なお、本実施形態では、以下の（１）〜（５）に示すようなネットワークリソース管理システムの特徴的構成が示されている。
【００７６】
（１）ネットワークリソース管理システムは、複数の物理サーバ（例えば、サーバ100等）で仮想マシン（例えば、VM104）が動作する仮想化環境において仮想マシン間の通信量を測定する通信量測定手段（例えば、通信量測定手段10によって実現される）と、通信量測定手段が測定した通信量（例えば、通信情報）に基づいて、所定の仮想マシンを動作させる物理サーバを異なる物理サーバに変更した場合のネットワーク使用率の期待値を算出する期待値算出手段（例えば、期待値算出手段12によって実現される）と、期待値算出手段が算出した期待値に基づいて、仮想マシンを動作させる物理サーバの変更が妥当か否かを判定する妥当性判定手段（例えば、妥当性判定手段13によって実現される）と、妥当性判定手段の判定結果に基づいて、仮想マシンを動作させる物理サーバを変更する変更手段（例えば、移動手段15によって実現される）とを含むことを特徴とする。
【００７７】
（２）ネットワークリソース管理システムにおいて、所定の仮想マシンを動作させる物理サーバを、現在動作させている物理サーバから異なる物理サーバに変更する際に必要なリソース（例えば、CPUやメモリ、ディスクIO等）を移動コストとして算出する移動コスト算出手段（例えば、移動コスト算出手段11によって実現される）を含み、妥当性判定手段は、移動コスト算出手段が算出した移動コストが予め定められた閾値を超える場合には、仮想マシンを動作させる物理サーバの変更が妥当でないと判定するように構成されていてもよい。
【００７８】
（３）ネットワークリソース管理システムにおいて、期待値算出手段は、互いに異なる物理サーバで動作している仮想マシン間の通信のうち、最も通信量の大きい仮想マシンの組み合わせ（例えば、図９（ａ）のVM-B216とVM-C225との組み合わせ）を特定し、特定した仮想マシンを同一の物理サーバで動作させるように、仮想マシンを動作させる物理サーバを変更した場合のネットワーク使用率の期待値を算出し、妥当性判定手段は、期待値算出手段が算出したネットワーク使用率の期待値が最も低くなる場合に仮想マシンを動作させる物理サーバの変更が妥当であると判定するように構成されていてもよい。
【００７９】
（４）ネットワークリソース管理システムにおいて、所定の仮想マシンを動作させる物理サーバを、現在動作させている物理サーバから異なる物理サーバに変更すると、異なる物理サーバのリソースが枯渇するか否かを判定する（例えば、図８に示すステップS5）リソース判定手段（例えば、リソース判定手段14によって実現される）を含み、変更手段は、リソース判定手段の判定結果に基づいて、仮想マシンを動作させる物理サーバを異なる物理サーバに変更する（例えば、図７に示すように、VM-B214をVMM-A203に移動する）ように構成されていてもよい。
【００８０】
（５）ネットワークリソース管理システムにおいて、リソース判定手段は、所定の仮想マシンを動作させる物理サーバを現在動作させている第１の物理サーバから第２の物理サーバに変更すると第２の物理サーバのリソースが枯渇する場合に、所定の仮想マシンと第２の物理サーバで動作する他の仮想マシンとを交換することでリソースの枯渇を回避できるか否かを判定し（例えば、図８に示すステップS6）、変更手段は、リソース判定手段の判定結果に基づいて、所定の仮想マシンを動作させる物理サーバを第２の物理サーバに変更するとともに、他の仮想マシンを動作させる物理サーバを第１の物理サーバに変更する（例えば、図６に示すように、VM-A204とVM-B214とを交換する）ように構成されていてもよい。
【００８１】
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
【００８２】
（付記１）コンピュータに、所定の仮想マシンを動作させる物理サーバを、現在動作させている物理サーバから異なる物理サーバに変更する際に必要なリソースを移動コストとして算出する移動コスト算出処理を実行させ、妥当性判定処理で、算出した移動コストが予め定められた閾値を超える場合には、前記仮想マシンを動作させる物理サーバの変更が妥当でないと判定する処理を実行させる請求項１０記載のネットワークリソース管理プログラム。
【産業上の利用可能性】
【００８３】
本発明は、特定のVMが大量のネットワーク帯域を使用ことにより物理ネットワークが枯渇し、通信に遅延が発生している状況で、物理ネットワーク帯域を低減させる用途に適用可能である。
【符号の説明】
【００８４】
１０  通信量測定手段
１１  移動コスト算出手段
１２  期待値算出手段
１３  妥当性判定手段
１４  リソース判定手段
１５  移動手段
１６  変更手段
【図１】
2011180889.tif 000003
【図２】
2011180889.tif 000004
【図３】
2011180889.tif 000005
【図４】
2011180889.tif 000006
【図５】
2011180889.tif 000007
【図６】
2011180889.tif 000008
【図７】
2011180889.tif 000009
【図８】
2011180889.tif 000010
【図９】
2011180889.tif 000011
【図１０】
2011180889.tif 000012