(57)【要約】  仮想マシン管理装置は、各サーバ装置に関する利用リソース量の時系列データを仮想マシンに関する移動平均幅でそれぞれ平均化し、平均化された各時系列データに基づいて、各サーバ装置に関し、利用リソース量の確率密度分布を示す負荷特性データをそれぞれ生成する分析部と、この分析部により生成された各サーバ装置の負荷特性データと仮想マシンの要求リソース量とに応じて、複数のサーバ装置の中の少なくとも１つを選択する選択部とを備える。
2013011624.tif 000002
【特許請求の範囲】
【請求項１】
各サーバ装置に関し利用リソース量の時系列データをそれぞれ取得する第１情報取得部と、
仮想マシンに関し、要求リソース量と、該要求リソース量を平均値として算出するための時間幅を示す移動平均幅とを取得する第２情報取得部と、
前記第１情報取得部により取得される各サーバ装置の時系列データを前記第２情報取得部により取得される仮想マシンに関する移動平均幅でそれぞれ平均化し、該平均化された各時系列データに基づいて、前記各サーバ装置の、利用リソース量の確率密度分布を示す負荷特性データをそれぞれ生成する分析部と、
前記各サーバ装置の負荷特性データと前記第２情報取得部により取得される仮想マシンの要求リソース量とに応じて、前記複数のサーバ装置の中から少なくとも１つを選択する選択部と、
を備える仮想マシン管理装置。
【請求項２】
前記選択部は、
前記各サーバ装置の負荷特性データと前記仮想マシンの要求リソース量とに基づいて、前記各サーバ装置について、他の仮想マシンに固定的に割り当てられているリソースの空きを利用する形態で前記仮想マシンが利用し得るリソース量を示す期待値をそれぞれ算出する期待値算出部を含み、
前記期待値算出部により算出された前記各サーバ装置に関する各期待値と前記仮想マシンの要求リソース量との関係に応じて、前記複数のサーバ装置の中から少なくとも１つを選択する、
請求項１に記載の仮想マシン管理装置。
【請求項３】
前記選択部は、
各負荷特性データに、利用リソース量に対して所望の平均利用リソース量を示す所定量に近似する程高い価値を与える価値関数をそれぞれ適用することにより、各サーバ装置に関し、負荷特性の価値を示す第１価値データをそれぞれ算出する価値算出部を更に含み、
前記価値算出部により算出された各第１価値データを少なくとも用いて、前記少なくとも１つのサーバ装置を選択する、
請求項２に記載の仮想マシン管理装置。
【請求項４】
前記第２情報取得部は、前記仮想マシンに関する負荷特性データを更に取得し、
前記選択部は、
各負荷特性データに、前記第２情報取得部により取得される前記仮想マシンに関する負荷特性データをそれぞれ掛け合わせることにより、該各サーバ装置に関する、前記仮想マシンを配置した後の負荷特性データをそれぞれ推定し、該推定された各負荷特性データに前記価値関数を適用することにより、該各サーバ装置に関し、仮想マシン配置後の負荷特性の価値を示す第２価値データをそれぞれ算出する価値算出部を更に含み、
前記第１価値データから前記第２価値データへの増加量に応じて、前記少なくとも１つのサーバ装置を選択する、
請求項３に記載の仮想マシン管理装置。
【請求項５】
前記選択部は、前記仮想マシンの要求リソース量に対する、前記期待値算出部により算出された前記各サーバ装置に関する各期待値の割合を算出し、該割合が所定割合を超えるサーバ装置が存在しない場合には、前記仮想マシンの要求リソース量より小さい所定リソース量を固定的に割り当て得るサーバ装置を抽出し、
前記期待値算出部は、前記仮想マシンに関する要求リソース量から前記所定リソース量を引いた残りリソース量と前記抽出されたサーバ装置の負荷特性データとに基づいて、前記期待値を算出し、
前記選択部は、前記仮想マシンの要求リソース量より小さい前記所定リソース量を固定的に割り当て得るサーバ装置の中から、前記少なくとも１つのサーバ装置を選択する、
請求項２から４のいずれか１項に記載の仮想マシン管理装置。
【請求項６】
前記第２情報取得部は、前記仮想マシンに関し、サーバ装置から他のサーバ装置への再配置に要する時間を示す再配置時間を更に取得し、
前記仮想マシン管理装置は、
前記第２情報取得部により取得される前記仮想マシンに関する移動平均幅と前記再配置時間とを比較することにより、前記仮想マシンは再配置可能か否かを判定する再配置判定部、を更に備え、
前記選択部は、前記再配置判定部による判定結果に応じて、再配置不可能な仮想マシンの配置先には、再配置不可能な仮想マシンの要求リソース量を固定的に割り当て得るサーバ装置を選択する、
請求項１から５のいずれか１項に記載の仮想マシン管理装置。
【請求項７】
前記再配置判定部は、前記第２情報取得部により取得される要求リソース量α、移動平均幅β及び再配置時間γ、前記第１情報取得部により取得される前記各サーバ装置上で確保可能な単位時間当たりのリソース量δを用いて以下の２つの関係の判定を行い、いずれか一方の関係が成立する場合に、前記仮想マシンは再配置不可能と判定する、請求項６に記載の仮想マシン管理装置。
第１関係：β＜γ
第２関係：β＞γかつ｛（β−γ）×δ｝＜（α×β）
【請求項８】
請求項１から７のいずれか１項に記載の仮想マシン管理装置と前記複数のサーバ装置とを含む仮想マシン管理システムにおいて
前記各サーバ装置が、
自サーバ装置における利用リソース量の情報を収集し、収集された利用リソース量の情報を前記仮想マシン管理装置に送信する計測部と、
自サーバ装置上で稼働している仮想マシンに対するリソースの割り当てを行う制御部と、
を備える仮想マシン管理システム。
【請求項９】
コンピュータが、
各サーバ装置に関し利用リソース量の時系列データをそれぞれ取得し、
仮想マシンに関し、要求リソース量と、該要求リソース量を平均値として算出するための時間幅を示す移動平均幅とを取得し、
前記各サーバ装置の時系列データを前記仮想マシンの移動平均幅でそれぞれ平均化し、
前記平均化された各時系列データに基づいて、前記各サーバ装置の、利用リソース量の確率密度分布を示す負荷特性データをそれぞれ生成し、
前記各サーバ装置の負荷特性データと前記仮想マシンの要求リソース量とに応じて、前記複数のサーバ装置の中から少なくとも１つを選択する、
ことを含む仮想マシン管理方法。
【請求項１０】
前記各サーバ装置の負荷特性データと前記仮想マシンの要求リソース量とに基づいて、前記各サーバ装置について、他の仮想マシンに固定的に割り当てられているリソースの空きを利用する形態で前記仮想マシンが利用し得るリソース量を示す期待値をそれぞれ算出する、
ことを更に含み、
前記仮想マシンの配置先の選択は、前記各サーバ装置に関する各期待値と前記仮想マシンの要求リソース量との関係に応じて、前記複数のサーバ装置の中から少なくとも１つを選択する、
請求項９に記載の仮想マシン管理方法。
【請求項１１】
各負荷特性データに、利用リソース量に対して所望の平均利用リソース量を示す所定量に近似する程高い価値を与える価値関数をそれぞれ適用することにより、各サーバ装置に関し、負荷特性の価値を示す第１価値データをそれぞれ算出する、
ことを更に含み、
前記仮想マシンの配置先の選択は、前記各第１価値データを少なくとも用いて、前記少なくとも１つのサーバ装置を選択する、
請求項１０に記載の仮想マシン管理方法。
【請求項１２】
前記仮想マシンに関する負荷特性データを取得し、
各負荷特性データに、前記仮想マシンに関する負荷特性データをそれぞれ掛け合わせることにより、該各サーバ装置に関する、前記仮想マシンを配置した後の負荷特性データをそれぞれ推定し、
前記推定された各負荷特性データに前記価値関数を適用することにより、各サーバ装置に関し、仮想マシン配置後の負荷特性の価値を示す第２価値データをそれぞれ算出する、
ことを更に含み、
前記仮想マシンの配置先の選択は、前記第１価値データから前記第２価値データへの増加量に応じて、前記少なくとも１つのサーバ装置を選択する、
請求項１１に記載の仮想マシン管理方法。
【請求項１３】
前記仮想マシンの要求リソース量に対する、前記各サーバ装置に関する各期待値の割合を算出し、
前記割合が所定割合を超えるサーバ装置が存在しない場合には、前記仮想マシンの要求リソース量より小さい所定リソース量を固定的に割り当て得るサーバ装置を抽出し、
前記仮想マシンに関する要求リソース量から前記所定リソース量を引いた残りリソース量と前記抽出されたサーバ装置の負荷特性データとに基づいて、前記期待値を算出する、ことを更に含み、
前記仮想マシンの配置先の選択は、前記仮想マシンの要求リソース量より小さい前記所定リソース量を固定的に割り当て得るサーバ装置の中から、前記少なくとも１つのサーバ装置を選択する、
ことを更に含む請求項１０から１２のいずれか１項に記載の仮想マシン管理方法。
【請求項１４】
前記仮想マシンに関し、サーバ装置から他のサーバ装置への再配置に要する時間を示す再配置時間を取得し、
前記仮想マシンに関する移動平均幅と前記再配置時間とを比較することにより、前記仮想マシンは再配置可能か否かを判定する、
ことを更に含み、
前記仮想マシンの配置先の選択は、前記判定結果に応じて、再配置不可能な仮想マシンの配置先には、再配置不可能な仮想マシンの要求リソース量を固定的に割り当て得るサーバ装置を選択する、
請求項９から１３のいずれか１項に記載の仮想マシン管理方法。
【請求項１５】
前記仮想マシンに関する再配置可能か否かの判定は、
前記要求リソース量α、前記移動平均幅β及び前記再配置時間γ、前記各サーバ装置上で確保可能な単位時間当たりのリソース量δを用いて以下の２つの関係の判定を行い、いずれか一方の関係が成立する場合に、前記仮想マシンは再配置不可能と判定する、
請求項１４に記載の仮想マシン管理方法。
第１関係：β＜γ
第２関係：β＞γかつ｛（β−γ）×δ｝＜（α×β）
【請求項１６】
各サーバ装置に関し利用リソース量の時系列データをそれぞれ取得する第１情報取得部と、
仮想マシンに関し、要求リソース量と、該要求リソース量を平均値として算出するための時間幅を示す移動平均幅とを取得する第２情報取得部と、
前記第１情報取得部により取得される各サーバ装置の時系列データを前記第２情報取得部により取得される仮想マシンに関する移動平均幅でそれぞれ平均化し、該平均化された各時系列データに基づいて、前記各サーバ装置の、利用リソース量の確率密度分布を示す負荷特性データをそれぞれ生成する分析部と、
前記各サーバ装置の負荷特性データと前記第２情報取得部により取得される仮想マシンの要求リソース量とに応じて、前記複数のサーバ装置の中から少なくとも１つを選択する選択部と、
をコンピュータに実現させるプログラム。
【請求項１７】
前記選択部は、
前記各サーバ装置の負荷特性データと前記仮想マシンの要求リソース量とに基づいて、前記各サーバ装置について、他の仮想マシンに固定的に割り当てられているリソースの空きを利用する形態で前記仮想マシンが利用し得るリソース量を示す期待値をそれぞれ算出する期待値算出部を含み、
前記期待値算出部により算出された前記各サーバ装置に関する各期待値と前記仮想マシンの要求リソース量との関係に応じて、前記複数のサーバ装置の中のから少なくとも１つを選択する、
請求項１６に記載のプログラム。
【請求項１８】
前記選択部は、
各負荷特性データに、利用リソース量に対して所望の平均利用リソース量を示す所定量に近似する程高い価値を与える価値関数をそれぞれ適用することにより、各サーバ装置に関し、負荷特性の価値を示す第１価値データをそれぞれ算出する価値算出部を更に含み、
前記価値算出部により算出された各第１価値データを少なくとも用いて、前記少なくとも１つのサーバ装置を選択する、
請求項１７に記載のプログラム。
【請求項１９】
前記第２情報取得部は、前記仮想マシンに関する負荷特性データを更に取得し、
前記選択部は、
各負荷特性データに、前記第２情報取得部により取得される前記仮想マシンに関する負荷特性データをそれぞれ掛け合わせることにより、該各サーバ装置に関する、前記仮想マシンを配置した後の負荷特性データをそれぞれ推定し、該推定された各負荷特性データに前記価値関数を適用することにより、該各サーバ装置に関し、仮想マシン配置後の負荷特性の価値を示す第２価値データをそれぞれ算出する価値算出部を更に含み、
前記第１価値データから前記第２価値データへの増加量に応じて、前記少なくとも１つのサーバ装置を選択する、
請求項１８に記載のプログラム。
【請求項２０】
前記選択部は、前記仮想マシンの要求リソース量に対する、前記期待値算出部により算出された前記各サーバ装置に関する各期待値の割合を算出し、該割合が所定割合を超えるサーバ装置が存在しない場合には、前記仮想マシンの要求リソース量より小さい所定リソース量を固定的に割り当て得るサーバ装置を抽出し、
前記期待値算出部は、前記仮想マシンに関する要求リソース量から前記所定リソース量を引いた残りリソース量と前記抽出されたサーバ装置の負荷特性データとに基づいて、前記期待値を算出し、
前記選択部は、前記仮想マシンの要求リソース量より小さい前記所定リソース量を固定的に割り当て得るサーバ装置の中から、前記少なくとも１つのサーバ装置を選択する、
請求項１７から１９のいずれか１項に記載のプログラム。
【請求項２１】
前記第２情報取得部は、前記仮想マシンに関し、サーバ装置から他のサーバ装置への再配置に要する時間を示す再配置時間を更に取得し、
前記プログラムは、
前記第２情報取得部により取得される前記仮想マシンに関する移動平均幅と前記再配置時間とを比較することにより、前記仮想マシンは再配置可能か否かを判定する再配置判定部、を更に前記コンピュータに実現させ、
前記選択部は、前記再配置判定部による判定結果に応じて、再配置不可能な仮想マシンの配置先には、再配置不可能な仮想マシンの要求リソース量を固定的に割り当て得るサーバ装置を選択する、
請求項１６から２０のいずれか１項に記載のプログラム。
【請求項２２】
前記再配置判定部は、前記第２情報取得部により取得される前記要求リソース量α、前記移動平均幅β及び前記再配置時間γ、前記第１情報取得部により取得される前記各サーバ装置上で確保可能な単位時間当たりのリソース量δを用いて以下の２つの関係の判定を行い、いずれか一方の関係が成立する場合に、前記仮想マシンは再配置不可能と判定する、請求項２１に記載のプログラム。
第１関係：β＜γ
第２関係：β＞γかつ｛（β−γ）×δ｝＜（α×β）
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想環境における仮想マシンの再配置技術に関する。
【背景技術】
【０００２】
現在、仮想化技術の安定性、性能の向上により、基幹システムなどの高信頼性が要求されるシステムも仮想環境で動作可能になってきている。結果、１つの仮想環境の中で、異なるサービスレベルのシステムが混在するようになってきている。【０００３】
仮想環境では複数の仮想マシンがリソースを共有するため、或る仮想マシンのリソース使用量の増加が他の仮想マシンの性能に影響を与える可能性がある。そこで、例えば、ライブマイグレーションなどの技術を用いて、リソース不足になったサーバ上の仮想マシンを別のサーバへ再配置することにより、リソース不足が解決される。【０００４】
ところが、上記技術において、仮想マシンの再配置自体にもネットワーク帯域及び時間が必要とされるため、頻繁に再配置を行うことはかえってシステム全体のパフォーマンスを低下させる恐れがある。このような問題に対し、サーバ及び仮想マシンの性能情報（リソース情報）の時間周期性や仮想マシン間の性能情報の相関性を利用して、リソースの競合が起こり難い仮想マシンの組合せを求め、当該組合せ毎に仮想マシンを同一のサーバに集約させる手法が採られる。このような手法によれば、効率的なリソースの使用が可能となる。【０００５】
下記特許文献１では、各仮想マシンの過去の性能情報（リソース情報）の時間周期性に基づいて、仮想マシンの組合せの性能の合計が最大となるように仮想マシンを配備することで、リソースを効率的に利用することが提案されている。下記特許文献２では、仮想マシン間の相関性を利用し、相関性の高い仮想マシンを同一サーバに集約することでリソースを効率的に利用することが提案されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−１１５６５３号公報
【特許文献２】特開２０１０−２４４１８１号公報
【発明の概要】
【０００７】
しかしながら、上述のような従来手法は、仮想マシンの性能情報（リソース情報）に、時間周期性や他の仮想マシンとの相関性が無い場合には、適用することができない。
【０００８】
また、上述のような従来手法では、サービスレベルの違いが考慮されていないため、高いサービスレベルが要求される仮想マシンが１つのサーバに複数動作する可能性がある。この場合、必要以上のリソースが仮想マシンに割り当てられる状況（オーバプロビジョニング）になり、結果として、リソースの有効活用ができない場合がある。また、或る仮想マシンの急激なリソース使用量の増加により、他の仮想マシンにリソースが十分に割当てられなくなる。結果、このような手法によれば、仮想マシンの再配置が頻繁に必要となる、若しくは、サービスレベルの維持ができなくなるといった問題が生ずる可能性がある。
【０００９】
本発明は、上述のような事項を鑑みてなされたものであり、仮想マシンのサービスレベルを維持しつつ、サーバ装置のリソースを有効活用し得る、仮想マシンの配置決定技術を提供する。
【００１０】
本発明の各態様では、上述した課題を解決するために、それぞれ以下の構成を採用する。
【００１１】
第１の態様は仮想マシン管理装置に関する。第１の態様における仮想マシン管理装置は、各サーバ装置に関し利用リソース量の時系列データをそれぞれ取得する第１情報取得部と、仮想マシンに関し、要求リソース量と、この要求リソース量を平均値として算出するための時間幅を示す移動平均幅とを取得する第２情報取得部と、第１情報取得部により取得される各サーバ装置の時系列データを第２情報取得部により取得される仮想マシンに関する移動平均幅でそれぞれ平均化し、平均化された各時系列データに基づいて、各サーバ装置の、利用リソース量の確率密度分布を示す負荷特性データをそれぞれ生成する分析部と、この分析部により生成された各サーバ装置の負荷特性データと第２情報取得部により取得される仮想マシンの要求リソース量とに応じて、複数のサーバ装置の中から少なくとも１つを選択する選択部とを備える。
【００１２】
第２の態様は、第１の態様に係る仮想マシン管理装置と複数のサーバ装置とを含む仮想マシン管理システムに関する。第２の態様に係る仮想マシン管理システムでは、各サーバ装置が、自サーバ装置における利用リソース量の情報を収集し、収集された利用リソース量の情報を仮想マシン管理装置に送信する計測部と、自サーバ装置上で稼働している仮想マシンに対するリソースの割り当てを行う制御部と、を備える。
【００１３】
第３の態様は、仮想マシン管理方法に関する。第３の態様に係る仮想マシン管理方法は、コンピュータが、各サーバ装置に関し利用リソース量の時系列データをそれぞれ取得し、仮想マシンに関し、要求リソース量と、要求リソース量を平均値として算出するための時間幅を示す移動平均幅とを取得し、各サーバ装置の時系列データを仮想マシンに関する移動平均幅でそれぞれ平均化し、平均化された各時系列データに基づいて、各サーバ装置の、利用リソース量の確率密度分布を示す負荷特性データをそれぞれ生成し、各サーバ装置の負荷特性データと仮想マシンの要求リソース量とに応じて、複数のサーバ装置の中から少なくとも１つを選択する、ことを含む。
【００１４】
なお、本発明の別態様としては、上述の第１の態様における構成をコンピュータに実現させるコンピュータプログラムであってもよいし、このようなプログラムを記録したコンピュータが読み取り可能な記録媒体であってもよい。この記録媒体は、非一時的な有形の媒体を含む。
【００１５】
上記各態様によれば、仮想マシンのサービスレベルを維持しつつ、サーバ装置のリソースを有効活用し得る、仮想マシンの配置決定技術を提供することができる。
【図面の簡単な説明】
【００１６】
上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。【００１７】
【図１】図１は、本発明の実施形態における仮想マシン管理システムの構成例を概念的に示す図である。
【図２】図２は、ＣＰＵ使用率（CPU USAGE）の時系列データの例を示す図である。
【図３】図３は、移動平均幅で平均化されたＣＰＵ使用率（CPU USAGE）の時系列データの例を示す図である。
【図４】図４は、平均化されたＣＰＵ使用率（CPU USAGE）の時系列データから得られる負荷特性の例を示す図である。
【図５】図５は、第１実施形態における仮想マシン管理装置及びサーバ装置の処理構成例を概念的に示す図である。
【図６】図６は、期待値の算出式の概念を示す図である。
【図７】図７は、価値関数の例を示す図である。
【図８】図８は、第１実施形態における仮想マシン管理装置の動作例を示すフローチャートである。
【図９】図９は、第２実施形態における仮想マシン管理装置及びサーバ装置の処理構成例を概念的に示す図である。
【図１０】図１０は、第２実施形態における仮想マシン管理装置の動作例を示すフローチャートである。
【図１１】図１１は、サーバ装置２０（＃１）の平均化されていない利用リソース量（１秒単位）の時系列データを示す図である。
【図１２】図１２は、サーバ装置２０（＃２）の平均化されていない利用リソース量（１秒単位）の時系列データを示す図である。
【図１３】図１３は、サーバ装置２０（＃１）に関する移動平均幅（２０秒）で平均化された利用リソース量の時系列データを示す図である。
【図１４】図１４は、サーバ装置２０（＃２）に関する移動平均幅（２０秒）で平均化された利用リソース量の時系列データを示す図である。
【図１５】図１５は、サーバ２０（＃１）に関し生成された負荷特性データが示す負荷特性を示す図である。
【図１６】図１６は、サーバ２０（＃２）に関し生成された負荷特性データが示す負荷特性を示す図である。
【図１７】図１７は、サーバ２０（＃１）に関する平均化していない利用リソース量の時系列データから得られた負荷特性を示す図である。
【図１８】図１８は、サーバ２０（＃２）に関する平均化していない利用リソース量の時系列データから得られた負荷特性を示す図である。
【図１９】図１９は、サーバ２０（＃１）に仮想マシンＡを空き利用型で配備する場合に仮想マシンＡがリソースを確保できる度合いを示した図である。
【図２０】図２０は、サーバ２０（＃２）に仮想マシンＡを空き利用型で配備する場合に仮想マシンＡがリソースを確保できる度合いを示した図である。
【図２１】図２１は、仮想マシンＡのリソース量の時系列データを示す図である。
【図２２】図２２は、サーバ２０（＃２）及び仮想マシンＡのリソース量の時系列データを足し合わせた時系列データを示す図である。
【図２３】図２３は、サーバ２０（＃２）及び仮想マシンＡのリソース量の時系列データを足し合わせた時系列データから得られるサーバ２０（＃２）の負荷特性を示す図である。
【図２４】図２４は、サーバ２０（＃１）に仮想マシンＢを空き利用型で配備する場合に仮想マシンＢがリソースを確保できる度合いを示す図である。
【図２５】図２５は、サーバ２０（＃２）に仮想マシンＢを空き利用型で配備する場合に仮想マシンＢがリソースを確保できる度合いを示す図である。
【図２６】図２６は、サーバ２０（＃１）に仮想マシンＢを混在型（固定割当型：０．５（ＧＨｚ）、空き利用型：残り）で配備する場合に仮想マシンＢがリソース確保できる度合いを示す図である。
【図２７】図２７は、サーバ２０（＃２）に仮想マシンＢを混在型（固定割当型：０．５（ＧＨｚ）、空き利用型：残り）で配備する場合に仮想マシンＢがリソース確保できる度合いを示す図である。
【図２８Ａ】図２８Ａは、サーバ装置２０（＃１）の負荷特性データを示す図である。
【図２８Ｂ】図２８Ｂは、サーバ装置２０（＃２）の負荷特性データを示す図である。
【図２９】図２９は、仮想マシンの負荷特性データを示す図である。
【図３０Ａ】図３０Ａは、仮想マシン配置後のサーバ装置２０（＃１）の修正前の負荷特性データを示す図である。
【図３０Ｂ】図３０Ｂは、仮想マシン配置後のサーバ装置２０（＃２）の修正前の負荷特性データを示す図である。
【図３１Ａ】図３１Ａは、分割数（Ｌ＝４）で修正された仮想マシン配置後のサーバ装置２０（＃１）の負荷特性データを示す図である。
【図３１Ｂ】図３１Ｂは、分割数（Ｌ＝４）で修正された仮想マシン配置後のサーバ装置２０（＃２）の負荷特性データを示す図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施の形態について説明する。なお、以下に挙げる実施形態は例示であり、本発明は以下の実施形態の構成に限定されない。
【００１９】
図１は、本発明の実施形態における仮想マシン管理システムの構成例を概念的に示す図である。仮想マシン管理システム１は、図１に示すように、仮想マシン管理装置１０、管理対象である仮想マシンが動作可能な複数のサーバ装置２０等を有する。なお、以降、仮想マシン管理システム１は省略形で管理システム１と表記され、仮想マシン管理装置１０は省略形で管理装置１０と表記される。
【００２０】
管理システム１では、管理装置１０が、複数のサーバ装置２０の中から、対象となる仮想マシンを稼働させる上で最適な１つのサーバ装置２０を選択する。
【００２１】
管理装置１０は、いわゆるコンピュータであり、例えば、バス１５で相互に接続される、ＣＰＵ（Central Processing Unit）１１、メモリ１２、入出力インタフェース（Ｉ／Ｆ）１４等を有する。メモリ１２は、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ハードディスク、可搬型記憶媒体等である。入出力Ｉ／Ｆ１４は、通信網を介して各サーバ装置２０と通信を行う通信装置等と接続される。入出力Ｉ／Ｆ１４は、表示装置や入力装置等のようなユーザインタフェース装置と接続されてもよい。
【００２２】
各サーバ装置２０も、いわゆるコンピュータであり、例えば、図１に示されるようなハードウェア構成を有する。各サーバ装置２０は、複数の仮想マシンを動作させ得るハードウェア構成をそれぞれ有していればよく、各々同一のハードウェア構成を有する必要はない。本実施形態は、管理装置１０及び各サーバ装置２０のハードウェア構成を限定しない。
【００２３】
管理装置１０及び各サーバ装置２０は、例えば、メモリ１２に格納されるプログラムがＣＰＵ１１により実行されることにより各処理部をそれぞれ実現する。以降、各サーバ装置２０についての説明は、個々に区別して説明する必要がある場合を除いて、１つのサーバ装置２０として述べる。また、本実施形態は、サーバ装置２０の数を限定しない。
【００２４】
管理装置１０は、各サーバ装置２０に関し利用リソース量の時系列データをそれぞれ取得する第１情報取得部と、対象となる仮想マシンに関し、要求リソース量と、この要求リソース量を平均値として算出するための時間幅を示す移動平均幅とを取得する第２情報取得部と、第１情報取得部により取得される各サーバ装置２０の時系列データを第２情報取得部により取得される仮想マシンに関する移動平均幅でそれぞれ平均化し、平均化された各時系列データに基づいて、各サーバ装置２０の、利用リソース量の確率密度分布を示す負荷特性データをそれぞれ生成する分析部と、この分析部により生成された各サーバ装置の負荷特性データと第２情報取得部により取得される仮想マシンの要求リソース量とに応じて、複数のサーバ装置２０の中から少なくとも１つを選択する選択部と、を備える。
【００２５】
対象となる仮想マシンに対しては、要求リソース量及び移動平均幅が設定される。要求リソース量は、サーバ装置２０の各リソース種に応じた、所定単位時間（移動平均幅）あたりに必要とされ得るリソースの量の合計を示す。例えば、ＣＰＵ（Central Processing Unit）リソースの場合、要求リソース量として、１ギガヘルツ（ＧＨｚ）などが設定される。通信リソースの場合、要求リソース量として、１００メガｂｐｓなどが設定される。メモリリソースの場合、要求リソース量として、２００メガバイト（ＭＢ）などが設定される。本実施形態は、仮想マシンの要求リソース量のリソース種を限定しない。要求リソース量として、複数のリソース種のリソース量が含まれていてもよい。以下の説明では、要求リソース量として、ＣＰＵリソースのリソース量が利用される場合を例に挙げる。
【００２６】
移動平均幅は、上記要求リソース量を平均値として確保する際の、当該平均値を求めるための区間の幅（時間幅）を示す。言い換えれば、確保されるリソース量を移動平均幅で平均した値が要求リソース量を満足すれば、対応するサービスレベルが維持されていることになる。よって、当該移動平均幅の値が小さいほど、対応するサービスレベルは高くなる。このように、仮想マシンに関する要求リソース量及び移動平均幅は、その仮想マシンのサービスレベルを示すということもできる。
【００２７】
例えば、或る仮想マシンのサービスレベルにおいて、ＣＰＵリソースの要求リソース量が１（ＧＨｚ）に設定され、かつ、移動平均幅が１秒に設定されている場合、その仮想マシンに対しては、１（ＧＨｚ）が毎秒確保される必要がある。一方、移動平均幅が１０秒に設定されている場合、１０秒間隔で平均されたリソース量が１（ＧＨｚ）となっていればよいため、その仮想マシンに対しては、一時的に１（ＧＨｚ）が確保されなくともよい。これは、１０秒間の間に最低限１０ギガクロックのＣＰＵリソースを確保すればよいことと同じである。つまり、要求リソース量α、移動平均幅βを持つ仮想マシンのサービスレベルを維持するためには、配置先のサーバ装置２０において、β秒の間に、最低限リソース量（α×β）が確保される必要がある。
【００２８】
管理装置１０では、各サーバ装置２０に関する利用リソース量の時系列データ（図２参照）が仮想マシンに関する移動平均幅でそれぞれ平均化される。続いて、平均化された各時系列データ（図３参照）に基づいて、各サーバ装置２０に関し、利用リソース量の確率密度分布を示す負荷特性データ（図４参照）がそれぞれ生成される。負荷特性データは、言い換えれば、移動平均幅βで平均化されたサーバ装置２０の利用リソース量の履歴（時系列データ）を確率密度分布の形で表したものである。
【００２９】
図２は、第１情報取得部により取得された各サーバ装置２０の利用リソース量としてのＣＰＵ使用率（CPU USAGE）の時系列データの例を示す。図３は、図２に示す利用リソース量の時系列データが移動平均幅β（＝２０）で平均化された後の時系列データの例を示す。図４は、図３に示す平均化された時系列データから得られる負荷特性の例を示す。図４の例では、横軸が移動平均幅β毎の利用リソース量を示し、縦軸がその確率を示す。このように、管理装置１０により生成される負荷特性データは、リソース使用量（利用リソース量）とその確率とにより形成される。
【００３０】
管理装置１０では、このように仮想マシンのサービスレベル（移動平均幅）を反映させた各サーバ装置２０の負荷特性データと仮想マシンの要求リソース量とに応じて、複数のサーバ装置２０の中の少なくとも１つが選択される。選択された少なくとも１つのサーバ装置２０は、例えば、仮想マシンの配置先に決定される。
【００３１】
このように、本実施形態によれば、仮想マシンのサービスレベルを考慮して仮想マシンの配置先のサーバ装置を選択することができる。従って、本実施形態によれば、仮想マシンのサービスレベルを維持しながら、サーバ装置２０のリソースを有効に活用できるように、仮想マシンの配置を決定することができる。更に、本実施形態によれば、時間に関する情報が排除された負荷特性データを用いてサーバ装置２０が選択されるため、サーバ装置２０の負荷と仮想マシンの要求リソースとの間に時間周期性や時間相関性がない場合であっても、仮想マシンの適切な配置先を決定することができる。
【００３２】
以下、上述の実施形態について更に詳細を説明する。
【００３３】
［第１実施形態］
図５は、第１実施形態における仮想マシン管理装置１０及びサーバ装置２０の処理構成例を概念的に示す図である。管理装置１０は、図５に示すように、第１情報取得部１０１、第２情報取得部１０２、分析部１０３、選択部１０４、リソース情報データベース（ＤＢ）１０９等を有する。サーバ装置２０は、制御部２０１、計測部２０２、仮想マシン２０５等を有する。管理装置１０及びサーバ装置２０は、例えば、メモリ１２に格納されるプログラムがＣＰＵ１１により実行されることにより、図５に示される各処理部をそれぞれ実現する。
【００３４】
〔サーバ装置〕
サーバ装置２０では、１つ以上の仮想マシン２０５が実行されている。本実施形態は、各サーバ装置２０で実行される（稼働される）仮想マシン２０５の数を制限しない。
【００３５】
制御部２０１は、仮想マシン２０５へのリソース割当を実行する。例えば、ＣＰＵリソースに関し、制御部２０１は、ＣＰＵリソース使用優先度を各仮想マシン２０５のためにそれぞれ設定する。このＣＰＵリソース使用優先度とは、最低限保証されるＣＰＵリソース量を設定するものである。例えば、全ＣＰＵリソース量が１０（ＧＨｚ）であるサーバ装置２０において、仮想マシンＡに対してＣＰＵリソース使用優先度が３０（％）に設定された場合、仮想マシンＡは、１秒当たり３（ＧＨｚ）のＣＰＵリソースを最低限利用することができる。以降、このＣＰＵリソース使用優先度の設定のように、サーバ装置２０において、或る仮想マシンに最低限保証されるリソース量を割り当てることを、固定割当型の割当、固定的な割当等と表記する。よって、固定割当型で仮想マシンＡに対して或るリソース量が割り当てられた場合には、その仮想マシンＡは、その割当てられた範囲において当該リソースを必ず利用することができる。
【００３６】
制御部２０１は、上記固定割当型の割当に対して、空き利用型の割当を行うこともできる。空き利用型は、拝借型のリソース割当方式である。即ち、或る仮想マシンに対して空き利用型のリソース割当が実施される場合、制御部２０１は、その仮想マシンに対して新しくリソースを割当てることなく、他のタスク（他のプロセス、他の仮想マシン等）により使用されていない空きリソースをその仮想マシンに対して割り当てる。但し、空き利用型で割当てられたリソースは、空いている時間だけ利用することができる制限付きのリソースであり、継続的に利用することを保障されるものではない。即ち、空き利用型で割当てられたリソースは、固定割当型で割当てられている他の仮想マシンの要求により優先的に他の仮想マシンに対して再割当てされる。
【００３７】
制御部２０１は、仮想マシンＡのＣＰＵリソースに関する要求リソース量の全てを空き利用型で割り当てる場合には、仮想マシンＡに関するＣＰＵリソース使用優先度を０（％）に設定する。
【００３８】
計測部２０２は、自サーバ装置２０における利用リソース量の情報を収集する。この利用リソース量の情報とは、リソース種毎の、自サーバ装置２０上で利用されているリソース量の情報であり、性能情報と呼ぶこともできる。利用リソース量の情報には、例えば、ＣＰＵ使用率、ネットワーク使用量、メモリ使用量などの少なくとも１つが含まれる。利用リソース量の情報は、自サーバ装置２０上で動作する仮想マシン毎の利用リソース量の情報であってもよい。利用リソース量の情報には、リソース種毎の空きリソース量及び全リソース量の少なくとも一方が含まれる。
【００３９】
計測部２０２は、このように収集された利用リソース量情報を任意のタイミングで仮想マシン管理装置１０に送る。計測部２０２は、仮想マシン管理装置１０からの要求受信時に、利用リソース量情報を仮想マシン管理装置１０に送ってもよいし、自発的にかつ所定周期で当該情報を送ってもよい。本実施形態は、サーバ装置２０から仮想マシン管理装置１０への当該利用リソース量情報の送られ方を制限しない。
【００４０】
〔仮想マシン管理装置〕
第１情報取得部１０１は、各サーバ装置２０から、各サーバ装置２０に関し利用リソース量情報を取得し、取得された各サーバ装置２０の利用リソース量情報をそれぞれリソース情報ＤＢ１０９に格納する。リソース情報ＤＢ１０９は、各サーバ装置２０の利用リソース量情報を時系列データとしてそれぞれ格納する。当該時系列データには、当該利用リソース量情報が第１情報取得部１０１により各サーバ装置２０から取得された時間が利用されてもよいし、各サーバ装置２０において当該利用リソース量情報が収集された時間が利用されてもよい。
【００４１】
第２情報取得部１０２は、対象となる仮想マシンに関し、要求リソース量及び移動平均幅を取得する。上述したように、仮想マシンに関する要求リソース量及び移動平均幅は、その仮想マシンのサービスレベルを示すということもできるため、以降、要求リソース量及び移動平均幅を仮想マシンに関するサービスレベル情報と表記する場合もある。第２情報取得部１０２は、入出力Ｉ／Ｆ１４に接続されるユーザインタフェース装置を用いてユーザが入力することにより、当該サービスレベル情報を取得する。この場合、第２情報取得部１０２は、サービスレベル情報を入力するための画面を表示装置（図示せず）に表示させ、この画面に入力されたデータを当該サービスレベル情報として取得する。また、第２情報取得部１０２は、当該サービスレベル情報を他の装置から通信を介して取得してもよいし、サービスレベル情報を格納する可搬型記憶媒体から取得してもよい。
【００４２】
分析部１０３は、第２情報取得部１０２により取得されたサービスレベル情報に含まれる仮想マシンに関する移動平均幅を用いて、リソース情報ＤＢ１０９に格納される、各サーバ装置２０のリソース情報の時系列データを分析する。具体的には、分析部１０３は、各サーバ装置２０の時系列データを仮想マシンに関する移動平均幅でそれぞれ平均化し、平均化された各時系列データに基づいて、各サーバ装置２０に関し、利用リソース量の確率密度分布を示す負荷特性データをそれぞれ生成する。負荷特性データが示す負荷特性は、例えば、図４に示される。負荷特性データは、例えば、利用リソース量とその確率との配列データとして実現される。
【００４３】
分析部１０３は、対象となる全サーバ装置２０の各々の負荷特性データをそれぞれ生成してもよいし、指定されたサーバ装置２０のみの負荷特性データを生成するようにしてもよい。また、分析部１０３による負荷特性データの生成は、リソース情報ＤＢ１０９が更新されるタイミングで実行されてもよいし、所定の周期で実行されてもよいし、他の処理部からの依頼により実行されてもよい。
【００４４】
選択部１０４は、期待値算出部１０６、価値算出部１０７等を含む。
【００４５】
期待値算出部１０６は、各サーバ装置２０の負荷特性データと仮想マシンの要求リソース量とに基づいて、各サーバ装置２０について、他の仮想マシンに固定割当型で割り当てられているリソースの空きを利用する形態（空き利用型）で当該仮想マシンが利用し得るリソース量を示す期待値をそれぞれ算出する。期待値算出部１０６は、以下の（式１）を用いて当該期待値を算出する。
【００４６】
【数１】
2013011624.tif 000003
【００４７】
上記（式１）におけるεは、サーバ装置２０において固定割当型で既に割り当てられているリソース量の総和を示す。ρは、仮想マシンの要求リソース量のうちの空き利用型での利用が望まれるリソース量を示し、その初期値には仮想サーバの要求リソース量αが設定される。λは、サーバ装置２０の負荷特性の横軸（利用リソース量）を分割する幅を示し、λには仮想サーバの移動平均幅より大きい所定値が設定される。Ｌは、サーバ装置２０の負荷特性の横軸（リソース量）の分割数を示す。即ち、λ及びＬは期待値を得るための精度を示す。Ａは、リソース量ρに対応する、サーバ装置の負荷特性の横軸の幅（分割数）を示す。Ｐ（λｎ）は、利用リソース量がλ（ｎ−１）〜λｎとなる確率を示す。
【００４８】
上記（式１）の概念は、図６のように示すことができる。図６の例では、分割数（Ｌ）が８であり、固定割当型で既に割り当てられているリソース量（ε）は８λであり、リソース量（ρ）が２λであると仮定されている。よって、上記（式１）は次のように示される。
（式１）＝２λ×（Ｐ（λ）＋Ｐ（２λ）＋Ｐ（３λ）＋Ｐ（４λ）＋Ｐ（５λ）＋Ｐ（６λ））＋Ｐ（７λ）×（８λ−７λ）＋Ｐ（８λ）×（８λ−８λ）
【００４９】
上記（式１）及び図６に示すように、当該期待値を算出する上で、サーバ装置２０の全リソース量のうち固定割当型で未だ割り当てられていないリソース領域（未割当領域）は除外される。これは、当該仮想マシンがこの期待値を用いて選択されたサーバ装置に配置された後に、未割当領域が他の仮想マシンに固定割当型で割り当てられた場合に、他の仮想マシンにリソースを占有される可能性があるためである。上記（式１）のように期待値を算出することにより、今後他の仮想マシンに固定割当型でリソースが割り当てられたとしても、当該仮想マシンにとって、この算出された期待値分のリソースを利用することができる可能性は高いままとなる。
【００５０】
選択部１０４は、期待値算出部１０６により算出された期待値の、仮想マシンの要求リソース量のうちの空き利用型での利用が望まれるリソース量に対する割合が所定割合（例えば、９５％）を超えるサーバ装置２０が存在するか否かを判定する。初期状態では全要求リソース量を空き利用型で割り当てうるサーバ装置２０を選択するために、選択部１０４は、要求リソース量に対する期待値の割合が所定割合を超えるサーバ装置２０が存在するか否かを判定する。選択部１０４は、この判定に該当するサーバ装置２０を配置先候補として抽出する。なお、選択部１０４は、配置先候補として抽出された複数のサーバ装置２０のうち、算出された期待値が最も大きいサーバ装置２０を配置先として選択するようにしてもよい。
【００５１】
価値算出部１０７は、サーバ装置２０の負荷特性データの各々に、利用リソース量が第１所定量より大きい場合又はこの第１所定量以下の値を示す第２所定量より小さい場合に、利用リソース量が第１所定量と第２所定量との間に収まる場合よりも小さい値が出力される価値関数をそれぞれ適用することにより、各サーバ装置２０に関し、負荷特性の価値を示す第１価値データをそれぞれ算出する。これにより、第１価値データは、全リソース使用量が平均的な確率で表れる負荷特性に対して高い値を示し、リソース使用量に偏りがある負荷特性に対して小さい値を示す。
【００５２】
価値算出部１０７は、例えば、以下の（式２）を用いて、第１価値データを算出する。負荷特性の価値を求めるための価値関数は、図７のような関数に設定される。図７は価値関数の例を示す図である。下記（式２）におけるＰ（）、λ及びＬはそれぞれ上記（式１）と同意である。分割数Ｌは、その値が大きい程、計算量が増大するというように、計算精度に影響を与える。そこで、分割数Ｌの値は、計算量及び計算精度を加味して、予め調整可能に保持される。
【数２】
2013011624.tif 000004
【００５３】
この価値関数ｆは、リソース使用量の分布が理想の状態に近い場合に、高い価値（値）を出力する関数であり、その定義域は例えば０以上１以下に設定される。理想の状態とは、過負荷の状態が少なく、かつ、リソースを無駄なく利用しており、平均リソース使用量が高い状態を示す。例えば、ＣＰＵ平均使用率が６０％を理想状態とする場合、価値関数ｆは、ＣＰＵ使用率６０％に対して最も高い値を出力し、その値から離れるにつれて低い値を出力するように定義されればよい。
【００５４】
なお、上記（式２）における価値関数ｆは、一例であり、価値関数ｆは、利用リソース量に対して、所望の平均利用リソース量を示す所定量に近似する程高い価値を与える関数であればよい。また、上記（式２）の価値関数ｆは、負の値を出力する関数であっても、正の値を出力する関数であってもよい。当該所定量は、リソース種毎に決められ、予め調整可能に保持されてもよいし、各サーバ装置２０から取得されるようにしてもよい。
【００５５】
更に、価値算出部１０７は、各サーバ装置に関し、当該仮想マシンを配置した後の負荷特性データをそれぞれ推定し、この推定された各負荷特性データに上記（式２）を適用することにより、各サーバ装置に関する第２価値データをそれぞれ算出する。第２価値データは、仮想マシン配置後のサーバ装置２０の負荷特性の価値を示す。
【００５６】
価値算出部１０７は、第２価値データを算出する上で利用される分割幅λを、所定値である分割数Ｌとサーバ装置２０において固定割当型で割り当てられるリソース量の総和εとを用いて、上記（式１）に基づいて算出する。第２価値データを算出する上で利用されるεは、第１価値データの算出時に利用された総リソース量εに、配置対象の仮想マシンに割り当てられた固定割当量μを加算することにより算出される。
【００５７】
仮想マシン配置後の負荷特性データは、仮想マシンに関する負荷特性データと各サーバ装置２０の負荷特性データとを掛け合わせることにより取得される。仮想マシンに関する負荷特性データは、仮想マシンのサービスレベル情報の一つとして第２情報取得部１０２により取得されてもよいし、仮想マシンの要求リソース量に基づいて生成されたデータであってもよい。前者の場合、仮想マシンの負荷特性データは、例えば、シミュレーション等により予め取得される。後者の場合、仮想マシンの要求リソース量が１００（％）の確率で確保されることを示す負荷特性データが利用されればよい。
【００５８】
選択部１０４は、価値算出部１０７により算出された、仮想マシンの配置前に対応する第１価値データから仮想マシンの配置後に対応する第２価値データへの増加量に応じて、仮想マシンの配置先としてのサーバ装置を選択する。例えば、選択部１０４は、第１価値データから第２価値データへの増加量が最大となるサーバ装置２０を仮想マシンの配置先として選択する。このように配置前後の負荷特性の価値の増加量が最も大きいサーバ装置を選択することにより、サーバ装置２０の負荷特性の偏りを平準化することが可能となる。また、固定割当型で割り当て済みのリソースを複数の仮想マシンでバランスよく有効に共有することが可能となる。
【００５９】
なお、選択部１０４は、価値算出部１０７により算出された第１価値データ及び第２価値データのいずれか一方に応じて、仮想マシンの配置先となるサーバ装置２０を選択するようにしてもよい。
【００６０】
選択部１０４は、上述のような期待値を用いた選択により対象となるサーバ装置２０が存在しない場合、即ち、完全な空き利用型のリソース割当において仮想マシンのサービスレベルを満足するサーバ装置２０が存在しない場合、次のように仮想マシンの配置先となるサーバ装置２０を選択する。選択部１０４は、仮想マシンの要求リソース量の一部を固定割当型で割り当てることができ、かつ、残りの部分を空き利用型で割り当てることができるサーバ装置２０を選択する。以降、要求リソース量の一部を固定割当型で割り当て、かつ、残りの部分を空き利用型で割り当てる手法を混在割当型と表記する場合もある。
【００６１】
選択部１０４は、要求リソース量αのうちの所定量μを固定割当型で割り当てられるリソース量に決める。以降、固定割当型で割り当てられるリソース量を固定割当量と表記する場合もある。上記所定量μは固定割当量である。この所定量μは、予め保持される情報であってもよいし、要求リソース量αの所定割合として決められてもよい。選択部１０４は、全サーバ装置２０の中から、上記固定割当量μより大きい空きリソース量を持つサーバ装置２０を抽出する。選択部１０４は、固定割当量μを引いた残りの要求リソース量（α−μ）を空き利用型での利用が望まれるリソース量ρとして用いて上記期待値を再度算出し、この再計算された期待値に基づいて、抽出されたサーバ装置２０の中から１つを選択する。
【００６２】
選択部１０４は、このように仮想マシンの配置先となる１つのサーバ装置２０が見つかるまで、上記固定割当量μを順次増やしていく。なお、上記固定割当量μが要求リソース量αと同じになった場合、固定割当型でリソースを割り当てることができるサーバ装置２０が選択されることになる。
【００６３】
〔動作例〕
図８は、第１実施形態における仮想マシン管理装置１０の動作例を示すフローチャートである。ここでは、第１情報取得部１０１により収集された利用リソース量情報がサーバ装置２０毎にリソース情報ＤＢ１０９に既に格納されており、この利用リソース量の時系列データに基づいて分析部１０３により各サーバ装置２０の負荷特性データがそれぞれ生成されているものと仮定する。更に、第２情報取得部１０２により対象の仮想マシンに関する要求リソース量及び移動平均幅が既に取得されているものと仮定する。
【００６４】
仮想マシン管理装置１０では、まず、選択部１０４が、空き利用型での利用が望まれるリソース量ρを仮想マシンの要求リソース量αに設定する（Ｓ１０）。これは、仮想マシンの要求リソース量の全てを空き利用型で利用可能なサーバ装置２０を選択しようとすることを意味する。
【００６５】
続いて、選択部１０４は、リソース情報ＤＢ１０９に格納されるリソース情報の時系列データ及び仮想マシンのサービスレベル情報を参照することにより、固定割当型で割り当てられている総リソース量εが当該リソース量ρよりも大きいサーバ装置２０を抽出する（Ｓ１１）。選択部１０４は、抽出されたサーバ装置２０が複数存在する場合（Ｓ１２；ＹＥＳ）、期待値算出部１０６に期待値の算出を依頼する。なお、選択部１０４は、抽出されたサーバ装置２０が１つである場合には、そのサーバ装置２０を仮想マシンの配置先に決定する（図示せず）。
【００６６】
これに応じて、期待値算出部１０６は、各サーバ装置２０の負荷特性データとリソース量ρとに基づいて、処理（Ｓ１１）で抽出された各サーバ装置２０について期待値をそれぞれ算出する（Ｓ１４）。ここで算出される期待値は、例えば、他の仮想マシンに固定割当型で全リソースが割り当てられた状態において空き利用型で当該仮想マシンが利用し得る最低限のリソース量を示す。
【００６７】
続いて、選択部１０４は、処理（Ｓ１１）で抽出されたサーバ装置２０の中に、期待値算出部１０６により算出された期待値と固定割当量μとの和が要求リソース量αの所定割合（例えば、９５％）を超えるサーバ装置２０が存在するか否かを判定する（Ｓ１５）。この判定は、空き利用型での利用が望まれるリソース量ρを上記所定割合に対応する高い確率で利用することができるサーバ装置２０を検出することを意味する。よって、当該リソース量ρが要求リソース量αである場合には、完全な空き利用型で仮想マシンのサービスレベルを満足するサーバ装置２０が検出されることになる。
【００６８】
選択部１０４は、該当するサーバ装置２０が１つである場合には（Ｓ２０；ＮＯ）、そのサーバ装置２０を仮想マシンの配置先に決定する（Ｓ２１）。一方、該当するサーバ装置２０が複数存在する場合には（Ｓ２０；ＹＥＳ）、選択部１０４は、価値データの算出を価値算出部１０７に依頼する。
【００６９】
これに応じて、価値算出部１０７は、処理（Ｓ１５）で抽出された各サーバ装置２０に関し、当該仮想マシンを配置した後の負荷特性データをそれぞれ生成する（Ｓ２２）。この生成において、価値算出部１０７は、分析部１０３により生成されている仮想マシン配置前の負荷特性データと、仮想マシンのサービスレベル情報に対応する負荷特性データとを掛け合わせる。
【００７０】
価値算出部１０７は、仮想マシン配置前の負荷特性データ及び仮想マシン配置後の負荷特性データに価値関数ｆを適用することにより、処理（Ｓ１５）で抽出された各サーバ装置２０に関し、第１価値データ及び第２価値データをそれぞれ算出する（Ｓ２３）。第１価値データは、仮想マシン配置前の負荷特性の価値を示し、第２価値データは、仮想マシン配置後の負荷特性の価値を示す。
【００７１】
選択部１０４は、第１価値データから第２価値データへの増加量が最大となるサーバ装置２０を仮想マシンの配置先として選択する（Ｓ２４）。
【００７２】
これに対し、期待値と固定割当量μとの和が要求リソース量αの所定割合を超えるサーバ装置２０が存在しない場合（Ｓ１５；ＮＯ）、及び、固定割当型で割り当てられている総リソース量εが空き利用型での利用が望まれるリソース量ρよりも大きいサーバ装置２０が存在しない場合（Ｓ１２；ＮＯ）、選択部１０４は、次のように動作する。
【００７３】
選択部１０４は、要求リソース量αのうちの一部（所定量μ）を固定割当型で割り当てられるリソース量（固定割当量）に決める（Ｓ３０）。選択部１０４は、全サーバ装置２０の中から、固定割当量μより大きい空きリソースを持つサーバ装置２０を抽出する（Ｓ３２）。
【００７４】
選択部１０４は、該当するサーバ装置２０の中に固定割当量μより大きい空きリソースを持つサーバ装置２０が存在しない場合（Ｓ３３；ＮＯ）、完全な固定割当型、完全な空き利用型及び混在型のどのリソース割当手法を用いたとしても、当該仮想マシンのサービスレベルを維持し得るサーバ装置２０が存在しないと判定する（リソース不足判定）（Ｓ３４）。このような判定結果は、表示装置等から出力されてもよい。
【００７５】
選択部１０４は、該当するサーバ装置２０の中に固定割当量μより大きい空きリソースを持つサーバ装置２０が存在する場合（Ｓ３３；ＹＥＳ）、空き利用型での利用が望まれるリソース量ρを、要求リソース量αから固定割当量μ減じた値に設定する（Ｓ３６）。この設定は、配置先のサーバ装置２０において、仮想マシンに対して、リソース量μが固定的に割り当てられ、残り（α−μ）が空き利用型で割り当てられることを意味する。
【００７６】
選択部１０４は、変更されたリソース量ρが０でなければ（Ｓ３７；ＮＯ）、処理（Ｓ３２）で抽出されたサーバ装置２０の中から、固定割当型で割り当てられている総リソース量εが変更されたリソース量ρよりも大きいサーバ装置２０を新たに抽出する（Ｓ１１）。その後、処理（Ｓ１１）以降が実行される。一方、選択部１０４は、変更されたリソース量ρが０であれば（Ｓ３７；ＹＥＳ）、完全な固定割当型で要求リソース量αを割当て得るサーバ装置２０が存在することを意味するので、上述した処理（Ｓ２０）以降を実行する。
【００７７】
選択部１０４は、このように仮想マシンの配置先となる１つのサーバ装置２０が見つかるか（Ｓ２１又はＳ２４）、又は、リソース不足が判定される（Ｓ３４）まで、上記固定割当量μを順次増やしながら処理を繰り返す。
【００７８】
〔第１実施形態の作用及び効果〕
このように、第１実施形態では、期待値算出部１０６により算出される各サーバ装置２０の期待値を用いることにより、仮想マシンの要求リソース量αの全てを空き利用型で確保できる可能性が高いサーバ装置２０の選択が行われる。これにより、仮想マシンのサービスレベルを維持しつつ、空きリソースを効率的に利用し得るサーバ装置２０を仮想マシンの配置先に決定することができる。更に、第１実施形態では、固定割当型で割り当て済みのリソース量εの範囲で期待値が算出されるため、仮想マシンがこの期待値を用いて選択されたサーバ装置に配置された後に、未割当領域が他の仮想マシンに固定割当型で割り当てられた場合でも、当該仮想マシンが受ける影響を少なくすることができる。
【００７９】
更に、第１実施形態では、仮想マシンの要求リソース量αの全てを空き利用型で確保できる可能性が高いサーバ装置２０が存在しない場合には、要求リソース量αの一部が固定割当型で割り当てられることを想定することにより、要求リソース量αの一部を空き利用型で確保できる可能性が高いサーバ装置２０の選択が行われる。これにより、上述のような効果を得つつ、仮想マシンの配置先の選択の確実性を向上させることができる。
【００８０】
更に、第１実施形態では、当該期待値を用いた選択などにより配置先候補のサーバ装置２０が複数存在する場合には、リソースの使用状況に偏りがある負荷特性に対してペナルティを課す価値関数ｆを用いることにより、各サーバ装置２０における、仮想マシン配置前及び配置後の負荷特性の価値データがそれぞれ算出される。そして、仮想マシンの配置により負荷特性の価値が最も増加するサーバ装置が配置先として選択される。これにより、上述のような効果を得つつ、更に、サーバ装置２０の負荷特性の偏りを平準化することが可能となる。また、固定割当型で割り当て済みのリソースを複数の仮想マシンでバランスよく有効に共有することが可能となる。
【００８１】
このように第１実施形態によれば、仮想マシンのサービスレベルに応じて安定的にリソースを提供し得るサーバ装置２０が仮想マシンの配置先に選定されるため、仮想マシンの再配置回数を削減することができ、ひいては、仮想マシンの再配置によるシステム全体のパフォーマンスの低下を抑えることができる。
【００８２】
［第２実施形態］
以下、第２実施形態における仮想マシン管理システム１について、第１実施形態と異なる内容を中心に説明する。なお、第１実施形態と同じ内容については適宜省略する。
【００８３】
図９は、第２実施形態における仮想マシン管理装置１０及びサーバ装置２０の処理構成例を概念的に示す図である。管理装置１０は、図９に示すように、第１実施形態の構成に加えて、再配置判定部３０１を更に有する。サーバ装置２０の処理構成は第１実施形態と同様である。なお、管理装置１０及びサーバ装置２０のハードウェア構成は第１実施形態と同様である（図１参照）。
【００８４】
〔仮想マシン管理装置〕
第２情報取得部１０２は、第１実施形態で述べた情報に加えて、仮想マシンの再配置時間情報を更に取得する。この再配置時間とは、サーバ装置２０から他のサーバ装置２０へ仮想マシンを再配置するのに要する時間を示す。例えば、第２情報取得部１０２は、入出力Ｉ／Ｆ１４に接続されるユーザインタフェース装置を用いてユーザが入力することにより、当該再配置時間情報を取得してもよい。この場合、第２情報取得部１０２は、再配置時間を入力するための画面を表示装置（図示せず）に表示させ、この画面に入力されたデータを取得する。また、第２情報取得部１０２は、当該再配置時間の情報を他の装置から通信を介して取得してもよいし、その情報を格納する可搬型記憶媒体から取得してもよい。
【００８５】
このように取得される再配置時間によれば、仮想マシンのサービスレベルが高い場合、仮想マシンの再配置自体が行えない場合が生じ得る。ここで、移動平均幅をβとし、再配置時間をγとし、再配置されるサーバ装置２０上で確保可能な単位時間当たりのリソース量をδとする。このとき、β＜γの関係を持つ仮想マシンがサーバ装置間で再配置された場合、その仮想マシンはサービスレベルを維持することができない。再配置の間、その仮想マシンに対してリソースが全く割当てられないため、時間βの間に割当てられるリソースが０となる。結果、その仮想マシンの要求リソース量を満足することができないからである。このような仮想マシンについては、再配置を行うこと自体がサービスレベルの違反に繋がる。
【００８６】
また、β＞γ、かつ、｛（β−γ）×δ｝＜（α×β）を示す仮想マシンも、同様に、再配置をした場合、サービスレベルを維持することができない。再配置後に確保され得るリソース量｛（β−γ）×δ｝が最大リソース量（α×β）より小さいからである。以降、このように再配置自体が行えない高いサービスレベルが設定されている仮想マシンを再配置不可仮想マシンと表記し、再配置が可能な仮想マシンを再配置可能仮想マシンと表記する場合もある。
【００８７】
再配置判定部３０１は、このような仮想マシンに関するサービスレベル情報と、再配置時間との関係に基づいて、対象の仮想マシンが再配置可能か否かを判定する。再配置判定部３０１は、移動平均幅βと再配置時間γとの関係のみを用いて上記判定を行ってもよいし、要求リソース量α、移動平均幅β、再配置時間γ及び再配置されるサーバ装置２０上で確保可能な単位時間当たりのリソース量δの関係を用いて上記判定を行ってもよい。再配置されるサーバ装置２０上で確保可能な単位時間当たりのリソース量δは、リソース情報ＤＢ１０９に格納されるリソース情報から取得される。このリソース量δは、再配置されるサーバ装置２０における固定割り当て可能な空きリソース量と同意である。
【００８８】
前者の態様の場合に、再配置判定部３０１は、β＜（γ＋所定量Ａ）の関係が成立する場合に、その仮想マシンを再配置不可と判定し、それ以外の場合、その仮想マシンを再配置可能と判定する。後者の態様の場合には、再配置判定部３０１は、β＜（γ＋所定量Ａ）の関係が成立するか、又は、β＞＝（γ＋所定量Ａ）かつ（β−γ）×δ＜｛（α×β）＋所定量Ｂ｝の関係が成立する場合に、その仮想マシンを再配置不可と判定し、それ以外の場合、その仮想マシンを再配置可能と判定する。所定量Ａ及びＢは、誤差を考慮して予め決められる０以上の所定の値であり、予め保持される。
【００８９】
選択部１０４は、再配置判定部３０１により再配置不可と判定された仮想マシンには、その要求リソース量αの全てを固定割当型で割り当て得るサーバ装置２０を選択する。空き利用型又は混在型でリソースが割当てられた仮想マシンには、リソースが十分に割当てられない可能性がある。一般的には、仮想マシンに設定されたサービスレベルを維持できない場合には、その仮想マシンは、別のサーバへ再配置される。ところが、再配置不可仮想マシンは、再配置されるとそのサービスレベルを維持することができなくなる。そこで、選択部１０４は、その要求リソース量αの全てを固定割当型で割り当て得るサーバ装置２０を選択することにより、その仮想マシンのサービスレベルを維持する。
【００９０】
一方で、選択部１０４は、再配置可能と判定された仮想マシンについては、第１実施形態と同様の手法により配置先のサーバ装置２０を選択する。例えば、移動平均幅が大きい仮想マシンの場合、一定時間リソースが割当てられなかったとしても、再配置後の他のサーバ装置２０上で、潤沢なリソースが割当てられ得るからである。
【００９１】
〔動作例〕
図１０は、第２実施形態における仮想マシン管理装置１０の動作例を示すフローチャートである。図１０では、第１実施形態と同じ処理には図８と同じ符号が付される。
【００９２】
第２実施形態では、まず、再配置判定部３０１が、仮想マシンのサービスレベル情報及び再配置時間の関係に基づいて、仮想マシンの再配置の可否を判定する（Ｓ９１）。再配置判定部３０１により対象の仮想マシンが再配置可能と判定された場合（Ｓ９２；ＮＯ）、第１実施形態と同様に処理（Ｓ１０）以降が実行される。
【００９３】
一方、再配置判定部３０１は、対象の仮想マシンを再配置不可と判定した場合（Ｓ９２；ＹＥＳ）、その旨を選択部１０４に伝える。これに応じて、選択部１０４は、その仮想マシンの要求リソース量αよりも大きい空きリソース量を持つサーバ装置２０を抽出する（Ｓ９３）。続いて、選択部１０４は、第１実施形態と同様に処理（Ｓ２０）以降を実行する。
【００９４】
〔第２実施形態の作用及び効果〕
このように、第２実施形態では、サービスレベル情報及び再配置時間に基づいて、対象の仮想マシンについて、サービスレベルを維持した状態での再配置が可能か否かが判定される。結果、サービスレベルを維持した状態での再配置が不可と判定された仮想マシンについては、要求リソース量の全てを固定割当型で割り当て得るサーバ装置２０が配置先に選択される。
【００９５】
従って、第２実施形態によれば、再配置自体がサービスレベルの違反に繋がるような仮想マシンについては、再配置が行われる可能性が低いサーバ装置２０を配置先に選定することができる。結果、第２実施形態によれば、仮想マシンのサービスレベルを維持することができる。
【００９６】
［具体例］
以下、第２実施形態における管理装置１０の動作例を具体的なデータを用いて説明する。ここでは、次のような、要求リソース量α及び移動平均幅β、並びに、再配置時間γが設定された仮想マシンＡを対象とし、再配置されるサーバ装置２０上で確保可能な単位時間当たりのリソース量δも次のように設定されているものと仮定する。
要求リソース量α：ＣＰＵ０．５（ＧＨｚ）
移動平均幅β：２０（秒）
再配置時間γ：１０（秒）
リソース量δ：ＣＰＵ４．０（ＧＨｚ）
【００９７】
管理装置１０の動作は、例えば、ユーザがユーザインタフェースを操作することによって、開始される。まず、再配置判定部３０１は、再配置時間が１０秒で、再配置後に確保可能なＣＰＵリソースが４．０（ＧＨｚ）であるため、仮想マシンＡを再配置可能と判定する。これは、仮想マシンＡが２０秒間に１０ギガ（Ｇ）クロック（＝２０×０．５（ＧＨｚ））を要求しているのに対し、再配置自体に１０秒要しても再配置後の２．５秒間で１０（Ｇ）クロックを確保できるためである。仮想マシンＡが再配置可能仮想マシンであるため、選択部１０４は、仮想マシンＡに対して空き利用型でリソースを割当てることが可能であるか調べる。
【００９８】
ここで、サーバ装置２０（＃１）及び２０（＃２）が存在し、図１１及び図１２に示されるサーバ装置２０（＃１）及びサーバ装置２０（＃２）の利用リソース量の時系列データがリソース情報ＤＢ１０９に格納されていると仮定する。図１１及び図１２は、サーバ装置２０（＃１）及びサーバ装置２０（＃２）の利用リソース量の時系列データをそれぞれ示す図である。分析部１０３、仮想マシンＡの移動平均幅が２０秒であるため、各サーバ装置の利用リソース量の時系列データをその移動平均幅（２０秒）で平均化する。図１３及び図１４は、サーバ装置２０（＃１）及び２０（＃２）に関する平均化された時系列データの例を示す図である。
【００９９】
分析部１０３は、平均化された時系列データに基づいて、サーバ装置２０（＃１）及び２０（＃２）の負荷特性データをそれぞれ生成する。具体的には、分析部１０３は、平均化された時系列データに関して、ＣＰＵ使用率をｘ軸とした確率密度分布を求める。図１５及び図１６は、サーバ装置２０（＃１）及び２０（＃２）に関し生成された負荷特性データが示す負荷特性を示す図である。図１５及び図１６の各負荷特性における、ｘ軸の最大値（右端）は、既に各サーバ装置上で稼働している他の仮想マシンに対して固定割当型で割り当てられているリソース量の総計εを示す。
【０１００】
図１７及び図１８は、サーバ装置２０（＃１）及び２０（＃２）に関する平均化していない利用リソース量の時系列データから得られた負荷特性（確率密度分布）を示す。図１５から図１８によれば、平均化された利用リソース量の確率密度分布（図１５及び図１６）は、平均化される前の確率密度分布（図１７及び図１８）に比べ、リソース量が大きくなる確率が下がっていることが分かる。仮想マシンＡの要求リソース量が０．５（ＧＨｚ）であるため、図１９及び図２０に示される破線の四角で囲った部分の確率密度の総和が大きいほど、仮想マシンＡが利用できるリソース量の期待値は小さくなる。
【０１０１】
期待値算出部１０６は、仮想マシンＡの要求リソース量の全てを空き利用型で確保可能な期待値を各サーバ装置２０（＃１）及び２０（＃２）に関しそれぞれ算出する。分析部１０３は、例えば、上記（式１）を用いて、各期待値をそれぞれ算出する。
【０１０２】
選択部１０４は、要求リソース量の所定割合以上の期待値が算出されたサーバ装置を配置先の候補に決定する。図１９及び図２０の例によれば、サーバ装置２０（＃２）に関し算出される期待値は、サーバ装置２０（＃１）のそれよりも大きくなる。これは、サーバ装置２０（＃１）は、リソース量が大きい（高負荷である）確率が高いため（図１９参照）、仮想マシンＡに空きのリソースを提供できる確率が低くなり、サーバ装置２０（＃２）は、リソース量が大きい確率が低いため（図２０参照）、仮想マシンＡに空きのリソースを提供できる確率が高くなるからである。図１９及び図２０の例によれば、サーバ装置２０（＃２）が配置先の候補に決定される。
【０１０３】
配置先の候補として複数のサーバ装置が選定された場合、価値算出部１０７は、配置先の候補である各サーバ装置に関し、仮想マシンの配置前の負荷特性の価値データ（第１価値データ）及び仮想マシンの配置後の負荷特性の価値データ（第２価値データ）をそれぞれ算出する。各サーバ装置の負荷特性の価値データは、例えば、上記（式２）を用いて算出される。選択部１０４は、仮想マシン配置前の価値データから仮想マシン配置後の価値データへの増加量が最も大きいサーバ装置を配置先のサーバ装置として選択する。
【０１０４】
図２１は、仮想マシンＡに関するリソース量の時系列データの例を示し、図２２は、図１２の例に示されるサーバ装置２０（＃２）の利用リソース量の時系列データに図２１の例に示される仮想マシンＡに関するリソース量の時系列データを足して得られる時系列データを示し、図２３は、図２２の例に示される合算後の時系列データに関する負荷特性を示す。仮に、仮想マシンＡのリソース量情報が存在しない場合には、仮想マシンＡが要求リソース量αを常時使用すると仮定して、仮想マシンＡのリソース量が推定されればよい。
【０１０５】
次に、次のような仮想マシンＢを対象とすると仮定する。なお、再配置されるサーバ装置２０上で確保可能な単位時間当たりのリソース量δは仮想マシンＡの場合と同様とする。
要求リソース量α：ＣＰＵ１．０（ＧＨｚ）
移動平均幅β：２０（秒）
再配置時間γ：１０（秒）
リソース量δ：ＣＰＵ４．０（ＧＨｚ）
【０１０６】
この場合、再配置判定部３０１は、仮想マシンＢも再配置可能仮想マシンと判定する。また、期待値算出部１０６は、仮想マシンＡの場合と同様に、仮想マシンＢの要求リソース量の全てを空き利用型で確保可能な期待値を各サーバ装置２０（＃１）及び２０（＃２）に関しそれぞれ算出する。
【０１０７】
仮想マシンＡの場合には要求リソース量が０．５（ＧＨｚ）であったため、サーバ装置２０（＃２）に関し算出された期待値がサーバ装置２０（＃１）のそれよりも大きくなり、結果として、サーバ装置２０（＃２）が配置先に決定された。しかしながら、仮想マシンＢの場合には、要求リソース量が１．０（ＧＨｚ）であるため、図２４及び図２５に示すように、サーバ装置２０（＃１）及び２０（＃２）の両方の期待値が小さくなる。即ち、サーバ装置２０（＃１）及び２０（＃２）の両方において、仮想マシンＢに対し、空き利用型ではリソースを十分に割当られない可能性があると判断される。
【０１０８】
そこで、仮想マシンＢに関しては、選択部１０４は、全てのサーバ装置で空き利用型でのリソース確保ができないため、混在型のリソース割当手法の適用を試みる。サーバ装置で固定割当型で０．５（ＧＨｚ）が割り当てられると、空きリソースで確保する必要があるリソース量は０．５（ＧＨｚ）となる。よって、仮想マシンＡと同様な状況になるため、サーバ装置２０（＃２）（図２７）では確保できるが、サーバ装置２０（＃１）（図２６）では十分確保できない可能性があることがわかる。ここでは、固定割当の量を０．５（ＧＨｚ）単位としたが０．１（ＧＨｚ）単位のように変えてもよい。
【０１０９】
最後に、次のような仮想マシンＣを対象とすると仮定する。なお、再配置されるサーバ装置２０上で確保可能な単位時間当たりのリソース量δは仮想マシンＡ及びＢの場合と同様とする。
要求リソース量α：ＣＰＵ１．０（ＧＨｚ）
移動平均幅β：１（秒）
再配置時間γ：１０（秒）
リソース量δ：ＣＰＵ４．０（ＧＨｚ）
【０１１０】
この場合、仮想マシンＣは、移動平均幅が１秒であるため、再配置不可仮想マシンと判定される。再配置が行われている間、仮想マシンＣに対してリソースが全く割当てられないため、１秒の間に割当てられるリソース量（ＣＰＵ使用率）が０となり、仮想マシンＣのサービスレベルが維持できなくなるからである。
【０１１１】
選択部１０４は、仮想マシンＣが再配置不可仮想マシンであるため、固定割当型で１（ＧＨｚ）のＣＰＵリソースを確保可能なサーバ装置を配置先候補に決定する。
【０１１２】
次に、価値算出部１０７による第１価値データ及び第２価値データの算出の具体例について説明する。ここでは、図２８Ａに示される負荷特性を持つサーバ装置２０（＃１）と図２８Ｂに示される負荷特性を持つサーバ装置２０（＃２）とに対して、図２９に示される負荷特性を持つ仮想マシンが配置される場合を例に説明する。この例によれば、サーバ装置２０（＃１）では全リソース使用量が平均的な確率で表れているのに対して、サーバ装置２０（＃２）ではリソースの使用量に偏りが表れている。また、このとき、サーバ装置２０（＃１）及び（＃２）の負荷特性データの各々は、仮想マシンの負荷特性データと同じ平均移動幅で平均化された時系列データから生成されている。
【０１１３】
価値算出部１０７は、サーバ装置２０（＃１）及び（＃２）の各負荷特性データ（図２８Ａ及び図２８Ｂ）に上記（式２）を適用することにより第１価値データをそれぞれ算出する。所定の分割数Ｌは予め調整可能に保持される。但し、所定の分割数Ｌが大きい程、計算量は増加する。ここでは、所定の分割数Ｌは４に設定されている。また、サーバ装置２０（＃１）及び（＃２）において固定割当型で既に割り当てられている各総リソース量εはそれぞれ１００と仮定されている。これにより、分割幅λは、上記（式１）に基づいて算出され、ここでは、２５に設定される。
【０１１４】
ここで、サーバ装置２０（＃１）及び（＃２）に関し、価値関数ｆにより得られる値は、分割数（Ｌ＝４）に対して次のようになると仮定する（図７参照）。
ｆ（０．２５）＝０．２
ｆ（０．５）＝１
ｆ（０．７５）＝０．２
ｆ（１．０）＝０
【０１１５】
この場合、サーバ装置２０（＃１）の第１価値データは次のように算出される。
第１価値データ（＃１）＝Ｐ（２５）×ｆ（０．２５）＋Ｐ（５０）×ｆ（０．５）＋Ｐ（７５）×ｆ（０．７５）＋Ｐ（１００）×ｆ（１．０）＝０．２５×０．２＋０．２５×１＋０．２５×０．２＋０．２５×０＝０．０５＋０．２５＋０．０５＝０．３５
【０１１６】
サーバ装置２０（＃２）の第１価値データは次のように算出される。
第１価値データ（＃２）＝Ｐ（２５）×ｆ（０．２５）＋Ｐ（５０）×ｆ（０．５）＋Ｐ（７５）×ｆ（０．７５）＋Ｐ（１００）×ｆ（１．０）＝１×０．２＋０＋０＋０＝０．２
【０１１７】
価値算出部１０７は、仮想マシンの負荷特性データ（図２９）とサーバ装置２０（＃１）及び（＃２）の各負荷特性データ（図２８Ａ及び図２８Ｂ）とを掛け合わせることにより、各サーバ装置２０（＃１）及び（＃２）に関する、仮想マシン配置後の負荷特性データをそれぞれ算出する。
【０１１８】
価値算出部１０７は、このように算出された各負荷特性データを分割幅λ又は所定の分割数Ｌを用いてそれぞれ修正する。所定の分割数Ｌは予め調整可能に保持される。ここで利用される所定の分割数Ｌは、第１価値データを算出する上で利用されたものと同じであってもよいし、異なるものであってもよい。ここでは、所定の分割数Ｌは４に設定されている。価値算出部１０７は、仮想マシン配置後のサーバ装置２０（＃１）及び（＃２）において固定割当型で割り当てられる各総リソース量εを算出する。例えば、仮想マシンの固定割当量がμとすると、ε＝ε＋μにより仮想マシン配置後の総リソース量εが推定される。ここでは、仮想マシン配置後のサーバ装置２０（＃１）及び（＃２）において固定割当型で割り当てられる各総リソース量εはそれぞれ２００（＝１００＋１００）と仮定される。これにより、分割幅λは、上記（式１）に基づいて、５０（＝２００／４）に設定される。
【０１１９】
図３０Ａは、仮想マシン配置後のサーバ装置２０（＃１）の修正前の負荷特性データを示し、図３０Ｂは、仮想マシン配置後のサーバ装置２０（＃２）の修正前の負荷特性データを示す。図３１Ａは、分割数（Ｌ＝４）で修正された仮想マシン配置後のサーバ装置２０（＃１）の負荷特性データを示し、図３１Ｂは、分割数（Ｌ＝４）で修正された仮想マシン配置後のサーバ装置２０（＃２）の負荷特性データを示す。
【０１２０】
価値算出部１０７は、このように修正された各負荷特性データに上記（式２）に適用することにより、サーバ装置２０（＃１）及び（＃２）の各第２価値データをそれぞれ算出する。サーバ装置２０（＃１）及び（＃２）に関し、価値関数ｆにより得られる値は、分割数（Ｌ＝４）に対して次のようになると仮定する（図７参照）。
ｆ（０．２５）＝０．２
ｆ（０．５）＝１
ｆ（０．７５）＝０．２
ｆ（１．０）＝０
【０１２１】
この場合、サーバ装置２０（＃１）の第２価値データは次のように算出される。
第２価値データ（＃１）＝Ｐ（５０）×ｆ（０．２５）＋Ｐ（１００）×ｆ（０．５）＋Ｐ（１５０）×ｆ（０．７５）＋Ｐ（２００）×ｆ（１．０）＝０．１３×０．２＋０．３７×１＋０．３７×０．２＋０．１３×０＝０．０２６＋０．３７＋０．０７４＝０．４７
【０１２２】
サーバ装置２０（＃２）の第２価値データは次のように算出される。
第２価値データ（＃２）＝Ｐ（５０）×ｆ（０．２５）＋Ｐ（１００）×ｆ（０．５）＋Ｐ（１５０）×ｆ（０．７５）＋Ｐ（２００）×ｆ（１．０）＝０．３７×０．２＋０．５×１＋０．１３×０．２＝０．０７４＋０．５＋０．０２６＝０．６
【０１２３】
選択部１０４は、価値算出部１０７により算出された、仮想マシンの配置前に対応する第１価値データから仮想マシンの配置後に対応する第２価値データへの増加量を、サーバ装置２０（＃１）及び（＃２）の各々についてそれぞれ算出する。上述の例によれば、サーバ装置２０（＃１）の増加量は０．１２（＝０．４７−０．３５）と算出され、サーバ装置２０（＃２）の増加量は０．４（＝０．６−０．２）と算出される。
【０１２４】
結果、この例では、選択部１０４は、増加量の大きいサーバ装置２０（＃２）を仮想マシンの配置先に決定する。
【０１２５】
［変形例］
上述の各実施形態では、（式２）の分割数Ｌで示すように、価値関数ｆの横軸の右端がサーバ装置２０において固定割当型で既に割り当てられているリソース量の総和εに設定された。これにより、サーバ装置２０において割り当て済みのリソースに関し負荷特性の偏りが平準化された。変形例として、価値関数ｆの横軸の右端はサーバ装置２０の総リソース量に設定されるようにしてもよい。この場合には、未割当のリソースも含めた総リソースに関し負荷特性の偏りを平準化することができる。
【０１２６】
上述の各実施形態では、仮想マシンの配置先のサーバ装置２０を選択するにあたり、固定割当型、空き利用型、又は混在型のいずれか１つのリソース割当方式の適用を想定して、固定割当量及びそれ以外のリソース量が決定された。これら決定された固定割当量及びそれ以外のリソース量は、仮想マシンの配置先に決定されたサーバ装置２０に、管理装置１０からリソース割当情報として通知されるようにしてもよい。この場合、サーバ装置２０の制御部２０１は、管理装置１０から送られるリソース割当情報に基づいて、当該リソース割当を実行すればよい。例えば、ＣＰＵリソースに関し、制御部２０１は、通知された固定割当量に対応するＣＰＵリソース使用優先度を決定し、これを仮想マシンのために設定すればよい。このようにすれば、サーバ装置２０において必要となるリソース制御のための設定作業の負担を軽減することができる。
【０１２７】
上述の各実施形態における仮想マシンの配置の決定手法は、仮想マシンを新たにサーバ装置２０に配置する場面に適用されてもよいし、既にサーバ装置２０上で稼働している仮想マシンの再配置先を決定する場面に適用されてもよい。上述の各実施形態は、その適用場面を限定しない。
【０１２８】
なお、上述の説明で用いたフローチャートでは、複数のステップ（処理）が順番に記載されているが、本実施形態で実行される処理ステップの実行順序は、その記載の順番に制限されない。本実施形態では、図示される処理ステップの順番を内容的に支障のない範囲で変更することができる。また、上述の各実施形態は、内容が相反しない範囲で組み合わせることができる。
【０１２９】
この出願は、２０１１年７月１５日に出願された日本出願特願２０１１−１５６９２５号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【図１】
2013011624.tif 000005
【図２】
2013011624.tif 000006
【図３】
2013011624.tif 000007
【図４】
2013011624.tif 000008
【図５】
2013011624.tif 000009
【図６】
2013011624.tif 000010
【図７】
2013011624.tif 000011
【図８】
2013011624.tif 000012
【図９】
2013011624.tif 000013
【図１０】
2013011624.tif 000014
【図１１】
2013011624.tif 000015
【図１２】
2013011624.tif 000016
【図１３】
2013011624.tif 000017
【図１４】
2013011624.tif 000018
【図１５】
2013011624.tif 000019
【図１６】
2013011624.tif 000020
【図１７】
2013011624.tif 000021
【図１８】
2013011624.tif 000022
【図１９】
2013011624.tif 000023
【図２０】
2013011624.tif 000024
【図２１】
2013011624.tif 000025
【図２２】
2013011624.tif 000026
【図２３】
2013011624.tif 000027
【図２４】
2013011624.tif 000028
【図２５】
2013011624.tif 000029
【図２６】
2013011624.tif 000030
【図２７】
2013011624.tif 000031
【図２８Ａ】
2013011624.tif 000032
【図２８Ｂ】
2013011624.tif 000033
【図２９】
2013011624.tif 000034
【図３０Ａ】
2013011624.tif 000035
【図３０Ｂ】
2013011624.tif 000036
【図３１Ａ】
2013011624.tif 000037
【図３１Ｂ】
2013011624.tif 000038
【国際調査報告】
2013011624.tif 000039
2013011624.tif 000040