JP2010009258A - ソフトウエアの異常検出装置 - Google Patents
ソフトウエアの異常検出装置 Download PDFInfo
- Publication number
- JP2010009258A JP2010009258A JP2008166655A JP2008166655A JP2010009258A JP 2010009258 A JP2010009258 A JP 2010009258A JP 2008166655 A JP2008166655 A JP 2008166655A JP 2008166655 A JP2008166655 A JP 2008166655A JP 2010009258 A JP2010009258 A JP 2010009258A
- Authority
- JP
- Japan
- Prior art keywords
- abnormality detection
- software
- detection time
- priority
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
【課題】個々のソフトウエアの動作状況に合わせた異常検出を行うことができるソフトウエアの異常検出装置を提供する。
【解決手段】所定の時間刻み幅ごとに値が変化し、ソフトウエア12によりリセットされるソフトウエア12ごとに設けられたウォッチドッグタイマ17と、
ソフトウエア12ごとに異常検出時間が設定された異常検出時間テーブル13と、
ウォッチドッグタイマ17がリセットされないで異常検出時間テーブル13に設定された異常検出時間が経過した場合にソフトウエア12が異常であると判断するWDT監視処理部14と、
ソフトウエア12ごとの異常検出時間を、ソフトウエア12の動作状況に応じて設定するOS11とを備えたものである。
【選択図】図1
【解決手段】所定の時間刻み幅ごとに値が変化し、ソフトウエア12によりリセットされるソフトウエア12ごとに設けられたウォッチドッグタイマ17と、
ソフトウエア12ごとに異常検出時間が設定された異常検出時間テーブル13と、
ウォッチドッグタイマ17がリセットされないで異常検出時間テーブル13に設定された異常検出時間が経過した場合にソフトウエア12が異常であると判断するWDT監視処理部14と、
ソフトウエア12ごとの異常検出時間を、ソフトウエア12の動作状況に応じて設定するOS11とを備えたものである。
【選択図】図1
Description
この発明は、計算機のソフトウエアの暴走を検知するソフトウエアの異常検出装置に関し、特にソフトウエアの動作状況に合わせた異常検出を行うことができるものである。
従来のソフトウエアの異常検出装置は、計算機として1つ、またはソフトウエアの数だけの暴走検知機能を備えて、事前に定義した時間だけソフトウエアからリセットが行われなければ、ソフトウエアの暴走が発生したと判断して、計算機の異常処理を行っている(例えば、特許文献1参照)。
従来のソフトウエアの異常検出装置は、異常発生と判断するまでの時間を、個々のプログラムの実行ケースの内最悪値が設定されている。このため、ソフトウエアの動作状況にそぐわない設定値となる可能性があるという問題点があった。
この発明は上記のような課題を解決するためになされたものであり、個々のソフトウエアの動作状況に合わせた異常検出を行うことが可能となるソフトウエアの異常検出装置を提供することを目的とする。
この発明は、所定の時間刻み幅ごとに値が変化し、ソフトウエアによりリセットされるソフトウエアごとに設けられたウォッチドッグタイマと、
ソフトウエアごとに異常検出時間が設定された異常検出時間テーブルと、
ウォッチドッグタイマがリセットされないで異常検出時間テーブルに設定された異常検出時間が経過した場合にソフトウエアが異常であると判断する暴走監視部と、
ソフトウエアごとの異常検出時間を、ソフトウエアの動作状況に応じて設定する異常検出時間設定部とを備えたものである。
ソフトウエアごとに異常検出時間が設定された異常検出時間テーブルと、
ウォッチドッグタイマがリセットされないで異常検出時間テーブルに設定された異常検出時間が経過した場合にソフトウエアが異常であると判断する暴走監視部と、
ソフトウエアごとの異常検出時間を、ソフトウエアの動作状況に応じて設定する異常検出時間設定部とを備えたものである。
この発明のソフトウエアの異常検出装置は、所定の時間刻み幅ごとに値が変化し、ソフトウエアによりリセットされるソフトウエアごとに設けられたウォッチドッグタイマと、
ソフトウエアごとに異常検出時間が設定された異常検出時間テーブルと、
ウォッチドッグタイマがリセットされないで異常検出時間テーブルに設定された異常検出時間が経過した場合にソフトウエアが異常であると判断する暴走監視部と、
ソフトウエアごとの異常検出時間を、ソフトウエアの動作状況に応じて設定する異常検出時間設定部とを備えたので、ソフトウエアの優先度という、個々のソフトウエアの動作状況に合わせた異常検出を行うことができる。
ソフトウエアごとに異常検出時間が設定された異常検出時間テーブルと、
ウォッチドッグタイマがリセットされないで異常検出時間テーブルに設定された異常検出時間が経過した場合にソフトウエアが異常であると判断する暴走監視部と、
ソフトウエアごとの異常検出時間を、ソフトウエアの動作状況に応じて設定する異常検出時間設定部とを備えたので、ソフトウエアの優先度という、個々のソフトウエアの動作状況に合わせた異常検出を行うことができる。
実施の形態1.
以下、本願発明の実施の形態について説明する。図1はこの発明の実施の形態1におけるソフトウエアの異常検出装置の構成を示すブロック図、図2は図1に示したソフトウエアの異常検出装置の動作を説明するためのフローチャートである。図において、対象の計算機10は、複数のソフトウエア(1〜n)12と、これらソフトウエア(1〜n)12を制御するオペレーティングシステム(以下、OSと称する)11とを有している。OS11はソフトウエア12ごとの優先度を決め、優先度テーブル16に優先度をソフトウエア12ごとに設定する。
以下、本願発明の実施の形態について説明する。図1はこの発明の実施の形態1におけるソフトウエアの異常検出装置の構成を示すブロック図、図2は図1に示したソフトウエアの異常検出装置の動作を説明するためのフローチャートである。図において、対象の計算機10は、複数のソフトウエア(1〜n)12と、これらソフトウエア(1〜n)12を制御するオペレーティングシステム(以下、OSと称する)11とを有している。OS11はソフトウエア12ごとの優先度を決め、優先度テーブル16に優先度をソフトウエア12ごとに設定する。
そして、ソフトウエア12の異常検出装置はこの計算機10を対象としており、優先度(プライオリティ)p1〜pnごとに異常検出時間T1〜Tnがそれぞれ設定されている異常検出時間設定テーブル15と、優先度テーブル16と異常検出時間設定テーブル15とがOS11により参照されてソフトウエア12ごとの異常検出時間がそれぞれ設定される異常検出時間テーブル13と、ソフトウエア12ごとに設けられた所定の時間刻み幅ごとにカウンタ値が1ずつ増加するウォッチドッグタイマ17と、ウォッチドッグタイマ17のカウンタ値が異常検出時間テーブル13以上になることを検出する暴走監視部であるWDT監視処理部14とを備えている。なお、異常検出時間テーブル13に設定されている異常検出時間は、所定の時間刻み幅で割った離散値として表現する。OS11が、ソフトウエア12ごとの異常検出時間を、ソフトウエア12の動作状況に応じて、異常検出時間テーブル13に設定する異常検出時間設定部である。
ウォッチドッグタイマ17のカウンタ値は、異常検出時間よりも短い間隔でソフトウエア12によりゼロにリセットされる。ソフトウエア12に動作遅延が無い場合は、ウォッチドッグタイマ17のカウンタ値が異常検出時間以上にはならない。そのため、ウォッチドッグタイマ17のカウンタ値が異常検出時間以上になることは、ソフトウエア12に暴走等の何らかの異常による動作遅延が発生していることになる。異常検出時間設定テーブル15に設定されている、優先度と異常検出時間との関係は、例えば、優先度が高いほど異常検出時間を短く、優先度が低いほど異常検出時間を長くして設定することが考えられる。これは、優先度が高い、すなわち優先的に使用されているソフトウエア12ほどきめ細やかに異常検出を行う必要性があることから考えられる。尚、優先度と異常検出時間との関係は1例であり、これに限定されるものではなく適宜設定することが可能であることは言うまでもない。以下、このことは同様であるためその説明は適宜省略する。
ウォッチドッグタイマ17のカウンタ値は、異常検出時間よりも短い間隔でソフトウエア12によりゼロにリセットされる。ソフトウエア12に動作遅延が無い場合は、ウォッチドッグタイマ17のカウンタ値が異常検出時間以上にはならない。そのため、ウォッチドッグタイマ17のカウンタ値が異常検出時間以上になることは、ソフトウエア12に暴走等の何らかの異常による動作遅延が発生していることになる。異常検出時間設定テーブル15に設定されている、優先度と異常検出時間との関係は、例えば、優先度が高いほど異常検出時間を短く、優先度が低いほど異常検出時間を長くして設定することが考えられる。これは、優先度が高い、すなわち優先的に使用されているソフトウエア12ほどきめ細やかに異常検出を行う必要性があることから考えられる。尚、優先度と異常検出時間との関係は1例であり、これに限定されるものではなく適宜設定することが可能であることは言うまでもない。以下、このことは同様であるためその説明は適宜省略する。
次に上記のように構成された実施の形態1のソフトウエアの異常検出装置の動作について図2を交えて説明する。まず、計算機10では、OS11が処理を開始すると、OS11はソフトウエア12を起動する(図2のステップST10)。次に、OS11は異常検出時間設定テーブル15から起動したソフトウエア12の優先度(優先度テーブル16に格納)に対応した異常検出時間を抽出して、異常検出時間テーブル13の該当するソフトウエア12の異常検出時間に設定する(図2のステップST11)。例えば、ソフトウエア1の優先度がp1の場合、異常検出時間設定テーブル15からその優先度p1に対応した時間T1が抽出され、異常検出時間テーブル13のソフトウエア1の領域に時間T1が設定される。
次に、起動したソフトウエア12は、正常に動作していれば、当該ソフトウエア12に対応したウォッチドッグタイマ17のカウンタ値をリセットするリセット信号を所定の時間以内の間隔で出力する(図2のステップST12)。そして、WDT監視処理部14は、ウォッチドッグタイマ17のカウンタ値を周期的にチェックし、異常検出時間テーブル13に格納された異常検出時間以上になっているソフトウエア12が存在するかどうかをチェックする。ウォッチドッグタイマ17のカウンタ値が異常検出時間テーブル13に格納された異常検出時間以上になっているソフトウエア12が存在する場合には、そのソフトウエア12に暴走などの何らかの異常が発生していると判断する(図2のステップST13)。
上記のように構成された実施の形態1のソフトウエアの異常検出装置によれば、ソフトウエアの優先度に応じてソフトウエアの異常検出時間を設定することが可能となり、ソフトウエアの動作状況に応じた異常検出を行うことができる。
OSがソフトウエアを起動し、ソフトウエアの優先度の管理を行うとしたが、OSとアプリケーションソフトウエアの間にミドルウエアが存在する場合には、ミドルウエアがソフトウエアを起動し、ソフトウエアの優先度の管理を行うようにしてもよい。ソフトウエアごとの優先度を格納する優先度テーブルは、OSなどの内部に持ってもよいし、OS以外も参照することができるメモリの領域に置いてもよい。カウントアップするウォッチドッグタイマを用いたが、カウントダウンするウォッチドッグタイマを用いて、ソフトウエアによるリセット時に異常検出時間を設定し、カウンタ値がゼロ以下になった場合に異常を検出するようにしてもよい。
この実施の形態では、異常検出時間はソフトウエアの起動時に設定したが、ソフトウエアの優先度を変化させる場合に、異常検出時間も変更後の優先度に対応する値に変化させてもよい。ウォッチドッグタイマの異常検出時間は、ソフトウエアの優先度以外のものに応じて設定するようにしてもよい。ソフトウエアの動作状況を表す状態量またはソフトウエアの動作状況に影響を与える状態量であれば、どのような状態量を用いてもよい。
OSがソフトウエアを起動し、ソフトウエアの優先度の管理を行うとしたが、OSとアプリケーションソフトウエアの間にミドルウエアが存在する場合には、ミドルウエアがソフトウエアを起動し、ソフトウエアの優先度の管理を行うようにしてもよい。ソフトウエアごとの優先度を格納する優先度テーブルは、OSなどの内部に持ってもよいし、OS以外も参照することができるメモリの領域に置いてもよい。カウントアップするウォッチドッグタイマを用いたが、カウントダウンするウォッチドッグタイマを用いて、ソフトウエアによるリセット時に異常検出時間を設定し、カウンタ値がゼロ以下になった場合に異常を検出するようにしてもよい。
この実施の形態では、異常検出時間はソフトウエアの起動時に設定したが、ソフトウエアの優先度を変化させる場合に、異常検出時間も変更後の優先度に対応する値に変化させてもよい。ウォッチドッグタイマの異常検出時間は、ソフトウエアの優先度以外のものに応じて設定するようにしてもよい。ソフトウエアの動作状況を表す状態量またはソフトウエアの動作状況に影響を与える状態量であれば、どのような状態量を用いてもよい。
実施の形態2.
図3はこの発明の実施の形態2におけるソフトウエアの異常検出装置の構成を示すブロック図、図4は図3に示したソフトウエアの異常検出装置の動作を説明するためのフローチャートである。図において、上記実施の形態1と同様の部分は同一符号を付して説明を省略する。本実施の形態2では、OS11が、計算機1の状態に応じて各ソフトウエア12の優先度情報を変更するものである。
図3はこの発明の実施の形態2におけるソフトウエアの異常検出装置の構成を示すブロック図、図4は図3に示したソフトウエアの異常検出装置の動作を説明するためのフローチャートである。図において、上記実施の形態1と同様の部分は同一符号を付して説明を省略する。本実施の形態2では、OS11が、計算機1の状態に応じて各ソフトウエア12の優先度情報を変更するものである。
次に上記のように構成された実施の形態2のソフトウエアの異常検出装置の動作について図4を交えて説明する。まず、上記実施の形態1と同様に、計算機10では、OS11が処理を開始すると、OS11はソフトウエア12を起動する(図4のステップST10)。次に、OS11は異常検出時間設定テーブル15から起動したソフトウエア12の優先度(優先度テーブル16に格納)に対応した異常検出時間を抽出して、異常検出時間テーブル13の該当するソフトウエア12の異常検出時間に設定する(図4のステップST11)。次に、OS11が、ソフトウエア12の優先度情報を変更すると、異常検出時間設定テーブル15から優先度が変更されたソフトウエア12の優先度に対応した異常検出時間を抽出して異常検出時間テーブル13の該当するソフトウエア12の異常検出時間に再設定する(図4のステップST20)。例えば、ソフトウエア1の優先度がp1からp2に変更された場合、異常検出時間設定テーブル15からその優先度p2に対応した時間T2が抽出され、異常検出時間テーブル13のソフトウエア1の領域に時間T2が再設定される。
以下、上記実施の形態1と同様に、起動したソフトウエア12は、正常に動作していれば、ソフトウエア12に対応したウォッチドッグタイマ17のカウンタ値をリセットするリセット信号を所定の時間以内の間隔で出力する(図4のステップST12)。そして、WDT監視処理部14は、ウォッチドッグタイマ17のカウンタ値を周期的にチェックし、異常検出時間テーブル13に格納された異常検出時間以上になっているソフトウエア12が存在するかどうかをチェックする。ウォッチドッグタイマ17のカウンタ値が異常検出時間テーブル13に格納された異常検出時間以上になっているソフトウエア12が存在する場合には、そのソフトウエア12に暴走などの何らかの異常が発生していると判断する(図4のステップST13)。
上記のように構成された実施の形態2によれば、上記実施の形態1と同様の効果を奏するのはもちろんのこと、ソフトウエアの優先度がダイナミックに変化する計算機の場合であれば、優先度が変化するタイミングで異常検出時間を再設定して異常を検出することができるため、ソフトウエアの動作状況に応じたさらにきめ細やに異常検出を行うことができる。
実施の形態3.
図5はこの発明の実施の形態3におけるソフトウエアの異常検出装置の構成を示すブロック図、図6は図5に示したソフトウエアの異常検出装置の動作を説明するためのフローチャートである。上記各実施の形態では、計算機10にてソフトウエア12の優先度に対応して異常検出時間を設定するものを示したが、ソフトウエア12によって、リセットを行える間隔が長いものや短いものがあるため、優先度で一律に異常検出時間を設定するのでは、リセットを行える間隔が最も長いものに合わせる必要性がある。そこで、本実施の形態3においては各ソフトウエア12で標準的な異常検出時間を設定し、さらに優先度をパラメータとして異常検出時間を算出するものについて説明する。図において、上記各実施の形態と同様の部分は同一符号を付して説明を省略する。ソフトウエア12毎に異常検出時間がそれぞれ設定されている標準異常検出時間設定テーブルとしての異常検出時間設定テーブル30と、優先度毎に異常検出時間の係数がそれぞれ設定されている優先度係数テーブル31とを備えている。
図5はこの発明の実施の形態3におけるソフトウエアの異常検出装置の構成を示すブロック図、図6は図5に示したソフトウエアの異常検出装置の動作を説明するためのフローチャートである。上記各実施の形態では、計算機10にてソフトウエア12の優先度に対応して異常検出時間を設定するものを示したが、ソフトウエア12によって、リセットを行える間隔が長いものや短いものがあるため、優先度で一律に異常検出時間を設定するのでは、リセットを行える間隔が最も長いものに合わせる必要性がある。そこで、本実施の形態3においては各ソフトウエア12で標準的な異常検出時間を設定し、さらに優先度をパラメータとして異常検出時間を算出するものについて説明する。図において、上記各実施の形態と同様の部分は同一符号を付して説明を省略する。ソフトウエア12毎に異常検出時間がそれぞれ設定されている標準異常検出時間設定テーブルとしての異常検出時間設定テーブル30と、優先度毎に異常検出時間の係数がそれぞれ設定されている優先度係数テーブル31とを備えている。
次に上記のように構成された実施の形態3のソフトウエアの異常検出装置の動作について図6を交えて説明する。まず、上記各実施の形態と同様に、計算機10では、OS11が処理を開始すると、OS11はソフトウエア12を起動する(図6のステップST10)。次に、OS11は異常検出時間設定テーブル30から起動したソフトウエア12に対応した異常検出時間および優先度係数テーブル31から起動したソフトウエア12の優先度(優先度テーブル16に格納)に対応した係数を抽出して算出した異常検出時間を、異常検出時間テーブル13の該当するソフトウエア12の異常検出時間に設定する(図6のステップST30)。例えば、ソフトウエア1の優先度がp1の場合、異常検出時間設定テーブル15からそのソフトウエア1の異常検出時間T1および優先度係数テーブル31からそのソフトウエア1の優先度p1に対応した係数Cp1を抽出して算出した異常検出時間T1’が、異常検出時間テーブル13のソフトウエア1の領域に設定される。
次に、上記各実施の形態と同様に、起動したソフトウエア12は、正常に動作していれば、ソフトウエア12に対応したウォッチドッグタイマ17のカウンタ値をリセットするリセット信号を所定の時間以内の間隔で出力する(図7のステップST12)。そして、WDT監視処理部14は、ウォッチドッグタイマ17のカウンタ値を周期的にチェックし、異常検出時間テーブル13に格納された異常検出時間以上になっているソフトウエア12が存在するかどうかをチェックする。ウォッチドッグタイマ17のカウンタ値が異常検出時間テーブル13に格納された異常検出時間以上になっているソフトウエア12が存在する場合には、そのソフトウエア12に暴走などの何らかの異常が発生していると判断する(図6のステップST13)。
上記のように構成された実施の形態3のソフトウエアの異常検出装置によれば、上記各実施の形態と同様の効果を奏するのはもちろんのこと、ソフトウエアの個々の特性および優先度に応じてソフトウエアの異常検出時間を設定することが可能となり、ソフトウエアの動作状況に応じた異常検出を行うことができる。
実施の形態4.
図7はこの発明の実施の形態4におけるソフトウエアの異常検出装置の構成を示すブロック図、図8は図7に示したソフトウエアの異常検出装置の動作を説明するためのフローチャートである。図において、上記実施の形態3と同様の部分は同一符号を付して説明を省略する。本実施の形態4では、OS11が、計算機1の状態に応じて各ソフトウエア12の優先度情報を変更するものである。
図7はこの発明の実施の形態4におけるソフトウエアの異常検出装置の構成を示すブロック図、図8は図7に示したソフトウエアの異常検出装置の動作を説明するためのフローチャートである。図において、上記実施の形態3と同様の部分は同一符号を付して説明を省略する。本実施の形態4では、OS11が、計算機1の状態に応じて各ソフトウエア12の優先度情報を変更するものである。
次に上記のように構成された実施の形態4のソフトウエアの異常検出装置の動作について図8を交えて説明する。まず、上記各実施の形態と同様に、計算機10では、OS11が処理を開始すると、OS11はソフトウエア12を起動する(図8ステップST10)。次に、OS11は異常検出時間設定テーブル30から起動したソフトウエア12に対応した異常検出時間および優先度係数テーブル31から起動したソフトウエア12の優先度(優先度テーブル16に格納)に対応した係数を抽出して算出した異常検出時間を、異常検出時間テーブル13の該当するソフトウエア12の異常検出時間に設定する(図8のステップST30)。次に、OS11が、ソフトウエア12の優先度情報を変更すると、異常検出時間設定テーブル30から優先度が変更されたソフトウエア12に対応した異常検出時間および優先度係数テーブル31から優先度が変更されたソフトウエア12の優先度に対応した係数を抽出して算出した異常検出時間を、異常検出時間テーブル13の該当するソフトウエア12の異常検出時間に再設定する(図8のステップST20)。例えば、ソフトウエア1の優先度がp1からp2に変更された場合、異常検出時間設定テーブル15から優先度を変更されたソフトウエア1の異常検出時間T1および優先度係数テーブル31から優先度が変更されたソフトウエア1の優先度p2に対応した係数Cp2を抽出して算出された異常検出時間T1”が、異常検出時間テーブル13のソフトウエア1の領域に再設定される。
以下、上記各実施の形態と同様に、起動したソフトウエア12は、正常に動作していれば、ソフトウエア12に対応したウォッチドッグタイマ17のカウンタ値をリセットするリセット信号を所定の時間以内の間隔で出力する(図8のステップST12)。そして、WDT監視処理部14は、ウォッチドッグタイマ17のカウンタ値を周期的にチェックし、異常検出時間テーブル13に格納された異常検出時間以上になっているソフトウエア12が存在するかどうかをチェックする。ウォッチドッグタイマ17のカウンタ値が異常検出時間テーブル13に格納された異常検出時間以上になっているソフトウエア12が存在する場合には、そのソフトウエア12に暴走などの何らかの異常が発生していると判断する(図8のステップST13)。
上記のように構成された実施の形態4によれば、上記各実施の形態と同様の効果を奏するのはもちろんのこと、ソフトウエアの優先度がダイナミックに変化する計算機の場合であれば、優先度が変化するタイミングで異常検出時間を再設定して異常を検出することができるため、ソフトウエアの動作状況に応じたさらにきめ細やに異常検出を行うことができる。
実施の形態5.
図9はこの発明の実施の形態5におけるソフトウエアの異常検出装置の構成を示すブロック図、図10は図9に示したソフトウエアの異常検出装置の動作を説明するためのフローチャートである。図において、上記各実施の形態と同様の部分は同一符号を付して説明を省略する。上記各実施の形態では、優先度という観点でソフトウエアの異常検出時間を決定していたが、計算機では、夜間のバッチ処理や日替わり処理など、時間帯によってソフトウエア12の実行する時間が異なる場合が多い。そこで本実施の形態5では、その時間帯という観点でソフトウエア12の異常検出時間を決定するものについて示す。図において、上記各実施の形態と同様の部分は同一符号を付して説明を省略する。予め設定された時間帯毎に異常検出時間がそれぞれ設定されている時間帯別異常検出時間設定テーブルとしての異常検出時間設定テーブル50を備えている。そして、OS11は、計算機10内のシステム時刻情報を有している。
図9はこの発明の実施の形態5におけるソフトウエアの異常検出装置の構成を示すブロック図、図10は図9に示したソフトウエアの異常検出装置の動作を説明するためのフローチャートである。図において、上記各実施の形態と同様の部分は同一符号を付して説明を省略する。上記各実施の形態では、優先度という観点でソフトウエアの異常検出時間を決定していたが、計算機では、夜間のバッチ処理や日替わり処理など、時間帯によってソフトウエア12の実行する時間が異なる場合が多い。そこで本実施の形態5では、その時間帯という観点でソフトウエア12の異常検出時間を決定するものについて示す。図において、上記各実施の形態と同様の部分は同一符号を付して説明を省略する。予め設定された時間帯毎に異常検出時間がそれぞれ設定されている時間帯別異常検出時間設定テーブルとしての異常検出時間設定テーブル50を備えている。そして、OS11は、計算機10内のシステム時刻情報を有している。
次に上記のように構成された実施の形態5のソフトウエアの異常検出装置の動作について図10を交えて説明する。まず、上記各実施の形態と同様に、計算機10では、OS11が処理を開始すると、OS11はソフトウエア12を起動する(図10のステップST10)。次に、OS11は異常検出時間設定テーブル50から起動したシステム時刻に対応した時間帯の異常検出時間を抽出して、異常検出時間テーブル13の起動したソフトウエア12の異常検出時間に設定する(図10のステップST50)。例えば、ソフトウエア12を起動したシステム時刻がtnの場合、異常検出時間設定テーブル50からそのシステム時刻tnに対応した時間帯tn〜tn1の異常検出時間Tnが抽出され、異常検出時間テーブル13の起動したソフトウエア12の領域の全てに時間Tnが設定される。次に、OS11はシステム時刻が変更されていき、その変更されたシステム時刻に対応した時間帯が変更されると、異常検出時間設定テーブル50から変更したシステム時刻に対応した時間帯の異常検出時間を抽出して、異常検出時間テーブル13の起動したソフトウエア12の全ての異常検出時間に再設定する(図10のステップST51)。
次に、上記各実施の形態と同様に、起動したソフトウエア12は、正常に動作していれば、ソフトウエア12に対応したウォッチドッグタイマ17のカウンタ値をリセットするリセット信号を所定の時間以内の間隔で出力する(図10のステップST12)。そして、WDT監視処理部14は、ウォッチドッグタイマ17のカウンタ値を周期的にチェックし、異常検出時間テーブル13に格納された異常検出時間以上になっているソフトウエア12が存在するかどうかをチェックする。ウォッチドッグタイマ17のカウンタ値が異常検出時間テーブル13に格納された異常検出時間以上になっているソフトウエア12が存在する場合には、そのソフトウエア12に暴走などの何らかの異常が発生していると判断する(図10のステップST13)。
上記のように構成された実施の形態5のソフトウエアの異常検出装置によれば、システム時刻に応じてソフトウエアの異常検出時間を設定することが可能となり、ソフトウエアの動作状況に応じた異常検出を行うことができる。
実施の形態6.
図11はこの発明の実施の形態6におけるソフトウエアの異常検出装置の構成を示すブロック図、図12は図11に示したソフトウエアの異常検出装置の動作を説明するためのフローチャートである。図において、上記各実施の形態と同様の部分は同一符号を付して説明を省略する。上記実施の形態5では、時間帯に対応して異常検出時間を変化させることは可能であるが、時間帯で一律に異常検出時間を設定することとなる。そこで、本実施の形態6では、各ソフトウエアで標準的な異常検出時間、優先度、および時間帯をパラメータとしてソフトウエアの異常検出時間を決定するものについて示す。図において、上記各実施の形態と同様の部分は同一符号を付して説明を省略する。優先度毎に異常検出時間の優先度係数がそれぞれ設定されている優先度係数テーブル31と、予め設定された時間帯毎に異常検出時間の時間帯別係数がそれぞれ設定されているシステム時刻係数テーブル60とを備えている。
図11はこの発明の実施の形態6におけるソフトウエアの異常検出装置の構成を示すブロック図、図12は図11に示したソフトウエアの異常検出装置の動作を説明するためのフローチャートである。図において、上記各実施の形態と同様の部分は同一符号を付して説明を省略する。上記実施の形態5では、時間帯に対応して異常検出時間を変化させることは可能であるが、時間帯で一律に異常検出時間を設定することとなる。そこで、本実施の形態6では、各ソフトウエアで標準的な異常検出時間、優先度、および時間帯をパラメータとしてソフトウエアの異常検出時間を決定するものについて示す。図において、上記各実施の形態と同様の部分は同一符号を付して説明を省略する。優先度毎に異常検出時間の優先度係数がそれぞれ設定されている優先度係数テーブル31と、予め設定された時間帯毎に異常検出時間の時間帯別係数がそれぞれ設定されているシステム時刻係数テーブル60とを備えている。
次に上記のように構成された実施の形態6のソフトウエアの異常検出装置の動作について図12を交えて説明する。まず、上記各実施の形態と同様に、計算機10では、OS11が処理を開始すると、OS11はソフトウエア12を起動する(図12ステップST10)。次に、OS11は異常検出時間設定テーブル30から起動したソフトウエア12に対応した異常検出時間および優先度係数テーブル31から起動したソフトウエア12の優先度(優先度テーブル16に格納)に対応した優先度係数およびシステム時刻係数テーブル60からシステム時刻に対応した時間帯の時間帯別係数を抽出して算出した異常検出時間を、異常検出時間テーブル13の該当するソフトウエア12の異常検出時間に設定する(図12のステップST60)。例えば、ソフトウエア1の優先度がp1、システム時刻がtnの場合、異常検出時間設定テーブル30からそのソフトウエア1の異常検出時間T1および優先度係数テーブル31からそのソフトウエア1の優先度p1に対応した優先度係数Cp1およびシステム時刻係数テーブル60からシステム時刻tnに対応した時間帯tn〜tn1の時間帯別係数Ctnを抽出して算出した時間T1’を、異常検出時間テーブル13のソフトウエア1の領域に設定される。
次に、OS11が、ソフトウエア12の優先度情報を変更すると、異常検出時間設定テーブル30から優先度が変更されたソフトウエア12に対応した異常検出時間および優先度係数テーブル31から優先度が変更されたソフトウエア12の優先度に対応した優先度係数およびシステム時刻係数テーブル60から変更された際のシステム時刻の時間帯に対応した時間帯別係数を抽出して算出し異常検出時間を、異常検出時間テーブル13の該当するソフトウエア12の異常検出時間に再設定する。さらに、OS11はシステム時刻が変更されていき、その変更されたシステム時刻に対応した時間帯が変更されると、異常検出時間設定テーブル30から起動しているソフトウエア12に対応した異常検出時間および優先度係数テーブル31からソフトウエア12の優先度に対応した優先度係数およびシステム時刻係数テーブル60から時間帯が変更したシステム時刻の時間帯に対応した時間帯別係数を抽出して算出し異常検出時間を、異常検出時間テーブル13の該当するソフトウエア12の異常検出時間に再設定する(図12のステップST61)。
例えば、ソフトウエア1の優先度がp1からp2に変更された場合、異常検出時間設定テーブル15から優先度を変更されたソフトウエア1の異常検出時間T1および優先度係数テーブル31から優先度が変更されたソフトウエア1の優先度p2に対応した係数Cp2およびシステム時刻係数テーブル60から優先度が変更されたシステム時刻tn1に対応した時間帯tn〜tn1の時間帯別係数Ctnを抽出して算出された異常検出時間T1”を、異常検出時間テーブル13のソフトウエア1の領域に再設定する。また、システム時刻がt1となり時間帯が変更した場合、異常検出時間設定テーブル15から起動されているソフトウエア1の異常検出時間T1および優先度係数テーブル31からソフトウエア1の優先度p1に対応した係数Cp1およびシステム時刻係数テーブル60からシステム時刻t1に対応した時間帯t1〜t11の時間帯別係数Ct1を抽出して算出された異常検出時間T1”を、異常検出時間テーブル13のソフトウエア1の領域に再設定することが考えられる。
以下、上記各実施の形態と同様に、起動したソフトウエア12は、正常に動作していれば、ソフトウエア12に対応したウォッチドッグタイマ17のカウンタ値をリセットするリセット信号を所定の時間以内の間隔で出力する(図12のステップST12)。そして、WDT監視処理部14は、ウォッチドッグタイマ17のカウンタ値を周期的にチェックし、異常検出時間テーブル13に格納された異常検出時間以上になっているソフトウエア12が存在するかどうかをチェックする。ウォッチドッグタイマ17のカウンタ値が異常検出時間テーブル13に格納された異常検出時間以上になっているソフトウエア12が存在する場合には、そのソフトウエア12に暴走などの何らかの異常が発生していると判断する(図12のステップST13)。
上記のように構成された実施の形態6によれば、上記各実施の形態と同様の効果を奏するのはもちろんのこと、ソフトウエアの個々の特性および優先度およびシステム時刻に応じてソフトウエアの異常検出時間を設定することが可能となり、ソフトウエアの動作状況に応じた異常検出を行うことができる。さらに、ソフトウエアの優先度がダイナミックに変化する計算機の場合であれば、優先度が変化するタイミングで異常検出時間を再設定して異常を検出することができるため、ソフトウエアの動作状況に応じたさらにきめ細やに異常検出を行うことができる。
実施の形態7.
図13はこの発明の実施の形態7におけるソフトウエアの異常検出装置の構成を示すブロック図、図14は図13に示したソフトウエアの異常検出装置の動作を説明するためのフローチャートである。図において、上記各実施の形態と同様の部分は同一符号を付して説明を省略する。ソフトウエア12毎に、優先度毎に異常検出時間の優先度係数がそれぞれ設定されている優先度係数テーブル310と、ソフトウエア12毎に、予め設定された時間帯毎に異常検出時間の時間帯別係数がそれぞれ設定されているシステム時刻係数テーブル600とを備えている。
図13はこの発明の実施の形態7におけるソフトウエアの異常検出装置の構成を示すブロック図、図14は図13に示したソフトウエアの異常検出装置の動作を説明するためのフローチャートである。図において、上記各実施の形態と同様の部分は同一符号を付して説明を省略する。ソフトウエア12毎に、優先度毎に異常検出時間の優先度係数がそれぞれ設定されている優先度係数テーブル310と、ソフトウエア12毎に、予め設定された時間帯毎に異常検出時間の時間帯別係数がそれぞれ設定されているシステム時刻係数テーブル600とを備えている。
次に上記のように構成された実施の形態7のソフトウエアの異常検出装置の動作について図14を交えて説明する。まず、上記各実施の形態と同様に、計算機10では、OS11が処理を開始すると、OS11はソフトウエア12を起動する(図14ステップST10)。次に、OS11は異常検出時間設定テーブル30から起動したソフトウエア12に対応した異常検出時間および優先度係数テーブル310から起動したソフトウエア12の優先度(優先度テーブル16に格納)に対応した優先度係数およびシステム時刻係数テーブル600から起動したソフトウエア12のシステム時刻に対応した時間帯別係数を抽出して算出した異常検出時間を、異常検出時間テーブル13の該当するソフトウエア12の異常検出時間に設定する(図14のステップST62)。
次に、OS11が、ソフトウエア12の優先度情報を変更すると、異常検出時間設定テーブル30から優先度が変更されたソフトウエア12に対応した異常検出時間および優先度係数テーブル310から優先度が変更されたソフトウエア12の優先度に対応した優先度係数およびシステム時刻係数テーブル600から変更されたソフトウエア12のシステム時刻に対応した時間帯別係数を抽出して算出し異常検出時間を、異常検出時間テーブル13の該当するソフトウエア12の異常検出時間に再設定する。さらに、OS11はシステム時刻が変更されていき、その変更されたシステム時刻に対応した時間帯が変更されると、異常検出時間設定テーブル30から起動しているソフトウエア12に対応した異常検出時間および優先度係数テーブル310からソフトウエア12の優先度に対応した優先度係数およびシステム時刻係数テーブル600から起動しているソフトウエア12の時間帯が変更したシステム時刻の時短帯に対応した時間帯別係数を抽出して算出し異常検出時間を、異常検出時間テーブル13の該当するソフトウエア12の異常検出時間に再設定する(図12のステップST61)。
以下、上記各実施の形態と同様に、起動したソフトウエア12は、正常に動作していれば、ソフトウエア12に対応したウォッチドッグタイマ17のカウンタ値をリセットするリセット信号を所定の時間以内の間隔で出力する(図14のステップST12)。そして、WDT監視処理部14は、ウォッチドッグタイマ17のカウンタ値を周期的にチェックし、異常検出時間テーブル13に格納された異常検出時間以上になっているソフトウエア12が存在するかどうかをチェックする。ウォッチドッグタイマ17のカウンタ値が異常検出時間テーブル13に格納された異常検出時間以上になっているソフトウエア12が存在する場合には、そのソフトウエア12に暴走などの何らかの異常が発生していると判断する(図14のステップST13)。
上記のように構成された実施の形態7によれば、上記各実施の形態と同様の効果を奏するのはもちろんのこと、ソフトウエアの個々の特性およびソフトウエアの個々の優先度の優先度係数およびソフトウエアの個々のシステム時刻の時間帯別係数に応じてソフトウエアの異常検出時間を設定することが可能となり、ソフトウエアの動作状況に応じた異常検出を行うことができる。さらに、ソフトウエアの優先度がダイナミックに変化する計算機の場合であれば、優先度が変化するタイミングで異常検出時間を再設定して異常を検出することができるため、ソフトウエアの動作状況に応じたさらにきめ細やに異常検出を行うことができる。
実施の形態8.
図15はこの発明の実施の形態8におけるソフトウエアの異常検出装置の構成を示すブロック図、図16は図15に示したソフトウエアの異常検出装置の動作を説明するためのフローチャートである。図において、上記各実施の形態と同様の部分は同一符号を付して説明を省略する。図において、上記各実施の形態と同様の部分は同一符号を付して説明を省略する。本実施の形態8では、ソフトウエア12毎に異常検出時間がそれぞれ設定されている異常検出時間設定テーブル30と、予め設定された時間帯毎に異常検出時間の係数がそれぞれ設定されているシステム時刻係数テーブル60とを備えている場合について説明する。
図15はこの発明の実施の形態8におけるソフトウエアの異常検出装置の構成を示すブロック図、図16は図15に示したソフトウエアの異常検出装置の動作を説明するためのフローチャートである。図において、上記各実施の形態と同様の部分は同一符号を付して説明を省略する。図において、上記各実施の形態と同様の部分は同一符号を付して説明を省略する。本実施の形態8では、ソフトウエア12毎に異常検出時間がそれぞれ設定されている異常検出時間設定テーブル30と、予め設定された時間帯毎に異常検出時間の係数がそれぞれ設定されているシステム時刻係数テーブル60とを備えている場合について説明する。
次に上記のように構成された実施の形態8のソフトウエアの異常検出装置の動作について図16を交えて説明する。まず、上記各実施の形態と同様に、計算機10では、OS11が処理を開始すると、OS11はソフトウエア12を起動する(図16ステップST10)。次に、OS11は異常検出時間設定テーブル30から起動したソフトウエア12に対応した異常検出時間およびシステム時刻係数テーブル60からシステム時刻に対応した係数を抽出して算出した異常検出時間を、異常検出時間テーブル13の該当するソフトウエア12の異常検出時間に設定する(図16のステップST600)。例えば、システム時刻がtnの場合、異常検出時間設定テーブル30からそのソフトウエア1の異常検出時間T1およびシステム時刻係数テーブル60からシステム時刻tnに対応した時間帯tn〜tn1の係数Ctnを抽出して算出した時間T1’を、異常検出時間テーブル13のソフトウエア1の領域に設定する。
次に、OS11はシステム時刻が変更されていき、その変更されたシステム時刻に対応した時間帯が変更されると、異常検出時間設定テーブル30から起動したソフトウエア12に対応した異常検出時間およびシステム時刻係数テーブル60から変更したシステム時刻に対応した時間帯の係数を抽出して算出した異常検出時間を、異常検出時間テーブル13の該当するソフトウエア12の異常検出時間に再設定する(図10のステップST51)。
以下、上記各実施の形態と同様に、起動したソフトウエア12は、正常に動作していれば、ソフトウエア12に対応したウォッチドッグタイマ17のカウンタ値をリセットするリセット信号を所定の時間以内の間隔で出力する(図16のステップST12)。そして、WDT監視処理部14は、ウォッチドッグタイマ17のカウンタ値を周期的にチェックし、異常検出時間テーブル13に格納された異常検出時間以上になっているソフトウエア12が存在するかどうかをチェックする。ウォッチドッグタイマ17のカウンタ値が異常検出時間テーブル13に格納された異常検出時間以上になっているソフトウエア12が存在する場合には、そのソフトウエア12に暴走などの何らかの異常が発生していると判断する(図16のステップST13)。
上記のように構成された実施の形態8によれば、上記各実施の形態と同様の効果を奏するのはもちろんのこと、ソフトウエアの個々の特性およびシステム時刻に応じてソフトウエアの異常検出時間を設定することが可能となり、ソフトウエアの動作状況に応じた異常検出を行うことができる。
実施の形態9.
図17はこの発明の実施の形態9におけるソフトウエアの異常検出装置の構成を示すブロック図、図18は図17に示したソフトウエアの異常検出装置の動作を説明するためのフローチャートである。図において、上記各実施の形態と同様の部分は同一符号を付して説明を省略する。優先度毎に異常検出時間がそれぞれ設定されている異常検出時間設定テーブル15と、予め設定された時間帯毎に異常検出時間の係数がそれぞれ設定されているシステム時刻係数テーブル60とを備えている場合について説明する。
図17はこの発明の実施の形態9におけるソフトウエアの異常検出装置の構成を示すブロック図、図18は図17に示したソフトウエアの異常検出装置の動作を説明するためのフローチャートである。図において、上記各実施の形態と同様の部分は同一符号を付して説明を省略する。優先度毎に異常検出時間がそれぞれ設定されている異常検出時間設定テーブル15と、予め設定された時間帯毎に異常検出時間の係数がそれぞれ設定されているシステム時刻係数テーブル60とを備えている場合について説明する。
次に上記のように構成された実施の形態9のソフトウエアの異常検出装置の動作について図18を交えて説明する。まず、上記各実施の形態と同様に、計算機10では、OS11が処理を開始すると、OS11はソフトウエア12を起動する(図18ステップST10)。次に、OS11は異常検出時間設定テーブル15から起動したソフトウエア12の優先度(優先度テーブル16に格納)に対応した異常検出時間およびシステム時刻係数テーブル60からシステム時刻に対応した時間帯の係数を抽出して算出した異常検出時間を、異常検出時間テーブル13の該当するソフトウエア12の異常検出時間に設定する(図18のステップST601)。例えば、ソフトウエア1の優先度がp1、システム時刻がtnの場合、異常検出時間設定テーブル15からそのソフトウエア1の優先度p1に対応した異常検出時間T1およびシステム時刻係数テーブル60からシステム時刻tnに対応した時間帯tn〜tn1の係数Ctnを抽出して算出した時間T1’を、異常検出時間テーブル13のソフトウエア1の領域に設定する。
次に、OS11が、ソフトウエア12の優先度情報を変更すると、異常検出時間設定テーブル15から優先度が変更されたソフトウエア12の優先度に対応した異常検出時間およびシステム時刻係数テーブル60から変更された際のシステム時刻に対応した係数を抽出して算出し異常検出時間を、異常検出時間テーブル13の該当するソフトウエア12の異常検出時間に再設定する。さらに、OS11はシステム時刻が変更されていき、その変更されたシステム時刻に対応した時間帯が変更されると、異常検出時間設定テーブル30から起動しているソフトウエア12の優先度に対応した異常検出時間およびシステム時刻係数テーブル60から時間帯が変更したシステム時刻の時間帯に対応した係数を抽出して算出し異常検出時間を、異常検出時間テーブル13の該当するソフトウエア12の異常検出時間に再設定する(図18のステップST61)。
例えば、ソフトウエア1の優先度がp1からp2に変更された場合、異常検出時間設定テーブル15から優先度を変更されたソフトウエア1の優先度p2に対応した異常検出時間T2およびシステム時刻係数テーブル60から優先度が変更されたシステム時刻tn1に対応した時間帯tn〜tn1の係数Ctnを抽出して算出された異常検出時間T1”を、異常検出時間テーブル13のソフトウエア1の領域に時間T1”に再設定する。また、システム時刻がt1となり時間帯が変更した場合、異常検出時間設定テーブル15から起動されているソフトウエア1の優先度に対応した異常検出時間T1およびシステム時刻係数テーブル60からシステム時刻t1に対応した時間帯t1〜t11の係数Ct1を抽出して算出された異常検出時間T1”を、異常検出時間テーブル13のソフトウエア1の領域に再設定する。
以下、上記各実施の形態と同様に、起動したソフトウエア12は、正常に動作していれば、ソフトウエア12に対応したウォッチドッグタイマ17のカウンタ値をリセットするリセット信号を所定の時間以内の間隔で出力する(図18のステップST12)。そして、WDT監視処理部14は、ウォッチドッグタイマ17のカウンタ値を周期的にチェックし、異常検出時間テーブル13に格納された異常検出時間以上になっているソフトウエア12が存在するかどうかをチェックする。ウォッチドッグタイマ17のカウンタ値が異常検出時間テーブル13に格納された異常検出時間以上になっているソフトウエア12が存在する場合には、そのソフトウエア12に暴走などの何らかの異常が発生していると判断する(図18のステップST13)。
上記のように構成された実施の形態9によれば、上記各実施の形態と同様の効果を奏するのはもちろんのこと、ソフトウエアの優先度およびシステム時刻に応じてソフトウエアの異常検出時間を設定することが可能となり、ソフトウエアの動作状況に応じた異常検出を行うことができる。さらに、ソフトウエアの優先度がダイナミックに変化する計算機の場合であれば、優先度が変化するタイミングで異常検出時間を再設定して異常を検出することができるため、ソフトウエアの動作状況に応じたさらにきめ細やに異常検出を行うことができる。
実施の形態10.
図19はこの発明の実施の形態10におけるソフトウエアの異常検出装置の構成を示すブロック図、図20は図19に示したソフトウエアの異常検出装置の動作を説明するためのフローチャートである。図において、上記各実施の形態と同様の部分は同一符号を付して説明を省略する。本実施の形態1では、予め設定された時間帯毎に異常検出時間が設定されている異常検出時間設定テーブル50と、優先度毎に異常検出時間の係数がそれぞれ設定されている優先度係数テーブル31とを備えている場合について説明する。
図19はこの発明の実施の形態10におけるソフトウエアの異常検出装置の構成を示すブロック図、図20は図19に示したソフトウエアの異常検出装置の動作を説明するためのフローチャートである。図において、上記各実施の形態と同様の部分は同一符号を付して説明を省略する。本実施の形態1では、予め設定された時間帯毎に異常検出時間が設定されている異常検出時間設定テーブル50と、優先度毎に異常検出時間の係数がそれぞれ設定されている優先度係数テーブル31とを備えている場合について説明する。
次に上記のように構成された実施の形態10のソフトウエアの異常検出装置の動作について図20を交えて説明する。まず、上記各実施の形態と同様に、計算機10では、OS11が処理を開始すると、OS11はソフトウエア12を起動する(図20ステップST10)。次に、OS11は異常検出時間設定テーブル50から起動したシステム時刻に対応した時間帯の異常検出時間および優先度係数テーブル31から起動したソフトウエア12の優先度(優先度テーブル16に格納)に対応した係数を抽出して算出した異常検出時間を、異常検出時間テーブル13の該当するソフトウエア12の異常検出時間に設定する(図20のステップST602)。例えば、ソフトウエア1の優先度がp1、システム時刻がtnの場合、異常検出時間設定テーブル50からシステム時刻tnに対応した時間帯tn〜tn1の異常検出時間Tnおよび優先度係数テーブル31からそのソフトウエア1の優先度p1に対応した係数Cp1を抽出して算出した時間T1’を、異常検出時間テーブル13のソフトウエア1の領域に設定する。
次に、OS11が、ソフトウエア12の優先度情報を変更すると、異常検出時間設定テーブル50から優先度が変更されたシステム時刻に対応した時間帯の異常検出時間および優先度係数テーブル31から優先度が変更されたソフトウエア12の優先度に対応した係数を抽出して算出し異常検出時間を、異常検出時間テーブル13の該当するソフトウエア12の異常検出時間に再設定する。さらに、OS11はシステム時刻が変更されていき、その変更されたシステム時刻に対応した時間帯が変更されると、異常検出時間設定テーブル30からシステム時刻に対応した時間帯の異常検出時間および優先度係数テーブル31からソフトウエア12の優先度に対応した係数を抽出して算出し異常検出時間を、異常検出時間テーブル13の該当するソフトウエア12の異常検出時間に再設定する(図20のステップST61)。
例えば、ソフトウエア1の優先度がp1からp2に変更された場合、異常検出時間設定テーブル50から優先度を変更されたシステム時刻tn1の時間帯tn〜tn1の異常検出時間Tnおよび優先度係数テーブル31から優先度が変更されたソフトウエア1の優先度p2に対応した係数Cp2を抽出して算出された異常検出時間T1”を、異常検出時間テーブル13のソフトウエア1の領域に再設定する。また、システム時刻がt1となり時間帯が変更した場合、異常検出時間設定テーブル15からシステム時刻t1の時間帯t1〜t11に対応した異常検出時間T1および優先度係数テーブル31からソフトウエア1の優先度p1に対応した係数Cp1を抽出して算出された異常検出時間T1”を、異常検出時間テーブル13のソフトウエア1の領域に時間T1”に再設定することが考えられる。
以下、上記各実施の形態と同様に、起動したソフトウエア12は、正常に動作していれば、ソフトウエア12に対応したウォッチドッグタイマ17のカウンタ値をリセットするリセット信号を所定の時間以内の間隔で出力する(図20のステップST12)。そして、WDT監視処理部14は、ウォッチドッグタイマ17のカウンタ値を周期的にチェックし、異常検出時間テーブル13に格納された異常検出時間以上になっているソフトウエア12が存在するかどうかをチェックする。ウォッチドッグタイマ17のカウンタ値が異常検出時間テーブル13に格納された異常検出時間以上になっているソフトウエア12が存在する場合には、そのソフトウエア12に暴走などの何らかの異常が発生していると判断する(図20のステップST13)。
上記のように構成された実施の形態10によれば、上記各実施の形態と同様の効果を奏するのはもちろんのこと、ソフトウエアの優先度およびシステム時刻に応じてソフトウエアの異常検出時間を設定することが可能となり、ソフトウエアの動作状況に応じた異常検出を行うことができる。さらに、ソフトウエアの優先度がダイナミックに変化する計算機の場合であれば、優先度が変化するタイミングで異常検出時間を再設定して異常を検出することができるため、ソフトウエアの動作状況に応じたさらにきめ細やに異常検出を行うことができる。
尚、本発明はソフトウエアの優先度、または、実行している時間帯の少なくともいずれか一方をパラメータとして異常検出時間を算出して異常を検出するものであり、上記各実施の形態においては、ソフトウエア毎に異常検出時間を設定する異常検出時間設定テーブル、優先度毎に異常検出時間を設定する異常検出時間設定テーブル、予め設定された時間帯毎に異常検出時間を設定する異常検出時間設定テーブル、優先度毎に異常検出時間の係数を設定する優先度係数テーブル、および、予め設定された時間帯毎に異常検出時間の係数を設定するシステム時刻係数テーブルの様々な組み合わせての例を示したが、これは対象となる計算機に応じて適宜選択して使用することが考えられる。
また、ソフトウエアの優先度の変更が生じる場合、その優先度の変更に応じて異常検出時間を再設定するか否かは、対象となる計算機に応じて適宜選択して使用することが考えられる。また、優先度毎に異常検出時間を設定する異常検出時間設定テーブル、予め設定された時間帯毎に異常検出時間を設定する異常検出時間設定テーブル、優先度毎に異常検出時間の係数を設定する優先度係数テーブル、および、予め設定された時間帯毎に異常検出時間の係数を設定するシステム時刻係数テーブルは、例えば上記実施の形態7にて示したように、ソフトウエア毎に設定することが可能であることは言うまでもなく、ソフトウエア毎に設定するか否かは、対象となる計算機に応じて適宜選択して使用することが考えられる。
10 計算機、11 OS、12 ソフトウエア(1〜n)、
13 異常検出時間テーブル、14 WDT監視処理部、
15,30,50 異常検出時間設定テーブル、31,310 優先度係数テーブル、
60,601 システム時刻係数テーブル。
13 異常検出時間テーブル、14 WDT監視処理部、
15,30,50 異常検出時間設定テーブル、31,310 優先度係数テーブル、
60,601 システム時刻係数テーブル。
Claims (9)
- 所定の時間刻み幅ごとに値が変化し、ソフトウエアによりリセットされるソフトウエアごとに設けられたウォッチドッグタイマと、
前記ソフトウエアごとに異常検出時間が設定された異常検出時間テーブルと、
前記ウォッチドッグタイマがリセットされないで前記異常検出時間テーブルに設定された前記異常検出時間が経過した場合に前記ソフトウエアが異常であると判断する暴走監視部と、
前記ソフトウエアごとの前記異常検出時間を、前記ソフトウエアの動作状況に応じて設定する異常検出時間設定部とを備えたソフトウエアの異常検出装置。 - 前記ソフトウエアごとの優先度を格納する優先度テーブルと、
前記優先度に対応する異常検出時間を格納する異常検出時間設定テーブルとを備え、
前記異常検出時間設定部が、前記ソフトウエアの起動時に前記優先度テーブルを参照して得た前記ソフトウエアの優先度により前記異常検出時間設定テーブルを参照して得た異常検出時間を前記異常検出時間テーブルに設定することを特徴とする請求項1に記載のソフトウエアの異常検出装置。 - 前記ソフトウエアの前記優先度は、前記ソフトウエアの実行中に変更可能であり、
前記ソフトウエアの前記優先度が変更されて、前記優先度テーブルに格納された前記優先度が変更された場合に、前記異常検出時間設定部が、前記優先度テーブルを参照して得た前記ソフトウエアの優先度により前記異常検出時間設定テーブルを参照して得た異常検出時間を前記異常検出時間テーブルに設定することを特徴とする請求項2に記載のソフトウエアの異常検出装置。 - 前記ソフトウエアごとの標準の異常検出時間を格納する標準異常検出時間設定テーブルと、
前記ソフトウエアごとの優先度を格納する優先度テーブルと、
前記標準異常検出時間設定テーブルに格納された前記標準の異常検出時間から異常検出時間を計算するのに使用する前記優先度ごとに設定された優先度係数を格納する優先度係数テーブルとを備え、
前記異常検出時間設定部が、前記ソフトウエアの起動時に前記優先度テーブルを参照して得た前記ソフトウエアの優先度により前記優先度係数テーブルを参照して得た前記優先度係数と、前記標準異常検出時間設定テーブルを参照して得た前記標準の異常検出時間とを用いて計算した異常検出時間を前記異常検出時間テーブルに設定することを特徴とする請求項1に記載のソフトウエアの異常検出装置。 - 前記ソフトウエアの前記優先度は、前記ソフトウエアの実行中に変更可能であり、
前記ソフトウエアの前記優先度が変更されて、前記優先度テーブルに格納された前記優先度が変更された場合に、前記異常検出時間設定部が、前記優先度テーブルを参照して得た前記ソフトウエアの優先度により前記優先度係数テーブルを参照して得た前記優先度係数と、前記標準異常検出時間設定テーブルを参照して得た前記標準の異常検出時間とを用いて計算した異常検出時間を前記異常検出時間テーブルに設定することを特徴とする請求項4に記載のソフトウエアの異常検出装置。 - 予め区分された時間帯ごとに異常検出時間を格納する時間帯別異常検出時間設定テーブルを備え、
前記異常検出時間設定部が、前記ソフトウエアが動作する計算機のシステム時刻情報に応じて前記時間帯別異常検出時間設定テーブルを参照して得た前記異常検出時間を前記異常検出時間テーブルに設定することを特徴とする請求項1に記載のソフトウエアの異常検出装置。 - 前記ソフトウエアごとの標準の異常検出時間を格納する標準異常検出時間設定テーブルと、
前記ソフトウエアごとの優先度を格納する優先度テーブルと、
前記標準異常検出時間設定テーブルに格納された前記標準の異常検出時間から異常検出時間を計算するのに使用する前記優先度ごとに設定された優先度係数を格納する優先度係数テーブルと、
前記標準異常検出時間設定テーブルに格納された前記標準の異常検出時間から異常検出時間を計算するのに使用する予め区分された時間帯ごとに設定された時間帯別係数を格納する時間帯別係数テーブルとを備え、
前記異常検出時間設定部が、前記優先度テーブルを参照して得た前記ソフトウエアの優先度により前記優先度係数テーブルを参照して得た前記優先度係数と、前記ソフトウエアが動作する計算機のシステム時刻情報に応じて前記時間帯別係数テーブルを参照して得た前記時間帯別係数と、前記標準異常検出時間設定テーブルを参照して得た前記標準の異常検出時間とを用いて計算した異常検出時間を前記異常検出時間テーブルに設定することを特徴とする請求項1に記載のソフトウエアの異常検出装置。 - 前記ソフトウエアの前記優先度は、前記ソフトウエアの実行中に変更可能であり、
前記ソフトウエアの前記優先度が変更されて、前記優先度テーブルに格納された前記優先度が変更された場合に、前記異常検出時間設定部が、前記優先度テーブルを参照して得た前記ソフトウエアの優先度により前記優先度係数テーブルを参照して得た前記優先度係数と、前記ソフトウエアが動作する計算機のシステム時刻情報に応じて前記時間帯別係数テーブルを参照して得た前記時間帯別係数と、前記標準異常検出時間設定テーブルを参照して得た前記標準の異常検出時間とを用いて計算した異常検出時間を前記異常検出時間テーブルに設定することを特徴とする請求項7に記載のソフトウエアの異常検出装置。 - 前記優先度係数テーブルは、前記ソフトウエアごとに、かつ前記優先度ごとに設定された前記優先度係数を格納し、
前記時間帯別係数テーブルは、前記ソフトウエアごとに、かつ前記時間帯ごとに設定された前記時間帯別係数を格納し、
前記異常検出時間設定部が、前記ソフトウエアごとに前記優先度係数テーブルと前記時間帯別係数テーブルの前記ソフトウエアに対応する領域を参照して得た前記優先度係数と前記時間帯別係数を異常検出時間の計算に用いることを特徴とする請求項7または請求項8に記載のソフトウエアの異常検出装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008166655A JP2010009258A (ja) | 2008-06-26 | 2008-06-26 | ソフトウエアの異常検出装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008166655A JP2010009258A (ja) | 2008-06-26 | 2008-06-26 | ソフトウエアの異常検出装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010009258A true JP2010009258A (ja) | 2010-01-14 |
Family
ID=41589686
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008166655A Pending JP2010009258A (ja) | 2008-06-26 | 2008-06-26 | ソフトウエアの異常検出装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010009258A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013027529A1 (ja) * | 2011-08-25 | 2013-02-28 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 割り込み処理に起因する異常動作の検知 |
JP2017045303A (ja) * | 2015-08-27 | 2017-03-02 | ファナック株式会社 | パソコン機能異常時の要因検出が可能な制御装置 |
JPWO2021044476A1 (ja) * | 2019-09-02 | 2021-11-04 | 三菱電機株式会社 | マルチタスク装置およびマルチタスク方法 |
CN114780280A (zh) * | 2022-05-13 | 2022-07-22 | 河南省人民医院 | 一种ecmo故障快速恢复方法及系统 |
-
2008
- 2008-06-26 JP JP2008166655A patent/JP2010009258A/ja active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013027529A1 (ja) * | 2011-08-25 | 2013-02-28 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 割り込み処理に起因する異常動作の検知 |
GB2508109A (en) * | 2011-08-25 | 2014-05-21 | Ibm | Detection of abnormal operation caused by interrupt process |
JP5579935B2 (ja) * | 2011-08-25 | 2014-08-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 割り込み処理に起因する異常動作の検知 |
GB2508109B (en) * | 2011-08-25 | 2014-10-08 | Ibm | Detection of abnormal operation caused by interrupt process |
US9436627B2 (en) | 2011-08-25 | 2016-09-06 | International Business Machines Corporation | Detection of abnormal operation caused by interrupt processing |
JP2017045303A (ja) * | 2015-08-27 | 2017-03-02 | ファナック株式会社 | パソコン機能異常時の要因検出が可能な制御装置 |
JPWO2021044476A1 (ja) * | 2019-09-02 | 2021-11-04 | 三菱電機株式会社 | マルチタスク装置およびマルチタスク方法 |
CN114780280A (zh) * | 2022-05-13 | 2022-07-22 | 河南省人民医院 | 一种ecmo故障快速恢复方法及系统 |
CN114780280B (zh) * | 2022-05-13 | 2023-05-12 | 河南省人民医院 | 一种ecmo故障快速恢复方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2414932B1 (en) | Execution of a plugin according to plugin stability level | |
US20100299470A1 (en) | Interrupt processing apparatus and method | |
US8677182B2 (en) | Computer system capable of generating an internal error reset signal according to a catastrophic error signal | |
JP2009110156A (ja) | ログ出力装置及びログ出力プログラム | |
US20170177431A1 (en) | Computer system | |
JP2010009258A (ja) | ソフトウエアの異常検出装置 | |
US8230446B2 (en) | Providing a computing system with real-time capabilities | |
JP2007323631A (ja) | Cpu暴走判定回路 | |
JP5760847B2 (ja) | 情報処理装置、情報処理システム、情報処理装置の異常兆候検出方法、及び異常兆候検出プログラム | |
US9436627B2 (en) | Detection of abnormal operation caused by interrupt processing | |
EP1672496A2 (en) | Context save method, information processor and interrupt generator | |
US20180081762A1 (en) | Information processing device | |
JP4761229B2 (ja) | 運用管理装置、運用管理方法ならびにプログラム | |
CN104199768A (zh) | 多核处理器置位的方法和装置 | |
JP5327591B2 (ja) | 情報処理装置の保守管理方法、その装置及びそのプログラム | |
JP6049961B1 (ja) | Cpu監視装置 | |
JP2009151440A (ja) | プログラムハング検出方法及びそれを適用したコンピュータ装置 | |
JP2006011686A (ja) | マルチタスクシステムの異常検知方法 | |
EP2610752B1 (en) | Parallel computer, job information acquisition program of parallel computer, and job information acquisition method for parallel computer | |
US20060195849A1 (en) | Method for synchronizing events, particularly for processors of fault-tolerant systems | |
JP2006227962A (ja) | アプリケーションタスク監視システムおよび方法 | |
JP4952057B2 (ja) | クロック異常検出方法及びクロック異常検出プログラム | |
JP2012108848A (ja) | 動作ログ収集システム及びプログラム | |
JP4567586B2 (ja) | 処理装置 | |
JP6918267B2 (ja) | ボトルネック検出装置及びボトルネック検出プログラム |