(57)【特許請求の範囲】
【請求項１】
情報処理装置であって、
不揮発記憶装置と、
停電検出時に、前記不揮発記憶装置にシステム情報を退避させる退避部と、
前記退避部による退避の後に、前記情報処理装置を停止させ、前記情報処理装置の次回起動時に、前記不揮発記憶装置の前記システム情報を用いて前記情報処理装置の装置停止処理を再開して前記情報処理装置を停止させ、前記情報処理装置の再起動を行なう処理部と、
をそなえることを特徴とする情報処理装置。
【請求項２】
前記停電検出時に、無停電電源装置から供給可能な電力の供給時間が前記情報処理装置を装置停止処理させるのに十分であるかどうかを判定する判定部をさらにそなえ、
前記退避部は、前記判定部により前記電力の供給時間が十分ではないと判定された場合に前記前記不揮発記憶装置にシステム情報を退避させることを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記システム情報は、前記情報処理装置のプロセッサのレジスタの情報と、前記情報処理装置において実行されているアプリケーションの情報とを含むことを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
前記判定部は、前記情報処理装置の先に行なわれた装置停止処理時の前記アプリケーションの終了処理に要した時間に基づいて判定を行なうことを特徴とする請求項３記載の情報処理装置。
【請求項５】
揮発記憶装置をさらにそなえ、
前記退避部は、前記プロセッサの前記レジスタの内容を、前記揮発記憶装置に退避させたのちに、前記不揮発記憶装置に退避させることを特徴とする請求項３又は４記載の情報処理装置。
【請求項６】
情報処理装置の停止方法であって、
停電検出時に、前記情報処理装置の不揮発記憶装置にシステム情報を退避させ、
前記退避の後に、前記情報処理装置を停止させ、
前記情報処理装置の次回起動時に、前記不揮発記憶装置の前記システム情報を用いて前記情報処理装置の装置停止処理を再開して前記情報処理装置を停止させ、前記情報処理装置の再起動を行なう
ことを特徴とする情報処理装置の停止方法。
【請求項７】
情報処理装置の停止プログラムであって、
停電検出時に、前記情報処理装置の不揮発記憶装置にシステム情報を退避させ、
前記退避の後に、前記情報処理装置を停止させ、
前記情報処理装置の次回起動時に、前記不揮発記憶装置の前記システム情報を用いて前記情報処理装置の装置停止処理を再開して前記情報処理装置を停止させ、前記情報処理装置の再起動を行なう
処理を前記情報処理装置に実行させることを特徴とする情報処理装置の停止プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置の停止方法、及び情報処理装置の停止プログラムに関する。
【背景技術】
【０００２】
サーバ等の情報処理システムにおいては、停電などにより、壁コンセント等からの商用電源が絶たれた場合にシステムを保護するため、バッテリをそなえる無停電電源装置（Uninterruptible Power Supply：ＵＰＳ）を使用している。例えば、情報処理装置においては、停電時（停電検出時）に、ＵＰＳのバッテリから供給される電力によってサーバを動作させて、サーバのシャットダウン処理（装置停止処理）を行なう。【０００３】
ＵＰＳには、大きく分けて、常時インバータ給電方式と常時商用給電方式との２種類が存在する。
常時インバータ給電方式は、商用電源を整流器で直流に変換し、バッテリを充電しながら常時商用電源に同期した交流を定電圧定周波数制御インバータで発生させる。原理的に商用電源停止時の切り替え変動が起こらないため、特に電圧低下や電力波形の乱れの許されない用途に用いられる。【０００４】
しかし、この方式はインバータが常時動作しているため、損失が大きいという欠点がある。
一方、常時商用給電方式は、商用電源が正常なときは商用電源を負荷に供給しながら、商用電源を整流器で直流に変換し、バッテリを充電する方式である。商用電源が停止又は周波数が乱れたとき、商用電源を切り離しインバータから機器に供給する。常時インバータ給電方式と比較して、商用電源が正常なときはインバータが動作しないか無負荷になり、損失が小さくなる利点がある。その反面、商用電源停止時の切り替え変動がやや大きくなるという欠点がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１６５５８８号公報
【特許文献２】特開平７−２８５４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
情報処理システムにおいてサーバのシャットダウンに要する時間は、停電から復旧するか復旧を待機する時間（時間Ａ）、アプリケーションを終了させるための時間（時間Ｂ）、及びOperating System（ＯＳ）をシャットダウンするための時間（時間Ｃ）の３種類に分けることができる。
現在、サーバにおいては、アプリケーションの終了処理とＯＳのシャットダウン処理とに数分程度の時間がかかる。このため、サーバの電源入力に対して、電力を数分間供給可能なＵＰＳが必要となる。終了に時間がかかるデータベース等の一部のアプリケーションでは、アプリケーションの終了に数分を要するため、シャットダウンの総時間が長くなってしまう。【０００７】
停電時にＵＰＳからの給電時間を長くするためには、ＵＰＳのバッテリの容量を大きくする必要があるが、ＵＰＳは通常時にも自身が電力を消費している。詳細には、バッテリ充電のためにＵＰＳ内部のＡＣをＤＣに変換する回路が電力を消費するため、ＵＰＳのバッテリ容量が大きくなる程、消費電力が増加してしまう。
しかし、近年の省電力に対する需要の高まりにより、消費電力の高いバッテリ容量の大きなＵＰＳは好ましくない。このため、ＵＰＳのバッテリ容量の増大を避けるために、サーバ等の情報処理装置の終了処理を高速化することが求められている。【０００８】
本発明は、このような課題に鑑み創案されたもので、停電検出時の装置終了処理に要する時間を短縮することを目的とする。
なお、前記目的に限らず、後述する発明を実施するための最良の形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の１つとして位置付けることができる。
【課題を解決するための手段】
【０００９】
このため、情報処理装置は、不揮発記憶装置と、停電検出時に、前記不揮発記憶装置にシステム情報を退避させる退避部と、前記退避部による退避の後に、前記情報処理装置を停止させ、前記情報処理装置の次回起動時に、前記不揮発記憶装置の前記システム情報を用いて前記情報処理装置の装置停止処理を再開して前記情報処理装置を停止させ、前記情報処理装置の再起動を行なう処理部と、をそなえる。
又、情報処理装置の停止方法は、停電検出時に、前記情報処理装置の不揮発記憶装置にシステム情報を退避させ、前記退避の後に、前記情報処理装置を停止させ、前記情報処理装置の次回起動時に、前記不揮発記憶装置の前記システム情報を用いて前記情報処理装置の装置停止処理を再開して前記情報処理装置を停止させ、前記情報処理装置の再起動を行なう。
【００１０】
さらに、情報処理装置の停止プログラムは、停電検出時に、前記情報処理装置の不揮発記憶装置にシステム情報を退避させ、前記退避の後に、前記情報処理装置を停止させ、前記情報処理装置の次回起動時に、前記不揮発記憶装置の前記システム情報を用いて前記情報処理装置の装置停止処理を再開して前記情報処理装置を停止させ、前記情報処理装置の再起動を行なう処理を前記情報処理装置に実行させる。
【発明の効果】
【００１１】
本発明によれば、停電検出時の装置終了処理に要する時間を短縮することができる。
【図面の簡単な説明】
【００１２】
【図１】実施形態の一例としての情報処理システムの構成を模式的に示す図である。
【図２】実施形態の一例としてのサーバの詳細な機能構成を示す図である。
【図３】実施形態の一例としてのサーバの詳細な構成を示す図である。
【図４】実施形態の一例としてのサーバのメモリ構成を示す図である。
【図５】実施形態の一例としての情報処理システムにおける処理を示すフローチャートである。
【図６】実施形態の一例としての情報処理システムにおける高速アプリケーション終了処理の実行時のシャットダウン処理及びＯＳ起動処理を示す図である。
【図７】実施形態の一例としてのバックアップ時間の判断処理を示すフローチャートである。
【図８】シャットダウン処理時間データを例示する図である。
【図９】実施形態の一例としてのシャットダウン高速化部による高速アプリケーション終了処理を示すフローチャートである。
【図１０】実施形態の一例としてのサーバの再起動処理を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、図面を参照して本情報処理装置、情報処理装置の停止方法、及び情報処理装置の停止プログラムに係る実行の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形（実施形態及び各変形例を組み合わせる等）して実行することができる。
【００１４】
（Ａ）構成
最初に、図１〜図４を用いて実施形態の一例としての情報処理システム１の構成を説明する。
図１は、実施形態の一例としての情報処理システム１の構成を模式的に示す図である。
情報処理システム１は、サーバ（情報処理装置）２とＵＰＳ装置（無停電電源装置）３とをそなえる。
【００１５】
サーバ２は、例えば、サーバ機能をそなえたコンピュータであり、各種データ処理を実行する。
サーバ２は、ベースボード１１と、電源ケーブル２０とをそなえる。サーバ２の構成については、図２〜図４を用いて後述する。
ＵＰＳ装置３は、商用ＡＣ電源を供給する商用ＡＣ電源５０から給電を受け、ＡＣ電源を外部に出力する常時インバータ給電型または常時商用給電型の電源装置である。ＵＰＳ装置３にはサーバ２が接続されており、壁コンセント５０からの入力電源が途切れた場合に、所定時間（給電時間とも呼ぶ）、サーバ２に電力を供給する。この所定のバックアップ時間は、例えば、システム管理者等によって任意の値に設定することができる。
【００１６】
ＵＰＳ装置３は、ＡＣ−ＤＣ変換器６１、バッテリ６２、ＤＣ−ＡＣ変換器６３、電源ケーブル６４、及びコンセント６５をそなえる。
電源ケーブル６４は、例えば、壁コンセントなどの商用ＡＣ電源５０に接続されている。
ＡＣ−ＤＣ変換器６１は、電源ケーブル６４経由で商用ＡＣ電源５０から供給される交流電流を直流電流に変換してバッテリ６２に供給する。
【００１７】
バッテリ６２は、ＡＣ−ＤＣ変換器６１から供給される直流電流により充電され、同時にＤＣ−ＡＣ変換器６３へ直流電流を供給する二次電池である。バッテリ６２は、ＡＣ−ＤＣ変換器６１からの給電が停止した場合も、内部の二次電池からの放電により、一定時間、ＤＣ−ＡＣ変換器６３への給電を続けることができる。
ＤＣ−ＡＣ変換器６３は、バッテリ６２から供給される直流電流を交流電流に変換して、コンセント６５から、ＵＰＳ装置３の外部に直流電流を供給する。
【００１８】
コンセント６５は、ＵＰＳ装置３の外部に直流電流を供給する出力部であり、本例においては、サーバ２の電源ケーブル２０に接続されている。
停電が発生し、壁コンセント５０からの入力電源が途切れると、ＵＰＳ装置３は、サーバ２のＵＰＳ管理部３４に停電を通知する。
又、停電の発生から所定時間（給電時間）が経過すると、ＵＰＳ装置３は、コンセント６５からの電力の出力を停止する。
【００１９】
次に、図２〜図３を用いてサーバ２の構成についてより詳細に説明する。
図２は、実施形態の一例としてのサーバ２の詳細な機能構成を示す図、図３は、実施形態の一例としてのサーバ２の詳細な構成を示す図である。
図２に示すように、サーバ２は、ベースボード１１、記憶装置１７，１８、電源ユニット１９、電源ケーブル２０、及び媒体リーダ５２をそなえる。
【００２０】
ベースボード１１は、サーバ２を構成する主要な電子回路や電子部品を搭載している基板である。ベースボード１１は、Central Processing Unit（ＣＰＵ；プロセッサ）１２、メインメモリ（揮発記憶装置）１３、不揮発メモリ（不揮発記憶装置）１４、ＬＡＮ制御部１５、記憶装置制御部１６、及び媒体リーダ制御部５１をそなえる。
ＣＰＵ１２は、種々の制御や演算を行なう処理装置であり、記憶装置１７，１８や不図示のRead Only Memory（ＲＯＭ）等に格納されたプログラムを実行することにより、種々の機能を実現する。図２の例では、ＣＰＵ１２は、Operating System（ＯＳ）３２と、１以上のアプリケーション３３とを実行している。さらに、ＣＰＵ１２は、シャットダウン高速化部（退避部）３１及びＵＰＳ管理部（判定部，処理部）３４として機能する。
【００２１】
ＯＳ３２は、サーバ２のハードウェアの管理などの基本機能を実現するシステムソフトウェアである。ＯＳ３２は、例えばＵＮＩＸ（登録商標）などである。
アプリケーション３３は、サーバ２上で、業務処理などの任意の処理を実行するソフトウェアである。アプリケーション３３は、例えば、データベースアプリケーションソフトウェアである。
【００２２】
シャットダウン高速化部（退避部）３１は、後述するように、停電の発生時にＵＰＳ管理部３４がバッテリ６２のバックアップ時間が不十分であると判定した場合に、高速アプリケーション終了処理を実行して、サーバ２のシャットダウン処理を高速化する。
ここで、「高速アプリケーション終了処理」とは、ＣＰＵ１２のレジスタ５４（図４参照）の情報とサーバ２で実行中のアプリケーション３３の情報とを、後述する不揮発メモリ１４に一時的に退避させたのち、アプリケーション３３の実行を停止させる処理を指す。さらに、アプリケーション３３を高速アプリケーション終了処理することを「高速終了」と呼ぶ。なお、以下の説明では、ＣＰＵ１２のレジスタ５４（図４参照）の情報と実行中のアプリケーション３３の情報とを一括して「システム情報」と呼ぶ。又、アプリケーション３３を高速終了させたのちＯＳ３２をシャットダウンさせるサーバ２のシャットダウンを「高速シャットダウン処理」と呼ぶ。
【００２３】
これに対し、ＯＳ３２が、その後のＯＳ３２のシャットダウンが可能となるように、アプリケーション３３を終了させる処理を「通常アプリケーション終了処理」と呼ぶ。さらに、アプリケーション３３を通常アプリケーション終了処理することを「通常終了」と呼ぶ。又、アプリケーション３３を通常終了させたのちＯＳ３２をシャットダウンさせるサーバ２のシャットダウン処理を「通常シャットダウン処理」と呼ぶ。通常アプリケーション終了処理では、システム情報が不揮発メモリ１４に一時的に退避されることはない。
【００２４】
なお、高速アプリケーション終了処理が実行された場合、シャットダウン高速化部３１は、電源の復旧（復電）後に、高速アプリケーション終了処理により不揮発メモリ１４に退避させたデータを用いて、アプリケーション３３を終了させる。その後、ＯＳ３２が再起動されてアプリケーション３３が起動される。
これに対し、通常アプリケーション終了処理が実行された場合、復電しＯＳ３２が起動された後に、アプリケーション３３も起動される。
【００２５】
なお、シャットダウン高速化部３１は、サーバ２においてハイパーバイザーと同様の階層で動作する。すなわち、シャットダウン高速化部３１は、サーバ２のハードウェアとＯＳ３２との間の階層で動作する。
ＵＰＳ管理部３４は、サーバ２に接続されているＵＰＳ装置３を管理する。ＵＰＳ管理部３４は、例えば、停電の発生時に、停電の発生を示す停電通知をＵＰＳ装置３から受信する。
【００２６】
さらに、ＵＰＳ管理部３４は、ＵＰＳ装置３のバッテリ６２の容量とサーバ２の消費電力とから、ＵＰＳ装置３のバッテリ６２のバックアップ可能な時間（バックアップ時間）を算出する。そして、このバックアップ時間が、サーバ２のアプリケーション３３を高速終了させない、通常のサーバシャットダウン処理に要する予想処理時間より長いかどうかを判定する。この判定の詳細については、図７を用いて後述する。
【００２７】
そして、バックアップ時間がサーバ２の通常シャットダウン処理を行なうために十分あると判定した場合、ＵＰＳ管理部３４は、ＯＳ３２に、通常のアプリケーション終了処理を実行させる。一方、ＵＰＳ管理部３４は、バックアップ時間が不十分であると判定した場合、シャットダウン高速化部３１に、高速アプリケーション終了処理を実行するように指示する。
【００２８】
メインメモリ１３は、ＣＰＵ１２が実行しているアプリケーション３３や種々のデータや、ＣＰＵ１２の動作により得られたデータ等を格納する揮発性の記憶領域である。メインメモリ１３は、例えば、Random Access Memory（ＲＡＭ）である。
不揮発メモリ１４は、サーバ２の電源切断後もデータを保持可能な不揮発性の記憶領域であり、例えばFerroelectric Random Access Memory（ＦＲＡＭ（登録商標））などにより実装される。不揮発メモリ１４は、システム情報を保持し、システム情報退避領域２１、高速終了フラグ２２は、及び正常退避フラグ２６をそなえる。
【００２９】
システム情報退避領域２１は、後述するように、停電時にシャットダウン高速化部３１がアプリケーション３３に関するデータを一時的に退避（格納）する領域である。
高速終了フラグ２２は、サーバ２の前回のシャットダウン時に、アプリケーション３３が高速終了されたかどうかを示すフラグである。例えば、前回、高速アプリケーション終了処理が行なわれた場合には高速終了フラグ２２に値“１”が格納される。一方、通常アプリケーション終了が行なわれた場合には高速終了フラグ２２に値“０”が格納される。
【００３０】
正常退避フラグ２６は、後述するように、停電時にシャットダウン高速化部３１によりシャットダウンが正常に行なわれたかどうかを示すフラグである。例えば、停電時にシャットダウン高速化部３１によりシャットダウンが正常に行なわれた場合には正常退避フラグ２６に値“１”が格納される。一方、停電時にシャットダウン高速化部３１によりシャットダウンが正常に行なわれなかった場合には正常退避フラグ２６に値“０”が格納される。
【００３１】
ＬＡＮ制御部１５は、例えばサーバ２の不図示の通信アダプタ（ＬＡＮインタフェースなど）を制御して、サーバ２をＬＡＮ等の外部ネットワークに接続する。ＬＡＮ制御部１５は、サーバ２が他のサーバ等と情報通信を行なうことを可能にする。
記憶装置制御部１６は、後述するハードディスク等の記憶装置１７，１８の制御を行なう。
【００３２】
媒体リーダ制御部５１は、後述する媒体リーダ５２の制御を行なう。
記憶装置１７，１８は、種々のプログラムや、ＯＳ３２、データを格納し保存する記憶装置であり、サーバ２のディスクとして動作する。又、記憶装置１７，１８は、後述するシャットダウン処理時間データ２５を記憶する。記憶装置１７，１８は、例えば、Hard Disk Drive（ＨＤＤ）などである。
【００３３】
なお、記憶装置１７は、シャットダウン処理時間データ２５を格納する格納部としても機能する。シャットダウン処理時間データ２５は、サーバ２を前回通常シャットダウンした際に、サーバ２で実行されていた各アプリケーションについて、その終了処理に要した時間を記憶している。
媒体リーダ５２は、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどの記録媒体５３を読み出すドライブであり、例えば、ＣＤ−ＲＯＭドライブやＤＶＤ−ＲＯＭドライブである。
【００３４】
図３を参照すると、シャットダウン高速化部３１は、システム情報を、不揮発メモリ１４のシステム情報退避領域２１に退避させるシステム情報退避部３５をそなえる。又、シャットダウン高速化部３１は、不揮発メモリ１４の正常退避フラグ２６を設定する退避フラグ設定部３６もそなえる。
図３に示すように、ＵＰＳ管理部３４は、ＵＰＳ装置３から停電通知を受けると、所定の時間待機した後、ＵＰＳ装置３が給電可能なバックアップ時間が、サーバ２の通常シャットダウン処理を行なうのに十分長いかどうかを判定する。通常シャットダウンが可能であると判定した場合、ＵＰＳ管理部３４は、アプリケーション３３に対して終了コマンドを発行して、通常アプリケーション終了処理を実行させる。又、不揮発メモリ１４の高速終了フラグ２２をクリア（例えば値“０”を設定）する。その後、ＵＰＳ管理部３４は、ＯＳ３２のシャットダウンを実行する。
【００３５】
一方、バックアップ時間が不十分であると判定した場合には、ＵＰＳ管理部３４は、ＯＳ３２経由でシャットダウン高速化部３１に対し、高速アプリケーション終了処理の実行を指示する。
シャットダウン高速化部３１は、不揮発メモリ１４にシステム情報を退避させる処理を行なう。又、不揮発メモリ１４の高速終了フラグ２２をセット（例えば値“１”を設定）する。
【００３６】
一時データの退避が正常に行われた場合に、シャットダウン高速化部３１は、正常退避フラグ２６をセット（例えば値“１”を設定）する。
その後、ＵＰＳ管理部３４は、ＯＳ３２のシャットダウンを実行する。
次に、図４を用いて不揮発メモリ１４へのデータの退避について説明する。
図４は、実施形態の一例としてのサーバ２のメモリ構成を示す図である。
【００３７】
一般に、情報処理装置においては、ＣＰＵとシステムメモリがメモリバスで接続されており、Dual Inline Memory Module（ＤＩＭＭ）と呼ばれる１又は複数枚のメモリモジュールをそなえる。
本実施形態の一例のサーバ２においては、メインメモリ１３としてＤＩＭＭ１３−１，１３−２をそなえる他、ＤＩＭＭの一部に代えて、システム情報を一時的に退避させるための不揮発メモリ１４をそなえる。そして、ＣＰＵ１２、ＤＩＭＭ１３−１，１３−２、及び不揮発メモリ１４が、メモリバス５５で相互に接続されている。
【００３８】
図４に示すように、高速アプリケーション終了処理において、シャットダウン高速化部３１のシステム情報退避部３５（図３参照）は、ＣＰＵ１２のレジスタ５４の内容を、ＤＩＭＭ１３−１のスタック領域４２に保存し、スタック領域４２のデータを、不揮発メモリ１４のＣＰＵレジスタ退避領域２３に退避させる。ＣＰＵ１２のレジスタ５４の内容には、例えば、プログラムカウンタ等が含まれる。
【００３９】
さらに、システム情報退避部３５は、実行中のアプリケーション３３が使用しているＤＩＭＭ１３−１の領域４１を、不揮発メモリ１４のアプリケーション情報退避領域２４に退避させる。なお、ＣＰＵレジスタ退避領域２３とアプリケーション情報退避領域２４とが、図３を用いて前述したシステム情報退避領域２１を構成している。
又、システム情報が正常に不揮発メモリ１４に格納されると、シャットダウン高速化部３１の退避フラグ設定部３６は、不揮発メモリ１４の正常退避フラグ２６に、例えば値“１”を設定する。
【００４０】
なお、本実施形態の一例においては、サーバ２のＣＰＵ１２が、情報処理装置の停止プログラムを実行することにより、上記のシャットダウン高速化部３１、システム情報退避部３５及び退避フラグ設定部３６として機能するようになっている。
なお、上記のシャットダウン高速化部３１、システム情報退避部３５及び退避フラグ設定部３６としての機能を実現するためのプログラム（情報処理装置の停止プログラム）は、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ等），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ＋Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋ＲＷ等），磁気ディスク，光ディスク，光磁気ディスク等の、コンピュータ読取可能な記録媒体５３に記録された形態で提供される。そして、サーバ２は、媒体リーダ５２を用いて、記録媒体５３からプログラムを読み取って内部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
【００４１】
シャットダウン高速化部３１、システム情報退避部３５及び退避フラグ設定部３６としての機能を実現する際には、内部記憶装置（本実施形態ではサーバ２のメインメモリ１３）に格納されたプログラムがコンピュータのマイクロプロセッサ（本実施形態ではサーバ２のＣＰＵ１２）によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
【００４２】
なお、本実施形態において、コンピュータとは、ハードウェアとオペレーティングシステムとを含む概念であり、オペレーティングシステムの制御の下で動作するハードウェアを意味している。又、オペレーティングシステムが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、ＣＰＵ等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえており、本実施形態においては、サーバ２がコンピュータとしての機能を有しているのである。
【００４３】
（Ｂ）システム動作
次に、本実施形態の一例における情報処理システム１の動作について説明する。
図５は、実施形態の一例としての情報処理システム１における処理を示すフローチャート（ステップＳ１〜Ｓ８）である。
ステップＳ１において、ＵＰＳ装置３が停電の発生を検出して、サーバ２のＵＰＳ管理部３４に停電の発生を通知する。
【００４４】
次に、ステップＳ２において、ＵＰＳ管理部３４は、所定時間（例えば６０秒）が経過する前に、停電から復旧したかどうかを判定する。
ステップＳ２で所定時間の経過前に停電から復旧した場合（ステップＳ２のＹＥＳルート参照）、本処理を終了する。これにより、瞬停と呼ばれる瞬間的な停電によりサーバ２がシャットダウンされることが阻止される。
【００４５】
一方、所定時間を超えて停電が継続した場合（ステップＳ２のＮＯルート参照）、ＵＰＳ管理部３４は、ステップＳ３において、図７を用いて後述する判断処理を実施して、バッテリ６２の容量とサーバ２の消費電力とを求め、サーバ２の通常シャットダウンが可能かどうかを判定する。
ステップＳ３の判定の結果通常シャットダウンが可能である場合（ステップＳ４のＹＥＳルート参照）、ステップＳ５において、ＵＰＳ管理部３４は、高速終了フラグ２２をクリア（例えば、値“０”を設定）する。
【００４６】
次に、ステップＳ６において、ＵＰＳ管理部３４は、アプリケーション３３に対し、通常のアプリケーション終了処理を実行させる。
一方、ステップＳ３でバックアップ時間が足りない場合（ステップＳ４のＮＯルート参照）、ステップＳ７において、ＵＰＳ管理部３４は、高速終了フラグ２２をセット（例えば値“１”を設定）する。
【００４７】
次に、ステップＳ８において、シャットダウン高速化部３１は、高速アプリケーション終了処理を実行する。このステップＳ８の処理の詳細については図６を用いて後述する。
なお、この高速アプリケーション終了処理は、実行中のアプリケーション３３の状態を不揮発メモリ１４に一時的に情報を退避させる処理であり、通常のアプリケーション終了処理よりも処理時間が短い。
【００４８】
次に、図６を参照して、この高速アプリケーション終了処理について詳しく説明する。
図６は、実施形態の一例としての情報処理システム１における高速アプリケーション終了処理の実行時のシャットダウン処理及びＯＳ起動処理を示す図である。
ｔ１において停電が発生すると、図５を用いて前述したように、ＵＰＳ管理部３４は、所定の設定時間、停電から復旧するか待機する（時間Ａ）
所定時間が経過すると、ｔ２において、ＵＰＳ管理部３４が、バッテリ６２のバックアップ時間が十分あるかどうかを判定する。図６の例ではバックアップ時間が足りないため、ＵＰＳ管理部３４は、シャットダウン高速化部３１に高速アプリケーション終了処理を実行させる。この高速アプリケーション終了処理に要する時間を時間Ｂとして示す。
又、ＵＰＳ装置３に対してコマンドを送信し、所定時間（給電時間）後に出力電源をオフするように指示を行なう。
【００４９】
その後、ｔ３においてＵＰＳ管理部３４がＯＳ３２に対してシャットダウン処理の開始を指示する。このシャットダウン処理に要する時間を時間Ｃとして示す。
ＯＳ３２のシャットダウンが終了し、ｔ４において給電時間が経過するとＵＰＳ装置３からの電力出力がオフとなる。
図６の例では、情報処理システム１のシャットダウンに要する総時間（時間Ａ＋時間Ｂ＋時間Ｃ）は、図５のステップＳ６において通常のアプリケーション終了処理を実行した場合よりも短くなる。
【００５０】
その後、ｔ５において、電力供給が復旧し、サーバ２のＯＳ３２が起動される。
ＯＳ３２が起動されると、ｔ６において、ＯＳ３２は、高速終了フラグ２２をチェックして、前回高速アプリケーション終了処理が実行されているかどうかを判断する。前回高速アプリケーション終了処理が実行されている場合には、正常退避フラグ２６をチェックして、システムデータが不揮発メモリ１４に格納されているかどうかを判断する。
【００５１】
正常退避フラグ２６がセットされている場合、ＯＳ３２は、不揮発メモリ１４からシステム情報を取り出してＣＰＵ１２のレジスタ５４及びメインメモリ１３に復元し、復元したシステム情報に基づいて、通常のアプリケーション終了処理を継続して実行させる。
通常のアプリケーション終了処理が完了すると、ｔ７において、ＯＳ３２はシャットダウン処理を行ない、ｔ８でＯＳ３２を再起動させる。その後、ＵＰＳ管理部３４と、停電前にサーバ２で実行されていたアプリケーション３３とが起動される。
【００５２】
このように、本情報処理システム２においては、停電時に、ＵＰＳ装置３のバッテリ６２のバックアップ時間が不足する場合、高速アプリケーション終了処理を実行した後、復電後にアプリケーション終了処理を再開する。
図７に、図５のステップＳ３のバックアップ時間の判断処理のフローを示す（ステップＳ１１〜Ｓ１５，Ｓ４〜Ｓ８）。なお、図中、ステップＳ４〜Ｓ８は、前述の図５のステップＳ４〜Ｓ８と同じステップを示す。
【００５３】
ステップＳ１１において、ＵＰＳ管理部３４は、サーバ２の消費電力をサーバ２から読み出す。なお、この消費電力は、例えば、サーバ２の不図示のBaseboard Management Controller（ＢＭＣ）から読み出す。
ステップＳ１２において、ＵＰＳ管理部３４は、ステップＳ１１で取得した消費電力から、消費電力に基づくバックアップ可能時間Ｘ（秒）を計算する。
【００５４】
次に、ステップＳ１３において、ＵＰＳ管理部３４は、ＵＰＳ装置３のバッテリ６２の充電率Ｙ％（Ｙ＝０〜１００）をＵＰＳ装置３から取得する。その際、例えば、ＵＰＳ管理部３４は、ＵＰＳ装置３に対してコマンドを発行する。
ステップＳ１４において、ＵＰＳ管理部３４は、ステップＳ１３で取得したバッテリ６２の充電率から、消費電力に基づくバックアップ可能時間Ｚ（秒）を計算する。その際、ＵＰＳ管理部３４は、例えば、Ｚ＝Ｘ×Ｙ／１００により求める。
【００５５】
次に、ステップＳ１５において、ＵＰＳ管理部３４は、サーバ２の終了処理に必要と予想される時間Ｓ（秒）を計算する。その際、ＵＰＳ管理部３４は、サーバ２の記憶装置１８に格納されているシャットダウン処理時間データ２５を参照し、前回のサーバ２のシャットダウン時に終了処理が最長であったアプリケーションの処理時間を、最大終了時間Ｍ（秒）として求める。
【００５６】
図８は、シャットダウン処理時間データ２５を例示する図である。
シャットダウン処理時間データ２５は、実際には、データベースなどのテーブル形式で設けられるが、図８には説明の便宜上、シャットダウン処理時間データ２５をグラフ形式で示す。図８の例では、前回のサーバ２のシャットダウン時にアプリケーションＣの終了時間が最も長い。このため、ＵＰＳ管理部３４は、アプリケーションＣの前回の終了時間を最大終了時間Ｍ（秒）として取得する。
【００５７】
そして、ＵＰＳ管理部３４は、予測終了処理時間Ｓを、待機時間Ａ（図６参照）＋最大終了処理時間＋シャットダウン時間Ｃ（図６参照）として計算する。
その後、前述のように、ＵＰＳ管理部３４は、ステップＳ４（図５，図７参照）において、図７のステップＳ１４で求めたＺと、図７のステップＳ１５で求めたＳとを比較して、Ｚ＞Ｓの場合、シャットダウン時間が十分であると判定する。十分と判断された場合（ステップＳ４のＹＥＳルート参照）は、ステップＳ６において通常のアプリケーション終了処理が実行され、不足すると判断された場合（ステップＳ４のＮＯルート参照）は、ステップＳ８において高速アプリケーション終了処理が実行される。その際、ステップＳ５，７で高速終了フラグ２２に適宜値が設定される。
【００５８】
次に、シャットダウン高速化部３１による高速アプリケーション終了処理について説明する。
図９は、実施形態の一例としてのシャットダウン高速化部３１による高速アプリケーション終了処理を示すフローチャートである。
ステップＳ２１において、シャットダウン高速化部３１のシステム情報退避部３５は、ソフトウェア割込み命令を発行し、図４に示すように、命令発行時点のＣＰＵ１２のレジスタ５４を、メインメモリ１３のスタック領域４２に格納する。
【００５９】
次に、ステップＳ２２において、シャットダウン高速化部３１のシステム情報退避部３５は、割込み処理ルーチンにおいて、メインメモリ１３のスタック領域４２の内容を、不揮発メモリ１４のＣＰＵレジスタ退避領域２３に格納する。
次に、ステップＳ２３において、シャットダウン高速化部３１のシステム情報退避部３５は、割込み処理ルーチンにおいて、実行中のアプリケーション３３が使用しているメインメモリ１３の情報を不揮発メモリ１４のアプリケーション情報退避領域２４に格納する。
【００６０】
次に、ステップＳ２４において、シャットダウン高速化部３１の退避フラグ設定部３６は、ステップＳ２２，２３においてシステム情報の退避が正常に行なわれたかどうかを判定する。
システム情報の退避が正常に行なわれた場合（ステップＳ２４のＹＥＳルート参照）、ステップＳ２５において、シャットダウン高速化部３１の退避フラグ設定部３６は、不揮発メモリ１４の正常退避フラグ２６をセット（例えば、値“１”を設定）する。
【００６１】
一方、システム情報の退避が正常に行なわれなかった場合（ステップＳ２４のＮＯルート参照）、ステップＳ２６において、シャットダウン高速化部３１の退避フラグ設定部３６は、不揮発メモリ１４の正常退避フラグ２６をクリア（例えば、値“０”を設定）する。
次に、サーバ２の再起動時の処理について説明する。
【００６２】
図１０は、実施形態の一例としてのサーバ２の再起動処理を示すフローチャートである。
電力が復旧する（復電する）と、ＵＰＳ装置３は、サーバ２に対し、復電を通知し、ステップＳ３１において、サーバ２の不図示のＢＩＯＳが起動され、ＯＳ３２が起動される。
【００６３】
次に、ステップＳ３２において、サーバ２のＯＳ３２は、不揮発メモリ１４の高速終了フラグ２２がセットされているかどうかを判定する。
高速終了フラグがセットされている場合（ステップＳ３２のＹＥＳルート参照）、ステップＳ３３において、シャットダウン高速化部３１は、不揮発メモリ１４の正常退避フラグ２６がセットされているかどうかを判定する。
【００６４】
不揮発メモリ１４の正常退避フラグ２６がクリアされている場合（ステップＳ３３のＮＯルート参照）、前回の高速アプリケーション終了処理が失敗している。このため、ステップＳ３４において、シャットダウン高速化部３１はサーバ２の再起動処理を中断する。その際、例えばシステム管理者等にエラー通知などを行なう。
一方、正常退避フラグ２６がセットされている場合（ステップＳ３３のＹＥＳルート参照）、シャットダウン高速化部３１は、ステップＳ３５において、アプリケーション情報退避領域２４からアプリケーション使用領域４１に、アプリケーション情報を復元する。
【００６５】
ステップＳ３６において、シャットダウン高速化部３１は、不揮発メモリ１４のＣＰＵレジスタ退避領域２３からＣＰＵ３２のレジスタ５４の情報をメインメモリ１３のスタック領域４２に復元する。
ステップＳ３７において、シャットダウン高速化部３１は、メインメモリ１３のスタック領域４２からＣＰＵ３２のレジスタ５４に、ＣＰＵレジスタ情報を復元する。
【００６６】
ステップＳ３８において、シャットダウン高速化部３１は、アプリケーション３３に対して、正常終了処理の実行を指示し、アプリケーション３３を終了させる。
一方、ステップＳ３２で不揮発メモリ１４の高速終了フラグ２２がクリアされている場合（ステップＳ３２のＮＯルート参照）、前回、通常のアプリケーション終了処理が実行されているため、アプリケーションが通常通り起動される。
【００６７】
その後、アプリケーション３３の終了処理を行ない、アプリケーション３３を終了させる。
（Ｃ）効果
前述のように、実施形態の一例としてのサーバ２は、ハイパーバイザーの階層に相当する階層にシャットダウン高速化部３１をそなえ、システムメモリの一部として不揮発メモリ１４をそなえる。
【００６８】
シャットダウン高速化部３１は、停電発生時に、前回シャットダウン時の情報を参照して、予想バックアップ時間を計算し、バッテリ６２の容量が少ない場合、アプリケーション３３の終了時間を短縮して、サーバ２を短時間で停止させる。そして、サーバ２の次回起動時にアプリケーション３３の終了処理を継続し、ＯＳ３２のシャットダウンと再起動とを行なう。このようにして、実施形態の一例としてのサーバ２は、停電時のサーバ２の終了処理に要する時間を短縮することができる。
【００６９】
停電時にサーバ２のアプリケーション３３の終了処理時間を短縮できるため、サーバ２のシャットダウン時間を全体として短縮することができる。このため、従来よりもバッテリ６２の容量の小さいＵＰＳ装置３を使用して停電対策を行なうことができる。
その結果、ＵＰＳ装置３のバッテリ６２の充電に使用する電力を削減することができ、情報処理システム１全体の消費電力を削減することができる。
【００７０】
（Ｄ）その他
そして、開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、上述した実施形態では、不揮発メモリ１４としてＦＲＡＭを用いたが、ほかの不揮発メモリを使用してもよい。
【００７１】
又、上述した実施形態では、システムメモリが揮発性のメインメモリ１３と不揮発メモリ１４とをそなえるが、システムメモリの全体が不揮発メモリで構成されていてもよい。
或いは、上述した実施形態では、ＵＰＳ装置３を常時インバータ給電型のＵＰＳとして説明したが、ＵＰＳ装置３が、常時商用給電方式などの他の方式を採用するＵＰＳであってもよい。
【００７２】
さらに、上述した実施形態では、高速終了フラグ２２と正常退避フラグ２６とを別個のフラグとして設けたが、これらのフラグを、２ビット値以上の１つのフラグとして実装してもよい。
以上の実施形態に関し、さらに以下の付記を開示する。
（付記１）
情報処理装置であって、
不揮発記憶装置と、
停電検出時に、前記不揮発記憶装置にシステム情報を退避させる退避部と、
前記退避部による退避の後に、前記情報処理装置を停止させ、前記情報処理装置の次回起動時に、前記不揮発記憶装置の前記システム情報を用いて前記情報処理装置の装置停止処理を続行する処理部と、
をそなえることを特徴とする情報処理装置。
（付記２）
前記停電検出時に、無停電電源装置から供給可能な電力の供給時間が前記情報処理装置を装置停止処理させるのに十分であるかどうかを判定する判定部をさらにそなえ、
前記退避部は、前記判定部により前記電力の供給時間が十分ではないと判定された場合に前記前記不揮発記憶装置にシステム情報を退避させることを特徴とする付記１記載の情報処理装置。
（付記３）
前記システム情報は、前記情報処理装置のプロセッサのレジスタの情報と、前記情報処理装置において実行されているアプリケーションの情報とを含むことを特徴とする付記１又は２記載の情報処理装置。
（付記４）
前記判定部は、前記情報処理装置の先に行なわれた装置停止処理時の前記アプリケーションの終了処理に要した時間に基づいて判定を行なうことを特徴とする付記３記載の情報処理装置。
（付記５）
揮発記憶装置をさらにそなえ、
前記退避部は、前記プロセッサの前記レジスタの内容を、前記揮発記憶装置に退避させたのちに、前記不揮発記憶装置に退避させることを特徴とする付記３又は４記載の情報処理装置。
（付記６）
情報処理装置の停止方法であって、
停電検出時に、前記情報処理装置の不揮発記憶装置にシステム情報を退避させ、
前記退避の後に、前記情報処理装置を停止させ、
前記情報処理装置の次回起動時に、前記不揮発記憶装置の前記システム情報を用いて前記情報処理装置の装置停止処理を続行する
ことを特徴とする情報処理装置の停止方法。
（付記７）
前記停電検出時に、無停電電源装置から供給可能な電力の供給時間が前記情報処理装置を装置停止処理させるのに十分であるかどうかを判定し、
前記判定により前記電力の供給時間が十分ではないと判定された場合に前記前記不揮発記憶装置にシステム情報を退避させる
ことを特徴とする付記６記載の情報処理装置の停止方法。
（付記８）
前記システム情報は、前記情報処理装置のプロセッサのレジスタの情報と、前記情報処理装置において実行されているアプリケーションの情報とを含むことを特徴とする付記６又は７記載の情報処理装置の停止方法。
（付記９）
前記判定は、前記情報処理装置の先に行なわれた装置停止処理時の前記アプリケーションの終了処理に要した時間に基づいて行なうことを特徴とする付記８記載の情報処理装置の停止方法。
（付記１０）
前記退避時に、前記プロセッサの前記レジスタの内容を、前記情報処理装置の揮発記憶装置に退避させたのちに、前記不揮発記憶装置に退避させることを特徴とする付記８又は９記載の情報処理装置の停止方法。
（付記１１）
情報処理装置の停止プログラムであって、
停電検出時に、前記情報処理装置の不揮発記憶装置にシステム情報を退避させ、
前記退避の後に、前記情報処理装置を停止させ、
前記情報処理装置の次回起動時に、前記不揮発記憶装置の前記システム情報を用いて前記情報処理装置の装置停止処理を続行する
処理を前記情報処理装置に実行させることを特徴とする情報処理装置の停止プログラム。
（付記１２）
前記停電検出時に、無停電電源装置から供給可能な電力の供給時間が前記情報処理装置を装置停止処理させるのに十分であるかどうかを判定し、
前記判定により前記電力の供給時間が十分ではないと判定された場合に前記前記不揮発記憶装置にシステム情報を退避させる
処理を前記情報処理装置に実行させることを特徴とする付記１１記載の情報処理装置の停止プログラム。
（付記１３）
前記システム情報は、前記情報処理装置のプロセッサのレジスタの情報と、前記情報処理装置において実行されているアプリケーションの情報とを含むことを特徴とする付記１１又は１２記載の情報処理装置の停止プログラム。
（付記１４）
前記判定は、前記情報処理装置の先に行なわれた装置停止処理時の前記アプリケーションの終了処理に要した時間に基づいて行なうことを特徴とする付記１３記載の情報処理装置の停止プログラム。
（付記１５）
前記退避時に、前記プロセッサの前記レジスタの内容を、前記情報処理装置の揮発記憶装置に退避させたのちに、前記不揮発記憶装置に退避させる処理を前記情報処理装置に実行させることを特徴とする付記１３又は１４記載の情報処理装置の停止プログラム。
【符号の説明】
【００７３】
１              情報処理システム
１２            ＣＰＵ（プロセッサ）
１３            メインメモリ（揮発記憶装置）
１４            不揮発メモリ（不揮発記憶装置）
２              サーバ（情報処理装置）
２２            高速終了フラグ
５４            レジスタ
２６            正常退避フラグ
３              ＵＰＳ装置（無停電電源装置）
３１            シャットダウン高速化部（退避部）
３２            ＯＳ
３３            アプリケーション
３４            ＵＰＳ管理部（判定部，処理部）
【図１】
0006020707.tif 000002
【図２】
0006020707.tif 000003
【図３】
0006020707.tif 000004
【図４】
0006020707.tif 000005
【図５】
0006020707.tif 000006
【図６】
0006020707.tif 000007
【図７】
0006020707.tif 000008
【図８】
0006020707.tif 000009
【図９】
0006020707.tif 000010
【図１０】
0006020707.tif 000011