(57)【特許請求の範囲】
【請求項１】
ネットワークを構成する複数の構成要素から死活情報を収集する死活情報収集部と、
前記ネットワークの構成要素間の接続関係を示す構成情報を参照し、前記複数の構成要素の各々について当該構成要素に至る経路上の構成要素のアンドを取った論理式を作成し、当該論理式の値として前記死活情報に当該構成要素が正常に動作中であることを示している場合に真、前記死活情報に当該構成要素が正常に動作中であることが示されていない場合に偽を与える論理式作成部と、
前記論理式作成部が前記複数の構成要素の各々について求めた複数の論理式から、矛盾する論理式が存在するか否かを検証する論理式検証部と
を備えたことを特徴とする構成情報検証装置。
【請求項２】
前記論理式検証部は、前記複数の論理式のうち、構成要素が単独の論理式の値を他の論理式に代入する演算を行ない、前記演算の結果得られた論理式が矛盾するかを判定することを特徴とする請求項１に記載の構成情報検証装置。
【請求項３】
前記論理式作成部は、複数の経路が存在する構成要素について、前記複数の経路の各々について経路上の構成要素のアンドを取った論理式を作成し、得られた複数の論理式のオアを取った論理式を前記複数の経路が存在する構成要素の論理式として求めることを特徴とする請求項１または２に記載の構成情報検証装置。
【請求項４】
前記矛盾する論理式が存在する場合に、当該矛盾する論理式に含まれる前記経路の到達先の構成要素の接続関係を変更して前記矛盾を解消する論理式矛盾解消部をさらに備えたことを特徴とする請求項１〜３のいずれか一つに記載の構成情報検証装置。
【請求項５】
前記論理式矛盾解消部は、前記矛盾する論理式の値が真である場合には、当該論理式に含まれる前記経路の到達先の構成要素と前記死活情報が正常に動作中であることを示していない同種の構成要素とを入れ替えて矛盾が解消されたかを判定することを特徴とする請求項４に記載の構成情報検証装置。
【請求項６】
ネットワークを構成する複数の構成要素から死活情報を収集する死活情報収集ステップと、
前記ネットワークの構成要素間の接続関係を示す構成情報を参照し、前記複数の構成要素の各々について当該構成要素に至る経路上の構成要素のアンドを取った論理式を作成し、当該論理式の値として前記死活情報に当該構成要素が正常に動作中であることを示している場合に真、前記死活情報に当該構成要素が正常に動作中であることが示されていない場合に偽を与える論理式作成ステップと、
前記論理式作成ステップが前記複数の構成要素の各々について求めた複数の論理式から、矛盾する論理式が存在するか否かを検証する論理式検証ステップと
を含んだことを特徴とする構成情報検証方法。
【請求項７】
ネットワークを構成する複数の構成要素から死活情報を収集する死活情報収集手順と、
前記ネットワークの構成要素間の接続関係を示す構成情報を参照し、前記複数の構成要素の各々について当該構成要素に至る経路上の構成要素のアンドを取った論理式を作成し、当該論理式の値として前記死活情報に当該構成要素が正常に動作中であることを示している場合に真、前記死活情報に当該構成要素が正常に動作中であることが示されていない場合に偽を与える論理式作成手順と、
前記論理式作成手順が前記複数の構成要素の各々について求めた複数の論理式から、矛盾する論理式が存在するか否かを検証する論理式検証手順と
をコンピュータに実行させることを特徴とする構成情報検証プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、構成情報検証装置、構成情報検証方法および構成情報検証プログラムに関する。
【背景技術】
【０００２】
複数の機器を接続したネットワークでは、構成要素である各機器の接続関係を示す構成情報を作成して保持し、ネットワークの管理を行なうことが行なわれてきた。具体的には、ネットワークの構築前に構成情報を作成し、構成情報に従って各機器を接続する場合があった。また、構築済みのネットワーク機器から情報を取得して構成情報を作成する技術も知られている。
【０００３】
しかしながら、構成情報通りにネットワークが構築されなかった場合や、ネットワークの変更が構成情報に反映されなかった場合など、構成情報とネットワークの実際の構成とが異なる場合があった。このようにネットワークと構成情報に差異が生じた場合には、ネットワークから実際の構成を取得し、構成情報を更新することが求められる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−８６７２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ネットワークの構成要素である機器から接続関係を特定する情報を取得するためには、構成要素である機器に対して認証が求められる場合があった。またネットワーク機器に対して管理者権限を有することが求められる場合があった。
【０００６】
認証や管理者権限なしで構成情報を取得するには、作業者が手作業で実際のネットワーク構成を確認する方法が考えられる。しかしながら、手作業でネットワークを確認するには多くの工数がかかる。特に、ネットワークの構成が複雑である場合や広範囲に渡る場合には、手作業での確認は困難である。
【０００７】
開示の技術は、上記に鑑みてなされたものであって、構成情報とネットワークの実際構成との一致を簡易に確認可能な構成情報検証装置、構成情報検証方法および構成情報検証プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本願の開示する構成情報検証装置、構成情報検証方法および構成情報検証プログラムはネットワークを構成する複数の構成要素から死活情報を収集する。また、開示の装置、方法、プログラムは、ネットワークの構成要素間の接続関係を示す構成情報を参照し、複数の構成要素の各々について当該構成要素に至る経路上の構成要素のアンドを取った論理式を作成する。そして、開示の装置、方法、プログラムは、論理式の値として死活情報に当該構成要素が正常に動作中であることを示している場合に真、前記死活情報に当該構成要素が正常に動作中であることが示されていない場合に偽を与える。開示の装置、方法、プログラムは、複数の構成要素の各々について求めた複数の論理式から、矛盾する論理式が存在するか否かを検証する。
【発明の効果】
【０００９】
本願の開示する装置、方法、プログラムによれば、構成情報とネットワークの実際構成との一致を簡易に確認可能な構成情報検証装置、構成情報検証方法および構成情報検証プログラムを得ることができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施例１にかかる構成情報検証装置１１の概要構成図である。
【図２】図２は、構成情報３３とネットワーク３１の不一致についての説明図である。
【図３】図３は、構成情報検証装置１１による構成情報の検証についての説明図である。
【図４】図４は、実施例２にかかる構成情報検証装置１２の概要構成図である。
【図５】図５は、構成情報検証装置１２の動作を説明する説明図である。
【図６】図６は、制御部２０による構成情報検証の処理動作を説明するフローチャートである。
【図７】図７は、制御部２０による出力例の説明図である。
【図８】図８は、死活情報収集部２１の処理動作を説明するフローチャートである。
【図９】図９は、死活情報収集部２１による処理の具体例についての説明図である。
【図１０】図１０は、論理式作成部２２の処理動作を説明するフローチャートである。
【図１１】図１１は、経路集合Ｐに対応する論理式ｌの作成を詳細に説明するフローチャートである。
【図１２】図１２は、論理式作成の具体例について説明する説明図である。
【図１３】図１３は、複数経路を有する構成要素の論理式作成についての説明図である。
【図１４】図１４は、論理式検証部２３の処理動作を説明するフローチャートである。
【図１５】図１５は、論理式分解処理の詳細を説明するフローチャートである。
【図１６】図１６は、論理式検証部２３による処理の具体例について説明する説明図である。
【図１７】図１７は、論理式集合Ｒ、恒真式集合Ｔ、恒偽式集合Ｆの作成過程についての説明図である（その１）。
【図１８】図１８は、論理式集合Ｒ、恒真式集合Ｔ、恒偽式集合Ｆの作成過程についての説明図である（その２）。
【図１９】図１９は、論理式集合Ｒ、恒真式集合Ｔ、恒偽式集合Ｆの作成過程についての説明図である（その３）。
【図２０】図２０は、論理式集合Ｒ、恒真式集合Ｔ、恒偽式集合Ｆの作成過程についての説明図である（その４）。
【図２１】図２１は、論理式集合Ｒ、恒真式集合Ｔ、恒偽式集合Ｆの作成過程についての説明図である（その５）。
【図２２】図２２は、論理式集合Ｒ、恒真式集合Ｔ、恒偽式集合Ｆの作成過程についての説明図である（その６）。
【図２３】図２３は、論理式矛盾解消部２４の処理動作を説明するフローチャートである。
【図２４】図２４は、値ｔｒｕｅの矛盾解消処理について詳細に説明するフローチャートである。
【図２５】図２５は、値ｆａｌｓｅの矛盾解消処理について詳細に説明するフローチャートである。
【図２６】図２６は、論理式矛盾解消部２４による矛盾解消の具体例について説明する説明図である。
【図２７】図２７は、正しい構成情報の候補を求める過程の説明図である（その１）。
【図２８】図２８は、正しい構成情報の候補を求める過程の説明図である（その２）。
【図２９】図２９は、構成情報検証プログラム６０についての説明図である。
【図３０】図３０は、実施例３にかかる構成情報検証装置１３の概要構成図である。
【図３１】図３１は、障害箇所特定部による障害箇所の特定について説明する説明図である。
【図３２】図３２は、故障箇所特定部２５が故障箇所を特定する過程の説明図である。
【発明を実施するための形態】
【００１１】
以下に、本願の開示する構成情報検証装置、構成情報検証方法および構成情報検証プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。
【実施例１】
【００１２】
図１は、実施例１にかかる構成情報検証装置１１の概要構成図である。図１に示した構成情報検証装置１１は、ネットワーク３１およびＣＭＤＢ（Configuration Management Database）３２に接続する。ＣＭＤＢ３２は、ネットワーク３１が有する構成要素と構成要素間の接続関係を示す構成情報３３を保持する。
【００１３】
構成情報検証装置１１は、その内部に死活情報(alive monitoring information)収集部２１、論理式作成部２２および論理式検証部２３を有する。死活情報収集部２１は、ネットワーク３１を構成する複数の構成要素から稼動しているか稼動していないかの別を示す死活情報を収集する処理部である。
【００１４】
論理式作成部２２は、構成情報３３を参照し、構成要素の各々について当該構成要素に至る経路上の構成要素のアンドを取った論理式を作成する。そして、論理式作成部２２は、論理式の値として死活情報に当該構成要素が正常に動作中であることが示されている場合に真、死活情報に当該構成要素が正常に動作中であることが示されていない場合に偽を与える。論理式検証部２３は、論理式作成部２２が複数の構成要素の各々について求めた複数の論理式から、矛盾する論理式が存在するか否かを検証する。
【００１５】
図２は、構成情報３３とネットワーク３１の不一致についての説明図である。図２に示した例では、構成情報３３は、ゲートウェイＧＷ０にゲートウェイＧＷ１，２が接続していることを示している。また構成情報３３は、ゲートウェイＧＷ１にマシンｍＡ，ｍＢ，ｍＣが接続し、ゲートウェイＧＷ２にマシンｍＣ，ｍＤが接続していることを示している。
【００１６】
一方では、ネットワーク３１の実システムは、ゲートウェイＧＷ０にゲートウェイＧＷ１，２が接続しているが、ゲートウェイＧＷ１にマシンｍＣ，ｍＤ，ｍＡが接続し、ゲートウェイＧＷ２にマシンｍＡ，ｍＢが接続している。すなわち、構成情報３３は、実システムのマシンｍＡ，ｍＢとマシンｍＣ，ｍＤとが入れ替わった構成となっており、実システムと一致していない。
【００１７】
構成情報検証装置１１は、ネットワーク３１から取得した死活情報と構成情報３３とを用いて構成情報が実システムと一致しているか否かを検証する。図３は、構成情報検証装置１１による構成情報の検証についての説明図である。死活情報は、例えばｐｉｎｇコマンドをネットワーク上の各機器に送ることで得られる。ｐｉｎｇコマンドの発行と応答には認証や管理権限が不要である。なお、ｐｉｎｇコマンドの他、ＡＲＰコマンドやｒｗｈｏコマンドなどを用いても死活情報を得ることができる。
【００１８】
図３に示した例では、死活情報は、ｐｉｎｇに応答して正常に動作中であることが確認された機器に「ＯＫ」、正常に動作中であることが確認できなかった機器に「ＮＧ」を死活結果として与えている。具体的には、ゲートウェイＧＷ０，２とマシンｍＡ，ｍＢの死活結果がＯＫであり、ゲートウェイＧＷ１とマシンｍＣ，ｍＤの死活結果がＮＧである。
【００１９】
構成情報検証装置１１は、構成情報３３から論理式を作る。図３は、ゲートウェイＧＷ０に構成情報検証装置１１が接続された場合を示している。構成情報検証装置１１は、構成要素に至る経路上の構成要素のアンドを取り、その構成要素の死活結果がＯＫであれば真（ｔｒｕｅ）、死活結果がＮＧであれば偽（ｆａｌｓｅ）を論理式の値とする。
【００２０】
また、複数の経路が存在する構成要素については、構成情報検証装置１１は、複数の経路の各々について経路上の構成要素のアンドを取った論理式を作成し、得られた複数の論理式のオアを取った論理式を構成要素の論理式として求める。
【００２１】
したがって、構成情報３３から、
ＧＷ０                                  ＝true
ＧＷ０ and ＧＷ１                        ＝false
ＧＷ０ and ＧＷ２                        ＝true
ＧＷ０ and ＧＷ１ and マシンｍＡ          ＝true
ＧＷ０ and ＧＷ１ and マシンｍＢ          ＝true
（ＧＷ０ and ＧＷ１ and マシンｍＣ）
or （ＧＷ０ and ＧＷ２ and マシンｍＣ）＝false
ＧＷ０ and ＧＷ２ and マシンｍＤ          ＝false
の式が得られる。
【００２２】
ここで、ＧＷ０＝trueを他の式に代入すると、
true and ＧＷ１                        ＝false
true and ＧＷ２                        ＝true
true and ＧＷ１ and マシンｍＡ          ＝true
true and ＧＷ１ and マシンｍＢ          ＝true
（true and ＧＷ１ and マシンｍＣ）
or （true and ＧＷ２ and マシンｍＣ）＝false
true and ＧＷ２ and マシンｍＤ          ＝false
従って、ＧＷ１＝false、ＧＷ２＝trueとなる。
【００２３】
ＧＷ１＝false、ＧＷ２＝trueをさらに代入すると、
false and マシンｍＡ＝true
false and マシンｍＢ＝true
（false and マシンｍＣ）
or （true and マシンｍＣ）＝false
true and マシンｍＤ          ＝false
となる。
【００２４】
ここで、
false and マシンｍＡ＝true
false and マシンｍＢ＝true
以上の２式は矛盾する論理式である。このように矛盾する論理式が得られた場合、構成情報検証装置１１は、構成情報３３がネットワーク３１の構成と一致していないと判定する。
【００２５】
上述してきたように、本実施例にかかる構成情報検証装置１１は、構成情報３３から各構成要素にいたる経路に対応する論理式を作成し、論理式の値をネットワーク３１から得た死活情報に基づいて設定する。そして、構成情報検証装置１１は得られた論理式に矛盾がある場合に構成情報３３とネットワーク３１の構成に不一致があると判定する。
【００２６】
このように、構成情報検証装置１１は、認証や管理権限が不要な死活情報に基づいて、構成情報とネットワークの実際構成との一致を簡易に確認することができる。
【実施例２】
【００２７】
図４は、実施例２にかかる構成情報検証装置１２の概要構成図である。図４に示した構成情報検証装置１２は、ネットワーク３１およびＣＭＤＢ３２に接続する。ＣＭＤＢ３２は、ネットワーク３１が有する構成要素と構成要素間の接続関係を示す構成情報３３を保持する。
【００２８】
構成情報検証装置１２は、その内部に制御部２０、死活情報収集部２１、論理式作成部２２、論理式検証部２３および論理式矛盾解消部２４を有する。
【００２９】
制御部２０は、構成情報検証装置１２の動作を制御する制御部である。図５は、構成情報検証装置１２の動作を説明する説明図である。構成情報検証装置１２は、ネットワーク３１における障害の有無を監視し、障害が発生した場合に（Ｓ１０１，Ｙｅｓ）、制御部２０による構成情報検証の処理を実行する（Ｓ１０２）。なお、障害発生を検知した場合のほか、作業者が手動で構成情報検証の処理を開始させることもできる。
【００３０】
図６は、制御部２０による構成情報検証の処理動作を説明するフローチャートである。構成情報検証の処理が開始されると、制御部２０は、論理式作成部２２に対して論理式集合Ｌの作成を依頼する（Ｓ２０１）。つぎに、制御部２０は、論理式作成部２２が作成した論理式集合Ｌを論理式検証部２３に渡し、論理式集合Ｌの検証を依頼する（Ｓ２０２）。制御部２０は、論理式検証部２３の検証の結果として得られた矛盾した論理式について論理式矛盾解消部２４に矛盾の解消を依頼し（Ｓ２０３）、結果を出力して（Ｓ２０４）、処理を終了する。
【００３１】
図７は、制御部２０による出力の一例である。制御部２０は、現在の構成情報を表示する表示４１、ネットワーク３１から取得した死活情報を表示する表示４２、現在の構成情報とネットワーク３１から取得した死活情報が不整合である構成要素を示す表示４３、正しい構成情報の候補を示す表示４４を出力する。この表示４１〜４４は、表示装置上に同時に表示しても良いし、順次表示しても良い。また、利用者から表示４１〜４４の切替操作を受けて表示内容を選択するようにしてもよい。
【００３２】
表示４３は、具体的には矛盾する論理式に含まれる構成要素を他の構成要素と識別可能に示す。また、表示４４は、論理式の矛盾を解消できる構成情報の候補を示す。具体的には、表示４４は、現在の構成情報から変更した箇所を識別可能に表示する。なお、論理式の矛盾を解消できる構成情報の候補が複数ある場合には、複数の候補をそれぞれ表示可能とすることが望ましい。
【００３３】
図８は、死活情報収集部２１の処理動作を説明するフローチャートである。死活情報収集部２１は、論理式作成部２２もしくは論理式矛盾解消部２４から死活情報の収集を依頼された場合に図８に示した処理動作を開始する。
【００３４】
死活情報収集部２１は、論理式作成部２２から死活情報の収集を依頼されると、まず死活情報の収集範囲Ａを取得する（Ｓ３０１）。収集範囲Ａは、構成情報の範囲に合わせて予め定めておく。
【００３５】
つぎに、死活情報収集部２１は、収集結果である死活情報Ｄを空で初期化し（Ｓ３０２）、収集範囲Ａが空であるかを判定する（Ｓ３０３）。収集範囲Ａが空でなければ（Ｓ３０３，Ｎｏ）、死活情報収集部２１は、収集範囲ＡからＩＰアドレスａを一つ取り出す（Ｓ３０４）。死活情報収集部２１は、ＩＰアドレスａにｐｉｎｇを打ってＩＰアドレスａの死活結果ｄを収集する（Ｓ３０５）。そして、収集結果である死活情報Ｄに（ａ，ｄ）を追加し、ステップｓ３０３に戻る。死活情報収集部２１は、収集範囲Ａが空になった場合（Ｓ３０３，Ｙｅｓ）に収集結果である死活情報Ｄを論理式作成部２２しくは論理式矛盾解消部２４に返して（Ｓ３０７）、処理を終了する。
【００３６】
図９は、死活情報収集部２１による処理の具体例についての説明図である。図９に示したように、収集範囲Ａには、死活情報の収集対象となるＩＰアドレスが示されている。ＩＰアドレスは、10.10.10.1や10.10.10.127のように個別に指定しても良いし、20.20.20.1-127や30.30.30.*のようにアドレス範囲を指定しても良い。
【００３７】
収集結果として得られる死活情報Ｄは、収集範囲Ａに含まれるＩＰアドレスの各々についてＯＫもしくはＮＧの死活結果が対応付けられている。死活結果ＯＫは、そのＩＰアドレスから応答が有り、その機器が正常に動作中であることが確認できたことを示す。死活結果ＮＧは、そのＩＰアドレスを有する機器が正常に動作中であることが確認できなかったことを示す。
【００３８】
図１０は、論理式作成部２２の処理動作を説明するフローチャートである。論理式作成部２２は制御部２０から論理式集合Ｌの作成を依頼された場合に図１０に示した処理動作を開始する。
【００３９】
処理を開始した論理式作成部２２は、論理式集合Ｌを空で初期化し（Ｓ４０１）、ＣＭＤＢ３２から構成情報３３を取得し、構成情報Ｃとする（Ｓ４０２）。また、論理式作成部２２は、死活情報収集部２１に対して死活情報Ｄの収集を依頼する（Ｓ４０３）。
【００４０】
論理式作成部２２は、死活情報収集部２１から死活情報Ｄを取得し、死活情報Ｄが空であるかを判定する（Ｓ４０４）。死活情報Ｄが空でなければ（Ｓ４０４，Ｎｏ）、論理式作成部２２は、死活情報ＤからＩＰアドレスと死活結果の組み合わせ（ａ，ｄ）を一つ取り出す（Ｓ４０５）。
【００４１】
論理式作成部２２は、構成情報Ｃを参照し、ＩＰアドレスａにいたる経路集合Ｐを計算する（Ｓ４０６）。論理式作成部２２は、経路集合Ｐが空でなければ（Ｓ４０７，Ｎｏ）、経路集合Ｐに対応する論理式ｌを作成し（Ｓ４０８）、論理式集合Ｌに論理式ｌを追加する（Ｓ４０９）。
【００４２】
ステップＳ４０９の後、また経路集合Ｐが空である場合（Ｓ４０７，Ｙｅｓ）、論理式作成部２２は、ステップＳ４０４に戻る。論理式作成部２２は、死活情報Ｄが空になった場合（Ｓ４０４，Ｙｅｓ）に作成結果である論理式集合Ｌを制御部２０に返して（Ｓ４１０）、処理を終了する。
【００４３】
図１１は、図１０に示した経路集合Ｐに対応する論理式ｌの作成（Ｓ４０８）を詳細に説明するフローチャートである。論理式作成部２２は、ｄの死活結果がＯＫである場合（Ｓ５０１，Ｙｅｓ）、ｒ＝ｔｒｕｅ，ｅ＝ｆａｌｓｅとする。また、論理式作成部２２は、ｄの死活結果がＮＧである場合（Ｓ５０１，Ｎｏ）、ｒ＝ｆａｌｓｅ，ｅ＝ｆａｌｓｅとする。
【００４４】
つぎに論理式作成部２２は、経路集合Ｐから経路ｐを１つ取り出す（Ｓ５０４）。論理式作成部２２は、経路ｐに含まれる各リソース、すなわち各構成要素を要素とするＡＮＤ式ｅ’を作る（Ｓ５０５）。そして、論理式作成部２２は、ｅ＝ｅ or ｅ’とする（Ｓ５０６）。
【００４５】
論理式作成部２２は、ステップＳ５０６の後、経路集合Ｐが空であるかを判定し（Ｓ５０７）、空でなければ（Ｓ５０７，Ｎｏ）、ステップＳ５０４に戻る。そして、論理式作成部２２は、経路集合Ｐが空となった場合（Ｓ５０７，Ｙｅｓ）に、論理式ｌを（ｅ＝ｒ）として（Ｓ５０８）、論理式ｌの作成を終了する。
【００４６】
図１２は、論理式作成の具体例について説明する説明図である。図１２に示した例では、構成情報Ｃは、ゲートウェイＧＷ０にゲートウェイＧＷ１，２が接続し、ゲートウェイＧＷ１にマシンｍＡ，ｍＢが、ゲートウェイＧＷ２にマシンｍＣ，ｍＤが接続している。
【００４７】
また、図１２に示した例では、死活情報Ｄは、ゲートウェイＧＷ０，２とマシンｍＡ，ｍＢの死活結果がＯＫであり、ゲートウェイＧＷ１とマシンｍＣ，ｍＤの死活結果がＮＧである。
【００４８】
したがって、図１２に示した例では、
ＧＷ０                                  ＝true
ＧＷ０ and ＧＷ１                        ＝false
ＧＷ０ and ＧＷ２                        ＝true
ＧＷ０ and ＧＷ１ and マシンｍＡ          ＝true
ＧＷ０ and ＧＷ１ and マシンｍＢ          ＝true
ＧＷ０ and ＧＷ２ and マシンｍＣ          ＝false
ＧＷ０ and ＧＷ２ and マシンｍＤ          ＝false
の論理式が得られる。
【００４９】
図１３は、複数経路を有する構成要素の論理式作成についての説明図である。図１３に示した例では、マシンｍＡへの経路として、{ＧＷ０，ＧＷ１，マシンｍＡ}と{ＧＷ０，ＧＷ２，マシンｍＡ}の２つの経路を含む経路集合Ｐが得られる。
【００５０】
この経路集合Ｐから論理式のｅは、
false or （ＧＷ０ and ＧＷ１ and マシンｍＡ） or （ＧＷ０and ＧＷ２ and マシンｍＡ）
となる。また、マシンｍＡの死活結果はＯＫであるので、マシンｍＡの論理式ｌは、
false or （ＧＷ０ and ＧＷ１ and マシンｍＡ） or （ＧＷ０and ＧＷ２ and マシンｍＡ） = true
となる。
【００５１】
図１４は、論理式検証部２３の処理動作を説明するフローチャートである。論理式検証部２３は制御部２０から論理式集合Ｌの検証を依頼された場合に図１４に示した処理動作を開始する。
【００５２】
処理を開始した論理式検証部２３は、論理式集合Ｒを空で初期化し（Ｓ６０１）、恒真式集合Ｔを空で初期化し（Ｓ６０２）、恒偽式集合Ｆを空で初期化する（Ｓ６０３）。そして、論理式検証部２３は、論理式集合Ｌが空であるか否かを判定する（Ｓ６０４）。論理式集合Ｌが空で無ければ（Ｓ６０４，Ｎｏ）論理式検証部２３は、論理式集合Ｌ１＝Ｌとし（Ｓ６０５）、論理式集合Ｌ２＝Ｌ１とする（Ｓ６０６）。
【００５３】
そして、論理式検証部２３は、論理式集合Ｒを空で初期化し（Ｓ６０７）、論理式集合Ｌ２が空であるかを判定する（Ｓ６０８）。論理式集合Ｌ２が空でなければ（Ｓ６０８，Ｎｏ）、論理式検証部２３は、論理式分解処理（Ｓ６０９）を実行する。論理式分解処理（Ｓ６０９）の後、または論理式集合Ｌ２が空である場合（Ｓ６０８，Ｙｅｓ）、論理式検証部２３は、論理式集合Ｒに恒真式集合Ｔと恒偽式集合Ｆの結果を代入し、論理式集合Ｒを更新する（Ｓ６１０）。
【００５４】
ステップＳ６１０の後、論理式検証部２３は、論理式集合Ｌ１と論理式集合Ｒが等しいかを判定する（Ｓ６１１）。そして、論理式集合Ｌ１と論理式集合Ｒとが等しくなければ（Ｓ６１１，Ｎｏ）、論理式検証部２３は、論理式集合Ｌ１＝Ｒとして（Ｓ６１２）、ステップＳ６０６に戻る。
【００５５】
論理式検証部２３は、論理式集合Ｌ１と論理式集合Ｒとが等しい場合（Ｓ６１１，Ｙｅｓ）、また論理式集合Ｌが空である場合（Ｓ６０４，Ｙｅｓ）に、論理式集合Ｒ、恒真式集合Ｔ、恒偽式集合Ｆを制御部２０に返して（Ｓ６１３）、処理を終了する。
【００５６】
図１５は、図１４に示した論理式分解処理（Ｓ６０９）の詳細を説明するフローチャートである。論理式検証部２３は、論理式分解処理を開始すると、論理式集合Ｌ２から論理式ｌを１つ取り出す（Ｓ７０１）。論理式検証部２３は、取り出した論理式ｌが積和形の論理式でかつ値がfalseであるかを判定する（Ｓ７０２）。
【００５７】
論理式ｌが積和形の論理式でかつ値がfalseである場合（Ｓ７０２，Ｙｅｓ）、論理式検証部２３は、論理式ｌの各積項について、積項＝falseの論理式を作成し、論理式集合Ｒに追加する（Ｓ７０３）。
【００５８】
論理式ｌが積和形の論理式でない場合、もしくは値がtrueである場合（Ｓ７０２，Ｎｏ）、論理式検証部２３は、論理式ｌが和形論理式でかつ値がfalseであるかを判定する（Ｓ７０４）。
【００５９】
論理式ｌが和形の論理式でかつ値がfalseである場合（Ｓ７０４，Ｙｅｓ）、論理式検証部２３は、論理式ｌの各項について、項＝falseの論理式を作成し、恒偽式集合Ｆに追加する（Ｓ７０５）。
【００６０】
論理式ｌが和形の論理式でない場合、もしくは値がtrueである場合（Ｓ７０４，Ｎｏ）、論理式検証部２３は、論理式ｌが積形論理式でかつ値がtrueであるかを判定する（Ｓ７０６）。
【００６１】
論理式ｌが積形の論理式でかつ値がtrueである場合（Ｓ７０６，Ｙｅｓ）、論理式検証部２３は、論理式ｌの各項について、項＝trueの論理式を作成し、恒真式集合Ｔに追加する（Ｓ７０７）。
【００６２】
論理式ｌが積形の論理式でない場合、もしくは値がfalseである場合（Ｓ７０６，Ｎｏ）、論理式検証部２３は、論理式分解処理を終了する。また、ステップＳ７０３，Ｓ７０５，Ｓ７０７のいずれかを行った場合にも、論理式検証部２３は処理を終了する。
【００６３】
図１６は、論理式検証部２３による処理の具体例について説明する説明図である。論理式検証部２３は、論理式作成部２２が作成した論理式集合Ｌが
ＧＷ０                                  ＝true
ＧＷ０ and ＧＷ１                        ＝false
ＧＷ０ and ＧＷ２                        ＝true
ＧＷ０ and ＧＷ１ and マシンｍＡ          ＝true
ＧＷ０ and ＧＷ１ and マシンｍＢ          ＝true
ＧＷ０ and ＧＷ２ and マシンｍＣ          ＝false
ＧＷ０ and ＧＷ２ and マシンｍＤ          ＝false
を含む場合に、この論理式集合Ｌから論理式集合Ｒ、恒真式集合Ｔ、恒偽式集合Ｆを作成する。
【００６４】
恒真式集合Ｔは、論理式集合Ｌから求められた恒真式の集合である。恒偽式集合Ｆは、論理式集合Ｌから求められた恒偽式の集合である。そして、論理式集合Ｒは、論理式集合Ｌから求められ、それ以上計算できない論理式の集合である。
【００６５】
この論理式集合Ｒ、恒真式集合Ｔ、恒偽式集合Ｆの作成過程について、図１７〜図２２を参照して説明する。図１７に示した論理式集合Ｌ２は、初期状態であり、論理式作成部２２が作成した論理式集合Ｌと同一内容である。
【００６６】
論理式検証部２３は、図１７に示した論理式集合Ｌ２から、恒真式であるＧＷ０＝ｔｒｕｅを取り出して、恒真式集合Ｔに入れる。図１７に示した論理式集合Ｌ２には恒偽式が含まれていないので、恒偽式集合Ｆは空のままであり、残りの論理式は全て論理式集合Ｒに入れられる。
【００６７】
つぎに、論理式検証部２３は、図１８に示したように、論理式集合Ｒに恒真式集合Ｔおよび恒偽式集合Ｆに含まれる論理式を代入して、論理式集合Ｒを更新する。この結果、論理式集合Ｒは、
(true and) ＧＷ１                        ＝false
(true and) ＧＷ２                        ＝true
(true and) ＧＷ１ and マシンｍＡ          ＝true
(true and) ＧＷ１ and マシンｍＢ          ＝true
(true and) ＧＷ２ and マシンｍＣ          ＝false
(true and) ＧＷ２ and マシンｍＤ          ＝false
となる。
【００６８】
論理式検証部２３は、図１９に示したように更新した論理式集合Ｒを論理式集合Ｌ２に移す。この時、(true and)は省略できるので、論理式集合Ｌ２は、
ＧＷ１                        ＝false
ＧＷ２                        ＝true
ＧＷ１ and マシンｍＡ          ＝true
ＧＷ１ and マシンｍＢ          ＝true
ＧＷ２ and マシンｍＣ          ＝false
ＧＷ２ and マシンｍＤ          ＝false
となる。
【００６９】
論理式検証部２３は、図１９に示した論理式集合Ｌ２から恒真式であるＧＷ２＝ｔｒｕｅを取り出して、恒真式集合Ｔに入れる。また、論理式検証部２３は、図１９に示した論理式集合Ｌ２から恒偽式であるＧＷ１＝ｆａｌｓｅを取り出して、恒偽式集合Ｆに入れる。
【００７０】
論理式検証部２３は、残りの論理式を論理式集合Ｒに入れる。従って、論理式集合Ｒは、
ＧＷ１ and マシンｍＡ          ＝true
ＧＷ１ and マシンｍＢ          ＝true
ＧＷ２ and マシンｍＣ          ＝false
ＧＷ２ and マシンｍＤ          ＝false
となる。
【００７１】
つぎに、論理式検証部２３は、図２０に示したように、論理式集合Ｒに恒真式集合Ｔおよび恒偽式集合Ｆに含まれる論理式を代入して、論理式集合Ｒを更新する。この結果、論理式集合Ｒは、
false and マシンｍＡ          ＝true
false and マシンｍＢ          ＝true
(true and) マシンｍＣ          ＝false
(true and) マシンｍＤ          ＝false
となる。
【００７２】
論理式検証部２３は、図２１に示したように更新した論理式集合Ｒを論理式集合Ｌ２に移す。この時、(true and)は省略できるので、論理式集合Ｌ２は、
false and マシンｍＡ          ＝true
false and マシンｍＢ          ＝true
マシンｍＣ          ＝false
マシンｍＤ          ＝false
となる。
【００７３】
論理式検証部２３は、図２１に示した論理式集合Ｌ２から恒偽式であるマシンｍＣ＝ｆａｌｓｅ、マシンｍＤ＝ｆａｌｓｅ、を取り出して恒偽式集合Ｆに入れる。図２１に示した論理式集合Ｌ２には恒真式は含まれていないので、論理式検証部２３は、残りの論理式を論理式集合Ｒに入れる。従って、論理式集合Ｒは、
false and マシンｍＡ          ＝true
false and マシンｍＢ          ＝true
となる。
【００７４】
つぎに、論理式検証部２３は、論理式集合Ｒに恒真式集合Ｔおよび恒偽式集合Ｆに含まれる論理式を代入して、論理式集合Ｒを更新するが、図２２に示したように、代入可能な論理式が無く、論理式集合Ｒに変化がない。
【００７５】
このように、論理式集合Ｒに含まれる論理式がそれ以上計算できなくなり、計算を繰り返しても論理式集合Ｒに含まれる論理式が変化しなくなるまで計算を行なうことで、論理式検証部２３は図１６に示した論理式集合Ｒ、恒真式集合Ｔ、恒偽式集合Ｆを得る。
【００７６】
図２３は、論理式矛盾解消部２４の処理動作を説明するフローチャートである。論理式矛盾解消部２４は制御部２０から論理式の矛盾解消を依頼された場合に図２３に示した処理動作を開始する。
【００７７】
処理を開始した論理式矛盾解消部２４は、ＣＭＤＢ３２から構成情報３３を取得し、構成情報Ｃとする（Ｓ８０１）。また、論理式矛盾解消部２４は、死活情報収集部２１に対して死活情報Ｄの収集を依頼する（Ｓ８０２）。
【００７８】
論理式矛盾解消部２４は、論理式検証部２３が出力した論理式集合Ｒを論理式集合Ｒ１とする（Ｓ８０３）。既に述べたように、論理式検証部２３が出力した論理式集合Ｒは、それ以上計算できない論理式の集合である。
【００７９】
論理式矛盾解消部２４は、論理式集合Ｒ１が空であるかを判定し、論理式集合Ｒ１が空でなければ（Ｓ８０４，Ｎｏ）、論理式矛盾解消部２４は、論理式集合Ｒから論理式ｒを１つ取り出す（Ｓ８０５）。論理式矛盾解消部２４は、取り出した論理式ｒが矛盾する論理式であるかを判定し、矛盾する論理式であれば（Ｓ８０６，Ｙｅｓ）、論理式ｒの値がｔｒｕｅであるかを判定する（Ｓ８０７）。
【００８０】
論理式矛盾解消部２４は、論理式ｒの値がｔｒｕｅであれば（Ｓ８０７，Ｙｅｓ）、値ｔｒｕｅの矛盾解消処理を実行する（Ｓ８０８）。また、論理式矛盾解消部２４は、論理式ｒの値がｆａｌｓｅであれば（Ｓ８０７，Ｎｏ）、値ｆａｌｓｅの矛盾解消処理を実行する（Ｓ８０９）。
【００８１】
矛盾解消処理の実行後、論理式矛盾解消部２４は、矛盾解消処理によって構成要素を入れ替えて矛盾解消に成功したかを判定する（Ｓ８１０）。構成要素を入れ替えることができず、矛盾を解消できなかった場合（Ｓ８１０，Ｎｏ）、論理式矛盾解消部２４は、構成情報Ｃを空にして（Ｓ８１１）、処理を終了する。
【００８２】
一方、構成要素を入れ替えることができ、矛盾を解消した場合（Ｓ８１０，Ｙｅｓ）、論理式矛盾解消部２４は、ステップＳ８０４に戻る。また、取り出した論理式ｒが矛盾する論理式ではない場合（Ｓ８０６，Ｎｏ）にも、論理式矛盾解消部２４は、ステップＳ８０４に戻る。そして、論理式集合Ｒ１が空になった場合（Ｓ８０４，Ｙｅｓ）に論理式矛盾解消部２４は処理を終了する。
【００８３】
図２４は、図２３に示した値ｔｒｕｅの矛盾解消処理について詳細に説明するフローチャートである。値ｔｒｕｅの矛盾解消処理を開始した論理式矛盾解消部２４は、論理式集合Ｒ１の中から値がｔｒｕｅになっている論理式集合Ｒ２を求める（Ｓ９０１）。また、論理式矛盾解消部２４は、論理式ｒおよび論理式集合Ｒ２に含まれる論理式に出現する機器名の数ｎを求める（Ｓ９０２）。
【００８４】
論理式矛盾解消部２４は、死活情報Ｄから、死活結果がＮＧである機器名ｎ個の組み合わせＸを求める（Ｓ９０３）。そして、論理式矛盾解消部２４は、論理式ｒおよび論理式集合Ｒ２に含まれる論理式に出現する機器名と組み合わせＸに含まれる同種の機器名とを入れ替え、論理式ｒの値をｆａｌｓｅにする（Ｓ９０４）。
【００８５】
論理式矛盾解消部２４は、入れ替えによって論理式ｒの矛盾が解消したかを判定する（Ｓ９０５）。この結果、矛盾が解消していなければ（Ｓ９０５，Ｎｏ）、論理式矛盾解消部２４は、矛盾解消を出力して（Ｓ９０９）、値ｔｒｕｅの矛盾解消処理を終了する。
【００８６】
一方、矛盾が解消していれば（Ｓ９０５，Ｙｅｓ）、論理式矛盾解消部２４は、構成情報Ｃの中で、論理式ｒおよび論理式集合Ｒ２に含まれる論理式に出現する機器名と組み合わせＸに含まれる同種の機器名とを入れ替える（Ｓ９０６）。そして、論理式集合Ｒ１から論理式集合Ｒ２に含まれる論理式を削除し（Ｓ９０７）、矛盾解消成功を出力して（Ｓ９０７）、値ｔｒｕｅの矛盾解消処理を終了する。
【００８７】
図２５は、図２３に示した値ｆａｌｓｅの矛盾解消処理について詳細に説明するフローチャートである。値ｆａｌｓｅの矛盾解消処理を開始した論理式矛盾解消部２４は、論理式集合Ｒ１の中から値がｆａｌｓｅになっている論理式集合Ｒ２を求める（Ｓ１００１）。また、論理式矛盾解消部２４は、論理式ｒおよび論理式集合Ｒ２に含まれる論理式に出現する機器名の数ｎを求める（Ｓ１００２）。
【００８８】
論理式矛盾解消部２４は、死活情報Ｄから、死活結果がＯＫである機器名ｎ個の組み合わせＸを求める（Ｓ１００３）。そして、論理式矛盾解消部２４は、論理式ｒおよび論理式集合Ｒ２に含まれる論理式に出現する機器名と組み合わせＸに含まれる同種の機器名とを入れ替え、論理式ｒの値をｔｒｕｅにする（Ｓ１００４）。
【００８９】
論理式矛盾解消部２４は、入れ替えによって論理式ｒの矛盾が解消したかを判定する（Ｓ１００５）。この結果、矛盾が解消していなければ（Ｓ１００５，Ｎｏ）、論理式矛盾解消部２４は、矛盾解消を出力して（Ｓ１００９）、値ｆａｌｓｅの矛盾解消処理を終了する。
【００９０】
一方、矛盾が解消していれば（Ｓ１００５，Ｙｅｓ）、論理式矛盾解消部２４は、構成情報Ｃの中で、論理式ｒおよび論理式集合Ｒ２に含まれる論理式に出現する機器名と組み合わせＸに含まれる同種の機器名とを入れ替える（Ｓ１００６）。そして、論理式集合Ｒ１から論理式集合Ｒ２に含まれる論理式を削除し（Ｓ１００７）、矛盾解消成功を出力して（Ｓ１００８）、値ｆａｌｓｅの矛盾解消処理を終了する。
【００９１】
図２６は、論理式矛盾解消部２４による矛盾解消の具体例について説明する説明図である。図２６に示した例では、現在の構成情報は、ゲートウェイＧＷ０にゲートウェイＧＷ１，２が接続し、ゲートウェイＧＷ１にマシンｍＡ，ｍＢが、ゲートウェイＧＷ２にマシンｍＣ，ｍＤが接続していることを示している。また、図２６に示した例では、死活情報は、ゲートウェイＧＷ０，２とマシンｍＡ，ｍＢの死活結果がＯＫであり、ゲートウェイＧＷ１とマシンｍＣ，ｍＤの死活結果がＮＧである。そして、図２６に示した例では、論理式検証部２３が作成した論理式集合Ｒは
false and マシンｍＡ＝true
false and マシンｍＢ＝true
である。
【００９２】
論理式矛盾解消部２４は、これらの情報を用いて、正しい構成情報の候補を求める。図２６に示した例では、正しい構成情報の候補は、ゲートウェイＧＷ０にゲートウェイＧＷ１，２が接続し、ゲートウェイＧＷ１にマシンｍＣ，ｍＤが、ゲートウェイＧＷ２にマシンｍＡ，ｍＢが接続する構成である。
【００９３】
この正しい構成情報の候補を求める過程を図２７，図２８を参照して説明する。図２７に示した構成情報Ｃは、初期状態でＣＭＤＢ３１から取り出した構成情報３３と同一内容である。
【００９４】
論理式矛盾解消部２４は、図２７に示した例では、論理式集合Ｒから論理式ｒとして
false and マシンｍＡ＝true
を取り出す。その結果、論理式集合Ｒ１には、false and マシンｍＢ＝trueが残される。
【００９５】
論理式ｒの値がtrueであるので、論理式矛盾解消部２４は、論理式集合Ｒ１から値がtrueの論理式集合Ｒ２を求める。その結果、論理式集合Ｒ２は、false and マシンｍＢ＝trueを含むこととなる。
【００９６】
論理式ｒと論理式集合Ｒ２に含まれる機器名はマシンｍＡとマシンｍＢの２つであるので、ｎ＝２となる。論理式矛盾解消部２４は、死活情報から死活結果がＮＧの機器名ｎ個の組み合わせＸを求める。図２７では、死活結果がＮＧの機器名は、ＧＷ１、マシンｍＣ、マシンｍＤであるので、組み合わせＸは、
Ｘ：｛（ＧＷ１，マシンｍＣ），
（ＧＷ１，マシンｍＤ），
（マシンｍＣ，マシンｍＤ）｝
となる。
【００９７】
ここで、ＧＷ１は、マシンｍＡやマシンｍＢと同種の機器ではない。そこで、論理式矛盾解消部２４は、図２８に示したように、組み合わせＸのうち、（マシンｍＣ，マシンｍＤ）を選択する。論理式矛盾解消部２４は、論理式ｒと論理式集合Ｒ２に出現するマシンｍＡ，マシンｍＢと組み合わせＸから選択したマシンｍＣ，マシンｍＤを入れ替えるとともに、矛盾した論理式の値をtrueからfalseに変更する。
【００９８】
この入れ替えの結果、
false and マシンｍＣ＝false
false and マシンｍＤ＝false
となり、論理式ｒの矛盾が解消している。そこで、論理式矛盾解消部２４は、元の構成情報ＣにおけるマシンｍＡ，マシンｍＢとマシンｍＣ，マシンｍＤとを入れ替えて、構成情報Ｃを更新し、正しい構成情報の候補とする。
【００９９】
上述してきたように、本実施例にかかる構成情報検証装置１２は、構成情報３３から各構成要素にいたる経路に対応する論理式を作成し、論理式の値をネットワーク３１から得た死活情報に基づいて設定する。そして、構成情報検証装置１２は得られた論理式に矛盾がある場合に矛盾を解消可能な構成情報の候補を求める。
【０１００】
このように、構成情報検証装置１２は、認証や管理権限が不要な死活情報に基づいて、構成情報とネットワークの実際構成との一致を簡易に確認し、正しい構成情報の候補を提示することができる。
【０１０１】
また、構成情報検証装置１２は、前記複数の論理式のうち、構成要素が単独の論理式の値を他の論理式に代入する演算を行ない、演算の結果得られた論理式が矛盾するかを判定するので、簡易な演算で矛盾の有無を判定することができる。
【０１０２】
また、構成情報検証装置１２は、複数の経路が存在する構成要素について、複数の経路の各々について経路上の構成要素のアンドを取った論理式を作成し、得られた複数の論理式のオアを取った論理式を複数の経路が存在する構成要素の論理式として求める。このため、複数の経路が存在する構成要素についても矛盾の有無を判定することができる。
【０１０３】
また、構成情報検証装置１２は、矛盾する論理式の値が偽である場合には、当該論理式の構成要素と死活情報が正常に動作中であることを示している同種の構成要素とを入れ替えて矛盾が解消されたかを判定する。そして、構成情報検証装置１２は、矛盾する論理式の値が真である場合には、当該論理式の構成要素と死活情報が正常に動作中であることを示していない同種の構成要素とを入れ替えて矛盾が解消されたかを判定する。このため、簡易な演算で矛盾を解消可能な構成情報の候補を求めることができる。
【０１０４】
なお、本実施例２に示した構成お呼び動作はあくまで一例であり、適宜変更して実施することが可能である。例えば、本実施例２は、コンピュータ上で実行される構成情報検証プログラムとして実施することもできる。
【０１０５】
図２９は、構成情報検証プログラム６０についての説明図である。構成情報検証プログラム６０は、コンピュータ５０のメモリ５２に展開され、ＣＰＵ（Central Processing Unit）５１によって実行される。
【０１０６】
構成情報検証プログラム６０は、死活情報収集プロセス６１、論理式作成プロセス６２、論理式検証プロセス６３、論理式矛盾解消プロセス６４を有する。死活情報収集プロセス６１は、ＣＰＵ５１に実行されることで、構成情報検証装置１２の死活情報収集部２１と同様の処理を実現する。論理式作成プロセス６２は、ＣＰＵ５１に実行されることで、構成情報検証装置１２の論理式作成部２２と同様の処理を実現する。論理式検証プロセス６３は、ＣＰＵ５１に実行されることで、構成情報検証装置１２の論理式検証部２３と同様の処理を実現する。論理式矛盾解消プロセス６４は、ＣＰＵ５１に実行されることで、構成情報検証装置１２の論理式矛盾解消部２４と同様の処理を実現する。
【０１０７】
また、構成情報検証プログラム６０は、ネットワークインタフェース５４を介してネットワークにアクセス可能であり、ネットワークから死活情報や構成情報を取得することができる。また、構成情報検証プログラム６０は、ＨＤＤ（Hard Disk Drive）５３など、任意の不揮発記録媒体に格納することができる。
【実施例３】
【０１０８】
図３０は、実施例３にかかる構成情報検証装置１３の概要構成図である。図３０に示した構成情報検証装置１３は、ネットワーク３１およびＣＭＤＢ３２に接続する。ＣＭＤＢ３２は、ネットワーク３１が有する構成要素と構成要素間の接続関係を示す構成情報３３を保持する。
【０１０９】
構成情報検証装置１３は、その内部に制御部２６、死活情報収集部２１、論理式作成部２２、論理式検証部２３および障害箇所特定部２５を有する。制御部２６は、構成情報検証装置１３の動作を制御する制御部である。
【０１１０】
具体的には、制御部２７は、論理式作成部２２に論理式の作成を依頼し、得られた論理式を論理式検証部２３に渡す。そして、論理式の検証の結果を用い、障害箇所特定部２５に障害箇所の特定を行なわせる。
【０１１１】
死活情報収集部２１、論理式作成部２２、論理式検証部２３の動作については、実施例２と同様であるので、説明を省略する。障害箇所特定部２５は、論理式検証部２３の出力、構成情報および死活情報を用いて、障害箇所を特定する。
【０１１２】
図３１は、障害箇所特定部による障害箇所の特定について説明する説明図である。図３１に示した例では、構成情報は、ゲートウェイＧＷ０にゲートウェイＧＷ１，２が接続し、ゲートウェイＧＷ１にマシンｍＡ，ｍＢが、ゲートウェイＧＷ２にマシンｍＢ，ｍＣ，ｍＤが接続している。この構成情報は、ネットワーク３１の構成と一致している。
【０１１３】
また、図３１に示した例では、死活情報は、ゲートウェイＧＷ０，２とマシンｍＡ，ｍＢの死活結果がＯＫであり、ゲートウェイＧＷ１とマシンｍＣ，ｍＤの死活結果がＮＧである。障害箇所特定部２５は、これらの情報を用いて、ゲートウェイＧＷ１が故障しているか、もしくはゲートウェイＧＷ１とマシンｍＡが故障していることを特定する。
【０１１４】
図３２は、故障箇所特定部２５が故障箇所を特定する過程の説明図である。論理式作成部２２が作成した論理式集合Ｌは、
ＧＷ０                                  ＝true
ＧＷ０ and ＧＷ１                        ＝false
ＧＷ０ and ＧＷ２                        ＝true
ＧＷ０ and ＧＷ１ and マシンｍＡ          ＝false
（ＧＷ０ and ＧＷ１ and マシンｍＢ）
or （ＧＷ０ and ＧＷ２and マシンｍＢ）          ＝true
ＧＷ０ and ＧＷ２ and マシンｍＣ          ＝true
ＧＷ０ and ＧＷ２ and マシンｍＤ          ＝true
を含む。
【０１１５】
この論理式集合Ｌを論理式検証部２３が検証すると、
それ以上計算できない論理式集合Ｒとして
false and マシンｍＡ＝false
恒真式集合Ｔとして
ＧＷ０＝true
ＧＷ２＝true
マシンｍＢ＝true
マシンｍＣ＝true
マシンｍＤ＝true
恒偽式集合Ｆとして
ＧＷ１＝false
が得られる。
【０１１６】
恒偽式集合Ｆから、ＧＷ１に障害が発生していることが特定できる。加えて、論理式集合Ｒに含まれ、それ以上計算はできないが矛盾していない論理式からは、マシンｍＡが故障している可能性が示唆される。
【０１１７】
上述してきたように、本実施例３に示した構成情報検証装置１３は、ネットワーク３１の構成と一致した構成情報と死活情報から、論理式を作成、検証する。その結果、恒偽式集合に含まれる論理式から障害が発生した箇所を特定し、それ以上計算はできないが矛盾していない論理式から障害が発生した可能性のある箇所を特定することができる。
【０１１８】
なお、それ以上計算できない論理式集合Ｒに矛盾する論理式が含まれる場合は、構成情報にネットワークの構成との不一致がある。この場合、構成情報に不一致があることを出力することが望ましい。また、実施例２と同様の論理式矛盾解消部をさらに設けることで、正しい構成情報の候補を求めることもできる。
【符号の説明】
【０１１９】
１１〜１３    構成情報検証装置
２０，２６    制御部
２１    死活情報収集部
２２    論理式作成部
２３    論理式検証部
２４    論理式矛盾解消部
２５    障害箇所特定部
４１〜４４    表示
５０    コンピュータ
５１    ＣＰＵ
５２    メモリ
５３    ＨＤＤ
５４    ネットワークインタフェース
６０    構成情報検証プログラム
６１    死活情報収集プロセス
６２    論理式作成プロセス
６３    論理式検証プロセス
６４    論理式矛盾解消プロセス
【図１】
0005418233.tif 000002
【図２】
0005418233.tif 000003
【図３】
0005418233.tif 000004
【図４】
0005418233.tif 000005
【図５】
0005418233.tif 000006
【図６】
0005418233.tif 000007
【図７】
0005418233.tif 000008
【図８】
0005418233.tif 000009
【図９】
0005418233.tif 000010
【図１０】
0005418233.tif 000011
【図１１】
0005418233.tif 000012
【図１２】
0005418233.tif 000013
【図１３】
0005418233.tif 000014
【図１４】
0005418233.tif 000015
【図１５】
0005418233.tif 000016
【図１６】
0005418233.tif 000017
【図１７】
0005418233.tif 000018
【図１８】
0005418233.tif 000019
【図１９】
0005418233.tif 000020
【図２０】
0005418233.tif 000021
【図２１】
0005418233.tif 000022
【図２２】
0005418233.tif 000023
【図２３】
0005418233.tif 000024
【図２４】
0005418233.tif 000025
【図２５】
0005418233.tif 000026
【図２６】
0005418233.tif 000027
【図２７】
0005418233.tif 000028
【図２８】
0005418233.tif 000029
【図２９】
0005418233.tif 000030
【図３０】
0005418233.tif 000031
【図３１】
0005418233.tif 000032
【図３２】
0005418233.tif 000033