(57)【要約】【課題】ハードウェア面での負荷の増大を抑制しつつ、端末機器で発生した障害の復旧処理の迅速化を図る。【解決手段】マイクロプロセッサ６は、アプリケーションの実行中に端末機器１ａ〜１ｃの障害の発生を常に監視し、アプリケーションプログラム１１によって復旧処理が実行されているときに、ウォッチドッグタイマオーバが発生すると、ウォッチドッグタイマ４ａはマイクロプロセッサ６をリセットし、端末機器１ａ〜１ｃに発生した障害の障害レベルに基づいて、端末機器１ａ〜１ｃの障害の復旧処理を実行する。【選択図】      図１
2008015893.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ所定時間までに動作を完了させる制約を持つ複数のタスクの実行制御をマイクロプロセッサにて実現するタスク制御手段と、
前記タスク制御手段にて制御される端末機器の障害の発生を監視する障害監視手段と、
タイマオーバした時に前記マイクロプロセッサをリセットするウォッチドッグタイマと、
前記マイクロプロセッサが前記ウォッチドッグタイマにてリセットされたときに、前記障害監視手段による監視結果に基づいて前記端末機器の障害の復旧処理を行う障害復旧処理手段とを備えることを特徴とする障害自動復旧装置。
【請求項２】
前記障害監視手段による監視結果に基づいて復旧できない障害が前記端末機器に発生した場合、前記障害についての情報を外部機器に通知する外部通信手段をさらに備えることを特徴とする請求項１記載の障害自動復旧装置。
【請求項３】
前記外部通信手段は、前記障害監視手段による監視結果に基づいて復旧できない障害が前記端末機器に発生した場合、前記障害の復旧処理プログラムを前記外部機器から受信することを特徴とする請求項２記載の障害自動復旧装置。
【請求項４】
マイクロプロセッサにてタスクの実行が制御される端末機器の障害の発生を監視するステップと、
タイマオーバした時に前記マイクロプロセッサをウォッチドッグタイマにてリセットするステップと、
前記マイクロプロセッサが前記ウォッチドッグタイマにてリセットされたときに、前記端末機器の障害の監視結果に基づいて前記端末機器の障害の復旧処理を行うステップとを備えることを特徴とする障害自動復旧方法。
【請求項５】
マイクロプロセッサにてタスクの実行が制御される端末機器の障害の発生を監視するステップと、
前記端末機器に発生した障害を一意に識別するための障害コードを保持するステップと、
タイマオーバした時に前記マイクロプロセッサをウォッチドッグタイマにてリセットするステップと、
前記マイクロプロセッサが前記ウォッチドッグタイマにてリセットされたときに、前記障害コードに対応付けられた障害レベルに応じた障害の復旧処理を行うステップとを備えることを特徴とする障害自動復旧方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は障害自動復旧装置および障害自動復旧方法に関し、特に、ガス、水道などのメータ、センサやスイッチ等の接点機器、自然災害の通報機器などの２４時間動作する端末機器が接続され、これらの端末機器を集中監視する集中監視システムにおいて、これらの端末機器に発生した障害の自動復旧方法に適用して好適なものである。
【背景技術】
【０００２】
従来の集中監視システムでは、そこで監視される端末機器に障害が発生すると、システムエンジニアによる手作業にて端末機器の障害復旧が行われていた。すなわち、端末機器に障害が発生すると、システムエンジニアは、障害コードやアプリケーションプログラムにて出力されたログ情報を参照することにより、障害の発生箇所と原因を調査する。そして、障害の発生箇所と原因が判ると、システムエンジニアが、その障害の発生箇所と原因に応じた復旧作業を決定し実施する。
【０００３】
また、従来の集中監視システムでは、ウォッチドッグタイマを用いることにより、端末機器自体に障害を監視させることも行なわれている。すなわち、ウォッチドッグタイマを用いる方法では、タイマによって経過時間を計測し、一定時間が経過すると、マイクロプロセッサが定期的にそのタイマの設定値を更新する。この結果、タイマはタイムアウトになることはなく、タイマからは何も信号が出力されることはない。
【０００４】
ここで、端末機器に障害が発生し、マイクロプロセッサが正常動作不能となれば、タイマの設定値が更新不能となり、一定時間経過後にタイマがタイムアウトするようになる。そして、タイマがタイムアウトすると、ウォッチドッグタイマはタイムアウトしたことを知らせる信号を出力し、この信号を端末機器の初期化信号、例えばリセット信号として用いることにより、端末機器を初期状態に復帰させることができる。
【０００５】
また、例えば、特許文献１には、ウォッチドッグタイマによるリセットがかかると、ソフトウェア履歴記録部を参照してリセット直前のソフトウェアブロックを実行し、再度リセットがかかったときは、そのソフトウェアブロックを実行禁止状態とし、エラー履歴記録部に記録するとともに、リセットがかからなかったときは、エラー履歴記録部には外乱によるエラー発生と記録する方法が開示されている。
また、例えば、特許文献２には、割り込みによって回復できる軽度の障害には割り込みによって、マスク不可能割り込み以外では回復できない中程度の障害にはマスク不可能割り込みによって、再起動以外には回復できないような重度の障害にはシステムリセットによって障害に対応する方法が開示されている。
【０００６】
また、例えば、特許文献３には、通信装置のマイコンが何らかの障害によって動作不能に陥ったとき、ウォッチドッグタイマからリセット信号がマイコンに出力され、マイコンは再起動して限定動作モードを実行し、障害部位を判別する。そして、マイコンからの指令によってウォッチドッグタイマから再びリセット信号が出力され、マイコンは再起動して通常動作モードを実行し、正常部位を使用してセンター装置と通信可能か確認して、障害情報を通知する方法が開示されている。
【特許文献１】特開平６−３５７３７号公報
【特許文献２】特開２００２−２５１３００号公報
【特許文献３】特開２００５−１５１０３２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、システムエンジニアが端末機器の障害復旧を行う方法では、障害の発生箇所と原因を調査するために、端末機器に精通したシステムエンジニアを待機させる必要があり、運用コストが高くなるとともに、端末機器に発生する障害の種類は膨大な数にのぼるので、端末機器に精通したシステムエンジニアであっても、障害の種類から復旧方法を迅速に判断するのは困難となり、障害復旧に時間がかかることから、システムの稼働率が低下するという問題があった。
【０００８】
また、ウォッチドッグタイマを用いて端末機器の障害復旧を行う方法では、端末機器に障害が発生した時に、障害の発生の原因かかわらず端末機器を再起動するだけであり、再度同様な障害が発生する危険性が高いという問題があった。
また、特許文献１に開示された方法では、ソフトウェアによるエラーか外乱によるエラーかの判別を通常の動作モードで行えるようにするためにはプログラムが煩雑になり、多くのメモリ領域が必要になるとともに、ハードウェア的な故障が障害の要因であった場合には、プログラムの動作箇所に限定されることなく、再び障害が発生する恐れがあり、障害の発生の原因が特定できなくなるという問題があった。
【０００９】
また、特許文献２に開示された方法では、複数のウォッチドッグタイマを用意する必要があり、ハードウェア面での負荷が大きくなるとともに、障害の程度が大きい場合には、何回も自動復帰のためのステップを繰り返す必要があり、復帰に時間がかかるという問題があった。
また、特許文献３に開示された方法では、障害の発生に起因してウォッチドッグタイマオーバが発生した時に障害要因の検出処理が実施されるため、障害の発生から障害を検出するために復旧対策を実行するまでの間に端末機器が動作できなくなるという問題があった。特に、障害項目が増加するほど、障害要因にかかわらず端末機器の動作不能時間が増大する。
そこで、本発明の目的は、ハードウェア面での負荷の増大を抑制しつつ、端末機器で発生した障害の復旧処理の迅速化を図ることが可能な障害自動復旧装置および障害自動復旧方法を提供することである。
【課題を解決するための手段】
【００１０】
上述した課題を解決するために、請求項１記載の障害自動復旧装置によれば、それぞれ所定時間までに動作を完了させる制約を持つ複数のタスクの実行制御をマイクロプロセッサにて実現するタスク制御手段と、前記タスク制御手段にて制御される端末機器の障害の発生を監視する障害監視手段と、タイマオーバした時に前記マイクロプロセッサをリセットするウォッチドッグタイマと、前記マイクロプロセッサが前記ウォッチドッグタイマにてリセットされたときに、前記障害監視手段による監視結果に基づいて前記端末機器の障害の復旧処理を行う障害復旧処理手段とを備えることを特徴とする。
【００１１】
また、請求項２記載の障害自動復旧装置によれば、前記障害監視手段による監視結果に基づいて復旧できない障害が前記端末機器に発生した場合、前記障害についての情報を外部機器に通知する外部通信手段をさらに備えることを特徴とする。
また、請求項３記載の障害自動復旧装置によれば、前記外部通信手段は、前記障害監視手段による監視結果に基づいて復旧できない障害が前記端末機器に発生した場合、前記障
害の復旧処理プログラムを前記外部機器から受信することを特徴とする。
【００１２】
また、請求項４記載の障害自動復旧方法によれば、マイクロプロセッサにてタスクの実行が制御される端末機器の障害の発生を監視するステップと、タイマオーバした時に前記マイクロプロセッサをウォッチドッグタイマにてリセットするステップと、前記マイクロプロセッサが前記ウォッチドッグタイマにてリセットされたときに、前記端末機器の障害の監視結果に基づいて前記端末機器の障害の復旧処理を行うステップとを備えることを特徴とする。
【００１３】
また、請求項５記載の障害自動復旧方法によれば、マイクロプロセッサにてタスクの実行が制御される端末機器の障害の発生を監視するステップと、前記端末機器に発生した障害を一意に識別するための障害コードを保持するステップと、タイマオーバした時に前記マイクロプロセッサをウォッチドッグタイマにてリセットするステップと、前記マイクロプロセッサが前記ウォッチドッグタイマにてリセットされたときに、前記障害コードに対応付けられた障害レベルに応じた障害の復旧処理を行うステップとを備えることを特徴とする。
【発明の効果】
【００１４】
以上説明したように、本発明によれば、障害コードと障害レベルとを予め対応付けることにより、端末機器の障害が発生し、ウォッチドッグタイマオーバが発生した時に障害レベルに応じた障害の復旧処理を行うことができ、ハードウェア面での負荷の増大を抑制しつつ、端末機器で発生した障害の復旧処理の迅速化を図ることができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施形態に係る障害自動復旧装置について図面を参照しながら説明する。
図１は、本発明の一実施形態に係る障害自動復旧装置の概略構成を示すブロック図である。
図１において、制御部４には、端末機器１ａ〜１ｃ、ＲＯＭ２ａ、２ｂ、外部通信部３および監視結果格納部５が接続されている。なお、端末機器１ａ〜１ｃとしては、例えば、ガス、水道などのメータ、センサやスイッチ等の接点機器、自然災害の通報機器などを挙げることができる。また、ＲＯＭ２ａには、アプリケーションプログラム１１が格納され、ＲＯＭ２ｂには、軽故障復旧処理プログラム１２、中故障復旧処理プログラム１３、重故障復旧処理プログラム１４、障害判定処理プログラム１５および障害レベル対応表１６が格納されている。また、監視結果格納部５には、端末機器１ａ〜１ｃに発生した障害を一意に識別するための障害コードを格納することができる。また、制御部４には、ウォッチドッグタイマ４ａおよびマイクロプロセッサ６が設けられている。そして、マイクロプロセッサ６は、それぞれ所定時間までに動作を完了させる制約を持つ複数のタスクの実行を制御したり、タスクの実行中に常に端末機器１ａ〜１ｃの障害の発生を監視したりすることができる。
【００１６】
また、軽故障復旧処理プログラム１２には、端末機器１ａ〜１ｃに発生した軽故障の復旧処理をマイクロプロセッサ６に実行させるプログラムが記述され、中故障復旧処理プログラム１３には、端末機器１ａ〜１ｃに発生した中故障の復旧処理をマイクロプロセッサ６に実行させるプログラムが記述され、重故障復旧処理プログラム１４には、端末機器１ａ〜１ｃに発生した重故障の復旧処理をマイクロプロセッサ６に実行させるプログラムが記述されている。障害判定処理プログラム１５には、端末機器１ａ〜１ｃに発生した障害の監視結果に基づいて障害レベルの判定をマイクロプロセッサ６に実行させるプログラムが記述されている。障害レベル対応表１６には、端末機器１ａ〜１ｃに発生した障害の程度を表す障害レベルが障害コードに関連付けられて記述されている。
【００１７】
図２は、本発明の一実施形態に係る障害レベル対応表の構成例を示す図である。
図２において、障害レベル対応表１６には、障害コードと障害レベルとの対応関係が記述されている。ここで、端末機器１ａ〜１ｃに発生する障害は３つの障害レベル、すなわち、「軽故障」、「中故障」および「重故障」のいずれかに分類され、復旧方法が同じ障害は同じ障害レベルに分類することができる。具体的には、端末機器１ａ〜１ｃ間の通信にてＢＢＣ障害が検知されるなどの障害は「軽故障」に分類し、そのままアプリケーションを実行すれば障害が復旧できる可能性がある通信不能などの障害は「中故障」に分類し、そのような方法では端末機器１ａ〜１ｃを復旧できないようなハードウェア故障などの障害は「重故障」に分類することができる。
なお、図２の例では、３つの障害レベルを設定する方法について説明したが、復旧方法が同じ障害は同じ障害レベルに分類するという趣旨を逸脱しない限りにおいて、その他のレベルを採用するようにしてもよい。
【００１８】
図３は、本発明の一実施形態に係る障害自動復旧処理を示すフローチャートである。
図３において、マイクロプロセッサ６は、アプリケーションの実行中に端末機器１ａ〜１ｃの障害の発生を常に監視する。そして、アプリケーションの実行中に端末機器１ａ〜１ｃに障害が発生すると（ステップＳ１）、マイクロプロセッサ６は障害判定処理プログラム１５を起動し、端末機器１ａ〜１ｃの障害を一意に識別するための障害コードを監視結果格納部５に格納する（ステップＳ２）。
【００１９】
次に、アプリケーションプログラム１１によって復旧処理が実行されているときに、ウォッチドッグタイマオーバが発生すると（ステップＳ３）、ウォッチドッグタイマ４ａはマイクロプロセッサ６をリセットする（ステップＳ４）。そして、マイクロプロセッサ６は、監視結果格納部５に格納されている障害コードをキーとして障害レベル対応表１６を検索することにより、端末機器１ａ〜１ｃに発生した障害の障害レベルを判定する（ステップＳ５）。
【００２０】
そして、端末機器１ａ〜１ｃに発生した障害の障害レベルが「軽故障」の場合、マイクロプロセッサ６は軽故障復旧処理プログラム１２を起動し、軽故障復旧処理を実行する。また、端末機器１ａ〜１ｃに発生した障害の障害レベルが「中故障」の場合、マイクロプロセッサ６は中故障復旧処理プログラム１３を起動し、中故障復旧処理を実行する。また、端末機器１ａ〜１ｃに発生した障害の障害レベルが「重故障」の場合、マイクロプロセッサ６は重故障復旧処理プログラム１４を起動し、重故障復旧処理を実行する（ステップＳ６）。
【００２１】
これにより、端末機器１ａ〜１ｃの障害が発生し、ウォッチドッグタイマオーバが発生した時に、障害レベルに応じた障害の復旧処理を行うことができ、ハードウェア面での負荷の増大を抑制しつつ、端末機器１ａ〜１ｃで発生した障害の復旧処理の迅速化を図ることができる。
一方、監視結果格納部５に格納されている障害コードに対応した障害レベルが障害レベル対応表１６にない場合、その障害コードを外部通信部３を介して外部機器に送信する（ステップＳ７）。そして、その障害コードに対して外部機器にて対策がとられている場合、マイクロプロセッサ６は、その障害コードに対応した障害復旧処理プログラムを外部通信部３を介して外部機器から受信し、その障害復旧処理プログラムを実行する（ステップＳ８）。
【００２２】
一方、その障害コードに対して外部機器にて対策がとられていない場合、マイクロプロセッサ６はアプリケーションプログラム１１を再起動する。なお、アプリケーションプログラム１１の再起動は、自らの処理の再実行を行うロジックを直接組み込んでおくことにより実現してもよいし、アプリケーションの実行を制御する外部プログラム（バッチファイルなど）がアプリケーションプログラム１１の再起動を行うことにより実現してもよい。
【図面の簡単な説明】
【００２３】
【図１】本発明の一実施形態に係る障害自動復旧装置の概略構成を示すブロック図である。
【図２】本発明の一実施形態に係る障害レベル対応表の構成例を示す図である。
【図３】本発明の一実施形態に係る障害自動復旧処理を示すフローチャートである。
【符号の説明】
【００２４】
１ａ〜１ｃ  端末機器
２ａ、２ｂ  ＲＯＭ
３  外部通信部
４  制御部
４ａ  ウォッチドッグタイマ
５  監視結果格納部
６  マイクロプロセッサ
１１  アプリケーションプログラム
１２  軽故障復旧処理プログラム
１３  中故障復旧処理プログラム
１４  重故障復旧処理プログラム
１５  障害判定処理プログラム
１６  障害レベル対応表
【図１】
2008015893.tif 000003
【図２】
2008015893.tif 000004
【図３】
2008015893.tif 000005