(57)【要約】【課題】  通信ネットワークのどのレイヤで障害が発生していても、管理者のスキルに依存することなく発生箇所を特定する。【解決手段】  前記監視対象の送信元と宛先の間の通信状態が通信可から通信不可へ変化する前と後の通信可否情報を比較して、通信可から通信不可へ変化した経路の宛先をグループ化することで、通信ネットワークを障害の影響を受ける複数の影響範囲に分割する処理を、探索開始レイヤから下位レイヤに向かってレイヤ毎に繰り返して、障害の原因となる機器とレイヤを特定する。【選択図】図２７
2006222808.tif 000002
【特許請求の範囲】
【請求項１】
複数のレイヤによる階層構成の通信機能を有する通信ネットワーク上における障害の原因を特定する障害管理装置であって、
監視対象の送信元と宛先を指定する監視情報を入力する入力手段と、
前記監視対象の送信元と宛先の間の通信状態が通信可から通信不可へ変化する前と変化した後において、各レイヤにおける複数の送信元と複数の宛先の間の通信可否を示す通信可否情報を生成する生成手段と、
生成された通信可否情報を格納する格納手段と、
前記監視対象の通信状態が変化する前と後の通信可否情報を比較して、通信可から通信不可へ変化した経路の宛先をグループ化することで、前記通信ネットワークを障害の影響を受ける複数の影響範囲に分割し、該影響範囲の境界上にある機器のインタフェースを障害発生箇所と推定する処理を、探索開始レイヤから下位レイヤに向かってレイヤ毎に繰り返して、障害の原因となる機器とレイヤを特定する特定手段と、
前記複数の影響範囲と障害発生箇所の情報を出力する出力手段と
を備えることを特徴とする障害管理装置。
【請求項２】
複数のレイヤによる階層構成の通信機能を有する通信ネットワーク上における障害の原因を特定するコンピュータのためのプログラムであって、
監視対象の送信元と宛先を指定する監視情報を入力し、
正常時に各レイヤにおける複数の送信元と複数の宛先の間の通信可否を示す通信可否情報を生成して、格納手段に格納し、
前記監視対象の送信元と宛先の間の通信状態が通信可から通信不可へ変化した後に、各レイヤにおける前記複数の送信元と複数の宛先の間の通信可否を示す通信可否情報を生成して、前記格納手段に格納し、
前記監視対象の通信状態が変化する前と後の通信可否情報を比較して、通信可から通信不可へ変化した経路の宛先をグループ化することで、前記通信ネットワークを障害の影響を受ける複数の影響範囲に分割し、該影響範囲の境界上にある機器のインタフェースを障害発生箇所と推定する処理を、探索開始レイヤから下位レイヤに向かってレイヤ毎に繰り返して、障害の原因となる機器とレイヤを特定し、
前記複数の影響範囲と障害発生箇所の情報を出力する
処理を前記コンピュータに実行させることを特徴とするプログラム。
【請求項３】
前記監視対象の送信元と宛先の間で通信を試行した結果を監視することで、前記監視対象の通信状態が変化したことを検出する処理を、前記コンピュータにさらに実行させることを特徴とする請求項２記載のプログラム。
【請求項４】
前記監視対象の送信元と宛先の間におけるデータの到達可否を判定することで、前記監視対象の通信状態が変化したことを検出する処理を、前記コンピュータにさらに実行させることを特徴とする請求項２記載のプログラム。
【請求項５】
前記監視対象の通信状態が変化する前と後において、前記通信ネットワークを構成する複数の機器から各レイヤのインタフェース情報を取得し、該インタフェース情報に基いて各レイヤのトポロジを生成し、生成されたトポロジを用いて各レイヤにおける前記通信可否情報を生成する処理を、前記コンピュータに実行させることを特徴とする請求項２記載のプログラム。
【請求項６】
前記インタフェース情報を用いて前記複数のレイヤの中の下位レイヤのトポロジに含まれる接続をグループ化して、上位レイヤにおける情報到達範囲を生成し、該情報到達範囲から上位レイヤのトポロジを生成する処理を繰り返して、各レイヤのトポロジを生成する処理を、前記コンピュータに実行させることを特徴とする請求項５記載のプログラム。
【請求項７】
前記生成されたトポロジを用いて前記複数の送信元と複数の宛先の間におけるデータの到達可否を判定することで、各レイヤにおける前記通信可否情報を生成する処理を、前記コンピュータに実行させることを特徴とする請求項５または６記載のプログラム。
【請求項８】
前記複数の影響範囲と障害発生箇所の情報を前記複数のレイヤと対応させて画面上に表示する処理を、前記コンピュータに実行させることを特徴とする請求項２記載のプログラム。
【請求項９】
複数のレイヤによる階層構成の通信機能を有する通信ネットワーク上における障害の原因を特定する障害管理方法であって、
入力手段が、監視対象の送信元と宛先を指定する監視情報を入力し、
生成手段が、正常時に各レイヤにおける複数の送信元と複数の宛先の間の通信可否を示す通信可否情報を生成して、格納手段に格納し、
前記生成手段が、前記監視対象の送信元と宛先の間の通信状態が通信可から通信不可へ変化した後に、各レイヤにおける前記複数の送信元と複数の宛先の間の通信可否を示す通信可否情報を生成して、前記格納手段に格納し、
特定手段が、前記監視対象の通信状態が変化する前と後の通信可否情報を比較して、通信可から通信不可へ変化した経路の宛先をグループ化することで、前記通信ネットワークを障害の影響を受ける複数の影響範囲に分割し、該影響範囲の境界上にある機器のインタフェースを障害発生箇所と推定する処理を、探索開始レイヤから下位レイヤに向かってレイヤ毎に繰り返して、障害の原因となる機器とレイヤを特定し、
出力手段が、前記複数の影響範囲と障害発生箇所の情報を出力する
ことを特徴とする障害管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の機器から構成される通信ネットワークの運用管理に係り、通信に異常が発生した場合に障害の原因を特定する障害管理装置および方法に関する。
【背景技術】
【０００２】
インターネットの普及に伴い、インターネットデータセンタ（ＩＤＣ）、様々なサービスプロバイダ（ｘＳＰ）、企業内ネットワーク等の大規模化・複雑化・高機能化によるネットワーク障害が問題となっている。このような障害発生時には、ネットワーク管理者が障害の原因特定と復旧に対応できるよう、迅速に障害の影響範囲と発生箇所（どの機器のどのレイヤか）を特定することが重要である。
【０００３】
従来の障害監視システムとしては、ｐｉｎｇ（Packet INternet Groper）やＳＮＭＰ（Simple Network Management Protocol）等を用いて２点間の通信の可否および状態をチェックするシステムが知られている。また、ネットワーク上で発生した障害の影響範囲を容易に判別可能なように表示する装置も提案されている（例えば、下記の特許文献１参照）。
【特許文献１】特開２００４−２２２１０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した従来の障害監視システムでは、２点間の通信に異常があることが分かっても、どの機器のどのレイヤが原因になっているのかが分からない。このため、ネットワーク管理者は、最終的に経験とノウハウにより障害が発生した機器や回線を特定する必要があり、障害の影響範囲や発生箇所を正確に特定できなかったり、特定するまでに時間がかかっていた。
【０００５】
本発明の課題は、通信ネットワークのどのレイヤで障害が発生していても、管理者のスキルに依存することなく発生箇所を特定することができる障害管理装置および方法を提供することである。
【課題を解決するための手段】
【０００６】
図１は、本発明の障害管理装置の原理図である。図１の障害管理装置は、入力手段１０１、生成手段１０２、格納手段１０３、特定手段１０４、および出力手段１０５を備え、複数のレイヤによる階層構成の通信機能を有する通信ネットワーク上における障害の原因を特定する。
【０００７】
入力手段１０１は、監視対象の送信元と宛先を指定する監視情報を入力する。生成手段１０２は、監視対象の送信元と宛先の間の通信状態が通信可から通信不可へ変化する前と変化した後において、各レイヤにおける複数の送信元と複数の宛先の間の通信可否を示す通信可否情報を生成する。格納手段１０３は、生成された通信可否情報を格納する。
【０００８】
特定手段１０４は、監視対象の通信状態が変化する前と後の通信可否情報を比較して、通信可から通信不可へ変化した経路の宛先をグループ化することで、通信ネットワークを障害の影響を受ける複数の影響範囲に分割し、影響範囲の境界上にある機器のインタフェースを障害発生箇所と推定する処理を、探索開始レイヤから下位レイヤに向かってレイヤ毎に繰り返して、障害の原因となる機器とレイヤを特定する。出力手段１０５は、上記複数の影響範囲と障害発生箇所の情報を出力する。
【０００９】
このような障害管理装置によれば、複数のレイヤの中の探索開始レイヤから下位レイヤに向かって、レイヤ毎に機器間の通信可否がチェックされ、障害発生箇所が絞り込まれていくため、障害の原因となる機器とレイヤが自動的に特定される。
【００１０】
入力手段１０１は、例えば、後述する図４９の入力装置４７０３に対応し、生成手段１０２および特定手段１０４は、例えば、図４９のＣＰＵ（中央処理装置）４７０１に対応し、格納手段１０３は、例えば、図４９のメモリ４７０２または外部記憶装置４７０５に対応し、出力手段１０５は、例えば、図４９の出力装置４７０４に対応する。また、通信可否情報は、例えば、後述する図６、１１、１６、２１、および２６の通信可否マトリクスに対応する。
【発明の効果】
【００１１】
本発明によれば、通信ネットワークの任意のレイヤで発生した障害の発生箇所を、管理者のスキルに依存することなく自動的に特定することができる。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照しながら、本発明を実施するための最良の形態を詳細に説明する。
本実施形態の障害管理装置は、機器から取得できるトポロジ情報から、ネットワーク構成および正常時と異常時の通信経路と通信可否を認識し、それらの情報に基いて障害が発生した機器およびその機器内のサービスを特定して、画面上に表示する。トポロジとは、ネットワークを構成する機器同士の物理的・論理的な接続構成を意味する。
【００１３】
図２は、管理対象となる通信ネットワークの例を示している。このネットワークは、クライアントコンピュータＡ、ファイアウォールＢ、ＤＮＳ（Domain Name System）サーバＣ、負荷分散装置（Load Balancer ）Ｄ、ウェブサーバＥ、Ｆ、アプリケーションサーバＧ、データベースサーバＨ、ルータＩ、Ｊ、およびスイッチＫ、Ｌ、Ｍの各機器で構成され、複数のレイヤによる階層構成の通信機能を有する。ここでは、上位から下位に向かって以下のような５つのレイヤが存在するものとする。
（１）アプリケーションレイヤ
サービス同士の論理接続等を担当する。
（２）トランスミッション制御プロトコル／ユーザデータグラムプロトコル（Transmission Control Protocol/User Datagram Protocol，ＴＣＰ／ＵＤＰ）レイヤ
フィルタリング・アドレス変換・負荷分散装置等による論理接続を担当する。
（３）インターネットプロトコル（Internet Protocol，ＩＰ）レイヤ
サブネット同士の論理接続を担当する。
（４）メディアアクセス制御（Media Access Control，ＭＡＣ）レイヤ
仮想ローカルエリアネットワーク（Virtual Local Area Network，ＶＬＡＮ）による論理接続等を担当する。
（５）物理レイヤ
ケーブルによる物理接続を担当する。
【００１４】
ファイアウォールＢは、ＴＣＰ／ＵＤＰレイヤでパケットフィルタリングを行い、ルータＩおよびＪは、ＩＰレイヤでパケット転送を行い、スイッチＫ、Ｌ、Ｍは、ＭＡＣレイヤでパケット転送を行う。負荷分散装置Ｄは、ウェブサーバＥおよびＦの負荷分散の制御を行う。
【００１５】
ＤＮＳサーバＣは、アプリケーションレイヤで名前解決サービスを提供し、ウェブサーバＥおよびＦは、アプリケーションレイヤでウェブサービスを提供し、アプリケーションサーバＧは、アプリケーションレイヤでミドルウェアサービスを提供し、データベースサーバＨは、アプリケーションレイヤでデータベースサービスを提供する。クライアントコンピュータＡは、ネットワークを介してこれらのサーバが提供するサービスを利用する。
【００１６】
各レイヤにおいて、機器間の物理／論理接続は「リンク」で表され、リンクに使用される機器の物理／論理インタフェースは「コネクタ」で表され、通信の終端を行ったり、機器内の複数コネクタ間でデータの転送を行う機能は「サービス」で表される。各機器は「ノード」で表され、各レイヤにおけるトポロジは、リンク、コネクタ、およびサービスという３つの簡潔な要素で表現される。以下では、各機器の名称の代わりにノードＡ〜Ｍという表記を用いることにする。
【００１７】
図３は、図２のネットワークのコネクタ表現を示している。各ノード内の丸印“○”はコネクタを表す。ノードＡ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ、Ｇ、およびＨはすべてのレイヤのコネクタを持ち、ノードＩおよびＪはＩＰレイヤ、ＭＡＣレイヤ、および物理レイヤのコネクタを持ち、ノードＫ、Ｍ、およびＬはＭＡＣレイヤおよび物理レイヤのコネクタを持つ。
【００１８】
ノードＡのサービス３０１、ノードＣのサービス３０５、ノードＥのサービス３０８、ノードＦのサービス３０９、ノードＧのサービス３１２、およびノードＨのサービス３１３は、アプリケーションレイヤにおいて通信の終端を行うサービスである。
【００１９】
また、ノードＢのサービス３０２およびノードＤのサービス３０６は、ノード内部のアプリケーションレイヤのコネクタ間でデータ転送を行うサービスであり、ノードＩのサービス３０３およびノードＪのサービス３１０は、ノード内部のＩＰレイヤのコネクタ間でデータ転送を行うサービスであり、ノードＫのサービス３０４、ノードＬのサービス３１１、およびノードＭのサービス３０７は、ノード内部のＭＡＣレイヤのコネクタ間でデータ転送を行うサービスである。
【００２０】
このようなレイヤ毎のトポロジを重ねて表現することで、各レイヤにおけるリンクを下位レイヤの複数のリンクで表現することができる。これは、下位レイヤで障害が発生してリンクが切れた場合、その影響を受けて上位レイヤのリンクも切れるということを意味している。このため、各レイヤにおいて障害の影響範囲と発生箇所を求めて、上位レイヤから下位レイヤへドリルダウンしていけば、特定のサービスにおける障害の影響範囲と発生箇所を推定することができる。
【００２１】
そこで、障害管理装置は、各レイヤにおいて、障害発生前後の通信可否マトリクスを生成し、そのマトリクスから導出した障害の影響範囲と発生箇所を画面上に表示する。通信可否マトリクスは、入力情報から２つのノード間における障害発生前後の通信可否を調べて、その結果をマトリクスで表現したものである。
【００２２】
以下の説明では、障害の具体例として、ノードＭのＭＡＣレイヤのコネクタ３２１におけるＶＬＡＮ設定に誤りがあり、正しいコネクタ３２２とは異なる相手をＶＬＡＮとして設定した場合を想定している。しかしながら、障害発生箇所は１箇所に限られるわけではなく、複数箇所で障害が発生した場合でも、障害の影響範囲と発生箇所を導出することができる。
【００２３】
まず、図４から図９までを参照しながら、アプリケーションレイヤにおける障害発生箇所の推定方法について説明する。
図４は、図２のネットワークのアプリケーションレイヤのトポロジ（リンク、コネクタ、およびサービス）を示している。このレイヤのコネクタ間の接続関係は、図５のような樹形図で表すことができる。
【００２４】
図６は、アプリケーションレイヤにおける通信可否マトリクスを示している。マトリクスの各行および各列のノードは、それぞれ、通信における送信元および宛先を表し、正常時および障害発生時は、それぞれ、障害発生前および後のマトリクスを表す。丸印“○”およびバツ印“×”は、それぞれ、通信可および通信不可を表し、ハイフン“−”は、通信の対象外であることを表す。
【００２５】
ここでは、ウェブサービスの通信を対象としているため、ノードＡ〜Ｄは宛先として選択されていない。また、正常時において、クライアントＡはウェブサーバＥおよびＦと通信することができるが、アプリケーションサーバＧおよびデータベースサーバＨとは通信することができない。
【００２６】
障害発生時のマトリクスの灰色にハッチングされた箇所は、正常時のマトリクスに比べて変化があった経路を示している。ここでは、ノードＡ〜ＤおよびＧ〜ＨとノードＥ間の経路と、ノードＡ〜ＤおよびＧ〜ＨとノードＦ間の経路と、ノードＥ〜ＦとノードＧ間の経路と、ノードＥ〜ＦとノードＨ間の経路の状態が通信可から通信不可に変化したことを示している。これらの経路においては、ＭＡＣレイヤで発生した障害の影響を受けて通信ができなくなっている。
【００２７】
障害管理装置は、この通信可否マトリクスにおいて、同一経路における障害前後の通信可否を比較する。その結果、通信可否に変化があった経路を含む列をグルーピングして影響範囲の切り分けを行い、障害発生箇所を絞り込む。
【００２８】
このとき、各ノードのコネクタを、宛先Ｅ、Ｆ、Ｇ、およびＨの各コネクタに対して接続可能（通信可能）なコネクタと接続不可能なコネクタとにグルーピングし、図５に示した樹形図を接続可能範囲と接続不可範囲に切り分けると、図７のようになる。例えば、ノードＥのコネクタに対しては、ノードＦのコネクタとノードＤのコネクタ７０１のみが接続可能であり、ノードＤのコネクタ７０２と他のノードのコネクタは接続不可能であることが分かる。さらに、宛先ＥおよびＦの樹形図をマージし、宛先ＧおよびＨの樹形図をマージすると、図８のようになる。
【００２９】
障害管理装置は、図８の２つの樹形図は相反している（接続可能範囲と接続不可範囲が互いに入れ替わった関係にある）ため、障害の影響範囲は２つの範囲に切り分けられると判断し、図９に示すように、アプリケーションレイヤにおける影響範囲１および２を生成する。
【００３０】
この場合、各影響範囲内ではノード間の通信が可能であるが、影響範囲の境界を跨ぐノード間では通信は不可能である。また、影響範囲の境界とネットワーク接続が交差する点が障害境界点となり、その点を挟む２つのコネクタ７０１および７０２が障害発生箇所と推定される。
【００３１】
ここで、障害発生箇所と推定されたコネクタ７０１には複数のノードＥおよびＦが接続されているため、障害管理装置は、障害の原因が下位レイヤにあると判定し、下位レイヤの探索を続行する。したがって、１つ下のＴＣＰ／ＵＤＰレイヤで同様の処理が行われる。
【００３２】
次に、図１０から図１４までを参照しながら、ＴＣＰ／ＵＤＰレイヤにおける障害発生箇所の推定方法について説明する。
図１０は、図２のネットワークのＴＣＰ／ＵＤＰレイヤのトポロジを示しており、図１１は、このレイヤにおける通信可否マトリクスを示している。このマトリクスでは、障害発生時に、ノードＤとノードＥ間の経路およびノードＤとノードＦ間の経路の状態が通信不可に変化している。
【００３３】
このとき、変化があった宛先Ｄ、Ｅ、およびＦのみを対象として、接続可能範囲と接続不可範囲を示す樹形図を生成すると、図１２のようになる。さらに、宛先ＥおよびＦの樹形図をマージすると、最終的に図１３のような樹形図が生成される。
【００３４】
障害管理装置は、図１３の２つの樹形図から、図１４に示すような影響範囲１および２を生成し、影響範囲の境界上の障害境界点を挟むコネクタ１４０１および１４０２を障害発生箇所と推定する。ここで、コネクタ１４０１には複数のノードＥおよびＦが接続されているため、下位レイヤの探索を続行し、１つ下のＩＰレイヤで同様の処理を行う。
【００３５】
次に、図１５から図１８までを参照しながら、ＩＰレイヤにおける障害発生箇所の推定方法について説明する。
図１５は、図２のネットワークのＩＰレイヤのトポロジを示しており、図１６は、このレイヤにおける通信可否マトリクスを示している。このマトリクスでは、障害発生時に、ノードＤとノードＥ間の経路およびノードＤとノードＦ間の経路の状態が通信不可に変化している。
【００３６】
このとき、変化があった宛先Ｄ、Ｅ、およびＦのみを対象として、接続可能範囲と接続不可範囲を示す樹形図を生成すると、図１７のようになる。さらに、宛先ＥおよびＦの樹形図をマージすると、最終的に図１８のような樹形図が生成される。
【００３７】
障害管理装置は、図１８の２つの樹形図から、図１９に示すような影響範囲１および２を生成し、影響範囲の境界上の障害境界点を挟むコネクタ１８０１および１８０２を障害発生箇所と推定する。ここで、コネクタ１８０１には複数のノードＥおよびＦが接続されているため、下位レイヤの探索を続行し、１つ下のＭＡＣレイヤで同様の処理を行う。
【００３８】
次に、図２０から図２４までを参照しながら、ＭＡＣレイヤにおける障害発生箇所の推定方法について説明する。
図２０は、図２のネットワークのＭＡＣレイヤのトポロジを示しており、図２１は、このレイヤにおける通信可否マトリクスを示している。このマトリクスでは、障害発生時に、ノードＤとノードＥ間の経路およびノードＤとノードＦ間の経路の状態が通信不可に変化している。
【００３９】
このとき、変化があった宛先Ｄ、Ｅ、およびＦのみを対象として、接続可能範囲と接続不可範囲を示す樹形図を生成すると、図２２のようになる。さらに、宛先ＥおよびＦの樹形図をマージすると、最終的に図２３のような樹形図が生成される。
【００４０】
障害管理装置は、これらの樹形図から、図２４に示すような影響範囲１および２を生成し、影響範囲の境界上の障害境界点を挟むコネクタ３２１および３２２を障害発生箇所と推定する。ここで、コネクタ３２１および３２２にはそれぞれ１つのノードのみが接続されているため、このレイヤで障害が発生しているものと判断する。そして、下位レイヤの探索を続行し、１つ下の物理レイヤで同様の処理を行う。
【００４１】
次に、図２５および２６を参照しながら、物理レイヤにおける障害発生箇所の推定方法について説明する。
図２５は、図２のネットワークの物理レイヤのトポロジを示しており、図２６は、このレイヤにおける通信可否マトリクスを示している。この場合、正常時と障害発生時のマトリクスが全く同じであり、このレイヤでは障害が認識されないことが分かる。
【００４２】
障害管理装置は、図２７に示すように、各レイヤにおける障害の影響範囲と発生箇所をまとめて画面上に表示する。実際には、ＭＡＣレイヤの障害境界点を挟む２つのコネクタのうちいずれが障害発生箇所となるかは、通信可否の情報とサービス識別子から特定される。ここでは、影響範囲１と影響範囲２の境界上にあるノードＭ（スイッチ）が障害発生機器として特定され、以下の情報が障害発生箇所として提示される。
・ノード：Ｍ
・レイヤ：ＭＡＣレイヤ
・コネクタ：１（コネクタ３２１）
・サービス：学習ＭＡＣ１，ポートＶＬＡＮ
ユーザは、表示された影響範囲と発生箇所に応じて、ノードＭのＶＬＡＮ設定を修正する等の復旧作業を行う。
【００４３】
このように、障害の影響範囲と発生箇所を通信機能の階層構成と対応させて画面上に表示することで、障害管理装置のユーザは迅速かつ適切な復旧作業を行うことができ、熟練管理者不足の問題に対応することが可能になる。また、障害管理装置は、復旧作業の自律制御にも適用可能である。さらに、ネットワーク上のクライアントコンピュータやサーバ等の機器のユーザに対して、障害状況や利用可能サービス等の情報を通知することも可能になる。
【００４４】
次に、図２８から図３０までを参照しながら、障害管理装置の配置例について説明する。
図２８は、図２のネットワークを管理するために、擬似クライアントと障害管理装置を設けた構成を示している。この構成では、擬似クライアントコンピュータＯがスイッチＮを介してファイアウォールＢに接続されている。この場合、擬似クライアントコンピュータＯのセキュリティ確保のため、ファイアウォールＢにおいて、クライアントコンピュータＡからルータＩへの通信と、擬似クライアントコンピュータＯからルータＩへの通信に同じポリシールールが適用され、コンピュータＡとコンピュータＯ間で接続関係を持たないように制御される。
【００４５】
障害管理装置２７０１は、スイッチ２７０２を介して運用管理系のネットワークに接続されており、このネットワークを介して各機器から情報を取得することができる。障害管理装置２７０１は、ユーザが選択したアプリケーション（サービス）による擬似クライアントコンピュータＯと任意の宛先の間で通信を試行し、その結果を監視することで、障害の発生を検出する。
【００４６】
図２９は、図２８の擬似クライアントコンピュータＯの機能を障害管理装置に組み込んだ構成を示している。この構成では、障害管理装置２８０１は、スイッチ２７０２を介して運用管理系のネットワークに接続されるとともに、スイッチＮを介してファイアウォールＢに接続されており、擬似クライアントコンピュータＯとしての役割も果たす。
【００４７】
図３０は、擬似クライアントを持たない構成を示している。この構成では、障害管理装置２９０１は、スイッチ２７０２を介して運用管理系のネットワークに接続されており、定期的にトポロジ探索を実行する。そして、ユーザが選択したサービスによるクライアントコンピュータＡと任意の宛先の間でのデータの到達可否を判定することで、障害の発生を検出する。
【００４８】
次に、図３１から図３６までを参照しながら、障害管理装置が用いるデータの構成について説明する。
図３１は、障害監視のために用いるノード情報のデータ構造を示している。ノード情報は、管理対象のネットワークを構成する機器の設定情報であり、必要に応じて各機器から取得される。
【００４９】
このノード情報は、各ノードの属性情報およびレイヤ情報からなり、属性情報はノード識別子と管理用ＩＰアドレスを含む。また、レイヤ情報は、物理レイヤ、ＭＡＣレイヤ、ＩＰレイヤ、ＴＣＰ／ＵＤＰレイヤ、およびアプリケーションレイヤの情報からなり、各レイヤの情報は、コネクタおよびサービスの情報を含む。
【００５０】
図３２は、図３１のアプリケーションレイヤのデータ構造を示している。このレイヤのコネクタの情報は、コネクタ識別子（プロセスＩＤ、プロセス名、ＴＣＰ／ＵＤＰレイヤ接続ポート番号）を含み、サービスの情報は、アプリケーション識別子およびルール識別子を含む。
【００５１】
図３３は、図３１のＴＣＰ／ＵＤＰレイヤのデータ構造を示している。このレイヤのコネクタの情報は、コネクタ識別子（プロトコル、コネクション識別子）を含み、サービスの情報は、フィルタ／アドレス変換ルール識別子を含む。
【００５２】
図３４は、図３１のＩＰレイヤのデータ構造を示している。このレイヤのコネクタの情報は、コネクタ識別子（ＩＰアドレス、ネットマスク）を含み、サービスの情報は、ルータ動作識別子およびルーティング・テーブル・エントリ識別子（宛先ＩＰアドレス、インタフェース識別子、ネクストホップのＩＰアドレス、ルーティングメトリック、ネクストホップのネットマスク）を含む。
【００５３】
図３５は、図３１のＭＡＣレイヤのデータ構造を示している。このレイヤのコネクタの情報は、コネクタ識別子（インタフェースのＭＡＣアドレス）を含み、サービスの情報は、学習ＭＡＣエントリ識別子、ポートＶＬＡＮ識別子、タグＶＬＡＮ識別子、リンクアグリゲーション識別子、およびＳＴＰ（Spanning Tree Protocol）識別子を含む。
【００５４】
図３６は、図３１の物理レイヤのデータ構造を示している。このレイヤのコネクタの情報は、コネクタ識別子を含む。
次に、図３７から図４３までを参照しながら、このようなノード情報を用いた障害監視処理について説明する。
【００５５】
障害管理装置は、正常時において、あらかじめ管理対象のネットワークのサービスを運用している各機器からトポロジ情報を取得し、正常時の通信可否マトリクスを生成しておく。そして、障害発生後も同様にしてトポロジ情報を取得し、同一ネットワークに対して異常時の通信可否マトリクスを生成する。そして、正常時と異常時の通信可否マトリクスを比較して、障害の発生を検出する。
【００５６】
図３７は、図２８または２９の構成において擬似クライアントコンピュータＯの機能を用いた場合の障害監視処理のフローチャートである。ユーザが障害管理装置に監視情報を入力すると（ステップ３６０１）、障害管理装置は、ネットワークのトポロジ探索を実行する（ステップ３６０２）。これにより、上述したノード情報を含むトポロジ情報が生成され、障害管理装置内に保存される。
【００５７】
次に、障害管理装置は、得られたトポロジ情報を用いて、擬似クライアントコンピュータＯと監視情報により指定された宛先の間の経路探索を実行し（ステップ３６０３）、この２点間のデータの到達可否を判定する（ステップ３６０４）。この判定ではデータ到達性のシミュレーションが行われ、実際の通信は行われない。データ到達不可の場合は、処理を終了する。
【００５８】
データ到達可の場合は、通信可否マトリクスを生成し（ステップ３６０９）、それが正常時のデータか否かをチェックする（ステップ３６１０）。通信可否マトリクスが正常時のデータであれば、擬似クライアントコンピュータＯと指定された宛先の間で実際に通信を試行し（ステップ３６０５）、擬似クライアントコンピュータＯから正常終了の応答が返されたか否かをチェックする（ステップ３６０６）。
【００５９】
正常終了の応答を受け取った場合は、定期監視のため一定時間の経過を待ち合わせ（ステップ３６０７）、ステップ３６０５以降の処理を繰り返す。正常終了の応答を受け取らなかった場合は、トポロジ探索を実行し（ステップ３６０８）、ステップ３６０９以降の処理を行う。
【００６０】
ステップ３６１０において通信可否マトリクスが正常時のデータと異なれば、障害が発生したものと判断し、障害発生箇所導出処理を行う（ステップ３６１１）。
ステップ３６０２および３６０８のトポロジ探索処理およびステップ３６０３の経路探索処理の詳細については、後述することにする。
【００６１】
図３８は、図３０の構成における障害監視処理のフローチャートである。ユーザが障害管理装置に監視情報を入力すると（ステップ３７０１）、障害管理装置は、トポロジ探索を実行する（ステップ３７０２）。
【００６２】
次に、障害管理装置は、得られたトポロジ情報を用いて、クライアントコンピュータＡと監視情報により指定された宛先の間の経路探索を実行し（ステップ３７０３）、この２点間のデータの到達可否を判定する（ステップ３７０４）。データ到達不可の場合は、処理を終了する。
【００６３】
データ到達可の場合は、通信可否マトリクスを生成し（ステップ３７１０）、それが正常時のデータか否かをチェックする（ステップ３７１１）。通信可否マトリクスが正常時のデータであれば、障害監視を開始して（ステップ３７０５）、トポロジ探索を実行する（ステップ３７０６）。そして、ステップ３７０２と同様の経路探索を実行し（ステップ３７０７）、データの到達可否を判定する（ステップ３７０８）。
【００６４】
データ到達可の場合は、一定時間の経過を待ち合わせ（ステップ３７０９）、ステップ３７０５以降の処理を繰り返す。データ到達不可の場合は、ステップ３７１０以降の処理を行う。
【００６５】
ステップ３７１１において通信可否マトリクスが正常時のデータと異なれば、障害が発生したものと判断し、障害発生箇所導出処理を行う（ステップ３７１２）。
図３９は、図３７のステップ３６０１および図３８のステップ３７０１における監視情報入力処理のフローチャートである。ユーザは、まず、通信に用いるサービスを選択し（ステップ３８０１）、擬似クライアントコンピュータＯのブラウザを起動する（ステップ３８０２）。そして、監視対象となる宛先ＩＰアドレスまたはホスト名を入力し（ステップ３８０３）、パスを入力する（ステップ３８０４）。
【００６６】
障害管理装置は、リクエスト情報を生成し（ステップ３８０５）、その情報を監視情報として、起動されたブラウザへ入力する（ステップ３８０６）。ただし、図３８のステップ３７０１では、ステップ３８０６の処理はスキップされる。
【００６７】
また、生成されたリクエスト情報は、図３７のステップ３６０３および図３８のステップ３７０３、３７０７における経路探索でも用いられる。
例えば、ウェブサービス（ＷＷＷ：ｈｔｔｐ）が選択され、宛先ＩＰアドレスとして“１７２．２５．２３０．１”が入力され、パスとして“ｊｐ／ｉｎｄｅｘ．ｈｔｍｌ”が入力された場合、“ｈｔｔｐ：／／１７２．２５．２３０．１／ｊｐ／ｉｎｄｅｘ．ｈｔｍｌ”のようなリクエスト情報が生成される。
【００６８】
図４０は、図３７のステップ３６０９および図３８のステップ３７１０における通信可否マトリクス生成処理のフローチャートである。障害管理装置は、まず、図３１に示した構成を持つノード情報３９００からレイヤ毎のサービス可能ノードを抽出し（ステップ３９０１）、各レイヤの送信元候補ノードを抽出し（ステップ３９０２）、各レイヤの宛先候補ノードを抽出する（ステップ３９０３）。
【００６９】
さらに、各レイヤの送信元インタフェース情報を抽出し（ステップ３９０４）、各レイヤの宛先インタフェース情報を抽出する（ステップ３９０５）。ステップ３９０２〜３９０４では、以下のようなノードおよびインタフェース情報が抽出される。
ａ．サービス可能ノード（ステップ３９０１）
（１）アプリケーションレイヤ
ノード情報３９００のアプリケーションレイヤにデータが存在するノード
（２）ＴＣＰ／ＵＤＰレイヤ
ノード情報３９００のＴＣＰ／ＵＤＰレイヤにデータが存在するノード
（３）ＩＰレイヤ
ノード情報３９００のＩＰレイヤにデータが存在するノード
（４）ＭＡＣレイヤ
ノード情報３９００のＭＡＣレイヤにデータが存在するノード
（５）物理レイヤ
ノード情報３９００の物理レイヤにデータが存在するノード
ｂ．送信元候補ノード（ステップ３９０２）
（１）アプリケーションレイヤ
全てのノード、あるいは選択されたアプリケーションのクライアントプロセスが起動しているノード
（２）ＴＣＰ／ＵＤＰレイヤ
すべてのノード
（３）ＩＰレイヤ
ＩＰアドレスを持つノード
（４）ＭＡＣレイヤ
ＭＡＣアドレスを持つノード
（５）物理レイヤ
ポート番号を持つノード
ｃ．宛先候補ノード（ステップ３９０３）
（１）アプリケーションレイヤ
選択されたアプリケーションのサーバプロセスが起動しているノード
（２）ＴＣＰ／ＵＤＰレイヤ
選択されたアプリケーションのポートが起動しているノード
（３）ＩＰレイヤ
ＩＰアドレスを持つノード
（４）ＭＡＣレイヤ
ＭＡＣアドレスを持つノード
（５）物理レイヤ
ポート番号を持つノード
ｄ．送信元インタフェース情報（ステップ３９０４）
（１）アプリケーションレイヤ
アプリケーションレイヤの送信元候補ノードの全ＩＰアドレス
（２）ＴＣＰ／ＵＤＰレイヤ
ＴＣＰ／ＵＤＰレイヤの送信元候補ノードの全ＩＰアドレス
（３）ＩＰレイヤ
ＩＰレイヤの送信元候補ノードの全ＩＰアドレス
（４）ＭＡＣレイヤ
ＭＡＣレイヤの送信元候補ノードの全ＭＡＣアドレス
（５）物理レイヤ
物理レイヤの送信元候補ノードの全コネクタ識別子
ｅ．宛先インタフェース情報（ステップ３９０５）
（１）アプリケーションレイヤ
アプリケーションレイヤの宛先候補ノードのＩＰアドレス
（２）ＴＣＰ／ＵＤＰレイヤ
ＴＣＰ／ＵＤＰレイヤの宛先候補ノードのＩＰアドレス
（３）ＩＰレイヤ
ＩＰレイヤの宛先候補ノードの全ＩＰアドレス
（４）ＭＡＣレイヤ
ＭＡＣレイヤの宛先候補ノードの全ＭＡＣアドレス
（５）物理レイヤ
物理レイヤの宛先候補ノードの全コネクタ識別子
障害管理装置は、抽出された送信元と宛先の組み合わせの数だけ経路探索を実行するために、それらの組み合わせを指定する経路探索入力情報を生成し（ステップ３９０６）、経路探索を実行する（ステップ３９０７）。このとき、監視情報により指定されたアプリケーションレイヤのサービス（例えば、ｈｔｔｐ）およびパスと、ＴＣＰ／ＵＤＰレイヤのプロトコル（例えば、ｔｃｐ）および宛先のポート番号等も、経路探索入力情報として用いられる。そして、各組み合わせについて、図４１に示すような経路探索の結果を保存する（ステップ３９０８）。
【００７０】
この経路探索結果は、アプリケーションレイヤから物理レイヤに至る各レイヤの経路情報からなり、各レイヤの経路情報は、ｍ個の経路情報１〜ｍからなる。各経路情報は、ｎ個のコネクタ情報１〜ｎと経路通信可否情報からなり、各コネクタ情報は、ノード識別子、レイヤ識別子、コネクタ識別子、およびサービス識別子からなる。経路通信可否情報は、指定された送信元と宛先の間におけるデータの到達可否を表している。
【００７１】
障害管理装置は、この経路通信可否情報に基いて通信可否マトリクスを生成する（ステップ３９０９）。
図４２は、図３７のステップ３６１１および図３８のステップ３７１２における障害発生箇所導出処理のフローチャートである。障害管理装置は、まず、障害探索開始レイヤを決定する（ステップ４００１）。この障害探索開始レイヤは、通常はユーザにより選択されるが、アプリケーションレイヤを自動的に選択するようにしてもよい。
【００７２】
次に、選択されたレイヤの通信可否マトリクスを読み込み（ステップ４００２）、障害発生前後の通信可否を比較して（ステップ４００３）、障害発生前後で通信可否マトリクスに変化があるか否かをチェックする（ステップ４００４）。
【００７３】
通信可否マトリクスに変化があれば、障害影響範囲／発生箇所計算処理を行い（ステップ４００５）、障害の影響範囲を画面上に表示する（ステップ４００６）。通信可否マトリクスに変化がなければ、現在のレイヤでは障害が発生していないと判定する（ステップ４０１０）。
【００７４】
次に、２つのレイヤで連続して障害なしと判定されたか否かをチェックし（ステップ４００７）、そのように判定されていなければ、次に、現在のレイヤが物理レイヤか否かをチェックする（ステップ４００８）。現在のレイヤが物理レイヤでなければ、１つ下のレイヤを選択して（ステップ４００９）、ステップ４００２以降の処理を繰り返す。これにより、階層間に渡るドリルダウンが行われる。
【００７５】
そして、ステップ４００７において２つのレイヤで連続して障害なしと判定されていれば、２つ上のレイヤにおける障害発生箇所を画面上に表示し（ステップ４０１１）、ステップ４００８において現在のレイヤが物理レイヤであれば、１つ上のレイヤにおける障害発生箇所を画面上に表示する（ステップ４０１２）。
【００７６】
図４３は、図４２のステップ４００５における障害影響範囲／発生箇所計算処理のフローチャートである。障害管理装置は、まず、通信可否マトリクスから上述した樹形図に相当する通信可否変化情報を抽出し、完全重複する通信可否変化情報同士をグルーピングする（ステップ４１０１）。このとき、重複しない通信可否変化情報については、単独でグルーピングされる（グループ内要素数＝１）。
【００７７】
ここでは、障害発生時の通信可否マトリクスの要素のうち、障害発生前に通信可で障害発生後に通信不可となったものを含む列の全要素が、通信可否変化情報として抽出される。例えば、図６の通信可否マトリクスの場合は、宛先Ｅ〜Ｈに対応するすべての列が通信可否変化情報として抽出される。また、Ｅの列とＦの列は変化した要素が完全重複するため１つのグループにグルーピングされ、同様に、Ｇの列とＨの列も１つのグループにグルーピングされる。
【００７８】
次に、グループ数カウントｎに生成されたグループの数を設定し（ステップ４１０２）、１つのグループの通信可否変化情報を読み込んで（ステップ４１０３）、グループ内要素数（通信可否変化情報の数）が１か否かをチェックする（ステップ４１０４）。グループ内要素数が１でなければ、それらの通信可否変化情報をマージして保存し（ステップ４１０５）、グループ内要素数が１であれば、その通信可否変化情報をそのまま保存する（ステップ４１０８）。
【００７９】
次に、ｎ個のグループについて処理が終了したか否かをチェックし（ステップ４１０６）、未処理のグループがあれば次のグループを選択して（ステップ４１０７）、ステップ４１０３以降の処理を繰り返す。そして、ｎ個のグループについて処理が終了すれば、ステップ４１０５および４１０８で保存された全グループの要素を比較し（ステップ４１０９）、グループ間で通信可否変化情報が相反しているか否かをチェックする（ステップ４１１０）。
【００８０】
グループ間で通信可否変化情報が相反していれば、次に、グループ間で通信可否変化情報が包含関係にあるか否かをチェックする（ステップ４１１１）。そして、通信可否変化情報が包含関係にあれば、これらのグループを相反包含関係の影響範囲として出力する（ステップ４１１２）。
【００８１】
ステップ４１１０において通信可否変化情報が相反していなければ、各グループを現状のまま影響範囲として出力し（ステップ４１１４）、ステップ４１１１において通信可否変化情報が包含関係になければ、それらのグループを相反関係の影響範囲として出力する（ステップ４１１３）。
【００８２】
例えば、図６の通信可否マトリクスの場合は、図７の通信可否変化情報がマージされて図８の２つのグループが生成される。これらのグループ間では、接続可能範囲と接続不可範囲が互いに入れ替わった関係にあるため、２つのグループは相反関係にあると判定される。
【００８３】
また、図１１の通信可否マトリクスの場合は、図１２の通信可否変化情報がマージされて図１３の２つのグループが生成される。これらのグループ間では、接続可能範囲と接続不可範囲が互いに入れ替わった関係にあり、かつ、宛先Ｄのグループの接続可能範囲が宛先ＥおよびＦのグループの接続不可範囲を包含しているため、２つのグループは相反包含関係にあると判定される。
【００８４】
ステップ４１１２〜４１１４では、例えば、障害の影響範囲と発生箇所の計算結果が図４１の経路探索結果と同様の形式で生成される。この場合、影響範囲の計算結果は、図４１の「経路情報」を「影響範囲情報」に置き換えて、「経路通信可否情報」を削除したデータ構造で出力される。また、障害発生箇所の計算結果は、図４１の「経路情報」を「障害発生箇所情報」に置き換えて、「経路通信可否情報」を削除したデータ構造で出力される。
【００８５】
ところで、図３７、３８、および４０に示したトポロジ探索処理および経路探索処理は、例えば、先願の特願２００４−１６４７７８号に記載された「トポロジ探索技術」および「経路探索技術」を利用して行われる。そこで、この「トポロジ探索技術」および「経路探索技術」の概要について、図４４から図４８までを参照しながら説明する。
（１）トポロジ探索技術
本技術は、物理レイヤからアプリケーションレイヤまでのすべてのレイヤを統合したトポロジを表現するモデルに基き、ＳＮＭＰ−ＭＩＢ（Management Information Base ）等を用いて各ネットワーク機器から各レイヤに関する情報を自動的に収集・分析することにより、各レイヤにまたがるネットワークトポロジをシステムが把握し、これをマップとして描画・表示するものである。これにより、従来は困難であったすべてのレイヤについてのトポロジ把握を容易に行うことができる。
【００８６】
図４４は、トポロジ探索技術を実装したトポロジ探索部を示している。図４４のトポロジ探索部４２０２は、ノード検知部４２１１、トポロジ情報取得部４２１２、およびトポロジ構築部４２１３を備え、以下の手順で、管理対象のネットワークを構成する機器同士の物理的・論理的接続を求める。
１．ノード検知部４２１１は、管理対象のネットワーク４２０１のＩＰアドレスの範囲（探索範囲）と各機器のアカウント情報からなる入力情報４２２１を受け取る。そして、探索範囲に対してｐｉｎｇによる探索を試みて、ネットワーク４２０１を構成する機器（ノード）を検出し、検出されたノードのリスト４２１４を生成する。
２．トポロジ情報取得部４２１２は、ＳＮＭＰ、ｔｅｌｎｅｔ、またはｓｓｈ（Secure Shell）を用いて、検出されたネットワーク機器の設定やサービスの情報を取得する。情報取得に必要な各機器のアカウント情報は、ノード検知部４２１１から受け取る。
３．トポロジ構築部４２１３は、取得された情報から機器同士の物理的・論理的接続関係を求め、様々な目的に利用できる形式のトポロジ情報４２２２として出力する。トポロジ情報４２２２には、ノード情報およびリンク情報が含まれる。ノード情報は、ネットワーク４２０１を構成する機器の設定情報であり、リンク情報は、機器間の物理／論理接続の情報である。
【００８７】
図４５は、トポロジ情報取得部４２１２により取得された機器設定情報の例を示している。この設定情報は、パーソナルコンピュータの機器設定情報を表しており、ノード名（ノード識別子）、機種、インタフェース、および経路表を含む。ノード名は機器の識別情報であり、機種は機器の種類を示す情報であり、インタフェースは、機器に設けられた通信インタフェースの情報であり、経路表は各インタフェースが通信に用いる経路の情報である。
【００８８】
このパーソナルコンピュータにはインタフェースが１つ設けられており、インタフェースの情報には、その番号、名前、ＭＡＣアドレス、およびＩＰアドレスが含まれる。また、経路表には、宛先ＩＰアドレス、送出インタフェースの名前、次経路ＩＰアドレス、および優先度がエントリ毎に登録されている。
【００８９】
他の機器の設定情報も同様であるが、スイッチの機器設定情報にはさらにブリッジング情報、ＶＬＡＮ情報、およびリンクアグリゲーション情報が含まれ、ルータの機器設定情報にはさらにルーティング情報が含まれ、ファイアウォールの機器設定情報にはさらにパケットフィルタリング情報が含まれる。また、サーバの機器設定情報にはさらにアプリケーション情報が含まれる。
【００９０】
トポロジ構築部４２１３は、各機器におけるＭＡＣ学習テーブルを取得し、機器毎のＭＡＣ学習テーブルの内容を照合することで、機器間の物理的な接続関係を生成する。ＭＡＣ学習テーブルには、送信先ＭＡＣアドレスと送信元ポートの対応関係が記録されている。
【００９１】
図４６は、管理対象のネットワークにおける物理接続の例を示している。このネットワークは、スイッチ４４０１〜４４０３およびパーソナルコンピュータ（ＰＣ）４４０４〜４４１５からなる。
【００９２】
スイッチ４４０１（スイッチα）はポート１〜５を有し、ポート１、２、３、および４には、パーソナルコンピュータ４４０４、４４０５、４４０６、および４４０７がそれぞれ接続されており、ポート５にはスイッチ４４０２が接続されている。
【００９３】
スイッチ４４０２（スイッチβ）はポート１〜６を有し、ポート１、２、３、および４には、パーソナルコンピュータ４４０８、４４０９、４４１０、および４４１１がそれぞれ接続されており、ポート５および６には、スイッチ４４０１および４４０３がそれぞれ接続されている。
【００９４】
スイッチ４４０３（スイッチγ）はポート１〜５を有し、ポート１、２、３、および４には、パーソナルコンピュータ４４１２、４４１３、４４１４、および４４１５がそれぞれ接続されており、ポート５にはスイッチ４４０２が接続されている。
【００９５】
パーソナルコンピュータ４４０４、４４０５、４４０６、４４０７、４４０８、４４０９、４４１０、４４１１、４４１２、４４１３、４４１４、および４４１５のＭＡＣアドレスは、それぞれＡ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ、Ｇ、Ｈ、Ｉ、Ｊ、Ｋ、およびＬである。
【００９６】
スイッチ４４０１、４４０２、および４４０３は、スイッチングサービスを行うために、図４７に示すようなＭＡＣ学習テーブル４５０１、４５０２、および４５０３をそれぞれ持っている。これらのＭＡＣ学習テーブルには、ポート毎に、学習されたパーソナルコンピュータ４４０４〜４４１５のＭＡＣアドレスが登録されている。
【００９７】
例えば、スイッチαのポート５については、スイッチβ配下の４台のＰＣのＭＡＣアドレスＥ、Ｆ、Ｇ、およびＨが学習されており、スイッチβのポート５については、スイッチα配下の４台のＰＣのＭＡＣアドレスが学習されている。この情報から、スイッチαのポート５とスイッチβのポート５とが接続されていると推測できる。このように、スイッチのＭＡＣ学習テーブルから、スイッチ同士の接続や、スイッチ−ＰＣ間の接続を求めることが可能である。
【００９８】
スイッチ４４０１〜４４０３およびパーソナルコンピュータ４４０４〜４４１５の機器設定情報が入力されたとき、トポロジ構築部４２１３は、以下の手順で物理接続のリンク情報を求める。
【００９９】
トポロジ構築部４２１３は、まず、スイッチの機器設定情報からＭＡＣ学習テーブル４５０１、４５０２、および４５０３を抽出し、それらのＭＡＣ学習テーブルを参照してスイッチ間の物理接続を探索する。
【０１００】
隣接する２台のスイッチ間においては、互いを繋ぐポートについて学習されるＭＡＣアドレスは、隣接するスイッチの、互いを繋ぐポート以外のポートについて学習されたＭＡＣアドレスの総和である。
【０１０１】
トポロジ構築部４２１３は、ネットワーク内の全スイッチのＭＡＣアドレス学習テーブルを調査し、スイッチの各ポートについて学習されているＭＡＣアドレスの、ポートを単位とする論理和を用いた比較が成立するか否かを判定して、スイッチ同士の物理接続を求める。
【０１０２】
次に、トポロジ構築部４２１３は、パーソナルコンピュータ４４０４〜４４１５のＭＡＣアドレスと、スイッチ間の物理接続の探索結果から、スイッチと各パーソナルコンピュータの物理接続を探索する。このとき、各スイッチのＭＡＣ学習テーブル内の、スイッチ同士の接続に使用されていないポートのうち、ネットワーク内のスイッチ以外の機器（パーソナルコンピュータ）のＭＡＣアドレスを学習しているポートを探索し、該当するポートとパーソナルコンピュータの間の物理接続を求める。
【０１０３】
こうして物理接続のリンク情報が得られると、トポロジ構築部４２１３は、そのリンク情報とノード情報を用いてレイヤ別のトポロジ探索処理を行い、複数レイヤにわたるトポロジを求める。
【０１０４】
このとき、ノード情報を用いて複数のレイヤの中の下位レイヤのトポロジに含まれる物理接続または論理接続をグループ化して、上位レイヤにおける情報到達範囲を生成し、その情報到達範囲から上位レイヤのトポロジを生成する。このような処理を物理レイヤ、ＭＡＣレイヤ、ＩＰレイヤ、ＴＣＰ／ＵＤＰレイヤ、およびアプリケーションレイヤの順に繰り返すことで、複数レイヤにわたるトポロジが生成される。
（２）経路探索技術
本技術は、探索対象となる経路の始点および終点の機器（ノード）と、トポロジ探索技術の出力結果であるトポロジ情報をもとに、始点ノードと終点ノードの間におけるデータの到達可否を判定し、到達可能な場合のデータの通過経路を算出するものである。具体的には、以下の手順で経路探索を行う。
１．ＩＰレイヤのネクストホップ取得
始点ノードから終点ノードに向かうための、ＩＰレイヤにおけるネクストホップのＩＰアドレスを、始点ノードのルーティング情報から取得する。
２．ＭＡＣレイヤのネクストホップ取得
始点ノードのＭＡＣ学習テーブルをもとに、ネクストホップのＩＰアドレスに向かうための、ＭＡＣレイヤにおけるネクストホップのＭＡＣアドレスを取得する。トポロジ探索技術により得られているリンク情報を参照し、ＭＡＣレイヤでのネクストホップとなる機器を決定する。
３．始点ノードの代わりにネクストホップとなる機器に対して、２のＭＡＣレイヤのネクストホップ取得を繰り返し、ＭＡＣレイヤでの経路情報の取得を続ける。これを繰り返してＩＰレイヤでのネクストホップの機器に辿り着いたら、上記１のＩＰレイヤのネクストホップ取得を繰り返して、ＩＰレイヤにおいてその次のホップとなる機器を決定する。以上の処理を、終点ノードのＩＰアドレスに辿り着くまで繰り返す。終点ノードのＩＰアドレスに辿り着くことができればデータ到達可と判定され、辿り着くことができなければデータ到達不可と判定される。
【０１０５】
図４８は、このような経路探索技術を実装したトポロジ探索装置を示している。図４８のトポロジ探索装置４６０１は、図４４のトポロジ探索部４２０２と経路探索部４６１１を備える。経路探索部４６１１は、次経路判定部４６２１および動的情報算出部４６２２を備え、探索対象情報４６２３および次探索対象情報４６２４を保持する。
【０１０６】
経路探索部４６１１は、各機器の設定情報４６５１、複数レイヤにわたるトポロジ４６５２、および探索条件４６５３を入力として経路探索処理を行い、経路探索結果４６５４を出力する。設定情報４６５１は、図４４のトポロジ情報取得部４２１２により取得された機器設定情報に対応し、トポロジ４６５２は、図４４のトポロジ情報４２２２に対応する。
【０１０７】
トポロジ４６５２は、物理レイヤのトポロジ４６６１、ＭＡＣレイヤのトポロジ４６６２、ＩＰレイヤのトポロジ４６６３、ＴＣＰ／ＵＤＰレイヤのトポロジ４６６４、およびアプリケーションレイヤのトポロジ４６６５からなり、探索条件４６５３は、始点および終点となるネットワーク内の２点４６７１およびサービスの種類４６７２の情報を含む。ネットワーク内の２点４６７１は、ノード名やＩＰアドレス等により指定される。
【０１０８】
探索対象情報４６２３は、現在のコネクタ４６３１および直前のコネクタ４６３２の情報を含み、次探索対象情報４６２４は、上位レイヤのコネクタ４６４１および下位レイヤのコネクタ４６４２の情報を含む。また、経路探索結果４６５４は、図４１に示したような情報を含む。現在のコネクタ４６３１、直前のコネクタ４６３２、上位レイヤのコネクタ４６４１、および下位レイヤのコネクタ４６４２のデータ構造についても、図４１のコネクタ情報と同様である。
【０１０９】
次経路判定部４６２１は、現在の探索対象の情報を探索対象情報４６２３に保持し、次の探索対象の情報を次探索対象候補４６２４に保持しながら、設定情報４６５１、トポロジ４６５２、および探索条件４６５３を用いてネクストホップの取得を繰り返す。そして、データ到達性の判定結果と、到達可能な場合の始点ノードから終点ノードに至るコネクタの情報を、経路探索結果４６５４として出力する。動的情報算出部４６２２は、次経路判定部４６２１により宛先が得られない場合、または名前解決等の方法により宛先を取得する必要がある場合に、動的に宛先を求める。
【０１１０】
上述したような先願の「トポロジ探索技術」および「経路探索技術」を利用するため、障害管理装置は、図４８のトポロジ探索部４２０２および経路探索部４６１１を備える。
また、図２８〜３０の構成では、障害管理装置が運用管理系のネットワークを介して管理対象のネットワークに接続されているが、障害管理装置を管理対象のネットワークのノードに直接接続するようにしてもよい。
【０１１１】
また、以上説明した実施形態では、通信機能の階層構成として物理レイヤ、ＭＡＣレイヤ、ＩＰレイヤ、ＴＣＰ／ＵＤＰレイヤ、およびアプリケーションレイヤの５つのレイヤを想定しているが、本発明はこの階層構成に限らず、他の階層構成にも同様に適用可能である。
【０１１２】
なお、図２８の障害管理装置２７０１、図２９の障害管理装置２８０１、図３０の障害管理装置２９０１、図４８のトポロジ探索装置４６０１は、例えば、図４９に示すような情報処理装置（コンピュータ）を用いて構成される。図４９の情報処理装置は、ＣＰＵ４７０１、メモリ４７０２、入力装置４７０３、出力装置４７０４、外部記憶装置４７０５、媒体駆動装置４７０６、ネットワーク接続装置４７０７を備え、それらはバス４７０８により互いに接続されている。
【０１１３】
メモリ４７０２は、例えば、ＲＯＭ（read only memory）、ＲＡＭ（random access memory）等を含み、処理に用いられるプログラムおよびデータを格納する。ＣＰＵ４７０１は、メモリ４７０２を利用してプログラムを実行することにより、必要な処理を行う。
【０１１４】
図４４のトポロジ探索部４２０２、ノード検知部４２１１、トポロジ情報取得部４２１２、トポロジ構築部４２１３、および図４８の経路探索部４６１１、次経路判定部４６２１、動的情報算出部４６２２は、メモリ４７０２に格納されたプログラムに対応する。
【０１１５】
入力装置４７０３は、例えば、キーボード、ポインティングデバイス等であり、ユーザからの指示や情報の入力に用いられる。出力装置４７０４は、例えば、ディスプレイ、プリンタ、スピーカ等であり、ユーザへの問い合わせや処理結果等の出力に用いられる。
【０１１６】
外部記憶装置４７０５は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。情報処理装置は、この外部記憶装置４７０５に、プログラムおよびデータを格納しておき、必要に応じて、それらをメモリ４７０２にロードして使用する。
【０１１７】
媒体駆動装置４７０６は、可搬記録媒体４７０９を駆動し、その記録内容にアクセスする。可搬記録媒体４７０９は、メモリカード、フレキシブルディスク、光ディスク、光磁気ディスク等の任意のコンピュータ読み取り可能な記録媒体である。ユーザは、この可搬記録媒体４７０９にプログラムおよびデータを格納しておき、必要に応じて、それらをメモリ４７０２にロードして使用する。
【０１１８】
ネットワーク接続装置４７０７は、ＬＡＮ（local area network）やインターネット等の任意の通信ネットワークに接続され、通信に伴うデータ変換を行う。情報処理装置は、必要に応じて、プログラムおよびデータを外部の装置からネットワーク接続装置４７０７を介して受け取り、それらをメモリ４７０２にロードして使用する。
【０１１９】
図５０は、図４９の情報処理装置にプログラムおよびデータを提供する方法を示している。可搬記録媒体４７０９やサーバ４８０１のデータベース４８１１に格納されたプログラムおよびデータは、情報処理装置４８０２のメモリ４７０２にロードされる。サーバ４８０１は、そのプログラムおよびデータを搬送する搬送信号を生成し、ネットワーク上の任意の伝送媒体を介して情報処理装置４８０２に送信する。ＣＰＵ４７０１は、そのデータを用いてそのプログラムを実行し、必要な処理を行う。
（付記１）  複数のレイヤによる階層構成の通信機能を有する通信ネットワーク上における障害の原因を特定する障害管理装置であって、
監視対象の送信元と宛先を指定する監視情報を入力する入力手段と、
前記監視対象の送信元と宛先の間の通信状態が通信可から通信不可へ変化する前と変化した後において、各レイヤにおける複数の送信元と複数の宛先の間の通信可否を示す通信可否情報を生成する生成手段と、
生成された通信可否情報を格納する格納手段と、
前記監視対象の通信状態が変化する前と後の通信可否情報を比較して、通信可から通信不可へ変化した経路の宛先をグループ化することで、前記通信ネットワークを障害の影響を受ける複数の影響範囲に分割し、該影響範囲の境界上にある機器のインタフェースを障害発生箇所と推定する処理を、探索開始レイヤから下位レイヤに向かってレイヤ毎に繰り返して、障害の原因となる機器とレイヤを特定する特定手段と、
前記複数の影響範囲と障害発生箇所の情報を出力する出力手段と
を備えることを特徴とする障害管理装置。
（付記２）  複数のレイヤによる階層構成の通信機能を有する通信ネットワーク上における障害の原因を特定するコンピュータのためのプログラムであって、
監視対象の送信元と宛先を指定する監視情報を入力し、
正常時に各レイヤにおける複数の送信元と複数の宛先の間の通信可否を示す通信可否情報を生成して、格納手段に格納し、
前記監視対象の送信元と宛先の間の通信状態が通信可から通信不可へ変化した後に、各レイヤにおける前記複数の送信元と複数の宛先の間の通信可否を示す通信可否情報を生成して、前記格納手段に格納し、
前記監視対象の通信状態が変化する前と後の通信可否情報を比較して、通信可から通信不可へ変化した経路の宛先をグループ化することで、前記通信ネットワークを障害の影響を受ける複数の影響範囲に分割し、該影響範囲の境界上にある機器のインタフェースを障害発生箇所と推定する処理を、探索開始レイヤから下位レイヤに向かってレイヤ毎に繰り返して、障害の原因となる機器とレイヤを特定し、
前記複数の影響範囲と障害発生箇所の情報を出力する
処理を前記コンピュータに実行させることを特徴とするプログラム。
（付記３）  前記監視対象の送信元と宛先の間で通信を試行した結果を監視することで、前記監視対象の通信状態が変化したことを検出する処理を、前記コンピュータにさらに実行させることを特徴とする付記２記載のプログラム。
（付記４）  前記監視対象の送信元と宛先の間におけるデータの到達可否を判定することで、前記監視対象の通信状態が変化したことを検出する処理を、前記コンピュータにさらに実行させることを特徴とする付記２記載のプログラム。
（付記５）  前記監視対象の通信状態が変化する前と後において、前記通信ネットワークを構成する複数の機器から各レイヤのインタフェース情報を取得し、該インタフェース情報に基いて各レイヤのトポロジを生成し、生成されたトポロジを用いて各レイヤにおける前記通信可否情報を生成する処理を、前記コンピュータに実行させることを特徴とする付記２記載のプログラム。
（付記６）  前記インタフェース情報を用いて前記複数のレイヤの中の下位レイヤのトポロジに含まれる接続をグループ化して、上位レイヤにおける情報到達範囲を生成し、該情報到達範囲から上位レイヤのトポロジを生成する処理を繰り返して、各レイヤのトポロジを生成する処理を、前記コンピュータに実行させることを特徴とする付記５記載のプログラム。
（付記７）  前記生成されたトポロジを用いて前記複数の送信元と複数の宛先の間におけるデータの到達可否を判定することで、各レイヤにおける前記通信可否情報を生成する処理を、前記コンピュータに実行させることを特徴とする付記５または６記載のプログラム。
（付記８）  前記複数のレイヤがアプリケーションレイヤを含むとき、指定されたアプリケーションサービスのクライアントプロセスが起動している機器を該アプリケーションレイヤにおける送信元として選択し、該アプリケーションサービスのサーバプロセスが起動している機器を該アプリケーションレイヤにおける宛先として選択して、該アプリケーションレイヤにおける通信可否情報を生成する処理を、前記コンピュータに実行させることを特徴とする付記２乃至７記載のプログラム。
（付記９）  前記複数のレイヤがトランスミッション制御プロトコル／ユーザデータグラムプロトコルレイヤを含むとき、指定されたアプリケーションサービスのポートが起動している機器を該トランスミッション制御プロトコル／ユーザデータグラムプロトコルレイヤにおける宛先として選択して、該トランスミッション制御プロトコル／ユーザデータグラムプロトコルレイヤにおける通信可否情報を生成する処理を、前記コンピュータに実行させることを特徴とする付記２乃至７記載のプログラム。
（付記１０）  前記複数のレイヤがインターネットプロトコルレイヤを含むとき、インターネットプロトコルアドレスを持つ機器を該インターネットプロトコルレイヤにおける送信元および宛先として選択して、該インターネットプロトコルレイヤにおける通信可否情報を生成する処理を、前記コンピュータに実行させることを特徴とする付記２乃至７記載のプログラム。
（付記１１）  前記複数のレイヤがメディアアクセス制御レイヤを含むとき、メディアアクセス制御アドレスを持つ機器を該メディアアクセス制御レイヤにおける送信元および宛先として選択して、該メディアアクセス制御レイヤにおける通信可否情報を生成する処理を、前記コンピュータに実行させることを特徴とする付記２乃至７記載のプログラム。
（付記１２）  前記複数の影響範囲と障害発生箇所の情報を前記複数のレイヤと対応させて画面上に表示する処理を、前記コンピュータに実行させることを特徴とする付記２記載のプログラム。
（付記１３）  複数のレイヤによる階層構成の通信機能を有する通信ネットワーク上における障害の原因を特定する障害管理方法であって、
入力手段が、監視対象の送信元と宛先を指定する監視情報を入力し、
生成手段が、正常時に各レイヤにおける複数の送信元と複数の宛先の間の通信可否を示す通信可否情報を生成して、格納手段に格納し、
前記生成手段が、前記監視対象の送信元と宛先の間の通信状態が通信可から通信不可へ変化した後に、各レイヤにおける前記複数の送信元と複数の宛先の間の通信可否を示す通信可否情報を生成して、前記格納手段に格納し、
特定手段が、前記監視対象の通信状態が変化する前と後の通信可否情報を比較して、通信可から通信不可へ変化した経路の宛先をグループ化することで、前記通信ネットワークを障害の影響を受ける複数の影響範囲に分割し、該影響範囲の境界上にある機器のインタフェースを障害発生箇所と推定する処理を、探索開始レイヤから下位レイヤに向かってレイヤ毎に繰り返して、障害の原因となる機器とレイヤを特定し、
出力手段が、前記複数の影響範囲と障害発生箇所の情報を出力する
ことを特徴とする障害管理方法。
【図面の簡単な説明】
【０１２０】
【図１】本発明の障害管理装置の原理図である。
【図２】管理対象となる通信ネットワークを示す図である。
【図３】通信ネットワークのコネクタ表現を示す図である。
【図４】アプリケーションレイヤのトポロジを示す図である。
【図５】アプリケーションレイヤの樹形図である。
【図６】アプリケーションレイヤの通信可否マトリクスを示す図である。
【図７】アプリケーションレイヤの通信可否マトリクスの第１の樹形図である。
【図８】アプリケーションレイヤの通信可否マトリクスの第２の樹形図である。
【図９】アプリケーションレイヤの障害の影響範囲を示す図である。
【図１０】ＴＣＰ／ＵＤＰレイヤのトポロジを示す図である。
【図１１】ＴＣＰ／ＵＤＰレイヤの通信可否マトリクスを示す図である。
【図１２】ＴＣＰ／ＵＤＰレイヤの通信可否マトリクスの第１の樹形図である。
【図１３】ＴＣＰ／ＵＤＰレイヤの通信可否マトリクスの第２の樹形図である。
【図１４】ＴＣＰ／ＵＤＰレイヤの障害の影響範囲を示す図である。
【図１５】ＩＰレイヤのトポロジを示す図である。
【図１６】ＩＰレイヤの通信可否マトリクスを示す図である。
【図１７】ＩＰレイヤの通信可否マトリクスの第１の樹形図である。
【図１８】ＩＰレイヤの通信可否マトリクスの第２の樹形図である。
【図１９】ＩＰレイヤの障害の影響範囲を示す図である。
【図２０】ＭＡＣレイヤのトポロジを示す図である。
【図２１】ＭＡＣレイヤの通信可否マトリクスを示す図である。
【図２２】ＭＡＣレイヤの通信可否マトリクスの第１の樹形図である。
【図２３】ＭＡＣレイヤの通信可否マトリクスの第２の樹形図である。
【図２４】ＭＡＣレイヤの障害の影響範囲を示す図である。
【図２５】物理レイヤのトポロジを示す図である。
【図２６】物理レイヤの通信可否マトリクスを示す図である。
【図２７】物理レイヤの障害の影響範囲を示す図である。
【図２８】第１の障害管理装置を示す図である。
【図２９】第２の障害管理装置を示す図である。
【図３０】第３の障害管理装置を示す図である。
【図３１】ノード情報のデータ構造を示す図である。
【図３２】アプリケーションレイヤのデータ構造を示す図である。
【図３３】ＴＣＰ／ＵＤＰレイヤのデータ構造を示す図である。
【図３４】ＩＰレイヤのデータ構造を示す図である。
【図３５】ＭＡＣレイヤのデータ構造を示す図である。
【図３６】物理レイヤのデータ構造を示す図である。
【図３７】第１の障害監視処理のフローチャートである。
【図３８】第２の障害監視処理のフローチャートである。
【図３９】監視情報入力処理のフローチャートである。
【図４０】通信可否マトリクス生成処理のフローチャートである。
【図４１】経路探索結果を示す図である。
【図４２】障害発生箇所導出処理のフローチャートである。
【図４３】障害影響範囲／発生箇所計算処理のフローチャートである。
【図４４】トポロジ探索部の構成図である。
【図４５】機器設定情報を示す図である。
【図４６】物理接続を示す図である。
【図４７】ＭＡＣ学習テーブルを示す図である。
【図４８】トポロジ探索装置の構成図である。
【図４９】情報処理装置の構成図である。
【図５０】プログラムおよびデータの提供方法を示す図である。
【符号の説明】
【０１２１】
１０１  入力手段
１０２  生成手段
１０３  格納手段
１０４  特定手段
１０５  出力手段
３０１、３０２、３０３、３０４、３０５、３０６、３０７、３０８、３０９、３１０、３１１、３１２、３１３  サービス
３２１、３２２、３２３、７０１、７０２、１４０１、１４０２、１８０１、１８０２  コネクタ
２７０１、２８０１、２９０１  障害管理装置
２７０２  スイッチ
３９００  ノード情報
４２０１  ネットワーク
４２０２  トポロジ探索部
４２１１  ノード検知部
４２１２  トポロジ情報取得部
４２１３  トポロジ構築部
４２１４  ノードのリスト
４２２１  入力情報
４２２２  トポロジ情報
４４０１、４４０２、４４０３  スイッチ
４４０４、４４０５、４４０６、４４０７、４４０８、４４０９、４４１０、４４１１、４４１２、４４１３、４４１４、および４４１５  パーソナルコンピュータ
４５０１、４５０２、４５０３  ＭＡＣ学習テーブル
４６０１  トポロジ探索装置
４６０２  トポロジ探索部
４６１１  経路探索部
４６２１  次経路判定部
４６２２  動的情報算出部
４６２３  探索対象情報
４６２４  次探索対象情報
４６３１  現在のコネクタ
４６３２  直前のコネクタ
４６４１  上位レイヤのコネクタ
４６４２  下位レイヤのコネクタ
４６５１  各機器の設定情報
４６５２  複数レイヤにわたるトポロジ
４６５３  探索条件
４６５４  経路探索結果
４６６１  物理レイヤのトポロジ
４６６２  ＭＡＣレイヤのトポロジ
４６６３  ＩＰレイヤのトポロジ
４６６４  ＴＣＰ／ＵＤＰレイヤのトポロジ
４６６５  アプリケーションレイヤのトポロジ
４６７１  ネットワーク内の２点
４６７２  サービスの種類
４７０１  ＣＰＵ
４７０２  メモリ
４７０３  入力装置
４７０４  出力装置
４７０５  外部記憶装置
４７０６  媒体駆動装置
４７０７  ネットワーク接続装置
４７０８  バス
４７０９  可搬記録媒体
４８０１  サーバ
４８０２  情報処理装置
４８１１  データベース
【図１】
2006222808.tif 000003
【図３】
2006222808.tif 000004
【図４】
2006222808.tif 000005
【図５】
2006222808.tif 000006
【図７】
2006222808.tif 000007
【図８】
2006222808.tif 000008
【図９】
2006222808.tif 000009
【図１０】
2006222808.tif 000010
【図１２】
2006222808.tif 000011
【図１３】
2006222808.tif 000012
【図１４】
2006222808.tif 000013
【図１５】
2006222808.tif 000014
【図１７】
2006222808.tif 000015
【図１８】
2006222808.tif 000016
【図１９】
2006222808.tif 000017
【図２０】
2006222808.tif 000018
【図２２】
2006222808.tif 000019
【図２３】
2006222808.tif 000020
【図２４】
2006222808.tif 000021
【図２５】
2006222808.tif 000022
【図２６】
2006222808.tif 000023
【図２７】
2006222808.tif 000024
【図３１】
2006222808.tif 000025
【図３２】
2006222808.tif 000026
【図３３】
2006222808.tif 000027
【図３４】
2006222808.tif 000028
【図３５】
2006222808.tif 000029
【図３６】
2006222808.tif 000030
【図３７】
2006222808.tif 000031
【図３８】
2006222808.tif 000032
【図３９】
2006222808.tif 000033
【図４０】
2006222808.tif 000034
【図４１】
2006222808.tif 000035
【図４２】
2006222808.tif 000036
【図４３】
2006222808.tif 000037
【図４４】
2006222808.tif 000038
【図４５】
2006222808.tif 000039
【図４６】
2006222808.tif 000040
【図４７】
2006222808.tif 000041
【図４８】
2006222808.tif 000042
【図４９】
2006222808.tif 000043
【図５０】
2006222808.tif 000044
【図２】
2006222808.tif 000045
【図６】
2006222808.tif 000046
【図１１】
2006222808.tif 000047
【図１６】
2006222808.tif 000048
【図２１】
2006222808.tif 000049
【図２８】
2006222808.tif 000050
【図２９】
2006222808.tif 000051
【図３０】
2006222808.tif 000052