(57)【特許請求の範囲】
【請求項１】
複数の管理対象の装置が備えるハードウェア又はソフトウェアである複数の要素に関する構成データを含み運用を妨げる又は妨げるおそれのある問題の発生の有無を示す管理データを受信する収集部と、
前記要素の種別間の従属関係を定義した定義情報に従い、前記収集部が受信した前記管理データを用いて、前記問題が発生した装置が備える前記要素間の従属関係を示す問題データを求める一方、前記問題が発生していない装置が備える前記要素間の従属関係を示す非問題データを求める分析部と、
前記問題データと非問題データとを比較して、共通する要素を求め、該共通する要素に従属する要素について前記問題データと前記非問題データとの差分を抽出する比較部と、を備える運用管理装置。
【請求項２】
前記分析部が、前記複数の管理対象の装置のうち、問題が発生した装置の全てに共通する要素を問題共通データとして分類し、
前記比較部が、前記問題共通データと前記非問題データとを比較して、前記問題共通データと前記非問題データの差分を抽出する請求項１に記載の運用管理装置。
【請求項３】
前記比較部が、前記共通する要素に従属する要素であって、前記非問題データに存在し、前記問題データに存在しない要素を抽出する請求項１又は２に記載の運用管理装置。
【請求項４】
複数の管理対象の装置が備えるハードウェア又はソフトウェアである複数の要素に関する構成データを含み運用を妨げる又は妨げるおそれのある問題の発生の有無を示す管理データを受信するステップと、
前記要素の種別間の従属関係を定義した定義情報に従い、前記管理データを用いて、前記問題が発生した装置が備える前記要素間の従属関係を示す問題データを求めるとともに、前記問題が発生していない装置が備える前記要素間の従属関係を示す非問題データを求めるステップと、
前記問題データと非問題データとを比較して共通する要素を求めるステップと、
前記共通する要素に従属する要素について前記問題データと前記非問題データの差分を抽出するステップと、
をコンピュータが実行する運用管理方法。
【請求項５】
前記複数の管理対象の装置のうち、問題が発生した装置の全てに共通する要素を問題共通データとして分類し、
前記問題共通データと前記非問題データとを比較して、前記問題共通データと前記非問題データの差分を抽出する請求項４に記載の運用管理方法。
【請求項６】
前記共通する要素に従属する要素であって、前記非問題データに存在し、前記問題データに存在しない要素を抽出する請求項４又は５に記載の運用管理方法。
【請求項７】
複数の管理対象の装置が備えるハードウェア又はソフトウェアである複数の要素に関する構成データを含み運用を妨げる又は妨げるおそれのある問題の発生の有無を示す管理データを受信するステップと、
前記要素の種別間の従属関係を定義した定義情報に従い、前記管理データを用いて、前記問題が発生した装置が備える前記要素間の従属関係を示す問題データを求めるとともに、前記問題が発生していない装置が備える前記要素間の従属関係を示す非問題データを求めるステップと、
前記問題データと非問題データとを比較して共通する要素を求めるステップと、
前記共通する要素に従属する要素について前記問題データと前記非問題データの差分を抽出するステップと、
をコンピュータに実行させるための運用管理プログラム。
【請求項８】
前記複数の管理対象の装置のうち、問題が発生した装置の全てに共通する要素を問題共通データとして分類し、
前記問題共通データと前記非問題データとを比較して、前記問題共通データと前記非問題データの差分を抽出する請求項７に記載の運用管理プログラム。
【請求項９】
前記共通する要素に従属する要素であって、前記非問題データに存在し、前記問題データに存在しない要素を抽出する請求項７又は８に記載の運用管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、装置の運用を管理する技術に関する。
【背景技術】
【０００２】
企業などのように多くの情報処理システムを利用する場所では、システムの利用者とは別に、システムの管理者が存在し、故障や処理異常など、システムの運用を妨げる或いはその恐れのある問題の監視や、当該問題の対処を行っている。【０００３】
情報処理システムは、演算や記憶、表示、通信などの処理を行うハードウェアと、当該処理に用いられるＯＳ（Operating System）、アプリケーションプログラム、ファームウェアなどのソフトウェアに大別される多くの構成要素を有している。このため、システムの管理者は、故障や処理異常などの問題が発生した場合に、何れの構成要素が原因となっているのかを調査する作業が負担となっていた。【０００４】
そこで、管理作業の負担を軽減することを目的として、運用管理ソフトウェアが開発され、管理者に利用されている。【０００５】
例えば、管理対象の情報処理システムに問題が発生した場合、運用管理ソフトウェアはポップアップメッセージやメールなどのアラームによって管理者に問題を通知する機能を備えている。【０００６】
図１は、ポップアップメッセージによるアラームの例を示す。図１に示すように、運用管理ソフトウェアは、問題が発生したノードや日時、重要性、アラームの内容といった情報を表示する。【０００７】
アラームによって問題の発生を知った管理者は、運用管理ソフトウェアのログ参照機能を用いて、問題の内容や原因を調査する。図２は、運用管理ソフトウェアによって採取したログを参照した例を示す。当該ログは、図２に示すように、イベントが発生した日時、発生したノード、イベントの内容を示すメッセージテキスト、イベントが発生したモジュール、エラーコード、イベントの重要性、発生したコンポーネント、ユーザ、識別情報等の情報を表示する。ここで、イベントとは、例えば、運用管理ソフトウェアが検知した情報処理システム内の様々な現象である。【０００８】
また、運用管理ソフトウェアは、ログを参照する際、蓄積した多数のログを絞り込む機能やキーワードで検索する機能によって、管理者の調査を支援する。【０００９】
図３は、ログの絞込み条件の設定例を示す。例えば、図３に示すように、日時が08/10/08 04:15PM以降で、重要性がWarningのイベントを検索する。【００１０】
しかし、ログの参照だけでは、管理者が問題の現象や発生箇所を知るにとどまり、原因を突き止めるには至らない場合も多い。この場合に、管理者は、問題が発生しているシステムと問題が発生していないシステムを比較し、その差分から、問題の原因を突き止めるための手がかりを探すことがある。問題が発生しているシステムに在り、問題が発生していないシステムに無い構成要素が、問題の発生に関与していることがあるためである。【００１１】
このため、管理者は、運用管理ソフトウェアの機能を用いて、問題が発生しているシステムと問題が発生していないシステムについてそれぞれシステムの構成要素や属性値を表示させ、比較する。【００１２】
図４はハードウェア構成の表示例、図５はソフトウェア構成の表示例、図６は属性値の表示例を示す。【００１３】
例えばハードウェア構成は、図４のように、ノード(Partiton#1_0.124.22.70)に、筐体(Chassis components)やシステムボード（SB#1）などのコンポーネントの存在が示される。また、当該筐体に電源（ACPDBH#0-#7）やファン（FAN_A#0-A#5,B#0,B#1）などのユニットの存在が示される。【００１４】
また、ソフトウェア構成は、図５のように、ソフトウェアの構成として、ソフトウェアのパッケージ名、ソフトウェアの属するノード名、ソフトウェアの概要、カテゴリー、アーキテクチャ、バージョン等が示される。【００１５】
また、属性は、図６のように、ノードの属性値として、ノード名、通信アドレス、システムＩＤ、ハードウェア名、ＯＳ名とＯＳのバージョン、ハードウェアの状態、通信状態等が示される。【００１６】
システムの構成要素や属性は数が多く、２つあるいは複数のシステムを比較した場合に、どこに違いがあるかを人（管理者）が抽出するのは、手間と時間のかかる作業となる。【００１７】
このため、２つのシステム間の差分を抽出するソフトウェアがあり、当該ソフトウェアを用いることにより、比較作業の効率化が図られている。【００１８】
図７は、２つのシステムを比較した場合の差分箇所の表示例を示す。図７では、システムの名称、モデル、プロセッサタイプ、メモリ容量、ＯＳ、設置場所などの項目を比較している。なお、２つのシステムで同じ項目は、１行にその内容を表示し、背景色を無しにしている。例えば、図７において、モデル、プロセッサタイプ、キャッシュ容量が同じ項目である。また、２つのシステムで差がある項目は、それぞれ１行ずつその内容を表示し、背景色を変えている。例えば、図７において、システムの名称、メモリ容量、ＯＳが異なっており、ＳＬＥＳ１０ＳＰ１の項目の背景色を斜線、ｐｑ−ｒｈｌ４ｕ４の項目の背景色をクロスラインとしている。
【先行技術文献】
【特許文献】
【００１９】
【特許文献１】特開２００２−５５７１７号公報
【特許文献２】特開２００４−１０１２０３号公報
【特許文献３】特開２００５−６３３３２号公報
【非特許文献】
【００２０】
【非特許文献１】市瀬他：階層的知識間の調整規則の学習、人工知能学会論文誌、１７巻、３号F、PP．230-238(2002年)
【発明の概要】
【発明が解決しようとする課題】
【００２１】
システム間の差分を抽出したとしても、数ある違いの中から調査対象の問題の発生に関与しそうなものと、そうでないものを選別するには、やはり多くの手間と時間がかかり、また、管理者に高いスキルが求められる。【００２２】
例えば、図８に示すように、問題が発生しているＡシステムと、問題が発生していないＢシステムがあった場合に、管理者が問題の発生にＯＳが関与しているという仮説を立てたとする。その観点でＡシステムとＢシステムを比較した結果、ＯＳの版数に違いがあれば、ＯＳの版数が問題の発生に関与している可能性が考えられる。しかし、Ａシステムと問題が発生していないＣシステムを比較したところ、それらのＯＳ版数が同じであったとすれば、問題の発生がＯＳの版数に依存していない可能性がある。この場合、調査を進めるには、観点を変えてシステムの比較を行い、問題が発生しているシステムに見られる特徴を探し出す必要がある。【００２３】
この調査方法から問題発生の原因或いはその仮説を導き出すためには、より多くのシステムを比較することが有効である。しかし、手間と時間を考えると、人（管理者）がシステムの比較を行う場合には、どのシステムを比較対象とし、どのような観点で比較するのが効果的であるかを推論し、比較対象と比較の観点を適切に設定することが重要である。よって、調査の進展は管理者のスキルに依存することになる。【００２４】
そこで、開示の一実施形態は、問題が発生したシステムの特徴を容易に抽出する技術を提供する。
【課題を解決するための手段】
【００２５】
課題を解決する一形態としての運用管理装置は、
複数の管理対象の装置が備える要素の管理データを受信する収集部と、
受信した前記管理データのうち、問題が発生した装置のデータである問題データの従属関係を前記要素間の従属関係を定義した定義情報に従って求める一方、問題が発生していない装置のデータである非問題データの従属関係を前記定義情報から求める分析部と、
前記問題データと非問題データとを比較して、共通する要素の管理データを求め、該共通する要素に従属する要素の管理データについて前記問題データと前記非問題データとの差分を抽出する比較部と、を備える。
【発明の効果】
【００２６】
開示の一実施形態は、問題が発生したシステムの特徴を容易に抽出する技術を提供できる。
【図面の簡単な説明】
【００２７】
【図１】ポップアップメッセージによるアラームの例を示す図
【図２】運用管理ソフトウェアによって採取したログを参照した例を示す図
【図３】ログの絞込み条件の設定例を示す図
【図４】ハードウェア構成の表示例を示す図
【図５】ソフトウェア構成の表示例を示す図
【図６】図６は属性値の表示例を示す図
【図７】システムを比較した場合の差分箇所の表示例を示す図
【図８】問題が発生しているシステムと問題が発生していないシステムの比較例を示す図
【図９】問題が発生しているシステムと問題が発生していないシステムの比較例を示す図
【図１０】運用管理装置の概略構成図
【図１１】管理データの木構造の説明図
【図１２】ログデータのデータ構造を示す図
【図１３】クライアントのブロック図
【図１４】監視対象システムの機能ブロック図
【図１５】マネージャが管理データをデータ格納部へ書き込む処理の説明図
【図１６】エージェントによる管理データの送信処理の説明図
【図１７】クライアントによる分析結果の受信及び出力処理の説明図
【図１８】マネージャによる分析及び分析結果の送信処理の説明図
【図１９】データ分析処理の説明図
【図２０】問題発生共通木の作成処理の具体例を示す図
【図２１】ノードのデータ構造を示す図
【図２２】問題発生木の一例を示す図
【図２３】問題が発生したシステムの特徴を抽出する処理の説明図
【図２４】属性ノードの説明図
【図２５】運用管理システムのブロック図
【図２６】スキーマの説明図
【図２７】分析結果の表示例を示す図
【発明を実施するための形態】
【００２８】
以下、図面を参照して本発明を実施するための形態について説明する。以下の実施の形態の構成は例示であり、本発明は実施の形態の構成に限定されない。
【００２９】
実施形態１の情報処理システムは、問題の発生したシステムと問題の発生していないシステムの単なる差分を抽出するのではなく、問題の原因の検出に貢献しそうな差分を見つけ出す。ここで、原因の検出に貢献しそうな差分は、例えば、問題の発生したシステムと一部の構成や属性に共通点がある問題が発生していないシステムと、問題の発生したシステムとの構成などの差分と考えることができる。
【００３０】
図９を例にして、発生した問題の原因の検出に貢献しそうな差分について説明する。図９の例では、問題の発生したシステムＡと問題の発生していないシステムＢ、Ｃがある。ここで、システムＡに発生している問題は、ＯＳに含まれるソフトウェアに依存する問題であったとする。その場合、ＡシステムとＢシステムとのように適用するＯＳが異なると、それぞれのＯＳに含まれるソフトウェアは違うので、ＯＳの違いから派生して検出されるＯＳ版数や構成ソフトウェアの違いは意味のない情報である。
【００３１】
一方で、ＡシステムとＣシステムとでは同じＯＳが使われている。その場合に、ＯＳに含まれるソフトウェアの差分には意味があると考えることが出来る。図９の例では、ＡシステムとＣシステムとの比較結果として、Ａシステムには「Y packageがある」、「Z packageがない」という特徴が抽出できる。このように、問題の原因調査においては、問題が発生したシステムと類似性を持っていながら問題の発生していないシステムと、問題が発生したシステムとを比較して、その差分を抽出することが有効である。
【００３２】
即ち、ＡシステムとＢシステムとで共通に用いられているＯＳ「ＸＯＳ」のように、問題の発生したシステムと問題の発生していないシステムとで共通するデータを抽出した上で、ＯＳに従属するソフトウェアである「Y package」等のように、共通するデータに従
属するデータについて、問題が発生したシステムと問題の発生していないシステムとの構成の差分を抽出する。
【００３３】
本実施形態１では、運用管理装置が、原因調査の対象である問題が発生したシステムが複数ある場合には、管理するすべてのシステムのうち、まずこれら問題の発生したシステムに共通する構成や属性のデータ（問題発生共通データ）を抽出する。次に運用管理装置が、管理するすべてのシステムのうち、問題が発生しないシステムの構成や属性のデータ（問題非発生データ）を全て抽出する。そして、運用管理装置は、問題発生共通データと問題非発生データとを比較し、両者で共通するデータ（上記ＸＯＳ等）を抽出し、抽出した共通するデータに従属するデータ（上記Y package等）の差分を抽出する。この方法により得られた結果つまり差分は、問題の発生したシステムと、問題発生するシステムに類似した問題の発生していないシステムとの差分であり、単なるシステム間の構成などの差分よりも端的に問題が発生したシステムの特徴を示すことになる。
【００３４】
〈システム構成〉
図２５は、運用管理システムのブロック図である。本実施形態１の運用管理システムは、ネットワークやケーブル等の回線を介して接続した運用管理装置１０、クライアント２０、監視対象システム３０を有している。
【００３５】
運用管理装置１０は、図１０に示すように、データの演算処理を行うデータ処理部１と、他の装置との通信を行う通信処理部２と、演算処理の為のデータやソフトウェアを記憶するデータ格納部３とを備えたコンピュータであり、以下マネージャとも称す。
通信処理部２は、ネットワークやケーブル等の回線を介して他のコンピュータと通信を行う。
【００３６】
データ格納部３は、ハードディスクやSolid State Drive、Solid State Disk(ＳＳＤ)といった記憶部であり、オペレーティングシステム（ＯＳ）やアプリケーションプログラム（一例として運用管理ソフトウェア）を記憶している。また、データ格納部３は、監視対象システム３０のエージェントから受信した構成データやログデータ、分析結果、データのスキーマを格納する。
【００３７】
データ処理部１は、ＣＰＵやメインメモリを有し、ＯＳやアプリケーションソフトといったプログラムをデータ格納部３からメインメモリに読み出し、読み出したプログラムに従ってＣＰＵが、通信処理部２で受信したデータ等の演算処理を行う。この演算処理により、ＣＰＵは、情報収集部１１や、描画部１２、アラーム部１３、ログフィルタ部１４、比較部１５、分析部１６としても機能する。
【００３８】
情報収集部１１は、クライアント２０からの要求に応じて、監視対象の装置、即ち監視対象システム３０のエージェントへ管理データを要求し、当該エージェントから監視対象システム３０の管理情報を受信即ち収集する。また、情報収集部１１は、監視対象システム３０のエージェントから自発的に送信された管理データを受信する。なお、本実施形態において、管理データは構成データ或いはログデータを含むデータであり、構成データは監視対象システム３０が備える各構成要素の情報、ログデータは監視対象システム３０のログのデータである。
【００３９】
描画部１２は、分析部１６の分析結果等を表示装置（不図示）に表示させる。
【００４０】
アラーム部１３は、情報収集部１１で収集したデータが所定条件を満たし、問題が発生した或いは問題が発生する恐れがあると判定した場合にアラームを出力する。例えばアラーム部１３は、発生した問題と対応するメッセージをアラームとし、通信処理部２を介してクライアント２０に通知する。また、アラーム部１３は、アラームを電子メールとして管理者等の所定のアドレス宛てに送信しても良い。
【００４１】
ログフィルタ部１４は、情報収集部１１で収集したデータのうちログデータを、クライアント２０によって指定された条件に応じて抽出（フィルタリング）する。
【００４２】
分析部１６は、情報収集部１１で受信したデータに基づいて問題が発生した装置を判別し、受信したデータのうち構成データを問題が発生した装置のデータである問題データと問題が発生していない装置のデータである非問題データに分類する。そして分析部１６は、問題データに分類されている各要素の構成データの従属関係を所定の定義情報に基づいて決定すると共に、非問題データに分類されている各要素の構成データの従属関係を所定の定義情報に基づいて決定する。分析結果は、通信処理部２を介してクライアント２０に送信される。
【００４３】
比較部１５は、問題データと非問題データとを比較して、共通する要素の構成データを求め、共通する要素の構成データに従属する構成データについて問題データと非問題データの差分を抽出する。
【００４４】
本実施形態１において、情報収集部１１で収集するデータは、構成データとログデータを含む。なお、構成データは、分析部１６により、所定の定義情報に基づいて他の構成データとの従属関係が決定され、図１１に示すように、木構造にマッピングされる。
【００４５】
図１１において、丸で示したノードが構成データによって示されるシステムの構成を表し、図１１の最上部に位置するノードがルートノード、このルートノードとリンクして図１１の下方に位置するノードが、ルートノードに従属するノードである。例えばノードＮ２，Ｎ３は、ルートノードＮ１に従属するノード、ノードＮ４，Ｎ５はノードＮ２に従属するノードである。なお、図１１において、一本線のリンクは、従属するノードが上位ノードの属性を示すノードであることを示し、二本線のリンクは、従属するノードが、システムに含まれる構成のうち、上位ノードと関連する構成を示すノードであることを示している。即ち、ノードＮ２はノードＮ１と関連する構成であり、ノードＮ３はノードＮ１の属性を示すノードである。例えば、ＯＳを示すノードとＯＳのバージョン（ＯＳの属性）を示すノードとのリンクは一本線で示され、ＯＳを示すノードとＯＳ用のパッケージ（ＯＳに関連する構成）を示すノードとのリンクは二本線で示される。
【００４６】
一方、本実施形態１のログデータは、例えば、図１２に示すように、ログＩＤ、問題のデータ、システムのデータ、付帯データを有している。ここで、ログＩＤは、ログを特定するための識別情報である。問題のデータは、システムに発生した問題を示すデータであり、監視対象システム３０に発生したイベントがエラーなのか警告なのか等を示すイベントタイプや、発生したイベントを特定するイベントＩＤ、イベントが発生したモジュールを示すイベントソース、イベントに応じたメッセージ等を含む。システムのデータは、当該ログを出力した監視対象システムを示す識別情報であり、例えばGlobally Unique Identifier (GUID)である。また、付帯情報は、問題の発生時刻といった、発生した問題に付帯するその他の情報である。
【００４７】
構成データおよびログデータは、マネージャ１０からの要求に対する応答としてエージェントから送信される場合と、エージェントから自発的に送信される場合とがある。
【００４８】
図１３は、クライアント２０のブロック図である。クライアント２０は、図１３に示すように、データの演算処理を行うデータ処理部２１、他の装置との通信を行う通信処理部２２、演算処理の為のデータやソフトウェアを記憶する記憶部２３、入力部２４、出力部（図１３の例では表示装置）２５を備えたコンピュータである。
【００４９】
通信処理部２２は、ネットワークやケーブル等の回線を介して他のコンピュータと通信を行う。
【００５０】
記憶部２３は、ハードディスクやＳＳＤといった補助記憶装置であり、オペレーティングシステム（ＯＳ）やアプリケーションプログラム（クライアントプログラム等）を記憶している。
【００５１】
入力部２４は、データ処理部２１へ情報を入力する手段であり、キーボードやポインティングデバイスといったユーザインタフェースや、メモリカードやＣＤ−ＲＯＭ等の記憶媒体から情報を読み取るデバイスを有している。
【００５２】
出力部２５は、データ処理部２１の処理結果を出力する手段であり、分析結果等を表示する表示装置や、アラーム等の音を出力するスピーカ、ログ等のデータを印刷するプリンターを有している。
【００５３】
データ処理部２１は、ＣＰＵやメインメモリを有する。ＣＰＵは、前記ＯＳやアプリケーションプログラムを記憶部２３からメインメモリに読み出し、読み出したＯＳやアプリケーションプログラムに従って、通信処理部２２で受信したデータ等の演算処理を行う。この演算処理により、ＣＰＵは、入力解析部２１１や、ポップアップ部２１２、ログ表示部２１３、フィルタ指定部２１４、ハード表示部２１５、ソフト表示部２１６、属性表示部２１７、差分表示部２１８、特徴表示部２１９としても機能する。
【００５４】
入力解析部２１１としてＣＰＵは、管理者の操作によって入力部２４から入力された入力情報を解析し、対応する命令を各部へ送る。例えば、入力情報が問題の発生したシステムの分析を要求するものであれば、入力解析部２１１は、通信処理部２２を介してマネージャ１０に問題の発生したシステムの特徴を要求する。また、入力解析部２１１は、入力情報がログやハードウェア、ソフトウェア、属性の表示を要求するものであれば、これらの表示要求をマネージャ１０に送信する。
【００５５】
ポップアップ表示部２１２としてＣＰＵは、マネージャ１０から受信した情報を表示装置にポップアップ表示する。例えばマネージャ１０から、問題が発生した旨のメッセーバを受信した場合に、当該メッセージをポップアップ表示する。
【００５６】
ログ表示部２１３としてＣＰＵは、マネージャ１０からログデータを受信した場合に、当該ログデータに基づいて監視対象システムのログを表示装置上に表示する。
【００５７】
フィルタ指定部２１４としてＣＰＵは、ログ表示や、ハード表示、ソフト表示を行う際に、表示する項目を絞り込むため、管理者が選択したフィルタ（条件）をマネージャ１０に送信することでフィルタを指定する。
【００５８】
ハード表示部２１５としてＣＰＵは、マネージャ１０からハードウェアのデータを受信した場合に、当該データに基づいて管理対象システムに備えられたハードウェアに関する情報を表示する。
【００５９】
ソフト表示部２１６としてＣＰＵは、マネージャ１０からソフトウェアのデータを受信した場合に、当該データに基づいて管理対象システムに用いられているソフトウェアに関する情報を表示する。
【００６０】
属性表示部２１７としてＣＰＵは、マネージャ１０から属性のデータを受信した場合に、当該データに基づいて管理対象システムに用いられている要素の属性に関する情報を表示する。
【００６１】
差分表示部２１８としてＣＰＵは、マネージャ１０から差分のデータを受信した場合に、当該データに基づいて管理対象システムに用いられている要素間の差分を表示する。
【００６２】
特徴表示部２１９としてＣＰＵは、マネージャ１０から特徴のデータを受信した場合に、当該データに基づいて問題を発生するシステムの特徴を表示する。
【００６３】
図１４は、監視対象システム３０のブロック図である。監視対象システム３０は、図１４に示すように、データの演算処理を行うデータ処理部３１、他の装置との通信を行う通信処理部３２、演算処理の為のデータやソフトウェアを記憶する記憶部３３、入力部３４、出力部３５を備えたコンピュータである。
【００６４】
通信処理部３２は、ネットワークやケーブル等の回線を介して他のコンピュータと通信を行う。
【００６５】
記憶部３３は、ハードディスクやＳＳＤといった補助記憶装置であり、オペレーティングシステム（ＯＳ）やアプリケーションプログラム（エージェントプログラム）を記憶している。エージェントプログラムは、管理対象の情報処理システムに、もともと組み込まれているファームウェアの形態でもよいし、システムにインストールするソフトウェアの形態でもよい。
【００６６】
入力部３４は、データ処理部３１へ情報を入力する手段であり、キーボードやポインティングデバイスといったユーザインタフェースや、メモリカードやＣＤ−ＲＯＭ等の記憶媒体から情報を読み取るデバイスを有している。
【００６７】
出力部３５は、データ処理部３１の処理結果を出力する手段であり、分析結果等を表示する表示装置や、アラーム等の音を出力するスピーカ、ログ等のデータを印刷するプリンターを有している。
【００６８】
データ処理部３１は、ＣＰＵやメインメモリを有する。ＣＰＵは、前記ＯＳやアプリケーションプログラムを記憶部３３からメインメモリに読み出し、読み出したＯＳやアプリケーションプログラムに従って、通信処理部３２で受信したデータ等の演算処理を行う。この演算処理により、ＣＰＵは、ログ収集部３１１や、ハード情報収集部３１２、ソフト情報収集部３１３としても機能する。なお、エージェントプログラムを実行するＣＰＵ、即ち機能部３１１−３１３をエージェントとも称する。図１４には、エージェントプログラムに従って実行される機能部３１１−３１３を示したが、管理対象システム３０は、データベースやウエブサーバ、ファイルサーバなど、他の機能も実現する。
【００６９】
ログ収集部３１１は、自システムのログを収集し、ログデータとして通信処理部３２を介してマネージャ１０へ送信する。例えばログ収集部３１１は、新たなログが出力される毎に或いは定期的に、収集したログデータをマネージャ１０に送信する。また、ログ収集部３１１は、マネージャ１０からログデータの要求を受信した場合に、システムのログをメインメモリから読み出し、通信処理部３２を介してマネージャ１０へ送信する。
【００７０】
ハード情報収集部３１２は、マネージャ１０からハードウェアの情報の要求を受信した場合に、自システムに備えられている各ハードウェアから夫々の情報を読み出し、ハードウェアの情報としてマネージャ１０に返信する。なお、ハードウェアの情報の収集は、マネージャ１０からの要求時に限らず、当該システムにハードウェアを接続したときに行っても良い。例えば、ハード情報収集部３１２は、プラグアンドプレイの機能により当該システムにハードウェアが接続されたことを検知した場合に、この接続したハードウェアに備えられたＲＯＭから当該ハードウェアの情報を読み出してメインメモリに記憶させておく。そして、マネージャ１０からハードウェアの情報の要求を受信した場合に、ハード情報収集部３１２は、メインメモリからハードウェアの情報を読み出してマネージャ１０へ返信しても良い。なお、ハード情報収集部３１２は、各ハードウェアの構成関連の情報のほか、各ハードウェアの属性も収集し、ハードウェアの情報としてマネージャ１０に送信する。
【００７１】
また、ハード情報収集部３１２は、マネージャ１０からの要求によらずに、ハードウェアの情報を収集してマネージャ１０に送信しても良い。例えばハードウェアを着脱した場合や、ハードウェアのドライバを更新した場合、所定の周期で、ハード情報収集部３１２がハードウェアの情報を収集してマネージャ１０に送信しても良い。
【００７２】
ソフト情報収集部３１３は、マネージャ１０からソフトウェアの情報の要求を受信した場合に、自システムに備えられている各ソフトウェアの情報を所定の記憶領域、例えばレジストリから読み出し、ソフトウェアのデータとしてマネージャ１０に返信する。なお、ソフト情報収集部３１３は、各ソフトウェアの構成関連の情報のほか、各ソフトウェアの属性も収集し、ソフトウェアの情報としてマネージャ１０に送信する。
【００７３】
また、ソフト情報収集部３１３は、マネージャ１０からの要求によらず、ソフトウェアの情報をマネージャ１０に送信しても良い。例えば、ソフトウェアをインストールした場合や、アンインストールした場合、ソフトウェアを更新した場合、所定の周期で、ソフト情報収集部３１３がソフトウェアの情報を収集してマネージャ１０に送信しても良い。
【００７４】
〈運用管理方法の説明〉
図１５は、マネージャ１０が監視対象システム３０のエージェントから管理データを受信してデータ格納部３へ書き込む処理の説明図である。
【００７５】
マネージャ１０の情報収集部１１は、管理データ即ち構成データやログデータを受信するための所定条件を満たしているか否かを判定し（Ｓ１）、条件を満たしていなければ一定時間スリープし（Ｓ２）、条件を満たすまで待機する（Ｓ１，Ｓ２）。本例において、Ｓ１の条件は、定期ポーリングの実行時刻に達したか、クライアント２０から管理データの更新或いは分析の要求を受けたか、またはエージェントから管理データが送られて来たか、である。
【００７６】
監視対象システム３０のエージェントから管理データが送られて来た場合、情報収集部１１は、受信した管理データをデータ格納部３へ格納する（Ｓ３）。
【００７７】
また、Ｓ１で、ポーリングの実行時刻に達した場合、或いは情報更新の要求を受けた場合、情報収集部１１は、エージェントに管理データの送信を要求する、即ち管理対象システム宛てに管理データのリクエストを送信する（Ｓ４）。情報収集部１１は、この情報収集部１１からのリクエストに応じてエージェントから送信された管理データを受信して、データ格納部３へ格納する（Ｓ３）。
【００７８】
図１６は、監視対象システム３０のエージェントが、管理データをマネージャ１０に送信する処理の説明図である。
【００７９】
エージェントは、管理データ即ち構成データ又はログデータを送信するための所定条件を満たしているか否かを判定し（Ｓ１１）、条件を満たしていなければ一定時間スリープし（Ｓ１２）、条件を満たすまで待機する（Ｓ１１，Ｓ１２）。本例において、Ｓ１１の条件は、管理データのリクエストを受信したか、ログデータに追加があるか、構成データに変更があるか、である。
【００８０】
Ｓ１１の条件を満たした場合（Ｓ１１，Ｙｅｓ）、エージェントは管理データを収集する（Ｓ１３）。即ち、Ｓ１１で、構成データのリクエストを受信した場合、リクエストされた構成データをハード情報収集部３１２又はソフト情報収集部３１３が収集する。また、構成データの変更があった場合、変更があった構成データをハード情報収集部３１２又はソフト情報収集部３１３が収集する。また、ログデータに追加があった場合、ログ収集部３１１がログを収集する。
【００８１】
そして、エージェントは、Ｓ１３で収集した管理データをマネージャ１０に送信する（Ｓ１４）。
【００８２】
なお、図１６では、管理データのリクエスト（Ｓ１１）に応じて管理データを収集し（Ｓ１３）、マネージャ１０に送信する例を示したが（Ｓ１４）、予め管理データを収集しておき、リクエストに応じて管理データを送信しても良い。
【００８３】
図１７は、クライアント２０が分析を要求し、分析結果を受信して出力する処理の説明図である。
【００８４】
管理者は、クライアント２０のログ表示部２１３によりログを一覧表示させて問題の発生を示すログを選択し、当該ログを出力したシステム、即ち問題の発生したシステムの分析の要求をクライアント２０に入力する。
【００８５】
クライアント２０の入力解析部２１１は、管理者から問題の発生したシステムの分析の要求を受け付けると（Ｓ２２）、管理者が選択したログのログＩＤを含む分析のリクエストをマネージャ１０に送信する（Ｓ２３）。
【００８６】
そして、クライアント２０は、通信処理部２２を介してマネージャ１０から分析結果を受信し（Ｓ２４）、特徴表示部２１９が当該分析結果を表示装置に表示させる（Ｓ２５）。
【００８７】
図１８は、マネージャ１０が要求に応じて分析を行い、分析結果をクライアントに送信する処理の説明図である。
【００８８】
マネージャ１０の分析部１６は、分析の要求があるか否かを判定し（Ｓ３１）、要求がなければ（Ｓ３１，Ｎｏ）、一定時間スリープして（Ｓ３２）、要求があるまで待機する。
【００８９】
分析の要求があった場合（Ｓ３１，Ｙｅｓ）、分析部１６は、エージェントから受信した管理データに基づいて分析処理を行い（Ｓ３３）、分析結果をクライアントに送信する（Ｓ３４）。
【００９０】
図１９は、図１８における分析処理Ｓ３３を詳細に示す図である。
マネージャ１０の分析部１６は、クライアント２０から受信したリクエストに含まれるログＩＤから分析対象のログを求め、当該分析対象のログと、データ格納部３に保持されているログとを順次比較する（Ｓ４１）。
比較の結果、分析部１６は、分析対象のログと同じ問題が、データ格納部３に保持されているログに存在しているか否かを判定する（Ｓ４２）。ここで分析部１６は、分析対象のログに問題のデータとして含まれるイベントＩＤが、データ格納部３に保持されているログに存在すれば、分析対象のログとデータ格納部３に保持されているログとの間で同じイベントが生じている、即ち同じ問題が存在すると判定する。即ち、分析部１６は、分析対象のログに問題のデータとして含まれるイベントＩＤが、データ格納部３に保持されているログに存在しなければ、分析対象のログとデータ格納部３に保持されているログとの間で同じ問題が存在しないと判定する。なお、分析部１６は、イベントＩＤに限らず、イベントタイプやイベントソースなど、他の情報を用いて判定しても良い。
【００９１】
分析対象のログと、データ格納部内のログとに同じ問題が存在しなければ（Ｓ４２，Ｎｏ）、分析部１６は、比較するデータ格納部内のログを次にシフトして、分析対象ログとの比較を繰り返す（Ｓ４３，Ｓ４１）。
【００９２】
また、分析対象ログとデータ格納部内のログとに同じ問題が存在すれば（Ｓ４２，Ｙｅｓ）、分析部１６は、当該分析対象ログからシステムの識別情報を抽出し、メモリ或いはデータ格納部３内に格納した問題発生リストに抽出したシステムの識別情報を書き込む。なお、既に問題発生リストに書き込まれている識別情報と重複する識別情報は書き込み対象から除外される。
【００９３】
そして、分析部１６は、データ格納部３内の全てのログと分析対象のログとの比較が完了したか否かを判定し（Ｓ４５）、完了していなければ（Ｓ４５，Ｎｏ）、比較するデータ格納部内のログを次にシフトして比較を繰り返す（Ｓ４３，Ｓ４１）。
【００９４】
全てのログの比較を終え、問題発生リストが完成した場合（Ｓ４５，Ｙｅｓ）、分析部１６は、当該問題発生リストに記載された識別情報、即ち問題が発生したことがあるシステムの識別情報と対応する管理データをデータ格納部３から抽出する。そして、分析部１６は、図２０を用いて後述するように、問題が発生したことがあるシステム全てに共通するデータをスキーマに従い１つの木構造にマッピングし、問題発生共通木を作成する（Ｓ４６）。ここで、木構造のスキーマは、運用管理システムにあらかじめ定義されているものでもよいし、分析に際して管理者が定義したものでもよい。データのマッピングにおいて、もし、あるノードに対して共通するデータがなかった場合は、当該ノードおよびそれ以下の子ノードは削除する。
【００９５】
図２０は、問題発生共通木の作成処理の具体例を示す図である。
【００９６】
分析部１６は、問題発生リストに記載された識別番号に基づき、互いに問題が発生したことがあるシステムＡの管理データ１０１とシステムＢの管理データ１０２をデータ格納部３から抽出し、比較する。
【００９７】
管理データ同士の比較の結果、分析部１６は、Machine:X series, CPU:X cpu, OS:X OS, Soft:Y packageをシステムＡとシステムＢとの共通の構成として抽出する。なお、図２０において、管理データの各項目は、（構成の種別：データ値）の形式で示されている。例えばMachine, CPU, OSが構成の種別であり、X series, X cpu, X OSがデータ値である。
【００９８】
スキーマ１０３は、図２０に示すように、構成の従属関係を木構造に定義している。そして、分析部１６は、スキーマ１０３の定義に従い、当該データ値と対応する構成のノードに管理データのデータ値を設定し、対応するデータ値が無いノードを削除して、問題発生共通木１０４を作成する。即ち、分析部１６は、X cpuをCPUのノードに設定し、X seriesをMachineのノードに設定し、X OSをOSのノードに設定する。また、分析部１６は、対応するデータ値が無いMEM、OSverのノードをスキーマ１０３から削除する。
【００９９】
なお、スキーマ１０３は、例えばノード毎に図２１に示すように、構成の種別とデータ値、子ノードを示すポインタリストを有することで、ノード間の従属関係が特定できるので図２０や図２２に示した木構造を定義できる。構成の種別は、MachineやOSといった木構造のノードとなる構成を示す情報であり、子ノードを示すポインタリストは子ノードのデータが格納されているメモリ領域のアドレスである。図２１では、ＯＳのノードに従属する三つの子ノードのアドレスの例が示されている。
次に分析部１６は、データ格納部３から抽出した問題が発生したことがあるシステムの管理情報の全てをスキーマに従い１つの木構造にマッピングした問題発生木を作成する（Ｓ４７）。
【０１００】
図２２は、問題発生木の例を示す。問題発生木１０５は、問題発生共通木１０４と比べて木構造にマッピングするデータを共通点で絞り込まない点が異なり、スキーマ１０３や管理データは同じである。分析部１６は、問題発生リストに記載された識別番号に基づき、問題が発生したことがあるシステムＡの管理データ１０１とシステムＢの管理データ１０２をデータ格納部３から抽出し、絞り込まずに全てのデータをスキーマ１０３に従い木構造にマッピングする。図２２に示すように、問題発生木では、データを共通点で絞りこまないため、Y mem, X memのように、データ値が異なる同じデータ種別のノードが複数存在し得る。
【０１０１】
更に、分析部１６は、Ｓ４４で作成した問題発生リストに記載されていない識別番号、即ち問題が発生していないシステムの識別情報と対応する管理データをデータ格納部３から抽出する。また、分析部１６は、この問題が発生していないシステムの管理情報の全てをスキーマ１０３に従い１つの木構造にマッピングした問題非発生木を作成する（Ｓ４８）。
【０１０２】
そして、比較部１５は、問題発生共通木、問題発生木及び問題非発生木を比較して、問題の解析に意味のある差分、即ち問題が発生するステムの特徴を抽出し、分析結果として前述のリストに加える（Ｓ４９）。
【０１０３】
マネージャ１０の比較部１５は、ノードを比較して特徴を探索する際の起点となるノードを1つ決定し、そのノードの子ノードについて差分を抽出していく。木構造の探索は、問題発生共通木のルートノードから始め、リーフに向かって進めていく。探索順序に関するアルゴリズムは、特に制限されない。例えば、代表的な幅優先探索や深さ優先探索などの方法が用いられる。所定のアルゴリズムに従って比較部１５は、問題発生共通木、問題発生木及び問題非発生木の何れか２つの木構造が共通して持っているノードに対して探索を進めていき、その先にある差分を特徴として抽出する。
【０１０４】
図２３は、図１９のＳ４９で行う問題が発生したシステムの特徴を抽出する処理の説明図である。
【０１０５】
比較部１５は、先ず、問題発生共通木のルートノードを探索の起点とするノード、即ち探索対象ノードに設定する（Ｓ５１）。
比較部１５は、探索対象ノードに子ノードがあるか否かを判定する（Ｓ５２）。
【０１０６】
探索対象ノードに子ノードがある場合（Ｓ５２，Ｙｅｓ）、比較部１５は、問題発生共通木の探索対象ノードの子ノード群のうちの1つを比較の対象とするノード、即ち比較対象ノードとし、当該比較対象ノードと問題非発生木にある同じ種別のノード群とを比較する（Ｓ５３）。
【０１０７】
比較部１５は、比較の結果、比較対象ノードと同じデータ値のノードが問題非発生木にあるか否かを判定し（Ｓ５４）、同じデータ値のノードが見つかった場合（Ｓ５４，Ｙｅｓ）、当該ノードを次回以降の探索対象ノードを選択するためのリスト、即ち探索対象リストに記録する（Ｓ５５）。
【０１０８】
一方、同じデータ値のノードが問題非発生木から見つからなかった場合（Ｓ５４，Ｎｏ）、比較部１５は、当該子ノード、即ち同じデータ値のノードが問題非発生木から見つからなかった比較対象ノードを問題の発生したシステムの特徴として分析結果のリストに記録する（Ｓ５６）。
【０１０９】
次に、比較部１５は、Ｓ５３で比較対象としている問題非発生木の子ノードが親ノードと関連する構成であるか否かを判定する（Ｓ５７）。問題非発生木の子ノードと親ノードとが関連する構成であった場合、比較部１５は、当該問題非発生木の子ノードとデータ値が一致するノードが問題発生木に存在するかを検索する。そして比較部１５は、当該問題非発生木の子ノードとデータ値が一致するノードが問題発生木に存在しなければ、「問題が発生したシステムに当該問題非発生木の子ノードがない」ことを特徴として分析結果のリストに記録する（Ｓ５８）。
【０１１０】
ここで、問題発生木と比較するのはＳ５７で問題非発生木の親ノードと関連する構成と判定した子ノードであり、属性のノードは問題発生木との比較対象としていない。この理由は、同じデータ種別の属性ノードを特徴として抽出する場合、その属性ノードが問題の発生したシステムの全てに共通していることに意味があり、その他の属性ノードの情報は不要なためである。例えば、ＯＳの版数を比較対象のデータ種別としている図２４を例にすると、問題発生共通木では、問題の発生したシステムで共通するデータで絞り込まれているため、版数を示すノードは一つである。一方、問題非発生木は、問題の発生していないシステムのすべてのデータから作成されている。図２４の例では、問題発生共通木に存在する「V3」を問題の発生したシステムの特徴として抽出すれば十分な情報となる。「Ｖ３」に加えて、「V4でない」、「V5でない」という特徴を抽出しても冗長となる。
【０１１１】
Ｓ５７で子ノードが親ノードと関連する構成でなかった場合（Ｓ５７，Ｎｏ）、あるいはＳ５５，Ｓ５８の処理実行後、比較部１５は、問題発生共通木の探索対象ノードの下に問題非発生木のノードと比較していない子ノードが有るか否かを判定する（Ｓ５９）。比較していない子ノードがあれば（Ｓ５９，Ｙｅｓ）、比較部１５は、次の子ノードを選択して（Ｓ６０）、Ｓ５３に戻り比較処理を繰り返す。
【０１１２】
そして、比較していない子ノードがないと判定された場合（Ｓ５９，Ｎｏ）や、子ノードが無いと判定された場合（Ｓ５２，Ｎｏ）、比較部１５は、探索対象リストにＳ５２以降の処理をしていない探索対象ノードがあるか否かを判定する（Ｓ６１）。Ｓ５２以降の処理をしていない探索対象ノードがある場合（Ｓ６１，Ｙｅｓ）、探索対象リストから次の探索対象ノードを選択してＳ５２へ戻る。そして、Ｓ５２以降の処理をしていない探索対象ノードが無い場合（Ｓ６１，Ｎｏ）、比較部１５は、探索の処理を終了する。
【実施例】
【０１１３】
マネージャ１０のデータ格納部３に保持するデータ形態として、ここではリレーショナルデータベースで実現した例を示す。図２６は、データスキーマ１３０をInfomation Engineering形式のER図（entity-relationship diagram）で表した例である。【０１１４】
各テーブルは、システムに含まれる構成を示すデータ、即ち構成データを記憶したテーブルや、ログデータを記憶したテーブルである。例えば、システムを示す構成情報(System ID)を記憶したSystemテーブルや、コンピュータ等の設備（Machine）を示す構成情報を記憶したMachineテーブル、ＣＰＵを示す構成情報を記憶したCPUテーブル、メモリを示す構成情報を記憶したMemoryテーブル、ＯＳを示す構成情報を記憶したOSテーブル、ソフトウェアを示す構成情報を記憶したsoftwareテーブル、ログを記憶したLogテーブルである。これらのテーブルに記憶されている各構成データは、他の構成データとの識別するためのIDをプライマリキー４１として有する。例えば、MachineテーブルのMachine_IDは、当該Machine_IDが付されたMachinのデータと他のMachineのデータとを識別するための識別情報であり、また、Machine_IDは、従属関係を特定するための情報であり、ＣＰＵやメモリの親ノードを識別する識別情報である。各テーブルは、プライマリキー以外に、テーブルがモデリングしている構成の属性、例えば：MachineテーブルのMachine_Name, Model_Noを有することができる。また、ルートノード以外のテーブルは、当該テーブルがモデリングしている構成と関連する構成、本例では親ノードを示す外部キー４２を含む。例えば、System tableが外部キー４２を含まないことで、ルートノードであることを示し、MachineテーブルがSystem_IDを格納していることで、MachineがSystemの構成物であることを示す。【０１１５】
また、Logテーブルは、ログデータを表すためのテーブルであり、System_IDによってログを出力した情報システムを特定できるようにする。エージェントのログ収集部３１１は、所属するシステムがマネージャ１０の管理対象としてマネージャ１０に登録される際にマネージャから送信されるSystem_IDを保持しておき、LogテーブルにSystem_IDを書き込む。エージェントのログ収集部３１１は、所属するシステムのログを監視し、新規にログがシステムから出力された際に、スキーマが示すフォーマットでログデータをマネージャ１０に送信する。マネージャ１０は、エージェントから受信したログデータを蓄積して保持する。【０１１６】
構成データは、マネージャ１０が定期的にポーリングして取得する形態でもよいが、本例では、エージェントのハード情報収集部３１２及びソフト情報収集部３１３がマネージャ１０に送信するものとする。エージェントは、ＯＳやファームウェアにアクセスすることで、管理対象としているシステムの構成データを取得する。そして、監視しているシステム情報に変化が生じた場合に、変化のあった構成データをマネージャ１０に送信する。【０１１７】
マネージャ１０は、エージェントから受信した構成データでデータ格納部３内の既存のデータを上書きする。しかし、データ格納部３の容量を十分に確保できる場合は、受信したデータを蓄積して保持し、1つのシステムから時系列で複数の構成データを取れるようにすることもできる。このように複数の構成データを保持することで、データ分析の際に多くのサンプリングデータを対象にできるので、分析結果の信頼性の向上が期待できる。【０１１８】
管理者は、クライアント２０が表示する図２のようなログ参照画面により、管理対象システムで発生している問題を認識する。そして、管理者が、ログ一覧の中からデータ分析の対象とするログを選択し、問題の発生しているシステムの特徴を表示するようにコマンドを実行すると、クライアント２０は、当該システムについての分析の要求をマネージャ１０に送信する。【０１１９】
マネージャ１０の分析部１６によるデータ分析は、リレーショナルデータベースの演算を利用することで、実現できる。【０１２０】
問題を発生したことがあるシステムの抽出は、次のSQL文を実行する。
SELECT  DISTINCT  System_ID  FROM  Log
WHERE  Log_ID  =   <管理者が選択したログのLog_ＩＤ>
ここで、分析部１６は、前記のSQL文の実行結果をTROUBLE_SYSTEMSという名前の一時テーブルに保存する。【０１２１】
問題を発生したことがないシステムの抽出は、次のSQL文を実行する。
SELECT  System_ID  FROM  System
WHERE  System_ID  NOT IN
(SELECT  System_ID  FROM  TROUBLE_SYSTEMS)
ここで、分析部１６は、前記のSQL文の実行結果をNON_TROUBLE_SYSTEMSという名の一時テーブルに保存する。【０１２２】
次に、分析部１６は、問題発生共通木、問題発生木および問題非発生木を作成するために、Logテーブル以外のテーブルを結合させ、システムの一覧表、即ちシステムに含まれる構成の一覧を作成する。ここでは、Systemテーブル、OSテーブルおよびSoftwareテーブルを結合する場合のSQL文を例として示すが、実際には、分析部１６が、同様の式でLogテーブル以外の全てのテーブルを結合する。
SELECT System.System_ID, OS_Name, OS_Ver, Soft_Name, Soft_Ver
FROM System, OS, Software
WHERE System.System_ID = OS.System_ID AND OS.OS_ID = Software.OS_ID
分析部１６は、ここで、得られるシステムの一覧表をSYSTEM＿LISTという名の一時テーブルに保存する。【０１２３】
問題発生木は、システム一覧表SYSTEM_LISTから、TROUBLE_SYSTEMSに記憶されているSystem IDを有するシステム、即ち問題が発生したシステムを抽出することで得ることができる。
SELECT * FROM SYSTEM_LIST
WHERE System_ID IN (SELECT System_ID FROM TROUBLE_SYSTEMS)
分析部１６は、前記のSQL文の実行結果として得られる問題発生木、即ち問題が発生したシステムに含まれる構成を示す構成データとその従属関係示すプライマリキー４１及び外部キー４２とをTROUBLE_SYSTEM_TREEという名の一時テーブルに保存する。【０１２４】
問題発生共通木は、問題発生木の一時テーブルTROUBLE_SYSTEM_TREEの列毎に、構成データの種類が保存されている場合に、当該テーブルの列の要素が1種類であるもの、即ち問題が発生したシステム全てに共通した構成の構成データであって、TROUBLE_SYSTEM_TREEに１種類のみが保存された構成データを抜き出すことで作成することができる。分析部１６は、列の要素が１種類かどうかを以下のSQL文で調べることができる。この例では、OS_Nameの種類数が調べられる。
SELECT COUNT(DISTINCT OS_Name) FROM TROUBLE_SYSTEM_TREE
前記の結果が1である場合、分析部１６は、以下のSQL文で得られる結果を問題発生共通木の構成要素とする。
SELECT DISTINCT OS_Name FROM TROUBLE_SYSTEM_TREE
分析部１６は、TROUBLE_SYSTEM_TREEの各列に対して同様の式を実行して得られる結果から、問題発生共通木を作成することができる。
問題非発生木は、システム一覧表SYSTEM_LISTから、TROUBLE_SYSTEMSに記憶されていないSystem IDを有するシステム、即ち問題が発生したことがないシステムを抽出することで得ることができる。
SELECT * FROM SYSTEM_LIST
WHERE System_ID IN (SELECT System_ID FROM NON_TROUBLE_SYSTEMS)
以上により得られたデータをもとに、図２３に示す手順で問題が発生したシステムの特徴を抽出することができる。図２７は、問題が発生したシステムの特徴を受信したクライアント２０が、管理者に向けて示す結果画面の例である。図２７の例は、問題の発生したシステムの特徴を、ＯＳとして「X OS」を導入しており、ソフトウェアとして「X package」と「Y package」を持っていないこととしている。【０１２５】
以上のように、本実施形態によれば、問題が発生したシステムの特徴を容易に抽出する技術を提供できる。【０１２６】
特に、本実施形態によれば、問題の発生したシステムと類似していながら問題が発生しないシステムと、問題の発生したシステムとの差分を抽出するので、原因の検出に貢献する可能性が高い差分を抽出することができる。このため、経験の浅い管理者であっても問題の原因を特定することが容易になる。【０１２７】
なお、本実施形態では、図２３に示すように、探索対象ノードの子ノードの差異、即ち、問題発生共通木と問題非発生共通木とに共通する構成（探索ノード）に、従属する構成（子ノード）の差異を特徴として抽出する。ここで、従属する構成（子ノード）とは、共通する構成（探索ノード）の為だけに用いられるものに限らず、スキーマによって従属関係が定義されたものであれば、ユーザが任意に追加可能な汎用的な構成等であっても良い。【０１２８】
〈その他〉
本発明は、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。【０１２９】
例えば、前述の運用管理ソフトウェアや、クライアントプログラム、エージェントプログラムは、コンピュータが読み取り可能な記録媒体に記録されたものでも良い。【０１３０】
ここで、コンピュータが読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータから読み取ることができる記録媒体をいう。このような記録媒体の内コンピュータから取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、CD-ROM、CD-R/W、DVD、DAT、８mmテープ、メモリカード等がある。【０１３１】
また、コンピュータに固定された記録媒体としてハードディスクやＲＯＭ（リードオンリーメモリ）等がある。
【図１】
0005532053.tif 000002
【図２】
0005532053.tif 000003
【図３】
0005532053.tif 000004
【図４】
0005532053.tif 000005
【図５】
0005532053.tif 000006
【図６】
0005532053.tif 000007
【図７】
0005532053.tif 000008
【図８】
0005532053.tif 000009
【図９】
0005532053.tif 000010
【図１０】
0005532053.tif 000011
【図１１】
0005532053.tif 000012
【図１２】
0005532053.tif 000013
【図１３】
0005532053.tif 000014
【図１４】
0005532053.tif 000015
【図１５】
0005532053.tif 000016
【図１６】
0005532053.tif 000017
【図１７】
0005532053.tif 000018
【図１８】
0005532053.tif 000019
【図１９】
0005532053.tif 000020
【図２０】
0005532053.tif 000021
【図２１】
0005532053.tif 000022
【図２２】
0005532053.tif 000023
【図２３】
0005532053.tif 000024
【図２４】
0005532053.tif 000025
【図２５】
0005532053.tif 000026
【図２６】
0005532053.tif 000027
【図２７】
0005532053.tif 000028