(57)【要約】  仮想マシン管理装置は、仮想マシンに関し、要求リソース量を平均値として算出するための時間幅を示す移動平均幅と、当該仮想マシンが或るサーバ装置から他のサーバ装置へ再配置されるのに要する時間を示す再配置時間とを取得する第１情報取得部と、第１情報取得部により取得された移動平均幅と再配置時間とを比較することにより、当該仮想マシンが或るサーバ装置から他のサーバ装置へ再配置可能か否かを判定する再配置判定部と、を備える。
2013021533.tif 000002
【特許請求の範囲】
【請求項１】
仮想マシンに関し、要求リソース量を平均値として算出するための時間幅を示す移動平均幅と、該仮想マシンが或るサーバ装置から他のサーバ装置へ再配置されるのに要する時間を示す再配置時間とを取得する第１情報取得部と、
前記第１情報取得部により取得された移動平均幅と再配置時間とを比較することにより、前記仮想マシンが或るサーバ装置から他のサーバ装置へ再配置可能か否かを判定する再配置判定部と、
を備える仮想マシン管理装置。
【請求項２】
前記仮想マシンの配置先となり得る各サーバ装置上で確保可能な単位時間当たりのリソース量をそれぞれ取得する第２情報取得部を更に備え、
前記第１情報取得部は、前記仮想マシンに関する要求リソース量を更に取得し、
前記再配置判定部は、前記移動平均幅、前記要求リソース量、前記再配置時間、及び前記各サーバ装置上で確保可能な単位時間当たりのリソース量を用いて、前記移動平均幅が示す時間幅で要求されるリソース量と前記移動平均幅が示す時間幅から前記再配置時間を除いた時間で確保可能なリソース量との比較を更に行うことにより、前記仮想マシンが或るサーバ装置から他のサーバ装置へ再配置可能か否かを判定する
請求項１に記載の仮想マシン管理装置。
【請求項３】
前記再配置判定部は、前記比較として、下記条件が成立するか否かを判定し、下記条件が成立する場合には、前記仮想マシンを再配置不可能と判定する請求項２に記載の仮想マシン管理装置。
β＜γ又は｛（β−γ）×δ｝＜（α×β）
αは前記要求リソース量を示し、βは前記移動平均幅を示し、γは前記再配置時間を示し、δは前記各サーバ装置上で確保可能な単位時間当たりのリソース量を示す。
【請求項４】
前記仮想マシンが前記再配置判定部により再配置不可能と判定された場合に、前記仮想マシンに関する前記移動平均幅及び前記要求リソース量を最低限保証し得るサーバ装置を、前記仮想マシンの配置先に決定する選択部を更に備える請求項１から３のいずれか１項に記載の仮想マシン管理装置。
【請求項５】
前記仮想マシンが前記再配置判定部により再配置不可能と判定された場合に、前記仮想マシンの配置先となるサーバ装置において、前記仮想マシンに関する前記移動平均幅及び前記要求リソース量が最低限保証されるようなリソース割当情報を出力する情報出力部を更に備える請求項１から４のいずれか１項に記載の仮想マシン管理装置。
【請求項６】
前記情報出力部は、前記仮想マシンが前記再配置判定部により再配置可能と判定された場合には、再配置不可能と判定された場合に出力される前記リソース割当情報が示すリソース割当量よりも少ないリソース割当量を示すリソース割当情報を出力する請求項５に記載の仮想マシン管理装置。
【請求項７】
前記情報出力部は、ＣＰＵ（Central Processing Unit）リソース使用優先度を前記リソース割当情報として出力する請求項５又は６に記載の仮想マシン管理装置。
【請求項８】
コンピュータが、
仮想マシンに関し、要求リソース量を平均値として算出するための時間幅を示す移動平均幅と、該仮想マシンが或るサーバ装置から他のサーバ装置へ再配置されるのに要する時間を示す再配置時間とを取得し、
前記移動平均幅と前記再配置時間とを比較することにより、前記仮想マシンが或るサーバ装置から他のサーバ装置へ再配置可能か否かを判定する、
ことを含む仮想マシン管理方法。
【請求項９】
コンピュータに、
仮想マシンに関し、要求リソース量を平均値として算出するための時間幅を示す移動平均幅と、該仮想マシンが或るサーバ装置から他のサーバ装置へ再配置されるのに要する時間を示す再配置時間とを取得する第１情報取得部と、
前記第１情報取得部により取得された移動平均幅と再配置時間とを比較することにより、前記仮想マシンが或るサーバ装置から他のサーバ装置へ再配置可能か否かを判定する再配置判定部と、
を実現させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想環境における仮想マシンの配置技術に関する。
【背景技術】
【０００２】
現在、仮想化技術の安定性、性能の向上により、基幹システムなどの高信頼性が要求されるシステムも仮想環境で動作可能になってきている。結果、１つの仮想環境の中で、異なるサービスレベルのシステムが混在するようになってきている。【０００３】
仮想環境では複数の仮想マシンがリソースを共有するため、或る仮想マシンのリソース使用量の増加が他の仮想マシンの性能に影響を与える可能性がある。そこで、例えば、ライブマイグレーションなどの技術を用いて、リソース不足になったサーバ上の仮想マシンを別のサーバへ再配置することにより、リソース不足が解決される。【０００４】
ところが、上記技術において、仮想マシンの再配置自体にもネットワーク帯域及び時間が必要とされるため、頻繁に再配置を行うことはかえってシステム全体のパフォーマンスを低下させる恐れがある。このような問題に対し、サーバ及び仮想マシンの性能情報（リソース情報）の時間周期性や仮想マシン間の性能情報の相関性を利用して、リソースの競合が起こり難い仮想マシンの組合せを求め、当該組合せ毎に仮想マシンを同一のサーバに集約させる手法が採られる。このような手法によれば、効率的なリソースの使用が可能となる。【０００５】
下記特許文献１では、各仮想マシンの過去の性能情報（リソース情報）の時間周期性に基づいて、仮想マシンの組合せの性能の合計が最大となるように仮想マシンを配備することで、リソースを効率的に利用することが提案されている。下記特許文献２では、仮想マシン間の相関性を利用し、相関性の高い仮想マシンを同一サーバに集約することでリソースを効率的に利用することが提案されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−１１５６５３号公報
【特許文献２】特開２０１０−２４４１８１号公報
【発明の概要】
【０００７】
しかしながら、上述のような従来手法は、仮想マシンの性能情報（リソース情報）に、時間周期性や他の仮想マシンとの相関性が無い場合には、適用することができない。
【０００８】
また、上述のような従来手法では、仮想マシンのサービスレベルが考慮されていないため、高いサービスレベルが要求される仮想マシンが１つのサーバに複数動作する可能性がある。この場合、必要以上にリソースが割り当てられる状況（オーバプロビジョニング）になり、結果として、リソースの有効活用ができない場合がある。
【０００９】
また、仮想マシンによっては、再配置自体によりそのサービスレベルが維持できなくなるものも存在し得る。しかしながら、このような状況は、仮想マシンを稼働させるサーバ装置を決める上で考慮されていないのが現状である。
【００１０】
本発明は、上述のような事項に鑑みてなされたものであり、仮想マシンのサービスレベルを維持しつつ、サーバ装置のリソースを有効活用し得る、仮想マシンの配置技術を提供する。
【００１１】
本発明の各態様では、上述した課題を解決するために、それぞれ以下の構成を採用する。
【００１２】
第１の態様は仮想マシン管理装置に関する。第１の態様に係る仮想マシン管理装置は、仮想マシンに関し、要求リソース量を平均値として算出するための時間幅を示す移動平均幅と、当該仮想マシンが或るサーバ装置から他のサーバ装置へ再配置されるのに要する時間を示す再配置時間とを取得する第１情報取得部と、第１情報取得部により取得された移動平均幅と再配置時間とを比較することにより、当該仮想マシンが或るサーバ装置から他のサーバ装置へ再配置可能か否かを判定する再配置判定部と、を備える。
【００１３】
第２の態様は仮想マシン管理方法に関する。第２の態様に係る仮想マシン管理方法は、コンピュータが、仮想マシンに関し、要求リソース量を平均値として算出するための時間幅を示す移動平均幅と、当該仮想マシンが或るサーバ装置から他のサーバ装置へ再配置されるのに要する時間を示す再配置時間とを取得し、上記移動平均幅と上記再配置時間とを比較することにより、当該仮想マシンが或るサーバ装置から他のサーバ装置へ再配置可能か否かを判定する、ことを含む。
【００１４】
なお、本発明の別態様としては、上述の第１の態様における構成をコンピュータに実現させるコンピュータプログラムであってもよいし、このようなプログラムを記録したコンピュータが読み取り可能な記録媒体であってもよい。この記録媒体は、非一時的な有形の媒体を含む。
【００１５】
上記各態様によれば、仮想マシンのサービスレベルを維持しつつ、サーバ装置のリソースを有効活用し得る、仮想マシンの配置技術を提供することができる。
【図面の簡単な説明】
【００１６】
上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。【００１７】
【図１】図１は、本発明の実施形態における仮想マシン管理システムの構成例を概念的に示す図である。
【図２】図２は、第１実施形態における仮想マシン管理装置及びサーバ装置の処理構成例を概念的に示す図である。
【図３】図３は、第１実施形態における仮想マシン管理装置の動作例を示すフローチャートである。
【図４】図４は、第２実施形態における仮想マシン管理装置及びサーバ装置の処理構成例を概念的に示す図である。
【図５】図５は、第２実施形態における仮想マシン管理装置の動作例を示すフローチャートである。
【図６】図６は、第３実施形態における仮想マシン管理装置及びサーバ装置の処理構成例を概念的に示す図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施の形態について説明する。なお、以下に挙げる実施形態は例示であり、本発明は以下の実施形態の構成に限定されない。
【００１９】
図１は、本発明の実施形態における仮想マシン管理システムの構成例を概念的に示す図である。仮想マシン管理システム１は、図１に示すように、仮想マシン管理装置１０、管理対象である仮想マシンが動作可能な複数のサーバ装置２０等を有する。なお、以降、仮想マシン管理システム１は省略形で管理システム１と表記され、仮想マシン管理装置１０は省略形で管理装置１０と表記される。
【００２０】
管理システム１では、管理装置１０が、複数のサーバ装置２０の中から、対象となる仮想マシンを稼働させる上で最適な１つのサーバ装置２０を選択する。
【００２１】
管理装置１０は、いわゆるコンピュータであり、例えば、バス１５で相互に接続される、ＣＰＵ（Central Processing Unit）１１、メモリ１２、入出力インタフェース（Ｉ／Ｆ）１４等を有する。メモリ１２は、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ハードディスク、可搬型記憶媒体等である。入出力Ｉ／Ｆ１４は、通信網を介して各サーバ装置２０と通信を行う通信装置等と接続される。入出力Ｉ／Ｆ１４は、表示装置や入力装置等のようなユーザインタフェース装置と接続されてもよい。
【００２２】
各サーバ装置２０も、いわゆるコンピュータであり、例えば、図１に示されるようなハードウェア構成を有する。各サーバ装置２０は、複数の仮想マシンを動作させ得るハードウェア構成をそれぞれ有していればよく、各々同一のハードウェア構成を有する必要はない。本実施形態は、管理装置１０及び各サーバ装置２０のハードウェア構成を限定しない。
【００２３】
管理装置１０及び各サーバ装置２０は、例えば、メモリ１２に格納されるプログラムがＣＰＵ１１により実行されることにより各処理部をそれぞれ実現する。以降、各サーバ装置２０についての説明は、個々に区別して説明する必要がある場合を除いて、１つのサーバ装置２０として述べる。また、本実施形態は、サーバ装置２０の数を限定しない。
【００２４】
管理装置１０は、仮想マシンに関し、要求リソース量を平均値として算出するための時間幅を示す移動平均幅と、当該仮想マシンが或るサーバ装置から他のサーバ装置へ再配置されるのに要する時間を示す再配置時間とを取得する第１情報取得部と、第１情報取得部により取得された移動平均幅と再配置時間とを比較することにより、当該仮想マシンが或るサーバ装置から他のサーバ装置へ再配置可能か否かを判定する再配置判定部と、を備える。
【００２５】
対象となる仮想マシンに対しては、再配置時間と移動平均幅とが設定される。移動平均幅は、仮想マシンの要求リソース量を平均値として確保する際の、当該平均値を求めるための区間の幅（時間幅）を示す。言い換えれば、確保されるリソース量を移動平均幅で平均した値が要求リソース量を満足すれば、その仮想マシンに対応するサービスレベルが維持されていることになる。よって、移動平均幅は、その仮想マシンのサービスレベルを示す情報であると言え、当該移動平均幅の値が小さいほど、その仮想マシンのサービスレベルは高くなる。
【００２６】
要求リソース量は、サーバ装置２０の各リソース種に応じた、所定単位時間あたりに必要とされるリソースの量を示す。例えば、ＣＰＵ（Central Processing Unit）リソースの場合、要求リソース量として、１ギガヘルツ（ＧＨｚ）などが設定される。通信リソースの場合、要求リソース量として、１００メガｂｐｓなどが設定される。メモリリソースの場合、要求リソース量として、２００メガバイト（ＭＢ）などが設定される。本実施形態は、仮想マシンの要求リソース量のリソース種を限定しない。要求リソース量として、複数のリソース種のリソース量が含まれていてもよい。以下の説明では、要求リソース量として、ＣＰＵリソースのリソース量が利用される場合を例に挙げる。
【００２７】
例えば、或る仮想マシンのサービスレベルにおいて、ＣＰＵリソースの要求リソース量が１（ＧＨｚ）に設定され、かつ、移動平均幅が１秒に設定されている場合、その仮想マシンに対しては、１（ＧＨｚ）が毎秒確保される必要がある。一方、移動平均幅が１０秒に設定されている場合、１０秒間隔で平均されたリソース量が１（ＧＨｚ）となっていればよいため、その仮想マシンに対しては、一時的に１（ＧＨｚ）が確保されなくともよい。これは、１０秒間の間に最低限１０ギガクロックのＣＰＵリソースを確保すればよいことと同じである。つまり、要求リソース量α、移動平均幅βを持つ仮想マシンのサービスレベルを維持するためには、配置先のサーバ装置２０において、β秒の間に、最低限リソース量（α×β）が確保される必要がある。
【００２８】
再配置時間によれば、仮想マシンのサービスレベルが高い場合、仮想マシンの再配置自体が行えない場合が生じ得る。移動平均幅をβとし、再配置時間をγとすると、例えば、β＜γの関係を持つ仮想マシンがサーバ装置間で再配置された場合、その仮想マシンはサービスレベルを維持することができない。再配置の間、その仮想マシンに対してリソースが全く割当てられないため、時間βの間に割当てられるリソースが０となる。結果、その仮想マシンの要求リソース量を満足することができないからである。このような仮想マシンについては、再配置を行うこと自体がサービスレベルの違反に繋がる。
【００２９】
そこで、本実施形態では、仮想マシンに関する移動平均幅と再配置時間とを比較することにより、仮想マシンが或るサーバ装置から他のサーバ装置へ再配置可能か否かが判定される。
【００３０】
このように、本実施形態によれば、対象の仮想マシンが、サーバ装置間の再配置を行うことによりサービスレベルを維持できなくなるか否かを判定することができる。この判定結果を用いれば、仮想マシンのサービスレベルを維持しながら、サーバ装置２０のリソースを有効に活用できるような仮想マシンの配置を決定することができる。例えば、再配置不可能と判定された仮想マシンは、再配置の必要性が生じないサーバ装置をその仮想マシンの配置先に決めればよい。
【００３１】
以下、上述の実施形態について更に詳細を説明する。
【００３２】
［第１実施形態］
図２は、第１実施形態における仮想マシン管理装置１０及びサーバ装置２０の処理構成例を概念的に示す図である。管理装置１０は、図２に示すように、第１情報取得部１０１、再配置判定部１０３、選択部１０４等を有する。サーバ装置２０は、制御部２０１、仮想マシン２０５等を有する。管理装置１０及びサーバ装置２０は、例えば、メモリ１２に格納されるプログラムがＣＰＵ１１により実行されることにより、図２に示される各処理部をそれぞれ実現する。
【００３３】
〔サーバ装置〕
サーバ装置２０では、１つ以上の仮想マシン２０５が実行されている。本実施形態は、各サーバ装置２０で実行される（稼働される）仮想マシン２０５の数を制限しない。
【００３４】
制御部２０１は、仮想マシン２０５へのリソース割当を行う。例えば、ＣＰＵリソースに関し、制御部２０１は、各仮想マシン２０５に関し設定された各ＣＰＵリソース使用優先度に応じて、各仮想マシン２０５にＣＰＵリソースをそれぞれ割り当てる。このＣＰＵリソース使用優先度とは、最低限保証されるＣＰＵリソース量を設定するものである。例えば、全ＣＰＵリソース量が１０（ＧＨｚ）であるサーバ装置２０において、仮想マシンＡに対してＣＰＵリソース使用優先度が３０（％）に設定された場合、仮想マシンＡは、１秒当たり３（ＧＨｚ）のＣＰＵリソースを最低限利用することができる。以降、このＣＰＵリソース使用優先度の設定のように、サーバ装置２０において、或る仮想マシンに最低限保証されるリソース量を割り当てることを、固定割当型の割当、固定的な割当等と表記する。よって、固定割当型で仮想マシンＡに対して或るリソース量が割り当てられた場合には、その仮想マシンＡは、その割当てられた範囲において当該リソースを必ず利用することができる。
【００３５】
〔仮想マシン管理装置〕
第１情報取得部１０１は、対象となる仮想マシンに関し要求されるサービスレベル情報とその仮想マシンが或るサーバ装置２０から他のサーバ装置２０へ再配置されるのに要する時間を示す再配置時間γとを取得する。このサービスレベル情報には、例えば、要求リソース量α及び移動平均幅βが含まれる。
【００３６】
第１情報取得部１０１は、入出力Ｉ／Ｆ１４に接続されるユーザインタフェース装置を用いてユーザが入力することにより、サービスレベル情報及び再配置時間の情報を取得する。この場合、第１情報取得部１０１は、サービスレベル情報及び再配置時間を入力するための画面を表示装置（図示せず）に表示させ、この画面に入力されたデータを当該サービスレベル情報及び当該再配置時間として取得する。また、第２情報取得部１０２は、当該サービスレベル情報及び当該再配置時間を他の装置から通信を介して取得してもよいし、それらを格納する可搬型記憶媒体から取得してもよい。
【００３７】
再配置判定部１０３は、上述したような移動平均幅βと再配置時間γとを比較することにより、対象の仮想マシンがそのサービスレベルを維持しながら再配置され得るか否かを判定する。具体的には、再配置判定部１０３は、β＜（γ＋所定量Ａ）の関係が成立する場合に、その仮想マシンを再配置不可と判定し、それ以外の場合、その仮想マシンを再配置可能と判定する。所定量Ａは、誤差を考慮して予め決められる０以上の所定の値であり、予め保持される。
【００３８】
選択部１０４は、再配置判定部１０３により再配置不可と判定された仮想マシンの配置先として、その要求リソース量αの全てを固定割当型で割り当て得るサーバ装置２０を選択する。一般的には、仮想マシンに設定されたサービスレベルを維持できない場合には、その仮想マシンは、別のサーバへ再配置される。ところが、再配置が不可能と判定された仮想サーバは、再配置されるとそのサービスレベルを維持することができなくなる。そこで、選択部１０４は、その要求リソース量αの全てを固定割当型で割り当て得るサーバ装置２０を選択することにより、その仮想マシンのサービスレベルを維持する。選択部１０４により選択されたサーバ装置２０は、その仮想マシンのサービスレベル情報に含まれる要求リソース量α及び移動平均幅βを最低限保証し得るサーバ装置である。
【００３９】
なお、本実施形態は、再配置可能と判定された仮想マシンについての配置先の選択手法を制限しない。選択部１０４は、再配置可能と判定された仮想マシンについての配置先を周知な様々な手法により選択することができる。
【００４０】
〔動作例〕
図３は、第１実施形態における仮想マシン管理装置１０の動作例を示すフローチャートである。
【００４１】
第１情報取得部１０１が、対象の仮想マシンに関し、要求リソース量α及び移動平均幅βを含むサービスレベル情報と、再配置時間γとを取得する（Ｓ３１）。
【００４２】
続いて、再配置判定部１０３が、第１情報取得部１０１により取得されたサービスレベル情報に含まれる移動平均幅βと再配置時間γとを用いて、当該仮想マシンが再配置可能か否かを判定する（Ｓ３２）。具体的には、再配置判定部１０３は、移動平均幅βが再配置時間γより小さいか否かを判定する。再配置判定部１０３は、移動平均幅βが再配置時間γより小さい場合に、その仮想マシンを再配置不可と判定し、それ以外の場合に、その仮想マシンを再配置可能と判定する。
【００４３】
選択部１０４は、当該仮想マシンが再配置不可と判定された場合には（Ｓ３３；ＹＥＳ）、その仮想マシンの要求リソース量αの全てを固定割当型で割り当て得るサーバ装置２０をその仮想マシンの配置先に決定する（Ｓ３５）。言い換えれば、選択部１０４は、空きリソース量がその仮想マシンの要求リソース量αよりも大きいサーバ装置２０を、再配置不可と判定された仮想マシンの配置先に決定する（Ｓ３５）。
【００４４】
一方、選択部１０４は、当該仮想マシンが再配置可能と判定された場合には（Ｓ３３；ＮＯ）、任意の手法により選択されたサーバ装置２０をその仮想マシンの配置先に決定する（Ｓ３６）。
【００４５】
〔第１実施形態の作用及び効果〕
このように、第１実施形態では、仮想マシンのサーバ装置間の再配置に要する再配置時間γと仮想マシンのサービスレベル情報としての移動平均幅βとが比較されることにより、その仮想マシンが再配置可能な仮想マシンであるか否かが判定される。この判定により再配置不可と判定された仮想マシンに対しては、その仮想マシンの要求リソース量α及び移動平均幅βを最低限保証し得るサーバ装置２０が配置先に決定される。
【００４６】
従って、第１実施形態によれば、再配置の必要性が生じないサーバ装置２０がその仮想マシンの配置先に決定されるため、再配置によってその仮想マシンのサービスレベルが維持できなくなるといった事象を防ぐことができる。即ち、第１実施形態によれば、仮想マシンのサービスレベルを維持しながら、サーバ装置２０のリソースを有効に活用できるような仮想マシンの配置を決定することができる。
【００４７】
［第２実施形態］
以下、第２実施形態における仮想マシン管理システム１について、第１実施形態と異なる内容を中心に説明する。なお、第１実施形態と同じ内容については適宜省略する。
【００４８】
図４は、第２実施形態における仮想マシン管理装置１０及びサーバ装置２０の処理構成例を概念的に示す図である。管理装置１０は、図４に示すように、第１実施形態の構成に加えて、第２情報取得部１０２を更に有する。サーバ装置２０は、第１実施形態の構成に加えて、計測部２０２を更に有する。なお、管理装置１０及びサーバ装置２０のハードウェア構成は第１実施形態と同様である（図１参照）。
【００４９】
〔サーバ装置〕
計測部２０２は、自サーバ装置２０のリソース情報を収集する。リソース情報とは、リソース種毎の、自サーバ装置２０上で利用されているリソース量の情報等であり、性能情報と呼ぶこともできる。リソース情報には、自サーバ装置２０上で確保可能な単位時間当たりのリソース量δも含まれる。このリソース量δは、配置されるサーバ装置２０における固定割り当て可能な空きリソース量と呼ぶこともできる。リソース種とは、ＣＰＵリソース、ネットワークリソース、メモリリソースなどである。
【００５０】
計測部２０２は、このように収集されたリソース情報を任意のタイミングで仮想マシン管理装置１０に送る。計測部２０２は、仮想マシン管理装置１０からの要求受信時に、リソース情報を仮想マシン管理装置１０に送ってもよいし、自発的にかつ所定周期で当該リソース情報を送ってもよい。本実施形態は、サーバ装置２０から仮想マシン管理装置１０への当該リソース情報の送られ方を制限しない。
【００５１】
〔仮想マシン管理装置〕
第２情報取得部１０２は、各サーバ装置２０からリソース情報をそれぞれ取得する。このリソース情報には、上述したとおり、各サーバ装置２０上で確保可能な単位時間当たりのリソース量（以降、確保可能なリソース量δとも表記される）が含まれる。第２情報取得部１０２は、各サーバ装置２０からこの確保可能なリソース量δをそれぞれ取得する。なお、第２情報取得部１０２は、入出力Ｉ／Ｆ１４に接続されるユーザインタフェース装置を用いてユーザが入力することにより、当該リソース量δを取得してもよい。この場合、第２情報取得部１０２は、当該リソース量δを入力するための画面を表示装置（図示せず）に表示させ、この画面に入力されたデータを取得する。また、第２情報取得部１０２は、当該リソース量δの情報を格納する可搬型記憶媒体からその情報を取得してもよい。
【００５２】
再配置判定部１０３は、対象の仮想マシンが再配置可能か否かを判定するにあたり、第１情報取得部１０１により取得された、仮想マシンに関するサービスレベル情報（要求リソース量α、移動平均幅β）、再配置時間γ、及び第２情報取得部１０２により取得された確保可能なリソース量δを用いて、移動平均幅が示す時間幅で要求されるリソース量と移動平均幅が示す時間幅から再配置時間を除いた時間で確保可能なリソース量との比較を更に行う。
【００５３】
具体的には、再配置判定部１０３は、以下の条件が成立するか否かを判定する。
条件：β＜（γ＋所定量Ａ）、又は、｛（β−γ）×δ｝＜｛（α×β）＋所定量Ｂ｝
【００５４】
ここで、移動平均幅βが再配置時間γよりも大きい場合であっても、再配置後に確保され得るリソース量｛（β−γ）×δ｝が最低限確保される必要のあるリソース量（α×β）より小さい場合には、その仮想マシンのサービスレベルを維持することはできない。このような状況が上記条件の後者の関係により判定される。なお、所定量Ａ及びＢは、誤差を考慮して予め決められる０以上の所定の値であり、予め保持される。
【００５５】
選択部１０４は、再配置判定部１０３により上記条件が成立すると判定された場合、その要求リソース量αの全てを固定割当型で割り当て得るサーバ装置２０を選択する。
【００５６】
〔動作例〕
図５は、第２実施形態における仮想マシン管理装置１０の動作例を示すフローチャートである。図５では、図３に示される第１実施形態の動作例と同じ処理については同じ符号が付されている。
【００５７】
再配置判定部１０３が、上記条件のうちの前者関係（β＜（γ＋所定量Ａ））が成立しないと判定した場合（Ｓ３３；ＮＯ）、第２情報取得部１０２が、各サーバ装置２０上で確保可能な単位時間当たりのリソース量δをそれぞれ取得する（Ｓ５１）。なお、当該確保可能なリソース量δの取得処理は、図５で示される順序に限定されず、処理（Ｓ５２）の前までに実行されればよく、例えば、処理（Ｓ３１）と並行に実行される。
【００５８】
再配置判定部１０３は、要求リソース量α、移動平均幅β、再配置時間γ、当該確保可能なリソース量δを用いた上記条件のうちの後者関係を判定することにより、各サーバ装置２０への仮想マシンの再配置の可否を更に判定する（Ｓ５２）。再配置判定部１０３は、当該関係（β＞＝（γ＋所定量Ａ）かつ｛（β−γ）×δ｝＜｛（α×β）＋所定量Ｂ｝）が全てのサーバ装置２０に関し成立した場合、当該仮想マシンについて全てのサーバ装置２０への再配置が不可能であると判定する。
【００５９】
選択部１０４は、再配置判定部１０３における上記条件のうちの前者関係の判定手法により当該仮想マシンが再配置不可能であると判定された場合（Ｓ３３；ＹＥＳ）、又は、再配置判定部１０３における上記条件のうちの後者の関係の判定により当該仮想マシンについて全てのサーバ装置２０への再配置が不可能であると判定された場合（Ｓ５３；ＹＥＳ）、その仮想マシンの要求リソース量αの全てを固定割当型で割り当て得るサーバ装置２０をその仮想マシンの配置先に決定する（Ｓ３５）。
【００６０】
一方、選択部１０４は、再配置判定部１０３における上記後者関係の判定により当該仮想マシンについて少なくとも１つのサーバ装置２０への再配置が可能であると判定された場合（Ｓ５３；ＮＯ）、任意の手法により選択されたサーバ装置２０をその仮想マシンの配置先に決定する（Ｓ３６）。例えば、当該仮想マシンについて１つのサーバ装置２０（＃２）への再配置が可能と判定された場合、選択部１０４は、そのサーバ装置２０（＃２）以外のいずれか１つのサーバ装置２０を当該仮想マシンの配置先に決定することができる。その配置先に決定されたサーバ装置２０上で当該仮想マシンの再配置が必要になった場合であっても、当該仮想マシンはサーバ装置２０（＃２）へ再配置されれば、そのサービスレベルを維持することができる。
【００６１】
なお、図５では、説明の便宜のため、上記条件のうちの前者の関係がまず判定され、次に後者の関係が判定される例を示したが、本実施形態はこのような順序に制限されない。上記条件は一括で判定されてもよいし、後者の関係のみが判定されてもよい。
【００６２】
〔第２実施形態の作用及び効果〕
このように、第２実施形態では、仮想マシンが再配置可能か否かを判定するために、第１実施形態における再配置時間γと移動平均幅βとの比較に加えて、移動平均幅βが示す時間幅で要求されるリソース量と移動平均幅βが示す時間幅から再配置時間γを除いた時間で確保可能なリソース量との比較が更に行われる。
【００６３】
従って、第２実施形態によれば、更に精密に、仮想マシンが再配置可能か否かの判定を行うことができ、ひいては、仮想マシンのサービスレベルを維持しながら、サーバ装置２０のリソースを有効に活用できるような仮想マシンの配置を決定することができる。
【００６４】
［第３実施形態］
以下、第３実施形態における仮想マシン管理システム１について、第２実施形態と異なる内容を中心に説明する。なお、第２実施形態と同じ内容については適宜省略する。
【００６５】
図６は、第３実施形態における仮想マシン管理装置１０及びサーバ装置２０の処理構成例を概念的に示す図である。管理装置１０は、図６に示すように、第２実施形態の構成に加えて、情報出力部１０６を更に有する。サーバ装置２０の処理構成は第２実施形態と同様である。なお、管理装置１０及びサーバ装置２０のハードウェア構成は第１実施形態及び第２実施形態と同様である（図１参照）。
【００６６】
〔仮想マシン管理装置〕
情報出力部１０６は、再配置判定部１０３により再配置不可能と判定された仮想マシンの配置先に、仮想マシンのサービスレベル（要求リソース量α及び移動平均幅β）を最低限保証し得るサーバ装置２０が選択部１０４により選択された場合に、選択部１０４により選択されたサーバ装置２０に関するリソース割当情報を出力する。また、情報出力部１０６は、再配置判定部１０３により再配置可能と判定された仮想マシンに関しては、再配置不可能と判定された場合に出力されるリソース割当情報（固定割当型）が示すリソース割当量よりも少ないリソース割当量を示すリソース割当情報を出力する。
【００６７】
このリソース割当情報の出力は、入出力Ｉ／Ｆ１４に接続される表示装置（図示せず）への画面表示であってもよいし、入出力Ｉ／Ｆ１４に接続される印刷装置（図示せず）への印刷であってもよいし、入出力Ｉ／Ｆ１４に接続される通信装置（図示せず）を介して、選択されたサーバ装置２０へのリソース割当情報の送信であってもよい。
【００６８】
当該リソース割当情報は、例えば、ＣＰＵリソース使用優先度である。対象の仮想マシンの要求リソース量α及び移動平均幅βが１秒当たりＣＰＵリソースの１（ＧＨｚ）を示し、その仮想マシンの配置先に決定されたサーバ装置２０の全ＣＰＵリソース量が毎秒５（ＧＨｚ）である場合には、その仮想マシンのためのＣＰＵリソース使用優先度は２０％に設定される。なお、本実施形態は、このリソース割当情報を制限しない。このリソース割当情報は、通信リソースに関する使用帯域幅の情報であってもよいし、メモリの使用量の情報であってもよい。
【００６９】
〔サーバ装置〕
選択部１０４により或る仮想マシンの配置先として選択されたサーバ装置２０には、仮想マシン管理装置１０の情報出力部１０６により出力されたリソース割当情報が設定される。この設定は、自動又は手動で行われる。選択部１０４により或る仮想マシンの配置先として選択されたサーバ装置２０では、制御部２０１が、当該リソース割当情報に基づいて、当該仮想マシンへリソース割当を行う。
【００７０】
〔第３実施形態における作用及び効果〕
このように第３実施形態では、再配置不可能と判定された仮想マシンの配置先となるサーバ装置において、当該仮想マシンの要求リソース量α及び移動平均幅βが最低限保証されるようなリソース割当情報が出力され、その配置先のサーバ装置において、この出力されたリソース割当情報に応じたリソース割当が当該仮想マシンに対して行われる。
【００７１】
従って、第３実施形態によれば、仮想マシンのサービスレベルを維持しながら、サーバ装置２０のリソースを有効に活用できるような仮想マシンの配置を決定すると共に、その配置先のサーバ装置２０上で利用されるリソース割当情報を出力することができる。よって、サーバ装置２０において必要となるリソース制御のための設定作業の負担を軽減することができる。
【００７２】
［変形例］
各サーバ装置２０の制御部２０１は、仮想マシンに対して実際に割り当てられたリソース量を管理し、その仮想マシンの要求リソース量に対して実際に割り当てられたリソース量があまりにも少ない場合に、その仮想マシンの再配置を行うようにしてもよい。具体的には、制御部２０１は、仮想マシンに関し、移動平均幅よりも小さい或る値をリソース割当確認幅として保持し、このリソース割当確認幅ごとに仮想マシンに実際に割り当てられたリソース量を確認し、そのリソース量が要求リソース量に対して一定値以下の場合に、その仮想マシンの再配置を行う。これにより、仮想マシンのサービスレベルを維持することができる。なお、このような仮想マシンの再配置は、仮想マシン管理装置１０が決定し、仮想マシン管理装置１０から各サーバ装置２０へ指示する形で実現されてもよい。
【００７３】
［具体例］
以下、上述の第２実施形態における管理装置１０の動作例を具体的なデータを用いて説明する。ここでは、次のような、要求リソース量α及び移動平均幅β、並びに、再配置時間γが設定された仮想マシンＡを対象とし、再配置されるサーバ装置２０上で確保可能な単位時間当たりのリソース量δも次のように設定されているものと仮定する。
要求リソース量α：ＣＰＵ０．５（ＧＨｚ）
移動平均幅β：２０（秒）
再配置時間γ：１０（秒）
リソース量δ：ＣＰＵ４．０（ＧＨｚ）
【００７４】
管理装置１０の動作は、例えば、ユーザがユーザインタフェースを操作することによって、開始される。まず、再配置判定部１０３は、再配置時間が１０秒で、再配置後に確保可能なＣＰＵリソースが４．０（ＧＨｚ）であるため、仮想マシンＡを再配置可能と判定する。これは、仮想マシンＡが２０秒間に１０ギガ（Ｇ）クロック（＝２０×０．５（ＧＨｚ））を要求しているのに対し、再配置自体に１０秒要しても再配置後の２．５秒間で１０Ｇクロックを確保できるためである。
【００７５】
次に、次のような仮想マシンＢを対象とすると仮定する。なお、再配置されるサーバ装置２０上で確保可能な単位時間当たりのリソース量δは仮想マシンＡの場合と同様とする。
要求リソース量α：ＣＰＵ１．０（ＧＨｚ）
移動平均幅β：２０（秒）
再配置時間γ：１０（秒）
リソース量δ：ＣＰＵ４．０（ＧＨｚ）
【００７６】
この場合、再配置判定部１０３は、仮想マシンＢも再配置可能仮想マシンと判定する。
【００７７】
最後に、次のような仮想マシンＣを対象とすると仮定する。なお、再配置されるサーバ装置２０上で確保可能な単位時間当たりのリソース量δは仮想マシンＡ及びＢの場合と同様とする。
要求リソース量α：ＣＰＵ１．０（ＧＨｚ）
移動平均幅β：１（秒）
再配置時間γ：１０（秒）
リソース量δ：ＣＰＵ４．０（ＧＨｚ）
【００７８】
この場合、仮想マシンＣは移動平均幅が１秒であるため、再配置判定部１０３は、仮想マシンＣを再配置不可仮想マシンと判定する。再配置が行われている間、仮想マシンＣに対してリソースが全く割当てられないため、１秒の間に割当てられるリソース量（ＣＰＵ使用率）が０となり、仮想マシンＣのサービスレベルが維持できなくなるからである。
【００７９】
この場合、選択部１０４は、仮想マシンＣが再配置不可仮想マシンであるため、固定割当型で１（ＧＨｚ）のＣＰＵリソースを確保可能なサーバ装置を配置先候補に決定する。
【００８０】
上述の各実施形態における仮想マシンの配置の決定手法は、仮想マシンを新たにサーバ装置２０に配置する場面に適用されてもよいし、既にサーバ装置２０上で稼働している仮想マシンの再配置先を決定する場面に適用されてもよい。上述の各実施形態は、その適用場面を限定しない。
【００８１】
なお、上述の説明で用いたフローチャートでは、複数のステップ（処理）が順番に記載されているが、本実施形態で実行される処理ステップの実行順序は、その記載の順番に制限されない。本実施形態では、図示される処理ステップの順番を内容的に支障のない範囲で変更することができる。また、上述の各実施形態は、内容が相反しない範囲で組み合わせることができる。
【００８２】
上記の各実施形態の一部又は全部は、以下の付記のようにも特定され得る。但し、各実施形態が以下の記載に限定されるものではない。
【００８３】
（付記１）仮想マシンに関し、要求リソース量を平均値として算出するための時間幅を示す移動平均幅と、該仮想マシンが或るサーバ装置から他のサーバ装置へ再配置されるのに要する時間を示す再配置時間とを取得する第１情報取得部と、
前記第１情報取得部により取得された移動平均幅と再配置時間とを比較することにより、前記仮想マシンが或るサーバ装置から他のサーバ装置へ再配置可能か否かを判定する再配置判定部と、
を備える仮想マシン管理装置。
【００８４】
（付記２）前記仮想マシンの配置先となり得る各サーバ装置上で確保可能な単位時間当たりのリソース量をそれぞれ取得する第２情報取得部を更に備え、
前記第１情報取得部は、前記仮想マシンに関する要求リソース量を更に取得し、
前記再配置判定部は、前記移動平均幅、前記要求リソース量、前記再配置時間、及び前記各サーバ装置上で確保可能な単位時間当たりのリソース量を用いて、前記移動平均幅が示す時間幅で要求されるリソース量と前記移動平均幅が示す時間幅から前記再配置時間を除いた時間で確保可能なリソース量との比較を更に行うことにより、前記仮想マシンが或るサーバ装置から他のサーバ装置へ再配置可能か否かを判定する、
付記１に記載の仮想マシン管理装置。
【００８５】
（付記３）前記再配置判定部は、前記比較として、下記条件が成立するか否かを判定し、下記条件が成立する場合には、前記仮想マシンを再配置不可能と判定する付記２に記載の仮想マシン管理装置。
β＜γ又は｛（β−γ）×δ｝＜（α×β）
αは前記要求リソース量を示し、βは前記移動平均幅を示し、γは前記再配置時間を示し、δは前記各サーバ装置上で確保可能な単位時間当たりのリソース量を示す。
【００８６】
（付記４）前記仮想マシンが前記再配置判定部により再配置不可能と判定された場合に、前記仮想マシンに関する前記移動平均幅及び前記要求リソース量を最低限保証し得るサーバ装置を、前記仮想マシンの配置先に決定する選択部を更に備える付記１から３のいずれか１つに記載の仮想マシン管理装置。
【００８７】
（付記５）前記仮想マシンが前記再配置判定部により再配置不可能と判定された場合に、前記仮想マシンの配置先となるサーバ装置において、前記仮想マシンに関する前記移動平均幅及び前記要求リソース量が最低限保証されるようなリソース割当情報を出力する情報出力部を更に備える付記１から４のいずれか１つに記載の仮想マシン管理装置。
【００８８】
（付記６）前記情報出力部は、前記仮想マシンが前記再配置判定部により再配置可能と判定された場合には、再配置不可能と判定された場合に出力される前記リソース割当情報が示すリソース割当量よりも少ないリソース割当量を示すリソース割当情報を出力する付記５に記載の仮想マシン管理装置。
【００８９】
（付記７）前記情報出力部は、ＣＰＵ（Central Processing Unit）リソース使用優先度を前記リソース割当情報として出力する付記５又は６に記載の仮想マシン管理装置。
【００９０】
（付記８）コンピュータが、
仮想マシンに関し、要求リソース量を平均値として算出するための時間幅を示す移動平均幅と、該仮想マシンが或るサーバ装置から他のサーバ装置へ再配置されるのに要する時間を示す再配置時間とを取得し、
前記移動平均幅と前記再配置時間とを比較することにより、前記仮想マシンが或るサーバ装置から他のサーバ装置へ再配置可能か否かを判定する、
ことを含む仮想マシン管理方法。
【００９１】
（付記９）前記コンピュータが、
前記仮想マシンの配置先となり得る各サーバ装置上で確保可能な単位時間当たりのリソース量をそれぞれ取得し、
前記仮想マシンに関する要求リソース量を更に取得する、
ことを更に含み、
前記仮想マシンの再配置可能か否かの判定は、前記移動平均幅、前記要求リソース量、前記再配置時間、及び前記各サーバ装置上で確保可能な単位時間当たりのリソース量を用いて、前記移動平均幅が示す時間幅で要求されるリソース量と前記移動平均幅が示す時間幅から前記再配置時間を除いた時間で確保可能なリソース量との比較を更に行うことを含む、
付記８に記載の仮想マシン管理方法。
【００９２】
（付記１０）前記仮想マシンの再配置可能か否かの判定は、下記条件が成立するか否かの判定であり、下記条件が成立する場合には、前記仮想マシンを再配置不可能と判定する付記９に記載の仮想マシン管理方法。
β＜γ又は｛（β−γ）×δ｝＜（α×β）
αは前記要求リソース量を示し、βは前記移動平均幅を示し、γは前記再配置時間を示し、δは前記各サーバ装置上で確保可能な単位時間当たりのリソース量を示す。
【００９３】
（付記１１）前記コンピュータが、
前記仮想マシンが再配置不可能と判定された場合に、前記仮想マシンに関する前記移動平均幅及び前記要求リソース量を最低限保証し得るサーバ装置を、前記仮想マシンの配置先に決定する、
ことを更に含む付記８から１０のいずれか１つに記載の仮想マシン管理方法。
【００９４】
（付記１２）前記コンピュータが、
前記仮想マシンが再配置不可能と判定された場合に、前記仮想マシンの配置先となるサーバ装置において、前記仮想マシンに関する前記移動平均幅及び前記要求リソース量が最低限保証されるようなリソース割当情報を出力する、
ことを更に含む付記８から１１のいずれか１つに記載の仮想マシン管理方法。
【００９５】
（付記１３）前記コンピュータが、
前記仮想マシンが再配置可能と判定された場合には、再配置不可能と判定された場合に出力される前記リソース割当情報が示すリソース割当量よりも少ないリソース割当量を示すリソース割当情報を出力する、
ことを更に含む付記１２に記載の仮想マシン管理方法。
【００９６】
（付記１４）前記リソース割当情報の出力は、ＣＰＵ（Central Processing Unit）リソース使用優先度の出力を含む付記１２又は１３に記載の仮想マシン管理方法。
【００９７】
（付記１５）コンピュータに、
仮想マシンに関し、要求リソース量を平均値として算出するための時間幅を示す移動平均幅と、該仮想マシンが或るサーバ装置から他のサーバ装置へ再配置されるのに要する時間を示す再配置時間とを取得する第１情報取得部と、
前記第１情報取得部により取得された移動平均幅と再配置時間とを比較することにより、前記仮想マシンが或るサーバ装置から他のサーバ装置へ再配置可能か否かを判定する再配置判定部と、
を実現させるプログラム。
【００９８】
（付記１６）前記コンピュータに、
前記仮想マシンの配置先となり得る各サーバ装置上で確保可能な単位時間当たりのリソース量をそれぞれ取得する第２情報取得部を更に実現させ、
前記第１情報取得部は、前記仮想マシンに関する要求リソース量を更に取得し、
前記再配置判定部は、前記移動平均幅、前記要求リソース量、前記再配置時間、及び前記各サーバ装置上で確保可能な単位時間当たりのリソース量を用いて、前記移動平均幅が示す時間幅で要求されるリソース量と前記移動平均幅が示す時間幅から前記再配置時間を除いた時間で確保可能なリソース量との比較を更に行うことにより、前記仮想マシンが或るサーバ装置から他のサーバ装置へ再配置可能か否かを判定する、
付記１５に記載のプログラム。
【００９９】
（付記１７）前記再配置判定部は、前記比較として、下記条件が成立するか否かを判定し、下記条件が成立する場合には、前記仮想マシンを再配置不可能と判定する付記１６に記載のプログラム。
β＜γ又は｛（β−γ）×δ｝＜（α×β）
αは前記要求リソース量を示し、βは前記移動平均幅を示し、γは前記再配置時間を示し、δは前記各サーバ装置上で確保可能な単位時間当たりのリソース量を示す。
【０１００】
（付記１８）前記コンピュータに、
前記仮想マシンが前記再配置判定部により再配置不可能と判定された場合に、前記仮想マシンに関する前記移動平均幅及び前記要求リソース量を最低限保証し得るサーバ装置を、前記仮想マシンの配置先に決定する選択部、
を更に実現させる付記１５から１７のいずれか１つに記載のプログラム。
【０１０１】
（付記１９）前記コンピュータに、
前記仮想マシンが前記再配置判定部により再配置不可能と判定された場合に、前記仮想マシンの配置先となるサーバ装置において、前記仮想マシンに関する前記移動平均幅及び前記要求リソース量が最低限保証されるようなリソース割当情報を出力する情報出力部を更に実現させる付記１５から１８のいずれか１つに記載のプログラム。
【０１０２】
（付記２０）前記情報出力部は、前記仮想マシンが前記再配置判定部により再配置可能と判定された場合には、再配置不可能と判定された場合に出力される前記リソース割当情報が示すリソース割当量よりも少ないリソース割当量を示すリソース割当情報を出力する付記１９に記載のプログラム。
【０１０３】
この出願は、２０１１年８月８日に出願された日本出願特願２０１１−１７２５３８号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【図１】
2013021533.tif 000003
【図２】
2013021533.tif 000004
【図３】
2013021533.tif 000005
【図４】
2013021533.tif 000006
【図５】
2013021533.tif 000007
【図６】
2013021533.tif 000008
【国際調査報告】
2013021533.tif 000009
2013021533.tif 000010