(57)【特許請求の範囲】
【請求項１】
複数の構成要素を含む情報処理システムを管理する管理装置において、
前記情報処理システムに障害が発生したときに、前記情報処理システムから一定期間に受信した１または２以上のメッセージを含むメッセージ群を示す第１のメッセージパターンが検出された検出回数を記憶した障害共起情報を記憶する記憶手段と、
前記情報処理システムから一定期間に受信した１または２以上のメッセージから前記第１のメッセージパターンを検出し、前記記憶手段に記憶された前記障害共起情報から前記検出回数を読み出し、該検出回数に基づいて前記障害と前記第１のメッセージパターンとの共起確率を算出し、該共起確率が閾値以上の場合に、前記障害が発生したと判別する判別手段と、
前記構成要素が変更されたことを検出すると、該変更された前記構成要素が出力するメッセージを前記第１のメッセージパターンから除いたメッセージ群を示す第２のメッセージパターンを作成し、前記障害共起情報に記憶された前記第１のメッセージパターンを前記第２のメッセージパターンに更新する更新手段と、
を備える管理装置。
【請求項２】
前記更新手段は、
前記メッセージ毎に該メッセージを出力する前記構成要素を示す構成要素情報と関連付けて記憶したメッセージ情報にしたがって、前記構成要素が出力するメッセージを特定する、
ことを特徴とする請求項１に記載の管理装置。
【請求項３】
前記情報処理システムから前記メッセージを受信すると、該メッセージに含まれる前記構成要素情報を抽出し、該構成要素情報を前記メッセージと関連付けて前記メッセージ情報に記憶する構成情報付与手段、
をさらに備える請求項２に記載の管理装置。
【請求項４】
複数の構成要素を含む情報処理システムを管理する管理方法において、
前記情報処理システムから一定期間に受信した１または２以上のメッセージから第１のメッセージパターンを検出し、
前記情報処理システムに障害が発生したときに前記第１のメッセージパターンが検出された検出回数を記憶した障害共起情報を記憶する記憶手段に記憶された前記障害共起情報から前記検出回数を読み出して、該検出回数に基づいて前記障害と前記第１のメッセージパターンとの共起確率を算出し、
前記共起確率が閾値以上の場合に、前記障害が発生したと判別し、
前記構成要素が変更されたことを検出すると、該変更された前記構成要素が出力するメッセージを前記第１のメッセージパターンから除いたメッセージ群を示す第２のメッセージパターンを作成し、前記障害共起情報に記憶された前記第１のメッセージパターンを前記第２のメッセージパターンに更新する、
管理方法。
【請求項５】
複数の構成要素を含む情報処理システムを管理するプログラムにおいて、
前記情報処理システムから一定期間に受信した１または２以上のメッセージから第１のメッセージパターンを検出し、
前記情報処理システムに障害が発生したときに前記第１のメッセージパターンが検出された検出回数を記憶した障害共起情報を記憶する記憶手段に記憶された前記障害共起情報から前記検出回数を読み出して、該検出回数に基づいて前記障害と前記第１のメッセージパターンとの共起確率を算出し、
前記共起確率が閾値以上の場合に、前記障害が発生したと判別し、
前記構成要素が変更されたことを検出すると、該変更された前記構成要素が出力するメッセージを前記第１のメッセージパターンから除いたメッセージ群を示す第２のメッセージパターンを作成し、前記障害共起情報に記憶された前記第１のメッセージパターンを前記第２のメッセージパターンに更新する、
処理をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、１または２以上の情報処理装置を含むシステムを管理する管理装置、管理方法および管理用プログラムに関する。
【背景技術】
【０００２】
近年、クラウドコンピューティングというＩＣＴ（Ｉｎｆｏｒｍａｔｉｏｎ  ａｎｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ；情報通信技術）の利用形態が知られている。クラウドコンピューティングは、ネットワーク上にあるＩＣＴリソースをネットワークを経由して利用するＩＣＴの利用形態である。
【０００３】
ＩＣＴリソースには、ネットワーク、ネットワークで相互に接続されるサーバやストレージ、サーバなどで動作するミドルウェアなど様々なものが含まれる。
クラウドコンピューティングを実現する環境、すなわち、クラウド環境では、同一または類似の構成を持つシステムが多数存在する場合がある。そして、クラウド環境では、ハードウェアの入れ替えやサーバの追加、アプリケーションの改版などにより、クラウド環境に含まれるＩＣＴリソースの構成が動的に変化する。そのため、クラウド環境の管理、例えば、障害の検知などの負担が大きかった。
【０００４】
上記技術に関連して、通信ネットワークから警報メッセージ信号を収集し処理して異常状態信号を生成する装置が知られている。
また、障害ＭＳＧ（メッセージ）の特徴があらかじめ登録された周辺装置障害用パターンファイルとノード装置障害用パターンファイルを有し、ＭＳＧとパターンファイルの個々パターンとを比較し周辺装置障害ＭＳＧなどを判定する障害検出システムが知られている。
【０００５】
また、新規の接続装置を検出すると新規の接続装置の保守情報を障害辞書に登録し、通知されたログメッセージが障害辞書に登録されている場合に新規の接続装置の障害と判定する障害監視システムが知られている。
【０００６】
また、中継グループの情報などが変更された旨を通知する通知メッセージに関するメッセージ情報を共有リソース情報に追加し、共有リソース情報に通知メッセージに関するメッセージ情報を追加してから所定期間が経過した後に自動的に削除する中継サーバが知られている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平０８−３０７５２４号公報
【特許文献２】特開２００１−２９２１４３号公報
【特許文献３】特開２００５−１８４５００号公報
【特許文献４】特開２００９−１５９１２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
図１〜図３は、メッセージパターンを用いた障害検知を行う管理装置を説明する図である。
図１は、メッセージパターンの学習を説明する図である。メッセージパターンを用いて障害検知を行う場合、管理装置は、過去の障害事例のログから、障害を特徴づけるメッセージパターンを学習する必要がある。
【０００９】
管理装置は、クラウド環境下にある機器から出力された過去のメッセージログに記憶されているメッセージのうち、メッセージ辞書１０１に記憶されているメッセージを、一定期間に発生したメッセージ毎に分類する。図１では、メッセージログに記憶されているメッセージから、例えば、時刻ｔ０〜ｔ１までに発生したメッセージ１、２、３および４が分類されたことが例示されている。
【００１０】
管理装置は、分類したメッセージを、一定期間に発生したメッセージ毎にまとめてメッセージパターンを生成する。この一定期間を「ウィンドウ幅」という。例えば、図１には、ウィンドウ幅にメッセージ２、３および４を含むメッセージパターン１０２などが例示されている。
【００１１】
一方、管理装置は、過去の障害事例から、特定の時刻に障害が発生したことを知ることができる。
図１の例では、障害１の発生時刻Ｔ０〜Ｔ１に、メッセージパターン１０２に含まれるメッセージが発生している。この場合、管理装置は、障害１を特徴づけるメッセージパターンとして、メッセージパターン１０２をメッセージパターン辞書１０３に記憶する。このとき、管理装置は、メッセージパターン１０２に含まれるメッセージが発生した場合に障害１が発生した障害発生確率を算出してメッセージパターン辞書１０３に記憶する。
【００１２】
以上のようにして学習を行った結果得られるメッセージパターン辞書１０３に記憶されたメッセージパターンの例を図２に示す。図２は、障害１が発生したときに検出されたメッセージから作成されたメッセージパターンの一部を示している。
【００１３】
図２に示す各メッセージパターンは、＜ｐｒｏｂａｂｉｌｉｔｙ＞タグを用いて表現されている。＜ｐｒｏｂａｂｉｌｉｔｙ＞タグは、メッセージパターンを示すｅｖｅｎｔｓ属性と、障害の発生確率を示すｓｃｏｒｅ属性と、を含んでいる。ｅｖｅｎｔｓ属性は、障害が発生した時刻に検出されたメッセージ、例えば、図１に示したメッセージ１、２、３および４など、の識別情報を含む情報である。ｓｃｏｒｅ属性は、ｅｖｅｎｔｓ属性が示すメッセージパターンを観測した場合の障害の発生確率、すなわち、メッセージパターンと障害との共起確率を示す情報である。
【００１４】
図３は、メッセージパターンから障害発生を検出する処理の概要を説明する図である。
管理装置は、クラウド環境下にある機器から受信したメッセージのうち、メッセージ辞書１０１に記憶されているメッセージを、一定期間に出力されたメッセージ毎に分類する。図３の例では、クラウド環境下にある機器から受信したメッセージから、例えば、時刻ｔ’０〜ｔ’１までに受信したメッセージ１、２、３および４が分類されたことが例示されている。
【００１５】
管理装置は、分類したメッセージを、ウィンドウ幅毎にまとめてメッセージパターンを生成する。図３には、例えば、メッセージ２、３および４を含むメッセージパターン１０２’などが例示されている。
【００１６】
管理装置は、生成したメッセージパターンと、メッセージパターン辞書１０３に記憶されているメッセージパターン、例えば、図２に示したｅｖｅｎｔｓ属性が示すメッセージパターンと、を比較する。そして、メッセージパターン辞書１０３に記憶されているメッセージパターンと一致するメッセージパターンを検出すると、管理装置は、その検出したメッセージパターンとともにメッセージパターン辞書１０３に記憶されている障害発生確率、例えば、図２に示したｓｃｏｒｅ属性が示す障害発生確率を参照する。管理装置は、障害発生確率が閾値以上であれば障害が発生したと判別することができる。
【００１７】
また、メッセージパターン辞書１０３に記憶されているメッセージパターンと一致するメッセージパターンを検出しない場合や、障害発生確率が閾値より小さい場合、管理装置は、障害は発生していない、すなわち、正常であると判別することができる。
【００１８】
しかし、クラウド環境下にある機器には、同一または類似の構成、例えば、ハードウェアやサーバ、アプリケーションなどを持つシステムが複数存在する。そして、それら同一または類似の構成は、そのライフサイクルを通じて頻繁に変更される。例えば、機器は、ハードウェアの入れ替えやアプリケーションの改版などによって、構成が日々変化していく。また、クラウド環境下では、新たなサーバの追加やサーバの削除なども行われる。
【００１９】
そして、例えば、機器の入れ替えやアプリケーションの設定変更などにより、従来出力されていたメッセージが出力されなくなる場合、学習したメッセージパターンの一部が欠けたメッセージパターンになってしまう。また、入れ替えられた機器や設定変更されたアプリケーションなどが従来と同じようにメッセージを出力するがメッセージ内容が従来と異なる場合、従来のメッセージパターンの一部が異なるメッセージパターンとなってしまう。
【００２０】
図４には、Ｗｅｂサーバのログが設定によって全く異なってしまうことを例示している。
図４には、Ｗｅｂサーバのログを、Ｗ３Ｃ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ  Ｃｏｎｓｏｒｔｉｕｍ）拡張ログ形式で出力した場合と、ＭＳ（Ｍｉｃｒｏｓｏｆｔ）IIＳログ形式で出力した場合と、ＮＣＳＡ（Ｎａｔｉｏｎａｌ  Ｃｅｎｔｅｒ  ｆｏｒ  Ｓｕｐｅｒｃｏｍｐｕｔｉｎｇ  Ａｐｐｌｉｃａｔｉｏｎｓ）フォーマットで出力した場合と、を示している。
【００２１】
上述のように、クラウド環境下にある機器の構成や設定が変わると、図１で学習したメッセージパターンを使用して、図３に示した、障害発生の検出を行うことができなくなる。
【００２２】
図５には、クラウド環境下にある機器の構成や構成の設定が変更したことにより、機器から得られるメッセージパターンが、学習したメッセージパターンと一致しない場合の例を示している。
【００２３】
機器から受信するメッセージは、図３で説明したように、一定期間に出力されたメッセージ毎に分類される。そして、例えば、管理装置は、メッセージパターン５０２を得る。しかし、このメッセージパターンは、従来含まれていたメッセージＩＤ「１０」が、構成や構成の設定が変更されたことにより出力されなくなっている。
【００２４】
この場合、メッセージパターン辞書１０３に記憶されているメッセージパターン５０１と一致しなくなってしまう。その結果、従来検出できていた異常を検出することができなくなってしまう場合が生じる。そのため、一度学習して得たメッセージパターン辞書１０３に記憶されているメッセージパターンおよび障害発生確率を破棄して、新たに学習を行う必要があった。
【００２５】
なお、メッセージパターン間のベクトル距離などを用いてメッセージパターン間の相関を求め、メッセージパターン辞書１０３に記憶された学習済みのメッセージパターンと類似するメッセージパターンを検出することも考えられる。しかし、この場合、類似するメッセージパターンの障害発生率を統計的に算出することが難しくなってしまう。
【００２６】
本管理装置は、１側面では、障害管理に要する負担を低減することができる管理装置、管理方法および管理用プログラムを提供することを目的とする。
【課題を解決するための手段】
【００２７】
本管理装置の１つの観点によれば、本管理装置は、複数の構成要素を含む情報処理システムを管理する管理装置において、以下の構成を有する。
記憶手段は、前記情報処理システムに障害が発生したときに、前記情報処理システムから一定期間に受信した１または２以上のメッセージを含むメッセージ群を示す第１のメッセージパターンが検出された検出回数を記憶した障害共起情報を記憶する記憶装置である。
【００２８】
判別手段は、前記情報処理システムから一定期間に受信した１または２以上のメッセージから前記第１のメッセージパターンを検出する。この場合、判別手段は、前記記憶手段に記憶された前記障害共起情報から前記検出回数を読み出し、該検出回数に基づいて前記障害と前記第１のメッセージパターンとの共起確率を算出し、共起確率が閾値以上の場合に、前記障害が発生したと判別する。
【００２９】
更新手段は、前記構成要素が変更されたことを検出する。この場合、更新手段は、前記変更された前記構成要素が出力するメッセージを前記第１のメッセージパターンから除いたメッセージ群を示す第２のメッセージパターンを作成し、前記障害共起情報に記憶された前記第１のメッセージパターンを前記第２のメッセージパターンに更新する。
【発明の効果】
【００３０】
一態様では、管理装置は、障害管理に要する負担を低減することができる。
【図面の簡単な説明】
【００３１】
【図１】メッセージパターンの学習を説明する図である。
【図２】障害１が発生したときに検出されたメッセージから作成されたメッセージパターン辞書の一部を示す図である。
【図３】メッセージパターンから障害発生を検出する処理の概要を説明する図である。
【図４】Ｗｅｂサーバのログが設定によって全く異なってしまうことを例示する図である。
【図５】情報処理システムに含まれる構成や構成の設定が変更したことにより、機器から得られるメッセージパターンが、学習したメッセージパターンと一致しない場合の例を示す図である。
【図６】第１の実施例に係る管理装置を説明する図である。
【図７】第２の実施例に係る管理装置を使用する情報処理システムの構成例を示す図である。
【図８】第２の実施例に係る管理装置の具体的な構成例を示す図である。
【図９】第２の実施例に係るメッセージパターンテーブルの具体例を示す図である。
【図１０】第２の実施例に係る共起確率テーブルの具体例を示す図である。
【図１１】第２の実施例に係るメッセージテーブルの具体例を示す図である。
【図１２】第２の実施例に係る構成情報の具体例を示す図である。
【図１３】第２の実施例に係る障害事例の具体例を示す図である。
【図１４】第２の実施例に係る構成情報付与部の処理の概要を説明する図である。
【図１５】第２の実施例に係るメッセージパターン更新部の処理の概要を説明する図である。
【図１６】第２の実施例に係るメッセージパターン更新部の処理の概要を説明する図である。
【図１７】第２の実施例に係る統合すべきメッセージパターンを検出する方法の例を説明する図である。
【図１８】第２の実施例に係るメッセージパターン学習部による学習処理を示すフローチャートである。
【図１９】第２の実施例に係るメッセージパターン検知部によるメッセージパターン検知処理を示すフローチャートである。
【図２０】第２の実施例に係る構成情報付与部による構成情報付与の処理を示すフローチャートである。
【図２１】第２の実施例に係るメッセージパターン更新部によるメッセージパターン更新処理を示すフローチャートである。
【図２２】第２の実施例に係る管理装置の具体的な構成例を示す図である。
【図２３】第２の実施例に係る管理装置による効果の一例を説明する図である。
【発明を実施するための形態】
【００３２】
以下、本実施形態の一例について、図６〜図２３に基づいて説明する。なお、以下に説明する実施形態はあくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図ではない。すなわち、本実施形態は、その趣旨を逸脱しない範囲で、各実施例を組み合わせるなど種々変形して実施することができる。
【実施例１】
【００３３】
図６は、本実施例に係る管理装置６００を説明する図である。
図６に示す管理装置６００は、記憶手段６０１と、判別手段６０２と、更新手段６０３と、を備える。管理装置６００は、管理対象の情報処理システム６０５と、ネットワークや専用回線を介して通信可能に接続している。
【００３４】
情報処理システム６０５は、本実施例に係る管理装置６００の管理対象のシステムである。情報処理システム６０５は、例えば、クラウド環境を提供する情報処理システムである。情報処理システム６０５は、１または２以上の機器を含む。各機器は互いにネットワーク等で通信可能に接続している。機器には、サーバや、ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）、ＣＡＳ（Ｃｏｎｔｅｎｔ  Ａｗａｒｅ  Ｓｔｏｒａｇｅ）などの情報処理装置を含むことができる。本実施例では、機器や、機器に含まれるハードウェア、機器または機器に含まれるハードウェア上で動作するソフトウェアなどメッセージを出力する主体となりうるものを「構成要素」という。
【００３５】
記憶手段６０１は、情報処理システム６０５に障害が発生したときに、情報処理システム６０５から一定期間に受信した１または２以上のメッセージを含むメッセージ群を示す第１のメッセージパターンが検出された検出回数を記憶した障害共起情報を記憶する記憶装置である。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などの揮発性の記憶装置であってもよいし、磁気ディスク装置などの不揮発性の記憶装置であってもよい。
【００３６】
判別手段６０２は、情報処理システム６０５から一定期間に受信した１または２以上のメッセージから第１のメッセージパターンを検出する。この場合、判別手段６０２は、記憶手段６０１に記憶された障害共起情報から検出回数を読み出し、出回数に基づいて障害と第１のメッセージパターンとの共起確率を算出する。そして、判別手段６０２は、共起確率が閾値以上の場合に、障害が発生したと判別する。
【００３７】
更新手段６０３は、情報処理システム６０５に含まれる構成要素が変更されたことを検出する。この場合、更新手段６０３は、変更された構成要素が出力するメッセージを第１のメッセージパターンから除いたメッセージ群を示す第２のメッセージパターンを作成し、障害共起情報に記憶された第１のメッセージパターンを第２のメッセージパターンに更新する。
【００３８】
判別手段６０２や更新手段６０３は、情報処理装置に所定のプログラムを実行させることによって実現することができる。
以上の構成において、情報処理システム６０５に含まれる構成要素が変更されると、更新手段６０３は、変更された構成要素が出力するメッセージを第１のメッセージパターンから除いた第２のメッセージパターンに、障害共起情報に記憶された第１のメッセージパターンを更新する。
【００３９】
これにより、判別手段６０２は、情報処理システム６０５から第２のメッセージパターンを検出しても、記憶手段６０１に記憶された障害共起情報から検出回数を読み出し、出回数に基づいて障害と第２のメッセージパターンとの共起確率を算出することができる。そして、判別手段６０２は、共起確率が閾値以上の場合に、障害が発生したと判別する。
【００４０】
その結果、情報処理システム６０５に含まれる構成要素が変更されたために、情報処理システム６０５が今まで出力していた第１のメッセージパターンを出力しなくなった場合でも、障害共起情報を用いて共起確率を求め、情報処理システム６０５の障害を検出することができる。その気か、情報処理システム６０５に対する障害管理に要する負担を低減することが可能となる。
【実施例２】
【００４１】
図７は、本実施例に係る管理装置７０１を使用する情報処理システム７００の構成例を示す図である。なお、以下の説明および図面で使用するＮは１以上の整数とする。
図７に示す情報処理システム７００は、機器１、機器２、・・・および機器Ｎと、管理装置７０１と、を含むシステムである。情報処理システム７００は、クラウド環境を提供することができる。機器１、機器２、・・・および機器Ｎと、管理装置７０１と、はネットワーク７０２を介して互いに通信可能に接続している。
【００４２】
機器１、機器２、・・・および機器Ｎは、それぞれサーバ、ＳＡＮ、ＮＡＳおよびＣＡＳなどの情報処理装置を含むことができる。
機器１、機器２、・・・および機器Ｎや、機器１、機器２、・・・および機器Ｎそれぞれに含まれるハードウェアは、必要に応じて管理装置７０１にメッセージを出力する。なお、「ハードウェアがメッセージを出力する」とは、ハードウェアを制御するプログラムであって、ハードウェアと一体とみなすことができるものがメッセージを出力することと考えることができる。また、機器１、機器２、・・・および機器Ｎそれぞれで動作するアプリケーションや、機器１、機器２、・・・および機器Ｎそれぞれに含まれるハードウェア上で動作するアプリケーションなども、必要に応じて管理装置７０１にメッセージを出力する。
【００４３】
本実施例では、情報処理システム７００に含まれる機器や、機器に含まれるハードウェア、機器または機器に含まれるハードウェア上で動作するソフトウェアなどメッセージを出力する主体となりうるものを「構成要素」という。
【００４４】
管理装置７０１は、図２２に示すように、一般的な情報処理装置を用いて実現することができる。この場合、管理装置７０１に備わるＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２２０１に所定のプログラムを実行させることによって、本実施例に係る管理装置を実現することができる。
【００４５】
管理装置７０１は、情報処理システム７００に含まれる構成要素が出力するメッセージを収集する。そして、管理装置７０１は、収集したメッセージから障害の有無を判別するなどして、情報処理システム７００の状態を管理する。
【００４６】
図８は、本実施例に係る管理装置７０１の具体的な構成例を示す図である。
管理装置７０１は、メッセージパターン辞書８０１と、メッセージ辞書８０２と、メッセージパターン検知部８０３と、を備える。さらに、管理装置７０１は、メッセージパターン学習部８０４を備えることができる。さらに、管理装置７０１は、構成情報記憶部８０５と、構成情報付与部８０６と、メッセージパターン更新部８０７と、を備えることができる。
【００４７】
メッセージパターン辞書８０１は、メッセージパターンテーブル９００および共起確率テーブル１０００を記憶する記憶装置である。メッセージパターンとは、１または２以上のメッセージを含むメッセージ群のことをいう。本実施例では、一定期間に管理対象の情報処理システム７００から出力されたメッセージを含むメッセージ群をメッセージパターンとして用いる。なお、本実施例に係るメッセージパターンでは、出力されたメッセージの順番は問題にしない。例えば、メッセージ１、２および３の順に出力されたメッセージを含むメッセージパターンと、メッセージ３、２および１の順に出力されたメッセージを含むメッセージパターンと、は同じメッセージパターンとして扱う。
【００４８】
メッセージパターンテーブル９００は、過去のメッセージログと過去の障害事例とから抽出した、障害を特徴づけるメッセージパターンを含む情報である。共起確率テーブル１０００は、メッセージパターン毎の障害発生頻度を含む情報である。メッセージパターンテーブル９００については図９に、共起確率テーブル１０００については図１０に具体例を示して後述する。
【００４９】
メッセージ辞書８０２は、メッセージテーブル１１００を記憶する記憶装置である。メッセージテーブル１１００は、管理対象のメッセージ、すなわち、メッセージパターンとして抽出したいメッセージを含む情報である。メッセージテーブル１１００については、図１１に具体例を示して後述する。
【００５０】
メッセージパターン検知部８０３は、情報処理システム７００に含まれる構成要素が出力するメッセージ８１３を収集する。そして、メッセージパターン検知部８０３は、一定期間毎に、その一定期間に出力した１または２以上のメッセージ８１３を、管理対象のメッセージとそれ以外のメッセージに分類する。例えば、メッセージパターン検知部８０３は、メッセージ８１３が、メッセージテーブル１１００に記憶されているメッセージと一致するメッセージであれば、管理対象のメッセージと判別することができる。さらに、メッセージパターン検知部８０３は、管理対象のメッセージを、ウィンドウ幅毎に１つのメッセージ群に分類してメッセージパターンを作成する。
【００５１】
メッセージパターン検知部８０３は、共起確率テーブル１０００に基づいて、メッセージパターン毎に障害の共起確率を算出する。そして、メッセージパターン検知部８０３は、算出した障害の共起確率から障害発生の有無を検出する。例えば、メッセージパターン検知部８０３は、障害の共起確率が閾値を超える場合、障害が発生したと判別することができる。
【００５２】
メッセージパターン学習部８０４は、メッセージログ記憶部８１１内のメッセージログに記憶されたメッセージのうち、メッセージ辞書８０２に記憶されているメッセージを、一定期間に発生したメッセージ毎に分類する。そして、メッセージパターン学習部８０４は、分類したメッセージを、ウィンドウ幅毎にまとめてメッセージパターンを生成する。メッセージパターン学習部８０４は、生成したメッセージパターンをメッセージパターンテーブル９００に記憶する。
【００５３】
また、メッセージパターン学習部８０４は、障害事例記憶部８１０に記憶されている障害事例に基づいて、生成したメッセージパターンが障害発生ときに検出された回数をカウントして共起確率テーブル１０００に記憶する。
【００５４】
構成情報記憶部８０５は、情報処理システム７００に含まれる構成要素についての情報、すなわち、構成情報を記憶する記憶装置である。
構成情報付与部８０６は、構成情報記憶部８０５に記憶されている構成情報に基づいて、メッセージ辞書８０２に記憶されているメッセージの発信元の構成要素を特定し、特定した構成要素をメッセージと関連付けてメッセージテーブル１１００に記憶する。
【００５５】
メッセージパターン更新部８０７は、変更があった構成要素についての情報を含む構成変更情報８１２を受信する。この場合、メッセージパターン更新部８０７は、メッセージパターンテーブル９００に記憶されているメッセージパターンから、変更があった構成要素が発信元のメッセージを削除した新たなメッセージパターンテーブル９００’（不図示）を生成する。また、メッセージパターン更新部８０７は、新たなメッセージパターンテーブル９００’についての共起確率テーブル１０００’（不図示）を生成する。
【００５６】
障害事例記憶部８１０は、過去に情報処理システム７００に含まれる構成要素で発生した障害事例を記憶する記憶装置である。また、メッセージログ記憶部８１１は、過去に情報処理システム７００に含まれる構成要素が出力したメッセージをログとして記憶する記憶装置である。
【００５７】
図９は、本実施例に係るメッセージパターンテーブル９００の具体例を示す図である。なお、以下の説明および図面で使用するｉおよびｍは１以上の整数とする。
メッセージパターンテーブル９００は、メッセージパターン毎に、メッセージパターンに含まれるメッセージの有無を示すビット列を記憶するテーブルである。このビット列は、メッセージＩＤの数のビット幅を有する。そして、ビットが「０」の場合、そのビットに対応するメッセージＩＤが示すメッセージがメッセージパターンに含まれないことを示している。また、ビットが「１」の場合、そのビットに対応するメッセージＩＤが示すメッセージがメッセージパターンに含まれることを示している。
【００５８】
例えば、パターン１では、メッセージＩＤ「１」に対応するビットに「１」が設定されている。これは、パターン１のメッセージパターンに、メッセージＩＤ「１」のメッセージが含まれることを示している。
【００５９】
同様に、パターン３では、メッセージＩＤ「１」および「２」に対応するビットに「１」が設定されているので、パターン３のメッセージパターンに、メッセージＩＤ「１」のメッセージとメッセージＩＤ「２」のメッセージが含まれることを示している。
【００６０】
図１０は、本実施例に係る共起確率テーブル１０００の具体例を示す図である。なお、以下の説明および図面で使用するｊは１以上の整数とする。
共起確率テーブル１０００は、メッセージパターン毎の検出総数と検出回数とを含むテーブルである。検出総数は、障害１〜障害ｊが発生したときにメッセージパターンが検出された回数の合計である。また、検出回数は、障害毎に、その障害が発生したときにメッセージパターンが検出された回数である。
【００６１】
例えば、図１０に示す共起確率テーブル１０００によると、パターンｉのメッセージパターンの検出総数は、Ｅｉである。また、例えば、障害ｊが発生したときにパターンｉのメッセージパターンが検出された検出回数は、Ｃｉｊである。したがって、パターンｉのメッセージパターンと障害ｊとの共起確率は、Ｃｉｊ／Ｅｉで求めることができる。
【００６２】
図１１は、本実施例に係るメッセージテーブル１１００の具体例を示す図である。
メッセージテーブル１１００は、メッセージＩＤ毎に、登録メッセージと、ＣＩ（Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｉｔｅｍ）と、を含むテーブルである。
【００６３】
メッセージＩＤは、情報処理システム７００に含まれる構成要素が出力するメッセージのうち、メッセージパターンに含まれるメッセージとして分類対象となるメッセージである。したがって、情報処理システム６０５に含まれる構成要素が変更されたために、従来と異なるメッセージが出力される場合でも、メッセージテーブル１１００に登録メッセージとして登録しない限り分類対象とはならない。この場合、メッセージパターン検知部８０３は、構成要素が削除または変更されたためにメッセージが出力されなくなった場合と同様の処理を行うことができる。
ＣＩは、情報処理システム７００に含まれる構成要素のうち、メッセージの発信元の構成要素を示す情報である。
【００６４】
図１２は、本実施例に係る構成情報１２００の具体例を示す図である。
構成情報１２００は、構成要素ＩＤと、構成要素種別と、構成要素名と、説明と、管理者と、を含む情報である。
【００６５】
構成要素ＩＤは、情報処理システム７００に含まれる構成要素を識別する情報である。構成要素種別は、構成要素ＩＤが示す構成要素の種別を示す情報である。例えば、図１２に示す「Ｎｅｔｗｏｒｋ」は、ネットワーク通信に使用するソフトウェアまたはハードウェアを示している。構成要素名は、構成要素ＩＤが示す構成要素の名称を示す情報である。説明は、構成要素ＩＤが示す構成要素に関する情報、例えば、ソフトウェア名やバージョンなどを含む情報である。管理者は、構成要素ＩＤが示す構成要素を管理する管理者を示す情報である。
【００６６】
構成情報１２００としては、構成要素ＩＤ、構成要素種別、および構成要素名のうち、少なくともいずれか１つ以上を必要に応じて含めることができる。また、例えば、図１１に示したＣＩには、構成情報１２００に含まれる構成要素ＩＤ、構成要素種別、および構成要素名のいずれかを必要に応じて用いることができる。
【００６７】
図１３は、本実施例に係る障害事例の具体例を示す図である。
障害事例記憶部８１０には、障害ＩＤと、障害種別と、個別事例と、を含む１または２以上の障害事例が記憶されている。図１３の例では、障害事例１３０１、１３０２、１３０３および１３０４が、障害事例記憶部８１０に記憶されている場合の例を示している。
【００６８】
障害ＩＤは、障害事例を識別する識別情報である。障害種別は、障害事例の障害種別、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）不良、ネットワークカード異常などを示す情報である。個別事例は、１または２以上の、同一障害種別の事例を含む情報である。例えば、図１３に示す障害事例１３０４の個別事例には、事例１、２、・・・およびｋの事例が含まれている例が示されている。ｋは３以上の整数を示している。各事例は、障害が発生した発生時刻と、障害が復旧した終了時刻と、で定義することができる。
【００６９】
図１４は、本実施例に係る構成情報付与部８０６の処理の概要を説明する図である。なお、図１４に記載の（１）〜（３）は、以下に記載する（１）〜（３）に対応する。
（１）構成情報付与部８０６は、メッセージログ記憶部８１１に記憶されているメッセージログから、メッセージ１４０１を読み出す。そして、構成情報付与部８０６は、メッセージ１４０１に含まれる文字列から特定の文字列を抽出する。特定の文字列をメッセージ１４０１のどの位置から抽出するかは、例えば、メッセージログの種類に応じてあらかじめ決めておくことができる。
【００７０】
（２）構成情報付与部８０６は、構成情報記憶部８０５に記憶されている構成情報１２００を参照し、抽出した特定の文字列と一致する構成要素名の構成要素の構成要素種別を取得する。例えば、図１４の例では、メッセージＩＤが「１」のメッセージには、特定の文字列「ｅｘａｍｐｌｅ−ｍａｉｌ００」が含まれる。一方、構成情報１２００の構成要素名には、「ｅｘａｍｐｌｅ−ｍａｉｌ００」が含まれている。この場合、構成情報付与部８０６は、構成情報１２００から、構成要素名「ｅｘａｍｐｌｅ−ｍａｉｌ００」の構成要素種別「Ａｐｐ」を取得する。
【００７１】
（３）構成情報付与部８０６は、構成情報１２００から取得した構成要素種別を、メッセージのＣＩとしてメッセージテーブル１１００に記憶する。これにより、メッセージと、メッセージの発信元の構成要素を示すＣＩと、が関連付けられて記憶される。
【００７２】
図１５および図１６は、メッセージパターン更新部８０７の処理の概要を説明する図である。なお、図１５に記載の（１）〜（３）は、以下に記載する（１）〜（３）に対応する。
【００７３】
（１）メッセージパターン更新部８０７は、構成変更情報８１２を受信すると、構成変更情報８１２に含まれる文字列から、変更された構成要素の構成要素名を抽出する。図１５では、メッセージパターン更新部８０７が、Ｈｏｓｔ  ＸＸＸのＯＳ−００１に対して更新を実施した旨の構成変更情報８１２を受信した場合の例を示している。この場合、メッセージパターン更新部８０７は、構成変更情報８１２に含まれる文字列から、構成要素名を表わす文字列「ＯＳ−００１」を抽出する。構成要素名を表わす文字列か否かは、構成情報記憶部８０５に記憶された構成情報１２００を参照すれば、判別することができる。
【００７４】
なお、構成変更情報８１２には、変更された構成要素の構成要素名のみを含むことができる。この場合、構成情報付与部８０６は、単に、構成情報付与部８０６から構成要素名を取得すればよい。
【００７５】
（２）メッセージパターン更新部８０７は、構成情報記憶部８０５に記憶された構成情報１２００を参照し、構成変更情報８１２から抽出した構成要素名と一致する構成要素名の構成要素の構成要素種別を取得する。例えば、図１５の例では、構成要素名がＯＳ−００１の構成要素の構成要素種別は「ＯＳ」となっている。
【００７６】
メッセージパターン更新部８０７は、メッセージ辞書８０２に記憶されているメッセージテーブル１１００を参照し、構成情報１２００から抽出した構成要素種別とＣＩが一致するメッセージのメッセージＩＤを特定する。図１５の例では、メッセージパターン更新部８０７は、構成要素種別「ＯＳ」と一致するメッセージＩＤ「ｐ」を特定する。
【００７７】
（３）メッセージパターン更新部８０７は、メッセージパターン辞書８０１に記憶されているメッセージパターンテーブル９００から、特定したメッセージＩＤに対応するビットを除いたメッセージパターンテーブル９００’を作成する。図１５の例では、メッセージパターン更新部８０７は、メッセージパターンテーブル９００からメッセージＩＤ「ｐ」に対応するビットを除いたメッセージパターンテーブル９００’を作成することになる。
【００７８】
ここで、例えば、変更があった構成要素が出力するメッセージが、メッセージＩＤ「１」のメッセージであった場合を考える。
図１６には、メッセージの数がｍ個の場合のメッセージパターンテーブル９００を示している。この場合、ビットパターンは、ｍビットのビット幅を有するビット列で表わされる。したがって、メッセージパターンの総数は、（２のｍ乗−１）個となる。メッセージＩＤ「１」のメッセージを示すビットがメッセージパターンテーブル９００から除かれると、ビットパターンは、（ｍ−１）ビットのビット幅を有するビット列で表わされることになる。この場合、メッセージパターンの総数は、（２の（ｍ−１）乗−１）個となる。
【００７９】
したがって、メッセージＩＤ「１」に対応するビットをメッセージパターンテーブル９００から除くと、図１６に示すパターン２のメッセージパターンとパターン３のメッセージパターンのように、重複したメッセージパターンが存在することになる。
【００８０】
そこで、メッセージパターン更新部８０７は、メッセージパターンテーブル９００からメッセージＩＤ「１」に対応するビットを削除し、かつ、パターン２と、パターン２のメッセージと重複することになったパターン３とをパターン２’に統合する。この統合により、メッセージパターンテーブル９００’が作成される。
【００８１】
また、メッセージパターン更新部８０７は、メッセージパターン辞書８０１に記録されている共起確率テーブル１０００の、パターン２とパターン３とパターン２’に統合した共起確率テーブル１０００’を作成する。
【００８２】
図１６に示す共起確率テーブル１０００の例では、パターン２とパターン３とを統合すると、統合後のパターン２’の検出総数は９１（＝２＋８９）となる。また、パターン２とパターン３とを統合すると、例えば、障害２が発生したときパターン２’の検出回数は８０（＝０＋８０）となる。したがって、パターン２とパターン３とを統合したパターン２’のメッセージパターンが検出されたときに、障害２が発生する障害共起確率は、８０／（８９＋２）と求めることができる。
【００８３】
図１７は、メッセージパターンテーブル９００において、変更があった構成要素が出力するメッセージをメッセージパターンから除外した結果同一となるメッセージパターン、すなわち、統合すべきメッセージパターンを検出する方法の例を説明する図である。
【００８４】
例えば、図１７に示すように、パターン１のメッセージパターンを表わすビット列とパターン２のメッセージパターンを表わすビット列とを考える。変更があった構成要素が出力するメッセージ、すなわち、メッセージパターンテーブル９００から取り除くべきメッセージのメッセージＩＤがｐであったとする。この場合、メッセージパターン更新部８０７は、メッセージＩＤ「ｐ」に対応するビットだけが「０」、その他のビットが「１」となるビット列を作成する。この作成したビット列を「マスクパターン」という。
【００８５】
そして、メッセージパターン更新部８０７は、マスクパターンと、パターン１およびパターン２それぞれとの論理積を算出する。マスクパターンとパターン１との論理積と、マスクパターンとパターン２との論理積と、が一致する場合、メッセージパターン更新部８０７は、パターン１とパターン２とは同一であると判断する。この場合、メッセージパターン更新部８０７は、パターン１とパターン２とは統合すべきメッセージパターンである判別する。このように、マスクパターンの論理積の比較処理を、以下では「マスク演算」という。
【００８６】
図１８は、本実施例に係るメッセージパターン学習部８０４による学習処理を示すフローチャートである。メッセージパターン学習部８０４による学習処理は、あらかじめ決められた時刻にまたはユーザからの指示で、他の処理、例えば、メッセージパターン更新処理やメッセージパターン検知処理、構成情報付与処理などと独立して実行することができる。
【００８７】
ステップＳ１８０１において、メッセージパターン学習部８０４は、メッセージログ記憶部８１１を参照する。そして、メッセージパターン学習部８０４は、メッセージログ記憶部８１１に記憶されているメッセージログから、一定期間に出力された１または２以上のメッセージを取得する。このときの「一定期間」を「分類期間」という。
【００８８】
ステップＳ１８０１においてメッセージログの終端を検出すると（ステップＳ１８０２  ＹＥＳ）、メッセージパターン学習部８０４は、学習処理を終了する（ステップＳ１８０７）。
【００８９】
また、ステップＳ１８０１においてメッセージログの終端を検出しない場合（ステップＳ１８０２  ＮＯ）、メッセージパターン学習部８０４は、処理をステップＳ１８０３に移行する。この場合、メッセージパターン学習部８０４は、メッセージ辞書８０２に記憶されているメッセージテーブル１１００を参照し、ステップＳ１８０１で取得した各メッセージのメッセージＩＤを取得する（ステップＳ１８０３）。
【００９０】
メッセージテーブル１１００に記憶されていないメッセージが、ステップＳ１８０１で取得したメッセージに含まれている場合、メッセージパターン学習部８０４は、その記憶されていないメッセージを、新たなメッセージＩＤとともにメッセージテーブル１１００に記憶する。
【００９１】
ステップＳ１８０４において、メッセージパターン学習部８０４は、メッセージパターンを表わすビット列を作成し、作成したビット列をビットパターンとしてメッセージパターンテーブル９００に記憶する。この作成したビット列が表わすメッセージパターンを、以下では「対象メッセージパターン」という。
【００９２】
例えば、対象メッセージパターンを表わすビット列は、図９に示したように、メッセージテーブル１１００に記憶されているメッセージの数と同じ数のビット幅を有するビット列で表わすことができる。対象メッセージパターンを表わすビット列は、対象メッセージパターンに含まれるメッセージに対応するビットを「１」、その他のビットを「０」で表わすビット列である。メッセージパターン学習部８０４は、ステップＳ１８０３で特定したメッセージＩＤのメッセージに対応するビットを「１」、その他のビットを「０」と設定したビット列を作成し、作成したビット列をビットパターンとしてメッセージパターンテーブル９００に記憶する。
【００９３】
ただし、ステップＳ１８０４で作成したメッセージパターンと同一のメッセージパターンが既にメッセージパターンテーブル９００に記憶されていた場合、メッセージパターン学習部８０４は、対象メッセージパターンをメッセージパターンテーブル９００に記憶しない。
【００９４】
ステップＳ１８０５において、メッセージパターン学習部８０４は、障害事例記憶部８１０に記憶されている障害事例を参照し、分類期間に発生していた事例を抽出する。例えば、メッセージパターン学習部８０４は、障害事例の個別事例に含まれる事例の発生時刻と終了時刻を参照し、発生時刻と終了時刻で表わされる発生期間の一部または全部が分類期間に含まれる事例を含む障害事例を、分類期間に発生していた障害として抽出する。
【００９５】
ステップＳ１８０６において、メッセージパターン学習部８０４は、共起確率テーブル１０００を参照し、ステップＳ１８０５で抽出した障害毎に、対象メッセージパターンに対応する検出回数を加算し、検出総数も更新する。
【００９６】
例えば、対象メッセージパターンが「パターンｉ」であり、ステップＳ１８０５で抽出した障害が「障害ｊ」であった場合、メッセージパターン学習部８０４は、共起確率テーブル１０００を参照し、「障害ｊ」が発生したときの「パターンｉ」の検出回数「Ｃｉｊ」に１を加算する。また、メッセージパターン学習部８０４は、「パターンｉ」の検出総数「Ｅｉ」に１を加算する。
【００９７】
以上の処理を終了すると、メッセージパターン学習部８０４は、ステップＳ１８０１に処理を移行する。そして、メッセージパターン学習部８０４は、メッセージログ記憶部８１１に記憶されているメッセージログから、次の分類期間に出力された１または２以上のメッセージを取得する。そして、メッセージパターン学習部８０４は、ステップＳ１８０２〜Ｓ１８０６の処理を実行する。
【００９８】
図１９は、本実施例に係るメッセージパターン検知部８０３によるメッセージパターン検知処理を示すフローチャートである。メッセージパターン検知部８０３によるメッセージパターン検知処理は、他の処理、例えば、学習処理やメッセージパターン更新処理、構成情報付与処理などと独立して実行することができる。
【００９９】
ステップＳ１９０１において、メッセージパターン検知部８０３は、分類期間に、情報処理システム７００に含まれる構成要素が出力するメッセージを取得する。
ステップＳ１９０２において、メッセージパターン検知部８０３は、メッセージ辞書８０２に記憶されているメッセージテーブル１１００を参照し、ステップＳ１９０１で取得した各メッセージのメッセージＩＤを取得する。なお、メッセージパターン検知部８０３は、メッセージテーブル１１００からメッセージＩＤを取得できたメッセージに対してだけ以降の処理を行う。したがって、メッセージパターン検知部８０３は、メッセージテーブル１１００に記憶されていないメッセージに対しては、以降の処理を行わない。
【０１００】
ステップＳ１９０３において、メッセージパターン検知部８０３は、ステップＳ１９０２で取得したメッセージＩＤのメッセージに対応するビットを「１」、その他のビットを「０」と設定したビット列を作成する。そして、メッセージパターン検知部８０３は、メッセージパターンテーブル９００を参照し、作成したビット列と一致するメッセージパターンを特定する。この特定したメッセージパターンを、以下では「対象メッセージパターン」という。
【０１０１】
ステップＳ１９０４において、メッセージパターン検知部８０３は、共起確率テーブル１０００を参照し、ステップＳ１９０３で特定したメッセージパターンを検出した際の各障害の共起確率を算出する。
【０１０２】
例えば、ステップＳ１９０３で作成したメッセージパターンが、図１０に示した共起確率テーブル１０００中の「パターンｉ」に該当する場合を考える。この場合、メッセージパターン検知部８０３は、パターンｉのメッセージパターンと、障害１、障害２、・・・、障害ｊ、・・・、障害ｎそれぞれと、の共起確率を算出する。例えば、障害１の共起確率は８／Ｅｉとなる。同様に、障害２の共起確率は０、・・・、障害ｊの共起確率はＣｉｊ／Ｅｉ、・・・となる。
【０１０３】
ステップＳ１９０４で算出した共起確率に、あらかじめ決められた閾値を超える共起確率が含まれる場合（ステップＳ１９０５  ＹＥＳ）、メッセージパターン検知部８０３は、障害が発生した旨の通知を、管理者の端末装置等に出力する（ステップＳ１９０６）。この場合、メッセージパターン検知部８０３は、共起確率が閾値を超えた障害の障害種別を管理者端末等に出力することもできる。そして、メッセージパターン検知部８０３は、処理をステップＳ１９０１に移行する。
【０１０４】
また、ステップＳ１９０４で算出した共起確率に、あらかじめ決められた閾値を超える共起確率が含まれない場合（ステップＳ１９０５  ＮＯ）、メッセージパターン検知部８０３は、処理をステップＳ１９０１に移行する。そして、メッセージパターン検知部８０３は、次の分類期間に、情報処理システム７００に含まれる構成要素が出力するメッセージを取得する。そして、メッセージパターン検知部８０３は、ステップＳ１９０２〜Ｓ１９０６の処理を実行する。
【０１０５】
図２０は、本実施例に係る構成情報付与部８０６による構成情報付与処理を示すフローチャートである。構成情報付与部８０６による構成情報付与処理は、あらかじめ決められた時刻にまたはユーザからの指示で、他の処理、例えば、学習処理やメッセージパターン更新処理、メッセージパターン検知処理などと独立して実行することができる。
【０１０６】
ステップＳ２００１において、構成情報付与部８０６は、メッセージログ記憶部８１１を参照する。そして、構成情報付与部８０６は、メッセージログ記憶部８１１に記憶されているメッセージログから、メッセージを１つ取得する。メッセージは、メッセージログの先頭から取得するものとする。取得したメッセージを、以下では「対象メッセージ」という。
【０１０７】
ステップＳ２００１においてメッセージログの終端を検出すると（ステップＳ２００２  ＹＥＳ）、構成情報付与部８０６は、構成情報付与の処理を終了する（ステップＳ２００６）。
【０１０８】
また、ステップＳ２００１においてメッセージログの終端を検出しない場合（ステップＳ２００２  ＮＯ）、構成情報付与部８０６は、処理をステップＳ２００３に移行する。この場合、構成情報付与部８０６は、対象メッセージから、対象メッセージの送信元である構成要素の構成要素名を抽出する（ステップＳ２００３）。
【０１０９】
なお、メッセージログの種類によって、送信元の構成要素名がメッセージ内のどの位置に挿入されているのか、あらかじめ知ることができる。したがって、構成情報付与部８０６は、メッセージログ記憶部８１１に記憶されているメッセージログの種類から、構成要素名が挿入されている対象メッセージ内の位置を特定し、特定した位置から構成要素名を抽出することができる。
【０１１０】
ステップＳ２００４において、構成情報付与部８０６は、構成情報記憶部８０５を参照する。そして、構成情報付与部８０６は、ステップＳ２００３で抽出した構成要素名から、対象メッセージの送信元の構成要素種別を特定する。
【０１１１】
ステップＳ２００５において、構成情報記憶部８０５は、ステップＳ２００４で特定した構成要素種別を、メッセージ辞書８０２に記憶されているメッセージテーブル１１００における、対象メッセージのＣＩとして記憶する。
【０１１２】
以上の処理が終了すると、構成情報付与部８０６は、処理をステップＳ２００１に移行する。そして、構成情報付与部８０６は、メッセージログ記憶部８１１に記憶されているメッセージログから、次の対象メッセージを１つ取得し、ステップＳ２００２〜Ｓ２００５の処理を行う。
【０１１３】
図２１は、本実施例に係るメッセージパターン更新部８０７によるメッセージパターン更新処理を示すフローチャートである。メッセージパターン更新部８０７によるメッセージパターン更新処理は、他の処理、例えば、学習処理やメッセージパターン検知処理、構成情報付与処理などと独立して実行することができる。
【０１１４】
構成変更情報８１２を受信すると、メッセージパターン更新部８０７は、メッセージパターン更新処理を開始する（ステップＳ２１００）。
ステップＳ２１０１において、メッセージパターン更新部８０７は、構成変更情報８１２から、構成変更のあった構成要素名を抽出する。なお、構成変更情報８１２は、後述する入力装置２２０３を利用してユーザが管理装置７０１に入力してもよいし、情報処理システム７００に含まれる構成要素から出力されたメッセージ等を利用してもよい。
【０１１５】
ステップＳ２１０２において、メッセージパターン更新部８０７は、構成情報記憶部８０５を参照する。そして、メッセージパターン更新部８０７は、ステップＳ２１０１で抽出した構成要素名から、構成変更のあった構成要素種別を特定する。
【０１１６】
ステップＳ２１０３において、メッセージパターン更新部８０７は、メッセージ辞書８０２に記憶されているメッセージテーブル１００を参照する。そして、メッセージパターン更新部８０７は、メッセージテーブル１１００に記憶されているＣＩのうち、ステップＳ２１０２で特定した構成要素種別と一致する構成要素種別のメッセージＩＤを抽出する。
【０１１７】
ステップＳ２１０４において、メッセージパターン更新部８０７は、ステップＳ２１０３で抽出したメッセージＩＤに対応するビットを「０」、その他のビットを「１」とするマスクパターンを作成する。
【０１１８】
ステップＳ２１０５において、メッセージパターン更新部８０７は、メッセージパターン辞書８０１に記憶されているメッセージパターンテーブル９００を参照する。そして、メッセージパターン更新部８０７は、メッセージパターンテーブル９００に含まれている全てのメッセージパターンについてマスク演算を実行する。マスク演算については、図１７で説明した。
【０１１９】
ステップＳ２１０６において、メッセージパターン更新部８０７は、マスク演算の結果同一であると判断できるメッセージパターンを特定する。
ステップＳ２１０７において、メッセージパターン更新部８０７は、ステップＳ２１０６で同一と特定したメッセージパターンを統合し、新たなメッセージパターンテーブル９００’を作成する。
【０１２０】
ステップＳ２１０８において、メッセージパターン更新部８０７は、メッセージパターン辞書８０１に記憶されている共起確率テーブル１０００の複製を作成する。
ステップＳ２１０９において、メッセージパターン更新部８０７は、ステップＳ２１０６で同一と特定したメッセージパターンの検出総数を合算することにより、メッセージパターン統合後の検出総数を算出する。また、メッセージパターン更新部８０７は、ステップＳ２１０６で同一と特定したメッセージパターンの検出回数を障害毎に合算することにより、メッセージパターン統合後の障害毎に検出回数を算出する。
【０１２１】
ステップＳ２１１０において、メッセージパターン更新部８０７は、ステップＳ２１０８で複製した共起確率テーブル１０００’に、ステップＳ２１０９の算出結果を反映する。具体的には、以下の処理が行われる。
【０１２２】
まず、ステップＳ２１０８で複製した共起確率テーブル１０００’に含まれるメッセージパターンのうち、ステップＳ２１０６で特定したメッセージパターンを統合する。そして、メッセージパターン更新部８０７は、ステップＳ２１０９で算出した検出総数、障害毎の検出回数を、共起確率テーブル１０００’に反映する。
【０１２３】
以上の処理が終了すると、メッセージパターン更新部８０７は、メッセージパターン更新処理を終了する（ステップＳ２１１１）。
なお、本実施例では、メッセージパターン更新部８０７は、メッセージパターンテーブル９００からメッセージパターンテーブル９００’を作成しているが、これはメッセージパターンテーブル９００をメッセージパターンテーブル９００’の内容に更新することと同義である。
【０１２４】
同様に、本実施例では、メッセージパターン更新部８０７は、共起確率テーブル１０００から共起確率テーブル１０００’を作成しているが、これは、共起確率テーブル１０００を共起確率テーブル１０００’の内容に更新することと同義である。
【０１２５】
図２２は、本実施例に係る管理装置７０１の具体的な構成例を示す図である。
図２２に示す管理装置７０１は、ＣＰＵ２２０１と、メモリ２２０２と、入力装置２２０３と、出力装置２２０４と、外部記憶装置２２０５と、媒体駆動装置２２０６と、ネットワーク接続装置２２０８と、を備える。そして、これらの装置がバスに接続されて相互にデータの受け渡しが行える構成となっている。
【０１２６】
ＣＰＵ２２０１は、周辺機器や各種ソフトウェアを実行する他に本実施例に係る障害検出を実現するプログラムを実行する演算装置である。
メモリ２２０２は、プログラムを実行するために使用される揮発性の記憶装置である。メモリ２２０２には、例えば、ＲＡＭなどを使用することができる。
【０１２７】
入力装置２２０３は、外部からのデータ入力手段である。入力装置２２０３には、例えば、キーボードやマウスなどを使用することができる。
出力装置２２０４は、データ等を表示装置等に出力する装置である。なお、出力装置２２０４には、表示装置を含むこともできる。
【０１２８】
外部記憶装置２２０５は、管理装置７０１が動作するために必要なプログラムやデータの他に本実施例に係る障害検出を実現するプログラムを記憶する不揮発性の記憶装置である。外部記憶装置２２０５には、例えば、磁気ディスク記憶装置などを使用することができる。
【０１２９】
媒体駆動装置２２０６は、メモリ２２０２や外部記憶装置２２０５のデータを可搬記憶媒体２２０７、例えば、フロッピイディスクやＭＯディスク、ＣＤ−ＲやＤＶＤ−Ｒなどに出力し、または可搬記憶媒体２２０７からプログラムやデータ等を読み出す装置である。
【０１３０】
ネットワーク接続装置２２０８は、ネットワーク７０２に接続する装置である。
なお、メモリ２２０２、外部記憶装置２２０５および可搬記憶媒体２２０７などの情報処理装置に読取り可能な記憶媒体は、非一時的（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ）な媒体を使用することができる。
【０１３１】
また、図２２は、管理装置７０１の構成の一例を示すものであって、図２２に示す構成に限定するものではない。例えば、図２２に示す装置の一部を必要に応じて使用してもよいし、図２２に示さない新たな装置を追加してもよい。
【０１３２】
図２３は、本実施例に係る管理装置７０１による効果の一例を説明する図である。
図２３に示す共起確率テーブル２３００は、共起確率テーブル１０００の一部、例えば、図１０に示した共起確率テーブル１０００における各メッセージパターンと障害ｊとの共起確率、をタグ形式で表わしたものである。
【０１３３】
図２３に示す各＜ｐｒｏｂａｂｉｌｉｔｙ＞タグは、メッセージパターンを示すｅｖｅｎｔｓ属性と、そのメッセージパターンと障害ｊとの共起確率を示すｓｃｏｒｅ属性と、を含んでいる。なお、ｅｖｅｎｔ属性は、メッセージパターンに含まれるメッセージ、例えば、図１０に示した共起確率テーブル１０００で「１」に設定されたメッセージのメッセージＩＤだけを含む情報である。
【０１３４】
例えば、図２３に示すように、メッセージパターン更新部８０７は、構成変更情報８１２からＨｏｓｔ  ＸＸＸのＯＳに変更があったことを検出する。すると、メッセージパターン更新部８０７は、メッセージテーブル１１００を参照し、変更のあった構成要素種別、図２３では「ＯＳ」、と同一のＣＩのメッセージを特定する。
【０１３５】
そして、メッセージパターン更新部８０７は、特定したメッセージのメッセージＩＤ、図２３では四角で囲んだメッセージＩＤ「１０」および「１１８」を、共起確率テーブル２３００から削除する。そして、メッセージパターン更新部８０７は、各メッセージパターンの共起確率、図２３では四角で囲んだｓｃｏｒｅ属性の値を、再計算して更新する。
【０１３６】
以上のように、今まで出力されていたメッセージＩＤ「１０」および「１１８」のメッセージが、Ｈｏｓｔ  ＸＸＸのＯＳが変更されたことにより出力されなくなった場合、共起確率テーブル２３００からも、メッセージＩＤ「１０」および「１１８」が削除される。したがって、Ｈｏｓｔ  ＸＸＸのＯＳが変更されてメッセージＩＤ「１０」および「１１８」のメッセージを含まなくなったメッセージパターンについての共起確率を、共起確率テーブル２３００から得ることが可能となる。
【０１３７】
その結果、Ｈｏｓｔ  ＸＸＸのＯＳなど構成要素に変更があった場合であっても、既に学習した結果、例えば、メッセージパターンテーブル９００や共起確率テーブル１０００を破棄することなく利用して、情報処理システム７００の障害管理を行うことが可能となる。
【０１３８】
そして、構成要素に変更があっても既に学習した結果を利用することができるので、クラウド環境のように構成要素が頻繁に変更される環境であっても、構成要素の変更のたびに新たに学習処理を行う必要がなくなる。そのため、クラウド環境のように構成要素が頻繁に変更される環境であっても、障害管理に要する負担が軽減される。
【０１３９】
また、新たに学習処理を行っている間は、既に学習した結果、例えば、メッセージパターンテーブル９００や共起確率テーブル１０００を利用して、情報処理システム７００の障害管理を行うことができる。そのため、常に障害管理を行うことができるので、障害管理の信頼性が向上する。
【０１４０】
また、本実施例に係るメッセージパターン更新処理は、図２１で説明したように、メッセージパターンテーブル９００における重複するメッセージパターンの統合、共起確率テーブル１０００における検出総数および検出回数の合算が主な処理となっている。したがって、あらためて学習処理を行うよりも迅速にメッセージパターンテーブル９００や共起確率テーブル１０００を更新することが可能となる。
【０１４１】
また、図２１で説明したメッセージパターン更新処理では、更新処理により使用しなくなったメッセージパターンテーブル９００および共起確率テーブル１０００を、外部記憶装置２２０５などに記憶しておくこともできる。この場合、必要なときに、メッセージパターンテーブル９００’および共起確率テーブル１０００’に変えて、メッセージパターンテーブル９００および共起確率テーブル１０００を使用することが可能となる。
【０１４２】
以上の説明において、メッセージパターンテーブル９００に示すパターン１〜パターン（２のｍ乗−１）などは、第１のメッセージパターンの一例として挙げられる。また、共起確率テーブル１０００は、障害共起情報の一例として挙げられる。また、メッセージパターン辞書８０１は、記憶手段の一例として挙げられる。また、図６に示すパターン２’は、第２のメッセージパターンの一例として挙げられる。また、メッセージパターン検知部８０３は、判別手段の一例として挙げられる。また、メッセージパターン更新部８０７は、更新手段の一例として挙げられる。
【０１４３】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
（付記１）
複数の構成要素を含む情報処理システムを管理する管理装置において、
前記情報処理システムに障害が発生したときに、前記情報処理システムから一定期間に受信した１または２以上のメッセージを含むメッセージ群を示す第１のメッセージパターンが検出された検出回数を記憶した障害共起情報を記憶する記憶手段と、
前記情報処理システムから一定期間に受信した１または２以上のメッセージから前記第１のメッセージパターンを検出し、前記記憶手段に記憶された前記障害共起情報から前記検出回数を読み出し、該検出回数に基づいて前記障害と前記第１のメッセージパターンとの共起確率を算出し、該共起確率が閾値以上の場合に、前記障害が発生したと判別する判別手段と、
前記構成要素が変更されたことを検出すると、該変更された前記構成要素が出力するメッセージを前記第１のメッセージパターンから除いたメッセージ群を示す第２のメッセージパターンを作成し、前記障害共起情報に記憶された前記第１のメッセージパターンを前記第２のメッセージパターンに更新する更新手段と、
を備える管理装置。
（付記２）
前記判別手段は、
前記情報処理システムから一定期間に受信した１または２以上のメッセージを含むメッセージ群を示すメッセージパターン毎に該メッセージパターンに含まれる前記メッセージを記憶したメッセージパターン情報にしたがって、前記第1のメッセージパターンを検出する、
ことを特徴とする付記１に記載の管理装置。
（付記３）
前記更新手段は、
前記メッセージ毎に該メッセージを出力する前記構成要素を示す構成要素情報と関連付けて記憶したメッセージ情報にしたがって、前記構成要素が出力するメッセージを特定する、
ことを特徴とする付記１に記載の管理装置。
（付記４）
前記更新手段は、
前記構成要素が変更されたことを検出すると、該変更された前記構成要素が出力するメッセージを前記メッセージパターン情報から除外し、該除外した結果同一となったメッセージパターンを統合して新たなメッセージパターン情報に更新する、
ことを特徴とする付記２に記載の管理装置。
（付記５）
前記更新手段は、
前記変更された前記構成要素が出力するメッセージを前記メッセージパターン情報から除いた結果同一となった、前記障害共起情報に含まれるメッセージパターンを統合し、前記検出回数を合算して新たな障害共起情報に更新する、
ことを特徴とする付記２に記載の管理装置。
（付記６）
前記情報処理システムから前記メッセージを受信すると、該メッセージに含まれる前記構成要素情報を抽出し、該構成要素情報を前記メッセージと関連付けて前記メッセージ情報に記憶する構成情報付与手段、
をさらに備える付記３に記載の管理装置。
（付記７）
前記情報処理システムから受信したメッセージを記憶したメッセージログから、前記一定期間に受信した１または２以上のメッセージを含むメッセージ群を読み出して該読み出したメッセージ群を示す第３のメッセージパターンを作成し、前記一定期間に前記情報処理システムで障害が発生したときに前記第３のメッセージパターンが検出された検出回数を前記障害共起情報に記憶する学習手段、
をさらに備える付記１に記載の管理装置。
（付記８）
複数の構成要素を含む情報処理システムを管理する管理方法において、
前記情報処理システムから一定期間に受信した１または２以上のメッセージから第１のメッセージパターンを検出し、
前記情報処理システムに障害が発生したときに前記第１のメッセージパターンが検出された検出回数を記憶した障害共起情報を記憶する記憶手段に記憶された前記障害共起情報から前記検出回数を読み出して、該検出回数に基づいて前記障害と前記第１のメッセージパターンとの共起確率を算出し、
前記共起確率が閾値以上の場合に、前記障害が発生したと判別し、
前記構成要素が変更されたことを検出すると、該変更された前記構成要素が出力するメッセージを前記第１のメッセージパターンから除いたメッセージ群を示す第２のメッセージパターンを作成し、前記障害共起情報に記憶された前記第１のメッセージパターンを前記第２のメッセージパターンに更新する、
管理方法。
（付記９）
複数の構成要素を含む情報処理システムを管理するプログラムにおいて、
前記情報処理システムから一定期間に受信した１または２以上のメッセージから第１のメッセージパターンを検出し、
前記情報処理システムに障害が発生したときに前記第１のメッセージパターンが検出された検出回数を記憶した障害共起情報を記憶する記憶手段に記憶された前記障害共起情報から前記検出回数を読み出して、該検出回数に基づいて前記障害と前記第１のメッセージパターンとの共起確率を算出し、
前記共起確率が閾値以上の場合に、前記障害が発生したと判別し、
前記構成要素が変更されたことを検出すると、該変更された前記構成要素が出力するメッセージを前記第１のメッセージパターンから除いたメッセージ群を示す第２のメッセージパターンを作成し、前記障害共起情報に記憶された前記第１のメッセージパターンを前記第２のメッセージパターンに更新する、
処理をコンピュータに実行させるためのプログラム。
【０１４４】
８０１      メッセージパターン辞書
８０２      メッセージ辞書
８０３      メッセージパターン検知部
８０４      メッセージパターン学習部
８０５      構成情報記憶部
８０６      構成情報付与部
８０７      メッセージパターン更新部
８１０      障害事例記憶部
８１１      メッセージログ記憶部
９００      メッセージパターンテーブル
１０００      共起確率テーブル
１１００      メッセージテーブル
【図１】
0005541130.tif 000002
【図２】
0005541130.tif 000003
【図４】
0005541130.tif 000004
【図５】
0005541130.tif 000005
【図６】
0005541130.tif 000006
【図７】
0005541130.tif 000007
【図３】
0005541130.tif 000008
【図８】
0005541130.tif 000009
【図９】
0005541130.tif 000010
【図１０】
0005541130.tif 000011
【図１１】
0005541130.tif 000012
【図１２】
0005541130.tif 000013
【図１３】
0005541130.tif 000014
【図１４】
0005541130.tif 000015
【図１５】
0005541130.tif 000016
【図１６】
0005541130.tif 000017
【図１７】
0005541130.tif 000018
【図１８】
0005541130.tif 000019
【図１９】
0005541130.tif 000020
【図２０】
0005541130.tif 000021
【図２１】
0005541130.tif 000022
【図２２】
0005541130.tif 000023
【図２３】
0005541130.tif 000024