(57)【要約】【課題】物理マシンが仮想マシンを動作させられるか否かの判定を短い時間かつ高い精度で行う技術を提供する。【解決手段】対象仮想マシン数取得部２０２０は、対象物理マシン上で動作させることができるか否かの判定対象である対象仮想マシンの数を取得する。動作可否判定部２０６０は、複数の判定方式のいずれかを用いて、対象物理マシンが対象仮想マシンを動作させられるか否かを判定する。動作可否判定部２０６０によって用いられる判定方式は、判定方式選択部２０４０によって選択される。判定方式選択部２０４０は、対象仮想マシン数取得部２０２０によって取得された対象仮想マシンの数に基づいて、複数の判定方式の中から、動作可否判定部２０６０が用いる判定方式を選択する。【選択図】図１
2015022322.tif 000002
【特許請求の範囲】
【請求項１】
対象物理マシン上で動作させることができるか否かの判定対象である対象仮想マシンの数を取得する対象仮想マシン数取得手段と、
前記対象仮想マシンの数に基づいて、複数の判定方式の中から、動作可否判定手段によって実行される前記判定方式を選択する判定方式選択手段と、
前記判定方式選択手段によって選択された前記判定方式を用いて、前記対象物理マシンが前記対象仮想マシンを動作させられるか否かの判定を行う動作可否判定手段と、
を有する仮想マシン管理装置。
【請求項２】
前記対象仮想マシンが物理マシンにかける負荷の平均及び分散を示す負荷統計情報を取得する負荷統計情報取得手段を有し、
前記複数の判定方式は、
各前記対象仮想マシンが物理マシンにかける負荷の確率分布を示す負荷情報を取得し、各負荷情報が示す前記確率分布の畳み込みを算出することで、各前記対象仮想マシンが前記物理マシンにかける負荷の合計の確率分布を算出し、算出した確率分布を用いて、前記対象仮想マシンが前記対象物理マシンにかける負荷の合計が前記対象物理マシンによって許容される負荷を超える確率である過負荷率を算出する第１判定方式と、
各前記対象仮想マシンに関する前記負荷統計情報を用いて、前記過負荷率の上界値を算出する第２判定方式と、
各前記対象仮想マシンに関する前記負荷統計情報を用いて、各前記対象仮想マシンが前記物理マシンにかける負荷の合計の確率分布を表す正規分布を算出し、算出した正規分布を用いて、前記過負荷率を算出する第３判定方式と、
のうち、いずれか複数を含み、
前記複数の判定方式が前記第１判定方式を含む場合、前記負荷情報を取得する負荷情報取得手段を有し、
前記動作可否判定手段は、前記判定方式選択手段によって選択された判定方式を用いて算出した前記過負荷率又は前記過負荷率の上界値に基づいて、前記対象物理マシンが前記対象仮想マシンを動作させられるか否かの判定を行う、
請求項１に記載の仮想マシン管理装置。
【請求項３】
前記判定方式選択手段は、
前記対象仮想マシンの数が第１閾値以下の場合、前記第１判定方式を前記判定方式として選択し、
前記対象仮想マシンの数が前記第１閾値より大きくかつ第２閾値以下である場合、前記第２判定方式を前記判定方式として選択し、
前記対象仮想マシンの数が前記第２閾値より大きい場合、前記第３判定方式を前記判定方式として選択する、
請求項２に記載の仮想マシン管理装置。
【請求項４】
前記第２判定方式は、チェビシェフの不等式又はチェビシェフの不等式を変形して得られる不等式を用いて、前記過負荷率の上界値を算出する、請求項２又は３に記載の仮想マシン管理装置。
【請求項５】
前記負荷情報に示される負荷の確率分布から、その負荷の平均及び分散を算出することで、前記負荷統計情報を生成する、負荷統計情報生成手段を有する、請求項２乃至４いずれか一項に記載の仮想マシン管理装置。
【請求項６】
前記対象仮想マシンが物理マシンにかけた負荷の履歴を示す負荷履歴情報取得する、負荷履歴情報取得手段と、
前記負荷履歴情報に示されている負荷の履歴から、その負荷の確率分布を算出することで、前記負荷情報を生成する、負荷情報生成手段と、
前記負荷履歴情報に示されている負荷の履歴の平均及び分散を算出することで、前記負荷統計情報を生成する、負荷統計情報生成手段と、
を有し、
前記負荷情報取得手段は、前記負荷情報生成手段によって生成された前記負荷情報を取得し、
前記負荷統計情報取得手段は、前記負荷統計情報生成手段によって生成された前記負荷統計情報を取得する、
請求項２乃至４いずれか一項に記載の仮想マシン管理装置。
【請求項７】
代表的な仮想マシンである代表仮想マシンが物理マシンにかける負荷の平均及び分散を示す代表統計情報を取得する、代表統計値取得手段と、
前記代表統計情報を用いて、複数の前記代表仮想マシンが前記対象物理マシンにかける負荷の合計が前記対象物理マシンによって許容される負荷を超える確率の上界値を算出し、その上界値に基づいて、前記対象物理マシン上で動作させることができる前記代表仮想マシンの数である予測稼働数を算出する予測稼働数算出手段を有し、
前記対象仮想マシン数取得手段は、前記予測稼働数算出手段によって算出された予測稼働数を、前記対象仮想マシンの数として取得する、
請求項１乃至６いずれか一項に記載の仮想マシン管理装置。
【請求項８】
複数の対象仮想マシンが前記対象物理マシン上で動作しており、
前記対象仮想マシンが物理マシンにかける負荷の平均及び分散を示す負荷統計情報を取得する負荷統計情報取得手段と、
前記複数の対象仮想マシンそれぞれについて、その対象仮想マシンを除く全ての前記複数の対象仮想マシンによって前記対象物理マシンにかかる負荷が前記対象物理マシンによって許容される負荷を超える確率の上界値と、その対象仮想マシンを含む全ての前記複数の対象仮想マシンによって前記対象物理マシンにかかる負荷が前記対象物理マシンによって許容される負荷を超える確率の上界値との違いを示す値を算出し、前記対象物理マシンに対するその対象仮想マシンの影響度とする、影響度算出手段と、
前記複数の対象仮想マシンのうち、前記影響度が最も大きい対象仮想マシンを、前記対象物理マシンの外部へ移行する候補にする、移行候補決定手段と、
を有する請求項１乃至７いずれか一項に記載の仮想マシン管理装置。
【請求項９】
コンピュータに、仮想マシン管理装置として動作する機能を持たせるプログラムであって、前記コンピュータに、
対象物理マシン上で動作させることができるか否かの判定対象である対象仮想マシンの数を取得する対象仮想マシン数取得機能と、
前記対象仮想マシンの数に基づいて、複数の判定方式の中から、動作可否判定機能によって実行される前記判定方式を選択する判定方式選択機能と、
前記判定方式選択機能によって選択された前記判定方式を用いて、前記対象物理マシンが前記対象仮想マシンを動作させられるか否かの判定を行う動作可否判定機能と、
を持たせるプログラム。
【請求項１０】
コンピュータによって実行される仮想マシン管理方法であって、
対象物理マシン上で動作させることができるか否かの判定対象である対象仮想マシンの数を取得する対象仮想マシン数取得ステップと、
前記対象仮想マシンの数に基づいて、複数の判定方式の中から、動作可否判定ステップによって実行される前記判定方式を選択する判定方式選択ステップと、
前記判定方式選択ステップによって選択された前記判定方式を用いて、前記対象物理マシンが前記対象仮想マシンを動作させられるか否かの判定を行う動作可否判定ステップと、
を有する仮想マシン管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想マシンを管理する技術に関する。
【背景技術】
【０００２】
一台の物理マシンに対して、より多くの仮想マシンを集約することで、仮想マシンを動作させるために必要な物理マシンの数を減らすことができる。これにより、例えば、消費電力の削減などの効果が得られる。ただし、仮想マシンを少数の物理マシンへ集約する際、一台の物理マシンに対して過剰に仮想マシンを集約すると、各仮想マシンの性能が低下する可能性がある。これは、物理マシンに過剰な負荷がかかってしまい、物理マシンが持つ計算機リソースが不足してしまうためである。したがって、仮想マシンを物理マシン上で動作させる場合、その仮想マシンによってその物理マシンにかかる負荷を考慮し、物理マシンの計算機リソースが不足しないようにする必要がある。
【０００３】
例えば特許文献１は、物理マシン上で動作させる各仮想マシンのリソース使用量のピークが重ならないようにすることで、仮想マシンの性能低下を防ぐ技術を開示している。特許文献１において、仮想マシンのリソース使用量の経時変化は、特定の関数で表される。また、特許文献２や非特許文献１は、仮想マシンのリソース使用量を確率分布としてモデル化することで、仮想マシンを配置した後の、物理マシンのリソース使用量を予測する技術を開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１１７７６０
【特許文献２】特願２０１１−１５６９２５
【非特許文献】
【０００５】
【非特許文献１】Ming Chen、Hui Zhang、Ya-Yunn Su、Xiaorui Wang、Guofei Jiang、Kenji Yoshihira、「Effective VM sizing in virtualized data centers」、2011 IFIP/IEEE International Symposium on Integrated Network Management、pp.594-601、2011 年 5 月 23 日
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明者は、物理マシンが仮想マシンを動作させることができるか否かを判定する判定方法を、物理マシン上で動作させられる仮想マシンの数に応じて選択する必要性を見出した。これは、各判定方法の精度やコストが、物理マシン上で動作させられる仮想マシンの数に応じて異なるためである。前述した各先行技術文献は、物理マシンが仮想マシンを動作させることができるか否かを判定する判定方法を、物理マシン上で動作させられる仮想マシンの数に応じて選択する方法やその必要性を開示していない。
【０００７】
本発明は、以上の課題に鑑みてなされたものである。本発明の目的は、物理マシンが仮想マシンを動作させられるか否かの判定を短い時間かつ高い精度で行う技術を提供することである。
【課題を解決するための手段】
【０００８】
本発明が提供する仮想マシン管理装置は、対象物理マシン上で動作させることができるか否かの判定対象である対象仮想マシンの数を取得する対象仮想マシン数取得手段と、前記対象仮想マシンの数に基づいて、複数の判定方式の中から、動作可否判定手段によって実行される前記判定方式を選択する判定方式選択手段と、前記判定方式選択手段によって選択された前記判定方式を用いて、前記対象物理マシンが前記対象仮想マシンを動作させられるか否かの判定を行う動作可否判定手段と、を有する。
【０００９】
本発明が提供するプログラムは、コンピュータに、本発明が提供する仮想マシン管理装置として動作する機能を持たせる。当該プログラムは、コンピュータに、上記仮想マシン管理装置が有する各機能構成部の機能を持たせる。
【００１０】
本発明が提供する仮想マシン管理方法は、コンピュータによって実行される。当該仮想マシン管理方法は、対象物理マシン上で動作させることができるか否かの判定対象である対象仮想マシンの数を取得する対象仮想マシン数取得ステップと、前記対象仮想マシンの数に基づいて、複数の判定方式の中から、動作可否判定ステップによって実行される前記判定方式を選択する判定方式選択ステップと、前記判定方式選択ステップによって選択された前記判定方式を用いて、前記対象物理マシンが前記対象仮想マシンを動作させられるか否かの判定を行う動作可否判定ステップと、を有する。
【発明の効果】
【００１１】
本発明によれば、物理マシンが仮想マシンを動作させられるか否かの判定を短い時間かつ高い精度で行う技術が提供される。
【図面の簡単な説明】
【００１２】
【図１】実施形態１に係る仮想マシン管理装置を示すブロック図である。
【図２】実施形態１に係る仮想マシン管理装置のハードウエア構成を例示するブロック図である。
【図３】実施形態１に係る仮想マシン管理装置によって実行される処理の流れを示すフローチャートである。
【図４】仮想マシン管理装置のユースケースを例示する図である。
【図５】実施形態２に係る仮想マシン管理装置を示すブロック図である。
【図６】負荷情報の構成を例示する図である。
【図７】負荷統計情報の構成を例示する図である。
【図８】実施形態２に係る仮想マシン管理装置によって実行される処理の流れを示すフローチャートである。
【図９】実施形態３に係る仮想マシン管理装置を示すブロック図である。
【図１０】実施形態３に係る仮想マシン管理装置によって実行される処理の流れを示すフローチャートである。
【図１１】実施形態４に係る仮想マシン管理装置を示すブロック図である。
【図１２】実施形態５に係る仮想マシン管理装置を示すブロック図である。
【図１３】負荷履歴情報の構成を例示する図である。
【図１４】実施形態６に係る仮想マシン管理装置を示すブロック図である。
【図１５】実施形態６に係る仮想マシン管理装置によって実行される処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
【００１４】
[実施形態１]
図１は、実施形態１に係る仮想マシン管理装置２０００を示すブロック図である。図１において、矢印の流れは情報の流れを示している。また、図１において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を示している。
【００１５】
仮想マシン管理装置２０００は、仮想マシンを、対象の物理マシン（以下、対象物理マシン）上で動作させることができるか否かを判定する。ここで、「仮想マシンを物理マシン上で動作させることができる」とは、その物理マシン上において、その仮想マシンが、許容できる性能で動作することを意味する。また、対象物理マシン上で動作させることができるか否かの判定対象である仮想マシンを、対象仮想マシンと呼ぶ。対象仮想マシンは、１つであってもよいし、複数であってもよい。ここにおける物理マシンとは、種々の計算機である。例えば物理マシンは、PC (Personal Computer)、サーバ、及び携帯型計算機などである。また、ここにおける仮想マシンとは、ソフトウエアによって生成された仮想的なハードウエアで構成される、仮想的な計算機である。例えば仮想マシンは、仮想マシンモニタやエミュレータなどによって生成される。そして、ある物理マシン上で動作する仮想マシンは、その物理マシンが持つ計算機リソースを使用して動作する。計算機リソースは、CPU、メモリ、ストレージ、及びネットワークインタフェースなど、物理マシンが持つ種々のハードウエアである。
【００１６】
仮想マシン管理装置２０００は、対象仮想マシン数取得部２０２０、判定方式選択部２０４０、及び動作可否判定部２０６０を有する。以下、それぞれについて詳しく説明する。
【００１７】
＜対象仮想マシン数取得部２０２０＞
対象仮想マシン数取得部２０２０は、対象仮想マシンの数（以下、対象仮想マシン数）を取得する。例えば対象仮想マシン数は、対象物理マシン上で動作させようとしている仮想マシンの数である。また例えば、対象仮想マシン数は、対象物理マシンが動作させることができる仮想マシンの数の予測値である。対象物理マシンが動作させることができる仮想マシンの数の予測値は、例えば、仮想マシンが物理マシンにかける負荷の予測値や、経験則などによって定められる値である。
【００１８】
対象仮想マシン数取得部２０２０が対象仮想マシン数を取得する方法は様々である。例えば対象仮想マシン数取得部２０２０は、仮想マシン管理装置２０００の内部に格納されている対象仮想マシン数や、仮想マシン管理装置２０００の内部で算出された対象仮想マシン数を取得する。また、対象仮想マシン数取得部２０２０は、仮想マシン管理装置２０００の外部から、手動による対象仮想マシン数の入力を受け付けてもよい。さらに、対象仮想マシン数取得部２０２０は、仮想マシン管理装置２０００の外部の装置から、対象仮想マシン数を取得してもよい。
【００１９】
＜動作可否判定部２０６０＞
動作可否判定部２０６０は、複数の判定方式のいずれかを用いて、対象物理マシンが対象仮想マシンを動作させられるか否かを判定する。動作可否判定部２０６０によって用いられる判定方式は、判定方式選択部２０４０によって選択される。
【００２０】
＜判定方式選択部２０４０＞
判定方式選択部２０４０は、対象仮想マシン数取得部２０２０によって取得された対象仮想マシン数に基づいて、複数の判定方式の中から、動作可否判定部２０６０が用いる判定方式を選択する。
【００２１】
＜ハードウエア構成＞
仮想マシン管理装置２０００が有する各機能構成部は、例えば、個々に又は複数組み合わせられた状態で、少なくとも１つのハードウエア構成要素として実現される。その他にも例えば、各機能構成部は、少なくとも１つのソフトウエア構成要素として実現される。その他にも例えば、各機能構成部は、ハードウエア構成要素とソフトウエア構成要素の組み合わせにより実現される。
【００２２】
図２は、仮想マシン管理装置２０００のハードウエア構成を例示するブロック図である。図２において、仮想マシン管理装置２０００は、バス１０２０、プロセッサ１０４０、メモリ１０６０、及びストレージ１０８０を有する。ただし、仮想マシン管理装置２０００のハードウエア構成は、図２に示す構成に限定されない。例えば、対象仮想マシン数取得モジュール１２２０、判定方式選択モジュール１２４０、及び動作可否判定モジュール１２６０は、メモリ１０６０に格納されてもよい。この場合、仮想マシン管理装置２０００は、ストレージ１０８０を備えていなくてもよい。
【００２３】
バス１０２０は、プロセッサ１０４０、メモリ１０６０、及びストレージ１０８０が、相互にデータを送受信するためのデータ伝送路である。プロセッサ１０４０は、例えば CPU (Central Processing Unit) や GPU (Graphics Processing Unit) などの演算処理装置である。メモリ１０６０は、例えば RAM (Random Access Memory) や ROM (Read Only Memory) などのメモリである。ストレージ１０８０は、例えばハードディスク、USB (Universal Serial Bus) メモリ、又は SSD (Solid State Drive) などの記憶装置である。また、ストレージ１０８０は、RAM や ROM 等のメモリであってもよい。
【００２４】
対象仮想マシン数取得モジュール１２２０は、仮想マシン管理装置２０００に、対象仮想マシン数取得部２０２０の機能を持たせるためのプログラムである。プロセッサ１０４０は、対象仮想マシン数取得モジュール１２２０を実行することで、対象仮想マシン数取得部２０２０の機能を実現する。
【００２５】
判定方式選択モジュール１２４０は、仮想マシン管理装置２０００に、判定方式選択部２０４０の機能を持たせるためのプログラムである。プロセッサ１０４０は、判定方式選択モジュール１２４０を実行することで、判定方式選択部２０４０の機能を実現する。
【００２６】
動作可否判定モジュール１２６０は、仮想マシン管理装置２０００に、動作可否判定部２０６０の機能を持たせるためのプログラムである。プロセッサ１０４０は、動作可否判定モジュール１２６０を実行することで、動作可否判定部２０６０を実現する。
【００２７】
例えばプロセッサ１０４０は、上記各モジュールをメモリ１０６０上に読み出して実行する。ただし、プロセッサ１０４０は、上記各モジュールを、メモリ１０６０上に読み出さずに実行してもよい。
【００２８】
ストレージ１０８０は、上記各モジュールを格納する。
【００２９】
＜処理の流れ＞
図３は、実施形態１に係る仮想マシン管理装置２０００によって実行される処理の流れを例示するフローチャートである。ステップＳ１０２において、対象仮想マシン数取得部２０２０は、対象仮想マシン数を取得する。ステップＳ２０４において、判定方式選択部２０４０は、対象仮想マシン数に基づいて、判定方式を選択する。ステップＳ２０６において、動作可否判定部２０６０は、判定方式選択部２０４０によって選択された判定方式を用いて、対象物理マシンが対象仮想マシンを動作させられるか否かを判定する。
【００３０】
＜作用・効果＞
以上のように、仮想マシン管理装置２０００は、まず対象仮想マシン数を用いて、動作可否の判定に用いる判定方式を選択する。そして、仮想マシン管理装置２０００は、その判定方式を用いて動作可否の判定を行う。したがって、仮想マシン管理装置２０００によれば、対象仮想マシン数に応じて、対象物理マシンが対象仮想マシンを動作させられるか否かを判定する適切な方法が選択される。一般に、判定方式の精度や計算コストは、物理マシン上で動作させようとしている仮想マシンの数によって異なる。仮想マシン管理装置２０００によれば、対象仮想マシン数に応じて動作可否判定手段が選択されるため、高い精度かつ短い時間で、対象仮想マシンの動作可否を判定することができる。
【００３１】
図４は、仮想マシン管理装置２０００のユースケースを例示する図である。P1 は物理マシンであり、V1 〜 Vn は仮想マシンである。図４（ａ）は、仮想マシンが動作していない物理マシン P1 に対して仮想マシンを配置するケースを示している。仮想マシン管理装置２０００は、P1 が、V1 〜 Vn を動作させられるか否かを判定する。また、例えば図４（ａ）が示すケースの場合、仮想マシン管理装置２０００は、V1 〜 Vn のうちの、様々な仮想マシンの組み合わせについて、P1 上で動作できるか否かを判定する。こうすることで、仮想マシン管理装置２０００は、P1 上で動作させることができる仮想マシンの様々な組み合わせを割り出すことができる。
【００３２】
図４（ｂ）は、既に仮想マシンが動作している物理マシン P1 に対して、新たに仮想マシンを配置するケースである。具体的には、V1 〜 Vn-1 が動作している P1 に対し、新たに Vn を配置する。そのために、仮想マシン管理装置２０００は、P1 が、既に P1 上で動作している V1 〜 Vn-1 と、P1 上で動作させようとしている Vn とを合わせた V1 〜 Vn を、動作させられるか否かを判定する。P1 が V1 〜 Vn を動作させられると判定した場合、仮想マシン管理装置２０００は、Vn を P1 に配置する。
【００３３】
図４（ｃ）は、既に P1 上で動作している仮想マシンを、そのまま動作させ続けることができるか否かを判定するケースである。P1 は、V1 〜 Vn を動作させている。一般に、仮想マシンが物理マシンにかける負荷は変動するため、ある時点において P1 上で動作可能と判断された V1 〜 Vn が、その後もずっと P1 上で動作可能であるとは限らない。そのため、例えば仮想マシン管理装置２０００は、定期的に、P1 が V1 〜 Vn を動作させられるか否かを判定する。そして仮想マシン管理装置２０００は、P1 が V1 〜 Vn を動作させられないと判定した場合、例えば V1 〜 Vn のいずれか１つ以上を別の物理マシンへ移行することで、P1 にかかる負荷を低減させる。
【００３４】
ここで、仮想マシンの移行とは、ある物理マシン上で既に動作している仮想マシンを別の物理マシンへ移す処理のことである。例えば仮想マシンの移行は、移行元の物理マシン上にある仮想マシンを、移行先の物理マシン上へコピーすることで実現する。一般にこの処理は、仮想マシンの移送（マイグレーション）と呼ばれる。ここにおける移送は、仮想マシンを動作させたまま移送処理を開始する移送（ライブマイグレーション）であってもよいし、仮想マシンの動作を停止させてから移送処理を開始する移送であってもよい。その他にも例えば、仮想マシンの移行は、移行元の物理マシン上にある仮想マシンを削除し、その仮想マシンと同等に扱う新たな仮想マシンを、移行先の物理マシン上で動作させる処理であってもよい。例えば、移行先で動作させる新たな仮想マシンに、移行元で動作させていた仮想マシンと同一のＩＤを割り当てることで、移行先で動作させる新たな仮想マシンを、移行元で動作させていた仮想マシンと同等に扱う。以降の各実施形態及び実施例で用いられる「移行」についても、同様の意味を持つ。
【００３５】
[実施形態２]
図５は、実施形態２に係る仮想マシン管理装置２０００を示すブロック図である。図５において、矢印の流れは情報の流れを示している。また、図５において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を示している。実施形態２の仮想マシン管理装置２０００は、下記で説明する点を除き、実施形態１の仮想マシン管理装置２０００と同様である。
【００３６】
実施形態２の仮想マシン管理装置２０００は、負荷情報取得部２０８０及び負荷統計情報取得部２１００をさらに有する。そして、実施形態２の判定方式選択部２０４０によって選択されうる複数の判定方式は、後述する第１判定方式、第２判定方式、及び第３判定方式のうち、いずれか複数を含む。ここで、判定方式選択部２０４０が選択しうる負荷判定方式に、第１判定方式が含まれない場合、仮想マシン管理装置２０００は、負荷情報取得部２０８０を有しなくてもよい。以下、各機能構成部について詳しく説明する。
【００３７】
＜負荷情報取得部２０８０＞
負荷情報取得部２０８０は、負荷情報を取得する。負荷情報は、対象仮想マシンが物理マシンにかける負荷の確率分布を示す。例えばこの確率分布は、関数やヒストグラムで表される。仮想マシンが物理マシンにかける負荷は、例えば、その仮想マシンによって使用される、物理マシンの計算機リソースの量である。仮想マシンによって使用される物理マシンの計算機リソースの量は、例えば、単位時間当たりに使用される計算機リソースの量を示す、リソース使用率で表される。
【００３８】
ここで、仮想マシンが物理マシンにかける負荷は、仮想マシンが使用する複数の計算機リソースのうち、１つの計算機リソースのみに関する値で表されてもよいし、複数の計算機リソースに関する値で表されてもよい。前者の場合、例えばその負荷は、その仮想マシンが最も使用している計算機リソースに関する値や、管理者が着目したい計算機リソースに関する値である。後者の場合、例えばその負荷は、その仮想マシンによる各計算機リソースの使用量の平均などで表される。ただし、仮想マシンが物理マシンにかける負荷の表し方は、これらに限定されない。
【００３９】
対象仮想マシンに関する負荷情報は、例えばその対象仮想マシンが対象物理マシンにかける負荷に関する情報である。また、対象仮想マシンに関する負荷情報は、その対象仮想マシンが対象物理マシン以外の物理マシンにかける負荷に関する情報であってもよい。例えば、対象物理マシンが既に運用されている場合、対象仮想マシンが対象物理マシンにかける負荷を実測しようとすると、既に運用されているサービスに影響を及ぼす可能性がある。そこで、対象仮想マシンが対象物理マシン以外の物理マシンにかける負荷を実測することで算出された負荷の確率分布を、対象仮想マシンが対象物理マシンにかける負荷の確率分布の代わりに用いる。なお、実測に用いる物理マシンは、対象物理マシンと同様のハードウエア構成及びソフトウエア構成を有することが好ましい。また、ある仮想マシンに関する負荷情報は、その仮想マシンを実際に物理マシン上で動作させて計測した実測値から生成されてもよいし、シミュレーションや経験則に基づく予測値から生成されてもよい。
【００４０】
図６は、負荷情報の構成を例示する図である。図６において、負荷情報は、テーブル形式で表されている。図６に示す負荷情報を、負荷情報テーブル１００と表記する。負荷情報テーブル１００は、仮想マシン ID １０２及び負荷確率１０４を示す。仮想マシン ID １０２は、各対象仮想マシンの ID を示す。そして、負荷情報テーブル１００の各レコードは、仮想マシン ID １０２で特定される対象仮想マシンが物理マシンにかける負荷の確率分布を、負荷確率１０４に示す。負荷確率１０４は、対象仮想マシンが物理マシンにかける負荷であるリソース使用率Ｘが、負荷確率１０４に示す各リソース使用率の範囲となる確率を示している。例えば、仮想マシン VM1 のリソース使用率が 0% 以上 10 % 未満である確率は、5% である。
【００４１】
負荷情報取得部２０８０が負荷情報を取得する方法は様々である。例えば負荷情報取得部２０８０は、仮想マシン管理装置２０００の内部で生成される負荷情報、又は仮想マシン管理装置２０００の内部に格納されている負荷情報を取得する。その他にも例えば、負荷情報取得部２０８０は、仮想マシン管理装置２０００の外部から、負荷情報の入力を受け付ける。この場合、負荷情報は、手動で入力されてもよいし、外部の装置から入力されてもよい。
【００４２】
＜負荷統計情報取得部２１００＞
負荷統計情報取得部２１００は、負荷統計情報を取得する。負荷統計情報は、対象仮想マシンが物理マシンにかける負荷の平均及び分散を示す。対象仮想マシンに関する負荷統計情報は、負荷情報と同様に、その対象仮想マシンが対象物理マシンにかける負荷に関する情報であってもよいし、その対象仮想マシンが対象物理マシン以外の物理マシンにかける負荷に関する情報であってもよい。また、ある仮想マシンに関する負荷統計情報は、その仮想マシンを実際に物理マシン上で動作させて計測した実測値から生成されてもよいし、シミュレーションや経験則に基づく予測値から生成されてもよい。
【００４３】
図７は、負荷統計情報の構成を例示する図である。図７において、負荷統計情報は、テーブル形式で表されている。図７に示す負荷統計情報を、負荷統計情報テーブル２００と表記する。負荷統計情報テーブル２００は、仮想マシン ID ２０２、平均２０４、及び分散２０６を有する。仮想マシン ID ２０２は、各対象仮想マシンの ID を示す。そして、負荷統計情報テーブル２００の各レコードは、仮想マシン ID ２０２で特定される対象仮想マシンが物理マシンにかける負荷の平均と分散のそれぞれを、平均２０４と分散２０６に示す。
【００４４】
負荷統計情報取得部２１００が負荷統計情報を取得する方法は様々である。例えば負荷統計情報取得部２１００は、仮想マシン管理装置２０００の内部で生成される負荷統計情報、又は仮想マシン管理装置２０００の内部に格納されている負荷統計情報を取得する。その他にも例えば、負荷統計情報取得部２１００は、仮想マシン管理装置２０００の外部から、負荷統計情報の入力を受け付ける。この場合、負荷統計情報は、手動で入力されてもよいし、外部の装置から入力されてもよい。
【００４５】
＜判定方式選択部２０４０＞
実施形態２の判定方式選択部２０４０は、第１判定方式、第２判定方式、及び第３判定方式のうち、いずれか複数を含む負荷判定方式の中から、動作可否判定部２０６０によって実行される負荷判定方式を選択する。第１判定方式及び第３判定方式はいずれも、各対象仮想マシンが対象物理マシンにかける負荷の合計が、対象物理マシンが許容する負荷を超える確率を算出することで、判定を行う方式である。ここで、対象物理マシンが許容する負荷の閾値を、負荷閾値と呼ぶ。また、各対象仮想マシンが対象物理マシンにかける負荷の合計が負荷閾値を超える確率を、過負荷率と呼ぶ。一方、第２判定方式は、過負荷率の上界値を算出することで、判定を行う方式である。ここで、第２判定方式で算出する確率の上界値は、確率の上界値の近似値など、確率の上界値に近いと考えられる値でもよい。以下、第１判定方式及び第３判定方式について説明した後、第２判定方式について説明する。
【００４６】
＜＜第１判定方式及び第３判定方式＞＞
各対象仮想マシンが対象物理マシンにかける負荷の合計の確率分布が分かれば、過負荷率を算出することができる。過負荷率は、各対象仮想マシンが対象物理マシンにかける負荷の合計の確率分布における、負荷の合計が負荷閾値を超える範囲の積分値に相当するためである。そこで、第１判定方式及び第３判定方式は、各対象仮想マシンが対象物理マシンにかける負荷の合計の確率分布を算出する。ただし、この２つの判定方式は、この確率分布を算出する方法が異なる。
【００４７】
一般に、確率変数の合計の確率分布は、各確率変数の確率分布の畳み込みとなる。したがって、各対象仮想マシンが対象物理マシンにかける負荷の合計の確率分布は、各対象仮想マシンが対象物理マシンにかける負荷の確率分布の、畳み込みを算出することで求められる。
【００４８】
そこで、第１判定方式は、上述の畳み込みを算出することで、各対象仮想マシンが対象物理マシンにかける負荷の合計の確率分布を求める。具体的には、第１判定方式を用いる場合、動作可否判定部２０６０は、以下の処理を行う。まず、動作可否判定部２０６０は、各対象仮想マシンに関する負荷情報を用いて、各対象仮想マシンが対象物理マシンにかける負荷の確率分布の畳み込みを算出する。これにより、各対象仮想マシンが対象物理マシンにかける負荷の合計の確率分布が算出される。また、動作可否判定部２０６０は、算出した確率分布を用いて過負荷率を算出する。そして、動作可否判定部２０６０は、算出した過負荷率に基づいて、対象物理マシンが対象仮想マシンを動作させられるか否かを判定する。例えば動作可否判定部２０６０は、過負荷率が所定の閾値以下である場合に、対象物理マシンが対象仮想マシンを動作させられると判定する。
【００４９】
ここで、負荷統計情報が、対象仮想マシンが対象物理マシン以外の物理マシンにかける負荷に関する情報を示している場合、動作可否判定部２０６０は、この負荷統計情報が示す情報を、対象仮想マシンが対象物理マシンにかける負荷に関する情報とみなして扱う。以降で説明する動作可否判定部２０６０の各動作においても、同様である。
【００５０】
一方、第３判定方式は、第１判定方式とは異なる方法で、各対象仮想マシンが対象物理マシンにかける負荷の合計の確率分布を算出する。具体的には、第３判定方式は、各対象仮想マシンが対象物理マシンにかける負荷の合計の確率分布を、正規分布として算出する。これは、対象仮想マシン数が十分に大きい場合、各対象仮想マシンが対象物理マシンにかける負荷の合計の確率分布を、正規分布とみなすことができるためである。以下、詳しく説明する。
【００５１】
まず、どんな確率分布を持つ確率変数の和でも、確率変数の数が多くなるにつれ、正規分布に近づくという定理が存在する。この定理は、中心極限定理と呼ばれる。したがって、対象仮想マシン数が十分大きければ、各対象仮想マシンが対象物理マシンにかける負荷の合計の確率分布は、正規分布になると仮定できる。また、ある確率変数の確率分布が正規分布の場合、その確率分布は、確率変数の平均と分散によって一意に定まる。ここで、各対象仮想マシンが対象物理マシンにかける負荷が独立であるとみなせば、対象仮想マシンが対象物理マシンにかける負荷の平均は、各対象仮想マシンが対象物理マシンにかける負荷の平均を合計した値となる。また、同様に、対象仮想マシンが対象物理マシンにかける負荷の分散は、各対象仮想マシンが対象物理マシンにかける負荷の分散を合計した値となる。以上のことから、対象仮想マシン数が十分大きければ、各対象仮想マシンが対象物理マシンにかける負荷の合計の確率分布は、各対象仮想マシンが対象物理マシンにかける負荷の平均の合計値及び分散の合計値によって一意に定まる正規分布となる。
【００５２】
そこで、第３判定方式は、各対象仮想マシンが対象物理マシンにかける負荷の合計の確率分布を、正規分布として算出する。具体的には、第３判定方式を用いる場合、動作可否判定部２０６０は、以下の処理を行う。まず、動作可否判定部２０６０は、各対象仮想マシンの負荷統計情報を用いて、各対象仮想マシンが対象物理マシンにかける負荷の合計の確率分布を表す正規分布を算出する。具体的には、各対象仮想マシンそれぞれが物理マシンにかける負荷の平均の合計、及び分散の合計によって一意に定まる正規分布を算出する。そして、動作可否判定部２０６０は、算出した確率分布を用いて過負荷率を算出する。さらに、動作可否判定部２０６０は、第１判定方式と同様に、過負荷率に基づいて、対象物理マシンが対象仮想マシンを動作させられるか否かを判定する。
【００５３】
＜＜第２判定方式＞＞
前述したように、第２判定方式は、第１判定方式及び第３判定方式とは異なり、過負荷率の上界値を算出することで判定を行う方式である。具体的には、第２判定方式を用いる場合、動作可否判定部２０６０は、次の処理を行う。まず動作可否判定部２０６０は、各対象仮想マシンに関する負荷統計情報を取得する。第２方式において動作可否判定部２０６０が取得する負荷統計情報は、第３判定方式において動作可否判定部２０６０が取得する負荷統計情報と同様であり、例えば図６に示す構成を有する。次に、動作可否判定部２０６０は、各負荷統計情報を用いて、過負荷率の上界値を算出する。そして、動作可否判定部２０６０は、過負荷率の上界値に基づいて、対象物理マシンが対象仮想マシンを動作させられるか否かを判定する。例えば動作可否判定部２０６０は、過負荷率の上界値が所定の閾値以下である場合に、対象物理マシンが対象仮想マシンを動作させられると判定する。
【００５４】
ここで、負荷情報が、対象仮想マシンが対象物理マシン以外の物理マシンにかける負荷に関する情報を示している場合、動作可否判定部２０６０は、この負荷情報が示す情報を、対象仮想マシンが対象物理マシンにかける負荷に関する情報とみなして扱う。以降で説明する動作可否判定部２０６０の各動作においても、同様である。
【００５５】
以下、過負荷率の上界値を算出する方法の具体例を説明する。過負荷率の上界値は、例えばチェビシェフの不等式又はその変形式を用いて算出される。チェビシェフの不等式は、以下の数式（１）で表される不等式である。X は、平均が E(X)、かつ分散が V(X) である確率変数である。a は、任意の非負実数である。P() は、() 内に示されている事象が起こる確率である。
【数１】
2015022322.tif 000003
【００５６】
チェビシェフの不等式を用いて数２に示す式変形を行うことで、数式（２）が導かれる。ここで、Ｔは任意の実数である。
【数２】
2015022322.tif 000004
【００５７】
過負荷率の上界値は、例えば数式（２）を用いて算出することができる。以下、その理由を説明する。まず、数２の各変数を、以下のように扱う。X は、対象仮想マシンが対象物理マシンにかける負荷の大きさを表す確率変数とする。なお、対象仮想マシンが複数ある場合、X は、各対象仮想マシンが対象物理マシンにかける負荷の合計である。そして、T は、対象物理マシンの負荷閾値であるとする。こうすることで、数式（２）の左辺は、対象仮想マシンが対象物理マシンにかける負荷 X が、対象物理マシンによって許容される負荷を示す負荷閾値 T を超える確率、つまりは過負荷率を表す。そのため、数式（２）の右辺を計算することで、過負荷率の上界値を算出できる。
【００５８】
ここで、前述したように、E(x) と V(x) はそれぞれ、X の平均と分散である。そのため、X を、対象仮想マシンが対象物理マシンにかける負荷の大きさを表す確率変数とする場合、E(x) と V(x) はそれぞれ、対象仮想マシンが対象物理マシンにかける負荷の平均と分散となる。なお、対象仮想マシンが複数ある場合、E(X) と V(X) はそれぞれ、各対象仮想マシンが対象物理マシンにかける負荷の、平均の合計と分散の合計である。したがって、数式（２）の右辺は、負荷統計情報及び対象物理マシンの負荷閾値を用いて計算することができる。そこで、動作可否判定部２０６０は、負荷統計情報及び対象物理マシンの負荷閾値を用いて数式（２）の右辺を計算することで、過負荷率の上界値を算出する。動作可否判定部２０６０は、仮想マシン管理装置２０００の内部に格納されている負荷閾値を取得してもよいし、仮想マシン管理装置２０００の外部から負荷閾値を取得してもよい。
【００５９】
また、チェビシェフの不等式を用いて数３に示す式変形を行うことで、数式（３）が導かれる。各変数の意味は、前述した通りである。動作可否判定部２０６０は、数式（３）の右辺を計算することで得られる値を、過負荷率の上界値としてもよい。ここで、数３の２行目の「P(|X-E(X)|>=T-E(X))」は、「X>=E(X) の場合における P(X-E(X)>=T-E(X))」と、「X<E(X) の場合における P(E(X)-X>=T-E(X))」との和に等しい。また、「X>=E(X) の場合における P(X-E(X)>=T-E)」と「X<E(X) の場合における P(E(X)-X>=T-E(X))」の値がほぼ等しいと仮定すれば、「P(|X-E(X)|>=T-E(X))/2= P(X-E(X)>=T-E(X))」とみなせる。そこで、数３の１行目の右辺を、２行目の式に変形できる。ただし、数３の２行目の式は、「P(|X-E(X)|>=T-E(X))」を２以外の数値で割る式であってもよい。
【数３】
2015022322.tif 000005
【００６０】
＜＜判定方式の選択方法＞＞
例えば判定方式選択部２０４０は、動作可否判定部２０６０が行う計算の計算コストや、動作可否判定部２０６０による判定の精度などを考慮して、第１判定方式、第２判定方式、及び第３判定方式の中から、動作可否判定部２０６０が用いる判定方式を選択する。まず、判定方式選択部２０４０には、第１閾値及び第２閾値が与えられる。第１閾値は、第２閾値よりも小さい。判定方式選択部２０４０は、対象仮想マシン数取得部２０２０によって取得された対象仮想マシン数が第１閾値以下の場合に、第１判定方式を選択する。判定方式選択部２０４０は、対象仮想マシン数が第１閾値より大きく、第２閾値以下である場合に、第２判定方式を選択する。判定方式選択部２０４０は、対象仮想マシン数が第２閾値より大きい場合に、第３判定方式を選択する。第１閾値及び第２閾値は、仮想マシン管理装置２０００の内部に格納されていてもよいし、仮想マシン管理装置２０００の外部から入力されてもよい。
【００６１】
判定方式選択部２０４０が前述したように負荷判定方式を選択する理由を説明する。まず、過負荷率を用いる負荷判定方式である第１判定方式及び第３判定方式は、過負荷率の上界値を算出する第２判定方式よりも、判定の精度が高い。しかし、確率分布の畳み込み計算を用いて過負荷率を算出する第１判定方式は、対象仮想マシン数が大きくなると、計算コストが高くなる。例えば、負荷の確率分布をヒストグラムで表し、ヒストグラムの分割数を k、対象仮想マシン数を N とすると、第１判定方式の計算コストは O(k^N） である。また、対象仮想マシンが対象物理マシンにかける負荷の合計の確率分布を正規分布として算出する第３判定方式は、対象仮想マシン数が小さい場合、対象仮想マシンが対象物理マシンにかける負荷の合計の確率分布は正規分布から遠いため、判定の精度が低くなる。これに対し、第２判定方式は、対象仮想マシン数によらず、低い計算コストで判定が可能である。具体的には、第２判定方式の計算コストは、対象仮想マシン数を N とした場合、O(N) である。また、第２判定方式は、第１判定方式や第３判定方式には及ばないものの、高い精度で判定が可能である。
【００６２】
そこで、例えば、第１判定方式による計算コストが許容できる大きさである対象仮想マシン数の上限値を第１閾値とする。例えば第１閾値は、１０程度である。こうすることで、第１判定方式による計算コストが許容できる大きさの場合は、第１判定方式が選択される。この場合、第１判定方式を用いることで、短い時間かつ高い精度で過負荷率を算出できる。そのため、動作可否判定部２０６０は、短い時間かつ高い精度で判定を行える。
【００６３】
また例えば、対象仮想マシンが対象物理マシンにかける負荷の合計の確率分布を正規分布とみなせる対象仮想マシン数の下限値を第２閾値とする。例えば第２閾値は、３０〜５０程度である。こうすることで、対象仮想マシンが対象物理マシンにかける負荷の合計の確率分布を正規分布とみなせる場合に、第３判定方式が選択される。この場合、第３判定方式を用いることで、短い時間かつ高い精度で、過負荷率を算出できる。そのため、動作可否判定部２０６０は、短い時間かつ高い精度で判定を行える。
【００６４】
そして、対象仮想マシン数が第１閾値より大きく、第２閾値以下である場合、判定方式選択部２０４０は、第２判定方式を選択する。こうすることで、第１判定方式を用いると計算時間が長くなり、かつ第３判定方式を用いると精度が低くなる場合に、第２判定方式が選択される。動作可否判定部２０６０は、このような場合でも、第２判定方式を用いることで、短い時間かつ高い精度で判定を行える。
【００６５】
＜処理の流れ＞
図８は、実施形態２に係る仮想マシン管理装置２０００によって実行される処理の流れを例示するフローチャートである。図８のステップＳ２０２〜Ｓ２１０は、図３のステップＳ１０４において実行される処理の一例を詳細化したものである。
【００６６】
ステップＳ２０２において、判定方式選択部２０４０は、対象仮想マシン数取得部２０２０によって取得された対象仮想マシン数を第１閾値と比較する。対象仮想マシン数が第１閾値以下である場合、図８の処理は、ステップＳ２０４に進む。ステップＳ２０４において、判定方式選択部２０４０は、第１判定方式を選択する。
【００６７】
一方、ステップＳ２０２において、対象仮想マシン数が第１閾値より大きい場合、図８の処理は、ステップＳ２０６に進む。ステップＳ２０６において、判定方式選択部２０４０は、対象仮想マシン数を第２閾値と比較する。対象仮想マシン数が第２閾値以下である場合、図８の処理は、ステップＳ２０８に進む。ステップＳ２０８において、判定方式選択部２０４０は、第２判定方式を選択する。
【００６８】
一方、対象仮想マシン数が第２閾値より大きい場合、図８の処理は、ステップＳ２１０に進む。ステップＳ２１０において、判定方式選択部２０４０は、第３判定方式を選択する。
【００６９】
＜作用・効果＞
実施形態２の仮想マシン管理装置２０００によれば、対象仮想マシン数に基づいて、第１判定方式、第２判定方式、及び第３判定方式のうちの、いずれか複数を含む判定方式の中から、動作可否判定部２０６０が用いる判定方式が選択される。これにより、仮想マシン管理装置２０００によれば、短い時間かつ高い精度で判定を行える。
【００７０】
[実施形態３]
図９は、実施形態３に係る仮想マシン管理装置２０００を示すブロック図である。図９において、矢印の流れは情報の流れを示している。また、図９において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を示している。仮想マシン管理装置２０００は、下記で説明する点を除いて、実施形態１又は２の仮想マシン管理装置２０００と同様である。
【００７１】
実施形態３の仮想マシン管理装置２０００は、代表統計情報取得部２１２０及び予測稼働数算出部２１４０をさらに有する。実施形態３の仮想マシン管理装置２０００は、予測稼働数を算出する機能を有する。以下、詳しく説明する。
【００７２】
＜代表統計情報取得部２１２０＞
実施形態３の仮想マシン管理装置２０００は、代表統計情報取得部２１２０を有する。代表統計情報取得部２１２０は、代表的な仮想マシンである代表仮想マシンが対象物理マシンにかける負荷の平均及び分散を示す代表統計情報を取得する。例えば代表仮想マシンが代表物理マシンにかける負荷の平均は、対象仮想マシンが対象物理マシン又はその他の物理マシンにかける負荷の平均の、平均である。その他にも例えば、代表仮想マシンが対象物理マシンにかける負荷の平均は、シミュレーションや経験則に基づき、一般的な仮想マシンが対象物理マシンにかけると予測される、予測値であってもよい。代表仮想マシンが対象物理マシンにかける負荷の分散についても同様である。
【００７３】
代表統計情報取得部２１２０が代表統計情報を取得する方法は様々である。例えば代表統計情報取得部２１２０は、仮想マシン管理装置２０００の内部で生成される代表統計情報、又は仮想マシン管理装置２０００の内部に格納されている代表統計情報を取得する。その他にも例えば、代表統計情報取得部２１２０は、仮想マシン管理装置２０００の外部から、代表統計情報の入力を受け付ける。この場合、代表統計情報は、手動で入力されてもよいし、外部の装置から入力されてもよい。
【００７４】
＜予測稼働数算出部２１４０＞
実施形態３の仮想マシン管理装置２０００は、予測稼働数算出部２１４０を有する。予測稼働数算出部２１４０は、代表統計情報を用いて、対象物理マシン上で動作させることができる代表仮想マシンの数（以下、予測稼働数）を算出する。具体的には、予測稼働数算出部２１４０は、代表統計情報取得部２１２０によって取得された代表統計情報を用いて、複数の代表仮想マシンが対象物理マシンにかける負荷の合計が、対象物理マシンの負荷閾値を超える確率の上界値を算出する。この上界値は、例えば実施形態２で説明した過負荷率の上界値と同様に、チェビシェフの不等式又はその変形式を用いて算出される。予測稼働数算出部２１４０は、算出した上界値を用いて、予測稼働数を算出する。例えば予測稼働数算出部２１４０は、算出した上界値が所定の閾値以下となる場合のうち、代表仮想マシンの数が最大である場合における代表仮想マシンの数を、予測稼働数とする。
【００７５】
実施形態３の対象仮想マシン数取得部２０２０は、予測稼働数算出部２１４０によって算出された予測稼働数を、対象仮想マシン数として取得する。
【００７６】
＜処理の流れ＞
図１０は、実施形態３の仮想マシン管理装置２０００によって実行される処理の流れを例示するフローチャートである。図１０におけるステップＳ１０４及びＳ１０６は、図３におけるステップＳ１０４及びＳ１０６と同様の処理である。
【００７７】
ステップＳ３０２において、代表統計情報取得部２１２０は、代表統計情報を取得する。ステップＳ３０４において、予測稼働数算出部２１４０は、代表統計情報を用いて、予測稼働数を算出する。ステップＳ３０６において、予測稼働数取得部２０２０は、予測稼働数算出部２１４０によって算出された予測稼働数を、対象仮想マシン数として取得する。
【００７８】
＜作用・効果＞
実施形態３の仮想マシン管理装置２０００によれば、対象仮想マシン数が内部で算出されるため、対象仮想マシン数が提供されない場合であっても、対象物理マシンが対象仮想マシンを動作させられるか否かを判定できる。さらに、複数の代表仮想マシンが対象物理マシンにかける負荷が対象物理マシンの負荷閾値を超える確率の上界値を用いて対象仮想マシン数を算出するため、対象仮想マシン数を、短い時間かつ高い精度で算出することができる。
【００７９】
[実施形態４] 
図１１は、実施形態４に係る仮想マシン管理装置２０００を示すブロック図である。図１１において、矢印の流れは情報の流れを示している。また、図１１において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を示している。実施形態４の仮想マシン管理装置２０００は、下記で説明する点を除き、実施形態２の仮想マシン管理装置２０００と同様である。
【００８０】
＜負荷統計情報生成部２１６０＞
実施形態４の仮想マシン管理装置２０００は、負荷統計情報生成部２１６０を有する。負荷統計情報生成部２１６０は、負荷情報を用いて、負荷統計情報を生成する。具体的には、負荷統計情報生成部２１６０は、対象仮想マシンに関する負荷情報が示す負荷の確率分布を用いて、その負荷の平均及び分散を算出する。負荷情報から負荷統計情報を求めることは、確率変数の確率分布を用いて、確率変数の平均及び分散を求めることに相当する。確率変数の確率分布を用いて確率変数の平均及び分散を算出する方法は公知であるため、説明を省略する。
【００８１】
負荷統計情報取得部２１００は、負荷統計情報生成部２１６０によって生成された負荷統計情報を取得する。
【００８２】
＜作用・効果＞
実施形態４の仮想マシン管理装置２０００によれば、負荷統計情報が提供されない場合であっても、対象物理マシンが対象仮想マシンを動作させられるか否かを判定できる。
【００８３】
[実施形態５]
図１２は、実施形態５に係る仮想マシン管理装置２０００を示すブロック図である。図１２において、矢印の流れは情報の流れを示している。また、図１２において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を示している。実施形態５の仮想マシン管理装置２０００は、下記で説明する点を除き、実施形態２の仮想マシン管理装置２０００と同様である。
【００８４】
仮想マシン管理装置２０００は、負荷統計情報生成部２１６０、負荷履歴情報取得部２１８０、及び負荷情報生成部２２００をさらに有する。実施形態５の仮想マシン管理装置２０００は、対象仮想マシンが物理マシンにかけた負荷の履歴を用いて、負荷情報及び負荷統計情報を生成する。以下、詳しく説明する。
【００８５】
＜負荷履歴情報取得部２１８０＞
負荷履歴情報取得部２１８０は、負荷履歴情報を取得する。負荷履歴情報は、対象仮想マシンが物理マシンにかけた負荷の履歴を示す。負荷履歴情報は、対象仮想マシンが対象物理マシンにかけた負荷の履歴を示してもよいし、対象仮想マシンが対象物理マシン以外の物理マシンにかけた負荷の履歴を示してもよい。
【００８６】
負荷履歴情報が負荷の履歴を表す方法は様々である。例えば、負荷履歴情報は、過去の複数の時点それぞれにおいて、対象仮想マシンが物理マシンにかけた負荷を示してもよい。また、負荷履歴情報は、過去の複数の期間ごとに、その期間において対象仮想マシンが物理マシンにかけた負荷の統計値（平均や中央値など）を示してもよい。
【００８７】
図１３は、負荷履歴情報の構成を例示する図である。図１３において、負荷履歴情報は、テーブル形式で表されている。図１３に示されている負荷履歴情報を、負荷履歴情報テーブル３００と表記する。負荷履歴情報テーブル３００は、仮想マシン ID ３０２及び負荷履歴３０４を有する。仮想マシン ID ３０２は、各対象仮想マシンの ID を示す。負荷履歴情報テーブル３００の各レコードは、仮想マシン ID ３０２で特定される対象仮想マシンが、物理マシンにかけた負荷の履歴を、負荷履歴３０４に示す。負荷履歴３０４は、時点 T1 〜 Tn それぞれにおいて、対象仮想マシンが物理マシンにかけた負荷を示している。
【００８８】
＜負荷統計情報生成部２１６０＞
負荷統計情報生成部２１６０は、負荷履歴情報を用いて、負荷統計情報を生成する。具体的には、負荷統計情報生成部２１６０、対象仮想マシンに関する負荷履歴情報が示す負荷の、平均及び分散を算出することで、その対象仮想マシンに関する負荷統計情報を生成する。例えば、負荷履歴情報が図１３に示す負荷履歴情報テーブル３００で表されている場合、仮想マシン管理装置２０００は、各仮想マシンについて、時点 T1 〜 Tn における負荷から、それらの平均及び分散を算出することで、各仮想マシンに関する負荷統計情報を算出する。
【００８９】
負荷統計情報取得部２１００は、負荷統計情報生成部２１６０によって生成された負荷統計情報を取得する。
【００９０】
＜負荷情報生成部２２００＞
負荷情報生成部２２００は、負荷履歴情報を用いて、負荷情報を生成する。具体的には、負荷情報生成部２２００は、対象仮想マシンに関する負荷履歴情報が示す負荷の履歴から、その負荷がとりうる値の確率分布を算出して、負荷情報が示す確率分布とする。負荷履歴情報から負荷情報を算出することは、事象から確率分布を算出することに相当する。事象から確率分布を算出する方法は公知であるため、説明を省略する。
【００９１】
負荷情報取得部２０８０は、負荷情報生成部２２００によって生成された負荷統計情報を取得する。
【００９２】
＜作用・効果＞
以上により、実施形態５の仮想マシン管理装置２０００によれば、負荷情報及び負荷統計情報が提供されない場合であっても、対象物理マシンが対象仮想マシンを動作させられるか否かを判定できる。
【００９３】
[実施形態６]
図１４は、実施形態６に係る仮想マシン管理装置２０００を示すブロック図である。図１４において、矢印の流れは情報の流れを示している。また、図１４において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を示している。実施形態６に係る仮想マシン管理装置２０００は、下記で説明する点を除き、上述した各実施形態のいずれかと同様である。
【００９４】
実施形態６の仮想マシン管理装置２０００は、影響度算出部２２２０および移行候補決定部２２４０をさらに有する。実施形態６の仮想マシン管理装置２０００は、複数の対象仮想マシンが対象物理マシン上で動作していることを前提とする。そして、実施形態６の仮想マシン管理装置２０００は、対象物理マシン上で既に動作している複数の対象仮想マシンの中から、他の物理マシンへ移行する候補にする対象仮想マシンを決定する。以下、詳しく説明する。
【００９５】
＜影響度算出部２２２０＞
影響度算出部２２２０は、各対象仮想マシンが対象物理マシンに与える影響の度合いを示す影響度を算出する。ある対象仮想マシンの影響度は、その対象仮想マシンを含む全ての対象仮想マシンが対象物理マシン上で動作している場合における過負荷率の上界値と、その対象仮想マシン以外の全ての対象仮想マシンが対象物理マシン上で動作している場合における過負荷率の上界値との違いを示す値である。なお、影響度算出部２２２０が過負荷率の上界値を算出する方法は、実施形態２で説明した過負荷率の上界値の算出方法と同様である。
【００９６】
影響度算出部２２２０は、例えば以下の数式（４）や数式（５）を用いて、対象仮想マシンの１つである対象仮想マシン i の、対象物理マシンに対する影響度 I(i) を算出する。E(X-i) と V(X-i) はそれぞれ、対象仮想マシン i 以外の各対象仮想マシンが対象物理マシンにかける負荷の平均の合計、分散の合計である。また、E(Xall) と V(Xall) はそれぞれ、対象仮想マシン i を含めた各対象仮想マシンが対象物理マシンにかける負荷の平均の合計、分散の合計である。T は負荷閾値である。数式（４）は、対象仮想マシン i が対象物理マシン上で動作している場合における過負荷率の上界値を、対象仮想マシン i が対象物理マシン上で動作していない場合における過負荷率の上界値で除算した値である。一方、数式（５）は、対象仮想マシン i が対象物理マシン上で動作している場合における過負荷率の上界値から、対象仮想マシン i が対象物理マシン上で動作していない場合における過負荷率の上界値を引いた値である。
【数４】
2015022322.tif 000006
【００９７】
＜移行候補決定部２２４０＞
移行候補決定部２２４０は、対象物理マシン上で動作している各対象仮想マシンの影響度に基づいて、対象物理マシンから他の物理マシンへ移行する仮想マシンを決定する。例えば移行候補決定部２２４０は、対象物理マシンに対する影響度が最も大きい対象仮想マシンを、他の物理マシンへ移行する仮想マシンにする候補とする。こうすることで、一度の移行で、対象物理マシン上に残った他の対象仮想マシンによって対象物理マシンにかかる負荷を、より小さくすることができる。また例えば移行候補決定部２２４０は、対象物理マシンに対する影響度が最も小さい仮想マシンを、他の物理マシンへ移行する仮想マシンの候補とする。こうすることで、対象物理マシンにかかる負荷が、許容できる範囲で、できる限り大きくなるため、対象物理マシンの計算機リソースを無駄なく活用することができる。また、移行候補決定部２２４０は、対象仮想マシンを別の物理マシンに移行した後に対象物理マシンにかかる負荷をどの程度の大きさにしたいかに基づいて、適度な影響度を持つ対象仮想マシンを、他の物理マシンへ移行する仮想マシンの候補としてもよい。
【００９８】
＜処理の流れ＞
図１５は、実施形態６に係る仮想マシン管理装置２０００が行う処理の流れを示すフローチャートである。ステップＳ４０２において、負荷統計情報取得部２１００は、負荷統計情報を取得する。
【００９９】
ステップＳ４０４〜Ｓ４０８は、全ての対象仮想マシンについて実行されるループ処理Ａである。ステップＳ４０４において、影響度算出部２２２０は、全ての対象仮想マシンについてループ処理Ａを実行したか否かを判定する。全ての対象仮想マシンについてループ処理Ａを実行した場合、図１５の処理は、ステップＳ４１０に進む。まだ全ての対象仮想マシンについてループ処理Ａを実行していない場合、影響度算出部２２２０は、まだループ処理Ａの対象としていない対象仮想マシンの中から１つを選択する。ここで選択された対象仮想マシンを、対象仮想マシンｉと表記する。そして、図１５の処理は、ステップＳ４０６に進む。
【０１００】
ステップＳ４０６において、影響度算出部２２２０は、対象物理マシンに対する対象仮想マシンｉの影響度を算出する。ステップＳ４０８は、ループ処理Ａの終端である。図１５の処理は、ステップＳ４０４に進む。
【０１０１】
ステップＳ４１０において、移行候補決定部２２４０は、対象物理マシン上で動作している対象仮想マシンの中から、他の物理マシンへ移行する候補を決定する。
【０１０２】
＜作用・効果＞
本実施形態によれば、対象物理マシン上で動作している仮想マシンの中から、他の物理マシンへ移行する候補の仮想マシンが、その仮想マシンの影響度を用いて決定される。ここで、影響度は、過負荷率の上界値に基づいて算出される。そのため、他の物理マシンへ移行する候補として適切な対象仮想マシンを、短い時間かつ高い精度で決定できる。
【０１０３】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記実施形態の組み合わせ、及び上記実施形態以外の様々な構成を採用することもできる。
【０１０４】
以下、参考形態の例を付記する。
１．  対象物理マシン上で動作させることができるか否かの判定対象である対象仮想マシンの数を取得する対象仮想マシン数取得手段と、
前記対象仮想マシンの数に基づいて、複数の判定方式の中から、動作可否判定手段によって実行される前記判定方式を選択する判定方式選択手段と、
前記判定方式選択手段によって選択された前記判定方式を用いて、前記対象物理マシンが前記対象仮想マシンを動作させられるか否かの判定を行う動作可否判定手段と、
を有する仮想マシン管理装置。
２．  前記対象仮想マシンが物理マシンにかける負荷の平均及び分散を示す負荷統計情報を取得する負荷統計情報取得手段を有し、
前記複数の判定方式は、
複数の対象仮想マシンそれぞれに関し、その対象仮想マシンが物理マシンにかける負荷の確率分布を示す負荷情報を取得し、各負荷情報が示す前記確率分布の畳み込みを算出することで、前記複数の対象仮想マシンが前記物理マシンにかける負荷の合計の確率分布を算出し、算出した確率分布を用いて、前記複数の対象仮想マシンが前記対象物理マシンにかける負荷が、前記対象物理マシンが許容する負荷を超える確率である過負荷率を算出する第１判定方式と、
前記複数の対象仮想マシンそれぞれに関する前記負荷統計情報を用いて、前記過負荷率の上界値を算出する第２判定方式と、
前記複数の対象仮想マシンそれぞれに関する前記負荷統計情報を用いて、前記複数の対象仮想マシンが前記物理マシンにかける負荷の合計の確率分布を表す正規分布を算出し、算出した正規分布を用いて、前記過負荷率を算出する第３判定方式と、
のうち、いずれか複数を含み、
前記複数の判定方式が前記第１判定方式を含む場合、前記負荷情報を取得する負荷情報取得手段を有し、
前記動作可否判定手段は、前記判定方式選択手段によって選択された判定方式を用いて算出した前記過負荷率又は前記過負荷率の上界値に基づいて、前記対象物理マシンが前記対象仮想マシンを動作させられるか否かの判定を行う、
１．に記載の仮想マシン管理装置。
３．  前記判定方式選択手段は、
前記対象仮想マシンの数が第１閾値以下の場合、前記第１判定方式を前記判定方式として選択し、
前記対象仮想マシンの数が前記第１閾値より大きくかつ第２閾値以下である場合、前記第２判定方式を前記判定方式として選択し、
前記対象仮想マシンの数が前記第２閾値より大きい場合、前記第３判定方式を前記判定方式として選択する、
２．に記載の仮想マシン管理装置。
４．  前記第２判定方式は、チェビシェフの不等式又はチェビシェフの不等式を変形して得られる不等式を用いて、前記過負荷率の上界値を算出する、２．又は３．に記載の仮想マシン管理装置。
５．  前記負荷情報に示される負荷の確率分布から、その負荷の平均及び分散を算出することで、前記負荷統計情報を生成する、負荷統計情報生成手段を有する、２．乃至４．いずれか一つに記載の仮想マシン管理装置。
６．  前記対象仮想マシンが物理マシンにかけた負荷の履歴を示す負荷履歴情報取得する、負荷履歴情報取得手段と、
前記負荷履歴情報に示されている負荷の履歴から、その負荷の確率分布を算出することで、前記負荷情報を生成する、負荷情報生成手段と、
前記負荷履歴情報に示されている負荷の履歴の平均及び分散を算出することで、前記負荷統計情報を生成する、負荷統計情報生成手段と、
を有し、
前記負荷情報取得手段は、前記負荷情報生成手段によって生成された前記負荷情報を取得し、
前記負荷統計情報取得手段は、前記負荷統計情報生成手段によって生成された前記負荷統計情報を取得する、
２．乃至４．いずれか一つに記載の仮想マシン管理装置。
７．  代表的な仮想マシンである代表仮想マシンが物理マシンにかける負荷の平均及び分散を示す代表統計情報を取得する、代表統計値取得手段と、
前記代表統計情報を用いて、複数の前記代表仮想マシンが前記対象物理マシンにかける負荷の合計が、前記対象物理マシンによって許容される負荷を超える確率の上界値を算出し、その上界値に基づいて、前記対象物理マシン上で動作させることができる前記代表仮想マシンの数である予測稼働数を算出する予測稼働数算出手段を有し、
前記対象仮想マシン数取得手段は、前記予測稼働数算出手段によって算出された予測稼働数を、前記対象仮想マシンの数として取得する、
１．乃至６．いずれか一つに記載の仮想マシン管理装置。
８．  複数の対象仮想マシンが前記対象物理マシン上で動作しており、
前記対象仮想マシンが物理マシンにかける負荷の平均及び分散を示す負荷統計情報を取得する負荷統計情報取得手段と、
前記複数の対象仮想マシンそれぞれについて、その対象仮想マシンを除く全ての前記複数の対象仮想マシンによって前記対象物理マシンにかかる負荷が前記対象物理マシンによって許容される負荷を超える確率の上界値と、その対象仮想マシンを含む全ての前記複数の対象仮想マシンによって前記対象物理マシンにかかる負荷が前記対象物理マシンによって許容される負荷を超える確率の上界値との違いを示す値を算出し、前記対象物理マシンに対するその対象仮想マシンの影響度とする、影響度算出手段と、
前記複数の対象仮想マシンのうち、前記影響度が最も大きい対象仮想マシンを、前記対象物理マシンの外部へ移行する候補にする、移行候補決定手段と、
を有する１．乃至７．いずれか一つに記載の仮想マシン管理装置。
９．  コンピュータに、仮想マシン管理装置として動作する機能を持たせるプログラムであって、前記コンピュータに、
対象物理マシン上で動作させることができるか否かの判定対象である対象仮想マシンの数を取得する対象仮想マシン数取得機能と、
前記対象仮想マシンの数に基づいて、複数の判定方式の中から、動作可否判定機能によって実行される前記判定方式を選択する判定方式選択機能と、
前記判定方式選択機能によって選択された前記判定方式を用いて、前記対象物理マシンが前記対象仮想マシンを動作させられるか否かの判定を行う動作可否判定機能と、
を持たせるプログラム。
１０．  前記コンピュータに、前記対象仮想マシンが物理マシンにかける負荷の平均及び分散を示す負荷統計情報を取得する負荷統計情報取得機能を持たせ、
前記複数の判定方式は、
複数の対象仮想マシンそれぞれに関し、その対象仮想マシンが物理マシンにかける負荷の確率分布を示す負荷情報を取得し、各負荷情報が示す前記確率分布の畳み込みを算出することで、前記複数の対象仮想マシンが前記物理マシンにかける負荷の合計の確率分布を算出し、算出した確率分布を用いて、前記複数の対象仮想マシンが前記対象物理マシンにかける負荷が、前記対象物理マシンが許容する負荷を超える確率である過負荷率を算出する第１判定方式と、
前記複数の対象仮想マシンそれぞれに関する前記負荷統計情報を用いて、前記過負荷率の上界値を算出する第２判定方式と、
前記複数の対象仮想マシンそれぞれに関する前記負荷統計情報を用いて、前記複数の対象仮想マシンが前記物理マシンにかける負荷の合計の確率分布を表す正規分布を算出し、算出した正規分布を用いて、前記過負荷率を算出する第３判定方式と、
のうち、いずれか複数を含み、
前記複数の判定方式が前記第１判定方式を含む場合、前記コンピュータに、前記負荷情報を取得する負荷情報取得機能を持たせ、
前記動作可否判定機能は、前記判定方式選択機能によって選択された判定方式を用いて算出した前記過負荷率又は前記過負荷率の上界値に基づいて、前記対象物理マシンが前記対象仮想マシンを動作させられるか否かの判定を行う、
９．に記載のプログラム。
１１．  前記判定方式選択機能は、
前記対象仮想マシンの数が第１閾値以下の場合、前記第１判定方式を前記判定方式として選択し、
前記対象仮想マシンの数が前記第１閾値より大きくかつ第２閾値以下である場合、前記第２判定方式を前記判定方式として選択し、
前記対象仮想マシンの数が前記第２閾値より大きい場合、前記第３判定方式を前記判定方式として選択する、
１０．に記載のプログラム。
１２．  前記第２判定方式は、チェビシェフの不等式又はチェビシェフの不等式を変形して得られる不等式を用いて、前記過負荷率の上界値を算出する、１０．又は１１．に記載のプログラム。
１３．  前記コンピュータに、前記負荷情報に示される負荷の確率分布から、その負荷の平均及び分散を算出することで、前記負荷統計情報を生成する、負荷統計情報生成機能を持たせる、１０．乃至１２．いずれか一つに記載のプログラム。
１４．  前記コンピュータに、
前記対象仮想マシンが物理マシンにかけた負荷の履歴を示す負荷履歴情報取得する、負荷履歴情報取得機能と、
前記負荷履歴情報に示されている負荷の履歴から、その負荷の確率分布を算出することで、前記負荷情報を生成する、負荷情報生成機能と、
前記負荷履歴情報に示されている負荷の履歴の平均及び分散を算出することで、前記負荷統計情報を生成する、負荷統計情報生成機能と、
を持たせ、
前記負荷情報取得機能は、前記負荷情報生成機能によって生成された前記負荷情報を取得し、
前記負荷統計情報取得機能は、前記負荷統計情報生成機能によって生成された前記負荷統計情報を取得する、
１０．乃至１２．いずれか一つに記載のプログラム。
１５．  前記コンピュータに、
代表的な仮想マシンである代表仮想マシンが物理マシンにかける負荷の平均及び分散を示す代表統計情報を取得する、代表統計値取得機能と、
前記代表統計情報を用いて、複数の前記代表仮想マシンが前記対象物理マシンにかける負荷の合計が、前記対象物理マシンによって許容される負荷を超える確率の上界値を算出し、その上界値に基づいて、前記対象物理マシン上で動作させることができる前記代表仮想マシンの数である予測稼働数を算出する予測稼働数算出機能を持たせ、
前記対象仮想マシン数取得機能は、前記予測稼働数算出機能によって算出された予測稼働数を、前記対象仮想マシンの数として取得する、
９．乃至１４．いずれか一つに記載のプログラム。
１６．  複数の対象仮想マシンが前記対象物理マシン上で動作しており、
前記コンピュータに、
前記対象仮想マシンが物理マシンにかける負荷の平均及び分散を示す負荷統計情報を取得する負荷統計情報取得機能と、
前記複数の対象仮想マシンそれぞれについて、その対象仮想マシンを除く全ての前記複数の対象仮想マシンによって前記対象物理マシンにかかる負荷が前記対象物理マシンによって許容される負荷を超える確率の上界値と、その対象仮想マシンを含む全ての前記複数の対象仮想マシンによって前記対象物理マシンにかかる負荷が前記対象物理マシンによって許容される負荷を超える確率の上界値との違いを示す値を算出し、前記対象物理マシンに対するその対象仮想マシンの影響度とする、影響度算出機能と、
前記複数の対象仮想マシンのうち、前記影響度が最も大きい対象仮想マシンを、前記対象物理マシンの外部へ移行する候補にする、移行候補決定機能と、
を持たせる９．乃至１５．いずれか一つに記載のプログラム。
１７．  コンピュータによって実行される仮想マシン管理方法であって、
対象物理マシン上で動作させることができるか否かの判定対象である対象仮想マシンの数を取得する対象仮想マシン数取得ステップと、
前記対象仮想マシンの数に基づいて、複数の判定方式の中から、動作可否判定ステップによって実行される前記判定方式を選択する判定方式選択ステップと、
前記判定方式選択ステップによって選択された前記判定方式を用いて、前記対象物理マシンが前記対象仮想マシンを動作させられるか否かの判定を行う動作可否判定ステップと、
を有する仮想マシン管理方法。
１８．  前記対象仮想マシンが物理マシンにかける負荷の平均及び分散を示す負荷統計情報を取得する負荷統計情報取得ステップを有し、
前記複数の判定方式は、
複数の対象仮想マシンそれぞれに関し、その対象仮想マシンが物理マシンにかける負荷の確率分布を示す負荷情報を取得し、各負荷情報が示す前記確率分布の畳み込みを算出することで、前記複数の対象仮想マシンが前記物理マシンにかける負荷の合計の確率分布を算出し、算出した確率分布を用いて、前記複数の対象仮想マシンが前記対象物理マシンにかける負荷が、前記対象物理マシンが許容する負荷を超える確率である過負荷率を算出する第１判定方式と、
前記複数の対象仮想マシンそれぞれに関する前記負荷統計情報を用いて、前記過負荷率の上界値を算出する第２判定方式と、
前記複数の対象仮想マシンそれぞれに関する前記負荷統計情報を用いて、前記複数の対象仮想マシンが前記物理マシンにかける負荷の合計の確率分布を表す正規分布を算出し、算出した正規分布を用いて、前記過負荷率を算出する第３判定方式と、
のうち、いずれか複数を含み、
前記複数の判定方式が前記第１判定方式を含む場合、前記コンピュータに、前記負荷情報を取得する負荷情報取得ステップを有し、
前記動作可否判定ステップは、前記判定方式選択ステップによって選択された判定方式を用いて算出した前記過負荷率又は前記過負荷率の上界値に基づいて、前記対象物理マシンが前記対象仮想マシンを動作させられるか否かの判定を行う、
１７．に記載の仮想マシン管理方法。
１９．  前記判定方式選択ステップは、
前記対象仮想マシンの数が第１閾値以下の場合、前記第１判定方式を前記判定方式として選択し、
前記対象仮想マシンの数が前記第１閾値より大きくかつ第２閾値以下である場合、前記第２判定方式を前記判定方式として選択し、
前記対象仮想マシンの数が前記第２閾値より大きい場合、前記第３判定方式を前記判定方式として選択する、
１８．に記載の仮想マシン管理方法。
２０．  前記第２判定方式は、チェビシェフの不等式又はチェビシェフの不等式を変形して得られる不等式を用いて、前記過負荷率の上界値を算出する、１８．又は１９．に記載の仮想マシン管理方法。
２１．  前記負荷情報に示される負荷の確率分布から、その負荷の平均及び分散を算出することで、前記負荷統計情報を生成する、負荷統計情報生成ステップを有する、１８．乃至２０．いずれか一つに記載の仮想マシン管理方法。
２２．  前記対象仮想マシンが物理マシンにかけた負荷の履歴を示す負荷履歴情報取得する、負荷履歴情報取得ステップと、
前記負荷履歴情報に示されている負荷の履歴から、その負荷の確率分布を算出することで、前記負荷情報を生成する、負荷情報生成ステップと、
前記負荷履歴情報に示されている負荷の履歴の平均及び分散を算出することで、前記負荷統計情報を生成する、負荷統計情報生成ステップと、
を有し、
前記負荷情報取得ステップは、前記負荷情報生成ステップによって生成された前記負荷情報を取得し、
前記負荷統計情報取得ステップは、前記負荷統計情報生成ステップによって生成された前記負荷統計情報を取得する、
１８．乃至２０．いずれか一つに記載の仮想マシン管理方法。
２３．  代表的な仮想マシンである代表仮想マシンが物理マシンにかける負荷の平均及び分散を示す代表統計情報を取得する、代表統計値取得ステップと、
前記代表統計情報を用いて、複数の前記代表仮想マシンが前記対象物理マシンにかける負荷の合計が、前記対象物理マシンによって許容される負荷を超える確率の上界値を算出し、その上界値に基づいて、前記対象物理マシン上で動作させることができる前記代表仮想マシンの数を算出し、算出した前記代表仮想マシンの数である予測稼働数を算出する予測稼働数算出ステップを有し、
前記対象仮想マシン数取得ステップは、前記予測稼働数算出ステップによって算出された予測稼働数を、前記対象仮想マシンの数として取得する、
１７．乃至２２．いずれか一つに記載の仮想マシン管理方法。
２４．  複数の対象仮想マシンが前記対象物理マシン上で動作しており、
前記対象仮想マシンが物理マシンにかける負荷の平均及び分散を示す負荷統計情報を取得する負荷統計情報取得ステップと、
前記複数の対象仮想マシンそれぞれについて、その対象仮想マシンを除く全ての前記複数の対象仮想マシンによって前記対象物理マシンにかかる負荷が前記対象物理マシンによって許容される負荷を超える確率の上界値と、その対象仮想マシンを含む全ての前記複数の対象仮想マシンによって前記対象物理マシンにかかる負荷が前記対象物理マシンによって許容される負荷を超える確率の上界値との違いを示す値を算出し、前記対象物理マシンに対するその対象仮想マシンの影響度とする、影響度算出ステップと、
前記複数の対象仮想マシンのうち、前記影響度が最も大きい対象仮想マシンを、前記対象物理マシンの外部へ移行する候補にする、移行候補決定ステップと、
を有する１７．乃至２３．いずれか一つに記載の仮想マシン管理方法。
【符号の説明】
【０１０５】
１００ 負荷情報テーブル
１０２ 仮想マシン ID
１０４ 負荷確率
２００ 負荷統計情報テーブル
２０２ 仮想マシン ID
２０４ 平均
２０６ 分散
３００ 負荷履歴情報テーブル
３０２ 仮想マシン ID
３０４ 負荷履歴
１０２０ バス
１０４０ プロセッサ
１０６０ メモリ
１０８０ ストレージ
１２２０ 対象仮想マシン数取得モジュール
１２４０ 判定方式選択モジュール
１２６０ 動作可否判定モジュール
２０００ 仮想マシン管理装置
２０２０ 対象仮想マシン数取得部
２０４０ 判定方式選択部
２０６０ 動作可否判定部
２０８０ 負荷情報取得部
２１００ 負荷統計情報取得部
２１２０ 代表統計情報取得部
２１４０ 予測稼働数算出部
２１６０ 負荷統計情報生成部
２１８０ 負荷履歴情報取得部
２２００ 負荷情報生成部
２２２０ 影響度算出部
２２４０ 移行候補決定部
【図１】
2015022322.tif 000007
【図２】
2015022322.tif 000008
【図３】
2015022322.tif 000009
【図４】
2015022322.tif 000010
【図５】
2015022322.tif 000011
【図６】
2015022322.tif 000012
【図７】
2015022322.tif 000013
【図８】
2015022322.tif 000014
【図９】
2015022322.tif 000015
【図１０】
2015022322.tif 000016
【図１１】
2015022322.tif 000017
【図１２】
2015022322.tif 000018
【図１３】
2015022322.tif 000019
【図１４】
2015022322.tif 000020
【図１５】
2015022322.tif 000021