(57)【要約】      （修正有）【課題】コンピュータ及びコンピュータ組込電気、電子機器等において、ソフトウェアの状態を購入時の状態に戻すリカバリ処理を適切なタイミングにて実施可能なシステムを提供することを目的とする。【解決手段】起動後のコンピュータの終了時にオペレーティングシステムによる規定の終了処理を経ずによらずに終了した場合これをバイオスにて異常終了発生として検出し、異常終了発生の検出の繰り返し回数を計数しＳ２２、異常終了発生繰り返し回数の計数値が所定の値を上回った際Ｓ２３に当該コンピュータに対する所定のリカバリ処理実施の判断Ｓ２４を行う各段階よりなる構成である。【選択図】図３
2006215905.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータにおいて、
コンピュータの終了時に規定の終了処理を経ずに終了した場合これを異常終了発生として検出し、
異常終了発生の検出の繰り返し回数を計数し、
異常終了発生繰り返し回数の計数値が所定の値を上回った際に当該コンピュータに対する所定の復元処理の実施を判断する各段階よりなる停止状況監視方法。
【請求項２】
コンピュータの停止状況を監視することによって当該コンピュータに対する所定の復元処理の実施のタイミングを判断するための方法であって、
コンピュータの起動の際、正常終了情報を判定し、判定の結果、正常終了情報がセットされていた場合これをリセットすると共にコンピュータを起動し、
起動後のコンピュータの停止の際に正常終了した場合正常終了情報をセットする各段階よりなるコンピュータの停止状況監視方法。
【請求項３】
前記コンピュータの起動の際の正常終了情報の判定の結果、正常終了情報がセットされていなかった場合に異常終了カウンタの計数値を増加させ、
その後異常終了カウンタの計数値を基準値と比較し、その結果が基準値を上回っていた場合所定の異常回復処理を実施する各段階よりなる請求項２に記載のコンピュータの停止状況監視方法。
【請求項４】
前記所定の異常回復処理は、復元関連情報がセットされているか否かを判定し、
その判定の結果、復元関連情報がセットされていた場合は故障の旨を示すメッセージを出力し、他方、復元関連情報がセットされていなかった場合はコンピュータに対して所定の復元処理を実行すると共に復元関連情報のセットと異常終了カウンタの計数値のリセットを実行する各段階よりなる請求項３に記載のコンピュータの停止状況監視方法。
【請求項５】
コンピュータにおいて、
コンピュータの終了時に規定の終了処理を経ずに終了した場合、これを異常終了発生として検出する手段と、
異常終了発生の検出の繰り返し回数を計数する手段と、
異常終了発生繰り返し回数の計数値が所定の値を上回った際に当該コンピュータに対する所定の復元処理の実施を判断する手段とよりなるコンピュータ。
【請求項６】
コンピュータの停止状況を監視することによって当該コンピュータに対する所定の復元処理の実施のタイミングを判断する機能を有するコンピュータであって、
コンピュータの起動の際に正常終了情報を判定する手段と、
その判定の結果正常終了情報がセットされていた場合、これをリセットすると共にコンピュータの起動を実施する手段と、
起動後のコンピュータの停止の際正常終了した場合に正常終了情報をセットする手段とよりなるコンピュータ。
【請求項７】
前記コンピュータの起動の際の正常終了情報の判定の結果、正常終了情報がセットされていなかった場合に異常終了カウンタの計数値を増加させる手段と、
その後異常終了カウンタの計数値を基準値と比較する手段と、
その比較結果が基準値を上回っていた場合に所定の異常回復処理を実施する手段とよりなる請求項６に記載のコンピュータ。
【請求項８】
前記所定の異常回復処理を実施する手段は、復元関連情報がセットされているか否かを判定する手段と、
その判定の結果、復元関連情報がセットされていた場合、故障の旨を示すメッセージを出力する手段と、
前記判定の結果、復元関連情報がセットされていなかった場合、コンピュータに対して所定の復元処理を実行すると共に復元関連情報をセットする手段とよりなる請求項７に記載のコンピュータ。
【請求項９】
前記正常終了情報の判定の結果、正常終了情報がセットされていた場合、異常終了カウンタの計数値、復元関連情報及び正常終了情報をそれぞれリセットする手段よりなる請求項８に記載のコンピュータ。
【請求項１０】
コンピュータを、コンピュータの終了時に規定の終了処理を経ずに終了した場合、これを異常終了発生として検出する手段と、
異常終了発生の検出の繰り返し回数を計数する手段と、
異常終了発生繰り返し回数の計数値が所定の値を上回った際に当該コンピュータに対する所定の復元処理の実施を判断する手段と、して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
コンピュータの停止状況監視方法、情報処理装置及びプログラムに係り、特にコンピュータのリカバリ処理実施タイミングを適切に判断する機能を実現するためのコンピュータの停止状況監視方法、情報処理装置及びプログラムに関する。
【背景技術】
【０００２】
例えばパーソナルコンピュータが正常に動作しなくなる原因として、当該パーソナルコンピュータのハードウェアの故障以外に、ユーザによる誤操作、オペレーティングシステムの不具合、アプリケーションソフトウェアの不具合等、ソフトウェアの不具合によるものがある。
【０００３】
一方、ユーザが購入後にパーソナルコンピュータを直ぐに使えるように、予めパーソナルコンピュータにオペレーティングシステムやアプリケーションをインストールした状態で販売することが行われている。このような場合、購入時のパーソナルコンピュータの状態に復元することができるよう、補助記憶装置としてのハードディスクの初期状態の内容を光ディスク媒体またはハードディスクの所定の領域に格納しておき、それを使ってハードディスクの内容を初期状態に復元することを可能としている。この処理は所謂リカバリ処理と呼ばれる。
【０００４】
よって、上記のような不具合が生じた場合、リカバリ処理を実施することによって問題の解決を図ることが可能となる。これは、ハードディスクに格納されたオペレーティングシステム、各種アプリケーションソフトウェア等を全て製品購入時の状態と戻すことにより、少なくともソフトウェアの不具合による問題は完全に解消され得るからである。
【特許文献１】特開２００４−３８９３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながらパーソナルコンピュータが正常に動作しなくなった場合、ユーザは当該パーソナルコンピュータの製造業者等に修理或いは製品の交換を依頼する場合が多い。このような場合、例えば修理の段階で問題の所在がソフトウェアに存することが判明すればその時点で上記リカバリ処理を実行することで問題解決が図られる可能性がある。しかしながらそうでない場合、実際にハードウェアの交換、製品自体の交換に至り、結果的に不要に費用がかさむことになる場合がある。
【０００６】
本発明はこのような問題点に鑑み、パーソナルコンピュータ或いはコンピュータ組込電気、電子機器がリカバリ処理の実施を要するタイミングを自動的に検出し、適宜自動的にリカバリ処理を実施し、或いはユーザに対しリカバリ処理の実施を促すメッセージを発生することを可能にするシステムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的の達成のため本発明では、所定の起動処理を行った後にアプリケーションを動作させるコンピュータにおいて、コンピュータの終了時に規定の終了処理を経ずに終了した場合これを異常終了発生として検出し、異常終了発生の検出の繰り返し回数を計数し、異常終了発生繰り返し回数の計数値が所定の値を上回った際に当該コンピュータに対する所定の復元処理の実施を判断する各段階よりなる構成とした。
【発明の効果】
【０００８】
本発明によれば、比較的簡易な構成で、コンピュータが復元処理を要するタイミングを的確に判定することが可能となり、もって無用なハードウェアの交換等による費用の増大を効果的に防止し得ると共に、逆に無用な復元処理の実施による余分なデータバックアップ・各種プログラム再インストール作業等の必要性の発生をも防止得る。
【発明を実施するための最良の形態】
【０００９】
コンピュータのソフトウェアの不具合は多くの場合、バイオス（ＢＩＯＳ）以外のオペレーティングシステム或いはアプリケーションソフトウェアに関する不具合によるものである。このため、該当する不具合によってオペレーティングシステムが正常に終了しない場合であっても、このような停止状況をバイオスにて検出し、これを所定の不揮発メモリに記憶させることが可能である。
【００１０】
又、ソフトウェアの不具合は、多くの場合、一旦オペレーティングシステムのシャットダウン機能によりコンピュータを停止させ、その後再起動させることのみによっても回復する。したがって仮に上記の如くオペレーティングシステムを正常に終了させることができず、その結果電源スイッチの長押し（数秒間押しつつける操作）等によって強制的にコンピュータの動作を終了させる状況が複数回発生するような場合であっても、その事実だけで上記リカバリ処理の実施を要するタイミングに至ったと判断することは必ずしも妥当でない。
【００１１】
したがって本発明では上記の如く、あくまで異常終了の繰り返し、即ち連続発生回数を計数し、その計数値によってリカバリ処理の必要性を判断することとし、不要なリカバリ処理の実施を防止するようにしている。
【００１２】
本発明の実施の形態によれば、コンピュータに格納されたバイオス（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）は、その起動時に、コンピュータの前回起動後の停止時にオペレーティングシステムが正常にシャットダウンを行えたかを判定する。そしてその判定の結果、前回正常なシャットダウンができておらず、且つ、そのような状況が連続して発生していることが判明した場合、所定のリカバリ処理を行うか、或いは同リカバリ処理を行うことをユーザに対して促すメッセージを出力する（例えば同メッセージ画面を表示する）。
【００１３】
又、同リカバリ処理を行った後においても更に正常シャットダウン動作がなされていないことが判明した場合にはハードウェアの故障と診断し、そのメッセージを出力する。
【００１４】
尚、上記判定（正常にシャットダウンが行えない状況が連続して発生することの判定、及びリカバリ処理後、尚正常シャットダウンが行えない状況発生の判定）を行うためには、オペレーティングシステムに依存しない動作処理手段及び記憶手段が必要となる。この場合、既存のバイオスの機能及び、電源断時も記憶内容が維持される不揮発性の保存領域（例えば、ＥＥＰＲＯＭ）を利用することにより実現が可能である。
【００１５】
尚、上記「シャットダウン」とは、一般的な所謂ＡＣＰＩ（アドバンスト・コンフィギュレーション・アンド・パワー・インタフェース）機能を備えたパーソナルコンピュータのオペレーティングシステムの動作上の操作として通常行うものとされている以下の動作をいう。即ち、オペレーティングシステムのメニュー画面で「シャットダウン」を指示するメニューを押下する等の規定の一連の操作、即ち、通常パーソナルコンピュータの使用を終えてオペレーティングシステムの動作により自動的に同コンピュータを停止させその電源断に至らしめるための処理を行った場合、これに応じて規定の手順にしたがって安全にコンピュータの動作が自動的に停止される動作をいう。
【００１６】
尚、最近のパーソナルコンピュータは上記構成とは異なり、電源スイッチを軽く押下することによって上記の規定の一連の操作を行ったのと同様の効果を生ずる機能を有するものとなっているものがある。
【００１７】
この「シャットダウン」は上記の如くオペレーティングシステムの動作に依存しているため、何らかの原因（後述）でオペレーティングシステムに不具合が発生した場合、「シャットダウン」が正常に行えないという事態が発生する。
【００１８】
その場合、ユーザはハードウェアとしての電源スイッチを押下する等の手段により、強制的にコンピュータの動作を停止させ、電源断に至らしめることが可能である。しかしながらこのような強制終了操作を行った場合、コンピュータの動作中に設定された設定値の保存等の所定のシャットダウン処理がなされないため、必要なデータが失われてしまう等の問題が発生する可能性がある。このため、一般的には、可能な限りこのような強制終了操作は行うべきではないものとされている。
【００１９】
しかしながらこのように強制終了操作によりコンピュータを停止させたのちにコンピュータを再起動することにより、結果的にオペレーティングシステムの機能としてＣＰＵに付随するメモリがリセットされ、その結果正常なシャットダウン動作を妨げていた原因が解消されることにより、該当するソフトウェアの不具合が解消する場合がある。その意味では、このように強制終了から再起動に至る一連の処理はソフトウェアの不具合解消のためのひとつの手段といえる。
【００２０】
尚、このような「再起動」によるソフトウェアの不具合解消は、上記の如く正常なシャットダウン動作が行えなかった場合に限らず、不具合の程度が軽く、オペレーティングシステムの動作による正常なシャットダウン動作が可能な場合であっても有効な場合が有る。即ち、該当する問題点がアプリケーション又はハードウェアに付随するドライバ側の不具合にとどまっており、オペレーティングシステムの不具合にまで至っていないような場合である。
【００２１】
又、リカバリ処理とは上記の如く、コンピュータをソフトウェア的に製品購入時の状態に戻す処理であるため、ハードディスクに保存されている、購入後に作成したデータ等は全て消去される。このため、必要なデータ等はＣＤ−ＲＯＭ等に予めバックアップをとっておく必要があり、またリカバリ処理後はそのようにして一旦退避したデータ等を元通りハードディスク内に格納し直す作業が必要となる。
【００２２】
このようにリカバリ処理は一定の作業量及び作業時間を要するものであるため、真に必要な際にのみ行うべきものと考えられる。しかしながら、上記の如く、このリカバリ処理はコンピュータをソフトウェア的に製品購入時の状態に戻す処理であるため、製品購入後に発生したソフトウェアに起因する問題点は全て解決することとなり、その意味ではソフトウェアに関連する不具合を除去するための手段としては非常に有効なものといえる。
【００２３】
例えば、上記特許文献１では、ユーザによる起動指示入力に応じ自動的にコンピュータのリカバリ処理を実施する方法が開示されている。しかしながらこの方法では、実際にリカバリ処理を実施するタイミングにつき、あくまでユーザ自身が判断して決定する必要がある。上記の如く、リカバリ処理はソフトウェアの不具合解決のために非常に有効な手段であるが、他方、これを実施するためにはデータバックアップ及びリカバリ処理後の際再格納処理等の作業が必要となる。このような作業が仮に自動的でなされるとしても、相当の時間を要するものと考えられ、ユーザの通常の作業を妨げる可能性が大きいことには変わりはない。
【００２４】
したがって上記の如く、ユーザとしては可能な限りリカバリ処理の実施は避けたいと考えるのが通常と思われる。又、上記の如く、必ずしもリカバリ処理を行わずとも、強制終了から再起動に至る一連の処理のみによって該当する不具合が解決する場合も有るため、リカバリ処理を実施すべきタイミングの判定は必ずしも容易ではないといえる。
【００２５】
本発明の実施の形態によれば、上記の如く、正常なシャットダウン動作が行えない状況が連続して発生した場合、その回数により、リカバリ処理実施のタイミングを判定する。したがって、例えばこのような、正常なシャットダウン動作が行えず、やむを得ず強制終了操作を行ってコンピュータを停止させたが、次回の起動の際には正常に起動し且つその後の停止時には正常なシャットダウン動作が可能となったような場合、上記回数はリセットされる。上記の如く、そのようにしてソフトウェアの不具合解決がなされる場合も多いと考えられるからである。したがって、無用のリカバリ処理の実施を回避可能であり、不必要にユーザの通常の作業の進行を妨げるような状況が回避できる。
【００２６】
又更に、本発明の実施の形態では、一旦リカバリ処理を実施したにもかかわらず、その後のコンピュータの起動後の停止の際、再度正常なシャットダウン動作が行えない状況が発生した場合、リカバリ処理でも解決し得ない深刻な不具合が発生したものと判定する。通常リカバリ処理の実施によっても解決し得ないような不具合は、製造業者等に修理或いは交換を依頼するに足る深刻な不具合である場合と考えられるからである。
【００２７】
このように本発明の実施の形態のコンピュータの停止状態監視方法によれば、(i)：正常なシャットダウン動作が可能な状態であればこれを行い、(ii)：正常なシャットダウン動作が不可であれば強制終了操作の後再起動を行い、(iii)：(ii)のような事態が連続して発生した場合にはリカバリ処理を行い、(iv)リカバリ処理によっても問題が解決しない場合には製造業者に修理或いは交換を依頼することを促すという段階的な過程を設けた。その結果、該当する不具合の程度により、常に適切な対処がなされ得るシステムを構築することが可能となる。
【００２８】
又、ソフトウェアの不具合は多くの場合、オペレーティングシステム（オペレーティングシステム上で動作する各種アプリケーションソフトウェアを含む）に関わるものといえ、その際、オペレーティングシステムとは独立して動作する構成とされているバイオスは正常に動作する。このため、上記本発明の実施の形態によるコンピュータの停止状況監視方法では、上記段階(iii)におけるリカバリ処理実施の判定及び段階(iv)における製造業者に修理或いは交換を依頼すべき旨の判定を行うための処理はバイオスで実施することとしている。又、その際、コンピュータの電源断の状態でもデータが消えないように適宜不揮発記憶手段を利用するものとする。その結果、多くの場合、ソフトウェアの不具合解決を有効に図り得る。
【実施例１】
【００２９】
以下、本発明の実施例につき、図と共に説明する。
【００３０】
図１乃至３は本発明の一実施例による情報処理装置としてのパーソナルコンピュータが、バイオスに組み込まれたプログラム(以下、「停止状態監視プログラム」と称する)の実行により実施する停止状況監視処理のフローチャートである。又、図５は、上記停止状態監視プログラムのプログラムリスト例を示す。図５に示すステップ番号は、図１乃至３に示すステップ番号に夫々対応し、対応する動作を実行するための命令を示す。
【００３１】
この停止状態監視プログラムがバイオスに組み込まれていることにより、当該パーソナルコンピュータのＣＰＵにより、オペレーティングシステムとは独立にこれを実行可能である。その結果、何らかの原因でオペレーティングシステムが正常に実行させることが出来ないような状況においても実行可能であり、もってオペレーション関連の不具合時であっても、本発明の実施例による停止状況監視処理を有効に実施可能となる。
【００３２】
図１に示す処理は上記停止状況監視プログラムの処理アルゴリズムの内、初期化処理である。これは製品出荷時になされる処理である。ステップS1では「リカバリフラグ」をゼロに初期化する。リカバリフラグとは当該パーソナルコンピュータの前回の動作時にリカバリ処理が実行された場合“１”が設定されるフラグである。
【００３３】
ステップＳ２では「異常終了カウンタ」の計数値をゼロに初期化する。異常終了カウンタとは、異常終了の連続発生回数を計数するカウンタである。「異常終了」とは、上記オペレーティングシステムによる規定の手順による正常なシャットダウン動作以外の動作にてパーソナルコンピュータが停止された場合をいう。具体的には、例えば、上記強制終了操作による停止の場合等である。
【００３４】
ステップＳ３では、上記異常終了カウンタの計数値の判断基準である「異常終了判定数」を設定する。この場合、一例として“３”を設定する。即ちこの場合、正常なシャットダウン動作以外の動作にてパーソナルコンピュータが停止された連続回数が３に至った場合、リカバリ処理を要すると判定することとなる。
【００３５】
ステップＳ４では、「シャットダウンフラグ」を“１”に初期化する。このシャットダウンフラグとは、当該パーソナルコンピュータの前回の停止状況が「正常なシャットダウン動作」によるものだった場合、“１”が設定されるフラグである。
【００３６】
尚、上記リカバリフラグ、異常終了カウンタ、異常終了判定数及びシャットダウンフラグの各値は、上記バイオスに組み込まれた停止状況監視プログラムの機能により、当該パーソナルコンピュータの電源が断の状態となっても消えることがない所定の不揮発メモリ或いは不揮発記憶領域（図６中、メモリ５２０に含まれるメモリ或いは記憶領域）に書き込まれる。
【００３７】
このように不揮発メモリ等に書き込まれることにより、上記リカバリフラグ、異常終了カウンタ、異常終了判定数及びシャットダウンフラグの各値はパーソナルコンピュータの運転停止に関わらず維持され、もって後述する本発明の実施例による停止状況監視処理が有効に機能し得る。
【００３８】
図２及び図３は、上記停止状況監視プログラムの処理アルゴリズムの内、実行部を示す。
【００３９】
まず、パーソナルコンピュータ本体起動時、バイオスによりステップＳ１１にて、シャットダウンフラグ値が１か否かが判定される。即ち、前回起動時オペレーティングシステムからＡＣＰＩ機能によるシャットダウンの旨の信号を受けていたか(即ち正常終了していたか)をチェックする。この判定の結果、前回正常終了していた場合（ステップＳ１２）、異常終了カウンターをゼロにリセットする（ステップＳ１３）。なおここで、既に異常終了カウンタがゼロの場合（Ｙｅｓ）、そのままステップＳ１５を実行する。
【００４０】
ステップＳ１５では、バイオスはリカバリフラグをゼロにリセットする（ステップＳ１６）。なおここで、既にリカバリフラグがゼロの場合（Ｙｅｓ）、そのままステップＳ１７を実行する。
【００４１】
他方ステップＳ１１の判定にてシャットダウンフラグが１でなかった場合（ＮＯ）、即ち前回異常終了していた場合（ステップＳ２１）、異常終了カウンターを“1”増加する（ステップＳ２２）。そしてステップＳ２３にて異常終了カウンタの値を上記異常終了判定数の設定値と比較する。
【００４２】
その結果異常終了カウンタの値が異常終了判定数以上、即ちこの例の場合３以上であった場合（Ｙｅｓ）、コンピュータが正常起動(終了)が出来ない状態になっているものと判断する。そして、ステップＳ２４にてリカバリフラグの値を判定する。ここでリカバリフラグが“１”の場合（ＮＯ）、既に前回リカバリ処理を実施済みであるためハードウェアの故障と判断し、ステップＳ２８に進む。ステップＳ２８にて「製造業者に連絡して修理を依頼して下さい」等のメッセージを出力し、ステップＳ２９にてコンピュータのシャットダウンを実施する。
【００４３】
ステップＳ２４の判定結果がＹｅｓの場合、即ち前回リカバリ処理を実施済みではないため、今回リカバリ処理を実行するか或いはユーザに対してリカバリ処理実施を促すメッセージを出力する（ステップＳ２５，Ｓ２６）。そしてリカバリ処理終了後ステップＳ２６に進み、リカバリ処理を既に実施した事実を示す意味でリカバリフラグに“１”を設定する。尚、リカバリ処理については後述する。
【００４４】
次にステップＳ２７に進み、異常終了カウンタをゼロにリセットする。そしてステップＳ２０に進み、シャットダウンフラグを“１”に設定する。尚、ステップＳ２４乃至Ｓ２９を総称して「異常回復処理」と呼ぶ。
【００４５】
他方ステップＳ１７では、シャットダウンフラグを一旦“０”に設定する。これはその後ステップＳ２０にて再度“１”に戻される。しかしながらそれはオペレーティングシステムによってコンピュータの動作が正常に終了できた場合である。他方、動作中に何らかの原因でソフトウェアの異常が発生する等によってオペレーティングシステムが正常にシャットダウンできなかった場合ステップＳ２０を通らず、その場合シャットダウンフラグが“０”のままパーソナルコンピュータが停止することになる。即ち、正常シャットダウンがなされなかった旨の記録が残される。
【００４６】
次にステップＳ１８にてオペレーティングシステムが起動し、その後通常動作を行う（ステップＳ１９）。これ以降、ユーザはパーソナルコンピュータを使用して通常の業務（例えばワードプロセッサ用アプリケーションの機能による文書作成等）を実施する。そしてその作業が終了してユーザにより上記規定のシャットダウン操作（即ち、所定操作後に画面上に表示されるシャットダウンボタンを押下する、或いは電源スイッチを軽く押下する等による）がなされるとバイオスによってシャットダウンフラグが“１”に戻され（ステップＳ２０）、通常のソフトウェアのシャットダウン手順によりパーソナルコンピュータが安全に停止する（ステップＳ２１）。
【００４７】
図４は図３におけるステップＳ１７乃至Ｓ２１の一連の処理を説明するためのシーケンス図である。これはパーソナルコンピュータの起動から終了に至る信号授受のシーケンスを示している。図４に示す如く、本発明の実施例としてのパーソナルコンピュータは、一般的なパーソナルコンピュータの構成として、電源スイッチを含む基本的入出力に関するハードウェア１０とオペレーティングシステム３０との間の信号の授受をバイオス２０が担う形態を有している。
【００４８】
ステップＳ４１にてパーソナルコンピュータの電源スイッチが押下されると、ステップＳ４２にてバイオス２０は、必要に応じて該当するドライバソフトウェアを介して各ハードウェア１０を初期化する動作を行う。それが完了すると、完了の通知がハードウェア側１０からバイオス２０に送られ（ステップＳ４３）、これを受けたバイオス２０はオペレーティングシステム３０を起動する（ステップＳ４４）。尚、図３のステップＳ１７のシャットダウンフラグを“０”にセットする動作はステップＳ４３に応じてバイオス２０によって行われるステップである。
【００４９】
このようにしてオペレーティングシステム３０が起動後は、上記の如く、ユーザは当該パーソナルコンピュータを使用した通常の業務（上記の如く、ワードプロセッサ用アプリケーションの機能による文書作成等）を実施可能となる。その結果、必要に応じてユーザはオペレーティングシステム３０，バイオス２０を通じ、更に必要に応じてドライバソフトウェアを通じてプリンタ等の各ハードウェアを動作させることが可能である（ステップＳ４５，Ｓ４６）。
【００５０】
そして通常業務の終了後、ユーザがパーソナルコンピュータを停止する操作を行う（ステップＳ４７）。ここで、本発明の実施例によるパーソナルコンピュータは電源スイッチを軽く押すとシャットダウンを実行し、長押しをすると強制電源断動作を実行する機能を有しているものとする。したがって、この場合、ユーザが電源スイッチを軽く押下することにより、上記通常のシャットダウン動作が起動することになる。
【００５１】
その結果バイオス２０はオペレーティングシステム３０に対しシャットダウンを指示する信号を送信し、これを受けたオペレーティングシステム３０は、ユーザが上記通常の業務遂行の目的で起動したアプリケーションソフトウェアの動作を終了させる。その後バイオス２０は同様に起動されているプリンタ等のハードウェアの動作を終了させる（ステップＳ４８）。
【００５２】
その結果、ハードウェアの動作の終了が完了するとその通知がバイオス２０を通じてオペレーティングシステム３０に送られ、これを受けたオペレーティングシステム３０はシャットダウン処理を完了する（ステップＳ５０）。その通知を受けたバイオス２０は図３のステップ２０におけるシャットダウンフラグを“１”に戻す動作を行う。その後バイオス２０はパーソナルコンピュータの電源断の動作を実施する（ステップＳ５１）。
【００５３】
以下に本発明の実施例による情報処理装置としてのパーソナルコンピュータが実施する停止状況監視処理が対象としている、上記「オペレーティングシステムが正常なシャットダウンを行うことが出来なくなる状況」の具体例につき、詳細に説明する。
【００５４】
即ち、図４中、「問題発生位置１」（オペレーティングシステムの起動時）において発生し得る不具合の例は以下の通りである（尚、括弧内にその原因を示す）。
【００５５】
“ＯＳ  ｎｏｔ  ｆｏｕｎｄ”のアラームの発生(ブートストラップコードが消滅など)
所謂ブルーバックエラー表示(オペレーティングシステム起動に必要なファイルが消滅など)
オペレーティングシステム起動直後のエラー表示(常駐アプリケーションに問題など)
リブート(誤ったドライバが導入されたなど)
図４中、「問題発生位置２」（オペレーティングシステム起動後にアプリケーション実行時問題が発生する場合）における不具合の例は以下の通りである（尚、括弧内にその原因を示す）。
【００５６】
アプリケーションエラー(正常動作しないアプリケーションを実行による)
ハングアップ(アプリケーション同士の動作不整合など)
ブルーバックエラー表示(誤ったドライバが実行されたなど)
図４中、「問題発生位置３」（オペレーティングシステム、アプリケーション終了時問題が発生する場合）における不具合の例は以下の通りである（尚、括弧内にその原因を示す）。
【００５７】
アプリケーション終了不可(正常動作しないアプリケーションによる)
アプリケーション終了時エラー(同上)
ハングアップ(正常動作しないドライバなど)
図４中、「問題発生位置４」（ハードウェア停止時問題が発生する場）における不具合の例は以下の通りである（尚、括弧内にその原因を示す）。
【００５８】
オペレーティングシステム終了不可(正常終了できないハードウェアによる)
ハングアップ(同上)
ブルーバックエラー表示(同上)
上記「問題発生位置４」の場合はハードウェアの故障による可能性が高いが、それ以外の場合（「問題発生位置１」、「問題発生位置２」、「問題発生位置３」の各場合）、ソフトウェア的な要因を排除することで不具合を回復できる可能性が十分に残されているとみてよい。
【００５９】
ソフトウェア的な回復手段としては様々なものが考えられるものの、上記の如く、確実な方法としてリカバリ処理を実行することが挙げられる。
【００６０】
上記「問題発生位置１」乃至「問題発生位置４」の内の何れの位置で問題が発生した場合であって、その後ユーザによって強制的に電源を切る操作（電源スイッチの長押し等）が行われた場合、その後の処理が行われずに電源が切れることとなる。その結果、シャットダウン処理の最終段階（ステップＳ２０）におけるシャットダウンフラグを“１”に戻す動作がなされなくなる。その結果、次回電源投入時、シャットダウンフラグの内容を参照することにより、正常なシャットダウン処理にて終了しているかの判定が可能となる（図２のステップＳ１１）。
【００６１】
次に、図３のステップＳ２５におけるリカバリ処理につき、詳細に説明する。
【００６２】
リカバリ処理とは、ハードディスクの格納内容（各種ソフトウェアのその時点の状態を保持するデータ含む）を、当該パーソナルコンピュータの製品購入時の状態に戻す動作をいう。具体的には一旦ハードディスクの記憶内容をすべて削除し、当該製品に添付されたディスク（ＣＤ−ＲＯＭ等）などから購入時のデータ（オペレーティングシステムプログラム、各種アプリケーションソフトウェアプログラム、その他、必要なデータ等、以下「リカバリ用復元データ」と称する）を読み出し、これをハードディスクに格納し直す処理を行う。
【００６３】
リカバリ処理を行うとその時点での設定などがすべてリセットされるため、原因特定や復帰方法が難しい不具合を解決できる場合がある。製品に添付されたマニュアルやネットワークを介したオンラインマニュアルにはさまざまな問題に対する対処法が記載されているが、それらによって回復できない場合、すべてを元に戻すリカバリによって回復が可能な場合がある。
【００６４】
リカバリ処理を行うためのデータ（リカバリ用復元データ）、即ち製品購入時ハードディスクに格納されていた情報、及びこれをハードディスクに格納するためのプログラム（以下、「リカバリプログラム」と称する）は別途提供された光ディスク或いはハードディスク自体に収納してあり、バイオスのブート機能を利用してリカバリ処理の実行が可能となる。
【００６５】
光ディスクの場合、該当するコンピュータのドライブにディスクをセットし、バイオスのブート機能にて光ディスクからブートを行い、光ディスク内の復元するプログラム（リカバリプログラム）を実行しデータを復元する。この場合バイオスの一般的な機能として、ハードディスクの内容が壊れているような場合にも上記ディスクからリカバリプログラムを起動して上記復元動作を実施可能である。具体的には、例えば図４に示すバイオス２０を、図６と共に以下に説明するメモリ５２０の一部として設けるＲＯＭに書き込んでおくことにより可能となる。
【００６６】
図６は、上述の本発明の実施例によるパーソナルコンピュータのハードウェア構成例を示す。
【００６７】
図示の如く、上述の本発明の実施例による同パーソナルコンピュータ５００は、ＣＰＵ５１０，ＣＰＵ５１０により一時的なデータの格納或いは作業領域として使用可能なメモリ５２０，補助記憶装置としてのハードディスク５３０，ＣＤ−ＲＯＭ等の可搬記録媒体５４５用のドライブ５４０を含む。
【００６８】
図１乃至３と共に説明した本発明の実施例によるパーソナルコンピュータが実施する停止状況監視処理は上記の如くバイオス２０の一機能として設け、これがＣＰＵ５１０によって実行されることにより実現される。この場合、例えば可搬記録媒体５４５に停止状況監視プログラムを格納し、これをドライブ５４０を介してＣＰＵ５１０が読み出した後、メモリ５２０にインストールすることにより実現可能である。
【産業上の利用可能性】
【００６９】
本発明は上述の如くのパーソナルコンピュータに対する適用例に限られず、他のコンピュータ利用電気、電子機器一般において適用可能である。
【００７０】
図７は本発明の他の実施例として、本発明をパーソナルコンピュータ以外の家庭電気、電子機器、携帯電話機等に適用した例を示す。
【００７１】
パーソナルコンピュータへの適用例の場合上記の如く、リカバリ処理を行うためのデータ及びリカバリプログラムを格納した媒体を別途製品に添付する形態が一般的である。しかしながら、上記の如くパーソナルコンピュータ以外の家庭電気、電子機器、携帯電話機等への適用例の場合、このように別途可搬記録媒体からリカバリを行うことは実現しづらい。
【００７２】
しかしながらリカバリ処理はデータの復元であるため、必要なデータを別途メモリなどで確保していれば必ずしも別途可搬記録媒体が無くとも実現可能である。本発明ではリカバリ用復元データを保存する媒体を特に限定する必要がないため、例えば組み込みオペレーティングシステム形式のハードウェアによるコンピュータを組み込んだ電気、電子機器であっても同様のシステムを実現することができる。
【００７３】
図７の例では、家庭電気、電子機器、携帯電話機等３００が、その機能の実現に必要なオペレーティングシステム、アプリケーションソフトウェアをメモリ１００にファームウェア等として実装した構成を有する。他方、その不具合時のリカバリ処理を行うための手段として、同じくファームウェア等としてリカバリ用復元データ及びこれをメモリ１００に実装するためのリカバリプログラムをメモリ２００に実装する。この場合上記停止状況監視プログラムは上記二つのメモリ１００又は２００のうちの何れかに書き込んでおけばよい。
【００７４】
そして、メモリ１００に格納されたオペレーティングシステムによる正常終了が出来ない状態が繰り返された際にこれが当該停止状況監視プログラムにより検出され、その結果、メモリ２００に格納されたリカバリプログラムの機能により、或いはユーザの操作によりメモリ２００に格納されたリカバリ用復元データを使用してリカバリ処理を実施する。即ち、メモリ１００内のオペレーティングシステム及び他のアプリケーションソフトウェアを製品購入時の状態に復元する動作を実行する。
【００７５】
その結果適切なタイミングでメモリ１００に実装された組込オペレーティングシステム及び他のアプリケーションソフトウェアのリカバリ処理が実施され、もってコンピュータの機能が確実に維持され、ユーザフレンドリーな構成のコンピュータ組込電気、電子機器の構成が実現可能である。
【００７６】
又本発明の実施例は上述のものに限られず、特許請求の範囲に記載の範囲で他の様々な実施例、変形例が実現可能である。
【００７７】
尚、本発明は以下の付記の各々に記載の態様にて実施可能である。
【００７８】
上記本発明の実施例の説明における用語「リカバリ処理」は「復元処理」に対応し、「シャットダウンフラグ」は「正常終了情報」に対応し、「リカバリフラグ」は「復元関連情報」に夫々対応する。
（付記１）
コンピュータにおいて、
コンピュータの終了時に規定の終了処理を経ずに終了した場合これを異常終了発生として検出し、
異常終了発生の検出の繰り返し回数を計数し、
異常終了発生繰り返し回数の計数値が所定の値を上回った際に当該コンピュータに対する所定の復元処理の実施を判断する各段階よりなる停止状況監視方法。
（付記２）
コンピュータの停止状況を監視することによって当該コンピュータに対する所定の復元処理の実施のタイミングを判断するための方法であって、
コンピュータの起動の際、正常終了情報を判定し、判定の結果、正常終了情報がセットされていた場合これをリセットすると共にコンピュータの起動を実施し、
起動後のコンピュータの停止の際に正常終了した場合、正常終了情報をセットする各段階よりなるコンピュータの停止状況監視方法。
（付記３）
前記コンピュータの起動の際の正常終了情報の判定の結果、正常終了情報がセットされていなかった場合に異常終了カウンタの計数値を増加させ、
その後異常終了カウンタの計数値を基準値と比較し、その結果が基準値を上回っていた場合所定の異常回復処理を実施する各段階よりなる付記２に記載のコンピュータの停止状況監視方法。
（付記４）
前記所定の異常回復処理は、復元関連情報がセットされているか否かを判定し、
その判定の結果、復元関連情報がセットされていた場合は故障の旨を示すメッセージを出力し、他方、復元関連情報がセットされていなかった場合はコンピュータに対して所定の復元処理を実行すると共に復元関連情報のセットと異常終了カウンターの計数値のリセットを実行する各段階よりなる付記３に記載のコンピュータの停止状況監視方法。
（付記５）
前記正常終了情報の判定の結果、正常終了情報がセットされていた場合は異常終了カウンタの計数値、復元関連情報及び正常終了情報をそれぞれリセットする段階よりなる付記４に記載のコンピュータの停止状況監視方法。
（付記６）
コンピュータの起動の際、正常終了情報を判定し、判定の結果、正常終了情報がセットされていなかった場合は異常終了カウンタの計数値を増加させ、他方、正常終了情報がセットされていた場合は異常終了カウンタの計数値、リカバリフラグ及び正常終了情報をそれぞれリセットすると共にコンピュータの起動を実施し、
起動後のコンピュータの停止の際に正常終了した場合、正常終了情報をセットし、
前記異常終了カウンタの計数値を増加させた場合、異常終了カウンタの計数値を基準値と比較し、その結果が基準値を上回っていた場合は復元関連情報がセットされているか否かを判定し、
その判定の結果、復元関連情報がセットされていた場合は機器の故障と判断し、他方、復元関連情報がセットされていなかった場合はコンピュータに対して所定の復元処理を実行すると共に復元関連情報のセット、異常終了カウンタの計数値をリセット及び正常終了情報のセットを実行する各段階よりなるコンピュータの停止状況監視方法。
（付記７）
コンピュータにおいて、
コンピュータの終了時に規定の終了処理を経ずに終了した場合、これを異常終了発生として検出する手段と、
異常終了発生の検出の繰り返し回数を計数する手段と、
異常終了発生繰り返し回数の計数値が所定の値を上回った際に当該コンピュータに対する所定の復元処理の実施を判断する手段とよりなるコンピュータ。
（付記８）
コンピュータの停止状況を監視することによって当該コンピュータに対する所定の復元処理の実施のタイミングを判断する機能を有するコンピュータであって、
コンピュータの起動の際に正常終了情報を判定する手段と、
その判定の結果、正常終了情報がセットされていた場合、これをリセットすると共にコンピュータの起動を実施する手段と、
起動後のコンピュータの停止の際、正常終了した場合に正常終了情報をセットする手段とよりなるコンピュータ。
（付記９）
前記コンピュータの起動の際の正常終了情報の判定の結果、正常終了情報がセットされていなかった場合に異常終了カウンタの計数値を増加させる手段と、
その後異常終了カウンタの計数値を基準値と比較する手段と、
その比較結果が基準値を上回っていた場合に所定の異常回復処理を実施する手段とよりなる付記８に記載のコンピュータ。
（付記１０）
前記所定の異常回復処理を実施する手段は、復元関連情報がセットされているか否かを判定する手段と、
その判定の結果、復元関連情報がセットされていた場合、故障の旨を示すメッセージを出力する手段と、
前記判定の結果、復元関連情報がセットされていなかった場合、コンピュータに対して所定の復元処理を実行すると共に復元関連情報をセットする手段とよりなる付記９に記載のコンピュータ。
（付記１１）
前記正常終了情報の判定の結果、正常終了情報がセットされていた場合、異常終了カウンタの計数値、復元関連情報及び正常終了情報をそれぞれリセットする手段よりなる付記８に記載のコンピュータ。
（付記１２）
コンピュータを、
コンピュータの終了時に規定の終了処理を経ずによらずに終了した場合、これを異常終了発生として検出する手段と、
異常終了発生の検出の繰り返し回数を計数する手段と、
異常終了発生繰り返し回数の計数値が所定の値を上回った際に当該コンピュータに対する所定の復元処理の実施を判断する手段と、して機能させるためのプログラム。
（付記１３）
コンピュータの停止状況を監視することによって当該コンピュータに対する所定の復元処理の実施のタイミングを判断する機能をコンピュータに実行させるためのプログラムであって、
コンピュータの起動の際、正常終了情報を判定し、判定の結果、正常終了情報がセットされていた場合、これをリセットすると共にコンピュータの起動を実施し、
起動後のコンピュータの停止の際に正常終了した場合、正常終了情報をセットする各段階をコンピュータに実行させるための命令よりなるプログラム。
（付記１４）
更に前記コンピュータの起動の際の正常終了情報の判定の結果、正常終了情報がセットされていなかった場合、異常終了カウンタの計数値を増加させ、
その後異常終了カウンタの計数値を基準値と比較し、その結果が基準値を上回っていた場合所定の異常回復処理を実施する各段階をコンピュータに実行させるための命令よりなる付記１３に記載のプログラム。
（付記１５）
前記所定の異常回復処理は、復元関連情報がセットされているか否かを判定し、
その判定の結果、復元関連情報がセットされていた場合は故障の旨を示すメッセージを出力し、他方、復元関連情報がセットされていなかった場合はコンピュータに対して所定の復元処理を実行すると共に復元関連情報をセットする各段階よりなる付記１４に記載のプログラム。
（付記１６）
更に前記正常終了情報の判定の結果、正常終了情報がセットされていた場合、異常終了カウンタの計数値、復元関連情報及び正常終了情報をそれぞれリセットする段階をコンピュータに実行させるための命令よりなる付記１５に記載のプログラム。
（付記１７）
コンピュータの起動の際、正常終了情報を判定し、判定の結果、正常終了情報がセットされていなかった場合、異常終了カウンタの計数値を増加させ、他方、正常終了情報がセットされていた場合、異常終了カウンタの計数値、復元関連情報及び正常終了情報をそれぞれリセットしてコンピュータの起動を実施し、
起動後のコンピュータの停止の際に正常終了した場合、正常終了情報をセットし、
前記異常終了カウンタの計数値を増加させた場合に異常終了カウンタの計数値を基準値と比較し、その結果が基準値を上回っていた場合に復元関連情報がセットされているか否かを判定し、
その判定の結果、復元関連情報がセットされていた場合は故障の旨を示すメッセージを出力し、他方、復元関連情報がセットされていなかった場合はコンピュータに対して所定の復元処理を実行すると共に復元関連情報のセット、異常終了カウンタの計数値のリセット、及び正常終了情報のセットを実行する各段階をコンピュータに実行させるための命令よりなるプログラム。
（付記１８）
付記１２乃至１７の内の何れか一項に記載のプログラムを格納したコンピュータ読み取り可能記録媒体。
（付記１９）
前記コンピュータは、バイオスにて所定の起動処理を行った後にオペレーティングシステムを立ち上げ、オペレーティングシステム上でアプリケーションを動作させるものであり、
前記規定の終了処理は前記オペレーティングシステムの終了処理であり、
前記バイオスが前記異常終了発生を検出する、付記１に記載の停止状況監視方法。
（付記２０）
前記コンピュータは、バイオスにて所定の起動処理を行った後にオペレーティングシステムを立ち上げ、オペレーティングシステム上でアプリケーションを動作させるものであり、
前記規定の終了処理は前記オペレーティングシステムの終了処理であり、
前記バイオスが前記異常終了発生を検出する、付記７に記載のコンピュータ。
（付記２１）
前記コンピュータは、バイオスにて所定の起動処理を行った後にオペレーティングシステムを立ち上げ、オペレーティングシステム上でアプリケーションを動作させるものであり、
前記規定の終了処理は前記オペレーティングシステムの終了処理であり、
前記バイオスが前記異常終了発生を検出する、付記１２に記載のプログラム。
【図面の簡単な説明】
【００７９】
【図１】本発明の一実施例による情報処理装置が実施する停止状況監視処理の動作フローチャート（その１）である。
【図２】本発明の一実施例による情報処理装置が実施する停止状況監視処理の動作フローチャート（その２）である。
【図３】本発明の一実施例による情報処理装置が実施する停止状況監視処理の動作フローチャート（その３）である。
【図４】本発明の一実施例による情報処理装置における起動から停止に至る動作を説明するためのシーケンス図である。
【図５】本発明の一実施例による情報処理装置の停止状況監視プログラムのプログラムリスト例を示す図である。
【図６】本発明の一実施例による情報処理装置の構成例を示すブロック図である。
【図７】本発明を組込オペレーティングシステムを有する電気・電子機器に応用した実施例を説明するためのブロック図である。
【符号の説明】
【００８０】
１０  ハードウェア
２０  バイオス
３０  オペレーティングシステム
１００、２００  メモリ
３００  コンピュータ組込電気、電子機器
５００  パーソナルコンピュータ
５１０  ＣＰＵ
５２０  メモリ
５３０  ハードディスク装置
５４０  ＣＤ−ＲＯＭドライブ
５４５  ＣＤ−ＲＯＭ
【図１】
2006215905.tif 000003
【図２】
2006215905.tif 000004
【図３】
2006215905.tif 000005
【図４】
2006215905.tif 000006
【図５】
2006215905.tif 000007
【図６】
2006215905.tif 000008
【図７】
2006215905.tif 000009