(57)【特許請求の範囲】
【請求項１】
システムの構成情報に含まれる構成要素の種別に基づいて構成要素間の関連を分類する関連クラス適用ルールを参照し、前記構成情報に含まれる構成要素間関係に関連クラスを適用する関連クラス適用部と、
前記構成要素に発生する異常の種別と当該異常の原因調査時に辿るべき関連クラス及び方向とを対応付けた調査内容情報を参照し、異常が発生した構成要素の各々について前記調査内容情報に従って辿った構成要素及び関連クラスを調査範囲として決定する調査範囲決定部と、
前記異常が発生した構成要素の各々について求めた調査範囲における前記構成要素の出現頻度に基づいて前記異常の原因となる障害発生箇所を推定する障害発生箇所推定部と
を備えたことを特徴とする障害箇所推定システム。
【請求項２】
前記システムは、前記構成要素として物理マシン、仮想マシン、サービスを有する仮想ネットワークである
ことを特徴とする請求項１に記載の障害箇所推定システム。
【請求項３】
前記関連クラスは、前記関連のソースとなる構成要素の停止が当該関連のターゲットとなる構成要素の停止を引き起こす依存クラス、前記関連のソースとなる構成要素の性能異常が当該関連のターゲットとなる構成要素の性能に影響を与える影響クラス、前記関連のターゲットとなる構成要素が当該関連のソースを利用する利用クラスのうち、少なくともいずれかを含む
ことを特徴とする請求項１または２に記載の障害箇所推定システム。
【請求項４】
前記調査内容情報は、前記異常の種別が構成要素の停止である場合に前記依存クラスの関連をソース側に辿ることを規定し、前記異常の種別が構成要素の性能異常である場合に前記影響クラスの関連をソース側に辿ることを規定し、前記異常の種別が構成要素の動作遅延である場合に前記利用クラスの関連をソース側に辿り、当該ソース側の構成要素から前記影響クラスの関連をターゲット側に辿ることを規定する
ことを特徴とする請求項３に記載の障害箇所推定システム。
【請求項５】
前記関連クラス適用ルールは、構成要素間関係をさらに用いて構成要素間の関連に前記関連クラスのいずれを適用するかを定め、前記関連クラス適用部は、前記システムの稼動情報を参照して構成要素間関係に対応する稼動状態が存在する場合に前記関連クラスの適用を行なう
ことを特徴とする請求項１〜４のいずれか一つに記載の障害箇所推定システム。
【請求項６】
システムの構成情報に含まれる構成要素の種別に基づいて構成要素間の関連を分類する関連クラス適用ルールを参照し、前記構成情報に含まれる構成要素間関係に関連クラスを適用する関連クラス適用部と、
前記構成要素に発生する異常の種別と当該異常の原因調査時に辿るべき関連クラス及び方向とを対応付けた調査内容情報を参照し、異常が発生した構成要素の各々について前記調査内容情報に従って辿った構成要素及び関連クラスを調査範囲として決定する調査範囲決定部と、
前記異常が発生した構成要素の各々について求めた調査範囲における前記構成要素の出現頻度に基づいて前記異常の原因となる障害発生箇所を推定する障害発生箇所推定部と
を備えたことを特徴とする障害箇所推定装置。
【請求項７】
コンピュータが、
システムの構成情報に含まれる構成要素の種別に基づいて構成要素間の関連を分類する関連クラス適用ルールを参照し、前記構成情報に含まれる構成要素間関係に関連クラスを適用し、
前記構成要素に発生する異常の種別と当該異常の原因調査時に辿るべき関連クラス及び方向とを対応付けた調査内容情報を参照し、異常が発生した構成要素の各々について前記調査内容情報に従って辿った構成要素及び関連クラスを調査範囲として決定し、
前記異常が発生した構成要素の各々について求めた調査範囲における前記構成要素の出現頻度に基づいて前記異常の原因となる障害発生箇所を推定する
各処理を含んだことを特徴とする障害箇所推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、障害箇所推定システム、障害箇所推定装置および障害箇所推定方法に関する。
【背景技術】
【０００２】
従来、構成要素の多い大規模システムでは、異常が発生した場合に原因箇所を特定することが困難であった。そのため、システムの構成要素の因果関係についてマトリクスを作成し、異常が発生した場合にはマトリクスを参照して原因箇所を絞り込むことが行なわれてきた。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平２−２４４３３８号公報
【特許文献２】特開平６−３２４９０４号公報
【特許文献３】特開２００１−２２２４４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、システムごとに因果関係のマトリクスを作成する従来の技術では、システム構成が変化するたびにマトリクスを作り直すこととなる。また、変更直後のシステムでは障害情報が少なく、マトリクスによる原因箇所の絞込みを行なうことができない場合があった。マトリクスによる原因箇所の絞込みができない場合には、作業者が手作業でトラブルを切り分けることとなり、作業工数の増大を引き起こしていた。
【０００５】
また、システムの大規模化に伴い、システムを仮想化した環境、所謂クラウド環境の利用が進んでいる。仮想化したシステムは、サービスの提供に影響を与えることなくシステム構成を動的に変更できることが利点の一つである。このため、システム構成が変更されても原因箇所の特定を支援することのできる技術の実現は、仮想環境でのトラブル調査に特に重要であった。
【０００６】
このように従来の技術では、大規模システムや仮想環境でのトラブル調査に対して充分な支援を行なうことができないという問題点が有り、トラブル調査を支援する技術の実現が重要な課題であった。
【０００７】
開示の技術は、上記に鑑みてなされたものであって、システムのトラブル調査を支援する障害箇所推定システム、障害箇所推定装置および障害箇所推定方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本願の開示する障害箇所推定システム、障害箇所推定装置および障害箇所推定方法は、ネットワークを構成する構成要素を示す構成情報と、構成要素間における異常の伝播方向に基づいて構成要素間の関連を関連クラスに分類する。また、開示のシステム、装置および方法は、異常の種別と当該異常の原因調査時に辿るべき関連クラス及び方向とを対応付けた調査内容を参照し、異常が発生した構成要素について調査範囲に従って辿った構成要素及び関連を調査範囲限定ツリーとして求める。そして、開示のシステム、装置および方法は異常が発生した構成要素の各々について求めた調査範囲限定ツリーにおける構成要素の出現頻度に基づいて前記異常の原因となる障害が発生した箇所の候補を推定する。
【発明の効果】
【０００９】
本願の開示するシステム、装置、方法によれば、システムのトラブル調査を支援する障害箇所推定システム、障害箇所推定装置および障害箇所推定方法を得ることができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施例１にかかる障害箇所推定システムの概要構成図である。
【図２】図２は、実施例２にかかる障害箇所推定装置の概要構成図である。
【図３】図３は、ネットワークに発生した障害を調査するトラブル調査システムの概要構成図である。
【図４】図４は、ネットワークの構成例の説明図である。
【図５】図５は、調査範囲限定ツリーの重ねあわせについての説明図である。
【図６】図６は、構成情報２１の具体例の説明図である。
【図７】図７は、関連クラス２３の具体例の説明図である。
【図８】図８は、関連クラス適用ルール２２の具体例の説明図である。
【図９】図９は、システム稼動情報２６の実行履歴についての説明図である。
【図１０】図１０は、システム稼動情報２６の通信履歴についての説明図である。
【図１１】図１１は、関連クラスを適用した構成情報の説明図である。
【図１２】図１２は、調査内容２４の具体例の説明図である。
【図１３】図１３は、異常検知情報２５の具体例の説明図である。
【図１４】図１４は、障害情報ＤＢ３２と減衰度について説明する説明図である。
【図１５】図１５は、調査範囲限定部１２が作成する調査範囲限定ツリーの説明図である。
【図１６】図１６は、関連クラス適用部１１の処理動作を説明するフローチャートである。
【図１７】図１７は、調査範囲限定部１２の処理動作を説明するフローチャートである。
【図１８】図１８は、図１７に示した調査範囲限定ツリー作成処理について説明するフローチャートである。
【図１９】図１９は、障害発生箇所候補推定部１３による障害発生箇所候補推定処理について説明するフローチャートである。
【図２０】図２０は、ＣＩｖｂ０２からの調査範囲限定ツリーの作成の説明図である。
【図２１】図２１は、ＣＩｖｂ０２のダウンに関する減衰度の説明図である。
【図２２】図２２は、ＣＩｖｂ０２のダウンについて得られた調査範囲限定ツリーの説明図である。
【図２３】図２３は、ＣＩｖｂ０２のダウンについて得られたＣＩ出現数カウント表の説明図である。
【図２４】図２４は、ＣＩＴａからの調査範囲限定ツリーの作成の説明図である。
【図２５】図２５は、ＣＩＴａのダウンに関する減衰度の説明図である。
【図２６】図２６は、ＣＩＴａのダウンについて得られた調査範囲限定ツリーの説明図である。
【図２７】図２７は、ＣＩＴａのダウンについて得られたＣＩ出現数カウント表の説明図である。
【図２８】図２８は、ＣＩＴｂからの調査範囲限定ツリーの作成の説明図である。
【図２９】図２９は、ＣＩＴｂのダウンに関する減衰度の説明図である。
【図３０】図３０は、ＣＩＴｂのダウンについて得られた調査範囲限定ツリーの説明図である。
【図３１】図３１は、ＣＩＴｂのダウンについて得られたＣＩ出現数カウント表の説明図である。
【図３２】図３２は、障害候補推定ツリーの作成について説明する説明図である。
【発明を実施するための形態】
【００１１】
以下に、本願の開示する障害箇所推定システム、障害箇所推定装置および障害箇所推定方法の実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。
【実施例１】
【００１２】
図１は、実施例１にかかる障害箇所推定システムの概要構成図である。図１に示した障害箇所推定システム１０は、関連クラス適用部１１、調査範囲限定部１２、障害発生箇所候補推定部１３を有する。
【００１３】
関連クラス適用部１１は、構成情報２１、関連クラス適用ルール２２および関連クラス２３を参照する。構成情報２１は、ネットワークを構成する構成要素を示す情報である。関連クラス２３は、構成要素間における異常の伝播方向に基づいて構成要素間の関連を分類する関連クラスの定義情報である。関連クラス適用ルール２２は、構成要素の種別に基づいて構成要素間の関連に関連クラスのいずれを適用するかを定める情報である。関連クラス適用部１１は、構成情報２１に含まれる構成要素間の関係について、関連クラス適用ルール２２に基づいて関連クラスを適用する。
【００１４】
調査範囲限定部１２は、関連クラス２３、調査内容２４、異常検知情報２５を参照して、調査範囲限定ツリーを求める。調査内容２４は、構成要素に発生する異常の種別と当該異常の原因調査時に辿るべき関連クラス及び方向とを対応付けた情報である。異常検知情報２５は、システムの構成要素について、異常が発生した構成要素と異常の種別を検知した情報である。調査範囲限定部１２は、異常が発生した構成要素の各々について調査範囲に従って辿った構成要素及び関連を調査範囲限定ツリーとして求める。
【００１５】
障害発生箇所候補推定部１３は、異常が発生した構成要素の各々について求めた調査範囲限定ツリーにおける構成要素の出現頻度に基づいて異常の原因となる障害が発生した箇所の候補を推定する。
【００１６】
上述してきたように、本実施例１にかかる障害箇所推定システム１０は、システムの構成要素間の関連を関連クラスに分類し、異常発生時に関連クラスに基づいて構成要素を辿って異常の原因となる障害が発生した範囲を絞り込む。
【００１７】
このように関連クラスを用いた障害発生箇所の絞込みはネットワークシステムの構成に依存せず、汎用性が高い。そのため、新たに組んだネットワークシステムに対しても適用でき、またネットワークシステムの構成を変更しても適用可能である。
【００１８】
また、大規模ネットワークシステムや仮想環境でのトラブル調査に対しても障害発生箇所の絞込みを行なってトラブル調査を支援することができる。
【００１９】
なお、関連クラス適用部１１、調査範囲限定部１２、障害発生箇所候補推定部１３は、ネットワークシステム上に分散して配置することができる。また、１つの筐体内に関連クラス適用部１１、調査範囲限定部１２、障害発生箇所候補推定部１３を設けた障害箇所推定装置として実施しても良い。
【実施例２】
【００２０】
図２は、実施例２にかかる障害箇所推定装置の概要構成図である。図１に示した障害箇所推定装置３０は、関連クラス適用部１１、調査範囲限定部１２、障害発生箇所候補推定部１３を有する。加えて、障害箇所推定装置３０は、ＣＭＤＢ（Configuration Management Database）３１、障害情報ＤＢ（Database）３２を有する。
【００２１】
ＣＭＤＢ３１は、ネットワークを構成する構成要素を示す情報である構成情報２１を保持する。障害情報ＤＢ（Database）３２は、過去の異常発生時に辿った関連の履歴を保持するデータベースである。障害情報ＤＢ３２は、一例として操作経路履歴情報２７および障害対処情報２８を保持する。
【００２２】
操作経路履歴情報２７は、過去の異常発生時に原因となった障害箇所を特定するために辿った関連の経路を示す情報である。また、障害対処情報２８は、異常が検知された構成要素から異常の原因として特定された構成要素までの経路情報を含む。
【００２３】
また、障害箇所推定装置３０は、関連クラス適用ルール２２、システム稼動情報２６、関連クラス２３、調査内容２４、異常検知情報２５を使用する。これらの情報は、必要に応じて外部から取得しても良いし、障害箇所推定装置３０内部の任意の記録媒体に記録してもよい。
【００２４】
関連クラス２３は、構成要素間における異常の伝播方向に基づいて構成要素間の関連を分類する関連クラスの定義情報である。関連クラス適用ルール２２は、構成要素の種別に基づいて構成要素間の関連に関連クラスのいずれを適用するかを定める情報である。
【００２５】
システム稼動情報２６は、ネットワークシステムの稼動状態に関する情報であり、構成要素の実行や通信の履歴を含む。調査内容２４は、構成要素に発生する異常の種別と当該異常の原因調査時に辿るべき関連クラス及び方向とを対応付けた情報である。異常検知情報２５は、ネットワークシステムの構成要素について、異常が発生した構成要素と異常の種別を検知した情報である。
【００２６】
関連クラス適用部１１は、構成情報２１、関連クラス適用ルール２２、システム稼動情報２６および関連クラス２３を参照し、構成情報２１に含まれる構成要素間の関係について関連クラスを適用する。
【００２７】
調査範囲限定部１２は、関連クラス２３、調査内容２４、異常検知情報２５、障害情報ＤＢ３２を参照し、異常が発生した構成要素の各々について調査範囲に従って辿った構成要素及び関連を調査範囲限定ツリーとして求める。
【００２８】
障害発生箇所候補推定部１３は、異常が発生した構成要素の各々について求めた調査範囲限定ツリーを重ね合わせて異常の原因となる障害が発生した箇所の候補を推定する。
【００２９】
図３は、ネットワークに発生した障害を調査するトラブル調査システムの概要構成図である。図３に示したトラブル調査システム４０は、異常検出部４１、障害箇所推定部４２、障害原因特定部４３、対処実施部４４を有し、図２に示した障害箇所推定装置３０は障害箇所推定部４２として機能する。
【００３０】
異常検出部４１は、ネットワークの構成要素に発生した異常を検知する処理部であり、検知した異常を障害箇所推定部４２に通知する。障害箇所推定部４２として機能する障害箇所推定装置３０は、通知された情報を異常検知情報２５として使用する。また、障害箇所推定部４２として機能する障害箇所推定装置３０は、異常の原因となる障害が発生した箇所の候補を推定し、障害原因特定部４３に出力する。
【００３１】
障害原因特定部４３は、障害箇所推定部４２の出力を用い、異常の原因となる障害が発生した箇所を特定する。対処実施部４４は、特定された箇所について対処を実行することで、発生した異常を解消する。
【００３２】
図４は、ネットワークの構成例の説明図である。図４に示したネットワークは、構成要素としてＣＩ（Configuration Item）ｐｍ１１〜ｐｍ１３、ＣＩｖａ０１〜０３、ＣＩｖｂ０１〜０３、ＣＩＴａ，Ｔｂを有する。
【００３３】
図４に示したネットワークは、ＣＩｐｍ１１〜ｐｍ１３を物理マシン、ＣＩｖａ０１〜０３およびＣＩｖｂ０１〜０３を仮想マシン、ＣＩＴａ，Ｔｂをサービスとして用いる仮想ネットワークである。各ＣＩは、各々が１つのコンピュータであっても良いし、複数のＣＩが同一のコンピュータ上で動作しても良い。各ＣＩは、ネットワーク上で一意に定まる識別情報を与えられ、個別の構成要素として動作することが出来る。ＣＩを識別する情報をインスタンスとする。
【００３４】
ＣＩ間には、関連が定められている。このＣＩ間の関連をリレーションという。関連には方向が定められ、関連の元をソース（ｓｒｃ）、関連の宛先をターゲット（ｔｇｔ）もしくはディスティネーション（ｄｓｔ）という。
【００３５】
図４に示したネットワークでは、関連ｒｅ１０１〜ｒｅｌ２４が定められている。
関連ｒｅ１０１はＣＩｖａ０１がソース、ＣＩｐｍ１１がターゲットである。
関連ｒｅ１０２はＣＩｐｍ１１がソース、ＣＩｖａ０１がターゲットである。
関連ｒｅ１０３はＣＩｐｍ１１がソース、ＣＩｖｂ０１がターゲットである。
関連ｒｅ１０４はＣＩｖｂ０１がソース、ＣＩｐｍ１１がターゲットである。
関連ｒｅ１０５はＣＩｖａ０２がソース、ＣＩｐｍ１２がターゲットである。
関連ｒｅ１０６はＣＩｐｍ１２がソース、ＣＩｖａ０２がターゲットである。
関連ｒｅ１０７はＣＩｐｍ１２がソース、ＣＩｖｂ０２がターゲットである。
関連ｒｅ１０８はＣＩｖｂ０２がソース、ＣＩｐｍ１２がターゲットである。
関連ｒｅ１０９はＣＩｖａ０３がソース、ＣＩｐｍ１３がターゲットである。
関連ｒｅ１１０はＣＩｐｍ１３がソース、ＣＩｖａ０３がターゲットである。
関連ｒｅ１１１はＣＩｐｍ１３がソース、ＣＩｖｂ０３がターゲットである。
関連ｒｅ１１２はＣＩｖｂ０３がソース、ＣＩｐｍ１３がターゲットである。
関連ｒｅ１１３はＣＩｖａ０１がソース、ＣＩＴａがターゲットである。
関連ｒｅ１１４はＣＩｖａ０２がソース、ＣＩＴａがターゲットである。
関連ｒｅ１１５はＣＩｖａ０３がソース、ＣＩＴａがターゲットである。
関連ｒｅ１１６はＣＩｖｂ０１がソース、ＣＩＴｂがターゲットである。
関連ｒｅ１１７はＣＩｖｂ０２がソース、ＣＩＴｂがターゲットである。
関連ｒｅ１１８はＣＩｖｂ０３がソース、ＣＩＴｂがターゲットである。
関連ｒｅ１１９はＣＩｖａ０２がソース、ＣＩｖａ０１がターゲットである。
関連ｒｅ１２０はＣＩｖａ０３がソース、ＣＩｖａ０２がターゲットである。
関連ｒｅ１２１はＣＩｖｂ０２がソース、ＣＩｖｂ０１がターゲットである。
関連ｒｅ１２２はＣＩｖｂ０３がソース、ＣＩｖｂ０２がターゲットである。
関連ｒｅ１２３はＣＩｖａ０１がソース、ＣＩＴａがターゲットである。
関連ｒｅ１２４はＣＩｖｂ０１がソース、ＣＩＴｂがターゲットである。
【００３６】
このネットワークにおいて、ＣＩＴａおよびＣＩＴｂは、図示しないクライアントからのアクセスを受け、所定のサービスを提供する。仮想マシンであるＣＩｖａ０１は、ＣＩＴａが提供するサービスのウェブ層を担当する。また、仮想マシンであるＣＩｖａ０２は、ＣＩＴａが提供するサービスのアプリ層を担当する。そして、仮想マシンであるＣＩｖａ０３は、ＣＩＴａが提供するサービスのデータベース層を担当する。
【００３７】
同様に、仮想マシンであるＣＩｖｂ０１は、ＣＩＴｂが提供するサービスのウェブ層を担当する。また、仮想マシンであるＣＩｖｂ０２は、ＣＩＴｂが提供するサービスのアプリ層を担当する。そして、仮想マシンであるＣＩｖｂ０３は、ＣＩＴｂが提供するサービスのデータベース層を担当する。
【００３８】
ウェブ層を担当する仮想マシンＣＩｖａ０１と仮想マシンＣＩｖｂ０１は、物理マシンであるＣＩｐｍ１１を使用する。アプリ層を担当する仮想マシンＣＩｖａ０２と仮想マシンＣＩｖｂ０２は、物理マシンであるＣＩｐｍ１２を使用する。データベース層を担当する仮想マシンＣＩｖａ０３と仮想マシンＣＩｖｂ０３は、物理マシンであるＣＩｐｍ１３を使用する。
【００３９】
障害箇所推定装置３０は、このネットワークに異常が発生した場合に、異常を検知したＣＩから関連を辿って調査範囲限定ツリーを作成し、調査範囲限定ツリーを重ね合わせて異常の原因となる障害が発生した箇所の候補を推定する。
【００４０】
図５は、調査範囲限定ツリーの重ねあわせについての説明図である。図５は、ＣＩＴａ，ＣＩｖａ０１，ＣＩｐｍ１１で異常を検知した場合を例示している。障害箇所推定装置３０は、ＣＩＴａから関連を辿ることで調査範囲限定ツリーＡ０１を作成する。調査範囲限定ツリーＡ０１は、ＣＩＴａをルートとし、ＣＩｖａ０１〜０３をＣＩＴａに接続したノードとして有する。さらに、調査範囲限定ツリーＡ０１は、ＣＩｖａ０１に接続したノードとしてＣＩｐｍ１１を有し、ＣＩｖａ０２に接続したノードとしてＣＩｐｍ１２を有する。ここで、調査範囲限定ツリーＡ０１は、ＣＩｐｍ１３を含まない。これは、調査範囲限定ツリーの作成時に辿る関連の範囲を制限することで調査範囲限定ツリーが過度に大きくなることを防いだためである。調査範囲限定ツリーの作成時に辿る関連の範囲に対する制限は、ホップ値と減衰度を定めることで行なうが、ホップ値と減衰度についての説明は後述する。
【００４１】
障害箇所推定装置３０は、ＣＩｖａ０１から関連を辿ることで調査範囲限定ツリーＡ０２を作成する。調査範囲限定ツリーＡ０２は、ＣＩｖａ０１をルートとし、ＣＩｐｍ１１をＣＩｖａ０１に接続したノードとして有する。
【００４２】
障害箇所推定装置３０は、ＣＩｐｍ１１から関連を辿ることで調査範囲限定ツリーＡ０３を作成する。図５に示した例では、ＣＩｐｍ１１から辿ることのできる関連がなく、調査範囲限定ツリーＡ０３はＣＩｐｍ１１のみを有する。
【００４３】
障害箇所推定装置３０は、調査範囲限定ツリーＡ０１〜０３を重ね合わせ、重複が最大となるＣＩｐｍ１１を障害が発生した箇所の候補として推定する。
【００４４】
図６は、構成情報２１の具体例の説明図である。図６に示した構成情報は、ｃｍｄｂタグ内にＣＩを定義するＣｉｓタグと関連を定義するＲｅｌａｔｉｏｎｓタグを有する。Ｃｉｓタグ内には、各ＣＩのｉｄと種別が記述されている
【００４５】
図６に示した例では、Ｃｉｓタグ内にＣＩｐｍ１１〜１３，ＣＩｖａ０１，ＣＩＴｂを例示している。ＣＩｐｍ１１〜１３は、種別として物理マシンであることを示すＰＭが対応付けられている。同様に、ＣＩｖａ０１には、種別として仮想マシンであることを示すＶＡが対応付けられている。そして、ＣＩＴｂには種別としてサービスであることを示すＳｅｒｖｉｃｅが対応付けられている。
【００４６】
図６に示した例では、Ｒｅｌａｔｉｏｎｓタグ内に関連ｒｅｌ０１，０２，２４を例示している。関連ｒｅｌ０１は、ソースｓｒｃがｖａ０１，ターゲットに対応するｄｓｔがｐｍ１１であり、ソースとターゲットの種別の組み合わせを示すタイプとしてｖｍ−ｐｍが対応付けられている。関連ｒｅｌ０２は、ソースｓｒｃがｐｍ１１，ターゲットに対応するｄｓｔがｖａ０１であり、ソースとターゲットの種別の組み合わせを示すタイプとしてｐｍ−ｖｍが対応付けられている。また、関連ｒｅｌ２４は、ソースｓｒｃがｖｂ０１，ターゲットに対応するｄｓｔがＴｂであり、ソースとターゲットの種別の組み合わせを示すタイプとしてｔｅｎａｎｔ−ｖｍが対応付けられている。
【００４７】
図７は、関連クラス２３の具体例の説明図である。関連クラス２３は、依存クラス、影響クラス、ｐ−ｃクラスの３つの関連クラスを定義している。依存クラスは、関連のソースとなるＣＩがダウンして動作を停止した場合に当該関連のターゲットとなるＣＩがダウンする関係である。具体例としては、物理マシン（ＰＭ）がソースであり、仮想マシン（ＶＭ）がターゲットである関連に依存クラスが適用される。
【００４８】
影響クラスは、関連のソースとなるＣＩの性能異常が当該関連のターゲットとなるＣＩの同一項目の性能に影響を与える関係である。具体例としては、仮想マシン（ＶＭ）がソースであり、物理マシン（ＰＭ）がターゲットである関連に影響クラスが適用される。
【００４９】
ｐ−ｃクラスは、関連のターゲットとなるＣＩが当該関連のソースを利用する関係である。具体的には、仮想マシン（ＶＭ）がソースであり、サービスを提供するｔｅｎａｎｔがターゲットである関連に利用クラスが適用される。また、アプリ層の仮想マシン（ＶＭ）がソースであり、ウェブ層の仮想マシン（ＶＭ）がターゲットである関連に利用クラスが適用される。同様に、データベース層の仮想マシン（ＶＭ）がソースであり、アプリ層の仮想マシン（ＶＭ）がターゲットである関連に利用クラスが適用される。
【００５０】
図８は、関連クラス適用ルール２２の具体例の説明図である。図８には、関連クラス適用ルールとしてルールｉｄ０１〜０４の４つのルールを例示する。
【００５１】
ルールｉｄ０１は、ソースが物理マシン（ＰＭ）、ターゲットが仮想マシン（ＶＭ）であって、ソースのＣＩがターゲットのＣＩを実行するｅｘｅｃｕｔｅ（ｓｒｃ，ｄｓｔ）である場合に関連クラスとして依存クラスを適用することを規定している。
【００５２】
ルールｉｄ０２は、ソースが仮想マシン（ＶＭ）、ターゲットが物理マシン（ＰＭ）であって、ソースのＣＩがターゲットのＣＩを実行するｅｘｅｃｕｔｅ（ｓｒｃ，ｄｓｔ）である場合に関連クラスとして影響クラスを適用することを規定している。
【００５３】
ルールｉｄ０３は、ソースが仮想マシン（ＶＭ）、ターゲットが仮想マシン（ＶＭ）であって、ソースのＣＩがターゲットのＣＩに要求を行なうｒｅｑｕｅｓｔ（ｓｒｃ，ｄｓｔ）である場合に関連クラスとしてｐ−ｃクラスを適用することを規定している。
【００５４】
ルールｉｄ０４は、ソースが仮想マシン（ＶＭ）、ターゲットがサービスであって、ソースのＣＩがターゲットのＣＩに要求を行なうｒｅｑｕｅｓｔ（ｓｒｃ，ｄｓｔ）である場合に関連クラスとしてｐ−ｃクラスを適用することを規定している。
【００５５】
図９は、システム稼動情報２６の実行履歴についての説明図である。図９は、ＣＩｐｍ１１の実行履歴を示している。図９に示した例では、ＣＩｐｍ１１は、２００９年５月２９日の０時にＣＩｖｂ０１をシャットダウンし、２００９年５月２９日の９時にＣＩｖａ０１を起動している。
【００５６】
図１０は、システム稼動情報２６の通信履歴についての説明図である。図１０に示した例では、２００９年５月２９日の０時にＣＩｖａ０１がＣＩＴａに対してＨｔｔｐ  ＧＥＴ  ｆｒｏｍの通信を行なっている。
【００５７】
図１１は、関連クラスを適用した構成情報の説明図である。図６に示した構成情報に加え、各関連に対して関連クラスが付加されている。具体的には、関連ｒｅｌ０１の関連クラスを示す記述として  ｃｌａｓｓ＝“Ｉｍｐａｃｔ”が追加されている。ここで、Ｉｍｐａｃｔは影響クラスを示す。また、関連ｒｅｌ０２の関連クラスを示す記述として  ｃｌａｓｓ＝“ＤｅｐｅｎｄＯｎ”が追加されている。ここで、ＤｅｐｅｎｄＯｎは依存クラスを示す。そして、関連ｒｅｌ２４の関連クラスを示す記述として  ｃｌａｓｓ＝“ｐ−ｃ”が追加されている。
【００５８】
図４に示したネットワークの各関連について関連クラスを適用すると、関連ｒｅ１０１，０４，０５，０８，０９，１２は影響クラスである。影響クラスの関連は、図４に破線矢印で示している。関連ｒｅ１０２，０３，０６、０７，１０，１１，１３〜１８は依存クラスである。依存クラスの関連は、図４に実線矢印で示している。関連ｒｅ１１９〜２４はｐ−ｃクラスである。ｐ−ｃクラスの関連は、図４に一点鎖線で示している。
【００５９】
図１２は、調査内容２４の具体例の説明図である。調査内容２４は、ＣＩに発生した異常のタイプがダウン系である場合には、依存クラスの関連をソースに側に辿ることを規定する。また、調査内容２４は、ＣＩに発生した異常のタイプが性能異常系である場合には、影響クラスの関連をソース側に辿ることを規定する。そして調査内容２４は、ＣＩに発生した異常のタイプが遅延系である場合には、ｐ−ｃクラスの関連をソース側に辿り、辿った先のＣＩから影響クラスの関連をターゲット側に辿り、さらに辿った先のＣＩから影響クラスの関連をソース側に辿ることを規定している。
【００６０】
図１３は、異常検知情報２５の具体例の説明図である。異常検知情報２５は、異常を発生したＣＩと発生した異常の症状の種別を有する。図１３に示した例では、ＣＩｖａ０１にダウン系の異常が発生したことを示している。
【００６１】
図１４は、障害情報ＤＢ３２と減衰度について説明する説明図である。障害情報ＤＢ３２は、操作経路履歴情報２７と障害対処情報２８を有する。操作経路履歴情報２７は、ＣＩＴａにサービスエラーが発生した時に最初の操作０１−１として関連ｒｅｌ１３と関連ｒｅｌ０２を辿り、次の操作０１−２として関連ｒｅｌ１４と関連ｒｅｌ０６を辿って障害箇所を調査したことを示している。また、操作経路履歴情報２７は、ＣＩＴｂにサービスエラーが発生した時に操作０２−１として関連ｒｅｌ１７を辿って障害箇所を調査したことを示している。この操作は、作業者が手作業で調査したものであっても良いし、障害箇所推定装置３０が過去に辿ったものであっても良い。
【００６２】
障害対処情報２８は、ＣＩＴａに発生したサービスエラーの原因がＣＩｐｍ１２の障害であったこと、このＣＩｐｍ１２までのＣＩＴａからの経路が関連ｒｅｌ１４，０６であったこと、障害の対処の内容を示している。同様に、障害対処情報２８は、ＣＩＴｂに発生したサービスエラーの原因がＣＩｖｂ０２の障害であったこと、このＣＩｖｂ０２までのＣＩＴｂからの経路が関連ｒｅｌ１７であったこと、障害の対処の内容を示している。
【００６３】
調査範囲限定部１２は、障害情報ＤＢ３２を調査範囲限定ツリーの作成時に辿る関連の範囲を決定する際に使用する。障害箇所推定装置３０は、所定のポップ値を定めておき、関連を辿るたびにホップ値を減らす。そして、ホップ値が０以下とならない範囲で関連を辿って調査範囲限定ツリーを作成する。関連を辿った際にホップ値から減じる値を減衰度とする。
【００６４】
調査範囲限定部１２は、障害情報ＤＢ３２に登録されている関連については減衰度を小さくする。このように履歴を参照して減衰度を変化させることで、過去に調査した範囲や過去の異常の原因となった障害の近傍を重点的に辿る調査範囲限定ツリーを得ることができる。
【００６５】
図１４を参照して、Ｔａのサービスエラーに対する減衰度の算出を説明する。調査範囲限定部１２は、Ｔａのサービスエラーについて操作経路履歴情報２７および障害対処情報２８に登録された関連を計数する。操作経路履歴情報２７および障害対処情報２８には、関連ｒｅｌ０２が１回、関連ｒｅｌ０６が２回、関連ｒｅｌ１３が１回、関連ｒｅｌ１４が２回出現する。その他の関連は出現回数０である。
【００６６】
調査範囲限定部１２は、各関連の出現回数に１を加えた値を重要度として求める。この結果、関連ｒｅｌ０２は重要度２、関連ｒｅｌ０６は重要度３、関連ｒｅｌ１３は重要度２、関連ｒｅｌ１４は重要度３、その他の関連は重要度１となる。
【００６７】
調査範囲限定部１２は、その他の関連、すなわち障害情報ＤＢ３２の対応するエラーに登録されていない関連の減衰度をαとし、αを重要度で除算した値を各関連の減衰度とする。この結果、関連ｒｅｌ０２は減衰度α／２、関連ｒｅｌ０６は減衰度α／３、関連ｒｅｌ１３は減衰度α／２、関連ｒｅｌ１４は減衰度α／３となる。
【００６８】
図１５は、調査範囲限定部１２が作成する調査範囲限定ツリーの説明図である。調査範囲限定部１２は、検知された異常ごとに調査範囲限定ツリーを作成する。図１５に示した例では、調査範囲限定部１２はＣＩｐｍ１２で検知した性能異常について調査範囲限定ツリーｔｒｅｅ１を作成し、ＣＩｖａ０１で検知した遅延について調査範囲限定ツリーｔｒｅｅ２を作成している。
【００６９】
調査範囲限定ツリーｔｒｅｅ１は、ＣＩｐｍ１１がルートであり、ルートにＣＩｖａ０２とＣＩｖｂ０２がノードとして接続したツリーである。調査範囲限定ツリーｔｒｅｅ２は、ＣＩｖａ０１がルートであり、ルートにＣＩｖａ０２とＣＩｐｍ１１がノードとして接続している。さらに調査範囲限定ツリーｔｒｅｅ２は、ＣＩｖａ０２にＣＩｐｍ１２とＣＩｖａ０３がノードとして接続している。そして、調査範囲限定ツリーｔｒｅｅ２は、ＣＩｐｍ１２にＣＩｖｂ０２がノードとして接続し、ＣＩｖａ０３にＣＩｐｍ１３がノードとして接続している。加えて、調査範囲限定ツリーｔｒｅｅ２は、ＣＩｐｍ１１にＣＩｖｂ０１がノードとして接続し、ＣＩｖｂ０１にＣＩｖｂ０２がノードとして接続している。
【００７０】
次に障害箇所推定装置３０の処理動作について説明する。図１６は、関連クラス適用部１１の処理動作を説明するフローチャートである。関連クラス適用部１１は、まず、構成情報２１から関連を選択し（Ｓ１０１）、選択した関連＄ｒｅｌのソースのＣＩタイプとターゲット、すなわちｄｅｓｔｉｎａｔｉｏｎのＣＩタイプの組み合わせを取得する（Ｓ１０２）。
【００７１】
関連クラス適用部１１は、取得した組み合わせと同一の組み合わせに対応するルールを関連クラス適用ルール２２から検索する（Ｓ１０３）。検索の結果、該当するルールが存在する場合（Ｓ１０４，Ｙｅｓ）、該当ルールのｓｒｃとｄｓｔの関係を参照する。
【００７２】
該当ルールのｓｒｃとｄｓｔの関係がｅｘｅｃｕｔｅであれば（Ｓ１０５，Ｙｅｓ）、関連クラス適用部１１は、ｓｒｃのＣＩの実行履歴をシステム稼動情報２６から参照し、ｄｓｔのＣＩを実行した履歴があるか否かを確認する（Ｓ１０６）。そしてｄｓｔのＣＩの実行を確認できた場合（Ｓ１０７，Ｙｅｓ）には、関連クラス適用部１１は、関連＄ｒｅｌに関連クラスを適用する（Ｓ１１１）。
【００７３】
一方、該当ルールのｓｒｃとｄｓｔの関係がｅｘｅｃｕｔｅで無い場合、すなわちｓｒｃとｄｓｔの関係がｒｅｑｕｅｓｔである場合（Ｓ１０５，Ｎｏ）、関連クラス適用部１１は、ｓｒｃからｄｓｔにリクエストが流れているかを通信履歴から確認する（Ｓ１０９）。そしてｄｓｔからｄｓｔへのリクエストを確認できた場合（Ｓ１１０，Ｙｅｓ）には、関連クラス適用部１１は、関連＄ｒｅｌに関連クラスを適用する（Ｓ１１１）。
【００７４】
関連クラスの適用（Ｓ１１１）の後、ｄｓｔの起動を確認できなかった場合（Ｓ１０７，Ｎｏ）、リクエストを確認できなかった場合（Ｓ１１０，Ｎｏ）、該当するルールが存在しなかった場合（Ｓ１０４，Ｎｏ）、関連クラス適用部１１は、構成情報２１の全ての関連について確認を行なったかを判定する（Ｓ１０８）。確認を行なっていない関連が存在する場合（Ｓ１０８，Ｎｏ）、関連クラス適用部１１は、次の関連を選択する（Ｓ１０１）。そして、構成情報２１の全ての関連について確認を行なった（Ｓ１０８，Ｙｅｓ）後、関連クラス適用部１１は処理を終了する。
【００７５】
図１７は、調査範囲限定部１２の処理動作を説明するフローチャートである。調査範囲限定部１２は、異常検知情報２５から発生した異常のリストを取得し（Ｓ２０１）、異常を１つ選択する（Ｓ２０２）。調査範囲限定部１２は、選択した異常のＣＩと異常タイプを取得し（Ｓ２０３）、調査範囲限定ツリー作成処理を行なう（Ｓ２０４）。
【００７６】
調査範囲限定部１２は、作成した調査範囲限定ツリーを調査範囲限定ツリーリストに追加（Ｓ２０５）し、全ての以上について処理を行なったか否かを判定する（Ｓ２０６）。処理を行なっていない異常が残っている場合（Ｓ２０６，Ｎｏ）には、調査範囲限定部１２は、異常のリストから次の異常を選択する（Ｓ２０２）。
【００７７】
全ての異常について処理が終了した場合（Ｓ２０６，Ｙｅｓ）には、調査範囲限定部１２は、作成した調査範囲限定ツリーリストを障害発生箇所候補推定部１３に出力し、障害箇所候補推定処理を行なわせて（Ｓ２０７）、処理を終了する。
【００７８】
図１８は、図１７に示した調査範囲限定ツリー作成処理について説明するフローチャートである。調査範囲限定部１２は、ホップ値を初期化し（Ｓ３０１）、異常タイプに合った調査内容を選択する（Ｓ３０２）。そして、異常が発生したＣＩをルートとしてノードに追加する（Ｓ３０３）。
【００７９】
調査範囲限定部１２はノードからＣＩを選択し、（Ｓ３０４）、選択したＣＩをターゲットとする関連のうち調査内容が指定するクラスの関連を検索してリスト化する（Ｓ３０５）。
【００８０】
リストに関連が残っていれば（Ｓ３０６，Ｙｅｓ）、調査範囲限定部１２は、リストから関連を一つ選択し（Ｓ３０８）、選択した関連の減衰度を計算する（Ｓ３０９）。計算した減衰度がホップ値未満であれば（Ｓ３１０，Ｙｅｓ）、調査範囲限定部１２は、ホップ値から減衰度を減算し、ホップ値を更新する（Ｓ３１１）。そして調査範囲限定部１２は、選択した関連のソースであるＣＩを取得し（Ｓ３１２）。取得したＣＩがノードのリストに登録済みであるかを判定する（Ｓ３１３）。
【００８１】
取得したＣＩがノードのリストに登録済みでなければ（Ｓ３１３，Ｎｏ）、調査範囲限定部１２は、取得したＣＩを子ノードとしてノードのリストに追加する（Ｓ３１４）。子ノードの追加後、もしくは取得したＣＩが既に登録済みである場合（Ｓ３１３，Ｙｅｓ）、調査範囲限定部１２は、調査範囲限定ツリーを更新する（Ｓ３１５）。なお、子ノードを追加した場合には、子ノードにはその時点でのホップ値を対応付けて記憶する。
【００８２】
調査範囲限定ツリーを更新した（Ｓ３１５）後、もしくは減衰度がホップ値以上である場合（Ｓ３１０，Ｎｏ）、調査範囲限定部１２は、選択したＣＩの関連がリストに残っているかを判定する（Ｓ３０６）。
【００８３】
選択したＣＩの関連がリストに残っていなければ（Ｓ３０６，Ｎｏ）、調査範囲限定部１２は、未選択のＣＩがノードとして残っているかを判定する（Ｓ３０７）。未選択のＣＩが残っていれば（Ｓ３０７，Ｙｅｓ）、調査範囲限定部１２はＣＩの選択に戻る（Ｓ３０４）。そして、未選択のＣＩが残っていなければ（Ｓ３０７，Ｎｏ）、調査範囲限定部１２は処理を終了する。
【００８４】
図１９は、障害発生箇所候補推定部１３による障害発生箇所候補推定処理について説明するフローチャートである。障害発生箇所候補推定部１３は、ＣＩ出現数カウント表を作成する（Ｓ４０１）。作成時点のＣＩ出現数カウント表は、ＣＩが登録されていない空データである。
【００８５】
障害発生箇所候補推定部１３は、調査範囲限定部１２が作成した調査範囲限定ツリーリストから調査範囲限定ツリーを１つ選択する（Ｓ４０２）。次に、障害発生箇所候補推定部１３は、選択した調査範囲限定ツリーからノードを１つ選択する（Ｓ４０３）。
【００８６】
障害発生箇所候補推定部１３は、選択したノードがＣＩ出現数カウント表に登録されているかを確認する（Ｓ４０４）。選択したノードがＣＩ出現数カウント表に登録されていなければ（Ｓ４０４，Ｎｏ）、障害発生箇所候補推定部１３は、選択したノードをＣＩ出現数カンウト表に登録し、カウンタを１にセットする（Ｓ４０５）。一方、選択したノードがＣＩ出現数カンウト表に登録されている場合（Ｓ４０４，Ｙｅｓ）、障害発生箇所候補推定部１３は、選択したノードのカウンタを１増加する（Ｓ４０６）。
【００８７】
ステップＳ４０５またはステップＳ４０６の後、障害発生箇所候補推定部１３は、選択した調査範囲限定ツリーの全ノードについてチェックが終了したかを判定する（Ｓ４０７）。選択した調査範囲限定ツリーにチェックしていないノードが存在する場合（Ｓ４０７，Ｎｏ）には、障害発生箇所候補推定部１３は、選択した調査範囲限定ツリーからのノード選択に戻る（Ｓ４０３）。
【００８８】
選択した調査範囲限定ツリーの全ノードについてチェックが終了した場合（Ｓ４０７，Ｙｅｓ）には、障害発生箇所候補推定部１３は、全ての調査範囲限定ツリーについてチェックを終了したかを判定する（Ｓ４０８）。
【００８９】
チェックしていない調査範囲限定ツリーが残っている場合（Ｓ４０８，Ｎｏ）、障害発生箇所候補推定部１３は調査範囲限定ツリーの選択に戻る（Ｓ４０２）。そして、全ての調査範囲限定ツリーについてチェックを終了した場合（Ｓ４０８，Ｙｅｓ）には、障害発生箇所候補推定部１３はＣＩ出現数カウント表に登録したＣＩをカウンタの値でソートする（Ｓ４０９）。
【００９０】
障害発生箇所候補推定部１３は、ソートしたＣＩのうちカウンタの値が大きい上位３つのＣＩを取得する（Ｓ４１０）。障害発生箇所候補推定部１３は、取得した上位３つのＣＩの関係を取得し（Ｓ４１１）、上位３つのＣＩとその関係から障害発生箇所候補ツリーを作成して（Ｓ４１２）、処理を終了する。
【００９１】
次に、障害箇所推定装置３０の動作について具体例を挙げて説明する。ここでは、図４に示したネットワークにおいて、ＣＩｖｂ０２、ＣＩＴａ、ＣＩＴｂがダウンし、ＣＩＴａ、ＣＩＴｂでサービスエラーが発生した状況を例とする。また、ホップ値の初期値を１０とし、減衰度の基本値αを６とする。
【００９２】
調査範囲限定部１２は、ＣＩｖｂ０２のダウンについて調査範囲限定ツリーを作成する。調査範囲限定部１２は、調査内容２４を参照し、ダウン系の異常であるので、ＣＩｖｂ０２から依存クラスをソース側に辿ることを決定する。図２０に示したように、ＣＩｖｂ０２をターゲットとする依存クラスは、関連ｒｅｌ０７である。
【００９３】
調査範囲限定部１２は、障害情報ＤＢ３２を参照し、関連ｒｅｌ０７の減衰度を求める。図２１は、調査範囲限定部１２が求めた関連ｒｅｌ０７の減衰度である。関連ｒｅｌ０７は、障害情報ＤＢ３２での出現回数が０であり、重要度は１、減衰度は６となる。
【００９４】
減衰度６がホップ値１０よりも小さいので、調査範囲限定部１２は、ＣＩｖｂ０２から関連ｒｅｌ０７を辿ってＣＩｐｍ１２をノードとして登録する。ＣＩｐｍ１２をターゲットとする依存クラスの関係は無いので、調査範囲限定部１２はＣＩｐｍ１２をノードとして障害発生箇所候補ツリーの作成を終了する。
【００９５】
図２２は、ＣＩｖｂ０２のダウンについて得られた調査範囲限定ツリーである。ＣＩｖｂ０２がルートとなり、ＣＩｐｍ１２がノードとして接続されている。この調査範囲限定ツリーについてＣＩ出現数カウント表を作成すると図２３に示したように、ＣＩｖｂ０２とＣＩｐｍ１２の値が１となる。
【００９６】
同様に、調査範囲限定部１２は、ＣＩＴａのダウンについて調査範囲限定ツリーを作成する。調査範囲限定部１２は、調査内容２４を参照し、ダウン系の異常であるので、ＣＩＴａから依存クラスをソース側に辿ることを決定する。図２４に示したように、ＣＩＴａをターゲットとする依存クラスは、関連ｒｅｌ１３〜１５である。
【００９７】
調査範囲限定部１２は、障害情報ＤＢ３２を参照し、関連ｒｅｌ１３〜１５の減衰度を求める。図２５は、調査範囲限定部１２が求めた減衰度である。関連ｒｅｌ１３は、障害情報ＤＢ３２での出現回数が１であり、重要度は２、減衰度は３となる。関連ｒｅｌ１４は、障害情報ＤＢ３２での出現回数が２であり、重要度は３、減衰度は２となる。関連ｒｅｌ１５は、障害情報ＤＢ３２での出現回数が０であり、重要度は１、減衰度は６となる。
【００９８】
調査範囲限定部１２は、関連ｒｅｌ１３の減衰度が３であり、ＣＩＴａでのホップ値１０よりも小さいので、関連ｒｅｌ１３を辿ってＣＩｖａ０１をノードとして登録する。ＣＩｖａ０１でのホップ値は減衰度３を減算されて７となる。
【００９９】
調査範囲限定部１２は、関連ｒｅｌ１４の減衰度が２であり、ＣＩＴａでのホップ値１０よりも小さいので、関連ｒｅｌ１４を辿ってＣＩｖａ０２をノードとして登録する。ＣＩｖａ０２でのホップ値は減衰度２を減算されて８となる。
【０１００】
調査範囲限定部１２は、関連ｒｅｌ１５の減衰度が６であり、ＣＩＴａでのホップ値１０よりも小さいので、関連ｒｅｌ１５を辿ってＣＩｖａ０３をノードとして登録する。ＣＩｖａ０３でのホップ値は減衰度６を減算されて４となる。
【０１０１】
さらに、ノードとした登録したＣＩｖａ０１をターゲットとする依存クラスは、関連ｒｅｌ０２である。また、ＣＩｖａ０２をターゲットとする依存クラスは、関連ｒｅｌ０６である。そして、ＣＩｖａ０３をターゲットとする依存クラスは、関連ｒｅｌ１０である。
【０１０２】
調査範囲限定部１２は、障害情報ＤＢ３２を参照し、関連ｒｅｌ０２，０６，１０の減衰度を求める。図２５には、関連ｒｅｌ０２，０６，１０の減衰度を合わせて示している。関連ｒｅｌ０２は、障害情報ＤＢ３２での出現回数が１であり、重要度は２、減衰度は３となる。関連ｒｅｌ０６は、障害情報ＤＢ３２での出現回数が２であり、重要度は３、減衰度は２となる。関連ｒｅｌ１０は、障害情報ＤＢ３２での出現回数が０であり、重要度は１、減衰度は６となる。
【０１０３】
調査範囲限定部１２は、関連ｒｅｌ０２の減衰度が３であり、ＣＩｖａ０１でのホップ値７よりも小さいので、関連ｒｅｌ０２を辿ってＣＩｐｍ１１をノードとして登録する。ＣＩｐｍ１１でのホップ値は減衰度３を減算されて４となる。ＣＩｐｍ１１をターゲットとする依存クラスの関連は無いので、調査範囲限定部１２はＣＩｐｍ１１で関連を辿ることを停止する。
【０１０４】
調査範囲限定部１２は、関連ｒｅｌ０６の減衰度が２であり、ＣＩｖａ０２でのホップ値８よりも小さいので、関連ｒｅｌ０６を辿ってＣＩｐｍ１２をノードとして登録する。ＣＩｐｍ１２でのホップ値は減衰度２を減算されて６となる。ＣＩｐｍ１２をターゲットとする依存クラスの関連は無いので、調査範囲限定部１２はＣＩｐｍ１２で関連を辿ることを停止する。
【０１０５】
調査範囲限定部１２は、関連ｒｅｌ１０の減衰度が６であり、ＣＩｖａ０３でのホップ値４以上であるので、ＣＩｖａ０３で関連を辿ることを停止する。
【０１０６】
図２６は、ＣＩＴａのダウンについて得られた調査範囲限定ツリーである。ＣＩＴａがルートとなり、ＣＩｖａ０１〜０３がノードとして接続されている。さらにＣＩｖａ０１にはＣＩｐｍ１１がノードとして接続され、ＣＩｖａ０２にはＣＩｐｍ１２がノードとして接続されている。この調査範囲限定ツリーについてＣＩ出現数カウント表を作成すると図２７に示したように、ＣＩＴａ，ＣＩｖａ０１〜０３，ＣＩｐｍ１１〜１２の値が１となる。
【０１０７】
同様に、調査範囲限定部１２は、ＣＩＴｂのダウンについて調査範囲限定ツリーを作成する。調査範囲限定部１２は、調査内容２４を参照し、ダウン系の異常であるので、ＣＩＴｂから依存クラスをソース側に辿ることを決定する。図２８に示したように、ＣＩＴｂをターゲットとする依存クラスは、関連ｒｅｌ１６〜１８である。
【０１０８】
調査範囲限定部１２は、障害情報ＤＢ３２を参照し、関連ｒｅｌ１６〜１８の減衰度を求める。図２９は、調査範囲限定部１２が求めた減衰度である。関連ｒｅｌ１６は、障害情報ＤＢ３２での出現回数が０であり、重要度は１、減衰度は６となる。関連ｒｅｌ１７は、障害情報ＤＢ３２での出現回数が４であり、重要度は５、減衰度は１となる。関連ｒｅｌ１８は、障害情報ＤＢ３２での出現回数が０であり、重要度は１、減衰度は６となる。
【０１０９】
調査範囲限定部１２は、関連ｒｅｌ１６の減衰度が６であり、ＣＩＴｂでのホップ値１０よりも小さいので、関連ｒｅｌ１６を辿ってＣＩｖｂ０１をノードとして登録する。ＣＩｖｂ０１でのホップ値は減衰度６を減算されて４となる。
【０１１０】
調査範囲限定部１２は、関連ｒｅｌ１７の減衰度が１であり、ＣＩＴｂでのホップ値１０よりも小さいので、関連ｒｅｌ１７を辿ってＣＩｖｂ０２をノードとして登録する。ＣＩｖｂ０２でのホップ値は減衰度１を減算されて９となる。
【０１１１】
調査範囲限定部１２は、関連ｒｅｌ１８の減衰度が６であり、ＣＩＴａでのホップ値１０よりも小さいので、関連ｒｅｌ１８を辿ってＣＩｖｂ０３をノードとして登録する。ＣＩｖｂ０３でのホップ値は減衰度６を減算されて４となる。
【０１１２】
さらに、ノードとした登録したＣＩｖｂ０１をターゲットとする依存クラスは、関連ｒｅｌ０３である。また、ＣＩｖｂ０２をターゲットとする依存クラスは、関連ｒｅｌ０７である。そして、ＣＩｖｂ０３をターゲットとする依存クラスは、関連ｒｅｌ１１である。
【０１１３】
調査範囲限定部１２は、障害情報ＤＢ３２を参照し、関連ｒｅｌ０３，０７，１１の減衰度を求める。図２９には、関連ｒｅｌ０３，０７，１１の減衰度を合わせて示している。関連ｒｅｌ０３は、障害情報ＤＢ３２での出現回数が０であり、重要度は１、減衰度は６となる。関連ｒｅｌ０７は、障害情報ＤＢ３２での出現回数が２であり、重要度は３、減衰度は２となる。関連ｒｅｌ１１は、障害情報ＤＢ３２での出現回数が０であり、重要度は１、減衰度は６となる。
【０１１４】
調査範囲限定部１２は、関連ｒｅｌ０３の減衰度が６であり、ＣＩｖｂ０１でのホップ値７以上であるので、ＣＩｖｂ０１で関連を辿ることを停止する。
【０１１５】
調査範囲限定部１２は、関連ｒｅｌ０７の減衰度が２であり、ＣＩｖｂ０２でのホップ値９よりも小さいので、関連ｒｅｌ０７を辿ってＣＩｐｍ１２をノードとして登録する。ＣＩｐｍ１２でのホップ値は減衰度２を減算されて７となる。ＣＩｐｍ１２をターゲットとする依存クラスの関連は無いので、調査範囲限定部１２はＣＩｐｍ１２で関連を辿ることを停止する。
【０１１６】
調査範囲限定部１２は、関連ｒｅｌ１１の減衰度が６であり、ＣＩｖａ０３でのホップ値４以上であるので、ＣＩｖｂ０３で関連を辿ることを停止する。
【０１１７】
図３０は、ＣＩＴｂのダウンについて得られた調査範囲限定ツリーである。ＣＩＴｂがルートとなり、ＣＩｖｂ０１〜０３がノードとして接続されている。さらにＣＩｖｂ０２にはＣＩｐｍ１２がノードとして接続されている。この調査範囲限定ツリーについてＣＩ出現数カウント表を作成すると図３１に示したように、ＣＩＴｂ，ＣＩｖｂ０１〜０３，ＣＩｐｍ１２の値が１となる。
【０１１８】
障害発生箇所候補推定部１３は、ＣＩｖｂ０２、ＣＩＴａ、ＣＩＴｂについて得られた調査範囲限定ツリーを重ね合わせて障害候補推定ツリーを作成する。図３２は、障害候補推定ツリーの作成について説明する説明図である。障害発生箇所候補推定部１３は、ＣＩｖｂ０２、ＣＩＴａ、ＣＩＴｂについて得られたＣＩ出現数カウント表を集計し、カウンタの値が大きい順にソートする。障害発生箇所候補推定部１３は、ソート結果が上位のＣＩから障害候補ツリーを作成する。
【０１１９】
図３２の説明では、障害発生箇所候補推定部１３は、上位２つのＣＩを選択し、選択したＣＩの関連を構成情報２１から得ることで、障害候補推定ツリーを得る。この障害候補推定ツリーに含まれるＣＩや関連が、障害箇所の可能性が高い箇所である。例えば、ＣＩｐｍ１２で障害が発生した結果、ＣＩｖｂ０２、ＣＩＴａ、ＣＩＴｂに異常が発生した場合など、障害箇所での異常が検知されていない状態であっても、障害箇所候補ツリーを参照することでＣＩｐｍ１２に障害が発生した可能性が高いと推定することができる。
【０１２０】
上述してきたように、本実施例２にかかる障害箇所推定装置３０は、システムの構成要素間の関連を関連クラスに分類し、異常発生時に関連クラスに基づいて構成要素を辿って以上の原因となる障害が発生した範囲を絞り込む。
【０１２１】
このように関連クラスを用いた障害発生箇所の絞込みはネットワークシステムの構成に依存せず、汎用性が高い。そのため、新たに組んだネットワークシステムに対しても適用でき、またネットワークシステムの構成を変更しても適用可能である。
【０１２２】
また、開示の技術は、大規模ネットワークシステムや仮想環境でのトラブル調査に対しても障害発生箇所の絞込みを行なってトラブル調査を支援することができる。
【０１２３】
具体的には、構成要素として物理マシン、仮想マシン、サービスを有する仮想ネットワークに開示の技術を適用可能である。また、関連のソースとターゲットの関係から依存クラス、影響クラス、利用クラスを定義し、クラスによって辿る方向を規定することで、実際の構成に依存することなく異常の伝播を定義し、障害箇所を推定することかできる。
【０１２４】
さらに、開示の技術は、ネットワークの稼動情報を参照し、実際の稼動状態に基づいて関連のクラス分けを行なうことで、関連クラスの分類における精度を向上し、もって障害箇所の推定精度を向上することができる。
【０１２５】
また、開示の技術は、構成要素を辿る数を制限するホップ値を定めることで、障害の発生箇所の候補を効率的に絞り込むことができる。さらに、開示の技術は、過去の異常発生時に辿った関連の履歴を参照し、履歴に残された関連に基づいて構成要素を辿る数に重み付けを行なうことで、障害箇所の推定精度を向上することができる。
【０１２６】
なお、実施例に開示の方法、装置、プログラムはあくまで一例であり、構成および動作を適宜変更して実施することができる。例えば、実施例２に開示した装置は、関連クラス適用部１１、調査範囲限定部１２、障害発生箇所候補推定部１３をネットワークシステム上に分散して配置し、障害箇所推定システムとして実施することができる。また、ＣＭＤＢや障害情報ＤＢは、ネットワークシステム上で参照可能に配置してもよい。さらに、ＣＭＤＢや障害情報ＤＢは、他の装置やシステムと共用することもできる。
【０１２７】
また、実施例２では、関連を依存クラス、影響クラス、ｐ−ｃクラスの３つの関連クラスに分類する場合を例示したが、関連クラスの数や定義はこれに限定されるものではなく、任意の数および内容の関連クラスを適宜設定することができる。同様に、関連クラスの適用ルールや利用する稼動情報、調査内容についても、適宜変更して実施可能であることは言うまでもない。また、ホップ値や減衰度による調査範囲限定ツリー作成範囲の限定についても、適宜変更して実施可能である。例えば、ホップ値に変えて辿る構成要素の数の上限を定めてもよい。
【０１２８】
また、実施例２に開示したフローチャートは、その処理の追加、削除、順序の入れ替えを適宜行なって実施することができる。
【０１２９】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１３０】
（付記１）ネットワークを構成する構成要素を示す構成情報と、構成要素間における異常の伝播方向に基づいて前記構成要素間の関連を関連クラスに分類する関連クラス情報と、構成要素の種別に基づいて構成要素間の関連に前記関連クラスのいずれを適用するかを定める関連クラス適用ルールと、を参照し、前記構成情報に含まれる構成要素間の関係について関連クラスを適用する関連クラス適用部と、
前記構成要素に発生する異常の種別と当該異常の原因調査時に辿るべき関連クラス及び方向とを対応付けた調査内容を参照し、異常が発生した構成要素の各々について前記調査範囲に従って辿った構成要素及び関連を調査範囲限定ツリーとして求める調査範囲限定部と、
前記異常が発生した構成要素の各々について求めた調査範囲限定ツリーにおける前記構成要素の出現頻度に基づいて前記異常の原因となる障害が発生した箇所の候補を推定する障害発生箇所候補推定部と
を備えたことを特徴とする障害箇所推定システム。
【０１３１】
（付記２）前記ネットワークは、前記構成要素として物理マシン、仮想マシン、サービスを有する仮想ネットワークであることを特徴とする付記１に記載の障害箇所推定システム。
【０１３２】
（付記３）前記関連クラスは、前記関連のソースとなる構成要素の停止が当該関連のターゲットとなる構成要素の停止を引き起こす依存クラス、前記関連のソースとなる構成要素の性能異常が当該関連のターゲットとなる構成要素の性能に影響を与える影響クラス、前記関連のターゲットとなる構成要素が当該関連のソースを利用する利用クラスのうち、少なくともいずれかを含むことを特徴とする付記１または２に記載の障害箇所推定システム。
【０１３３】
（付記４）前記調査内容は、前記異常の種別が構成要素の停止である場合に前記依存クラスの関連をソース側に辿ることを規定し、前記異常の種別が構成要素の性能異常である場合に前記影響クラスの関連をソース側に辿ることを規定し、前記異常の種別が構成要素の動作遅延である場合に前記利用クラスの関連をソース側に辿り、当該ソース側の構成要素から前記影響クラスの関連をターゲット側に辿ることを規定することを特徴とする付記３に記載の障害箇所推定システム。
【０１３４】
（付記５）前記関連クラス適用ルールは、構成要素間の関係をさらに用いて構成要素間の関連に前記関連クラスのいずれを適用するかを定め、前記関連クラス適用部は、前記ネットワークの稼動情報を参照して構成要素間の関係に対応する稼動状態が存在する場合に前記関連クラスの適用を行なうことを特徴とする付記１〜４のいずれか一つに記載の障害箇所推定システム。
【０１３５】
（付記６）前記調査範囲限定部は、前記構成要素を辿る数を制限する所定値を定めたことを特徴とする付記１〜５のいずれか一つに記載の障害箇所推定システム。
【０１３６】
（付記７）前記調査範囲限定部は、過去の異常発生時に辿った関連の履歴を参照し、履歴に残された関連に基づいて前記構成要素を辿る数に重み付けを行なうことを特徴とする付記６に記載の障害箇所推定システム。
【０１３７】
（付記８）ネットワークを構成する構成要素を示す構成情報と、構成要素間における異常の伝播方向に基づいて前記構成要素間の関連を関連クラスに分類する関連クラス情報と、構成要素の種別に基づいて構成要素間の関連に前記関連クラスのいずれを適用するかを定める関連クラス適用ルールと、を参照し、前記構成情報に含まれる構成要素間の関係について関連クラスを適用する関連クラス適用部と、
前記構成要素に発生する異常の種別と当該異常の原因調査時に辿るべき関連クラス及び方向とを対応付けた調査内容を参照し、異常が発生した構成要素の各々について前記調査範囲に従って辿った構成要素及び関連を調査範囲限定ツリーとして求める調査範囲限定部と、
前記異常が発生した構成要素の各々について求めた調査範囲限定ツリーにおける前記構成要素の出現頻度に基づいて前記異常の原因となる障害が発生した箇所の候補を推定する障害発生箇所候補推定部と
を備えたことを特徴とする障害箇所推定装置。
【０１３８】
（付記９）ネットワークを構成する構成要素を示す構成情報と、構成要素間における異常の伝播方向に基づいて前記構成要素間の関連を関連クラスに分類する関連クラス情報と、構成要素の種別に基づいて構成要素間の関連に前記関連クラスのいずれを適用するかを定める関連クラス適用ルールと、を参照し、前記構成情報に含まれる構成要素間の関係について関連クラスを適用するステップと、
前記構成要素に発生する異常の種別と当該異常の原因調査時に辿るべき関連クラス及び方向とを対応付けた調査内容を参照し、異常が発生した構成要素の各々について前記調査範囲に従って辿った構成要素及び関連を調査範囲限定ツリーとして求める調査範囲限定ステップと、
前記異常が発生した構成要素の各々について求めた調査範囲限定ツリーにおける前記構成要素の出現頻度に基づいて前記異常の原因となる障害が発生した箇所の候補を推定する障害発生箇所候補推定ステップと
を含んだことを特徴とする障害箇所推定方法。
【符号の説明】
【０１３９】
１０    障害箇所推定システム
１１    関連クラス適用部
１２    調査範囲限定部
１３    障害発生箇所候補推定部
２１    構成情報
２２    関連クラス適用ルール
２３    関連クラス
２４    調査内容
２５    異常検知情報
２６    システム稼動情報
２７    操作経路履歴情報
２８    障害対処情報
３０    障害箇所推定装置
３１    ＣＭＤＢ
３２    障害情報ＤＢ
４０    トラブル調査システム
４１    異常検知部
４２    障害箇所推定部
４３    障害原因特定部
４４    対処実施部
ｐｍ１１〜１３，ｖａ０１〜０３，ｖｂ０１〜０３，Ｔａ，Ｔｂ    ＣＩ
ｒｅｌ０１〜２４    関連
【図１】
0005564941.tif 000002
【図２】
0005564941.tif 000003
【図３】
0005564941.tif 000004
【図４】
0005564941.tif 000005
【図５】
0005564941.tif 000006
【図６】
0005564941.tif 000007
【図７】
0005564941.tif 000008
【図８】
0005564941.tif 000009
【図９】
0005564941.tif 000010
【図１０】
0005564941.tif 000011
【図１１】
0005564941.tif 000012
【図１２】
0005564941.tif 000013
【図１３】
0005564941.tif 000014
【図１４】
0005564941.tif 000015
【図１５】
0005564941.tif 000016
【図１６】
0005564941.tif 000017
【図１７】
0005564941.tif 000018
【図１８】
0005564941.tif 000019
【図１９】
0005564941.tif 000020
【図２０】
0005564941.tif 000021
【図２１】
0005564941.tif 000022
【図２２】
0005564941.tif 000023
【図２３】
0005564941.tif 000024
【図２４】
0005564941.tif 000025
【図２５】
0005564941.tif 000026
【図２６】
0005564941.tif 000027
【図２７】
0005564941.tif 000028
【図２８】
0005564941.tif 000029
【図２９】
0005564941.tif 000030
【図３０】
0005564941.tif 000031
【図３１】
0005564941.tif 000032
【図３２】
0005564941.tif 000033