(57)【要約】  監視システムは、複数の監視対象オブジェクトのいずれかで発生したイベントの原因解析をルールに基づいて行う。この際、監視システムは、解析時間幅の間に検知し、結論を決定するための条件に合致するイベントに基づいて複数の結論を決定する。そして、監視システムは、（Ａ）解析時間幅を変化させたと仮定した場合の結論の決定に用いる確信度の変化を表示する、（Ｂ）決定した結論を影響範囲を示す指標値に基づいてソート表示する、（Ｃ）解析時間幅を前記指標値に基づいて計算する、の何れか１つ以上を行う。
2013128550.tif 000002
【特許請求の範囲】
【請求項１】
複数の監視対象オブジェクトのいずれかで発生したイベントをルールを用いて原因解析を行い、記憶デバイスを有する監視システムを構成するコンピュータに実行させる監視プログラムであって、
前記ルールは、所定の結論を原因と決定するために必要な条件を含み、
前記監視プログラムは、
前記ルールに基づいて、前記監視対象オブジェクトで発生したイベントの原因解析を行い、原因となる可能性のある複数の結論を決定し、
前記決定した複数の結論を、当該結論が原因となる場合の影響範囲を示す指標値、に従ってソートして表示する、
ことを前記コンピュータに実行させる監視プログラム。
【請求項２】
前記ルールは、イベントの種別と当該イベントの発生元となる監視対象オブジェクトの種別との組み合わせによりイベントを示した１以上の第１の条件と、前記１以上の第１の条件を満たす場合に原因となる第１の結論との関連付けを示す汎用ルールを含み、
前記記憶デバイスは、前記複数の監視対象オブジェクト間におけるデータ通信の有無を示す関係情報をさらに記憶しており、
前記汎用ルール及び前記関係情報に基づいて、イベントの種別と当該イベントの発生元となる監視対象オブジェクトを特定する情報との組み合わせによりイベントを示した１以上の第２の条件と、前記１以上の第２の条件を満たす場合に原因となる第２の結論との関連付けを複数含む展開情報を生成し、
前記展開情報の各第２の結論について、関連付けられている１以上の第２の条件に基づいて当該各第２の結論の前記指標値を決定し、
前記原因解析において、原因となる可能性のある複数の第２の結論を決定し、
前記決定した複数の第２の結論を、各第２の結論それぞれの前記指標値に従ってソートして表示する、
ことを前記コンピュータに実行させる請求項１に記載の監視プログラム。
【請求項３】
前記記憶デバイスは、前記展開情報の各第２の条件ごとに、当該第２の条件が示すイベントの検知の有効又は無効を示す検知データをさらに記憶しており、
イベントを検知した場合、当該検知したイベントである検知イベントの前記検知データを有効に設定し、
前記検知イベントを示す前記展開情報の第２の条件に関連付けられている第２の結論の前記指標値に基づいて前記検知イベントの解析時間幅を決定し、
前記検知イベントを検知してから前記決定した解析時間幅が経過した場合、前記検知イベントの前記検知データを無効に設定し、
前記原因解析において、前記展開情報の各第２の結論について、関連付けられている１以上の第２の条件が示す各イベントの前記検知データに基づいて、当該各第２の結論が原因であることの確からしさを示す確信度を決定し、前記決定した確信度に基づいて、原因となる可能性のある複数の第２の結論を決定する、
ことを前記コンピュータに実行させる請求項２に記載の監視プログラム。
【請求項４】
前記原因解析において決定した第２の結論ごとに、当該第２の結論の確信度と解析時間幅との対応関係を表す情報を表示する、
ことを前記コンピュータに実行させる請求項３に記載の監視プログラム。
【請求項５】
前記解析時間幅を変化させたと仮定した場合の変化後の確信度を特定し、その変化後の確信度を表示する、
ことを前記コンピュータに実行させる請求項４に記載の監視プログラム。
【請求項６】
或るイベントの有効期限は指標値ごとにある、
請求項５に記載の監視プログラム。
【請求項７】
前記記憶デバイスは、前記展開情報の各第２の条件について、関連付けられている１以上の第２の結論の前記指標値ごとに、前記検知データを記憶しており、
前記検知イベントを示す前記展開情報の第２の条件に関連付けられている第２の結論の中に前記指標値がそれぞれ異なる複数の第２の結論が存在する場合、前記異なる指標値ごとに前記検知イベントの解析時間幅を決定し、前記検知イベントを検知してから前記決定した複数の解析時間幅のうちのいずれかが経過した場合、前記経過した解析時間幅に対応する前記指標値に関する前記検知イベントの前記検知データを無効に設定し、
前記原因解析において、前記展開情報の各第２の結論について、関連付けられている１以上の第２の条件が示す各イベントの、当該第２の結論の前記指標値に関する前記検知データに基づいて、当該第２の結論の確信度を計算する
ことを前記コンピュータに実行させる請求項６に記載の監視プログラム。
【請求項８】
前記第２の条件が示すイベントを管理する複数の条件オブジェクトと、前記第２の結論に対応し当該第２の結論の前記指標値及び確信度を管理する複数の結論オブジェクトと、前記条件オブジェクト及び前記結論オブジェクトにそれぞれ接続され、当該接続されている条件オブジェクトが管理するイベントの、当該接続されている結論オブジェクトが管理する前記指標値に関する前記検知データを管理する複数の重みオブジェクトと、を有するルールメモリデータを、前記展開情報として生成する、
ことを前記コンピュータに実行させる請求項７に記載の監視プログラム。
【請求項９】
前記記憶デバイスは、前記検知データが有効に設定された重みオブジェクトと、当該重みオブジェクトに接続された条件オブジェクトが管理するイベントの、当該重みオブジェクトに接続された結論オブジェクトが管理する前記指標値に関して決定された前記解析時間幅との対応関係を示す解析時間幅情報を記憶しており、
前記解析時間幅情報に含まれる重みオブジェクトに接続されている条件オブジェクトが管理するイベントを検知してから、当該重みオブジェクトに対応する解析時間幅が経過した場合、当該重みオブジェクトが管理する前記検知データを無効に設定する、
ことを前記コンピュータに実行させる請求項８に記載の監視プログラム。
【請求項１０】
前記展開情報の各第２の結論について、当該第２の結論に対応する１以上の第２の条件が示すイベントの発生元となる監視対象オブジェクトのうちの監視対象装置の数を計算し、前記計算した数を当該第２の結論の前記指標値とする、
ことを前記コンピュータに実行させる請求項９に記載の監視プログラム。
【請求項１１】
複数の監視対象オブジェクトのいずれかで発生したイベントの原因解析をルールを用いて行う監視システムであって、
前記ルールを記憶する記憶デバイスと、
前記記憶デバイスに接続された制御デバイスと
を有し、
前記ルールは、所定の結論を原因と決定するために必要な条件を含み、
前記制御デバイスは、
前記ルールに基づいて、前記監視対象オブジェクトで発生したイベントの原因解析を行い、原因となる可能性のある複数の結論を決定し、
前記決定した複数の結論を、それぞれの結論について前記ルールにより定まる値であり、当該結論が原因となる場合の影響範囲を示す指標値、に従ってソートして表示する、監視システム。
【請求項１２】
前記ルールは、イベントの種別と当該イベントの発生元となる監視対象オブジェクトの種別との組み合わせによりイベントを示した１以上の第１の条件と、前記１以上の第１の条件を満たす場合に原因となる第１の結論との関連付けを示す汎用ルールを含み、
前記記憶デバイスは、前記複数の監視対象オブジェクト間におけるデータ通信の有無を示す関係情報をさらに記憶し、
前記制御デバイスは、
前記汎用ルール及び前記関係情報に基づいて、イベントの種別と当該イベントの発生元となる監視対象オブジェクトを特定する情報との組み合わせによりイベントを示した１以上の第２の条件と、前記１以上の第２の条件を満たす場合に原因となる第２の結論との関連付けを複数含む展開情報を生成し、
前記展開情報の各第２の結論について、関連付けられている１以上の第２の条件に基づいて当該第２の結論の前記指標値を決定し、
前記原因解析において、原因となる可能性のある複数の第２の結論を決定し、
前記決定した複数の第２の結論を、各第２の結論それぞれの前記指標値に従ってソートして表示する、
請求項１１に記載の監視システム。
【請求項１３】
前記記憶デバイスは、前記展開情報の各第２の条件ごとに、当該第２の条件が示すイベントの検知の有効または無効を示す検知データをさらに記憶し、
前記制御デバイスは、
イベントを検知した場合、当該検知したイベントである検知イベントの前記検知データを有効に設定し、
前記検知イベントを示す前記展開情報の第２の条件に関連付けられている第２の結論の前記指標値に基づいて前記検知イベントの解析時間幅を決定し、
前記検知イベントを検知してから前記決定した解析時間幅が経過した場合、前記検知イベントの前記検知データを無効に設定し、
前記原因解析において、前記展開情報の各第２の結論について、関連付けられている１以上の第２の条件が示す各イベントの前記検知データに基づいて、当該第２の結論が原因であることの確からしさを示す確信度を決定し、前記決定した確信度に基づいて、原因となる可能性のある複数の第２の結論を決定する、
請求項１２に記載の監視システム。
【請求項１４】
前記制御デバイスは、前記原因解析において決定した第２の結論ごとに、当該第２の結論の確信度と解析時間幅との対応関係を表す情報を表示する、
請求項１２に記載の監視システム。
【請求項１５】
前記制御デバイスは、前記解析時間幅を変化させたと仮定した場合の変化後の確信度を特定し、その変化後の確信度を表示する、
請求項１４に記載の監視システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、監視対象であるノード装置、コンポーネント等の監視対象オブジェクトにおいて発生した事象（以下「イベント」という）の根本原因を解析する監視システム及び監視プログラムに関する。
【背景技術】
【０００２】
サーバ、ストレージ、ネットワーク装置等の複数の装置を有する情報処理システムにおける、障害等に関わる事象の根本原因を解析する技術が知られている。【０００３】
例えば、特許文献１は、以下の技術を開示している。すなわち、特許文献１に開示された監視システムは、障害解析のノウハウに基づいて記述された汎用的な条件及び結論を含むルールを記憶し、そのルールを監視対象のシステム構成に展開し、ルールの条件が示すイベントの検知の有無に基づく原因解析を行って、原因となり得る結論の確信度を計算する。監視システムは、計算した確信度に基づいて原因を推定し、その結果を表示して管理者に通知する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許出願公開第２００９／３１３１９８号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に開示された監視システムは、根本原因の解析において、原因となり得る複数の結論と、各結論が原因となる場合にその影響を受けて発生するイベントを示す１以上の条件との関連付けが示された情報、及び、各条件が示すイベントの、過去所定時間内（この時間幅を「解析時間幅」という）における検知の有無に基づいて、各結論の確信度を計算する。【０００６】
また、この監視システムは、根本原因の解析結果を表示する際、計算した確信度に基づいて複数の原因候補を決定し、決定した複数の原因候補をそれらの確信度とともに表示する。例えば、この監視システムは、確信度の高い順に複数の原因候補を決定し、決定した複数の原因候補を確信度の高い順に並べた一覧表を表示する。管理者は、表示された解析結果を参照し、複数の原因候補の中から根本原因を特定することができる。しかし、特許文献１に開示された監視システムは下記（１）又は／及び（２）の課題を持つ。【０００７】
（１）情報処理システムにおいて或るイベント（原因イベント）が生じた場合、その原因イベントの影響を受ける複数のイベントの発生時期は、例えば、そのイベントの内容、その原因イベントが生じた装置とそのイベントが発生する装置との情報処理システム上の位置関係等の影響を受けるため、それぞれ異なる。情報処理システムの規模が大きくなると、このイベントの発生時期の差はより大きくなる。従って、情報処理システムの規模が大きい場合、このイベントの発生時期の差を吸収するために、解析における解析時間幅を或る程度大きくとる必要がある。【０００８】
しかしながら、解析時間幅を大きくしすぎると、解析に影響を与えるイベント、すなわち、検知されたと判断されるイベントの数が多くなり、発生原因の異なるイベントが含まれる可能性が高くなる（つまり、ノイズが含まれる可能性が高くなる）ため、解析の精度が悪くなるおそれがある。【０００９】
（２）根本原因の特定が、確信度のみを重視した解析結果（例えば、上述した確信度の高い順に原因候補を並べた一覧表等）に基づいて行われる場合、管理者は、確信度はそれほど高くないものの本来注目されるべき重要な原因候補を見落としてしまう可能性がある。
【課題を解決するための手段】
【００１０】
監視システムは、複数の監視対象オブジェクトのいずれかで発生したイベントの原因解析をルールに基づいて行う。この際、監視システムは、解析時間幅の間に検知をし、結論を決定するための条件に合致するイベントに基づいて複数の結論を決定する。そして、監視システムは、（Ａ）解析時間幅を変化させたと仮定した場合の結論の決定に用いる確信度の変化を表示する、（Ｂ）決定した結論を影響範囲を示す指標値に基づいてソート表示する、（Ｃ）解析時間幅を前記指標値に基づいて計算する、の何れか１つ以上を行う。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施例に係る情報処理システムの構成例を示す図である。
【図２】図２は、実施例に係る管理計算機の構成例を示す図である。
【図３】図３は、実施例に係る表示計算機の構成例を示す図である。
【図４】図４は、実施例に係るサーバの構成例を示す図である。
【図５】図５は、実施例に係るストレージの構成例を示す図である。
【図６】図６は、実施例に係るルータ管理テーブルの一例を示す図である。
【図７】図７は、実施例に係るｉＳＣＳＩターゲット管理テーブルの一例を示す図である。
【図８】図８は、実施例に係る汎用ルールの一例を示す図である。
【図９】図９は、実施例に係る展開ルールの一例を示す図である。
【図１０】図１０は、実施例に係るルールメモリデータの一例を示す図である。
【図１１】図１１は、実施例に係るイベントメッセージの一例を示す図である。
【図１２】図１２は、実施例に係るイベント情報テーブルの一例を示す図である。
【図１３】図１３は、実施例に係るイベント消去タスクテーブルの一例を示す図である。
【図１４】図１４は、実施例に係る重みの値の変化の例を示す図である。
【図１５】図１５は、実施例に係るルール展開処理のフローチャートである。
【図１６】図１６は、実施例に係る重みオブジェクト追加処理のフローチャートである。
【図１７】図１７は、実施例に係るインパクテッドノード数算出処理のフローチャートである。
【図１８】図１８は、実施例に係るイベント検知処理のフローチャートである。
【図１９】図１９は、実施例に係る確信度計算処理のフローチャートである。
【図２０】図２０は、実施例に係るイベント消去タスク生成処理のフローチャートである。
【図２１】図２１は、実施例に係るイベント消去処理のフローチャートである。
【図２２】図２２は、実施例に係る管理計算機が行う各処理の関係を示す図である。
【図２３】図２３は、実施例に係る第１の解析結果表示画面の一例を示す図である。
【図２４】図２４は、実施例に係る第２の解析結果表示画面の一例を示す図である。
【発明を実施するための形態】
【００１２】
実施例について、図面を参照して説明する。なお、以下に説明する実施例は請求の範囲にかかる発明を限定するものではなく、また実施例の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。これらの図面において、複数の図を通じて同一の符号は同一の構成要素を示している。
【００１３】
なお、以後の説明では「ａａａテーブル」の表現にて本発明の情報を説明するが、これらの情報は、リスト、ＤＢ、キュー等のデータ構造で表現されていてもよい。そのため、データ構造に依存しないことを示すために「ａａａテーブル」について「ａａａ情報」と呼ぶことがある。また、各情報の内容を説明する際に、「識別子」、「ＩＤ」、「名称」という表現を用いるが、これらについてはお互いに置換が可能である。なお、実施例の説明において「リポジトリ」という用語を用いるが、「情報」と同じ意味である。
【００１４】
以後の説明では「プログラム」を主語として説明を行う場合があるが、プログラムは、制御デバイスが有するプロセッサによって実行されることで定められた処理をメモリ及び通信ポート（ネットワークＩ／Ｆ）を用いながら行うため、プロセッサを主語とした説明としてもよい。また、プログラムを主語として開示された処理は、管理計算機等の計算機、情報処理装置が行う処理としてもよい。また、プログラムを実行するプロセッサによって行われる処理の一部または全ては、専用ハードウェアによって実現されてもよい。また、各種プログラムは、プログラム配布サーバや計算機が読み取り可能な記憶メディアによって各計算機にインストールされてもよい。
【００１５】
また、制御デバイス（及びその制御デバイスを有する第１の計算機）の「表示する」という行為は、制御デバイスが、その制御デバイスを有する計算機の表示デバイスに画面部品等を表示する行為と、表示デバイスを有する第２の計算機に、その表示デバイスに表示される画面部品等の表示用情報を送信する行為のいずれであっても良い。第２の計算機は、表示用情報を受信した場合、その表示用情報が表す画面部品等を表示デバイスに表示することができる。
【００１６】
また、下記実施例で述べる「時間」は、何らかの基準時刻からの経過時間（例えばＯＳで一般的に用いられている時間を管理するデータ構造はグリニッジ標準時の1970年１月１日の0:00:00からの経過時間で時間を表現することが多い）を指し示せれば単位は問わない。従って、「時間」は、日付と日付内の時刻であってもよく、時刻も、「時」、「分」、「秒」、「ミリ秒」あるいはそれ以下の精度でもよい。逆に「時間」は、日付のみを指しても良い。また、計算機の「時間」を管理するデータ構造の表現能力で経過時間の表現範囲が有限の期間であっても構わない。例えば「時間」は、日付を除いて時刻だけを指し示しても良く、更には、日付と「時」を除いた「分」、「秒」あるいはそれ以下の時刻だけを指し示しても良い。
【００１７】
図１は、実施例に係る情報処理システムの構成例を示す図である。
【００１８】
情報処理システムは、管理計算機１００と、表示計算機２００と、１つ以上のサーバ４００と、１つ以上のストレージ５００と、ＬＡＮ（Local Area Network）等の通信ネットワーク３００とを有する。通信ネットワーク３００は、１つ以上のネットワーク装置３０１により構成される。ネットワーク装置３０１は、ＩＰスイッチやルータ等である。管理計算機１００、表示計算機２００、サーバ４００及びストレージ５００は、通信ネットワーク３００を介して相互に接続される。本実施例では、管理計算機１００及び表示計算機２００が、監視システムを構成する。
【００１９】
以下、情報処理システムを構成する装置（サーバ４００、ストレージ５００、ネットワーク装置３０１等）を「ノード装置」と呼ぶ場合がある。情報処理システムは、例えば、ホストコンピュータ、ＮＡＳ（Network Attached Storage）、ファイルサーバ、プリンタ等をノード装置として有していてもよい。また、ノード装置が有するデバイス等の論理的又は物理的な構成物を「コンポーネント」と呼ぶ場合がある。コンポーネントの例としては、ポート、プロセッサ、記憶資源、記憶デバイス、プログラム、仮想マシン、ストレージ装置内部で定義される論理ボリューム、ＲＡＩＤグループ等がある。以下、管理計算機１００が監視の対象とするノード装置を「監視対象装置」と呼び、管理計算機１００が監視の対象とするノード装置又はコンポーネントを「監視対象オブジェクト」と呼ぶ場合がある。
【００２０】
図２は、管理計算機の構成例を示す図である。
【００２１】
管理計算機１００は、監視対象オブジェクトを監視し、監視対象オブジェクトで発生したイベントの原因の解析を行う計算機である。管理計算機１００は、例えば、汎用的な計算機（コンピュータ）であり、ＣＰＵ（Central Processing Unit）１０１と、記憶資源１０２と、ネットワークＩ／Ｆ（インターフェース）１０３と、内部バス１０４とを有する。ＣＰＵ１０１、記憶資源１０２及びネットワークＩ／Ｆ１０３は、内部バス１０４を介して相互に接続される。ネットワークＩ／Ｆ１０３は、通信ネットワーク３００に接続するためのインターフェース装置である。記憶資源１０２は、メモリであってもよいし、ハードディスクドライブ（ＨＤＤ）等の二次記憶装置であってもよいし、メモリ及び二次記憶装置を組み合わせたものであってもよい。
【００２２】
記憶資源１０２は、イベント検知プログラム１１１と、ルール展開プログラム１１２と、インパクテッドノード数算出プログラム１１３と、確信度計算プログラム１１４と、イベント消去プログラム１１５と、イベント消去タスク生成プログラム１１６と、重みオブジェクト追加プログラム１１７とを記憶する。また、記憶資源１０２は、構成情報１２１と、汎用ルールリポジトリ１２２と、展開ルールリポジトリ１２３と、ルールメモリデータ１２４と、イベント情報テーブル（ＴＢＬ）１２５と、イベント消去タスクテーブル１２６とを記憶する。汎用ルールリポジトリ１２２には、１以上の汎用ルールが格納される。展開ルールリポジトリ１２３には、１以上の展開ルールが格納される。なお、構成情報１２１については、後述する。ＣＰＵ１０１は、記憶資源１０２に格納されたプログラム１１１〜１１７を実行する。
【００２３】
管理計算機１００は、監視対象装置から、例えば、監視対象オブジェクトでイベントが発生したことを示すイベントメッセージ（図１１参照）、監視対象装置或いは情報処理システム全体の構成に関する情報等の種々の情報を受信する。管理計算機１００は、監視対象装置から受信した種々の情報に基づいて、例えば、イベントの原因を解析する処理等の種々の処理を行い、その処理結果を表示計算機２００に出力する。なお、管理計算機１００が、表示計算機２００が持つ表示機能を有していてもよい。
【００２４】
図３は、表示計算機の構成例を示す図である。
【００２５】
表示計算機２００は、管理計算機１００の要求に基づいて管理計算機１００が行った種々の処理結果を出力する計算機である。表示計算機２００は、例えば、汎用的な計算機であり、ＣＰＵ２０１と、記憶資源２０２と、ネットワークＩ／Ｆ２０３と、内部バス２０４と、入出力デバイス２０５とを有する。ＣＰＵ２０１、記憶資源２０２、ネットワークＩ／Ｆ２０３及び入出力デバイス２０５は、内部バス２０４を介して相互に接続される。ＣＰＵ２０１は、記憶資源２０２に格納されたプログラムを実行する。記憶資源２０２は、メモリであってもよいし、ハードディスクドライブ（ＨＤＤ）等の二次記憶装置であってもよいし、メモリ及び二次記憶装置を組み合わせたものであってもよい。記憶資源２０２は、表示用結果表示プログラム２１１と、表示用構成情報２２１と、表示用イベント情報２２２と、表示用解析結果２２３とを記憶する。
【００２６】
ネットワークＩ／Ｆ２０３は、通信ネットワーク３００に接続するためのインターフェース装置である。入出力デバイス２０５は、入出力装置（ディスプレイ２０６等）に接続するためのインターフェース装置である。例えば、入出力デバイス２０５には、ディスプレイ２０６が接続される。表示計算機２００は、イベントの原因解析の結果や他の情報をディスプレイ２０６に表示することで、イベントの原因解析の結果等を管理者に提示することができる。なお、表示計算機２００が、内部にディスプレイ２０６を有するようにしてもよい。
【００２７】
図４は、サーバの構成例を示す図である。
【００２８】
サーバ４００は、アプリケーション等を実行する計算機である。サーバ４００は、ＣＰＵ４０４と、記憶資源４０１と、ネットワークＩ／Ｆ４０５とを有する。ネットワークＩ／Ｆ４０５は、通信ネットワーク３００に接続するためのインターフェース装置である。
記憶資源４０１は、監視エージェント４０２とｉＳＣＳＩ（Internet Small Computer System Interface）イニシエータ４０３とを記憶する。監視エージェント４０２は、監視対象オブジェクトにおいて何らかのイベントが発生した場合に、そのイベントの発生を示すイベントメッセージを管理計算機１００に送信するためのプログラムである。また、サーバ４００には、ストレージ５００の記憶領域が割り当てられた仮想的なボリュームであるｉＳＣＳＩディスク４１１が形成される。ｉＳＣＳＩディスク４１１は、ｉＳＣＳＩイニシエータ４０３によって仮想的に存在するエンティティであり、ストレージ５００から提供されるＬＵ（論理ユニット）を用いて定義される。サーバ４００は、ｉＳＣＳＩイニシエータ４０３を介すことで、ｉＳＣＳＩディスク４１１をローカルハードディスクのように利用できる。なお、本実施例では、ｉＳＣＳＩイニシエータ４０３は、その機能を実現するプログラムであるが、その機能の一部または全てをハードウェアで代用してもよい。ＣＰＵ４０４は、記憶資源４０１に格納された監視エージェント４０２と、ｉＳＣＳＩイニシエータ４０３を実行する。
【００２９】
図５は、ストレージの構成例を示す図である。
【００３０】
ストレージ５００は、サーバ４００等に記憶領域を提供する装置である。ストレージ５００は、ストレージコントローラ５０１と、ネットワークＩ／Ｆ５０４と、記憶媒体５０３（本実施例では、ハードディスクドライブ（ＨＤＤ））とを有する。ネットワークＩ／Ｆ５０４は、通信ネットワーク３００に接続するためのインターフェース装置である。本実施例において、記憶媒体５０３は、ハードディスクドライブであるが、これに代えて、固体記憶媒体、光記憶媒体等、他の種類の記憶媒体であってもよい。ストレージ５００は、例えば、サーバ４００に対して、ｉＳＣＳＩディスク４１１を形成するための記憶領域を提供する。ストレージコントローラ５０１は、図示しない記憶資源に監視エージェント５０２を記憶する。監視エージェント５０２は、ストレージ５００において何らかのイベントが発生した場合に、そのイベントの発生を示すイベントメッセージを管理計算機１００に送信するためのプログラムである。監視エージェント５０２は、ストレージコントローラ５０１内のＣＰＵにより実行される。なお、サーバ４００の監視エージェント４０２が、ストレージ５００で発生したイベントを監視できるように構成し、ストレージ５００で発生したイベントのイベントメッセージを管理計算機１００に送信するようにしてもよい。
【００３１】
本実施例において、幾つかの監視対象装置は、例えば、ｉＳＣＳＩボリュームの提供サービスやファイル共有サービスやＷｅｂサービス等のネットワークサービスを提供する装置（以下「サービス提供装置」）である。また、幾つかの監視対象装置は、サービス提供装置が提供するネットワークサービスを利用する装置（以下「サービス利用装置」）である。例えば、サーバ４００は、ストレージ５００が提供するｉＳＣＳＩボリュームの提供サービスを利用するため、サービス利用装置に相当する。一方、ストレージ５００は、サーバ４００等にｉＳＣＳＩボリュームの提供サービスを提供するため、サービス提供装置に相当する。サービス提供装置及びサービス利用装置は、相互にネットワークサービスを提供し利用する関係を有しているため、その一方で発生したイベントが他方へ伝搬し得る。例えば、サービス提供装置に相当するストレージ５００で或るイベントが発生した場合、その影響を受けて、そのストレージ５００が提供するネットワークサービスを利用しているサーバ４００（すなわちサービス利用装置）においても何らかのイベントが発生し得る。
【００３２】
ここで、管理計算機１００の記憶資源１０２に記憶される構成情報１２１について説明する。構成情報１２１は、情報処理システムの構成を示す情報であり、具体的には、情報処理システムがどんなノード装置によって構成されているか、各ノード装置の構成がどのようになっているか（例えば、ノード装置がどんなコンポーネントを有しているか）、ノード装置間或いはコンポーネント間の接続関係がどうなっているか、ノード装置とコンポーネントとの間の包含関係がどうなっているか等を示す情報である。また、構成情報１２１には、ネットワークサービスの提供又は利用に関係する情報（例えば、サービス利用装置の識別情報、ネットワークサービスを利用する際にサービス提供装置に入力する情報等）が含まれる場合がある。サービス提供装置に入力する情報として、例えば、ｉＳＣＳＩボリュームの提供サービスを利用する際に入力するｉＳＣＳＩターゲット名及びＬＵＮ（論理ユニット番号）や、Ｗｅｂサービスを利用する際に入力するＷｅｂサーバの名前を含むＵＲＬ等がある。本実施例では、構成情報１２１は、ルータ管理テーブル６００と、ｉＳＣＳＩターゲット管理テーブル７００とを含む。
【００３３】
図６は、ルータ管理テーブルの一例を示す図である。
【００３４】
ルータ管理テーブル６００は、ルータがどのサブネットとどのサブネットとを接続しているかを表す情報を管理するためのテーブルである。ルータ管理テーブル６００は、構成情報１２１の一部に相当する。ルータ管理テーブル６００は、ルータごとに、当該ルータの識別子が格納されるノードＩＤ６０１と、当該ルータのノード装置の種別が格納されるノードタイプ６０２と、当該ルータが接続する二つのサブネットの識別子がそれぞれ格納されるサブネットＩＤ６０３、６０４（サブネットＩＤ１、サブネットＩＤ２）とを、対応付けて管理する。図６のルータ管理テーブル６００によれば、ルータ１（Ｒｏｕｔｅｒ１）がサブネット０とサブネット１とを接続しており、ルータ２（Ｒｏｕｔｅｒ２）がサブネット０とサブネット２とを接続していることがわかる。
【００３５】
図７は、ｉＳＣＳＩターゲット管理テーブルの一例を示す図である。
【００３６】
ｉＳＣＳＩターゲット管理テーブル７００は、ｉＳＣＳＩターゲットがどのｉＳＣＳＩイニシエータに対して接続を許可しているかを表す情報を管理するためのテーブルである。ｉＳＣＳＩターゲット管理テーブル７００は、構成情報１２１の一部に相当する。ｉＳＣＳＩターゲット管理テーブル７００は、ターゲットＩＤ７０１と、ｉＳＣＳＩターゲット名７０２と、接続許可ｉＳＣＳＩイニシエータ名７０３とを、対応付けて管理する。
【００３７】
ターゲットＩＤ７０１には、ｉＳＣＳＩターゲットと接続許可ｉＳＣＳＩイニシエータとの組み合わせごとに付与される識別子が格納される。ｉＳＣＳＩターゲット名７０２には、ｉＳＣＳＩターゲットの名称が格納される。接続許可ｉＳＣＳＩイニシエータ名７０３には、接続が許可されているｉＳＣＳＩイニシエータの名称が格納される。例えば、ターゲットＩＤ「ＴＧ１」の情報から、ｉＳＣＳＩターゲットであるストレージ１（ｃｏｍ．ｈｉ．ｓｔｏ１）は、ｉＳＣＳＩイニシエータであるサーバ１（ｃｏｍ．ｈｉ．ｓｖ１）に対して接続を許可していることがわかる。
【００３８】
図８は、汎用ルールの一例を示す図である。
【００３９】
汎用ルールリポジトリ１２２には、１以上の汎用ルールが格納されている。汎用ルールは、イベントを示す条件と、当該条件を満たす場合に原因と特定されるイベントを示す結論との関連付けを、情報処理システムの実構成に依存しない形式で記述した情報である。汎用ルールは、複数の条件又は複数の結論を含んでいてもよい。
【００４０】
同図に示すように、汎用ルール８０１には、ＩＦ部８１１とＴＨＥＮ部８１２とがある。ＩＦ部８１１には１つ以上の条件が記述され、ＴＨＥＮ部８１２には結論が記述される。条件及び結論は、それぞれイベントの発生元のノード装置の種別とイベントの種別とを含む。ＩＦ部８１１は、確信度を計算する方法を指定するための演算子（例えば、ＡＮＤ、ＯＲ等）を含んでいてもよい。なお、他の汎用ルール８０２も同様な構成となっている。
【００４１】
汎用ルール８０１（ＧｅｎＲｕｌｅ１）においては、ＩＦ部８１１には、２つの条件８２１、８２２が記述されている。また、ＴＨＥＮ部８１２には、１つの結論８２３が記述されている。この汎用ルール８０１は、２つの条件８２１、８２２が満たされた場合、すなわち２つの条件８２１、８２２が示すイベントが検知された場合に、結論８２３によって示されるイベントが原因であると特定されることを表している。
【００４２】
具体的には、条件８２１（「Ｓｅｒｖｅｒ  ＤｉｓｋＤｒｉｖｅ  Ｅｒｒ」）は、発生元のノード装置の種別が「Ｓｅｒｖｅｒ」であり、イベントの種別が「ＤｉｓｋＤｒｉｖｅ  Ｅｒｒ」であるイベント、すなわち、サーバ４００で発生するディスク障害というイベントを示している。また、条件８２２及び結論８２３（「ＩｐＳｗｉｔｃｈ  Ｐｏｒｔ  ＬｉｎｋＤｏｗｎ」）は、発生元のノード装置の種別が「ＩｐＳｗｉｔｃｈ」であり、イベントの種別が「Ｐｏｒｔ  ＬｉｎｋＤｏｗｎ」であるイベント、すなわち、ＩＰスイッチで発生するポートのリンク障害というイベントを示している。従って、この汎用ルール８０１は、サーバ４００で発生するディスク障害のイベントとＩＰスイッチで発生するポートのリンク障害のイベントとが検知された場合に、ＩＰスイッチで発生するポートのリンク障害のイベントが原因であると特定されることを表している。
【００４３】
なお、本実施例における汎用ルールは、イベントを、発生元のノード装置の種別で特定しているが、イベントを、発生元の監視対象オブジェクトの種別で特定してもよい。すなわち、イベントを、発生元のノード装置の種別及び／又はコンポーネントの種別で特定してもよい。以後の説明では、簡略化のために、コンポーネントを用いずにノード装置のみで説明を進めるが、ノード装置に関する説明を、ノードとコンポーネントの組み合わせと読み替えれば、汎用ルールがノード装置の種別及びコンポーネントの種別を条件とした場合に適用できることは言うまでもない。
【００４４】
図９は、展開ルールの一例を示す図である。
【００４５】
展開ルールリポジトリ１２３には、１以上の展開ルールが格納される。展開ルールは、汎用ルールを情報処理システムの実構成に依存する形式に展開した情報である。汎用ルールと同様に、展開ルール９０１には、１以上の条件が記述されるＩＦ部９１１と１以上の結論が記述されるＴＨＥＮ部９１２とがある。条件及び結論は、それぞれイベントの発生元のノード装置の名称とイベントの種別とを含む。ＩＦ部９１１は、確信度を計算する方法を指定するための演算子を含んでいてもよい。なお、他の展開ルール９０２も同様な構成となっている。
【００４６】
例えば、情報処理システムに１つのサーバ４００（サーバ１）と１つのストレージ５００（ストレージ０）と１つのＩＰスイッチ（ＩＰスイッチ１）とが含まれていると想定した場合、図８に示す汎用ルール８０１は、図９に示す展開ルール９０１（ＥｘｐＲｕｌｅ１）に展開される。展開ルール９０１には、サーバ１、ストレージ０及びＩＰスイッチ１という情報処理システムの実構成物である監視対象装置に関係するイベントを示す条件及び結論が含まれる。具体的には、条件９２１（「Ｓｅｒｖｅｒ１  ＤｉｓｋＤｒｉｖｅ  Ｅｒｒ」）は、サーバ１で発生するディスク障害というイベントを示している。条件９２２及び結論９２３（「ＩｐＳｗｉｔｃｈ１  Ｐｏｒｔ  ＬｉｎｋＤｏｗｎ」）は、ＩＰスイッチ１で発生するポートのリンク障害というイベントを示している。従って、この展開ルール９０１は、サーバ１で発生するディスク障害のイベントとＩＰスイッチ１で発生するポートのリンク障害のイベントとが検知された場合に、ＩＰスイッチ１で発生するポートのリンク障害のイベントが原因であると特定されることを表している。
【００４７】
なお、本実施例における展開ルールは、イベントを、発生元のノード装置の名称で特定しているが、イベントを、発生元の監視対象オブジェクトの名称で特定してもよい。すなわち、イベントを、発生元のノード装置の名称及び／又はコンポーネントの名称で特定してもよい。
【００４８】
図１０は、ルールメモリデータの一例を示す図である。
【００４９】
ルールメモリデータ１２４は、少なくとも、イベントの原因解析に用いられる複数の展開ルールと、その展開ルールの条件が示すイベントに関する検知データと、その展開ルールの結論が原因であること（すなわち、結論が示すイベントが原因であること）の確からしさを示す情報である確信度とを、複数のオブジェクト及びそれらの関連付けにより表現したデータである。ルールメモリデータ１２４は、例えば、汎用ルール及び構成情報１２１に基づいて生成され、イベントの原因解析を行う際に利用される。
【００５０】
ルールメモリデータ１２４には、例えば、条件オブジェクト１００１（１００１ａ、１００１ｂ等）と、結論オブジェクト１００４（１００４ａ、１００４ｂ等）と、演算子オブジェクト１００２（１００２ａ、１００２ｂ等）と、重みオブジェクト１００３（１００３ａ、１００３ｂ等）と、それぞれの接続情報とが含まれる。なお、各オブジェクトは、コンピュータ言語では例えば構造体やクラスとして実装され、プログラム動作中は記憶資源１０２に格納されるデータ（オブジェクトデータ）である。
【００５１】
演算子オブジェクト１００２は、確信度を計算する方法を指定するための演算子の情報を管理するオブジェクトである。なお、演算子オブジェクトは肯定（図中では「Ｎｏｔ  Ｆａｌｓｅ」）のほか、否定（図中では「Ｎｏｔ  Ｔｒｕｅ」）を表現するオブジェクトがあってもよい。
【００５２】
条件オブジェクト１００１は、展開ルールの条件に対応し、結論オブジェクト１００４は、展開ルールの結論に対応する。条件オブジェクト１００１と結論オブジェクト１００４とは、展開ルールの条件と結論との関連付けに対応する接続関係となっている。なお、条件オブジェクト１００１と結論オブジェクト１００４とは、演算子オブジェクト１００２を介して接続される。ここで、条件オブジェクト１００１に対して演算子オブジェクト１００２を介して接続された結論オブジェクト１００４についても、条件オブジェクト１００１に接続された結論オブジェクト１００４といい、結論オブジェクト１００４に対して演算子オブジェクト１００２を介して接続された条件オブジェクト１００１についても、結論オブジェクト１００４に接続された条件オブジェクト１００１ということとする。
【００５３】
条件オブジェクト１００１は、対応する条件が示すイベント及びそのイベントの第１の検知データを管理するオブジェクトである。ここで、第１の検知データとは、イベントが検知されたか否か、具体的には、管理計算機１００がイベントの発生を示すイベントメッセージを受信したか否かを示す情報である。条件オブジェクト１００１は、情報フィールドとして、「Ｎｏｄｅ」１０１１と、「Ｅｖｅｎｔ」１０２１と、「Ｒｅｃｅｉｖｅｄ」１０３１とを含む。「Ｎｏｄｅ」１０１１には、管理するイベントの発生元のノード装置の名称が設定される。「Ｅｖｅｎｔ」１０２１には、管理するイベントの種別が設定される。「Ｒｅｃｅｉｖｅｄ」１０３１には、管理するイベントの第１の検知データが設定される。第１の検知データは、例えば、管理するイベントが発生したことを示すイベントメッセージの受信時間である。
【００５４】
図１０の例では、条件オブジェクト１００１ａは、サーバＡのｉＳＣＳＩの通信障害というイベント及びそのイベントの第１の検知データを管理する。条件オブジェクト１００１ａは、サーバＡのｉＳＣＳＩの通信障害というイベントが、「２００８年４月１３日の９時２０分１１秒」に、管理計算機１００により検知されたこと（具体的には、管理計算機１００がそのイベントメッセージを受信したこと）を示している。
【００５５】
結論オブジェクト１００４は、対応する結論が示すイベント及び対応する結論が原因であることの確からしさを示す確信度を管理するオブジェクトである。結論オブジェクト１００４は、情報フィールドとして、「Ｒｕｌｅ」１０１４と、「Ｎｏｄｅ」１０２４と、「Ｃａｕｓｅ」１０３４と、「ＭＲ」１０４４と、「Ｉｍｐａｃｔ」１０５４とを含む。「Ｒｕｌｅ」１０１４には、対応する結論を記述しているルールの名称が設定される。「Ｎｏｄｅ」１０２４には、管理するイベントの発生元のノード装置の名称が設定される。「Ｃａｕｓｅ」１０３４には、管理するイベントの種別が設定される。「ＭＲ」１０４４には、対応する結論の確信度が設定される。確信度は、後述する確信度計算処理において計算され、当該「ＭＲ」１０４４に設定される。
【００５６】
「Ｉｍｐａｃｔ」１０５４は、対応する結論が原因となる場合の影響範囲を示す指標値を管理するフィールドである。ここで、影響範囲とは、原因が生じた場合（すなわち、原因のイベントが発生した場合）にその影響を受けて障害が生じる範囲のことをいう。影響範囲の広さは、例えば、原因が生じた場合にその影響を受けてイベントが発生するノード装置の数、原因が生じた場合にその影響を受けて発生するイベントの数等で表すことができる。本実施例では、影響範囲を示す指標値として、原因が生じた場合にその影響を受けてイベントが発生するノード装置の数を採用する。以下、原因が生じた場合にその影響を受けてイベントが発生するノード装置を「インパクテッドノード」と呼び、インパクテッドノードの数を「インパクテッドノード数」と呼ぶ。本実施例において、「Ｉｍｐａｃｔ」１０５４には、対応する結論のインパクテッドノード数が設定される。
【００５７】
図１０の例では、結論オブジェクト１００４ａは、ストレージ１のコントローラ障害というイベント及びそのイベント（結論）の確信度を管理する。結論オブジェクト１００４ａには、４つの条件オブジェクト１００１ａ、１００１ｂ、１００１ｃ、１００１ｄが接続されている。この４つの条件オブジェクト１００１ａ、１００１ｂ、１００１ｃ、１００１ｄが管理するそれぞれのイベントが、結論オブジェクト１００４ａが管理するイベントが発生した場合にその影響を受けて発生するイベントである。従って、この４つの条件オブジェクト１００１ａ、１００１ｂ、１００１ｃ、１００１ｄが管理する各イベントの発生元のノード装置、すなわち、サーバＡ、サーバＢ、サーバＣ及びストレージ１が、インパクテッドノードとなる。従って、結論オブジェクト１００４ａに対応する結論のインパクテッドノード数は、「４」となる。
【００５８】
なお、本実施例では、結論に関連付けられている複数の条件が、同一のノード装置で発生するイベント（例えば、サーバＡで発生するドライブエラーとサーバＡで発生するＤＮＳエラー等）を示している場合には、インパクテッドノード数は、同一のノード装置（上記かっこ内の例であれば、サーバＡ）を１つとカウントする。すなわち、同一のノード装置における異なるイベントについて重複してカウントしない。なお、影響範囲を示す指標値としては、インパクテッドノード数に限らず、例えば、原因が生じた場合にその影響を受けて発生するイベントの数を採用するようにしてもよく、この場合には、同一のノード装置で発生した異なるイベントについて重複してカウントするようにすればよい。
【００５９】
重みオブジェクト１００３は、条件オブジェクト１００１が管理するイベントについて、その検知が有効であるか無効であるかを示す第２の検知データ（例えば、重み）を、影響範囲を示す指標値（例えば、インパクテッドノード数）ごとに管理するオブジェクトである。重みオブジェクト１００３は、各条件オブジェクト１００１について、その条件オブジェクト１００１に対応する条件に関連付けられている１以上の結論のインパクテッドノード数ごとに生成される。
【００６０】
重みオブジェクト１００３は、管理する第２の検知データに関係する条件オブジェクト１００１及び結論オブジェクト１００４のそれぞれに接続される。具体的には、或るイベント（ここでは「イベント１」とする）の、或るインパクテッドノード数（ここでは「指標値１」とする）に関係する第２の検知データを管理する重みオブジェクト１００３は、当該イベント１を管理する条件オブジェクト１００１と、当該イベント１を管理する条件オブジェクト１００１に接続されかつ当該指標値１が設定されている結論オブジェクト１００４とに、それぞれ接続される。なお、条件オブジェクト１００１と重みオブジェクト１００３とは、演算子オブジェクト１００２を介して接続される。ここで、条件オブジェクト１００１に対して演算子オブジェクト１００２を介して接続された重みオブジェクト１００３についても、条件オブジェクト１００１に接続された重みオブジェクト１００３といい、重みオブジェクト１００３に対して演算子オブジェクト１００２を介して接続された条件オブジェクト１００１についても、重みオブジェクト１００３に接続された条件オブジェクト１００１ということとする。
【００６１】
図１０の例では、重みオブジェクト１００３ａは、条件オブジェクト１００１ａと結論オブジェクト１００４ｂとのそれぞれに接続されている。つまり、この重みオブジェクト１００３ａは、その接続先の条件オブジェクト１００１ａが管理するイベント（すなわち、サーバＡのｉＳＣＳＩの通信障害というイベント）の、その接続先の結論オブジェクト１００４ｂに設定されているインパクテッドノード数（すなわち「４」）に関係する第２の検知データを管理する。ちなみに、重みオブジェクト１００３ａに接続されている条件オブジェクト１００１ａ及び結論オブジェクト１００４ｂは、互いに接続されている（すなわち、対応する条件及び結論が、関連付けられている）。
【００６２】
重みオブジェクト１００３は、情報フィールドとして、「Ｉｍｐａｃｔ」１０１３と、「Ｗｅｉｇｈｔ」１０２３とを含む。「Ｉｍｐａｃｔ」１０１３には、管理する第２の検知データに関係するインパクテッドノード数が設定される。なお、互いに接続される重みオブジェクト１００３及び結論オブジェクト１００４には、同一のインパクテッドノード数が設定される。
【００６３】
「Ｗｅｉｇｈｔ」１０２３には、第２の検知データが設定される。本実施例において、第２の検知データとしては、重みの値が設定される。重みは、例えば「０．０」又は「１．０」の値をとる。重みの値「０．０」は、イベントの検知が無効であること、すなわち、イベントが未だ検知されていない（つまり、そのイベントを管理する条件オブジェクト１００１の「Ｒｅｃｅｉｖｅｄ」１０３１に未だ受信時間が設定されていない）か、イベントが検知されていたとしても原因解析においては検知されているイベントとして取り扱われないことを示す。一方、重みの値「１．０」は、イベントの検知が有効であること、すなわち、イベントが検知されており、原因解析において検知されているイベントとして取り扱われることを示す。例えば、条件オブジェクト１００１ａが管理するイベント（サーバＡのｉＳＣＳＩの通信障害というイベント）が検知された場合、その条件オブジェクト１００１ａに接続されている重みオブジェクト１００３ａ、１００３ｂのフィールド「Ｗｅｉｇｈｔ」１０２３に重みの値「１．０」が設定され、当該イベントの検知が有効となる。
【００６４】
なお、管理計算機１００は、原因解析において、各条件オブジェクト１００１が管理するイベントの、過去の所定時間内（この時間幅を「解析時間幅」という）における検知の有無に基づいて、各結論オブジェクト１００４が管理する確信度を計算している。具体的な処理の一例としては、原因解析時に、各重みオブジェクト１００３が管理する重みが有効に設定されているか又は無効に設定されているかを参照することによりイベントの検知の有無を判断し、その検知の有無に基づいて確信度を計算する。従って、解析時間幅は、イベントが検知されて重みが有効に設定されてから、その重みが無効に設定されるまでの時間幅、すなわち、イベントの検知の有効期間によって実現できる。すなわち、解析時間幅と同じ値が有効期間として設定される。このように、イベントの検知の有効期間は、解析時間幅と同じ値が設定されるため、以下、イベントの検知の有効期間についても「解析時間幅」という。
【００６５】
なお、重みは、イベントの検知が有効であるか無効であるかに加えて、有効である場合にその有効の度合いを示し得る値であってもよい。具体的には、例えば、重みが「０．０」〜「１．０」の値をとり、重みの値「０．０」がイベントの検知が無効であることを示し、重みの値「０．０」以外がイベントの検知が有効であることを示し、数値の大きさが有効の度合いを示すように構成してもよい。この場合、例えば、時間経過に伴って有効の度合いが小さくなるように構成することができる。具体的には、例えば、重みの値を、イベントが検知されてから一定期間は「１．０」とし、その後「０．０」になるまで徐々に減少させてもよい。
【００６６】
このように、条件オブジェクト１００１が管理する各イベントについて、影響範囲を示す指標値ごとに第２の検知データを管理することで、イベントの検知を無効にするタイミングを、影響範囲を示す指標値ごとに異ならせることが可能となる。つまり、解析時間幅を、影響範囲を示す指標値ごとに異ならせることが可能となる。
【００６７】
なお、ルールメモリデータ１２４は、図１０で説明した構造に限られるものではなく、条件及び結論の関連付け、イベントに関する第１及び第２の検知データ、結論の確信度を表現し得る他のデータ構造を採用してもよい。
【００６８】
図１１は、イベントメッセージの一例を示す図である。
【００６９】
イベントメッセージ１１００は、監視対象オブジェクトでイベントが発生したことを示す情報であり、監視エージェント４０２、５０２により管理計算機１００へ送信される。イベントメッセージ１１００は、情報フィールドとして、ノードタイプ１１０１と、ノード名と１１０２と、イベントタイプ１１０３とを含む。ノードタイプ１１０１には、イベントの発生元のノード装置の種別が格納される。ノード名１１０２には、イベントの発生元のノード装置の名称が格納される。イベントタイプ１１０３には、イベントの種別が格納される。
【００７０】
図１２は、イベント情報テーブルの一例を示す図である。
【００７１】
イベント情報テーブル１２５は、発生したイベントに関するイベントエントリ１２５０を管理するためのテーブルである。イベント検知プログラム１１１は、イベントメッセージ１１００を受信した場合に、受信したイベントメッセージ１１００により通知されたイベントに関するイベントエントリ１２５０を作成し、このテーブル１２５に入れる。
【００７２】
各イベントエントリ１２５０は、情報フィールドとして、ノードタイプ１２５１と、ノード名１２５２と、イベントタイプ１２５３と、受信時間１２５４とを含む。ノードタイプ１２５１には、イベントの発生元のノード装置の種別が格納される。ノード名１２５２には、イベントの発生元のノード装置の名称が格納される。イベントタイプ１２５３には、イベントの種別が格納される。受信時間１２５４には、イベントの発生を示すイベントメッセージ１１００の受信時間が格納される。なお、イベントの検知は、必ずしも図１１のようなイベントメッセージによって検知しなくてもよい。例えば、くり返しイベント検知プログラムが監視対象オブジェクトの状態等の値を取得し、前回との差異を比較して所定の条件（例えば前回は正常状態で今回は異常状態を取得）を満たした場合にイベント検知とみなしてもよい。
【００７３】
図１３は、イベント消去タスクテーブルの一例を示す図である。
【００７４】
イベント消去タスクテーブル１２６は、イベント消去タスクに関するイベント消去タスクエントリ１２６０を管理するためのテーブルである。ここで、イベント消去タスクとは、検知されてから解析時間幅が経過したイベントについて、そのイベントに関係する重みをリセット、すなわち、重みを無効に設定する処理を行うタスクのことをいう。イベント消去タスクは、イベントの検知時に、後述するイベント消去タスク生成処理（図２０参照）において生成される。イベント消去タスクは、重みが有効に設定された重みオブジェクト１００３ごとに生成される。以下、イベント消去タスクの処理対象の重みオブジェクト１００３が管理する重みに関係するイベントを「消去処理対象イベント」と呼び、イベント消去タスクの処理対象の重みオブジェクト１００３が管理する重みに関係するインパクテッドノード数を「消去処理対象インパクテッドノード数」と呼ぶ。
【００７５】
各イベント消去タスクエントリ１２６０は、情報フィールドとして、例えば、開始時間１２６１と、ノード名１２６２と、イベントタイプ１２６３と、インパクテッドノード数１２６４と、受信時間１２６５とを含む。ノード名１２６２には、消去処理対象イベントの発生元のノード装置の名称が格納される。イベントタイプ１２６３には、消去処理対象イベントの種別が格納される。インパクテッドノード数１２６４には、消去処理対象インパクテッドノード数が格納される。受信時間１２６５には、消去処理対象イベントの発生を示すイベントメッセージ１１００の受信時間が格納される。開始時間１２６１には、イベント消去タスクの実行が開始される時間（以下「消去処理開始時間」という）が格納される。
【００７６】
消去処理開始時間は、例えば、消去処理対象イベントが検知されてから、その消去処理対象イベントの、消去処理対象インパクテッドノード数に関して決められた解析時間幅が経過した時点の時間とされる。解析時間幅が経過したイベントについては、確信度計算処理の対象から除外される。解析時間幅は、１つのイベントについて、そのイベントを示す条件に関連付けられている結論のインパクテッドノード数に基づいて値が決められる。例えば、そのイベントを示す条件に関連付けられている結論のインパクテッドノード数が複数種類あれば、それぞれのインパクテッドノード数に基づいて値が決められる。解析時間幅は、インパクテッドノード数に基づいて、例えば、以下の式１又は式２により計算される。
解析時間幅  ＝  Ｔ０×Ｎｉ      ・・・（式１）
解析時間幅  ＝  Ｔ０×（１＋ｌｏｇ（Ｎｉ））      ・・・（式２）
【００７７】
ここで、Ｔ０は、１インパクテッドノードあたりの、イベントの検知の有効期間であり、予め定められる基準値である。なお、この基準値は、最低１つあればよいが、例えば、ノード装置の種別とイベントの種別との組み合わせごとに用意されていてもよい。Ｎｉは、インパクテッドノード数である。式１及び式２は、いずれも、インパクテッドノード数が大きいほど、解析時間幅がより広くなるように定義されている。これにより、影響範囲の広い結論については、より広い解析時間幅を用いて原因解析を行うことができるようになる。なお、本実施例において、解析時間幅は、イベント消去タスクが生成される際に決定されるが、原因解析が行われる際に決定されてもよい。
【００７８】
図１４は、重みの値の変化の例を示す図である。
【００７９】
実線１４１１は、本実施例における重み（すなわち、イベントの検知の有効の度合いが考慮されていない重み）の変化を示している。イベントが検知された時間Ａにおいて、重みの値は「１．０」に設定される。この際、この重みに関係するインパクテッドノード数に基づいて、検知されたイベントの解析時間幅１４２１が決定される。その後、解析時間幅１４２１が経過した時間Ｂにおいて、重みの値は「０．０」に設定される。なお、この重みに関係するイベントは、時間Ａから解析期間幅１４２１経過後の時間Ｂまでの間に原因解析が行われた場合に、検知が有効であるとして取り扱われ、それ以降は、再び検知されるまで検知が無効であるとして取り扱われる。
【００８０】
一方、破線１４１２は、イベントの検知の有効の度合いが考慮された重みの変化の一例を示している。有効の度合いが考慮されていない場合（実線１４１１）と同様に、イベントが検知された時間Ａにおいて、重みの値は「１．０」に設定され、重みの値は、重みが一定として扱われる予め決められた有効期間が経過する時間Ｂまで一定とされる。その後、重みの値は、徐々に減少され、時間Ｃにおいて「０．０」に設定される。なお、この場合、この重みに関係するイベントは、時間Ａから時間Ｃまでの間に原因解析が行われたときに、検知が有効であるとして取り扱われ、それ以降は、再び検知されるまで検知が無効であるとして取り扱われる。従って、この場合、時間Ａから時間Ｃまでの時間幅１４２２が解析時間幅となる。また、時間Ｂから時間Ｃまでの間は、イベントの検知の有効の度合いが最大ではないことも考慮されて、確信度が計算される。なお、時間Ｂから時間Ｃまでの間の重みの減衰は、同図のような直線的な減衰に限られず、折れ線や曲線に従った減衰であってもよい。
【００８１】
以下に、イベントの検知の有効の度合いが考慮された重みの計算方法の一例を示す。この例は、インパクテッドノード数が増えると重みの減衰の傾きが緩やかになる例を示している。
【００８２】
（１）まず、以下の式３に基づいて、イベント超過時間が計算される。
イベント超過時間  ＝  現在時間  −（イベントの受信時間＋有効期間）      ・・・（式３）
（ここで、有効期間は、重みの値が「１．０」と一定に扱われる期間であり、予め設定されている。）
【００８３】
（２）次に、以下の式４に基づいて、減衰量が計算される。
減衰量  =  減衰率  ×  イベント超過時間  ÷（１＋ｌｏｇ（インパクテッドノード数））      ・・・（式４）
（ここで、減衰率は、予め設定された値となっている。）
【００８４】
（３）次に、以下の処理が行われる。
（３−１）（２）での結果、減衰量が０よりも小さい場合は、重みの値は「１．０」とされる。
（３−２）（２）での結果、減衰量が１よりも大きい場合は、重みの値は「０．０」とされる。
（３−３）（２）での結果、減衰量が０以上かつ１以下の場合は、重みの値は、「１．０」から減衰量を減算した値とされる。
【００８５】
以下、管理計算機１００が行う各処理についてフローチャートを参照して説明する。
【００８６】
図１５は、ルール展開処理のフローチャートである。
【００８７】
ルール展開処理は、構成情報１２１及び汎用ルールに基づいて、展開ルール及びルールメモリデータ１２４を生成する処理である。管理計算機１００は、監視対象オブジェクトの監視を行う前、すなわちイベントの検知前にルール展開処理を行って、ルールメモリデータ１２４を予め生成しておいてもよいし、イベントの検知後或いは後述する確信度計算処理（図１９参照）の実行の際にルール展開処理を行って、オンデマンドにルールメモリデータ１２４の全部又は一部を生成してもよい。ルールメモリデータ１２４又は展開ルールは、管理計算機１００がイベントの原因解析を行う上での一時的な生成物であってもよい。
【００８８】
まず、ルール展開プログラム１１２は、監視対象装置から構成に関する情報を取得し、取得した情報に基づいて構成情報１２１を生成し又は更新する（ステップＳ１０１）。
【００８９】
次に、ルール展開プログラム１１２は、構成情報１２１及び汎用ルールに基づいて、展開ルール及びルールメモリデータ１２４を生成する（ステップＳ１０２）。本ステップは、具体的には、（Ａ）汎用ルールの条件と結論の関係を満たすノード装置の組み合わせを構成情報１２１から探し、探した組み合わせで汎用ルールの条件と結論にノード装置の識別子を加えて展開ルールを作成し、（Ｂ）展開ルールの条件と結論に対応する条件オブジェクト、結論オブジェクト、演算子オブジェクトをルールメモリデータ１２４に作成する。なお、ここで生成されるルールメモリデータ１２４は、重みオブジェクト１００３を未だ含んでいない中間的な状態のデータである。
【００９０】
次に、ルール展開プログラム１１２は、重みオブジェクト追加プログラム１１７に重みオブジェクト追加処理（図１６参照）を実行させる（ステップＳ１０３）。この重みオブジェクト追加処理により、ステップＳ１０２で生成された中間的な状態のルールメモリデータ１２４に、重みオブジェクト１００３が追加され、最終的な状態のルールメモリデータ１２４が生成される。
【００９１】
その後、ルール展開プログラム１１２は、生成したルールメモリデータ１２４を記憶資源１０２に記憶し（ステップＳ１０４）、ルール展開処理を終了する。
【００９２】
図１６は、重みオブジェクト追加処理のフローチャートである。
【００９３】
重みオブジェクト追加処理は、中間的な状態のルールメモリデータ１２４に重みオブジェクト１００３を追加する処理である。重みオブジェクト追加処理は、図１５におけるステップＳ１０３の処理に対応する。
【００９４】
重みオブジェクト追加プログラム１１７は、ルールメモリデータ１２４に含まれる結論オブジェクト１００４のそれぞれについて、ステップＳ２０１〜ステップＳ２０５の処理を繰り返して行う。まず、重みオブジェクト追加プログラム１１７は、ルールメモリデータ１２４に含まれる結論オブジェクト１００４のうちの１つ（以下のステップＳ２０１〜ステップＳ２０５において「対象結論オブジェクト」という）を選択する。
【００９５】
重みオブジェクト追加プログラム１１７は、インパクテッドノード数算出プログラム１１３に、対象結論オブジェクト１００４に対応する結論（以下「対象結論」という）を指定するパラメータを入力として、対象結論についてのインパクテッドノード数算出処理（図１７参照）を実行させる（ステップＳ２０１）。このインパクテッドノード数算出処理により、対象結論のインパクテッドノード数が算出される。
【００９６】
次に、重みオブジェクト追加プログラム１１７は、対象結論オブジェクト１００４の「Ｉｍｐａｃｔ」１０５４に、ステップＳ２０１で算出された対象結論のインパクテッドノード数を設定する（ステップＳ２０２）。
【００９７】
その後、重みオブジェクト追加プログラム１１７は、対象結論オブジェクト１００４に接続されている演算子オブジェクト１００２のそれぞれについて、ステップＳ２０３〜ステップＳ２０５の処理を繰り返して行う。重みオブジェクト追加プログラム１１７は、対象結論オブジェクト１００４に接続されている演算子オブジェクト１００２のうちの１つ（以下のステップＳ２０３〜ステップＳ２０５において「対象演算子オブジェクト」という）を選択する。
【００９８】
重みオブジェクト追加プログラム１１７は、対象演算子オブジェクト１００２に接続されている重みオブジェクト１００３の中に、対象結論のインパクテッドノード数と同一のインパクテッドノード数が設定されている重みオブジェクト１００３（以下「指標値同一重みオブジェクト」という）が存在するか否かを判定する（ステップＳ２０３）。この判定は、対象演算子オブジェクト１００２に接続されている各重みオブジェクト１００３について、その「Ｉｍｐａｃｔ」１０１３の値が対象結論のインパクテッドノード数と一致するか否かを判定することにより行われる。なお、対象演算子オブジェクト１００２に接続されている条件オブジェクト１００１は、対象結論に関連付けられている条件の１つに対応する。従って、ここで判定の対象としている、対象演算子オブジェクト１００２に接続されている重みオブジェクト１００３とは、対象結論に関連付けられている条件の１つに関係する重み（条件が示すイベントに関係する重み）を管理する重みオブジェクト１００３である。
【００９９】
指標値同一重みオブジェクト１００３が存在しない場合（ステップＳ２０３：ＮＯ）、重みオブジェクト追加プログラム１１７は、重みオブジェクト１００３を１つ生成し、その生成した重みオブジェクト１００３の「Ｉｍｐａｃｔ」１０１３に対象結論のインパクテッドノード数を設定する。また、重みオブジェクト追加プログラム１１７は、生成した重みオブジェクト１００３と対象演算子オブジェクト１００２とを接続する（ステップＳ２０４）。
【０１００】
その後、重みオブジェクト追加プログラム１１７は、ステップＳ２０４で生成した重みオブジェクト１００３と対象結論オブジェクト１００４とを接続する（ステップＳ２０５）。
【０１０１】
一方、ステップＳ２０３において、指標値同一重みオブジェクト１００３が存在すると判定された場合（ステップＳ２０３：ＹＥＳ）、重みオブジェクト追加プログラム１１７は、ステップＳ２０４の処理を行わずに、すなわち、重みオブジェクト１００３を新たに生成することなく、ステップＳ２０５の処理を行う。この場合、重みオブジェクト追加プログラム１１７は、ステップＳ２０５において、指標値同一重みオブジェクト１００３と対象結論オブジェクト１００４とを接続する。これにより、同じ条件に関連付けられている、インパクテッドノード数が同一の複数の結論オブジェクト１００４間で、重みオブジェクト１００３を共有することができる。
【０１０２】
重みオブジェクト追加プログラム１１７は、対象結論オブジェクト１００４に接続されている演算子オブジェクト１００２のそれぞれについてステップＳ２０３〜ステップＳ２０５の処理を終え、ルールメモリデータ１２４に含まれる結論オブジェクト１００４のそれぞれについてステップＳ２０１〜ステップＳ２０５の処理を終えた後、重みオブジェクト追加処理を終了する。
【０１０３】
このように、管理計算機１００は、各結論のインパクテッドノード数を算出し、各条件について、その条件に関連付けられている結論のインパクテッドノード数ごとに重みオブジェクトを生成する。また、同じ条件に関連付けられている、インパクテッドノード数が同一の複数の結論オブジェクト１００４間で、重みオブジェクト１００３が共有される。これにより、重みオブジェクト１００３に必要なデータ量を低減でき、ルールメモリデータ１２４のデータサイズが削減される。また、ルールメモリデータ１２４内のオブジェクト数及びオブジェクト間の接続の数が減ることから、重みの設定変更に要する時間が短縮される。なお、同じ条件オブジェクトに関連付けられている、インパクテッドノード数が同一の複数の結論オブジェクトについて、重みオブジェクト１００３を共有せずに、それぞれ別々に重みオブジェクト１００３を生成してもよい。
【０１０４】
図１７は、インパクテッドノード数算出処理のフローチャートである。
【０１０５】
インパクテッドノード数算出処理は、重みオブジェクト追加プログラム１１７から入力された結論についてのインパクテッドノード数を算出する処理である。インパクテッドノード数算出処理は、図１６におけるステップＳ２０１の処理に対応する。
【０１０６】
インパクテッドノード数算出プログラム１１３は、重みオブジェクト追加プログラム１１７から、インパクテッドノード数の算出対象となる結論（図１７の説明において「対象結論」という）を指定するパラメータを受信する（ステップＳ３０１）と、変数「ＩｍｐＮｕｍ」に０を代入する（ステップＳ３０２）。
【０１０７】
次に、インパクテッドノード数算出プログラム１１３は、ルールメモリデータ１２４から、対象結論に対応する結論オブジェクト１００４（図１７の説明において「対象結論オブジェクト」という）に接続されている条件オブジェクト１００１のうちの１つ（以下のステップＳ３０３〜ステップＳ３０５において「対象条件オブジェクト」という）を取得し、対象条件オブジェクト１００１の「Ｎｏｄｅ」１０１１を参照し、対象条件オブジェクト１００１が管理するイベントの発生元となるノード装置を特定する（ステップＳ３０３）。この特定されたノード装置が、対象結論が原因となる場合に影響範囲に属するノード装置、すなわち、影響を受けてイベントを発生するノード装置（インパクテッドノード）である。
【０１０８】
その後、インパクテッドノード数算出プログラム１１３は、ステップＳ３０３で特定したノード装置がカウント済みのノード装置であるか否かを判定する（ステップＳ３０４）。
【０１０９】
ステップＳ３０３で特定したノード装置がカウント済みのノード装置ではない場合（ステップＳ３０４：ＮＯ）、インパクテッドノード数算出プログラム１１３は、変数「ＩｍｐＮｕｍ」の値に１を加え,特定したノード装置をカウント済みのノード装置とする情報を記憶資源１０２に記憶し（ステップＳ３０５）、ステップＳ３０６へ処理を進める。
【０１１０】
一方、ステップＳ３０３で特定したノード装置がカウント済みのノード装置である場合（ステップＳ３０４：ＹＥＳ）、インパクテッドノード数算出プログラム１１３は、ステップＳ３０５の処理を行わずに、ステップＳ３０６へ処理を進める。すなわち、イベントの発生元となるノード装置が同一である場合は、インパクテッドノード数算出プログラム１１３は、それら同一のノード装置を重複してカウントしない。
【０１１１】
その後、インパクテッドノード数算出プログラム１１３は、対象結論オブジェクト１００４に接続されている全ての条件オブジェクト１００１についてステップＳ３０３以降の処理を行ったか否か、すなわちインパクテッドノード数のカウントの対象としたかか否かを判定する（ステップＳ３０６）。
【０１１２】
この結果、対象結論オブジェクト１００４に接続されている条件オブジェクト１００１の中に未だインパクテッドノード数のカウントの対象とされていない条件オブジェクト１００１が存在する場合（ステップＳ３０６：ＮＯ）、インパクテッドノード数算出プログラム１１３は、そのカウントの対象とされていない条件オブジェクト１００１を対象条件オブジェクト１００１として選択し、再度ステップＳ３０３以降の処理を行う。
【０１１３】
一方、対象結論オブジェクト１００４に接続されている全ての条件オブジェクト１００１についてインパクテッドノード数のカウントの対象とされた場合（ステップＳ３０６：ＹＥＳ）、インパクテッドノード数算出プログラム１１３は、変数「ＩｍｐＮｕｍ」の値を対象結論のインパクテッドノード数として、重みオブジェクト追加プログラム１１７に対して出力し、インパクテッドノード数算出処理を終了する。
【０１１４】
このように、管理計算機１００は、ルールメモリデータ１２４に基づいて、対象結論オブジェクト１００４に接続されている条件オブジェクト１００１が管理するイベントの発生元となるノード装置の数をカウントすることにより、対象結論のインパクテッドノード数を算出する。なお、管理計算機１００は、例えば、展開ルールに基づいて、対象結論に関連付けられている条件が示すイベントの発生元となるノード装置の数をカウントすることにより、対象結論のインパクテッドノード数を算出してもよい。
【０１１５】
図１８は、イベント検知処理のフローチャートである。
【０１１６】
イベント検知処理は、管理計算機１００が監視対象装置からイベントメッセージ１１００を受信した際に行う処理である。
【０１１７】
まず、イベント検知プログラム１１１は、監視対象装置（具体的には、監視対象装置内の監視エージェント４０２、５０２）からイベントメッセージ１１００を受信する（ステップＳ４０１）。
【０１１８】
次に、イベント検知プログラム１１１は、受信したイベントメッセージ１１００（以下「受信メッセージ」という）が示すイベント（以下「検知イベント」という）に関するイベントエントリ１２５０を作成する。検知イベントに関するイベントエントリ１２５０には、受信メッセージ１１００に含まれる、検知イベントの発生元のノード装置の種別及び名称、並びに検知イベントの種別と、受信メッセージ１１００の受信時間とが格納される。そして、イベント検知プログラム１１１は、その作成したイベントエントリ１２５０をイベント管理テーブル１２５に追加する（ステップＳ４０２）。
【０１１９】
その後、イベント検知プログラム１１１は、検知イベントを管理する条件オブジェクト１００１がルールメモリデータ１２４に存在するか否かを判定する（ステップＳ４０３）。具体的には、イベント検知プログラム１１１は、検知イベントの種別及びその発生元のノード装置の名称をキーにルールメモリデータ１２４を検索し、「Ｅｖｅｎｔ」１０２１及び「Ｎｏｄｅ」１０１１に設定されているイベントの種別及び発生元のノード装置の名称がキーと一致する条件オブジェクト１００１（検知イベントを管理する条件オブジェクト１００１）が存在するか否かを判定する。
【０１２０】
検知イベントを管理する条件オブジェクト１００１がルールメモリデータ１２４に存在しない場合（ステップＳ４０３：ＮＯ）、イベント検知プログラム１１１は、イベント検知処理を終了する。
【０１２１】
一方、検知イベントを管理する条件オブジェクト１００１がルールメモリデータ１２４に存在する場合（ステップＳ４０３：ＹＥＳ）、イベント検知プログラム１１１は、検知イベントを管理する条件オブジェクト１００１の「Ｒｅｃｅｉｖｅｄ」１０３１に受信メッセージ１１００の受信時間を設定する（ステップＳ４０４）。
【０１２２】
そして、イベント検知プログラム１１１は、検知イベントを管理する条件オブジェクト１００１に接続されている各重みオブジェクト１００３の「Ｗｅｉｇｈｔ」１０２３に重みの値「１．０」を設定する（ステップＳ４０５）。
【０１２３】
その後、イベント検知プログラム１１１は、検知イベントを管理する条件オブジェクト１００１を指定するパラメータを入力として、確信度計算プログラム１１４に確信度計算処理を実行させる（ステップＳ４０６）。この確信度計算処理により、検知イベントを示す条件に関連付けられている各結論について、確信度が計算され、その結果が返却される。
【０１２４】
その後、イベント検知プログラム１１１は、検知イベントを管理する条件オブジェクト１００１を指定するパラメータを入力として、イベント消去タスク生成プログラム１１６にイベント消去タスク生成処理を実行させる（ステップＳ４０７）。このイベント消去タスク生成処理により、検知イベントを管理する条件オブジェクト１００１に接続されている各重みオブジェクト１００３について、その設定されている重みを解析時間幅経過後にリセットするためのイベント消去タスクが生成される。その後、イベント検知プログラム１１１は、イベント検知処理を終了する。
【０１２５】
このように、管理計算機１００は、イベントメッセージ１１００を受信した場合、検知イベントに関するイベントエントリ１２５０をイベント情報テーブル１２５に追加し、検知イベントに関係する重みを有効に設定（具体的には、重みの値を「１．０」に設定）し、ルールメモリデータ１２４に基づいて確信度を計算し、検知イベントに関係する重みをリセットするためのイベント消去タスクを生成する。
【０１２６】
図１９は、確信度計算処理のフローチャートである。
【０１２７】
確信度計算処理は、ルールメモリデータ１２４に基づいて、入力された条件オブジェクト１００１に接続されている各結論オブジェクト１００４について、その結論の確信度を計算する処理である。確信度計算処理は、図１８におけるステップＳ４０６の処理又は図２１におけるステップＳ７０８の処理に対応する。
【０１２８】
確信度計算プログラム１１４は、イベント検知プログラム１１１、又は、イベント消去プログラム１１５により入力された処理の対象となる条件オブジェクト１００１（図１９の説明において「対象条件オブジェクト」という）を指定するパラメータを受信する（ステップＳ５０１）。
【０１２９】
まず、確信度計算プログラム１１４は、ルールメモリデータ１２４から、対象条件オブジェクト１００１に接続されている演算子オブジェクト１００２のうちの１つ（以下のステップＳ５０２〜ステップＳ５０９において「対象演算子オブジェクト」という）を取得する（ステップＳ５０２）。
【０１３０】
次に、確信度計算プログラム１１４は、ルールメモリデータ１２４から、対象演算子オブジェクト１００２に接続されている重みオブジェクト１００３のうちの１つ（以下のステップＳ５０３〜ステップＳ５０８において「対象重みオブジェクト」という）を取得する（ステップＳ５０３）。
【０１３１】
次に、確信度計算プログラム１１４は、ルールメモリデータ１２４から、対象重みオブジェクト１００３に接続されている結論オブジェクト１００４のうちの１つ（以下のステップＳ５０４〜ステップＳ５０７において「対象結論オブジェクト」という）を取得する（ステップＳ５０４）。なお、以下のステップＳ５０４〜ステップＳ５０７において、対象結論オブジェクト１００４に対応する結論を「対象結論」という。
【０１３２】
その後、確信度計算プログラム１１４は、ルールメモリデータ１２４から、対象結論オブジェクト１００４に接続されている全ての重みオブジェクト１００３を取得する（ステップＳ５０５）。なお、ここで取得される重みオブジェクト１００３は、いずれも、対象結論に関連付けられている条件に対応する条件オブジェクト１００１に演算識別オブジェクト１００２を介して接続されており、対象結論に関連付けられている条件に関係する重みを管理する。つまり、このステップＳ５０５では、対象結論に関連付けられている各条件の、対象結論のインパクテッドノード数に関係する重みを管理する重みオブジェクト１００３が、全て取得される。
【０１３３】
そして、確信度計算プログラム１１４は、ステップＳ５０５で取得した重みオブジェクト１００３のそれぞれに設定されている重みの値、すなわち、「Ｗｅｉｇｈｔ」１０２３に設定されている値を合計する（ステップＳ５０６）。
【０１３４】
その後、確信度計算プログラム１１４は、「重みの合計」を「条件オブジェクトの数」で除算することにより、対象結論の確信度を計算する。ここで、「重みの合計」は、ステップＳ５０５で計算された重みの合計値であり、「条件オブジェクトの数」は、対象結論オブジェクト１００４に接続されている条件オブジェクト１００１の数である。なお、重みは、イベントの検知が有効であるか無効であるかを示しており、その値を「１．０」又は「０．０」の２値としている場合には、「重みの合計」は、イベントの検知が有効となっているイベント（すなわち、イベントが検知されてから解析時間幅を経過していないイベント）の数となる。つまり、計算される確信度は、対象結論に関連付けられている条件が示すイベントのうちの、その検知が有効となっているイベントの割合を示している。そして、確信度計算プログラム１１４は、計算した確信度を対象結論オブジェクト１００４のフィールド「ＭＲ」１０４４に設定する（ステップＳ５０７）。
【０１３５】
その後、確信度計算プログラム１１４は、対象重みオブジェクト１００３に接続されている全ての結論オブジェクト１００４についてステップＳ５０４〜ステップＳ５０７の処理が行われたか否かを判定する（ステップＳ５０８）。
【０１３６】
ステップＳ５０４〜ステップＳ５０７の処理が未だ行われていない、対象重みオブジェクト１００３に接続されている結論オブジェクト１００４が存在する場合（ステップＳ５０８：ＮＯ）、確信度計算プログラム１１４は、未処理の結論オブジェクト１００４に対してステップＳ５０４〜ステップＳ５０７の処理を行う。
【０１３７】
一方、対象重みオブジェクト１００３に接続されている全ての結論オブジェクト１００４についてステップＳ５０４〜ステップＳ５０７の処理が行われている場合（ステップＳ５０８：ＹＥＳ）、確信度計算プログラム１１４は、対象演算子オブジェクト１００２に接続されている全ての重みオブジェクト１００３についてステップＳ５０３〜ステップＳ５０８の処理が行われたか否かを判定する（ステップＳ５０９）。
【０１３８】
ステップＳ５０３〜ステップＳ５０８の処理が未だ行われていない、対象演算子オブジェクト１００２に接続されている重みオブジェクト１００３が存在する場合（ステップＳ５０９：ＮＯ）、確信度計算プログラム１１４は、未処理の重みオブジェクト１００３に対してステップＳ５０３〜ステップＳ５０８の処理を行う。
【０１３９】
一方、対象演算子オブジェクト１００２に接続されている全ての重みオブジェクト１００３についてステップＳ５０３〜ステップＳ５０８の処理が行われている場合（ステップＳ５０９：ＹＥＳ）、確信度計算プログラム１１４は、対象条件オブジェクト１００１に接続されている全ての演算子オブジェクト１００２についてステップＳ５０２〜ステップＳ５０９の処理が行われたか否かを判定する（ステップＳ５１０）。
【０１４０】
ステップＳ５０２〜ステップＳ５０９の処理が未だ行われていない、対象条件オブジェクト１００１に接続されている演算子オブジェクト１００２が存在する場合（ステップＳ５１０：ＮＯ）、確信度計算プログラム１１４は、未処理の演算子オブジェクト１００２に対して、ステップＳ５０２〜ステップＳ５０９の処理を行う。
【０１４１】
一方、対象条件オブジェクト１００１に接続されている全ての演算子オブジェクト１００２についてステップＳ５０２〜ステップＳ５０９の処理が行われている場合（ステップＳ５１０：ＹＥＳ）、確信度計算プログラム１１４は、確信度計算処理を終了する。
【０１４２】
このように、管理計算機１００は、ルールメモリデータ１２４に基づいて、入力された条件オブジェクト１００１に対応する条件に関連付けられている各結論の確信度を計算する。各結論の確信度を計算する際は、当該結論に関連付けられている各条件の、当該結論のインパクテッドノード数に関係する重みが参照され、当該結論に関連付けられている条件が示すイベントのうちのその検知が有効となっているイベントの数が求められる。また、管理計算機１００は、計算した確信度に基づいて、根本原因となる可能性のある結論、すなわち根本原因の候補（以下「原因候補」という）を決定する。例えば、管理計算機１００は、ルールメモリデータ１２４から、確信度が所定の値を超えている結論オブジェクト１００４を検出し、その検出した結論オブジェクト１００４に対応する結論を原因候補と決定する。また、例えば、管理計算機１００は、ルールメモリデータ１２４から、確信度が高い上位数個の結論オブジェクト１００４を抽出し、その抽出した結論オブジェクト１００４に対応する結論を原因候補と決定する。そして、管理計算機１００は、原因候補を示す原因解析の結果情報（第１、第２の解析結果表示画面等：図２３、２４）を、表示計算機２００に接続されたディスプレイ２０６に表示する。なお、確信度の計算は、条件が示すイベントを多く検知すればより高い確信が得られたことを意味する値を出力する計算式であれば他の計算式であってもよい。
【０１４３】
図２０は、イベント消去タスク生成処理のフローチャートである。
【０１４４】
イベント消去タスク生成処理は、ルールメモリデータ１２４に基づいて、イベント検知プログラム１１１から入力された条件オブジェクト１００１に接続されている各重みオブジェクト１００３について、イベント消去タスクを生成する処理である。イベント消去タスク生成処理は、図１８におけるステップＳ４０７の処理に対応する。
【０１４５】
イベント消去タスク生成プログラム１１６は、イベント検知プログラム１１１から処理の対象となる条件オブジェクト１００１（図２０の説明において「対象条件オブジェクト」という）を指定するパラメータを受信すると（ステップＳ６０１）、ルールメモリデータ１２４から、対象条件オブジェクト１００１に接続されている演算子オブジェクト１００２のうちの１つ（以下のステップＳ６０２〜ステップＳ６０８において「対象演算子オブジェクト」という）を取得する（ステップＳ６０２）。
【０１４６】
次に、イベント消去タスク生成プログラム１１６は、ルールメモリデータ１２４から、対象演算子オブジェクト１００２に接続されている重みオブジェクト１００３のうちの１つ（以下のステップＳ６０３〜ステップＳ６０７において「対象重みオブジェクト」という）を取得する（ステップＳ６０３）。
【０１４７】
その後、イベント消去タスク生成プログラム１１６は、対象重みオブジェクト１００３を処理対象とするイベント消去タスク（以下、図２０の説明において「対象イベント消去タスク」という）を生成し、その対象イベント消去タスクに関するイベント消去タスクエントリ１２６０（以下、図２０の説明において「対象イベント消去タスクエントリ」という）を作成する（生成済みであれば生成は省略してもよい）。そして、イベント消去タスク生成プログラム１１６は、対象イベント消去タスクエントリ１２６０のノード名１２６２及びイベントタイプ１２６３に、受信した条件オブジェクト１００１の「Ｎｏｄｅ」１０１１及び「Ｅｖｅｎｔ」１０２１に設定されているノード装置の名称及びイベントの種別を格納する。また、イベント消去タスク生成プログラム１１６は、対象イベント消去タスクエントリ１２６０の受信時間１２６５を、受信された条件オブジェクト１００１の「Ｒｅｃｅｉｖｅｄ」１０３１に設定されている受信時間に設定又は更新する（ステップＳ６０４）。
【０１４８】
また、イベント消去タスク生成プログラム１１６は、対象イベント消去タスクエントリ１２６０のインパクテッドノード数１２６４に、対象重みオブジェクト１００３の「Ｉｍｐａｃｔ」１０１３に設定されているインパクテッドノード数を格納する（ステップＳ６０５）。
【０１４９】
また、イベント消去タスク生成プログラム１１６は、対象重みオブジェクト１００３に設定されているインパクテッドノード数に基づいて、対象イベント消去タスクに関する解析時間幅を計算する。そして、イベント消去タスク生成プログラム１１６は、計算した対象イベント消去タスクに関する解析時間幅と、受信した条件オブジェクト１００１が管理するイベントの受信時間とに基づいて、対象イベント消去タスクの消去処理開始時間を決定する。そして、イベント消去タスク生成プログラム１１６は、決定した消去処理開始時間を対象イベント消去タスクエントリ１２６０の開始時間１２６１に格納する（ステップＳ６０６）。
【０１５０】
その後、イベント消去タスク生成プログラム１１６は、対象イベント消去タスクエントリ１２６０を、イベント消去タスクテーブル１２６に登録する（ステップＳ６０７）。
【０１５１】
その後、イベント消去タスク生成プログラム１１６は、対象演算子オブジェクト１００２に接続されている全ての重みオブジェクト１００３についてステップＳ６０３〜ステップＳ６０７の処理を行ったか否かを判定する（ステップＳ６０８）。
【０１５２】
ステップＳ６０３〜ステップＳ６０７の処理が未だ行われていない、対象演算子オブジェクト１００２に接続されている重みオブジェクト１００３が存在する場合（ステップＳ６０８：ＮＯ）、イベント消去タスク生成プログラム１１６は、未処理の重みオブジェクト１００３に対して、ステップＳ６０３〜ステップＳ６０７の処理を行う。
【０１５３】
一方、対象演算子オブジェクト１００２に接続されている全ての重みオブジェクト１００３についてステップＳ６０３〜ステップＳ６０７の処理を行っている場合（ステップＳ６０８：ＹＥＳ）、イベント消去タスク生成プログラム１１６は、対象条件オブジェクト１００１に接続されている全ての演算子オブジェクト１００２についてステップＳ６０２〜ステップＳ６０８の処理を行ったか否かを判定する（ステップＳ６０９）。
【０１５４】
ステップＳ６０２〜ステップＳ６０８の処理が未だ行われていない、対象条件オブジェクト１００１に接続されている演算子オブジェクト１００２が存在する場合（ステップＳ６０９：ＮＯ）、イベント消去タスク生成プログラム１１６は、未処理の演算子オブジェクト１００２に対してステップＳ６０２〜ステップＳ６０８の処理を行う。
【０１５５】
一方、対象条件オブジェクト１００１に接続されている全ての演算子オブジェクト１００２についてステップＳ６０２〜ステップＳ６０８の処理を行っている場合（ステップＳ６０９：ＹＥＳ）、イベント消去タスク生成プログラム１１６は、イベント消去タスク生成処理を終了する。
【０１５６】
図２１は、イベント消去処理のフローチャートである。
【０１５７】
イベント消去処理は、検知されてから解析時間幅が経過したイベントに関係する重みをリセットするイベント消去タスクの実行及び管理をする処理である。イベント消去処理は、くり返し（例えば、所定の時間間隔毎に）実行される。この時間間隔は、解析時間幅に比して、比較的小さい時間間隔であればよい。まず、イベント消去プログラム１１５は、イベント消去タスクテーブル１２６から開始時間が最も早い一つのイベント消去タスクエントリ１２６０を選択し、取得する（ステップＳ７０１）。
【０１５８】
次いで、イベント消去プログラム１１５は、取得したイベント消去タスクエントリ１２６０の開始時間が現在時間と同一であるか、又は現在時間より早いか否かを判定する（ステップＳ７０２）。この結果、取得したイベント消去タスクエントリ１２６０の開始時間が現在時間と同一でなく、且つ現在時間より早くない場合（ステップＳ７０２：ＮＯ）、実行するイベント消去タスクが存在しないことを意味しているので、イベント消去プログラム１１５は、イベント消去処理を終了する。
【０１５９】
一方、取得したイベント消去タスクエントリ１２６０の開始時間が現在時間と同一であるか、又は現在時間より早い場合（ステップＳ７０２：ＹＥＳ）、イベント消去プログラム１１５は、当該イベント消去タスクエントリ（以下、図２１の説明において「対象イベント消去タスクエントリ」という。）に対応するイベントタスク（以下、図２１の説明において「対象イベント消去タスク」という）の実行を開始する。すなわち、イベント消去プログラム１１５は、対象イベント消去タスクエントリ１２６０のノード名１２６２及びイベントタイプ１２６３から、消去処理対象イベントの発生元のノード装置の名称及び消去処理対象イベントの種別を取得する（ステップＳ７０３）。なお、消去処理対象イベントとは、対象イベント消去タスクの処理対象の重みオブジェクト１００３が管理する重みに関係するイベントのことである。
【０１６０】
次に、イベント消去プログラム１１５は、ルールメモリデータ１２４から、消去処理対象イベントを管理する条件オブジェクト１００１を取得する（ステップＳ７０４）。具体的には、イベント消去プログラム１１５は、ステップＳ７０３で取得した、消去処理対象イベントの発生元のノード装置の名称及び消去処理対象イベントの種別をキーにルールメモリデータ１２４を検索し、「Ｎｏｄｅ」１０１１及び「Ｅｖｅｎｔ」１０２１に設定されている発生元のノード装置の名称及びイベントの種別がキーと一致する条件オブジェクト１００１（消去処理対象イベントを管理する条件オブジェクト１００１）を取得する。
【０１６１】
次に、イベント消去プログラム１１５は、ステップＳ７０４で取得した条件オブジェクト１００１に接続されている、対象イベント消去タスクエントリ１２６０のインパクテッドノード数１２６４に格納されているインパクテッドノード数と同じ値のインパクテッドノード数が設定されている重みオブジェクト１００３を取得する（ステップＳ７０５）。なお、ここで取得された重みオブジェクト１００３が、対象イベント消去タスクの処理対象の重みオブジェクト１００３である。
【０１６２】
その後、イベント消去プログラム１１５は、ステップＳ７０５で取得した重みオブジェクト１００３の「Ｗｅｉｇｈｔ」１０２３に重みの値「０．０」を設定する（ステップＳ７０６）。
【０１６３】
そして、イベント消去プログラム１１５は、イベント消去タスクテーブル１２６から対象イベント消去タスクエントリ１２６０を削除する（ステップＳ７０７）。
【０１６４】
その後、イベント消去プログラム１１５は、ステップＳ７０２で取得した、消去処理対象イベントを管理する条件オブジェクト１００１を指定するパラメータを入力として、確信度計算プログラム１１４に確信度計算処理（図１９）を実行させる（ステップＳ７０８）。この確信度計算処理により、消去処理対象イベントを示す条件に関連付けられている各結論について、確信度が再計算される。その後、イベント消去プログラム１１５は、イベント消去処理を終了する。
【０１６５】
このように、管理計算機１００は、現在時間が消去処理開始時間に達したイベント消去タスクを実行することで、検知されてから解析時間幅が経過したイベントに関係する重みを無効に設定（具体的には、重みの値を「０．０」に設定）する。その後、管理計算機１００は、確信度計算処理を行い、無効に設定された重みに関係する条件に関連付けられている各結論の確信度を再計算する。
【０１６６】
また、ルールメモリデータ１２４内の重みオブジェクト１００３に着目すると、まず、重みオブジェクト１００３は、各条件について、その条件に関連付けられている１以上の結論のインパクテッドノード数ごとに生成される。そして、各重みオブジェクト１００３が管理する重みは、その重みに関係するイベントが検知された時点で有効に設定される。一方、イベント消去タスク情報１２６０によって、重みが有効に設定された重みオブジェクト１００３ごとに、その重みを無効に設定する時間（消去処理開始時間）が管理される。言い換えれば、イベント消去タスク情報１２６０によって、重みが有効に設定された重みオブジェクト１００３ごとに、その重みに関係するイベントの解析時間幅が管理される。ここで、解析時間幅は、インパクテッドノード数に基づいて、例えばインパクテッドノード数が大きいほど解析時間幅がより大きくなるように決定される。そして、各重みオブジェクト１００３が管理する重みは、その重みに関係するイベントが検知されてから、イベント消去タスク情報１２６０によって管理される解析時間幅が経過した時点で無効に設定される。
【０１６７】
このように、重みオブジェクト１００３ごとに第２の検知データ（本実施例では、重み）を管理することで、影響範囲を示す指標値（本実施例では、インパクテッドノード数）の異なるイベントごとに、解析時間幅を異ならせることが可能となる。これにより、同じイベントであっても、影響範囲を示す指標値が異なる結論に対しては、それぞれ異なる解析時間幅を用いて確信度の計算を行うことができるようになる。そして、解析時間幅を、影響範囲を示す指標値が大きいほどより大きい値にすることで、同じイベントであっても、影響範囲の大きい結論に対しては、より大きい解析時間幅を用いて確信度の計算を行うことができるようになる。従って、例えば、情報処理システムの規模が大きい場合であっても、解析時間幅を一律に大きくする必要はなくなり、イベントの発生時期の差が比較的大きくなると考えられる影響範囲の大きい結論に対しては解析時間幅を或る程度大きくとり、影響範囲の小さい結論に対しては解析時間幅を小さくとる、ということが可能となる。これにより、原因解析時におけるイベントの検知の取りこぼしを防ぐとともにノイズが含まれる可能性を低下させることができ、解析の精度を向上させることが可能となる。
【０１６８】
ここで、上記実施例では、イベント消去タスクテーブル１２６の開始時間を、現在時間と比較することにより、対応するイベント消去タスク（ステップＳ７０３〜Ｓ７０８）を実行するようにしていたが、例えば、予めイベント消去タスクを、対応する開始時間に起動するように設定しておくことにより、開始時間にイベント消去タスクを実行するようにしてもよい。
【０１６９】
図２２は、管理計算機が行う各処理の関係を示す図である。
【０１７０】
管理計算機１００は、例えば情報処理システムのシステム構成の変更等を契機に、ルール展開処理２２１５（図１５）を実行する。ルール展開処理２２１５により、重みオブジェクト１００３を含まない中間的なルールメモリデータ１２４が生成される。
【０１７１】
また、管理計算機１００は、ルール展開処理２２１５において、重みオブジェクト追加処理２２１６（図１６）を実行する。重みオブジェクト追加処理２２１６により、重みオブジェクト１００３を含む最終的なルールメモリデータ１２４が生成される。
【０１７２】
また、管理計算機１００は、重みオブジェクト追加処理２２１６において、インパクテッドノード数算出処理２２１７（図１７）を実行する。インパクテッドノード数算出処理２２１７により、ルールメモリデータ１２４内の各結論オブジェクト１００４に設定されるインパクテッドノード数が算出される。
【０１７３】
また、管理計算機１００は、イベントの検知を契機に、イベント検知処理２２１８（図１８）を実行する。イベント検知処理２２１８により、検知イベントに関するイベントエントリ１２５０が作成され、検知イベントに関係する重みが有効に設定される。
【０１７４】
また、管理計算機１００は、イベント検知処理２２１８において、確信度計算処理２２１９（図１９）及びイベント消去タスク生成処理２２２０（図２０）を実行する。確信度計算処理２２１９により、検知イベントを示す条件に関連付けられている各結論の確信度が計算される。また、イベント消去タスク生成処理２２２０により、検知イベントに関係する重みをリセットするためのイベント消去タスクが生成される。
【０１７５】
また、管理計算機１００は、イベント消去処理２２２１（図２１）を実行する。イベント消去処理により、検知されてから解析時間幅が経過したイベントに関係する重みが無効に設定される。その後、管理計算機１００は、確信度計算処理２２１９（図１９）を行い、無効に設定された重みに関係する条件に関連付けられている各結論の確信度を再計算する。
【０１７６】
また、管理計算機１００は、例えば管理者からの表示要求の受信等を契機に、表示処理２２２２を実行する。管理計算機１００は、表示処理２２２２において、ルールメモリデータ１２４内の各結論オブジェクト１００４が管理する確信度に基づいて、原因候補を決定する。例えば、管理計算機１００は、確信度が所定数以上の原因候補を決定するようにしてもよく、また、確信度が上位所定数の原因候補を決定するようにしてもよい。そして、管理計算機１００は、原因候補を示す原因解析の結果情報（第１、第２の解析結果表示画面等）を、表示計算機２００に接続されたディスプレイ２０６に表示する。
【０１７７】
図２３は、第１の解析結果表示画面の一例を示す図である。
【０１７８】
第１の解析結果表示画面には、複数の原因候補２３００が表示される。同図では、１０個の原因候補＃１〜＃１０が表示されている。また、第１の解析結果表示画面には、原因候補２３００ごとに、その原因候補２３００のインパクテッドノード数２３０１と、その原因候補２３００の確信度２３０２と、その原因候補２３００の解析時間幅２３０３とが表示される。
【０１７９】
原因候補２３００は、インパクテッドノード数２３０１及び確信度２３０２のいずれでもソートして表示することができる。同図の例では、原因候補２３００は、確信度２３０２で降順にソートされた中で、さらにインパクテッドノード数２３０１で降順にソートされている。具体的には、原因候補２３００は、その確信度２３０２が大きいほうから順に、また、確信度２３０２が同一の原因候補２３００については、そのインパクテッドノード数２３０１が大きいほうから順に、画面の上から下方向に並べて表示されている。
【０１８０】
このように、原因候補２３００を、インパクテッドノード数２３０１及び確信度２３０２のいずれでもソートして表示できるようにすることで、影響範囲の大きい原因候補２３００に注意を向けたり、確信度の高い原因候補２３００に注意を向けたりすることができるようになる。例えば、原因候補２３００を、インパクテッドノード数２３０１で降順にソートし、さらにインパクテッドノード数２３０１で降順にソートするようにすることもできる。従って、管理者が、確信度２３０２はそれほど高くないものの本来注目されるべき重要な原因候補２３００（例えば、影響範囲の大きい原因候補２３００）を見落とさないようにすることができる。
【０１８１】
なお、ソート列をすばやく切り替えられるために、管理計算機１００は、例えば、インパクテッドノード数２３０１でソートした上位１０件の原因候補２３００に関する情報と、確信度２３０２でソートした上位１０件の原因候補２３００に関する情報とを含む情報を、表示計算機２００の表示用結果表示プログラム２１１に送信することができる。
【０１８２】
図２４は、第２の解析結果表示画面の一例を示す図である。
【０１８３】
第２の解析結果表示画面は、１つの原因候補２３００に関する、確信度２３０２と解析時間幅２３０３との対応関係を表す画面である。例えば、第１の解析結果表示画面において、所望の原因候補２３００を指定すると、その指定された原因候補２３００（以下「指定原因候補」という）に関する第２の解析結果表示画面が表示される。
【０１８４】
同図では、確信度２３０２と解析時間幅２３０３との対応関係を、グラフとして表示している。Ｘ軸（横軸）２４０２は、時間軸である。Ｘ軸２４０２の右端が現在時間（ｎｏｗ）を示し、左端に向かうほどより過去に遡る。Ｙ軸（縦軸）２４０１は、指定原因候補２３００の確信度２３０２を表す。プロット２４４０（２４４０ａ、２４４０ｂ等）は、指定原因候補２３００に関連付けられている条件が示すイベント、すなわち、指定原因候補２３００が原因となる場合にその影響を受けて発生するイベントのうちの検知されたイベントを示している。プロット２４４０のＸ座標は、そのイベントが検知された時間を示す。プロット２４４０のＹ座標は、そのイベントの検知が有効であった場合の指定原因候補２３００の確信度２３０２を示す。同図は、指定原因候補２３００に関して、５つのイベント（プロット２４４０ａ、２４４０ｂ、２４４０ｃ、２４４０ｄ、２４４０ｅのそれぞれが示すイベント）が検知されており、それら全てのイベントの検知が有効であった場合に確信度２３０２が１００％になることを示している。なお、このことから、指定原因候補２３００が原因となる場合にその影響を受けて発生するイベントは、５つ（プロット２４４０ａ、２４４０ｂ、２４４０ｃ、２４４０ｄ、２４４０ｅのそれぞれが示すイベント）であることもわかる。
【０１８５】
破線で囲まれた矩形領域２４１０の横幅は、時間幅２４２０に対応し、この時間幅２４２０は、現在採用されている指定原因候補の解析時間幅２３０３を示している。すなわち、矩形領域２４１０は、現在、その領域内にあるイベント（プロット２４４０ｃ、２４４０ｄ、２４４０ｅが示すイベント）の検知が有効となっており、その領域外にあるイベント（プロット２４４０ａ、２４４０ｂが示すイベント）の検知が無効となっていることを示している。また、各プロット２４４０を繋いだ線２４６０と矩形領域２４１０との交点２４３０のＹ座標は、指定原因候補２３００の現在の確信度２３０２を示している。同図においては、５つのイベントのうちの３つのイベント（プロット２４４０ｃ、２４４０ｄ、２４４０ｅが示すイベント）の検知が有効となっているため、指定原因候補２３００の現在の確信度２３０２は、６０（＝３／５×１００）％である。管理者は、このグラフを参照することにより、解析時間幅２３０３をさらに時間幅２４５０だけ大きくすると、指定原因候補２３００の確信度２３０２が１００％になることを知り得る。
【０１８６】
このように、確信度２３０２と解析時間幅２３０３との対応関係を表示することにより、管理者は、解析時間幅２３０３を変化させた場合に確信度２３０２がどのように変化するかを知ることができる。例えば、管理者は、解析時間幅２３０３を少しだけ大きくすることで確信度２３０２が１００％になるのであれば、指定原因候補２３００が原因である可能性は高いと判断することができる。逆に、管理者は、解析時間幅２３０３を大きくしても確信度２３０２が１００％に近付かないのであれば、指定原因候補２３００が原因である可能性は低いと判断することができる。
【０１８７】
また、線２４６０は、指定原因候補２３００が原因となる場合にその影響を受けて発生するイベントのうちの検知されたイベントを、その検知された時間が新しいものから順に下から積み上げ、階段状に線で繋ぐことで作成される。本実施例では、イベントの段階の幅を全てのイベントについて同一にしているが、例えば各イベントの影響度等に応じてイベントごとにその段階の幅を変えてもよい。また、例えば、イベントに関係する重みにイベントの検知の有効の度合いが考慮されている場合に、その重みの値の変化に応じて確信度２３０２が徐々に変化するように、線２４６０を作成してもよい。また、確信度２３０２と解析時間幅２３０３との対応関係として、過去時点を表すＸ軸上の或る時点から所定の基準時点（現時点とは異なる）との間に検知したイベントに基づいて、確信度が計算されて、その値が表示されてもよい。
【０１８８】
以上によれば、以下のこと、すなわち、
複数の監視対象オブジェクトのいずれかで発生したイベントをルールを用いて原因解析を行い、記憶デバイスを有する監視システムを構成するコンピュータに実行させる監視プログラムであって、
前記ルールは、所定の結論を原因と決定するために必要な条件を含み、
前記監視プログラムは、
前記ルールに基づいて、前記監視対象オブジェクトで発生したイベントの原因解析を行い、原因となる可能性のある複数の結論を決定し、
前記決定した複数の結論を、当該結論が原因となる場合の影響範囲を示す指標値、に従ってソートして表示する、
が説明された。なお、この場合は、重み付けオブジェクトや演算子オブジェクトは、省略されてもよい。
【０１８９】
なお、以下のこと、すなわち、
前記ルールは、イベントの種別と当該イベントの発生元となる監視対象オブジェクトの種別との組み合わせによりイベントを示した１以上の第１の条件と、前記１以上の第１の条件を満たす場合に原因となる第１の結論との関連付けを示す汎用ルールを含み、
前記記憶デバイスは、前記複数の監視対象オブジェクト間におけるデータ通信の有無を示す関係情報をさらに記憶しており、
前記監視プログラムは、
前記汎用ルール及び前記関係情報に基づいて、イベントの種別と当該イベントの発生元となる監視対象オブジェクトを特定する情報との組み合わせによりイベントを示した１以上の第２の条件と、前記１以上の第２の条件を満たす場合に原因となる第２の結論との関連付けを複数含む展開情報を生成し、
前記展開情報の各第２の結論について、関連付けられている１以上の第２の条件に基づいて当該各第２の結論の前記指標値を決定し、
前記原因解析において、原因となる可能性のある複数の第２の結論を決定し、
前記決定した複数の第２の結論を、各第２の結論それぞれの前記指標値に従ってソートして表示してもよい、
が説明された。
【０１９０】
なお、以下のこと、すなわち、
前記記憶デバイスは、前記展開情報の各第２の条件ごとに、当該第２の条件が示すイベントの検知の有効又は無効を示す検知データをさらに記憶しており、
前記監視プログラムは、
イベントを検知した場合、当該検知したイベントである検知イベントの前記検知データを有効に設定し、
前記検知イベントを示す前記展開情報の第２の条件に関連付けられている第２の結論の前記指標値に基づいて前記検知イベントの解析時間幅を決定し、
前記検知イベントを検知してから前記決定した解析時間幅が経過した場合、前記検知イベントの前記検知データを無効に設定し、
前記原因解析において、前記展開情報の各第２の結論について、関連付けられている１以上の第２の条件が示す各イベントの前記検知データに基づいて、当該各第２の結論が原因であることの確からしさを示す確信度を決定し、前記決定した確信度に基づいて、原因となる可能性のある複数の第２の結論を決定してもよい、
が説明された。
【０１９１】
なお、以下のこと、すなわち、
前記原因解析において決定した第２の結論ごとに、前記監視プログラムは、当該第２の結論の確信度と解析時間幅との対応関係を表す情報を表示してもよい、
ことが説明された。
【０１９２】
また、以下のこと、すなわち、
前記監視プログラムは、前記解析時間幅を変化させたと仮定した場合の変化後の確信度を特定し、その変化後の確信度を表示してもよい、ことが説明された。
【０１９３】
また、以下のこと、すなわち、
或るイベントの有効期限は指標値ごとにあってもよい、
ことが説明された。
【０１９４】
なお、以下のこと、すなわち、
前記記憶デバイスは、前記展開情報の各第２の条件について、関連付けられている１以上の第２の結論の前記指標値ごとに、前記検知データを記憶しており、
前記監視プログラムは、
前記検知イベントを示す前記展開情報の第２の条件に関連付けられている第２の結論の中に前記指標値がそれぞれ異なる複数の第２の結論が存在する場合、前記異なる指標値ごとに前記検知イベントの解析時間幅を決定し、前記検知イベントを検知してから前記決定した複数の解析時間幅のうちのいずれかが経過した場合、前記経過した解析時間幅に対応する前記指標値に関する前記検知イベントの前記検知データを無効に設定し、
前記原因解析において、前記展開情報の各第２の結論について、関連付けられている１以上の第２の条件が示す各イベントの、当該第２の結論の前記指標値に関する前記検知データに基づいて、当該第２の結論の確信度を計算してもよい、
が説明された。
【０１９５】
なお、以下のこと、すなわち、
前記監視プログラムが、前記第２の条件が示すイベントを管理する複数の条件オブジェクトと、前記第２の結論に対応し当該第２の結論の前記指標値及び確信度を管理する複数の結論オブジェクトと、前記条件オブジェクト及び前記結論オブジェクトにそれぞれ接続され、当該接続されている条件オブジェクトが管理するイベントの、当該接続されている結論オブジェクトが管理する前記指標値に関する前記検知データを管理する複数の重みオブジェクトと、を有するルールメモリデータを、前記展開情報として生成してもよい、
が説明された。
【０１９６】
なお、以下のこと、すなわち、
前記記憶デバイスは、前記検知データが有効に設定された重みオブジェクトと、当該重みオブジェクトに接続された条件オブジェクトが管理するイベントの、当該重みオブジェクトに接続された結論オブジェクトが管理する前記指標値に関して決定された前記解析時間幅との対応関係を示す解析時間幅情報を記憶しており、
前記監視プログラムは、前記解析時間幅情報に含まれる重みオブジェクトに接続されている条件オブジェクトが管理するイベントを検知してから、当該重みオブジェクトに対応する解析時間幅が経過した場合、当該重みオブジェクトが管理する前記検知データを無効に設定してもよいこと、
が説明された。
【０１９７】
なお、以下のこと、すなわち、
前記監視プログラムは、前記展開情報の各第２の結論について、当該第２の結論に対応する１以上の第２の条件が示すイベントの発生元となる監視対象オブジェクトのうちの監視対象装置の数を計算し、前記計算した数を当該第２の結論の前記指標値としてもよい、
が説明された。
【０１９８】
また、別な視点に於いて、監視システムは、ルール（所定の結論を原因と決定するために必要な条件を含む）を記憶し、前記ルールに基づいて、前記監視対象オブジェクトで発生したイベントの原因解析を行う。なお、原因解析として、監視システムは、前記条件に適合し、かつ所定の解析時間幅内で検知したイベントよって定まる確信度を計算する。なお、解析時間幅は、前記結論が原因となる場合の影響範囲を示す指標値に基づいて計算される。このような処理は前述の指標値に基づいたソートとは独立に実施しても良いが、組み合わせて実行してもよい。
【０１９９】
また、別な視点に於いて、監視システムは、ルール（所定の結論を原因と決定するために必要な条件を含む）を記憶し、前記ルールに基づいて、前記監視対象オブジェクトで発生したイベントの原因解析を行う。なお、原因解析として監視システムは、前記条件に適合し、かつ所定の解析時間幅内で検知したイベントよって定まる確信度を計算する。そして、監視システムは、前記解析時間幅を変化させたと仮定した場合の変化後の確信度を特定し、その変化後の確信度を表示する。なお、このような処理は前述の指標値に基づいたソートや指標値に基づいた解析時間幅の決定とは独立に実施しても良いが、組み合わせて実行してもよい。
【０２００】
なお、本発明は、この実施例に限定されるものでなく、その趣旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【０２０１】
例えば、各重みオブジェクト１００３が、第２の検知データを管理する代わりに、その第２の検知データに関係するイベントの、その第２の検知データに関係するインパクテッドノード数に関する解析時間幅を管理し、解析時に、管理計算機１００が、重みオブジェクト１００３が管理する解析時間幅と条件オブジェクト１００１が管理する第１の検知データ（特に、イベントが検知された時間）とに基づいてイベントの検知の有無を判断し（例えば、イベントが検知された時間から解析時間幅経過後の時間が現在時間以降であれば、イベントの検知は有効であると判断し）、その検知の有効、無効に基づいて確信度の計算を行ってもよい。
【符号の説明】
【０２０２】
１００…管理計算機、２００…表示計算機、３００…通信ネットワーク、４００…サーバ、５００…ストレージ
【図１】
2013128550.tif 000003
【図２】
2013128550.tif 000004
【図３】
2013128550.tif 000005
【図４】
2013128550.tif 000006
【図５】
2013128550.tif 000007
【図６】
2013128550.tif 000008
【図７】
2013128550.tif 000009
【図８】
2013128550.tif 000010
【図９】
2013128550.tif 000011
【図１０】
2013128550.tif 000012
【図１１】
2013128550.tif 000013
【図１２】
2013128550.tif 000014
【図１３】
2013128550.tif 000015
【図１４】
2013128550.tif 000016
【図１５】
2013128550.tif 000017
【図１６】
2013128550.tif 000018
【図１７】
2013128550.tif 000019
【図１８】
2013128550.tif 000020
【図１９】
2013128550.tif 000021
【図２０】
2013128550.tif 000022
【図２１】
2013128550.tif 000023
【図２２】
2013128550.tif 000024
【図２３】
2013128550.tif 000025
【図２４】
2013128550.tif 000026
【手続補正書】
【提出日】平成26年10月20日(2014.10.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の監視対象オブジェクトのいずれかで発生したイベントをルールを用いて原因解析を行い、記憶デバイスを有する監視システムを構成するコンピュータに実行させる監視プログラムであって、
前記ルールは、所定の結論を原因と決定するために必要な条件を含み、
前記監視プログラムは、
前記ルールに基づいて、前記監視対象オブジェクトで発生したイベントの原因解析を行い、原因となる可能性のある複数の結論を決定し、
前記決定した複数の結論の各々について、当該結論について前記ルールを基に、当該結論が原因となる場合の影響範囲を示す指標値を算出し、
前記決定した複数の結論を、当該結論について算出された指標値に従ってソートして表示し、
前記影響範囲を示す指標値は、原因が生じた場合にその影響を受けて発生するイベントの数に関する値である、
ことを前記コンピュータに実行させる監視プログラム。
【請求項２】
前記ルールは、イベントの種別と当該イベントの発生元となる監視対象オブジェクトの種別との組み合わせによりイベントを示した１以上の第１の条件と、前記１以上の第１の条件を満たす場合に原因となる第１の結論との関連付けを示す汎用ルールを含み、
前記記憶デバイスは、前記複数の監視対象オブジェクト間におけるデータ通信の有無を示す関係情報をさらに記憶しており、
前記汎用ルール及び前記関係情報に基づいて、イベントの種別と当該イベントの発生元となる監視対象オブジェクトを特定する情報との組み合わせによりイベントを示した１以上の第２の条件と、前記１以上の第２の条件を満たす場合に原因となる第２の結論との関連付けを複数含む展開情報を生成し、
前記展開情報の各第２の結論について、関連付けられている１以上の第２の条件に基づいて当該各第２の結論の前記指標値を決定し、
前記原因解析において、原因となる可能性のある複数の第２の結論を決定し、
前記決定した複数の第２の結論を、各第２の結論それぞれの前記指標値に従ってソートして表示する、
ことを前記コンピュータに実行させる請求項１に記載の監視プログラム。
【請求項３】
前記記憶デバイスは、前記展開情報の各第２の条件ごとに、当該第２の条件が示すイベントの検知の有効又は無効を示す検知データをさらに記憶しており、
イベントを検知した場合、当該検知したイベントである検知イベントの前記検知データを有効に設定し、
前記検知イベントを示す前記展開情報の第２の条件に関連付けられている第２の結論の前記指標値に基づいて前記検知イベントの解析時間幅を決定し、
前記検知イベントを検知してから前記決定した解析時間幅が経過した場合、前記検知イベントの前記検知データを無効に設定し、
前記原因解析において、前記展開情報の各第２の結論について、関連付けられている１以上の第２の条件が示す各イベントの前記検知データに基づいて、当該各第２の結論が原因であることの確からしさを示す確信度を決定し、前記決定した確信度に基づいて、原因となる可能性のある複数の第２の結論を決定する、
ことを前記コンピュータに実行させる請求項２に記載の監視プログラム。
【請求項４】
前記原因解析において決定した第２の結論ごとに、当該第２の結論の確信度と解析時間幅との対応関係を表す情報を表示する、
ことを前記コンピュータに実行させる請求項３に記載の監視プログラム。
【請求項５】
前記解析時間幅を変化させたと仮定した場合の変化後の確信度を特定し、その変化後の確信度を表示する、
ことを前記コンピュータに実行させる請求項４に記載の監視プログラム。
【請求項６】
或るイベントの有効期限は指標値ごとにある、
請求項５に記載の監視プログラム。
【請求項７】
前記記憶デバイスは、前記展開情報の各第２の条件について、関連付けられている１以上の第２の結論の前記指標値ごとに、前記検知データを記憶しており、
前記検知イベントを示す前記展開情報の第２の条件に関連付けられている第２の結論の中に前記指標値がそれぞれ異なる複数の第２の結論が存在する場合、前記異なる指標値ごとに前記検知イベントの解析時間幅を決定し、前記検知イベントを検知してから前記決定した複数の解析時間幅のうちのいずれかが経過した場合、前記経過した解析時間幅に対応する前記指標値に関する前記検知イベントの前記検知データを無効に設定し、
前記原因解析において、前記展開情報の各第２の結論について、関連付けられている１以上の第２の条件が示す各イベントの、当該第２の結論の前記指標値に関する前記検知データに基づいて、当該第２の結論の確信度を計算する
ことを前記コンピュータに実行させる請求項６に記載の監視プログラム。
【請求項８】
前記第２の条件が示すイベントを管理する複数の条件オブジェクトと、前記第２の結論に対応し当該第２の結論の前記指標値及び確信度を管理する複数の結論オブジェクトと、前記条件オブジェクト及び前記結論オブジェクトにそれぞれ接続され、当該接続されている条件オブジェクトが管理するイベントの、当該接続されている結論オブジェクトが管理する前記指標値に関する前記検知データを管理する複数の重みオブジェクトと、を有するルールメモリデータを、前記展開情報として生成する、
ことを前記コンピュータに実行させる請求項７に記載の監視プログラム。
【請求項９】
前記記憶デバイスは、前記検知データが有効に設定された重みオブジェクトと、当該重みオブジェクトに接続された条件オブジェクトが管理するイベントの、当該重みオブジェクトに接続された結論オブジェクトが管理する前記指標値に関して決定された前記解析時間幅との対応関係を示す解析時間幅情報を記憶しており、
前記解析時間幅情報に含まれる重みオブジェクトに接続されている条件オブジェクトが管理するイベントを検知してから、当該重みオブジェクトに対応する解析時間幅が経過した場合、当該重みオブジェクトが管理する前記検知データを無効に設定する、
ことを前記コンピュータに実行させる請求項８に記載の監視プログラム。
【請求項１０】
前記展開情報の各第２の結論について、当該第２の結論に対応する１以上の第２の条件が示すイベントの発生元となる監視対象オブジェクトのうちの監視対象装置の数を計算し、前記計算した数を当該第２の結論の前記指標値とする、
ことを前記コンピュータに実行させる請求項９に記載の監視プログラム。
【請求項１１】
複数の監視対象オブジェクトのいずれかで発生したイベントの原因解析をルールを用いて行う監視システムであって、
前記ルールを記憶する記憶デバイスと、
前記記憶デバイスに接続された制御デバイスと
を有し、
前記ルールは、所定の結論を原因と決定するために必要な条件を含み、
前記制御デバイスは、
前記ルールに基づいて、前記監視対象オブジェクトで発生したイベントの原因解析を行い、原因となる可能性のある複数の結論を決定し、
前記決定した複数の結論の各々について、当該結論について前記ルールを基に、当該結論が原因となる場合の影響範囲を示す指標値を算出し、
前記決定した複数の結論を、当該結論について算出された指標値に従ってソートして表示し、
前記影響範囲を示す指標値は、原因が生じた場合にその影響を受けて発生するイベントの数に関する値である、
監視システム。
【請求項１２】
前記ルールは、イベントの種別と当該イベントの発生元となる監視対象オブジェクトの種別との組み合わせによりイベントを示した１以上の第１の条件と、前記１以上の第１の条件を満たす場合に原因となる第１の結論との関連付けを示す汎用ルールを含み、
前記記憶デバイスは、前記複数の監視対象オブジェクト間におけるデータ通信の有無を示す関係情報をさらに記憶し、
前記制御デバイスは、
前記汎用ルール及び前記関係情報に基づいて、イベントの種別と当該イベントの発生元となる監視対象オブジェクトを特定する情報との組み合わせによりイベントを示した１以上の第２の条件と、前記１以上の第２の条件を満たす場合に原因となる第２の結論との関連付けを複数含む展開情報を生成し、
前記展開情報の各第２の結論について、関連付けられている１以上の第２の条件に基づいて当該第２の結論の前記指標値を決定し、
前記原因解析において、原因となる可能性のある複数の第２の結論を決定し、
前記決定した複数の第２の結論を、各第２の結論それぞれの前記指標値に従ってソートして表示する、
請求項１１に記載の監視システム。
【請求項１３】
前記記憶デバイスは、前記展開情報の各第２の条件ごとに、当該第２の条件が示すイベントの検知の有効または無効を示す検知データをさらに記憶し、
前記制御デバイスは、
イベントを検知した場合、当該検知したイベントである検知イベントの前記検知データを有効に設定し、
前記検知イベントを示す前記展開情報の第２の条件に関連付けられている第２の結論の前記指標値に基づいて前記検知イベントの解析時間幅を決定し、
前記検知イベントを検知してから前記決定した解析時間幅が経過した場合、前記検知イベントの前記検知データを無効に設定し、
前記原因解析において、前記展開情報の各第２の結論について、関連付けられている１以上の第２の条件が示す各イベントの前記検知データに基づいて、当該第２の結論が原因であることの確からしさを示す確信度を決定し、前記決定した確信度に基づいて、原因となる可能性のある複数の第２の結論を決定する、
請求項１２に記載の監視システム。
【請求項１４】
前記制御デバイスは、前記原因解析において決定した第２の結論ごとに、当該第２の結論の確信度と解析時間幅との対応関係を表す情報を表示する、
請求項１２に記載の監視システム。
【請求項１５】
前記制御デバイスは、前記解析時間幅を変化させたと仮定した場合の変化後の確信度を特定し、その変化後の確信度を表示する、
請求項１４に記載の監視システム。
【請求項１６】
イベントの数に関する値とは、原因が生じた場合にその影響を受けてイベントが発生する監視対象オブジェクトの数、又は、原因が生じた場合に発生するイベントの数である、
請求項１乃至１０のうちのいずれか１項に記載の監視プログラム。
【国際調査報告】
2013128550.tif 000027
2013128550.tif 000028
2013128550.tif 000029
2013128550.tif 000030