(57)【要約】  サーバ（１０）は、電源（２）が喪失した際にサーバ（１０）の状態を記憶装置（４０）に複製する。また、サーバ（１０）は、所定の時間間隔で、サーバ（１０）の状態における差分を複製する。また、サーバ（１０）は、差分の複製に要する時間を予測する。その後、サーバ（１０）は、電源（２）が喪失した際にバッテリモジュール（５０）がサーバ（１０）を動作させる時間よりも予測した時間の方が長いか否かを判別する。そして、サーバ（１０）は、バッテリモジュール（５０）がサーバ（１０）を動作させる時間よりも予測した時間の方が長いと判別した場合は、複製を実行する時間間隔を短縮する。
2013175635.tif 000002
【特許請求の範囲】
【請求項１】
電源喪失時に自装置の状態を記憶装置に複製する情報処理装置において、
所定の時間間隔で、前記情報処理装置の状態における差分を前記記憶装置に複製する複製部と、
前記複製部が前記差分の複製に要する時間を予測する予測部と、
電源喪失時に前記情報処理装置へ電力を供給するバッテリが前記情報処理装置を動作させる時間よりも前記予測部が予測した時間の方が長いか否かを判別する判別部と、
前記バッテリが情報処理装置を動作させる時間よりも前記予測部が予測した時間の方が長いと前記判別部が判別した場合は、前記複製部が複製を実行する時間間隔を短縮した値に更新する更新部と
を有することを特徴とする情報処理装置。
【請求項２】
前記複製部が複製に要した時間を測定する測定部を有し、
前記予測部は、前記測定部が測定した時間に基づいて、電源喪失時に前記複製部が複製に要する時間を予測することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記測定部は、前記複製部が複製に要した時間と、前記複製部が複製を行っている間の稼働率とを測定し、
前記予測部は、前記測定部が測定した時間と稼働率との積を電源喪失時の複製に要する時間とする
ことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記情報処理装置が消費する電力量と、前記バッテリが前記情報処理装置を動作させる時間とを対応付けた動作時間対応表を記憶する記憶部を有し、
前記判別部は、前記記憶部に記憶された動作時間対応表から前記情報処理装置が消費する電力量と対応付けられた時間を識別し、当該識別した時間よりも前記予測部が予測した時間の方が長いか否かを判別することを特徴とする請求項１または２に記載の情報処理装置。
【請求項５】
前記バッテリの充電率を監視する監視部を有し、
前記判別部は、前記動作時間対応表から識別した時間と前記監視部が監視した前記バッテリの充電率との積を算出し、当該算出した値よりも前記予測部が予測した時間の方が長いか否かを判別することを特徴とする請求項３に記載の情報処理装置。
【請求項６】
前記情報処理装置を仮想化した仮想化システムを稼働させる演算部を有し、
前記複製部は、前記演算部が稼働させる仮想化システムのバックアップ機能を用いて、前記情報処理装置の状態における差分を複製することを特徴とする請求項１または２に記載の情報処理装置。
【請求項７】
前記バッテリは、前記情報処理装置が複製を行っているか否かを示す表示装置を有することを特徴とする請求項１または２に記載の情報処理装置。
【請求項８】
前記更新部が更新した時間間隔が所定の値よりも短い場合には、正常に複製が行えない旨を利用者に通知する通知部を有することを特徴とする請求項１または２に記載の情報処理装置。
【請求項９】
電源喪失時に自装置の状態を記憶装置に複製する情報処理装置が、
所定の時間間隔で、前記情報処理装置の状態における差分を複製し、
前記差分を複製する際に要する時間を予測し、
電源喪失時に前記情報処理装置へ電力を供給するバッテリが前記情報処理装置を動作させる時間よりも前記予測した時間の方が長いか否かを判別し、
前記バッテリが情報処理装置を動作させる時間よりも前記予測した時間の方が長いと判別した場合は、前記複製を実行する時間間隔をより短い値に更新する
処理を実行することを特徴とする複製方法。
【請求項１０】
電源喪失時に自装置の状態を記憶装置に複製する情報処理装置に、
所定の時間間隔で、前記情報処理装置の状態における差分を複製し、
前記差分の複製に要する時間を予測し、
電源喪失時に前記情報処理装置へ電力を供給するバッテリが前記情報処理装置を動作させる時間よりも前記予測した時間の方が長いか否かを判別し、
前記バッテリが情報処理装置を動作させる時間よりも前記予測した時間の方が長いと判別した場合は、前記複製を実行する時間間隔をより短い値に更新する
処理を実行させることを特徴とする複製プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、複製方法および複製プログラムに関する。
【背景技術】
【０００２】
従来、サーバ等の情報処理装置に採用される電源システムとして、停電等が発生して電力の供給が停止した際に、バッテリから電力の供給を行うＵＰＳ（Ｕｎｉｎｔｅｒｒｕｐｔｉｂｌｅ  Ｐｏｗｅｒ  Ｓｕｐｐｌｙ）等の技術が知られている。また、ＵＰＳの代わりにバッテリを電源に接続し、停電時にバッテリから電力の供給を行う技術が知られている。【０００３】
このようにバッテリから電力の供給を行う技術では、停電等が発生して電力の供給が停止すると、情報処理装置のＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）がシャットダウンを正常に行うまでの間、バッテリが情報処理装置に電力を供給する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−１０１５７２号公報
【特許文献２】特表２００８−５２２３２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、バッテリが情報処理装置に電力を供給する技術では、停電が発生してからＯＳが正常にシャットダウンするまでの間、バッテリが情報処理装置に電力を供給するため、バッテリの容量が大きくなってしまうという問題がある。【０００６】
例えば、バッテリが情報処理装置に電力を供給する時間内に、ＯＳが正常にシャットダウンできない場合は、ダーティーシャットダウンが発生してしまう。しかし、ＯＳがシャットダウンに要する時間がわからないため、ＯＳが正常にシャットダウンできるように、バッテリの容量を大きくせざるを得ない。【０００７】
１つの側面では、本発明は、バッテリの容量を削減することを目的とする。
【課題を解決するための手段】
【０００８】
１つの側面では、電源喪失時に自装置の状態を記憶装置に複製する情報処理装置である。また、情報処理装置は、所定の時間間隔で、情報処理装置の状態における差分を複製する。また、情報処理装置は、差分の複製に要する時間を予測する。その後、情報処理装置は、電源喪失時に情報処理装置へ電力を供給するバッテリが情報処理装置を動作させる時間よりも予測した時間の方が長いか否かを判別する。そして、情報処理装置は、バッテリが情報処理装置を動作させる時間よりも予測した時間の方が長いと判別した場合は、複製を実行する時間間隔をより短い値に更新する。
【発明の効果】
【０００９】
１実施形態では、バッテリの容量を削減できる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施例１に係る情報処理システムを説明するための図である。
【図２】図２は、実施例１に係る持続時間対応情報について説明するための図である。
【図３】図３は、実施例１に係る電源ユニットとバッテリモジュールの一例を説明するための図である。
【図４】図４は、実施例１に係る状態表示ＬＥＤ部の一例を説明するための図である。
【図５】図５は、実施例１に係るサーバが実行するソフトウェアを説明するための図である。
【図６】図６は、予測バックアップ時間を説明するための図である。
【図７】図７は、実施例１に係る管理ソフトウェアが実行する処理の流れを説明するための図である。
【図８】図８は、時間計算サブルーチンが実行する処理の流れを説明するためのフローチャートである。
【図９】図９は、実施例１に係る情報処理システムの動作の流れを説明するためのシーケンス図である。
【発明を実施するための形態】
【００１１】
以下に添付図面を参照して本願に係る情報処理装置、複製方法および複製プログラムについて説明する。
【実施例１】
【００１２】
以下の実施例１では、図１を用いて、差分バックアップを実行するサーバを有する情報処理システムの一例を説明する。図１は、実施例１に係る情報処理システムを説明するための図である。【００１３】
図１に示すように、情報処理システム１は、電源２、電源３、モニタ４、キーボード５、マウス６、サーバ１０、バッテリモジュール５０を有する。また、サーバ１０は、電源ユニット２０、ベースボード３０、記憶装置４０、外部装置接続部４３を有する。【００１４】
また、ベースボード３０は、ＣＰＵ（Central  Processing  Unit）３１、メインメモリ３２、ＬＡＮ（Local  Area  Network）制御部３３、記憶装置制御部３４を有する。また、記憶装置４０は、持続時間対応情報４１を記憶するとともに、ソフトウェア退避領域４２を有する。一方、バッテリモジュール５０は、バッテリ５１、バッテリインターフェース５２、ＬＡＮ制御部５３、制御回路５４、状態表示ＬＥＤ（Light  Emitting  Diode：発光ダイオード）部５５を有する。なお、図１に示す例では、サーバ１０は、ベースボード３０を有することとしたが、実施例はこれに限定されるものではなく、ベースボード３０と同様の機能を有する複数のベースボードを有することとしてもよい。【００１５】
電源２は、サーバ１０に対して電力を供給する電源である。また、電源３は、モニタ４に対して電力を供給する電源である。ここで、電源２、および電源３は、停電等の障害が発生した場合には、サーバ１０、およびモニタ４への電力の供給を停止してしまう。【００１６】
モニタ４は、サーバ１０と接続された表示装置であり、サーバ１０の状態やサーバ１０を操作するためのＧＵＩ（Graphic  User  Interface）を表示させるための表示装置である。また、キーボード５は、サーバ１０に対して文字情報等を入力するためのキーボードである。また、マウス６は、サーバ１０がモニタ４を介して提供するＧＵＩにおけるカーソル操作を行うためのマウスである。【００１７】
ここで、モニタ４は、サーバ１０とは別系統の電源３から電力の供給を受ける。このため、モニタ４は、停電等の障害が発生した場合は、電力の供給を受けることができず、サーバ１０の状態等を表示することができないものとする。【００１８】
サーバ１０とバッテリモジュール５０とは、ＬＡＮで接続されており、相互に通信することができる。例えば、サーバ１０は、バッテリモジュール５０に対して、バッテリ５１の充電率の問合せを行う。すると、バッテリモジュール５０は、サーバ１０に対して、バッテリ５１の充電率を通知する。【００１９】
また、サーバ１０とバッテリモジュール５０とは、電力の供給を行う電力線で接続されている。そして、サーバ１０は、バッテリモジュール５０に対して、電力の供給を行う。すなわち、サーバ１０は、電源２がサーバ１０に対して供給する電力の一部をバッテリモジュール５０に対して供給する。また、バッテリモジュール５０は、電源２からサーバ１０に対して電力の供給が停止した場合、すなわち停電等が発生した場合は、サーバ１０に対して、バッテリ５１に蓄積した電力の供給を行う。【００２０】
次に、サーバ１０が有する記憶装置４０について説明する。記憶装置４０は、サーバ１０が有する記憶装置であり、サーバ１０がバックアップを実行する際にサーバ１０の状態のバックアップ先となる記憶装置である。また、記憶装置４０は、持続時間対応情報４１を記憶するとともに、記憶領域の一部をソフトウェア退避領域４２として確保する。【００２１】
ここで、図２を用いて、サーバ１０が有する記憶装置４０が記憶する持続時間対応情報４１について説明する。図２は、実施例１に係る持続時間対応情報について説明するための図である。図２に示すように、持続時間対応情報４１は、サーバ１０の消費電力（Ｗ（Watt））と、バックアップ可能時間（秒）とを対応付けた複数のエントリを有する。【００２２】
ここで、サーバ１０の消費電力とは、サーバ１０がバックアップを実行する際に消費する電力である。また、バックアップ可能時間とは、サーバ１０がバッテリモジュール５０から供給される電力でバックアップを実行することができる時間である。すなわち、図２に示す例では、持続時間対応情報４１は、サーバ１０の消費電力が４００Ｗである際に、バックアップ可能な時間が１２０秒である旨を示す。また、持続時間対応情報４１は、サーバ１０の消費電力が３００Ｗである際に、バックアップ可能な時間が２４０秒である旨を示す。【００２３】
また、持続時間対応情報４１は、サーバ１０の消費電力が２００Ｗである際に、バックアップ可能な時間が３６０秒である旨を示す。また、持続時間対応情報４１は、サーバ１０の消費電力が１００Ｗである際に、バックアップ可能な時間が７８０秒である旨を示す。また、持続時間対応情報４１は、サーバ１０の消費電力が５０Ｗである際に、バックアップ可能な時間が１５６０秒である旨を示す。【００２４】
次に、記憶装置４０が有するソフトウェア退避領域４２について説明する。ソフトウェア退避領域４２は、サーバ１０が実行するＯＳがサーバ１０の状態をバックアップする際にデータを格納するための領域である。以下、サーバ１０がソフトウェア退避領域４２に格納するデータについて説明する。【００２５】
例えば、サーバ１０は、ハイパーバイザと呼ばれる仮想化プログラムを動作させ、ハイパーバイザ上でＶＭ（仮想マシン：Virtual  Machine）を稼働させる。そして、サーバ１０は、ＶＭにゲストＯＳをインストールし、ゲストＯＳ上でアプリケーションを動作させる。そして、サーバ１０は、ハイパーバイザが有するバックアップ機能を用いて、ハイパーバイザ上で動作するＶＭ、ゲストＯＳ、アプリケーションのデータをソフトウェア退避領域４２にバックアップする。【００２６】
具体的には、サーバ１０は、バックアップ時におけるサーバ１０の状態を再現するために用いられるＶＭ、ゲストＯＳ、アプリケーションの各データをソフトウェア退避領域４２に格納する。また、サーバ１０は、定期的にバックアップを行っており、例えば、１時間に１回バックアップを行う。ここで、サーバ１０は、バックアップに要する時間を短縮するため、２回目以降のバックアップについては、前回のバックアップ時との差分のみをバックアップする差分バックアップを実行する。【００２７】
図１に戻って、サーバ１０が有する電源ユニット２０、ベースボード３０、外部装置接続部４３について説明する。電源ユニット２０は、電源２から供給される電力を取得すると、取得した電力をベースボード３０や、サーバ１０が有する各装置に応じた直流電圧に変換し、変換後の電力を各種装置へ供給する。また、電源ユニット２０は、取得した電力の一部をベースボード３０等、サーバ１０が有する各種装置に供給する。また、電源ユニット２０は、電源２から供給される電力の一部をバッテリモジュール５０に対して供給する。【００２８】
ＣＰＵ３１は、各種演算処理を行う演算処理装置である。具体的には、ＣＰＵ３１は、サーバ１０が動作させるハイパーバイザ、ＶＭ、ゲストＯＳ、アプリケーション等のソフトウェアを実行し、動作させる。メインメモリ３２は、ＣＰＵ３１が動作させる各ソフトウェアを実行する際に用いる記憶装置である。【００２９】
ＬＡＮ制御部３３は、バッテリモジュール５０との通信を制御する制御装置である。例えば、ＬＡＮ制御部３３は、サーバ１０と、図１では記載を省略した他のサーバとの間の通信を制御する機能を有する。また、記憶装置制御部３４は、記憶装置４０が記憶する情報の読込や、記憶装置４０に対する情報の書き込みを行う。また、外部装置接続部４３は、モニタ４に表示する情報の制御や、キーボード５、マウス６からの入力を制御する。【００３０】
上述したＣＰＵ３１、メインメモリ３２、ＬＡＮ制御部３３、記憶装置制御部３４は、後述するハイパーバイザや管理ソフトウェアにより、以下の処理を実行する。まず、ＣＰＵ３１は、所定の時間間隔で、メインメモリ３２上に存在するハイパーバイザ、ＶＭ、ゲストＯＳ、アプリケーション等のデータの差分バックアップを実行する。【００３１】
具体的には、ＣＰＵ３１は、前回のバックアップ時との差分となるデータを識別し、識別したデータを記憶装置制御部３４に送信する。すると、記憶装置制御部３４は、ＣＰＵ３１から受信したデータを記憶装置４０のソフトウェア退避領域４２に格納する。一方、ＣＰＵ３１は、差分バックアップに要した時間を測定し、測定した時間に基づいて、電源喪失時にシャットダウンするまでの時間を予測する。具体的には、ＣＰＵ３１は、ハイパーバイザがゲストＯＳの動作を停止し、ＶＭ、ゲストＯＳ、アプリケーションの差分をバックアップし、その後ハイパーバイザのシャットダウンを行い、サーバ１０の電源を落とすまでの時間を予測する。【００３２】
また、ＣＰＵ３１は、ＬＡＮ制御部３３を介して、バッテリモジュール５０に、バッテリ５１の充電率を問い合わせる。また、ＣＰＵ３１は、サーバ１０の消費電力を識別し、識別した消費電力と対応付けられたバックアップ可能時間を持続時間対応情報４１から識別する。そして、ＣＰＵ３１は、バッテリ５１の充電率と、バックアップ可能時間との積を、バッテリモジュール５０がサーバ１０を動作させることができる時間とする。【００３３】
その後、ＣＰＵ３１は、バッテリモジュール５０がサーバ１０を動作させることができる時間よりも、電源喪失時にシャットダウンするまでの時間が長いか否かを判別する。そして、ＣＰＵ３１は、バッテリモジュール５０がサーバ１０を動作させることができる時間よりも、電源喪失時にシャットダウンするまでの時間が長いと判別した場合は、差分バックアップを行う時間間隔を短縮する。すなわち、ＣＰＵ３１は、差分バックアップを実行する頻度を上げることで、バックアップ対象となるデータ量を少なくし、電源喪失時にシャットダウンを行うまでの時間を短縮する。【００３４】
また、ＣＰＵ３１は、差分バックアップを行う時間間隔を短縮した結果、差分バックアップを行う時間間隔があらかじめ設定された時間よりも短くなった場合は、利用者に対して警告を通知する。すなわち、ＣＰＵ３１は、現在のバッテリ５１が有する容量では、正常にシャットダウンできない旨を利用者に通知する。【００３５】
なお、ＣＰＵ３１は、ＬＡＮ制御部３３を介して、バッテリモジュール５０から電源２が喪失した旨の通知を取得すると、シャットダウンを実行する。また、ＣＰＵ３１は、シャットダウンを開始する際は、ＬＡＮ制御部３３を介して、バッテリモジュール５０に、シャットダウンを実行する旨を通知する。【００３６】
また、ＣＰＵ３１は、サーバ１０の電源を落とす場合は、ＬＡＮ制御部３３を介して、バッテリモジュール５０にサーバ１０の電源を落とす旨を通知する。また、ＣＰＵ３１は、差分バックアップを行う時間間隔があらかじめ設定された時間よりも短くなった場合は、ＬＡＮ制御部３３を介して、バッテリモジュール５０に、正常にシャットダウンできない旨を通知する。【００３７】
また、以下の説明では、バッテリモジュール５０がサーバ１０を動作させることができる時間を、バッテリ時間と記載する。また、以下の説明では、電源２が喪失してからシャットダウンするまでに要すると予測される時間を予測バックアップ時間と記載する。【００３８】
次に、図３を用いて、電源ユニット２０、およびバッテリモジュール５０について説明する。図３は、実施例１に係る電源ユニットとバッテリモジュールの一例を説明するための図である。図３に示す例では、電源ユニット２０は、ＡＣ（Alternating  Current：交流）／ＤＣ（Direct  Current：直流）変換回路２１とＤＣ／ＤＣ変換回路２２を有する。また、バッテリインターフェース５２は、電圧検出回路５２ａと放電制御回路５２ｂを有する。【００３９】
ＡＣ／ＤＣ変換回路２１は、電源２から供給された交流電流を直流電流に変換し、変換後の直流電流をＤＣ／ＤＣ変換回路２２に出力する。また、ＡＣ／ＤＣ変換回路２１は、変換後の直流電流の一部をバッテリモジュール５０に対して供給する。ＤＣ／ＤＣ変換回路２２は、ＡＣ／ＤＣ変換回路２１から入力された直流電流の電圧を、ベースボード３０に応じた電圧に変換し、変換後の直流電流をベースボード３０に入力する。【００４０】
なお、図３では省略したが、ＤＣ／ＤＣ変換回路２２は、ベースボード３０以外にも、ＡＣ／ＤＣ変換回路２１から入力された直流電流を、サーバ１０が有する各装置の規格に応じた電圧の直流電流に変換し、変換後の直流電流を各装置に入力する。【００４１】
バッテリ５１は、蓄電を行うバッテリである、また、電圧検出回路５２ａは、ＡＣ／ＤＣ変換回路２１から直流電流が入力されると、入力された直流電流を用いてバッテリ５１の充電を行う。また、電圧検出回路５２ａは、バッテリ５１が満充電状態である場合は、バッテリ５１の充電を行わない。また、電圧検出回路５２ａは、ＡＣ／ＤＣ変換回路２１から入力される直流電流の電圧に基づいて、停電等、電源２の喪失を検出する。【００４２】
例えば、電圧検出回路５２ａは、直流電流の電圧が所定の閾値を下回った場合は、電圧が「０」となった場合には、電源２が喪失したものと判別する。そして、電圧検出回路５２ａは、電源２が喪失したと判別した場合は、放電制御回路５２ｂに、サーバ１０に対する電力の供給を行うよう指示する。【００４３】
放電制御回路５２ｂは、バッテリ５１に充電された電力をサーバ１０に供給する。具体的には、放電制御回路５２ｂは、電圧検出回路５２ａからサーバ１０に対する電力の供給を行うよう指示された場合には、バッテリ５１に充電された電力をＤＣ／ＤＣ変換回路２２に入力することで、サーバ１０に対する電力の供給を行う。【００４４】
ＬＡＮ制御部５３は、サーバ１０が有するＬＡＮ制御部３３との通信を制御する制御部である。制御回路５４は、バッテリモジュール５０の各種制御を行う制御回路である。具体的には、制御回路５４は、ＬＡＮ制御部５３を介して、バッテリ５１の充電率の問合せを受付けた場合は、バッテリ５１の充電率を測定し、ＬＡＮ制御部５３を介して、測定した充電率をベースボード３０に送信する。なお、以下の説明では、バッテリ５１の充電率とはパーセントで示される値であるものとする。【００４５】
また、制御回路５４は、バッテリ５１の充電状態や、サーバ１０からの通知に基づいて、状態表示ＬＥＤ部５５を制御し、バッテリ５１の充電状態やサーバ１０の状態を利用者に通知する。また、制御回路５４は、電源ユニット２０から供給される電力の電圧を用いて、電源２が喪失したか否かを判別し、電源２が喪失したと判別した場合は、ＬＡＮ制御部５３を介して、サーバ１０に停電が発生した旨を通知する。なお、バッテリ５１の充電率を測定する方法としては、例えば、バッテリ５１が蓄電、放電を行う端子の電圧を測定する等、従来の手法を用いるものとする。【００４６】
状態表示ＬＥＤ部５５は、サーバ１０およびバッテリモジュール５０の状態を表示する表示装置である。以下、図４を用いて、状態表示ＬＥＤ部５５の一例について説明する。図４は、実施例１に係る状態表示ＬＥＤ部の一例を説明するための図である。図４に示す例では、状態表示ＬＥＤ部５５は、図４中の網掛けで示すように、充電中ＬＥＤ、待機中ＬＥＤ、シャットダウン中ＬＥＤ、電源切断ＬＥＤ、警告ＬＥＤ、通信ＬＥＤを有する。【００４７】
ここで、充電中ＬＥＤとは、バッテリモジュール５０がバッテリ５１を充電中であるか否かを示すＬＥＤである。また、待機中ＬＥＤとは、停電が発生した際にシャットダウンを待機しているか否かを示すＬＥＤである。また、シャットダウン中ＬＥＤとは、サーバ１０がハイパーバイザ、ＶＭ、ゲストＯＳ、アプリケーションのデータを退避させてシャットダウンを実行しているか否かを示すＬＥＤである。【００４８】
また、電源切断ＬＥＤとは、サーバ１０の電源を切断しているか否かを示すＬＥＤである。また、警告ＬＥＤとは、予測バックアップ時間がバッテリ時間よりも長いか否かを示すＬＥＤである。また、通信ＬＥＤとは、バッテリモジュール５０とサーバ１０とが通信しているか否かを示すＬＥＤである。【００４９】
制御回路５４は、状態表示ＬＥＤ部５５が有する各ＬＥＤを制御することで、利用者にサーバ１０およびバッテリモジュール５０の状態を通知する。例えば、制御回路５４は、バッテリ５１を充電中である場合は、充電中を示すＬＥＤを点灯させる。また、制御回路５４は、電圧検出回路５２ａが電源２の喪失を検出してから、シャットダウンを実行する旨の通知を受信するまでの間、待機中ＬＥＤを点灯させる。【００５０】
また、制御回路５４は、シャットダウンを実行する旨の通知を受信した場合は、シャットダウン中ＬＥＤを点灯させる。また、制御回路５４は、電源２を落とす旨の通知を受信した場合は、電源切断ＬＥＤを点灯させる。また、制御回路５４は、正常にシャットダウンできない旨の通知を受信した場合は、警告ＬＥＤを点灯させる。また、制御回路５４は、ＬＡＮ制御部５３が通信を行う際に、通信ＬＥＤを点灯させることで、通信が行われているか否かを利用者に通知する。【００５１】
次に、図５を用いて、サーバ１０が実行するハイパーバイザ、ＶＭ、ゲストＯＳ、アプリケーション等のソフトウェアについて説明する。図５は、実施例１に係るサーバが実行するソフトウェアを説明するための図である。なお、図５には、サーバ１０が実行するソフトウェア３５について記載した。図５に示すように、ソフトウェア３５には、ハイパーバイザ３７、時間計算サブルーチン３８、管理ソフトウェア３９が含まれる。【００５２】
また、ハイパーバイザ３７上において、複数のＶＭ３５ｃ、ＶＭ３６ｃが稼働し、ＶＭ３５ｃ、ＶＭ３６ｃ上でゲストＯＳ３５ｂ、ゲストＯＳ３６ｂが動作する。また、ゲストＯＳ３５ｂ上でアプリケーション３５ａが動作し、ゲストＯＳ３６ｂ上でアプリケーション３６ａが動作する。なお、時間計算サブルーチン３８、および管理ソフトウェア３９は、アプリケーション３６ａと同様に、ゲストＯＳ３６ｂの上で動作するプログラムであってもよい。【００５３】
ここで、ハイパーバイザ３７は、管理ソフトウェア３９から差分バックアップを実行する旨の指示を受信すると、差分バックアップを実行する。具体的には、ハイパーバイザ３７は、アプリケーション３５ａ、アプリケーション３６ａ、ゲストＯＳ３５ｂ、ゲストＯＳ３６ｂ、ＶＭ３５ｃ、ＶＭ３６ｃのデータをソフトウェア退避領域４２に差分バックアップする。【００５４】
管理ソフトウェア３９は、所定の時間間隔で、ハイパーバイザ３７に差分バックアップを実行する旨の指示を発行する。また、管理ソフトウェア３９は、ハイパーバイザ３７が差分バックアップの開始から終了までに要した時間と、ハイパーバイザ３７が差分バックアップの実行中におけるサーバ１０のタスク稼働率を測定する。また、管理ソフトウェア３９は、差分バックアップ実行中におけるサーバ１０の消費電力を測定する。【００５５】
ここで、サーバ１０のタスク稼働率とは、例えば、差分バックアップの実行中におけるＣＰＵ３１の稼働率である。そして、管理ソフトウェア３９は、測定した時間と稼働率との積を、電源喪失時のバックアップに要すると予測される時間、すなわち予測バックアップ時間とする。【００５６】
ここで、図６は、予測バックアップ時間を説明するための図である。図６には、サーバ１０が差分バックアップを実行した時間を横軸とし、各差分バックアップに要した時間を縦軸としたグラフを記載した。なお、図６の下側に示すグラフは、サーバ１０が１１時、１２時、１３時に差分バックアップを行った際に要した時間を拡大したものである。【００５７】
例えば、図６の上側に示す例では、サーバ１０は、１時間ごとに差分バックアップを実行する。ここで、図６の下側に示すように、サーバ１０は、１１時に実行した差分バックアップに３２秒を要した。ここで、電源喪失時には、サーバ１０は、他の処理を停止し、タスク稼働率１００パーセントで差分バックアップを実行する。【００５８】
そこで、管理ソフトウェア３９は、差分バックアップを実行した際のタスク稼働率が７０パーセントであったとすると、予測バックアップ時間を３２（秒）×７０／１００＝２２（秒）と算出する。つまり、管理ソフトウェア３９は、１２時までに電源の喪失が発生した場合は、差分バックアップに２２秒かかると予測する。【００５９】
また、１２時に行った差分バックアップでは、サーバ１０の稼働率が７０パーセントであり、差分バックアップに３０秒かかったものとする。すると、管理ソフトウェア３９は、予測バックアップ時間を３０（秒）×７０／１００＝２１秒とする。つまり、管理ソフトウェア３９は、１３時までに電源の喪失が発生した場合は、差分バックアップに２１秒かかると予測する。【００６０】
次に、管理ソフトウェア３９は、時間計算サブルーチン３８を呼び出し、バッテリモジュール５０がサーバ１０を動作させる時間、すなわちバッテリ時間を算出する。その後、管理ソフトウェア３９は、予測バックアップ時間がバッテリ時間よりも長いか否かを判別し、予測バックアップ時間がバッテリ時間よりも長い場合は、差分バックアップを実行する旨の指示を発行する時間間隔を短縮する。つまり、管理ソフトウェア３９は、差分バックアップを実行する時間間隔を短縮する。【００６１】
また、管理ソフトウェア３９は、差分バックアップを実行する時間間隔が所定の閾値よりも短いか否かを判別し、差分バックアップを実行する時間間隔が所定の閾値よりも短い場合は、モニタ４等を介して利用者にバックアップが正常に行えない旨の警告を行う。また、管理ソフトウェア３９は、正常にシャットダウンできない旨の通知をバッテリモジュール５０の制御回路５４に発行する。【００６２】
図５に戻って、時間計算サブルーチン３８は、差分バックアップを実行中のサーバ１０が消費する電力と、バッテリ５１の充電率とを用いて、バックアップ時間を算出する。具体的には、時間計算サブルーチン３８は、管理ソフトウェア３９から呼び出されると、管理ソフトウェア３９が測定した消費電力と対応付けられたバックアップ可能時間を持続時間対応情報４１から読み出す。また、時間計算サブルーチン３８は、ＬＡＮ制御部３３を介してバッテリモジュール５０にバッテリ５１の充電率を問い合わせる。【００６３】
そして、時間計算サブルーチン３８は、バッテリ５１の充電率と読み出したバックアップ可能時間とを用いて、バッテリ時間を算出する。具体的には、時間計算サブルーチン３８は、バッテリ５１の充電率とバックアップ可能時間との積をバッテリ時間とする。その後、時間計算サブルーチン３８は、バッテリ時間を管理ソフトウェア３９に返し、処理を終了する。なお、時間計算サブルーチン３８のバックアップ可能時間の読み出し、およびバッテリ５１の充電率の問合せは、管理ソフトウェア３９およびハイパーバイザ３７を介して行われる。【００６４】
次に、図７を用いて、管理ソフトウェア３９が実行する処理の流れについて説明する。図７は、実施例１に係る管理ソフトウェアが実行する処理の流れを説明するための図である。図７に示す例では、管理ソフトウェア３９は、サーバ１０の起動とともに、定期バックアップの間隔を最大値に設定する（ステップＳ１０１）。【００６５】
次に、管理ソフトウェア３９は、ハイパーバイザ３７にバックアップを実行させる（ステップＳ１０２）。また、管理ソフトウェア３９は、バックアップにかかった時間を計測する（ステップＳ１０３）。そして、管理ソフトウェア３９は、バックアップにかかった時間のデータをファイルとして記憶装置４０に記録する（ステップＳ１０４）。次に、管理ソフトウェア３９は、バックアップにかかった時間のデータとバックアップ実行時のタスク稼動率から予測バックアップ時間を計算する（ステップＳ１０５）。【００６６】
続いて、管理ソフトウェア３９は、時間計算サブルーチン３８を呼び出し、バッテリ時間を算出させる（ステップＳ１０６）。そして、管理ソフトウェア３９は、予測バックアップ時間がバッテリ時間よりも短いか否かを判別する（ステップＳ１０７）。ここで、管理ソフトウェア３９は、予測バックアップ時間がバッテリ時間以上となる場合は（ステップＳ１０７否定）、定期バックアップの時間間隔を短縮する（ステップＳ１０８）。【００６７】
次に、管理ソフトウェア３９は、定期バックアップの時間間隔があらかじめ定めた最小時間よりも短いか否かを判別する（ステップＳ１０９）。そして、管理ソフトウェア３９は、定期バックアップの時間間隔があらかじめ定めた最小時間よりも短い場合は（ステップＳ１０９肯定）、オペレータに警告を出し（ステップＳ１１０）、定期バックアップの時間を待つ（ステップＳ１１１）。【００６８】
その後、管理ソフトウェア３９は、ステップＳ１０２の処理を再度実行する。一方、管理ソフトウェア３９は、予測バックアップ時間がバッテリ時間よりも短い場合は（ステップＳ１０７肯定）、ステップＳ１１１の処理を実行する。また、管理ソフトウェア３９は、定期バックアップの時間間隔があらかじめ定めた最小時間以上である場合は（ステップＳ１０９否定）、ステップＳ１１１の処理を実行する。【００６９】
次に、図８を用いて、時間計算サブルーチン３８が実行する処理の流れについて説明する。図８は、時間計算サブルーチンが実行する処理の流れを説明するためのフローチャートである。なお、図８に示す処理は、図７中ステップＳ１０６に対応する。まず、時間計算サブルーチン３８は、サーバ１０の消費電力を読み出す（ステップＳ２０１）。【００７０】
次に、時間計算サブルーチン３８は、バックアップ可能時間を持続時間対応情報４１から読み出す（ステップＳ２０２）。次に、時間計算サブルーチン３８は、バッテリの充電率を呼び出しし（ステップＳ２０３）、バックアップ時間を計算する（ステップＳ２０４）。そして、時間計算サブルーチン３８は、バックアップ時間をメインメモリ３２に記録し、管理ソフトウェア３９に処理を戻し（ステップＳ２０５）、処理を終了する。【００７１】
次に、図９を用いて、停電が発生した際に情報処理システム１の動作について説明する。図９は、実施例１に係る情報処理システムの動作の流れを説明するためのシーケンス図である。なお、図９に示す例では、停電が発生した際の管理ソフトウェア３９、ゲストＯＳ３５ｂ、ハイパーバイザ３７、バッテリモジュール５０、状態表示ＬＥＤ部５５の動作について記載した。【００７２】
例えば、図９中（Ａ）に示すように、停電が発生すると、バッテリモジュール５０が停電を検出し、ハイパーバイザ３７に通知する。すると、図９中（Ｂ）に示すように、ハイパーバイザ３７および管理ソフトウェア３９は、停電が所定の時間継続するか監視する。そして、管理ソフトウェア３９は、停電が所定の時間継続すると、図９中（Ｃ）に示すように、ゲストＯＳ３５ｂを経由して、ハイパーバイザ３７にシャットダウン開始を通知する。【００７３】
すると、ハイパーバイザ３７は、ゲストＯＳ３５ｂに退避指示を発行し、ゲストＯＳ３５ｂを停止させる。その後、ハイパーバイザ３７は、図９中（Ｄ）に示すように、アプリケーション３５ａ、３６ａ、ゲストＯＳ３５ｂ、３６ｂ、ＶＭ３５ｃ、３６ｃのデータを退避する。すなわち、ハイパーバイザ３７は、ソフトウェア３５の差分バックアップを行い、データをソフトウェア退避領域４２に格納する。【００７４】
その後、ハイパーバイザ３７は、ハイパーバイザ３７のシャットダウンを実行する。ここで、バッテリモジュール５０は、図９中（Ｅ）に示すように、停電が発生してから、ハイパーバイザ３７がシャットダウンし、サーバ１０の電源が落とされるまで、バッテリ５１から電力を供給し、その後、スリープ状態に移行し、出力をオフにする。【００７５】
その後、図９中（Ｆ）に示すように、停電から復旧すると、ハイパーバイザ３７は、ＢＩＯＳ（Basic  Input/Output  System）を起動させ、ＶＭ３５ｃを起動させる。この結果、起動したＶＭ３５ｃは、図９中（Ｇ）において、ゲストＯＳ３５ｂを稼動させる。また、バッテリモジュール５０は、図９中（Ｆ）において、停電から復旧すると、バッテリ５１の充電を開始する。【００７６】
なお、状態表示ＬＥＤ部５５は、図９中（Ａ）において停電が検出されるまで、充電ＬＥＤを点灯させ、図９中（Ｂ）の間、待機中ＬＥＤを点灯させる。そして、状態表示ＬＥＤ部５５は、図９中（Ｃ）においてハイパーバイザ３７がソフトウェア３５の退避を開始してから、ハイパーバイザ３７がシャットダウンするまで、シャットダウンＬＥＤを点灯させる。その後、状態表示ＬＥＤ部５５は、電源切断ＬＥＤを点灯させる。また、図９中（Ｆ）に示すように、停電から復旧すると、状態表示ＬＥＤ部５５は、充電ＬＥＤを点灯する。【００７７】
［実施例１の効果］
上述したように、サーバ１０は、電源喪失時にサーバ１０の状態、すなわちサーバ１０が実行するソフトウェア３５のデータを記憶装置４０にバックアップする機能を有する。また、サーバ１０は、所定の時間間隔で差分バックアップを実行する。また、サーバ１０は、差分バックアップに要する予測し、予測バックアップ時間がバッテリ時間よりも長いか否かを判別する。そして、サーバ１０は、予測バックアップ時間がバッテリ時間よりも長い場合は、差分バックアップを実行する時間間隔を短縮する。【００７８】
このため、サーバ１０は、バッテリ５１の容量を削減できる。すなわち、サーバ１０は、差分バックアップを定期的に行うことで、電源喪失時のバックアップにかかる時間を短くする。また、サーバ１０は、電源喪失時のバックアップにかかる時間を予測し、バッテリ５１がサーバ１０を動作させる時間よりも予測した時間が長い場合は、差分バックアップを実行する時間間隔を短縮する。【００７９】
この結果、サーバ１０は、電源喪失時の差分バックアップの対象となるデータ量を削減し、電源喪失時の差分バックアップにかかる時間を短縮する。このため、サーバ１０は、バッテリ５１の容量を削減しても、正常なシャットダウンを行うことができる。【００８０】
また、サーバ１０は、差分バックアップにかかった時間を測定し、測定した時間に基づいて、電源喪失時の差分バックアップにかかる時間を予測する。このため、サーバ１０は、電源喪失時の差分バックアップにかかる時間を正確に予測できる。この結果、サーバ１０は、バッテリ５１の容量を削減した際に、正常なシャットダウンを行えるか否かを正常に判別することができる。この結果、サーバ１０は、ダーティーシャットダウンとなる可能性を削減できる。【００８１】
また、サーバ１０は、差分バックアップにかかった時間と、差分バックアップを実行中のタスク稼動率とを測定し、測定した時間とタスク稼動率との積を電源喪失時の差分バックアップにかかる時間とする。ここで、サーバ１０は、電源喪失時に差分バックアップのみを実行した場合は、バッテリ５１が供給する電力で動作する時間を短縮する。このため、サーバ１０は、電源喪失時に差分バックアップのみを実行した際にかかる時間を予測することができるので、バッテリ５１が供給する電力で動作する時間を短縮する結果、バッテリ５１の容量を削減することができる。【００８２】
また、サーバ１０は、サーバ１０の消費電力量と、バックアップ可能時間とを対応付けた持続時間対応情報４１を記憶する。そして、サーバ１０は、サーバ１０が差分バックアップを実行する際に消費した電力量と対応付けられたバックアップ可能時間を持続時間対応情報４１から読み出しし、読み出した時間よりも予測バックアップ時間が長いか否かを判別する。このため、サーバ１０は、正常なシャットダウンを行えるか否かを正確に判別することができる。【００８３】
また、サーバ１０は、持続時間対応情報４１から読み出したバックアップ可能時間とバッテリ５１の充電率との積をバックアップ時間とし、予測バックアップ時間がバックアップ時間よりも長いか否かを判別する。このため、サーバ１０は、バッテリ５１の充電率に応じたバックアップ時間内に、正常なシャットダウンを行えるか否かを正確に判別できる。【００８４】
また、サーバ１０は、ＣＰＵ３１にハイパーバイザ３７を稼動させ、ハイパーバイザ３７上でＶＭ３５ｃ、３６ｃを稼動させる。そして、サーバ１０は、ハイパーバイザ３７が有するバックアップ機能を用いて、ＶＭ３５ｃ、３６ｃ、ゲストＯＳ３５ｂ、３６ｂ、アプリケーション３５ａ、３６ａの差分バックアップを実行する。このため、サーバ１０は、差分バックアップに要する時間を短縮するので、バッテリ５１の容量を削減できる。【００８５】
また、バッテリモジュール５０は、サーバ１０が差分バックアップを実行しているか否かを示す状態表示ＬＥＤ部５５を有する。このため、バッテリモジュール５０は、停電のためにモニタ４が動作しない場合にも、サーバ１０による差分バックアップが正常に実行されているか否かを利用者に伝えることができる。【００８６】
また、サーバ１０は、差分バックアップを実行する時間間隔が所定の値よりも短くなった場合は、正常なシャットダウンができない旨を利用者に通知する。このため、サーバ１０は、現状におけるバッテリ５１の容量ではダーティーシャットダウンが発生する際に、利用者に通知を行い、増設等の対策を講じさせることができる。
【実施例２】
【００８７】
これまで本発明の実施例について説明したが実施例は、上述した実施例以外にも様々な異なる形態にて実施されてよいものである。そこで、以下では実施例２として本発明に含まれる他の実施例を説明する。【００８８】
（１）バッテリモジュール５０について
上述した情報処理システム１は、サーバ１０とは別個の外付け装置としたバッテリモジュール５０に状態表示ＬＥＤ部５５を実装した。しかし、実施例はこれに限定されるものではない。例えば、情報処理システム１は、自立型としたサーバ１０に５インチベイ等のスペースを準備し、準備したスペースにバッテリモジュールを実装する。この際、バッテリモジュールの状態表示ＬＥＤ部５５をサーバ１０の前面、すなわち利用者側に向けることで、利用者は、電源喪失時に、サーバ１０が差分バックアップを正常に実行しているかを容易に視認することができる。【００８９】
また、バッテリモジュール５０の機能は、サーバ１０が内包してもよい。すなわち、サーバ１０は、バッテリモジュール５０と同様の機能を備えることで、情報処理システム１の省スペース化を行ってもよい。【００９０】
（２）予測バックアップ時間について
上述したサーバ１０は、差分バックアップにかかる時間とタスク稼動率との積とを予測バックアップ時間とした。しかし、実施例は、これに限定されるものではない。例えば、サーバ１０は、差分バックアップから経過した時間や、実行中のＶＭの数、実行中のアプリケーションの数等を考慮することで、より正確な予測バックアップ時間を算出してもよい。【００９１】
例えば、サーバ１０は、実行中のＶＭの数、実行中のアプリケーションの数、差分バックアップから経過した時間、および所定の計数との積を算出することで、差分バックアップの対象となるデータ量を予測する。そして、サーバ１０は、予測したデータのバックアップを行う際にかかる時間を算出してもよい。【００９２】
（３）バックアップ時間について
上述したサーバ１０は、持続時間対応情報４１から読み出したバックアップ可能時間と、バッテリ５１の充電率との積をバックアップ時間とした。しかし、実施例はこれに限定されるものではない。例えば、サーバ１０は、バッテリ５１がサーバ１０を動作させる時間が保障される場合には、保障される時間をバックアップ時間として記憶し、記憶したバックアップ時間を用いて、正常なシャットダウンが実行されるかを判別してもよい。【００９３】
（４）仮想化について
上述したサーバ１０は、ハイパーバイザ３７上で仮想マシンであるＶＭ３５ｃ、３６ｃを稼動させることで、仮想化されたシステムを動作させ、ハイパーバイザ３７が有するバックアップ機能を利用していた。しかし、実施例はこれに限定されるものではない。すなわち、サーバ１０は、仮想化を行わずとも、インストールしたＯＳの機能や他のソフトウェアによる差分バックアップを実行しても良い。【００９４】
（５）プログラム
なお、本実施例で説明した管理ソフトウェア３９やハイパーバイザ３７等のソフトウェア３５は、あらかじめ用意されたソフトウェアプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ（Compact  Disc  Read  Only  Memory）、ＭＯ（Magneto  Optical  Disc）、ＤＶＤ（Digital  Versatile  Disc）などのコンピュータで読取可能な記録媒体に記録される。また、このプログラムは、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【符号の説明】
【００９５】
１  情報処理システム
２、３  電源
４  モニタ
５  キーボード
６  マウス
１０  サーバ
２０  電源ユニット
２１  ＡＣ／ＤＣ変換回路
２２  ＤＣ／ＤＣ変換回路
３０  ベースボード
３１  ＣＰＵ
３２  メインメモリ
３３、５３  ＬＡＮ制御部
３４  記憶装置制御部
３５  ソフトウェア
３５ａ、３６ａ  アプリケーション
３５ｂ、３６ｂ  ゲストＯＳ
３５ｃ、３６ｃ  ＶＭ
３７  ハイパーバイザ
３８  時間計算サブルーチン
３９  管理ソフトウェア
４０  記憶装置
４１  持続時間対応情報
４２  ソフトウェア退避領域
４３  外部装置接続部
５０  バッテリモジュール
５１  バッテリ
５２  バッテリインターフェース
５２ａ  電圧検出回路
５２ｂ  放電制御回路
５４  制御回路
５５  状態表示ＬＥＤ部
【図１】
2013175635.tif 000003
【図２】
2013175635.tif 000004
【図３】
2013175635.tif 000005
【図４】
2013175635.tif 000006
【図５】
2013175635.tif 000007
【図６】
2013175635.tif 000008
【図７】
2013175635.tif 000009
【図８】
2013175635.tif 000010
【図９】
2013175635.tif 000011
【国際調査報告】
2013175635.tif 000012
2013175635.tif 000013