(57)【特許請求の範囲】
【請求項１】
所定の問題に関連するイベントの集合を検出するためのルールを含むシンプトンの検証を可能にするためのコンピュータ・システムであって、
シンプトンを格納するシンプトン・データベースと、
あるシンプトンのルールにより検出されるイベントの集合を含む標本を格納する標本データベースと、
新規シンプトンを前記シンプトン・データベースに追加するかどうかを判断するために、該新規シンプトンにより前記標本データベースに格納された標本を解析する解析部と
を含む、前記コンピュータ・システム。
【請求項２】
前記標本が、あるシンプトンのルールにより検出されるイベントの集合を含む第１の標本と、前記第１の標本をサブセットとして含む第２の標本とを含む、請求項１に記載のコンピュータ・システム。
【請求項３】
前記第１の標本が、前記あるシンプトンのルールにより検出されるイベントの集合のみからなる、請求項２に記載のコンピュータ・システム。
【請求項４】
前記解析部が、前記新規シンプトンにより前記標本データベースに格納された前記第１の標本を解析し、かつ前記シンプトン・データベースに格納された前記シンプトンにより前記新規シンプトンのルールにより検出されるイベントの集合を含む新規標本を解析する、請求項２に記載のコンピュータ・システム。
【請求項５】
前記第１の標本の解析によって、前記新規シンプトンのルールにより検出されるイベントの集合を含む第１の標本がヒットし、及び前記新規標本の解析によって、該新規標本がヒットし、並びに前記ヒットした前記第1の標本のイベントの集合と前記新規標本のイベントの集合が合致することに応じて、前記新規シンプトンが前記シンプトン・データベースに格納された前記シンプトンと重複していることを提示する、請求項４に記載のコンピュータ・システム。
【請求項６】
前記解析部が、前記新規シンプトンにより前記標本データベースに格納された前記第２の標本を解析することをさらに含む、請求項２に記載のコンピュータ・システム。
【請求項７】
前記第２の標本の解析によって、前記新規シンプトンのルールにより検出されるイベントの集合を含む第２の標本を提示する、請求項６に記載のコンピュータ・システム。
【請求項８】
前記解析部が、前記シンプトン・データベースに格納されたシンプトンにより前記新規標本を解析することをさらに含む、請求項２に記載のコンピュータ・システム。
【請求項９】
前記新規標本の解析によって、前記新規標本をヒットするルールを含むシンプトンを提示する、請求項８に記載のコンピュータ・システム。
【請求項１０】
前記イベントがメッセージ識別子によって特定される、請求項１に記載のコンピュータ・システム。
【請求項１１】
前記解析の結果を提示する表示装置をさらに含む、請求項１に記載のコンピュータ・システム。
【請求項１２】
所定の問題に関連するイベントの集合を検出するためのルールを含むシンプトンの検証を可能にする方法において、コンピュータ・システムに、下記ステップを実行させる方法であって
シンプトンを格納するシンプトン・データベースを用意するステップと、
あるシンプトンのルールにより検出されるイベントの集合を含む標本を格納する標本データベースを用意するステップと、
新規シンプトンを前記シンプトン・データベースに追加するかどうかを判断するために、該新規シンプトンにより前記標本データベースに格納された標本を解析するステップと
を含む、前記方法。
【請求項１３】
前記標本が、あるシンプトンのルールにより検出されるイベントの集合を含む第１の標本と、前記第１の標本をサブセットとして含む第２の標本を含む、請求項１２に記載の方法。
【請求項１４】
前記第１の標本が、前記あるシンプトンのルールにより検出されるイベントの集合のみからなる、請求項１３に記載の方法。
【請求項１５】
前記解析するステップが、前記新規シンプトンにより前記標本データベースに格納された前記第１の標本を解析し、かつ前記シンプトン・データベースに格納された前記シンプトンにより前記新規シンプトンのルールにより検出されるイベントの集合を含む新規標本を解析するステップを含む、請求項１３に記載の方法。
【請求項１６】
前記第１の標本の解析によって、前記新規シンプトンのルールにより検出されるイベントの集合を含む第１の標本がヒットし、及び前記新規標本の解析によって該新規標本がヒットし、並びに前記ヒットした前記第1の標本のイベントの集合と前記ヒットした前記新規標本のイベントの集合が合致することに応じて、前記新規シンプトンが前記シンプトン・データベースに格納された前記シンプトンと重複していることを提示するステップを含む、請求項１５に記載の方法。
【請求項１７】
前記解析するステップが、前記新規シンプトンにより前記標本データベースに格納された前記第２の標本を解析するステップをさらに含む、請求項１３に記載の方法。
【請求項１８】
前記第２の標本の解析によって、前記新規シンプトンのルールが前記第２の標本にどれだけヒットするかを提示するステップをさらに含む、請求項１７に記載の方法。
【請求項１９】
前記解析するステップが、前記シンプトン・データベースに格納されたシンプトンにより前記新規標本を解析するステップをさらに含む、請求項１３に記載の方法。
【請求項２０】
前記新規標本の解析によって、前記シンプトン・データベースに格納されたシンプトンのルールが前記新規標本にどれだけヒットするかを提示するステップをさらに含む、請求項１９に記載の方法。
【請求項２１】
前記イベントがメッセージ識別子によって特定される、請求項１２に記載の方法。
【請求項２２】
前記解析の結果を提示するステップをさらに含む、請求項１２に記載の方法。
【請求項２３】
所定の問題に関連するイベントの集合を検出するためのルールを含むシンプトンの検証を可能にするコンピュータ・プログラムであって、コンピュータ・システムに、請求項１２〜２２のいずれか一項に記載のステップを実行させることを含む、前記コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シンプトン（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は、シンプトンの蓄積を容易にするツールを含む。ＩＴ環境で発生する多くの問題には、解決方法が既に存在する。現在はその解決方法の大半を手作業で、時間と労力とをかけて解析している。しかし、該ツールキットで提供されるツールを利用することで、問題とその解決方法に関する情報を簡単に追跡することができ、既知の情報をシンプトン・カタログとして公開することが可能になる（下記非特許文献３を参照）。管理対象の製品が、導入ないしは運用の際にこのシンプトン・カタログに自動的にアクセスするので、問題の有効な解決方法の特定に必要な時間及び労力が大幅に削減される。
【０００５】
【非特許文献１】An architectural blueprint for autonomic computing, third Edition、IBM、２００５年６月、下記ＵＲＬから入手可能＜http://www-03.ibm.com/autonomic/pdfs/AC%20Blueprint%20White%20Paper%20V7.pdf＞。
【非特許文献２】ＡＣ問題判別ツール概説、−Build to Manage Toolkit for Problem determinationのご紹介−  日本アイ・ビー・エム株式会社、２００６年１１月２２日。
【非特許文献３】オートノミック・テクノロジー解説、−ＡＣを支える最新テクノロジー（ＣＢＥ、ＣＥＩ、シンプトン）のご紹介−  日本アイ・ビー・エム株式会社、２００６年１１月２２日。
【非特許文献４】Brent A. Miller、The autonomic computing edge: The role of knowledge in autonomic systems、２００５年９月１３日、下記ＵＲＬから入手可能＜http://www.ibm.com/developerworks/autonomic/library/ac-edge6/＞、日本語訳（オートノミック・コンピューティングの最新動向: オートノミックシステムでのナレッジの役割）は、下記ＵＲＬから入手可能＜http://www.ibm.com/developerworks/jp/autonomic/library/ac-edge6/＞。
【非特許文献５】J. Clerk and Steve DeRose、XMLPath Language (XPath), version 1.0、１９９６年１１月１６日、下記ＵＲＬから入手可能＜http://www.w3.org/TR/xpath＞。
【非特許文献６】Symptoms Reference specification version 2.0、IBM、２００６年、下記ＵＲＬから入手可能＜http://download.boulder.ibm.com/ibmdl/pub/software/dw/opensource/btm/SymptomSpec_v2.0.pdf＞。
【非特許文献７】Marcelo Perazolo、Symptoms deep dive, Part 1: The autonomic computing symptoms format−Know thy symptoms, heal thyself、２００５年１０月１８日、下記ＵＲＬから入手可能＜http://www.ibm.com/developerworks/autonomic/library/ac-symptom1/?S_TACT=105AGX90&S_CMP=content＞、日本語訳（シンプトン（症状）の深層を探る、第1回:オートノミック・コンピューティングのシンプトン・フォーマット−シンプトンを知らば、自ずから治癒されん）は、下記ＵＲＬから入手可能＜http://www.ibm.com/developerworks/jp/autonomic/library/ac-symptom1/＞。
【非特許文献８】Marcelo Perazolo、Symptoms deep dive, Part 2: Cool things you can do with symptoms−Use common scenarios and patterns for increased autonomic computing、２００５年１２月１３日、下記ＵＲＬから入手可能＜http://www.ibm.com/developerworks/autonomic/library/ac-symptom2/?S_TACT=105AGX90&S_CMP=content＞、日本語訳（シンプトン(症状)の深層を探る、第2回:シンプトンによって可能となる素敵なこと−オートノミック・コンピューティングを促進するために、一般的なシナリオとパターンを使う）は、下記ＵＲＬから入手可能＜http://www.ibm.com/developerworks/jp/autonomic/library/ac-symptom2/＞。
【非特許文献９】Marcelo Perazolo、Symptoms deep dive, Part 3: Classify your symptoms−Introducing a standard taxonomy of autonomic computing symptoms to help identify situation categories、２００６年３月２日、下記ＵＲＬから入手可能＜http://www.ibm.com/developerworks/autonomic/library/ac-symptom3/?S_TACT=105AGX90&S_CMP=content＞、日本語訳（シンプトン(症状)の深層を探る、第3回:シンプトンを分類する−状況のカテゴリー分けに利用される、オートノミック・コンピューティングにおける標準的なシンプトン分類法を紹介する）は、下記ＵＲＬから入手可能＜http://www.ibm.com/developerworks/jp/autonomic/library/ac-symptom3/＞。
【非特許文献１０】Kalpana Doraisamy、Ajay G Rengasayee、Abdi Salahshour、Symptomatic event visualizer, Part 1: Challenges in data collection−How can a common event format and a symptom repository help address the complexity of business IT?、２００７年６月１９日、下記ＵＲＬから入手可能＜http://www.ibm.com/developerworks/autonomic/library/ac-ltavisual1/?S_TACT=105AGX90&S_CMP=content＞、日本語訳（シンプトン・イベント・ビジュアライザー: データ収集における課題−共通イベント・フォーマットとシンプトン・リポジトリーでビジネス IT の複雑さに対処する）は、下記ＵＲＬから入手可能＜http://www.ibm.com/developerworks/jp/autonomic/library/ac-ltavisual1/＞。
【非特許文献１１】Jennifer Bloom、LTA for multievent software problem analysis−Using the Log and Trace Analyzer to help diagnose software problems when they span multiple systems、２００７年２月２０日、下記ＵＲＬから入手可能＜http://www.ibm.com/developerworks/library/ac-ltaanalyze/＞、日本語訳（Log Trace Analyzer（ＬＴＡ）によるマルチイベント・ソフトウェア問題の分析−ログ＆トレース・アナライザーを利用して複数システムに及ぶソフトウェアの問題を診断する）は、下記ＵＲＬから入手可能＜http://www.ibm.com/developerworks/jp/autonomic/library/ac-ltaanalyze/＞。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
問題判別技法（Problem Determination Solution）の分野では、図１に示すようなシンプトンによる問題判別システムが実運用され、多くのシンプトンが蓄積されてきている。シンプトンは、所定の問題に関連するイベントの集合を検出するためのルールを含む。しかし、シンプトンを際限なく登録、追加していくことは、シンプトンを保管する記録媒体の容量の問題、或いはセキュリティないしはコンプライアンス上の問題から、現実的には困難である。さらに、シンプトンの増加に伴い、不正なシンプトンが多く混入してしまう事態が危惧されている。例えば、シンプトンが重複定義されているために、実際には一種類の問題しか起きていなくても複数のシンプトンが抽出される。或いは、シンプトンのルールが緩い、すなわち精度が低いことによって関連のないシンプトンが抽出される（すなわち、誤検知がおきる）。しかし、利用者は、シンプトンの重複定義ないしは誤検知を判別することができない。そこで、例えば、シンプトンの重複定義の排除或いは精度の低いシンプトンを排除するために、シンプトンを検証する仕組みが必要とされている。特に、新たに作成したシンプトン（以下、新規シンプトン）をデータベースに追加する際に、該シンプトンを検証する仕組みが必要である。
【課題を解決するための手段】
【０００７】
本発明は、所定の問題に関連するイベントの集合を検出するためのルールの記述を含むシンプトンの検証を可能にするためのコンピュータ・システムを提供する。該コンピュータ・システムは、オートノミック・コンピューティングを実現するサーバ・コンピュータそれ自体又は該サーバ・コンピュータに関連付けられたコンピュータであってよい。該コンピュータ・システムは、シンプトンを格納するシンプトン・データベースと、あるシンプトンのルールにより検出されるイベントの集合を含む標本を格納する標本データベースと、新規シンプトンを上記シンプトン・データベースに追加するかどうかを判断するために、該新規シンプトンにより上記標本データベースに格納された標本を解析する解析部とを含む。該解析の結果は、上記コンピュータ・システムに接続された表示装置上に提示される。
【０００８】
さらに、本発明は、所定の問題に関連するイベントの集合を検出するためのルールの記述を含むシンプトンの検証を可能にする方法を提供する。該方法は、コンピュータ・システムに、下記ステップを実行させる方法を含み、該コンピュータ・システムは、オートノミック・コンピューティングを実現するサーバ・コンピュータそれ自体又は該サーバ・コンピュータに関連付けられたコンピュータであってよい。上記ステップは、シンプトンを格納するシンプトン・データベースを用意するステップと、あるシンプトンのルールにより検出されるイベントの集合を含む標本を格納する標本データベースを用意するステップと、新規シンプトンを上記シンプトン・データベースに追加するかどうかを判断するために、該新規シンプトンにより上記標本データベースに格納された標本を解析するステップとを含む。上記ステップは好ましくは、上記解析の結果を提示するステップをさらに含む。
【０００９】
さらに、本発明は、所定の問題に関連するイベントの集合を検出するためのルールの記述を含むシンプトンの検証を可能にするコンピュータ・プログラムを提供する。該コンピュータ・プログラムは、上記コンピュータ・システムに、上記ステップを実行させる。該コンピュータ・プログラムは、磁気ディスク、光ディスク、半導体メモリ、そのほかの記録媒体に格納して配布され、或いはネットワークを介して提供されうる。
【００１０】
好ましくは、上記標本が、あるシンプトンのルールにより検出されるイベントの集合を含む第１の標本と、上記第１の標本をサブセットとして含む第２の標本とを含む。特に好ましくは、上記第１の標本が、あるシンプトンのルールにより検出されるイベントの集合のみからなる。
【００１１】
本発明は特にオートノミック・コンピューティング分野において用いられるが、該分野に限定されるものではない。また、本発明は例えば、サン・マイクロシステムズ株式会社のN1 Grid、ヒューレット・パッカード社のAdaptive Infrastructure、日本電気株式会社のVALUMO、株式会社日立製作所のHarmonious Computing、富士通株式会社のTRIOLEと称されるコンピュータ自体で自己管理させる環境においても用いられうる。
【発明の効果】
【００１２】
本発明によれば、シンプトンを検証すること、例えばシンプトンの重複定義を検証すること或いはシンプトンのルールの精度を高めることが可能となる。その結果、シンプトンによる問題判別システムの実効性が高められ、イベントに対する的確な診断結果をユーザに戻すことが可能になる。
【発明を実施するための最良の形態】
【００１３】
本発明に関する基本的な用語を下記に説明する。
・イベント
システム・リソース、ネットワーク・リソース又はネットワーク・アプリケーションなどの監視対象リソースの状態の変化である。イベントは、問題、問題の解決又はタスクの正常な完了によって発生することもある。具体的には、ハードウェア又はソフトウェアの故障、停止、性能のボトルネック、ネットワーク構成の不整合、設計不十分による意図せざる結果、コンピュータ・ウィルス等の悪意による被害などを含む。イベントの具体例の一つは、メモリ使用量が閾値を超えたことである。
・コモン・ベース・イベント（Common Base Event）
ある状態の結果として送られ、その後で企業管理アプリケーション又はビジネス・アプリケーションで使用されるイベントの構造を示す標準の形式及びコンテンツの仕様である。ＩＢＭ（商標）は、共通ログ・フォーマットであるコモン・ベース・イベント（ＣＢＥ）を策定し、ＣＢＥが、標準化団体であるOASIS（Organization for the Advancement of Structured Information Standards）によってログ・フォーマットの標準として採択されている。コモン・ベース・イベントには、ロギング、トレース、管理、及びビジネスのイベントがある。ＣＢＥにおいて、データはＸＭＬで表現されうる。
・ナレッジ（knowledge）
オートノミック・コンピューティング・システムでのナレッジは、プロセス、特に自動化が可能なプロセスを実行するために使用される構造化データ又は構造化情報であれば、ほとんどどんなものでも該当しうる。オートノミック・コンピューティング・システムではナレッジに関するスコープが広いため、ナレッジに含まれるものとして、ログ・ファイルに保存されるデータ、管理エンドポイント（タッチポイント）或いはプロセスに関する状態データ、システムに変更を加えられる時期に関するスケジュール・データまである。ナレッジのタイプとして、例えばソリューション・トポロジー・ナレッジ（例えば、インストール可能ユニット記述子（installable unit descriptor）、ポリシー・ナレッジ、問題判別ナレッジ（例えば、監視対象のデータ又はシンプトン）がある。ナレッジの一般的な形式であるPrologプログラムは、ある主題に関する事実とルールの集合である。オートノミック・コンピューティング・システムにおいて、ナレッジは、オートノミック・マネージャーが使用できるように、ある標準の形式で表現されうる。ナレッジの詳細は、Brent A. Miller、The autonomic computing edge: The role of knowledge in autonomic systems、２００５年９月１３日（上記非特許文献４）を参照されたい。
・シンプトン（symptom）
シンプトンは、ナレッジの形式の１つであり、１つ以上の管理対象リソースに関する、起こりうる問題又は診断状況を示すデータである。シンプトンは、大きくは３つの構成要素、すなわちシンプトン定義、シンプトン・ルール、シンプトン効果を含む。シンプトン定義は、シンプトンの一般情報（メタデータ）を定義する。シンプトン定義は、ＸＰＡＴＨ表現（J. Clerk and Steve DeRose、XML Path Language(XPath), version 1.0、１９９６年１１月１６日、上記非特許文献５）、正規表現、決定木、依存関係グラフ、Ｐｒｏｌｏｇ述部、ＡＣＴパターン、ＴＥＣルール、又はニューラル・ネットワークを利用して記述しうる。シンプトン・ルールは、所定の問題に関連するイベントの集合を検出するためのルールである。シンプトン・ルールは、ＸＰＡＴＨ表現（上記非特許文献５）などを利用して、或いはプログラム（例えば、Symptoms Reference Specification version 2.0、IBM、２００６年、上記非特許文献６）を利用して記述しうる。シンプトン効果は、問題が起こった際に取るべきアクション、必要に応じて該アクションの詳細な説明などを記述する。シンプトンを使用することによって、トリガーとなるイベントの集合、及びイベントの集合のパターンを検出できる。該パターンの例は、イベントの１対１の突き合わせ、複数のイベント（マルチ・イベント）、イベントの出現回数、イベントの順序（イベント・シークエンス）、イベントのタイムフレーム、イベントが出現しないことを検出、及びそれらの組み合わせである。シンプトンは、ＭＡＰＥループのモニタリングに内部において識別され及びアナライジングで使用される。オートノミック・マネージャーは、シンプトン・カタログを利用して、モニタリング内部で、イベントとシンプトンの関連付けを行う。シンプトンは、監視機能、例えばオートノミック・マネージャーが、コモン・ベース・イベントなど監視対象のデータを相関させることによって作る。シンプトンは好ましくは、ＸＭＬで表現される（例えば、上記非特許文献２、第３７頁を参照）。シンプトンの詳細は、下記ＵＲＬで特定される文書に記載されている。
１．Marcelo Perazolo、Symptoms deep dive, Part 1: The autonomic computing symptoms format−Know thy symptoms, heal thyself、２００５年１０月１８日（上記非特許文献７）
２．Marcelo Perazolo、Symptoms deep dive, Part 2: Cool things you can do with symptoms−Use common scenarios and patterns for increased autonomic computing、２００５年１２月１３日（上記非特許文献８）
３．Marcelo Perazolo、Symptoms deep dive, Part 3: Classify your symptoms−Introducing a standard taxonomy of autonomic computing symptoms to help identify situation categories、２００６年３月２日（上記非特許文献９）
イベントとシンプトンとの関係は以下の通りである。イベントは、監視対象リソースの状態の変化（例えば、メモリ使用量が５１２Ｍになった）である。シンプトンは、起こりうる問題又は診断状況を示すデータである。よって、イベントx（及びイベントy、（及びイベント...））が一定の条件の下で発生した場合の起こりうる問題又は診断状況は、例えばメモリ不足、又はメモリ使用量が設定したリミットを１０分間に３回超えたことである。そして上記その問題又は診断状況の際にとるべきアクションは、例えばバッファーサイズを増やすことである（上記非特許文献１０を参照）。イベントとシンプトンとの関係については、Jennifer Bloom、LTA for multievent software problem analysis−Using the Log and Trace Analyzer to help diagnose software problems when they span multiple systems、２００７年２月２０日（上記非特許文献１１）も参照されたい。
・オートノミック
オートノミックとは、問題、セキュリティ脅威、及びシステム障害に対して自律的なことをいう。
・オートノミック・コンピューティング
オートノミック・コンピューティングとは、自らを管理し、ビジネス・ポリシー或いはビジネスの目標に併せて、変化に動的に適応することが可能なコンピューティングをいう。
・オートノミック・コンピューティング・システム
オートノミック・コンピューティング・システムとは、オペレーティング環境を検知し、その環境での動作をモデル化し、その環境又は動作を変更するアクションを行うコンピューティング・システムである。オートノミック・コンピューティング・システムには、自己構成、自己修復、自己最適化、及び自己防御という特徴がある。
・オートノミック・マネージャー
オートノミック・マネージャーとは、オートノミック・コンピューティングにおいて、制御ループを使用して他のソフトウェア及びハードウェアを管理するコンポーネントである。オートノミック・マネージャーの制御ループは、モニタリング、アナライジング、プランニング及びエグゼキューティングの各機能から構成されている。
【００１４】
以下、図面に従って、本発明の実施例を説明する。本実施例は、本発明の好適な態様を説明するためのものであり、本発明の範囲をここで示すものに限定する意図はないことを理解されたい。また、以下の図を通して、特に断らない限り、同一符号は、同一の対象を指す。
【００１５】
図１は、オートノミック・コンピューティングにおける問題判別システムの概念図を示す。
問題判別システムの管理者（１０１）は、過去の障害事例から、問題が起きた際のエラーメッセージを含むログ・ファイル又はダンプ・ファイルの特徴をナレッジとして抽出し、ナレッジ・データベース（１０２）に登録する。ナレッジ・データベースは、例えばＤＢ２（商標）を使用して構築することができる。そして、ナレッジからシンプトンが生成される。該シンプトンは、シンプトン・データベース（１０３）に格納される。シンプトン・データベースは、シンプトン・カタログともいう。一方、ユーザ又はヘルプ・デスク（１０４）は、ログ・ファイル又はダンプ・ファイル（１０５）をユーザによって操作されるコンピュータ、例えばクライアント・システムから問題判別システム、例えばサーバ・コンピュータ（１００）に送信する。ログ・ファイル又はダンプ・ファイル（１０５）は、例えばアプリケーション、データベース、アプリケーション・サーバ、サーバ、ストレージ・デバイス、ネットワークのイベントを含む。ログ・ファイル及びダンプ・ファイル（１０５）の形式は、コンポーネント毎に異なる。そこで、ログ・ファイル又はダンプ・ファイル（１０５）の形式を統一化するために、サーバ・コンピュータ（１００）において、ログ・ファイル又はダンプ・ファイル（１０５）は、コモン・ベース・イベント（１０６）（以下、ＣＢＥ）に変換される。ＤＢ２（商標）及びWebSphere（商標）といった主要なＩＢＭ製品は、このＣＢＥを直接出力する機能を既に備えている。また、ＩＢＭは、既存のログをＣＢＥへ変換するためのツールを無償で提供している。該ツールは、ジェネリック・ログ・アダプター（ＧＬＡ）と呼ばれる。該ツールは、Eclipseベースの開発ツールである。そして、シンプトン・データベース（１０３）に蓄積したシンプトンのルールにより上記ＣＢＥ（１０６）を解析する。ＣＢＥの解析によって、該ＣＢＥに含まれるイベントの集合を検出するシンプトンを抽出し（１０７）、そして該抽出されたシンプトンのシンプトン効果に基づいて障害の内容ないしは解決策を判別する。そして、判別の結果が、ユーザのクライアント・システムに接続された表示装置上に診断結果（１０８）として提示される。診断結果は、シンプトン・データベース利用による問題解決のヒントを含む。診断結果は、ログ分析ツール、例えばIBM Log Trace Analyzer（ＬＴＡ）を使用して提示される。このように、あるエラーメッセージとそのメッセージに対する解決方法をシンプトン・データベースとして蓄積することで、同じメッセージが発生した場合に、管理者に対して過去の解決方法をアドバイスすることが可能になる。
【００１６】
図２は、ログ・ファイル（２０１）をＣＢＥ（２０２）に変換する一例を示す。ログ・ファイル（２０１）からＣＢＥ（２０２）への変換は、上述したＤＢ２（商標）及びWebSphere（商標）といったソフトウェアが備える直接出力機能又は変換ツールを使用することによって行われうる。図２のログ・ファイル（２０１）では、メッセージＩＤ  TCPC0003E、CHFW0029E、及びTCPC001Iで特定されるイベント及びその内容が示されており、ＣＢＥ（２０２）への変換によってメッセージＩＤ毎に所定の形式に変換されている。
【００１７】
図３は、シンプトン・データベース（３０２）に格納されたシンプトンによりＣＢＥ（３０１）を解析する（３０３）一例を示す。ＣＢＥ（３０１）は、メッセージＩＤで特定される複数のイベントを含む。シンプトン・データベース（３０２）は、複数のシンプトンを有する。シンプトンによりＣＢＥ（３０１）を解析することによって、該ＣＢＥに含まれるイベントの集合を検出することが可能なシンプトンを抽出することができる。シンプトンのルールの一例であるＩＢＭ相関ルールの場合、７種類のルールがサポートされる。具体的には、ＩＢＭ相関ルールは、ステートレス・ルールとして、フィルタールール、ステートフル・ルールとして、収集ルール、計算ルール、重複ルール、シークエンスルール、閾値ルール、タイマールールを含む。図３では、ＣＢＥ（３０１）は、TCPC0003E、そしてCHFW0029Eの順で特定されるイベントの集合を含む。シンプトン・データベースに含まれる複数のシンプトンでＣＢＥを解析することによって、該ＣＢＥを解析することに含まれる上記イベントの集合を検出するシンプトンが抽出される。該シンプトンの抽出によって問題が発見される（３０４）。そして、該抽出されたシンプトンのシンプトン効果に対応するテクニカル・ノート（メッセージＩＤに対する補足、アドバイス情報）が提示される（３０５）。
【００１８】
図４は、シンプトン及び本発明の実施例において使用する標本（specimen）を示す。
図４のシンプトンＡは、TCPC0003E、そしてCHFW0029Eの順で特定されるイベントの集合を検出するルールを含む。シンプトンＡのルールは例えば、以下の通りに記述できる。下記は、ＸＰａｔｈ形式のルール記述の例である。
<expression:xpathExpression>/CommonBaseEvent[contains*[msg,'TCPC0003E' and 'CHFW0029E'] or msgData Element/msgId= 'TCPC0003E' and 'CHFW0029E']</expression:xpathExpression>
【００１９】
標本は、あるシンプトンのルールにより検出されるイベントの集合を含む。標本は、イベントを特定するためのメッセージ識別子を含む。さらに、それぞれの標本について、対応するシンプトンのルールがリストに含まれるどのイベントを検出したのかが記録されている（図示せず）。
【００２０】
本発明の実施例では好ましくは、あるシンプトン（図４ではシンプトンＡ、４０１）ついて、下記２種類の用途の異なる標本を用意する。
１．第１の標本
第１の標本は、あるシンプトンのルールにより検出されるイベントの集合を含む標本である。好ましくは、第１の標本は、あるシンプトンのルールにより検出されるイベントの集合のみからなる。さらに好ましくは、第１の標本は、あるシンプトンのルールにより検出されるイベントの集合のみからなり且つ該検出されるイベントの順番が同一である。あるシンプトンのルールにより検出されるイベントの集合のみからなり且つ該検出されるイベントの順番が同一であることを、本明細書においてイベントの集合が合致するという。第１の標本は主として、シンプトンの重複定義の発見に使用される。第１の標本は、本明細書においてショート（short）標本ともいう。
２．第２の標本
第２の標本は、上記第１の標本をサブセットとして含む。すなわち、第２の標本は、あるシンプトンのルールにより検出されるイベントの集合と、その前、後又は前後のイベントの集合（すなわち、あるシンプトンの上記ルールにより検出されないイベントの集合）とを含む標本である。第２の標本は主として、シンプトンの精度を検証するために使用され、特に緩いルール、すなわち精度の低いシンプトンの発見に使用される。第２の標本は、本明細書においてロング（long）標本ともいう。
ショート標本であるかロング標本であるかの区別は例えば、標本内にフラグを設定することによって行われる。
【００２１】
標本は、管理者が新規シンプトンをシンプトン・データベースに追加するかどうかを判断するために使用される（図５〜図８を参照）。本発明の実施例では、標本として、新規標本（図５、５０３）と、標本データベース（図５、５１０）に格納された標本（以下、既存標本という場合がある）とを用意する。
【００２２】
新規標本は、新規シンプトンをシンプトン・データベース（図５、５０９）に追加するかどうかを判断するために、新規シンプトンの作成に応じて用意される。新規標本は好ましくは、ショート標本及びロング標本を含む。新規標本は、管理者によって作成される。或いは、新規標本を作成するためのプログラムを用意して、コンピュータ・システムに自動的に作成させてもよい。新規標本は、ログ・ファイル又はダンプ・ファイルを基に、対応する新規シンプトンのルールにより検出されるイベントの集合を含むように作成される。例えば、ショート標本であれば、対応する新規シンプトンに含まれるルールにより検出されるイベントの集合と合致するイベントの集合を含むように作成される。ロング標本であれば、対応する新規シンプトンに含まれるルールにより検出されるイベントの集合と合致するイベントの集合と、その前、後又は前後のイベントの集合とを含むように作成される。新規標本は、管理者によって標本データベース（図５、５１０）に格納される。
【００２３】
既存標本も、新規シンプトンをシンプトン・データベースに追加するかどうかを判断するために使用される。既存標本は好ましくは、ショート標本及びロング標本を含む。
【００２４】
図４では、TCPC0003E、そしてCHFW0029Eの順で特定されるイベントの集合のみを含むショート標本（４０３）、及びTCPC0003E、そしてCHFW0029Eの順で特定されるイベントの集合とその前後のイベントの集合とを含むロング標本（４０２）が示されている。シンプトンＡを新たにシンプトン・データベースに追加するかどうかを判断するために、シンプトンＡに対応するショート標本（４０３）及びロング標本（４０２）が用意される。
【００２５】
図５は、本発明の実施例のコンピュータ・システム（５００）の全体図を示す。該コンピュータ・システム（５００）は、オートノミック・コンピューティングを実現するサーバ・コンピュータそれ自体又は該サーバ・コンピュータに関連付けられたコンピュータでありうる。
該コンピュータ・システム（５００）の管理者（５０１）が、新規シンプトン（５０２）を用意する。さらに、管理者（５０１）は、新規シンプトン（５０２）に対応する新規標本（５０３）を用意する。新規標本（５０３）は好ましくは、新規シンプトン（５０２）に対応するショート標本及びロング標本を含む。そして、管理者（５０１）は、新規シンプトン（５０２）をシンプトン・データベース（５０９）に追加するかどうかを判断するための作業を行う。
【００２６】
シンプトン重複検証部（５０４）は、新規シンプトン（５０２）がシンプトン・データベース（５０９）に格納されたシンプトンと重複して定義されていないかどうかを検証する。検証の詳細を図６に示す。
【００２７】
シンプトン・ルール検証部（５０５）は、新規シンプトン（５０２）のルールの精度を検証する。検証の詳細を図７に示す。さらに、シンプトン・ルール検証部（５０５）は、シンプトン・データベース（５０９）に格納されたシンプトン（以下、既存シンプトンという）のルールの精度を検証する。検証の詳細を図８に示す。なお、図５では、シンプトン重複検証部（５０４）とシンプトン・ルール検証部（５０５）が個別に記載されているが、シンプトン検証部として１つにまとまっていてもよい。
【００２８】
シンプトン及び標本蓄積部（５０６）は、新規シンプトン（５０２）及び新規シンプトン（５０２）に対応する新規標本（５０３）を一時的に記憶しておく記憶領域である。該蓄積部は、任意の構成である。
【００２９】
シンプトンによる標本の解析（５０７）は、シンプトンにより標本を解析することを示し、その詳細を図６〜図８に示す。シンプトンのルールにより検出されるイベントの集合が標本に含まれる場合、該標本はシンプトンによって抽出される。該標本の抽出を、本明細書において「標本がヒット」するいう。
【００３０】
記憶領域（５０８）は、シンプトン・データベース（５０９）及び標本データベース（５１０）を含む。記憶領域（５０８）は、ハードディスクなどの磁気記録媒体、シリコンディスクなどの半導体ディスクである。シンプトン・データベース（５０９）及び標本データベース（５１０）は、同一の記録媒体上に記録されていてもよく、又は異なる記録媒体上に別に若しくは分散して記録されていてもよい。
【００３１】
解析結果提示部（５１１）は、シンプトンによる標本の解析（５０７）の結果を管理者（５０１）のシステムに接続された表示装置上に表示するための情報を作成する。
【００３２】
管理者（５０１）は、シンプトンによる標本の解析（５０７）の結果に基づき、新規シンプトン（５０２）及び該新規シンプトン（５０２）に対応する新規標本（５０３）それぞれを、シンプトン・データベース（５０９）及び標本データベース（５１０）に格納するかどうかを検討する。或いは、管理者（５０１）は、新規シンプトン（５０２）のルールを修正したり（厳しくして精度を高めることを含む）、新規標本（５０３）の不要なイベントを削除したり、シンプトン・データベース（５０９）に格納された既存シンプトンのルールを厳しくしたりしうる。
【００３３】
図６は、シンプトンの重複定義の検証を示す。
シンプトンの重複定義の検証は、新規シンプトン（５０２）により標本データベース（５１０）に格納されたショート標本（既存標本である）を解析すること、及びシンプトン・データベース（５０９）に格納されたシンプトンにより新規標本（５０３）、好ましくは新規ショート標本を解析することによって行う。標本データベース（５１０）に格納されたショート標本の解析によって、新規シンプトン（５０２）のルールにより検出されるイベントの集合を含むショート標本がヒットし、及び新規標本（５０３）の解析によって、該新規標本が既存シンプトンのルールによりヒットし、並びにヒットしたショート標本のイベントの集合と該新規標本のイベントの集合が合致することに応じて、新規シンプトン（５０２）が、シンプトン・データベース（５０９）に格納されたシンプトンと重複していることが判る。従って、解析結果提示部（５１１）は、管理者（５０１）に対して、新規シンプトン（５０２）がシンプトン・データベース（５０９）に格納されたシンプトンと重複していることを提示する。管理者（５０１）は、該提示から、新規シンプトン（５０２）をシンプトン・データベース（５０９）に格納しないことを選択しうる。さらに、管理者（５０１）は、該新規シンプトン（５０２）に対応する新規標本（５０３）を標本データベース（５１０）に格納しないことを選択しうる。
【００３４】
図７は、新規シンプトンのルールの検証を示す。
新規シンプトンのルールの検証は、新規シンプトン（５０２）により標本データベース（５１０）に格納されたロング標本（既存標本である）を解析することによって行う。標本データベース（５１０）に格納されたロング標本の解析によって、新規シンプトンのルールにより検出されるイベントの集合を含むロング標本がヒットするかどうかが判定される。ロング標本がヒットすることに応じて、解析結果提示部（５１１）は、ヒットした既存のロング標本、又はどれだけの数のロング標本が新規シンプトン（５０２）のルールによりヒットしたかを提示する。さらに必要に応じて、解析結果提示部（５１１）は、既存標本に基づいて、新規シンプトン（５０２）の精度が低い可能性があることを提示する。管理者（５０１）は、該提示から、ヒットした既存のロング標本を検討し、シンプトンと関係のないロング標本がヒットしている場合、新規シンプトン（５０２）のルールを修正して、該ルールの精度を高くしうる。
【００３５】
図８は、既存シンプトンのルールの検証を示す。
既存シンプトンのルールの検証は、シンプトン・データベース（５０９）に格納されたシンプトン（既存シンプトンである）により、新規標本（５０３）、好ましくは新規ロング標本を解析することによって行う。新規標本（５０３）の解析によって、該新規標本が既存シンプトンのルールによりヒットするかどうかが判定される。該新規標本がヒットすることに応じて、解析結果提示部（５１１）は、該新規標本をヒットするルールを含む既存シンプトンを提示する。さらに、解析結果提示部（５１１）は、新規標本がどれだけの数の既存シンプトンによりヒットするかを提示する。さらに必要に応じて、解析結果提示部（５１１）は、新規標本に基づいて、既存シンプトンの精度が低い可能性があることを提示する。管理者（５０１）は、該提示から、既存シンプトンに記述された問題が起きているかどうかを調査する。実際にその問題が起きている場合に、管理者（５０１）は、新規標本（５０３）の不要なイベントの集合を削除し、ヒットしないようにしうる。一方、実際にその問題が起きていない場合に、管理者（５０１）は、既存シンプトンのルールを修正して、該ルールの精度を高くしうる。
そして、修正された既存シンプトンのルールの検証を行うために好ましくは、引き続き該修正された既存シンプトンにより、新規標本（５０３）、好ましくは新規ロング標本を解析する。
【００３６】
図９は、シンプトンの重複定義の検証及びシンプトンのルールの検証の流れを示す。図９（Ａ）及び（Ｂ）では、シンプトンの重複定義の検証をおこない、引き続きシンプトンのルールの検証をおこなうことを示す。重複定義の検証を最初におこなう理由は、シンプトンの重複定義を排除することの優先度が高いためである。但し、シンプトンの重複定義の検証をシンプトンのルールの検証の後におこなうこと排除するものではない。次に、図９（Ａ）は、シンプトンのルールの検証として、新規シンプトン（５０２）によるＤＢ内の標本の解析が行われた後に、ＤＢ内のシンプトンによる新規標本の解析が行われることを示す。図９（Ｂ）は、シンプトンのルールの検証として、ＤＢ内のシンプトンによる新規標本の解析が行われ後に、新規シンプトン（５０２）によるＤＢ内の標本の解析が行われること問題を示す。このようにして、シンプトンの重複定義、及びシンプトンのルールの精度を順次検証することが可能になる。
【００３７】
本発明の実施例で使用するコンピュータ・システムは典型的には、ＣＰＵ、メインメモリを有し、これらはバスに接続されている。該バスに、ディスプレイ・コントローラを介して、ＬＣＤモニターなどの表示装置が接続されている。また、該バスに、ＩＤＥ又はＳＡＴＡコントローラを介して、記憶装置、例えばハードディスク、シリコンディスク、ＣＤ又はＤＶＤの各種ドライブが接続されている。クライアント・コンピュータ及びサーバ・コンピュータのいずれの場合においても、上記コンピュータ・システムと同様の内部構成を有する。
【図面の簡単な説明】
【００３８】
【図１】問題判別システムの概念図を示す。
【図２】ログ・ファイルからＣＢＥへの変換を示す。
【図３】シンプトンによりＣＢＥを解析する例を示す。
【図４】シンプトン及び標本を示す。
【図５】本発明の実施例のコンピュータ・システムの全体図を示す。
【図６】シンプトンの重複定義の検証を示す。
【図７】シンプトンのルールの検証を示す。
【図８】シンプトンのルールの検証を示す。
【図９】シンプトンの重複定義の検証及びシンプトンのルールの検証の流れを示す。
【図１】
0005008006.tif 000002
【図２】
0005008006.tif 000003
【図３】
0005008006.tif 000004
【図４】
0005008006.tif 000005
【図５】
0005008006.tif 000006
【図６】
0005008006.tif 000007
【図７】
0005008006.tif 000008
【図８】
0005008006.tif 000009
【図９】
0005008006.tif 000010