(57)【特許請求の範囲】
【請求項１】
情報処理システムの構成要素の識別情報に対応付けて該構成要素の種別情報を記憶する構成情報記憶部を用いて、前記情報処理システムより出力され、前記識別情報を含むメッセージに対応する種別情報を判定し、
複数のメッセージが含まれる第一のメッセージ群と、他の情報処理システムの構成要素の種別情報をメッセージごとに関連付けてメッセージ群記憶部が記憶する第二のメッセージ群とを照合し、一致しないメッセージ同士については、それぞれに係る種別情報に関して照合を行う、
処理をコンピュータに実行させるプログラム。
【請求項２】
前記メッセージ群記憶部は、抽象度の異なる複数の前記種別情報をメッセージごとに関連付けて前記第二のメッセージ群を記憶し、
前記照合を行う処理は、前記一致しないメッセージ同士については、それぞれに係る前記複数の種別情報のいずれかが一致するか否かについて照合を行う請求項１記載のプログラム。
【請求項３】
前記種別情報が一致した場合に、前記第一のメッセージ群を前記メッセージ群記憶部に記録する処理を前記コンピュータに実行させる請求項１又は２記載のプログラム。
【請求項４】
情報処理システムの構成要素の識別情報に対応付けて該構成要素の種別情報を記憶する構成情報記憶部を用いて、前記情報処理システムより出力され、前記識別情報を含むメッセージに対応する種別情報を判定する判定部と、
複数のメッセージが含まれる第一のメッセージ群と、他の情報処理システムの構成要素の種別情報をメッセージごとに関連付けてメッセージ群記憶部が記憶する第二のメッセージ群とを照合し、一致しないメッセージ同士については、それぞれに係る種別情報に関して照合を行う照合部とを有する情報処理装置。
【請求項５】
情報処理システムの構成要素の識別情報に対応付けて該構成要素の種別情報を記憶する構成情報記憶部を用いて、前記情報処理システムより出力され、前記識別情報を含むメッセージに対応する種別情報を判定し、
複数のメッセージが含まれる第一のメッセージ群と、他の情報処理システムの構成要素の種別情報をメッセージごとに関連付けてメッセージ群記憶部が記憶する第二のメッセージ群とを照合し、一致しないメッセージ同士については、それぞれに係る種別情報に関して照合を行う、
処理をコンピュータが実行する情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムの障害の発生の可能性を検知するプログラム、情報処理装置、及び情報処理方法に関する。
【背景技術】
【０００２】
一般的に、コンピュータシステムは、障害解析等を目的として各種のメッセージを記憶装置に出力するように実装されている。また、運用時に出力されるメッセージを監視して、障害の発生を自動検知することも検討されている。例えば、過去の障害発生時に出力されたメッセージ群をメッセージパターンとして障害情報に関連付けて学習しておく。運用時において新たに出力されたメッセージ群を、メッセージパターンと比較し、一致するメッセージパターンが有れば、当該メッセージパターンに関連付けられている障害情報を、システム管理者等に通知する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−７１８０７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記のような仕組みは、監視対象のコンピュータシステムの構成（ハードウェア構成又はソフトウェア構成等）が異なると、適切に機能しないという問題があった。例えば、システムＡとシステムＢとにおいて、一部の機能に関して異なるソフトウェアを利用されている場合、各ソフトウェアによって出力されるメッセージは異なるのが一般的である。したがって、システムＢより出力されるメッセージ群を、システムＡにおいて学習されたメッセーパターンと照合しても、適切に障害を検知することは困難であった。したがって、この場合、システムＢについてもメッセージパターンの学習作業が行われる必要があった。
【０００５】
そこで、1側面では、コンピュータシステムの障害検知のための作業負担を軽減させることのできるプログラム、情報処理装置、及び情報処理方法の提供を目的とする。
【課題を解決するための手段】
【０００６】
一つの案では、プログラムは、情報処理システムの構成要素の識別情報に対応付けて該構成要素の種別情報を記憶する構成情報記憶部を用いて、前記情報処理システムより出力され、前記識別情報を含むメッセージに対応する種別情報を判定し、複数のメッセージが含まれる第一のメッセージ群と、他の情報処理システムの構成要素の種別情報をメッセージごとに関連付けてメッセージ群記憶部が記憶する第二のメッセージ群とを照合し、一致しないメッセージ同士については、それぞれに係る種別情報に関して照合を行う処理をコンピュータに実行させる。
【発明の効果】
【０００７】
一態様によれば、コンピュータシステムの障害検知のための作業負担を軽減させることができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施の形態のシステム構成例を示す図である。
【図２】本発明の実施の形態における障害検知装置のハードウェア構成例を示す図である。
【図３】本発明の実施の形態における障害検知装置の機能構成例を示す図である。
【図４】メッセージパターンの学習処理の処理手順の一例を説明するためのフローチャートである。
【図５】メッセージログ記憶部に記録されているメッセージログの例を示す図である。
【図６】構成情報記憶部の構成例を示す図である。
【図７】メッセージ分類辞書記憶部の構成例を示す図である。
【図８】ウィンドウ幅を説明するための図である。
【図９】障害事例記憶部の構成例を示す図である。
【図１０】メッセージパターン辞書記憶部の構成例を示す図である。
【図１１】構成要素の種別情報の付与処理の処理手順の一例を説明するためのフローチャートである。
【図１２】障害検知処理の処理手順の一例を説明するためのフローチャートである。
【図１３】メッセージパターン照合処理の処理手順の一例を説明するためのフローチャートである。
【図１４】比較対象の抽象化を説明するための図である。
【図１５】フィードバック処理の処理手順の一例を説明するためのフローチャートである。
【発明を実施するための形態】
【０００９】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態のシステム構成例を示す図である。同図において、情報処理システム１及び情報処理システム２と障害検知装置１０とは、ＬＡＮ（Local Area Network）又はインターネット等のネットワーク３０（有線又は無線の別は問わない。）を介して通信可能に接続されている。
【００１０】
情報処理システム１及び情報処理システム２は、それぞれ一以上のコンピュータを含むコンピュータシステムである。本実施の形態において、情報処理システム１及び情報処理システム２が実行する情報処理の内容については限定されない。但し、情報処理システム１及び情報処理システム２のそれぞれの構成要素（プログラム）は、処理の実行に応じてメッセージを出力する。また、情報処理システム１と情報処理システム２とは、少なくとも一部の構成要素が異なる。
【００１１】
障害検知装置１０は、情報処理システム１又は情報処理システム２より出力されるメッセージを監視することにより、情報処理システム１又は情報処理システム２における障害の発生の可能性を検知する情報処理装置である。より詳しくは、障害検知装置１０は、障害発生時において出力されるメッセージ群（メッセージパターン）を障害に関する情報（以下、「障害情報」という。）に関連付けて記憶するメッセージパターン学習機能を有する。また、障害検知装置１０は、メッセージパターン学習機能によって学習されたメッセージパターンを、新たに出力されるメッセージ群と照合することにより、障害の発生の可能性を検知する障害検知機能を有する。
【００１２】
なお、本実施の形態において、障害検知装置１０は、情報処理システム１に関して学習されたメッセージパターンに基づいて、情報処理システム１のみならず、情報処理システム２における障害の発生の可能性を検知する。例えば、情報処理システム１は既存のシステムであり、情報処理システム２は、新たに運用が開始されるシステムであると考えてもよい。
【００１３】
図２は、本発明の実施の形態における障害検知装置のハードウェア構成例を示す図である。図２の障害検知装置１０は、それぞれバスBで相互に接続されているドライブ装置１００、補助記憶装置１０２、メモリ装置１０３、ＣＰＵ１０４、及びインタフェース装置１０５等を有する。
【００１４】
障害検知装置１０での処理を実現するプログラムは、記録媒体１０１によって提供される。プログラムを記録した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００１５】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従って障害検知装置１０に係る機能を実行する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。
【００１６】
なお、記録媒体１０１の一例としては、ＣＤ−ＲＯＭ、ＤＶＤディスク、又はＵＳＢメモリ等の可搬型の記録媒体が挙げられる。また、補助記憶装置１０２の一例としては、ＨＤＤ（Hard Disk Drive）又はフラッシュメモリ等が挙げられる。記録媒体１０１及び補助記憶装置１０２のいずれについても、コンピュータ読み取り可能な記録媒体に相当する。
【００１７】
図３は、本発明の実施の形態における障害検知装置の機能構成例を示す図である。同図において、障害検知装置１０は、障害事例記憶部１１、メッセージログ記憶部１２、メッセージパターン学習部１３、メッセージ分類辞書記憶部１４、メッセージパターン辞書記憶部１５、要素種別判定部１６、構成情報記憶部１７、及び障害検知部１８等を有する。
【００１８】
障害事例記憶部１１、メッセージログ記憶部１２、メッセージ分類辞書記憶部１４、メッセージパターン辞書記憶部１５、及び構成情報記憶部１７は、補助記憶装置１０２を用いて実現可能である。または、これら記憶部は、障害検知装置１０とネットワークを介して接続される記憶装置を用いて実現されてもよい。
【００１９】
メッセージパターン学習部１３、要素種別判定部１６、及び障害検知部１８は、障害検知装置１０にインストールされたプログラムが、障害検知装置１０のＣＰＵ１０４に実行させる処理により実現される。
【００２０】
障害事例記憶部１１は、情報処理システム１において過去に発生した障害の履歴情報を記憶する。メッセージログ記憶部１２は、情報処理システム１の各構成要素（プログラム）が出力したメッセージのログ（履歴）を記憶する。
【００２１】
メッセージ分類辞書記憶部１４は、メッセージの種別を示す識別子（以下、「メッセージ種別ＩＤ」という。）、に関連付けて当該種別に対応するメッセージ文字列を記憶する。本実施の形態において、メッセージ種別ＩＤは、数値である。但し、アルファベット等、他の符号がメッセージ種別ＩＤに用いられてもよい。メッセージ分類辞書記憶部１４が記憶する情報は、文字列のクラスタリング技術を用いてメッセージを分類（数値化）するために用いられる。
【００２２】
構成情報記憶部１７は、情報処理システム１又は情報処理システム２の各構成要素の識別情報に関連付けて、構成要素の種別を示す情報（種別情報）を記憶する。構成要素の種別の値は、種別を分類する基準の抽象度に応じて異なる。例えば、プログラム名を分類基準とすれば、プログラム名が種別の値となる。また、プログラムの機能（Ｗｅｂサーバであるのか、アプリケーションサーバであるのか、データベースであるのか等）を基準とすれば、プログラムの機能を示す文字列（機能名）が種別の値となる。構成情報記憶部１７は、構成要素ごとに、抽象度の異なる複数の種別情報を記憶する。
【００２３】
要素種別判定部１６は、メッセージログ記憶部１２に記憶されているメッセージ、及び運用メッセージに関して、構成情報記憶部１７を用いて、各メッセージの出力元である構成要素の種別情報を判定する。なお、運用メッセージとは、情報処理システム１又は２の運用時において、障害検知装置１０に入力されるメッセージである。
【００２４】
メッセージパターン学習部１３は、障害事例記憶部１１及びメッセージログ記憶部１２等を用いて、障害発生時におけるメッセージパターンを学習する。より詳しくは、メッセージパターン学習部１３は、障害事例記憶部１１に記憶された情報とメッセージログ記憶部１２に記憶された情報とを照合して、障害が発生している期間に情報処理システム１の各構成要素より出力されたメッセージ群（メッセージの集合）を特定する。メッセージパターン学習部１３は、特定されたメッセージ群に含まれる各メッセージをメッセージ分類辞書記憶部１４に基づいてメッセージ種別ＩＤの集合（以下、「メッセージパターン」という。）に変換する。メッセージパターン学習部１３は、当該メッセージパターンを、当該障害に関する障害情報に関連付けてメッセージパターン辞書記憶部１５に記録する。なお、本実施の形態のメッセージパターンには、メッセージ種別ＩＤごと（すなわち、メッセージごと）に、要素種別判定部１６によって各メッセージについて判定された構成要素の種別情報が付与される。
【００２５】
障害検知部１８は、運用メッセージ群を、メッセージパターン辞書記憶部１５に記憶されたメッセージパターンと照合して、情報処理システム１又は２における障害の発生の可能性を検知する。より詳しくは、障害検知部１８は、メッセージ分類辞書記憶部１４を用いて運用メッセージ群を、数列（すなわち、メッセージパターン）に変換する。障害検知部１８は、運用メッセージ群のメッセージパターンと、メッセージパターン辞書記憶部１５が記憶するメッセージパターンと照合して、情報処理システム１又は２における障害の発生の可能性を検知する。但し、本実施の形態において、メッセージパターン辞書記憶部１５の当初の記憶内容は、情報処理システム１のメッセージログに基づく学習結果である。したがって、情報処理システム２より出力される運用メッセージ群のメッセージパターンについては、メッセージパターン辞書記憶部１５に記憶されているメッセージパターンと一致する可能性は低い。すなわち、情報処理システム２に関して障害を検知できる可能性が低い。そこで、障害検知部１８は、照合対象とされたメッセージパターン間において、一致しない部分については、当該部分に係る双方のメッセージに付与されている構成要素の種別情報を照合する。すなわち、一致しない部分については、抽象度が上げられて照合が行われる。そうすることにより、障害検知装置１０は、情報処理システム１に関して学習されたメッセージパターンを用いて、情報処理システム２における障害の発生の可能性の検知を行う。
【００２６】
以下、障害検知装置１０の処理手順について説明する。まず、メッセージパターンの学習処理について説明する。
【００２７】
図４は、メッセージパターンの学習処理の処理手順の一例を説明するためのフローチャートである。
【００２８】
ステップＳ１０１において、メッセージパターン学習部１３は、メッセージログ記憶部１２よりメッセージを一つメモリ装置１０３に読み込む。以下、読み込まれたメッセージを「対象メッセージ」という。
【００２９】
図５は、メッセージログ記憶部に記録されているメッセージログの例を示す図である。
【００３０】
同図のメッセージログにおいて、一行が一つのメッセージである。各メッセージは、時刻フィールド、ホスト名フィールド、プロセス名フィールド、及びメッセージ文字列フィールド等を含む。時刻フィールドは、メッセージが出力された（又はメッセージログ記憶部１２に記録された）時刻を示す文字列を含むフィールド（項目）である。ホスト名フィールドは、メッセージの出力元のプログラム（構成要素）が所在するコンピュータ又はネットワーク機器等のホスト名を含むフィールドである。プロセス名フィールドは、メッセージの出力元のプログラムのプロセスの名前（プロセス名）を含むフィールドである。プロセス名は、＜プログラム名＞［＜プロセスＩＤ＞］の形式で記録されている。＜＞は具体的な値で置き換えられることを意味する。メッセージ文字列フィールドは、出力されたメッセージを示す文字列を含むフィールドである。なお、本実施の形態において、ホスト名フィールドの値及びプロセス名フィールドの値の組合せは、構成要素の識別情報の一例である。
【００３１】
上記したステップＳ１０１では、斯かるメッセージログから一行分のメッセージが読み込まれる。
【００３２】
メッセージが読み込まれた場合、すなわち、メッセージログの終端に到達していない場合（Ｓ１０２でＹｅｓ）、要素種別判定部１６は、対象メッセージを出力した構成要素の種別情報を構成情報記憶部１７より取得する。要素種別判定部１６は、当該種別情報を対象メッセージに付与する（Ｓ１０３）。種別情報を対象メッセージに付与するとは、例えば、種別情報を対象メッセージに関連付けてメモリ装置１０３に記録することをいう。
【００３３】
図６は、構成情報記憶部の構成例を示す図である。同図に示されるように、構成情報記憶部１７は、情報処理システム１又は情報処理システム２の構成要素ごとに、上位種別、下位種別、及び構成要素名等を記憶する。
【００３４】
構成要素名は、情報処理システム１及び情報処理システム２において構成要素を一意に識別する識別情報である。本実施の形態において、構成要素名は、＜ホスト名＞，＜プログラム名＞の形式によって示される。したがって、同一のプログラムであっても、異なるコンピュータにおいて動作するプログラムの構成要素名は異なる。上位種別及び下位種別は、構成要素の種別情報の一例である。下位種別は、上位種別に対して抽象度の低い（具体度の高い）又は分類範囲の小さい種別である。本実施の形態において、下位種別の値（以下、「下位種別名」という。）は、プログラムの製品名である。但し、機器とプログラム（構成要素）とが一対一に対応付く場合、機器の種別名が下位種別の値とされてもよい。例えば、１行目の下位種別の値は、「Ｒｏｕｔｅｒ（ルータ）」とされている。ルータについては、プログラムと機器とが一対一に対応付くため（基本的に一つのプログラム（ＯＳ（Operating System））が動作するため）、機器の種別名が下位種別の値とされている。
【００３５】
上位種別は、下位種別に対して抽象度の高い（具体度の低い）又は分類範囲の大きい種別である。本実施の形態において、上位種別の値（以下、「上位種別名」という。）は、プログラムの機能名である。但し、下位種別の値が、機器の種別名である構成要素については、更に抽象度の高い機器の種別名が上位種別の値とされてもよい。例えば、一行目の上位種別の値は、「Ｎｅｔｗｏｒｋ（ネットワーク機器）」とされている。
【００３６】
続いて、メッセージパターン学習部１３は、メッセージ分類辞書記憶部１４を用いて、対象メッセージの種別を判定し、当該種別を示すメッセージ種別ＩＤをメッセージ分類辞書記憶部１４より取得する（Ｓ１０４）。メッセージパターン学習部１３は、取得されたメッセージ種別ＩＤを、対象メッセージに関連付けてメモリ装置１０３に記録する。
【００３７】
図７は、メッセージ分類辞書記憶部の構成例を示す図である。同図に示されるように、メッセージ分類辞書記憶部１４は、メッセージ種別ＩＤとメッセージ文字列とを対応付けて記憶する。ステップＳ１０４において、メッセージパターン学習部１３は、文字列のクラスタリング技術を用いて、対象メッセージのメッセージ文字列フィールドの値と類似又は一致するメッセージ文字列を検索する。メッセージパターン学習部１３、検索されたメッセージ文字列に対応するメッセージ種別ＩＤをメッセージ分類辞書記憶部１４より取得する。文字列のクラスタリング技術では、例えば、比較される文字列同士が所定の割合以上一致していれば、双方の文字列は類似すると判定される。なお、対象メッセージのメッセージ文字列フィールドの値と類似又は一致するメッセージ文字列が検索されない場合、メッセージパターン学習部１３は、対象メッセージのメッセージ文字列フィールドの値を、新たな種別に対するメッセージ文字列として、メッセージ分類辞書記憶部１４に記録する。この際、新たなメッセージ種別ＩＤが当該メッセージ文字列に対応付けられる。
【００３８】
ステップＳ１０１〜Ｓ１０４は、メッセージログ記憶部１２より読み込まれたメッセージ群の期間が、ウィンドウ幅を超えるまで実行される（Ｓ１０５）。読み込まれたメッセージ群の期間とは、当該メッセージ群の中で最も古いメッセージの時刻を始点とし、最も新しいメッセージの時刻を終点とする期間をいう。また、ウィンドウ幅とは、メッセージパターンを区切る最長時間をいう。
【００３９】
図８は、ウィンドウ幅を説明するための図である。同図において、メッセージログＬ内のｍｅｓｓａｇｅＮ（Ｎは、整数）は、それぞれ一つのメッセージを示す。また、メッセージログＬにおいて、各メッセージは、その時間フィールドが示す時刻に応じた位置に配置されている。例えば、ｍｅｓｓａｇｅ２とｍｅｓｓａｇｅ３との間は離れているが、これは、ｍｅｓｓａｇｅ２の時刻とｍｅｓｓａｇｅ３の時刻とが離れていることを示す。
【００４０】
同図（Ａ）は、ｍｅｓｓａｇｅ１及びｍｅｓｓａｇｅ２が読み込まれた状態における、読み込まれたメッセージ群の期間ｔとウィンドウ幅Ｗとの関係を示す。すなわち、ステップＳ１０１〜Ｓ１０４が２回実行された状態である。この状態では、期間ｔはウィンドウ幅Ｗを超えていない。したがって、ステップＳ１０１以降が繰り返される。このことは、図８において、ウィンドウ幅が下方向に移動することを意味する。
【００４１】
同図（Ｂ）は、ｍｅｓｓａｇｅ１〜ｍｅｓｓａｇｅ４までが読み込まれた状態における、読み込まれたメッセージ群の期間ｔとウィンドウ幅Ｗとの関係を示す。この状態において、期間ｔは、ウィンドウ幅Ｗを超えている。したがって、ステップＳ１０６に進む。
【００４２】
ステップＳ１０６において、メッセージパターン学習部１３は、対象メッセージより一つ前のメッセージを起点としてウィンドウ幅Ｗ分遡った期間に含まれるメッセージ群について、メッセージパターン（メッセージ種別ＩＤの集合）を生成する。例えば、図８の（Ｂ）の状態においてステップＳ１０６が実行される場合、同図（Ｃ）に示されるように、ｍｅｓｓａｇｅ３からウィンドウ幅Ｗ分遡った期間に含まれる、ｍｅｓｓａｇｅ１〜ｍｅｓｓａｇｅ３について、メッセージパターンが生成される。例えば、ｍｅｓｓａｇｅ１のメッセージ種別ＩＤが、「１０」、ｍｅｓｓａｇｅ３のメッセージ種別ＩＤが、「５」、ｍｅｓｓａｇｅ３のメッセージ種別ＩＤが「２６」であれば、「５、１０、２６」というメッセージパターンが生成される。メッセージパターンには、ステップＳ１０３においてメッセージごと（メッセージ種別ＩＤごと）に付与された種別情報が含められる。すなわち、メッセージパターンは、メッセージＩＤの集合と、種別情報の集合とを含む。ステップＳ１０６において生成されたメッセージパターンを、以下「対象メッセージパターン」という。
【００４３】
なお、メッセージパターンにおいて、メッセージの出力順は問われない。本実施の形態のメッセージパターンにおいて、メッセージ種別ＩＤは、便宜上昇順に並べられる。
【００４４】
続いて、メッセージパターン学習部１３は、対象メッセージパターンの期間における障害事例を、障害事例記憶部１１より検索する（Ｓ１０７）。対象メッセージパターンの期間とは、対象メッセージパターンに係るメッセージ群の中で最も古いメッセージの時刻を始点とし、最も新しいメッセージの時刻を終点とする期間をいう。
【００４５】
図９は、障害事例記憶部の構成例を示す図である。同図に示されるように、障害事例記憶部１１は、過去に発生した障害事例ごとに、開始時刻、終了時刻、及び障害種別等を記憶する。
【００４６】
開始時刻は、障害が始まった時刻又は障害が始まったと推定される時刻である。終了時刻は、障害が終了した時刻又は障害が終了したと推定される時刻である。開始時刻及び終了時刻の間の時間を、以下「障害期間」という。障害種別は、障害の種別の識別子である。障害事例記憶部１１のレコードは、例えば、システム管理者等によって登録される。
【００４７】
上記したステップＳ１０７において、メッセージパターン学習部１３は、対象メッセージパターンの期間に一致する障害期間に係るレコード、又は対象メッセージパターンの期間を含む障害期間に係るレコードを検索する。検索されたレコードに係る障害事例を、以下「対象障害事例」という。
【００４８】
続いて、メッセージパターン学習部１３は、対象障害事例及び対象メッセージパターンによってメッセージパターン辞書記憶部１５を更新する（Ｓ１０８）。
【００４９】
図１０は、メッセージパターン辞書記憶部の構成例を示す図である。同図に示されるように、メッセージパターン辞書記憶部１５は、障害種別ごとに、障害種別の値を含むレコード（以下、「障害事例レコード」という。）を記憶する。例えば、同図では、障害種別が「１」の障害種別レコードと、障害種別が「２」の障害種別レコードとが例示されている。各障害事例レコードは、一以上のメッセージパターンごとのレコード（以下、「メッセージパターンレコード」という。）を含む。メッセージパターンレコードは、パターンＩＤ、メッセージパターン、出現回数、障害回数、及び共起確立等の項目を含む。
【００５０】
パターンＩＤは、同一の障害種別内において、各メッセージパターンに一意な識別子である。メッセージパターンは、メッセージパターンに含まれるメッセージごとに、メッセージ種別、下位種別、及び上位種別を含む。下位種別及び上位種別は、要素種別判定部１６によって付与された、構成要素の種別情報である。
【００５１】
出現回数は、同一のメッセージパターンが過去に出現した（検出された）回数である。障害回数は、当該メッセージパターンが検出された際に、実際に障害が発生していた回数である。共起確立は、障害回数を出現回数によって除した値である。すなわち、共起確立は、当該メッセージパターンが検出された際に、障害が発生していた確率である。なお、同図において、下位種別及び上位種別の値は、便宜上、図６に示される値に対して省略化されている。また、メッセージパターンの長さが必ずしも一定ではないのは、メッセージパターンは、ウィンドウ幅Ｗによって区切られるところ、各メッセージが出力される間隔は、必ずしも一定ではないからである。
【００５２】
上記したステップＳ１０８において、メッセージパターン学習部１３は、メッセージパターン辞書記憶部１５において、対象メッセージパターンと一致するメッセージパターンレコードの出現回数に１を加算する。ここでの一致又は不一致は、メッセージパターンのメッセージ種別ＩＤ群の一致又は不一致を意味する。なお、メッセージ種別ＩＤ群の順番は問われない。
【００５３】
また、ステップＳ１０７において対象障害事例が検索されている場合、メッセージパターン学習部１３は、対象メッセージパターンと一致するメッセージパターンレコードのうち、対象障害事例の障害種別に属するメッセージパターンレコードについて、障害回数に１を加算する。出現回数及び障害回数の更新後、メッセージパターン学習部１３は、出現回数及び障害回数の少なくともいずれか一方が更新されたメッセージパターンレコードの共起確立を更新する。
【００５４】
なお、対象メッセージパターンと一致するメッセージパターンレコードが無い場合、メッセージパターン学習部１３は、対象障害事例の障害種別に係る障害事例レコードに、対象メッセージパターンを示すメッセージパターンレコードを追加する。当該メッセージパターンレコードの出現回数には「１」が、障害回数には「１」が、共起確立には「１．０」が記録される。
【００５５】
ステップＳ１０１〜Ｓ１０８が繰り返し実行され、メッセージログ記憶部１２の終端に到達した場合（Ｓ１０２でＮＯ）、メッセージパターン学習部１３は、メッセージログ記憶部１２の最後のメッセージに関してステップＳ１０６〜Ｓ１０８と同様の処理を実行し（Ｓ１０９〜Ｓ１１１）、図４の処理を終了させる。
【００５６】
続いて、ステップＳ１０３の詳細について説明する。図１１は、構成要素の種別情報の付与処理の処理手順の一例を説明するためのフローチャートである。
【００５７】
ステップＳ２０１において、要素種別判定部１６は、対象メッセージをフィールド単位に分解する。続いて、要素種別判定部１６は、ホスト名フィールドの値及びプロセス名フィールドの値（但し、［］内のプロセスＩＤは除く。）を含む構成要素名に係るレコード（構成情報）を構成情報記憶部１７より検索する（Ｓ２０２）。続いて、要素種別判定部１６は、検索されたレコードに含まれている下位種別名及び上位素種別名を、対象メッセージに付与する（Ｓ２０３）。
【００５８】
続いて、図４の処理によって生成されたメッセージパターン辞書記憶部１５を用いて、情報処理システム２における障害の発生の可能性を検知する処理について説明する。以下の説明において、メッセージパターン辞書記憶部１５に記録されているメッセージパターンを、「学習パターン」という。
【００５９】
図１２は、障害検知処理の処理手順の一例を説明するためのフローチャートである。
【００６０】
ステップＳ３０１において、障害検知部１８は、情報処理システム２より運用メッセージを受信する。障害検知部１８は、受信された運用メッセージ（以下、「対象運用メッセージ」という。）を、例えば、メモリ装置１０３に記録する。運用メッセージも、メッセージログ記憶部１２に記憶されているメッセージと同一形式であるとする。
【００６１】
なお、一般的に、メッセージの出力元が異なれば、メッセージの形式は異なる。本実施の形態では、例えば、メッセージの出力元ごとに、共通のメッセージ形式に変換する変換部が設けられている。
【００６２】
続いて、要素種別判定部１６は、対象運用メッセージを出力した構成要素の種別情報を構成情報記憶部１７より取得し、当該種別情報を対象メッセージに付与する（Ｓ３０２）。当該ステップの処理内容は、図１１と同様でよい。
【００６３】
続いて、障害検知部１８は、メッセージ分類辞書記憶部１４を用いて、対象運用メッセージの種別を判定し、当該種別を示すメッセージ種別ＩＤをメッセージ分類辞書記憶部１４より取得する（Ｓ３０３）。障害検知部１８は、取得されたメッセージ種別ＩＤを、対象運用メッセージに関連付けてメモリ装置１０３に記録する。当該ステップの処理内容は、図４のステップＳ１０４と同様でよい。
【００６４】
続いて、障害検知部１８は、対象運用メッセージを起点としてウィンドウ幅Ｗ分遡った期間内に受信された運用メッセージ群について、メッセージパターン（メッセージ種別ＩＤの集合）を生成する（Ｓ３０４）。当該ステップの処理内容は、図４のステップＳ１０６と同様でよい。以下、ステップＳ３０４において生成されたメッセージパターンを、「対象運用メッセージパターン」という。
【００６５】
続いて、障害検知部１８は、メッセージパターン照合処理を実行する（Ｓ３０５）。すなわち、障害検知部１８は、対象運用メッセージパターンに一致する学習パターンをメッセージパターン辞書記憶部１５より検索する。
【００６６】
対象運用メッセージパターンに一致する学習パターンが検索された場合（Ｓ３０６でＹｅｓ）、障害検知部１８は、当該学習パターンに関連付けられている障害事例等に関する情報を出力する（Ｓ３０７）。ここで、出力される情報が、障害検知部１８による、障害の発生の可能性の検知結果である。当該学習パターンに関連付けられている障害事例とは、メッセージパターン辞書記憶部１５において、当該学習パターンに係るメッセージパターンレコードを含む障害事例レコードに係る障害事例をいう。障害事例に関する情報とは、例えば、当該障害事例レコードの障害種別の値、当該学習パターンのパターンＩＤ、及び当該学習パターンのメッセージパターンレコードの共起確立の値等である。これらの値が出力されることにより、管理者等は、どのような障害が発生している可能性がどの程度有るかを把握することができる。障害事例に関する情報の出力形態は、所定のものに限定されない。例えば、障害検知装置１０に接続されている表示装置に表示されもよいし、プリンタに印刷されてもよいし、管理者等のメールアドレス宛に送信されてもよい。
【００６７】
なお、障害検知部１８は、続くステップＳ３０８において実行されるフィードバック処理のために、対象運用メッセージパターンの内容を、ステップＳ３０５において検索された学習パターンに関連付けて、例えば、補助記憶装置１０２に記録しておく。
【００６８】
続いて、障害検知部１８は、フィードバック処理を実行する（Ｓ３０８）。すなわち、障害検知部１８は、ステップＳ３０７において出力された情報が有効であったか等を示す情報をユーザより受け付け、当該情報に基づいて、メッセージパターン辞書記憶部１５を更新する。
【００６９】
一方、対象運用メッセージパターンに一致する学習パターンが検索されない場合（Ｓ３０６でＮｏ）、ステップＳ３０７及びＳ３０８は実行されない。
【００７０】
続いて、ステップＳ３０５の詳細について説明する。図１３は、メッセージパターン照合処理の処理手順の一例を説明するためのフローチャートである。
【００７１】
ステップＳ４０１において、障害検知部１８は、対象運用メッセージパターンとの間で、一致するメッセージ種別ＩＤの数が最も多いメッセージパターンレコードをメッセージパターン辞書記憶部１５より検索する（Ｓ４０１）。
【００７２】
検索されたメッセージパターンレコードに係る学習パターン（以下、「対象学習パターン」という。）のメッセージ種別ＩＤ群が対象運用メッセージパターンのメッセージ種別ＩＤ群と完全に一致する場合（Ｓ４０２）、障害検知部１８は、対象学習パターンを検索結果とする（Ｓ４０７）。
【００７３】
一方、対象学習パターンのメッセージ種別ＩＤ群と対象運用メッセージパターンのメッセージ種別ＩＤ群との間に相違点が有る場合、障害検知部１８は、相違点（一致しないメッセージ同士）について比較対象の抽象度を一つ上げる（Ｓ４０３）。すなわち、相違点の比較対象が一階層抽象化される。
【００７４】
図１４は、比較対象の抽象化を説明するための図である。同図には、対象学習パターンの例としてパターンＰ１が、対象運用メッセージパターンの例としてパターンＰ２が示されている。パターンＰ１及びパターンＰ２の内容は、メッセージ種別ＩＤによってソートされている。なお、同図において、下位種別及び上位種別の値は、便宜上、図６に示される値に対して省略化されている。
【００７５】
同図において、パターンＰ１とパターンＰ２とは実線の矢印ａ１によって対応付けられている部分（メッセージ）においてメッセージ種別ＩＤが相違する。すなわち、当該部分において、パターンＰ１のメッセージ種別ＩＤは、「１０」であり、パターンＰ２のメッセージ種別ＩＤは、「１２１」である。そこで、ステップＳ４０３では、当該部分（すなわち、相違点）について、比較の対象が、破線の矢印ａ２で示されるように下位種別とされる。このことが、比較対象の抽象化である。なお、相違点が複数有る場合、複数の相違点について比較対象の抽象化が行われる。
【００７６】
すなわち、メッセージ種別ＩＤ（すなわち、メッセージの文字列）は一致しなくても、当該メッセージ種別ＩＤに係るメッセージの出力元の種別が一致する場合、当該メッセージの内容（すなわち、それぞれの出力元で発生している現象）は、一致する可能性が有ると考えられる。そこで、本実施の形態では、メッセージ種別ＩＤが一致しない場合に、出力元の種別が比較されるのである。
【００７７】
対象運用メッセージパターン及び対象学習パターンの双方について、相違点に関して比較対象の抽象化ができた場合（Ｓ４０４でＹｅｓ）、障害検知部１８は、抽象化した結果（例えば、下位種別の値）同士を照合する（Ｓ４０５）。図１４の例では、「Ｏｒａ」と「Ｍｙｓ」とが比較される。
【００７８】
抽象化された全ての比較対象が一致する場合（Ｓ４０６でＹｅｓ）、障害検知部１８は、対象学習パターンを、検索結果とする（Ｓ４０７）。なお、この場合、図１２のステップＳ３０７では、検索された学習パターンは、抽象化されたレベルにおいて対象運用メッセージパターンと一致することを示す注釈が出力されるようにしてもよい。
【００７９】
一方、少なくとも一つの比較対象が一致しない場合（Ｓ４０６でＮｏ）、障害検知部１８は、一致しない比較対象についてステップＳ４０３以降を繰り返す。ステップＳ４０３以降を繰り返した結果、抽象化をできなくなった場合（Ｓ４０４でＮｏ）、障害検知部１８は、一致する学習パターンは無いと判定する（Ｓ４０８）。抽象化をできなくなった場合とは、最上位の抽象度（本実施の形態では、上位種別）において比較をした結果、比較対象が一致しなかった場合である。
【００８０】
なお、図１４の例では、比較対象は、最終的に上位種別において一致するため、パターンＰ１が検索結果とされる。
【００８１】
続いて、図１２のステップＳ３０８の詳細について説明する。図１５は、フィードバック処理の処理手順の一例を説明するためのフローチャートである。
【００８２】
ステップＳ５０１において、障害検知部１８は、図１２のステップＳ３０７における障害の検知結果の有効性について入力を受け付ける。有効性についての入力には、ステップＳ３０７において出力された、障害種別及び学習パターンのパターンＩＤに加えて、有効であったか否かを示す情報が、例えば、所定の画面を介して指定される。有効であるとは、検知結果が示す障害種別に係る障害が、実際に発生していたことをいう。
【００８３】
有効であることを示す情報が入力された場合（Ｓ５０２でＹｅｓ）、障害検知部１８は、指定されたパターンＩＤに係る学習パターンに関連付けられて記録されている運用メッセージパターンを、メッセージパターン辞書記憶部１５に記録（登録）する（Ｓ５０３）。より詳しくは、当該運用メッセージパターンを示すメッセージパターンレコードが、指定された障害種別に係る障害事例レコードに追加される。すなわち、情報処理システム２に関するメッセージパターンが、当該障害事例に関して学習される。
【００８４】
したがって、その後に、学習されたメッセージパターンと同一の運用メッセージパターンが情報処理システム２に関して検出された場合、メッセージ種別ＩＤ群の比較によって、障害検知を行うことができるようになる。このような状況は、情報処理システム２の運用が継続され、新たな運用メッセージパターンの学習に応じて増加する。その結果、メッセージパターン辞書記憶部１５は、情報処理システム１だけでなく、情報処理システム２にも対応したメッセージパターン辞書記憶部１５として機能する。
【００８５】
なお、情報処理システム２に関して、情報処理システム１とは別に固有のメッセージパターン辞書記憶部を設ける場合、ステップＳ５０３における登録先は、当該固有のメッセージパターン辞書記憶部とされればよい。そうすることにより、情報処理システム１に関するメッセージパターン辞書記憶部１５を参考にしながら、情報処理システム２に固有のメッセージパターン辞書記憶部を成長させることができる。なお、この場合、固有のメッセージパターン辞書記憶部の情報量が十分な程度となるまで、情報処理システム２に関しては、図１３のステップＳ４０１において、メッセージパターン辞書記憶部１５と固有のメッセージパターン辞書記憶部の双方が検索先とされればよい。
【００８６】
なお、ステップＳ５０３において、当該固有のメッセージパターン辞書記憶部が登録先とされる場合、メッセージパターン辞書記憶部１５も重複して登録先とされてもよい。この場合、メッセージパターン辞書記憶部１５は、情報処理システム１及び情報処理システム２に共通のメッセージパターン辞書記憶部となる。
【００８７】
上述したように、本実施の形態によれば、メッセージパターンの照合において、一致しないメッセージ種別ＩＤ（メッセージ）に関しては、当該メッセージの出力元の種別情報（下位種別、上位種別）に関して照合が行われる。当該照合の結果、種別情報が一致する場合は、比較されたメッセージパターンは同様のシステム状態を示すものであると判定される。したがって、情報処理システム１において出力されたメッセージ群に基づいて、情報処理システム２に関して障害検知を行うことができる。その結果、情報処理システム２の障害検知のための作業負担を軽減させることができる。
【００８８】
また、メッセージパターンの各メッセージには、抽象度の異なる複数の種別情報が付与され、いずれかの抽象度における種別情報が一致するか否かについて照合が行われる。したがって、メッセージパターンの照合に関して、高い柔軟性を確保することができる。
【００８９】
特に、一部の構成要素が異なる多数のシステムの障害発生を監視する運用において、効果的にメッセージパターンを流用することができる。
【００９０】
また、多数のシステムで障害検知したメッセージパターンを、元となる学習結果に反映することで、効率的に新たなメッセージパターンを学習することができる。
【００９１】
なお、本実施の形態において、要素種別判定部１６は、判定部の一例である。障害検知部１８は、照合部の一例である。メッセージパターン辞書記憶部１５は、メッセージ群記憶部の一例である。
【００９２】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００９３】
以上の説明に関し、更に以下の項を開示する。
（付記１）
情報処理システムの構成要素の識別情報に対応付けて該構成要素の種別情報を記憶する構成情報記憶部を用いて、前記情報処理システムより出力され、前記識別情報を含むメッセージに対応する種別情報を判定し、
複数のメッセージが含まれる第一のメッセージ群と、他の情報処理システムの構成要素の種別情報をメッセージごとに関連付けてメッセージ群記憶部が記憶する第二のメッセージ群とを照合し、一致しないメッセージ同士については、それぞれに係る種別情報に関して照合を行う、
処理をコンピュータに実行させるプログラム。
（付記２）
前記メッセージ群記憶部は、抽象度の異なる複数の前記種別情報をメッセージごとに関連付けて前記第二のメッセージ群を記憶し、
前記照合を行う処理は、前記一致しないメッセージ同士については、それぞれに係る前記複数の種別情報のいずれかが一致するか否かについて照合を行う付記１記載のプログラム。
（付記３）
前記種別情報が一致した場合に、前記第一のメッセージ群を前記メッセージ群記憶部に記録する処理を前記コンピュータに実行させる付記１又は２記載のプログラム。
（付記４）
情報処理システムの構成要素の識別情報に対応付けて該構成要素の種別情報を記憶する構成情報記憶部を用いて、前記情報処理システムより出力され、前記識別情報を含むメッセージに対応する種別情報を判定する判定部と、
複数のメッセージが含まれる第一のメッセージ群と、他の情報処理システムの構成要素の種別情報をメッセージごとに関連付けてメッセージ群記憶部が記憶する第二のメッセージ群とを照合し、一致しないメッセージ同士については、それぞれに係る種別情報に関して照合を行う照合部とを有する情報処理装置。
（付記５）
前記メッセージ群記憶部は、抽象度の異なる複数の前記種別情報をメッセージごとに関連付けて前記第二のメッセージ群を記憶し、
前記照合部は、前記一致しないメッセージ同士については、それぞれに係る前記複数の種別情報のいずれかが一致するか否かについて照合を行う付記４記載のプログラム。
（付記６）
前記種別情報が一致した場合に、前記第一のメッセージ群を前記メッセージ群記憶部に記録する処理を前記コンピュータに実行させる付記４又は５記載のプログラム。
（付記７）
情報処理システムの構成要素の識別情報に対応付けて該構成要素の種別情報を記憶する構成情報記憶部を用いて、前記情報処理システムより出力され、前記識別情報を含むメッセージに対応する種別情報を判定し、
複数のメッセージが含まれる第一のメッセージ群と、他の情報処理システムの構成要素の種別情報をメッセージごとに関連付けてメッセージ群記憶部が記憶する第二のメッセージ群とを照合し、一致しないメッセージ同士については、それぞれに係る種別情報に関して照合を行う、
処理をコンピュータが実行する情報処理方法。
（付記８）
前記メッセージ群記憶部は、抽象度の異なる複数の前記種別情報をメッセージごとに関連付けて前記第二のメッセージ群を記憶し、
前記照合を行う処理は、前記一致しないメッセージ同士については、それぞれに係る前記複数の種別情報のいずれかが一致するか否かについて照合を行う付記７記載の情報処理方法。
（付記９）
前記種別情報が一致した場合に、前記第一のメッセージ群を前記メッセージ群記憶部に記録する処理を前記コンピュータが実行する付記７又は８記載のプログラム。
【符号の説明】
【００９４】
１、２        情報処理システム
１０          障害検知装置
１１          障害事例記憶部
１２          メッセージログ記憶部
１３          メッセージパターン学習部
１４          メッセージ分類辞書記憶部
１５          メッセージパターン辞書記憶部
１６          要素種別判定部
１７          構成情報記憶部
１８          障害検知部
１００        ドライブ装置
１０１        記録媒体
１０２        補助記憶装置
１０３        メモリ装置
１０４        ＣＰＵ
１０５        インタフェース装置
Ｂ            バス
【図１】
0005609637.tif 000002
【図２】
0005609637.tif 000003
【図３】
0005609637.tif 000004
【図４】
0005609637.tif 000005
【図５】
0005609637.tif 000006
【図６】
0005609637.tif 000007
【図７】
0005609637.tif 000008
【図８】
0005609637.tif 000009
【図９】
0005609637.tif 000010
【図１０】
0005609637.tif 000011
【図１１】
0005609637.tif 000012
【図１２】
0005609637.tif 000013
【図１３】
0005609637.tif 000014
【図１４】
0005609637.tif 000015
【図１５】
0005609637.tif 000016