説明

異常状態検知装置及び異常状態検知方法

【課題】原因の特定方法が必ずしも明らかではない種々の異常を予知することのできる異常状態検知装置及び異常状態検知方法を提供する。
【解決手段】情報処理装置(3)から、当該装置の稼動状態を表す状態データを周期的に取得して、前記情報処理装置に異常が発生する前の状態データを記憶装置(11)に少なくとも一つ蓄積し、蓄積された状態データをグループにクラスタリングする準備処理手段と、前記情報処理装置から状態データを取得するデータ取得手段と、取得した状態データが前記グループに属するか否かを判定する判定手段と、前記判定手段が属すると判定した場合は、この判定結果を出力する出力手段とを備えたことを異常状態検知装置(1)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施の形態は、情報処理装置の異常状態検知装置及び異常状態検知方法に関する。
【背景技術】
【0002】
PC(Personal Computer)等の情報処理装置において、処理の続行ができなくなるような異常が発生した場合には、その原因の特定のために、関連した情報を記憶装置に保存する動作が行なわれている。
【0003】
しかしながら、異常の発生を予知することができれば、例えば、事前にその異常の発生を回避するように対処することが可能となり、情報処理装置の安定性と信頼性を向上させることができる。特に情報処理装置が24時間稼動をしているシステムに組み込まれている場合は、異常の発生を予知することの重要性はより高くなる。
【0004】
特許文献1には、プロセスの監視情報を取得し、取得した監視情報と設定してある監視情報とを比較して異常の有無を判断し、両監視情報が相違している場合に異常があると判断して、そのプロセスを再起動するようにした障害監視システムが記載されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2001−56772号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1に記載の技術では、前回までに取得した監視情報と今回取得した監視情報とを比較することで異常か否かを判断する。従って、異常を判断するための監視情報と異常判定のための閾値が明らかにされていることが必要である。
【0007】
しかしながら、異常によっては異常と判断するための監視情報及びその閾値が明らかでない場合がある。また異常と判断するためには複数の監視情報が必要となる場合もある。さらに、同じ異常が異なる監視情報によって発生する場合もある。
【0008】
従って、このような原因の特定方法が必ずしも明らかではない種々の異常を予知することのできる異常状態検知装置及び異常状態検知方法のニーズが存在する。
【課題を解決するための手段】
【0009】
上記課題を解決するための本発明の実施の形態によれば、情報処理装置から、当該装置の稼動状態を表す状態データを周期的に取得して、前記情報処理装置に異常が発生する前の状態データを少なくとも一つ蓄積し、蓄積された状態データをグループにクラスタリングする準備処理手段と、前記情報処理装置から状態データを取得するデータ取得手段と、取得した状態データが前記グループに属するか否かを判定する判定手段と、前記判定手段が属すると判定した場合は、この判定結果を出力する出力手段とを備えた異常状態検知装置が提供される。
【図面の簡単な説明】
【0010】
【図1】本実施形態の異常状態検知システムの構成を示す図。
【図2】本実施の形態の異常状態検知装置の準備処理の手順を示す概略のフロー図。
【図3】本実施の形態の異常状態データベースの内容を示す図。
【図4】本実施の形態の異常状態検知装置における異常パターンを計算する方法を説明するための図。
【図5】本実施の形態の異常状態検知装置の検知処理の手順を示す概略のフロー図。
【図6】本実施の形態の異常状態検知装置における、状態データと最も距離の近い異常パターンを求める方法を説明する図。
【図7】本実施の形態の異常状態検知装置における、異常状態と判定されるケースを説明する図。
【図8】本実施の形態の異常状態検知装置における、注意状態と判定されるケースを説明する図。
【図9】第2の実施の形態の異常状態検知装置の準備処理の手順を示す概略のフロー図。
【図10】第2の実施の形態の異常状態データベースの内容を示す図。
【発明を実施するための形態】
【0011】
〔第1の実施の形態〕
図1は、本実施形態の異常状態検知システムの構成を示す図である。
異常状態検知システムは、異常状態検知装置1、入出力装置2、監視対象情報端末3(以下、情報端末という。)及び通信回線4を備えている。そして、異常状態検知装置1には、制御部10及び記憶部11が設けられている。
【0012】
異常状態検知装置1は、通信回線4を介して情報端末3と情報の授受を行なって情報端末3の異常を予知する。情報端末3は、コンピュータを用いて情報を加工しあるいは処理する機能を備えている。情報端末3は、不図示の外部装置との間で信号の授受を行なうように構成されていても良く、不図示の外部システムに組み込まれて当該システムの機能の一部を担うように構成されていても良い。
【0013】
入出力装置2は、異常状態検知装置1に対してユーザが指示を入力し、異常状態検知装置1からの情報を出力するための操作端末である。ここで、通信回線4とは広く情報の送受信に用いられる経路のことで、導電線、光ファイバなどの有線を用いた通信に限られず、光、音波、電波などを用いた無線通信も含まれる。
【0014】
制御部10は、異常状態検知装置1の異常検知動作を統括して制御する。詳細は後述するが、制御部10は、異常を検知するための状態データを情報端末3より取得して異常有無の判断結果を出力する。状態データとは情報端末3が取り扱っているデータのうち、特に動作中において動的に変化するデータである。ユーザは、情報端末3ごと及び異常内容ごとに状態データを任意に指定することができる。記憶部11は、制御部10が取得した状態データを格納する異常状態データベース11a、及び異常を検知するための異常パターン(後述)を格納する異常パターンデータベース11bを備えている。
【0015】
続いて、異常状態検知装置1の動作について説明する。異常状態検知装置1の動作は、2種類の動作に大別することができる。第1の動作は、検知動作を開始する前の準備処理動作である「異常状態データベースの蓄積と異常パターンの計算」である。第2の動作は、オンラインでの検知動作である「異常状態と注意状態の検知」である。
【0016】
図2は、本実施の形態の異常状態検知装置1の準備処理の手順を示す概略のフロー図である。
【0017】
ステップS201において、ユーザは異常状態検知装置1と情報端末3とを通信回線4で接続して情報端末3を稼動状態とする。そして、ユーザは、異常状態検知装置1に準備処理動作を開始する指示を入力する。
【0018】
ステップS202において、制御部10は、ユーザが設定した時刻毎に情報端末3に対して状態データの送信を要求し、情報端末3から送信される状態データを取得する。本実施の形態ではCPU占有率、メモリ使用量を状態データとするが、データ通信量といった他のパラメータを追加することも可能である。ここで取得されたそれぞれのパラメータデータは単位や上限値が異なる。そのため、制御部10は、取得したパラメータデータの値を0〜1.0に正規化する。
【0019】
ステップS203において、情報端末3の稼動が終了したかどうかを調べる。即ち、異常状態検知装置1からの状態データの要求に対して所定時間内に応答が無い場合は、情報端末3は稼動を終了した(稼動していない)と判断する。
【0020】
情報端末3が稼動していない場合(ステップS203でYes)、本処理を終了する。
情報端末3が稼動している場合(ステップS203でNo)、ステップS204において情報端末3に異常が生じたか否かを判断する。情報端末3に異常が生じたか否かは、ユーザが入出力装置2から入力するように構成しても良い。あるいは、情報端末3に異常が発生した場合、情報端末3が異常状態検知装置1に対して異常信号を出力するように構成しても良い。
【0021】
情報端末3に異常が生じていない場合(ステップS204でNo)、制御部10は、ステップS202に戻って次の時刻において状態データを取得する。
情報端末3に異常が生じている場合(ステップS204でYes)、制御部10は、ステップS205において、記憶部11の異常状態データベース11aに取得した状態データを蓄積する。ステップS204で異常が発生していると判断された場合、取得した状態データは異常が入力される直前の状態データである。
【0022】
図3は、異常状態データベース11aの内容を示す図である。異常状態データベース11aには、異常が発生する毎に取得された異常発生直前の状態データが保存されている。図3に示す状態データでは、n個のパラメータデータが含まれている。本実施の形態では、上述のようにパラメータデータはCPU占有率、メモリ使用量の2つである。
ステップS206において、制御部10は、異常状態データベース11aの状態データをクラスタリングして異常パターンを抽出する。
【0023】
図4は、本実施の形態の異常状態検知装置における異常パターンを計算する方法を説明するための図である。
【0024】
図4(a)は、異常状態データベース11aに蓄積された状態データを2次元座標上にプロットした図である。1つの白丸が1つの状態データに対応する。図4(b)は、数理手法を用いて状態データをクラスタリングした結果を示す図である。本実施の形態では、数理手法としてEMアルゴリズムを用いる。EMアルゴリズムを適用し、異常状態データベース11aに蓄積された異常状態データをクラスタリングすることで、2種類の異常パターンが求められた。なお、EMモデルに限られずデータをクラスタリングする手法であれば、異常データのクラスタリングに用いても良い。
【0025】
次に制御部10は、それぞれの異常パターンに含まれる異常状態データの平均値を計算する。平均値は、同じ異常パターンに含まれる異常状態データのそれぞれのパラメータデータの相加平均を求める事で得られる。このようにして得られた状態データを重心状態データと呼ぶ。続いて、制御部10は、異常パターン領域を求める。異常パターン領域は、重心状態データを中心とした円の領域として表す。そして、その円の半径は、異常パターン領域に含まれる状態データと重心状態データとの距離(ユークリッド距離)の内もっとも長い距離と定義する。このようにして得られた異常パターンに関する情報は、記録部11の異常パターンデータベース11bに保存される。
【0026】
図4(b)には、このようにして設けられた異常パターン領域1及び2が表されている。なお、図4(b)では、異常パターンが2つのグループに分けられるケースを示したが、円の数が3つ以上になるケースや円同士が重なるケースも起こりうる。
【0027】
なお、ステップS206を実行した後、制御部10は、ステップS202において次回の状態データを取得しようとする。異常発生後、情報端末3が停止した場合は、ステップS203においてYesとなり、動作は終了する。異常発生後も、情報端末3が稼動している場合、ステップS203においてNoとなり、ステップS204において、情報端末3での異常が発生しているか否かが判断されるが、情報端末3での異常が発生しているため、ステップS202に戻りさらに次回の状態データを取得する。即ち、情報端末3が稼動を終了するまではステップS202〜S204の処理を繰り返して実行するため、上述の算出した異常パターンに影響することはない。
【0028】
続いて、オンラインでの異常状態検知動作である「異常状態と注意状態の検知」について説明する。
図5は、本実施の形態の異常状態検知装置1の検知処理の手順を示す概略のフロー図である。
【0029】
ステップS301において、ユーザは異常状態検知装置1と情報端末3とを通信回線4で接続して情報端末3を稼動状態とする。そして、ユーザは、異常状態検知装置1に検知処理動作を開始する指示を入力する。
【0030】
ステップS302において、制御部10は、ユーザが設定した時刻毎に情報端末3に対して状態データの送信を要求し、情報端末3から送信される状態データを取得する。取得する状態データは、図2の準備処理で取得した状態データと同じCPU占有率、メモリ使用量とする。そして、制御部10は、取得したパラメータの値を0〜1.0に正規化する。
【0031】
ステップS303において、情報端末3の稼動が終了したかどうかを調べる。即ち、異常状態検知装置1からの状態データの要求に対して所定時間内に応答が無い場合は、情報端末3は稼動を終了した(稼動していない)と判断する。
【0032】
情報端末3が稼動していない場合(ステップS303でYes)、本処理を終了する。
情報端末3が稼動している場合(ステップS303でNo)、ステップS304において、制御部10は、取得した状態データと異常パターンデータベース11bの各異常パターンの重心状態データとの距離を計算する。そして、距離が一番近い異常パターンを得る。
【0033】
図6は、本実施の形態の異常状態検知装置における、状態データと最も距離の近い異常パターンを求める方法を説明する図である。図6に示すように、ステップS302で取得した状態データとそれぞれの異常パターンの重心状態データとの距離(ユークリッド距離)が一番近い異常パターンを求める。図6に示す例では、運用中の情報端末3の状態データは異常パターン1に最も近いと判定される。
【0034】
ステップS305において、求めた異常パターンの重心状態データと状態データとの距離が異常判定閾値よりも小さいか否かを調べる。
図7は、本実施の形態の異常状態検知装置における、異常状態と判定されるケースを説明する図である。ここで異常判定閾値とは、異常パターンの半径と定義する。上述のように異常パターン内にある各状態データは、異常が発生する前の直近のタイミングの状態を表している。従って、図7に示すように、取得した状態データが異常パターンの円内にあるときは異常であると判断する。
【0035】
距離が異常判定値よりも小さくない場合(ステップS305でNo)、ステップS310において、求めた異常パターンの重心状態データと状態データとの距離が注意判定閾値よりも小さいか否かを調べる。
図8は、本実施の形態の異常状態検知装置における、注意状態と判定されるケースを説明する図である。ここで注意判定閾値は、異常パターンの半径×(1+x)と定義する。x はユーザが任意に設定することができる正数である。x を大きくすれば早めに注意を出すことができ、小さくすれば遅めに注意を出すことができる。
【0036】
距離が注意判定閾値よりも小さい場合(ステップS310でYes)は、図8に示すように、運用中の情報端末3の状態データは異常パターン1の注意状態エリアに含まれるため、ステップS309において、異常パターン1に接近していることを表す注意情報を入出力装置2に出力する。なお、注意判定閾値を複数設定することで、「注意:high」「注意:middle」「注意:low」のように段階に分けて注意状態を検知することも可能である。そして、制御部10は、ステップS302に戻って次の時刻において状態データを取得する。
【0037】
距離が注意判定閾値よりも大きい場合(ステップS310でNo)は、制御部10は、ステップS302に戻って次の時刻において状態データを取得する。
【0038】
距離が異常判定値よりも小さい場合(ステップS305でYes)、図7に示すように、運用中の情報端末3の状態データは異常パターン1の異常状態エリアに含まれるため、ステップS306において、異常パターン1に含まれることを表す異常情報を入出力装置2に出力する。
【0039】
ステップS307において情報端末3に異常が生じたか否かを判断する。情報端末3に異常が生じたか否かは、ユーザが入出力装置2から入力するように構成しても良い。あるいは、情報端末3に異常が発生した場合、情報端末が異常状態検知装置1に対して異常信号を出力するように構成しても良い。
【0040】
情報端末3に異常が生じていない場合(ステップ307でNo)、制御部10は、ステップS302に戻って次の時刻において状態データを取得する。
情報端末3に異常が生じている場合(ステップS307でYes)、制御部10は、ステップS308において、記憶部11の異常状態データベース11aに取得した状態データを蓄積する。ステップS204で異常が発生していると判断された場合、取得した状態データは異常が入力される直前の状態データである。
【0041】
ステップS309において、制御部10は、異常状態データベース11aの状態データをクラスタリングして異常パターンを再計算する。異常パターンを計算する方法はすでに説明しているため再度の説明は省略する。
【0042】
なお、ステップS309を実行した後、制御部10は、ステップS302において次回の状態データを取得しようとする。異常発生後、情報端末3が停止した場合は、ステップS303においてYesとなり、動作は終了する。異常発生後も、情報端末3が稼動している場合、ステップS303においてNoとなり、ステップS307において、情報端末3での異常が発生しているかが判断される。ここで、前回の異常発生後に再度異常が発生した場合はYesとなり、ステップS308以降を実行し状態パターンを更新する。異常が発生していない場合は、ステップS302に戻りさらに次回の状態データを取得する。これらの動作はステップS303で情報端末の稼動が終了したと判断されるまで継続する。
【0043】
否かが判断されるが、情報端末3での異常が発生しているため、ステップS302に戻りさらに次回の状態データを取得する。即ち、情報端末3が稼動を終了するまではステップS302〜S307の処理を繰り返して実行するため、上述の算出した異常パターンに影響することはない。
【0044】
なお、クラスタリングに際しては、異常状態データのそれぞれのパラメータデータに重み付け係数を掛けても良い。それぞれのパラメータデータに重み付けを行なうことで、異常パターンの異常判定閾値、注意判定閾値の距離を変化させることができる。このため、異常の発生により大きい影響を与えるパラメータデータの動きを適正に反映させることができる。
【0045】
また、ステップS306、S307の異常警報出力、注意警報出力は情報端末3に対して行なっても良く、入出力装置2及び情報端末3の両方に対して行なっても良い。
【0046】
〔第2の実施の形態〕
第2の実施の形態では、注意判定閾値を与える注意パターンを自動で算出する。第1の実施の形態と同一の部位には同一の符号を付してその詳細の説明は省略する。
【0047】
図9は、第2の実施の形態の異常状態検知装置1の準備処理の手順を示す概略のフロー図である。
第2の実施の形態では、ステップS405に示す処理が、第1の実施の形態の図2のステップ205の処理と異なっている。即ち、第1の実施の形態では、記憶部11の異常状態データベース11aに異常発生直前の状態データが保存されるが、第2の実施の形態では、記憶部11の異常状態データベース11aには異常が発生するまでの状態データの履歴が蓄積される。
【0048】
図10は、第2の実施の形態の異常状態データベース11aの内容を示す図である。異常状態データベース11aには、異常が発生する毎に取得された異常直前から所定回数前までの状態データの履歴が保存されている。この状態データの履歴データには、異常直前のデータだけではなく、さらにそれ以前の注意段階にある状態データを含んでいる。従って、これらの履歴データを対象としてクラスタリングを行ない、異常パターンを求める処理と同じ処理を実行することで注意パターンを得ることができる。
【0049】
この注意パターンは、履歴データの数、即ち異常発生前の状態データの保存件数を変更することで、複数の水準の注意パターン(「注意:high」「注意:middle」「注意:low」)を得ることができる。そして、この注意パターンを用いて注意判定を行なうことができる。
【0050】
また、注意パターンを用いずに異常パターンを用いて注意判定を行なう場合には、上述の注意パターンに基いて注意閾値を求めることができる。即ち、それぞれの注意パターンの半径Rを求め、その値を注意判定閾値として扱うこともできる。異常パターンの半径をrとすると、下記式が成立すると仮定する。
注意判定値R=異常パターンの半径r×(1+x)
x=(注意判定値R−異常パターンの半径r)/異常パターンの半径r
この式から導かれるxを用いて注意判定閾値を決定する。
【0051】
以上、説明した各実施の形態によれば、原因の特定が必ずしも明らかではない監視対象情報機器の種々の異常状態とその異常パターンを事前に検知しユーザやシステムに通知することができる。
【0052】
また、異常状態だけではなく、監視対象情報端末の注意状態と注意すべきパターンを事前に検知しユーザやシステムに通知することができる。
【0053】
更に、注意判定閾値を複数設定することで、異常パターンに近い方から「注意:high」「注意:middle」「注意:low」のように段階に分けて注意を通知することができる。このように段階に分けて通知を行うことで、ユーザは、監視対象情報端末が現在どのような状態にあるのかをより詳しく知ることができ、状態に応じた処理を行うことができる。
【0054】
なお、上述の各実施の形態では、異常状態検知装置と監視対象情報端末とが分離して構成されていたが、異常状態検知装置が監視対象情報端末内にハードウエア、またはソフトウエアとして組み込まれていても良い。
【0055】
なお、上述の各実施の形態で説明した機能は、ハードウェアを用いて構成するに留まらず、ソフトウェアを用いて各機能を記載したプログラムをコンピュータに読み込ませて実現することもできる。また、各機能は、適宜ソフトウェア、ハードウェアのいずれかを選択して構成するものであっても良い。
【0056】
尚、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。
上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【0057】
1…異常状態検知装置、2…入出力装置、3…監視対象情報端末、4…通信回線、10…制御部、11…記憶部、11a…異常状態データベース、11b…異常パターンデータベース。

【特許請求の範囲】
【請求項1】
情報処理装置から、当該装置の稼動状態を表す状態データを周期的に取得して、前記情報処理装置に異常が発生する前の状態データを記憶装置に少なくとも一つ蓄積し、蓄積された状態データをグループにクラスタリングする準備処理手段と、
前記情報処理装置から状態データを取得するデータ取得手段と、
取得した状態データが前記グループに属するか否かを判定する判定手段と、
前記判定手段が属すると判定した場合は、この判定結果を出力する出力手段と
を備えたことを特徴とする異常状態検知装置。
【請求項2】
前記準備処理手段は、
前記情報処理装置に異常が発生した旨の情報が入力される直近に取得した状態データを蓄積し、この蓄積されたデータを異常を予知するためのグループにクラスタリングすることを特徴とする請求項1に記載の異常状態検知装置。
【請求項3】
前記グループに属する状態データを平均した中心状態データを求め、この中心状態データからそれぞれの状態データまでの距離のうち最も長い最長距離を求める領域算出手段を更に有し、
前記判定手段は、前記データ取得手段が取得した状態データと前記中心状態データとの距離が前記最長距離以下の場合に、前記取得した状態データは、当該グループに属すると判定することを特徴とする請求項2に記載の異常状態検知装置。
【請求項4】
前記準備処理手段は、
前記情報処理装置に異常が発生した旨の情報が入力される前に取得した所定件数の状態データを蓄積し、この蓄積されたデータを異常状態に至る前の注意状態を予知するためのグループにクラスタリングすることを特徴とする請求項2に記載の異常状態検知装置。
【請求項5】
前記グループに属する状態データを平均した中心状態データを求め、この中心状態データからそれぞれの状態データまでの距離のうち最も長い最長距離を求める領域算出手段を更に有し、
前記判定手段は、前記データ取得手段が取得した状態データと前記中心状態データとの距離が前記最長距離以下の場合に、前記取得した状態データは、当該グループに属すると判定することを特徴とする請求項4に記載の異常状態検知装置。
【請求項6】
前記グループに属する状態データを平均した中心状態データを求め、この中心状態データからそれぞれの状態データまでの距離のうち最も長い最長距離を求める領域算出手段を更に有し、
前記判定手段は、前記データ取得手段が取得した状態データと前記異常を予知するためのグループの中心状態データとの距離が当該グループの最長距離よりも長く、かつ当該グループに対応する注意状態を予知するためのグループの最長距離以内のときは、前記取得した状態データは、注意状態を予知するためのグループに属すると判定することを特徴とする請求項4に記載の異常状態検知装置。
【請求項7】
前記状態データのそれぞれのパラメータデータは、重み付けがされていることを特徴とする請求項1乃至6のうちのいずれか1項に記載の異常状態検知装置。
【請求項8】
情報処理装置から、当該装置の稼動状態を表す状態データを周期的に取得して、前記情報処理装置に異常が発生する前の状態データを記憶装置に少なくとも一つ蓄積し、蓄積された状態データをグループにクラスタリングする準備処理ステップと、
前記情報処理装置から状態データを取得するデータ取得ステップと、
取得した状態データが前記グループに属するか否かを判定する判定ステップと、
前記判定ステップで属すると判定された場合は、この判定結果を出力する出力ステップと
を備えたことを特徴とする異常状態検知方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate