(57)【特許請求の範囲】
【請求項１】
仮想管理サーバによって制御される仮想マシンをエミュレートする仮想ホストコンピュータに電力を供給する電源装置であって、
当該電源装置が電力を供給する仮想ホストコンピュータがエミュレートする仮想マシンの識別子と、当該仮想マシンの電源情報とを対応づけた仮想マシン電源管理データを記憶する記憶装置と、
仮想管理サーバによって、当該電源装置が電力を供給する仮想ホストコンピュータがエミュレートする仮想マシンが、ほかの電源装置が電力を供給する移行先の仮想ホストコンピュータに移行した場合、前記仮想マシン電源管理データから、移行した仮想マシンの電源情報を抽出して、前記ほかの電源装置に移行する仮想マシン電源データ移行手段
を備え、
前記記憶装置は、前記仮想マシンを稼働するために、当該電源装置が電力を供給可能な条件のデータである電源設定ポリシーデータをさらに記憶し、
前記仮想マシン電源データ移行手段は、移行により新たな仮想マシンをエミュレートする場合、当該新たな仮想マシンの電源情報を取得して、前記仮想マシン電源管理データに記憶し、
前記新たな仮想マシンの電源情報が、前記電源設定ポリシーデータの条件を満たすか否かを判定し、一致しない場合、アラータを通知する電源設定ポリシー確認手段をさらに備えることを特徴とする電源装置。
【請求項２】
前記電源情報は、前記仮想マシンがシャットダウンの開始を待機する停止遅延時間と、前記仮想マシンのシャットダウンに要するシャットダウン時間を含み、
前記電源設定ポリシーデータは、前記ほかの電源装置が電力を供給可能なバックアップ可能時間内に、前記仮想ホストコンピュータおよび前記仮想マシンのシャットダウンが完了することを要する条件を含み、
前記電源設定ポリシー確認手段は、前記仮想マシン電源管理データから、前記移行先の仮想ホストコンピュータがエミュレートする仮想マシンについて、停止遅延時間とシャットダウン時間の和の最大値を取得し、取得した最大値と、前記移行先の仮想ホストコンピュータのシャットダウンに要する時間との和が、前記バックアップ可能時間より大きい場合、アラータを通知する
ことを特徴とする請求項１に記載の電源装置。
【請求項３】
仮想管理サーバによって制御される仮想マシンをエミュレートする仮想ホストコンピュータに、電力を供給する電源装置に用いられるプログラムであって、
当該電源装置が電力を供給する仮想ホストコンピュータがエミュレートする仮想マシンの識別子と、当該仮想マシンの電源情報とを対応づけた仮想マシン電源管理データを記憶装置に記憶するステップと、
仮想管理サーバによって、当該電源装置が電力を供給する仮想ホストコンピュータがエミュレートする仮想マシンが、ほかの電源装置が電力を供給する移行先の仮想ホストコンピュータに移行した場合、前記仮想マシン電源管理データから、移行した仮想マシンの電源情報を抽出して、前記ほかの電源装置に移行するステップとを、
前記電源装置が内蔵するコンピュータに実行させ、
前記記憶装置は、前記仮想マシンを稼働するために、当該電源装置が電力を供給可能な条件のデータである電源設定ポリシーデータをさらに記憶し、
前記移行するステップは、移行により新たな仮想マシンをエミュレートする場合、当該新たな仮想マシンの電源情報を取得して、前記仮想マシン電源管理データに記憶し、
前記新たな仮想マシンの電源情報が、前記電源設定ポリシーデータの条件を満たすか否かを判定し、一致しない場合、アラータを通知するステップをさらに前記電源装置が内蔵するコンピュータに実行させることを特徴とするプログラム。
【請求項４】
仮想管理サーバによって制御される仮想マシンをエミュレートする仮想ホストコンピュータに、電力を供給する電源装置に用いられる制御方法であって、
当該電源装置が電力を供給する仮想ホストコンピュータがエミュレートする仮想マシンの識別子と、当該仮想マシンの電源情報とを対応づけた仮想マシン電源管理データを記憶するステップと、
仮想管理サーバによって、当該電源装置が電力を供給する仮想ホストコンピュータがエミュレートする仮想マシンが、ほかの電源装置が電力を供給する移行先の仮想ホストコンピュータに移行した場合、前記仮想マシン電源管理データから、移行した仮想マシンの電源情報を抽出して、前記ほかの電源装置に移行するステップ
を備え、
前記記憶するステップは、前記仮想マシンを稼働するために、当該電源装置が電力を供給可能な条件のデータである電源設定ポリシーデータをさらに記憶し、
前記移行するステップは、移行により新たな仮想マシンをエミュレートする場合、当該新たな仮想マシンの電源情報を取得して、前記仮想マシン電源管理データに記憶し、
前記新たな仮想マシンの電源情報が、前記電源設定ポリシーデータの条件を満たすか否かを判定し、一致しない場合、アラータを通知するステップをさらに備えることを特徴とする制御方法。
【請求項５】
第１の仮想ホストコンピュータに電力を供給する第１の電源装置と、第２の仮想ホストコンピュータに電力を供給する第２の電源装置とに接続する電源管理装置であって、
電源装置の識別子と、当該電源装置が電力を供給する仮想ホストコンピュータがエミュレートする仮想マシンの識別子と、当該仮想マシンの電源情報とを対応づけた仮想マシン電源管理データを記憶する記憶装置と、
仮想管理サーバによって、仮想マシンが、前記第１の仮想ホストコンピュータから、前記第２の仮想ホストコンピュータに移行した場合、前記仮想マシン電源管理データから、移行した仮想マシンの電源情報を抽出して、前記第２の電源装置に移行する仮想マシン電源データ移行手段
を備え、
前記記憶装置は、電源装置の識別子と、当該電源装置が電力を供給可能な条件である電源設定ポリシーデータをさらに記憶し、
前記電源設定ポリシーデータから、前記第２の電源装置の条件を抽出し、移行した前記仮想マシンの電源情報が、前記電源設定ポリシーデータの前記第２の電源装置の条件を満たすか否かを判定し、一致しない場合、アラータを通知する電源設定ポリシー確認手段をさらに備えることを特徴とする電源管理装置。
【請求項６】
前記電源情報は、前記仮想マシンがシャットダウンの開始を待機する停止遅延時間と、前記仮想マシンのシャットダウンに要するシャットダウン時間を含み、
前記電源設定ポリシーデータは、前記第２の電源装置が電力を供給可能なバックアップ可能時間内に、前記第２の仮想ホストコンピュータおよび前記第２の仮想ホストコンピュータがエミュレートする仮想マシンのシャットダウンが完了することを要する条件を含み、
前記電源設定ポリシー確認手段は、前記仮想マシン電源管理データから、前記第２の仮想ホストコンピュータがエミュレートする仮想マシンについて、停止遅延時間とシャットダウン時間の和の最大値を取得し、取得した最大値と、前記第２の仮想ホストコンピュータのシャットダウンに要する時間との和が、前記バックアップ可能時間より大きい場合、アラータを通知する
ことを特徴とする請求項５に記載の電源管理装置。
【請求項７】
第１の仮想ホストコンピュータに電力を供給する第１の電源装置と、第２の仮想ホストコンピュータに電力を供給する第２の電源装置とに接続する電源管理装置に用いられる電源管理プログラムであって、
コンピュータまたは電源管理装置が内蔵するコンピュータに、
電源装置の識別子と、当該電源装置が電力を供給する仮想ホストコンピュータがエミュレートする仮想マシンの識別子と、当該仮想マシンの電源情報とを対応づけた仮想マシン電源管理データを記憶装置に記憶するステップと、
仮想管理サーバによって、仮想マシンが、前記第１の仮想ホストコンピュータから、前記第２の仮想ホストコンピュータに移行した場合、前記仮想マシン電源管理データから、移行した仮想マシンの電源情報を抽出して、前記第２の電源装置に移行するステップ
を実行させ、
前記記憶装置は、電源装置の識別子と、当該電源装置が電力を供給可能な条件である電源設定ポリシーデータをさらに記憶し、
前記電源設定ポリシーデータから、前記第２の電源装置の条件を抽出し、移行した前記仮想マシンの電源情報が、前記電源設定ポリシーデータの前記第２の電源装置の条件を満たすか否かを判定し、一致しない場合、アラータを通知するステップを、さらに実行させるための電源管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータに電力を供給するための電源装置、プログラム、制御方法、電源管理装置および電源管理プログラムに関する。
【背景技術】
【０００２】
一般的に、物理コンピュータのリソースを有効に活用するため、仮想管理が用いられている。仮想管理では、物理コンピュータを仮想ホストとして適用し、仮想ホスト上で、複数の仮想マシンをエミュレートする。仮想管理において、仮想マシンの稼働状況に応じて、仮想マシンが、他の仮想ホストに移行する場合もある。仮想マシンを自由自在に任意の仮想ホストに移行する仕組みを用いることにより、物理コンピュータのリソースを有効に活用することができる。
【０００３】
また、物理コンピュータの消費電力を削減するために、電力制御装置を用いる方法もある（例えば、特許文献１参照。）。この特許文献１に記載の方法では、電力制御装置が、システムの負荷状況を収集して、その負荷状況に基づいてシステムを任意の物理コンピュータに移行させるとともに、選択されなかった物理コンピュータの電源をオフする。このように電力制御装置が、仮想管理とともに電源を管理することにより、物理コンピュータの消費電力を削減することが期待されている。
【０００４】
しかしながら、特許文献１に記載の方法において、電力制御装置に電力を供給する電源装置に電力障害があった場合、この電力制御装置は、電源管理のみならず、仮想管理もできなくなってしまう問題がある。
【０００５】
このような状況に鑑み、仮想マシンの仮想管理と、仮想マシンおよび仮想ホストに対する電源管理を担う電源装置が提案されている（例えば、特許文献２参照。）。特許文献２に記載の方法によれば、電源装置が仮想システムを管理することにより、予め定められたスケジュールデータによって、仮想管理と電力供給とを連動させ、安定してシステムを運営することができる。
【０００６】
また一般的な仮想システムにおいて、電源制御するために、ＰＣＮＳ（PowerChute Network Shutdown）などを用いた仕組みがある（例えば、非特許文献１参照。）。停電によりＵＰＳへの電源供給が停止すると、ＵＰＳのバッテリーで電力供給されている間に、このＵＰＳが電源を供給するコンピュータをシャットダウンする必要がある。そこで非特許文献１に記載の方法では、停電によりＵＰＳへの電源供給が停止すると、電源供給が停止されたことを、仮想システムのサービスコンソール上のＰＣＮＳに通知する。これにより、仮想ホストコンピュータは、シャットダウンを開始し、仮想マシンのゲストＯＳをシャットダウンする。ゲストＯＳのシャットダウンが完了すると、仮想ホストコンピュータをシャットダウンする。このようなＰＣＮＳは、仮想マシン上にインストールされ実行される場合もある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−２６９２４９号公報
【特許文献２】特開２０１２−０３８１５７号公報
【非特許文献】
【０００８】
【非特許文献１】日本アイ・ビー・エム株式会社、”VMware ESX / ESXi 4.x 環境におけるIBM UPS管理について”の第５ページ“PowerChute Network Shutdown （PCNS） とは”、［online］、平成２３年、日本アイ・ビー・エム株式会社、［平成２４年５月１７日検索］、インターネット＜http://www-06.ibm.com/jp/domino04/pc/support/Sylphd07.nsf/1e97b730bd4fa8f249256a840020d047/c73c9977ac705ccb4925787700436807/$FILE/VMware_esx4_UPS_mgmt.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献２に記載の発明や、非特許文献１に記載の技術によっても、仮想マシンを適切に稼働できない場合がある。
【００１０】
一般的には、ＵＰＳなどの電源装置には、停電等の緊急事態が発生した際、予め蓄積した蓄電池の電源を元に、情報機器に電力を供給する。各種情報機器は、停電が発生した後、ＵＰＳなどが電力を供給する間、自身のデータ保護のために安定にシャットダウンする。このシャットダウンに要する時間は、個々の情報機器によって異なり、また、ＵＰＳが電力を提供可能な時間内に、シャットダウンしなければならない制約がある。
【００１１】
この方法は、仮想システムにおいても適用されている。停電が発生すると、電源装置は、仮想ホストに停電が発生した旨を通知する。仮想ホストは、自身をシャットダウンするのに先駆けて、この仮想ホストがエミュレートする仮想マシンをシャットダウンする。仮想ホストは、全ての仮想マシンのシャットダウンが完了した後、安定的に自身をシャットダウンし、パワーオフする。
【００１２】
しかしながら、仮想システムにおいては、仮想マシンが適切にシャットダウンできない場合が生じうる。
【００１３】
例えば、仮想マシンの停電時のシャットダウンにおいて、予め、停止遅延時間が定められ、停電が発生してから所定の停止遅延時間が経過した後、仮想マシンはシャットダウンを開始する。この停止遅延時間は、電源装置が電力を供給可能な時間内に仮想マシンがシャットダウンできるように設定されているので、仮想マシンをエミュレートする仮想ホストに電力を供給する電源装置の能力に依存する。
【００１４】
しかしながら、仮想マシンは、適宜ほかの仮想ホストコンピュータに移行するため、仮想マシンに定められた停止遅延時間と、この仮想マシンをエミュレートする移行先の仮想ホストコンピュータに電源を供給する電源装置の能力との整合性が常に保持されるとは限らない。その結果、仮想マシンが電源装置に要求する能力より、移行先で用いられる電源装置の能力が低い場合、この仮想マシンは、十分にデータを保護し、シャットダウンできない場合が発生する。
【００１５】
このような状況を鑑み、電源装置が仮想マシンに定められた電源に関する情報を、電源装置と整合性があうように制御し、仮想管理の信頼性を高める技術の開発が期待されている。
【００１６】
従って本発明の目的は、仮想管理の信頼性を高めることのできる電源装置、プログラム、制御方法、電源管理装置および電源管理プログラムを提供することである。
【課題を解決するための手段】
【００１７】
上記課題を解決するために、本発明の第１の特徴は、仮想管理サーバによって制御される仮想マシンをエミュレートする仮想ホストコンピュータに電力を供給する電源装置に関する。即ち本発明の第１の特徴に係る電源装置は、当該電源装置が電力を供給する仮想ホストコンピュータがエミュレートする仮想マシンの識別子と、当該仮想マシンの電源情報とを対応づけた仮想マシン電源管理データを記憶する記憶装置と、仮想管理サーバによって、当該電源装置が電力を供給する仮想ホストコンピュータがエミュレートする仮想マシンが、ほかの電源装置が電力を供給する移行先の仮想ホストコンピュータに移行した場合、仮想マシン電源管理データから、移行した仮想マシンの電源情報を抽出して、ほかの電源装置に移行する仮想マシン電源データ移行手段を備える。
【００１８】
ここで、記憶装置は、仮想マシンを稼働するために、当該電源装置が電力を供給可能な条件のデータである電源設定ポリシーデータをさらに記憶しても良い。この場合、仮想マシン電源データ移行手段は、移行により新たな仮想マシンをエミュレートする場合、当該新たな仮想マシンの電源情報を取得して、仮想マシン電源管理データに記憶し、新たな仮想マシンの電源情報が、電源設定ポリシーデータの条件を満たすか否かを判定し、一致しない場合、アラータを通知する電源設定ポリシー確認手段をさらに備える。
【００１９】
また電源情報は、仮想マシンがシャットダウンの開始を待機する停止遅延時間と、仮想マシンのシャットダウンに要するシャットダウン時間を含み、電源設定ポリシーデータは、ほかの電源装置が電力を供給可能なバックアップ可能時間内に、仮想ホストコンピュータおよび仮想マシンのシャットダウンが完了することを要する条件を含んでも良い。この場合電源設定ポリシー確認手段は、仮想マシン電源管理データから、移行先の仮想ホストコンピュータがエミュレートする仮想マシンについて、停止遅延時間とシャットダウン時間の和の最大値を取得し、取得した最大値と、移行先の仮想ホストコンピュータのシャットダウンに要する時間との和が、バックアップ可能時間より大きい場合、アラータを通知する。
【００２０】
本発明の第２の特徴は、仮想管理サーバによって制御される仮想マシンをエミュレートする仮想ホストコンピュータに、電力を供給する電源装置に用いられるプログラムに関する。即ち本発明の第２の特徴に係るプログラムは、当該電源装置が電力を供給する仮想ホストコンピュータがエミュレートする仮想マシンの識別子と、当該仮想マシンの電源情報とを対応づけた仮想マシン電源管理データを記憶するステップと、仮想管理サーバによって、当該電源装置が電力を供給する仮想ホストコンピュータがエミュレートする仮想マシンが、ほかの電源装置が電力を供給する移行先の仮想ホストコンピュータに移行した場合、仮想マシン電源管理データから、移行した仮想マシンの電源情報を抽出して、ほかの電源装置に移行するステップとを、電源装置が内蔵するコンピュータに実行させる。
【００２１】
本発明の第３の特徴は、仮想管理サーバによって制御される仮想マシンをエミュレートする仮想ホストコンピュータに、電力を供給する電源装置に用いられる制御方法に関する。即ち本発明の第３の特徴に係る制御方法は、当該電源装置が電力を供給する仮想ホストコンピュータがエミュレートする仮想マシンの識別子と、当該仮想マシンの電源情報とを対応づけた仮想マシン電源管理データを記憶するステップと、仮想管理サーバによって、当該電源装置が電力を供給する仮想ホストコンピュータがエミュレートする仮想マシンが、ほかの電源装置が電力を供給する移行先の仮想ホストコンピュータに移行した場合、仮想マシン電源管理データから、移行した仮想マシンの電源情報を抽出して、ほかの電源装置に移行するステップを備える。
【００２２】
本発明の第４の特徴は、第１の仮想ホストコンピュータに電力を供給する第１の電源装置と、第２の仮想ホストコンピュータに電力を供給する第２の電源装置とに接続する電源管理装置に関する。即ち本発明の第４の特徴に係る電源管理装置は、電源装置の識別子と、当該電源装置が電力を供給する仮想ホストコンピュータがエミュレートする仮想マシンの識別子と、当該仮想マシンの電源情報とを対応づけた仮想マシン電源管理データを記憶する記憶装置と、仮想管理サーバによって、仮想マシンが、第１の仮想ホストコンピュータから、第２の仮想ホストコンピュータに移行した場合、仮想マシン電源管理データから、移行した仮想マシンの電源情報を抽出して、第２の電源装置に移行する仮想マシン電源データ移行手段を備える。
【００２３】
ここで、記憶装置は、電源装置の識別子と、当該電源装置が電力を供給可能な条件である電源設定ポリシーデータをさらに記憶しても良い。この場合電源設定ポリシーデータから、第２の電源装置の条件を抽出し、移行した仮想マシンの電源情報が、電源設定ポリシーデータの第２の電源装置の条件を満たすか否かを判定し、一致しない場合、アラータを通知する電源設定ポリシー確認手段をさらに備える。
【００２４】
また電源情報は、仮想マシンがシャットダウンの開始を待機する停止遅延時間と、仮想マシンのシャットダウンに要するシャットダウン時間を含み、電源設定ポリシーデータは、第２の電源装置が電力を供給可能なバックアップ可能時間内に、第２の仮想ホストコンピュータおよび第２の仮想ホストコンピュータがエミュレートする仮想マシンのシャットダウンが完了することを要する条件を含んでも良い。この場合電源設定ポリシー確認手段は、仮想マシン電源管理データから、第２の仮想ホストコンピュータがエミュレートする仮想マシンについて、停止遅延時間とシャットダウン時間の和の最大値を取得し、取得した最大値と、第２の仮想ホストコンピュータのシャットダウンに要する時間との和が、バックアップ可能時間より大きい場合、アラータを通知する。
【００２５】
本発明の第５の特徴に係る電源管理プログラムは、第１の仮想ホストコンピュータに電力を供給する第１の電源装置と、第２の仮想ホストコンピュータに電力を供給する第２の電源装置とに接続する電源管理装置に用いられる電源管理プログラムに関する。即ち本発明の第５の特徴に係る電源管理プログラムは、コンピュータまたは電源管理装置が内蔵するコンピュータに、電源装置の識別子と、当該電源装置が電力を供給する仮想ホストコンピュータがエミュレートする仮想マシンの識別子と、当該仮想マシンの電源情報とを対応づけた仮想マシン電源管理データを記憶装置に記憶するステップと、仮想管理サーバによって、仮想マシンが、第１の仮想ホストコンピュータから、第２の仮想ホストコンピュータに移行した場合、仮想マシン電源管理データから、移行した仮想マシンの電源情報を抽出して、第２の電源装置に移行するステップを実行させる。
【発明の効果】
【００２６】
本発明によれば、仮想管理の信頼性を高めることのできる電源装置、プログラム、制御方法、電源管理装置および電源管理プログラムを提供することができる。
【図面の簡単な説明】
【００２７】
【図１】図１は、本発明の実施の形態に係る仮想システムのシステム構成を説明する図である。
【図２】図２は、本発明の実施の形態に係る制御方法の概略を説明するシーケンス図である。
【図３】図３は、本発明の実施の形態に係る仮想ホストコンピュータの機能ブロックを説明する図である。
【図４】図４は、本発明の実施の形態に係る電源装置のハードウェア構成と機能ブロックを説明する図である。
【図５】図５は、本発明の実施の形態に係る電源装置における仮想マシン電源管理データのデータ構造とデータの一例を説明する図である。
【図６】図６は、本発明の実施の形態に係る電源装置において、仮想ホストを登録する画面の一例である。
【図７】図７は、本発明の実施の形態に係る電源装置において、仮想マシンの電源情報を登録する画面の一例である。
【図８】図８は、本発明の実施の形態に係る電源装置における電源設定ポリシーデータのデータ構造とデータの一例を説明する図である。
【図９】図９は、本発明の実施の形態に係る電源装置において、電源装置の停止時間と、仮想マシンおよび仮想ホストのシャットダウンとの関係を説明する図である。
【図１０】図１０は、本発明の実施の形態に係る移行元の電源装置において、仮想マシン電源データ移行手段の処理を説明するフローチャートである。
【図１１】図１１は、本発明の実施の形態に係る移行先の電源装置において、仮想マシン電源データ移行手段の処理を説明するフローチャートである。
【図１２】図１２は、本発明の実施の形態に係る移行先の電源装置において、電源設定ポリシー確認手段の処理を説明するフローチャートである。
【図１３】図１３は、本発明の変形例に係る制御方法の概略を説明するシーケンス図である。
【図１４】図１４は、本発明の変形例に係る電源管理装置のハードウェア構成と機能ブロックの一例を説明する図である。
【図１５】図１５は、本発明の変形例に係る電源管理装置の仮想マシン電源管理データのデータ構造とデータの一例を説明する図である。
【発明を実施するための形態】
【００２８】
次に、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一または類似の部分には同一または類似の符号を付している。
【００２９】
まず、本発明の実施の形態において、「物理コンピュータ」は、中央処理制御装置（ＣＰＵ：Central Processing Unit）および記憶装置などを備えた一般的なコンピュータである。「物理コンピュータ」は、具体的には、パーソナルコンピュータ、サーバ、ブレード型サーバなどのコンピュータである。また「仮想ホストコンピュータ（仮想ホスト）」は、物理コンピュータ上でホストＯＳを実行することにより物理コンピュータに実装される。１台の仮想ホストは、１台以上の仮想マシンを動かすことができる。「仮想マシン」は、１台の仮想ホスト上で、別のコンピュータをソフトウェア的にエミュレートされた仮想的なコンピュータである。
【００３０】
「仮想システム」は、物理コンピュータ、物理ストレージ、物理スイッチ、物理ネットワークなどで構成され、仮想システム全体で１台以上の仮想マシン、仮想ストレージの役割を担う。「仮想管理」とは、仮想システムを構成する仮想インフラを管理するとともに、１台以上の仮想マシンの稼働を制御する。
【００３１】
仮想ホストに対するコマンドとして、「シャットダウン」、「再起動」、「パワーオン」、「パワーオフ」などがある。「シャットダウン」とは、物理コンピュータで稼働している仮想ホストＯＳを所定の手順で、電源供給を停止可能な状態に遷移することである。「再起動」とは、物理コンピュータで稼働している仮想ホストＯＳを再度所定の手順で、シャットダウンし、再び起動することである。「パワーオン」とは、仮想ホストを稼働している物理コンピュータに電源を投入し、仮想ホストＯＳを稼働することである。
【００３２】
仮想マシンに対するコマンドとして、「シャットダウン」、「再起動」、「パワーオン」、「パワーオフ」などがある。「シャットダウン」とは、仮想マシンにインストールされたゲストＯＳを、所定の手順で、仮想マシンに割り当てられたＣＰＵ、メモリなどのリソースを、解放可能な状態に遷移することである。「再起動」とは、仮想マシンをシャットダウンし、再び起動することである。「パワーオン」とは、仮想マシンに割り当てられたＣＰＵ、メモリなどのリソースを、この仮想マシンの稼動のために利用することである。「パワーオフ」とは、仮想マシンに割り当てられたＣＰＵ、メモリなどのリソースを開放することである。また、仮想マシンのシャットダウンが正常に終了しない場合、「パワーオフ」して、強制終了する場合もある。
【００３３】
「電源装置」とは、仮想インフラに電力を供給したり、測定したり、切断する装置である。具体的には「電源装置」とは、交流（ＡＣ：Alternating Current）電源、直流（ＤＣ：Direct Current）電源、無停電電源装置（ＵＰＳ：Uninterruptible Power Supply）、電力分配器（ＰＤＵ：Power Distribution Unit）などである。
【００３４】
「仮想電源」とは、仮想ホストコンピュータにおいて、仮想マシンを稼動するために必要なＣＰＵやメモリなどに要する電力の電源である。仮想電源は、物理電源が仮想ホストに供給する電力のうち、所定の仮想マシンが使用する電力を供給する供給源である。
【００３５】
「電源管理」とは、インフラに、安定して電源を供給するための制御のことである。本発明の実施の形態において電源管理とは、例えば、電源設備の点検時や電源障害時に、電源が、コンピュータなどのインフラを自動的にシャットダウンして、コンピュータのサービスおよびデータを保護する機能である。
【００３６】
「停止遅延時間」とは、電源装置が電力供給を停止するトリガーが発生してから、この電源装置が電力を供給する仮想ホストコンピュータがエミュレートする仮想マシンが、シャットダウンを開始する時間である。「シャットダウン時間」とは、仮想ホストコンピュータまたはこの仮想ホストコンピュータがエミュレートする仮想マシンが、シャットダウンを開始してから、パワーオフするまでに要する時間である。ここで、仮想ホストコンピュータは、仮想ホストコンピュータがエミュレートする全ての仮想マシンのシャットダウンが完了した後、シャットダウンする。
【００３７】
「電力供給を停止するトリガー」とは、（１）停電が発生して、電源装置のシャットダウン待機時間を経過して、電源装置が、各仮想ホストおよび各仮想マシンのシャットダウンを開始するタイミング、（２）スケジュール運転などで、設定したスケジュール停止時刻になるタイミング、（３）リモート端末から、電源装置にシャットダウンのコマンドが届いたタイミング、（４）電源操作パネルなどから管理者が入力したシャットダウンのコマンドが届いたタイミングなどである。
【００３８】
（仮想システム）
図１（ａ）を参照して、本発明の実施の形態に係る仮想システム９を説明する。仮想システム９は、第１の電源装置１ａ、第２の電源装置１ｂ、第１の仮想ホストコンピュータ２ａ、第２の仮想ホストコンピュータ２ｂ、第３の仮想ホストコンピュータ２ｃ、第１の仮想マシン３ａ、第２の仮想マシン３ｂ、第３の仮想マシン３ｃ、第４の仮想マシン３ｄ、第５の仮想マシン３ｅ、第６の仮想マシン３ｆ、仮想管理サーバ４および電源管理装置５を備える。第１の電源装置１ａ、第２の電源装置１ｂ、第１の仮想ホストコンピュータ２ａ、第２の仮想ホストコンピュータ２ｂ、第３の仮想ホストコンピュータ２ｃ、第１の仮想マシン３ａ、第２の仮想マシン３ｂ、第３の仮想マシン３ｃ、第４の仮想マシン３ｄ、第５の仮想マシン３ｅ、第６の仮想マシン３ｆおよび仮想管理サーバ４は、通信ネットワーク６を介して、相互に通信可能に接続されている。図１（ａ）に示す例において電源管理装置５は、第１の電源装置１ａおよび第２の電源装置１ｂと相互に通信可能に接続する場合を説明するが、通信ネットワーク６を介して、他の機器とも通信可能に接続しても良い。
【００３９】
本実施の形態において、第１の仮想ホストコンピュータ２ａ、第２の仮想ホストコンピュータ２ｂおよび第３の仮想ホストコンピュータ２ｃを区別しない場合、単に仮想ホストコンピュータ２と記載する場合がある。また、仮想ホストコンピュータ２を、単に仮想ホスト２と記載する場合がある。第１の仮想マシン３ａ、第２の仮想マシン３ｂ、第３の仮想マシン３ｃ、第４の仮想マシン３ｄ、第５の仮想マシン３ｅおよび第６の仮想マシン３ｆを区別しない場合、単に仮想マシン３と記載する場合がある。図１に示す電源装置１、仮想ホストコンピュータ２および仮想マシン３などの数は一例であり、これに限ることはない。
【００４０】
図１（ａ）に示す仮想システム９は、複数の仮想ホストコンピュータ２を備えており、これらの仮想ホストコンピュータ２おいて、１または複数の仮想マシン３がエミュレートされている。ここで、仮想ホストコンピュータ２は、物理インフラを構成する物理コンピュータである。仮想マシン３は、仮想ホストコンピュータ２がエミュレートする、仮想インフラを構成する仮想コンピュータである。
【００４１】
仮想ホスト２は、一般的な物理コンピュータに所定のプログラムがインストールされることにより実現される。仮想ホスト２は、仮想マシン３をエミュレートする。図１（ａ）において、第１の仮想ホスト２ａは、第１の仮想マシン３ａ、第２の仮想マシン３ｂおよび第３の仮想マシン３ｃをエミュレートする。第２の仮想ホスト２ｂは、第４の仮想マシン３ｄをエミュレートする。第３の仮想ホスト２ｃは、第５の仮想マシン３ｅおよび第６の仮想マシン３ｆをエミュレートする。
【００４２】
図１（ａ）に示す仮想システム９において、電源装置１は、仮想管理サーバ４によって制御される仮想マシン３をエミュレートする仮想ホストコンピュータ２に電力を供給する。さらに電源装置１は、これらの仮想ホスト２がエミュレートする仮想マシン３の仮想電源を管理する。第１の電源装置１ａが電力を供給する対象は、第１の仮想ホスト２ａおよび第２の仮想ホスト２ｂであるので、第１の電源装置１は、第１の仮想マシン３ａ、第２の仮想マシン３ｂ、第３の仮想マシン３ｃおよび第４の仮想マシン３ｄの仮想電源を管理する。第２の電源装置１ｂが電力を供給する対象は、第３の仮想ホスト２ｃであるので、第２の電源装置１ｂは、第５の仮想マシン３ｅおよび第６の仮想マシン３ｆの仮想電源を管理する。
【００４３】
電源管理装置５は、電源装置１を操作するためのコンピュータである。電源管理装置５は、一般的なコンピュータが、所定のプログラムを実行することにより実現される。電源管理装置５は、電源装置１にコマンドを入力したり、電源装置１の情報を表示したりするとともに、コマンドおよび情報の入出力に伴うデータの処理を担う。
【００４４】
仮想管理サーバ４は、図１（ａ）に示す仮想マシン３について、移行やリソースの割り当てなどの仮想管理を実行する。ここで、本発明の実施の形態において仮想マシン３の起動およびシャットダウンに関する仮想電源は、仮想管理サーバ４でなく、電源装置１で制御される。
【００４５】
仮想管理サーバ４によって、仮想マシン３が移行された後の仮想システム９を説明する。図１（ｂ）に示す仮想システム９において、第３の仮想マシン３ｃおよび第５の仮想マシン３ｅが移行している。第３の仮想マシン３ｃは、図１（ａ）において第１の仮想ホスト２ａによってエミュレートされていたところ、図１（ｂ）において第２の仮想ホスト２ｂによってエミュレートされる。第５の仮想マシン３ｅは、図１（ａ）において第３の仮想ホスト２ｃによってエミュレートされていたところ、図１（ｂ）において第１の仮想ホスト２ａによってエミュレートされる。本発明の実施の形態は、仮想管理サーバ４が、これらの仮想マシン３の移行を指示する場合を想定する。
【００４６】
本発明の実施の形態に係る電源装置１は、図１に示すように、仮想マシンが移行した際に、この仮想マシンの仮想電源に関する情報を、移行先の仮想ホストコンピュータに電力を供給する電源装置に、移行するものである。これにより、電源装置１は、移行先の仮想ホストコンピュータ２に電力を供給する電源装置の能力と、仮想マシン３の仮想電源に関する設定値とが整合性があるように、制御することにより、仮想管理の信頼性の向上に寄与する。
【００４７】
（制御方法）
図２を参照して、本発明の実施の形態に係る仮想システム９の制御方法を説明する。図２においては、仮想管理サーバ４によって、第５の仮想マシン３ｅが、第３の仮想ホスト２ｃから第１の仮想ホスト２ａに移行する場合を説明する。ここで、第１の仮想ホスト２ａは、第１の電源装置１ａが電力を供給し、第３の仮想ホスト２ｃは、第２の電源装置１ｂが電力を供給する。
【００４８】
ステップＳ１において、第１の電源装置１ａおよび第２の電源装置１ｂが、仮想管理サーバ４の制御により、第５の仮想マシン３ｅが、第３の仮想ホスト２ｃから第１の仮想ホスト２ａに移行したことを検知する。このとき、第１の電源装置１ａおよび第２の電源装置１ｂは、仮想ホスト２に、当該仮想ホスト２がエミュレートする仮想マシン３を問い合わせることによって検知しても良いし、仮想管理サーバ４による第５の仮想マシン３ｅの移行の通知によって検知しても良い。本発明の実施の形態においては、第１の電源装置１ａおよび第２の電源装置１ｂが仮想マシン３の移行を検知する方法は問わない。
【００４９】
第１の電源装置１ａおよび第２の電源装置１ｂが、第５の仮想マシン３ｅの移行を検知すると、ステップＳ２において、電源装置１が電源情報を移行する。具体的には、移行元の第３の仮想ホスト２ｃに電力を供給する第２の電源装置１ｂは、移行先の第１の仮想ホスト２ａに電力を供給する第１の電源装置１ａに、移行した第５の仮想マシン３ｅの電源情報を送信し、電源情報を移行する。ステップＳ３において、第１の電源装置１ａは、ステップＳ２で受信した第５の仮想マシン３ｅの電源情報を記憶する。このとき第１の電源装置１ａは、予め第５の仮想マシン３ｅの最新バージョンの電源情報を記憶し、この電源情報が無効化されている場合、この電源情報を有効化しても良い。ここで、無効化された電源情報が最新バージョンでない場合、第１の電源装置１ａは、第５の仮想マシン３ｅの最新バージョンの電源情報を記憶する。第１の電源装置１ａは、ステップＳ４において、第５の仮想マシン３ｅの電源情報が、第１の電源装置１ａの電源設定ポリシーに合うか否かを判定する。
【００５０】
一方、第２の電源装置１ｂは、ステップＳ２において、第５の仮想マシン３ｅの電源情報を、第１の電源装置１ａに移行すると、ステップＳ５において、第２の電源装置１ｂのメモリから、この第５の仮想マシン３ｅの電源情報を削除する。このとき、第２の電源装置１ｂは、この第５の仮想マシン３ｅの電源情報を削除せず、無効化しても良い。
【００５１】
このように、仮想管理サーバ４が制御する仮想システム９において、本発明の実施の形態に係る電源装置１は、当該電源装置１が電力を供給する仮想ホスト２がエミュレートする仮想マシン３の電源情報を保持する。また、仮想マシン３が移行すると、この移行に伴って、電源装置１間で仮想マシン３の電源情報を移行する。また移行先の電源装置１において、移行した仮想マシン３の電源情報が、移行先の電源装置１のポリシーに一致するか否かを判定し、ポリシーに合わない場合、その旨をアラータ通知する。これにより、電源装置１のポリシーに合わせて仮想マシン３の電源情報を変更したり、仮想マシン３の電源情報に合うポリシーを持つ電源装置１への移行を促すことができる。
【００５２】
ここで、電源設定ポリシーは、電源装置１が電力を供給する仮想ホスト２またはこの仮想ホスト２がエミュレートする仮想マシン３が、安定して稼働できるように、電源装置１が電力を供給するためのポリシーである。電源設定ポリシーは、電源装置１が有するハードウェアおよびソフトウェアの状態が、仮想ホスト２および仮想マシン３の稼働の開始または停止に関する設定を満たすかの条件である。
【００５３】
このような本発明の実施の形態によれば、停電などが発生しても、仮想マシン３および仮想ホスト２がシャットダウンする間、電源装置１が十分電力を供給することができるように、システム管理者に促すことができる。また、故障または停電中の電源装置１が電力を供給する仮想ホスト２に、新たに仮想マシン３が移行されても、移行された仮想マシン３のほかの仮想ホスト２への移行を促すことができる。このように、仮想マシン３の電源情報と、電源装置１の電力供給とを連携させることにより、仮想システム９の信頼性を向上させることができる。
【００５４】
（仮想ホストコンピュータ）
図２を参照して、本発明の実施の形態に係る仮想ホストコンピュータ２を説明する。仮想ホストコンピュータ２は、中央処理制御装置２１０、記憶装置２２０および通信制御装置２３０を備える一般的なコンピュータである。仮想マシンを制御するためのホストＯＳが、仮想ホストコンピュータ２にインストールされている。記憶装置２２０は、複数の記憶装置によって構成されても良く、同様に中央処理制御装置２１０も、複数の中央処理制御装置によって構成されても良い。また、記憶装置２２０は、複数の仮想ホストコンピュータが接続可能な、共有ディスクであっても良い。
【００５５】
記憶装置２２０は、中央処理制御装置２１０における処理に関するデータを記憶する記憶媒体であって、例えばハードディスクである。通信制御装置２３０は、他のコンピュータ、電源装置、共有ディスクなどと通信するための装置であって、例えばＬＡＮアダプタ、ＦＣ−ＳＡＮ（fibre-channel SAN）である。
【００５６】
ホストＯＳのインストールなどにより、中央処理制御装置２１０は、仮想マシン制御手段２１１および移行手段２１２を実装する。
【００５７】
仮想マシン制御手段２１１は、仮想ホストコンピュータ２がエミュレートする仮想マシン３を制御する手段である。仮想マシン制御手段２１１は、例えば、各仮想マシン３へのリソースの割り当てなど、各仮想マシン３を制御する。本発明の実施の形態においては特に、仮想管理サーバ４の指示により、仮想マシン３の移行を制御する。
【００５８】
移行手段２１２は、仮想マシン３を他の仮想ホストコンピュータ２に移行する手段である。本発明の実施の形態においては、仮想管理サーバ４から入力された移行リクエストに基づいて仮想マシン３を移行する。本発明の実施の形態において、仮想マシン３の制御や移行の具体的手段については、特に問わない。
【００５９】
（電源装置）
図４を参照して、本発明の実施の形態に係る電源装置１を説明する。電源装置１は、メモリ１０、コントローラ２０、電力供給部３０および通信制御装置４０を備える。
【００６０】
電力供給部３０は、電源装置１に接続された仮想ホストコンピュータ２に、電力を供給する。電力供給部３０は、複数のアウトレットを備え、複数の仮想ホストコンピュータ２に電力を供給することができる。図１（ａ）に示す例では、第１の電源装置１ａは少なくとも２つのアウトレットを備え、第２の電源装置１ｂは少なくとも１つのアウトレットを備える。
【００６１】
通信制御装置４０は、他の電源装置や情報機器と通信するための装置であって、例えばＬＡＮアダプタである。図１（ａ）に示す例において通信制御装置４０は、通信ネットワーク６を介して、仮想ホスト２と、相互に通信するとともに、電源管理装置５と相互に通信することができる。
【００６２】
メモリ１０は、電源装置１で実行するファームウェアプログラムなどのプログラムデータ、およびコントローラ２０で処理されるデータなどを蓄積する記憶装置である。メモリ１０は、プログラムデータの記憶領域を備えるとともに、電源管理データ１１、仮想マシン電源管理データ１２および電源設定ポリシーデータ１３を記憶する。本発明の実施の形態において、電源装置１のメモリ１０が、各データを記憶する場合について説明するが、これらのデータは、電源装置１に内蔵されたメモリ１０に記憶されている必要はない。例えば、電源装置１が読み出し可能なコンピュータのハードディスクや、半導体メモリなど、外部の記憶手段において記憶されていても良い。
【００６３】
電源管理データ１１は、仮想ホスト２に供給する電力の設定情報を記憶したデータである。電源管理データ１１は、アウトレット識別子と、そのアウトレットによる電力供給先である仮想ホスト２の識別子と、その電力供給のための設定情報と、シャットダウン時間を対応づける。「シャットダウン時間」は、仮想ホスト２のシャットダウンに要する時間である。実際のシャットダウン時間は、仮想ホスト２の稼働環境によって異なるため、電源管理データ１１には、シャットダウンに要すると予想される時間が設定される。このシャットダウン時間は、ユーザによって設定されても良い。また「電力供給のための設定情報」とは、電力供給のタイプ、入力電圧、入力周波数、出力電圧および出力周波などであるが、これは一例で、そのほかの情報が含まれても良い。
【００６４】
仮想マシン電源管理データ１２は、電源装置１が電力を供給する仮想ホストコンピュータ２がエミュレートする仮想マシン３の識別子と、当該仮想マシン３の電源情報とを対応づけたデータである。仮想マシン電源管理データ１２は、後述する仮想マシン電源データ移行手段２３によって、取得するデータである。
【００６５】
仮想マシン電源管理データ１２は、例えば、図５に示すデータである。図５に示す仮想マシン電源管理データ１２は、電源装置１が電力を供給する仮想ホスト２の仮想ホスト識別子と、この仮想ホスト２がエミュレートする仮想マシン識別子と、この仮想マシン３に関する仮想マシン電源情報を対応づけたデータである。
【００６６】
仮想ホスト識別子は、仮想ホスト２のマシン名、ＩＰアドレスなどである。仮想マシン識別子は、仮想マシン３のマシン名、ＩＰアドレス、ＵＵＩＤなどである。
【００６７】
仮想マシン電源情報は、仮想マシン３の稼働の開始および停止に関する仮想マシン３の仮想電源の情報であって、電源装置１の電力供給と関連のある情報である。仮想マシン電源情報は、例えば、仮想マシン３のＩＰアドレス、ＯＮ／ＯＦＦスケジュール情報、停止遅延時間、起動遅延時間、電源ログ、バッテリー低下時の設定、シャットダウン時間などである。ここで、「ＯＮ／ＯＦＦスケジュール情報」は、仮想マシン３を起動またはシャットダウンするスケジュールの時間である。「電源ログ」は、仮想マシン３の起動やシャットダウンなど、仮想電源に関するログである。「バッテリー低下時の設定」は、電源装置１の蓄電量が低下した際に、シャットダウンする、セーフモードで起動するなど、仮想マシン３が取るべきコマンドを設定する。本発明の実施の形態において、仮想マシン３の移行に伴い、電源装置１が仮想マシン３の電源情報を移行する。「シャットダウン時間」は、仮想マシン３のシャットダウンに要する時間である。実際のシャットダウン時間は、仮想マシン３の稼働環境によって異なるため、仮想マシン電源管理データ１２には、シャットダウンに要すると予想される時間が設定される。このシャットダウン時間は、ユーザによって設定されても良い。
【００６８】
ここで、電源装置１が新たに導入された際、または新たに仮想ホスト２や仮想マシン３が導入された際、図６および図７に示す画面などにより、仮想マシン電源管理データ１２が予め設定される。仮想マシン電源データ１２のうち、仮想ホスト識別子は、例えば、図６に示す画面などにより、ユーザによって予め入力されても良い。図６は、電源装置１が電力供給する各仮想ホスト２の情報を、ユーザが入力する画面である。図６に示す画面は、電源装置１の表示装置に表示されても良いし、電源装置１に接続される電源管理装置５の表示装置に表示されても良い。
【００６９】
ユーザは、図６に示す画面に、仮想ホスト２のＩＰアドレス、ユーザ名およびパスワードを入力する。電源装置１は、図６に示す画面に入力された情報を取得して、仮想マシン電源データ１２の仮想ホストの情報を設定する。
【００７０】
また、仮想マシン電源管理データ１２のうち、仮想マシンの電源情報は、図７に示す画面などにより、ユーザによって予め入力されても良い。図７は、電源装置１が電力供給する仮想ホスト２がエミュレートする仮想マシンの情報を、ユーザが入力する画面である。図７に示す画面は、電源装置１の表示装置に表示されても良いし、電源装置１に接続される電源管理装置５の表示装置に表示されても良い。
【００７１】
ユーザは、図７に示す画面に、仮想マシン３の停止遅延時間、停止時の操作、起動遅延時間などの、仮想電源に関する情報を設定する。ユーザは、仮想マシン３のデフォルトの電力情報を設定してもよいし、個々の仮想マシン３の電力情報を設定してもよい。電源装置１は、図７に示す画面に入力された情報を取得して、仮想マシン電源データ１２の仮想マシンの電源情報を設定する。
【００７２】
電源設定ポリシーデータ１３は、仮想マシン３を稼働するために、当該電源装置１が電力を供給可能な条件のデータである。特に電源設定ポリシーデータ１３は、電源装置１が電力を供給する仮想ホスト２に、新たな仮想マシンが移行した場合、この新たな仮想マシンの移行に関して、電源装置１が、この新たな仮想マシンおよびこの新たな仮想マシンをエミュレートする仮想ホスト２に電力を供給するために必要な条件のデータである。
【００７３】
電源設定ポリシーデータ１３は、図８に示すデータである。図８に示す電源設定ポリシーデータ１３は、整合性を確認するためのポリシー項目と、そのポリシーの比較条件と、この比較により不整合であると判別した場合の電源装置１の処理を対応づけたデータである。
【００７４】
電源設定ポリシーデータ１３は、電源装置１の能力や状態にあわせて、予めシステム管理者などによって設定されるデータである。
【００７５】
例えば、ポリシーの項目として、バックアップ可能時間に関するポリシーが考えられる。このバックアップ可能時間は、停電が発生した後、バックアップのために電力を供給可能な時間であって、バッテリーの定格電圧、温度、稼働時間、バッテリーの内部抵抗、負荷率などから算出される。電源設定ポリシーデータ１３によって、このバックアップ可能時間内に、仮想ホスト２および仮想マシン３を全てパワーオフする必要がある。
【００７６】
これに対し電源設定ポリシーデータ１３は、バックアップ可能時間に、仮想ホスト２および仮想マシン３がパワーオフすることができるための、条件を保持する。バックアップ可能時間内に、これらの装置のシャットダウンが完了しない場合、電源装置１は、システム管理者などにアラータを通知する。これにより、仮想マシン３をほかの電源装置１が電力を供給する仮想ホスト２に移行するよう促したり、仮想マシン３の仮想電源の設定の見直しを促したりできる。
【００７７】
図９を参照して、電源装置１に停電が発生し、仮想マシン３および仮想ホスト２をシャットダウンする流れを説明する。図９に示す例において、左から右に時間が流れる。ここでは、図１（ｂ）において、第１の電源装置１ａが電力を供給する第１の仮想ホスト２ａをシャットダウンする場合を説明する。第１の仮想ホスト２ａは、第１の仮想マシン３ａ、第２の仮想マシン３ｂおよび第５の仮想マシン３ｅをシャットダウンしてからシャットダウンする必要がある。
【００７８】
まず停電が発生すると、第１の電源装置１ａは、第１の仮想ホスト２ａに電力の供給を開始するとともに、シャットダウン待機時間ＷＴ０の間、復電を待機する。このシャットダウン待機時間ＷＴ０の間に復電することがあれば、第１の仮想ホスト２ａおよび仮想マシン３のャットダウンを開始しない。復電がない場合、シャットダウン待機時間ＷＴ０経過後、第１の電源装置１ａは、第１の仮想ホスト２ａおよび仮想マシン３のシャットダウンを開始する。
【００７９】
各仮想マシン３には、図５を参照して説明した様に、停止遅延時間が設けられている。そこで各仮想マシン３は、それぞれの停止遅延時間経過後、シャットダウンを開始する。
【００８０】
第１の仮想マシン３ａは、停止遅延時間ＷＴ１を待機した後、シャットダウンを開始し、時間ＴＰｏｆｆ１にシャットダウンを完了後、パワーオフする。第２の仮想マシン３ｂは、停止遅延時間ＷＴ２を待機した後、シャットダウンを開始し、時間ＴＰｏｆｆ２にシャットダウンを完了後、パワーオフする。第５の仮想マシン３ｅは、停止遅延時間ＷＴ５を待機した後、シャットダウンを開始し、時間ＴＰｏｆｆ５にシャットダウンを完了後、パワーオフする。これら全ての仮想マシン３のシャットダウンを確認した後、第１の仮想ホスト２ａはシャットダウンを開始する。従って第１の電源装置１ａは、停電が発生してから、第１の仮想ホスト２ａのシャットダウンが完了するまでの間、電力を供給する必要がある。
【００８１】
ここで図９に示す例において、シャットダウン待機時間ＷＴ０を経過後、第１の電源装置１ａが電力供給可能な時間を、バックアップ可能時間ＷＴとする。このバックアップ可能時間ＷＴは、電源装置１が出力可能な時間と、シャットダウン待機時間ＷＴ０に基づいて予め算出される。電源装置１は、このバックアップ可能時間ＷＴ内に、全ての仮想マシン３および第１の仮想ホスト２ａのパワーオフが完了するか否かを判定する。この判定の際、各仮想マシン３のシャットダウンに要する時間は、仮想マシン電源管理データ１２で設定されるシャットダウン時間の予測値を用いる。また第１の仮想ホスト２ａのシャットダウンに要する時間は、電源管理データ１１における第１の仮想ホスト２ａのシャットダウン時間の予測値を用いる。
【００８２】
例えば、図９に示す例において、第１の仮想マシン３ａ、第２の仮想マシン３ｂおよび第５の仮想マシン３ｅのうち、パワーオフのタイミングは、第５の仮想マシン３ｅのパワーオフの時間ＴＰｏｆｆ５が最も遅い。従って、第１の仮想ホスト２ａのシャットダウン開始時間は、第５の仮想マシン３ｅのパワーオフのタイミングに拘束される。
【００８３】
具体的には、新たに移行された第５の仮想マシン３ｅについて、停止遅延時間ＷＴ５とシャットダウン時間ＳＤ５との和が、他の第１の仮想マシン３ａおよび第２の仮想マシン３ｂと比べて短い場合を考える。この場合、新たに移行された第５の仮想マシン３ｅが、第１の仮想ホスト２ａのシャットダウンの開始を遅らせるボトルネックにはならないため問題がない。しかしながら、新たに移行された第５の仮想マシン３ｅについて、停止遅延時間ＷＴ５とシャットダウン時間ＳＤ５との和が、他の第１の仮想マシン３ａおよび第２の仮想マシン３ｂと比べて長い場合、第５の仮想マシン３ｅがボトルネックとなる。従って、第１の仮想ホスト２ａのシャットダウン開始時が遅れ、バックアップ可能時間ＷＴ内に、第１の仮想ホスト２ａがシャットダウンを終えない可能性が生ずる。
【００８４】
そこで電源装置１は、第１の仮想ホスト２ａがエミュレートする仮想マシン３のうち、停止遅延時間とシャットダウンの時間の和について、新しく移行された第５の仮想マシン３ｅが最も大きい場合、この第５の仮想マシン３ｅの停止遅延時間ＷＴ５と、シャットダウン時間ＳＤ５と、第１の仮想ホスト２ａのシャットダウン時間ＳＤＨの和を算出する。この和が、バックアップ可能時間ＷＴを越える場合、電源装置１は、システム管理者などにアラートを通知する。
【００８５】
図９に示す例では、第１の仮想ホスト２ａのみの場合について説明したが、第１の電源装置１ａが複数の仮想ホスト２に電力を供給する場合も同様である。その場合、第１の電源装置１ａは、仮想ホスト２ごとに、この仮想ホスト２のシャットダウンが完了するまでの時間を算出し、全ての仮想ホストについてバックアップ可能時間ＷＴ内にシャットダウンが完了するか否かを判定する。
【００８６】
また、図８に示すように、電源設定ポリシーデータ１３は、電源装置１の設定や状態のみに基づいて、アラータ通知するか否かが判別するためのデータを含んでも良い。例えば、電源装置１が仮想ホスト２に十分に電力を供給できる状態でない場合、電源設定ポリシーにあっていないとして、アラータを通知することができる。電源装置１が仮想ホスト２に十分に電力を供給できない場合とは、電源装置１の負荷率が、所定の閾値より高い場合、電源装置１の受電状態が停電中の場合、電源装置１の稼動状態が故障中の場合などである。
【００８７】
図８に示す電源設定ポリシーデータ１３の例において、電源装置１の設定ポリシーに違反する場合、システム管理者に通知する場合を説明したが、これに限られない。例えば、仮想管理サーバ４にその旨を通知し、仮想管理サーバ４が仮想マシン３をほかの電源装置１が電力を供給する仮想ホスト２に移行しても良い。また、電源装置１が、仮想マシン３を移行しても良い。ほかにも様々な処理が考えられる。
【００８８】
コントローラ２０は、電源管理手段２１、仮想マシン管理手段２２、仮想マシン電源データ移行手段２３および電源設定ポリシー確認手段２４を備える。コントローラ２０は、これらの各手段の処理を制御する。コントローラ２０は、いわゆる組み込みコンピュータであって、一般的なコンピュータで用いられるＣＰＵとは異なる。
【００８９】
電源管理手段２１は、電源管理データ１１に基づいて電力供給部３０に指示し、各仮想ホスト２への電力供給を制御する。電源管理手段２１は、各アウトレットに予め定められた条件で、電力を供給する。また、電源管理手段２１は、通常時には外部電源から電力供給を受けて蓄電池に蓄電するとともに、各アウトレットに電力を供給する。停電が発生すると電源管理手段２１は、蓄電池から各アウトレットに電力を供給する。
【００９０】
仮想マシン管理手段２２は、仮想マシン電源管理データ１２に基づいて、電源装置１が電力を供給する仮想ホスト２がエミュレートする仮想マシン３の電源に関する処理を制御する。図１（ａ）において、第１の電源装置１ａの場合、仮想マシン管理手段２２の管理対象は、第１の仮想ホスト２ａがエミュレートする第１の仮想マシン３ａ、第２の仮想マシン３ｂおよび第３の仮想マシン３ｃと、第２の仮想ホスト２ｂがエミュレートする第４の仮想マシン３ｄである。
【００９１】
本発明の実施の形態に係る仮想マシン管理手段２２は、仮想マシン電源管理データ１２を参照して、仮想マシン３の仮想電源に関するコマンドを入力しても良い。仮想マシン３の仮想電源に関するコマンドは、仮想マシン３の起動、シャットダウン、パワーオン、またはパワーオフなど、仮想マシン３の稼動に必要なリソースに関するコマンドである。仮想マシン管理手段２２は、仮想マシン電源管理データ１２に設定されたＯＮ／ＯＦＦスケジュールに基づいて、仮想マシン３を起動またはシャットダウンするコマンドを、仮想ホスト２または仮想マシン３に送信する。
【００９２】
なお、本発明の実施の形態において、仮想マシン３に対して、「シャットダウン」、「パワーオン」、「パワーオフ」などのコマンドを、仮想マシン管理手段２２が送信しても良い。この場合、仮想マシン管理手段２２は、仮想マシン電源管理データ１２を読み出して、仮想マシン３の電源情報で特定される停止遅延時間、ＯＮ／ＯＦＦスケジュール情報などに基づいて、コマンドを仮想ホスト２に送信する。仮想ホスト２は電源装置１からコマンドを受信すると、このコマンドに基づいて、仮想マシン３を制御する。
【００９３】
また、他の例としては、電源装置１が、「シャットダウン」、「パワーオン」、「パワーオフ」などのコマンドを送信しない場合も考えられる。その場合、停電などが発生すると、電源装置１の電源管理手段２１は、仮想ホスト２にシャットダウンのコマンドを送信する。仮想ホスト２は、電源装置１からシャットダウンのコマンドを受信すると、各仮想マシン３の電源情報に従って、各仮想マシン３をシャットダウンしてから仮想ホスト２をシャットダウンする。
【００９４】
仮想マシン電源データ移行手段２３は、仮想管理サーバ４によって、電源装置が電力を供給する仮想ホストコンピュータ２がエミュレートする仮想マシン３が、ほかの電源装置が電力を供給する移行先の仮想ホストコンピュータに移行した場合、仮想マシン電源管理データ１２から、移行した仮想マシンの電源情報を抽出して、ほかの電源装置に移行する。また仮想マシン電源データ移行手段２３は、移行により新たな仮想マシンをエミュレートする場合、当該新たな仮想マシンの電源情報を取得して、仮想マシン電源管理データ１２に記憶する。
【００９５】
具体的には、仮想管理サーバ４によって、第２の電源装置１ｂが電力を供給する第３の仮想ホスト２ｃがエミュレートする第５の仮想マシン３ｅが、第１の電源装置１ａが電力を供給する第１の仮想ホスト２ａに移行した場合を想定する。この場合、第２の電源装置１ｂは、第５の仮想マシン３ｅの電源情報を、第１の電源装置１ａに移行する。第１の電源装置１ａは、第５の仮想マシン３ｅの電源情報を受信すると、仮想マシン電源管理データ１２に記憶する。
【００９６】
本発明の実施の形態に係る電源装置１の仮想マシン電源データ移行手段２３は、仮想マシン３の移行に伴って、この仮想マシン３の電源情報を、仮想マシン３の移行先の仮想ホスト２に電力を供給する電源装置１に移行する。従って、仮想マシン３が、データセンタやサーバルームなどのネットワークセグメントを越えて移行する場合、電源情報も、同様に移行する。
【００９７】
ここで、図１０を参照して、移行元である第２の電源装置１ｂの仮想マシン電源データ移行手段２３の処理を説明する。
【００９８】
第２の電源装置１ｂは、ステップＳ１１において、第５の仮想マシン３ｅの移行を検知すると、ステップＳ１２に進む。ステップＳ１２において第２の電源装置１ｂは、仮想マシン電源管理データ１２から、移行した仮想マシンである第５の仮想マシン３ｅの電源情報を抽出し、移行先である第１の電源装置１ａに移行する。ステップＳ１３において第２の電源装置１ｂは、仮想マシン電源管理データ１２から、移行した仮想マシンである第５の仮想マシン３ｅの電源情報を削除または無効化して、処理を終了する。
【００９９】
図１１を参照して、移行先である第１の電源装置１ａの仮想マシン電源データ移行手段２３の処理を説明する。
【０１００】
第１の電源装置１ａは、ステップＳ２１において、第５の仮想マシン３ｅの移行を検知すると、ステップＳ２２に進む。ステップＳ２２において第１の電源装置１ａは、第２の電源装置１ｂから、移行した仮想マシンである第５の仮想マシン３ｅの電源情報を取得する。ステップＳ２３において第１の電源装置１ａは、仮想マシン電源管理データ１２に、移行した仮想マシンである第５の仮想マシン３ｅの電源情報を記録または有効化して、ステップＳ２４に進む。ステップＳ２４において電源設定ポリシー確認処理を実行した後、処理を終了する。
【０１０１】
電源設定ポリシー確認手段２４は、移行した仮想マシン３の電源情報が、電源設定ポリシーデータ１３の条件を満たすか否かを判定し、一致しない場合、アラータを通知する。ここで、電源情報は、仮想マシン３がシャットダウンの開始を待機する停止遅延時間と、仮想マシン３のシャットダウンに要するシャットダウン時間を含む場合を考える。この場合、電源設定ポリシーデータ１３は、ほかの電源装置１が電力を供給可能なバックアップ可能時間内に、仮想ホストコンピュータ２および仮想マシン３のシャットダウンが完了することを要する条件を含む。この際、電源設定ポリシー確認手段２４は、仮想マシン電源管理データ１２から、移行先の仮想ホストコンピュータ２がエミュレートする仮想マシン３について、停止遅延時間とシャットダウン時間の和の最大値を取得し、取得した最大値と、移行先の仮想ホストコンピュータ２のシャットダウンに要する時間との和が、バックアップ可能時間より大きい場合、アラータを通知する。
【０１０２】
このほかにも電源設定ポリシー確認手段２４は、電源装置１が、新たな仮想マシンに電力を供給可能でない場合、その旨をアラータ通知する。例えば、図８の電源設定ポリシーデータ１３に示すように、電源設定ポリシー確認手段２４は、電源装置１の負荷率、受電状態、稼働状態などの電源装置１の状態を取得し、取得した状態が、電源設定ポリシーデータ１３の条件を満たさない場合、アラータ通知する。
【０１０３】
ここで、電源装置１のバックアップ可能時間、負荷率、受電状態、稼働状態などの電源装置１の状態は、予め電源装置１のメモリ１０に記憶されているとする。
【０１０４】
図１２を参照して、電源設定ポリシー確認手段２４の処理を説明する。
【０１０５】
まずステップＳ３１において電源設定ポリシー確認手段２４は、電源装置１が、仮想マシン３および仮想ホストがシャットダウンする間、電力を供給可能であるかを判定する。仮想マシン３および仮想ホスト２がシャットダウンするまでの間電力を供給できない場合、ステップＳ３２において電源設定ポリシー確認手段２４は、電源容量が不足していると、アラータを通知する。その後、ステップＳ３３に進む。
【０１０６】
ステップＳ３３において電源設定ポリシー確認手段２４は、電源装置１の負荷率を取得し、電源設定ポリシーデータ１３で定められる閾値と比較する。電源装置１の負荷率が、電源設定ポリシーデータ１３で定められる閾値以上の場合、ステップＳ３４において電源設定ポリシー確認手段２４は、電源装置１の負荷が高いと、アラータを通知する。その後、ステップＳ３５に進む。
【０１０７】
ステップＳ３５において電源設定ポリシー確認手段２４は、電源装置１の受電状態を取得する。電源設定ポリシーデータ１３で示すように、電源装置１の受電状態が停電中の場合、ステップＳ３６において電源設定ポリシー確認手段２４は、電源装置１の容量が不足していると、アラータを通知する。その後、ステップＳ３７に進む。
【０１０８】
ステップＳ３７において電源設定ポリシー確認手段２４は、電源装置１の稼働状態を取得する。電源設定ポリシーデータ１３で示すように、電源装置１の稼働状態が、故障中、バイパス中などの、正常でない状態の場合、ステップＳ３８において電源設定ポリシー確認手段２４は、電源装置１が異常であると、アラータを通知する。
【０１０９】
このように電源装置１は、仮想マシン３の電源情報や電源装置１の状態が、電源設定ポリシーデータ１３の各条件に、合うか否かを判定し、合わない場合は、アラータを通知し、管理者に認識させる。図８および図１２で示した条件は一例であって、一部の条件のみが考慮されても良いし、この他の条件も考慮されてもよい。
【０１１０】
このように本発明の実施の形態に係る電源装置１は、仮想マシン３の仮想電源と、仮想ホスト２の物理電源の管理を、一元管理することができる。これにより、仮想マシン３が、任意の仮想ホスト２に移行すると、この移行に伴って、移行した仮想マシン３の電源情報を、移行先の仮想ホスト２に電力を供給する電源装置１に移行する。これにより、仮想マシン３の仮想電源と、仮想ホスト２の物理電源との設定の整合性を保って、仮想システム９を稼働することができる。
【０１１１】
また本発明の実施の形態に係る電源装置１は、仮想マシン３および仮想ホスト２の稼働の開始および停止に関して、仮想マシン３の稼働の開始、仮想マシン３の再起動、仮想マシン３および仮想ホスト２の終了に関するコマンドを、電源装置１が送信する。このように、装置の稼働の開始および停止に関するコマンドを、電源装置１から送信することができるので、仮想システム９の装置の稼働の開始および停止に関して、システム構成を単純化することができる。これにより、仮想システム９のシステム構築、システム運用およびシステム保守を容易に実現することができる。
【０１１２】
また、電源装置１が、仮想マシン３に稼働の開始および停止に関するコマンドを送信することにより、電源装置１の故障やバッテリー低下など、正常に運転できない状態の場合でも、速やかに、仮想マシン３を安全に停止させることができる。
【０１１３】
（変形例）
図１３ないし図１５を参照して、変形例に係る仮想システム９において、仮想マシン３の電源情報を移行する処理を説明する。変形例においては、電源管理装置５が仮想システム９の各電源情報を保持し、仮想マシン３の移行に伴って、電源管理装置５が、移行先の仮想ホスト２に電力を供給する電源装置１に、移行した仮想マシン３の電源情報を移行する。
【０１１４】
図１３を参照して、変形例に係る仮想システム９の処理を説明する。ここでは、図２で示す場合と同様に、仮想管理サーバ４によって、第５の仮想マシン３ｅが、第３の仮想ホスト２ｃから第１の仮想ホスト２ａに移行する場合を説明する。
【０１１５】
まずステップＳ１０１において、電源管理装置５が、仮想管理サーバ４の制御により、第５の仮想マシン３ｅが、第３の仮想ホスト２ｃから第１の仮想ホスト２ａに移行したことを検知する。本発明の変形例においては、電源管理装置５が仮想マシン３の移行を検知する方法は問わない。
【０１１６】
電源管理装置５が、第５の仮想マシン３ｅの移行を検知すると、ステップＳ１０２において、電源管理装置５が、移行に伴って、仮想マシン電源管理データ１１１を更新する。具体的には、移行した第５の仮想マシン３ｅをエミュレートする仮想ホストが、第３の仮想ホスト２ｃから第１の仮想ホスト２ａに変更したことを、電源管理装置５は更新する。
【０１１７】
ステップＳ１０３において電源管理装置５は、移行先の電源装置である第１の電源装置１ａに、移行した第５の仮想マシン３ｅの電源情報を送信し、電源情報を移行する。ステップＳ１０４において、第１の電源装置１ａは、ステップＳ１０３で受信した第５の仮想マシン３ｅの電源情報を記憶または有効化し、この電源情報に従って、第５の仮想マシン３ｅの稼働の開始および終了に関するコマンドを送信する。
【０１１８】
一方ステップＳ１０５において電源管理装置５は、移行した第５の仮想マシン３ｅの識別子と、移行元の電源装置である第２の電源装置１ｂに通知する。ステップＳ１０６において、移行元の第２の電源装置１ｂは、移行した第５の仮想マシン３ｅの電源情報を削除または無効化する。
【０１１９】
電源管理装置５が、移行元および移行先の電源装置１に移行を通知すると、移行先の第1の電源装置１ａの設定ポリシーが、移行した第５の仮想マシン３ｅの設定を満たすかを判定する。この判定処理は、図８を参照して説明した通りである。
【０１２０】
図１４を参照して、変形例に係る電源管理装置５を説明する。電源管理装置５の記憶装置１１０は、電源管理プログラムを記憶するとともに、仮想マシン電源管理データ１１１および電源設定ポリシーデータ１１２を記憶する。電源管理プログラムを中央処理制御装置１２０が実行することにより、中央処理制御装置１２０は、仮想マシン電源データ移行手段１２１および電源設定ポリシー確認手段１２２を備える。
【０１２１】
ここで、電源設定ポリシーデータ１１２よび電源設定ポリシー確認手段１２２は、本発明の実施の形態で説明した通りである。
【０１２２】
仮想マシン電源管理データ１１１は、図１５に示すように、電源装置１の識別子と、当該電源装置が電力を供給する仮想ホストコンピュータ２がエミュレートする仮想マシン３の識別子と、当該仮想マシン３の電源情報とを対応づけたデータである。電源管理装置５が、複数の電源装置１の仮想マシンを管理するので、変形例に係る仮想マシン電源管理データ１１１は、図５を参照して説明した実施の形態に係る仮想マシン電源管理データ１２と比べて、電源装置１の識別子のカラムを備えている点が異なる。
【０１２３】
仮想マシン電源データ移行手段２３は、仮想管理サーバ４によって、仮想マシン３が、第１の仮想ホストコンピュータ２ａから、第２の仮想ホストコンピュータ２ｂに移行した場合、仮想マシン電源管理データ１１１から、移行した仮想マシン３の電源情報を抽出して、第２の電源装置１ｂに移行する。
【０１２４】
このように、電源管理装置５が、複数の電源装置１の情報を一元管理することにより、仮想マシン３の移行に伴う電源情報の移行を容易に実現することができる。これにより、電源装置１の処理負荷を軽減することができる。
【０１２５】
図１３に示す例では、電源管理装置５が、電源情報のポリシーを確認する場合を説明したが、これに限られない。例えば、図２で示したように、移行先の電源装置で、ポリシーを確認しても良い。
【０１２６】
（その他の実施の形態）
上記のように、本発明の実施の形態および変形例によって記載したが、この開示の一部をなす論述および図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例および運用技術が明らかとなる。
【０１２７】
例えば、図２および図１３などのシーケンス図、図１０ないし図１２などのフローチャートに示す処理の順序は、一例であって、矛盾が生じない限り変更されても良い。
【０１２８】
また、本発明の実施の形態および変形例において、電源管理装置５は、一般的なコンピュータに所定のプログラムをインストールしたものであると説明したがこれに限られない。電源管理装置５は、いわゆる電源管理ボックスなどの、１または複数の電源装置１の管理の専用のコンピュータであっても良い。
【０１２９】
また、電源管理装置５は、所定のプログラムをインストールした電源装置であっても良い。電源管理装置５は、図１に示すコンピュータや、図１に示したコンピュータ以外のコンピュータに電力を供給するとともに、図１に示す電源装置１の電源管理を担っても良い。この場合、電源装置１が内蔵するコンピュータが、所定のプログラムに従って各処理を実行する。
【０１３０】
さらに、他の実施形態として、図１に示す第１の電源装置１ａが、電源管理装置５の役割も担っても良い。具体的には、第１の電源装置１ａは、第１の電源装置１ａが電力を供給する仮想ホスト２がエミュレートする仮想マシン３の仮想マシン情報を保持するとともに、第２の電源装置１ｂが電力を供給する仮想ホスト２がエミュレートする仮想マシン３の仮想マシン情報を保持する。また、第１の電源装置１ａは、仮想マシン３の移行に伴って、第２の電源装置１ｂに仮想マシン情報を送信して記憶するよう指示し、あるいは削除するよう指示しても良い。同様に、第１の電源装置１ａは、仮想マシン３の移行に伴って、第２の電源装置１ｂに仮想マシン情報の有効化または無効化を指示しても良い。
【０１３１】
本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。従って、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【符号の説明】
【０１３２】
１  電源装置
２  仮想ホストコンピュータ（仮想ホスト）
３  仮想マシン
４  仮想管理サーバ
５  電源管理装置
６  通信ネットワーク
９  仮想システム
１０  メモリ
１１  電源管理データ
１２  仮想マシン電源管理データ
１３  電源設定ポリシーデータ
２０  コントローラ
２１  電源管理手段
２２  仮想マシン管理手段
２３  仮想マシン電源データ移行手段
２４  電源設定ポリシー確認手段
【図１】
0006028403.tif 000002
【図２】
0006028403.tif 000003
【図３】
0006028403.tif 000004
【図４】
0006028403.tif 000005
【図５】
0006028403.tif 000006
【図６】
0006028403.tif 000007
【図７】
0006028403.tif 000008
【図８】
0006028403.tif 000009
【図９】
0006028403.tif 000010
【図１０】
0006028403.tif 000011
【図１１】
0006028403.tif 000012
【図１２】
0006028403.tif 000013
【図１３】
0006028403.tif 000014
【図１４】
0006028403.tif 000015
【図１５】
0006028403.tif 000016