(57)【要約】【課題】障害の影響が及ぶ範囲を正しく特定する。【解決手段】障害検出部１２１は、対象システムを構成する部品について、障害が発生しているか否かを検出する。原因範囲抽出部１２２は、障害が発生していると上記障害検出部１２１が判定した部品の動作が依存する他の部品を抽出して、原因範囲部品とする。障害調査部１２３は、原因範囲抽出部１２２が抽出した原因範囲部品に障害が発生しているか否かを調査する。影響範囲抽出部１３１は、障害が発生していると上記障害検出部１２１または上記障害調査部１２３が判定した部品に動作が依存する他の部品を抽出して、影響範囲部品とする。【選択図】図８
2011113122.tif 000002
【特許請求の範囲】
【請求項１】
複数の部品により構成される対象システムについて部品に発生した障害の影響を分析する障害影響分析装置において、
データを記憶する記憶装置と、データを処理する処理装置と、依存記憶部と、障害検出部と、原因範囲抽出部と、障害調査部と、影響範囲抽出部とを有し、
上記依存記憶部は、上記記憶装置を用いて、上記対象システムを構成する複数の部品それぞれについて、上記部品の動作が依存する他の部品を表わす依存データを記憶し、
上記障害検出部は、上記処理装置を用いて、上記複数の部品のうち少なくともいずれかの部品について、上記部品に障害が発生しているか否かを検出し、
上記原因範囲抽出部は、上記処理装置を用いて、上記依存記憶部が記憶した依存データに基づいて、障害が発生していると上記障害検出部が判定した部品の動作が依存する他の部品を抽出して、原因範囲部品とし、
上記障害調査部は、上記処理装置を用いて、上記原因範囲抽出部が抽出した原因範囲部品について、上記原因範囲部品に障害が発生しているか否かを調査し、
上記影響範囲抽出部は、上記処理装置を用いて、上記依存記憶部が記憶した依存データに基づいて、上記複数の部品のうち障害が発生していると上記障害検出部または上記障害調査部が判定した部品に動作が依存する他の部品を抽出して、影響範囲部品とすることを特徴とする障害影響分析装置。
【請求項２】
上記原因範囲抽出部は、上記処理装置を用いて、上記依存記憶部が記憶した依存データに基づいて、上記対象システムを構成する複数の部品間の依存関係を辿ることにより、障害が発生していると上記障害検出部が検出した部品の動作が依存する他の部品をすべて抽出して、原因範囲部品とすることを特徴とする請求項１に記載の障害影響分析装置。
【請求項３】
上記障害影響分析装置は、更に、依存種別記憶部と、影響内容判定部とを有し、
上記依存種別記憶部は、上記記憶装置を用いて、上記部品の動作が他の部品に依存する依存関係の種別を表わす依存種別データを記憶し、
上記影響内容判定部は、上記処理装置を用いて、上記依存種別記憶部が記憶した依存種別データに基づいて、上記影響範囲抽出部が抽出した影響範囲部品に対してどのような影響が及ぶかを判定することを特徴とする請求項１または請求項２に記載の障害影響分析装置。
【請求項４】
上記依存種別記憶部は、上記記憶装置を用いて、上記依存関係の種別として、上記部品の動作が依存する複数の他の部品が冗長系を構成し、上記複数の他の部品のうち一部の他の部品に障害が発生しても上記部品が正常に動作し、上記複数の他の部品すべてに障害が発生した場合に上記部品が正常に動作しなくなる冗長依存関係を含む依存種別データを記憶し、
上記影響内容判定部は、上記影響範囲抽出部が影響範囲部品として抽出した部品を影響判定対象部品とし、上記処理装置を用いて、上記依存種別記憶部が記憶した依存種別データに基づいて、上記影響判定対象部品の動作が冗長依存関係により依存する複数の他の部品を抽出し、抽出した複数の他の部品のうち一部の他の部品について、障害が発生していると上記障害検出部もしくは上記障害調査部が判定し又は影響範囲部品として上記影響範囲抽出部が抽出した場合に、上記影響判定対象部品の動作の信頼性が低下していると判定することを特徴とする請求項３に記載の障害影響分析装置。
【請求項５】
上記依存種別記憶部は、上記記憶装置を用いて、上記依存関係の種別として、上記部品の動作が依存する複数の他の部品が分散処理を実行し、上記複数の他の部品うち一部の他の部品に障害が発生した場合、上記部品の処理能力が低下する分散依存関係を含む依存種別データを記憶し、
上記影響内容判定部は、上記影響範囲抽出部が影響範囲部品として抽出した部品を影響判定対象部品とし、上記処理装置を用いて、上記依存種別記憶部が記憶した依存種別データに基づいて、上記影響判定対象部品の動作が分散依存関係により依存する複数の他の部品を抽出し、抽出した複数の他の部品のうち一部の他の部品について、障害が発生していると上記障害検出部もしくは上記障害調査部が判定し又は影響範囲部品として上記影響範囲抽出部が抽出した場合に、上記影響判定対象部品の動作の処理能力が低下していると判定することを特徴とする請求項３または請求項４に記載の障害影響分析装置。
【請求項６】
上記対象システムを構成する複数の部品は、上記対象システムによって実現される業務を含み、
上記依存記憶部は、上記記憶装置を用いて、上記業務の実行が依存する他の部品を表わすデータを含む依存データを記憶し、
上記影響範囲抽出部は、上記処理装置を用いて、障害が発生した部品に実行が依存する業務を含む影響範囲部品を抽出することを特徴とする請求項１乃至請求項５のいずれかに記載の障害影響分析装置。
【請求項７】
上記影響範囲抽出部は、上記処理装置を用いて、上記依存記憶部が記憶した依存データに基づいて、上記対象システムを構成する複数の部品間の依存関係を辿ることにより、障害が発生していると上記障害検出部または上記障害調査部が判定した部品に動作が依存する他の部品をすべて抽出して、影響範囲部品とすることを特徴とする請求項１乃至請求項６のいずれかに記載の障害影響分析装置。
【請求項８】
所定の業務を実行する実行システムと、上記実行システムを対象システムとする請求項１乃至請求項７のいずれかに記載の障害影響分析装置とを有することを特徴とする業務システム。
【請求項９】
データを記憶する記憶装置とデータを処理する処理装置とを有する障害影響分析装置が、複数の部品により構成される対象システムについて部品に発生した障害の影響を分析する障害影響分析方法において、
上記記憶装置が、上記対象システムを構成する複数の部品それぞれについて、上記部品の動作が依存する他の部品を表わす依存データを記憶し、
上記処理装置が、上記複数の部品のうち少なくともいずれかの部品について、上記部品に障害が発生しているか否かを検出し、
上記処理装置が、上記記憶装置が記憶した依存データに基づいて、障害が発生していると判定した部品の動作が依存する他の部品を抽出して、原因範囲部品とし、
上記処理装置が、抽出した原因範囲部品について、上記原因範囲部品に障害が発生しているか否かを調査し、
上記処理装置が、上記記憶装置が記憶した依存データに基づいて、上記複数の部品のうち障害が発生していると判定した部品に動作が依存する他の部品を抽出して、影響範囲部品とすることを特徴とする障害影響分析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数の部品により構成されるシステムについて部品に発生した障害の影響を分析する障害影響分析装置に関する。
【背景技術】
【０００２】
複数の部品により構成されるシステムでは、多くの部品の間に依存被依存の関係があるため、ある部品に障害が発生した場合に、その影響を見極めるのが困難な場合がある。そのため、システムの構成情報に基づいて、検出した障害の影響する範囲を分析する技術がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−２５８５０１号公報
【特許文献２】特開平１１−２５９３３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
検出される障害には、元の原因である一次障害のほか、障害が発生している部品に依存しているため発生する二次障害がある。
障害の検出方式によっては、すべての障害が検出されるとは限らず、一次障害を見落とす可能性がある。一次障害を見落とした結果、二次障害が元の原因であるとして、障害の影響範囲を分析すると、障害の影響を過小評価する可能性がある。
この発明は、例えば上記のような課題を解決するためになされたものであり、障害の影響を正しく評価することを目的とする。
【課題を解決するための手段】
【０００５】
この発明にかかる障害影響分析装置は、複数の部品により構成される対象システムについて部品に発生した障害の影響を分析する障害影響分析装置において、
データを記憶する記憶装置と、データを処理する処理装置と、依存記憶部と、障害検出部と、原因範囲抽出部と、障害調査部と、影響範囲抽出部とを有し、
上記依存記憶部は、上記記憶装置を用いて、上記対象システムを構成する複数の部品それぞれについて、上記部品の動作が依存する他の部品を表わす依存データを記憶し、
上記障害検出部は、上記処理装置を用いて、上記複数の部品のうち少なくともいずれかの部品について、上記部品に障害が発生しているか否かを検出し、
上記原因範囲抽出部は、上記処理装置を用いて、上記依存記憶部が記憶した依存データに基づいて、障害が発生していると上記障害検出部が判定した部品の動作が依存する他の部品を抽出して、原因範囲部品とし、
上記障害調査部は、上記処理装置を用いて、上記原因範囲抽出部が抽出した原因範囲部品について、上記原因範囲部品に障害が発生しているか否かを調査し、
上記影響範囲抽出部は、上記処理装置を用いて、上記依存記憶部が記憶した依存データに基づいて、上記複数の部品のうち障害が発生していると上記障害検出部または上記障害調査部が判定した部品に動作が依存する他の部品を抽出して、影響範囲部品とすることを特徴とする。
【発明の効果】
【０００６】
この発明にかかる障害影響分析装置によれば、障害の影響が及ぶ範囲を特定するために一次障害を特定する必要がなく、障害の影響が及ぶ範囲を正しく特定することができる。
【図面の簡単な説明】
【０００７】
【図１】実施の形態１における業務システム８００の全体構成の一例を示すシステム構成図。
【図２】実施の形態１における実行システム８０１の部品の一例を示す図。
【図３】実施の形態１における実行システム８０１の部品の一例を示す図。
【図４】実施の形態１における実行システム８０１の部品の一例を示す図。
【図５】実施の形態１における実行システム８０１の部品の一例を示す図。
【図６】実施の形態１における障害影響分析装置１００の外観の一例を示す斜視図。
【図７】実施の形態１における障害影響分析装置１００のハードウェア資源の一例を示す図。
【図８】実施の形態１における障害影響分析装置１００の機能ブロックの一例を示すブロック構成図。
【図９】実施の形態１における障害影響分析処理Ｓ６００の流れの一例を示す全体フローチャート図。
【図１０】実施の形態１における依存判定処理Ｓ６１０の流れの一例を示す全体フローチャート図。
【図１１】実施の形態１における実行システム８０１を構成する部品の依存関係の一例を示す図。
【図１２】実施の形態１における影響分析処理Ｓ６３０の流れの一例を示すフローチャート図。
【図１３】実施の形態１における依存先追跡処理Ｓ６５０の流れの一例を示すフローチャート図。
【図１４】実施の形態１における依存追跡処理Ｓ６６０の流れの一例を示すフローチャート図。
【図１５】実施の形態１における障害影響分析装置１００の動作の一例を説明する図。
【図１６】実施の形態１における障害影響分析装置１００の動作の一例を説明する図。
【図１７】実施の形態１における障害影響分析装置１００の動作の一例を説明する図。
【図１８】実施の形態２における障害影響分析装置１００の機能ブロックの一例を示すブロック構成図。
【図１９】実施の形態２における影響内容判定部１３３が用いるロジックの一例を示す図。
【図２０】実施の形態２における影響内容判定処理Ｓ６７０の流れの一例を示すフローチャート図。
【発明を実施するための形態】
【０００８】
実施の形態１．
実施の形態１について、図１〜図１７を用いて説明する。
【０００９】
図１は、この実施の形態における業務システム８００の全体構成の一例を示すシステム構成図である。
業務システム８００は、実行システム８０１、障害影響分析装置１００、障害影響表示装置８０２を有する。
実行システム８０１は、業務を実行するシステムである。実行システム８０１は、複数の部品からなる。例えば、実行システム８０１は、複数の計算機を有する。計算機は、実行システム８０１の部品である。計算機は、処理装置（以下「ＣＰＵ」と呼ぶ。）や固定ディスク装置（以下「ＨＤＤ」と呼ぶ。）などのハードウェアからなり、アプリケーションプログラム（以下「ＡＰＰ」と呼ぶ。）やオペレーティングシステム（以下「ＯＳ」と呼ぶ。）などのソフトウェアを実行する。ＣＰＵ・ＨＤＤ・ＡＰＰ・ＯＳなども、実行システム８０１の部品である。また、利用者がＡＰＰなどを使って実行する「処理」や、１以上の「処理」を組み合わせることにより実行システム８０１で実行される「業務」それ自体も、実行システム８０１の部品と考える。
障害影響分析装置１００は、実行システム８０１の部品に発生した障害が、他の部品に与える影響を分析する。
障害影響表示装置８０２は、障害影響分析装置１００が分析した結果を表示する。
【００１０】
図２は、この実施の形態における実行システム８０１の部品の一例を示す図である。
実行システム８０１は、１以上の業務を実行する。それぞれの業務は、１以上の処理の組み合わせにより構成される。例えば、実行システム８０１では、２つの業務８１１，８１２が実行される。業務８１１は、２つの処理８２１，８２２により構成される。業務８１２は、２つの処理８２３，８２４により構成される。
この例において、業務８１１は、処理８２１及び処理８２２の双方に依存している。ここで、「依存」とは、依存先に障害が発生すると、その影響を受ける関係を言う。処理８２１または処理８２２のいずれかが実行できなくなると、その影響として、業務８１１が実行できなくなるという関係が成り立っている。同様に、業務８１２は、処理８２３及び処理８２４の双方に依存している。
【００１１】
図３は、この実施の形態における実行システム８０１の部品の一例を示す図である。
処理は、１以上のＡＰＰを使って実行される。ＡＰＰは、単独であるいは他のＡＰＰを利用して、動作する。
例えば、処理８２１は、１つのＡＰＰ８３１を使って実行される。処理８２２及び処理８２３は、１つのＡＰＰ８３２を使って実行される。処理８２４は、２つのＡＰＰ８３４，８３５を使って実行される。ＡＰＰ８３２及びＡＰＰ８３４は、ＡＰＰ８３３を利用して動作する。ＡＰＰ８３１及びＡＰＰ８３３及びＡＰＰ８３５は、単独で動作する。例えば、ＡＰＰ８３３は、利用者を認証するための認証サービスを提供するＡＰＰであり、ＡＰＰ８３２及びＡＰＰ８３４は、ＡＰＰ８３３を利用して利用者を認証する。
この例において、処理８２１は、ＡＰＰ８３１に依存している。処理８２２及び処理８２３は、ＡＰＰ８３２に依存している。処理８２４は、ＡＰＰ８３４及びＡＰＰ８３５の双方に依存している。ＡＰＰ８３２及びＡＰＰ８３４は、ＡＰＰ８３３に依存している。その結果として、処理８２２及び処理８２３及び処理８２４は、ＡＰＰ８３３に依存している。このように、依存関係の承継により発生する依存関係を「間接依存」と呼ぶ。「間接依存」に対して、直接的な依存関係を「直接依存」と呼ぶ。例えば、処理８２２とＡＰＰ８３２との関係は、直接依存であり、処理８２２とＡＰＰ８３３との関係は、間接依存である。
【００１２】
図４は、この実施の形態における実行システム８０１の部品の一例を示す図である。
計算機には、１以上のソフトウェアがインストールされている。ソフトウェアには、例えば、ＡＰＰ、ミドルウェア（以下「ＭＷ」と呼ぶ。）、ＯＳなどがある。ＡＰＰやＭＷは、ＯＳ上で動作する。また、ＡＰＰは、ＭＷを利用して動作する場合がある。
例えば、計算機８６０ａには、２つのＡＰＰ８３１ａ，８３４、ＭＷ８４１、ＯＳ８５１がインストールされている。計算機８６０ｂには、ＡＰＰ８３３ｂ、ＭＷ８４２ｂ、ＯＳ８５２がインストールされている。計算機８６０ｃには、ＡＰＰ８３３ｃ、ＭＷ８４２ｃ、ＯＳ８５３がインストールされている。計算機８６０ｄには、３つのＡＰＰ８３１ｄ，８３２，８３５、２つのＭＷ８４３，８４４、ＯＳ８５４がインストールされている。計算機８６０ｅには、ＭＷ８４５、ＯＳ８５５がインストールされている。なお、同じソフトウェアが複数の計算機にインストールされている場合、符号にアルファベット小文字を付加して区別している。例えば、ＡＰＰ８３１ａ及びＡＰＰ８３１ｄは、いずれも同じＡＰＰ８３１である。
この例において、ＡＰＰ８３１ａ及びＡＰＰ８３４及びＭＷ８４１は、ＯＳ８５１上で動作するソフトウェアなので、ＯＳ８５１に依存している。また、ＡＰＰ８３４は、ＭＷ８４１を利用するので、ＭＷ８４１に依存している。
【００１３】
図５は、この実施の形態における実行システム８０１の部品の一例を示す図である。
計算機は、ＣＰＵ、ＨＤＤ、ネットワークインターフェースカード（以下「ＮＩＣ」と呼ぶ。）などを有する。計算機間は、ローカルエリアネットワーク（以下「ＬＡＮ」と呼ぶ。）などにより接続されている。
例えば、計算機８６０ａは、ＣＰＵ８６１ａ、ＨＤＤ８６２ａ、ＮＩＣ８６３ａを有し、ＮＩＣ８６３ａを介してＬＡＮ８７０ａに接続している。計算機８６０ｂは、２つのＣＰＵ８６１ｂ，８６１ｆ、ＨＤＤ８６２ｂ、ＮＩＣ８６３ｂを有し、ＮＩＣ８６３ｂを介してＬＡＮ８７０ａに接続している。２つのＣＰＵ８６１ｂ，８６１ｆは、分散処理を行う。計算機８６０ｃは、ＣＰＵ８６１ｃ、２つのＨＤＤ８６２ｃ，８６２ｆ、ＮＩＣ８６３ｃを有し、ＮＩＣ８６３ｃを介してＬＡＮ８７０ｂに接続している。ＨＤＤ８６２ｆは、ＨＤＤ８６２ｃのバックアップ用（冗長系）である。計算機８６０ｄは、ＣＰＵ８６１ｄ、ＨＤＤ８６２ｄ、ＮＩＣ８６３ｄを有し、ＮＩＣ８６３を介してＬＡＮ８７０ｂに接続している。計算機８６０ｅは、ＣＰＵ８６１ｅ、ＨＤＤ８６２ｅ、２つのＮＩＣ８６３ｅ，８６３ｆを有し、ＮＩＣ８６３ｅを介してＬＡＮ８７０ａに接続し、ＮＩＣ８６３ｆを介してＬＡＮ８７０ｂに接続している。計算機８６０ｅは、２つのＬＡＮ８７０ａ，８７０ｂを接続するゲートウェイである。
この例において、計算機８６０ａにインストールされているソフトウェアは、計算機８６０ａのハードウェアであるＣＰＵ８６１ａやＨＤＤ８６２ａやＮＩＣ８６３ａに依存している。また、計算機間の通信は、ＬＡＮ８７０ａ，８７０ｂやゲートウェイである計算機８６０ｅに依存している。例えば、計算機８６０ａと計算機８６０ｂとの通信は、ＬＡＮ８７０ａに依存し、計算機８６０ａと計算機８６０ｃとの通信は、２つのＬＡＮ８７０ａ，８７０ｂ及び計算機８６０ｅに依存している。
【００１４】
障害影響分析装置１００は、このような依存関係に基づいて、実行システム８０１の部品に発生した障害の影響を分析する。
【００１５】
図６は、この実施の形態における障害影響分析装置１００の外観の一例を示す斜視図である。
障害影響分析装置１００は、システムユニット９１０、陰極線管表示装置（以下「ＣＲＴ」と呼ぶ。）や液晶表示装置（以下「ＬＣＤ」と呼ぶ。）などの表示装置９０１、キーボード９０２（以下「Ｋ／Ｂ」と呼ぶ。）、マウス９０３、フレキシブルディスク装置（以下「ＦＤＤ９０４」と呼ぶ。）、コンパクトディスク装置（以下「ＣＤＤ９０５」と呼ぶ。）、プリンタ装置９０６、スキャナ装置９０７などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。
システムユニット９１０は、コンピュータであり、ファクシミリ機９３２、電話器９３１とケーブルで接続され、また、ＬＡＮ９４２、ゲートウェイ９４１を介してインターネット９４０に接続されている。
ＬＡＮ９４２は、実行システム８０１内のＬＡＮ８７０ａやＬＡＮ８７０ｂと同一のＬＡＮであってもよいし、ＬＡＮ８７０ａやＬＡＮ８７０ｂとは異なるＬＡＮであってもよい。
【００１６】
図７は、この実施の形態における障害影響分析装置１００のハードウェア資源の一例を示す図である。
障害影響分析装置１００は、プログラムを実行するＣＰＵ９１１（中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。ＣＰＵ９１１は、バス９１２を介して、ＲＯＭ９１３、ＲＡＭ９１４、通信装置９１５、表示装置９０１、キーボード９０２、マウス９０３、ＦＤＤ９０４、ＣＤＤ９０５、プリンタ装置９０６、スキャナ装置９０７、ＨＤＤ９２０と接続され、これらのハードウェアデバイスを制御する。ＨＤＤ９２０の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。通信装置９１５、キーボード９０２、スキャナ装置９０７、ＦＤＤ９０４などは、入力部、入力装置の一例である。
また、通信装置９１５、表示装置９０１、プリンタ装置９０６などは、出力部、出力装置の一例である。
【００１７】
通信装置９１５は、ファクシミリ機９３２、電話器９３１、ＬＡＮ９４２等に接続されている。通信装置９１５は、ＬＡＮ９４２に限らず、インターネット９４０、ＩＳＤＮ等のＷＡＮ（ワイドエリアネットワーク）などに接続されていても構わない。インターネット９４０或いはＩＳＤＮ等のＷＡＮに接続されている場合、ゲートウェイ９４１は不用となる。
ＨＤＤ９２０には、ＯＳ９２１、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ９１１、オペレーティングシステム９２１、ウィンドウシステム９２２により実行される。
【００１８】
上記プログラム群９２３には、以下に述べる実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
ファイル群９２４には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」として説明する情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのＣＰＵの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、以下に述べる実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ（Ｄｉｇｉｔａｌ・Ｖｅｒｓａｔｉｌｅ・Ｄｉｓｋ）等の記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００１９】
また、以下に述べる実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、以下に述べる「〜部」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」の手順や方法をコンピュータに実行させるものである。
【００２０】
図８は、この実施の形態における障害影響分析装置１００の機能ブロックの一例を示すブロック構成図である。
障害影響分析装置１００は、構成入力部１１１、構成記憶部１１２、依存判定部１１５、依存記憶部１１６、障害検出部１２１、原因範囲抽出部１２２、障害調査部１２３、障害記憶部１２４、影響範囲抽出部１３１、影響範囲通知部１３２を有する。
【００２１】
構成入力部１１１は、入力装置を用いて、実行システム８０１のシステム構成を入力する。例えば、構成入力部１１１は、表示装置９０１を用いて、システム構成を入力するためのグラフィカルユーザインターフェース（以下「ＧＵＩ」と呼ぶ。）画面を表示し、ユーザによるキーボード９０２やマウス９０３の操作を入力することにより、実行システム８０１を構成する部品や、部品間の関係などを入力する。構成入力部１１１は、ＣＰＵ９１１を用いて、入力した実行システム８０１のシステム構成を表わすデータ（以下「構成データ」と呼ぶ。）を生成する。
構成記憶部１１２は、ＨＤＤ９２０を用いて、構成入力部１１１が生成した構成データを記憶する。
【００２２】
依存判定部１１５は、ＣＰＵ９１１を用いて、構成記憶部１１２が記憶した構成データが表わす実行システム８０１のシステム構成に基づいて、実行システム８０１を構成する部品間の依存関係を判定する。依存判定部１１５は、ＣＰＵ９１１を用いて、判定した依存関係を表わすデータ（以下「依存データ」と呼ぶ。）を生成する。
依存記憶部１１６は、ＨＤＤ９２０を用いて、依存判定部１１５が生成した依存データを記憶する。
なお、依存判定部１１５が生成する依存データは、直接依存だけを表わすものであってもよいし、間接依存も含めたすべての依存関係を表わすものであってもよい。
【００２３】
障害検出部１２１は、ＣＰＵ９１１を用いて、実行システム８０１で発生した障害を検出する。障害検出部１２１は、実行システム８０１を構成する部品について、その部品が正常に動作しているか障害が発生しているかを判定する。障害が発生していると判定した場合、障害検出部１２１は、ＣＰＵ９１１を用いて、障害が発生していると判定した部品を表わすデータ（以下「障害検出データ」と呼ぶ。）を生成する。
【００２４】
障害発生の判定には、例えば、以下のような方式がある。
計算機８６０ａ〜８６０ｅが障害検出用のエージェントプログラムを実行し、エージェントプログラムが障害を検出した場合に送信するメッセージを受信することにより、障害検出部１２１が障害発生を判定する。
計算機８６０ａ〜８６０ｅに対して、サービスを提供するＡＰＰに対する要求メッセージや探索パケット（以下「ｐｉｎｇ」と呼ぶ。）を送信し、それに対する応答を受信することにより、障害検出部１２１が障害の有無を判定する。
ＬＡＮ８７０ａ，８７０ｂを流れるパケットや、計算機８６０ａ〜８６０ｅが定期的に送信する鼓動メッセージ（ハートビート）を監視することにより、障害検出部１２１が障害を検出する。
利用者からの障害報告を受けて、管理者がキーボード９０２などを操作して障害発生を入力することにより、障害検出部１２１が障害発生を判定する。
【００２５】
障害検出部１２１が障害発生を判定する部品は、実行システム８０１を構成するすべての部品である必要はなく、一部の部品であってもよい。例えば、部品Ａと、部品Ａに依存する部品Ｂとがある場合、部品Ａに障害が発生すれば部品Ｂに影響が出るので、障害検出部１２１は、部品Ｂについて障害発生を判定すれば、部品Ａについて障害発生を判定する必要はない。ただし、部品Ａの障害による影響が部品Ｂに及ぶのに時間がかかり、早期に障害を発見したい場合は、部品Ａについても障害判定をするほうが好ましい。また、部品Ａの冗長系である部品Ｃや、部品Ａとともに分散処理を行う部品Ｄがある場合、部品Ａに障害が発生しても部品Ｃや部品Ｄが正常に動作していれば部品Ｂに影響が出ない可能性があるので、やはり、部品Ａについても障害判定をするほうが好ましい。
【００２６】
障害影響分析装置１００は、あらかじめ定められた部品について障害検出部１２１が障害判定をする構成であってもよい。あるいは、依存記憶部１１６が記憶した依存データが表わす依存関係に基づいて、障害判定をすべき部品を特定し、特定した部品について障害検出部１２１が障害判定をする構成であってもよい。
【００２７】
原因範囲抽出部１２２は、障害が発生していると障害検出部１２１が判定した場合、ＣＰＵ９１１を用いて、依存記憶部１１６が記憶した依存データが表わす依存関係と、障害検出部１２１が生成した障害検出データが表わす部品とに基づいて、実行システム８０１を構成する部品のなかから、その障害の原因である障害が発生している可能性がある部品（以下「原因範囲部品」と呼ぶ。）を抽出する。原因範囲抽出部１２２は、ＣＰＵ９１１を用いて、抽出した原因範囲部品を表わすデータ（以下「原因範囲データ」と呼ぶ。）を生成する。
【００２８】
障害検出部１２１が部品の障害を検出した場合、その部品自体に障害の原因がある場合と、その部品が直接的あるいは間接的に依存する他の部品に発生した障害の影響によるものである場合とがある。検出した障害の原因が他の部品にある場合であっても、原因である他の部品の障害が検出されるとは限らない。その部品について障害検出部１２１がそもそも障害発生の判定をしていない場合、障害の影響による遅延や欠測が生じている場合など、様々な要因がある。例えば、障害の発生によってＣＰＵ８６１ａの負荷が大きくなったことにより、ＣＰＵ８６１ａが実行するエージェントプログラムが一時的に機能停止すると、障害を検出できなかったり、検出しても障害検出を通知するメッセージを送信できなかったりする可能性がある。
【００２９】
そこで、原因範囲抽出部１２２は、障害が検出された部品が直接的あるいは間接的に依存している他の部品をすべて洗い出す。依存記憶部１１６が記憶した依存データが間接依存も含めたすべての依存関係を表わすものである場合、原因範囲抽出部１２２は、障害検出データが表わす部品を検索キーとして依存データを検索することにより、障害が検出された部品が直接的あるいは間接的に依存する部品を抽出する。依存記憶部１１６が記憶した依存データが直接依存だけを表わすものである場合、原因範囲抽出部１２２は、障害検出データが表わす部品を基点として、依存データが表わす依存関係を辿ることにより、障害が検出された部品が直接的あるいは間接的に依存する部品を抽出する。
依存記憶部１１６が記憶した依存データが間接依存も含めたすべての依存関係を表わすものであるほうが、原因範囲抽出部１２２の処理負荷が減るので、障害発生時の影響分析にかかる時間を短縮できる。しかし、実行システム８０１が複雑であればあるほど、すべての依存関係を求めるのには時間がかかり、それを表わす依存データが巨大なものになるので、依存データは直接依存だけを表わすものであるほうが好ましい場合もある。
【００３０】
障害調査部１２３は、ＣＰＵ９１１を用いて、原因範囲抽出部１２２が生成した原因範囲データが表わす原因範囲部品について、正常に動作しているか障害が発生しているかを調査する。障害調査部１２３は、ＣＰＵ９１１を用いて、調査の結果に基づいて、障害が発生していると判定した部品を表わす障害検出データを生成する。
【００３１】
例えば、障害検出部１２１がその部品について障害発生の判定をしていない場合、障害調査部１２３は、その部品について障害発生の判定をする。
あるいは、障害検出部１２１による判定方式が、エージェントプログラムからのメッセージを受信するなど受動的な方式である場合、障害調査部１２３は、障害検出用のダミーメッセージを送信するなど能動的な方式で障害発生の判定をする。
【００３２】
障害記憶部１２４は、ＨＤＤ９２０を用いて、障害検出部１２１及び障害調査部１２３が生成した障害検出データを記憶する。
【００３３】
影響範囲抽出部１３１は、ＣＰＵ９１１を用いて、依存記憶部１１６が記憶した依存データが表わす依存関係と、障害記憶部１２４が記憶した障害検出データが表わす部品とに基づいて、実行システム８０１を構成する部品のなかから、検出された障害の影響を受ける可能性のある部品（以下「影響範囲部品」と呼ぶ。）を抽出する。影響範囲抽出部１３１は、ＣＰＵ９１１を用いて、抽出した部品を表わすデータ（以下「影響範囲データ」と呼ぶ。）を生成する。
【００３４】
影響範囲通知部１３２は、ＣＰＵ９１１を用いて、影響範囲抽出部１３１が生成した影響範囲データを、障害影響表示装置８０２に対して通知する。
【００３５】
図９は、この実施の形態における障害影響分析処理Ｓ６００の流れの一例を示す全体フローチャート図である。
障害影響分析処理Ｓ６００において、障害影響分析装置１００は、実行システム８０１に発生した障害の影響を分析する。障害影響分析処理Ｓ６００は、構成入力工程Ｓ６０１、依存判定工程Ｓ６０２、障害検出工程Ｓ６０３、影響分析工程Ｓ６０４、影響通知工程Ｓ６０５を有する。
【００３６】
構成入力工程Ｓ６０１及び依存判定工程Ｓ６０２は、実行システム８０１に障害が発生する前に実行する準備工程である。
構成入力工程Ｓ６０１において、構成入力部１１１は、入力装置を用いて、実行システム８０１のシステム構成を入力する。構成記憶部１１２は、ＨＤＤ９２０を用いて、構成入力部１１１が入力したシステム構成を表わす構成データを記憶する。
依存判定工程Ｓ６０２において、依存判定部１１５は、ＣＰＵ９１１を用いて、構成入力工程Ｓ６０１で構成記憶部１１２が記憶した構成データに基づいて、実行システム８０１を構成する部品の依存関係を判定する。依存記憶部１１６は、ＨＤＤ９２０を用いて、依存判定部１１５が判定した依存関係を表わす依存データを記憶する。
【００３７】
障害検出工程Ｓ６０３において、障害検出部１２１は、実行システム８０１の部品に障害が発生しているか否かを判定する。
障害発生を検出しなかった場合、障害検出部１２１は、障害検出工程Ｓ６０３を繰り返し、障害の発生を待つ。
障害発生を検出した場合、障害検出部１２１は、影響分析工程Ｓ６０４へ進む。
【００３８】
影響分析工程Ｓ６０４において、障害影響分析装置１００は、ＣＰＵ９１１を用いて、障害検出工程Ｓ６０３で障害検出部１２１が検出した障害の影響を分析する。
影響通知工程Ｓ６０５において、影響範囲通知部１３２は、ＣＰＵ９１１を用いて、影響分析工程Ｓ６０４で分析した結果を表わす影響範囲データを、障害影響表示装置８０２に通知する。
【００３９】
図１０は、この実施の形態における依存判定処理Ｓ６１０の流れの一例を示す全体フローチャート図である。
依存判定処理Ｓ６１０は、依存判定工程Ｓ６０２で依存判定部１１５が実行する処理である。依存判定処理Ｓ６１０は、部品選択工程Ｓ６１１、依存処理判定工程Ｓ６１２、依存処理選択工程Ｓ６１３、２つの依存ＡＰＰ判定工程Ｓ６１４ａ，Ｓ６１４ｂ、２つの依存ＡＰＰ選択工程Ｓ６１５ａ，Ｓ６１５ｂ、２つの実行装置判定工程Ｓ６１６ａ，Ｓ６１６ｂ、実行装置選択工程Ｓ６１７、通信判定工程Ｓ６１８、依存ＭＷ判定工程Ｓ６１９、依存ＭＷ選択工程Ｓ６２０、依存ＯＳ判定工程Ｓ６２１、依存ＯＳ選択工程Ｓ６２２、依存ＨＷ判定工程Ｓ６２３、依存ＨＷ選択工程Ｓ６２４、６つの依存記憶工程Ｓ６２９ａ〜Ｓ６２９ｆを有する。
【００４０】
部品選択工程Ｓ６１１において、依存判定部１１５は、ＣＰＵ９１１を用いて、構成記憶部１１２が記憶した構成データが表わす実行システム８０１のシステム構成に基づいて、実行システム８０１を構成する部品のなかから、未選択の部品を１つ選択する。
実行システム８０１を構成する部品がすべて選択済であり、未選択の部品がない場合、依存判定部１１５は、依存判定処理Ｓ６１０を終了する。
未選択の部品を１つ選択した場合、依存判定部１１５は、ＣＰＵ９１１を用いて、選択した部品の種類を判定する。
選択した部品が業務である場合、依存判定部１１５は、依存処理判定工程Ｓ６１２へ進む。
選択した部品が処理である場合、依存判定部１１５は、依存ＡＰＰ判定工程Ｓ６１４ａへ進む。
選択した部品がＡＰＰである場合、依存判定部１１５は、依存ＡＰＰ判定工程Ｓ６１４ｂへ進む。
選択した部品がＭＷである場合、依存判定部１１５は、依存ＯＳ判定工程Ｓ６２１へ進む。
選択した部品がそれ以外である場合、依存判定部１１５は、依存ＨＷ判定工程Ｓ６２３へ進む。
【００４１】
依存処理判定工程Ｓ６１２において、依存判定部１１５は、ＣＰＵ９１１を用いて、構成記憶部１１２が記憶した構成データが表わす実行システム８０１のシステム構成に基づいて、実行システム８０１を構成する部品のなかから、部品選択工程Ｓ６１１で選択した部品（業務）が依存する部品（処理）を判定する。
依存処理選択工程Ｓ６１３において、依存判定部１１５は、ＣＰＵ９１１を用いて、依存処理判定工程Ｓ６１２で判定した部品（処理）のなかから未選択の部品（処理）を１つ選択する。
部品選択工程Ｓ６１１で選択した部品（業務）が依存する部品（処理）がすべて選択済であり、未選択の部品（処理）がない場合、依存判定部１１５は、部品選択工程Ｓ６１１に戻り、次の部品を選択する。
未選択の部品（処理）を１つ選択した場合、依存判定部１１５は、依存記憶工程Ｓ６２９ａへ進む。
依存記憶工程Ｓ６２９ａにおいて、依存記憶部１１６は、ＨＤＤ９２０を用いて、部品選択工程Ｓ６１１で依存判定部１１５が選択した部品（業務）が、依存処理選択工程Ｓ６１３で依存判定部１１５が選択した部品（処理）に依存することを表わす依存データを記憶する。
その後、依存判定部１１５は、依存処理選択工程Ｓ６１３に戻り、次の部品（処理）を選択する。
【００４２】
依存ＡＰＰ判定工程Ｓ６１４ａにおいて、依存判定部１１５は、ＣＰＵ９１１を用いて、構成記憶部１１２が記憶した構成データが表わす実行システム８０１のシステム構成に基づいて、実行システム８０１を構成する部品のなかから、部品選択工程Ｓ６１１で選択した部品（処理）が依存する部品（ＡＰＰ）を判定する。
依存ＡＰＰ選択工程Ｓ６１５ａにおいて、依存判定部１１５は、ＣＰＵ９１１を用いて、依存ＡＰＰ判定工程Ｓ６１４ａで判定した部品（ＡＰＰ）のなかから未選択の部品（ＡＰＰ）を１つ選択する。
部品選択工程Ｓ６１１で選択した部品（処理）が依存する部品（ＡＰＰ）がすべて選択済であり、未選択の部品（ＡＰＰ）がない場合、依存判定部１１５は、部品選択工程Ｓ６１１に戻り、次の部品を選択する。
未選択の部品（ＡＰＰ）を１つ選択した場合、依存判定部１１５は、実行装置判定工程Ｓ６１６ａへ進む。
【００４３】
実行装置判定工程Ｓ６１６ａにおいて、依存判定部１１５は、ＣＰＵ９１１を用いて、構成記憶部１１２が記憶した構成データに基づいて、依存ＡＰＰ選択工程Ｓ６１５ａで選択したＡＰＰがインストールされている計算機を判定する。
依存記憶工程Ｓ６２９ｂにおいて、依存記憶部１１６は、ＨＤＤ９２０を用いて、部品選択工程Ｓ６１１で依存判定部１１５が選択した部品（処理）が、依存ＡＰＰ選択工程Ｓ６１５ａで依存判定部１１５が選択したＡＰＰに依存することを表わす依存データを記憶する。
依存判定部１１５は、依存ＡＰＰ選択工程Ｓ６１５ａに戻り、次のＡＰＰを選択する。
【００４４】
なお、実行装置判定工程Ｓ６１６ａで依存判定部１１５が判定した計算機が１つである場合、依存記憶部１１６は、部品選択工程Ｓ６１１で依存判定部１１５が選択した部品（処理）が、実行装置判定工程Ｓ６１６ａで依存判定部１１５が判定した計算機が実行するＡＰＰに依存することを表わす依存データを記憶する。
また、実行装置判定工程Ｓ６１６ａで依存判定部１１５が判定した計算機が２つ以上である場合、依存記憶部１１６は、実行装置判定工程Ｓ６１６ａで依存判定部１１５が判定した２つ以上の計算機がそれぞれ実行するＡＰＰに冗長依存あるいは分散依存することを表わす依存データを記憶する。
【００４５】
冗長依存とは、ある部品が冗長関係にある複数の部品に依存している場合をいう。冗長関係にある部品とは、複数の部品がまったく同じ機能を提供し、いずれか１つの部品が正常に動作していれば、その部品が提供する機能を完全に提供できる場合をいう。例えば、いずれかの計算機でそのＡＰＰが正常に動作していれば、その処理を正常に実行でき、すべての計算機でそのＡＰＰに障害が発生した場合に初めて処理ができなくなる場合、その処理はそのＡＰＰに冗長依存している。
【００４６】
分散依存とは、ある部品が分散関係にある複数の部品に依存している場合をいう。分散関係にある部品とは、複数の部品がまったく同じ機能を提供し、負荷を分散することにより複数の部品が協調して機能を提供する場合をいう。いずれかの部品に障害が発生しても正常に動作している部品があればその機能を提供することはできるが、すべての部品が正常に動作している場合と比較すると性能が落ちる場合をいう。例えば、いずれかの計算機でそのＡＰＰが正常に動作していれば、その処理を正常に実行できるが、すべての計算機でそのＡＰＰが正常に動作している場合と比べると応答速度が落ちる場合、その処理はそのＡＰＰに分散依存している。
【００４７】
複数の部品が冗長関係にあるか分散関係にあるかの区別は、実行システム８０１のシステム構成として構成入力部１１１が入力し、構成データの一部として構成記憶部１１２が記憶する。構成記憶部１１２が記憶した構成データに基づいて、冗長依存であるか分散依存であるかを依存判定部１１５が判定し、その判定結果を反映した依存データを依存記憶部１１６が記憶する。
【００４８】
依存ＡＰＰ判定工程Ｓ６１４ｂにおいて、依存判定部１１５は、ＣＰＵ９１１を用いて、構成記憶部１１２が記憶した構成データが表わす実行システム８０１のシステム構成に基づいて、実行システム８０１を構成する部品（ＡＰＰ）のなかから、部品選択工程Ｓ６１１で選択した部品（ＡＰＰ）が依存する部品（ＡＰＰ）を判定する。
依存ＡＰＰ選択工程Ｓ６１５ｂにおいて、依存判定部１１５は、ＣＰＵ９１１を用いて、依存ＡＰＰ判定工程Ｓ６１４ｂで判定した部品（ＡＰＰ）のなかから未選択の部品（ＡＰＰ）を１つ選択する。
部品選択工程Ｓ６１１で選択した部品（ＡＰＰ）が依存する部品（ＡＰＰ）がすべて選択済であり、未選択の部品（ＡＰＰ）がない場合、依存判定部１１５は、依存ＭＷ判定工程Ｓ６１９へ進む。
未選択の部品（ＡＰＰ）を１つ選択した場合、依存判定部１１５は、実行装置判定工程Ｓ６１６ｂへ進む。
【００４９】
実行装置判定工程Ｓ６１６ｂにおいて、依存判定部１１５は、ＣＰＵ９１１を用いて、構成記憶部１１２が記憶した構成データに基づいて、依存ＡＰＰ選択工程Ｓ６１５ｂで選択したＡＰＰがインストールされている計算機を判定する。
実行装置選択工程Ｓ６１７において、依存判定部１１５は、ＣＰＵ９１１を用いて、実行装置判定工程Ｓ６１６ｂで判定した計算機のなかから、未選択の計算機を１つ選択する。
依存ＡＰＰ選択工程Ｓ６１５ｂで選択したＡＰＰがインストールされている計算機がすべて選択済であり、未選択の計算機がない場合、依存判定部１１５は、依存記憶工程Ｓ６２９ｃへ進む。
未選択の計算機を１つ選択した場合、依存判定部１１５は、通信判定工程Ｓ６１８へ進む。
【００５０】
通信判定工程Ｓ６１８において、依存判定部１１５は、ＣＰＵ９１１を用いて、構成記憶部１１２が記憶した構成データが表わす実行システム８０１のシステム構成に基づいて、部品選択工程Ｓ６１１で選択したＡＰＰがインストールされている計算機と、実行装置選択工程Ｓ６１７で選択した計算機との間の通信をするために必要な部品を判定する。依存判定部１１５は、ＣＰＵ９１１を用いて、判定した部品を実行装置選択工程Ｓ６１７で選択した計算機と対応づける。
依存判定部１１５は、実行装置選択工程Ｓ６１７に戻り、次の計算機を選択する。
【００５１】
例えば、２つの計算機が同じ計算機であれば、通信をするために必要な部品はない。２つの計算機が同じＬＡＮに接続していれば、通信をするために必要な部品は、ＬＡＮである。２つの計算機が異なるＬＡＮに接続していれば、通信をするために必要な部品は、それぞれの計算機が接続しているＬＡＮおよびそのＬＡＮを接続するゲートウェイやネットワークなどである。
【００５２】
依存記憶工程Ｓ６２９ｃにおいて、依存記憶部１１６は、ＨＤＤ９２０を用いて、部品選択工程Ｓ６１１で依存判定部１１５が選択した部品（処理）が、依存ＡＰＰ選択工程Ｓ６１５ａで依存判定部１１５が選択したＡＰＰおよび通信判定工程Ｓ６１８で依存判定部１１５がそのＡＰＰを実行する計算機に対応づけた部品に依存することを表わす依存データを記憶する。
依存判定部１１５は、依存ＡＰＰ選択工程Ｓ６１５ｂに戻り、次のＡＰＰを選択する。
【００５３】
なお、実行装置判定工程Ｓ６１６ｂで依存判定部１１５が判定した計算機が２つ以上である場合については、依存記憶工程Ｓ６２９ｂと同様である。
【００５４】
依存ＭＷ判定工程Ｓ６１９において、依存判定部１１５は、ＣＰＵ９１１を用いて、構成記憶部１１２が記憶した構成データが表わす実行システム８０１のシステム構成に基づいて、実行システム８０１を構成する部品（ＭＷ）のなかから、部品選択工程Ｓ６１１で選択した部品（ＡＰＰ）が依存する部品（ＭＷ）を判定する。
依存ＭＷ選択工程Ｓ６２０において、依存判定部１１５は、ＣＰＵ９１１を用いて、依存ＭＷ判定工程Ｓ６１９で判定した部品（ＭＷ）のなかから未選択の部品（ＭＷ）を１つ選択する。
部品選択工程Ｓ６１１で選択した部品（ＡＰＰ）が依存する部品（ＭＷ）がすべて選択済であり、未選択の部品（ＭＷ）がない場合、依存判定部１１５は、依存ＯＳ判定工程Ｓ６２１へ進む。
未選択の部品（ＭＷ）を１つ選択した場合、依存判定部１１５は、依存記憶工程Ｓ６２９ｄへ進む。
依存記憶工程Ｓ６２９ｄにおいて、依存記憶部１１６は、ＨＤＤ９２０を用いて、部品選択工程Ｓ６１１で依存判定部１１５が選択した部品（ＡＰＰ）が、依存ＭＷ選択工程Ｓ６２０で依存判定部１１５が選択した部品（ＭＷ）に依存することを表わす依存データを記憶する。
その後、依存判定部１１５は、依存ＭＷ選択工程Ｓ６２０に戻り、次の部品（ＭＷ）を選択する。
【００５５】
依存ＯＳ判定工程Ｓ６２１において、依存判定部１１５は、ＣＰＵ９１１を用いて、構成記憶部１１２が記憶した構成データが表わす実行システム８０１のシステム構成に基づいて、実行システム８０１を構成する部品（ＯＳ）のなかから、部品選択工程Ｓ６１１で選択した部品（ＡＰＰまたはＭＷ）が依存する部品（ＯＳ）を判定する。
依存ＯＳ選択工程Ｓ６２２において、依存判定部１１５は、ＣＰＵ９１１を用いて、依存ＯＳ判定工程Ｓ６２１で判定した部品（ＯＳ）のなかから未選択の部品（ＯＳ）を１つ選択する。
部品選択工程Ｓ６１１で選択した部品（ＡＰＰまたはＭＷ）が依存する部品（ＯＳ）がすべて選択済であり、未選択の部品（ＯＳ）がない場合、依存判定部１１５は、部品選択工程Ｓ６１１に戻り、次の部品を選択する。
未選択の部品（ＯＳ）を１つ選択した場合、依存判定部１１５は、依存記憶工程Ｓ６２９ｅへ進む。
依存記憶工程Ｓ６２９ｅにおいて、依存記憶部１１６は、ＨＤＤ９２０を用いて、部品選択工程Ｓ６１１で依存判定部１１５が選択した部品（ＡＰＰまたはＭＷ）が、依存ＯＳ選択工程Ｓ６２２で依存判定部１１５が選択した部品（ＯＳ）に依存することを表わす依存データを記憶する。
その後、依存判定部１１５は、依存ＯＳ選択工程Ｓ６２２に戻り、次の部品（ＯＳ）を選択する。
【００５６】
依存ＨＷ判定工程Ｓ６２３において、依存判定部１１５は、ＣＰＵ９１１を用いて、構成記憶部１１２が記憶した構成データが表わす実行システム８０１のシステム構成に基づいて、実行システム８０１を構成する部品（ハードウェア）のなかから、部品選択工程Ｓ６１１で選択した部品が依存する部品（ハードウェア）を判定する。
依存ＨＷ選択工程Ｓ６２４において、依存判定部１１５は、ＣＰＵ９１１を用いて、依存ＨＷ判定工程Ｓ６２３で判定した部品（ハードウェア）のなかから未選択の部品（ハードウェア）を１つ選択する。
部品選択工程Ｓ６１１で選択した部品が依存する部品（ハードウェア）がすべて選択済であり、未選択の部品（ハードウェア）がない場合、依存判定部１１５は、部品選択工程Ｓ６１１に戻り、次の部品を選択する。
未選択の部品（ハードウェア）を１つ選択した場合、依存判定部１１５は、依存記憶工程Ｓ６２９ｆへ進む。
依存記憶工程Ｓ６２９ｆにおいて、依存記憶部１１６は、ＨＤＤ９２０を用いて、部品選択工程Ｓ６１１で依存判定部１１５が選択した部品が、依存ＨＷ選択工程Ｓ６２４で依存判定部１１５が選択した部品（ハードウェア）に依存することを表わす依存データを記憶する。
その後、依存判定部１１５は、依存ＨＷ選択工程Ｓ６２４に戻り、次の部品（ハードウェア）を選択する。
【００５７】
図１１は、この実施の形態における実行システム８０１を構成する部品の依存関係の一例を示す図である。
長円は、実行システム８０１を構成する部品を表わす。なお、長円内の符号は、図２〜図５で部品に付した符号に一致させている。
矢印は、依存関係を表わし、矢印の根元に位置する部品が、矢印の先に位置する部品に依存していることを表わす。例えば、部品「８３１ａ」は、部品「８５１」に依存していることを表わす。
矢印の分岐点に位置する黒丸は、通常の依存関係を表わす。すなわち、矢印の根元に位置する部品は、分岐した矢印の先に位置する複数の部品それぞれに依存する。例えば、部品「８１１」は、部品「８２１」に依存し、かつ、部品「８２２」にも依存する。
矢印の分岐点に位置する白抜き丸は、冗長依存関係を表わす。すなわち、矢印の根元に位置する部品は、分岐した矢印の先に位置する複数の部品に冗長依存する。例えば、部品「８２１」は、冗長関係にある部品「８３１ａ」および部品「８３１ｄ」に依存する。
矢印の分岐点に位置する十字を含む丸は、分散依存関係を表わす。すなわち、矢印の根元に位置する部品は、分岐した矢印の先に位置する複数の部品に分散依存する。例えば、部品「８６０ｂ」は、分散関係にある部品「８６１ｂ」および「８６１ｆ」に依存する。
【００５８】
依存判定処理Ｓ６１０により、依存判定部１１５は、構成記憶部１１２が記憶した構成データから、この図に示したような依存関係を求め、求めた依存関係を表わす依存データを生成する。
【００５９】
図１２は、この実施の形態における影響分析処理Ｓ６３０の流れの一例を示すフローチャート図である。
影響分析処理Ｓ６３０は、影響分析工程Ｓ６０４で障害影響分析装置１００が実行する処理である。影響分析処理Ｓ６３０は、２つの障害選択工程Ｓ６３１，Ｓ６４１、原因範囲判定工程Ｓ６３２、依存先追跡工程Ｓ６３４、原因範囲選択工程Ｓ６３５、質問送信工程Ｓ６３６、受信判定工程Ｓ６３７、回答受信工程Ｓ６３８、経過時間判定工程Ｓ６３９、影響範囲判定工程Ｓ６４２、依存追跡工程Ｓ６４４を有する。
【００６０】
障害選択工程Ｓ６３１において、原因範囲抽出部１２２は、ＣＰＵ９１１を用いて、障害検出工程Ｓ６０３で障害検出部１２１が生成した障害検出データに基づいて、障害が検出された部品のなかから、未選択の部品を１つ選択する。
障害が検出された部品がすべて選択済であり、未選択の部品がない場合、原因範囲抽出部１２２は、原因範囲選択工程Ｓ６３５へ進む。
未選択の部品を１つ選択した場合、原因範囲抽出部１２２は、原因範囲判定工程Ｓ６３２へ進む。
【００６１】
原因範囲判定工程Ｓ６３２において、原因範囲抽出部１２２は、ＣＰＵ９１１を用いて、既に原因範囲部品として抽出した部品のなかに、障害選択工程Ｓ６３１で選択した部品が含まれているか否かを判定する。
既に原因範囲部品として抽出した部品のなかに、障害選択工程Ｓ６３１で選択した部品が含まれている場合、原因範囲抽出部１２２は、障害選択工程Ｓ６３１に戻り、次の部品を選択する。
既に原因範囲部品として抽出した部品のなかに、障害選択工程Ｓ６３１で選択した部品が含まれていない場合、原因範囲抽出部１２２は、依存先追跡工程Ｓ６３４へ進む。
【００６２】
依存先追跡工程Ｓ６３４において、原因範囲抽出部１２２は、ＣＰＵ９１１を用いて、依存記憶部１１６が記憶した依存データが表わす依存関係に基づいて、障害選択工程Ｓ６３１で選択した部品を追跡の対象とし、その部品が依存する部品を抽出して、原因範囲部品とする。
その後、原因範囲抽出部１２２は、障害選択工程Ｓ６３１に戻り、次の部品を選択する。
【００６３】
原因範囲選択工程Ｓ６３５において、障害調査部１２３は、ＣＰＵ９１１を用いて、依存先追跡工程Ｓ６３４で原因範囲抽出部１２２が抽出した原因範囲部品のなかから、未選択の部品を１つ選択する。
依存先追跡工程Ｓ６３４で原因範囲抽出部１２２が抽出した原因範囲部品がすべて選択済であり、未選択の部品がない場合、障害調査部１２３は、受信判定工程Ｓ６３７へ進む。
未選択の部品を１つ選択した場合、障害調査部１２３は、質問送信工程Ｓ６３６へ進む。
【００６４】
質問送信工程Ｓ６３６において、障害調査部１２３は、ＣＰＵ９１１を用いて、原因範囲選択工程Ｓ６３５で選択した部品が正常に動作しているか障害が発生しているかを問い合わせるメッセージを送信する。メッセージの送信先は、その部品それ自体であってもよいし、その部品の動作を監視している実行システム８０１内の他の部品や実行システム８０１外の監視装置であってもよい。
その後、障害調査部１２３は、原因範囲選択工程Ｓ６３５に戻り、次の部品を選択する。
【００６５】
受信判定工程Ｓ６３７において、障害調査部１２３は、ＣＰＵ９１１を用いて、質問送信工程Ｓ６３６で送信したメッセージに対する回答が返ってきたか否かを判定する。
回答が返ってきた場合、障害調査部１２３は、回答受信工程Ｓ６３８へ進む。
回答を返ってきていない場合、障害調査部１２３は、経過時間判定工程Ｓ６３９へ進む。
【００６６】
回答受信工程Ｓ６３８において、障害調査部１２３は、ＣＰＵ９１１を用いて、質問送信工程Ｓ６３６で送信したメッセージに対する回答を受信する。障害調査部１２３は、ＣＰＵ９１１を用いて、受信した回答に基づいて、問い合わせた部品が正常に動作しているか障害が発生しているかを判定する。問い合わせた部品に障害が発生していると判定した場合、障害記憶部１２４は、ＨＤＤ９２０を用いて、その部品を表わす障害検出データを記憶する。
質問送信工程Ｓ６３６で送信したすべてのメッセージに対する回答を受信した場合、障害調査部１２３は、障害選択工程Ｓ６４１へ進む。
まだ回答を受信していないメッセージがある場合、障害調査部１２３は、経過時間判定工程Ｓ６３９へ進む。
【００６７】
経過時間判定工程Ｓ６３９において、障害調査部１２３は、ＣＰＵ９１１を用いて、質問送信工程Ｓ６３６で最後のメッセージを送信してからの経過時間が所定の制限時間を超えたか否かを判定する。
経過時間が制限時間以下である場合、障害調査部１２３は、受信判定工程Ｓ６３７に戻り、回答が返ってくるのを待つ。
経過時間が制限時間を超えた場合、部品が正常に動作していれば制限時間内になんらかの回答が返ってくるはずなので、障害調査部１２３は、ＣＰＵ９１１を用いて、まだ回答が返ってきていない部品について、障害が発生していると判定する。障害記憶部１２４は、障害が発生していると判定した部品を表わす障害検出データを記憶する。障害調査部１２３は、障害選択工程Ｓ６４１へ進む。
【００６８】
障害選択工程Ｓ６４１において、影響範囲抽出部１３１は、ＣＰＵ９１１を用いて、障害記憶部１２４が記憶した障害検出データに基づいて、障害が検出された部品のなかから、未選択の部品を１つ選択する。
障害が検出された部品がすべて選択済であり、未選択の部品がない場合、影響範囲抽出部１３１は、影響分析処理Ｓ６３０を終了する。
未選択の部品を１つ選択した場合、影響範囲抽出部１３１は、影響範囲判定工程Ｓ６４２へ進む。
【００６９】
影響範囲判定工程Ｓ６４２において、影響範囲抽出部１３１は、ＣＰＵ９１１を用いて、既に影響範囲部品として抽出した部品のなかに、障害選択工程Ｓ６４１で選択した部品が含まれているか否かを判定する。
既に影響範囲部品として抽出した部品のなかに、障害選択工程Ｓ６４１で選択した部品が含まれている場合、影響範囲抽出部１３１は、障害選択工程Ｓ６４１に戻り、次の部品を選択する。
既に原因範囲部品として抽出した部品のなかに、障害選択工程Ｓ６４１で選択した部品が含まれていない場合、影響範囲抽出部１３１は、依存追跡工程Ｓ６４４へ進む。
【００７０】
依存追跡工程Ｓ６４４において、影響範囲抽出部１３１は、ＣＰＵ９１１を用いて、依存記憶部１１６が記憶した依存データが表わす依存関係に基づいて、障害選択工程Ｓ６４１で選択した部品を追跡の対象として、その部品に依存する部品を抽出して、影響範囲部品とする。
その後、影響範囲抽出部１３１は、障害選択工程Ｓ６４１に戻り、次の部品を選択する。
【００７１】
図１３は、この実施の形態における依存先追跡処理Ｓ６５０の流れの一例を示すフローチャート図である。
依存先追跡処理Ｓ６５０は、依存先追跡工程Ｓ６３４で原因範囲抽出部１２２が実行する処理である。依存先追跡処理Ｓ６５０は、依存先選択工程Ｓ６５１、原因範囲判定工程Ｓ６５２、原因範囲記憶工程Ｓ６５３、依存先追跡工程Ｓ６５４を有する。
この例において、依存判定部１１５が生成し依存記憶部１１６が記憶する依存データは、直接依存だけを表わし、間接依存は表わさないものとする。
【００７２】
依存先選択工程Ｓ６５１において、原因範囲抽出部１２２は、ＣＰＵ９１１を用いて、追跡の対象である部品をキーとして、依存記憶部１１６が記憶した依存データを検索することにより、追跡の対象である部品が直接的に依存する部品を抽出する。
原因範囲抽出部１２２は、ＣＰＵ９１１を用いて、抽出した部品のなかから、未選択の部品を１つ選択する。
追跡の対象である部品が直接的に依存する部品がすべて選択済であり、未選択の部品がない場合、原因範囲抽出部１２２は、依存先追跡処理Ｓ６５０を終了する。
未選択の部品を１つ選択した場合、原因範囲抽出部１２２は、原因範囲判定工程Ｓ６５２へ進む。
【００７３】
原因範囲判定工程Ｓ６５２において、原因範囲抽出部１２２は、ＣＰＵ９１１を用いて、既に原因範囲部品として抽出した部品のなかに、依存先選択工程Ｓ６５１で選択した部品が含まれているか否かを判定する。
既に原因範囲部品として抽出した部品のなかに、依存先選択工程Ｓ６５１で選択した部品が含まれている場合、原因範囲抽出部１２２は、依存先選択工程Ｓ６５１に戻り、次の部品を選択する。
既に原因範囲部品として抽出した部品のなかに、依存先選択工程Ｓ６５１で選択した部品が含まれていない場合、原因範囲抽出部１２２は、原因範囲記憶工程Ｓ６５３へ進む。
【００７４】
原因範囲記憶工程Ｓ６５３において、原因範囲抽出部１２２は、依存先選択工程Ｓ６５１で選択した部品を原因範囲部品とし、ＨＤＤ９２０を用いて、原因範囲データを記憶する。
【００７５】
依存先追跡工程Ｓ６５４において、原因範囲抽出部１２２は、ＣＰＵ９１１を用いて、依存先選択工程Ｓ６５１で選択した部品を追跡の対象として、依存先追跡処理Ｓ６５０を再帰的に実行する。ことにより、依存先を追跡する。
その後、原因範囲抽出部１２２は、依存先選択工程Ｓ６５１に戻り、次の部品を選択する。
【００７６】
図１４は、この実施の形態における依存追跡処理Ｓ６６０の流れの一例を示すフローチャート図である。
依存追跡処理Ｓ６６０は、依存追跡工程Ｓ６４４で影響範囲抽出部１３１が実行する処理である。依存追跡処理Ｓ６６０は、依存選択工程Ｓ６６１、影響範囲判定工程Ｓ６６２、影響範囲記憶工程Ｓ６６３、依存追跡工程Ｓ６６４を有する。
この例において、依存判定部１１５が生成し依存記憶部１１６が記憶する依存データは、直接依存だけを表わし、間接依存は表わさないものとする。
【００７７】
依存選択工程Ｓ６６１において、影響範囲抽出部１３１は、ＣＰＵ９１１を用いて、追跡の対象である部品をキーとして、依存記憶部１１６が記憶した依存データを検索することにより、追跡の対象である部品に直接的に依存する部品を抽出する。
影響範囲抽出部１３１は、ＣＰＵ９１１を用いて、抽出した部品のなかから、未選択の部品を１つ選択する。
追跡の対象である部品に直接的に依存する部品がすべて選択済であり、未選択の部品がない場合、影響範囲抽出部１３１は、依存追跡処理Ｓ６６０を終了する。
未選択の部品を１つ選択した場合、影響範囲抽出部１３１は、影響範囲判定工程Ｓ６６２へ進む。
【００７８】
影響範囲判定工程Ｓ６６２において、影響範囲抽出部１３１は、ＣＰＵ９１１を用いて、既に影響範囲部品として抽出した部品のなかに、依存選択工程Ｓ６６１で選択した部品が含まれているか否かを判定する。
既に影響範囲部品として抽出した部品のなかに、依存選択工程Ｓ６６１で選択した部品が含まれている場合、影響範囲抽出部１３１は、依存選択工程Ｓ６６１に戻り、次の部品を選択する。
既に影響範囲部品として抽出した部品のなかに、依存選択工程Ｓ６６１で選択した部品が含まれていない場合、影響範囲抽出部１３１は、影響範囲記憶工程Ｓ６６３へ進む。
【００７９】
影響範囲記憶工程Ｓ６６３において、影響範囲抽出部１３１は、依存選択工程Ｓ６６１で選択した部品を影響範囲部品とし、ＨＤＤ９２０を用いて、影響範囲データを記憶する。
【００８０】
依存追跡工程Ｓ６６４において、影響範囲抽出部１３１は、ＣＰＵ９１１を用いて、依存選択工程Ｓ６６１で選択した部品を追跡の対象とし、依存追跡処理Ｓ６６０を再帰的に実行することにより、依存する部品を追跡する。
その後、影響範囲抽出部１３１は、依存選択工程Ｓ６６１に戻り、次の部品を選択する。
【００８１】
図１５は、この実施の形態における障害影響分析装置１００の動作の一例を説明する図である。
間隔の狭い右斜め斜線によるハッチングは、障害が検出された部品を表わす。間隔の広い右斜め斜線によるハッチングは、原因範囲抽出部１２２が抽出した原因範囲部品を表わす。
例えば、部品「８３４」に障害が発生していることを障害検出部１２１が検出した場合、原因範囲抽出部１２２は、依存関係の種類を問わず、部品「８３４」が依存しているすべての部品を抽出し、原因範囲部品とする。
【００８２】
図１６は、この実施の形態における障害影響分析装置１００の動作の一例を説明する図である。
障害調査部１２３は、原因範囲抽出部１２２が抽出した原因範囲部品すべてについて、障害発生の有無を調査し、例えば、５つの部品「８４１」「８６０ａ」「８６１ａ」「８３３ｂ」「８４２ｂ」に障害が発生していることを検出する。
【００８３】
この例の場合、障害が発生している部品の分布から見て、障害の根本的な原因である一次障害は、２つの部品「８６１ａ」「８４２ｂ」にあり、それ以外の障害は、一次障害の影響による二次障害であることが予測できる。
障害影響分析装置１００は、更に、一次障害を判別する一次障害判別部を有する構成であってもよい。例えば、一次障害判別部は、ＣＰＵ９１１を用いて、依存記憶部１１６が記憶した依存データが表わす依存関係と、障害記憶部１２４が記憶した障害検出データが表わす部品とに基づいて、障害が検出された部品について、その部品が直接的あるいは間接的に依存している部品に障害が検出されたか否かを判定する。その部品が直接的あるいは間接的に依存している部品に障害が検出されていない場合、一次障害判別部は、ＣＰＵ９１１を用いて、その部品の障害が一次障害であると判定する。一次障害判別部は、ＣＰＵ９１１を用いて、判別した結果を表わすデータ（以下「一次障害データ」と呼ぶ。）を生成する。影響範囲通知部１３２は、ＣＰＵ９１１を用いて、影響範囲データとともに、一次障害判別部が生成した一次障害データを障害影響表示装置８０２に通知する。これにより、一次障害が発生している部品を管理者が特定するのを助けることができるので、障害からの復旧を早めることができる。
一方、障害が影響する範囲を知りたいだけであれば、一次障害と二次障害を区別する必要はない。したがって、一次障害判別部はなくてもよい。
【００８４】
図１７は、この実施の形態における障害影響分析装置１００の動作の一例を説明する図である。
交差する斜線によるハッチングは、影響範囲抽出部１３１が抽出した影響範囲部品を表わす。
影響範囲抽出部１３１は、障害検出部１２１あるいは障害調査部１２３のどちらかが障害を検出した部品について、そのいずれかの部品に依存する部品をすべて抽出し、影響範囲部品とする。この例では、障害検出部１２１が障害を検出した部品「８３４」と、障害調査部１２３が障害を検出した５つの部品「８４１」「８６０ａ」「８６１ａ」「８３３ｂ」「８４２ｂ」の部品とを合わせた６つの部品を基点とし、依存関係の種類を問わず、影響範囲抽出部１３１は、そのいずれかに依存する部品をすべて抽出する。
【００８５】
このように、障害影響分析装置１００は、検出した障害が二次障害である可能性を考慮して、依存先方向へ探索することにより、実行システム８０１で発生している障害を洗い出す。障害影響分析装置１００は、洗い出した障害を基点としてその影響が及ぶ範囲を特定するので、いずれの障害が一次障害であるかを判別する必要はなく、障害の影響が及ぶ範囲を正しく特定することができる。
【００８６】
この実施の形態における障害影響分析装置１００は、複数の部品により構成される対象システム（実行システム８０１）について部品に発生した障害の影響を分析する。
障害影響分析装置１００は、データを記憶する記憶装置（ＨＤＤ９２０）と、データを処理する処理装置（ＣＰＵ９１１）と、依存記憶部１１６と、障害検出部１２１と、原因範囲抽出部１２２と、障害調査部１２３と、影響範囲抽出部１３１とを有する。
上記依存記憶部１１６は、上記記憶装置を用いて、上記対象システムを構成する複数の部品それぞれについて、上記部品の動作が依存する他の部品を表わす依存データを記憶する。
上記障害検出部１２１は、上記処理装置を用いて、上記複数の部品のうち少なくともいずれかの部品について、上記部品に障害が発生しているか否かを検出する。
上記原因範囲抽出部１２２は、上記処理装置を用いて、上記依存記憶部１１６が記憶した依存データに基づいて、障害が発生していると上記障害検出部１２１が判定した部品の動作が依存する他の部品を抽出して、原因範囲部品とする。
上記障害調査部１２３は、上記処理装置を用いて、上記原因範囲抽出部１２２が抽出した原因範囲部品について、上記原因範囲部品に障害が発生しているか否かを調査する。
上記影響範囲抽出部１３１は、上記処理装置を用いて、上記依存記憶部１１６が記憶した依存データに基づいて、上記複数の部品のうち障害が発生していると上記障害検出部１２１または上記障害調査部１２３が判定した部品に動作が依存する他の部品を抽出して、影響範囲部品とする。
【００８７】
これにより、障害の影響が及ぶ範囲を特定するために一次障害を特定する必要がないので、限られた情報に基づいて障害の影響が及ぶ範囲を正しく特定することができる。
【００８８】
この実施の形態における障害影響分析装置１００において、上記原因範囲抽出部１２２は、上記処理装置を用いて、上記依存記憶部１１６が記憶した依存データに基づいて、上記対象システムを構成する複数の部品間の依存関係を辿ることにより、障害が発生していると上記障害検出部１２１が検出した部品の動作が依存する他の部品をすべて抽出して、原因範囲部品とする。
【００８９】
これにより、一次障害が発生している部品が原因範囲部品に必ず含まれるので、障害の影響が及ぶ範囲を正しく特定することができる。
【００９０】
この実施の形態における障害影響分析装置１００において、上記対象システムを構成する複数の部品は、上記対象システムによって実現される業務を含む。
上記依存記憶部１１６は、上記記憶装置を用いて、上記業務の実行が依存する他の部品を表わすデータを含む依存データを記憶する。
上記影響範囲抽出部１３１は、上記処理装置を用いて、障害が発生した部品に実行が依存する業務を含む影響範囲部品を抽出する。
【００９１】
これにより、対象システムで発生した障害が業務の実行に及ぼす影響を正しく分析することができる。
【００９２】
この実施の形態における障害影響分析装置１００において、上記影響範囲抽出部１３１は、上記処理装置を用いて、上記依存記憶部１１６が記憶した依存データに基づいて、上記対象システムを構成する複数の部品間の依存関係を辿ることにより、障害が発生していると上記障害検出部１２１または上記障害調査部１２３が判定した部品に動作が依存する他の部品をすべて抽出して、影響範囲部品とする。
【００９３】
これにより、障害の影響が及ぶ可能性のある部品が影響範囲部品に必ず含まれるので、障害の影響が及ぶ範囲を正しく特定することができる。
【００９４】
この実施の形態における業務システム８００は、所定の業務を実行する実行システム８０１と、上記実行システム８０１を対象システムとする障害影響分析装置１００とを有する。
【００９５】
これにより、障害の影響が及ぶ範囲を特定するために一次障害を特定する必要がないので、実行システム８０１で発生した障害が業務の実行に及ぼす影響を正しく分析することができる。
【００９６】
この実施の形態における障害影響分析装置１００が、複数の部品により構成される対象システムについて部品に発生した障害の影響を分析する障害影響分析方法は、以下の工程を有する。
上記記憶装置が、上記対象システムを構成する複数の部品それぞれについて、上記部品の動作が依存する他の部品を表わす依存データを記憶する。
上記処理装置が、上記複数の部品のうち少なくともいずれかの部品について、上記部品に障害が発生しているか否かを検出する。
上記処理装置が、上記記憶装置が記憶した依存データに基づいて、障害が発生していると判定した部品の動作が依存する他の部品を抽出して、原因範囲部品とする。
上記処理装置が、抽出した原因範囲部品について、上記原因範囲部品に障害が発生しているか否かを調査する。
上記処理装置が、上記記憶装置が記憶した依存データに基づいて、上記複数の部品のうち障害が発生していると判定した部品に動作が依存する他の部品を抽出して、影響範囲部品とする。
【００９７】
これにより、障害の影響が及ぶ範囲を特定するために一次障害を特定する必要がないので、限られた情報に基づいて障害の影響が及ぶ範囲を正しく特定することができる。
【００９８】
実施の形態２．
実施の形態２について、図１８〜図２０を用いて説明する。
なお、実施の形態１と共通する部分については、同一の符号を付し、説明を省略する。
【００９９】
この実施の形態における業務システム８００の全体構成、障害影響分析装置１００の外観・ハードウェア資源は、実施の形態１と同様なので、説明を省略する。
【０１００】
図１８は、この実施の形態における障害影響分析装置１００の機能ブロックの一例を示すブロック構成図である。
障害影響分析装置１００は、実施の形態１で説明した機能ブロックに加えて、更に、影響内容判定部１３３を有する。
【０１０１】
実施の形態１で説明したように、依存判定部１１５が生成し、依存記憶部１１６が記憶する依存データには、冗長依存や分散依存など依存関係の種別を表わすデータが含まれている。
【０１０２】
障害検出部１２１及び障害調査部１２３は、障害発生の有無を検出するだけでなく、障害が発生していると判定した場合、ＣＰＵ９１１を用いて、その障害の種別を判定する。障害の種別には、例えば「停止」「信頼性低下」「性能低下」などがある。「停止」とは、その部品が機能を提供できない状態をいう。「信頼性低下」とは、現在はその部品が機能しているが、機能が停止する可能性が通常より高くなっている状態をいう。例えば、ＨＤＤについて、空き容量が所定の値を下回った状態である。「性能低下」とは、その部品が機能しているが、応答速度が落ちるなど、通常より処理能力が低い状態をいう。例えば、ＣＰＵについて、平均使用率が所定の値を上回った状態である。障害検出部１２１及び障害調査部１２３は、ＣＰＵ９１１を用いて、判定した障害の種別を表わすデータを含む障害検出データを生成する。
【０１０３】
影響内容判定部１３３は、依存記憶部１１６が記憶した依存データが表わす依存関係と、障害記憶部１２４が記憶した障害検出データが表わす部品及び障害の種別と、影響範囲抽出部１３１が生成した影響範囲データが表わす影響範囲部品とに基づいて、影響範囲部品に及ぶ影響の内容を判定する。影響の内容とは、障害の影響によりその部品にどのような種別の障害が発生するかということである。したがって、影響の内容には、障害の種別と同じく、例えば「停止」「信頼性低下」「性能低下」などがある。
影響内容判定部１３３は、ＣＰＵ９１１を用いて、判定した影響の内容を表わすデータ（以下「影響内容データ」と呼ぶ。）を生成する。
【０１０４】
例えば、影響内容判定部１３３は、ＣＰＵ９１１を用いて、影響範囲抽出部１３１が生成した影響範囲データが表わす部品について、その部品が直接依存する部品の状態に基づいて、その部品に及ぶ影響の内容を判定する。ここで、「部品の状態」とは、その部品について、障害検出部１２１や障害調査部１２３が障害を検出した場合は、障害検出部１２１や障害調査部１２３が検出した障害の種別のことである。また、その部品について、障害検出部１２１や障害調査部１２３が障害を検出しなかった場合は、影響内容判定部１３３が判定した影響の内容のことである。
【０１０５】
影響範囲通知部１３２は、ＣＰＵ９１１を用いて、影響範囲抽出部１３１が生成した影響範囲データとともに、影響内容判定部１３３が生成した影響内容データを、障害影響表示装置８０２に対して通知する。
【０１０６】
図１９は、この実施の形態における影響内容判定部１３３が用いるロジックの一例を示す図である。
依存先状態５１１，５１３は、影響の内容を判定する対象である部品が直接依存する部品の状態を表わす。直接依存する部品が複数ある場合、依存先状態５１１は、そのなかで障害の程度が一番重い部品の状態を表わし、依存先状態５１３は、そのなかで障害の程度が一番軽い部品の状態を表わす。依存種別５１２は、依存関係の種別を表わす。影響内容５１４は、影響内容判定部１３３が判定する影響の内容を表わす。
【０１０７】
例えば、依存種別が通常依存であれば、依存先の部品のなかで、障害の程度が最も重い部品の状態を受け継ぐ。
依存種別が冗長依存であれば、依存先の部品すべてが「停止」になった場合、その部品も「停止」になる。依存先の部品の一部または全部が「性能低下」になり、残りが「停止」になった場合、その部品は「性能低下」になる。依存先の部品の一部が「停止」になり、残りが「信頼性低下」または「正常」である場合、その部品は「信頼性低下」になる。それ以外の場合は、その部品は「正常」になる。
依存種別が分散依存であれば、依存先の部品すべてが「停止」になった場合、冗長依存のときと同様、その部品も「停止」になる。依存先の部品の一部が「停止」または「性能低下」になった場合、その部品は「性能低下」になる。それ以外の場合は、その部品は「正常」になる。
【０１０８】
影響内容判定部１３３は、例えば、このようなロジックに基づいて、影響範囲部品に及ぶ障害の影響の内容を判定する。
【０１０９】
図２０は、この実施の形態における影響内容判定処理Ｓ６７０の流れの一例を示すフローチャート図である。
影響内容判定処理Ｓ６７０において、影響内容判定部１３３は、障害が影響範囲部品に及ぼす影響の内容を判定する。影響内容判定処理Ｓ６７０は、判定済判定工程Ｓ６７１、依存先選択工程Ｓ６７２、状態判定工程Ｓ６７３、影響内容判定工程Ｓ６７４を有する。
影響内容判定処理Ｓ６７０は、例えば、図１４で説明した依存追跡処理Ｓ６６０において、影響範囲記憶工程Ｓ６６３の後、依存追跡工程Ｓ６６４の前に、部品選択工程Ｓ６１１で影響範囲抽出部１３１が選択した部品を判定対象として実行される。
【０１１０】
判定済判定工程Ｓ６７１において、影響内容判定部１３３は、ＣＰＵ９１１を用いて、判定対象の部品について、既に影響の内容を判定しているか否かを判定する。
判定対象の部品について既に影響の内容を判定している場合、影響内容判定部１３３は、影響内容判定処理Ｓ６７０を終了する。
判定対象の部品についてまだ影響の内容を判定していない場合、影響内容判定部１３３は、依存先選択工程Ｓ６７２へ進む。
【０１１１】
依存先選択工程Ｓ６７２において、影響内容判定部１３３は、ＣＰＵ９１１を用いて、依存記憶部１１６が記憶した依存データが表わす依存関係に基づいて、実行システム８０１を構成する部品のなかから、判定対象の部品が直接依存する部品を抽出する。影響内容判定部１３３は、ＣＰＵ９１１を用いて、抽出した部品のなかから、未選択の部品を１つ選択する。
判定対象の部品が直接依存する部品がすべて選択済であり、未選択の部品がない場合、影響内容判定部１３３は、影響内容判定工程Ｓ６７４へ進む。
未選択の部品を１つ選択した場合、影響内容判定部１３３は、状態判定工程Ｓ６７３へ進む。
【０１１２】
状態判定工程Ｓ６７３において、影響内容判定部１３３は、ＣＰＵ９１１を用いて、依存先選択工程Ｓ６７２で選択した部品を判定対象として、影響内容判定処理Ｓ６７０を再帰的に実行することにより、依存先の部品の状態を判定する。
その後、影響内容判定部１３３は、依存先選択工程Ｓ６７２に戻り、次の部品を選択する。
【０１１３】
影響内容判定工程Ｓ６７４において、影響内容判定部１３３は、ＣＰＵ９１１を用いて、状態判定工程Ｓ６７３で判定した依存先の部品の状態に基づいて、所定のロジックにより、判定対象の部品に及ぶ影響の内容を判定する。
【０１１４】
このように、障害影響分析装置１００は、障害の影響が伝播する経路に沿って、障害の影響を追跡していくことにより、障害の影響が及ぶ範囲だけでなく、どのような影響が及ぶかを分析する。
【０１１５】
障害影響表示装置８０２は、障害影響分析装置１００から通知された影響範囲データと影響内容データとに基づいて、障害の影響が及ぶ範囲とその内容を表示する。
実行システム８０１の管理者は、障害影響表示装置８０２が表示した内容に基づいて、影響が比較的小さい場合に障害を放置するか否かを判断したり、逆に影響が比較的大きい場合に緊急対策を講じたりするなど、障害の影響の程度に応じた対策を講じることができる。
【０１１６】
この実施の形態における障害影響分析装置１００は、更に、依存種別記憶部（依存記憶部１１６）と、影響内容判定部１３３とを有する。
上記依存種別記憶部は、上記記憶装置（ＨＤＤ９２０）を用いて、上記部品の動作が他の部品に依存する依存関係の種別を表わす依存種別データ（依存データ）を記憶する。
上記影響内容判定部１３３は、上記処理装置（ＣＰＵ９１１）を用いて、上記依存種別記憶部が記憶した依存種別データに基づいて、上記影響範囲抽出部１３１が抽出した影響範囲部品に対してどのような影響が及ぶかを判定する。
【０１１７】
これにより、障害の影響が及ぶ範囲だけでなく、どのような影響が及ぶかを判定するので、適切な対策を講じることができる。
【０１１８】
この実施の形態における障害影響分析装置１００において、上記依存種別記憶部は、上記記憶装置を用いて、上記依存関係の種別として、上記部品の動作が依存する複数の他の部品が冗長系を構成し、上記複数の他の部品のうち一部の他の部品に障害が発生しても上記部品が正常に動作し、上記複数の他の部品すべてに障害が発生した場合に上記部品が正常に動作しなくなる冗長依存関係を含む依存種別データを記憶する。
上記影響内容判定部１３３は、上記影響範囲抽出部１３１が影響範囲部品として抽出した部品を影響判定対象部品とし、上記処理装置を用いて、上記依存種別記憶部が記憶した依存種別データに基づいて、上記影響判定対象部品の動作が冗長依存関係により依存する複数の他の部品を抽出し、抽出した複数の他の部品のうち一部の他の部品について、障害が発生していると上記障害検出部１２１もしくは上記障害調査部１２３が判定し又は影響範囲部品として上記影響範囲抽出部１３１が抽出した場合に、上記影響判定対象部品の動作の信頼性が低下していると判定する。
【０１１９】
これにより、実行システム８０１が冗長系を含むシステムである場合も、障害の影響を正しく判定することができる。
【０１２０】
この実施の形態における障害影響分析装置１００において、上記依存種別記憶部は、上記記憶装置を用いて、上記依存関係の種別として、上記部品の動作が依存する複数の他の部品が分散処理を実行し、上記複数の他の部品のうち一部の他の部品に障害が発生した場合、上記部品の処理能力が低下する分散依存関係を含む依存種別データを記憶する。
上記影響内容判定部１３３は、上記影響範囲抽出部１３１が影響範囲部品として抽出した部品を影響判定対象部品とし、上記処理装置を用いて、上記依存種別記憶部が記憶した依存種別データに基づいて、上記影響判定対象部品の動作が分散依存関係により依存する複数の他の部品を抽出し、抽出した複数の他の部品のうち一部の他の部品について、障害が発生していると上記障害検出部１２１もしくは上記障害調査部１２３が判定し又は影響範囲部品として上記影響範囲抽出部１３１が抽出した場合に、上記影響判定対象部品の動作の処理能力が低下していると判定する。
【０１２１】
これにより、実行システム８０１が分散処理系を含むシステムである場合も、障害の影響を正しく判定することができる。
【０１２２】
以上説明した障害影響分析装置１００が障害の影響を分析する業務障害影響分析方式は、例えば、依存関係情報定義クライアント（構成入力部１１１・構成記憶部１１２・依存判定部１１５）、依存関係情報管理サーバ（依存記憶部１１６）、障害監視エージェント、障害監視サーバ（障害検出部１２１）、障害抽出サーバ（原因範囲抽出部１２２・障害調査部１２３）、業務影響分析サーバ（影響範囲抽出部１３１）、業務影響分析結果表示クライアント（障害影響表示装置８０２）を備える。
【０１２３】
依存関係情報定義クライアントは、依存関係情報を定義する。依存関係情報定義クライアントは、例えば、入力装置、表示装置、依存関係情報定義部（依存判定部１１５）、依存関係情報格納部を備える。入力装置は、依存関係情報を入力する。表示装置は、依存関係情報の入力状況を表示する。依存関係情報定義部は、入力データから依存関係情報の定義を作成する。依存関係情報格納部は、依存関係情報として、業務の依存関係と、サービスの依存関係と、計算機内の依存関係と、ネットワーク機器の依存関係を保存する。
【０１２４】
依存関係情報管理サーバは、依存関係情報を管理する。依存関係情報管理サーバは、例えば、依存関係情報インポート部、依存関係情報リポジトリ（依存記憶部１１６）、依存関係情報管理部を備える。依存関係情報インポート部は、依存関係情報定義クライアントから依存関係情報をインポートする。依存関係情報リポジトリは、依存関係情報（依存データ）である、業務の依存関係と、サービスの依存関係と、計算機内の依存関係と、ネットワーク機器の依存関係を保存する。依存関係情報管理部は、依存関係情報リポジトリの依存関係情報の検索や依存関係情報の入出力を行う。
【０１２５】
障害監視エージェントは、障害の発生を検知する。障害監視エージェントは、例えば、障害通知部を備える。障害通知部は、監視対象システム（実行システム８０１）で発生した障害の情報を障害監視サーバに通知する。
【０１２６】
障害監視サーバは、障害の発生を監視する。障害監視サーバは、例えば、障害監視部（障害検出部１２１）、障害情報格納部（障害記憶部１２４）を備える。障害監視部は、障害監視エージェントから障害の通知を受信する。障害情報格納部は、受信した障害情報を記録する。
【０１２７】
障害抽出サーバは、障害の抽出を行う。障害抽出サーバは、例えば、障害内容受信部、障害抽出部（原因範囲抽出部１２２・障害調査部１２３）を備える。障害内容受信部は、障害監視サーバから障害情報を受け取る。障害抽出部は、受信した障害について、依存関係を辿って元の原因となっている障害や、他に発生している障害の抽出を行う。
【０１２８】
業務影響分析サーバは、業務への影響分析を行う。業務影響分析サーバは、例えば、障害内容受信部、業務影響分析部（影響範囲抽出部１３１）、業務影響分析結果格納部を備える。障害内容受信部は、障害監視サーバから障害情報を受け取る。業務影響分析部は、受信した複数の障害情報について、依存関係を辿って影響のある業務を抽出する。業務影響分析結果格納部は、影響分析した結果、影響することが確認できた業務名と、その業務に影響を与える原因障害を記録する。
【０１２９】
業務影響分析結果表示クライアントは、業務への影響分析結果を表示する。業務影響分析結果表示クライアントは、例えば、分析結果表示部、表示装置、入力装置を備える。分析結果表示部は、業務影響分析サーバの分析結果を受信して、業務管理者向けに結果を表示する。表示装置は、分析結果を表示するときの画面となる。入力装置は、分析結果の一覧や詳細を選択する。
【０１３０】
業務障害影響分析方式は、依存関係を繰り返し辿ることで障害発見箇所が依存している計算機やソフトウェアを抽出する。そのとき同時に依存している計算機やソフトウェアで障害が発生していないかを確認する。そして、障害が発生している計算機やソフトウェアの集合を求める。
次に、上で求めた障害が発生している計算機やソフトウェアの集合から、それらに依存している計算機やソフトウェアを取得して、依存している業務にたどり着くまで辿る。このようにして影響を受ける業務を求めることができる。最終的に影響を受けることが判明した業務は、業務影響分析結果表示クライアントに表示する。
依存関係を表すために、業務の依存関係と、サービスの依存関係と、計算機内の依存関係と、ネットワーク機器の依存関係を定義する。業務とサービスと計算機とネットワークの依存関係は繋がっており、これらの全ての依存関係を辿ることができる。
【０１３１】
最初に、依存関係情報定義クライアント（構成入力部１１１）が、依存関係情報を入力する。次に、依存関係情報管理サーバ（依存記憶部１１６）が、依存関係をインポートする。
その後、障害監視サーバ（障害検出部１２１）が、障害情報を受信する。障害抽出サーバ（原因範囲抽出部１２２・障害調査部１２３）が、原因となっている元の障害と二次的な障害を全て抽出する。業務影響分析サーバ（影響範囲抽出部１３１）が、業務への影響分析を実施する。分析結果を業務影響分析結果表示クライアント（障害影響表示装置８０２）が表示する。業務障害影響分析システム（障害影響分析装置１００）が停止するまでこれを繰り返す。
【０１３２】
依存関係情報定義クライアント（構成入力部１１１）は、依存関係を入力する。
依存関係には、例えば、業務の依存関係、サービスの依存関係、計算機内の依存関係、ネットワーク機器の依存関係などがある。業務の依存関係には、業務（処理）とサービス（ＡＰＰ）との間の依存関係を定義する。サービスの依存関係には、サービス同士の依存関係と、サービスとミドルウェアなどのソフトウェアの依存関係を定義する。計算機内の依存関係には、ミドルウェアやＯＳやハードウェアやネットワークデバイスの依存関係を定義する。
また、依存関係の種類には、例えば「１対１の依存関係」「１対ＮのＯＲ依存関係」「１対ＮのＡＮＤ依存関係」などがある。「１対１の依存関係」は、通常の依存関係を表わす。「１対ＮのＯＲの依存関係」は、一方が冗長構成になっていて、Ｎの側が一つ少なくなってもシステムが正常に動作する関係を表わす。「１対ＮのＡＮＤの依存関係」は、一方が負荷分散の構成になっていて、Ｎの側が一つ少なくなると性能が低下する関係を表わす。
入力された依存関係は、一時的に依存関係情報格納部が保存する。
【０１３３】
依存関係情報管理サーバでは、依存関係情報インポート部が依存関係情報定義クライアントから依存関係情報を取得する。取得した依存関係情報は、依存関係情報リポジトリが保存する。後で依存関係情報が追加された場合は、依存関係情報インポート部が依存関係情報定義クライアントから取得して、依存関係情報リポジトリの情報に追加する。
依存関係情報リポジトリが保存している情報は、依存関係情報管理部を通して検索することができる。検索の種類としては、指定した部位（部品。業務やサービスやミドルウェアやＯＳや計算機やネットワーク機器）が依存している部位の検索や、逆に指定した部位に依存している部位の検索などがある。
【０１３４】
障害監視サーバ（障害検出部１２１）は、障害情報を受信する。
障害対象システム（実行システム８０１）には、あらかじめ障害監視エージェントを導入しておく。障害監視エージェントは、計算機やミドルウェアやアプリケーションを監視して障害の発生を検知する。障害監視エージェントでは、障害通知部が、検知した障害情報を障害監視サーバ（障害検出部１２１）に送信する。障害監視サーバでは、障害監視部（障害検出部１２１）が受信した障害情報を障害情報格納部（障害記憶部１２４）が記録する。同時に、障害情報を障害抽出サーバ（原因範囲抽出部１２２・障害調査部１２３）に送信する。
【０１３５】
障害抽出サーバは、元の障害と二次的な障害を抽出する。
障害抽出サーバでは、障害内容受信部が受信した複数の障害情報から一つの障害を取り出す。取得した障害の障害発生部位について、その部位が依存する部位を、依存関係情報管理サーバの依存関係情報管理部（依存記憶部１１６）に問い合わせる。依存関係情報管理部は、依存関係情報リポジトリを検索して、依存する部位を全て取得し、障害抽出サーバに返す。障害抽出部（原因範囲抽出部１２２）は、依存部位の中で、確認済みの部位は削除して未確認の部位のみを残す。障害抽出部（障害調査部１２３）は、取得した依存部位の種別（計算機・ネットワーク機器か、ＯＳか、ミドルウェアか、サービス）に応じて分岐する。部位の種別が計算機・ネットワーク機器の場合、障害抽出部は、ｐｉｎｇとポートへの接続要求によってハードウェアの死活確認を行う。部位の種別がＯＳの場合、障害抽出部は、障害監視エージェントからプロセスの稼動状況情報とシステムログを取得して、ＯＳが正常に稼動しているかを確認する。部位の種別がミドルウェアの場合、障害抽出部は、ポートへのリクエスト送信結果の確認をするとともに、障害監視エージェントからミドルウェアのプロセスやサービスの稼動状況を取得する。部位の種別がサービスの場合は、ポートへのリクエストの送信結果の確認をするとともに、監視エージェントからサービスのプロセスの稼動状況を取得する。障害抽出部は、取得した結果から、障害が発生していないかを確認して、障害発生の有無によって分岐する。障害が発生していた場合、障害抽出部は、新たな障害情報として、障害抽出サーバの障害内容受信部に追加登録するとともに、後で業務影響分析サーバで利用するため、障害情報を障害監視サーバに送信する。障害が発生していなかった場合、障害抽出部は、何もしないで次の処理に進む。障害抽出部は、障害内容受信部に登録されている障害全てについて依存部位の抽出が完了したかどうかによって分岐する。未処理の障害が残っている場合、障害抽出部は、最初に戻り、次の障害について処理を繰り返す。全ての障害の抽出が完了した場合、障害抽出部は、終了する。
【０１３６】
業務影響分析サーバ（影響範囲抽出部１３１）は、業務への影響分析を実施する。
業務影響分析サーバでは、障害内容受信部が、障害監視サーバから、最初に検出された障害と、障害抽出サーバが抽出した障害を含む全ての障害情報を取得して、保持する。業務影響分析サーバは、障害内容受信部から未処理の障害情報を一つ取り出す。業務影響分析サーバは、障害情報に記述されている発生部位を参照して、その部位に依存する部位を、依存関係情報管理サーバの依存関係情報管理部（依存記憶部１１６）に問い合わせる。依存関係情報管理部は、依存関係情報リポジトリを検索して依存部位を全て取得し、業務影響分析サーバに返す。業務影響分析部は、取得した依存部位が、障害発生部位と同じ場合や、障害が発生していないと判定済みの部位の場合は取得したリストから削除する。業務影響分析部は、取得した依存部位が業務かどうかによって分岐する。依存部位が業務である場合、業務影響分析部は、その業務名を業務影響分析結果格納部に記録する。このとき、業務に影響した障害がどれかわかるよう、原因障害を業務影響分析結果格納部に記録する。依存部位が業務でない場合、業務影響分析部は、判定済みの部位として一時的に記録する。また、業務影響分析部は、原因障害が分かるように依存先の原因障害を伝播させて依存部位と一緒に一時的に記録する。なお、原因障害は、一つの部位に対して複数存在することがある。業務影響分析部は、新たに依存部位が抽出されたかどうかで分岐する。依存部位が抽出された場合、業務影響分析部は、さらにそれらの部位が依存する部位を依存関係情報管理サーバの依存関係情報管理部に問い合わせて、取得する。業務影響分析部は、取得した部位について処理を繰り返す。依存部位が抽出されなかった場合、業務影響分析部は、所定のロジックにしたがって、抽出された各業務の原因障害の種別に応じて、業務への影響内容を求める。業務影響分析部は、各業務の影響内容を診断結果として出力する。
【０１３７】
業務影響分析結果表示クライアントは、業務への影響分析結果を表示する。
業務影響分析結果表示クライアントは、業務影響分析サーバから業務影響分析結果を取得する。業務影響分析結果表示クライアントでは、取得した分析結果を分析結果表示部が表示する。
【０１３８】
これにより、死活確認を個々の計算機やＯＳやミドルウェアに対して行うため、冗長構成になっている計算機の一つが停止しているような場合でも、業務の信頼性が低下しているという正しい影響分析を行うことができる。例えば、サービスＡが依存している計算機が冗長構成になっていて、そのうちの一つの計算機が障害で停止し、残りの正常な計算機を使用してサービスのレスポンスを返した場合であっても、サービスＡは正常と判断せず、サービスＡが停止する危険性が高まっており「信頼性が低下している」と、正しく解析することができる。
また、障害が発生している部位についてのみ影響分析を行うため、エルダップ（ＬＤＡＰ）のように多くの業務で使用している計算機やサービスが存在する場合でも、無関係な業務やサービスについて影響分析を行うことはない。
また、業務とサービスとの依存関係を定義することにより、サービスだけでなく、一般に複数のサービスにより構成される業務に対する障害の影響分析を行うことができる。
また、一次障害と二次障害との区別が難しい場合でも、一次障害を抽出することができ、障害の影響を見落とすことがない。
また、ポーリングを使用した方式と異なり、一定時間待つことがないので、直ちに依存部位に対して障害の発生状況を確認するため、影響分析を短時間に実行できる。
【０１３９】
これにより、業務システムの障害影響を分析することができる。特に、金融分野のように、障害が発生した場合に、１分でも早く業務を復旧する必要があるシステムに対して、有効である。また、多くのサービスに依存しているような大規模な業務システムで、障害の原因と結果を見通すことが難しいシステムにおいて、障害の影響を把握することができる。
【０１４０】
業務障害影響分析方式は、業務システムにおいて発生した障害に対して、業務への影響を特定する。障害の原因を人が特定したり、エージェントを使用して特定したりする必要はない。したがって、障害の原因を人が特定する場合と異なり、時間をかけずにすぐに影響を特定することができる。また、エージェントで原因を特定する場合と異なり、元の障害を見落とされる可能性がなく、二次的な障害から影響分析して実際の影響を過小評価してしまうことがない。
【０１４１】
業務障害影響分析方式は、障害の原因となっている障害を抽出することで正確な影響分析を行えるようにする。また、管理者が、影響分析の結果と、元の障害を含む全ての障害とを参照して、適切な処置を行うことができる。
【０１４２】
全体の手順は、例えば、以下のとおりである。
業務設計者が、業務連携情報定義クライアント（構成入力部１１１）を使用して業務連携情報を入力する。
計算機基盤設計者が、計算機基盤連携情報定義クライアント（構成入力部１１１）を使用して計算機内の連携情報を入力する。
ネットワーク設計者が、業務ネットワーク経路情報定義クライアント（構成入力部１１１）を使用してネットワーク経路情報を入力する。
構成情報管理サーバは、業務連携情報、計算機基盤連携情報、業務ネットワーク経路情報を合成してリポジトリに格納する。
【０１４３】
障害監視エージェントは、業務影響分析サーバと障害監視サーバのシステム障害監視部に障害情報を通知する。
障害監視サーバは、障害抽出サーバの障害内容受信部に障害情報を送信する。
障害抽出サーバは、障害抽出部で元の障害と二次的な障害全てを抽出して、業務影響分析サーバの障害内容受信部に送信する。
業務影響分析サーバは、障害影響分析を実施して、結果の業務名を業務影響表示クライアントに送付する。
業務影響表示クライアントは、業務名を表示する。
【０１４４】
障害を抽出する手順は、例えば、以下のとおりである。
障害が検知された場合、依存関係を参照して依存している装置やソフトウェアが正常に動作しているかを確認する。実際には、ｐｉｎｇやポートへのリクエスト送信や、エージェントへの問い合わせを実行する。これを、最も下位の装置までたどり着くまで繰り返す。なお、依存している装置全てにおいて障害が発生するとは限らないため。途中で正常な装置があっても中断しないで、最も下位まで繰り返す。
これにより、検出した障害には、必ず元の障害が含まれ、元の障害と二次的な障害のすべてを抽出することができる。元の原因と二次的な障害の因果関係の分析をする必要はない。
障害に対する対処を管理者が行う場合、抽出された障害のリストを参照して、処置方法を決定する。
【０１４５】
障害抽出部は、障害抽出サーバの障害内容受信部に登録されている複数の障害情報から障害抽出が未実施の障害を全て取り出す。なお、障害監視エージェントが複数の障害を報告する場合があるので、報告のあった障害を１つずつ処理する。障害抽出部は、取り出した障害発生部位について、構成情報リポジトリを検索して、障害発生部位が依存している部位を全て抽出する。障害抽出部は、抽出した部位を一つ取り出し、部位の種類に応じで条件分岐を行う。抽出した部位がハードウェアの場合、障害抽出部は、ｐｉｎｇのリクエスト送信とポートへの接続要求などによってハードウェアの死活確認を行う。抽出した部位がＯＳの場合、障害抽出部は、監視エージェントからのプロセスの稼動状況の情報とシステムログなどを取得して、ＯＳが正常に稼動しているかを確認する。抽出した部位がミドルウェアの場合、障害抽出部は、ポートへのリクエスト送信結果や、監視エージェントから、ミドルウェアのプロセスやサービスの稼動状況を取得する。抽出した部位がアプリケーションの場合、障害抽出部は、ポートへのリクエスト送信結果や、監視エージェントからアプリケーションのプロセスの稼動状況を取得する。確認の結果、抽出した部位が正常かどうかで分岐する。障害が発生していることを検知した場合、障害抽出部は、障害抽出サーバの障害内容受信部に追加登録する。障害抽出部は、抽出した部位に依存している部位がそれ以上存在するか否かを判断する。依存する部位がある場合、障害抽出部は、抽出部位に依存している部位を構成情報リポジトリから抽出し、その部位について処理をする。依存する部位がない場合、障害抽出部は、障害抽出の結果として抽出された障害情報（複数の場合もある）を出力する。このなかには、原因となった障害と、二次的な障害の両方が含まれる。また、場合によっては、同時に発生した別の障害の情報が含まれることもある。
【０１４６】
業務影響分析部は、複数の障害を扱える。業務影響分析部は、複数の障害が依存している部位を抽出する。同じ部位が抽出された場合、業務影響分析部は、重複しないように削除する。これにより、元の障害と二次的な障害すべてについて、業務への影響を調べる。
【符号の説明】
【０１４７】
１００  障害影響分析装置、１１１  構成入力部、１１２  構成記憶部、１１５  依存判定部、１１６  依存記憶部、１２１  障害検出部、１２２  原因範囲抽出部、１２３  障害調査部、１２４  障害記憶部、１３１  影響範囲抽出部、１３２  影響範囲通知部、１３３  影響内容判定部、５１１，５１３  依存先状態、５１２  依存種別、５１４  影響内容、８００  業務システム、８０１  実行システム、８０２  障害影響表示装置、８１１，８１２  業務、８２１〜８２４  処理、８３１〜８３５  ＡＰＰ、８４１〜８４５  ＭＷ、８５１〜８５５  ＯＳ、８６０  計算機、８６１  ＣＰＵ、８６２  ＨＤＤ、８６３  ＮＩＣ、８７０  ＬＡＮ、９０１  表示装置、９０２  キーボード、９０３  マウス、９０４  ＦＤＤ、９０５  ＣＤＤ、９０６  プリンタ装置、９０７  スキャナ装置、９１０  システムユニット、９１１  ＣＰＵ、９１２  バス、９１３  ＲＯＭ、９１４  ＲＡＭ、９１５  通信装置、９２０  ＨＤＤ、９２１  ＯＳ、９２２  ウィンドウシステム、９２３  プログラム群、９２４  ファイル群、９３１  電話器、９３２  ファクシミリ機、９４０  インターネット、９４１  ゲートウェイ、９４２  ＬＡＮ。
【図１】
2011113122.tif 000003
【図２】
2011113122.tif 000004
【図３】
2011113122.tif 000005
【図４】
2011113122.tif 000006
【図５】
2011113122.tif 000007
【図６】
2011113122.tif 000008
【図７】
2011113122.tif 000009
【図８】
2011113122.tif 000010
【図９】
2011113122.tif 000011
【図１０】
2011113122.tif 000012
【図１１】
2011113122.tif 000013
【図１２】
2011113122.tif 000014
【図１３】
2011113122.tif 000015
【図１４】
2011113122.tif 000016
【図１５】
2011113122.tif 000017
【図１６】
2011113122.tif 000018
【図１７】
2011113122.tif 000019
【図１８】
2011113122.tif 000020
【図１９】
2011113122.tif 000021
【図２０】
2011113122.tif 000022