(57)【要約】【課題】ＷＤＴ機能をもたないコンピュータシステムにおけるアプリケーションの異常監視を確実、容易にする。【解決手段】コンピュータシステムは、アプリケーションのうち、異常監視対象とする複数のアプリケーション１1〜１Nに対応つけた複数のカウンタ２1〜２Nと、この各カウンタのカウント値を読み書き可能な監視タスク３を設ける。  各アプリケーションは、その正常処理中に一定周期または予め設定された処理の終了で対応つけられたカウンタをインクリメントする。監視タスクは、各カウンタのカウント値を一定周期で読み取り、各カウント値の全てが定義された範囲内にあるときに各カウンタの全てを「０」にセットし、各カウント値の１つでも範囲外にあるときにアプリケーションの異常警報あるいはシステムリセットを行う。【選択図】図１
2007257395.tif 000002
【特許請求の範囲】
【請求項１】
ウオッチドッグタイマー機能をもたないコンピュータシステムにおけるアプリケーションの異常監視方法であって、
コンピュータシステムは、前記アプリケーションのうち、異常監視対象とする複数のアプリケーションに対応つけた複数のカウンタと、この各カウンタのカウント値を読み書き可能な監視タスクを設け、
前記複数のアプリケーションは、その正常処理中に一定周期または予め設定された処理の終了で対応つけられた前記カウンタをインクリメントする処理ステップを設け、
前記監視タスクは、前記各カウンタのカウント値を一定周期で読み取り、各カウント値の全てが定義された範囲内にあるときに各カウンタの全てを「０」にセットし、各カウント値の１つでも範囲外にあるときにアプリケーションの異常警報あるいはシステムリセットを行う処理ステップを設けたことを特徴とするアプリケーションの異常監視方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ウオッチドッグタイマー（ＷＤＴ）機能をもたないコンピュータシステムにおいて、アプリケーションの異常を監視する方法に関する。
【背景技術】
【０００２】
コンピュータとそのアプリケーションを搭載して各種の情報処理機能や制御機能を確立するコンピュータシステム（図３に一般的なハードウェア構成を示す）において、ハードウェアまたはソフトウェア上で予期されないデータ破壊やプログラムミスが存在したときにシステムまたはアプリケーションの暴走となることがある。
【０００３】
この暴走対策として、一般には、ハードウェア構成のＷＤＴ機能を設け、ＣＰＵから一定時間内にＷＤＴにリセット出力があるか否かにより、正常／異常の警報発生、あるいはシステムリセットをかけるようにしている（例えば、特許文献１参照）。
【０００４】
このＷＤＴ機能による監視は、システムおよびプライオリティの高いアプリケーションが暴走した場合に警報あるいはシステムリセットをかけるようにしている。
【特許文献１】特開２００５−２５０５２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ＷＤＴ機能を持たないコンピュータシステムでは、アプリケーションが暴走などを起こした場合にシステムリセットをかけることができない。
【０００６】
また、ＷＤＴ機能をもつコンピュータシステムにおいても、暴走したアプリケーションのプライオリティが低ければ，ＣＰＵ負荷の問題にならないので、システムリセットがかからない。
【０００７】
また、ＷＤＴ機能では、どのアプリケーションが暴走したかの判別ができないため、その後のシステム修復が難しくなる。
【０００８】
本発明の目的は、ＷＤＴ機能をもたないコンピュータシステムにおけるアプリケーションの異常監視を確実、容易にしたアプリケーションの異常監視方法を提供することにある。
【課題を解決するための手段】
【０００９】
本発明は、前記の課題を解決するため、各アプリケーションに計測用メモリ（以下、カウンタと略す）を割り当て、各アプリケーションは一定周期で対応つけたカウンタをインクリメントする機能を設け、各カウンタのカウント値を監視タスクが一定周期でそれぞれ読み取り、それらが定義された範囲内にあるか否かによりアプリケーションの正常／異常の判定を得るようにしたもので、以下の方法を特徴とする。
【００１０】
（１）ウオッチドッグタイマー機能をもたないコンピュータシステムにおけるアプリケーションの異常監視方法であって、
コンピュータシステムは、前記アプリケーションのうち、異常監視対象とする複数のアプリケーションに対応つけた複数のカウンタと、この各カウンタのカウント値を読み書き可能な監視タスクを設け、
前記複数のアプリケーションは、その正常処理中に一定周期または予め設定された処理の終了で対応つけられた前記カウンタをインクリメントする処理ステップを設け、
前記監視タスクは、前記各カウンタのカウント値を一定周期で読み取り、各カウント値の全てが定義された範囲内にあるときに各カウンタの全てを「０」にセットし、各カウント値の１つでも範囲外にあるときにアプリケーションの異常警報あるいはシステムリセットを行う処理ステップを設けたことを特徴とする。
【発明の効果】
【００１１】
以上のとおり、本発明によれば、各アプリケーションに対応つけてカウンタを設け、各アプリケーションは一定周期で対応つけたカウンタをインクリメントする機能を設け、各カウンタのカウント値を監視タスクが一定周期でそれぞれ読み取り、それらが定義された範囲内にあるか否かによりアプリケーションの正常／異常の判定を得るようにしたため、ハードウェアにＷＤＴ機能をもたないコンピュータシステムにおけるアプリケーションの異常監視が確実、容易になる。
【００１２】
すなわち、異常監視機能は、複数のカウンタと１つの監視タスクの追加、およびアプリケーションにカウンタのインクリメント機能を追加するのみで容易に実現でき、しかもアプリケーションの処理の実行を直接にカウンタのカウント値として監視することで確実な監視ができる。
【００１３】
さらに、異常発生したアプリケーションの識別も可能になり、その修復作業を容易にする。
【００１４】
また、ＷＤＴ機能を有するコンピュータシステムにおいても、プライオリティの低いアプリケーションが暴走した場合に、システムリセットが可能となる。
【発明を実施するための最良の形態】
【００１５】
図１は、本発明の実施形態を示す異常監視方法の機能構成図である。コンピュータシステムは、それに搭載する各アプリケーションのうち、異常監視対象とする複数のアプリケーション（ＡＰＬ）１1〜１Nに対応つけた複数のカウンタ２1〜２Nと、この各カウンタのカウント値を読み書き可能な監視タスク３の構成をとる。
【００１６】
異常監視対象とする各アプリケーション１1〜１Nは、その正常処理中に一定周期または予め設定された処理の終了でカウンタをインクリメントする命令を発生する機能を設けておく。なお、インクリメント命令を発生する機能は、コンピュータシステムに搭載する全てのアプリケーションに設ける場合と、暴走を起こす可能性の高い複雑なソフトウェア構成になるアプリケーションやプライオリティの高いアプリケーションに限ることでもよい。
【００１７】
カウンタ２1〜２Nは、インクリメント命令を発生する機能をもつアプリケーションに対応させて、例えばコンピュータシステムの共有メモリ上に設けられ、対応するアプリケーション１1〜１Nによるインクリメント動作および他のタスクからもそのカウント値の読み取りを可能とする。
【００１８】
コンピュータシステムは、監視タスク内のローカルメモリに、表１に例を示すように、カウンタのカウント値の正常範囲を示す上限値、下限値の組をカウンタ１〜カウンタＮに対応し具備する。
【００１９】
【表１】
2007257395.tif 000003
【００２０】
監視タスク３は、各アプリケーションによるインクリメント命令発生周期よりも十分に長い一定周期で、カウンタ２1〜２Nのカウント値を読み取り、各カウント値の全てが表１で定められた上限値及び下限値の範囲内であれば、カウンタ２1〜２Nの全てを「０」にセットするカウンタリセット命令を発行する機能をもつ。また、カウンタ２1〜２Nのうち、１つでも定義された上限値及び下限値の範囲外のものがあれば、監視タスク３は警報あるいはシステムリセット（ソフトウェアリセット）を行う。
【００２１】
図２は、アプリケーションと監視タスクに設けた処理フローを示す。各アプリケーション１1〜１Nは、それぞれが本来からもつ処理（一般処理）を実行し（Ｓ１）、必要に応じて一定時間を待つ（Ｓ２）。この一定時間は、上記のように、一定周期または予め設定された処理の終了とする。この一定時間後、対応付けられたカウンタの値をインクリメントし（Ｓ３）、アプリケーション処理の終了でなければ処理Ｓ１に戻って次の処理に移る（Ｓ４）。
【００２２】
監視タスク３では、まず、カウンタリセット命令を発行し、カウンタ２1〜２Nの全てのカウント値を「０」にセットし（Ｓ１１）、一定時間を待つ（Ｓ１２）。この一定時間は、上記のように、各アプリケーションによるインクリメントコマンド発生周期よりも十分に長い時間とする。この一定時間後に、カウンタ２1〜２Nの各カウント値をチェックし（Ｓ１３）、これらカウント値が表１で定められた上限値及び下限値の範囲内か否かを判定する（Ｓ１４）。カウント値が全て表１で定められた上限値及び下限値の範囲内の場合には処理Ｓ１１に戻ってカウンタ２1〜２Nの全てのカウント値を「０」にセットする。また、カウント値の１つでも表１で定められた上限値及び下限値定義された範囲外の場合はアプリケーション異常の発生として警報あるいはシステムリセットを行う（Ｓ１５）。
【００２３】
なお、表１の上限値及び下限値に定義された値は、同じものとするに限らず、アプリケーション毎に異なる値とすることもできる。この場合、アプリケーションの違いによるインクリメント発生周期の違いに対応可能になる。
【００２４】
また、監視タスクは、警報を発生する場合に、表１で定められた上限値及び下限値の範囲外になるカウンタに対応つけたアプリケーションの識別情報を不揮発性メモリに書き込んでおくことで、その後の異常原因解析を容易にすることができる。
【図面の簡単な説明】
【００２５】
【図１】本発明の実施形態を示す異常監視方法の機能構成図。
【図２】実施形態におけるアプリケーションと監視タスクの処理フロー。
【図３】コンピュータシステムの構成図。
【符号の説明】
【００２６】
１1〜１N  アプリケーション
２1〜２N  カウンタ
３  監視タスク
【図１】
2007257395.tif 000004
【図２】
2007257395.tif 000005
【図３】
2007257395.tif 000006