(57)【要約】【課題】  物理マシン上で動作する複数の仮想マシン毎に、リソースの消費電力量を推定すること。【解決手段】  本発明の一実施形態は、物理マシンで動作する複数の仮想マシンに割当てられたリソースの消費電力量を前記複数の仮想マシンの各々について推定する装置であって、前記リソースの消費電力量を測定する、消費電力量測定部と、前記仮想マシンに処理装置が継続して割当てられた継続時間の開始時刻と終了時刻とを特定する、時刻特定部と、前記開始時刻と前記終了時刻とに対応する前記消費電力量から、前記継続時間の前記リソースの消費電力量を取得する消費電力量取得部と、複数の継続時間の各々において取得される、複数の前記リソースの消費電力量を、前記複数の仮想マシンの各々について積算する、消費電力量積算部と、を有する消費電力量推定装置を提供する。【選択図】図１１
2014137609.tif 000002
【特許請求の範囲】
【請求項１】
物理マシンで動作する複数の仮想マシンに割当てられたリソースの消費電力量を前記複数の仮想マシンの各々について推定する消費電力量推定装置であって、
前記リソースの消費電力量を測定する、消費電力量測定部と、
前記仮想マシンに処理装置が継続して割当てられた継続時間の開始時刻と終了時刻とを特定する、時刻特定部と、
前記開始時刻と前記終了時刻とに対応する前記消費電力量から、前記継続時間の前記リソースの消費電力量を取得する消費電力量取得部と、
複数の継続時間の各々において取得される、複数の前記リソースの消費電力量を、前記複数の仮想マシンの各々について積算する、消費電力量積算部と、
を有する消費電力量推定装置。
【請求項２】
前記リソースは、処理装置、入出力コントローラ、バス、又はネットワークコントローラである、請求項１記載の消費電力量推定装置。
【請求項３】
物理マシンで動作する複数の仮想マシンに割当てられた記憶部の消費電力量を前記複数の仮想マシンの各々について推定する消費電力量推定装置であって、
前記記憶部の消費電力量を測定する、消費電力量測定部と、
前記物理マシンのアイドル時における前記記憶部の消費電力量に基づいて、前記記憶部の消費電力の定常分を特定する消費電力定常分特定部と、
前記仮想マシンに処理装置が継続して割当てられた継続時間の開始時刻と終了時刻とを特定する、時刻特定部と、
前記仮想マシンによる、前記記憶部の利用割合を取得する、利用割合取得部と、
前記消費電力の定常分と、前記利用割合と、前記開始時刻と、前記終了時刻とから、前記記憶部の消費電力量の定常分を取得する消費電力量定常分取得部と、
前記開始時刻と前記終了時刻とに対応する前記消費電力量、及び前記消費電力の定常分から、前記記憶部の消費電力量の変動分を取得する消費電力量変動分取得部と、
前記消費電力量の定常分と前記消費電力量の変動分との和から、前記継続時間の前記記憶部の消費電力量を取得する消費電力量取得部と、
複数の継続時間の各々において取得される、複数の前記記憶部の消費電力量を、前記複数の仮想マシンの各々について積算する、消費電力量積算部と、
を有する消費電力量推定装置。
【請求項４】
物理マシンで動作する複数の仮想マシンの管理のために利用される消費電力量を推定する消費電力量推定装置であって、
前記複数の仮想マシンに共用される複数のリソースの消費電力量を測定する、消費電力量測定部と、
前記複数の仮想マシンの何れもが処理装置に割当てられていない、継続する期間の開始時刻と終了時刻とを特定する、時刻特定部と、
前記開始時刻と前記終了時刻とに対応する前記消費電力量から、前記物理マシンが前記複数の仮想マシンを管理するための消費電力量を取得する消費電力量取得部と、
複数の継続時間の各々において取得される、前記複数の仮想マシンを管理するための前記消費電力量を、前記複数の仮想マシンの各々について積算する、消費電力量積算部と、
を有する消費電力量推定装置。
【請求項５】
物理マシンで動作する複数の仮想マシンの消費電力量に依存して自己の消費電力量が変動し、前記仮想マシンに共通に利用される共通リソースの消費電力量の内訳を前記複数の仮想マシンの各々について推定する消費電力量推定装置であって、
前記共通リソースの消費電力量を測定する、消費電力量測定部と、
所定の複数のリソースの消費電力量の積算値を仮想マシン毎に小計した消費電力量を算出する、消費電力量積算部と、
前記仮想マシン毎に小計した消費電力量に基づいて、前記共通リソースの消費電力量を、前記複数の仮想マシンの各々に比例配分する比例配分部と、
を有する消費電力量推定装置。
【請求項６】
当該消費電力量推定装置の一部は、前記複数の仮想マシンを管理する仮想マシンモニタよりも下位のレベルの、前記物理マシンのファームウエアで実現される、請求項１ないし５のうち何れか１項記載の消費電力量推定装置。
【請求項７】
物理マシンで動作する複数の仮想マシンに割当てられたリソースの消費電力量を前記複数の仮想マシンの各々について推定する消費電力量推定方法であって、
前記リソースの消費電力量を測定する段階と、
前記仮想マシンに処理装置が継続して割当てられた継続時間の開始時刻と終了時刻とを特定する段階と、
前記開始時刻と前記終了時刻とに対応する前記消費電力量から、前記継続時間の前記リソースの消費電力量を取得する段階と、
複数の継続時間の各々において取得される、複数の前記リソースの消費電力量を、前記複数の仮想マシンの各々について積算する段階と、
を有する消費電力量推定方法。
【請求項８】
物理マシンで動作する複数の仮想マシンに割当てられた記憶部の消費電力量を前記複数の仮想マシンの各々について推定する消費電力量推定方法であって、
前記記憶部の消費電力量を測定する段階と、
前記仮想マシンに処理装置が継続して割当てられた継続時間の開始時刻と終了時刻とを特定する段階と、
前記仮想マシンによる、前記記憶部の利用割合を取得する段階と、
消費電力の定常分と、前記利用割合と、前記開始時刻と、前記終了時刻とから、前記記憶部の消費電力量の定常分を取得する段階であって、前記消費電力の定常分は、前記物理マシンのアイドル時における前記記憶部の消費電力に基づいて特定される、段階と、
前記開始時刻と前記終了時刻とに対応する前記消費電力量、及び前記消費電力の定常分から、前記記憶部の消費電力量の変動分を取得する段階と、
前記消費電力量の定常分と前記消費電力量の変動分との和から、前記継続時間の前記記憶部の消費電力量を取得する段階と、
複数の継続時間の各々において取得される、複数の前記記憶部の消費電力量を、前記複数の仮想マシンの各々について積算する段階と、
を有する消費電力量推定方法。
【請求項９】
物理マシンで動作する複数の仮想マシンの管理のために利用される消費電力量を推定する消費電力量推定方法であって、
前記複数の仮想マシンに共用される複数のリソースの消費電力量を測定する段階と、
前記複数の仮想マシンの何れもが処理装置に割当てられていない、継続する期間の開始時刻と終了時刻とを特定する段階と、
前記開始時刻と前記終了時刻とに対応する前記消費電力量から、前記物理マシンが前記複数の仮想マシンを管理するための消費電力量を取得する段階と、
複数の継続時間の各々において取得される、前記複数の仮想マシンを管理するための前記消費電力量を、前記複数の仮想マシンの各々について積算する段階と、
を有する消費電力量推定方法。
【請求項１０】
物理マシンで動作する複数の仮想マシンに共通に利用される共通リソースの消費電力量が、他のリソースの消費電力量に依存する、前記共通リソースの消費電力量を前記複数の仮想マシンの各々について推定する消費電力量推定方法であって、
前記共通リソースの消費電力量を測定する段階と、
所定の複数のリソースの消費電力量の積算値を仮想マシン毎に小計した消費電力量を算出する段階と、
前記仮想マシン毎に小計した消費電力量及び仮想マシンを管理するための消費電力量に基づいて、前記共通リソースの消費電力量を、前記複数の仮想マシンの各々に比例配分する段階と、
を有する消費電力量推定方法。
【請求項１１】
物理マシンで動作する複数の仮想マシンに割当てられたリソースの消費電力量を前記複数の仮想マシンの各々について推定するプログラムであって、
前記リソースの消費電力量を測定し、
前記仮想マシンに処理装置が継続して割当てられた継続時間の開始時刻と終了時刻とを特定し、
前記開始時刻と前記終了時刻とに対応する前記消費電力量から、前記継続時間の前記リソースの消費電力量を取得し、
複数の継続時間の各々において取得される、複数の前記リソースの消費電力量を、前記複数の仮想マシンの各々について積算する、
処理をコンピュータに実行させるプログラム。
【請求項１２】
物理マシンで動作する複数の仮想マシンに割当てられた記憶部の消費電力量を前記複数の仮想マシンの各々について推定するプログラムであって、
前記記憶部の消費電力量を測定し、
仮想マシンに処理装置が継続して割当てられた継続時間の開始時刻と終了時刻とを特定し、
前記仮想マシンによる、前記記憶部の利用割合を取得し、
消費電力の定常分と、前記利用割合と、前記開始時刻と、前記終了時刻とから、前記記憶部の消費電力量の定常分を取得し、前記消費電力の定常分は、前記物理マシンのアイドル時における前記記憶部の消費電力に基づいて特定され、
前記開始時刻と前記終了時刻とに対応する前記消費電力量、及び前記消費電力の定常分から、前記記憶部の消費電力量の変動分を取得し、
前記消費電力量の定常分と前記消費電力量の変動分との和から、前記継続時間の前記記憶部の消費電力量を取得し、
複数の継続時間の各々において取得される、複数の前記記憶部の消費電力量を、前記複数の仮想マシンの各々について積算する、
処理をコンピュータに実行させるプログラム。
【請求項１３】
物理マシンで動作する複数の仮想マシンの管理のために利用される消費電力量を推定するプログラムであって、
前記複数の仮想マシンに共用される複数のリソースの消費電力量を測定する段階と、
前記複数の仮想マシンの何れもが処理装置に割当てられていない、継続する期間の開始時刻と終了時刻とを特定し、
前記開始時刻と前記終了時刻とに対応する前記消費電力量から、前記物理マシンが前記複数の仮想マシンを管理するための消費電力量を取得し、
複数の継続時間の各々において取得される、前記複数の仮想マシンを管理するための前記消費電力量を、前記複数の仮想マシンの各々について積算する、
処理をコンピュータに実行させるプログラム。
【請求項１４】
物理マシンで動作する複数の仮想マシンに共通に利用される共通リソースの消費電力量が、他のリソースの消費電力量に依存する、前記共通リソースの消費電力量を前記複数の仮想マシンの各々について推定するプログラムであって、
前記共通リソースの消費電力量を測定し、
所定の複数のリソースの消費電力量の積算値を仮想マシン毎に小計した消費電力量を算出し、
前記仮想マシン毎に小計した消費電力量及び仮想マシンを管理するための消費電力量に基づいて、前記共通リソースの消費電力量を、前記複数の仮想マシンの各々に比例配分する、
処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、消費電力量推定装置、及び消費電力量推定方法に関する。
【背景技術】
【０００２】
サーバでは、測定メカニズムが備えられており、サーバ自身の消費する電力又は電力量の測定が可能となっている。この測定メカニズムによって、中央処理装置（ＣＰＵ：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、メモリ、周辺回路などの各リソース別に消費電力（量）を測定することも行われている。しかしながら、サーバ上で複数の仮想マシン（ＶＭ：Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）が動作している場合には、仮想マシンの各々に関して、リソースの消費電力を測定することは、非常に困難である。なぜなら、複数の仮想マシンが、複数のリソースを共用しているからである。
【０００３】
仮想サーバの動作に応じて測定されるＣＰＵ使用率や、メモリ使用量を測定し、仮想サーバの動作を、予め設定されたハードウェア構成による基準サーバで行った場合における基準サーバのＣＰＵ使用率およびメモリ使用量に換算し、基準サーバにおける消費電力を推定する技術が存在する（例えば、特許文献１）。
【０００４】
物理リソースの各動作ステートに対応する処理当たりの消費電力を示すステートマッピングテーブルを備え、動作ステートに対応する処理当たりの消費電力を、ステートマッピングテーブルから得て、仮想マシンが実行した物理リソースに対する処理数を物理リソース処理数カウンタから取得し、取得した消費電力/処理と処理数との積によって、前記仮想マシンの消費電力を取得する技術が存在する（例えば、特許文献２）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−０３９５１３号公報
【特許文献２】特開２０１０−２７７５０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
一側面では、物理マシン上で動作する複数の仮想マシンの各々に関して、物理マシンのリソースの消費電力量を推定することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一実施形態は、物理マシンで動作する複数の仮想マシンに割当てられたリソースの消費電力量を前記複数の仮想マシンの各々について推定する消費電力量推定装置であって、前記リソースの消費電力量を測定する、消費電力量測定部と、前記仮想マシンに処理装置が継続して割当てられた継続時間の開始時刻と終了時刻とを特定する、時刻特定部と、前記開始時刻と前記終了時刻とに対応する前記消費電力量から、前記継続時間の前記リソースの消費電力量を取得する消費電力量取得部と、複数の継続時間の各々において取得される、複数の前記リソースの消費電力量を、前記複数の仮想マシンの各々について積算する、消費電力量積算部と、を有する消費電力量推定装置を提供する。
【発明の効果】
【０００８】
一実施形態によれば、物理マシン上で動作する複数の仮想マシン毎に、簡便にリソースの消費電力量を推定することができる。
【図面の簡単な説明】
【０００９】
【図１】一実施形態の物理マシン上で動作する複数の仮想マシンを示す図である。
【図２】一実施形態の複数の仮想マシンの切換動作を示す図である。
【図３】一実施形態における複数の仮想マシンのメモリ割当の割合を示す図である。
【図４】一実施形態の仮想マシンへのリソース割当を測定するフローチャートである。
【図５】一実施形態の消費電力を測定するフローチャートである。
【図６】集約された消費電力テーブルの例を示す図である。
【図７】一実施形態の消費電力の定常分を測定するフローチャートである。
【図８】定常消費電力テーブルの例を示す図である。
【図９】一実施形態におけるデバイスの消費電力と消費電力量の測定例を示す図である。
【図１０】一実施形態の機能ブロック図である。
【図１１】一実施形態の機能ブロック図である。
【図１２】一実施形態のハードウェア構成を示す図である。
【発明を実施するための形態】
【００１０】
仮想マシンの消費電力量を把握するためには、その仮想マシンが利用した複数のリソースのそれぞれの消費電力量を積算することによって求めてもよい。物理サーバにおいて利用されるリソースには、様々なものが存在するため、それぞれのリソースに適合した消費電力量の測定又は推定を行うことが望ましい。特定の仮想マシンに関して各リソースの消費電力が測定（推定）できれば、これらの消費電力量を合計することにより、その特定の仮想マシンの消費電力量を知ることができる。
【００１１】
また、仮想マシン自体、又は仮想マシンが使用するリソースの消費電力量を把握することによって、仮想マシンのライブマイグレーションの計画のベースとすることもできる。たとえば、特定のリソースが複数の仮想マシンによって、集中して利用される場合が想定される。このように物理マシンの特定のリソースの消費電力量が定常的に高い値を示す場合には、他の物理サーバにライブマイグレーションにより移動させるための仮想マシンを特定するために、本発明の実施形態が利用されてもよい。ライブマイグレーションによって、特定のリソースの消費電力量が高い仮想マシンを他の物理マシンに移動させることにより、特定のリソースが定常的に高い電力を消費することに起因して、その寿命を短縮させてしまうことも避けることができる。
【００１２】
以下、図面を参照しながら、本発明に係る実施形態を説明する。
【実施例】
【００１３】
図１は、一実施形態の物理マシン１００上で動作する複数の仮想マシンＶＭ１ないしＶＭ３を示している。物理マシン１００は、ハードウェア１０２としてＣＰＵ、メモリ、Ｉ／Ｏ、ディスク、ネットワークインターフェイス（ＮＩＣ）等を有している。そして、ハードウェア１０２上で動作するサーバファームウェア１０４が存在する。サーバファームエア１０４には、ＢＩＯＳや仮想マシンのためのファームウエア等が含まれ、仮想マシンモニタＶＭＭとハードウェア１０２との間のインターフェースが構築される。仮想マシンモニタＶＭＭは、複数の仮想マシンＶＭ１ないしＶＭ３が動作する環境を提供する。なお、仮想マシンモニタＶＭＭは、仮想化の基本となるソフトウエアである。仮想マシンモニタＶＭＭは、仮想マシンＶＭ１ないしＶＭ３の各々に対して、物理リソースをエミュレートする。また、仮想マシンＶＭ１ないしＶＭ３の各々からの要求を調停し、メモリ空間を隔離する役割を持つ。なお、仮想マシンモニタＶＭＭは、「ホスト型」「ハイパーバイザ型」「ハイブリッド型」などが存在するが、本発明の各実施形態は、仮想マシンモニタＶＭＭの形式に依存しない。
【００１４】
また、本発明の各実施形態は、仮想マシンモニタＶＭＭ上に構築されてもよいが、これに限られない。すなわち、本発明の実施形態の一部又は全部は、サーバファームウェア１０４又はハードウェア１０２においてインプリメントされてもよいことは言うまでもない。
【００１５】
仮想マシンＶＭ１には、ゲストＯＳ１がインストールされており、ゲストＯＳ１上でアプリケーション１及び２が動作している。仮想マシンＶＭ２には、ゲストＯＳ２がインストールされており、アプリケーション３が動作している。仮想マシンＶＭ３には、ゲストＯＳ３がインストールされており、ゲストＯＳ２上でアプリケーションＮが動作している。これらの仮想マシンＶＭ１ないしＶＭ３は、仮想マシンモニタＶＭＭの制御の基に、相互に干渉せずに、１つの物理マシン１００上で動作することができる。
【００１６】
図２は、一実施形態の複数の仮想マシンＶＭ１ないしＶＭ３の切換動作の例を示している。時刻ｔ１からｔ２まで仮想マシンモニタＶＭＭが動作し、時刻ｔ１前の動作環境を退避すると共に、次に動作を予定している仮想マシンＶＭ１の動作環境を整える。時刻ｔ２からｔ３まで仮想マシンＶＭ１が動作する。同様に時刻ｔ３からｔ４まで仮想マシンモニタＶＭＭが動作し、時刻ｔ４からｔ５まで仮想マシンＶＭ２が動作し、時刻ｔ５からｔ６まで仮想マシンモニタＶＭＭが動作し、時刻ｔ６から仮想マシンＶＭ３が動作する。このように仮想マシンモニタの重要な役割の１つは、仮想マシンの切換を制御することである。
【００１７】
図３は、一実施形態における複数の仮想マシンのメモリ割当を例示している。全体としてＬの容量を有するメモリ３１０が示されている。仮想マシンモニタＶＭＭは、仮想マシンＭＶ１に領域ａ及び領域ｄ、仮想マシンＭＶ２に領域ｃ、仮想マシンＶＭ３に領域ｂを割り当てている。ここでａないしｄは、その領域の大きさを表しているとする。したがって、表３２０に示されるように、メモリの利用割合は、仮想マシンＶＭ１が（ａ＋ｄ）／Ｌ、仮想マシンＶＭ２がｃ／Ｌ、仮想マシンＶＭ３がｂ／Ｌである。このメモリ割当は、仮想マシンモニタＶＭＭが、必要に応じて動的に変更することができる。したがって、例えば仮想マシンＶＭ３のメモリが不足した場合には、未割当の領域を仮想マシンＶＭ３に割り当てることにより、割り当てられるメモリ領域を拡大することができる。また、仮想マシンＶＭ１のメモリ領域の一部が不要と判断された場合には、例えばメモリ領域ａを開放し、メモリ領域ｄだけを仮想マシンＶＭ１用として割り当てるようにしてもよい。
【００１８】
図４は、一実施形態の仮想マシンへのリソース割当を測定するフローチャートを示している。このフローチャートは、割り込みによって開始されてもよい。なお、ステップ４０２、及びステップ４２２が並列に並んでいる。これらのステップは、何れか１つのステップだけが実行されてもよい。或いは、複数のステップが実行されてもよい。ステップの実行順序は、どのような順序であってもよい。
【００１９】
ステップ４０２では、時刻ｔにおけるリソースの消費電力量Ｊ（ｔ）が測定される。なお、消費電力Ｗ（ｔ）が測定されてもよい。なお、消費電力Ｗ（ｔ）を時間積分したものが消費電力量Ｊ（ｔ）であるため、例えば、消費電力Ｗ（ｔ）に積分器を接続しておけば、消費電力量Ｊ（ｔ）を求めることができる。なお、積分器は、アナログ回路又はデジタル回路のいずれで実現されてもよい。物理マシン１００のリソースは、複数存在するため、複数のリソースの各々に対して、これらの測定を行うことが望ましい。この点については、図９を用いて具体的に説明する。加えて、測定した消費電力量Ｊ（ｔ）（又は必要に応じて消費電力Ｗ（ｔ））の測定時刻を測定しておくことが望ましい。測定するタイミングは、メモリなどの記憶装置の場合には、所定の時間間隔で測定してもよい。加えて、仮想化マシンの切換時に測定することが望ましい。測定すべき時刻については、リソースの性格によって異なってもよい。なお、詳細については、図５を用いて各リソースの消費電力量の計算に関する説明において後述する。
【００２０】
ステップ４２２では、記憶部における仮想マシン毎の利用割合を測定する。仮想マシンが動作している際に、記憶部の利用割合は、動的に変化する。例えば、大きな物理メモリ空間を利用している仮想マシンのメモリに対する消費電力量は、小さな物理メモリ空間を利用している仮想マシンの消費電力量よりも、大きく計上されることが望ましい。このため、メモリやディスクなどの記憶部に対する、各仮想マシンの消費電力量の算出においては、動的に変化する記憶部の使用量を考慮することが望ましい。メモリなどの記憶部以外のリソースであって、仮想マシン毎に利用割合が変化するリソースについては、記憶部と同様に、ステップ４２２において、その利用割合を測定し、電力量の計算に利用してもよい。なお、仮想マシンの動作中におけるメモリ領域の利用割合の動的な変動を取得する代わりに、仮想マシンの動作の切換の開始時又は終了時のメモリ利用割合だけを測定してもよい。あるいは、仮想マシンの動作の切換時の開始時と終了時の記憶部の利用割合の平均値を算出し、この平均値を利用してもよい。このようにすることにより、仮想マシンの動作時においてメモリ利用割合を定期的に取得するために生じるオーバーヘッドを削減させることができる。あるいは、仮想マシン毎の記憶部の利用割合の測定を専用のハードウェアを利用するか、又はファームウエアの機能として実現させてもよい。記憶部の利用割合を考慮した消費電力量の具体的な計算手法については、図５を用いて後述する。
【００２１】
図５は、一実施形態の消費電力を測定するフローチャートを示している。図５においては、例示として、図２における時刻ｔ３から時刻ｔ４までの仮想マシンモニタＶＭＭの処理のうち、消費電力量を取得するためのフローチャートのみを示している。なお、仮想マシンモニタＶＭＭは、この処理フロー以外の処理も行う点に留意すべきである。なお、図５のフローチャートは、複数のリソースの電力量を測定（推定）するフローを示しており、特定のリソースにおいては不要であるステップも含まれている。以下、主要なリソース毎に、処理の内容を説明する。
【００２２】
なお、以下では、主要なリソースについて電力消費量の測定（推定）の手法について説明するが、その他のリソースについても、その性格に応じて、何れかの手法を用いることができる点に留意すべきである。また、特定の仮想マシンに関する各リソースの消費電力量を合算することにより、その特定の仮想マシンの消費電力量を取得することができる。
【００２３】
［ＣＰＵの消費電力量の算出例］
図２、４、及び図５を用いて説明する。時刻ｔ３において、仮想マシンＶＭ１の処理が終了し、制御が仮想マシンモニタＶＭＭに移る。そして、仮想マシンモニタＶＭＭにおいて、仮想マシンのスイッチ処理が開始される。
【００２４】
次に、仮想マシンとＣＰＵとの関係を説明する。仮想マシンＶＭ１にＣＰＵが割り当てられると、ＣＰＵは、一定の時間（時刻ｔ２から時刻ｔ３まで）、仮想マシンＶＭ１に占有され、その仮想マシンＶＭ１の処理に専念する。そして、ＣＰＵが仮想マシンＶＭ１の制御及びその他のリソースの制御を行う。すなわち、ＣＰＵが仮想マシンＶＭ１に占有されている期間におけるＣＰＵの消費電力量の全ては、その仮想マシンＶＭ１のためのＣＰＵの消費電力量に計上されてもよい。このように、一般に仮想マシンに占有される性格を持つ他のリソースは、ＣＰＵ以外にも存在する。例えば、入出力コントローラ、バス、又はネットワークコントローラ等が挙げられる。以下の処理の説明は、ＣＰＵの消費電力量に関するものであるが、上記のリソースについても同様の処理を行うことで、それぞれのリソースの消費電力量を算出できる点に留意すべきである。
【００２５】
ステップ５０２において、図４に示したＣＰＵの消費電力量の測定値及び測定の時刻の取得が行われる。ＣＰＵの消費電力量の測定値及び測定の時刻は、測定時において、メモリに記憶されていてもよい。測定は、ステップ５０２において行ってもよい。また、ステップ５０２における時刻が記憶されてもよい。
【００２６】
また、時刻ｔ４の直前の仮想マシンスイッチの処理が完了する前に、ステップ５２９において、図４に示したＣＰＵの消費電力量の測定値及び測定時刻の取得が同様に行われてもよい。測定値及び測定時は、後に利用されるためにメモリに記憶されていてもよい。
【００２７】
留意すべき点は、上述したように、図５の処理は、時刻ｔ３から時刻ｔ４における処理であるが、仮想マシンモニタＶＭＭの他の動作時、例えば時刻ｔ１から時刻ｔ２、時刻ｔ５から時刻ｔ６においても、図５と同様の処理フローが動作する点に留意すべきである。
【００２８】
ステップ５１０において、時刻ｔ２からｔ３までの仮想マシンＶＭ１に対するＣＰＵの消費電力量が計算される。時刻ｔ２から時刻ｔ３までのＣＰＵの消費電力量Ｊｃｐｕ（ｔ２，ｔ３）は、以下の式で計算できる。
【００２９】
Ｊｃｐｕ（ｔ２，ｔ３）＝Ｊｃｐｕ（ｔ３）−Ｊｃｐｕ（ｔ２）    ・・・（１）
ここで、Ｊｃｐｕ（ｔ３）は、時刻ｔ３におけるＣＰＵの消費電力量であり、図５のステップ５０２において取得された値である。Ｊｃｐｕ（ｔ２）は、時刻ｔ２におけるＣＰＵの消費電力量であり、時刻ｔ２の直前に実行されたステップ５２９によって取得され、記憶された値である。ここで算出されるＣＰＵの消費電力量Ｊｃｐｕ（ｔ２，ｔ３）は、過去に積算されたＣＰＵの消費電力量（図６のＶＭ消費電力量テーブル６００のエントリＣ１）に積算され、同位置（エントリーＣ１）に保存される（ステップ５１０）。
【００３０】
例えば、入出力コントローラ、バス、又はネットワークコントローラ等についても、ＣＰＵと同様の処理により、時刻ｔ２からｔ３までの仮想マシンＶＭ１に関する消費電力量が計算できる。
【００３１】
［メモリの消費電力量の算出例］
図３のメモリ３１０に示したように、メモリなどの記憶部の各領域については、各仮想マシンがそれぞれ一定の領域を占有している。例えば、物理マシンがアイドル状態の場合を想定する。この場合にも、メモリは少なくともリフレッシュのために電力を消費している。この消費電力は、図３のメモリの利用割合３２０に応じて、仮想マシン毎に配分されることが望ましい。したがって、この考え方に基づき、物理マシンがアイドル時におけるメモリの消費電力（以下「消費電力の定常分」と言う）を予め取得しておき、メモリの配分の変化に応じて、配分することが望ましい。なお、メモリアクセスにより生じる電力消費量の増加分は、それぞれの仮想マシンに割り当てるのが望ましい。したがって、時刻ｔ２から時刻ｔ３までの、メモリの消費電力量Ｊｍｅｍ（ｔ２，ｔ３）は、例えば以下のように計算できる。
【００３２】
【数１】
2014137609.tif 000003
ここで、α（ｔ）は、仮想マシンＶＭ１のメモリ利用割合を時間の関数で表したものであり、Ｗｃは物理マシンのアイドル時におけるメモリの消費電力である。また、Ｗ（ｔ）は、物理マシンの動作時のメモリ消費電力を時間の関数として表したものである。したがって、左側の積分の項は、メモリの利用割合を考慮した仮想マシンＶＭ１のメモリ消費電力量の定常分を表す（ステップ５１２）。右側の積分の項は、仮想マシンＶＭ１のメモリ消費電力量の変動分を表す（ステップ５１４）。なお、この計算を採用する場合には、仮想マシンＶＭ１の動作中におけるメモリ利用割合α（ｔ）とメモリ消費電力Ｗ（ｔ）とを取得し、保存することが必要である。なお、これらのパラメータを取得する代わりに、メモリ全体の消費電力量Ｊｍ（ｔ）を測定し、また、メモリ利用割合は、ｔ２又はｔ３の時期のメモリ利用割合の平均値を用いてもよい。たとえば、以下の式を用いて計算してもよい。
【００３３】
【数２】
2014137609.tif 000004
なお、上記の式ではメモリ利用割合は、平均値を用いたが、その代わりに、α（ｔ２）又はα（ｔ３）だけを用いて計算してもよい。
【００３４】
ここで算出されたメモリの消費電力量は、過去に積算されたメモリの消費電力量（図６のＶＭ消費電力量テーブル６００のエントリＭ１）に積算され、同位置に保存される（ステップ５１０）。
【００３５】
なお、入出力コントローラが、部分的に仮想マシン毎に割り当てられる場合には、特定の仮想マシンに割り当てられる入出力コントローラの部分の全体に対する割合に応じて、入出力コントローラ利用率を特定し、この特定の入出力コントローラの消費電力量をメモリに対する算出手法と同様に算出を行ってもよい。他のリソースにおいても、そのリソースの性格に応じて、上述のメモリに対する消費電力量の算出手法を採用してもよい。
【００３６】
本発明は、上述の計算式に限定されるものではない。
【００３７】
［仮想マシンモニタ自体の消費電力量］
仮想マシンの消費電力量以外の消費電力量として、仮想マシンモニタ自体の消費する電力量が存在する。時刻ｔ３から時刻ｔ４までにおける図５のフローにおいては、時刻ｔ１から時刻ｔ２までのデータを保存しておき、利用できるようにする。このため、時刻ｔ１から時刻ｔ２までの仮想マシンモニタＶＭＭの消費電力量Ｊｖｍｍ（ｔ１，ｔ２）が、図５のステップ５２２において計算される。このＪｖｍｍ（ｔ１，ｔ２）は、例えば、物理マシン自体の時刻ｔにおける消費電力ＷＴ（ｔ）が測定されている場合には、以下の式を用いて計算してもよい。
【００３８】
【数３】
2014137609.tif 000005
或いは、時刻ｔにおける物理マシンの消費電力量ＪＴ（ｔ）が測定されている場合には、以下の計算により求めてもよい。
【００３９】
【数４】
2014137609.tif 000006
このようにして求めた、Ｊｖｍｍ（ｔ１，ｔ２）を、図６の仮想計算機モニタの電源消費量の積算値のエントリｖ１（６１０）に積算し、同一のエントリｖ１に書き込めばよい。
【００４０】
また、複数の仮想マシンの何れもがＣＰＵに割当てられていない時間の消費電力量を算出してもよい。
【００４１】
なお、本発明は、上記の式に限定されるものではない。
【００４２】
［電源装置の消費電力量の算出例］
例えば、電源装置（ＰＳＵ）やファンなどは、特定の仮想マシンの消費電力量に依存して自己の消費電力量が変動し、複数のリソースに共用されるリソースである。したがって、例えば電源装置自体の消費電力量のうち、仮想マシンの各々に利用される内訳を計算するために以下の手法を用いてもよい。たとえば、仮想マシン毎に占有されるリソース（図６，６０２）の消費電力量を仮想マシン毎に加算し、仮想マシン毎の消費電力量の小計Ｙ１、Ｙ２、Ｙ３を計算する（６１２）。そして、この小計を用いて、時刻ｔにおける電源装置（ＰＳＵ）の消費電力量Ｊｐｓｕ（ｔ）を比例配分すればよい。具体的な式を示せば以下の通りである。
【００４３】
【数５】
2014137609.tif 000007
ここで、ｖ１は、仮想マシンを管理するための仮想マシンモニタ自体の消費電力量である。Ｐ１、Ｐ２、Ｐ３は、図６の６０４に示すように、それぞれ電源装置ＰＳＵの仮想マシンＶＭ１、ＶＭ２、ＶＭ３に対応する消費電力量の配分値を表す。
【００４４】
上記と同様に、冷却ファン等の消費電力量についても、仮想計算期毎の割合を計算できる。
【００４５】
図６のＶＭ消費電力量テーブル６００に示すように、各リソースについて、仮想マシンＶＭ１、ＶＭ２、ＶＭ３に対応する消費電力量が保存され、各仮想マシンの消費電力量の総計６１４が、Ｘ１、Ｘ２、Ｘ３として算出される。
【００４６】
図７は、一実施形態の消費電力の定常分を測定するフローチャートを示している。たとえばメモリに関する消費電力量の定常分の算出について以下に説明する。なお、リソースがメモリ以外のハードディスク等であっても同様である。この処理においては、物理マシンがアイドル時であるときに実行することが望ましい。
【００４７】
ステップ７０２において、メモリの消費電力量１を取得する。
【００４８】
ステップ７０４において、前回取得値テーブルに取得された消費電力量１を格納する。
【００４９】
ステップ７０６において、例えば１０秒間待機する。
【００５０】
ステップ７０８において、メモリの消費電力量２を取得する。
【００５１】
ステップ７１０において、消費電力量の差分電力（消費電力量２―消費電力量１）を計算する。
【００５２】
ステップ７１２において、前回のループ処理において計算された電力と、今回のループにおいて計算された電力との偏差を計算する。
【００５３】
ステップ７１４において、上記の偏差と既定値との比較が行われる。その偏差が既定値より小さければ（「はい」）、ステップ７１６に移る。その偏差が既定値と等しいか大きければステップ７０４に戻る（「いいえ」）。
【００５４】
ステップ７０４に戻ったときには、前回のメモリ消費電力量２を前回取得テーブルに格納し、ループが繰り返される。
【００５５】
ステップ７１６において、測定された電力は安定している値であると判断されたため（ステップ７１４）、その電力を定常電力テーブルへ格納し、終了する。
【００５６】
以上の処理を、メモリ以外のリソースについても行う。
【００５７】
図８は、定常消費電力テーブルの例を示す図である。図８１０は消費電力テーブルであり、各リソースにおいて消費電力（１０秒間の消費電力量）を測定した結果が格納されている。
【００５８】
図８の定常消費電力テーブル８２０は、図７の処理によって求めた、各リソースの消費電力の定常値である。Ｐ―ｉｄｌｅ−ｍｅｍは、メモリの定常消費電力Ｗ１を示す。Ｐ―ｉｄｌｅ−ｉｏは、入出力インターフェースの定常消費電力Ｗ２を示す。Ｐ―ｉｄｌｅ−ｄｉｓｋは、ディスクの定常消費電力Ｗ３を示す。
【００５９】
図９は、一実施形態におけるデバイスの消費電力と消費電力量の測定例を示している。リソースとしてのデバイスＭ９１０への電源供給がデバイスＭ９１０の端子Ｐ及び端子Ｑに入力されている。電源供給路には、電流計９１０と電圧計９２０が設置されている。時刻ｔにおける電流の値がＡ、電圧の値がＶであれば、消費電力計算器９３０において、時刻ｔにおける消費電力Ｗ（ｔ）が以下の式によって計算される。
Ｗ（ｔ）＝Ａ×Ｖ
加えて、消費電力量計算器９４０によって、消費電力を積分することによって、デバイスＭ（９１０）の消費電力量Ｊ（ｔ）が以下のように算出できる。
【００６０】
【数６】
2014137609.tif 000008
消費電力計算器９３０及び消費電力量計算器９４０は、アナログ回路又はデジタル回路の何れによって実現されてもよい。このような電力量の計測回路を各リソースに設置することにより、各リソースの消費電力量を時間の関数として取得することができる。
【００６１】
図１０は、例えば上述の［ＣＰＵの消費電力量の算出例］の項、及び［仮想マシンモニタ自体の消費電力量］の項において述べた処理を実行する機能ブロック図の例１０００を示している。
【００６２】
管理部１００６は、特定の仮想マシンに所定のリソース１００２を割り当てる機能を有し、リソースを割り当てた時刻が特定される。
【００６３】
消費電力量測定部１００８は、リソースの消費電力を測定する。
【００６４】
消費電力量取得部１０１０は、特定された時刻における、リソースによる消費電力量を取得し出力する。例えば、仮想マシンＶＭ１にＣＰＵが継続して割り当てられた時間の開始時刻と終了時刻とにおけるＣＰＵの消費電力量を取得する。取得されたＣＰＵの消費電力量は、図６のＶＭ消費電力量テーブルのＶＭ１のエントリＣ１に加算される。なお、リソースとしては、ＣＰＵ、入出力コントローラ、バス、又はネットワークコントローラ、仮想マシンに共用される複数のリソース全ての消費電力量等が挙げられる。処理は、上述のＣＰＵと同じであるため、説明は省略する。
【００６５】
仮想マシンモニタＶＭＭ自体の消費電力量は、例えば、時刻特定部１００４からの時刻の情報を基に、仮想マシンモニタＶＭＭにＣＰＵが割り当てられている（仮想マシンの何れもがＣＰＵに割当てられていない）、継続する期間の開始時刻と終了時刻とを特定し、この継続する期間に係る、仮想マシンに共用される複数のリソースの消費電力量（物理マシン自体の消費電力量）を取得してもよい。この取得された消費電力量を図６の６１０の記憶領域のｖ１の値に加算することにより、仮想マシンモニタＶＭＭの消費電力量の積算値がｖ１に格納される。
【００６６】
図１１は、例えば、上述の［メモリの消費電力量の算出例］の項、及び［電源装置の消費電力量の算出例］の項において述べた処理を実行する機能ブロック図の例１１００を示している。なお、図１０と同じブロックについては、同じ参照符号を付している。図１０と重複する説明については、省略する。
【００６７】
利用割合特定部１１０２は、複数の仮想マシンの各々が占有するメモリの利用割合を取得する。この利用割合の取得の対象は、メモリに限定されない。例えば、ハードディスク、シリコンディスクなどの種々のメモリが挙げられる。或いは、入出力コントローラの一部の入出力ポートが複数の仮想マシンの各々に占有される場合には、仮想マシン毎の入出力コントローラの利用割合を取得してもよい。この場合には、入出力コントローラは、メモリと同様の処理を用いて仮想マシン毎の消費電力量を取得してもよい。したがって、本明細書において、メモリに関して説明する処理は、他のリソースに用いてもよい点に留意すべきである。この点は、以下に説明する事項についても同様である。
【００６８】
消費電力定常分特定部１１０６は、図７で説明した処理を実行する。すなわち、物理マシンがアイドル状態である場合において、リソースが消費する消費電力の定常分として取得してメモリ（例えば図８における定常消費電力テーブル８２０）に記憶してもよい。
【００６９】
消費電力量定常分取得部１１１２は、上述の式（３）のうち、
【００７０】
【数７】
2014137609.tif 000009
を計算してもよい。或いは、式（２）の左側の積分項を計算してもよい。
【００７１】
消費電力量変動分取得部１１１４は、上述の式（３）のうち、
【００７２】
【数８】
2014137609.tif 000010
を計算してもよい。或いは、式（２）の右側の積分項を計算してもよい。なお、本発明は、これらの式に限定されるものではない。
【００７３】
加算器１１１６は、消費電力量定常分取得部１１１２と、消費電力量変動分取得部１１１４とからの出力を加算し、消費電力量積算部１０２０に与える。
【００７４】
比例配分部１１１８は、消費電力量積算部１０２０で作成された図６に示すＶＭ消費電力量テーブル６００を用いてもよい。具体的には、ＶＭ消費電力量テーブル６００において算出された小計６１２を用いて、冷却ファンや電源装置（ＰＳＵ）の消費電力量について、仮想マシン毎の配分を行う。比例配分は、例えば、上述の式（６）ないし式（８）を用いてもよい。
【００７５】
なお、消費電力量積算部１０２０は、図６のＶＭ消費電力量テーブル６００における仮想マシンＶＭ１、ＶＭ２、ＶＭ３に対して、それぞれの総計の消費電力量Ｘ１、Ｘ２、Ｘ３を算出してもよい。
【００７６】
なお、本発明は、図６のＶＭ消費電力量テーブルに例示されたリソースに限定されるものではない。例えば、特定の仮想マシンに専用に用意されたリソースについては、そのリソースの消費電力量全てをその特定の仮想マシンに対応させて計上してもよい。また、シリアル転送などで接続されたリソースは、対応する仮想マシンの動作よりも遅延した形で動作する場合がある。この場合には、どの仮想マシンからの要求でそのリソースが動作しているのかを把握することにより、そのリソースの消費電力量を、仮想マシン毎に対応づけることができる。換言すれば、特定の仮想マシンがＣＰＵに割り当てられる時間間隔と、その特定の仮想マシンに利用されるリソースの消費電力として計上するために用いられる時間間隔が異なる場合には、上述のように、どの仮想マシンからの要求かを考慮する必要がある点に留意すべきである。
【００７７】
図１２は、本発明の実施形態のハードウェア（コンピュータ）の構成例を示している。ハードウェアは、ＣＰＵ１２０２、ＢＩＯＳ・ファームウエア１２０４、ＲＡＭ１２０６、入出力コントローラ１２０８、ディスク１２１０、ドライブ装置１２１２、ネットワークインターフェースカード（ＮＩＣ）１２１４が含まれてもよい。そして、それぞれの機器は、バス１２０８によって接続され得る。また、ドライブ装置１２１２は、記憶媒体１２１６を読み書きすることができる。そして、ＮＩＣ１２１４には、ネットワーク（不図示）が接続されてもよい。
【００７８】
なお、本実施形態の全部又は一部はプログラムによってインプリメントされ得る。このプログラムは、記憶媒体１２１６、ディスク１２１０、ＲＡＭ１２０６等に格納することができる。記憶媒体１２１６とは、構造を有する１つ以上の非一時的（non-transitory）な記憶媒体を言う。例示として、記憶媒体１２１６としては、磁気記録媒体、光ディスク、光磁気記録媒体、不揮発性メモリなどがある。磁気記録媒体には、ＨＤＤ、フレキシブルディスク（ＦＤ）、磁気テープ（ＭＴ）などがある。光ディスクには、ＤＶＤ（Digital  Versatile  Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact  Disc-Read  Only  Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。また、光磁気記録媒体には、ＭＯ（Magneto-Optical  disk）などがある。記憶媒体１２１６に格納されたプログラムが読み込まれ、ＣＰＵによって実行されることにより、本発明の実施形態の全部又は一部が実施され得る。
【００７９】
データセンタなどでは、データセンタが所有する１つの物理マシンに、複数の企業の仮想マシンが動作している場合がある。この場合、データセンタは、各企業に仮想マシンの稼働のための課金を行う必要がある。仮想マシンの消費電力量を知ることができれば、それぞれの企業に対する仮想マシンの稼働のための課金を算出するファクターの１つとして、この仮想マシンの消費電力量を利用することができる。
【００８０】
また、各企業は、企業の社会的責任を果たすために、二酸化炭素排出量を開示することが行われている。これは、一般にカーボンフットプリントの開示と呼ばれている。この観点から、企業が、他社の所有する物理マシンを利用して仮想マシンを運用する場合には、その企業のために動作する仮想マシンの消費電力量を把握することも必要となる。自己の企業のための仮想マシンの消費電力量に対応する二酸化炭素排出量は、その企業の二酸化炭素排出量に計上される必要があるからである。
【００８１】
このため、各仮想マシンの消費電力量（及び／又は仮想マシン毎の各リソースの消費電力量）を把握することは、ますます重要となってきている。
【００８２】
以上、図面を用いて本発明の実施形態を詳細に説明した。なお、上述の実施形態は、発明を理解するためのものであり、本発明の範囲を限定するためのものではない点に留意すべきである。また、上述の複数の実施形態は、相互に排他的なものではない。したがって、矛盾が生じない限り、異なる実施形態の各要素を組み合わせることも意図されていることに留意すべきである。また、請求項に記載された方法やプログラムに係る発明は、矛盾のない限り処理の順番を入れ替えてもよく、あるいは、複数の処理を同時に実行してもよい。そして、これらの実施形態も、請求項に記載された発明の技術的範囲に包含されることは言うまでもない。
【００８３】
また、コンピュータが読み出したプログラムコードを実行することにより、上述の実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ、仮想マシンモニタＶＭＭ、ファームウエア、ＢＩＯＳなどのプログラムが実際の処理の一部または全部を行ない、その処理によって実施形態の機能が実現される場合も、本発明に含まれることは言うまでもない。
【００８４】
また、本発明の各種実施形態のそれぞれの構成要素は、物理的に分離された複数のハードウェアで実現されてもよい。また、本発明の各種実施形態のそれぞれの構成要素は、１つ以上のサーバ上で動作することによって実現されてもよい。また、本発明に係るプログラムを実行するＣＰＵは複数であってもよく、また、各ＣＰＵは複数のコアを含んでいてもよい。
【符号の説明】
【００８５】
１００２  リソース
１００４  時刻特定部
１００６  管理部
１００８  消費電力量測定部
１０１０  消費電力量取得部
１０２０  消費電力量積算部
１１０２  利用割合特定部
１１０６  消費電力定常分特定部
１１１２  消費電力量定常分取得部
１１１４  消費電力量変動分取得部
１１１６  加算器
１１１８  比例配分部
以上の実施形態に関し以下の付記を開示する。
（付記１）
物理マシンで動作する複数の仮想マシンに割当てられたリソースの消費電力量を前記複数の仮想マシンの各々について推定する消費電力量推定装置であって、
前記リソースの消費電力量を測定する、消費電力量測定部と、
前記仮想マシンに処理装置が継続して割当てられた継続時間の開始時刻と終了時刻とを特定する、時刻特定部と、
前記開始時刻と前記終了時刻とに対応する前記消費電力量から、前記継続時間の前記リソースの消費電力量を取得する消費電力量取得部と、
複数の継続時間の各々において取得される、複数の前記リソースの消費電力量を、前記複数の仮想マシンの各々について積算する、消費電力量積算部と、
を有する消費電力量推定装置。
（付記２）
前記リソースは、処理装置、入出力コントローラ、バス、又はネットワークコントローラである、付記１記載の消費電力量推定装置。
（付記３）
物理マシンで動作する複数の仮想マシンに割当てられた記憶部の消費電力量を前記複数の仮想マシンの各々について推定する消費電力量推定装置であって、
前記記憶部の消費電力量を測定する、消費電力量測定部と、
前記物理マシンのアイドル時における前記記憶部の消費電力量に基づいて、前記記憶部の消費電力の定常分を特定する消費電力定常分特定部と、
前記仮想マシンに処理装置が継続して割当てられた継続時間の開始時刻と終了時刻とを特定する、時刻特定部と、
前記仮想マシンによる、前記記憶部の利用割合を取得する、利用割合取得部と、
前記消費電力の定常分と、前記利用割合と、前記開始時刻と、前記終了時刻とから、前記記憶部の消費電力量の定常分を取得する消費電力量定常分取得部と、
前記開始時刻と前記終了時刻とに対応する前記消費電力量、及び前記消費電力の定常分から、前記記憶部の消費電力量の変動分を取得する消費電力量変動分取得部と、
前記消費電力量の定常分と前記消費電力量の変動分との和から、前記継続時間の前記記憶部の消費電力量を取得する消費電力量取得部と、
複数の継続時間の各々において取得される、複数の前記記憶部の消費電力量を、前記複数の仮想マシンの各々について積算する、消費電力量積算部と、
を有する消費電力量推定装置。
（付記４）
物理マシンで動作する複数の仮想マシンの管理のために利用される消費電力量を推定する消費電力量推定装置であって、
前記複数の仮想マシンに共用される複数のリソースの消費電力量を測定する、消費電力量測定部と、
前記複数の仮想マシンの何れもが処理装置に割当てられていない、継続する期間の開始時刻と終了時刻とを特定する、時刻特定部と、
前記開始時刻と前記終了時刻とに対応する前記消費電力量から、前記物理マシンが前記複数の仮想マシンを管理するための消費電力量を取得する消費電力量取得部と、
複数の継続時間の各々において取得される、前記複数の仮想マシンを管理するための前記消費電力量を、前記複数の仮想マシンの各々について積算する、消費電力量積算部と、
を有する消費電力量推定装置。
（付記５）
物理マシンで動作する複数の仮想マシンの消費電力量に依存して自己の消費電力量が変動し、前記仮想マシンに共通に利用される共通リソースの消費電力量の内訳を前記複数の仮想マシンの各々について推定する消費電力量推定装置であって、
前記共通リソースの消費電力量を測定する、消費電力量測定部と、
所定の複数のリソースの消費電力量の積算値を仮想マシン毎に小計した消費電力量を算出する、消費電力量積算部と、
前記仮想マシン毎に小計した消費電力量に基づいて、前記共通リソースの消費電力量を、前記複数の仮想マシンの各々に比例配分する比例配分部と、
を有する消費電力量推定装置。
（付記６）
当該消費電力量推定装置の一部は、前記複数の仮想マシンを管理する仮想マシンモニタよりも下位のレベルの、前記物理マシンのファームウエアで実現される、付記１ないし５のうち何れか１項記載の消費電力量推定装置。
（付記７）
物理マシンで動作する複数の仮想マシンに割当てられたリソースの消費電力量を前記複数の仮想マシンの各々について推定する消費電力量推定方法であって、
前記リソースの消費電力量を測定する段階と、
前記仮想マシンに処理装置が継続して割当てられた継続時間の開始時刻と終了時刻とを特定する段階と、
前記開始時刻と前記終了時刻とに対応する前記消費電力量から、前記継続時間の前記リソースの消費電力量を取得する段階と、
複数の継続時間の各々において取得される、複数の前記リソースの消費電力量を、前記複数の仮想マシンの各々について積算する段階と、
を有する消費電力量推定方法。
（付記８）
前記リソースは、処理装置、入出力コントローラ、バス、又はネットワークコントローラである、付記７記載の消費電力量推定方法。
（付記９）
物理マシンで動作する複数の仮想マシンに割当てられた記憶部の消費電力量を前記複数の仮想マシンの各々について推定する消費電力量推定方法であって、
前記記憶部の消費電力量を測定する段階と、
前記仮想マシンに処理装置が継続して割当てられた継続時間の開始時刻と終了時刻とを特定する段階と、
前記仮想マシンによる、前記記憶部の利用割合を取得する段階と、
消費電力の定常分と、前記利用割合と、前記開始時刻と、前記終了時刻とから、前記記憶部の消費電力量の定常分を取得する段階であって、前記消費電力の定常分は、前記物理マシンのアイドル時における前記記憶部の消費電力に基づいて特定される、段階と、
前記開始時刻と前記終了時刻とに対応する前記消費電力量、及び前記消費電力の定常分から、前記記憶部の消費電力量の変動分を取得する段階と、
前記消費電力量の定常分と前記消費電力量の変動分との和から、前記継続時間の前記記憶部の消費電力量を取得する段階と、
複数の継続時間の各々において取得される、複数の前記記憶部の消費電力量を、前記複数の仮想マシンの各々について積算する段階と、
を有する消費電力量推定方法。
（付記１０）
物理マシンで動作する複数の仮想マシンの管理のために利用される消費電力量を推定する消費電力量推定方法であって、
前記複数の仮想マシンに共用される複数のリソースの消費電力量を測定する段階と、
前記複数の仮想マシンの何れもが処理装置に割当てられていない、継続する期間の開始時刻と終了時刻とを特定する段階と、
前記開始時刻と前記終了時刻とに対応する前記消費電力量から、前記物理マシンが前記複数の仮想マシンを管理するための消費電力量を取得する段階と、
複数の継続時間の各々において取得される、前記複数の仮想マシンを管理するための前記消費電力量を、前記複数の仮想マシンの各々について積算する段階と、
を有する消費電力量推定方法。
（付記１１）
物理マシンで動作する複数の仮想マシンに共通に利用される共通リソースの消費電力量が、他のリソースの消費電力量に依存する、前記共通リソースの消費電力量を前記複数の仮想マシンの各々について推定する消費電力量推定方法であって、
前記共通リソースの消費電力量を測定する段階と、
所定の複数のリソースの消費電力量の積算値を仮想マシン毎に小計した消費電力量を算出する段階と、
前記仮想マシン毎に小計した消費電力量及び仮想マシンを管理するための消費電力量に基づいて、前記共通リソースの消費電力量を、前記複数の仮想マシンの各々に比例配分する段階と、
を有する消費電力量推定方法。
（付記１２）
当該消費電力量推定方法は、前記複数の仮想マシンを管理する仮想マシンモニタよりも下位のレベルの、前記物理マシンのファームウエアで実現される、付記７ないし１１のうち何れか１項記載の消費電力量推定方法。
（付記１３）
物理マシンで動作する複数の仮想マシンに割当てられたリソースの消費電力量を前記複数の仮想マシンの各々について推定するプログラムであって、
前記リソースの消費電力量を測定し、
前記仮想マシンに処理装置が継続して割当てられた継続時間の開始時刻と終了時刻とを特定し、
前記開始時刻と前記終了時刻とに対応する前記消費電力量から、前記継続時間の前記リソースの消費電力量を取得し、
複数の継続時間の各々において取得される、複数の前記リソースの消費電力量を、前記複数の仮想マシンの各々について積算する、
処理をコンピュータに実行させるプログラム。
（付記１４）
前記リソースは、処理装置、入出力コントローラ、バス、又はネットワークコントローラである、付記１３記載のプログラム。
（付記１５）
物理マシンで動作する複数の仮想マシンに割当てられた記憶部の消費電力量を前記複数の仮想マシンの各々について推定するプログラムであって、
前記記憶部の消費電力量を測定し、
仮想マシンに処理装置が継続して割当てられた継続時間の開始時刻と終了時刻とを特定し、
前記仮想マシンによる、前記記憶部の利用割合を取得し、
消費電力の定常分と、前記利用割合と、前記開始時刻と、前記終了時刻とから、前記記憶部の消費電力量の定常分を取得し、前記消費電力の定常分は、前記物理マシンのアイドル時における前記記憶部の消費電力に基づいて特定され、
前記開始時刻と前記終了時刻とに対応する前記消費電力量、及び前記消費電力の定常分から、前記記憶部の消費電力量の変動分を取得し、
前記消費電力量の定常分と前記消費電力量の変動分との和から、前記継続時間の前記記憶部の消費電力量を取得し、
複数の継続時間の各々において取得される、複数の前記記憶部の消費電力量を、前記複数の仮想マシンの各々について積算する、
処理をコンピュータに実行させるプログラム。
（付記１６）
物理マシンで動作する複数の仮想マシンの管理のために利用される消費電力量を推定するプログラムであって、
前記複数の仮想マシンに共用される複数のリソースの消費電力量を測定する段階と、
前記複数の仮想マシンの何れもが処理装置に割当てられていない、継続する期間の開始時刻と終了時刻とを特定し、
前記開始時刻と前記終了時刻とに対応する前記消費電力量から、前記物理マシンが前記複数の仮想マシンを管理するための消費電力量を取得し、
複数の継続時間の各々において取得される、前記複数の仮想マシンを管理するための前記消費電力量を、前記複数の仮想マシンの各々について積算する、
処理をコンピュータに実行させるプログラム。
（付記１７）
物理マシンで動作する複数の仮想マシンに共通に利用される共通リソースの消費電力量が、他のリソースの消費電力量に依存する、前記共通リソースの消費電力量を前記複数の仮想マシンの各々について推定するプログラムであって、
前記共通リソースの消費電力量を測定し、
所定の複数のリソースの消費電力量の積算値を仮想マシン毎に小計した消費電力量を算出し、
前記仮想マシン毎に小計した消費電力量及び仮想マシンを管理するための消費電力量に基づいて、前記共通リソースの消費電力量を、前記複数の仮想マシンの各々に比例配分する、
処理をコンピュータに実行させるプログラム。
（付記１８）
当該プログラムは、前記複数の仮想マシンを管理する仮想マシンモニタよりも下位のレベルの、前記物理マシンのファームウエアにおいて実現される、付記１３ないし１７のうち何れか１項記載のプログラム。
【図１】
2014137609.tif 000011
【図２】
2014137609.tif 000012
【図３】
2014137609.tif 000013
【図４】
2014137609.tif 000014
【図５】
2014137609.tif 000015
【図６】
2014137609.tif 000016
【図７】
2014137609.tif 000017
【図８】
2014137609.tif 000018
【図９】
2014137609.tif 000019
【図１０】
2014137609.tif 000020
【図１１】
2014137609.tif 000021
【図１２】
2014137609.tif 000022