(57)【要約】【課題】ＢＩＯＳの起動自体が不可能な場合と、ＢＩＯＳ処理中ストールした場合との、ＢＩＯＳの状態が異なる場合に、それぞれの場合に対応した、異なる処理を行うこと。【解決手段】ＢＩＯＳが起動不可能の場合、速やかにリセット信号を発行しＢＩＯＳ領域をバックアップ側に切り替えるウォッチドッグタイマーと、ＢＩＯＳが処理中にストールした場合、一定時間後にリセット信号を発行するウォッチドッグタイマーの２つのウォッチドッグタイマーを備える。【選択図】図１
2008225858.tif 000002
【特許請求の範囲】
【請求項１】
ＢＩＯＳにストール障害が起きた場合にシステムの復旧をする、ＢＩＯＳストール障害時の復旧装置であって、
第１のウォッチドッグタイマーと第２のウォッチドッグタイマーと、
前記第１のウォッチドッグタイマー及び前記第２のウォッチドッグタイマーにタイマー値を設定する手段と、
ＢＩＯＳが起動し、ＢＩＯＳ処理の実行が開始される際に、前記第１のウォッチドッグタイマーのタイマー値の減少を中断する手段と、
前記第１のウォッチドッグタイマーのタイマー値が０となった場合は、起動用のＢＩＯＳデータ領域を切り替える手段と、
前記第１のウォッチドッグタイマーのタイマー値が０となった場合は、システムをリセットする手段と、
ＯＳが起動する際に前記第２のウォッチドッグタイマーのタイマー値の減少を中断する手段と、
前記第２のウォッチドッグタイマーのタイマー値が０となった場合は、システムをリセットする手段と、
を備えることを特徴とするＢＩＯＳストール障害時の復旧装置。
【請求項２】
請求項１に記載のＢＩＯＳストール障害時の復旧装置であって、
前記第２のウォッチドッグタイマーのタイマー値が０となった場合に、起動用のＢＩＯＳデータ領域を切り替える、ＢＩＯＳデータ領域切替手段を更に備えることを特徴とするＢＩＯＳストール障害時の復旧装置。
【請求項３】
請求項２に記載のＢＩＯＳストール障害時の復旧装置であって、
前記ＢＩＯＳデータ領域切替手段は、前記第２のウォッチドッグタイマーのタイマー値が複数回０となった場合に動作することを特徴とするＢＩＯＳストール障害時の復旧装置。
【請求項４】
ＢＩＯＳにストール障害が起きた場合にシステムの復旧をする、ＢＩＯＳストール障害時の復旧装置であって、
ウォッチドッグタイマーと、
ウォッチドッグタイマーにタイマー値を設定する手段と、
ＢＩＯＳが起動し、ＢＩＯＳ処理の実行を開始される際に、前記タイマー値の減少を中断する手段と、
前記タイマー値が０となった場合は、起動用のＢＩＯＳデータ領域を切り替える手段と、
前記タイマー値が０となった場合は、システムをリセットする手段と、
を備えることを特徴とするＢＩＯＳストール障害時の復旧装置。
【請求項５】
請求項１乃至４の何れか１項に記載のＢＩＯＳストール障害時の復旧装置であって、
起動用のＢＩＯＳデータ領域を複数備えていることを特徴とするＢＩＯＳストール障害時の復旧装置。
【請求項６】
ＢＩＯＳにストール障害が起きた場合にシステムの復旧をする、ＢＩＯＳストール障害時の復旧方法であって、
第１のウォッチドッグタイマーと第２のウォッチドッグタイマーを利用することと、
前記第１のウォッチドッグタイマー及び前記第２のウォッチドッグタイマーにタイマー値を設定するステップと、
ＢＩＯＳが起動し、ＢＩＯＳ処理の実行が開始される際に、前記第１のウォッチドッグタイマーのタイマー値の減少を中断するステップと、
前記第１のウォッチドッグタイマーのタイマー値が０となった場合は、起動用のＢＩＯＳデータ領域を切り替えるステップと、
前記第１のウォッチドッグタイマーのタイマー値が０となった場合は、システムをリセットするステップと、
ＯＳが起動する際に前記第２のウォッチドッグタイマーのタイマー値の減少を中断するステップと、
前記第２のウォッチドッグタイマーのタイマー値が０となった場合は、システムをリセットするステップと、
を備えることを特徴とするＢＩＯＳストール障害時の復旧方法。
【請求項７】
請求項６に記載のＢＩＯＳストール障害時の復旧方法であって、
前記第２のウォッチドッグタイマーのタイマー値が０となった場合に、起動用のＢＩＯＳデータ領域を切り替える、ＢＩＯＳデータ領域切替ステップを更に備えることを特徴とするＢＩＯＳストール障害時の復旧方法。
【請求項８】
請求項７に記載のＢＩＯＳストール障害時の復旧方法であって、
前記ＢＩＯＳデータ領域切替ステップは、前記第２のウォッチドッグタイマーのタイマー値が複数回０となった場合に行うことを特徴とするＢＩＯＳストール障害時の復旧方法。
【請求項９】
ＢＩＯＳにストール障害が起きた場合にシステムの復旧をする、ＢＩＯＳストール障害時の復旧方法であって、
ウォッチドッグタイマーを利用することと、
ウォッチドッグタイマーにタイマー値を設定するステップと、
ＢＩＯＳが起動し、ＢＩＯＳ処理の実行を開始される際に、前記タイマー値の減少を中断するステップと、
前記タイマー値が０となった場合は、起動用のＢＩＯＳデータ領域を切り替えるステップと、
前記タイマー値が０となった場合は、システムをリセットするステップと、
を備えることを特徴とするＢＩＯＳストール障害時の復旧方法。
【請求項１０】
請求項６乃至９の何れか１項に記載のＢＩＯＳストール障害時の復旧方法であって、
複数の起動用のＢＩＯＳデータ領域を利用することを特徴とするＢＩＯＳストール障害時の復旧方法。
【請求項１１】
コンピュータを請求項１から５の何れか１項に記載のＢＩＯＳストール障害時の復旧装置として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はＢＩＯＳストール障害時の復旧に関し、より詳細には、ＢＩＯＳが起動できない状態においての、復旧時間の短縮及び復旧率の上昇を図ることに関する。
【背景技術】
【０００２】
従来のコンピュータ装置において、ストール障害によるシステムの停止を監視することを目的として、ウォッチドッグタイマーが用いられている。
【０００３】
ウォッチドッグタイマーは、あらかじめタイマー値が設定されており、時間の経過と共に、タイマー値が減少していく。
【０００４】
もっとも、問題なくＢＩＯＳ（Basic Input/Output System）の処理が進行している場合は、システムプログラムの実行処理によりタイマー値の減少を停止させるようになっている。
【０００５】
しかし、システムにストール障害が発生した場合、タイマー停止が行われず、タイム値が０となると、タイムアウトが発生し、リセット信号が発行される。
【０００６】
従来は、ＢＩＯＳストール監視用にウォッチドッグタイマーが１つ存在し、タイムアウト発生時にリセットが発行されるのみだった。
【０００７】
従って、ＢＩＯＳの起動が不可能であって、速やかにリセットをすることが好ましい場合でも、ＢＩＯＳの処理中にストール障害が発生する場合と同様に、しばらく経過した後にタイマー値が０となり、タイムアウトが発生し、リセットが実行されるまで待つこととなるという問題があった。
【０００８】
また、ＢＩＯＳのデータ領域が破壊されたためにＢＩＯＳの起動が不可能となった場合は、再起動することもできず、システムの復旧自体が不可能となるという問題点があった。
【０００９】
この点につき、特許文献１に記載の従来技術では、３種類のウォッチドッグタイマーを使う技術が記載されている。
【００１０】
前記３種類の、各ウォッチドッグタイマーのタイマー値は、第１のウォッチドッグタイマー、第２のウォッチドッグタイマー、第３のウォッチドッグタイマー、の順に長くなる。
【００１１】
そして、ソフトウェアがストールした場合、第１のウォッチドッグタイマーのタイマー値が０になり、タイムアウトしたことを契機に、ソフトウェアプログラムによる復旧処理を試みる。
【００１２】
ここで、復旧することが不可能だった場合は、第２のウォッチドッグタイマーのタイムアウトを契機に、システムリセット信号を発行し復旧を試みる。
【００１３】
更に、それでも復旧することが不可能であるならば、第３のウォッチドッグタイマーのタイムアウトを契機にしてシステム電源をオフし、その後に再びシステム電源オンにして復旧を試みる。
【特許文献１】特開２００２−２５１３００号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
しかしながら、従来のストール監視においては、次のような課題がある。
第１の課題は、処理が途中でストールしていないかの観点で監視しているため、起動できない状態のとき、すぐにリセットされないということである。
第２の課題は、復旧方法として再起動という手段を取っているため、ＢＩＯＳデータ領域が破壊されている場合、復旧できないということである。
【００１５】
そこで、本発明はＢＩＯＳが起動できない状態において速やかに復旧することを特徴としたＢＩＯＳストール障害時の復旧装置、その方法及びそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１６】
本発明によれば、ＢＩＯＳにストール障害が起きた場合に復旧をする、ＢＩＯＳストール障害時の復旧装置であって、第１のウォッチドッグタイマーと第２のウォッチドッグタイマーと、前記第１のウォッチドッグタイマー及び前記第２のウォッチドッグタイマーにタイマー値を設定する手段と、ＢＩＯＳが起動し、ＢＩＯＳ処理の実行が開始される際に、前記第１のウォッチドッグタイマーのタイマー値の減少を中断する手段と、前記第１のウォッチドッグタイマーのタイマー値が０となった場合は、起動用のＢＩＯＳデータ領域を切り替える手段と、前記第１のウォッチドッグタイマーのタイマー値が０となった場合は、システムをリセットする手段と、ＯＳが起動する際に前記第２のウォッチドッグタイマーのタイマー値の減少を中断する手段と、前記第２のウォッチドッグタイマーのタイマー値が０となった場合は、システムをリセットする手段とを備えることを特徴とするＢＩＯＳストール障害時の復旧装置が提供される。
【００１７】
上記のＢＩＯＳストール障害時の復旧装置において、前記第２のウォッチドッグタイマーのタイマー値が０となった場合は、起動用のＢＩＯＳデータ領域を切り替える、ＢＩＯＳデータ領域切替手段を更に備えることを特徴とするＢＩＯＳストール障害時の復旧装置とするようにしてもよい。
【発明の効果】
【００１８】
本発明によれば、ＢＩＯＳが起動できない状態において速やかに、システムの復旧を行うことが可能となる。
【発明を実施するための最良の形態】
【００１９】
次に、本発明の最良の形態について図面を用いて説明する。
【００２０】
［実施形態１］
まず、図１を用いて、本発明の実施形態の構成を説明する。
【００２１】
本発明の実施形態であるＢＩＯＳストール障害時復旧装置８は、第１のウォッチドッグタイマー１及び第２のウォッチドッグタイマー２、ＢＩＯＳ領域切替スイッチ３、リセット回路４、不揮発性メモリである、ＦＬＡＳＨ  ＲＯＭ５を備える。
【００２２】
また、ＦＬＡＳＨ  ＲＯＭ５は、内部に２つのＢＩＯＳデータ領域である、ＢＩＯＳデータ領域６と、ＢＩＯＳデータ領域７を備える。
【００２３】
ＢＩＯＳデータ領域６は、通常動作時にＢＩＯＳを起動するために、使用されるデータが、格納されている領域である。
【００２４】
一方、ＢＩＯＳデータ領域７は、バックアップ動作時にＢＩＯＳを起動するために、使用されるデータが、格納されている領域である。
【００２５】
第１のウォッチドッグタイマー１は、タイムアウト発生時には、リセット回路４を通じて、ＢＩＯＳストール障害時復旧装置８の動作のリセットを実行すると同時に、ＢＩＯＳデータ領域切替スイッチ３に指示を出し、通常使用するデータ領域６ではなく、バックアップ動作時用のデータ領域７に切り替えてＢＩＯＳを起動する。
【００２６】
第２のウォッチドッグタイマー２は、タイムアウト発生の際、リセット回路４を通じて、ＢＩＯＳストール障害時復旧装置８のリセットを実行する。
【００２７】
また、前記のように、ウォッチドッグタイマーは２つ存在する。各ウォッチドッグタイマーはシステムの電源がオンされると、予め設定されているタイマー値の初期値が、セットされる。
【００２８】
そして、時間経過とともにタイマー値が減少していくという手段により、カウントダウンをする。
【００２９】
ウォッチドッグタイマーのカウントダウンは、ＢＩＯＳ実行中に、停止処理を行うことにより、停止できる。
【００３０】
もっとも、装置の処理に何かしらの障害が発生し、ＢＩＯＳの処理が中断することになると、タイマーが停止せず値が０になるという、いわゆるタイムアウトが発生する。
【００３１】
ここで、第１のウォッチドッグタイマー１は、ＢＩＯＳに格納されている、ＢＩＯＳ実行処理の初期段階である、初期診断プログラムが起動可能か監視するために使用する。
【００３２】
また、第１のウォッチドッグタイマー１のタイマー値は１秒程度で充分である。なお、ここで、１秒程度というのはあくまで例示であり、必要であれば任意の値を設定してもよい。
【００３３】
また、ＢＩＯＳ実行処理の初期段階に、第１のウォッチドッグタイマー１のタイマー値の減少を停止する処理が盛り込まれている。
【００３４】
そして、ＢＩＯＳが起動できずに、第１のウォッチドッグタイマー１を停止できなかった場合は、電源オンから１秒後にタイマー値が０となり、タイムアウトが発生する。
【００３５】
この場合、リセット信号を発行する。
【００３６】
そして、更にＢＩＯＳ領域を、ＢＩＯＳデータ領域６から、バックアップ側であるＢＩＯＳデータ領域７に切り替える。
【００３７】
次に、第２のウォッチドッグタイマー２は、ＢＩＯＳ処理が途中でストールしていないか監視するために使用し、タイマー値は、ＢＩＯＳ起動から完了までの所要時間以上の値を設定する。
【００３８】
ＢＩＯＳ実行処理の最終段階で第２のウォッチドッグタイマー２を停止する処理が盛り込まれている。
【００３９】
もっとも、ＢＩＯＳ実行処理が、処理の途中でストールし、第２のウォッチドッグタイマー２を停止できなかった場合、前記設定されたタイマー値が０となり次第、タイムアウトが発生する。
【００４０】
この場合、前記第１のウォッチドッグタイマー１にタイムアウトが発生した場合と同様に、リセット信号が発行される。
【００４１】
このように、本発明では、ＢＩＯＳの起動をすること自体ができなかった場合と、ＢＩＯＳの起動はできたが、その後の処理中にストールした場合とで、異なる復旧処理を行うことができる。
【００４２】
なお、ＢＩＯＳ起動不可の場合、１秒程度で第１のウォッチドッグタイマー１がタイムアウトするため、速やかにリセット信号が発行される。
【００４３】
また、リセット信号発行とともに、通常動作時に使用するＢＩＯＳ領域からバックアップ用ＢＩＯＳ領域に切り替えるため、通常動作時のＢＩＯＳ領域が破壊されて、ＢＩＯＳの起動自体が不可能となった場合でも復旧可能である。
【００４４】
次に、本発明の実施形態におけるウォッチドッグタイマーの動作を、図２に示すフローチャートを使用して説明する。
【００４５】
まず、ＢＩＯＳストール障害時復旧装置８に電源が投入される（Ｓ１０）。
【００４６】
次に、ＢＩＯＳデータ領域として通常動作時用のＢＩＯＳデータ領域６をセットする（Ｓ１１）。
【００４７】
そして、システムを一度初期化する（Ｓ１２）。
【００４８】
次に、第１のウォッチドッグタイマー１及び第２のウォッチドッグタイマー２（図中では第１のＷＤＴ、第２のＷＤＴと示す。）のタイマー値をセットする。本実施形態では、第１のＷＤＴのタイマー値の初期設定値をＡ秒、第２のＷＤＴのタイマー値をＢ秒とセットするものと想定する（Ｓ１３）。
【００４９】
なお、実施形態の構成の説明の際に前記したように、第１のウォッチドッグタイマー１はＢＩＯＳが起動するか否かを監視するためにのみ用いる。よって、そのタイマー値の初期設定値Ａは例えば１秒程度で十分である。
【００５０】
なぜならば、１秒以上待機してもＢＩＯＳの動作が始まらない場合は、それ以上待機したとしてもＢＩＯＳの動作が始まらない可能性が高い。そのため、待機するよりも迅速にシステムを初期化してしまった方が好ましいからである。
【００５１】
ここで、時間Ａの概念を説明するために図３の概念図を参照する。
【００５２】
時間Ａは、ＢＩＯＳ処理が開始しようとしてから（Ｓ２０）、ＢＩＯＳの処理が実際に開始するまでの間に、減少していく数値である。そして、その値が０になる前に、第１のＷＤＴを止める処理が実行されれば（Ｓ２１）、ＷＤＴタイムアウトは発生せず、次のステップ（Ｓ２２）まで処理が進む。
【００５３】
一方、第２のウォッチドッグタイマー２はＢＩＯＳの処理が途中でストールしていないか監視するために使用する。
【００５４】
その初期設定値Ｂは例えばＢＩＯＳ起動から完了までの所要時間以上の値をセットする。
【００５５】
この点、第２のウォッチドッグタイマー２のタイマー値の初期設定値である時間Ｂの概念を、第１のウォッチドッグタイマー１と同様に図３の概念図を参照して説明する。
【００５６】
時間Ｂは、ＢＩＯＳ処理が開始しようとしてから（Ｓ２０）、実際にＢＩＯＳが処理を実行し（Ｓ２２）、処理が終了しＯＳ（Operating System）がブートするまでの間に、減少していく数値である（Ｓ２４）。
【００５７】
そして、その値が０となる前に、第２のＷＤＴを止める処理が実行されれば（Ｓ２３）、ＷＤＴタイムアウトは発生せず、次のステップ（Ｓ２４）まで処理が進む。
【００５８】
続けて、動作の説明を継続する。第１のウォッチドッグタイマー１と第２のウォッチドッグタイマー２のカウントダウンを開始し（図２、Ｓ１４）、指定したＢＩＯＳデータ領域よりＢＩＯＳを起動させる（図２、Ｓ１５）。
【００５９】
ＢＩＯＳが起動可能な場合、ＢＩＯＳ処理中に第１のウォッチドッグタイマー１を停止させる（図３、Ｓ２１）。
【００６０】
一方、ＢＩＯＳが起動不可能な場合、ＢＩＯＳの処理自体も実行不可能なため、第１のウォッチドッグタイマー１に対してのタイマー値停止処理も行われず、タイムアウトが発生する（図２、Ｓ１６）。
【００６１】
そして、ＢＩＯＳデータ領域が破壊されている以上、再び同じＢＩＯＳデータ領域からの起動を試みる意味は無いので、ＢＩＯＳデータ領域としてバックアップ用のＢＩＯＳデータ領域７をセット（図２、Ｓ１７）する。
【００６２】
そして、ＢＩＯＳデータ領域７に格納されているデータにより、ＢＩＯＳ処理を行うべく、システムの初期化を行う（図２、Ｓ１２）。
【００６３】
その後、ＢＩＯＳは各種処理を実行する（図３、Ｓ２２）。
【００６４】
ＢＩＯＳの処理がすべて終わり、ＯＳがブートした後に、ＢＩＯＳは第２のウォッチドッグタイマー２を停止させる（図３、Ｓ２３）。
【００６５】
もっとも、各種処理の途中でストールした場合、ＢＩＯＳは第２のウォッチドッグタイマー２を停止する処理を行うことができず、第２のウォッチドッグタイマー２のタイムアウトが発生する（図２、Ｓ１７）。
【００６６】
そして、再びＢＩＯＳ処理を試みるために、システムリセット信号を発行する（図２、Ｓ１２）。
【００６７】
［実施形態２］
本発明の他の実施形態として、その基本的構成は上記の通りであるが、第２のウォッチドッグタイマー２について、さらに変更を加えた実施形態について図４を用いて説明する。
【００６８】
本実施形態は、第２のウォッチドッグタイマー２のタイムアウト発生時の処理として、ＢＩＯＳデータ領域切替スイッチ３に指示を出し、ＢＩＯＳ起動をバックアップ用ＢＩＯＳデータ領域７に切り替えてＢＩＯＳを起動させるように構成する。
【００６９】
また、第２のウォッチドッグタイマー２のタイムアウトが１回発生した場合はリセット処理のみを行い、連続して複数回（例えば２回）発生した場合は、リセット処理とＢＩＯＳ領域切り替えを行うようにしてもよい。
【００７０】
このように、本実施形態では、ＢＩＯＳデータの一部破損によるＢＩＯＳストール時が発生したときに、ＢＩＯＳ起動をバックアップ用７に切り替わる。
【００７１】
よって、通常動作用のＢＩＯＳ領域が破壊され、ＢＩＯＳの起動及び処理の途中までは実行できるが、処理を完結することはできないという状態になっている場合でも復旧ができるという効果が得られる。
【００７２】
［実施形態３］
さらに異なる実施形態を図５に示す。異なる実施形態として、バックアップ用である、ＢＩＯＳデータ領域７を、複数用意することも考えられる。
【００７３】
これにより、ＢＩＯＳデータ領域６が破壊され、ＢＩＯＳデータ領域７に起動用のＢＩＯＳデータ領域を切り替えたが、更にＢＩＯＳデータ領域７も破壊されていたような事態であっても、対応することが可能となる。
【００７４】
なお、本発明における、ＢＩＯＳストール障害時の復旧装置は、ハードウェア、ソフトウェア又はこれらの組合せにより実現することができる。
【００７５】
以上説明した本発明の実施形態は、以下に記載するような効果を奏する。
【００７６】
第１の効果はウォッチドッグタイマーを２つ持つので、ＢＩＯＳの起動自体が不可能な場合と、ＢＩＯＳ処理中にストール障害の発生した場合との、ＢＩＯＳの状態が異なる場合に、それぞれの場合に対応した、異なる処理を行うことができることである。
【００７７】
第２の効果はＢＩＯＳの起動が不可能の場合、ウォッチドッグタイマーが短時間でタイムアウトとなるので、リセットが発行されるまでの時間を短縮することができることである。
【００７８】
第３の効果はＢＩＯＳ起動不可能の場合、リセット信号発行後に使用されるＢＩＯＳ領域を、破壊されているＢＩＯＳ領域から、バックアップ用のＢＩＯＳ領域に切り替えるので、ＢＩＯＳ領域の破壊により起動が不可能であるという事態を免れることができることである。
【産業上の利用可能性】
【００７９】
本発明は、ＢＩＯＳストール状態に応じて復旧方法を変更したい用途に適用できる。特に、ＢＩＯＳが起動できない状態において復旧時間の短縮、復旧率の上昇を図る用途に適用できる。
【図面の簡単な説明】
【００８０】
【図１】本発明の基本的構成を表す図である。
【図２】本発明の実施形態における動作を表すフローチャートである。
【図３】本発明における、タイマー値について示す概念図である。
【図４】本発明の第２の実施形態の構成を表す図である。
【図５】本発明の第３の実施形態の構成を表す図である。
【符号の説明】
【００８１】
１  第１のウォッチドッグタイマー
２  第２のウォッチドッグタイマー
３  ＢＩＯＳ領域切替スイッチ
４  リセット回路
５  ＦＬＡＳＨ  ＲＯＭ
６、７  ＢＩＯＳデータ領域
８  ＢＩＯＳストール障害時復旧装置
【図１】
2008225858.tif 000003
【図２】
2008225858.tif 000004
【図３】
2008225858.tif 000005
【図４】
2008225858.tif 000006
【図５】
2008225858.tif 000007