説明

管理装置及び管理方法

【課題】
一定サイズのワーキングメモリにて、効率良く解析処理を実行し得る管理装置及び管理方法を提案する。
【解決手段】
予め定義された1又は複数のルールを、それぞれ当該ルールを構成する条件及び結論からなる1つ以上のルールセグメントに分割し、分割により得られたルールセグメントを2次記憶装置に保存し、情報処理装置からのイベント通知を受信したときに、関連する1又は複数のルールセグメントを選択し、選択した1又は複数のルールセグメントをメモリ上において必要に応じて結合することにより、当該メモリ上にルール間の関係を示すルール解析網を構築し、構築したルール解析網に基づいて推論を導出すると共に、推論の導出に利用され難いルールセグメントをメモリ上から削除するようにした。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、管理装置及び管理方法に関し、例えば情報処理装置から送信される障害内容を表すイベント通知を用いて障害箇所及び原因を解析する障害解析機能が搭載された管理サーバに適用して好適なものである。
【背景技術】
【0002】
近年、計算機システムは、計算機ネットワーク(以下、これを単にネットワークと呼ぶ)を介して様々な情報処理装置を相互に接続することで複雑化・大規模化してきている。これに伴いいずれかの情報処理装置に発生した障害がネットワークを介して様々な情報処理装置に影響を与えるようになってきた。
【0003】
従来、このような障害の箇所と原因を特定する根本原因解析技術として、情報処理装置から送信される障害内容を表すイベントを用いて障害箇所及び原因を解析するイベント・コリレーション技術がある(例えば、特許文献1)。イベント・コリレーション技術は、障害時に管理サーバに上げられるイベントの相関を利用して根本原因を推測するもので、古くからネットワークシステムの障害の診断に用いられている技術である。
【0004】
また、非特許文献1には、当該技術と障害時のイベントの組み合わせと推測される根本原因を対にしてルール化することで、エキスパートシステムをベースとした推論エンジンを用いて根本原因を迅速に突き止める技術が開示されている。
【0005】
このエキスパートシステムをベースとするイベント・コリレーションにおいては、障害解析の対象とするITシステムの規模が多くなったり、ルールが多くなったりすると、特許文献2における推論エンジンのパターンマッチングに用いるルール間の関係を接続したルール解析網に必要となるワーキングメモリのサイズが大きくなる。このルール解析網の一つとして、コードブックと呼ばれる、障害時にあげられるイベントと考えられる根本原因の関係をマトリックスと呼ばれる行列形式に表し、このマトリックスを最適化して分割・最小化する技術が特許文献2にて開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】米国特許第6249755号
【特許文献2】米国特許第6868367号
【非特許文献】
【0007】
【非特許文献1】“Rete: A Fast Algorithm for the Many Pattern/Many Object Pattern Match Problem”,ARTIFICIAL INTELLIGENCE,Vol.19,no.1,1982,pp.17-37
【発明の概要】
【発明が解決しようとする課題】
【0008】
イベント・コリレーション技術は、障害時に障害が発生した装置から管理サーバに通知されるイベントの組み合わせパターンから障害の原因候補を絞り込む有効な技術であるが、組み合わせるべきイベントの数及び根本原因の数が多くなると、これらの組み合わせパターンが膨大となり、実際に発生したイベント群と、ルールとして定義されたイベントとの組み合わせのパターンマッチングを行うための検索空間が膨大なものとなる。この結果、解析結果を導くのに時間を要してしまうだけでなく、検索空間が膨大になることに起因してプロセッサが解析の実行時に参照するメモリ(ワーキングメモリ)のサイズが肥大化する問題があった。
【0009】
このような問題に対して、例えば特許文献2には、イベントの組み合わせと根本原因との関係をマトリックス表にし、このマトリックス表を最適化して小さくすることが開示されている。しかしながら、かかる最適化は定義イベントの数やルールの数に対するマトリックス表の肥大化に対する解決策ではなく、イベントの組み合わせと根本原因との冗長な関係を省くものであり、最適化の対象が異なる。また、ルール解析網の構造、対象システムの規模、すなわち取り扱うイベントの数やルールの数に、解析処理時のワーキングメモリのサイズが依存しないことが望ましい。
【0010】
本発明は以上の点を考慮してなされたもので、対象システムの定義イベントの数やルールの数によらず、一定のワーキングメモリサイズを保ちながら、少ない解析時間で解析処理を実行し得る管理装置及び管理方法を提案しようとするものである。
【課題を解決するための手段】
【0011】
かかる課題を解決するため本発明においては、1又は複数の情報処理装置を管理する管理装置において、前記情報処理装置に発生するイベントの組み合わせを条件とし、前記イベントの組み合わせに対して想定される事柄を推論の結論とする、予め定義された1又は複数のルールを記憶する2次記憶装置と、前記情報処理装置にイベントが発生したときに、当該情報処理装置から送信される当該イベントの内容に応じたイベント通知を受信するネットワークインタフェースと、前記イベント通知及び対応する前記ルールに基づいて前記情報処理装置の状態を判断するプロセッサと、前記プロセッサのワークメモリとして利用されるメモリとを有し、前記プロセッサは、予め定義された前記1又は複数のルールを、それぞれ当該ルールを構成する条件及び結論からなる1つ以上のルールセグメントに分割し、分割により得られた前記ルールセグメントを前記2次記憶装置に保存し、前記情報処理装置からのイベント通知を受信したときに、関連する1又は複数の前記ルールセグメントを選択し、選択した前記1又は複数のルールセグメントを前記メモリ上において必要に応じて結合することにより、当該メモリ上にルール間の関係を示すルール解析網を構築し、構築したルール解析網に基づいて推論を導出すると共に、推論の導出に利用され難いルールセグメントをメモリ上から削除することを特徴とする。
【0012】
また本発明においては、1又は複数の情報処理装置を管理する管理方法において、前記情報処理装置に発生するイベントの組み合わせを条件とし、前記イベントの組み合わせに対して想定される事柄を推論の結論とする、予め定義された1又は複数のルールを記憶する第1のステップと、前記情報処理装置にイベントが発生したときに、当該情報処理装置から送信される当該イベントの内容に応じたイベント通知を受信する第2のステップと、前記イベント通知及び対応する前記ルールに基づいて前記情報処理装置の状態を判断する第3のステップとを有し、前記第1のステップでは、予め定義された前記1又は複数のルールを、それぞれ当該ルールを構成する条件及び結論からなる1つ以上のルールセグメントに分割し、分割により得られた前記ルールセグメントを前記2次記憶装置に保存し、前記第3のステップでは、前記情報処理装置からのイベント通知を受信したときに、関連する1又は複数の前記ルールセグメントを選択し、選択した前記1又は複数のルールセグメントをメモリ上において必要に応じて結合することにより、当該メモリ上にルール間の関係を示すルール解析網を構築し、構築したルール解析網に基づいて推論を導出すると共に、推論の導出に利用され難いルールセグメントをメモリ上から削除することを特徴とする。
【発明の効果】
【0013】
本発明によれば、障害解析を行う対象の情報処理システムの装置・構成要素が大規模化したり、取り扱うルールの数が増えたりした場合においても、受信したイベントと事前に定義されたルールの条件に示されたイベントとの組み合わせのパターンマッチングにもとづく解析処理の実行において、一定サイズのワーキングメモリにて、効率良く実現できる。
【図面の簡単な説明】
【0014】
【図1】図1は、本実施の形態による情報処理システムの全体構成を模式的に示すブロック図である。
【図2】図2は、管理対象装置群の構成例を示すブロック図である。
【図3】図3は、イベント通知の構成例を示す概念図である。
【図4】図4は、ルール情報の構成例を示す概念図である。
【図5】図5は、ルール情報の具体的な構成例を示す概念図である。
【図6】図6は、ルール情報の具体的な構成例を示す概念図である。
【図7】図7は、ルール解析網の一部構成例を示す概念図である。
【図8】図8は、イベントオブジェクトの構成例を示す概念図である。
【図9】図9は、条件オブジェクトの構成例を示す概念図である。
【図10】図10は、ルールオブジェクトの構成例を示す概念図である。
【図11】図11は、結論オブジェクトの構成例を示す概念図である。
【図12】図12は、ルールセグメントの構成例を示す概念図である。
【図13】図13は、本実施の形態による条件オブジェクトの構成例を示す概念図である。
【図14】図14は、イベント索引情報の説明に供する概念図である。
【図15】図15は、イベント索引情報の構成例を示す概念図である。
【図16】図16は、セグメント参照情報の構成例を示す概念図である。
【図17】図17は、セグメント結合情報の構成例を示す概念図である。
【図18】図18は、セグメント参照履歴情報の構成例を示す概念図である。
【図19】障害原因解析処理の処理手順を示すフローチャートである。
【図20】前処理の処理手順を示すフローチャートである。
【図21】第1の関連情報テーブルの構成例を示す概念図である。
【図22】第2の関連情報テーブルの構成例を示す概念図である。
【図23】関連情報テーブル作成処理の処理手順を示すフローチャートである。
【図24】ルール実行リスト作成処理の処理手順を示すフローチャートである。
【図25】ルール情報依存関係管理テーブルの構成例を示す概念図である。
【図26】ルール情報依存関係管理テーブル作成処理の処理手順を示すフローチャートである。
【図27】ルールセグメント等作成処理の処理手順を示すフローチャートである。
【図28】解析処理の処理手順を示すフローチャートである。
【図29】ルールセグメントの状態遷移の説明に供する概念図である。
【発明を実施するための最良の形態】
【0015】
以下図面について、本発明の一実施の形態を詳述する。
【0016】
なお、以下においては、例えばサーバ装置、ストレージサブシステム、プリンタ、スキャナ、パソコン、PDA及び又は携帯電話などのネットワーク通信を行う通信機能が搭載された装置と、ルータ、プロキシーサーバ及び又はスイッチなどのネットワーク通信を中継する機能が搭載された装置とを包括的に情報処理装置と呼ぶものとする。またサーバ装置としては、例えばWebサーバ、ファイルサーバ、ネームサーバ、ディレクトリサーバ又は認証サーバ等が考えられるが、何らかのサービスを提供する装置であればすべて本明細書におけるサーバ装置に含まれる。
【0017】
また以下においては、「AAAテーブル」、「AAAリスト」、「AAADB」又は「AAAキュー」等の表現にて各種情報を説明するが、これら情報はテーブル、リスト、DB又はキュー等のデータ構造以外で表現されていてもよい。そのため、データ構造に依存しないことを示すために「AAAテーブル」、「AAAリスト」、「AAADB」及び「AAAキュー」等を「AAA情報」と呼ぶことがある。
【0018】
また各情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「名前」、「ID」及び「番号」という表現を用いるが、これらの表現は装置や部品などの物理的な存在に限らず、論理的な存在についても区別をつけるために割り当てられているものであるため、お互いに置換が可能である。
【0019】
さらに以下においては、各種処理の処理主体を「プログラム」として説明するが、実際上は、そのプログラムに基づいてその処理をプロセッサが実行することは言うまでもない。また、プログラムを主語として開示された処理は管理サーバ等の計算機、情報処理装置が行う処理としてもよい。さらにプログラムの一部または全ては専用ハードウェアによって実現されてもよい。さらに各種プログラムは、プログラム配布サーバや記憶メディアによって各計算機にインストールされてもよい。
【0020】
(1)本実施の形態による情報処理システムの構成
図1において、1は全体として本実施の形態による情報処理システムを示す。図中『」』のマークは、対応部位が複数存在することを意味する。情報処理システム1は、管理サーバ2と、1又は複数の情報処理装置4からなる管理対象装置群3とを備えて構成される。
【0021】
管理サーバ2は、管理対象装置群3を構成する各情報処理装置4を管理及び監視するサーバ装置であり、プログラム及び制御情報などの電子データを記憶するための記憶領域を提供するメモリ10と、メモリ10の記憶容量の不足を補助するための2次記憶装置11と、メモリ10上に存在する電子データを用いて管理対象装置群3において発生した障害の解析処理を行うプロセッサ12と、管理対象装置群3と管理用ネットワーク5を介して電子データの送受信を行うためのネットワークインタフェース13(以下、インタフェースはI/Fと略す場合がある)とを備えて構成される。
【0022】
メモリ10は、例えば半導体メモリ、又は磁気を用いてデータを格納する磁気メモリから構成され、各種プログラム及び各種制御情報を保持するために用いられる。後述する部分ルール解析網20、イベント索引情報21、管理プログラム22及びイベントキュー23もこのメモリ10に格納されて保持される。
【0023】
2次記憶装置11は、例えばハードディスク装置等の磁気ディスク装置や、外付けのストレージサブシステム、又は、磁気ディスク装置及び外付けのストレージサブシステムの両方から構成され、各種プログラムや各種制御情報を永続的に保持するために用いられる。後述するルール情報30、管理対象構成情報31、ルールセグメントレポジトリ32、セグメント結合情報33、イベントオブジェクトテーブル34及びセグメント参照履歴情報35もこの2次記憶装置11に格納されて保持される。
【0024】
プロセッサ12は、管理サーバ2全体の動作を制御する機能を有するもので、メモリ10や2次記憶装置11に格納された電子データに基づいて各種の演算処理や制御処理を実行する。またネットワークインタフェース13は、管理用ネットワーク5に対するインタフェースであり、例えばNIC(Network Interface Card)やLAN(Local Area Network)ボードなどから構成される。
【0025】
なお、管理サーバ2は、図示しない入出力装置をも有する。入出力装置の例としては、ディスプレイ、キーボード及びポインタデバイスが考えられるが、これ以外の装置であっても良い。また、入出力装置の代替としてシリアルインタフェースやイーサネット(登録商標)インタフェースを入出力とし、当該インタフェースにディスプレイ、キーボード又はポインタデバイスを有する表示用計算機を接続し、表示用情報を表示用計算機に送信したり、入力用情報を表示用計算機から受信することで、表示用計算機で表示を行ったり、入力を受け付けることで入出力装置での入力及び表示を代替しても良い。
【0026】
管理対象装置群3は、上述のように1又は複数の情報処理装置4から構成される。図2は、管理対象装置群3の一構成例を示す。この例では、管理対象装置群3は、複数のサーバ40(「SERVER1」、「SERVER」、……)と、ネットワーク41と、1つのストレージ装置42(「STORAGE1」)とから構成されている。そしてこの図2では、ストレージ装置42のボリュームがサーバ40の「ISCSI INITIATOR01」というHAB(Host Bus Adapter)40Aを介してISCSI(Internet Small Computer System Interface)プロトコルにてSCSIディスク40B(「SCSIDISK01」、「SCSIDISK03」)として提供されている場合を例示している。なお図2において、ストレージ装置42の「Controller01」は、ストレージ装置42を制御するプロセッサであり、ISCSIポートを備えている。
【0027】
管理用ネットワーク5は、LAN(Local Area Network)、インターネット又は専用回線などから構成される。管理用ネットワーク5は、情報処理装置4間の通信を行うためのネットワークと別なネットワークであってもよく、また部分的又は完全に同一なネットワークであっても良い。
【0028】
以下、管理対象装置群3を管理し、本願実施の形態における表示用情報を表示する一つ以上の計算機の集合を管理システムと呼ぶことがある。管理サーバ2が表示用情報を表示する場合は管理サーバ2が管理システムであり、管理サーバ2と表示用計算機の組み合わせも管理システムである。また、管理処理の高速化や高信頼化のために複数の計算機で管理サーバ2と同等の処理を実現してもよく、この場合は当該複数の計算機(表示を表示用計算機が行う場合は表示用計算機も含める)が管理システムである。
【0029】
(2)本実施の形態による障害原因解析機能
次に、管理サーバ2に搭載された障害原因解析機能について説明する。これに際して、まず、イベント通知、ルール情報及びルール解析網について説明する。
【0030】
(2−1)イベント通知、ルール情報及びルール解析網
図3は、管理サーバ2が管理・監視の対象とする情報処理装置(以下、これを管理対象装置とも呼ぶ)4に障害が発生したときに、当該管理対象装置4から管理サーバ2に送信されるイベント通知50の概略構成を示す。この図3からも明らかなように、イベント通知50は、イベントID50A、イベント検知時刻50B、発生元装置ID50C、発生元部位ID50D及びイベント内容50Eと、詳細情報50Fとを含んで構成される。
【0031】
このうちイベントID50Aは、そのとき発生したイベントに対して予め付与されているIDを表し、イベント検知時刻50Bは、そのイベントが発生した時刻を表す。また発生元装置ID50Cは、そのイベントが発生した情報処理装置4に対して予め付与されていた識別子であり、発生元部位ID50Dは、その情報処理装置4におけるそのイベントが発生した部位に対して予め付与されていた識別子を表す。さらにイベント内容50Eは、そのイベントの内容を表す。詳細情報50Fは、そのイベントに関する詳細な情報を表す。この詳細情報50Fには、イベントに関する上述の情報以外の情報(例えばメッセージ)などが含まれる。
【0032】
従って図3の例の場合、図2の環境において、「SERVER1」というサーバ40の「SCSIDISK01」という部位の状態がエラーに変化した(「Status Change To ERROR」)ことが「2000-1-1 00:00:00」にそのサーバ40又はその管理装置(図示せず)により検出され、かかるイベントのイベントIDが「010000020」であることが示されている。
【0033】
一方、図4は、ルール情報30の構成を示す。ルール情報30は、イベントの組み合わせを条件とし、この組み合わせに対する根本原因を推論の結論とするルールに関する情報であり、予めシステム管理者などにより複数作成されて管理サーバ2に登録される。後述のように、管理サーバ2は、障害発生時に障害が発生した管理対象装置4又はその管理装置等から送信されるイベント通知50(図3)と、このルール情報30とに基づいて、障害の根本原因を推論する。
【0034】
ルール情報30は、例えば図4に示すように、ルール識別情報61、条件部62及び結論部63から構成される。このうちルール識別情報61は、ルールを一意に識別するための識別子であり、ルール情報30ごとに異なる値が付与される。
【0035】
条件部62は、1又は複数の条件64から構成される。また各条件64は、それぞれイベント情報65及び条件演算子66から構成される。条件64のイベント情報65は、イベントに関する情報であり、対応するイベントのイベントID65Aと、そのイベントが発生する部位を表す装置部位情報65Bと、イベント内容65Cとを含む。
【0036】
イベントID65A及びイベント内容65Cは、イベント通知50(図3)において使用されるものと同じものが使用され、装置部位情報65Bは、イベント通知50において使用される発生元装置ID50C及び発生元部位ID50Dを組み合わせたものが使用される。
【0037】
また条件演算子66は、対応するイベント情報65に対する演算を指定する演算子であり、「受信しないこと」を条件とする場合の「NOT」等の演算子を含む。条件演算子66は省略可能であり、省略された場合には、イベント情報65を「受信すること」を条件とすることを表す。
【0038】
結論部63は、「if-then」形式のルールの結論を示すイベント情報67と、条件部62に対する評価の算出の仕方を指定する結論演算子68とから構成される。複数のルールで共通の結論を導くことも可能であるため、複数のルール情報30において共通の結論部63が用いられることがある。結論演算子68は、そのような複数ルール間で共有される結論部63である場合に、それらのルールにおけるマッチング度をどのように共通の結論部63に対するマッチング度として反映させるかを指定する演算子である。例えば、複数ルールの中でマッチング度が最大のものをその結論のマッチング度としたり、複数ルールのマッチング度を均等に重み付けして、全ルールの条件におけるマッチング度という形で評価する演算がある。なおこの結論演算子68の種類は、本実施の形態に制限を与えるものではない。
【0039】
結論部63のイベント情報67は、イベントID67A、装置部位情報67B及びイベント内容67Cを含む。これらイベントID67A、装置部位情報67B及びイベント内容67Cは、条件部62のイベント情報65におけるイベントID65A、装置部位情報65B及びイベント内容65Cと同様のものであるため、その詳細については説明を省略する。
【0040】
ルール情報30の具体例を図5に示す。図5は、図2の環境において、「STORAGE1」というストレージ装置42が「SERVER1」というサーバ40に提供している「SCSIDISK01」というボリュームの状態がエラーに変化した場合に、その状態変化の根本原因が「SERVER1」のISCSI通信エラーであると推論するよう規定したルールについての具体例である。すなわち図5のルール情報30では、以下の事項が指定されている。
【0041】
(a)条件部62では、イベントIDが「010000020」のイベントであって、「SERVER1」の「SCSIDISK01」において「状態がエラーに変化した(「Status Change To UNKNOWN」)」というイベントが発生したことを知らせるイベント通知50を受信した場合のルールであることが規定されている(条件64のイベント情報65を参照)。なお、エラー状態は少なくとも装置又は部位が使えない状態であることを含むほか、一般的にエラーとされる状態を含めても良い。以後で説明する他のケースについても特に記載しない限りエラー状態は前述の意味であるものとする。
【0042】
(b)結論部63では、かかるイベント通知50を受信した場合、イベントIDが「910000020」のイベントであって、「SERVER1」というサーバ40の「ISCSIINITIATOR01」というHAB40Aにおける「ISCSI通信エラー(「RC_COM_ERROR」)」というイベントが原因であると推測するよう規定されている(結論部63のイベント情報67を参照)。
【0043】
またルール情報30の他の具体例を図6に示す。図6は、図2の環境において、「SERVER1」というサーバ40の「ISCSIINITIATOR01」というHAB40AにおいてISCSI通信エラーが発生し、「SERVER2」というサーバ40の「ISCSIINITIATOR01」というHAB40AにおいてISCSI通信エラーが発生し、さらに「STORAGE1」というストレージ装置42の「CONTROLLER01」というコントローラ42Aの状態がエラーに変化した発生し場合に、これらの状態変化の根本原因が「STORAGE1」の「CONTROLLER01」の障害であると推論するよう規定されたルールについての具体例である。すなわち図6のルール情報30では、以下の事項が指定されている。
【0044】
(a)条件部62では、イベントIDが「910000020」のイベントであって、「SERVER1」の「ISCSIINITIATOR01」において「ISCSI通信エラー(Status Change To COM_ERROR)」というイベントが発生したというイベント通知50と、イベントIDが「910000020」のイベントであって、「SERVER2」の「ISCSIINITIATOR01」において「ISCSI通信エラー(Status Change To COM_ERROR)」というイベントが発生したというイベント通知50と、イベントIDが「040000020」のイベントであって、「STORAGE1」の「CONTROLLER01」において「エラー(Status Change To ERROR)」というイベントが発生したというイベント通知50とを受信した場合のルールであることが規定されている(条件部62の各条件64のイベント情報65を参照)。
【0045】
なお、このイベント情報65のイベントIDは、図5のルール情報30における結論部63のイベント情報67と同一であり、他のルール情報30の結論部63にて定義されるイベント情報67は、管理対象装置群3より送信されるイベント通知50とは異なり、管理サーバ2内部のみで作成、利用される。このような図5の結論部63にて指定されるイベント情報67を、管理対象装置群3より送信されるイベント通知50と特に区別して内部イベント情報と呼ぶ。
【0046】
(b)結論部63では、上述のようなイベント通知50を受信した場合、イベントIDが「940003020」のイベントであって、「STORAGE1」の「CONTROLLER01」における「エラー(RC_ERROR)」というイベントが原因であると推測するよう規定されている(結論部63のイベント情報67を参照)。
【0047】
他方、図7は、ルール解析網70の構成例を示す。以下においては、管理対象装置群3に含まれるいずれかの管理対象装置4から管理サーバ2に送信されるイベント通知50を元に、管理サーバ2の管理プログラム22が推論を行い、現在発生している事象を推論する管理システムにおいて、管理プログラム22が推論処理において参照する複数のルール情報30間の関係(ルールA及びルールBの結論が同じ場合には、結論を介してルールA及びルールBが結合されるなどの関係)を結びつけたルール結合ネットワークをルール解析網70と呼ぶものとする。
【0048】
図7は、後述のように2次記憶装置11に格納されたすべてのルール情報30に基づいて、関連するイベント情報65,67を互いに結合させて構築されたルール解析網70を模式的に示したものである。図中の双方向の矢印は互いに参照関係を有しており、どちらの方向からも接続先のオブジェクト71(71A〜71D)を辿ることができることを示している。このようなルール解析網70を構成するオブジェクト71としては、イベントオブジェクト71A、条件オブジェクト71B、ルールオブジェクト71C及び結論オブジェクト71Dが存在する。
【0049】
イベントオブジェクト71Aは、ルール情報30の条件部62の条件64に含まれるイベント情報65(図4)、又は、結論部63に含まれるイベント情報67に基づいて生成されるオブジェクトであり、図8に示すように、イベントID71AA、装置部位情報71AB及びイベント内容71ACをそれぞれ含む。このうちイベントID71AAは、対応するイベント情報65,67のイベントID65A,67Aをコピーしたものである。また装置部位情報71ABは、そのイベント情報65,67の装置部位情報65B,67Bにより認識されるイベントの発生元装置及びその発生元部位をそれぞれ表すコードを組み合わせた情報である。さらにイベント内容71ACは、そのイベント情報65,67のイベント内容65C,67Cをコピーしたものである。ただし、これ以外の情報を含んでいても。
【0050】
また条件オブジェクト71Bは、ルール情報30の条件部62を構成する各条件64(図4)に基づいてそれぞれ生成されるオブジェクトであり、図9に示すように、条件ID71BA及び条件演算子71BBを含む。このうち条件ID71BAは、対応する条件64を識別するための識別情報である。また条件演算子71BBは、対応する条件64に含まれる条件演算子66(図4)をコピーしたものである。
【0051】
ルールオブジェクト71Cは、ルール情報30そのものに対応するオブジェクトであり、図7に示すように、条件オブジェクト71Bと結論オブジェクト71Dとの関係を結びつけるオブジェクトとして存在する。ルールオブジェクト71Cは、図10に示すように、ルール識別情報71CAを含む。このルール識別情報71CAは、対応するルール情報30のルール識別情報61(図4)をコピーしたものである。
【0052】
さらに結論オブジェクト71Dは、ルール情報30の結論部63(図4)に基づいて生成されるオブジェクトであり、図11に示すように、結論ID71DA及び結論評価演算子71DBを含む。このうち結論ID71DAは、対応する結論部63を識別するための識別情報である。また結論評価演算子71DBは、結論を共有する複数ルールにおけるマッチング度の評価の仕方を指定するための演算子である。
【0053】
ルール情報30に基づく推論導出の解析処理は、通常、解析時のルールとのパターンマッチングを高速化するために、すべてのルール情報30に基づいて図7に示すルール解析網70を構築し、受信したイベント通知50に基づき認識されるイベントに対応するイベントオブジェクト71Aを検索して関連するルールオブジェクト71Cを辿り、該当の結論オブジェクト71Dのマッチング度をそれぞれ評価することで行われる。
【0054】
ただし、すべてのルール情報30に基づくルール解析網70をメモリに載せてワーキングメモリとして参照すると、メモリサイズを逼迫して、かかる処理を実行する計算機のリソースを大量消費して装置を不安定にする要因になる。そこで、本実施の形態においては、ルール解析網70を幾つかに分断した以下に説明するような部分ルール解析網を構築し、必要な部分ルール解析網のみをメモリ10上に載せて解析処理を実行する。
【0055】
図12は、ルール解析網70を1つのルール情報30に相当する単位に分割したセグメント(以下、これをルールセグメントと呼ぶ)72のオブジェクト構成を模式的に示したものである。ルールセグメント72は、1つのルールオブジェクト72Cをもち、ルールオブジェクト72Cに対応するルール情報30に従って条件部62がもつ1つ以上の条件64に対応する条件オブジェクト72Bと双方向の関連をもち、条件オブジェクト72Bはそれぞれが保持するイベントオブジェクト72Aとの双方向の関連をもつ。
【0056】
また、ルールセグメント72は、ルール情報30の結論部63に対応する結論オブジェクト72Dと双方向の関連をもち、結論オブジェクト72Dは結論の内容を表すイベントオブジェクト72Aとの双方向の関連をもつ。このようにルールセグメント72の構成において、条件オブジェクト72Bとして少なくとも1つ以上の任意の数の条件(ただし、そのルールオブジェクト72が持つ条件数を超えない)を保持するため、1つのルール情報30に対して条件部62の条件64が複数のルールセグメント72に分割されていても構わないし、一つのルールセグメント72にルール情報30がもつ条件部62の条件64がすべて含まれていても構わない。ルールセグメント72を構成するイベントオブジェクト72A、結論オブジェクト72D及びルールオブジェクト72Cはルール解析網70を構成するイベントオブジェクト71A、結論オブジェクト71D及びルールオブジェクト71Cとそれぞれ同一のものである。
【0057】
図13は、本実施の形態による条件オブジェクト72Bの構成を示す。この条件オブジェクト71Bは、図9について上述した条件オブジェクト71Bに代えて本実施の形態において使用されるオブジェクトであり、条件ID72BA、条件演算子72BB、ロード状態72BC及びイベントID72BDの各情報を含んで構成される。
【0058】
このうち条件ID72BA及び条件演算子72BBは、図9について上述した条件オブジェクト71Bの条件ID71BA及び条件演算子71BBと同様ものである。またロード状態72BCは、その条件オブジェクト72Bがメモリ上に読み込まれているかどうかを表す情報である。さらにイベントID72BDは、接続先のイベントオブジェクト72AのイベントIDを表す。このイベントID72BDは、イベントオブジェクト72Aと条件オブジェクト72Bの相互参照関連を作成するときに使用する。
【0059】
(2−2)本実施の形態による障害原因解析機能
次に、管理サーバ2に搭載された本実施の形態による障害原因解析機能について説明する。本実施の形態の場合、管理サーバ2には、予め与えられた1つ以上のルール情報30に基づいて、ルール情報30に記述された条件と、管理対象装置群3において発生したイベントとの組み合わせのパターンマッチングを行い、どれだけパターンが一致しているかを評価する障害原因解析機能が搭載されている。そして本実施の形態による障害原因解析機能は、解析処理時に使用されるワーキングメモリのサイズを一定サイズ以下に抑える手法として、以下の手順で障害原因の解析機処理を行う点を特徴の1つとしている。
【0060】
(a)情報処理システム1を運用管理する前に、登録されているすべてのルール情報30を読み込み、ルール間の依存関係を調べた上で、依存関係に基づいたルール情報30の順番でルールセグメント72を作成する。またルール(ルールセグメント72)間の関係を表す情報をセグメント結合情報として作成すると共に、受信するイベント通知50(図3)に対する索引情報としてイベント索引情報を作成する。
【0061】
(b)情報処理システム1の運用管理している間に障害が発生した場合に、その障害が発生した管理対象装置4等から送信されるイベント通知50に基づき、(a)にて生成したイベント索引情報を元に、必要なルールセグメント72と、このルールセグメント72と関連するルールセグメント72をメモリ10(図1)読み込み、これらのルールセグメント72を(a)にて生成したセグメント結合情報を元に、ルールセグメント72間を結合した、受信イベントに対する解析網である部分ルール解析網を構築する。また構築した部分ルール解析網を用いて、受信したイベント通知50により認識されるイベントと、ルールの条件に示されたイベントとの組み合わせとのパターンマッチングによる解析処理を実行する。この際、参照されたルールセグメント72に関する参照履歴情報を作成する。
【0062】
(c)上記(b)で構築した部分ルール解析網が占めるメモリサイズがある一定のサイズよりも大きくなった場合に、(b)で作成されたルールセグメント72の参照履歴情報を元に、参照頻度が少ないルールセグメント72を選択し、これをメモリ10上から掃き出すことによりメモリ10内の記憶領域を解放して、ワーキングメモリのサイズを一定サイズ以下に保つ。
【0063】
以上のような本実施の形態による障害原因解析機能を実現するための手段として、管理サーバ2のメモリ10には、図1に示すように、部分ルール解析網20、イベント索引情報21、管理プログラム22及びイベントキュー23が格納されて保持され、2次記憶装置11には、ルール情報30、管理対象構成情報31、ルールセグメントレポジトリ32、セグメント結合情報33、イベントオブジェクトテーブル34及びセグメント参照履歴情報35もこの2次記憶装置に格納されて保持される。
【0064】
このうち部分ルール解析網20は、管理プログラム22が障害の解析処理を行うときに参照するルールの関係情報を持つルール解析網である。この部分ルール解析網20は、障害が発生したときに管理対象装置4から与えられるイベント通知50(図3)に基づいて、その障害に関連するルールセグメント72(図12)を組み合わせることにより構築される。
【0065】
またイベント索引情報21は、図14に示すように、管理対象装置4からのイベント通知50を受信したときに、解析処理を実行する際に使用すべきルールセグメント72を検索するための情報(イベントとこれに関連するルールセグメント72との関係を表す情報)であり、管理プログラム22がルール情報30を入力としてルールセグメント72を作成した場合に一緒に生成される。なおメモリ10には、異なる複数のイベント索引情報21を格納することができる。
【0066】
このイベント索引情報21は、図15に示すように、イベントID21A、セグメントID21B及び読込み状態21Cの各情報を含む。このうちイベントID21Aは、各種イベントにそれぞれ付与された識別子を表し、イベント通知50において使用されるイベントIDと同じものが適用される。またセグメントID21Bは、対応するイベントIDを含むイベント通知50を受信したときの解析処理に使用すべきルールセグメント72の識別子(セグメントID)を表す。
【0067】
さらに読込み状態21Cは、そのイベントID21Aが付与されたルールセグメント72がメモリ10に読み込まれているか否かを表す。例えばそのオブジェクトがメモリ10に読み込まれている場合、読込み状態が「LOADED」に設定され、そのオブジェクトがメモリに読み込まれていない場合、読込み状態が「NOT」に設定される。
【0068】
従って、図14の例では、例えば「Z1-1_ID」というイベントIDのイベントが発生したことを知らせるイベント通知50を受信した場合には、「X1-10a_seg」というセグメントIDのルールセグメント72を用いて解析処理を行うべきことが規定されており、そのルールセグメント72は既にメモリ10に読込み済みであることが示されている。
【0069】
管理プログラム22は、いずれかの管理対象装置4からのイベント通知50の受信や、管理対象装置4からの情報収集によるイベントの検知に基づき、検知したイベントを入力として管理対象装置4で発生した事象を解析するプログラムである。
【0070】
管理プログラム22は、以下に説明する各種の処理に加えて、各管理対象装置4の状態(例えば、障害発生の有無、その管理対象装置4で行われた設定変更の有無、その管理対象装置4の性能に関する状態)を管理する。
【0071】
具体的に、管理プログラム22は、ネットワークインタフェース13を介して管理対象装置4から障害発生の有無や、その管理対象装置4の設定情報、及び性能情報などの管理情報を受信する。そして管理プログラム22は、受信した管理情報に基づいて各管理対象装置4の状態を判断し、その判断結果や各管理対象装置4の状態を、ディスプレイ装置等へ表示し又は予め設定されたユーザに電子メールにて通知する。なお、管理プログラム22が、管理サーバ2が受信した管理対象装置4への設定要求を受信し、当該要求に基づいて対応する管理対象装置4への設定を行うようにしても良い。
【0072】
イベントキュー23は、管理対象装置4又はその管理装置から与えられるイベント通知50を順番に格納するためのキューである。管理プログラム22は、このイベントキュー23に格納されたイベント通知50に応じた処理を、当該イベントキュー23に格納された順番で処理する。
【0073】
一方、ルール情報30は、図4〜図6について上述したように、管理対象装置4においてどのようなイベントが発生したときにどのような障害が発生したと推理すべきかといった、発生した障害の根本原因解析を行うためのルールに関する情報である。2次記憶装置11には、このようなルール情報30が予め複数格納される。
【0074】
管理対象構成情報31は、管理対象装置群3に含まれる各管理対象装置4の識別子と、管理用ネットワーク5上でその管理対象装置4にアクセスするために使用されるIPアドレス等の識別情報及び認証情報と、その管理対象装置4の管理用ネットワーク5における接続状態及び論理的な関係情報(例えば接続関係や、サーバ・クライアントの関係、包含関係)と、その管理対象装置4の構成に関する情報とを含む。
【0075】
具体的には、管理対象構成情報31は、以下の情報を含む。
(a)各管理対象装置4の識別子。これら識別子は、管理対象装置4と通信するための識別子、例えばIPアドレス、FQDN(Fully Qualified Domain Name)、又はホスト名等が考えられる。
(b)管理対象装置4の種別(例えば、ストレージサブシステム、スイッチ装置、サーバ装置等)と、当該管理対象装置4を構成する部位の種別。
(c)管理対象装置4を構成する部位の情報及び装置と部位、または部位と部位の包含関係。
(d)ネットワーク通信を行うための部位については、接続相手となる部位。
(e)管理対象装置4の設定。
【0076】
なお、管理対象構成情報31は以下の処理により生成又は更新されることが考えられるが、他の処理から生成されたものであってもよい。
(a)管理プログラム22が、管理対象装置4から受信したその管理対象装置4についての構成情報及び設定情報に基づいて管理対象構成情報31を生成又は更新する。
(b)管理プログラム22が管理対象装置4の設定を行える場合は、管理プログラム22が管理サーバ2の入力装置を介して受信した装置設定情報を装置に設定すると共に、管理対象構成情報31を生成又は更新する。
【0077】
また本実施の形態においては、管理対象構成情報31が2次記憶装置11に格納されているものとして説明するが、2次記憶装置11以外の例えばメモリ10に格納されていても構わない。
【0078】
ルールセグメントレポジトリ23は、管理プログラム22に基づきルール情報30を元に作成された1つ以上のルールセグメント72を格納して管理するためのレポジトリである。このルールセグメントレポジトリ23には、管理対象装置群3において発生したイベントに応じてメモリ10上に読込んだ際の参照履歴情報であるセグメント参照情報73も格納される。
【0079】
セグメント参照情報73は、管理サーバ2が各ルールセグメント72の格納位置を管理するための情報であり、例えば図16に示すように、セグメントID73A、格納場所73B及びルール識別情報73Cの各情報から構成される。
【0080】
このうちセグメントID73Aは、対応するルールセグメント72に対して付与された識別子(以下、これをセグメントIDと呼ぶ)であり、格納場所73Bは、ルールセグメントレポジトリ32における対応するルールセグメント72の格納場所を表す。このルールセグメント72の格納場所73Bは、ファイル名などのリソースの位置を特定可能なURN(Universal Resource Name)と、そのリソース内での格納位置(論理アドレス、物理アドレスなど)との組み合わせで表現される。
【0081】
またルール識別情報73Cは、そのルールセグメント72に対応するルール情報30の識別情報(以下、これをルール情報識別子と呼ぶ)を表す。従って、図16の例では、「X1-10a_seg」というセグメントIDのルールセグメント72は、「file://C:\ :\seg_repo01」というファイル内の「1af00...」というアドレス位置に格納されており、このルールセグメントが含んでいるルール情報30の識別子は「X1」であることが示されている。
【0082】
なお、ルールセグメント72の格納場所は、ファイルシステム上のファイルであっても、データベースシステムのデータベースであっても、ネットワーク上のリソース(ファイルシステム、ブロックストレージ)であっても良く、その格納形態については問わない。ただし、格納場所73Bが特定するのに十分な情報が使用されることが要件である。
【0083】
セグメント結合情報33は、ルールセグメント72の管理サーバの2次記憶装置11内の各ルール情報30に基づき形成された各オブジェクト(イベントオブジェクト72A、条件オブジェクト72B、ルールオブジェクト72C及び結論オブジェクト72D)がどのルールセグメント72のどのオブジェクトに結合されるかなどを管理するための情報であり、図17に示すように、オブジェクト種別33A、識別情報33B、結合先セグメントID33C、結合先オブジェクトID33D及び読込み状態33Eの各情報から構成される。
【0084】
このうちオブジェクト種別33Aは、対応するオブジェクトの種別(「イベント」、「条件」、「ルール」又は「結論」)を表し、識別情報33Bは、そのオブジェクトの識別子(以下、これをオブジェクトIDと呼ぶ)を表す。また結合先セグメントID33Cは、そのオブジェクトが属するルールセグメント72のセグメントIDを表し、結合先オブジェクトID33Dは、そのルールセグメント72においてそのオブジェクトが結合されるオブジェクトのオブジェクトIDを表す。
【0085】
さらに読込み状態33Eは、そのオブジェクトが、現在、メモリ10に読み込まれているか否かを表す。例えばそのオブジェクトがメモリ10に読み込まれている場合、読込み状態が「LOADED」に設定され、そのオブジェクトがメモリに読み込まれていない場合、読込み状態が「NOT」に設定される。
【0086】
従って、図17の場合、図7を前提として、例えば「Y1」という結論オブジェクト72D(図12)については、「X1」というルールオブジェクト72C(図12)を含む「X1-10a-seg」というルールセグメント72と関連を持ち、このルールセグメント72内部の「X1_ID」というルールオブジェクト72Cと結合すること、及び、このルールセグメント72は既にメモリ10に読込み済み(「LOADED」)であることが示されている。
【0087】
なお、図17において、「X1」というルールオブジェクト72Cに対応する行が複数存在するが、これはルール情報30の条件部62の条件64(図4)が複数のルールセグメント72に分割されている場合の例であり、部分ルール解析網20を構築する際に1つのルールオブジェクト72Cに結合される。
【0088】
イベントオブジェクトテーブル34は、管理プログラム22がルール情報30からルールセグメント72を作成する際に、最終的なイベントオブジェクト72Aを格納するテーブルである。このイベントオブジェクトテーブル34の詳細については省略する。
【0089】
他方、セグメント参照履歴情報35は、管理プログラム22から参照されにくいルールセグメント72を判断及び選択するための情報であり、図18に示すように、セグメントID35A、ルール識別情報35B、ロック状態35C、カウンタ35D、平均読込み間隔35E及び最終参照時刻35Fの各情報から構成される。
【0090】
このうちセグメントID35Aは、対応するルールセグメント72のセグメントIDを表し、ルール識別情報35Bは、そのルールセグメント72に属するルールオブジェクト72CのオブジェクトIDを表す。またロック状態35Cは、そのルールセグメント72Cの状態を表す。なお、「ルールセグメントの状態」については、後述する。
【0091】
さらにカウンタ35Dは、図示しないカウンタによりカウントされた、対応するルールセグメント72が参照されていない期間を表し、平均読込み間隔35Eは、管理プログラム22が定義する一定の期間を1単位とするそのルールセグメント72の平均的な参照間隔を表す。さらに最終参照時刻35Fは、そのルールセグメント72が最後に参照された時刻を表す。なお、セグメント参照履歴情報35がこれ以外の参照履歴に関する情報を含んでいても構わない。
【0092】
従って、例えば図18の例では、「X1-10a_seg」というルールセグメント72は、「X1」というルール情報30に基づいて生成され、現在の状態は「locked」、カウンタの値は「0」、平均参照間隔は「15.0」、最終参照時刻は「2009:11…」であることが示されている。
【0093】
なお、セグメント参照履歴情報35における平均読込み間隔35Eや最終参照時刻35Fの値は、ロック状態35Cが同じルールセグメント72同士において、どちらかを追い出す場合の選択基準として利用される。例えば追い出しの対象として、平均読込み間隔35Eが大きいものを選択したり、最終参照時刻35Fが古いものを選択したりする。
【0094】
(2−3)管理サーバのプロセッサにより実行される各種処理
次に、本実施の形態による障害原因解析機能に関連して管理サーバ2の管理プログラム22により実行される各種処理について説明する。
【0095】
(2−3−1)障害原因解析処理
図19は、本実施の形態による障害原因解析機能に関連して管理プログラム22により実行される障害原因解析処理の処理手順を示す。
【0096】
管理プログラム22は、管理サーバ2が起動されると、この図19に示す障害原因解析処理を開始し、まず、2次記憶装置11(図1)からルール情報30を読み込み、読み込んだルール情報30に基づいてルールセグメント72、セグメント結合情報33(図1)及びイベント索引情報21(図1)を作成する(SP1)。この際、イベント索引情報21は2次記憶装置11上に作成され、その後、メモリ10上に読込まれる。
【0097】
続いて管理プログラム22は、管理対象装置群3に対する監視・管理を開始し、管理対象装置群3に含まれるいずれかの管理対象装置4からイベント通知50が送信されてくるのを待ち受ける(SP2)。
【0098】
そして管理プログラム22は、やがていずれかの管理対象装置4からイベント通知50が送信されてくると、このイベント通知50と、2次記憶装置11内のルールセグメントレポジトリ32に格納されたルールセグメント72に関する情報とに基づいて、かかるイベント通知50の内容を解析する(SP3)。
【0099】
具体的に、管理プログラム22は、関連するルールセグメント72をメモリ10上に読込み、セグメント結合情報33を参照して、部分ルール解析網20(図1)をメモリ10上に構築する。また管理プログラム22は、構築した部分ルール解析網20を用いて、検知したイベントの解析処理を行う。この処理により読み込みをしたルールセグメント72についての参照履歴情報をセグメント参照情報73として登録又は更新する。なお、セグメント結合情報33は、この処理においてメモリ10上に読込まれていても構わない。
【0100】
そして管理プログラム22は、ステップSP2に戻って、この後、以上のステップSP2及びステップSP3の処理を繰り返す。
【0101】
(2−3−2)前処理
図20は、以上の障害原因解析処理(図1)のステップSP1において管理プログラム22により実行される処理(以下、これを前処理と呼ぶ)の具体的な処理手順を示す。管理プログラム22は、この図20に示す処理手順に従って、2次記憶装置11に格納されている各ルール情報30に基づいて1又は複数のルールセグメント72、セグメント結合情報33及びイベント索引情報21等を作成する。
【0102】
すなわち管理プログラム22は、障害原因解析処理のステップSP1に進むと、この前処理理を開始し、まず、2次記憶装置11に格納された1又は複数のルール情報30の中から1つのルール情報を選択し(SP10)、選択したルール情報30を2次記憶装置11からメモリ10に読み込む(SP11)。
【0103】
続いて管理プログラム22は、ステップSP11においてメモリ10に読み込んだルール情報30について、そのルール情報30の条件部62(図4)の各条件64(図4)のイベント情報65(図4)に含まれるそのイベントのイベントID65A(図4)と、そのルール情報30のルール識別情報61(図4)とをそれぞれ図21に示す第1の関連情報テーブル80のイベントID欄80A及びルール識別情報欄80Bに登録する(SP12)。
【0104】
また管理プログラム22は、ステップSP11においてメモリ10に読み込んだルール情報30について、結論部63(図4)のイベント情報67(図4)に含まれるそのイベントのイベントID67A(図4)と、そのルール情報30のルール識別情報61(図4)とをそれぞれ図22に示す第2の関連情報テーブル81のイベントID欄81A及びルール識別情報欄81Bに登録する(SP12)。
【0105】
次いで管理プログラム22は、2次記憶装置11に格納されているすべてのルール情報30についてステップSP12の処理を実行し終えたか否かを判断する(SP13)。そして管理プログラム22は、この判断において否定結果を得ると、ステップSP10に戻り、この後、ステップSP10において順次他のルール情報30を選択しながらステップSP10〜ステップSP13の処理を繰り返す。
【0106】
そして管理プログラム22は、やがて2次記憶装置11に格納されているすべてのルール情報30についてステップSP12の処理を実行し終えることによりステップSP13において肯定結果を得ると、ステップSP12において作成した第1及び第2の関連情報テーブ80,81に基づいて、後述するステップSP15〜ステップSP17の処理を実行するルール情報30の順番を定めたルール実行リストを作成する(SP14)。
【0107】
このルール実行リストは、ルール情報30間の依存関係を調べ、依存があるルール間の実行順序を制御するためのリストである。ルール情報30間の依存関係とは、ある第1のルール情報30の結論部63が保持するイベントが、他の第2のルール情報30の条件部62の条件64が保持するイベントとなっている関係をいう。以下においては、かかる場合に第1のルール情報30を第2のルール情報30の「子」と呼び、第2のルール情報30を第1のルール情報30の「親」と呼ぶものとする。
【0108】
続いて管理プログラム22は、2次記憶装置11に格納された1又は複数のルール情報30の中から1つのルール情報30を選択し(SP15)、選択したルール情報30に基づいてルールセグメント72を構築する。また管理プログラム22は、この際、セグメント結合情報33(図1)、イベント索引情報21(図1)及びイベントオブジェクトテーブル34(図1)を作成する(SP16)。
【0109】
次いで管理プログラム22は、2次記憶装置11に格納されているすべてのルール情報30についてステップSP16の処理を実行し終えたか否かを判断する(SP17)。そして管理プログラム22は、この判断において否定結果を得ると、ステップSP15に戻り、この後、ステップSP15において順次他のルール情報30を選択しながら、ステップSP15〜ステップSP17の処理を繰り返す。
【0110】
そして管理プログラム22は、やがて2次記憶装置11に格納されているすべてのルール情報30についてステップSP16の処理を実行し終えることによりステップSP17において肯定結果を得ると、ステップSP15〜ステップSP17の処理により作成された最終的なイベントオブジェクトテーブル34を2次記憶装置11に出力する(SP18)。かくしてこのイベントオブジェクトテーブル34は、この後、2次記憶装置11に永続的に記憶され、後の解析処理時(図19のステップSP3)に利用される。
【0111】
(2−3−3)関連情報テーブル作成処理
図23は、図19について上述した前処理のステップSP12における管理プログラム22の具体的な処理内容を示す。管理プログラム22は、この図23に示す処理手順に従って、第1及び第2の関連情報テーブル80,81を作成する。
【0112】
すなわち管理プログラム80は、前処理のステップSP12に進むと、この図23に示す関連情報テーブル作成処理を開始し、まず、前処理のステップSP11において読み込んだ図4に示すルール情報30の条件部62に含まれる条件64を1つ選択する(SP20)。
【0113】
続いて管理プログラム22は、そのとき選択した条件64に含まれるイベント情報65のイベントID65Aのエントリが第1の関連情報テーブル80に存在するか否かを判断し(SP21)、肯定結果を得るとステップSP23に進む。
【0114】
これに対して管理プログラム22は、ステップSP21の判断において否定結果を得ると、第1の関連情報テーブル80にそのイベントID65Aのエントリを作成し(SP22)、そのエントリのルール識別情報欄80B(図21)に、前処理(図20)のステップSP11において読み込んだルール情報30のルール識別情報61(図4)を格納する(SP23)。
【0115】
次いで管理プログラム22は、前処理のステップSP11において読み込んだルール情報30に含まれるすべての条件64についてステップSP21〜ステップSP23の処理を実行し終えたか否かを判断する(SP24)。そして管理プログラム22は、この判断において否定結果を得るとステップSP20に戻り、この後、ステップSP24において肯定結果を得るまで、ステップSP20において順次他の条件を選択しながらステップSP20〜ステップSP24の処理を繰り返す。
【0116】
そして管理プログラム22は、やがて前処理のステップSP11において読み込んだルール情報30に含まれるすべての条件64についてステップSP21〜ステップSP23の処理を実行し終えることによりステップSP24において肯定結果を得ると、かかるルール情報30の結論部63に含まれるイベント情報67(図4)のイベントID67Aのエントリが第2の関連情報テーブル81に存在するか否かを判断する(SP25)。
【0117】
管理プログラム22は、この判断において肯定結果を得るとステップSP27に進む。これに対して管理プログラム22は、ステップSP25の判断において否定結果を得ると、第2の関連情報テーブル81にそのイベントID67Aのエントリを作成し(SP26)、そのエントリのルール識別情報欄81Bに、前処理のステップSP11において読み込んだルール情報30のルール識別情報61を格納する(SP27)。
【0118】
そして管理プログラム22は、この後、この関連テーブル作成処理を終了して、前処理のステップSP13に進む。
【0119】
(2−3−4)ルール実行リスト作成処理
一方、図24は、前処理(図20)のステップSP14において管理プログラム22により実行されるルール実行リスト作成処理の具体的な処理手順を示す。管理プログラム22は、この図24に示す処理手順に従って、第1及び第2の関連情報テーブル80,81に基づき、ルール実行リストを作成する。なお、ルール実行リストは、イベントIDが順番に登録されたリストである。
【0120】
すなわち管理プログラム22は、前処理のステップSP14に進むと、このルール実行リスト作成処理を開始し、まず、第1及び第2の関連情報テーブル80,81を参照して、図25に示すルール情報依存関係管理テーブル82を作成する(SP30)。
【0121】
このルール情報依存関係管理テーブル82は、ルール情報30間の親子関係を管理するためのテーブルであり、図25に示すように、親ルール列82A及び子ルール列82Bから構成される。そして管理プログラム22は、親ルール列82Aには、親子関係を有する2つのルール情報30のうちの「親」となるルール情報30のルール識別情報61(図4)を格納し、子ルール列82Bには、かかるルール情報30の「子」となるルール情報30のルール識別情報61を格納する。
【0122】
続いて管理プログラム22は、ルール情報依存関係管理テーブル82にエントリ(行)が存在するか否かを判断し(SP31)、否定結果を得ると、このルール実行リスト作成処理を終了する。
【0123】
これに対して管理プログラム22は、かかるステップSP31の判断において肯定結果を得ると、1つのエントリを選択し(SP32)、選択したエントリの親ルール列82Aに格納されているルール識別情報がルール実行リストに既に登録されているか否かを判断する(SP33)。
【0124】
管理プログラム22は、この判断において肯定結果を得るとステップSP36に進み、これに対して否定結果を得ると、ステップSP32において選択したエントリの親ルール列82Aに格納されたルール識別情報61がルール情報依存関係管理テーブル82のいずれかのエントリの子ルール列82Bに格納されているか否かを判断する(SP34)。
【0125】
管理プログラム22は、この判断において肯定結果を得るとステップSP32に戻り、これに対して否定結果を得ると、ステップSP32において選択したエントリの親ルール列82Aに格納されたルール識別情報をルール実行リストに追加する(SP35)。
【0126】
続いて管理プログラム22は、ルール情報依存関係管理テーブルにおけるそのとき対象としているエントリの子ルール列82Bは空(ルール識別情報が格納されていない、つまり子ルールが存在しない)であるか否かを判断する(SP36)。
【0127】
管理プログラム22は、この判断において肯定結果を得るとステップSP39に進み、これに対して否定結果を得ると、ステップSP32において選択したエントリの子ルール列82Bに格納されたルール識別情報が同じエントリ以外のいずれかのエントリの子ルール列82Bに格納されているか否かを判断する(SP37)。
【0128】
そして管理プログラム22は、この判断において肯定結果を得るとステップSP39に進み、これに対して否定結果を得ると、ステップSP32において選択したエントリの子ルール列82Bに格納されているルール識別情報をルール実行リストに追加する(SP38)。
【0129】
この後、管理プログラム22は、ステップSP32において選択したエントリをルール情報依存関係管理テーブル82から削除し(SP39)、ルール情報依存関係管理テーブル82のすべてのエントリについてステップS32P〜ステップSP39の処理を実行し終えたか否かを判断する(SP40)。
【0130】
管理プログラム22は、この判断において否定結果を得るとステップSP32に戻り、この後、ステップSP32において選択するエントリを順次他のエントリに切り替えながら、ステップSP32〜ステップSP40の処理を繰り返す。
【0131】
そして管理プログラム22は、やがてルール情報依存関係管理テーブル82のすべてのエントリについてステップSP32〜ステップSP40の処理を実行し終えることによりステップSP40において肯定結果を得ると、このルール実行リスト作成処理を終了して前処理(図20)のステップSP15に進む。
【0132】
(2−3−5)ルール情報依存関係管理テーブル作成処理
他方、図26は、ルール実行リスト作成処理(図24)のステップSP30において管理プログラム22により実行されるルール情報依存関係管理テーブル作成処理の具体的な処理手順を示す。管理プログラム22は、この図26に示す処理手順に従って、ルール情報依存関係管理テーブル82を作成する。
【0133】
すなわち管理プログラム22は、ルール実行リスト作成処理のステップSP30に進むと、このルール情報依存関係管理テーブル作成処理を開始し、まず、第1の関連情報テーブル80(図21)の未処理のエントリを1つ選択する(SP50)。
【0134】
続いて管理プログラム22は、第2の関連情報テーブル81(図22)の未処理のエントリを1つ選択し(SP51)、この後、ステップSP50において選択した第1の関連情報テーブル80のエントリのイベントID欄80Aに格納されているイベントIDと、ステップSP51において選択した第2の関連情報テーブル81のエントリのイベントID欄81Aに格納されているイベントIDとが同じであるか否かを判断する(SP52)。
【0135】
管理プログラム22は、この判断において否定結果を得るとステップSP55に進む。これに対して管理プログラム22は、この判断において肯定結果を得ると、ルール情報依存関係管理テーブル82のエントリの中に、ステップSP50において選択した第1の関連情報テーブル80のエントリのルール識別情報欄80Bに格納されたルール識別情報が親ルール列82Aに格納され、ステップSP51において選択した第2の関連情報テーブル81のエントリのルール識別情報欄81Bに格納されたルール識別情報を子ルール列82Bに格納したエントリが存在するか否かを判断する(SP53)。
【0136】
管理プログラム22は、この判断において否定結果を得るとステップSP55に進む。これに対して管理プログラム22は、この判断において肯定結果を得ると、ルール情報依存関係管理テーブル82に新たなエントリを作成し、そのエントリの親ルール列82Aに、ステップSP50において選択した第1の関連情報テーブル80のエントリのルール識別情報欄80Bに格納されたルール識別情報を格納すると共に、かかるエントリの子ルール列82Bに、ステップSP51において選択した第2の関連情報テーブル81のエントリのルール識別情報欄81Bに格納されたルール識別情報を格納する(SP54)。
【0137】
続いて管理プログラム22は、第2の関連情報テーブル81のすべてのエントリについてステップSP51〜ステップSP54の処理を実行し終えたか否かを判断する(SP55)。そして管理プログラム22は、この判断において否定結果を得るとステップSP51に戻り、この後、ステップSP51において選択するエントリを順次他のエントリに切り替えながら、ステップSP51〜ステップSP55の処理を繰り返す。
【0138】
そして管理プログラム22は、やがて第2の関連情報テーブル81のすべてのエントリについてステップSP51〜ステップSP55の処理を実行し終えることによりステップSPにおいて肯定結果を得ると、第1の関連情報テーブル80のすべてのエントリについてステップSP50〜ステップSP55の処理を実行し終えたか否かを判断する(SP56)。
【0139】
管理プログラム22は、この判断において否定結果を得るとステップSP50に戻り、この後、ステップSP50において選択するエントリを順次他のエントリに切り替えながら、ステップSP50〜ステップSP56の処理を繰り返す。
【0140】
そして管理プログラム22は、やがて第1の関連情報テーブル81のすべてのエントリについてステップSP50〜ステップSP56の処理を実行し終えることによりステップSP56において肯定結果を得ると、2次記憶装置11に格納されているルール情報30の中から1つのルール情報30を選択する(SP57)。
【0141】
続いて管理プログラム22は、ルール情報依存関係管理テーブル82の親ルール列82A及び子ルール列82Bのいずれか一方にステップSP57において選択したルール情報30のルール情報識別子が格納されているエントリが存在しないか否かを判断する(SP58)。
【0142】
管理プログラム22は、この判断において肯定結果を得るとステップSP60に進み、これに対して否定結果を得ると、ステップSP57において選択したルール情報30のルール情報識別子が親ルール列82Aに格納され、かつ、子ルール列82Bが空のエントリをルール情報依存関係管理テーブル82に追加する(SP59)。
【0143】
次いで管理プログラム22は、2次記憶装置11に格納されているすべてのルール情報30についてステップSP57〜ステップSP60の処理を実行し終えたか否かを判断する(SP60)。そして管理プログラム22は、この判断において否定結果を得るとステップSP57に戻り、この後、ステップSP57において順次他のルール情報30を選択しながらステップSP57〜ステップSP60の処理を繰り返す。
【0144】
そして管理プログラム22は、やがて2次記憶装置11に格納されているすべてのルール情報30についてステップSP57〜ステップSP60の処理を実行し終えることによりステップSP60において肯定結果を得ると、このルール情報依存関係管理テーブル作成処理を終了する。
【0145】
(2−3−6)ルールセグメント等作成処理
図27は、図20について上述した前処理のステップSP16において管理プログラム22により実行されるルールセグメント等作成処理の処理手順を示す。管理プログラム22は、この図20に示す処理手順に従ってルールセグメント72(図12)、イベント索引情報21(図15)、セグメント結合情報33(図17)及びイベントオブジェクトテーブル34をそれぞれ作成する。
【0146】
なお、この図27に示すルールセグメント等作成処理の処理実行過程において、管理サーバ2のメモリ10中に複数のルールオブジェクト72C(図12)を格納するデータ構造としてのルールオブジェクトテーブル(図示せず)と、複数の結論オブジェクト72D(図12)を格納するデータ構造としての結論オブジェクトテーブル(図示せず)と、複数のイベントオブジェクト72A(図12)を格納するデータ構造としてのイベントオブジェクトテーブル(図示せず)とが作成される。これらルールオブジェクトテーブル、結論オブジェクトテーブル及びイベントオブジェクトテーブルのそれぞれは、初期状態では中身が空であるものとする。
【0147】
管理プログラム22は、前処理のステップSP16に進むと、このルールセグメント等作成処理を開始し、まず、ステップSP15において選択したルール情報30のルール識別情報61(図4)に対応するルールオブジェクト72Cがルールオブジェクトテーブルに登録されているか否かを判断する(SP70)。
【0148】
管理プログラム22は、この判断において肯定結果を得るとステップS73に進み、これに対して否定結果を得ると、そのルールオブジェクト72Cを作成し、作成したルールオブジェクト72Cをルールオブジェクトテーブルに登録する(SP71)。
【0149】
続いて、管理プログラム22は、前処理のステップSP15において選択したルール情報30の結論部63(図4)に対応する結論オブジェクト72Dを作成すると共に、その結論部63に含まれるイベント情報67(図4)に対応するイベントオブジェクト72Aを作成し、これら作成した結論オブジェクト72D及びイベントオブジェクト72Aを関連付ける(SP72)。
【0150】
次いで、管理プログラム22は、ステップSP71において作成したルールオブジェクト72Cと、ステップSP72において作成した結論オブジェクト72Dとを関連付け(SP73)、この後、ステップSP72において作成した結論オブジェクト72Dを結論オブジェクトテーブルに登録し、又は既に結論オブジェクトテーブルに登録されている対応する結論オブジェクトを更新する(SP74)。
【0151】
さらに管理プログラム22は、かかる結論オブジェクト72Dに関する必要な情報をセグメント結合情報33(図17)に登録し、又は既にセグメント結合情報33に登録されている対応する結論オブジェクト72Dを更新し(SP75)、この後、前処理のステップSP15において選択したルール情報30に、対応する条件オブジェクト72B(図13)が作成されていない条件64(図4)が存在するか否かを判断する(SP76)。
【0152】
管理プログラム22は、この判断において肯定結果を得ると、かかるルール情報30の条件部62(図4)に含まれる条件64の中から未処理の条件64を1つ選択する(SP77)。そして管理プログラム22は、その条件64に対応する条件オブジェクト72Bを作成し、その条件オブジェクト72Bと、ステップSP71において作成したルールオブジェクト72Cとを関連付ける(SP78)。
【0153】
続いて管理プログラム22は、ステップSP77において選択した条件64のイベント情報65(図4)に含まれるイベントID65A(図4)をステップSP78において作成した条件オブジェクト72BのイベントID72BD(図13)として格納する(SP79)。さらに管理プログラム22は、ステップSP76に戻り、この後ステップSP76において肯定結果を得るまでステップSP76〜ステップSP79の処理を繰り返す。
【0154】
そして管理プログラム22は、前処理のステップSP15において選択したルール情報30の条件部62に含まれるすべての条件64について、対応する条件オブジェクト72Bを作成し終えることによりステップSP76において否定結果を得ると、前処理のステップSP15において選択したルール情報30に対応するルールオブジェクト72Cと、当該ルールオブジェクト72Cに関連付けられた条件オブジェクト72B及び結論オブジェクト72Dと、イベントオブジェクト72Aとで構成されるルールセグメント72とを2次記憶装置11上のルールセグメントレポジトリ32(図1)に格納する。また管理プログラム22は、作成したルールセグメント72にセグメントIDを付与し、そのルールセグメント72のセグメントID、格納場所及び対応するルール情報30のルール識別情報からなるルールセグメント72の参照情報を作成する(SP80)。この参照情報は、この後、図16のセグメント参照情報73に取り込まれる。
【0155】
加えて、管理プログラム22は、そのルールセグメント72を構成する条件オブジェクト72Bが保持するイベントID72BD(図13)と、そのルールセグメント72のセグメントIDとの対応関係を表すイベント索引情報とを作成する(SP80)。このイベント索引情報は、この後、図15のイベント索引情報21(図15)に取り込まれる。
【0156】
以上の処理により、ルールセグメント72、セグメント結合情報33及びイベント索引情報21が作成される。
【0157】
(2−3−7)解析処理
他方、図28は、図19について上述した障害原因解析処理のステップSP3において管理プログラム22により実行される解析処理の具体的な処理手順を示す。
【0158】
管理プログラム22は、障害原因解析処理のステップSP3に進むと、この図28に示す解析処理を開始し、まず、それまでに受信したイベント通知50(図3)をイベントキュー23(図1)から1つ取り出し(SP90)、取り出したイベント通知50に含まれるイベントID50A(図3)をキーとして、関連するルールセグメント72のセグメントIDをイベント索引情報21(図15)から取得すると共に、イベントオブジェクトテーブル34(図1)からイベントオブジェクト72A(図12)を取得する(SP91)。
【0159】
続いて管理プログラム22は、関連するルールセグメント72が2次記憶装置11からメモリ10に読み込み済みであるか否かをイベント索引情報21(図15)に含まれる読込み状態21Cに基づいて判断し(SP92)、肯定結果を得ると、ステップSP96に進む。
【0160】
これに対して管理プログラム22は、ステップSP92の判断において否定結果を得ると、そのときメモリ10に読み出されているすべてのルールセグメント72により構成される部分ルール解析網20(図1)の使用メモリ容量を取得し、その使用メモリ容量が予め設定された閾値以上であるか否かを判断する(SP93)。
【0161】
管理プログラム22は、この判断において否定結果を得るとステップSP95に進み、これに対して肯定結果を得ると、メモリ10上のかかる部分ルール解析網20を構成する一部のルールセグメント72をメモリ10から掃き出す(SP94)。
【0162】
なお掃出し対象のルールセグメント72の選択方法は、様々な方法が考えられるが、本実施の形態では、ルールセグメント72の参照状況に基づいて状態を定義し、定義された状態や、参照された回数及び又は頻度などの情報を元に掃出し対象のルールセグメント72を決定する。ルールセグメント72の掃き出しは、そのルールセグメント72に対する参照を全て削除することにより行ったり、メモリ管理を直接制御できる場合には、そのルールセグメント72の読込みアドレスを直接解放したりすることにより行う。
【0163】
続いて管理プログラム22は、ステップSP92において判断の対象としたルールセグメント72を2次記憶装置11上のルールセグメントレポジトリ32(図1)からメモリ10に読み出す(SP95)。この際、管理プログラム22は、セグメントIDをキーとしてルールセグメントレポジトリ32内のセグメント参照情報73(図16)から対応するルールセグメント72の格納位置を取得して読み出しを行う。またかかるルールセグメント72の読み出し後に、イベント索引情報21(図15)と、ステップSP91において作成したイベントオブジェクト72Aとの相互参照を作成し、イベント索引情報21とイベントオブジェクト72A、そして読み出したルールセグメント72を相互参照及び結合させる。
【0164】
次いで管理プログラム22は、セグメント参照履歴情報35(図18)におけるそのルールセグメント72に対応する最終参照時刻35F(図18)及びロック状態35C(図18)を更新する(SP96)。ロック状態35Cは、現在、解析処理プログラムで解析中であることを示す「evaluated」に設定する。このロック状態35Cは、実際に管理プログラム22が実行対象として該ルールセグメント72をスコープ内に入れた場合に「locked」に変更される。これらの状態遷移の詳細については図29を用いて後ほど説明する。
【0165】
続いて管理プログラム22は、そのとき対象としているイベント通知50(ステップSP90においてイベントキュー23から読み出したイベント通知50)により報告されたイベントに関連するすべてのルールセグメント92を2次記憶装置11から読み出し終えたか否かを判断する(SP97)。この判断は、管理プログラム22は、ステップSP95
において読み出したルールセグメント内のオブジェクトに関して、セグメント結合情報33(図17)において読込み状態33Eが「NOT」となっているか否かにより行われる。
【0166】
管理プログラム22は、この判断において肯定結果を得るとステップSP90に戻り、この後、参照していない関連するルールセグメント72についてステップSP90〜ステップSP97の処理を実行する(SP97)。
【0167】
そして管理プログラム22は、やがてステップSP90においてイベントキュー23から取り出したイベント通知50により報告されたイベントに関連するすべてのルールセグメント72についてステップSP90〜ステップSP97の処理を実行し終えることによりステップSP97において否定結果を得ると、以上の処理により構築された部分ルール解析網20(図1)を用いて解析を行う。また管理プログラム22は、この解析結果を管理サーバ2に表示させ、又は、メールにより管理者に通知する(SP98)。そして管理プログラム22は、この後、この解析処理を終了する。
【0168】
(2−4)ルールセグメントの状態遷移
図29は、ルールセグメント72の状態遷移について定義した一例である。この図29に示すように、ルールセグメント72の状態としては、「INITIAL」、「evaluated」、「locked」、「weak locked」及び「released」の5つがある。
【0169】
このうち「INITIAL」は、ルールセグメント72の初期の状態を表し、「evaluated」は、そのルールセグメント72が評価対象に入った状態、「locked」は、そのルールセグメント72がロックされた状態をそれぞれ表す。また「weak locked」は、そのルールセグメント72が弱くロックされた状態を表し、「released」はそのルールセグメント72が解放対象となっている状態を表す。
【0170】
ルールセグメント72の状態は、初期時には「INITIAL」であり、そのルールセグメント72に関連するイベントを知らせるイベント通知50を受信した段階で「evaluated」に遷移する。また、この後、そのルールセグメント72が管理プログラム22の実行スコープに入ると、そのルールセグメント72の状態が「locked」に遷移し、そのルールセグメント72が属している部分ルール解析網20を用いた解析処理が終了すると、そのルールセグメント72の状態が「evaluated」から「weak locked」に遷移する。
【0171】
さらに「weak locked」という状態になってから一定期間、関連するイベントを受信しなかった場合に、そのルールセグメント72の状態が「released」に遷移する。さらに、ルールセグメント72が「weak locked」又は「released」の状態にある場合においても、そのルールセグメント72が関連するイベントについてのイベント通知50を受信した場合、状態が「evaluated」に遷移する。
【0172】
「INITIAL」、「evaluated」、「locked」、「weak locked」及び「released」のうち、掃き出しの対象とならないものは、「INITIAL」を除くと「locked」のみであり、それ以外の状態については、「released」、「weak locked」、「evaluated」の順で追い出される対象となる。
【0173】
また、「released」、「weak locked」及び「evaluated」のうち、無条件で追い出し可能なものは「released」のみで、「weak locked」は、他に「released」状態のルールセグメントが存在しない場合に追い出し対象となり、「evaluated」についても他に「weak locked」状態のルールセグメントが存在しない場合のみ追い出し対象となる。
【0174】
(3)本実施の形態の効果
以上のように本実施の形態による情報処理システム1によれば、管理サーバ2において、ルールを条件64及び結論からなる1つ以上のルールセグメント72に分割し、管理対象装置4からのイベント通知50を受信したときに、関連する1又は複数のルールセグメント72により部分ルール解析網20をメモリ10上に構築し、構築した部分ルール解析網20に基づいて推論を導出すると共に、推論の導出に利用され難いルールセグメント72をメモリ10上から削除するため、推論導出時に必要とするワークメモリのメモリ容量を削減し、かつ推論導出に要するメモリ容量を一定に保つことができる。またルール情報30に基づくルールセグメント72を事前に容易しておき、管理対象装置4からのイベント通知50を受信したときに必要なルールセグメント72を結合することにより部分ルール解析網20を構築するようにしているため、かかる推論導出までの時間を短時間化することができる。かくするにつき、対象システムの定義イベントの数やルールの数によらず、一定のワーキングメモリサイズを保ちながら、少ない解析時間で解析処理を実行することができる。
【産業上の利用可能性】
【0175】
本発明は、1又は複数の情報処理装置を管理し、管理対象の情報処理装置から送信されるイベント通知に基づいて解析処理を行う管理装置に広く適用することができる。
【符号の説明】
【0176】
1……情報処理装置、2……管理サーバ、3……管理対象装置群、4……管理対象装置、10……メモリ、11……2次記憶装置、12……プロセッサ、20……部分ルール解析網、21……イベント索引情報、22……管理プログラム、23……イベントキュー、30……ルール情報、31……管理対象構成情報、32……ルールセグメントレポジトリ、33……セグメント結合情報、34……イベントオブジェクトテーブル、35……セグメント参照履歴情報、50……イベント情報、72……ルールセグメント、73……セグメント参照情報。

【特許請求の範囲】
【請求項1】
1又は複数の情報処理装置を管理する管理装置において、
前記情報処理装置に発生するイベントの組み合わせを条件とし、前記イベントの組み合わせに対して想定される事柄を推論の結論とする、予め定義された1又は複数のルールを記憶する2次記憶装置と、
前記情報処理装置にイベントが発生したときに、当該情報処理装置から送信される当該イベントの内容に応じたイベント通知を受信するネットワークインタフェースと、
前記イベント通知及び対応する前記ルールに基づいて前記情報処理装置の状態を判断するプロセッサと、
前記プロセッサのワークメモリとして利用されるメモリと
を有し、
前記プロセッサは、
予め定義された前記1又は複数のルールを、それぞれ当該ルールを構成する条件及び結論からなる1つ以上のルールセグメントに分割し、分割により得られた前記ルールセグメントを前記2次記憶装置に保存し、
前記情報処理装置からのイベント通知を受信したときに、関連する1又は複数の前記ルールセグメントを選択し、選択した前記1又は複数のルールセグメントを前記メモリ上において必要に応じて結合することにより、当該メモリ上にルール間の関係を示すルール解析網を構築し、構築したルール解析網に基づいて推論を導出すると共に、推論の導出に利用され難いルールセグメントをメモリ上から削除する
ことを特徴とする管理装置。
【請求項2】
前記ルールは、
予め定義された障害時に検知する前記情報処理装置の状態の変更をイベントとし、当該イベントの組み合わせを条件とし、当該イベントの組み合わせに対して想定される障害原因候補の事象を結論とし、
前記プロセッサは、
前記イベント通知及び対応する前記ルールに基づいて障害原因の推論を導出する
ことを特徴とする請求項1に記載の管理装置。
【請求項3】
前記プロセッサは、
前記ルールを前記ルールセグメントに分割する際、当該ルールセグメント間の結合に関する情報でなるセグメント結合情報と、前記情報処理装置において発生するイベントに関連するルールセグメントを検索するためのイベント索引情報とを作成し、
前記イベント索引情報を利用して、前記情報処理装置から送信されたイベント通知により認識される当該情報処理装置に発生したイベントに関連する前記1又は複数のルールセグメントを選択し、選択した前記1又は複数のルールセグメントを前記メモリ上において前記セグメント結合情報を用いて結合することにより、当該メモリ上に当該イベントに関連するルール解析網を構築する
ことを特徴とする請求項1に記載の管理装置。
【請求項4】
前記プロセッサは、
前記メモリに読み込まれた前記ルールセグメントごとの参照履歴をセグメント参照履歴情報として管理し、当該セグメント参照履歴情報に基づいて、推論の導出に利用され難い前記ルールセグメントを判断する
ことを特徴とする請求項1に記載の管理装置。
【請求項5】
前記セグメント参照履歴情報は、
最後に参照された時刻である最終参照時刻と、前記ルールセグメントが前記メモリに読み込まれる平均的な時間間隔である平均読込み間隔と、対応する前記ルールセグメントの状態とに関する情報を含み、
前記プロセッサは、
前記ルールセグメントが推論の導出に利用され難いか否かを、前記ルールセグメントの状態により判断し、状態が同じルールセグメントについては、当該ルールセグメントの平均読込み間隔及び最終参照時刻のいずれか一方又は両方により判断する
ことを特徴する請求項4に記載の管理装置。
【請求項6】
前記ルールは、
予め定義された障害時に検知する前記情報処理装置の状態の変更をイベントとし、当該イベントの組み合わせを条件とし、当該イベントの組み合わせに対して想定される障害原因候補の事象を結論とし、
前記プロセッサは、
前記イベント通知及び対応する前記ルールに基づいて障害原因の推論を導出すると共に、
前記ルールを前記ルールセグメントに分割する際、当該ルールセグメント間の結合に関する情報でなるセグメント結合情報と、前記情報処理装置において発生するイベントに関連するルールセグメントを検索するためのイベント索引情報とを作成し、前記情報処理装置からのイベント通知を受信したときに、当該イベント索引情報を利用して、前記情報処理装置から送信された前記イベント通知により認識されるイベントに関連する前記1又は複数のルールセグメントを選択し、選択した前記1又は複数のルールセグメントを前記メモリ上において前記セグメント結合情報を用いて結合することにより、当該メモリ上に当該イベントに関連するルール解析網を構築する一方、
前記メモリに読み込まれた前記ルールセグメントごとに、最後に参照された時刻である最終参照時刻と、前記ルールセグメントが前記メモリに読み込まれる平均的な時間間隔である平均読込み間隔と、対応する前記ルールセグメントの状態とをセグメント参照履歴情報として管理し、当該セグメント参照履歴情報に基づいて、前記ルールセグメントが推論の導出に利用され難いか否かを、前記ルールセグメントの状態により判断し、状態が同じルールセグメントについては、当該ルールセグメントの平均読込み間隔及び最終参照時刻のいずれか一方又は両方により判断する
ことを特徴とする請求項1に記載の管理装置。
【請求項7】
1又は複数の情報処理装置を管理する管理方法において、
前記情報処理装置に発生するイベントの組み合わせを条件とし、前記イベントの組み合わせに対して想定される事柄を推論の結論とする、予め定義された1又は複数のルールを記憶する第1のステップと、
前記情報処理装置にイベントが発生したときに、当該情報処理装置から送信される当該イベントの内容に応じたイベント通知を受信する第2のステップと、
前記イベント通知及び対応する前記ルールに基づいて前記情報処理装置の状態を判断する第3のステップと
を有し、
前記第1のステップでは、
予め定義された前記1又は複数のルールを、それぞれ当該ルールを構成する条件及び結論からなる1つ以上のルールセグメントに分割し、分割により得られた前記ルールセグメントを前記2次記憶装置に保存し、
前記第3のステップでは、
前記情報処理装置からのイベント通知を受信したときに、関連する1又は複数の前記ルールセグメントを選択し、選択した前記1又は複数のルールセグメントをメモリ上において必要に応じて結合することにより、当該メモリ上にルール間の関係を示すルール解析網を構築し、構築したルール解析網に基づいて推論を導出すると共に、推論の導出に利用され難いルールセグメントをメモリ上から削除する
ことを特徴とする管理方法。
【請求項8】
前記ルールは、
予め定義された障害時に検知する前記情報処理装置の状態の変更をイベントとし、当該イベントの組み合わせを条件とし、当該イベントの組み合わせに対して想定される障害原因候補の事象を結論とし、
前記第3のステップでは、
前記イベント通知及び対応する前記ルールに基づいて障害原因の推論を導出する
ことを特徴とする請求項7に記載の管理方法。
【請求項9】
前記第1のステップでは、
前記ルールを前記ルールセグメントに分割する際、当該ルールセグメント間の結合に関する情報でなるセグメント結合情報と、前記情報処理装置において発生するイベントに関連するルールセグメントを検索するためのイベント索引情報とを作成し、
前記第3のステップでは、
前記イベント索引情報を利用して、前記情報処理装置から送信されたイベント通知により認識される当該情報処理装置に発生したイベントに関連する前記1又は複数のルールセグメントを選択し、選択した前記1又は複数のルールセグメントを前記メモリ上において前記セグメント結合情報を用いて結合することにより、当該メモリ上に当該イベントに関連するルール解析網を構築する
ことを特徴とする請求項7に記載の管理方法。
【請求項10】
前記メモリに読み込んだ前記ルールセグメントごとの参照履歴をセグメント参照履歴情報として管理し、
前記第3のステップでは、
当該セグメント参照履歴情報に基づいて、推論の導出に利用され難い前記ルールセグメントを判断する
ことを特徴とする請求項7に記載の管理方法。
【請求項11】
前記セグメント参照履歴情報は、
最後に参照された時刻である最終参照時刻と、前記ルールセグメントが前記メモリに読み込まれる平均的な時間間隔である平均読込み間隔と、対応する前記ルールセグメントの状態とに関する情報を含み、
前記第3のステップでは、
前記ルールセグメントが推論の導出に利用され難いか否かを、前記ルールセグメントの状態により判断し、状態が同じルールセグメントについては、当該ルールセグメントの平均読込み間隔及び最終参照時刻のいずれか一方又は両方により判断する
ことを特徴する請求項10に記載の管理方法。
【請求項12】
前記ルールは、
予め定義された障害時に検知する前記情報処理装置の状態の変更をイベントとし、当該イベントの組み合わせを条件とし、当該イベントの組み合わせに対して想定される障害原因候補の事象を結論とし、
前記第3のステップでは、
前記イベント通知及び対応する前記ルールに基づいて障害原因の推論を導出すると共に、
前記第1のステップでは、
前記ルールを前記ルールセグメントに分割する際、当該ルールセグメント間の結合に関する情報でなるセグメント結合情報と、前記情報処理装置において発生するイベントに関連するルールセグメントを検索するためのイベント索引情報とを作成し、
前記第3のステップでは、
前記イベント索引情報を利用して、前記情報処理装置から送信されたイベント通知により認識される当該情報処理装置に発生したイベントに関連する前記1又は複数のルールセグメントを選択し、選択した前記1又は複数のルールセグメントを前記メモリ上において前記セグメント結合情報を用いて結合することにより、当該メモリ上に当該イベントに関連するルール解析網を構築する一方、
前記メモリに読み込んだ前記ルールセグメントごとに、最後に参照された時刻である最終参照時刻と、前記ルールセグメントが前記メモリに読み込まれる平均的な時間間隔である平均読込み間隔と、対応する前記ルールセグメントの状態とをセグメント参照履歴情報として管理し、
前記第3のステップでは、
当該セグメント参照履歴情報に基づいて、推論の導出に利用され難いか否かを、前記ルールセグメントの状態により判断し、状態が同じルールセグメントについては、当該ルールセグメントの平均読込み間隔及び最終参照時刻のいずれか一方又は両方により判断する
ことを特徴とする請求項7に記載の管理方法。

【図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

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate