JP2011175504A - イベント予測システムおよびイベント予測方法、ならびにコンピュータ・プログラム - Google Patents

イベント予測システムおよびイベント予測方法、ならびにコンピュータ・プログラム Download PDF

Info

Publication number
JP2011175504A
JP2011175504A JP2010039746A JP2010039746A JP2011175504A JP 2011175504 A JP2011175504 A JP 2011175504A JP 2010039746 A JP2010039746 A JP 2010039746A JP 2010039746 A JP2010039746 A JP 2010039746A JP 2011175504 A JP2011175504 A JP 2011175504A
Authority
JP
Japan
Prior art keywords
event
sequence
model
occurrence
failure
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.)
Granted
Application number
JP2010039746A
Other languages
English (en)
Other versions
JP5413240B2 (ja
Inventor
Ryuichi Nagano
竜一 永野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2010039746A priority Critical patent/JP5413240B2/ja
Publication of JP2011175504A publication Critical patent/JP2011175504A/ja
Application granted granted Critical
Publication of JP5413240B2 publication Critical patent/JP5413240B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】装置障害等のイベントの発生を事前に予測する。
【解決手段】監視対象装置で発生し得るイベントとそのイベント発生原因との対応関係およびイベント発生原因間の遷移を有限オートマトンでモデル化した初期イベント発生モデルと、学習用イベント列とに基づいて、イベント発生原因ごとに各イベントが発生する確率およびイベント発生原因間の遷移の確率を算出し、イベント発生モデルを生成するイベント発生モデル学習部12と、このイベント発生モデルに基づいて、障害原因発見用イベント列が観察される確率が最も高いと考えられる状態遷移列を求める状態遷移列計算部13と、イベント発生モデルと状態遷移列計算部13によって求められた状態遷移列とに基づいて、監視対象装置で将来発生し得るイベントを予測するフィルタリングモジュール14とを備える。
【選択図】 図1

Description

本発明は、イベント予測システムおよびイベント予測方法、ならびにコンピュータ・プログラムに関し、特に監視対象装置において発生し得る、例えば、故障などのイベントを予測するイベント予測システムおよびイベント予測方法、ならびにコンピュータ・プログラムに関する。
従来より、コンピュータ等の管理対象装置を監視して、管理対象装置に何らかのイベント、例えば装置障害が発生した際に、そのイベントの発生を通知するシステムがある。このようなシステムの大半は、例えば「装置障害」というイベントが発生したという事象そのものは通知するものの、そのイベント(装置障害)発生の根本原因を推定するものではなく、また、装置障害が発生してから通知がなされるため、装置障害が発生する前に対策を講ずることを可能とするものではなかった。
これに対し、イベント発生の根本原因の解析手法の一つとして派生障害分析を行う技術が提案されている(例えば、特許文献1参照。)。この技術は、発生した装置障害の根本原因を過去の事例から学習して解析するものである。この技術により、障害が起きた際の根本原因を推定することができるようになった。
特開2007−257184号公報
しかしながら、特許文献1に記載された技術は、既に発生したイベント(装置障害)についてその根本原因を解析するものであり、今後発生する可能性がある装置障害に関しては解析する機能がなかった。このため、この技術によっては、依然として装置障害が発生を事前に予測することができず、したがって、装置障害が発生する前に対策を講ずることもできない。
一方、装置が障害することを事前に予測ができる例としては、管理者が過去の経験に基づいて故障するタイミングを予測できることが知られている。これには深い経験を有した管理者が必要であるが、そのような人材が必ずしも存在するとは限らない。したがって、管理者の経験をルールベース化することによって、障害の事前予測を自動化することができれば、経験のない管理者であっても装置が故障する可能性があることを把握することができ、装置故障を事前に防ぐことができることが期待される。
しかし、装置故障に関してルールの獲得が難しいことなどの理由により、ルールベースによる装置故障を予測するシステムは実用化されていない。
本発明は、このような課題を解決するためのものであり、装置障害等のイベントの発生を未然に防いだり、イベントが発生した際に経験のない管理者でも迅速な対処を可能としたりすることを可能とするため、イベントの発生を事前に予測する、いわゆるイベント予測システムおよびイベント予測方法ならびにプログラムを提供することを目的とする。
行うための機能を提供できていなかった。
上述した目的を達成するために、本発明に係るイベント予測システムは、監視対象装置で発生し得るイベントとそのイベントを引き起こすイベント発生原因を定義した基本モデル定義に基づいて、イベントとそのイベント発生原因との対応関係およびイベント発生原因間の遷移を、イベント発生原因を状態とする有限オートマトンでモデル化した初期イベント発生モデルを生成してモデル格納データベースに記憶させる初期モデル生成手段と、前記監視対象装置で発生し得る複数のイベントからなるイベント列を記憶したイベント列データベースから読みだされた第1のイベント列と前記初期イベント発生モデルとに基づいて、イベント発生原因ごとに各イベントが発生する確率およびイベント発生原因間の遷移の確率を算出し、その算出結果を前記初期イベント発生モデルに反映させたイベント発生モデルを前記モデル格納データベースに記憶させるイベント発生モデル学習手段と、前記イベント発生モデルに基づいて、前記イベント列データベースから読みだされた第2のイベント列が観察される確率が最も高いと考えられる状態遷移列を求め、その状態遷移列を障害予測結果データベースに記憶させる状態遷移列計算手段と、前記イベント発生モデルと前記状態遷移列計算手段によって求められた状態遷移列とに基づいて、前記監視対象装置で将来発生し得るイベントを予測するフィルタリングモジュールとを備えることを特徴とする。
また、本発明に係るイベント予測方法は、コンピュータに、監視対象装置で発生し得るイベントとそのイベントを引き起こすイベント発生原因を定義した基本モデル定義に基づいて、イベントとそのイベント発生原因との対応関係およびイベント発生原因間の遷移を、イベント発生原因を状態とする有限オートマトンでモデル化した初期イベント発生モデルを生成させ、モデル格納データベースに記憶させる初期モデル生成ステップと、コンピュータに、前記監視対象装置で発生し得る複数のイベントからなるイベント列を記憶したイベント列データベースから読みだされた第1のイベント列と前記初期イベント発生モデルとに基づいて、イベント発生原因ごとに各イベントが発生する確率およびイベント発生原因間の遷移の確率を算出させ、その算出結果を前記初期イベント発生モデルに反映させたイベント発生モデルを前記モデル格納データベースに記憶させるイベント発生モデル学習ステップと、コンピュータに、前記イベント発生モデルに基づいて、前記イベント列データベースから読みだされた第2のイベント列が観察される確率が最も高いと考えられる状態遷移列を求めさせ、その状態遷移列を障害予測結果データベースに記憶させる状態遷移列計算ステップと、コンピュータに、前記イベント発生モデルと前記状態遷移列計算手段によって求められた状態遷移列とに基づいて、前記監視対象装置で将来発生し得るイベントを予測させるフィルタリングステップとを備えることを特徴とする。
また、本発明に係るコンピュータ・プログラムは、上記のイベント予測方法をコンピュータに実行させることを特徴とする。
本発明では、基本定義モデルに基づいて作成された初期イベント発生モデルについて、第1のイベント列を学習用イベント列とする学習により算出されたイベント発生原因ごとに各イベントが発生する確率およびイベント発生原因間の遷移の確率を初期イベント発生モデルに反映させたイベント発生モデルを生成し、そのイベント発生モデルから障害予測用イベント列となる第2のイベント列が観察される確率が最も高いと考えられる状態遷移列を求め、その状態遷移列に基づいて、監視対象装置で発生するイベントの予測を行う。
本発明によれば、イベントの発生を事前に予測することができ、したがって、装置障害等のイベントの発生を未然に防いだり、イベントが発生した際に経験のない管理者でも迅速な対処を可能としたりすることが可能となる。
本発明の第1の実施の形態に係るイベント予測システムの構成を示すブロック図である。 本発明の第2の実施の形態に係る障害発生予測装置の構成を示すブロック図である。 第2の実施の形態に係る障害発生モデルを生成する際の障害発生予測装置の動作手順を示すフローチャートである。 基本モデル定義の記述例を示す図である。 イベント列の分割の様子を示す模式図である。 第2の実施の形態に係る障害発生予測装置の障害原因を推定する際のの動作手順を示すフローチャートである。 障害予測結果データベースに格納された情報の具体例を示す図である。
以下、図面を参照して本発明の実施の形態について説明する。
[第1の実施の形態]
本発明の第1の実施の形態に係るイベント予測システムの構成を図1に示す。
本実施の形態に係るイベント予測システム1は、監視対象装置で発生し得るイベントとそのイベントを引き起こすイベント発生原因を定義した基本モデル定義に基づいて、イベントとそのイベント発生原因との対応関係およびイベント発生原因間の遷移を、イベント発生原因を状態とする有限オートマトンでモデル化した初期イベント発生モデルを生成してモデル格納データベース(DB)15に記憶させる初期モデル生成部11と、監視対象装置で発生し得る複数のイベントからなるイベント列を記憶したイベント列データベース16から読みだされた第1のイベント列と初期イベント発生モデルとに基づいて、イベント発生原因ごとに各イベントが発生する確率およびイベント発生原因間の遷移の確率を算出し、その算出結果を初期イベント発生モデルに反映させたイベント発生モデルをモデル格納データベース15に記憶させるイベント発生モデル学習部12と、モデル格納データベース15に記憶されたイベント発生モデルに基づいて、イベント列データベース16から読みだされた第2のイベント列が観察される確率が最も高いと考えられる状態遷移列を求め、その状態遷移列をイベント予測結果データベース17に記憶させる状態遷移列計算部13と、イベント発生モデルと状態遷移列計算部13によって求められた状態遷移列とに基づいて、監視対象装置で将来発生し得るイベントを予測するフィルタリングモジュール14とを備えることを特徴とする。
本実施の形態では、人手で定義が必要なのは、発生し得るイベントと、イベントを引き起こすイベント発生原因と、その対応関係とであり、これらは、人手で容易に定義できる。
本実施の形態に係るイベント予測システムでは、まず、基本定義モデルに基づいて初期イベント発生モデルを生成する(「初期モデル生成ステップ」)。このモデルは、イベントの発生原因を状態として、イベントの移転と発生原因との対応関係およびイベント発生原因間(すなわち、状態間)の遷移を有限オートマトンでモデル化したものである。
次に、この初期イベント発生モデルに対して、学習用イベント列としてイベント列データベース16から読み出された第1のイベント列を適用し、学習により算出されたイベント発生原因ごとに各イベントが発生する確率およびイベント発生原因間の遷移の確率を初期イベント発生モデルに反映させてイベント発生モデルを生成する(「イベント発生モデル学習ステップ」)。
しかる後に、障害予測用イベント列としてイベント列データベース16から第2のイベント列を読み出し、モデル格納データベース14に記憶されたイベント発生モデルからこの第2のイベント列が観察される確率が最も高いと考えられる状態遷移列を求め、これをイベント予測結果データベース17に記憶させる(「状態遷移列計算ステップ」)。
そして、モデル格納データベース14に記憶されたイベント発生モデルと、イベント予測結果データベース17に記憶された最も尤もらしい状態遷移列とに基づいて、監視対象装置で将来発生し得るイベントを予測する(「イベント予測ステップ」)。
本実施の形態に係るイベント予測システムによれば、有限オートマトンでモデル化されたイベント発生モデルとイベント列とに基づいてイベントの根元的な原因を推定したり将来発生し得るイベント予測したりするので、複雑な原因−結果間の依存関係を定義しなくても、イベントの発生を事前に予測することができる。したがって、装置障害等のイベントの発生を未然に防いだり、イベントが発生した際に経験のない管理者でも迅速な対処を可能としたりすることが可能となる。
[第2の実施の形態]
次に、本発明の第2の実施の形態について説明する。この第2の実施の形態に係るイベント予測システムは、監視対象装置の障害の発生をイベントの発生とし、監視対象装置からモニタされるイベント列、すなわち装置障害の履歴から、将来発生する可能性のある障害を予測する障害予測装置である。
本実施の形態に係る障害予測装置の構成を図2に示す。
障害予測装置10は、基本的に、基本モデル定義20、初期モデルパーサ30、初期モデル生成部40、Baum−Welch計算部50、Viterbi計算部60、フィルタリングモジュール70から構成される。
この障害予測装置10には、また、上記の基本的な構成に加え、上述した第1の実施の形態と同様に、基本イベント発生モデル(以下、「初期障害発生モデル」という。)およびイベント発生モデル(以下、「障害発生モデル」という。)を記憶するモデル格納DB120、障害予測用イベント列が観察される確率が最も高いと考えられる状態遷移列(この状態遷移列は、本実施の形態においては装置障害の列となる。)を記憶する障害予測結果DB150が設けられている。また、障害発生の予測結果を表示する表示部160が設けられている。
障害予測装置10の各構成要素のうち、基本モデル定義20、初期モデルパーサ30、初期モデル生成部40、Baum−Welch計算部50、およびモデル格納DB120は、イベント発生確率・障害遷移確率学習部200を構成し、イベント(装置障害)の発生確率および障害原因(状態)間の遷移確率を学習する。学習のアルゴリズムとしては、例えば、出力記号列からパラメータを推定するBaum−Welchアルゴリズムを用いることができる。Baum−Welchアルゴリズムにより、前記原因間の状態遷移確率と各原因でのイベント発生確率とを学習する構成を採用できる。
また、Viterbi計算部60、フィルタリングモジュール70、および障害予測結果DB150は、障害予測部210を構成し、モデル格納DB120に記憶された障害発生モデルと障害予測結果DB150に記憶された状態遷移列とに基づいて、監視対象装置80で将来発生し得るイベントを予測し、その結果を表示部160に表示する。
本実施の形態においては、さらに、監視対象装置80の障害発生を監視するイベントモニタ90、監視対象装置80の障害発生履歴(学習用イベント列100および障害予測用イベント列110)をイベント列DB140に記憶させるイベント列パーサ130、およびイベント列DB140からなる監視部220を備えている。
なお、上述した障害予測装置10は全体としてサーバ装置など、入力されたデータを情報処理するコンピュータを備える情報処理装置で構成され、コンピュータにインストールした所定のプログラムを動作させることで、各部の機能が実現される。
各構成要素の動作および機能は次のようなものである。
基本モデル定義20は、監視対象装置80で発生し得るイベントと、それを引き起こす障害原因とを定義したデータである。このようなデータは予め装置開発者によって記述される。
初期モデルパーサ30は、装置開発者が記述した基本モデル定義20を読み込み、それを構文解釈して構文情報を生成し、初期モデル生成部40に受け渡す。
初期モデル生成部40は、初期モデルパーサ30が生成した構文情報に基づいて、イベントとその発生原因の対応関係、及び、発生原因間の遷移を有限オートマトンでモデル化した初期障害発生モデルを生成し、モデル格納DB120に格納する。
イベントモニタ90は、監視対象装置80の運用時に発生するイベントをモニタし、監視対象装置の運用時にモニタされたイベント列から学習用イベント列100と障害予測用イベント列110とを生成する。
なお、学習用イベント列100は、監視対象装置80を試運転した際にモニタされたイベント列としてもよいし、監視対象装置80の運用時にモニタされたイベント列であって、障害の発生原因が解析済みのイベント列であってもよい。
また、障害予測用イベント列110として、監視対象装置80の運用時にモニタされたイベント列である構成を採用することによって、運用中の監視対象装置で発生した障害を予測することができる。
さらに、学習用イベント列100及び障害予測用イベント列110のそれぞれにおいて、隣接する2つのイベントの発生時間間隔が所定の値以下とする構成をとることができる。このような構成を採用した場合、ある障害原因に対して、互いに関連性のあるイベントから学習用イベント列100および障害予測用イベント列110を構成することができる。
イベント列パーサ130は、これら学習用イベント列100及び障害予測用イベント列110を構文解釈して、イベントデータを生成し、イベント列DB140に記憶する。
なお、イベント列DB140及び障害予測結果DB150には、装置障害が起きた時刻及びその前後の時刻に障害が発生した装置の時刻との間隔が保持される。
Baum−Welch計算部50は、モデル格納DB120に格納された初期障害発生モデルとイベント列DB140に格納された学習用イベント列100に対応するイベントデータ(以下、単に「学習用イベント列」とも呼ぶ。)とに基づいて、原因に対応する有限オートマトンの状態がどの確率で推移したかを学習し、その学習結果を反映した障害発生モデルをモデル格納DB120に格納する。
Viterbi計算部60は、出力記号列から状態列を推定するViterbiアルゴリズムにより状態遷移列を求める。具体的には、モデル格納DB120に格納された障害発生モデルとイベント列DB140に格納された障害予測用イベント列110に対応するイベントデータ(以下、単に「障害発見用イベント列」とも呼ぶ。)とを用いて、最も発生確率が高い(尤もらしい)障害発生モデルの状態遷移列を求め、フィルタリングモジュール70に出力する。
その際、Viterbi計算部60は、状態遷移列を求める元となった障害予測用イベント列110を併せて出力する。したがって、学習後の障害発生モデルから状態遷移列を求めことができる。
フィルタリングモジュール70は、Viterbi計算部60が求めた最も発生したと推測される状態遷移列(障害原因の列)のうちで確率的に低い遷移を切り捨てることによって、尤もらしい状態遷移列を発見する。
フィルタリングモジュール70は、さらに、この尤もらしい遷移列の開始状態を根源的な原因と推定し、モデル格納DB120に格納されている障害発生モデルに基づいて、この推定した根源的な原因とそれに連なる派生原因とを含む原因列を特定して、障害予測結果DB150に格納する。
その際に、フィルタリングモジュール70は、障害予測用イベント列110のうちで状態遷移列に含まれる各状態を発生原因とするイベントを、各状態に対応付けて障害予測結果DB150に記憶させる。
ここで、Viterbi計算部60によって求められた尤もらしい状態遷移列に含まれる状態(障害原因)のそれぞれを発生原因とするイベント(装置障害)は、基本モデル定義20や先に学習によって得られた障害発生モデルに基づいて求めることができる。その結果、障害予測用イベント列110のうちで、Viterbi計算部60によって求められた尤もらしい状態遷移列に含まれる根源的な原因及び派生原因を発生原因とするイベントが、状態遷移列の各状態(原因)に対応付けられて障害予測結果DB150に格納される。
このようにして求められたイベント(装置障害)は、監視対象装置80で将来発生し得る装置障害である。
このとき、未来の装置障害については、現在から遠く離れるにつれてその予測精度が低くなる可能性がある。このように予測精度を考慮するならば、後述するように、障害予測用イベント列110の各要素(装置障害)について重み係数を乗算してもよい。
なお、このようにして障害予測結果DB150に記憶された状態遷移列および各状態(原因)に対応付けられたイベント(装置障害)を参照することで、管理者等は障害の根源的な原因やそれに付随して発生した原因等を解析することもできる。
表示部160は、Viterbi計算部60が求めた結果をフィルタリングモジュール70から受け取って、管理者の要求に応じて適した形式にまとめる。
次に図3を参照して、障害予測装置10の障害発生モデルを生成する際の動作手順(障害発生モデル生成フェーズの動作)を説明する。
(初期障害発生モデルの生成)
まず、初期モデルパーサ30は、装置開発者によって記述された基本モデル定義20を読み込み、読み込んだ基本モデル定義20を、初期モデル生成部40が解釈可能な構文情報に変換する(ステップA1)。
基本モデル定義20は、イベントの集合Σと、障害原因の集合Sと、関数f:Σ → Sで定義される。基本的に、関数fは全域関数であるが、部分関数であってもよい。
図4は、基本モデル定義20の記述例を示している。基本モデル定義20は、例えば同図に示すようなテキストファイルで記述される。この例では、OSにWindows(登録商標)を想定している、[states]で始まる段落は、障害原因の集合Sを定義する。同図の例では、“Print”や“Application Popup”など、9つの原因を定義している。[observations]で始まる段落は、イベントの集合Σを定義している。Windows(登録商標)のイベントモニタツール「event viewer」では、イベントの種別は“3”,“4”,“16”などの数字のIDで与えられており、イベントの集合Σの定義には、そのIDを用いる。
{observations}で、イベントの種類(ID)と“, ”(カンマ)で区切られた部分は、イベントに対して想定される原因を表す。この部分が障害から原因への関数(マッピング)f:Σ→S を定義する。例えば、イベント“3”は“Print”関係の状態を発生原因としており、f(“3”) =“Print”と定義される。初期モデルパーサ30は、このようなテキストファイルを読み込んで、記述された基本モデル定義20に相当する構文情報を初期モデル生成部40に受け渡す。
図3に戻り、初期モデル生成部40は、基本モデル定義20に相当する構文情報に基づいて、初期障害発生モデルを生成する(ステップA2)。障害発生モデルMを次式で定義する。
M = {Σ, S∪{s0}, {Pr(sj|si)}si ,sj∈S, {P0 si}si∈S, {Pr(ej|si)}si ∈S,ej∈Σ}
ここで、Pr(a|b)は、条件付確率であり、bという条件下でaが発生する確率を示す。また、P0 si は、障害発生モデルMが状態siから開始する確率を示す。s0は、監視対象装置80が正常である状態を示す。上記障害発生モデルMにおいて、「S∪{s0}, {Pr(sj|si)}si ,sj∈S, {P0 si}si∈S」は、有限状態オートマトンを表し、これは、次の状態s∈S∪{s0}は、直前の状態S'∈S∪{s0}のみで定まり、固定の確率Pr(s|s’)で遷移することを表している。
上記の障害発生モデルMの定義に沿って、初期モデル生成部40が生成する初期障害発生モデルM0について詳細に説明する。
初期障害発生モデルM0で扱うイベントの集合Σは基本モデル定義20で定義したΣと同一である。また、初期障害発生モデルM0で扱う原因の集合S∪{s0}は基本モデル定義20で定義したSに、正常状態s0を加えた集合である。{Pr(sj|si)}si ,sj∈S は原因間の遷移確率を示しており、この遷移確率は等確率とする。具体的には、|S|を原因の集合Sの個数として、{Pr(sj|si)}si ,sj∈S = 1/(|S|+1)とする。この確率を等確率にせずに、自身へ遷移する確率{Pr(sj|si)}si ,sj∈Sのみを大きくするなどして、定常状態になる確率を高く設定してもよい。{P0 si}si∈S は、P0 0=1、P0 i=0 (i≠0)とする。これは、初期障害発生モデルM0が正常状態s0から開始することを意味する。
{Pr(ej|si)}si ∈S,ej∈Σ は、イベント(装置障害)とその原因との対応関係を示しており、状態siでイベントejが発生する確率を示す。
{Pr(ej|si)}si ∈S,ej∈Σ は、
Pr(e|s) = k × p (f(e) = sのとき)
Pr(e|s) = p (f(e) ≠ sのとき)
と定義する。ただし、kは1以上の定数である。
また、全てのs∈S∪{s0}について、Σ(e|f(e) = s) k×p+Σ(e|f(e) ≠ s) p≦1である。
上述した定義は、基本モデル定義20で定義されたf(e) = s、すなわち、イベントeの発生原因sについては、sからeが発生する確率を、f(e) ≠ sの場合確率pのk倍に設定することを示している。関数fが部分関数で、f(e) が定義されていないeの場合には、上記定義に従って、f(e|s)には、確率pを与える。
(障害発生モデルの学習)
管理者は、オンライン又はオフラインで、学習用イベント列100を障害予測装置10に与える(ステップA3)。管理者は、例えば監視対象装置80を試運転した際にイベントモニタ90がモニタしたイベント列を、オフラインで、学習用イベント列100として与える。または、監視対象装置80の運用中にイベントモニタ90がモニタしたイベント列のうちで、障害原因解析が既に行われたイベント列を、オンラインで、学習用イベント列100として与える。
イベント列パーサ130は、与えられた学習用イベント列100から、他のモジュールで解釈可能なイベントデータを生成し、イベント列DB140に格納する。
イベント列パーサ130は、イベントデータを生成する際に、学習用イベント列100を、所定の条件で、複数のイベントの列に分割する。
図5は、イベント列の分割の様子を示している。イベント列パーサ130は、イベントの発生間隔が所定のしきい値Tよりも大きいと、イベント列を分割する。具体的には、例えば、イベント列[e(0), ・・・, e(n)]があるとき、イベントe(i)の発生時刻と、e(i+1)の発生時刻との間の時間がしきい値Tよりも長いと、イベント列[e(0), ・・・, e(n)]をイベントリージョンR0: (e(0), ・・・, e(i))と、イベントリージョンR1: (e(i+1), ・・・, e(n))とに分割する。このことは、イベントリージョン内では、イベント発生間隔がしきい値T以下であり、イベントリージョン間のイベント発生間隔はしきい値Tよりも大きいことを意味している。
なお、ここでのイベントe(i)は、イベントタイプ(イベントの種別)ではなくイベントそのものである。
再び図3を参照すると、Baum−Welch計算部50は、Baum−Welchアルゴリズムにより、イベント列パーサ130から入力した学習用イベント列100のイベントリージョンを用いて、初期モデル生成部40が生成した初期障害発生モデルM0の学習を行う。Baum−Welch計算部50は、与えられた学習対象のイベント列(イベントリージョン)に対して、最も確率を高くするモデルM = {Σ, S∪{s0}, {Pr(sj|si)}si ,sj∈S,{P0 si}si∈S,{Pr(ej|si)}si ∈S,ej∈Σ}の遷移確率{Pr(sj|si)}si ,sj∈S と、イベントの発生確率{Pr(ej|si)}si ∈S,ej∈Σとを求める。
ただし、最適な値を求めるのではなく、初期モデルM0に対して、そこから局所解を求める最尤法である。
なお、Baum−Welchアルゴリズムは、例えば「“Statistical Methods for Speech Recognition (Language, Speech, and Communication)” (Frederick Jelinek著) 9.3節」にも記載されるように、よく知られたアルゴリズムであるので、その詳細な説明は省略する。
Baum-Welch計算部50は、初期障害発生モデルM0の遷移確率{Pr(sj|si)}si ,sj∈S及びベントの発生確率{Pr(ej|si)}si ∈S,ej∈Σをそれぞれ学習により求めた遷移確率及びイベントの発生確率に置き換えた障害発生モデルM'を生成し、モデル格納DB120に格納する(ステップA4)。
以上が障害発生モデル生成フェーズである。
次に、このようにして得た障害発生モデルM'を使用して、障害の根源的な原因を推定する。
(障害の根源的な原因の推定)
図6に、障害原因を推定する際の障害予測装置10の動作手順を示す。
管理者は、オンラインで、イベントモニタ90が監視対象装置80で観察したイベント列を、障害予測用イベント列110として障害予測装置10に与える(ステップB1)。イベント列パーサ130は、与えられた障害予測用イベント列110を、複数のイベントリージョン(図5)に分割し、イベント列DB140を介して、Viterbi計算部60に受け渡す。
Viterbi計算部60は、図3に示す手順で学習され、モデル格納DB120に格納された障害発生モデルM'に対して、Viterbiアルゴリズムにより、入力された障害予測用イベント110(イベントリージョン)を実現する可能性(尤度)が最も高い原因の順序列[s(0), s(1), ・・・, s(n)]を求める(ステップB2)。
ここで、原因順序列中のs(i)は、原因の種類を示すのではなく、原因の状態遷移列を時間順に示したものであり、括弧内の数字は時間順に割り当てたものである。
なお、Viterbiアルゴリズムは、例えば、「“Statistical Methods for Speech Recognition (Language, Speech, and Communication)” (Frederick Jelinek著) 5章」などにも記述されているように、一般によく知られたアルゴリズムであるので、ここではその詳細な説明は省略する。
Viterbi計算部60が求めた障害予測の障害発生モデルM’に含まれる原因間の遷移確率
{Pr(sj|si)}si ,sj∈S
は、iがnに近づくにつれて未来の装置障害を予測するため、予測精度が低くなる可能性が高い。このため、Viterbi計算部60においては、入力された障害予測用イベント110の各要素について重み係数を乗算する(ステップB3)。
これにより、直近の確率を重視し、未来である要素nに近づくにつれてイベント発生確率の影響を軽減することができる。
フィルタリングモジュール70は、Viterbi計算部60が求めた原因の順序列[s(0), s(1), ・・・, s(n)]を、この順序列の隣接する2つの状態間の状態遷移確率{Pr(si+1|si)}si∈Sに基づいて、複数のグループに分割する(ステップB4)。
例えば、Pr(s(q+1)|s(q)) < Lであれば、[s(0), s(1), ・・・, s(q)]と[s(q+1), ・・・, s(n)]とに分割する。分割の判断となる確率Lは、0〜1までの間のしきい値であり、比較的小さい確率値である。このように分割するのは、異なる根源原因による2つのシーケンスがある場合に、たまたま確率的に最大値であるために1つのシーケンスとしてみなされている可能性があるからである。そこで、フィルタリングモジュール70により、遷移確率がしきい値Lよりも低いシーケンスは、確率的にシーケンスではなく、たまたま時系列的に重なっているものとみなして分割する。
フィルタリングモジュール70は、分割されたシーケンス(原因の順序列)を、障害予測結果DB150に格納する。また、分割されたシーケンスのうちの先頭を根源的な原因として推定する。
障害予測結果DB150に原因の順序列を格納する際に、フィルタリングモジュール70は、各原因に対応するイベントを各原因に対応付けて障害予測結果DB150に格納する。
例えば、根源的な原因がSiであった場合には、障害予測用イベント列110[e(0), e(1), ・・・, e(n)]のうちで、基本モデル定義20で障害原因Siに対応付けられているイベント e(j) (0≦j≦n)を障害原因Siに対応付けて障害予測結果DB150に格納する。
また、フィルタリングモジュール70は、同一装置、同一イベントの障害は連続して発生しないと定義しておけば、Viterbi計算部60は、最も尤もらしい状態遷移列を求める際に、同一障害が連続して発生する場合に関する状態遷移については除外することができる(すなわち、状態間の遷移を表すトレリス線図におけるパスの数を減らすことができる)。したがって、この条件の下では、一部の状態遷移列については、Viterbi計算、すなわち障害予測用イベント列が観察される確率の計算をする必要がなくなるので、Viterbi計算部60における計算量を削減することができる。
表示部160は、フィルタリングモジュールが求めた障害予測から障害する可能性がある順序列について、木構造やトレリス線図等により図示する(ステップB5)。そして、値が更新される度にリアルタイムで表示する。この木構造やトレリス線図は図示される矢印において、ある障害から次の障害までの矢印が発生した時間の差分により、矢印の長さが変わり、矢印あるいはその周りに時間を数字でも表示できる。また、リアルタイムにおける描画速度の向上等も考慮して、フィルタリングモジュール70が求めた障害予測から障害する可能性が高い順序列について、ソートや表示する数を制限して表示することができる。
更に、表示部160はイベント列DB140に保持する装置障害が起きた時間の間隔を表示することができる。ここで、イベント列DB140に同一の装置故障が複数保持している場合、これらの時間の平均や分散または分布図などを表示することができる。また、これら時間に関する値から、障害予測の順序列[s(0), s(1), ・・・、s(n)]の各値に関わらず優先的に表示することもできる。
以下に、具体例を用いて障害予測の原理について説明する。
基本モデル定義20としては、図4に示したものを考える。初期モデル生成部40が生成する初期障害発生モデルM0で扱うイベント(装置障害)の集合Σは
Σ = {3, 4, 16, 17, 18, 19, 20}
であり、各要素を下記のように置く。
Σ = {e0, e1, e2, e3, e4, e5, e6}
一方、状態、すなわち障害原因の集合は
S∪{s0} = {s0, “Print”, “Windows Update Agent”, “W32Time”, “Application Popup”, “i8042prt”, “Windows Installer”, “DHCP”, “Browser”, “Tcpip”}
であり、各要素を下記のように置く。
S∪{s0} ={s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10
原因間の遷移確率{Pr(sj|si)}si ,sj∈Sは状態数が計10個であるため、
{Pr(sj|si)}si ,sj∈S = 1/10
である。初期確率はP0 0 = 1、P0 si = 0 (i ≠ 0)である。
図4では、イベントの種類が7種類あるとする。この場合、イベント発生確率は下記のとおりである。
Pr(e|s) = 2/8 (f(e) = sのとき)
Pr(e|s) = 1/8 (f(e) ≠ sのとき)
学習用イベント列100を、[e(0), e(1), ・・・, e(n)]とする。このe(i)はイベントタイプではなく、イベントそのものであり、発生時刻が記録されている。このイベント列では、e(i)とe(i+1)の発生時刻の差が2秒であり、他のイベントの発生時刻の差は全て1秒以下とする。イベント列パーサ130がイベント列を複数のリージョンに分割する際のしきい値Tを1秒とすると、学習用イベント列100は、R1 = [e(o), e(1), ・・・, e(i)]と、R2 = [e(i+1), e(i+2), ・・・, e(n)]とに分割される。
Baum−Welch計算部50は、R1、R2を含む多くのイベントリージョンを与えられることで、初期障害発生モデルM0から、遷移確率Pr(sj|si)とイベント発生確率Pr(e|s)とに関して、与えられたイベントリージョンを最も発生する確率を学習し、障害発生モデルM’を得る。
Viterbi計算部60は、学習された障害発生モデルM’に対して、障害予測用イベント列110のイベントリージョンを実現する可能性が最も高い原因の順序列(シーケンス)を求める。フィルタリングモジュール70は、Viterbi計算部60が求めた原因の順序列を、障害発生モデルM’の原因間の状態遷移確率に基づいて分割し、分割された各順序列を、障害予測結果DB150に格納する。その際、障害予測用イベント列110のうちで、各原因に対応するイベントを、障害原因に対応付けて、障害予測結果DB150に格納する。管理者は、障害予測結果DB150に格納された情報を参照することで、障害予測を行う。
また、Viterbi計算部60は、現在の時刻iに対して直近の確率を重視するため、学習された障害発生モデルM’に含まれる原因間の遷移確率{Pr(sj|si)}si ,sj∈Sに、iがnに近づくにつれて小さくなる重み係数を乗算する。この重み係数は、例えば、1未満の定数をi乗した値
i(ただし、0<m<1, 0≦i<n)
とすることができる。
図7は、障害予測結果DB150に格納された情報の具体例を示す。同図では、stateで示される部分が原因に対応している。また、stateの{ }内がその原因に対応するイベントを示している。この例では、原因の順序列は、下から上へと遷移しており、Tcpipが根源的な原因であると推定される。管理者は、障害予測結果DB150に格納された情報を参照することで、TCP/IPプロトコルスタックエラーが “Browser”、“Dhcp”、“Windows Installer 3.1”などの障害原因を引き起こしていることを知ることができる。
本実施形態では、イベントとその原因との対応関係を与えて障害発生モデルを生成し、その障害発生モデルに、監視対象装置80で観察されたイベント列を与えて、イベント列の遷移から、原因の順序列を求める。このようにして求めた原因の順序列を、原因間の遷移確率に基づいて分割することで、原因の遷移の元となる、障害の根源的な原因を推定することができる。また、本実施形態では、障害原因間の関係は、学習用イベント列100を初期障害発生モデルに与えることで得られ、人手で、原因間の依存関係を定義する必要がない。本実施形態では、初期障害発生モデルの生成に際して、イベントとその発生原因とを定義すればよく、イベントとその発生原因との関係は、比較的記述が容易であるため、簡易に、障害の根源的な原因を推定することができる。
以上、本発明の実施の形態について説明したが、本発明に係るイベント予測システム、方法及びプログラムは上記の実施の形態に限定されるものではなく、上記実施形態の構成から種々の修正及び変更を施したものも、本発明の範囲に含まれる。
また、上記の実施の形態の全部または一部は、以下の付記のようにも表現し得るが、これらの付記に限られるものでもない。
[付記1]
監視対象装置で発生し得るイベントと、当該イベントを引き起こす障害原因を定義した基本モデル定義を読み出した基本モデル定義に基づいて、イベントとその障害原因との対応関係及び障害原因間の遷移を有限オートマトンでモデル化した初期障害発生モデルを生成し、モデル格納DBに記憶する初期モデル生成手段と、前記初期障害発生モデルと、イベント列DBに記憶された学習用イベント列とに基づいて、原因に対応する有限オートマトンの状態がどの確率で推移したかを学習し、この学習結果を反映させた障害発生モデルをモデル格納DBに記憶する障害発生モデル学習手段と、イベント列DBから障害予測用イベント列を読み出し、前記学習後の障害発生モデルで、前記読み出した障害予測用イベント列が観察される確率が最も高いと考えられる状態遷移列を求め、障害予測結果DBに記憶する状態遷移列計算手段と、前記状態遷移列計算手段が求めた状態遷移列と、前記学習後の障害発生モデルとに基づいて、監視対象装置で発生した障害の原因を予測するフィルタリングモジュールにより、将来発生する障害予測を備えることを特徴とする障害予測システム。
[付記2]
前記障害発生モデル学習手段がBaum-Welchアルゴリズムにより、前記原因間の状態遷移確率と、各原因でのイベント発生確率とを学習する、付記1に記載の障害予測システム。
[付記3]
前記状態遷移列計算手段が、Viterbiアルゴリズムにより前記状態遷移列を求めるViterbi計算手段を備える、付記1に記載の障害予測システム。
[付記4]
前記初期障害発生モデルが前記発生し得るイベントの集合Σと、前記障害原因の集合Sに正常状態S0を加えた状態の集合と、各状態について、当該状態から各状態に遷移する確率を示す条件付確率{Pr(sj|si )}si ,sj∈Sと、各状態について、開始時に当該状態にいる初期確率{P0 si}si∈Sと、各状態について当該状態で前記イベントが発生する確率を示す{Pr(ej|si)}si ∈S,ej∈Σとを含む付記1に記載の障害予測システム。
[付記5]
前記フィルタリングモジュールは、前記状態遷移列計算手段が求めた状態遷移列を[s(0), s(1), ・・・、s(n)]とするとき、状態s(i) (ただし、0≦i<n)から次状態s(i+1)への前記条件付確率Pr(s(i+1)|s(i))が、所定の確率よりも低いと、前期状態遷移列を[s(0), s(1), ・・・, s(i)]と[s(i+1),・・・, s(n)]とに分割する付記4に記載の障害原因推定システム。
[付記6]
前記フィルタリングモジュールは、前記分割された状態遷移列s(i+1)以降の障害を予測する付記5に記載の障害原因推定システム。
[付記7]
前記学習用イベント列が前記監視対象装置を運用前に試運転した際にモニタされたイベントのイベント列である付記1に記載の障害予測システム。
[付記8]
前記学習用イベント列が前記監視対象装置の運用時にモニタされたイベント列であって、障害の発生原因や障害発生パターンが解析済みのイベント列である付記1に記載の障害予測システム。
[付記9]
前記障害予測用イベント列が前記監視対象装置の運用時にモニタされたイベント列である付記1に記載の障害予測システム。
[付記10]
前記学習用イベント列及び前記障害予測用イベント列のそれぞれにおいて、隣接するイベント発生の時間間隔が所定の値以下である付記1に記載の障害予測システム。
[付記11]
前記フィルタリングモジュールは、前記状態遷移列計算手段が求めた状態遷移列を障害予測結果DBに記憶させると共に、前記障害予測用イベント列の内、前記状態遷移列に含まれる各状態を発生原因とするイベントを各状態に対応付けて記憶する付記1に記載の障害予測システム。
[付記12]
前記Viterbi計算手段は、障害予測の障害発生モデルM’に含まれるイベント発生確率{Pr(ej|si)}si ∈S,ej∈Σに重み係数を乗算することができる付記3に記載の障害予測システム。
[付記13]
前記フィルタリングモジュールは、Viterbi計算手段が求めた障害予測の順序列[s(0), s(1), ・・・、s(n)]の値に適用する重み係数を乗算値について、要素nの場合に重み係数をn乗することで、要素nに近づくにつれて要素の信頼度を下げることができる付記12に記載の障害予測システム。
[付記14]
同一装置、同一イベントの障害は連続して発生しないと定義し、この条件においては前記Viterbi計算手段は、前記状態遷移列の計算において、同一イベントの障害が連続して発生する場合に関する障害予測用イベント列が観察される確率を計算しないことにより、計算量削減を行うことができる付記13に記載の障害予測システム。
[付記15]
同一装置、同一イベントの障害は連続して発生しないと定義していても、データベースに蓄積されたデータに連続して発生している事例がある場合には、上記の定義を無効とすることができる付記14に記載の障害予測システム。
[付記17]
イベント列DB及び障害予測結果DBには、装置障害が起きた時刻及びその前後の時刻に障害が発生した装置の時刻との間隔を保持することができる付記1に記載の障害予測システム。
[付記18]
さらに予測結果を表示する表示部を備え、
前記表示部は、イベント列DBに保存した複数の装置障害が起きた時刻の差分を算出することで、装置障害が起きる予測時刻を表示することができる付記17に記載の障害予測システム。
[付記19]
前記表示部は、イベント列DBに同一の装置故障の状況を複数保持している場合、装置障害が起きる予測時刻に関する時間の平均や分散または分布図などを表示することができる付記18に記載の障害予測システム。
[付記20]
前記表示部は、フィルタリングモジュールが求めた障害予測から障害する可能性がある順序列について、表示部により表示することができる付記18または19に記載の障害予測システム。
[付記21]
前記表示部は、フィルタリングモジュールが求めた障害予測から障害する可能性が高い順序列について、ソートや表示する数を制限してGUI等により表示することができる付記18−20のいずれか1つに記載の障害予測システム。
[付記22]
前記表示部は、木構造やトレリス線図等により図示することができ、値が更新される度にリアルタイムで表示できる付記18−21のいずれか1つに記載の障害予測システム。
[付記23]
前記表示部は、木構造やトレリス線図等により図示される矢印において、ある障害から次の障害までの矢印が発生した時間の差分により、矢印の長さが変わることができるし、矢印あるいはその周りに時間の差分を表示することもできる付記18−22のいずれか1つに記載の障害予測システム。
[付記24]
付記18または19に表示される値を基にソートすることができ、
前記表示部は、Viterbi計算手段が求めた障害予測の順序列[s(0), s(1), ・・・、s(n)]の各値に関わらず優先的に表示することもできる付記18または19に記載の障害予測システム。
[付記25]
コンピュータに、監視対象装置で発生し得るイベントとそのイベントを引き起こすイベント発生原因を定義した基本モデル定義に基づいて、イベントとそのイベント発生原因との対応関係およびイベント発生原因間の遷移を、イベント発生原因を状態とする有限オートマトンでモデル化した初期イベント発生モデルを生成させ、モデル格納データベースに記憶させる初期モデル生成ステップと、
コンピュータに、前記監視対象装置で発生し得る複数のイベントからなるイベント列を記憶したイベント列データベースから読みだされた第1のイベント列と前記初期イベント発生モデルとに基づいて、イベント発生原因ごとに各イベントが発生する確率およびイベント発生原因間の遷移の確率を算出させ、その算出結果を前記初期イベント発生モデルに反映させたイベント発生モデルを前記モデル格納データベースに記憶させるイベント発生モデル学習ステップと、
コンピュータに、前記イベント発生モデルに基づいて、前記イベント列データベースから読みだされた第2のイベント列が観察される確率が最も高いと考えられる状態遷移列を求めさせ、その状態遷移列を原因推定結果データベースに記憶させる状態遷移列計算ステップと、
コンピュータに、前記イベント発生モデルと前記状態遷移列計算手段によって求められた状態遷移列とに基づいて、前記監視対象装置で将来発生し得るイベントを予測させるフィルタリングステップと
を備えることを特徴とするイベント予測方法。
[付記26]
前記イベント発生モデルを学習するステップは、前記コンピュータは、Baum-Welchアルゴリズムにより、前記原因間の状態遷移確率と各原因でのイベント発生確率とを学習する付記25に記載の方法。
[付記27]
前記状態遷移列を計算するステップでは、前記コンピュータは、Viterbiアルゴリズムにより、前記状態遷移列を求める付記25または26に記載の方法。
[付記28]
前記初期障害発生モデルが、前記発生し得るイベントの集合Σと前記障害原因の集合Sに正常状態s0を加えた状態の集合と、各状態について当該状態から各状態に遷移する確率を示す条件付確率{Pr(sj|si)}si ,sj∈S
と、各状態について開始時に当該状態にいる初期確率{P0 si}si∈Sと、各状態について当該状態で前記イベントが発生する確率を示す{Pr(ej|si)}si ∈S,ej∈Σとを含む付記25−27のいずれか1つに記載の方法。
[付記29]
前記フィルタリングステップは、前記コンピュータが、前記状態遷移列を計算するステップで求めた状態遷移列を[s(0), s(1), ・・・, s(n)]とするとき、状態s(i) (ただし、0≦i<n)から次状態s(i+1)への前記条件付確率Pr(s(i+1)|s(i))が、所定の確率よりも低いと、前期状態遷移列を、[s(0), s(1), ・・・, s(i)]と[s(i+1), s(i+2), ・・・, s(n)]とに分割するステップと、前記コンピュータが前記分割された各状態遷移列の先頭の状態を障害の根源的原因と推定するステップとを含む付記25−28のいずれか1つに記載の方法。
[付記30]
前記コンピュータが前記状態遷移列を計算するステップで求めた状態遷移列を障害予測データベースに記憶すると共に、前記障害予測用イベント列のうちで、前記状態遷移列に含まれる各状態を発生原因とするイベントを各状態に対応付けて記憶するステップを更に有する付記25−29のいずれか1つに記載の方法。
[付記31]
コンピュータに、監視対象装置で発生し得るイベントと、当該イベントを引き起こす障害原因を定義した基本モデル定義を読み出した基本モデル定義に基づいて、イベントとその発生原因との対応関係及び発生原因間の遷移を有限オートマトンでモデル化した初期障害発生モデルを生成し、モデル格納DBに記憶する初期モデル生成手段と、前記初期障害発生モデルと、イベント列DBに記憶された学習用イベント列とに基づいて、原因に対応する有限オートマトンの状態がどの確率で推移したかを学習し、該学習の結果を反映させた障害発生モデルをモデル格納DBに記憶する障害発生モデル学習手段と、イベント列DBから障害予測用イベント列を読み出し、前記学習後の障害発生モデルで、前記読み出した障害予測用イベント列が観察される確率が最も高いと考えられる状態遷移列を求め、障害予測結果DBに記憶する状態遷移列計算手段と、前記状態遷移列計算手段が求めた状態遷移列と、前記学習後の障害発生モデルとに基づいて、監視対象装置で発生した障害の原因を予測するフィルタリングモジュールにより、将来発生する障害予測を実行させる方法及びプログラム。
本発明は、ネットワークやコンピュータシステムの障害監視システムの用途に適用できる。また、組み込みシステムの障害発見系の用途にも適用できる。
1…イベント予測システム、10…障害予測装置、11…初期モデル生成部、12…イベント発生モデル学習部、13…状態遷移列計算部、14…フィルタリングモジュール、17…イベント予測結果データベース、20…基本モデル定義、30…初期モデルパーザ、40…初期モデル生成部、50…Baum−Welch計算部、60…Viterbi計算部、70…フィルタリングモジュール、80…監視対象装置、90…イベントモニタ、100…学習用イベント列、110…障害予測用イベント列、15,120…モデル格納データベース、130…イベント列パーザ、16,140…イベント列データベース、150…障害予測結果データベース、160…表示部、200…イベント発生確率&障害推移確率学習部、210…障害予測部、220…監視部。

Claims (10)

  1. 監視対象装置で発生し得るイベントとそのイベントを引き起こすイベント発生原因を定義した基本モデル定義に基づいて、イベントとそのイベント発生原因との対応関係およびイベント発生原因間の遷移を、イベント発生原因を状態とする有限オートマトンでモデル化した初期イベント発生モデルを生成してモデル格納データベースに記憶させる初期モデル生成手段と、
    前記監視対象装置で発生し得る複数のイベントからなるイベント列を記憶したイベント列データベースから読みだされた第1のイベント列と前記初期イベント発生モデルとに基づいて、イベント発生原因ごとに各イベントが発生する確率およびイベント発生原因間の遷移の確率を算出し、その算出結果を前記初期イベント発生モデルに反映させたイベント発生モデルを前記モデル格納データベースに記憶させるイベント発生モデル学習手段と、 前記イベント発生モデルに基づいて、前記イベント列データベースから読みだされた第2のイベント列が観察される確率が最も高いと考えられる状態遷移列を求め、その状態遷移列を原因推定結果データベースに記憶させる状態遷移列計算手段と、
    前記イベント発生モデルと前記状態遷移列計算手段によって求められた状態遷移列とに基づいて、前記監視対象装置で将来発生し得るイベントを予測するフィルタリングモジュールと
    を備えることを特徴とするイベント予測システム。
  2. 請求項1に記載のイベント予測システムにおいて、
    前記フィルタリングモジュールは、
    前記イベント発生モデルと前記状態遷移列計算手段によって求められた状態遷移列に、その状態遷移列に含まれる各イベント発生原因を発生原因とするイベントを対応付けることによって将来発生し得るイベントを予測することを特徴とするイベント予測システム。
  3. 請求項1または2に記載のイベント予測システムにおいて、
    前記初期イベント発生モデルが前記発生し得るイベントの集合をΣ、前記イベント原因の集合をS、各イベント要因si∈S (ただし、0≦i<n; nは自然数) についてそのイベント原因Siによってイベントej ∈Σ(ただし、0≦j<m; mは自然数) が発生する確率を{Pr(ej|si)}si ∈S,ej∈Σと表したとき、前記フィルタリングモジュールは、イベント予測のイベント発生モデルに含まれるイベント発生確率{Pr(ej|si)}si ∈S,ej∈Σに重み係数を乗算することを特徴とするイベント予測システム。
  4. 請求項3に記載のイベント予測システムにおいて、
    前記状態遷移列計算手段によって求められた状態遷移列を[s(0),s(1),・・・,s(n)](ただし、 nは自然数) とするとき、前記フィルタリングモジュールは、前記イベント発生確率{Pr(ej|si)}si ∈S,ej∈Σに乗算する重み係数を、1未満の定数をi乗した値とすることを特徴とするイベント予測システム。
  5. 請求項3または4に記載のイベント予測システムにおいて、
    前記状態遷移列計算手段は、同一装置において同一のイベントは連続して発生しないとして前記状態遷移列を定義することを特徴とするイベント予測システム。
  6. 請求項5に記載のイベント予測システムにおいて、
    前記状態遷移列計算手段は、前記イベント列データベースに蓄積されたデータの中に同一のイベントが連続して発生している事例がある場合には、同一装置において同一のイベントは連続して発生しないとする定義を無効とすることを特徴とするイベント予測システム。
  7. コンピュータに、監視対象装置で発生し得るイベントとそのイベントを引き起こすイベント発生原因を定義した基本モデル定義に基づいて、イベントとそのイベント発生原因との対応関係およびイベント発生原因間の遷移を、イベント発生原因を状態とする有限オートマトンでモデル化した初期イベント発生モデルを生成させ、モデル格納データベースに記憶させる初期モデル生成ステップと、
    コンピュータに、前記監視対象装置で発生し得る複数のイベントからなるイベント列を記憶したイベント列データベースから読みだされた第1のイベント列と前記初期イベント発生モデルとに基づいて、イベント発生原因ごとに各イベントが発生する確率およびイベント発生原因間の遷移の確率を算出させ、その算出結果を前記初期イベント発生モデルに反映させたイベント発生モデルを前記モデル格納データベースに記憶させるイベント発生モデル学習ステップと、
    コンピュータに、前記イベント発生モデルに基づいて、前記イベント列データベースから読みだされた第2のイベント列が観察される確率が最も高いと考えられる状態遷移列を求めさせ、その状態遷移列を原因推定結果データベースに記憶させる状態遷移列計算ステップと、
    コンピュータに、前記イベント発生モデルと前記状態遷移列計算手段によって求められた状態遷移列とに基づいて、前記監視対象装置で将来発生し得るイベントを予測させるフィルタリングステップと
    を備えることを特徴とするイベント予測方法。
  8. 請求項7に記載のイベント予測方法において、
    前記初期イベント発生モデルが前記発生し得るイベントの集合をΣ、前記イベント原因の集合をS、各イベント要因si∈S (ただし、0≦i<n; nは自然数) についてそのイベント原因Siによってイベントej ∈Σ(ただし、0≦j<m; mは自然数) が発生する確率を{Pr(ej|si)}si ∈S,ej∈Σと表したとき、前記フィルタリングステップは、コンピュータに、イベント予測のイベント発生モデルに含まれるイベント発生確率{Pr(ej|si)}si ∈S,ej∈Σに重み係数を乗算させることを特徴とするイベント予測システム。
  9. 請求項8に記載のイベント予測方法において、
    前記状態遷移列計算ステップにおいて求められた状態遷移列を[s(0),s(1),・・・,s(n)] (ただし、 nは自然数) とするとき、前記フィルタリングステップは、前記イベント発生確率{Pr(ej|si)}si ∈S,ej∈Σに乗算する重み係数を、1未満の定数をi乗した値とすることを特徴とするイベント予測方法。
  10. 請求項7乃至9のいずれか1項に記載のイベント予測方法をコンピュータに実行させることを特徴とするコンピュータ・プログラム。
JP2010039746A 2010-02-25 2010-02-25 イベント予測システムおよびイベント予測方法、ならびにコンピュータ・プログラム Expired - Fee Related JP5413240B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010039746A JP5413240B2 (ja) 2010-02-25 2010-02-25 イベント予測システムおよびイベント予測方法、ならびにコンピュータ・プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010039746A JP5413240B2 (ja) 2010-02-25 2010-02-25 イベント予測システムおよびイベント予測方法、ならびにコンピュータ・プログラム

Publications (2)

Publication Number Publication Date
JP2011175504A true JP2011175504A (ja) 2011-09-08
JP5413240B2 JP5413240B2 (ja) 2014-02-12

Family

ID=44688295

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010039746A Expired - Fee Related JP5413240B2 (ja) 2010-02-25 2010-02-25 イベント予測システムおよびイベント予測方法、ならびにコンピュータ・プログラム

Country Status (1)

Country Link
JP (1) JP5413240B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013168495A1 (ja) * 2012-05-10 2013-11-14 日本電気株式会社 階層型確率モデル生成システム、階層型確率モデル生成方法、およびプログラム
JP2016173782A (ja) * 2015-03-18 2016-09-29 エヌ・ティ・ティ・コミュニケーションズ株式会社 故障予測システム、故障予測方法、故障予測装置、学習装置、故障予測プログラム及び学習プログラム
CN108470222A (zh) * 2018-02-08 2018-08-31 卢新明 一种用于典型事件预测预报的多征兆增信方法
WO2018163890A1 (ja) * 2017-03-08 2018-09-13 オムロン株式会社 要因推定装置、要因推定システム、および要因推定方法
WO2019221461A1 (ko) * 2018-05-18 2019-11-21 주식회사 케이티 네트워크 장애 원인 분석 장치 및 방법
JP2020057193A (ja) * 2018-10-02 2020-04-09 ソフトバンク株式会社 デバイス診断サーバ及びプログラム
CN111797289A (zh) * 2019-04-09 2020-10-20 Oppo广东移动通信有限公司 模型处理方法、装置、存储介质和电子设备

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102511522B1 (ko) * 2017-10-18 2023-03-17 삼성전자주식회사 데이터 학습 서버, 이의 학습 모델 생성 및 이용 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07261825A (ja) * 1994-03-25 1995-10-13 Mitsubishi Heavy Ind Ltd プラント運転支援装置
JP2008015596A (ja) * 2006-07-03 2008-01-24 Nec Fielding Ltd 管理サーバ及び修復プログラム送信方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07261825A (ja) * 1994-03-25 1995-10-13 Mitsubishi Heavy Ind Ltd プラント運転支援装置
JP2008015596A (ja) * 2006-07-03 2008-01-24 Nec Fielding Ltd 管理サーバ及び修復プログラム送信方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
登内敏夫 外1名: "潜在的な派生関係を有する障害に対する故障分析手法", 電子情報通信学会論文誌, vol. 第J92-B巻,第8号, JPN6013038834, 1 August 2009 (2009-08-01), JP, pages 1236 - 1244, ISSN: 0002646679 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013168495A1 (ja) * 2012-05-10 2013-11-14 日本電気株式会社 階層型確率モデル生成システム、階層型確率モデル生成方法、およびプログラム
JPWO2013168495A1 (ja) * 2012-05-10 2016-01-07 日本電気株式会社 階層型確率モデル生成システム、階層型確率モデル生成方法、およびプログラム
US10163060B2 (en) 2012-05-10 2018-12-25 Nec Corporation Hierarchical probability model generation system, hierarchical probability model generation method, and program
JP2016173782A (ja) * 2015-03-18 2016-09-29 エヌ・ティ・ティ・コミュニケーションズ株式会社 故障予測システム、故障予測方法、故障予測装置、学習装置、故障予測プログラム及び学習プログラム
WO2018163890A1 (ja) * 2017-03-08 2018-09-13 オムロン株式会社 要因推定装置、要因推定システム、および要因推定方法
JP2018147407A (ja) * 2017-03-08 2018-09-20 オムロン株式会社 要因推定装置、要因推定システム、および要因推定方法
CN108470222A (zh) * 2018-02-08 2018-08-31 卢新明 一种用于典型事件预测预报的多征兆增信方法
CN108470222B (zh) * 2018-02-08 2022-11-11 山东蓝光软件有限公司 一种用于典型事件预测预报的多征兆增信方法
WO2019221461A1 (ko) * 2018-05-18 2019-11-21 주식회사 케이티 네트워크 장애 원인 분석 장치 및 방법
JP2020057193A (ja) * 2018-10-02 2020-04-09 ソフトバンク株式会社 デバイス診断サーバ及びプログラム
CN111797289A (zh) * 2019-04-09 2020-10-20 Oppo广东移动通信有限公司 模型处理方法、装置、存储介质和电子设备

Also Published As

Publication number Publication date
JP5413240B2 (ja) 2014-02-12

Similar Documents

Publication Publication Date Title
JP5413240B2 (ja) イベント予測システムおよびイベント予測方法、ならびにコンピュータ・プログラム
US20190392098A1 (en) Learning Expected Operational Behavior Of Machines From Generic Definitions And Past Behavior
JP6313730B2 (ja) 異常検出システムおよび方法
JP6609050B2 (ja) 時間的因果グラフにおける異常フュージョン
US11796992B2 (en) Condition-based method for malfunction prediction
JP4862446B2 (ja) 障害原因推定システム、方法、及び、プログラム
JP5214656B2 (ja) 評価装置および評価プログラム
JP7036697B2 (ja) 監視システム及び監視方法
JP2009098147A (ja) Dcモータシステムの信頼性を判定する方法及びシステム
JP2018180759A (ja) システム分析装置、及びシステム分析方法
JP2020052714A5 (ja)
JP6280862B2 (ja) イベント分析システムおよび方法
CN113837427B (zh) 用于对资产执行预测性健康分析的方法和计算系统
CN117114454B (zh) 一种基于Apriori算法的直流套管状态评估方法及系统
US11334057B2 (en) Anomaly detection for predictive maintenance and deriving outcomes and workflows based on data quality
US20230133541A1 (en) Alert correlating using sequence model with topology reinforcement systems and methods
Ahmadi A new approach to maintenance optimisation of repairable parallel systems subject to hidden failures
Ding et al. Online prediction and improvement of reliability for service oriented systems
US20180121794A1 (en) Method and system for machine failure prediction
EP4134872A1 (en) Method for automatically detecting anomalies in log files
JP7505206B2 (ja) 障害発生予測装置及び学習装置
US11782812B2 (en) Causal attention-based multi-stream RNN for computer system metric prediction and influential events identification based on metric and event logs
US20230152759A1 (en) Information processing apparatus, information processing method, and computer program product
WO2024132540A1 (en) Medical device fault prediction
JP2022551687A (ja) 非定常システムのモデル管理

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130108

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130813

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130917

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131015

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131028

LAPS Cancellation because of no payment of annual fees