(57)【要約】      （修正有）【課題】消費電力をより低減することのできる、仮想計算機装置及び仮想計算機装置の制御方法を提供する。【解決手段】管理用仮想マシン２、及びアプリケーション群を動作させる仮想マシン群３−１、３−２を動作させる仮想マシン動作部を具備する。前記管理用仮想マシン２は、消費電力が異常であるか否かを検出する監視モジュールと、消費電力が異常であった場合に、前記アプリケーション群の中から操作対象アプリケーションを選択し、前記操作対象アプリケーションを実行している仮想マシン３−１、３−２に対して、消費電力が正常になるように前記操作対象アプリケーションの実行状態を調整する旨を示す、調整指示を送信する、制御モジュールとを備える。【選択図】図１
2011170483.tif 000002
【特許請求の範囲】
【請求項１】
管理用仮想マシン、及びアプリケーション群を動作させる仮想マシン群、を動作させる仮想マシン動作部、
を具備し、
前記管理用仮想マシンは、
消費電力が異常であるか否かを判定する、監視モジュールと、
消費電力が異常であった場合に、前記アプリケーション群の中から操作対象アプリケーションを選択し、前記操作対象アプリケーションを実行している仮想マシンに対して、消費電力が正常になるように前記操作対象アプリケーションの実行状態を調整する旨を示す調整指示を送信する、制御モジュールとを備える
仮想計算機装置。
【請求項２】
請求項１に記載された仮想計算機装置であって、
前記制御モジュールは、前記調整指示として、前記操作対象アプリケーションの実行優先度を調整する旨の指示を送信する
仮想計算機装置。
【請求項３】
請求項１又は２に記載された仮想計算機装置であって、
前記制御モジュールは、前記調整指示として、前記操作対象アプリケーションを起動又は停止させる旨の指示を送信する
仮想計算機装置。
【請求項４】
請求項１乃至３のいずれかに記載された仮想計算機装置であって、
前記制御モジュールは、前記アプリケーション群に含まれる各アプリケーションによって消費される消費電力を示すアプリケーション消費電力情報を取得し、前記アプリケーション消費電力情報を、予め前記各アプリケーションに対して設定された消費電力の正常範囲を示すアプリケーション範囲情報と比較し、前記アプリケーション消費電力情報に記載される消費電力が正常範囲に収まっていなかった場合に、前記各アプリケーションを異常アプリケーションであると判定し、前記異常アプリケーションを前記操作対象アプリケーションとして選択する
仮想計算機装置。
【請求項５】
請求項１乃至４のいずれかに記載された仮想計算機装置であって、
前記制御モジュールは、前記仮想マシン群に含まれる各仮想マシンによって消費される消費電力を示す、仮想マシン消費電力情報を取得し、前記仮想マシン消費電力情報を、予め前記各仮想マシンに対して設定された消費電力の正常範囲を示す情報と比較し、前記仮想マシン消費電力情報に記載される消費電力が正常範囲ではなかった場合に、前記各仮想マシンを異常仮想マシンであると判定し、前記異常仮想マシンによって実行されているアプリケーション群のなかから、前記操作対象アプリケーションを選択する
仮想計算機装置。
【請求項６】
請求項１乃至５のいずれかに記載された仮想計算機装置であって、
前記制御モジュールは、装置全体において消費される消費電力を示す、全体消費電力情報を取得し、前記全体消費電力情報に記載される消費電力を、予め装置全体に対して設定された消費電力の正常範囲を示す情報と比較し、前記全体消費電力情報に記載される消費電力が正常範囲に収まっていなかった場合に、消費電力が異常であると判定する
仮想計算機装置。
【請求項７】
請求項１乃至６のいずれかに記載された仮想計算機装置であって、
前記制御モジュールは、消費電力が異常であった場合に、予め設定される省電力機能がオン状態に設定されているか否かを判定し、前記省電力機能がオン状態に設定されている場合に、前記アプリケーション群に含まれる全てのアプリケーションを前記操作対象アプリケーションとして選択する
仮想計算機装置。
【請求項８】
仮想計算機装置が、仮想マシン群により、アプリケーション群を動作させるステップと、
仮想計算機装置において、消費電力が異常であるか否かを監視するステップと、
消費電力が異常であった場合に、前記アプリケーション群の中から操作対象アプリケーションを選択し、前記操作対象アプリケーションを実行している仮想マシンに対して、消費電力が正常になるように、前記操作対象アプリケーションの実行状態を調整する旨を示す調整指示を送信するステップと、
を具備する
仮想計算機装置の制御方法。
【請求項９】
請求項８に記載された仮想計算機装置の制御方法を、コンピュータにより実現するための、仮想計算機装置の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想計算機装置及び仮想計算機装置の制御方法に関する。
【背景技術】
【０００２】
近年、地球温暖化が国際的な問題となっており、世界各国が、地球温暖化防止のため、ＣＯ２削減活動に取り組んでいる。コンピュータシステムにおいても、ＣＯ２排出量を削減するために、消費電力量の低減が求められている。
【０００３】
消費電力を低減するための技術が、特許文献１（特開２００７−３３００１６）に記載されている。特許文献１には、消費電力を監視する状態監視部を備える装置と接続され、装置に電力を供給する電源装置において、状態監視部より取得した消費電力に基づいて装置の稼動状態を変更する点が記載されている。
【０００４】
また、コンピュータシステムとして、仮想マシンを動作させる仮想計算機システムが用いられる場合には、仮想マシンを複数のサーバ間で移動させることにより、消費電力を制御することができる。この点に関連する技術が、特許文献２（特開２００９−１６９８５８）に記載されている。特許文献２には、複数のサーバと、複数のサーバ間を移動可能な仮想マシンとを備え、仮想マシンのサーバ間の移動を、仮想マシンのリアルタイムにおける消費電力、及びサーバのリアルタイムの残電力に基づいて、サーバの稼動数をできるだけ低減する条件に基づいて、サーバの最大電力の範囲で仮想マシンを集約し、集約によって仮想マシンが起動されないことになったサーバを停止させるサーバシステムが記載されている。
【０００５】
また、コンピュータシステムでは、資源を効率的に使用することが求められる。この点に関連する技術が、特許文献３（特許第３７７２７１３）に記載されている。特許文献３には、ジョブやプロセスが使用するＣＰＵ数やメモリ数などの資源を実行前または実行中に申告し、申告又は設定されたデータに基づいて、計算機資源の自動配分を行なう点が記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−３３００１６
【特許文献２】特開２００９−１６９８５８
【特許文献３】特許第３７７２７１３
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、仮想計算機装置では、通常、仮想マシンにより、様々なアプリケーションが実行されている。ここで、本願発明者は、仮想計算機システムにおける消費電力が、仮想マシンが実行しているアプリケーションに依存することに着目した。そして、本願発明者は、アプリケーションレベルで消費電力を管理することにより、消費電力を柔軟に管理することができると考えた。
【０００８】
尚、既述の特許文献１乃至３のいずれにおいても、アプリケーションレベルで消費電力を管理する点については、記載がない。
【課題を解決するための手段】
【０００９】
本発明に係る仮想計算機装置は、管理用仮想マシンと、アプリケーション群を動作させる仮想マシン群と、前記管理用仮想マシン及び前記仮想マシン群を動作させる、仮想マシン動作部とを具備する。前記管理用仮想マシンは、消費電力が異常であるか否かを検出する、監視モジュールを備える。前記監視モジュールは、消費電力が異常であった場合に、前記アプリケーション群の中から操作対象アプリケーションを選択し、前記操作対象アプリケーションを実行している仮想マシンに対して、消費電力が正常になるように前記操作対象アプリケーションの実行状態を調整する旨を示す、調整指示を送信する。
【００１０】
本発明に係る仮想計算機装置の制御方法は、仮想計算機装置が、仮想マシン群により、アプリケーション群を動作させるステップと、仮想計算機装置において、消費電力が異常であるか否かを監視するステップと、消費電力が異常であった場合に、前記アプリケーション群の中から操作対象アプリケーションを選択し、前記操作対象アプリケーションを実行している仮想マシンに対して、消費電力が正常になるように、前記操作対象アプリケーションの実行状態を調整する旨を示す調整指示を送信するステップとを具備する。
【００１１】
本発明に係る仮想計算機装置の制御プログラムは、上述の仮想計算機装置の制御方法を、コンピュータにより実現するためのプログラムである。
【発明の効果】
【００１２】
本発明によれば、消費電力をより低減することのできる、仮想計算機装置及び仮想計算機装置の制御方法が提供される。
【図面の簡単な説明】
【００１３】
【図１】第１の実施形態に係る仮想計算機システムを示す概略図である。
【図２】仮想計算機装置を示す概念図である。
【図３】履歴情報データベースに格納される情報を示す概念図である。
【図４】ポリシー情報を示す概念図である。
【図５】仮想計算機装置の動作方法を概略的に示すフローチャートである。
【図６】消費電力情報を取得する際の動作方法を示すフローチャートである。
【図７】仮想マシン消費電力情報を取得する際の動作方法を示すフローチャートである。
【図８】全体消費電力情報を取得する際の動作方法を示すフローチャートである。
【図９】異常の有無の判定時における動作を示すフローチャートである。
【図１０】アプリケーションの実行状態の調整手法を示すフローチャートである。
【図１１】アプリケーションの実行状態の調整手法を示すフローチャートである。
【図１２】省電力処理を示すフローチャートである。
【図１３】アプリケーションの実行状態の調整手法を示すフローチャートである。
【図１４】第２の実施形態におけるポリシー情報を示す概念図である。
【発明を実施するための形態】
【００１４】
以下に、図面を参照しつつ、本発明の実施形態について説明する。
【００１５】
（第１の実施形態）
図１は、本実施形態に係る仮想計算機システム１が適用される仮想計算機システム１００を示す、概略図である。仮想計算機システム１００は、仮想計算機装置１、履歴情報データベース４、及びポリシー情報データベース５を備えている。仮想計算機装置１は、ネットワークを介して、履歴情報データベース４及びポリシー情報データベース５とアクセス可能に接続されている。尚、図１においては、一台の仮想計算機装置１が描かれている。しかし、仮想計算機システム１００に複数の仮想計算機装置１が含まれていてもよい。
【００１６】
まず、仮想計算機装置１について説明する。
【００１７】
仮想計算機装置１は、仮想マシン動作部（例えば、仮想マシンモニタ）を備えている。仮想マシン動作部は、仮想マシンを動作させる機能を有している。仮想マシン動作部は、ＣＰＵが、予めインストールされたプログラム（仮想計算機装置の制御プログラム）を実行することにより、実現される。仮想マシン動作部は、管理用仮想マシン２、及び仮想マシン群（仮想マシン３−１、３−２）を動作させる。
【００１８】
図２は、仮想計算機装置１を示す概念図である。図２を参照して、管理用仮想マシン２及び仮想マシン群３について説明する。
【００１９】
管理用仮想マシン２は、仮想計算機装置１で使用される消費電力を監視し、異常状態であった場合に、消費電力が正常になるように各仮想マシン３の動作を制御する機能を有している。具体的には、管理用仮想マシン２では、ＯＳ６が動作している。ＯＳ６上では、監視モジュール（物理マシン監視モジュール８および仮想マシン監視モジュール９、及びアプリケーション情報収集モジュール１０）及びポリシー制御モジュール１１（制御モジュール）が動作している。物理マシン監視モジュール８は、この仮想計算機装置１全体で使用される消費電力を監視する機能を有している。仮想マシン監視モジュール９は、各仮想マシン３で使用される消費電力を監視する機能を有している。アプリケーション情報収集モジュール１０は、各仮想マシン３で実行されている各アプリケーションによって消費される消費電力を示す情報を収集する機能を有している。ポリシー制御モジュール１１は、消費電力が異常であるか否かを判定し、判定結果に基づいて、アプリケーションの実行状態を調整する機能を有している。
【００２０】
各仮想マシン３上においても、ＯＳ６が動作している。各仮想マシン３では、ＯＳ６により、アプリケーション監視モジュール１２、アプリケーション制御モジュール１３、及びアプリケーション群（アプリケーション１４−１、１４−２、１４−３、１４−４）が動作している。アプリケーション監視モジュール１２は、各アプリケーションによって消費される消費電力を計測する機能を有している。アプリケーション制御モジュール１３は、アプリケーションの実行状態を制御する機能を有している。具体的には、アプリケーション制御モジュール１３は、各アプリケーションに実行優先度を設定し、実行優先度に従って各アプリケーション１４を動作させる。
【００２１】
ついで、履歴情報データベース４について説明する。図３は、履歴情報データベース４に格納される情報を示す概念図である。図３に示されるように、履歴情報データベース４には、仮想計算機装置１の全体で使用される消費電力を示す情報（全体消費電力情報）、各仮想マシン３により消費されている消費電力を示す情報（仮想マシン消費電力情報）、及び各アプリケーションにより消費される消費電力を示す情報（アプリケーション消費電力情報）が、消費電力情報として格納されている。消費電力情報は、管理用仮想マシン２によってリアルタイムに生成され、履歴情報データベース４に格納される。
【００２２】
次いで、ポリシー情報データベース５について説明する。図４は、ポリシー情報データベース５に格納された情報（以下、ポリシー情報と称す）を示す概念図である。ポリシー情報は、管理用仮想マシン３が各種の動作判断を行う際に利用される情報であり、予め設定された情報である。図４に示されるように、ポリシー情報は、仮想計算機装置１（全体）、各仮想マシン３、及び各アプリケーションについて、監視有無、範囲情報、優先順位、及び省電力機能の有無を示している。監視有無は、消費電力の監視を行なうか否かを示す情報である。範囲情報は、消費電力の正常範囲を示す情報であり、上限値、下限値、及び標準値によって示されている。優先順位は、各仮想マシン３や各アプリケーションの優先度を示す情報であり、各仮想マシン３や各アプリケーションの重要度などに基づいて設定されている。省電力機能は、省電力処理が実行可能であるか否かを示す情報である。省電力機能は、仮想計算機装置１（全体）及び各仮想マシン３について、設定されている。
【００２３】
次いで、本実施形態に係る仮想計算機装置１の動作方法について説明する。
【００２４】
図５は、仮想計算機装置１の動作方法を概略的に示すフローチャートである。
【００２５】
まず、管理用仮想マシン３が、各アプリケーション１４で使用される消費電力、各仮想マシン１で使用される消費電力、及び仮想計算機装置１の全体で使用される消費電力を、消費電力情報として取得する。管理用仮想マシン３は、消費電力情報を、履歴情報データベース４に書き込む（ステップＳ１）。次いで、管理用仮想マシン３が、履歴情報データベース４から消費電力情報を取得する。また、管理用仮想マシン３は、ポリシー情報データベース５から、ポリシー情報を取得する。そして、管理用仮想マシン３は、消費電力情報をポリシー情報と比較することにより、消費電力が異常であるか否かを判定する。具体的には、仮想計算機装置１全体、各仮想マシン３、及び各アプリケーション１４について、消費電力が異常であるか否かを判定する（ステップＳ２）。ステップＳ２において、消費電力が異常であると判定された場合、管理用仮想マシン３は、アプリケーション群１４の中から、操作対象のアプリケーションを決定する。そして、消費電力が正常になるように操作対象アプリケーションの実行状態を調整する旨を示す調整指示を生成し、操作対象のアプリケーションを実行している仮想マシン３に対して送信する。調整指示を受け取った仮想マシン３は、調整指示に従って、操作対象アプリケーションの実行状態を調整する（ステップＳ３）。
【００２６】
以上のような動作方法により、アプリケーションレベルで消費電力を管理することが可能になる。消費電力がアプリケーションレベルで柔軟に管理されるため、全体の消費電力を抑えることが可能になる。
【００２７】
次いで、上述の各ステップの動作を詳細に説明する。
【００２８】
まず、ステップＳ１（消費電力情報の書込み）における動作を詳細に説明する。
【００２９】
まず、アプリケーション消費電力情報の書込み方法について説明する。図６は、各アプリケーションの消費電力情報を取得する際の動作方法を示すフローチャートである。各仮想マシン３では、アプリケーション監視モジュール１２が、各アプリケーション１４によって消費される消費電力を監視（計測）する（ステップＳ４）。アプリケーション監視モジュール１２は、計測結果を、アプリケーション消費電力情報として、管理用仮想マシン２に通知する。管理用仮想マシン２では、アプリケーション情報収集モジュール１０が、アプリケーション消費電力情報を取得する（ステップＳ５）。アプリケーション情報収集モジュールは、取得したアプリケーション消費電力情報を、履歴情報データベース４に格納する（ステップＳ６）。
【００３０】
次いで、仮想マシン消費電力情報の書込み方法について説明する。図７は、仮想マシン消費電力情報を取得する際の動作方法を示すフローチャートである。管理用仮想マシン２では、仮想マシン監視モジュール９が、各仮想マシン３で使用される消費電力を監視（計測）する。仮想マシン監視モジュール９は、例えば、ＯＳ６や仮想マシン動作部と連携することにより、各仮想マシン３における消費電力を監視することができる（ステップＳ７）。次いで、仮想マシン監視モジュール９は、計測結果を、仮想マシン消費電力情報として、履歴情報データベース４に格納する（ステップＳ８）。
【００３１】
次いで、全体消費電力情報の書込み方法について説明する。図８は、全体消費電力情報を取得する際の動作方法を示すフローチャートである。管理用仮想マシン２では、物理マシン監視モジュール８が、仮想計算機装置１の全体で使用されている消費電力を計測し、全体消費電力情報を生成する。物理マシン監視モジュール８は、例えば、ＯＳ６や仮想マシンモニタ（仮想マシン動作部）と連携することにより、全体の消費電力を計測することができる（ステップＳ９）。物理マシン監視モジュール８は、生成した全体消費電力情報を、履歴情報データベースに格納する（ステップＳ１０）。
【００３２】
続いて、ステップＳ２（異常の有無の判定）における動作を詳細に説明する。
【００３３】
図９は、ステップＳ２における動作を詳細に示すフローチャートである。まず、管理用仮想マシン２において、ポリシー制御モジュール１１が、履歴情報データベース４を参照し、消費電力情報を取得する（ステップＳ１１）。また、ポリシー制御モジュール１１は、ポリシー情報データベース５を参照し、ポリシー情報を取得する（ステップＳ１２）。次いで、ポリシー制御モジュール１１は、消費電力情報に記載される消費電力が、ポリシー情報に含まれる範囲情報（図４参照）に含まれるか否かを判定する。具体的には、ポリシー制御モジュール１１は、仮想計算機装置１の全体、各仮想マシン３、及び各アプリケーション１４について、消費電力情報として記される消費電力が、範囲情報に記載される範囲に含まれるか否かを判定する。消費電力がその範囲に含まれる場合、ポリシー制御モジュール１１は、消費電力が正常であると判定する。一方、消費電力情報が範囲情報に含まれない場合、ポリシー制御モジュール１１は、消費電力が異常であると判定する（ステップＳ１３）。
【００３４】
続いて、ステップＳ３（実行状態の調整）における動作を詳細に説明する。
【００３５】
ステップＳ２において、ポリシー制御モジュール１１が、アプリケーション１４に関して消費電力が異常であると判定したとする。この場合には、図１０に示されるフローチャートに従って、アプリケーションの実行状態が調整される。以下に、図１０に示されるフローチャートを説明する。
【００３６】
ステップＳ２において、アプリケーション群１４のうちのあるアプリケーションの消費電力が、異常であると判定されたとする。すると、ポリシー制御モジュール１１は、異常であると判定されたアプリケーション（以下、異常アプリケーション）において、消費電力が上限値を超えたのか否かを判定する（ステップＳ１４）。消費電力が上限値を超えている場合、ポリシー制御モジュール１１は、異常アプリケーションを操作対象アプリケーションとして選択する。ポリシー制御モジュール１１は、操作対象アプリケーションの実行優先度を下げる旨を示す調整指示を生成する。ポリシー制御モジュール１１は、操作対象アプリケーションを実行している仮想マシン３に対して、調整指示を送信する（ステップＳ１５−１）。一方、ステップＳ１４において、消費電力が上限値を超えていないと判定された場合には、異常アプリケーションでは、消費電力が下限値を下回っているものと考えられる。そこで、ポリシー制御モジュール１１は、異常アプリケーションを操作対象アプリケーションとして選択すると共に、操作対象アプリケーションの実行優先度を上げる旨を示す調整指示を生成する。調整指示は、操作対象アプリケーションを実行している仮想マシン３に対して、送信される（ステップＳ１５−２）。操作対象アプリケーションを実行している仮想マシン３では、アプリケーション制御モジュール１３が、調整指示を取得する。調整指示を取得すると、アプリケーション制御モジュール１３は、調整指示に従って、操作対象アプリケーションの実行優先度を変更（調整）する（ステップＳ１６）。
【００３７】
上述のステップＳ１４〜Ｓ１６の動作によれば、操作対象アプリケーションの実行優先度が調整されるため、操作対象アプリケーションによる消費電力が所望される消費電力に調整される。すなわち、操作対象アプリケーションによる消費電力が大きい場合には、実行優先度が下げられ、消費電力が低減される。一方、操作対象アプリケーションによる消費電力が小さい場合には、実行優先度が上げられ、操作対象アプリケーションにおける処理の停滞が防止される。
【００３８】
次いで、ステップＳ２において、仮想マシン３に関して消費電力が異常であると判定された場合の動作について説明する。この場合には、図１１に示されるフローチャートに従って、アプリケーションの実行状態が調整される。以下に、図１１に示されるフローチャートを説明する。
【００３９】
ステップＳ２において、仮想マシン群３のうちのある仮想マシン３について、消費電力が異常であると判定されたとする。この場合、ポリシー制御モジュール１１が、消費電力が異常であると判定された仮想マシン３（以下、異常仮想マシン）において、消費電力が上限値を上回ったのか否かを判定する（ステップＳ１７）。
【００４０】
ステップＳ１７において、消費電力が上限値を上回っていた場合、ポリシー制御モジュール１１は、ポリシー情報を参照し、異常仮想マシンの省電力機能がオンに設定されているか否かを判定する（ステップＳ１８）。省電力機能がオンに設定されていない場合（オフに設定されている場合）、ポリシー制御モジュール１１は、異常仮想マシン３上で動作するアプリケーション群１４の中から、操作対象アプリケーションを選出する。具体的には、ポリシー制御モジュール１１は、消費電力情報に示される各アプリケーション１４の消費電力、及びポリシー情報に示される優先順位を取得する。そして、ポリシー制御モジュール１１は、予め設定された基準に従って、異常仮想マシン３上で動作するアプリケーション群１４のなかから、消費電力が大きく、優先順位が低いアプリケーションを、操作対象アプリケーションとして選出する（ステップＳ１９−１）。その後、ポリシー制御モジュール１１は、操作対象アプリケーションの実行優先度を下げる旨を示す調整指示を生成し、異常仮想マシンに通知する（ステップＳ２０−１）。
【００４１】
尚、ステップＳ１８において、省電力機能がオンに設定されている場合には、省電力処理が実行される（ステップＳ２２）。図１２は、省電力処理を示すフローチャートである。ポリシー制御モジュール１１は、異常仮想マシンで実行されている全アプリケーションを、操作対象アプリケーション群として選択する。そして、各操作対象アプリケーションの消費電力が下限値レベルにまで下がるように、各操作対象アプリケーションの実行優先度を下げる旨を示す調整指示を生成し、異常仮想マシンに送る（ステップＳ２２−１）。異常仮想マシンでは、アプリケーション制御モジュール１３が、調整指示に従って、操作対象アプリケーション群の実行優先度を変更する（ステップＳ２２−２）。
【００４２】
一方、ステップＳ１７において、消費電力が上限値を上回っていなかった場合には、ポリシー制御モジュール１１は、異常仮想マシン３上で動作するアプリケーション群１４の中から、操作対象アプリケーションを選出する。具体的には、ポリシー制御モジュール１１は、消費電力情報に示される各アプリケーション１４の消費電力、及びポリシー情報に示される優先順位を取得する。そして、ポリシー制御モジュール１１は、予め設定された基準に従って、異常仮想マシン３上で動作するアプリケーション群１４のなかから、消費電力が小さく、優先順位が高いアプリケーションを、操作対象アプリケーションとして選出する（ステップＳ１９−２）。その後、ポリシー制御モジュール１１は、操作対象アプリケーションの実行優先度を上げる旨を示す調整指示を生成し、異常仮想マシンに通知する（ステップＳ２０−２）。
【００４３】
異常仮想マシンでは、アプリケーション制御モジュール１３が調整指示を取得する。調整指示を取得すると、アプリケーション制御モジュール１１は、調整指示に従って、操作対象アプリケーションの実行優先度を調整する（ステップＳ２１）。
【００４４】
上述のステップＳ１７〜Ｓ２０の処理によって、操作対象アプリケーションの実行優先度が調整される。その結果、異常仮想マシンで使用される消費電力が、正常な範囲に近づけられる。具体的には、異常仮想マシンで使用される消費電力が高すぎる場合には、操作対象アプリケーションの実行優先度が下げられ、消費電力が低減される。この際、操作対象アプリケーションとしては、優先順位が低いアプリケーションが選択される。従って、重要度の高いアプリケーションにおいて、処理が停滞することが防止される。逆に、異常仮想マシンで使用される消費電力が小さすぎる場合には、操作対象アプリケーションの実行優先度が上げられる。そのため、重要度の高いアプリケーションについては、可能な限り処理が促進される。
【００４５】
次いで、ステップＳ２において、仮想計算機装置１の全体における消費電力が異常であると判定された場合の動作について説明する。この場合には、図１３に示されるフローチャートに従って、アプリケーションの実行状態が調整される。以下に、図１３に示されるフローチャートを説明する。
【００４６】
ステップＳ２において、仮想計算機装置１全体における消費電力が異常であると判定されたとする。この場合、ポリシー制御モジュール１１は、消費電力が上限値を上回ったのか否かを判定する（ステップＳ２３）。
【００４７】
ステップＳ２３において、消費電力が上限値を上回っていた場合、ポリシー制御モジュール１１は、ポリシー情報を参照し、仮想計算機装置１（全体）に関する省電力機能がオンに設定されているか否かを判定する（ステップＳ２４）。省電力機能がオンに設定されていない場合（オフに設定されている場合）、ポリシー制御モジュール１１は、仮想マシン３群の中から、消費電力が大きく、優先順位が低い仮想マシンを、操作対象仮想マシンとして選択する。具体的には、ポリシー制御モジュール１１は、消費電力情報に示される各仮想マシン３の消費電力、及びポリシー情報に示される優先順位を取得する。そして、ポリシー制御モジュール１１は、予め設定された基準に従って、消費電力が大きく、優先順位が低い仮想マシンを、操作対象仮想マシンとして選出する（ステップＳ２５−１）。さらに、ポリシー制御モジュール１１は、操作対象仮想マシン上で動作するアプリケーション群１４の中から、操作対象アプリケーションを選出する。具体的には、ポリシー制御モジュール１１は、消費電力情報に示される各アプリケーション１４の消費電力、及びポリシー情報に示される優先順位を取得する。そして、ポリシー制御モジュール１１は、予め設定された基準に従って、消費電力が大きく、優先順位が低いアプリケーションを、操作対象アプリケーションとして選出する（ステップＳ２６−１）。その後、ポリシー制御モジュール１１は、操作対象アプリケーションの実行優先度を下げる旨を示す調整指示を生成し、操作対象アプリケーションを実行している仮想マシン３に通知する（ステップＳ２７−１）。
【００４８】
一方、ステップＳ２３において、消費電力が上限値を上回っていなかった場合、ポリシー制御モジュール１１は、仮想マシン３群の中から、消費電力が小さく、優先順位が高い仮想マシンを、操作対象仮想マシンとして選択する。具体的には、ポリシー制御モジュール１１は、消費電力情報に示される各仮想マシン３の消費電力、及びポリシー情報に示される優先順位を取得する。そして、ポリシー制御モジュール１１は、予め設定された基準に従って、消費電力が小さく、優先順位が高い仮想マシンを、操作対象仮想マシンとして選出する（ステップＳ２５−２）。さらに、ポリシー制御モジュール１１は、操作対象仮想マシン上で動作するアプリケーション群１４の中から、操作対象アプリケーションを選出する。具体的には、ポリシー制御モジュール１１は、消費電力情報に示される各アプリケーション１４の消費電力、及びポリシー情報に示される優先順位を取得する。そして、ポリシー制御モジュール１１は、予め設定された基準に従って、消費電力が小さく、優先順位が高いアプリケーションを、操作対象アプリケーションとして選出する（ステップＳ２６−２）。その後、ポリシー制御モジュール１１は、操作対象アプリケーションの実行優先度を上げる旨を示す調整指示を生成し、操作対象アプリケーションを実行している仮想マシン３に通知する（ステップＳ２７−２）。
【００４９】
操作対象アプリケーションを実行している仮想マシン３では、アプリケーション制御モジュール１３が調整指示を取得する。調整指示を取得すると、アプリケーション制御モジュール１３は、調整指示に従って、操作対象アプリケーションの実行優先度を調整する（ステップＳ２８）。
【００５０】
尚、ステップＳ２４において、省電力機能がオンに設定されている場合には、省電力処理が実行される。この場合、ポリシーセ制御モジュール１１は、仮想計算機装置１において動作している全てのアプリケーションを、操作対象アプリケーション群として選択する。そして、各操作対象アプリケーションの消費電力が下限値レベルにまで下がるように、実行優先度を下げる旨を示す調整指示を生成し、各仮想マシン３に通知する。各仮想マシン３では、アプリケーション制御モジュール１３が、調整指示に従って、各操作対象アプリケーションの実行優先度を変更する（ステップＳ２９）。
【００５１】
上述のステップＳ２３〜Ｓ２８の処理によって、操作対象アプリケーションの実行優先度が調整される。その結果、仮想計算機装置１で使用される消費電力が、正常な範囲に近づけられる。具体的には、仮想計算機装置１の全体で使用される消費電力が高すぎる場合には、操作対象アプリケーションの実行優先度が下げられ、消費電力が低減される。この際、操作対象アプリケーションとしては、優先順位が低いアプリケーションが選択される。従って、重要度の高いアプリケーションにおいて、処理が停滞することが防止される。逆に、仮想計算機装置１の全体で使用される消費電力が小さすぎる場合には、操作対象アプリケーションの実行優先度が上げられる。そのため、重要度の高いアプリケーションについては、可能な限り処理が促進される。
【００５２】
以上説明したように、本実施形態によれば、仮想計算機装置１で動作しているアプリケーション群１４のなかから、各アプリケーションの重要度（優先順位）及び各アプリケーションで消費されている消費電力などに基づいて、操作対象アプリケーションが選択される。そして、選択された操作対象アプリケーションに対して、実行優先度を変更することにより、実行状態が調整される。従って、消費電力を、アプリケーションレベルで柔軟に（細かく）制御することが可能になる。
【００５３】
また、仮想計算機装置、仮想マシン、及びアプリケーションの各レベルで、消費電力の状態をリアルタイムに監視することができ、迅速に消費電力を管理することが可能になる。
【００５４】
また、本実施形態によれば、アプリケーションレベルでの消費電力制御機能と、省電力機能とを組み合わせることにより、仮想計算機システムに対してより強力な省電力機能を提供することが可能になる。
【００５５】
（第２の実施形態）
続いて、第２の実施形態について説明する。第１の実施形態では、操作対象アプリケーションの実行状態を調整する際（ステップＳ３）において、操作対象アプリケーションの実行優先度が調整される場合について説明した。これに対して、本実施形態では、操作対象アプリケーションの実行状態を調整する際（ステップＳ３）において、必要に応じて、操作対象アプリケーションの停止又は起動が行なわれる。その他の点については、第１の実施形態と同様であり、詳細な説明は省略する。
【００５６】
図１４は、本実施形態においてポリシー情報データベース５に格納される情報を示す概念図である。図１４に示されるように、本実施形態では、各アプリケーションに対して、停止・起動制御のオン又はオフを示す情報が対応付けられている。
【００５７】
本実施形態では、ステップＳ３において、ポリシー制御モジュール１１は、消費電力が上限値を超えていると判定して操作対象アプリケーションを選択した後に、ポリシー情報データベース５を参照し、操作対象アプリケーションに対して停止・起動制御がオンになっているか否かを判定する。停止・起動制御がオンになっている場合、ポリシー制御モジュール１１は、操作対象アプリケーションを停止させる旨を示す調整指示を生成し、操作対象アプリケーションを実行する各仮想マシン３に送信する。各仮想マシン３は、調整指示に従って、操作対象アプリケーションを停止させる。尚、停止・起動制御がオフに設定されている場合、第１の実施形態と同様の動作により、操作対象アプリケーションの実行優先度が下げられる。
【００５８】
一方、消費電力が下限値を下回っていると判定された場合、ポリシー制御モジュール１１は、操作対象アプリケーションについて停止・起動制御がオンになっているか否かを判定する。停止・起動制御がオンになっている場合、ポリシー制御モジュール１１は、操作対象アプリケーションが停止しているか否かを判定する。操作対象アプリケーションが停止している場合、ポリシー制御モジュール１１は、操作対象アプリケーションを起動する旨を示す調整指示を生成し、各仮想マシン３に送信する。これにより、操作対象アプリケーションが起動される。尚、停止・起動制御がオフに設定されている場合には、第１の実施形態と同様に、操作対象アプリケーションンの実行優先度が上げられる。また、操作対象アプリケーションが停止していない場合にも、第１の実施形態と同様に、操作対象アプリケーションの実行優先度が上げられる。
【００５９】
本実施形態によれば、操作対象アプリケーションを停止又は起動させることにより、消費電力状態を、より早期に正常状態に回復させることが可能になる。
【符号の説明】
【００６０】
１  仮想計算機装置
２  管理用仮想マシン
３（３−１、３−２）  仮想マシン
４  履歴情報データベース
５  ポリシー情報データベース
６  オペテーティングシステム（ＯＳ）
８  物理マシン監視モジュール
９  仮想マシン監視モジュール
１０  アプリケーション情報収集モジュール
１１  ポリシー制御モジュール
１２  アプリケーション監視モジュール
１３  アプリケーション制御モジュール
１４（１４−１〜１４−４）  アプリケーション
１００  仮想計算機システム
【図１】
2011170483.tif 000003
【図２】
2011170483.tif 000004
【図３】
2011170483.tif 000005
【図４】
2011170483.tif 000006
【図５】
2011170483.tif 000007
【図６】
2011170483.tif 000008
【図７】
2011170483.tif 000009
【図８】
2011170483.tif 000010
【図９】
2011170483.tif 000011
【図１０】
2011170483.tif 000012
【図１１】
2011170483.tif 000013
【図１２】
2011170483.tif 000014
【図１３】
2011170483.tif 000015
【図１４】
2011170483.tif 000016