(57)【要約】  本願の開示するサーバ（１０）は、退避部（１３ａ）と、停止部（１３ｂ）と、電池付電源（１１）とを有する。退避部（１３ａ）は、停電時に、ＵＰＳ装置（３）を有するサーバ（２０）に、ＶＭ（１４、１５）に割り当てられたメモリが記憶する情報とＶＭ（１４、１５）に割り当てられたレジスタが記憶する情報とを含む仮想マシン情報を退避させる。停止部（１３ｂ）は、仮想マシン情報の退避が終了した場合に、ＶＭ（１４、１５）を停止させる。電池付電源（１１）は、停電時に、退避部（１３ａ）及び停止部（１３ｂ）が実行する処理に必要な電力だけを供給する。
2013065115.tif 000002
【特許請求の範囲】
【請求項１】
停電の際に、無停電電源装置を有する他の装置に、仮想マシンに割り当てられたメモリが記憶する情報と該仮想マシンに割り当てられたレジスタが記憶する情報とを含む情報を退避させる退避部と、
前記情報の退避が終了した場合に、前記仮想マシンを停止する停止部と、
停電の際に、前記退避部及び前記停止部が実行する処理に必要な電力を供給する予備電力供給部と
を有することを特徴とする情報処理装置。
【請求項２】
前記仮想マシンが実行するゲストＯＳの情報とアプリケーションの情報とを含む実行処理情報を、前記他の装置と共有する記憶部に格納させる格納部を更に有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
復電の際に、退避させた前記情報を前記他の装置から受信する受信部と、
前記他の装置と共有する記憶部から前記実行処理情報を読み出す読出部と、
前記他の装置から受信した前記情報と前記実行処理情報とに基づいて、退避前の仮想マシンの状態を復元する復元部と
を更に有することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
停電の際に、仮想マシンに割り当てられたメモリが記憶する情報と該仮想マシンに割り当てられたレジスタが記憶する情報とを含む情報を他の装置から受信する受信部と、
自装置の仮想マシンに割り当てられたメモリが記憶する情報と該仮想マシンに割り当てられたレジスタが記憶する情報とを含む情報及び前記他の装置から受信した前記情報を自装置の記憶部に格納させる第１の格納部と、
前記情報の格納が終了した場合に、前記仮想マシンを停止する停止部と、
停電の際に、前記受信部、前記第１の格納部及び前記停止部が実行する処理に利用される電力を供給する無停電電源装置と
を有することを特徴とする情報処理装置。
【請求項５】
前記仮想マシンが実行するゲストＯＳの情報とアプリケーションの情報とを含む実行処理情報を前記他の装置と共有する記憶部に格納させる第２の格納部を更に有することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記第１の格納部は、前記情報を正常に格納できた場合には、正常に格納できたことを示すフラグを付与することを特徴とする請求項４に記載の情報処理装置。
【請求項７】
復電の際に、格納した自装置の前記情報を自装置の記憶部から読み出すとともに、前記他の装置と共有する記憶部から前記実行処理情報を読み出して、退避前の仮想マシンの状態を復元する復元部と、
格納した他の装置の前記情報を自装置の記憶部から読み出して前記他の装置に送信する送信部と
を更に有することを特徴とする請求項５に記載の情報処理装置。
【請求項８】
情報処理装置が、必要な電力の供給を受けて、
停電の際に、仮想マシンに割り当てられたメモリが記憶する情報と該仮想マシンに割り当てられたレジスタが記憶する情報とを含む情報を、無停電電源装置を有する他の装置に退避し、
前記情報の退避が終了した場合に、稼動する仮想マシンを停止する
ことを特徴とする情報処理装置の制御方法。
【請求項９】
コンピュータに、
停電の際に、仮想マシンに割り当てられたメモリが記憶する情報と該仮想マシンに割り当てられたレジスタが記憶する情報とを含む情報を、無停電電源装置を有する他の装置に退避し、
前記情報の退避が終了した場合に、稼動する仮想マシンを停止する
処理を、必要な電力の供給を受けて、実行させることを特徴とする仮想マシン制御プログラム。
【請求項１０】
仮想マシンを稼動させる第１の情報処理装置と第２の情報処理装置とを有する情報処理システムにおいて、
前記第１の情報処理装置は、
停電の際に、無停電電源装置を有する前記第２の情報処理装置に、仮想マシンに割り当てられたメモリが記憶する情報と該仮想マシンに割り当てられたレジスタが記憶する情報とを含む情報を退避させる退避部と、
前記情報の退避が終了した場合に、前記仮想マシンを停止する停止部と、
停電の際に、前記退避部及び前記停止部が実行する処理に必要な電力を供給する予備電力供給部とを有し、
前記第２の情報処理装置は、
停電の際に、仮想マシンに割り当てられたメモリが記憶する情報と該仮想マシンに割り当てられたレジスタが記憶する情報とを含む情報を前記第１の情報処理装置から受信する受信部と、
自装置の仮想マシンに割り当てられたメモリが記憶する情報と該仮想マシンに割り当てられたレジスタが記憶する情報とを含む情報及び前記第１の情報処理装置から受信した前記情報を自装置の記憶部に格納する格納部と、
前記情報の格納が終了した場合に、前記仮想マシンを停止する停止部と、
停電の際に、前記受信部、前記格納部及び前記停止部が実行する処理に利用される電力を供給する無停電電源装置とを有する
ことを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置の制御方法、仮想マシン制御プログラム及び情報処理システムに関する。
【背景技術】
【０００２】
仮想化システムは、１台の物理マシン上に仮想マシンと呼ばれる環境を複数用意することができる。この仮想マシンは、例えばハイパーバイザなど仮想化プログラムにより管理される仮想領域で動作する。【０００３】
また、仮想化システムを実行するサーバは、停電に備えてサーバの電源を無停電電源装置（ＵＰＳ：Uninterruptible  Power  Supply）に接続する。そして、サーバは、停電時にＵＰＳのバッテリから電力を確保し、仮想化システムをシャットダウンする。【０００４】
図１７を用いて、従来技術に係る仮想化システムにおけるシャットダウン処理動作について説明する。図１７は、従来技術に係る仮想化システムにおけるシャットダウン処理動作を示す図である。図１７に示すように、停電が発生した場合、ＵＰＳは、停電を検出し（ステップＳ９０１）、バッテリで電力を供給する（ステップＳ９０２）。【０００５】
また、サーバは、所定の時間待機して、仮想化システムのシャットダウン処理を実行するか否かを判定する（ステップＳ９０３）。そして、サーバは、所定の待機時間が経過した場合、仮想化システムのシャットダウン処理を開始する（ステップＳ９０４）。ここで、サーバでは、ゲストＯＳを終了し、アプリケーションを終了してから仮想化プログラムを終了させる。このような処理には、通常数分を要する。ＵＰＳは、その間電力を供給し続けた後、出力をオフにする（ステップＳ９０５）。【０００６】
また、停電から復旧した場合には、ＵＰＳは、出力をオンにする（ステップＳ９０６）。そして、サーバは、ＢＩＯＳ（Basic  Input/Output  System）を起動し（ステップＳ９０７）、仮想化システムを再起動させる（ステップＳ９０８）。【０００７】
このように、サーバは、仮想化システムをシャットダウンすることで、仮想マシンの状態を自動的に保存し、仮想マシンの処理を停止する。また、サーバは、仮想化システムを再起動することで、保存されていた仮想マシンの状態が復元され、仮想マシンを自動的に起動する。【０００８】
また、停電時に備えた技術に関して以下の技術が知られている。例えば、ＰＯＳ（Point  of  sale）システムにおいて、主電源の停電時に揮発性メモリに格納されている情報の一部を別の装置に転送する技術が開示されている。また、ディスクアレイ装置において、主電源の異常が起こった場合に、ＵＰＳを利用して揮発性メモリ内の構成情報をディスクに退避させて復旧する技術も開示されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開平１０−１２４４０５号公報
【特許文献２】特開２００３−３４５５２８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、上述した従来の技術では、ＵＰＳの台数を削減することができないという課題がある。【００１１】
具体的には、仮想化システムのシャットダウン処理には数分かかり、この間に必要な電力は、ＵＰＳから供給される。また、ＵＰＳは、サーバ１台ごとに必要であり複数サーバの構成では多数のＵＰＳが必要になる。すなわち、サーバの台数に応じてＵＰＳの数が増加する。なお、上述した開示の技術を用いても、ＵＰＳの台数を削減することはできない。【００１２】
１つの側面では、ＵＰＳの台数を削減することができる情報処理装置、情報処理装置の制御方法、仮想マシン制御プログラム及び情報処理システムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
第１の案では、情報処理装置は、必要な電力だけの供給を受けて以下の処理を実行する。すなわち、情報処理装置は、ゲストＯＳの情報とアプリの情報を共有ストレージに格納する。また、情報処理装置は、仮想マシンに割り当てられたメモリが記憶する情報と該仮想マシンに割り当てられたレジスタが記憶する情報とを含む仮想マシン情報を無停電電源装置を有する他装置に退避する。そして、情報処理装置は、仮想マシン情報の退避が終了した場合に、稼動する仮想マシンを停止する。
【発明の効果】
【００１４】
ＵＰＳの台数を削減することができる。
【図面の簡単な説明】
【００１５】
【図１】図１は、実施例１に係る情報処理システムの構成の一例を示す図である。
【図２Ａ】図２Ａは、停電発生時におけるサーバの処理動作を示す図である。
【図２Ｂ】図２Ｂは、停電発生時における退避用サーバの処理動作を示す図である。
【図３】図３は、情報処理システムの構成例を示す図である。
【図４】図４は、ＵＰＳ装置の構成例を示す図である。
【図５】図５は、サーバのハードウェア構成の一例を示す図である。
【図６】図６は、電池付電源の構成の一例を示す図である。
【図７】図７は、停電時におけるＶＭの退避処理を開始させる割り込み処理を示す図である。
【図８】図８は、実施例２に係るサーバの機能構成を示す機能ブロック図である。
【図９Ａ】図９Ａは、サーバにおける停電時の仮想化システムのシャットダウン及び復電時の仮想化システムの再起動処理の処理動作を示す図である。
【図９Ｂ】図９Ｂは、退避用サーバにおける停電時の仮想化システムのシャットダウン及び復電時の仮想化システムの再起動処理の処理動作を示す図である。
【図１０】図１０は、停電発生時の仮想化システムのシャットダウン処理を示すシーケンス図である。
【図１１】図１１は、復電時の仮想化システムの再起動処理の処理動作を示すシーケンス図である。
【図１２】図１２は、実施例２に係る退避用サーバによる停電時のフラグ判定処理の処理手順を示すフローチャートである。
【図１３】図１３は、実施例２に係る退避用サーバによる復電時のフラグ判定処理の処理手順を示すフローチャートである。
【図１４】図１４は、実施例３に係る情報処理システムの構成の一例を示す図である。
【図１５】図１５は、実施例４に係る情報処理システムの構成の一例を示す図である。
【図１６】図１６は、仮想マシン制御プログラムを実行するコンピュータを示す図である。
【図１７】図１７は、従来技術に係る仮想化システムにおけるシャットダウン処理動作を示す図である。
【発明を実施するための形態】
【００１６】
以下に、本願の開示する情報処理装置、情報処理装置の制御方法、仮想マシン制御プログラム及び情報処理システムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例１】
【００１７】
実施例１では、図１、図２Ａ及び図２Ｂを用いて、システムの構成、処理の動作などについて説明する。【００１８】
［実施例１に係る情報処理システムの構成］
図１は、実施例１に係る情報処理システムの構成の一例を示す図である。図１に示すように、実施例１に係る情報処理システム１は、ハブ２、ＵＰＳ（Uninterruptible  Power  Supply）装置３、共有ストレージ４、サーバ１０、サーバ２０を有する。なお、後述するように、サーバ１０とサーバ２０とは、サーバ仮想化技術を適用したサーバである。【００１９】
ハブ２は、サーバ１０とサーバ２０とを互いに通信可能に接続する。ＵＰＳ装置３は、通常時にはサーバ２０、ハブ２、共有ストレージ４に電力を供給するとともに、停電時には内蔵するバッテリからハブ２、共有ストレージ４、サーバ２０に予備の電力を供給する。【００２０】
サーバ１０は、電池付電源１１、ハードウェア１２を有する。電池付電源１１は、通常時にはサーバ１０に電力を供給する。また、電池付電源１１は、停電検出回路を有しており、停電の発生を検出した場合、内蔵するバッテリから予備の電力をサーバ１０に供給する。なお、電池付電源１１が有するバッテリ容量は、ＵＰＳ３が有するバッテリ容量と比較して小さい。【００２１】
ハードウェア１２は、例えば、ＣＰＵ（Central  Processing  Unit）とメインメモリとを含み、複数の仮想マシンを動作させる。図１に示す例では、サーバ１０は、ハードウェア１２上で機能する仮想化プログラム１３により、仮想マシン（ＶＭ：Virtual  Machine）１４とＶＭ１５とを動作させている。なお、このＶＭ１４は、ゲストＯＳ（Operating  System）１４ａとアプリ１４ｂとを動作させており、ＶＭ１５は、ゲストＯＳ１５ａとアプリ１５ｂとを動作させている。【００２２】
また、仮想化プログラム１３は、退避部１３ａと停止部１３ｂとを有し、停電時に仮想化システムのシャットダウンを制御する。退避部１３ａは、停電時に、共有ストレージにゲストＯＳ情報とアプリ情報を退避する。なお、ここで言う退避とは、コピーなどによる移動等を示す。また、退避部１３ａは、無停電電源装置を有する退避用の他装置に、仮想マシンに割り当てられたメモリが記憶する情報と該仮想マシンに割り当てられたレジスタが記憶する情報とを含む仮想マシン情報を退避させる。停止部１３ｂは、仮想マシン情報の退避が終了した場合に、仮想マシンを停止する。【００２３】
サーバ２０は、ハードウェア２２を有する。ハードウェア２２は、例えば、ＣＰＵ（Central  Processing  Unit）とメインメモリとを含み、複数の仮想マシンを動作させる。図１に示す例では、サーバ２０は、ハードウェア２２上で機能する仮想化プログラム２３により、ＶＭ２４とＶＭ２５とを動作させている。なお、このＶＭ２４は、ゲストＯＳ（Operating  System）２４ａとアプリ２４ｂとを動作させており、ＶＭ２５は、ゲストＯＳ２５ａとアプリ２５ｂとを動作させている。【００２４】
また、仮想化プログラム２３は、受信部２３ａと第１の格納部２３ｂと停止部２３ｃとを有し、停電時に仮想化システムのシャットダウンを制御する。受信部２３ａは、停電時に、仮想マシンに割り当てられたメモリが記憶する情報及び該仮想マシンに割り当てられたレジスタが記憶する情報を示す仮想マシン情報（ＶＭ情報）を他装置から受信する。第１の格納部２３ｂは、他装置の仮想マシン情報及び自装置の仮想マシン情報を自装置の記憶装置に格納する。停止部２３ｃは、仮想マシン情報の格納が終了した場合に、仮想マシンを停止させる。【００２５】
また、このサーバ２０は、上述したようにＵＰＳ装置３から電力を供給され、停電時にサーバ１０で稼動する仮想マシンを退避させる退避用サーバとして機能する。なお、以下の説明では、サーバ２０を退避用サーバ２０として適宜記載する。【００２６】
［実施例１に係る情報処理システムにおいて、停電が生じた場合の処理動作］
次に、図２Ａ及び図２Ｂを用いて、情報処理システム１において、停電が生じた場合の処理動作について説明する。図２Ａは、停電発生時におけるサーバの処理動作を示す図であり、図２Ｂは、停電発生時における退避用サーバの処理動作を示す図である。【００２７】
（停電発生時におけるサーバの処理動作）
図２Ａに示すように、サーバ１０において、電池付電源１１は、内蔵する停電検出回路で停電を検出した場合（ステップＳ１）、バッテリで予備電力を供給する（ステップＳ２）。また、退避部１３ａは、停電検出回路が停電を検出した場合、退避指示を受付ける（ステップＳ３）。そして、退避部１３ａは、ゲストＯＳ１４ａ（１５ａ）の動作を停止し、ゲストＯＳ情報とアプリ情報を共有ストレージに格納する（ステップＳ４）。【００２８】
また、退避部１３ａは、ＶＭ情報をサーバ２０に退避させる（ステップＳ５）。続いて、停止部１３ｂは、ＶＭ１４及びＶＭ１５を停止し、仮想化をシャットダウンする（ステップＳ６）。ステップＳ３からステップＳ６までの処理は約数十秒で完了する。そして、電池付電源１１は、予備の電力を供給した後、出力をオフにする（ステップＳ７）。【００２９】
（停電発生時における退避用サーバの処理動作）
図２Ｂに示すように、ＵＰＳ装置３は、内蔵する停電検出回路で停電を検出した場合（ステップＳ１１）、バッテリで予備電力を供給する（ステップＳ１２）。そして、サーバ２０において、仮想化プログラム２３は、所定の時間が経過するまで待機する待ち時間となる（ステップＳ１３）。【００３０】
この待ち時間中に、受信部２３ａは、サーバ１０からサーバ１０のＶＭ情報を受信する。そして、第１の格納部２３ｂは、受信したＶＭ情報を記憶装置に格納し（ステップＳ１４）、正常に格納できたことを示すフラグをセットする（ステップＳ１５）。そして、仮想化プログラム２３は、ゲストＯＳ２４ａ（２５ａ）に退避を指示することで、ゲストＯＳ２４ａ（２５ａ）の動作を停止させる（ステップＳ１６）。【００３１】
第１の格納部２３ｂは、自装置のＶＭ情報を記憶装置に格納し（ステップＳ１７）、正常に格納できたことを示すフラグをセットする（ステップＳ１８）。そして、停止部２３ｃは、ＶＭ２４及びＶＭ２５を停止し、仮想化をシャットダウンする（ステップＳ１９）。ステップＳ１４からステップＳ１９までの処理は約数分で完了する。そして、ＵＰＳ装置３は、電力を供給した後、出力をオフにする（ステップＳ２０）。【００３２】
このように、サーバ１０は、停電時に仮想化システムをシャットダウンする場合、電池付電源１１から供給される電力を利用して、ＵＰＳ装置３に接続したサーバ２０にＶＭ情報を退避させる。これにより、情報処理システム１は、ＵＰＳ装置３の台数を削減することもできる。【００３３】
また、ゲストＯＳを終了し、アプリケーションを終了してから仮想化プログラムを終了させる場合に比べて、短時間で仮想化プログラムを終了できる。この結果、サーバ１０は、停電時に消費する電力を削減することができる。【００３４】
また、サーバ２０は、通常では待ち時間となる時間を利用して、サーバ１０により退避されたサーバ１０のＶＭ情報を記憶装置に格納し、また、自装置のＶＭ情報を記憶装置に格納する。これによりゲストＯＳを終了し、アプリケーションを終了してから仮想化プログラムを終了させる場合に比べて、短時間で仮想化プログラムを終了できる。この結果、サーバ２０は、停電時に消費する電力を削減することができる。
【実施例２】
【００３５】
実施例１では、２台のサーバを有する情報処理システムを例に説明した。ところで、近年、データセンタでは、複数のサーバが１台のラックに格納されて運用される場合がある。そこで、実施例２では、複数のサーバが１台のラックに格納される情報処理システムを例に説明する。【００３６】
［実施例２に係る情報処理システムの構成］
図３は、情報処理システムの構成例を示す図である。図３に示すように、情報処理システム５０は、ＰＤＵ５１とラック５２とを有する。また、ラック５２には、ハブ２、ＵＰＳ装置３、共有ストレージ４、サーバ１０ａ、サーバ１０ｂ、サーバ１０ｃ、サーバ１０ｄ、サーバ１０ｅ、サーバ１０ｆ、退避用サーバ２０が格納される。各サーバ間及び各サーバと退避用サーバ２０との間は、ハブ２を介して互いに通信可能に接続される。また、各サーバ及び退避用サーバ２０は、共有ストレージ４に接続される。また、各サーバ及びＵＰＳ装置３は、ＰＤＵ（Power  Distribution  Unit）５１と接続される。【００３７】
ハブ２は、各サーバ間及び各サーバと退避用サーバ２０との間を通信可能に接続する。また、ハブ２は、電源２ａを有する。【００３８】
ＵＰＳ装置３は、ＰＤＵ５１と接続し、通常時にはハブ２、共有ストレージ４、退避用サーバ２０に電力を供給するとともに、停電時には内蔵するバッテリからハブ２、共有ストレージ４、サーバ２０に予備の電力を供給する。【００３９】
共有ストレージ４は、例えば、ＨＤＤ（Hard  Disk  Drive）であり、各サーバ及び退避用サーバ２０からデータの入出力を受付ける。共有ストレージ４は、電源４ａを有する。【００４０】
サーバ１０ａは、電池付電源１１ａを有し、電池付電源１１ａから供給される電力により、各種演算を実行する。また、サーバ１０ａは、停電時には電池付電源１１ａが内蔵するバッテリからバックアップの電力を供給される。なお、サーバ１０ｂからサーバ１０ｆの構成もサーバ１０ａの構成と同様であるので、詳細な説明は省略する。また、以下の説明では、サーバ１０ａからサーバ１０ｆを一般化して称する場合、サーバ１０と記載して説明する。【００４１】
退避用サーバ２０は、電源２０ａを有し、電源から供給される電力により、各種演算を実行する。また、退避用サーバ２０は、停電時にはＵＰＳ装置３が有するバッテリからバックアップの電力を供給される。【００４２】
［ＵＰＳ装置の構成］
図４は、ＵＰＳ装置の構成例を示す図である。図４に示すように、ＵＰＳ装置３は、ＡＣ／ＤＣ変換回路３ａとバッテリ３ｂとＤＣ／ＡＣ変換回路３ｃとを有する。また、ＵＰＳ装置３は、退避用サーバ２０と電源ケーブルにより接続される。【００４３】
ＡＣ／ＤＣ変換回路３ａは、ＰＤＵ５１から供給される電力をＡＣからＤＣに変換してＤＣ／ＡＣ変換回路３ｃ及びバッテリ３ｂに出力する。そして、ＤＣ／ＡＣ変換回路３ｃは、ＡＣ／ＤＣ変換回路３ａ及びバッテリ３ｂから供給された電力を退避用サーバ２０の電源２０ａに出力する。【００４４】
バッテリ３ｂは、停電していない場合には、ＡＣ／ＤＣ変換回路３ａから供給された電力を充電しており、停電した場合には、蓄えた電力をＤＣ／ＡＣ変換回路３ｃに供給する。【００４５】
また、ＵＰＳ装置３は、図示しない停電検出回路を有する。停電検出回路は、停電を検出したことを退避用サーバ２０に通知する。【００４６】
［サーバのハードウェア構成］
図５は、サーバのハードウェア構成の一例を示す図である。図５に示すように、サーバ１０は、電池付電源１１と、記憶装置６０ａと、記憶装置６０ｂとベースボード７０とを有する。【００４７】
記憶装置６０ａは、例えば、ＨＤＤ（Hard  Disk  Drive）であり、サーバ１０からデータの入出力を受付ける。なお、記憶装置６０ｂの構成は、記憶装置６０ａの構成と同様であるので詳細な説明は省略する。【００４８】
ベースボード７０は、ＬＡＮ（Local  Area  Network）制御部７１、記憶装置制御部７２、メインメモリ７３、ＣＰＵ７４、システム制御部７５を有する。【００４９】
ＬＡＮ制御部７１は、ＣＰＵ７４と他のサーバや退避用サーバ２０との間の情報のやり取りを、図示しないハブ２を介して制御する。【００５０】
記憶装置制御部７２は、ＣＰＵ７４と、記憶装置６０ａ及び記憶装置６０ｂとの間のデータのやり取りを制御する。【００５１】
メインメモリ７３は、例えば、ＲＡＭ（Random  Access  Memory）であり、ＣＰＵによる各種演算処理に用いられるデータやプログラムを記憶する。ＣＰＵ７４は、メインメモリ７３が記憶するプログラムを実行する。【００５２】
システム制御部７５は、後述する停電検出回路９１から停電が発生したことを示す停電信号を受信した場合、ＣＰＵ７４に割り込み処理を実行するように通知する。【００５３】
なお、退避用サーバ２０のハードウェア構成は、電池付電源１１を有する代わりにバッテリを内蔵しない電源を有する点で異なる以外、サーバ１０のハードウェア構成と同様である。【００５４】
［電池付電源の構成］
図６は、電池付電源の構成の一例を示す図である。図６に示すように、電池付電源１１は、電源ユニット８０とバックアップ用バッテリ９０とを有する。なお、以下の説明では電源ユニット８０を電源８０、バックアップ用バッテリ９０をバッテリ９０と記載して説明する。【００５５】
電源８０は、ＰＤＵ５１と接続し、ＰＤＵ５１から供給される電力をバッテリ９０とサーバ１０とに供給する。例えば、電源８０は、ＡＣ／ＤＣ変換回路８１とＤＣ／ＤＣ変換回路８２とを有する。【００５６】
ＡＣ／ＤＣ変換回路８１は、ＰＤＵ５１から供給された電力をＡＣからＤＣに変換してＤＣ／ＤＣ変換回路８２及びバッテリ９０に出力する。そして、ＤＣ／ＤＣ変換回路８２は、ＡＣ／ＤＣ変換回路８１及びバッテリ９０から供給された電力をサーバ１０に出力する。【００５７】
バッテリ９０は、停電検出回路９１と充電制御回路９２と蓄電部９３と放電制御回路９４とを有する。バッテリ９０は、停電していない場合には、充電制御回路９２を介して供給された電力を蓄電部９３に充電し、停電した場合には、放電制御回路９４を通して、電源ユニット８０に対して、蓄電部９３に蓄えた電力を供給する。なお、このバッテリ９０の容量は、ＵＰＳ装置３が有するバッテリ３ｂよりも低容量である。【００５８】
停電検出回路９１は、ＡＣ／ＤＣ変換回路８１から出力された電圧を監視し、停電が発生したか否かを検出する。例えば、停電検出回路９１は、電圧の低下を検出した場合、停電が発生したことを示す停電信号をシステム制御部７５に送信する。この結果、システム制御部７５は、割り込み処理を実行するようにＣＰＵ７４に通知する。【００５９】
［停電時におけるＶＭの退避処理を開始させる割り込み処理］
次に図７を用いて、停電時におけるＶＭの退避処理を開始させる割り込み処理について説明する。図７は、停電時におけるＶＭの退避処理を開始させる割り込み処理を示す図である。【００６０】
図７に示すように、停電検出時に、ＣＰＵ７４が有する割り込み制御回路７４ａは、システム制御部７５から割り込み処理を実行するように通知された場合、以下の処理を実行する。すなわち、割り込み制御回路７４ａは、メインメモリ７３が記憶する割り込み処理ルーチン７３ａを読み出し、読み出した割り込み処理ルーチン７３ａを実行する。この結果、ＣＰＵ７４は、仮想マシンの退避処理を開始する。【００６１】
［実施例２に係るサーバの機能構成］
次に、図８を用いて、実施例２に係るサーバの機能構成を説明する。図８は、実施例２に係るサーバの機能構成を示す機能ブロック図である。なお、ここでは、図３に示したサーバのうち、サーバ１０と退避用サーバ２０のみを図示する。また、図１に示した各部と同じ構成については同一の符号を付与し、詳細な説明は省略する。【００６２】
図８に示すように、実施例２に係る情報処理システム１は、ハブ２、ＵＰＳ装置３、共有ストレージ４、サーバ１０、退避用サーバ２０を有する。サーバ１０は、電池付電源１１、ハードウェア１２を有する。また、サーバ１０は、ハードウェア１２上で機能する仮想化プログラム１３により、ＶＭ１４とＶＭ１５とを動作させている。【００６３】
また、仮想化プログラム１３は、退避部１３ａと停止部１３ｂと格納部１３ｃと受信部１３ｄと読出部１３ｅと復元部１３ｆとを有し、停電時に、仮想化システムのシャットダウン及び復電時の仮想化システムの再起動を制御する。【００６４】
退避部１３ａは、停電時に、無停電電源装置を有する退避用の他装置に、仮想マシンに割り当てられたメモリが記憶する情報と該仮想マシンに割り当てられたレジスタが記憶する情報とを含む仮想マシン情報を退避させる。【００６５】
例えば、退避部１３ａは、停電検出回路９１が停電を検出した場合、退避指示を受付けて、ゲストＯＳ１４ａ（１５ａ）の動作を停止する。【００６６】
また、退避部１３ａは、ゲストＯＳとアプリ情報とを含む実行処理情報をファイル形式で作成する。【００６７】
また、退避部１３ａは、ＶＭのメモリ情報とＣＰＵレジスタ情報とを含んだＶＭ情報をファイル形式のデータとして作成する。そして、退避部１３ａは、作成したファイル形式のデータを退避用サーバ２０に送信する。【００６８】
停止部１３ｂは、仮想マシン情報の退避が終了した場合に、ＶＭ１４及びＶＭ１５を停止し、仮想化システムをシャットダウンする。【００６９】
格納部１３ｃは、退避部１３ａにより作成された、仮想マシンが実行するゲストＯＳの情報とアプリケーションの情報とを含む実行処理情報を、他装置と共有する共有ストレージ４に格納する。【００７０】
受信部１３ｄは、復電時に、退避させた仮想マシン情報を退避用サーバ２０から受信する。読出部１３ｅは、他装置と共有する共有ストレージ４から実行処理情報を読み出す。【００７１】
復元部１３ｆは、仮想マシン情報と実行処理情報とに基づいて、退避前の仮想マシンの状態を復元する。復元部１３ｆは、受信部１３ｄが退避用サーバ２０から受信したＶＭ情報に基づいてＶＭ情報を復元する。また、復元部１３ｆは、読出部１３ｅにより共有ストレージ４から読み出された実行処理情報を復元する。この結果、ゲストＯＳ１４ａ（１５ａ）は、動作を継続する。【００７２】
サーバ２０は、ハードウェア２２を有する。また、サーバ２０は、ハードウェア２２上で機能する仮想化プログラム２３により、ＶＭ２４とＶＭ２５とＶＭ２６とＶＭ２７とを動作させている。【００７３】
また、仮想化プログラム２３は、受信部２３ａと第１の格納部２３ｂと停止部２３ｃと退避部２３ｄと第２の格納部２３ｅと復元部２３ｆと送信部２３ｇとを有し、停電時に、仮想化システムのシャットダウン及び復電時の仮想化システムの再起動を制御する。【００７４】
受信部２３ａは、停電時に、仮想マシンに割り当てられたメモリが記憶する情報と該仮想マシンに割り当てられたレジスタが記憶する情報とを含む、ファイル形式の仮想マシン情報をサーバ１０から受信する。【００７５】
第１の格納部２３ｂは、他装置の仮想マシン情報及び自装置の仮想マシン情報を自装置の記憶装置に格納する。また、第１の格納部２３ｂは、サーバ１０から受信したＶＭ情報を記憶装置に格納し、正常に格納できたことを示すフラグをセットする。また、第１の格納部２３ｂは、自装置のＶＭ情報を記憶装置に格納させ、正常に格納できたことを示すフラグをセットする。【００７６】
例えば、第１の格納部２３ｂは、正常終了したか否かを判定する。第１の格納部２３ｂは、正常終了したと判定した場合、正常終了フラグをセットする。一方、第１の格納部２３ｂは、正常終了していないと判定した場合、正常終了フラグをクリアする。【００７７】
停止部２３ｃは、ＶＭ情報の格納が終了した場合に、ＶＭ２４、ＶＭ２５、ＶＭ２６及びＶＭ２７を停止し、仮想化システムをシャットダウンする。【００７８】
退避部２３ｄは、ゲストＯＳを停止させる。そして、退避部２３ｄは、ゲストＯＳを停止させ、ゲストＯＳの情報とアプリケーションの情報とを含む実行処理情報をファイル形式で作成する。また、退避部２３ｄは、ＶＭのメモリ情報とＣＰＵレジスタ情報とを含むＶＭ情報をファイル形式のデータとして作成する。【００７９】
第２の格納部２３ｅは、退避部２３ｄにより生成された実行処理情報を、他装置と共有する共有ストレージ４に格納する。また、第１の格納部２３ｂは、仮想マシン情報を自装置の記憶装置に格納し、正常に格納できた場合には、正常に格納できたことを示すフラグを付与する。【００８０】
復元部２３ｆは、復電時に、自装置の記憶装置から仮想マシン情報を読み出すとともに、他装置と共有する共有ストレージ４から実行処理情報を読み出して、退避前の仮想マシンの状態を復元する。【００８１】
例えば、復元部２３ｆは、フラグをチェックする。そして、復元部２３ｆは、サーバ１０のＶＭ情報を記憶装置から読み出してＶＭ情報を復元する。【００８２】
例えば、復元部２３ｆは、フラグをチェックする。復元部２３ｆは、フラグをチェックした後、自装置のＶＭ情報を記憶装置から読み出し、ＶＭ情報を復元する。【００８３】
復元部２３ｆは、正常終了フラグをチェックし、正常終了したか否かを判定する。復元部２３ｆは、正常終了したと判定した場合、ＶＭ情報を記憶装置から読み出して復元する。そして、復元部２３ｆは、実行処理情報を共有ストレージ４から読み出し、実行処理情報を復元する。復元部２３ｆは、正常終了していないと判定した場合、再起動を停止する。【００８４】
復元部２３ｆは、実行処理情報を共有ストレージ４から読み出し、実行処理情報を復元する。【００８５】
送信部２３ｇは、自装置の記憶装置から読み出したサーバ１０のＶＭ情報をサーバ１０に送信する。【００８６】
また、このサーバ２０は、上述したようにＵＰＳ装置３から電力を供給され、停電時に、サーバ１０で稼動する仮想マシンを退避させる退避用サーバとして機能する。【００８７】
［実施例２に係る情報処理システムによる処理動作］
次に図９Ａ及び図９Ｂを用いて、サーバ１０及び退避用サーバ２０における停電時の仮想化システムのシャットダウン及び復電時の仮想化システムの再起動処理の処理動作を説明する。【００８８】
（サーバにおける処理）
図９Ａは、サーバ１０における停電時の仮想化システムのシャットダウン及び復電時の仮想化システムの再起動処理の処理動作を示す図である。図９Ａに示すように、電池付電源１１は、内蔵する停電検出回路９１で停電を検出した場合（ステップＳ４１）、バッテリで予備電力を供給する（ステップＳ４２）。また、退避部１３ａは、停電検出回路９１が停電を検出した場合、退避指示を受付ける（ステップＳ４３）。そして、退避部１３ａは、ゲストＯＳ１４ａ（１５ａ）の動作を停止する（ステップＳ４４）。【００８９】
また、退避部１３ａは、ＶＭ情報をサーバ２０に退避させる（ステップＳ４５）。続いて、停止部１３ｂは、ＶＭ１４及びＶＭ１５を停止し、仮想化をシャットダウンする（ステップＳ４６）。ステップＳ４３からステップＳ４６までの処理は約数十秒で完了する。そして、電池付電源１１は、予備の電力を供給した後、出力をオフにする（ステップＳ４７）。【００９０】
停電から復旧した場合、電池付電源１１は、出力をオンにする（ステップＳ４８）。また、ＢＩＯＳ（Basic  Input/Output  System）が動作し（ステップＳ４９）、仮想化プログラム１３を起動する（ステップＳ５０）。そして、仮想化プログラム１３は、退避用サーバ２０が稼動するまで待機する（ステップＳ５１）。復元部１３ｆは、受信部１３ｄが退避用サーバ２０から受信したＶＭ情報に基づいて情報を復元する（ステップＳ５２）。この結果、ゲストＯＳ１４ａ（１５ａ）は、動作を継続する（ステップＳ５３）。【００９１】
（退避用サーバにおける処理）
図９Ｂは、退避用サーバにおける停電時の仮想化システムのシャットダウン及び復電時の仮想化システムの再起動処理の処理動作を示す図である。図９Ｂに示すように、ＵＰＳ装置３は、内蔵する停電検出回路で停電を検出した場合（ステップＳ６１）、バッテリで予備電力を供給する（ステップＳ６２）。そして、サーバ２０において、仮想化プログラム２３は、所定の時間が経過するまで待機する待ち状態となる（ステップＳ６３）。【００９２】
この待ち時間中に、受信部２３ａは、サーバ１０からサーバ１０のＶＭ情報を受信する。そして、第１の格納部２３ｂは、受信したＶＭ情報を記憶装置に格納し（ステップＳ６４）、正常に格納できたことを示すフラグをセットする（ステップＳ６５）。そして、仮想化プログラム２３は、ゲストＯＳ２４ａ（２５ａ、２６ａ、２７ａ）に退避を指示することで、ゲストＯＳ２４ａ（２５ａ、２６ａ、２７ａ）の動作を停止させる（ステップＳ６６）。【００９３】
第１の格納部２３ｂは、自装置のＶＭ情報を記憶装置に格納させ（ステップＳ６７）、正常に格納できたことを示すフラグをセットする（ステップＳ６８）。そして、停止部２３ｃは、ＶＭ２４、ＶＭ２５、ＶＭ２６及びＶＭ２７を停止し、仮想化をシャットダウンする（ステップＳ６９）。ステップＳ６４からステップＳ６９までの処理は約数分で完了する。そして、ＵＰＳ装置３は、電力を供給した後、出力をオフにする（ステップＳ７０）。【００９４】
停電から復旧した場合、ＵＰＳ装置３は、出力をオンにする（ステップＳ７１）。また、ＢＩＯＳが動作し（ステップＳ７２）、仮想化プログラム２３を起動する（ステップＳ７３）。そして、復元部２３ｆは、ＶＭ情報に基づいて情報を復元する。この結果、ゲストＯＳ２４ａ（２５ａ、２６ａ、２７ａ）は、動作を継続する（ステップＳ７４）。【００９５】
［実施例２に係る情報処理システムによる処理の処理手順］
次に、図１０から図１３を用いて、情報処理システムにおける処理の処理手順を説明する。ここでは、図１０を用いて停電時の仮想化システムのシャットダウン処理を説明し、図１１を用いて、復電時の仮想化システムの再起動処理を説明する。なお、以下の説明では、ＶＭ情報及び実行処理情報が正常に退避される場合を例に説明する。【００９６】
（停電時の仮想化システムのシャットダウン処理）
図１０は、停電発生時の仮想化システムのシャットダウン処理を示すシーケンス図である。サーバ１０及び退避用サーバ２０は、停電の発生を通知されたことを契機に処理を開始する。【００９７】
退避部１３ａは、ゲストＯＳの動作を停止させる（ステップＳ１０１）。そして、退避部１３ａは、ゲストＯＳとアプリ情報とを含む実行処理情報をファイル形式で作成する（ステップＳ１０２）。そして、格納部１３ｃは、共有ストレージ４に実行処理情報を格納する（ステップＳ１０３）。続いて、退避部１３ａは、ＶＭのメモリ情報とＣＰＵレジスタ情報とを含んだＶＭ情報をファイル形式のデータとして作成する（ステップＳ１０４）。退避部１３ａは、作成されたファイル形式のデータを退避用サーバ２０に送信する（ステップＳ１０５）。【００９８】
続いて、停止部１３ｂは、仮想化システムをシャットダウンする（ステップＳ１０６）。サーバ１０は、ステップＳ１０６の処理が終了後、退避処理を終了する。【００９９】
また、退避用サーバ２０において、受信部２３ａは、サーバ１０からファイル形式のＶＭ情報を受信する（ステップＳ１０７）。そして、第１の格納部２３ｂは、受信したＶＭ情報を記憶装置に格納させる（ステップＳ１０８）。そして、第１の格納部２３ｂは、正常フラグをセットし（ステップＳ１０９）、記憶装置に格納させる（ステップＳ１１０）。退避用サーバ２０は、ステップＳ１１０の処理の終了後、全てのサーバからＶＭ情報を受信した場合、自装置の退避処理を実行する。【０１００】
退避部２３ｄは、ゲストＯＳを停止させ（ステップＳ１１１）、ゲストＯＳの情報とアプリケーションの情報とを含む実行処理情報をファイル形式で作成する（ステップＳ１１２）。そして、第２の格納部２３ｅは、共有ストレージ４に実行処理情報を格納する（ステップＳ１１３）。【０１０１】
続いて、退避部２３ｄは、ＶＭのメモリ情報とＣＰＵレジスタ情報とを含むＶＭ情報をファイル形式のデータとして作成する（ステップＳ１１４）。そして、第１の格納部２３ｂは、自装置の記憶装置にＶＭ情報を格納する（ステップＳ１１５）。続いて、第１の格納部２３ｂは、正常フラグをセットし（ステップＳ１１６）、記憶装置に格納する（ステップＳ１１７）。そして、停止部２３ｃは、仮想化システムをシャットダウンする（ステップＳ１１８）。退避用サーバ２０は、ステップＳ１１８の処理が終了後、退避処理を終了する。【０１０２】
（復電時の仮想化システムの再起動処理）
図１１は、復電時の仮想化システムの再起動処理の処理動作を示すシーケンス図である。サーバ１０及び退避用サーバ２０は、復電を通知されたことを契機に処理を開始する。【０１０３】
図１１に示すように、サーバ１０は、ＢＩＯＳを起動させる（ステップＳ２０１）。そして、サーバ１０は、仮想化プログラム１３を起動させる（ステップＳ２０２）。この処理の終了後、サーバ１０は、退避用サーバ２０による処理が終了するまで待機する（ステップＳ２０３）。【０１０４】
退避用サーバ２０は、ＢＩＯＳを起動させ、仮想化プログラム２３を起動させる（ステップＳ２０４）。そして、復元部２３ｆは、フラグをチェックする（ステップＳ２０５）。復元部２３ｆは、フラグをチェックした後、ＶＭ情報を記憶装置から読み出し（ステップＳ２０６）、ＶＭ情報を復元する（ステップＳ２０７）。【０１０５】
そして、復元部２３ｆは、実行処理情報を共有ストレージ４から読み出し（ステップＳ２０８）、実行処理情報を復元する（ステップＳ２０９）。このステップＳ２０９の処理の終了後、退避用サーバ２０は、退避前の処理を継続して実行する。【０１０６】
復元部２３ｆは、フラグをチェックする（ステップＳ２１０）。そして、復元部２３ｆは、サーバ１０のＶＭ情報を記憶装置から読み出して（ステップＳ２１１）、ＶＭ情報を復元する（ステップＳ２１２）。送信部２３ｇは、サーバ１０にＶＭ情報を送信する（ステップＳ２１３）。【０１０７】
サーバ１０において、受信部１３ｄは、ＶＭ情報を受信する（ステップＳ２１４）。また、読出部１３ｅは、実行処理情報を共有ストレージ４から読み出す（ステップＳ２１５）。そして、復元部１３ｆは、ＶＭ情報及び実行処理情報を復元する（ステップＳ２１６）。【０１０８】
（退避時のフラグ判定処理）
図１２は、実施例２に係る退避用サーバによる停電時のフラグ判定処理の処理手順を示すフローチャートである。なお、ここでは、退避用サーバ２０による停電時のフラグ判定処理のうち、図１０に示すステップＳ１１６に対応する処理を例に説明する。【０１０９】
図１２に示すように、退避部２３ｄは、ゲストＯＳを停止させる（ステップＳ３０１）。そして、第２の格納部２３ｅは、実行処理情報を共有ストレージ４に格納する（ステップＳ３０２）。第１の格納部２３ｂは、ＶＭ情報を記憶装置に格納させる（ステップＳ３０３）。そして、第１の格納部２３ｂは、正常終了したか否かを判定する（ステップＳ３０４）。【０１１０】
第１の格納部２３ｂは、正常終了したと判定した場合（ステップＳ３０４、Ｙｅｓ）、正常終了フラグをセットする（ステップＳ３０５）。一方、第１の格納部２３ｂは、正常終了していないと判定した場合（ステップＳ３０４、Ｎｏ）、正常終了フラグをクリアする（ステップＳ３０６）。【０１１１】
ステップＳ３０５、ステップＳ３０６の処理が終了後、停止部２３ｃは、仮想化システムをシャットダウンする（ステップＳ３０７）。【０１１２】
（復電時のフラグ判定処理）
図１３は、実施例２に係る退避用サーバによる復電時のフラグ判定処理の処理手順を示すフローチャートである。なお、ここでは、退避用サーバ２０による復電時のフラグ判定処理のうち、図１１に示すステップＳ２０５に対応する処理を例に説明する。【０１１３】
退避用サーバ２０は、ＢＩＯＳを起動し、仮想化プログラム２３を起動する（ステップＳ４０１）。そして、復元部２３ｆは、正常終了フラグをチェックし（ステップＳ４０２）、正常終了したか否かを判定する（ステップＳ４０３）。【０１１４】
復元部２３ｆは、正常終了したと判定した場合（ステップＳ４０３、Ｙｅｓ）、ＶＭ情報を記憶装置から読み出して復元する（ステップＳ４０４）。そして、復元部２３ｆは、実行処理情報を共有ストレージ４から読み出し、実行処理情報を復元する（ステップＳ４０５）。このステップＳ４０５の処理の終了後、退避用サーバ２０は、フラグ判定処理を終了する。なお、この場合、ステップＳ４０５の処理の終了後に、退避用サーバ２０は、退避前のＶＭを稼動し、続いて、サーバ１０の復元処理を実行する。【０１１５】
復元部２３ｆは、正常終了していないと判定した場合（ステップＳ４０３、Ｎｏ）、再起動を停止する（ステップＳ４０６）。このステップＳ４０６の処理の終了後、退避用サーバ２０は、フラグ判定処理を終了する。この場合、退避用サーバ２０は、新たに仮想化プログラムを起動し、新たにＶＭを稼動させることになる。【０１１６】
［実施例２の効果］
上述してきたように、実施例２では、データセンタにおけるラック等のような多数のサーバが近くにある環境で、停電時に、１台の従来ＵＰＳで複数サーバのゲストＯＳとアプリケーションの情報と仮想マシンの情報とを保護する。この結果、情報処理システム５０は、停電対策のためのＵＰＳ台数を削減することができる。【０１１７】
また、ＵＰＳ装置３は、通常時に自分自身で電力を消費しており、バッテリを充電するためにも消費電力が発生する。実施例２に係る情報処理システム５０では、ＵＰＳ装置３のバッテリ等の内部回路で消費していた電力を削減することができ、システム全体としても消費電力化を達成できる。【０１１８】
また、情報処理システム５０は、退避情報から復元した情報を元にして継続した処理を行うことができるので、システムの起動時間を短縮できる。
【実施例３】
【０１１９】
実施例１及び実施例２では、各サーバは、自装置が有する電池付電源に内蔵された停電検出回路を介して、ＶＭの退避処理を実行するものとして説明した。これにより、各サーバは、個々に停電を検出し、ＶＭの退避処理を実行することになる。ところで、退避用サーバもＵＰＳ装置に内蔵された停電検出回路を介して停電を検知する。このことから、退避用サーバが停電を検知した場合に、各サーバにＶＭの退避処理を実行するように一斉通知しても良いものである。そこで、実施例３では、退避用サーバが停電を検知した場合に、各サーバにＶＭの退避処理を実行するように一斉通知し、各サーバでの停電検出を削除する例を説明する。【０１２０】
図１４は、実施例３に係る情報処理システムの構成の一例を示す図である。なお、図１４に示す各部の構成のうち、図８と同様のものについては同一符号を付与し、詳細な説明は省略する。【０１２１】
図１４に示す情報処理システム１００は、ハブ２、ＵＰＳ装置３、サーバ１０ａ、サーバ１０ｂ、サーバ１０ｃ、サーバ２０を有する。なお、サーバ１０ａ、サーバ１０ｂ、サーバ１０ｃを一般化してサーバ１０と記載する。また、情報処理システム１００は、図示しない共有ストレージ４を有する。【０１２２】
サーバ２０が有するＵＰＳ管理ソフトウェア２８は、ＵＰＳ装置に内蔵された停電検出回路を介して停電を検知する。ここで、実施例３に係るサーバ２０では、ＵＰＳ管理ソフトウェア２８は、各サーバの仮想化プログラムに対して、ＶＭの情報を退避用サーバに退避するように指示を行う。【０１２３】
一方、各サーバでは、ＵＰＳ管理ソフトウェア２８から指示を受付けて、仮想化プログラムが退避用サーバにＶＭ情報の退避する動作を開始する。なお、ゲストＯＳとアプリの情報は、共有ストレージに格納される。ＶＭ情報は、退避用サーバの記憶装置に格納される。情報退避に必要な数十秒の間は、電池付電源が内蔵するバッテリから電力が供給される。
【実施例４】
【０１２４】
また、実施例３では、複数のサーバがラックに格納される情報処理装置を例に説明した。また、各サーバは、電池付電源を有するものとした。このため各サーバには、電源のみを設置する場合と比較して、バッテリを設置するためのスペースが必要になる。ところで、各サーバが有する電池付電源のバッテリは、まとめて設置されてもよいものである。そこで、実施例４では、電池付電源のうち、各サーバには電源のみを設置し、サーバの外にバッテリをまとめて設置する例を説明する。【０１２５】
図１５は、実施例４に係る情報処理システムの構成例を示す図である。なお、図３に示した各部と同一の構成については同一符号を付与し詳細な説明は省略する。図１５に示すように、情報処理システム２００は、ＰＤＵ５１とラック５２とを有する。また、ラック５２には、ハブ２、ＵＰＳ装置３、共有ストレージ４、サーバ１０ａ、サーバ１０ｂ、サーバ１０ｃ、サーバ１０ｄ、サーバ１０ｅ、サーバ１０ｆ、退避用サーバ２０、バッテリトレイ２８０が格納される。各バッテリは、ケーブルで各サーバの電源と接続される。また、バッテリと電源とは、バッテリインタフェース部分をケーブルで延長することにより接続される。【０１２６】
このように、情報処理システム２００は、各ラック型サーバに必要となる電源バックアップ用のバッテリを、まとめてバッテリトレイ２８０に実装することで、各サーバにバッテリを実装しなくてよい。この結果、各サーバにバッテリ実装スペースが不要となる。
【実施例５】
【０１２７】
ところで、本発明は、上述した実施例以外にも、種々の異なる形態にて実施されてよい。そこで、実施例５では、本発明に含まれる他の実施例について説明する。【０１２８】
（システム構成等）
本実施例において説明した各処理のうち自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともできる。あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文章中や図面中で示した処理手順、制御手順、具体的名称については、特記する場合を除いて任意に変更することができる。【０１２９】
また、図示した記憶部が格納する情報は一例に過ぎず、必ずしも図示のごとく情報が格納される必要はない。【０１３０】
また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理の順番を変更してもよい。【０１３１】
また、図示した各構成部は、機能概念的なものであり、必ずしも物理的に図示のごとく構成されていることを要しない。例えば、サーバ１０では、退避部１３ａと停止部１３ｂとが統合されてもよい。また、サーバ２０では、第１の格納部２３ｂと第２の格納部２３ｅとが統合されてもよい。さらに、各装置にて行われる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。【０１３２】
（プログラム）
ところで、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、以下では、上記実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。【０１３３】
図１６は、仮想マシン制御プログラムを実行するコンピュータを示す図である。図１６に示すように、コンピュータ３００は、利用者からデータや各種設定などを受付ける入力装置３１０と、コンピュータの状況などを通知する出力装置３２０とを有する。また、コンピュータ３００は、他の装置とデータを送受信するネットワークインターフェース３３０と媒体読取装置３４０とＨＤＤ（Hard  Disk  Drive）３５０とＲＡＭ(Random  Access  Memory)３６０とＣＰＵ３７０とバス３８０とを有する。そして、各装置３１０〜３７０それぞれは、バス３８０に接続される。【０１３４】
ここで、図１６に示すように、ＨＤＤ３５０には、図１に示した、退避部１３ａと停止部１３ｂと同様の機能を発揮する仮想マシン制御プログラム３５１が予め記憶されている。また、媒体読取装置３４０は、仮想マシン制御プログラム３５１を実現するための各種データを記憶する。そして、ＣＰＵ３７０は、仮想マシン制御プログラム３５１をＨＤＤ３５０から読み出して、仮想マシン制御プロセス３７１として実行する。すなわち、仮想マシン制御プロセス３７１は、図１に示した、退避部１３ａと停止部１３ｂと同様の動作を実行する。【０１３５】
ところで、上記した仮想マシン制御プログラム３５１は、必ずしもＨＤＤ３５０に記憶させておく必要はない。例えば、コンピュータ３００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に記憶させておくようにしてもよい。また、コンピュータ３００の外に備えられるＨＤＤなどの「固定用の物理媒体」に記憶させておいてもよい。さらに、公衆回線、インターネット、ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）などを介してコンピュータ３００に接続される「他のコンピュータシステム」に記憶させておいてもよい。そして、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。【０１３６】
すなわち、このプログラムは、上記した「可搬用の物理媒体」、「固定用の物理媒体」、「通信媒体」などの記録媒体に、コンピュータ読み取り可能に記憶されるものである。そして、コンピュータ３００は、このような記録媒体からプログラムを読み出して実行することで上記した実施例と同様の機能を実現する。なお、この他の実施例でいうプログラムは、コンピュータ３００によって実行されることに限定されるものではない。例えば、他のコンピュータシステムまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
【符号の説明】
【０１３７】
１  情報処理システム
２  ハブ
３  ＵＰＳ装置
４  共有ストレージ
１０、２０  サーバ
１１  電池付電源
１２、２２  ハードウェア
１３、２３  仮想化プログラム
１３ａ  退避部
１３ｂ  停止部
２３ａ  受信部
２３ｂ  格納部
２３ｃ  停止部
１４、１５、２４、２５  ＶＭ
１４ａ、１５ａ、２４ａ、２５ａ  ゲストＯＳ
１４ｂ、１５ｂ、２４ｂ、２５ｂ  アプリ
【図１】
2013065115.tif 000003
【図２Ａ】
2013065115.tif 000004
【図２Ｂ】
2013065115.tif 000005
【図３】
2013065115.tif 000006
【図４】
2013065115.tif 000007
【図５】
2013065115.tif 000008
【図６】
2013065115.tif 000009
【図７】
2013065115.tif 000010
【図８】
2013065115.tif 000011
【図９Ａ】
2013065115.tif 000012
【図９Ｂ】
2013065115.tif 000013
【図１０】
2013065115.tif 000014
【図１１】
2013065115.tif 000015
【図１２】
2013065115.tif 000016
【図１３】
2013065115.tif 000017
【図１４】
2013065115.tif 000018
【図１５】
2013065115.tif 000019
【図１６】
2013065115.tif 000020
【図１７】
2013065115.tif 000021
【手続補正書】
【提出日】平成26年4月22日(2014.4.22)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
停電の際に、無停電電源装置を有する他の装置に、仮想マシンに割り当てられたメモリが記憶する情報と該仮想マシンに割り当てられたレジスタが記憶する情報とを含む情報を退避させる退避部と、
前記情報の退避が終了した場合に、前記仮想マシンを停止する停止部と、
停電の際に、前記退避部及び前記停止部が実行する処理に必要な電力を供給する予備電力供給部と
を有することを特徴とする情報処理装置。
【請求項２】
前記仮想マシンが実行するゲストＯＳの情報とアプリケーションの情報とを含む実行処理情報を、前記他の装置と共有する記憶部に格納させる格納部を更に有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
復電の際に、退避させた前記情報を前記他の装置から受信する受信部と、
前記他の装置と共有する記憶部から前記実行処理情報を読み出す読出部と、
前記他の装置から受信した前記情報と前記実行処理情報とに基づいて、退避前の仮想マシンの状態を復元する復元部と
を更に有することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
停電の際に、仮想マシンに割り当てられたメモリが記憶する情報と該仮想マシンに割り当てられたレジスタが記憶する情報とを含む情報を他の装置から受信する受信部と、
自装置の仮想マシンに割り当てられたメモリが記憶する情報と該仮想マシンに割り当てられたレジスタが記憶する情報とを含む情報及び前記他の装置から受信した前記情報を自装置の記憶部に格納させる第１の格納部と、
前記情報の格納が終了した場合に、前記仮想マシンを停止する停止部と、
停電の際に、前記受信部、前記第１の格納部及び前記停止部が実行する処理に利用される電力を供給する無停電電源装置と
を有することを特徴とする情報処理装置。
【請求項５】
前記仮想マシンが実行するゲストＯＳの情報とアプリケーションの情報とを含む実行処理情報を前記他の装置と共有する記憶部に格納させる第２の格納部を更に有することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
復電の際に、格納した自装置の前記情報を自装置の記憶部から読み出すとともに、前記他の装置と共有する記憶部から前記実行処理情報を読み出して、退避前の仮想マシンの状態を復元する復元部と、
格納した他の装置の前記情報を自装置の記憶部から読み出して前記他の装置に送信する送信部と
を更に有することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
情報処理装置が、必要な電力の供給を受けて、
停電の際に、仮想マシンに割り当てられたメモリが記憶する情報と該仮想マシンに割り当てられたレジスタが記憶する情報とを含む情報を、無停電電源装置を有する他の装置に退避し、
前記情報の退避が終了した場合に、稼動する仮想マシンを停止する
ことを特徴とする情報処理装置の制御方法。
【請求項８】
コンピュータに、
停電の際に、仮想マシンに割り当てられたメモリが記憶する情報と該仮想マシンに割り当てられたレジスタが記憶する情報とを含む情報を、無停電電源装置を有する他の装置に退避し、
前記情報の退避が終了した場合に、稼動する仮想マシンを停止する
処理を、必要な電力の供給を受けて、実行させることを特徴とする仮想マシン制御プログラム。
【請求項９】
仮想マシンを稼動させる第１の情報処理装置と第２の情報処理装置とを有する情報処理システムにおいて、
前記第１の情報処理装置は、
停電の際に、無停電電源装置を有する前記第２の情報処理装置に、仮想マシンに割り当てられたメモリが記憶する情報と該仮想マシンに割り当てられたレジスタが記憶する情報とを含む情報を退避させる退避部と、
前記情報の退避が終了した場合に、前記仮想マシンを停止する停止部と、
停電の際に、前記退避部及び前記停止部が実行する処理に必要な電力を供給する予備電力供給部とを有し、
前記第２の情報処理装置は、
停電の際に、仮想マシンに割り当てられたメモリが記憶する情報と該仮想マシンに割り当てられたレジスタが記憶する情報とを含む情報を前記第１の情報処理装置から受信する受信部と、
自装置の仮想マシンに割り当てられたメモリが記憶する情報と該仮想マシンに割り当てられたレジスタが記憶する情報とを含む情報及び前記第１の情報処理装置から受信した前記情報を自装置の記憶部に格納する格納部と、
前記情報の格納が終了した場合に、前記仮想マシンを停止する停止部と、
停電の際に、前記受信部、前記格納部及び前記停止部が実行する処理に利用される電力を供給する無停電電源装置とを有する
ことを特徴とする情報処理システム。
【国際調査報告】
2013065115.tif 000022
2013065115.tif 000023
2013065115.tif 000024
2013065115.tif 000025