(57)【特許請求の範囲】
【請求項１】
所定の問題に関連するイベントの集合を検出するための少なくとも１のルールを含む、データであるシンプトンを格納するためのシンプトン・データベースに接続されうるコンピュータ・システムであって、
第１のシンプトンに基づいて、所定のシンプトン作成ポリシーに従って、少なくとも１つの第２のシンプトンを作成するシンプトン作成部と、
複数のイベントに関する情報を含むイベント・レコードに前記第１のシンプトンを適用して得られるデータおよび前記イベント・レコードに前記第２のシンプトンを適用して得られるデータに基づいて、所定の評価ポリシーに従って、前記第２のシンプトンを評価し、該評価に従い、前記第２のシンプトンが前記所定の問題に関連するイベントの集合を検出するために使用されうるかどうかを決定するシンプトン評価部と
を含む、前記コンピュータ・システム。
【請求項２】
前記所定のシンプトン作成ポリシーは、シンプトンに含まれる少なくとも１つのルールの一部又は全部をどのように変更するかの定義を含み、
前記シンプトン作成部は、前記シンプトン作成ポリシーに含まれる定義に基づくアルゴリズムであって、前記第１のシンプトンに含まれる少なくとも１つのルールの一部又は全部を変更するアルゴリズムを実行することによって、前記第２のシンプトンを作成する、
請求項１に記載のコンピュータ・システム。
【請求項３】
前記シンプトン作成ポリシーが、前記第１のシンプトンのどのルールを変更するか、所定のイベントの発生回数を変更するか、所定のイベント間における発生期間を変更するか、所定の複数のイベントにおける発生順序を変更するか、所定の複数のイベントのうちの一部と一致するように変更するか、ある期間内に所定のイベントが所定回数発生する閾値を変更するか、どれだけの数の第２のシンプトンを作成するか、の少なくとも１以上を定義する、請求項２に記載のコンピュータ・システム。
【請求項４】
前記複数のイベントに関する情報を含むイベント・レコードが、前記第１のシンプトンのルールにより検出されたレコード、前記第１のシンプトンのルールにより誤検出されたレコード、前記第１のシンプトンにより未検出であったレコードのいずれかである、請求項１に記載のコンピュータ・システム。
【請求項５】
前記第２のシンプトンを適用して得られるデータが、前記イベント・レコードに前記第１のシンプトンを適用して得られる検出率を１００とした場合に、該イベント・レコードに前記第２のシンプトンを適用して得られる検出率である、請求項１に記載のコンピュータ・システム。
【請求項６】
前記評価ポリシーは、シンプトンを評価するための１以上の指標の定義を含み、
前記シンプトン評価部は、前記第１及び第２のシンプトンについて、該第１及び第２のシンプトンを評価するための１以上の指標を算出するアルゴリズムを実行することによって、前記第２のシンプトンを評価する、
請求項１に記載のコンピュータ・システム。
【請求項７】
前記評価ポリシーは、シンプトンを評価するための１以上の指標を算出するアルゴリズムの定義を含み、 
前記シンプトン評価部は、前記評価ポリシーに含まれる前記アルゴリズムを実行することによって前記第２のシンプトンを評価する、
請求項６に記載のコンピュータ・システム。
【請求項８】
前記シンプトンを評価するための１以上の指標が、
（１）複数のイベントに関する情報を含むイベント・レコードについて、前記第２のシンプトンのルールにより検出されるイベントがある場合に、前記第１のシンプトンのルールにより検出される割合がいくらか、
（２）複数のイベントに関する情報を含むイベント・レコードについて、前記第２のシンプトンによる誤検出率が、前記第１のシンプトンによる誤検出率よりも低いか、
（３）複数のイベントに関する情報を含むイベント・レコードについて、前記第２のシンプトンによる未検出率が、前記第１のシンプトンによる未検出率よりも低いか、
の少なくとも１つを含む、請求項７に記載のコンピュータ・システム。
【請求項９】
前記決定が、前記第２のシンプトンのルールにより検出される割合が、前記第１のシンプトンのルールにより検出される割合よりも所定割合以上である場合又は該所定割合よりも大きい場合に行われる、請求項８に記載のコンピュータ・システム。
【請求項１０】
前記決定が、前記第２のシンプトンによる誤検出率が、前記第１のシンプトンによる誤検出率よりも所定率以下である場合又は該所定率よりも小さい場合に行われる、請求項８に記載のコンピュータ・システム。
【請求項１１】
前記決定が、前記第２のシンプトンによる未検出率が、前記第１のシンプトンによる未検出率よりも所定率以下である場合又は該所定率よりも小さい場合に行われる、請求項８に記載のコンピュータ・システム。
【請求項１２】
前記決定が、複数のイベントに関する情報を含むイベント・レコードに前記第１のシンプトン及び前記第２のシンプトンをそれぞれ適用し、前記第２のシンプトンによる検出が前記第１のシンプトンによる検出の前に発生する場合に行われる、請求項１に記載のコンピュータ・システム。
【請求項１３】
前記第１のシンプトンが、前記ルールに従いイベントの集合が検出された場合のアクションの記述、及び第２のシンプトンの評価を行うアクションの記述を含む、請求項１に記載のコンピュータ・システム。
【請求項１４】
所定の問題に関連するイベントの集合を検出するための少なくとも１のルールを含む、データであるシンプトンを格納するためのシンプトン・データベースに接続されうるコンピュータ・システムにおいて、シンプトンを評価するための方法であって、
第１のシンプトンに基づいて、所定のシンプトン作成ポリシーに従って、少なくとも１つの第２のシンプトンを作成するステップと、
複数のイベントに関する情報を含むイベント・レコードに前記第１のシンプトンを適用して得られるデータおよび前記イベント・レコードに前記第２のシンプトンを適用して得られるデータに基づいて、所定の評価ポリシーに従って、前記第２のシンプトンを評価し、該評価に従い、前記第２のシンプトンが前記所定の問題に関連するイベントの集合を検出するために使用されうるかどうかを決定するステップと
を含む、前記方法。
【請求項１５】
前記所定のシンプトン作成ポリシーは、シンプトンに含まれる少なくとも１つのルールの一部又は全部をどのように変更するかの定義を含み、
前記作成するステップは、前記シンプトン作成ポリシーに含まれる定義に基づくアルゴリズムであって、前記第１のシンプトンに含まれる少なくとも１つのルールの一部又は全部を変更するアルゴリズムを実行することによって、前記第２のシンプトンを作成するステップを含む、
請求項１４に記載の方法。
【請求項１６】
前記シンプトン作成ポリシーが、前記第１のシンプトンのどのルールを変更するか、所定のイベントの発生回数を変更するか、所定のイベント間における発生期間を変更するか、所定の複数のイベントにおける発生順序を変更するか、所定の複数のイベントのうちの一部と一致するように変更するか、ある期間内に所定のイベントが所定回数発生する閾値を変更するか、どれだけの数の第２のシンプトンを作成するか、の少なくとも１以上を定義する、請求項１５に記載の方法。
【請求項１７】
前記複数のイベントに関する情報を含むイベント・レコードが、前記第１のシンプトンのルールにより検出されたレコード、前記第１のシンプトンのルールにより誤検出されたレコード、前記第１のシンプトンにより未検出であったレコードのいずれかである、請求項１４に記載の方法。
【請求項１８】
前記評価ポリシーは、シンプトンを評価するための１以上の指標の定義を含み、
前記決定するステップは、前記第１及び第２のシンプトンについて、該第１及び第２のシンプトンを評価するための１以上の指標を算出するアルゴリズムを実行することによって、前記第２のシンプトンを評価するステップを含む、請求項１４に記載の方法。
【請求項１９】
前記評価ポリシーは、シンプトンを評価するための１以上の指標を算出するアルゴリズムの定義を含み、 
前記決定するステップは、前記評価ポリシーに含まれる前記アルゴリズムを実行することによって前記第２のシンプトンを評価するステップを含む、
請求項１８に記載の方法。
【請求項２０】
前記第１のシンプトンが、前記ルールに従いイベントの集合が検出された場合のアクションの記述、及び前記第２のシンプトンの評価を行うアクションの記述を含む、請求項１４に記載の方法。
【請求項２１】
前記評価に従い、前記第２のシンプトンを修正するステップをさらに含む、請求項１４に記載の方法。
【請求項２２】
前記評価に従い、前記第２のシンプトンを削除するステップをさらに含む、請求項１４に記載の方法。
【請求項２３】
前記イベント・レコードに前記修正した第２のシンプトンを適用して第３のデータを得るステップをさらに含む、請求項２１に記載の方法。
【請求項２４】
前記第１のデータ又は前記第２のデータ、および前記イベント・レコードに前記第２のシンプトンを適用して得られるデータに基づいて、所定の評価ポリシーに従って、前記修正した第２のシンプトンを評価し、該評価に従い、前記修正した第２のシンプトンを前記所定の問題に関連するイベントの集合を検出するために使用するかどうかを決定するステップをさらに含む、請求項２３に記載の方法。
【請求項２５】
所定の問題に関連するイベントの集合を検出するための少なくとも１のルールを含む、データであるシンプトンを格納するためのシンプトン・データベースに接続されうるコンピュータ・システムにおいて、シンプトンを評価するためのコンピュータ・プログラムであって、前記コンピュータ・システムに請求項１４〜２４のいずれか一項に記載の各ステップを実行させる、前記コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シンプトン（symptom）を評価するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラムに関する。本発明は、特に、シンプトンを評価し、該シンプトンの精度を高めるためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラムに関する。
【背景技術】
【０００２】
オートノミック・コンピューティング環境は、自らを管理し、ビジネス・ポリシー或いはビジネスの目標に併せて、変化に動的に適応することが可能なコンピューティング環境である。システムがオートノミックであるための条件は、システム自身が、１．環境をモニターすること（モニタリング、Monitoring）、２．モニター結果を分析すること（アナライジング、Analyzing）、３．問題があるならば、改善策を計画すること（プランニング、Planning）、４．それを実行すること（エグゼキューティング、Executing）の４段階からなるプロセスを実行可能であることである。該プロセスは、上記４段階の頭文字を取ってMAPEループと呼ばれる。オートノミック・コンピューティング環境は、ＩＴ環境において自らを監視し或いは検知することをベースにしてアクティビティーを実行することを可能にするので、ＩＴプロフェッショナルがタスクを開始する必要がない。オートノミック・コンピューティング環境は、自己構成（環境の変化にダイナミックに適応すること）、自己修復（システムの中断を防止するために、不具合を発見・診断し、修正すること）、自己最適化（ＩＴ資源を最大限に利用するために、資源を調整し、負荷分散をすること）及び自己防御（予見ないしは検知、識別を行うことで危険に対処し、また攻撃に対する防御を行うこと）の機能を備えている。
【０００３】
オートノミック・コンピューティングのテクノロジーが普及しつつあり、発生するイベントをナレッジ（knowledge）によって解析し、問題の対処を導き出すオートノミック・コンピューティング・システムの概念が一般化しつつある。オートノミック・コンピューティングの取り組みとして、様々なイベントについて既存のナレッジによる解析を行い、システム又はネットワークに起きている問題を発見し、解決策を提示するソリューションが提案されている。
【０００４】
インターナショナル・ビジネス・マシーンズ・コーポレーション（商標、以下ＩＢＭ）は、オートノミック・テクノロジーに関連し、オートノミック・コンピューティング・ツールキットを提供している。該ツールキットは、例えばIBM Build to Manage Toolkit for Problem Determination（以下、IBM BtM Toolkit for PD）である。該ツールキットを使用することで、今まで運用担当者が手作業で行っていたシステムの問題判別と解決の時間とを大幅に短縮することができる。さらに、該ツールキットを使用することで、シンプトン・カタログを作成できるようになり、経験知に基づいた問題解決、さらにシステムのクラッシュ或いはパフォーマンス上のボトルネックを事前に察知することも可能になる。IBM BtM Toolkit for PDは、シンプトンの蓄積を容易にするツールを含む。ＩＴ環境で発生する多くの問題には、解決方法が既に存在する。現在はその解決方法の大半を手作業で、時間と労力とをかけて解析している。しかし、該ツールキットで提供されるツールを利用することで、問題とその解決方法に関する情報を簡単に解析することができ、既知の情報をシンプトン・カタログとして公開することが可能になる。管理対象の製品が、導入ないしは運用の際にこのシンプトン・カタログに自動的にアクセスするので、問題の有効な解決方法の特定に必要な時間及び労力が大幅に削減される。
【０００５】
特開２００１−００７８９２（以下、特許文献１）は、軽度あるいは警告的なシンプトンが繰り返し発生していることを、システム管理者に効率良く通知することを課題とする（要約書）。詳細には、特許文献１の発明は、シンプトンの発生状態を、(A)シンプトンが規定頻度以上発生したシンプトン異常発生状態、(B)シンプトンが規定頻度未満で発生したシンプトン継続発生状態、及び(C)シンプトンが全く発生していないシンプトン未発生状態の３種に分類し、(A)と(B)を通知することを特徴とする。特許文献１のシンプトン（Symptom）は「症状イベント」と同じ意味であり、症状イベントとは、観測可能なイベントのことを言う（第０００７段落）。特許文献１の症状イベントは、例えば、「ある宛先Ａに対して通信に時間がかかり、再送信が必要となっている」、「ある宛先Ｂに対して文字化けが生じている」、「ある宛先Ｃに対して受信確認が返ってこない」などの状態を言う（第０００７段落）。従って、特許文献１のシンプトンは、オートノミック・コンピューティング環境でいうシンプトンに対応せず、イベントに対応する。また、特許文献１は、シンプトンの発生状態、すなわち症状イベントの発生状態を、シンプトン異常発生状態及びシンプトン継続発生状態の２値で示しているにすぎない。
【０００６】
特開平１０−１３５８７７（以下、特許文献２）は、通信システムにおける障害予知方法及び障害予知装置に係り、特に、的確な障害予知を可能とする障害予知方法及び障害予知装置を提供することを課題とする（要約書）。詳細には、特許文献２の発明は、回線のエラー回数を所定の標本化時間にわたって計数し、該標本化時間におけるトラフィックに対して許容できるエラー回数を求め、該計数したエラー回数と該許容できるエラー回数とを比較することを特徴とする。しかし、特許文献２は、オートノミック・コンピューティング環境でいうシンプトンについて何ら記載していない。
【０００７】
【特許文献１】特開２００１−００７８９２
【特許文献２】特開平１０−１３５８７７
【発明の開示】
【発明が解決しようとする課題】
【０００８】
問題判別技法（Problem Determination Solution）の分野では、シンプトンによる問題判別システムが実運用され、多くのシンプトンが蓄積されてきている。しかし、現状のシンプトンのルールは、固定の問題に関連するイベント・パターンを検出するように定義されている。そのため、現状のシンプトンは、実行時の環境によって変化しうるイベント・パターンについての事象を誤検出したり又は検出できない。例えば、シンプトンのルールが緩い、すなわち精度が低いことによって関連のないシンプトンが抽出される（すなわち、誤検出がおきる）。或いは、シンプトンのルールが厳しいために、或るログ・ファイルについてシンプトンが抽出されない（すなわち、検出できない）。これら誤検出又は未検出に対応するために、管理者が実行環境ごとにシンプトンの調整を行うことは多大な作業となり、保守コストの増大を招きうる。保守コストを低減するためには、オートノミック技術を使用するだけでなく、問題を未然に防ぐために使用する予兆を発見して、予防保守をすることが重要になってきている。そのためには、予兆を発見しうるシンプトン（以下、予兆シンプトン）を事前に作成しておくことが好ましい。しかし、予兆シンプトンを事前に作成しておくことは現実的に困難である。なぜならば、予兆は実行環境によって異なる場合があり、また管理者が気付かない予兆のパターンがあるからである。しかも、不要な予兆シンプトンは、上記システムへのオーバーヘッドを生む原因ともなりうる。
【課題を解決するための手段】
【０００９】
本発明は、シンプトン（symptom）を評価するためのコンピュータ・システムを提供する。該コンピュータ・システムは、所定の問題に関連するイベントの集合を検出するための少なくとも１のルールを含む、データであるシンプトンを格納するためのシンプトン・データベースに接続されうる。該コンピュータ・システムは、
第１のシンプトンに基づいて、所定のシンプトン作成ポリシーに従って、少なくとも１つの第２のシンプトンを作成するシンプトン作成部と、
複数のイベントに関する情報を含むイベント・レコードに上記第１のシンプトンを適用して得られるデータおよび上記イベント・レコードに上記第２のシンプトンを適用して得られるデータに基づいて、所定の評価ポリシーに従って、上記第２のシンプトンを評価し、該評価に従い、上記第２のシンプトンが上記所定の問題に関連するイベントの集合を検出するために使用されうるかどうかを決定するシンプトン評価部と
を含む。
【００１０】
上記所定のシンプトン作成ポリシーは、シンプトンに含まれる少なくとも１つのルールの一部又は全部をどのように変更するかの定義を含む。上記シンプトン作成部は例えば、上記シンプトン作成ポリシーに含まれる定義に基づくアルゴリズムであって、上記第１のシンプトンに含まれる少なくとも１つのルールの一部又は全部を変更するアルゴリズムを実行することによって、上記第２のシンプトンを作成する。
【００１１】
上記シンプトン作成ポリシーは例えば、上記第１のシンプトンのどのルールを変更するか、所定のイベントの発生回数を変更するか、所定のイベント間における発生期間を変更するか、所定の複数のイベントにおける発生順序を変更するか、所定の複数のイベントのうちの一部と一致するように変更するか、ある期間内に所定のイベントが所定回数発生する閾値を変更するか、どれだけの数の第２のシンプトンを作成するか、の少なくとも１以上を定義する。
【００１２】
上記複数のイベントに関する情報を含むイベント・レコードは例えば、上記第１のシンプトンのルールにより検出されたレコード、上記第１のシンプトンのルールにより誤検出されたレコード、上記第１のシンプトンにより未検出であったレコードのいずれかである。
【００１３】
上記第２のシンプトンを適用して得られるデータは例えば、上記イベント・レコードに上記第１のシンプトンを適用して得られる検出率を１００とした場合に、該イベント・レコードに上記第２のシンプトンを適用して得られる検出率である。
【００１４】
上記評価ポリシーの第１の態様は、シンプトンを評価するための１以上の指標の定義を含む。上記シンプトン評価部はまた、上記第１及び第２のシンプトンについて、該第１及び第２のシンプトンを評価するための１以上の指標を算出するアルゴリズムを実行することによって、上記第２のシンプトンを評価する。
【００１５】
上記評価ポリシーの第２の態様は、シンプトンを評価するための１以上の指標を算出するアルゴリズムの定義を含む。上記シンプトン評価部は、上記評価ポリシーに含まれる上記アルゴリズムを実行することによって上記第２のシンプトンを評価する。
【００１６】
上記シンプトンを評価するための１以上の指標は例えば、
（１）複数のイベントに関する情報を含むイベント・レコードについて、上記第２のシンプトンのルールにより検出されるイベントがある場合に、上記第１のシンプトンのルールにより検出される割合がいくらか、
（２）複数のイベントに関する情報を含むイベント・レコードについて、上記第２のシンプトンによる誤検出率が、上記第１のシンプトンによる誤検出率よりも低いか、
（３）複数のイベントに関する情報を含むイベント・レコードについて、上記第２のシンプトンによる未検出率が、上記第１のシンプトンによる未検出率よりも低いか、
の少なくとも１つを含む。
【００１７】
上記決定は例えば、上記第２のシンプトンのルールにより検出される割合が、上記第１のシンプトンのルールにより検出される割合よりも所定割合以上である場合又は該所定割合よりも大きい場合に行われる。
【００１８】
上記決定は例えば、上記第２のシンプトンによる誤検出率が、上記第１のシンプトンによる誤検出率よりも所定率以下である場合又は該所定率よりも小さい場合に行われる。
【００１９】
上記決定は例えば、上記第２のシンプトンによる未検出率が、上記第１のシンプトンによる未検出率よりも所定率以下である場合又は該所定率よりも小さい場合に行われる。
【００２０】
上記決定は例えば、複数のイベントに関する情報を含むイベント・レコードに上記第１のシンプトン及び上記第２のシンプトンをそれぞれ適用し、上記第２のシンプトンによる検出が上記第１のシンプトンによる検出の前に発生する場合に行われる。
【００２１】
上記第１のシンプトンは例えば、上記ルールに従いイベントの集合が検出された場合のアクションの記述、及び第２のシンプトンの評価を行うアクションの記述を含む。
【００２２】
さらに、本発明は、所定の問題に関連するイベントの集合を検出するための少なくとも１のルールを含む、データであるシンプトンを格納するためのシンプトン・データベースに接続されうるコンピュータ・システムにおいて、シンプトンを評価するための方法を提供する。該方法は、上記コンピュータ・システムに下記ステップを実行させる。該ステップは、
第１のシンプトンに基づいて、所定のシンプトン作成ポリシーに従って、少なくとも１つの第２のシンプトンを作成するステップと、
複数のイベントに関する情報を含むイベント・レコードに上記第１のシンプトンを適用して得られるデータおよび上記イベント・レコードに上記第２のシンプトンを適用して得られるデータに基づいて、所定の評価ポリシーに従って、上記第２のシンプトンを評価し、該評価に従い、上記第２のシンプトンが上記所定の問題に関連するイベントの集合を検出するために使用されうるかどうかを決定するステップと
を含む。
【００２３】
上記所定のシンプトン作成ポリシーは、シンプトンに含まれる少なくとも１つのルールの一部又は全部をどのように変更するかの定義を含む。上記作成するステップは例えば、上記シンプトン作成ポリシーに含まれる定義に基づくアルゴリズムであって、上記第１のシンプトンに含まれる少なくとも１つのルールの一部又は全部を変更するアルゴリズムを実行することによって、上記第２のシンプトンを作成するステップを含む。
【００２４】
上記シンプトン作成ポリシーは例えば、上記第１のシンプトンのどのルールを変更するか、所定のイベントの発生回数を変更するか、所定のイベント間における発生期間を変更するか、所定の複数のイベントにおける発生順序を変更するか、所定の複数のイベントのうちの一部と一致するように変更するか、ある期間内に所定のイベントが所定回数発生する閾値を変更するか、どれだけの数の第２のシンプトンを作成するか、の少なくとも１以上を定義する。
【００２５】
上記複数のイベントに関する情報を含むイベント・レコードは例えば、上記第１のシンプトンのルールにより検出されたレコード、上記第１のシンプトンのルールにより誤検出されたレコード、上記第１のシンプトンにより未検出であったレコードのいずれかである。
【００２６】
上記第２のシンプトンを適用して得られるデータは例えば、上記イベント・レコードに上記第１のシンプトンを適用して得られる検出率を１００とした場合に、該イベント・レコードに上記第２のシンプトンを適用して得られる検出率である。
【００２７】
上記評価ポリシーの第１の態様は、シンプトンを評価するための１以上の指標の定義を含む。上記評価するステップはまた、上記第１及び第２のシンプトンについて、該第１及び第２のシンプトンを評価するための１以上の指標を算出するアルゴリズムを実行することによって、上記第２のシンプトンを評価するステップを含む。
【００２８】
上記評価ポリシーの第２の態様は、シンプトンを評価するための１以上の指標を算出するアルゴリズムの定義を含む。上記評価するステップは、上記評価ポリシーに含まれる上記アルゴリズムを実行することによって上記第２のシンプトンを評価するステップを含む。
【００２９】
上記シンプトンを評価するための１以上の指標は例えば、
（１）複数のイベントに関する情報を含むイベント・レコードについて、上記第２のシンプトンのルールにより検出されるイベントがある場合に、上記第１のシンプトンのルールにより検出される割合がいくらか、
（２）複数のイベントに関する情報を含むイベント・レコードについて、上記第２のシンプトンによる誤検出率が、上記第１のシンプトンによる誤検出率よりも低いか、
（３）複数のイベントに関する情報を含むイベント・レコードについて、上記第２のシンプトンによる未検出率が、上記第１のシンプトンによる未検出率よりも低いか、
の少なくとも１つを含む。
【００３０】
上記決定は例えば、上記第２のシンプトンのルールにより検出される割合が、上記第１のシンプトンのルールにより検出される割合よりも所定割合以上である場合又は該所定割合よりも大きい場合に行われる。
【００３１】
上記決定は例えば、上記第２のシンプトンによる誤検出率が、上記第１のシンプトンによる誤検出率よりも所定率以下である場合又は該所定率よりも小さい場合に行われる。
【００３２】
上記決定は例えば、上記第２のシンプトンによる未検出率が、上記第１のシンプトンによる未検出率よりも所定率以下である場合又は該所定率よりも小さい場合に行われる。
【００３３】
上記決定は例えば、複数のイベントに関する情報を含むイベント・レコードに上記第１のシンプトン及び上記第２のシンプトンをそれぞれ適用し、上記第２のシンプトンによる検出が上記第１のシンプトンによる検出の前に発生する場合に行われる。
【００３４】
上記第１のシンプトンは例えば、上記ルールに従いイベントの集合が検出された場合のアクションの記述、及び第２のシンプトンの評価を行うアクションの記述を含む。
【００３５】
該方法は、上記コンピュータ・システムにさらに下記ステップを実行させる。該ステップは、上記評価に従い、上記第２のシンプトンを修正するステップをさらに含む。代替的に、上記評価に従い、上記第２のシンプトンを削除するステップをさらに含む。
【００３６】
該方法は、上記コンピュータ・システムにさらに下記ステップを実行させる。該ステップは、上記イベント・レコードに上記修正した第２のシンプトンを適用して第３のデータを得るステップをさらに含む。
【００３７】
該方法は、上記コンピュータ・システムにさらに下記ステップを実行させる。該ステップは、上記第１のデータ又は上記第２のデータ、および上記イベント・レコードに上記第２のシンプトンを適用して得られるデータに基づいて、所定の評価ポリシーに従って、上記修正した第２のシンプトンを評価し、該評価に従い、上記修正した第２のシンプトンを上記所定の問題に関連するイベントの集合を検出するために使用するかどうかを決定するステップをさらに含む。
【００３８】
さらに、本発明は、所定の問題に関連するイベントの集合を検出するための少なくとも１のルールを含む、データであるシンプトンを格納するためのシンプトン・データベースに接続されうるコンピュータ・システムにおいて、シンプトンを評価するためのコンピュータ・プログラムを提供する。該コンピュータ・プログラムは、上記コンピュータ・システムに、上記各ステップを実行させる。該コンピュータ・プログラムは、磁気ディスク、光ディスク、半導体メモリ、そのほかの記録媒体に格納して配布され、或いはネットワークを介して提供されうる。
【発明を実施するための最良の形態】
【００３９】
本発明に関する基本的な用語を下記に説明する。
・イベント
システム・リソース、ネットワーク・リソース又はネットワーク・アプリケーションなどの監視対象リソースの状態の変化である。イベントは、問題、問題の解決又はタスクの正常な完了によって発生することもある。具体的には、ハードウェア又はソフトウェアの故障、停止、性能のボトルネック、ネットワーク構成の不整合、設計不十分による意図せざる結果、コンピュータ・ウィルス等の悪意による被害などを含む。イベントの具体例の一つは、メモリ使用量が閾値を超えたことである。
・コモン・ベース・イベント（Common Base Event）
ある状態の結果として送られ、その後で企業管理アプリケーション又はビジネス・アプリケーションで使用されるイベントの構造を示す標準の形式及びコンテンツの仕様である。ＩＢＭ（商標）は、共通ログ・フォーマットであるコモン・ベース・イベント（ＣＢＥ）を策定し、ＣＢＥが、標準化団体であるOASIS（Organization for the Advancement ofStructured Information Standards）によってログ・フォーマットの標準として採択されている。コモン・ベース・イベントには、ロギング、トレース、管理、及びビジネスのイベントがある。ＣＢＥにおいて、データはＸＭＬで表現されうる。
・ナレッジ（knowledge）
オートノミック・コンピューティング・システムでのナレッジは、プロセス、特に自動化が可能なプロセスを実行するために使用される構造化データ又は構造化情報であれば、ほとんどどんなものでも該当しうる。オートノミック・コンピューティング・システムではナレッジに関するスコープが広いため、ナレッジに含まれるものとして、ログ・ファイルに保存されるデータ、管理エンドポイント（タッチポイント）或いはプロセスに関する状態データ、又はシステムに変更を加えられる時期に関するスケジュール・データまである。ナレッジのタイプとして、例えばソリューション・トポロジー・ナレッジ（例えば、インストール可能ユニット記述子（installable unit descriptor））、ポリシー・ナレッジ、問題判別ナレッジ（例えば、監視対象のデータ又はシンプトン）がある。ナレッジの一般的な形式であるPrologプログラムは、ある主題に関する事実とルールの集合である。オートノミック・コンピューティング・システムにおいて、ナレッジは、オートノミック・マネージャーが使用できるように、ある標準の形式で表現されうる。
・シンプトン（symptom）
シンプトンは、ナレッジの形式の１つであり、１つ以上の管理対象リソースに関する、起こりうる問題又は診断状況を示すデータである。シンプトンは、大きくは３つの構成要素、すなわちシンプトン定義、シンプトン・ルール、シンプトン効果を含む。シンプトン定義は、シンプトンの一般情報（メタデータ）を定義する。シンプトンの一般情報は例えば、タイプ、カテゴリー、対象（scope）、事前条件（preconditions）を含む。シンプトン定義は、ＸＰＡＴＨ表現、正規表現、決定木、依存関係グラフ、Ｐｒｏｌｏｇ述部、ＡＣＴパターン、ＴＥＣルール、又はニューラル・ネットワークを利用して記述しうる。シンプトン・ルールは、所定の問題に関連するイベントの集合を検出するためのルールであり、このシンプトンを認識するために使用されるルールである。シンプトンのルールの一例であるＩＢＭ相関ルールの場合、７種類のルールがサポートされる。具体的には、ＩＢＭ相関ルールは、ステートレス・ルールとして、フィルタールール、ステートフル・ルールとして、収集ルール、計算ルール、重複ルール、シークエンスルール、閾値ルール、タイマールールを含む。シンプトン・ルールは、ＸＰＡＴＨ表現などを利用して、或いはプログラムを利用して記述しうる。シンプトン効果は、問題が起こった際に取るべきアクション、必要に応じて該アクションの詳細な説明などを記述する。シンプトン効果には、対処するアクションが指定されずに問題に対する対処方法を単に記述しているだけの場合もある（Recommendation）。シンプトン効果のうち、実際に取るべきアクションを含むものをシンプトン・アクションという。
シンプトンを使用することによって、トリガーとなるイベントの集合、及びイベントの集合のパターンを検出できる。上記パターンの例は、イベントの１対１の突き合わせ、複数のイベント（マルチ・イベント）、イベントの出現回数、イベントの順序（イベント・シークエンス）、イベントのタイムフレーム、イベントが出現しないことの検出、及びそれらの組み合わせである。イベントの集合はまた、所定の問題に関連する。
シンプトンは、ＭＡＰＥループのモニタリングに内部において識別され及びアナライジングで使用される。オートノミック・マネージャーは、シンプトン・カタログを利用して、モニタリング内部で、イベントとシンプトンの関連付けを行う。シンプトンは、監視機能、例えばオートノミック・マネージャーが、コモン・ベース・イベントなど監視対象のデータを相関させることによって作る。シンプトンは例えば、ＸＭＬで表現される。
イベントとシンプトンとの関係は以下の通りである。イベントは、監視対象リソースの状態の変化（例えば、メモリ使用量が５１２Ｍになった）である。シンプトンは、起こりうる問題又は診断状況を示すデータである。よって、イベントx（及びイベントy、（及びイベント...））が一定の条件の下で発生した場合の起こりうる問題又は診断状況は、例えばメモリ不足、又はメモリ使用量が設定したリミットを１０分間に３回超えたことである。そして上記問題又は診断状況の際にとるべきアクションは、例えばバッファーサイズを増やすことである。
・オートノミック
オートノミックとは、問題、セキュリティ脅威、及びシステム障害に対して自律的なことをいう。
・オートノミック・コンピューティング
オートノミック・コンピューティングとは、自らを管理し、ビジネス・ポリシー或いはビジネスの目標に併せて、変化に動的に適応することが可能なコンピューティングをいう。
・オートノミック・コンピューティング・システム
オートノミック・コンピューティング・システムとは、オペレーティング環境を検知し、その環境での動作をモデル化し、その環境又は動作を変更するアクションを行うコンピューティング・システムである。オートノミック・コンピューティング・システムには、自己構成、自己修復、自己最適化、及び自己防御という特徴がある。
・オートノミック・マネージャー
オートノミック・マネージャーとは、オートノミック・コンピューティングにおいて、制御ループを使用して他のソフトウェア及びハードウェアを管理するコンポーネントである。オートノミック・マネージャーの制御ループは、モニタリング、アナライジング、プランニング及びエグゼキューティングの各機能から構成されている。
・アナライジング・プロセス
アナライジング・プロセスとは、監視対象から得られるイベントの集合（イベント群）について、シンプトンのルールに記述されているパターンにマッチするかどうかを判断するプロセスである。
【００４０】
以下、図面に従って、本発明の実施例を説明する。本実施例は、本発明の好適な態様を説明するためのものであり、本発明の範囲をここで示すものに限定する意図はないことを理解されたい。また、以下の図を通して、特に断らない限り、同一符号は、同一の対象を指す。
【００４１】
図１は、問題判別技法（Problem Determination Solution）の分野における問題判別システムの概念図を示す。該問題判別システムは、特にオートノミック・コンピューティングにおいて用いられる。
問題判別システムの管理者（１０１）は、過去の障害事例から、問題が起きた際のエラーメッセージを含むログ・ファイル又はダンプ・ファイルの特徴をナレッジとして抽出し、ナレッジ・データベース（１０２）に登録する。ナレッジ・データベースは、例えばＤＢ２（商標）を使用して構築することができる。そして、ナレッジからシンプトンが生成される。該シンプトンは、シンプトン・データベース（１０３）に格納される。シンプトン・データベース（１０３）は、シンプトン・カタログともいう。一方、ユーザ又はヘルプ・デスク（１０４）は、ログ・ファイル又はダンプ・ファイル（１０５）をユーザによって操作されるコンピュータ、例えばクライアント・システムから問題判別システム、例えばサーバ・コンピュータ（１００）に送信する。ログ・ファイル又はダンプ・ファイル（１０５）は、例えばアプリケーション、データベース、アプリケーション・サーバ、サーバ、ストレージ・デバイス、ネットワークのイベントを含む。ログ・ファイル及びダンプ・ファイル（１０５）のそれぞれの形式は、コンポーネント毎に異なる。そこで、ログ・ファイル及びダンプ・ファイル（１０５）の形式を統一化するために、サーバ・コンピュータ（１００）において、ログ・ファイル及びダンプ・ファイル（１０５）は、コモン・ベース・イベント（１０６）（以下、ＣＢＥ）に変換される。ＤＢ２（商標）及びWebSphere（商標）のようなＩＢＭ製品は、このＣＢＥを直接出力する機能を既に備えている。また、ＩＢＭは、既存のログをＣＢＥへ変換するためのツールを無償で提供している。該ツールは、ジェネリック・ログ・アダプター（ＧＬＡ）と呼ばれる。該ツールは、Eclipseベースの開発ツールである。そして、該ツールは、シンプトン・データベース（１０３）に蓄積したシンプトンのルールにより上記ＣＢＥ（１０６）を解析する。ＣＢＥの解析によって、該ＣＢＥに含まれるイベントの集合を検出するシンプトンを抽出し（１０７）、そして該抽出されたシンプトンのシンプトン効果に基づいて障害の内容ないしは解決策を判別する。そして、判別の結果が、ユーザのクライアント・システムに接続された表示装置上に診断結果（１０８）として提示される。診断結果は、シンプトン・データベース利用による問題解決のヒントを含む。診断結果は、ログ分析ツール、例えばIBM Log Trace Analyzer（ＬＴＡ）を使用して提示される。このように、あるエラーメッセージとそのメッセージに対する解決方法をシンプトン・データベースとして蓄積することで、同じエラーメッセージが発生した場合に、管理者に対して蓄積された解決方法をアドバイスすることが可能になる。
【００４２】
図２は、ログ・ファイル（２０１）をＣＢＥ（２０２）に変換する一例を示す。ログ・ファイル（２０１）からＣＢＥ（２０２）への変換は、上述したＤＢ２（商標）及びWebSphere（商標）といったソフトウェアが備える直接出力機能又は変換ツールを使用することによって行われうる。図２のログ・ファイル（２０１）は、メッセージＩＤ  TCPC0003E、CHFW0029E及びTCPC001Iで特定されるイベント及びその内容を示す。メッセージＩＤ  TCPC0003E、CHFW0029E及びTCPC001Iで特定されるイベント並びにその内容は、ＣＢＥ（２０２）へ変換されることによってメッセージＩＤ毎に所定の形式に変換される。
【００４３】
図３は、シンプトン・データベース（３０２）に格納されたシンプトンによりＣＢＥ（３０１）を解析する（３０３）一例を示す。ＣＢＥ（３０１）は、メッセージＩＤで特定される複数のイベントを含む。シンプトン・データベース（３０２）は、複数のシンプトンを有する。シンプトンによりＣＢＥ（３０１）を解析することによって、ＣＢＥ（３０１）に含まれるイベントの集合を検出することが可能なシンプトンを抽出することができる。ＣＢＥ（３０１）は、TCPC0003E、そしてCHFW0029Eの順で特定されるイベントの集合を含む。シンプトンの抽出によって問題が発見される（３０４）。そして、該抽出されたシンプトン内のシンプトン効果に対応するテクニカル・ノート（メッセージＩＤに対する補足、アドバイス情報）が、例えば管理者のための表示装置上に提示される（３０５）。
【００４４】
図４は、既存の問題判別システムの実施態様の一例である。
問題判別システムは、イベント処理モジュール（４０１）、解析モジュール（相関エンジン）（４０２）、シンプトン・データベース（４０３）、アクション実行モジュール（４０４）及びシンプトン評価入力モジュール（４０５）を含む。
問題判別システムは、例えばネットワークを介して又はユーザからの入力を介して、アプリケーションなどからのログ・ファイル又はダンプ・ファイルを受け取る。問題判別システムは、該ログ・ファイル又はダンプ・ファイルをイベント処理モジュール（４０１）に渡す。イベント処理モジュールは、該ログ・ファイル又はダンプ・ファイルの内容のうち、解析に必要な属性を含んだデータを抽出し、解析可能な標準フォーマット、例えばＣＢＥに変換する。イベント処理モジュールは、該変換されたファイルを解析モジュール（４０２）に送る。解析モジュール（４０２）は、シンプトン・データベース（４０３）に格納された複数のシンプトンにより、該変換されたファイルを解析する。該変換されたファイルの解析によって或るシンプトンが検出されると、アクション実行モジュール（４０４）は、該抽出されたシンプトンのシンプトン効果に対応するアクションを実行する。問題判別システムの管理者（４０６）は、シンプトン評価入力モジュール（４０５）を用いて、シンプトンによる上記解析の結果を評価することができる。例えば、管理者は、上記解析の結果について、シンプトンが上記変換されたファイル内のイベントの集合を検出したことが適切であったか（すなわち、有効である）又は適切でなかったか（すなわち、無効である）を表示装置上の所定の欄に入力し又は有効であるか無効であるかを指示に従い選択する。該評価をユーザが入力することによって、シンプトンにより誤検出又は未検出が行われたことの判定が可能となる。上記評価を入力する画面の例を図５に示す。
【００４５】
図５は、評価を入力する画面の例を示す。
解析に使用するファイルは例えば、ログ・ファイル又はダンプ・ファイルである。図５において解析に使用したファイルは、ファイル名「javacore.txt」である。解析に使用したファイルは、解析後に記憶装置内に保存するようにしてもよく又は削除するようにしておいてもよい。図５では、解析に使用したファイルを削除している（“削除済み”）。
診断結果において、「カタログ名」は、シンプトン・カタログのうち、上記ファイルに含まれるイベントを検出したシンプトンの名前を示す。「エラー症状」（エラー内容である）は、エラーを識別するためのデータ、例えばエラーＩＤ又はエラー内容を示す。「該当ログ・ファイル」は、解析に使用したログ・ファイル名を示す。「時刻」は、ファイルをシンプトンで診断した日時を示す。「評価」は、シンプトンによる診断が有効であるか無効であるかを管理者が入力した結果を示す。「詳細」は例えば、シンプトン・カタログ名、シンプトンの説明、エラー症状の説明、症状に対する解決策、該当ログ・ファイルの説明、及び評価の仔細情報を含みうる。
【００４６】
図６は、本発明の実施態様であるコンピュータ・システムの一例である。該コンピュータ・システムは、オートノミック・コンピューティングを実現するサーバ・コンピュータそれ自体又は該サーバ・コンピュータに関連付けられたコンピュータであってよい。
イベント処理モジュール（６０１）、解析モジュール（相関エンジン）（６０２）、シンプトン・データベース（６０３）、アクション実行モジュール（６０４）及びシンプトン評価入力モジュール（６０５）は、図４に示したイベント処理モジュール（４０１）、解析モジュール（相関エンジン）（４０２）、シンプトン・データベース（４０３）、アクション実行モジュール（４０４）及びシンプトン評価入力モジュール（４０５）に夫々対応する。
シンプトン編集モジュール（６０７）は、管理者が、シンプトン・データベース（６０３）に格納されたシンプトンを編集可能にする。本発明の実施態様において、シンプトン・データベース（６０３）に格納されたシンプトンを親シンプトンという。親シンプトンの編集については、下記図７の説明においてさらに詳しく述べる。
派生シンプトン作成モジュール（６０８）は、親シンプトンに基づいて、派生ポリシー（６０９）に従って、新たにシンプトンを作成する。派生とは、親シンプトンから、それに準じた新たなシンプトンを作成することである。本発明の実施態様では、該作成されたシンプトンを派生シンプトンという。派生シンプトンは親シンプトンに基づいて作成されることから、親シンプトンのバリエーションである。
派生シンプトン作成モジュール（６０８）は、派生シンプトンを派生シンプトン・データベース（６１０）に格納する。なお、図６では、シンプトン・データベース（６０３）と派生シンプトン・データベース（６１０）とを別に記載しているが、両方のデータベース（６０３、６１０）は１つの記憶装置内に格納されていてもよい。記憶装置は例えば、ハードディスクなどの磁気記録媒体、シリコンディスクなどの半導体ディスク、またはそれらの組み合わせである。派生シンプトンの作成については、下記図８の説明においてさらに詳しく述べる。
派生シンプトン評価モジュール（６１１）は、親シンプトンのルールに記述された、派生シンプトン評価モジュールを実行するアクションに従い、派生シンプトンを評価せよ、とのアクション指示を受けとる。派生シンプトン評価モジュール（６１１）は、派生シンプトンの評価データ及び必要に応じて親シンプトンの評価データを求めることを解析モジュール（６０２）に要求する。派生シンプトン評価モジュール（６１１）は、派生シンプトンの評価データ及び必要に応じて親シンプトンの評価データを求める。派生シンプトンの評価データは例えば、複数のイベントに関する情報を含むイベント・レコードに親シンプトンを適用して得られるデータである。親シンプトンの評価データは例えば、上記イベント・レコードに派生シンプトンを適用して得られるデータである。派生シンプトンの評価データは、派生シンプトン評価結果データベース（６１２）に格納される。なお、図６では、各データベース（６０３、６１０、６１２）を別に記載しているが、全て又はその一部のデータベース（６０３、６１０、６１２）が１つの記憶装置内に格納されていてもよい。派生シンプトンの評価データ及び親シンプトンの評価データを求めることについては、下記図１０の説明においてさらに詳しく述べる。
シンプトン最適化モジュール（６１４）は、複数のイベントに関する情報を含むイベント・レコードに親シンプトンを適用して得られるデータおよび上記イベント・レコードに派生シンプトンを適用して得られるデータに基づいて、所定の評価ポリシー（６１３）に従って、派生シンプトンを評価する。そして、シンプトン最適化モジュール（６１４）は、該評価することに従い、派生シンプトンが所定の問題に関連するイベントの集合を検出するために使用されうるかどうかを決定する。使用されうると決定されると、該派生シンプトンは、シンプトン・データベース（６０３）に追加されるか、又は該派生シンプトンに対応する親シンプトンが該派生シンプトンによって置き換えられる。該派生シンプトンの追加又は該派生シンプトンによる置換によって、シンプトンによるイベントの集合を検出する精度が高められる。また、本発明の実施態様において、シンプトン・データベース（６０３）に追加された派生シンプトンを予兆シンプトンという。上記シンプトンの最適化については、下記図１１の説明においてさらに詳しく述べる。
【００４７】
図７は、シンプトン・データベース（６０３）に格納されたシンプトン（すなわち、親シンプトン）を編集することを示す。
管理者は、シンプトン・データベース（６０３）からシンプトン（以下、編集前のシンプトンという、親シンプトンと同義である）を開く。管理者は、シンプトン編集モジュール（６０７）を用いて編集前のシンプトン（７０１）を編集する。編集後のシンプトン（７０２）は、シンプトン・データベース（６０３）に再書き込みされる。
編集前のシンプトン（７０１）は、シンプトン・ルール及びシンプトン・アクションを記述している。シンプトン・ルールは、＜SymptomRule＞〜＜/SymptomRule＞内に記述される。シンプトン・ルールは、該シンプトン・ルールにイベントの集合がマッチした場合に行うアクションを記述する。シンプトン・アクションは、＜SymptomAction＞〜＜/SymptomAction＞内に記述される。シンプトン・アクションは、アクション実行モジュール（６０４）及び属性を記述する。属性は例えば、アクションの実行のために用いられるパラメータである。
編集後のシンプトン（７０２）は、シンプトン・ルール及びシンプトン・アクションを記述している点で、編集前のシンプトンと同じである。シンプトン・ルールは、該シンプトン・ルールにイベントの集合がマッチした場合に行うアクションに加えて、親シンプトンに基づいて作成された派生シンプトンについて評価データを得るために派生シンプトン評価モジュール（６１１）を実行するアクションを記述する。派生シンプトン評価モジュール（６１１）を実行するアクションの記述をシンプトン・アクションに加えることによって、派生シンプトン評価モジュール（６１１）は派生シンプトンを評価するアクション指示を受けとる。また、シンプトン・アクションは、派生シンプトン評価モジュール（６１１）及び属性を記述する。属性は例えば、シンプトン評価のための実行パラメータ、及びログ・ファイル名である。
以上で述べたように、編集後のシンプトン（７０２）には、管理者によって派生シンプトンを評価するためのシンプトン・ルール及びそのアクションが追加されている。
このように、編集前のシンプトンを編集することによって、派生シンプトンの評価がシンプトンのアクションとして自動実行される。
なお、上記では、管理者が編集前のシンプトン（７０１）を手動で編集する態様を述べたが、シンプトン編集モジュール（６０７）それ自体が、派生シンプトンを評価するためのシンプトン・ルール及びそのアクションを編集前のシンプトンに追記するようにしてもよい。
【００４８】
図８は、本発明の実施態様である、派生シンプトンの作成を示す。
派生シンプトンは、親シンプトンに基づいて、派生させる対象（すなわち親シンプトン）のマッチング・パターン（８０１）から選択される要素を含む派生ポリシー（６０９）に従い作成される。
シンプトンの生成条件は、IBM Active Correlation Technology（ＡＣＴ）の基本ルールの組み合わせである。ＡＣＴに定義されている７つのパターンは、フィルター（Filter）、コレクション（Collection）、コンピューテーション（Computation）、デュプリケーション（Duplication）、シーケンス（Sequence）、タイマー（Timer）及び閾値（Threshold）である。
フィルターは、単一のマッチングルールである。コレクションは、設定された複数のイベントの発生を保持し、及び発生内容を用いたアクションを実行する。コンピューテーションは、設定されたレコード・カラムの数値を算出し、及び算出値を用いたアクションを実行する。デュプリケーションは、同一イベントの発生回数をカウントする。シーケンスは、順不同もしくは一定順序での複数種類のイベント発生を検出する。タイマーは、定期実行ルールである。閾値は、コレクション／コンピューテーションで保持された結果又は算出された結果に対して、閾値設定でアクションを実行するかを判断する。
フィルターは、ステートレス・タイプである。ステートレス・タイプとは、適用対象について、タイムフレームによる制限を設けないタイプである。コレクション、コンピューテーション、デュプリケーション、シーケンス、タイマー及び閾値は、ステートフル・タイプである。ステートフル・タイプとは、適用対象について、タイムフレームによる制限を設定可能なタイプである。
派生シンプトンの作成において、上記要素のうち、デュプリケーション、シーケンス及び閾値が派生ポリシーの対象でありうる。その内容を図８に示す。一方、フィルターは、ステートレス・タイプであるので、派生ポリシーの対象外でありうる。コレクション及びコンピューテーションは、ロギング及びイベント集約などの閾値を持たないアクションをおこなうものであると考えられるので、派生ポリシーの対象外でありうる。タイマーは、クリーンアップなど、イベントの発生とは無関係であるので、派生ポリシーの対象外でありうる。
図８はまた、派生ポリシーに含まれる要素である、デュプリケーション、シーケンス及び閾値を示す。
デュプリケーションについての派生ポリシーは例えば、イベントの発生回数を変化することである。例えば、親シンプトンで検出されるイベントが１０回であれば、派生ポリシーでは発生回数を６、８、１２又は１４回に変更する。
シーケンスについての派生ポリシーの１つの例は、タイムフレームの長さを変化することである。すなわち、タイムフレームの許容範囲を広げたり、又は狭めたりする。例えば、親シンプトンで検出されるイベントが３秒以内に発生するのであれば、派生ポリシーは、タイムフレームを１、２、４又は５秒以内に変更する。シーケンスについての派生ポリシーの他の例は、順序の変化の許容範囲を広げることである。例えば、イベントが一定順序であるときは２つのイベントが入れ替わっているものまでを対象とする、又はイベントの一部が欠けているが、部分的に一致するものでまでを対象とする。例えば、親シンプトンで検出されるイベントの発生順序がＡ、ＢそしてＣであれば、派生ポリシーは例えば、イベントＡ、Ｂ及びＣの発生順序を問わない、又はＡ、Ｂが発生したことをルールにする、又はＡ、Ｃが発生したことをルールにする、に変更する。
閾値についての派生ポリシーの１つの例は、タイムフレームの長さを変化することである。すなわち、タイムフレームの許容範囲を広げたり、狭めたりする。例えば、親シンプトンで検出されるイベントが３秒以内に発生するのであれば、派生ポリシーは、タイムフレームを１、２、４又は５秒以内に変更する。閾値についての派生ポリシーの他の例は、閾値を変化することである。すなわち、閾値の許容範囲を広げたり、又は狭めたりする。
派生シンプトンのルールは、親シンプトンのルールよりも厳しい条件又は緩い条件でありうる。
【００４９】
図９は、本発明の実施態様である、派生ポリシー・カタログの例を示す。派生ポリシー・カタログは、派生ポリシーの集合体である。派生ポリシーは、シンプトンに含まれる少なくとも１つのルールの一部又は全部をどのように変更するかの定義を含む。該定義は、上記変更の条件及び方法を含む。派生ポリシーは例えば、親シンプトンのどのルールを変更するか、所定のイベントの発生回数を変更するか、所定のイベント間における発生期間を変更するか、所定の複数のイベントにおける発生順序を変更するか、所定の複数のイベントのうちの一部と一致するように変更するか、ある期間内に所定のイベントが所定回数発生する閾値を変更するか、どれだけの数の派生シンプトンを作成するか、の少なくとも１以上を定義する。派生ポリシーは、例えばＸＭＬで記述されるがこれに限定されない。派生ポリシーは例えば、派生対象であるルール及び派生パターンの記述を含む。
図９において、<targetRule>〜</targetRule>内は、派生対象であるルールを記述する。派生対象となるルールは例えば、Category、Priority、Severity、Resourceである。図９において、派生対象であるルールは、<attribute>Priority</attribute>
に示すPriority、<attribute>Category</attribute>に示すCategoryである。
図９において、<targetPattern>〜</targetPattern>は、派生パターン、例えば派生する要素、どのように派生するか、幾つの派生パターンを派生するかを記述する。
デュプリケーション<name>Duplication</name>については、発生回数を１つずつ<absolute>1</absolute>、５％ずつ変えて<percent>5</percent>、両方向に<deriveDirection>Both</deriveDirection>、３つ<numOfChild>3</numOfChild>の派生シンプトンを作成することを記述する。
シーケンス<name>Sequence</name>については、タイムフレームを１秒ずつ<absolute>1s</absolute>、１０％ずつ変えて<percent>10</percent>、両方向に<deriveDirection>Both</deriveDirection>３つ<numOfChild>3</numOfChild>の派生シンプトンを作成することを記述する。
シーケンス<name>Sequence</name>についてはまた、シーケンス順を指定する派生<order>Yes</order>、ランダム順を許す派生<random>Yes</random>を記述し、及び指定された複数のイベントの内、１つが指定されていない部分を派生する<missing>1</missing>ことを記述する。
閾値<name>Threshold</name>については、タイムフレームを１秒ずつ<absolute>1s</absolute>、１０％ずつ変えて<percent>10</percent>、両方向に<deriveDirection>Both</deriveDirection>３つ<numOfChild>3</numOfChild>の派生シンプトンを作成することを記述する。
閾値<name>Threshold</name>についてはまた、閾値を１０ずつ<absolute max=“100” min = “50”>10</absolute>、１０％ずつ変えて<percent>10</percent>、両方向に３つ<numOfChild>3</numOfChild>の派生シンプトンを作成し、最大値は１００であり且つ最小値は５０であること<absolute max=“100” min = “50”>を記述する。
【００５０】
図１０は、本発明の実施態様である、派生シンプトンの評価データを求める例を示す。
図１０Ａでは、親シンプトンのルールが或るログ・ファイル中のイベントとマッチしている場合に、解析モジュール（６０２）が、親シンプトンよりも前に検出されている派生シンプトンを該ログ・ファイルに適用して、評価データを得る。その結果、派生シンプトン  Symptom001_1のルールは該ログ・ファイル中のイベントとマッチしている。しかし、派生シンプトン  Symptom001_2及びSymptom001_3のルールは該ログ・ファイル中のイベントとマッチしない。従って、派生シンプトン  Symptom001_1は、その他の派生シンプトン  Symptom001_2及びSymptom001_3と比べてより精度の高い予兆シンプトンであると評価される。
図１０Ｂでは、親シンプトンのルールが或るログ・ファイル中のイベントについて誤検出をしている場合に、解析モジュール（６０２）が、派生シンプトンを該誤検出のログ・ファイルに適用する。その結果、派生シンプトン  Symptom001_1のルールは該ログ・ファイル中のイベントとマッチする。しかし、派生シンプトン  Symptom001_2及びSymptom001_3のルールは該ログ・ファイル中のイベントとマッチしない。従って、派生シンプトン  Symptom001_2及びSymptom001_3は、親シンプトンによって誤検出の上記ログ・ファイルを検出していないことから、その他の派生シンプトン  Symptom001_1よりも精度の高いシンプトンであると評価される。
図１０Ｃでは、親シンプトンのルールが或るログ・ファイル中のイベントについて未検出をしている場合に、解析モジュール（６０２）が、派生シンプトンを該未検出のログ・ファイルに適用する。その結果、派生シンプトン  Symptom001_1のルールは該ログ・ファイル中のイベントとマッチしない。すなわち、派生シンプトン  Symptom001_1は、該ログ・ファイルを検出しない。しかし、派生シンプトン  Symptom001_2及びSymptom001_3のルールは該ログ・ファイル中のイベントとマッチしている。すなわち、派生シンプトン  Symptom001_2及びSymptom001_3はそれぞれ、該ログ・ファイルを検出している。従って、派生シンプトン  Symptom001_2及びSymptom001_3は、親シンプトンによって未検出の上記ログ・ファイルを検出していることから、その他の派生シンプトン  Symptom001_1よりも精度の高いシンプトンであると評価される。
【００５１】
図１１は、本発明の実施態様である、派生シンプトンの評価の例を示す。
派生シンプトンの評価は例えば、予兆シンプトンとして使用できるかの評価、シンプトンの最適化評価を含む。
派生シンプトンが予兆シンプトンとして使用できるかの評価の第１の態様は例えば、或るログ・ファイルのイベントについて親シンプトンが抽出されるたびに行う。派生シンプトン評価モジュール（６１１）は、該ログ・ファイルに派生シンプトンを適用して、派生シンプトンが抽出される確率を集計する。そして、例えば親シンプトンが抽出される前に抽出された派生シンプトンについて、予兆シンプトンとして使用できるかを評価する。
派生シンプトンが予兆シンプトンとして使用できるかの評価の第２の態様は例えば、派生シンプトンの或るログ・ファイルについてのマッチ状況を時系列で評価する。例えば、マッチした派生シンプトンの組み合わせについて評価する。組み合わせは、例えば派生シンプトンＡ、Ｂ及びＣの順、派生シンプトンＡ、Ｃ及びＢの順である。
シンプトンの最適化評価の第１の態様は例えば、親シンプトンが誤検出したログ・ファイル（レコード）について、抽出されなかった派生シンプトンの確率を集計する。該評価は、親シンプトンの誤検出が通知された後に行われる。
シンプトンの最適化評価の第２の態様は例えば、親シンプトンが未検出だったログ・ファイル（レコード）について、抽出された派生シンプトンの確率を集計する。
次に、派生シンプトンを、予兆シンプトンとして採用した場合の影響について評価する。評価は例えば、確率を算出して行う。
該評価は、蓄積されているログ・ファイルに対して新規に採用する派生シンプトンで解析を行うことによって行われる。シンプトン最適化モジュール（６１４）は例えば、親シンプトンが発生しないのに予兆シンプトンがマッチしないか、未検出を是正する（すなわち緩くする）ことにより実際に抽出されるべき親シンプトン以外の親シンプトンによる誤検出がおきないか、誤検出を是正する（すなわち厳しくする）ことにより実際に抽出されるべき親シンプトンにより未検出がおきないか？について、上記マッチする確率、上記誤検出の確率、及び上記未検出の確率を算出する。
上記評価は、所定の評価ポリシーに従って行われる。評価ポリシーは例えば、どの程度の確率で前もって検知すれば予兆シンプトンとして採用するか、親シンプトンに対して正しい検出率がどの程度向上すれば予兆シンプトンとして採用するか、未検出又は誤検出の確率がどの程度以下なら採用するかを含む。評価ポリシーの例については、下記図１２の説明においてさらに詳しく述べる。
【００５２】
図１２は、本発明の実施態様である、評価ポリシー・カタログの例を示す。評価ポリシー・カタログは、評価ポリシーの集合体である。評価ポリシーの第１の態様は、シンプトンを評価するための１以上の指標の定義を含む。評価ポリシーの第２の態様は、シンプトンを評価するための１以上の指標を算出するアルゴリズムの定義を含む。評価ポリシーは、例えばＸＭＬで記述されるがこれに限定されない。
<incidence>80</incidence>及び<incidence>50</incidence>は、或るログ・ファイルに対して親シンプトンが検出される割合を記述する。<priority>50</priority>及び<priority>30</priority>は、親シンプトンが検出される割合に応じてアクションのプライオリティを変えることを記述する。<condition>〜</condition>内は、親シンプトンに比べて、誤検出率又は未検出率がどの程度向上していればよいかを記述する。<mismatch><operator>LT</operator><percent>5</percent></mismatch>は、派生シンプトンによる誤検出率が５％以下のときという条件を記述する。<nomatch><operator>LT</operator></nomatch>は、派生シンプトンによる未検出率が、少しでも改善されたことを条件とすることを記述する。
<validate>〜</validate>内は、派生シンプトンを予兆シンプトンとして採用するための絶対条件を記述する。<mismatch><operator>LT</operator><value>10</value></mismatch>は、派生シンプトンによる誤検出率が親シンプトンに比べて１０％改善されていれば、派生シンプトンを予兆シンプトンとして或いは条件の厳しい派生シンプトンとして採用することを記述する。<nomatch><operator>LT</operator><value>10</value></nomatch>は、派生シンプトンの未検出率について、１０％改善されていれば、派生シンプトンを予兆シンプトンとして或いは条件の緩い派生シンプトンとして採用することを記述する。
【００５３】
図１３は、本発明の実施態様である、派生シンプトンの例（その１）を示す。
親シンプトン（１３０１）は、１、２、３、４及び５の順からなるイベント・パターンを検出する。派生シンプトン作成モジュール（６０８）は、親シンプトン（１３０１）に基づいて、派生ポリシー（６０９）に従い、上記イベント・パターンのシーケンスの一部分が一致するものを検出する派生シンプトンを作成する。派生シンプトンの例が、派生シンプトン１３０２、１３０３、１３０４及び１３０５である。
派生シンプトン（１３０２）のルールは、３、４及び５の順からなるイベント・パターンを検出する。派生シンプトン（１３０３）のルールは、２、３及び４の順からなるイベント・パターンを検出する。派生シンプトン（１３０４）のルールは、１、２及び３の順からなるイベント・パターンを検出する。派生シンプトン（１３０５）のルールは、２、３及び５の順からなるイベント・パターンを検出する。
親シンプトン（１３０１）が或るログ・レコードについてマッチした場合、解析モジュール（６０２）は、派生シンプトン（１３０２〜１３０５）が該ログ・レコードについてどの程度検出しうるのかを収集し、統計を取る。シンプトン最適化モジュール（６１４）は、該統計値によってどの派生シンプトンが親シンプトン（１３０１）の発生条件（確率）となるかを検出することが可能になる。そして、シンプトン最適化モジュール（６１４）は派生シンプトンを評価ポリシー（６１３）に従って評価し、該評価に従い、派生シンプトンを予兆シンプトンして使用するかどうかを決定する。そして、該予兆シンプトンをログ・レコードに適用して、該予兆シンプトンがログ・レコードについてマッチした場合、親シンプトンが該ログ・レコードについてマッチすると予測することが可能である。該予測に従い、コンピュータ・システムは、管理者に警告、通知をおこなう。
【００５４】
図１４は、本発明の実施態様である、派生シンプトンの例（その２）を示す。
親シンプトン（１４０１）は、或るイベント間のタイムウィンドウが３０秒以上であるイベント・パターンを検出する。派生シンプトン作成モジュール（６０８）は、親シンプトン（１１０１）に基づいて、派生ポリシー（６０９）に従い、タイムフレームの長さの異なるものを検出する派生シンプトンを作成する。派生シンプトンの例が、派生シンプトン１２０２、１２０３及び１２０４である。
派生シンプトン（１４０２）のルールは、或るイベント間のタイムウィンドウが１５秒以上であるイベント・パターンを検出する。派生シンプトン（１４０３）のルールは、或るイベント間のタイムウィンドウが２０秒以上であるイベント・パターンを検出する。派生シンプトン（１４０４）のルールは、或るイベント間のタイムウィンドウが２５秒以上であるイベント・パターンを検出する。
解析モジュール（６０２）は、親シンプトン（１４０１）が或るログ・レコードについてマッチする状況と、派生シンプトン（１４０２〜１４０４）が該ログ・レコードについてマッチする状況との関連を収集する。そして、派生シンプトン（１４０２）、派生シンプトン（１４０３）、そして派生シンプトン（１４０４）の順で上記ログ・レコードにマッチする場合、シンプトン最適化モジュール（６１４）は、親シンプトンが高い確率で該ログ・レコードについてマッチすると予測することが可能である。そこで、シンプトン最適化モジュール（６１４）は、派生シンプトン（１４０２〜１４０４）を予兆シンプトンとする。
【００５５】
図１５は、本発明の実施態様である、派生シンプトンの例（その３）を示す。
親シンプトンは、イベント・パターン［１．．．Ｎ］が、タイムウィンドウＸ以内に発生したことを検出する。タイムウィンドウＸの値は、閾値として用いられる。派生シンプトン作成モジュール（６０８）は、親シンプトン（１３０１）に基づいて、派生ポリシー（６０９）に従い、イベント・パターン［１．．．Ｎ−１］を検出する派生シンプトンを作成する。
イベント・パターン（１５０１、１５０４、１５０５、１５０６）では、閾値Ｘまでに、イベントＮは到来していない。よって、親シンプトンのルールは、イベント・パターン（１５０１、１５０４、１５０５、１５０６）を検出することができない。
イベント・パターン（１５０２、１５０３）では、閾値Ｘまでに、イベントＮは到来している。よって、親シンプトンのルールは、イベント・パターン（１５０２、１５０３）を検出することができる。
ここで、イベント・パターン［１．．．Ｎ］が閾値Ｘ以内に発生していなくとも、問題が生じる場合がある。例えば、問題がシステムに由来するものであり、システムの動作環境、例えばＣＰＵパワー、ユーザ操作などによって、検出したい問題の発生条件にばらつきがでる場合がある。そこで、イベント  Ｎが来ない場合であっても、イベント・パターン［１．．．Ｎ−１］を検出できるように閾値Ｘを変更することで、上記問題を検出することが可能になりうる。そこで、親シンプトンに基づいて、閾値を変更した派生シンプトンを生成する。上記閾値の変更によって、イベント・パターン（１５０１）では、閾値Ｘまでに、イベントＮ−１が到来しているため、派生シンプトンのルールは、イベント・パターン（１５０１）を検出することができる。
図１５では、閾値の例をのべたが、発生回数の変化、タイムフレームの長さの変化についても同様である。
【００５６】
図１６は、本発明の実施態様である、親シンプトンの作成、初期定義、派生シンプトンの自動作成、派生シンプトンの評価データの収集、派生シンプトンの評価、更新されたシンプトンによる運用（派生シンプトンの最適化）、派生ポリシーの更新のフローを示す。
初期定義のステップは、親シンプトンを定義することを含む。また、初期定義のステップはさらに、本発明の実施態様である親シンプトンの編集を含む。親シンプトンの編集は、図７の説明において述べたとおりである。
派生シンプトンを自動生成するステップは、親シンプトンに基づいて、派生ポリシーに従って派生シンプトンを作成するステップを含む。派生シンプトンの自動作成は、図８の説明において述べたとおりである。派生ポリシーは、図９の説明において述べたとおりである。
派生シンプトンの評価データを収集するステップは、図１０の説明において述べたとおりである。
派生シンプトンを評価するステップは、図１１の説明において述べたとおりである。派生シンプトンのうち、予兆シンプトンとして採用された派生シンプトンは、親シンプトンとともに又は親シンプトンと置き換わって、所定の問題に関連するイベントの集合を検出するために使用されうる。また、派生シンプトンのうち、誤検出及び未検出のいずれかの精度を高めた派生シンプトンは、親シンプトンとともに又は親シンプトンと置き換わって、所定の問題に関連するイベントの集合を検出するために使用されうる。以上のようにして、問題判別システムは、更新されたシンプトンを用いて引き続き運用される。一方、派生シンプトンのうち、評価結果によっては、効果のない、すなわち精度の低い派生シンプトンが派生シンプトン・データベース（６１０）から削除される。
引き続き、シンプトン最適化モジュール（６１４）は、派生ポリシーが有効であるかどうかを判断する。評価結果に基づき、必要に応じて派生ポリシーが更新される。
【００５７】
図１７は、本発明の実施態様である、評価結果により派生ポリシーの修正（その１）を示す。
図１７は、派生ポリシーを予兆シンプトンとして使用できるかどうかを評価する例である。
適切な派生では、親シンプトンのルールが或るログ・ファイルのイベント・パターンを検出する割合（又は発生率）と、派生シンプトンのルールが該ログ・ファイルのイベント・パターンを検出する割合（又は発生率）とが、類似過ぎずかつ疎遠すぎない。図１７に示すように、適切な派生では、上記派生シンプトンの上記割合（又は発生率）がほぼ一定に変化している。
適切でない派生では、親シンプトンのルールが或るログ・ファイルのイベント・パターンを検出する割合（又は発生率）と、派生シンプトンのルールが該ログ・ファイルのイベント・パターンを検出する割合（又は発生率）とが、類似過ぎるか、又は疎遠すぎる。類似過ぎるとは例えば、親シンプトンの上記割合（又は発生率）と派生シンプトンの上記割合（又は発生率）が、ほぼ変わらない場合である。疎遠過ぎるとは例えば、親シンプトンの上記割合（又は発生率）と派生シンプトンの上記割合（又は発生率）が大きく異なる場合である。
【００５８】
図１８は、本発明の実施態様である、評価結果により派生ポリシーの修正（その２）を示す。
図１８は、派生ポリシーをさらに評価する必要があるかを評価する例である。
親シンプトンのルールが或るログ・ファイルのイベント・パターンを正しく検出する割合（又は検出率）を基準として、左右に派生シンプトンが位置する場合を考える。親シンプトンに対して左側に派生シンプトンが位置する場合、該派生シンプトンは親シンプトンよりも上記割合（又は検出率）が高い。従って、シンプトン最適化モジュール（６１４）は、さらに上記割合（又は検出率）を有する派生シンプトンがないかどうかを確認するために、さらに派生シンプトンを評価する。一方、親シンプトンに対して右側に派生シンプトンが位置する場合、該派生シンプトンは親シンプトンよりも上記割合（又は検出率）が低い。従って、シンプトン最適化モジュール（６１４）は、さらに派生シンプトンを評価しない。
【００５９】
本発明の実施形態は特にオートノミック・コンピューティング分野に適用されるが、該分野に限定されるものではない。また、本発明の実施形態は例えば、サン・マイクロシステムズ株式会社のN1 Grid、ヒューレット・パッカード社のAdaptive Infrastructure、日本電気株式会社のVALUMO、株式会社日立製作所のHarmonious Computing、富士通株式会社のTRIOLEと称されるコンピュータ自体で自己管理させる環境に適用しうる。
【００６０】
本発明の実施態様によれば、コンピュータ・システムが、シンプトン・データベース内の既存のシンプトンに基づいて新たなシンプトンを動的に作成する。そして、該コンピュータ・システムは、該新たなシンプトンを評価する。その結果、該コンピュータ・システムは、精度の高いシンプトンをシンプトン・データベース内に動的に追加することが可能になる。
【００６１】
本発明の実施態様で使用するコンピュータ・システムは典型的には、ＣＰＵ、メインメモリを有し、これらはバスに接続されている。該バスに、ディスプレイ・コントローラを介して、ＬＣＤモニターなどの表示装置が接続されている。また、該バスに、ディスプレイ・コントローラを介して、ＬＣＤモニターなどの表示装置が接続されている。また、該バスに、ＩＤＥ、ＳＡＴＡまたはＵＳＢコントローラを介して、記憶装置、例えばハードディスク、シリコンディスク、ＣＤ、ＤＶＤ又はＢＤの各種ドライブが接続されている。
【図面の簡単な説明】
【００６２】
【図１】問題判別システムの概念図を示す。
【図２】ログ・ファイルをＣＢＥに変換する例を示す。
【図３】シンプトンによりＣＢＥを解析する例を示す。
【図４】既存の問題判別システムの実施態様の例を示す。
【図５】評価を入力する画面の例を示す。
【図６】本発明の実施態様であるコンピュータ・システムの例を示す。
【図７】シンプトン・データベースに格納されたシンプトンを編集することを示す。
【図８】本発明の実施態様である、派生シンプトンの作成を示す。
【図９】本発明の実施態様である、派生ポリシー・カタログの例を示す。
【図１０】本発明の実施態様である、派生シンプトンの評価データを求める例を示す。
【図１１】本発明の実施態様である、派生シンプトンの評価の例を示す。
【図１２】本発明の実施態様である、評価ポリシー・カタログの例を示す。
【図１３】本発明の実施態様である、派生シンプトンの例（その１）を示す。
【図１４】本発明の実施態様である、派生シンプトンの例（その２）を示す。
【図１５】本発明の実施態様である、派生シンプトンの例（その３）を示す。
【図１６】本発明の実施態様である、派生シンプトンの作成、派生シンプトンの評価、派生シンプトンによるシンプトンの最適化、派生ポリシーの修正のフローを示す。
【図１７】本発明の実施態様である、評価結果により派生ポリシーの修正（その１）を示す。
【図１８】本発明の実施態様である、評価結果により派生ポリシーの修正（その２）を示す。
【図１】
0005240709.tif 000002
【図２】
0005240709.tif 000003
【図３】
0005240709.tif 000004
【図４】
0005240709.tif 000005
【図５】
0005240709.tif 000006
【図６】
0005240709.tif 000007
【図７】
0005240709.tif 000008
【図８】
0005240709.tif 000009
【図９】
0005240709.tif 000010
【図１０】
0005240709.tif 000011
【図１１】
0005240709.tif 000012
【図１２】
0005240709.tif 000013
【図１３】
0005240709.tif 000014
【図１４】
0005240709.tif 000015
【図１５】
0005240709.tif 000016
【図１６】
0005240709.tif 000017
【図１７】
0005240709.tif 000018
【図１８】
0005240709.tif 000019