(57)【要約】【課題】個々のソフトウエアの動作状況に合わせた異常検出を行うことができるソフトウエアの異常検出装置を提供する。【解決手段】所定の時間刻み幅ごとに値が変化し、ソフトウエア１２によりリセットされるソフトウエア１２ごとに設けられたウォッチドッグタイマ１７と、  ソフトウエア１２ごとに異常検出時間が設定された異常検出時間テーブル１３と、  ウォッチドッグタイマ１７がリセットされないで異常検出時間テーブル１３に設定された異常検出時間が経過した場合にソフトウエア１２が異常であると判断するＷＤＴ監視処理部１４と、  ソフトウエア１２ごとの異常検出時間を、ソフトウエア１２の動作状況に応じて設定するＯＳ１１とを備えたものである。【選択図】図１
2010009258.tif 000002
【特許請求の範囲】
【請求項１】
所定の時間刻み幅ごとに値が変化し、ソフトウエアによりリセットされるソフトウエアごとに設けられたウォッチドッグタイマと、
前記ソフトウエアごとに異常検出時間が設定された異常検出時間テーブルと、
前記ウォッチドッグタイマがリセットされないで前記異常検出時間テーブルに設定された前記異常検出時間が経過した場合に前記ソフトウエアが異常であると判断する暴走監視部と、
前記ソフトウエアごとの前記異常検出時間を、前記ソフトウエアの動作状況に応じて設定する異常検出時間設定部とを備えたソフトウエアの異常検出装置。
【請求項２】
前記ソフトウエアごとの優先度を格納する優先度テーブルと、
前記優先度に対応する異常検出時間を格納する異常検出時間設定テーブルとを備え、
前記異常検出時間設定部が、前記ソフトウエアの起動時に前記優先度テーブルを参照して得た前記ソフトウエアの優先度により前記異常検出時間設定テーブルを参照して得た異常検出時間を前記異常検出時間テーブルに設定することを特徴とする請求項１に記載のソフトウエアの異常検出装置。
【請求項３】
前記ソフトウエアの前記優先度は、前記ソフトウエアの実行中に変更可能であり、
前記ソフトウエアの前記優先度が変更されて、前記優先度テーブルに格納された前記優先度が変更された場合に、前記異常検出時間設定部が、前記優先度テーブルを参照して得た前記ソフトウエアの優先度により前記異常検出時間設定テーブルを参照して得た異常検出時間を前記異常検出時間テーブルに設定することを特徴とする請求項２に記載のソフトウエアの異常検出装置。
【請求項４】
前記ソフトウエアごとの標準の異常検出時間を格納する標準異常検出時間設定テーブルと、
前記ソフトウエアごとの優先度を格納する優先度テーブルと、
前記標準異常検出時間設定テーブルに格納された前記標準の異常検出時間から異常検出時間を計算するのに使用する前記優先度ごとに設定された優先度係数を格納する優先度係数テーブルとを備え、
前記異常検出時間設定部が、前記ソフトウエアの起動時に前記優先度テーブルを参照して得た前記ソフトウエアの優先度により前記優先度係数テーブルを参照して得た前記優先度係数と、前記標準異常検出時間設定テーブルを参照して得た前記標準の異常検出時間とを用いて計算した異常検出時間を前記異常検出時間テーブルに設定することを特徴とする請求項１に記載のソフトウエアの異常検出装置。
【請求項５】
前記ソフトウエアの前記優先度は、前記ソフトウエアの実行中に変更可能であり、
前記ソフトウエアの前記優先度が変更されて、前記優先度テーブルに格納された前記優先度が変更された場合に、前記異常検出時間設定部が、前記優先度テーブルを参照して得た前記ソフトウエアの優先度により前記優先度係数テーブルを参照して得た前記優先度係数と、前記標準異常検出時間設定テーブルを参照して得た前記標準の異常検出時間とを用いて計算した異常検出時間を前記異常検出時間テーブルに設定することを特徴とする請求項４に記載のソフトウエアの異常検出装置。
【請求項６】
予め区分された時間帯ごとに異常検出時間を格納する時間帯別異常検出時間設定テーブルを備え、
前記異常検出時間設定部が、前記ソフトウエアが動作する計算機のシステム時刻情報に応じて前記時間帯別異常検出時間設定テーブルを参照して得た前記異常検出時間を前記異常検出時間テーブルに設定することを特徴とする請求項１に記載のソフトウエアの異常検出装置。
【請求項７】
前記ソフトウエアごとの標準の異常検出時間を格納する標準異常検出時間設定テーブルと、
前記ソフトウエアごとの優先度を格納する優先度テーブルと、
前記標準異常検出時間設定テーブルに格納された前記標準の異常検出時間から異常検出時間を計算するのに使用する前記優先度ごとに設定された優先度係数を格納する優先度係数テーブルと、
前記標準異常検出時間設定テーブルに格納された前記標準の異常検出時間から異常検出時間を計算するのに使用する予め区分された時間帯ごとに設定された時間帯別係数を格納する時間帯別係数テーブルとを備え、
前記異常検出時間設定部が、前記優先度テーブルを参照して得た前記ソフトウエアの優先度により前記優先度係数テーブルを参照して得た前記優先度係数と、前記ソフトウエアが動作する計算機のシステム時刻情報に応じて前記時間帯別係数テーブルを参照して得た前記時間帯別係数と、前記標準異常検出時間設定テーブルを参照して得た前記標準の異常検出時間とを用いて計算した異常検出時間を前記異常検出時間テーブルに設定することを特徴とする請求項１に記載のソフトウエアの異常検出装置。
【請求項８】
前記ソフトウエアの前記優先度は、前記ソフトウエアの実行中に変更可能であり、
前記ソフトウエアの前記優先度が変更されて、前記優先度テーブルに格納された前記優先度が変更された場合に、前記異常検出時間設定部が、前記優先度テーブルを参照して得た前記ソフトウエアの優先度により前記優先度係数テーブルを参照して得た前記優先度係数と、前記ソフトウエアが動作する計算機のシステム時刻情報に応じて前記時間帯別係数テーブルを参照して得た前記時間帯別係数と、前記標準異常検出時間設定テーブルを参照して得た前記標準の異常検出時間とを用いて計算した異常検出時間を前記異常検出時間テーブルに設定することを特徴とする請求項７に記載のソフトウエアの異常検出装置。
【請求項９】
前記優先度係数テーブルは、前記ソフトウエアごとに、かつ前記優先度ごとに設定された前記優先度係数を格納し、
前記時間帯別係数テーブルは、前記ソフトウエアごとに、かつ前記時間帯ごとに設定された前記時間帯別係数を格納し、
前記異常検出時間設定部が、前記ソフトウエアごとに前記優先度係数テーブルと前記時間帯別係数テーブルの前記ソフトウエアに対応する領域を参照して得た前記優先度係数と前記時間帯別係数を異常検出時間の計算に用いることを特徴とする請求項７または請求項８に記載のソフトウエアの異常検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、計算機のソフトウエアの暴走を検知するソフトウエアの異常検出装置に関し、特にソフトウエアの動作状況に合わせた異常検出を行うことができるものである。
【背景技術】
【０００２】
従来のソフトウエアの異常検出装置は、計算機として１つ、またはソフトウエアの数だけの暴走検知機能を備えて、事前に定義した時間だけソフトウエアからリセットが行われなければ、ソフトウエアの暴走が発生したと判断して、計算機の異常処理を行っている（例えば、特許文献１参照）。
【０００３】
【特許文献１】特開平３−６２２３６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来のソフトウエアの異常検出装置は、異常発生と判断するまでの時間を、個々のプログラムの実行ケースの内最悪値が設定されている。このため、ソフトウエアの動作状況にそぐわない設定値となる可能性があるという問題点があった。
【０００５】
この発明は上記のような課題を解決するためになされたものであり、個々のソフトウエアの動作状況に合わせた異常検出を行うことが可能となるソフトウエアの異常検出装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
この発明は、所定の時間刻み幅ごとに値が変化し、ソフトウエアによりリセットされるソフトウエアごとに設けられたウォッチドッグタイマと、
ソフトウエアごとに異常検出時間が設定された異常検出時間テーブルと、
ウォッチドッグタイマがリセットされないで異常検出時間テーブルに設定された異常検出時間が経過した場合にソフトウエアが異常であると判断する暴走監視部と、
ソフトウエアごとの異常検出時間を、ソフトウエアの動作状況に応じて設定する異常検出時間設定部とを備えたものである。
【発明の効果】
【０００７】
この発明のソフトウエアの異常検出装置は、所定の時間刻み幅ごとに値が変化し、ソフトウエアによりリセットされるソフトウエアごとに設けられたウォッチドッグタイマと、
ソフトウエアごとに異常検出時間が設定された異常検出時間テーブルと、
ウォッチドッグタイマがリセットされないで異常検出時間テーブルに設定された異常検出時間が経過した場合にソフトウエアが異常であると判断する暴走監視部と、
ソフトウエアごとの異常検出時間を、ソフトウエアの動作状況に応じて設定する異常検出時間設定部とを備えたので、ソフトウエアの優先度という、個々のソフトウエアの動作状況に合わせた異常検出を行うことができる。
【発明を実施するための最良の形態】
【０００８】
実施の形態１．
以下、本願発明の実施の形態について説明する。図１はこの発明の実施の形態１におけるソフトウエアの異常検出装置の構成を示すブロック図、図２は図１に示したソフトウエアの異常検出装置の動作を説明するためのフローチャートである。図において、対象の計算機１０は、複数のソフトウエア（１〜ｎ）１２と、これらソフトウエア（１〜ｎ）１２を制御するオペレーティングシステム（以下、ＯＳと称する）１１とを有している。ＯＳ１１はソフトウエア１２ごとの優先度を決め、優先度テーブル１６に優先度をソフトウエア１２ごとに設定する。
【０００９】
そして、ソフトウエア１２の異常検出装置はこの計算機１０を対象としており、優先度（プライオリティ）ｐ１〜ｐｎごとに異常検出時間Ｔ１〜Ｔｎがそれぞれ設定されている異常検出時間設定テーブル１５と、優先度テーブル１６と異常検出時間設定テーブル１５とがＯＳ１１により参照されてソフトウエア１２ごとの異常検出時間がそれぞれ設定される異常検出時間テーブル１３と、ソフトウエア１２ごとに設けられた所定の時間刻み幅ごとにカウンタ値が１ずつ増加するウォッチドッグタイマ１７と、ウォッチドッグタイマ１７のカウンタ値が異常検出時間テーブル１３以上になることを検出する暴走監視部であるＷＤＴ監視処理部１４とを備えている。なお、異常検出時間テーブル１３に設定されている異常検出時間は、所定の時間刻み幅で割った離散値として表現する。ＯＳ１１が、ソフトウエア１２ごとの異常検出時間を、ソフトウエア１２の動作状況に応じて、異常検出時間テーブル１３に設定する異常検出時間設定部である。
ウォッチドッグタイマ１７のカウンタ値は、異常検出時間よりも短い間隔でソフトウエア１２によりゼロにリセットされる。ソフトウエア１２に動作遅延が無い場合は、ウォッチドッグタイマ１７のカウンタ値が異常検出時間以上にはならない。そのため、ウォッチドッグタイマ１７のカウンタ値が異常検出時間以上になることは、ソフトウエア１２に暴走等の何らかの異常による動作遅延が発生していることになる。異常検出時間設定テーブル１５に設定されている、優先度と異常検出時間との関係は、例えば、優先度が高いほど異常検出時間を短く、優先度が低いほど異常検出時間を長くして設定することが考えられる。これは、優先度が高い、すなわち優先的に使用されているソフトウエア１２ほどきめ細やかに異常検出を行う必要性があることから考えられる。尚、優先度と異常検出時間との関係は１例であり、これに限定されるものではなく適宜設定することが可能であることは言うまでもない。以下、このことは同様であるためその説明は適宜省略する。
【００１０】
次に上記のように構成された実施の形態１のソフトウエアの異常検出装置の動作について図２を交えて説明する。まず、計算機１０では、ＯＳ１１が処理を開始すると、ＯＳ１１はソフトウエア１２を起動する（図２のステップＳＴ１０）。次に、ＯＳ１１は異常検出時間設定テーブル１５から起動したソフトウエア１２の優先度（優先度テーブル１６に格納）に対応した異常検出時間を抽出して、異常検出時間テーブル１３の該当するソフトウエア１２の異常検出時間に設定する（図２のステップＳＴ１１）。例えば、ソフトウエア１の優先度がｐ１の場合、異常検出時間設定テーブル１５からその優先度ｐ１に対応した時間Ｔ１が抽出され、異常検出時間テーブル１３のソフトウエア１の領域に時間Ｔ１が設定される。
【００１１】
次に、起動したソフトウエア１２は、正常に動作していれば、当該ソフトウエア１２に対応したウォッチドッグタイマ１７のカウンタ値をリセットするリセット信号を所定の時間以内の間隔で出力する（図２のステップＳＴ１２）。そして、ＷＤＴ監視処理部１４は、ウォッチドッグタイマ１７のカウンタ値を周期的にチェックし、異常検出時間テーブル１３に格納された異常検出時間以上になっているソフトウエア１２が存在するかどうかをチェックする。ウォッチドッグタイマ１７のカウンタ値が異常検出時間テーブル１３に格納された異常検出時間以上になっているソフトウエア１２が存在する場合には、そのソフトウエア１２に暴走などの何らかの異常が発生していると判断する（図２のステップＳＴ１３）。
【００１２】
上記のように構成された実施の形態１のソフトウエアの異常検出装置によれば、ソフトウエアの優先度に応じてソフトウエアの異常検出時間を設定することが可能となり、ソフトウエアの動作状況に応じた異常検出を行うことができる。
ＯＳがソフトウエアを起動し、ソフトウエアの優先度の管理を行うとしたが、ＯＳとアプリケーションソフトウエアの間にミドルウエアが存在する場合には、ミドルウエアがソフトウエアを起動し、ソフトウエアの優先度の管理を行うようにしてもよい。ソフトウエアごとの優先度を格納する優先度テーブルは、ＯＳなどの内部に持ってもよいし、ＯＳ以外も参照することができるメモリの領域に置いてもよい。カウントアップするウォッチドッグタイマを用いたが、カウントダウンするウォッチドッグタイマを用いて、ソフトウエアによるリセット時に異常検出時間を設定し、カウンタ値がゼロ以下になった場合に異常を検出するようにしてもよい。
この実施の形態では、異常検出時間はソフトウエアの起動時に設定したが、ソフトウエアの優先度を変化させる場合に、異常検出時間も変更後の優先度に対応する値に変化させてもよい。ウォッチドッグタイマの異常検出時間は、ソフトウエアの優先度以外のものに応じて設定するようにしてもよい。ソフトウエアの動作状況を表す状態量またはソフトウエアの動作状況に影響を与える状態量であれば、どのような状態量を用いてもよい。
【００１３】
実施の形態２．
図３はこの発明の実施の形態２におけるソフトウエアの異常検出装置の構成を示すブロック図、図４は図３に示したソフトウエアの異常検出装置の動作を説明するためのフローチャートである。図において、上記実施の形態１と同様の部分は同一符号を付して説明を省略する。本実施の形態２では、ＯＳ１１が、計算機１の状態に応じて各ソフトウエア１２の優先度情報を変更するものである。
【００１４】
次に上記のように構成された実施の形態２のソフトウエアの異常検出装置の動作について図４を交えて説明する。まず、上記実施の形態１と同様に、計算機１０では、ＯＳ１１が処理を開始すると、ＯＳ１１はソフトウエア１２を起動する（図４のステップＳＴ１０）。次に、ＯＳ１１は異常検出時間設定テーブル１５から起動したソフトウエア１２の優先度（優先度テーブル１６に格納）に対応した異常検出時間を抽出して、異常検出時間テーブル１３の該当するソフトウエア１２の異常検出時間に設定する（図４のステップＳＴ１１）。次に、ＯＳ１１が、ソフトウエア１２の優先度情報を変更すると、異常検出時間設定テーブル１５から優先度が変更されたソフトウエア１２の優先度に対応した異常検出時間を抽出して異常検出時間テーブル１３の該当するソフトウエア１２の異常検出時間に再設定する（図４のステップＳＴ２０）。例えば、ソフトウエア１の優先度がｐ１からｐ２に変更された場合、異常検出時間設定テーブル１５からその優先度ｐ２に対応した時間Ｔ２が抽出され、異常検出時間テーブル１３のソフトウエア１の領域に時間Ｔ２が再設定される。
【００１５】
以下、上記実施の形態１と同様に、起動したソフトウエア１２は、正常に動作していれば、ソフトウエア１２に対応したウォッチドッグタイマ１７のカウンタ値をリセットするリセット信号を所定の時間以内の間隔で出力する（図４のステップＳＴ１２）。そして、ＷＤＴ監視処理部１４は、ウォッチドッグタイマ１７のカウンタ値を周期的にチェックし、異常検出時間テーブル１３に格納された異常検出時間以上になっているソフトウエア１２が存在するかどうかをチェックする。ウォッチドッグタイマ１７のカウンタ値が異常検出時間テーブル１３に格納された異常検出時間以上になっているソフトウエア１２が存在する場合には、そのソフトウエア１２に暴走などの何らかの異常が発生していると判断する（図４のステップＳＴ１３）。
【００１６】
上記のように構成された実施の形態２によれば、上記実施の形態１と同様の効果を奏するのはもちろんのこと、ソフトウエアの優先度がダイナミックに変化する計算機の場合であれば、優先度が変化するタイミングで異常検出時間を再設定して異常を検出することができるため、ソフトウエアの動作状況に応じたさらにきめ細やに異常検出を行うことができる。
【００１７】
実施の形態３．
図５はこの発明の実施の形態３におけるソフトウエアの異常検出装置の構成を示すブロック図、図６は図５に示したソフトウエアの異常検出装置の動作を説明するためのフローチャートである。上記各実施の形態では、計算機１０にてソフトウエア１２の優先度に対応して異常検出時間を設定するものを示したが、ソフトウエア１２によって、リセットを行える間隔が長いものや短いものがあるため、優先度で一律に異常検出時間を設定するのでは、リセットを行える間隔が最も長いものに合わせる必要性がある。そこで、本実施の形態３においては各ソフトウエア１２で標準的な異常検出時間を設定し、さらに優先度をパラメータとして異常検出時間を算出するものについて説明する。図において、上記各実施の形態と同様の部分は同一符号を付して説明を省略する。ソフトウエア１２毎に異常検出時間がそれぞれ設定されている標準異常検出時間設定テーブルとしての異常検出時間設定テーブル３０と、優先度毎に異常検出時間の係数がそれぞれ設定されている優先度係数テーブル３１とを備えている。
【００１８】
次に上記のように構成された実施の形態３のソフトウエアの異常検出装置の動作について図６を交えて説明する。まず、上記各実施の形態と同様に、計算機１０では、ＯＳ１１が処理を開始すると、ＯＳ１１はソフトウエア１２を起動する（図６のステップＳＴ１０）。次に、ＯＳ１１は異常検出時間設定テーブル３０から起動したソフトウエア１２に対応した異常検出時間および優先度係数テーブル３１から起動したソフトウエア１２の優先度（優先度テーブル１６に格納）に対応した係数を抽出して算出した異常検出時間を、異常検出時間テーブル１３の該当するソフトウエア１２の異常検出時間に設定する（図６のステップＳＴ３０）。例えば、ソフトウエア１の優先度がｐ１の場合、異常検出時間設定テーブル１５からそのソフトウエア１の異常検出時間Ｔ１および優先度係数テーブル３１からそのソフトウエア１の優先度ｐ１に対応した係数Ｃｐ１を抽出して算出した異常検出時間Ｔ１’が、異常検出時間テーブル１３のソフトウエア１の領域に設定される。
【００１９】
次に、上記各実施の形態と同様に、起動したソフトウエア１２は、正常に動作していれば、ソフトウエア１２に対応したウォッチドッグタイマ１７のカウンタ値をリセットするリセット信号を所定の時間以内の間隔で出力する（図７のステップＳＴ１２）。そして、ＷＤＴ監視処理部１４は、ウォッチドッグタイマ１７のカウンタ値を周期的にチェックし、異常検出時間テーブル１３に格納された異常検出時間以上になっているソフトウエア１２が存在するかどうかをチェックする。ウォッチドッグタイマ１７のカウンタ値が異常検出時間テーブル１３に格納された異常検出時間以上になっているソフトウエア１２が存在する場合には、そのソフトウエア１２に暴走などの何らかの異常が発生していると判断する（図６のステップＳＴ１３）。
【００２０】
上記のように構成された実施の形態３のソフトウエアの異常検出装置によれば、上記各実施の形態と同様の効果を奏するのはもちろんのこと、ソフトウエアの個々の特性および優先度に応じてソフトウエアの異常検出時間を設定することが可能となり、ソフトウエアの動作状況に応じた異常検出を行うことができる。
【００２１】
実施の形態４．
図７はこの発明の実施の形態４におけるソフトウエアの異常検出装置の構成を示すブロック図、図８は図７に示したソフトウエアの異常検出装置の動作を説明するためのフローチャートである。図において、上記実施の形態３と同様の部分は同一符号を付して説明を省略する。本実施の形態４では、ＯＳ１１が、計算機１の状態に応じて各ソフトウエア１２の優先度情報を変更するものである。
【００２２】
次に上記のように構成された実施の形態４のソフトウエアの異常検出装置の動作について図８を交えて説明する。まず、上記各実施の形態と同様に、計算機１０では、ＯＳ１１が処理を開始すると、ＯＳ１１はソフトウエア１２を起動する（図８ステップＳＴ１０）。次に、ＯＳ１１は異常検出時間設定テーブル３０から起動したソフトウエア１２に対応した異常検出時間および優先度係数テーブル３１から起動したソフトウエア１２の優先度（優先度テーブル１６に格納）に対応した係数を抽出して算出した異常検出時間を、異常検出時間テーブル１３の該当するソフトウエア１２の異常検出時間に設定する（図８のステップＳＴ３０）。次に、ＯＳ１１が、ソフトウエア１２の優先度情報を変更すると、異常検出時間設定テーブル３０から優先度が変更されたソフトウエア１２に対応した異常検出時間および優先度係数テーブル３１から優先度が変更されたソフトウエア１２の優先度に対応した係数を抽出して算出した異常検出時間を、異常検出時間テーブル１３の該当するソフトウエア１２の異常検出時間に再設定する（図８のステップＳＴ２０）。例えば、ソフトウエア１の優先度がｐ１からｐ２に変更された場合、異常検出時間設定テーブル１５から優先度を変更されたソフトウエア１の異常検出時間Ｔ１および優先度係数テーブル３１から優先度が変更されたソフトウエア１の優先度ｐ２に対応した係数Ｃｐ２を抽出して算出された異常検出時間Ｔ１”が、異常検出時間テーブル１３のソフトウエア１の領域に再設定される。
【００２３】
以下、上記各実施の形態と同様に、起動したソフトウエア１２は、正常に動作していれば、ソフトウエア１２に対応したウォッチドッグタイマ１７のカウンタ値をリセットするリセット信号を所定の時間以内の間隔で出力する（図８のステップＳＴ１２）。そして、ＷＤＴ監視処理部１４は、ウォッチドッグタイマ１７のカウンタ値を周期的にチェックし、異常検出時間テーブル１３に格納された異常検出時間以上になっているソフトウエア１２が存在するかどうかをチェックする。ウォッチドッグタイマ１７のカウンタ値が異常検出時間テーブル１３に格納された異常検出時間以上になっているソフトウエア１２が存在する場合には、そのソフトウエア１２に暴走などの何らかの異常が発生していると判断する（図８のステップＳＴ１３）。
【００２４】
上記のように構成された実施の形態４によれば、上記各実施の形態と同様の効果を奏するのはもちろんのこと、ソフトウエアの優先度がダイナミックに変化する計算機の場合であれば、優先度が変化するタイミングで異常検出時間を再設定して異常を検出することができるため、ソフトウエアの動作状況に応じたさらにきめ細やに異常検出を行うことができる。
【００２５】
実施の形態５．
図９はこの発明の実施の形態５におけるソフトウエアの異常検出装置の構成を示すブロック図、図１０は図９に示したソフトウエアの異常検出装置の動作を説明するためのフローチャートである。図において、上記各実施の形態と同様の部分は同一符号を付して説明を省略する。上記各実施の形態では、優先度という観点でソフトウエアの異常検出時間を決定していたが、計算機では、夜間のバッチ処理や日替わり処理など、時間帯によってソフトウエア１２の実行する時間が異なる場合が多い。そこで本実施の形態５では、その時間帯という観点でソフトウエア１２の異常検出時間を決定するものについて示す。図において、上記各実施の形態と同様の部分は同一符号を付して説明を省略する。予め設定された時間帯毎に異常検出時間がそれぞれ設定されている時間帯別異常検出時間設定テーブルとしての異常検出時間設定テーブル５０を備えている。そして、ＯＳ１１は、計算機１０内のシステム時刻情報を有している。
【００２６】
次に上記のように構成された実施の形態５のソフトウエアの異常検出装置の動作について図１０を交えて説明する。まず、上記各実施の形態と同様に、計算機１０では、ＯＳ１１が処理を開始すると、ＯＳ１１はソフトウエア１２を起動する（図１０のステップＳＴ１０）。次に、ＯＳ１１は異常検出時間設定テーブル５０から起動したシステム時刻に対応した時間帯の異常検出時間を抽出して、異常検出時間テーブル１３の起動したソフトウエア１２の異常検出時間に設定する（図１０のステップＳＴ５０）。例えば、ソフトウエア１２を起動したシステム時刻がｔｎの場合、異常検出時間設定テーブル５０からそのシステム時刻ｔｎに対応した時間帯ｔｎ〜ｔｎ１の異常検出時間Ｔｎが抽出され、異常検出時間テーブル１３の起動したソフトウエア１２の領域の全てに時間Ｔｎが設定される。次に、ＯＳ１１はシステム時刻が変更されていき、その変更されたシステム時刻に対応した時間帯が変更されると、異常検出時間設定テーブル５０から変更したシステム時刻に対応した時間帯の異常検出時間を抽出して、異常検出時間テーブル１３の起動したソフトウエア１２の全ての異常検出時間に再設定する（図１０のステップＳＴ５１）。
【００２７】
次に、上記各実施の形態と同様に、起動したソフトウエア１２は、正常に動作していれば、ソフトウエア１２に対応したウォッチドッグタイマ１７のカウンタ値をリセットするリセット信号を所定の時間以内の間隔で出力する（図１０のステップＳＴ１２）。そして、ＷＤＴ監視処理部１４は、ウォッチドッグタイマ１７のカウンタ値を周期的にチェックし、異常検出時間テーブル１３に格納された異常検出時間以上になっているソフトウエア１２が存在するかどうかをチェックする。ウォッチドッグタイマ１７のカウンタ値が異常検出時間テーブル１３に格納された異常検出時間以上になっているソフトウエア１２が存在する場合には、そのソフトウエア１２に暴走などの何らかの異常が発生していると判断する（図１０のステップＳＴ１３）。
【００２８】
上記のように構成された実施の形態５のソフトウエアの異常検出装置によれば、システム時刻に応じてソフトウエアの異常検出時間を設定することが可能となり、ソフトウエアの動作状況に応じた異常検出を行うことができる。
【００２９】
実施の形態６．
図１１はこの発明の実施の形態６におけるソフトウエアの異常検出装置の構成を示すブロック図、図１２は図１１に示したソフトウエアの異常検出装置の動作を説明するためのフローチャートである。図において、上記各実施の形態と同様の部分は同一符号を付して説明を省略する。上記実施の形態５では、時間帯に対応して異常検出時間を変化させることは可能であるが、時間帯で一律に異常検出時間を設定することとなる。そこで、本実施の形態６では、各ソフトウエアで標準的な異常検出時間、優先度、および時間帯をパラメータとしてソフトウエアの異常検出時間を決定するものについて示す。図において、上記各実施の形態と同様の部分は同一符号を付して説明を省略する。優先度毎に異常検出時間の優先度係数がそれぞれ設定されている優先度係数テーブル３１と、予め設定された時間帯毎に異常検出時間の時間帯別係数がそれぞれ設定されているシステム時刻係数テーブル６０とを備えている。
【００３０】
次に上記のように構成された実施の形態６のソフトウエアの異常検出装置の動作について図１２を交えて説明する。まず、上記各実施の形態と同様に、計算機１０では、ＯＳ１１が処理を開始すると、ＯＳ１１はソフトウエア１２を起動する（図１２ステップＳＴ１０）。次に、ＯＳ１１は異常検出時間設定テーブル３０から起動したソフトウエア１２に対応した異常検出時間および優先度係数テーブル３１から起動したソフトウエア１２の優先度（優先度テーブル１６に格納）に対応した優先度係数およびシステム時刻係数テーブル６０からシステム時刻に対応した時間帯の時間帯別係数を抽出して算出した異常検出時間を、異常検出時間テーブル１３の該当するソフトウエア１２の異常検出時間に設定する（図１２のステップＳＴ６０）。例えば、ソフトウエア１の優先度がｐ１、システム時刻がｔｎの場合、異常検出時間設定テーブル３０からそのソフトウエア１の異常検出時間Ｔ１および優先度係数テーブル３１からそのソフトウエア１の優先度ｐ１に対応した優先度係数Ｃｐ１およびシステム時刻係数テーブル６０からシステム時刻ｔｎに対応した時間帯ｔｎ〜ｔｎ１の時間帯別係数Ｃｔｎを抽出して算出した時間Ｔ１’を、異常検出時間テーブル１３のソフトウエア１の領域に設定される。
【００３１】
次に、ＯＳ１１が、ソフトウエア１２の優先度情報を変更すると、異常検出時間設定テーブル３０から優先度が変更されたソフトウエア１２に対応した異常検出時間および優先度係数テーブル３１から優先度が変更されたソフトウエア１２の優先度に対応した優先度係数およびシステム時刻係数テーブル６０から変更された際のシステム時刻の時間帯に対応した時間帯別係数を抽出して算出し異常検出時間を、異常検出時間テーブル１３の該当するソフトウエア１２の異常検出時間に再設定する。さらに、ＯＳ１１はシステム時刻が変更されていき、その変更されたシステム時刻に対応した時間帯が変更されると、異常検出時間設定テーブル３０から起動しているソフトウエア１２に対応した異常検出時間および優先度係数テーブル３１からソフトウエア１２の優先度に対応した優先度係数およびシステム時刻係数テーブル６０から時間帯が変更したシステム時刻の時間帯に対応した時間帯別係数を抽出して算出し異常検出時間を、異常検出時間テーブル１３の該当するソフトウエア１２の異常検出時間に再設定する（図１２のステップＳＴ６１）。
【００３２】
例えば、ソフトウエア１の優先度がｐ１からｐ２に変更された場合、異常検出時間設定テーブル１５から優先度を変更されたソフトウエア１の異常検出時間Ｔ１および優先度係数テーブル３１から優先度が変更されたソフトウエア１の優先度ｐ２に対応した係数Ｃｐ２およびシステム時刻係数テーブル６０から優先度が変更されたシステム時刻ｔｎ１に対応した時間帯ｔｎ〜ｔｎ１の時間帯別係数Ｃｔｎを抽出して算出された異常検出時間Ｔ１”を、異常検出時間テーブル１３のソフトウエア１の領域に再設定する。また、システム時刻がｔ１となり時間帯が変更した場合、異常検出時間設定テーブル１５から起動されているソフトウエア１の異常検出時間Ｔ１および優先度係数テーブル３１からソフトウエア１の優先度ｐ１に対応した係数Ｃｐ１およびシステム時刻係数テーブル６０からシステム時刻ｔ１に対応した時間帯ｔ１〜ｔ１１の時間帯別係数Ｃｔ１を抽出して算出された異常検出時間Ｔ１”を、異常検出時間テーブル１３のソフトウエア１の領域に再設定することが考えられる。
【００３３】
以下、上記各実施の形態と同様に、起動したソフトウエア１２は、正常に動作していれば、ソフトウエア１２に対応したウォッチドッグタイマ１７のカウンタ値をリセットするリセット信号を所定の時間以内の間隔で出力する（図１２のステップＳＴ１２）。そして、ＷＤＴ監視処理部１４は、ウォッチドッグタイマ１７のカウンタ値を周期的にチェックし、異常検出時間テーブル１３に格納された異常検出時間以上になっているソフトウエア１２が存在するかどうかをチェックする。ウォッチドッグタイマ１７のカウンタ値が異常検出時間テーブル１３に格納された異常検出時間以上になっているソフトウエア１２が存在する場合には、そのソフトウエア１２に暴走などの何らかの異常が発生していると判断する（図１２のステップＳＴ１３）。
【００３４】
上記のように構成された実施の形態６によれば、上記各実施の形態と同様の効果を奏するのはもちろんのこと、ソフトウエアの個々の特性および優先度およびシステム時刻に応じてソフトウエアの異常検出時間を設定することが可能となり、ソフトウエアの動作状況に応じた異常検出を行うことができる。さらに、ソフトウエアの優先度がダイナミックに変化する計算機の場合であれば、優先度が変化するタイミングで異常検出時間を再設定して異常を検出することができるため、ソフトウエアの動作状況に応じたさらにきめ細やに異常検出を行うことができる。
【００３５】
実施の形態７．
図１３はこの発明の実施の形態７におけるソフトウエアの異常検出装置の構成を示すブロック図、図１４は図１３に示したソフトウエアの異常検出装置の動作を説明するためのフローチャートである。図において、上記各実施の形態と同様の部分は同一符号を付して説明を省略する。ソフトウエア１２毎に、優先度毎に異常検出時間の優先度係数がそれぞれ設定されている優先度係数テーブル３１０と、ソフトウエア１２毎に、予め設定された時間帯毎に異常検出時間の時間帯別係数がそれぞれ設定されているシステム時刻係数テーブル６００とを備えている。
【００３６】
次に上記のように構成された実施の形態７のソフトウエアの異常検出装置の動作について図１４を交えて説明する。まず、上記各実施の形態と同様に、計算機１０では、ＯＳ１１が処理を開始すると、ＯＳ１１はソフトウエア１２を起動する（図１４ステップＳＴ１０）。次に、ＯＳ１１は異常検出時間設定テーブル３０から起動したソフトウエア１２に対応した異常検出時間および優先度係数テーブル３１０から起動したソフトウエア１２の優先度（優先度テーブル１６に格納）に対応した優先度係数およびシステム時刻係数テーブル６００から起動したソフトウエア１２のシステム時刻に対応した時間帯別係数を抽出して算出した異常検出時間を、異常検出時間テーブル１３の該当するソフトウエア１２の異常検出時間に設定する（図１４のステップＳＴ６２）。
【００３７】
次に、ＯＳ１１が、ソフトウエア１２の優先度情報を変更すると、異常検出時間設定テーブル３０から優先度が変更されたソフトウエア１２に対応した異常検出時間および優先度係数テーブル３１０から優先度が変更されたソフトウエア１２の優先度に対応した優先度係数およびシステム時刻係数テーブル６００から変更されたソフトウエア１２のシステム時刻に対応した時間帯別係数を抽出して算出し異常検出時間を、異常検出時間テーブル１３の該当するソフトウエア１２の異常検出時間に再設定する。さらに、ＯＳ１１はシステム時刻が変更されていき、その変更されたシステム時刻に対応した時間帯が変更されると、異常検出時間設定テーブル３０から起動しているソフトウエア１２に対応した異常検出時間および優先度係数テーブル３１０からソフトウエア１２の優先度に対応した優先度係数およびシステム時刻係数テーブル６００から起動しているソフトウエア１２の時間帯が変更したシステム時刻の時短帯に対応した時間帯別係数を抽出して算出し異常検出時間を、異常検出時間テーブル１３の該当するソフトウエア１２の異常検出時間に再設定する（図１２のステップＳＴ６１）。
【００３８】
以下、上記各実施の形態と同様に、起動したソフトウエア１２は、正常に動作していれば、ソフトウエア１２に対応したウォッチドッグタイマ１７のカウンタ値をリセットするリセット信号を所定の時間以内の間隔で出力する（図１４のステップＳＴ１２）。そして、ＷＤＴ監視処理部１４は、ウォッチドッグタイマ１７のカウンタ値を周期的にチェックし、異常検出時間テーブル１３に格納された異常検出時間以上になっているソフトウエア１２が存在するかどうかをチェックする。ウォッチドッグタイマ１７のカウンタ値が異常検出時間テーブル１３に格納された異常検出時間以上になっているソフトウエア１２が存在する場合には、そのソフトウエア１２に暴走などの何らかの異常が発生していると判断する（図１４のステップＳＴ１３）。
【００３９】
上記のように構成された実施の形態７によれば、上記各実施の形態と同様の効果を奏するのはもちろんのこと、ソフトウエアの個々の特性およびソフトウエアの個々の優先度の優先度係数およびソフトウエアの個々のシステム時刻の時間帯別係数に応じてソフトウエアの異常検出時間を設定することが可能となり、ソフトウエアの動作状況に応じた異常検出を行うことができる。さらに、ソフトウエアの優先度がダイナミックに変化する計算機の場合であれば、優先度が変化するタイミングで異常検出時間を再設定して異常を検出することができるため、ソフトウエアの動作状況に応じたさらにきめ細やに異常検出を行うことができる。
【００４０】
実施の形態８．
図１５はこの発明の実施の形態８におけるソフトウエアの異常検出装置の構成を示すブロック図、図１６は図１５に示したソフトウエアの異常検出装置の動作を説明するためのフローチャートである。図において、上記各実施の形態と同様の部分は同一符号を付して説明を省略する。図において、上記各実施の形態と同様の部分は同一符号を付して説明を省略する。本実施の形態８では、ソフトウエア１２毎に異常検出時間がそれぞれ設定されている異常検出時間設定テーブル３０と、予め設定された時間帯毎に異常検出時間の係数がそれぞれ設定されているシステム時刻係数テーブル６０とを備えている場合について説明する。
【００４１】
次に上記のように構成された実施の形態８のソフトウエアの異常検出装置の動作について図１６を交えて説明する。まず、上記各実施の形態と同様に、計算機１０では、ＯＳ１１が処理を開始すると、ＯＳ１１はソフトウエア１２を起動する（図１６ステップＳＴ１０）。次に、ＯＳ１１は異常検出時間設定テーブル３０から起動したソフトウエア１２に対応した異常検出時間およびシステム時刻係数テーブル６０からシステム時刻に対応した係数を抽出して算出した異常検出時間を、異常検出時間テーブル１３の該当するソフトウエア１２の異常検出時間に設定する（図１６のステップＳＴ６００）。例えば、システム時刻がｔｎの場合、異常検出時間設定テーブル３０からそのソフトウエア１の異常検出時間Ｔ１およびシステム時刻係数テーブル６０からシステム時刻ｔｎに対応した時間帯ｔｎ〜ｔｎ１の係数Ｃｔｎを抽出して算出した時間Ｔ１’を、異常検出時間テーブル１３のソフトウエア１の領域に設定する。
【００４２】
次に、ＯＳ１１はシステム時刻が変更されていき、その変更されたシステム時刻に対応した時間帯が変更されると、異常検出時間設定テーブル３０から起動したソフトウエア１２に対応した異常検出時間およびシステム時刻係数テーブル６０から変更したシステム時刻に対応した時間帯の係数を抽出して算出した異常検出時間を、異常検出時間テーブル１３の該当するソフトウエア１２の異常検出時間に再設定する（図１０のステップＳＴ５１）。
【００４３】
以下、上記各実施の形態と同様に、起動したソフトウエア１２は、正常に動作していれば、ソフトウエア１２に対応したウォッチドッグタイマ１７のカウンタ値をリセットするリセット信号を所定の時間以内の間隔で出力する（図１６のステップＳＴ１２）。そして、ＷＤＴ監視処理部１４は、ウォッチドッグタイマ１７のカウンタ値を周期的にチェックし、異常検出時間テーブル１３に格納された異常検出時間以上になっているソフトウエア１２が存在するかどうかをチェックする。ウォッチドッグタイマ１７のカウンタ値が異常検出時間テーブル１３に格納された異常検出時間以上になっているソフトウエア１２が存在する場合には、そのソフトウエア１２に暴走などの何らかの異常が発生していると判断する（図１６のステップＳＴ１３）。
【００４４】
上記のように構成された実施の形態８によれば、上記各実施の形態と同様の効果を奏するのはもちろんのこと、ソフトウエアの個々の特性およびシステム時刻に応じてソフトウエアの異常検出時間を設定することが可能となり、ソフトウエアの動作状況に応じた異常検出を行うことができる。
【００４５】
実施の形態９．
図１７はこの発明の実施の形態９におけるソフトウエアの異常検出装置の構成を示すブロック図、図１８は図１７に示したソフトウエアの異常検出装置の動作を説明するためのフローチャートである。図において、上記各実施の形態と同様の部分は同一符号を付して説明を省略する。優先度毎に異常検出時間がそれぞれ設定されている異常検出時間設定テーブル１５と、予め設定された時間帯毎に異常検出時間の係数がそれぞれ設定されているシステム時刻係数テーブル６０とを備えている場合について説明する。
【００４６】
次に上記のように構成された実施の形態９のソフトウエアの異常検出装置の動作について図１８を交えて説明する。まず、上記各実施の形態と同様に、計算機１０では、ＯＳ１１が処理を開始すると、ＯＳ１１はソフトウエア１２を起動する（図１８ステップＳＴ１０）。次に、ＯＳ１１は異常検出時間設定テーブル１５から起動したソフトウエア１２の優先度（優先度テーブル１６に格納）に対応した異常検出時間およびシステム時刻係数テーブル６０からシステム時刻に対応した時間帯の係数を抽出して算出した異常検出時間を、異常検出時間テーブル１３の該当するソフトウエア１２の異常検出時間に設定する（図１８のステップＳＴ６０１）。例えば、ソフトウエア１の優先度がｐ１、システム時刻がｔｎの場合、異常検出時間設定テーブル１５からそのソフトウエア１の優先度ｐ１に対応した異常検出時間Ｔ１およびシステム時刻係数テーブル６０からシステム時刻ｔｎに対応した時間帯ｔｎ〜ｔｎ１の係数Ｃｔｎを抽出して算出した時間Ｔ１’を、異常検出時間テーブル１３のソフトウエア１の領域に設定する。
【００４７】
次に、ＯＳ１１が、ソフトウエア１２の優先度情報を変更すると、異常検出時間設定テーブル１５から優先度が変更されたソフトウエア１２の優先度に対応した異常検出時間およびシステム時刻係数テーブル６０から変更された際のシステム時刻に対応した係数を抽出して算出し異常検出時間を、異常検出時間テーブル１３の該当するソフトウエア１２の異常検出時間に再設定する。さらに、ＯＳ１１はシステム時刻が変更されていき、その変更されたシステム時刻に対応した時間帯が変更されると、異常検出時間設定テーブル３０から起動しているソフトウエア１２の優先度に対応した異常検出時間およびシステム時刻係数テーブル６０から時間帯が変更したシステム時刻の時間帯に対応した係数を抽出して算出し異常検出時間を、異常検出時間テーブル１３の該当するソフトウエア１２の異常検出時間に再設定する（図１８のステップＳＴ６１）。
【００４８】
例えば、ソフトウエア１の優先度がｐ１からｐ２に変更された場合、異常検出時間設定テーブル１５から優先度を変更されたソフトウエア１の優先度ｐ２に対応した異常検出時間Ｔ２およびシステム時刻係数テーブル６０から優先度が変更されたシステム時刻ｔｎ１に対応した時間帯ｔｎ〜ｔｎ１の係数Ｃｔｎを抽出して算出された異常検出時間Ｔ１”を、異常検出時間テーブル１３のソフトウエア１の領域に時間Ｔ１”に再設定する。また、システム時刻がｔ１となり時間帯が変更した場合、異常検出時間設定テーブル１５から起動されているソフトウエア１の優先度に対応した異常検出時間Ｔ１およびシステム時刻係数テーブル６０からシステム時刻ｔ１に対応した時間帯ｔ１〜ｔ１１の係数Ｃｔ１を抽出して算出された異常検出時間Ｔ１”を、異常検出時間テーブル１３のソフトウエア１の領域に再設定する。
【００４９】
以下、上記各実施の形態と同様に、起動したソフトウエア１２は、正常に動作していれば、ソフトウエア１２に対応したウォッチドッグタイマ１７のカウンタ値をリセットするリセット信号を所定の時間以内の間隔で出力する（図１８のステップＳＴ１２）。そして、ＷＤＴ監視処理部１４は、ウォッチドッグタイマ１７のカウンタ値を周期的にチェックし、異常検出時間テーブル１３に格納された異常検出時間以上になっているソフトウエア１２が存在するかどうかをチェックする。ウォッチドッグタイマ１７のカウンタ値が異常検出時間テーブル１３に格納された異常検出時間以上になっているソフトウエア１２が存在する場合には、そのソフトウエア１２に暴走などの何らかの異常が発生していると判断する（図１８のステップＳＴ１３）。
【００５０】
上記のように構成された実施の形態９によれば、上記各実施の形態と同様の効果を奏するのはもちろんのこと、ソフトウエアの優先度およびシステム時刻に応じてソフトウエアの異常検出時間を設定することが可能となり、ソフトウエアの動作状況に応じた異常検出を行うことができる。さらに、ソフトウエアの優先度がダイナミックに変化する計算機の場合であれば、優先度が変化するタイミングで異常検出時間を再設定して異常を検出することができるため、ソフトウエアの動作状況に応じたさらにきめ細やに異常検出を行うことができる。
【００５１】
実施の形態１０．
図１９はこの発明の実施の形態１０におけるソフトウエアの異常検出装置の構成を示すブロック図、図２０は図１９に示したソフトウエアの異常検出装置の動作を説明するためのフローチャートである。図において、上記各実施の形態と同様の部分は同一符号を付して説明を省略する。本実施の形態１では、予め設定された時間帯毎に異常検出時間が設定されている異常検出時間設定テーブル５０と、優先度毎に異常検出時間の係数がそれぞれ設定されている優先度係数テーブル３１とを備えている場合について説明する。
【００５２】
次に上記のように構成された実施の形態１０のソフトウエアの異常検出装置の動作について図２０を交えて説明する。まず、上記各実施の形態と同様に、計算機１０では、ＯＳ１１が処理を開始すると、ＯＳ１１はソフトウエア１２を起動する（図２０ステップＳＴ１０）。次に、ＯＳ１１は異常検出時間設定テーブル５０から起動したシステム時刻に対応した時間帯の異常検出時間および優先度係数テーブル３１から起動したソフトウエア１２の優先度（優先度テーブル１６に格納）に対応した係数を抽出して算出した異常検出時間を、異常検出時間テーブル１３の該当するソフトウエア１２の異常検出時間に設定する（図２０のステップＳＴ６０２）。例えば、ソフトウエア１の優先度がｐ１、システム時刻がｔｎの場合、異常検出時間設定テーブル５０からシステム時刻ｔｎに対応した時間帯ｔｎ〜ｔｎ１の異常検出時間Ｔｎおよび優先度係数テーブル３１からそのソフトウエア１の優先度ｐ１に対応した係数Ｃｐ１を抽出して算出した時間Ｔ１’を、異常検出時間テーブル１３のソフトウエア１の領域に設定する。
【００５３】
次に、ＯＳ１１が、ソフトウエア１２の優先度情報を変更すると、異常検出時間設定テーブル５０から優先度が変更されたシステム時刻に対応した時間帯の異常検出時間および優先度係数テーブル３１から優先度が変更されたソフトウエア１２の優先度に対応した係数を抽出して算出し異常検出時間を、異常検出時間テーブル１３の該当するソフトウエア１２の異常検出時間に再設定する。さらに、ＯＳ１１はシステム時刻が変更されていき、その変更されたシステム時刻に対応した時間帯が変更されると、異常検出時間設定テーブル３０からシステム時刻に対応した時間帯の異常検出時間および優先度係数テーブル３１からソフトウエア１２の優先度に対応した係数を抽出して算出し異常検出時間を、異常検出時間テーブル１３の該当するソフトウエア１２の異常検出時間に再設定する（図２０のステップＳＴ６１）。
【００５４】
例えば、ソフトウエア１の優先度がｐ１からｐ２に変更された場合、異常検出時間設定テーブル５０から優先度を変更されたシステム時刻ｔｎ１の時間帯ｔｎ〜ｔｎ１の異常検出時間Ｔｎおよび優先度係数テーブル３１から優先度が変更されたソフトウエア１の優先度ｐ２に対応した係数Ｃｐ２を抽出して算出された異常検出時間Ｔ１”を、異常検出時間テーブル１３のソフトウエア１の領域に再設定する。また、システム時刻がｔ１となり時間帯が変更した場合、異常検出時間設定テーブル１５からシステム時刻ｔ１の時間帯ｔ１〜ｔ１１に対応した異常検出時間Ｔ１および優先度係数テーブル３１からソフトウエア１の優先度ｐ１に対応した係数Ｃｐ１を抽出して算出された異常検出時間Ｔ１”を、異常検出時間テーブル１３のソフトウエア１の領域に時間Ｔ１”に再設定することが考えられる。
【００５５】
以下、上記各実施の形態と同様に、起動したソフトウエア１２は、正常に動作していれば、ソフトウエア１２に対応したウォッチドッグタイマ１７のカウンタ値をリセットするリセット信号を所定の時間以内の間隔で出力する（図２０のステップＳＴ１２）。そして、ＷＤＴ監視処理部１４は、ウォッチドッグタイマ１７のカウンタ値を周期的にチェックし、異常検出時間テーブル１３に格納された異常検出時間以上になっているソフトウエア１２が存在するかどうかをチェックする。ウォッチドッグタイマ１７のカウンタ値が異常検出時間テーブル１３に格納された異常検出時間以上になっているソフトウエア１２が存在する場合には、そのソフトウエア１２に暴走などの何らかの異常が発生していると判断する（図２０のステップＳＴ１３）。
【００５６】
上記のように構成された実施の形態１０によれば、上記各実施の形態と同様の効果を奏するのはもちろんのこと、ソフトウエアの優先度およびシステム時刻に応じてソフトウエアの異常検出時間を設定することが可能となり、ソフトウエアの動作状況に応じた異常検出を行うことができる。さらに、ソフトウエアの優先度がダイナミックに変化する計算機の場合であれば、優先度が変化するタイミングで異常検出時間を再設定して異常を検出することができるため、ソフトウエアの動作状況に応じたさらにきめ細やに異常検出を行うことができる。
【００５７】
尚、本発明はソフトウエアの優先度、または、実行している時間帯の少なくともいずれか一方をパラメータとして異常検出時間を算出して異常を検出するものであり、上記各実施の形態においては、ソフトウエア毎に異常検出時間を設定する異常検出時間設定テーブル、優先度毎に異常検出時間を設定する異常検出時間設定テーブル、予め設定された時間帯毎に異常検出時間を設定する異常検出時間設定テーブル、優先度毎に異常検出時間の係数を設定する優先度係数テーブル、および、予め設定された時間帯毎に異常検出時間の係数を設定するシステム時刻係数テーブルの様々な組み合わせての例を示したが、これは対象となる計算機に応じて適宜選択して使用することが考えられる。
【００５８】
また、ソフトウエアの優先度の変更が生じる場合、その優先度の変更に応じて異常検出時間を再設定するか否かは、対象となる計算機に応じて適宜選択して使用することが考えられる。また、優先度毎に異常検出時間を設定する異常検出時間設定テーブル、予め設定された時間帯毎に異常検出時間を設定する異常検出時間設定テーブル、優先度毎に異常検出時間の係数を設定する優先度係数テーブル、および、予め設定された時間帯毎に異常検出時間の係数を設定するシステム時刻係数テーブルは、例えば上記実施の形態７にて示したように、ソフトウエア毎に設定することが可能であることは言うまでもなく、ソフトウエア毎に設定するか否かは、対象となる計算機に応じて適宜選択して使用することが考えられる。
【図面の簡単な説明】
【００５９】
【図１】この発明の実施の形態１のソフトウエアの異常検出装置の構成を示す図である。
【図２】図１に示したソフトウエアの異常検出装置の動作を説明するためのフローチャートである。
【図３】この発明の実施の形態２のソフトウエアの異常検出装置の構成を示す図である。
【図４】図３に示したソフトウエアの異常検出装置の動作を説明するためのフローチャートである。
【図５】この発明の実施の形態３のソフトウエアの異常検出装置の構成を示す図である。
【図６】図４に示したソフトウエアの異常検出装置の動作を説明するためのフローチャートである。
【図７】この発明の実施の形態４のソフトウエアの異常検出装置の構成を示す図である。
【図８】図７に示したソフトウエアの異常検出装置の動作を説明するためのフローチャートである。
【図９】この発明の実施の形態５のソフトウエアの異常検出装置の構成を示す図である。
【図１０】図９に示したソフトウエアの異常検出装置の動作を説明するためのフローチャートである。
【図１１】この発明の実施の形態６のソフトウエアの異常検出装置の構成を示す図である。
【図１２】図１１に示したソフトウエアの異常検出装置の動作を説明するためのフローチャートである。
【図１３】この発明の実施の形態７のソフトウエアの異常検出装置の構成を示す図である。
【図１４】図１３に示したソフトウエアの異常検出装置の動作を説明するためのフローチャートである。
【図１５】この発明の実施の形態８のソフトウエアの異常検出装置の構成を示す図である。
【図１６】図１５に示したソフトウエアの異常検出装置の動作を説明するためのフローチャートである。
【図１７】この発明の実施の形態９のソフトウエアの異常検出装置の構成を示す図である。
【図１８】図１７に示したソフトウエアの異常検出装置の動作を説明するためのフローチャートである。
【図１９】この発明の実施の形態９のソフトウエアの異常検出装置の構成を示す図である。
【図２０】図１９に示したソフトウエアの異常検出装置の動作を説明するためのフローチャートである。
【符号の説明】
【００６０】
１０  計算機、１１  ＯＳ、１２  ソフトウエア（１〜ｎ）、
１３  異常検出時間テーブル、１４  ＷＤＴ監視処理部、
１５，３０，５０  異常検出時間設定テーブル、３１，３１０  優先度係数テーブル、
６０，６０１  システム時刻係数テーブル。
【図１】
2010009258.tif 000003
【図２】
2010009258.tif 000004
【図３】
2010009258.tif 000005
【図４】
2010009258.tif 000006
【図５】
2010009258.tif 000007
【図６】
2010009258.tif 000008
【図７】
2010009258.tif 000009
【図８】
2010009258.tif 000010
【図９】
2010009258.tif 000011
【図１０】
2010009258.tif 000012
【図１１】
2010009258.tif 000013
【図１２】
2010009258.tif 000014
【図１３】
2010009258.tif 000015
【図１４】
2010009258.tif 000016
【図１５】
2010009258.tif 000017
【図１６】
2010009258.tif 000018
【図１７】
2010009258.tif 000019
【図１８】
2010009258.tif 000020
【図１９】
2010009258.tif 000021
【図２０】
2010009258.tif 000022