(57)【特許請求の範囲】
【請求項１】
ネットワークに接続されたサーバ装置における障害を検知するための装置であって、
設定された時間毎、又は外部からの指示がある度に、前記サーバ装置から、前記サーバ装置が実行するアプリケーションプログラムの設定情報を収集する、設定情報収集部と、
前記サーバ装置から、前記アプリケーションプログラムによる通信の状況を特定するネットワーク構成情報を収集する、ネットワーク構成情報収集部と、
収集された前記設定情報に基づいて静的解析を行い、それによって静的解析情報を抽出する、静的解析部と、
収集された前記ネットワーク構成情報に基づいて動的解析を行い、それによって動的解析情報を抽出する、動的解析部と、
前記静的解析情報と前記動的解析情報とを照合して、前記設定情報に設定されている前記アプリケーションプログラムによる通信と、実行されている前記アプリケーションプログラムによる通信との差異を特定し、特定した差異にもとづいて、障害が発生しているかどうかを判定する、障害発生判定部と、
を備えていることを特徴とする障害検知装置。
【請求項２】
前記静的解析部が、前記静的解析情報として、前記アプリケーションプログラム毎に、当該アプリケーションプログラムによる通信に対して予め設定された、送信元アドレス、送信元ポート番号、宛先アドレス、及び宛先ポート番号を抽出し、
前記動的解析部が、前記動的解析情報として、前記アプリケーションプログラム毎に、当該アプリケーションプログラムによって実行されている通信の状態、更には、当該通信で用いられている、送信元アドレス、送信元ポート番号、宛先アドレス、及び宛先ポート番号を抽出する、請求項１に記載の障害検知装置。
【請求項３】
前記障害発生判定部は、前記静的解析情報と前記動的解析情報とが、アプリケーションプログラム、送信元アドレス、送信元ポート番号、宛先アドレス、及び宛先ポート番号の全てにおいて一致し、且つ、通信が確立されている場合に、障害が発生していないと判定し、そうでない場合に、障害が発生していると判定する、
請求項２に記載の障害検知装置。
【請求項４】
ネットワークに接続されたサーバ装置における障害を検知するための方法であって、
（ａ）設定された時間毎、又は外部からの指示がある度に、前記サーバ装置から、前記サーバ装置が実行するアプリケーションプログラムの設定情報を収集する、ステップと、
（ｂ）前記サーバ装置から、前記アプリケーションプログラムによる通信の状況を特定するネットワーク構成情報を収集する、ステップと、
（ｃ）収集された前記設定情報に基づいて静的解析を行い、それによって静的解析情報を抽出する、ステップと、
（ｄ）収集された前記ネットワーク構成情報に基づいて動的解析を行い、それによって動的解析情報を抽出する、ステップと、
（ｅ）前記静的解析情報と前記動的解析情報とを照合して、前記設定情報に設定されている前記アプリケーションプログラムによる通信と、実行されている前記アプリケーションプログラムによる通信との差異を特定し、特定した差異にもとづいて、障害が発生しているかどうかを判定する、ステップと、
を有することを特徴とする障害検知方法。
【請求項５】
前記（ｃ）のステップにおいて、前記静的解析情報として、前記アプリケーションプログラム毎に、当該アプリケーションプログラムによる通信に対して予め設定された、送信元アドレス、送信元ポート番号、宛先アドレス、及び宛先ポート番号を抽出し、
前記（ｄ）のステップにおいて、前記動的解析情報として、前記アプリケーションプログラム毎に、当該アプリケーションプログラムによって実行されている通信の状態、更には、当該通信で用いられている、送信元アドレス、送信元ポート番号、宛先アドレス、及び宛先ポート番号を抽出する、請求項４に記載の障害検知方法。
【請求項６】
前記（ｅ）のステップにおいて、前記静的解析情報と前記動的解析情報とが、アプリケーションプログラム、送信元アドレス、送信元ポート番号、宛先アドレス、及び宛先ポート番号の全てにおいて一致し、且つ、通信が確立されている場合に、障害が発生していないと判定し、そうでない場合に、障害が発生していると判定する、
請求項５に記載の障害検知方法。
【請求項７】
コンピュータによって、ネットワークに接続されたサーバ装置における障害を検知するためのプログラムであって、
前記コンピュータに、
（ａ）設定された時間毎、又は外部からの指示がある度に、前記サーバ装置から、前記サーバ装置が実行するアプリケーションプログラムの設定情報を収集する、ステップと、
（ｂ）前記サーバ装置から、前記アプリケーションプログラムによる通信の状況を特定するネットワーク構成情報を収集する、ステップと、
（ｃ）収集された前記設定情報に基づいて静的解析を行い、それによって静的解析情報を抽出する、ステップと、
（ｄ）収集された前記ネットワーク構成情報に基づいて動的解析を行い、それによって動的解析情報を抽出する、ステップと、
（ｅ）前記静的解析情報と前記動的解析情報とを照合して、前記設定情報に設定されている前記アプリケーションプログラムによる通信と、実行されている前記アプリケーションプログラムによる通信との差異を特定し、特定した差異にもとづいて、障害が発生しているかどうかを判定する、ステップと、
を実行させるプログラム。
【請求項８】
前記（ｃ）のステップにおいて、前記静的解析情報として、前記アプリケーションプログラム毎に、当該アプリケーションプログラムによる通信に対して予め設定された、送信元アドレス、送信元ポート番号、宛先アドレス、及び宛先ポート番号を抽出し、
前記（ｄ）のステップにおいて、前記動的解析情報として、前記アプリケーションプログラム毎に、当該アプリケーションプログラムによって実行されている通信の状態、更には、当該通信で用いられている、送信元アドレス、送信元ポート番号、宛先アドレス、及び宛先ポート番号を抽出する、請求項７に記載のプログラム。
【請求項９】
前記（ｅ）のステップにおいて、前記静的解析情報と前記動的解析情報とが、アプリケーションプログラム、送信元アドレス、送信元ポート番号、宛先アドレス、及び宛先ポート番号の全てにおいて一致し、且つ、通信が確立されている場合に、障害が発生していないと判定し、そうでない場合に、障害が発生していると判定する、
請求項８に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに接続されたサーバにおける障害を検知する、障害検知装置、障害検知方法、及びプログラムに関する。
【背景技術】
【０００２】
従来から、ユーザは、Ｗｅｂブラウザを介して、Ｗｅｂ上にあるサーバにアクセスすることにより、サーバが提供するアプリケーションプログラム（以下「アプリケーション」と表記する。）を利用することができる。このようなアプリケーションとしては、例えば、Ｗｅｂメール、企業が業務で使用するスケジュール管理など、種々のものがある。
【０００３】
また、サーバは、コンピュータシステムからの要求に応じて、そのコンピュータシステムに対して、アプリケーションによるサービスを提供することもある。このように、近年においては、インターネットを含むネットワーク上において、多数のサーバに、アプリケーションを実行させる必要がある。
【０００４】
そして、各サーバが安定してサービスを提供できるようにするためには、ネットワーク上で発生した障害を検知することが重要となる。このため、従来から、ネットワーク上で発生した障害を検知するため、種々の技術が提案されている（例えば、特許文献１参照）。
【０００５】
具体的には、特許文献１に開示された方法では、まず、実ネットワークの構築に先立って、実ネットワークに対応する仮想ネットワークによるシミュレーションが行われ、これによって、シミュレーションデータベースが構築される。シミュレーションデータベースには、正常動作が確認された仮想ネットワークにおける構成情報と機器設定情報とが格納されている。
【０００６】
そして、シミュレーションデータベースに格納されている情報に基づいて、実ネットワークが構築される。その後、稼働中の実ネットワークがその構成変更に伴って異常状態に陥ったときは、実ネットワークに加えられた構成情報及び機器設定情報と、シミュレーションデータベースに格納されている情報との差分が検出され、検出された差分に基づいて、異常状態の原因となったネットワーク機器とその設定内容とが特定される。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００１−１６８８６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところで、特許文献１に開示された方法において、シミュレーションデータベースに格納されている情報は、１度作成されると変更されることのない恒久的な情報である。このため、サーバが実行するアプリケーションの動作を定義した設定情報に変更が生じた場合は、シミュレーションを再度行い、シミュレーションデータベースを再構築する必要がある。また、この場合に、シミュレーションデータベースの再構築を行わない場合は、常に差分が検出され、誤った異常検知が行われてしまう。
【０００９】
また、特許文献１に開示された方法では、実ネットワークに加えられた変更が全て差分として検出される。このため、検出された差分が、想定済みの差分であるのか、それとも異常の原因となっているのかを判定することが難しいという問題もある。
【００１０】
本発明の目的の一例は、上記問題を解消し、サーバが実行するアプリケーションの設定情報が変更された場合であっても、簡単、且つ、確実に、障害を検知し得る、障害検知装置、障害検知方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、本発明における障害検知装置は、ネットワークに接続されたサーバ装置における障害を検知するための装置であって、
前記サーバ装置から、前記サーバ装置が実行するアプリケーションプログラムの設定情報を収集する、設定情報収集部と、
前記サーバ装置から、前記アプリケーションプログラムによる通信の状況を特定するネットワーク構成情報を収集する、ネットワーク構成情報収集部と、
収集された前記設定情報に基づいて静的解析を行い、それによって静的解析情報を抽出する、静的解析部と、
収集された前記ネットワーク構成情報に基づいて動的解析を行い、それによって動的解析情報を抽出する、動的解析部と、
前記静的解析情報と前記動的解析情報とを照合して、前記設定情報に設定されている前記アプリケーションプログラムによる通信と、実行されている前記アプリケーションプログラムによる通信との差異を特定し、特定した差異にもとづいて、障害が発生しているかどうかを判定する、障害発生判定部と、
を備えていることを特徴とする。
【００１２】
また、上記目的を達成するため、本発明における障害検知方法は、ネットワークに接続されたサーバ装置における障害を検知するための方法であって、
（ａ）前記サーバ装置から、前記サーバ装置が実行するアプリケーションプログラムの設定情報を収集する、ステップと、
（ｂ）前記サーバ装置から、前記アプリケーションプログラムによる通信の状況を特定するネットワーク構成情報を収集する、ステップと、
（ｃ）収集された前記設定情報に基づいて静的解析を行い、それによって静的解析情報を抽出する、ステップと、
（ｄ）収集された前記ネットワーク構成情報に基づいて動的解析を行い、それによって動的解析情報を抽出する、ステップと、
（ｅ）前記静的解析情報と前記動的解析情報とを照合して、前記設定情報に設定されている前記アプリケーションプログラムによる通信と、実行されている前記アプリケーションプログラムによる通信との差異を特定し、特定した差異にもとづいて、障害が発生しているかどうかを判定する、ステップと、
を有することを特徴とする。
【００１３】
更に、上記目的を達成するため、本発明におけるプログラムは、コンピュータによって、ネットワークに接続されたサーバ装置における障害を検知するためのプログラムであって、
前記コンピュータに、
（ａ）前記サーバ装置から、前記サーバ装置が実行するアプリケーションプログラムの設定情報を収集する、ステップと、
（ｂ）前記サーバ装置から、前記アプリケーションプログラムによる通信の状況を特定するネットワーク構成情報を収集する、ステップと、
（ｃ）収集された前記設定情報に基づいて静的解析を行い、それによって静的解析情報を抽出する、ステップと、
（ｄ）収集された前記ネットワーク構成情報に基づいて動的解析を行い、それによって動的解析情報を抽出する、ステップと、
（ｅ）前記静的解析情報と前記動的解析情報とを照合して、前記設定情報に設定されている前記アプリケーションプログラムによる通信と、実行されている前記アプリケーションプログラムによる通信との差異を特定し、特定した差異にもとづいて、障害が発生しているかどうかを判定する、ステップと、
を実行させることを特徴とする。
【発明の効果】
【００１４】
以上のように、本発明によれば、サーバが実行するアプリケーションの設定情報が変更された場合であっても、簡単、且つ、確実に、障害を検知することができる。
【図面の簡単な説明】
【００１５】
【図１】図１は、本発明の実施の形態における障害検知装置の構成を示すブロック図である。
【図２】図２は、本実施の形態において収集される設定情報と抽出される静的解析情報との一例を示す図である。
【図３】図３は、本実施の形態において収集されるネットワーク構成情報と抽出される動的解析情報との一例を示す図である。
【図４】図４は、本発明の実施の形態における障害検知装置の動作を示すフロー図である。
【図５】図５は、図４に示す障害発生の判定処理に用いられる静的解析情報及び動的解析情報の一例を示す図である。
【図６】図６は、本発明の実施の形態における障害検知装置の動作の変形例を示すフロー図である。
【図７】図７は、本発明の実施の形態における障害検知装置を実現するコンピュータの一例を示すブロック図である。
【発明を実施するための形態】
【００１６】
（実施の形態）
以下、本発明の実施の形態における、障害検知装置、障害検知方法、及びプログラムについて、図１〜図５を参照しながら説明する。
【００１７】
［装置構成］
最初に、本実施の形態における障害検知装置の構成について説明する。図１は、本発明の実施の形態における障害検知装置の構成を示すブロック図である。
【００１８】
図１に示す本実施の形態１における障害検知装置１０は、ネットワーク２０に接続されたサーバ装置３０における障害を検知するための装置である。また、各サーバ装置３０は、外部からの指示に応じて、アプリケーションプログラム（以下「アプリケーション」と表記する。）を実行するアプリケーションサーバ装置である。なお、図１の例では、３つのサーバ装置３０が例示されているが、本実施の形態においてサーバ装置３０の数は特に限定されるものではない。
【００１９】
図１に示すように、障害検知装置１０は、設定情報収集部１１と、ネットワーク構成情報収集部１２と、静的解析部１４と、動的解析部１５と、障害発生判定部１６とを備えている。このうち、設定情報収集部１１は、サーバ装置３０から、サーバ装置が実行するアプリケーションの設定情報を収集する。ネットワーク構成情報収集部１２は、サーバ装置３０から、アプリケーションによる通信の状況を特定するネットワーク構成情報を収集する。
【００２０】
また、静的解析部１４は、設定情報収集部１１によって収集された設定情報に基づいて静的解析を行い、それによって静的解析情報を抽出する。動的解析部１５は、ネットワーク構成情報収集部１２によって収集されたネットワーク構成情報に基づいて、動的解析を行い、それによって動的解析情報を抽出する。
【００２１】
障害発生判定部１６は、静的解析情報と動的解析情報とを照合して、設定情報に設定されているアプリケーションによる通信と、実行されているアプリケーションによる通信との差異を特定する。そして、障害発生判定部１６は、特定した差異にもとづいて、障害が発生しているかどうかを判定する。
【００２２】
このように、本実施の形態では、アプリケーションの通信に関するコンフィグレーションの解析で得られる静的解析情報と、アプリケーションが動作しているコンピュータの通信パスの接続状態の解析で得られる動的解析情報とが比較される。そして、両者の差異に基づいて、静的解析情報に対応する通信パスが確立されているかどうかが判定され、判定結果に基づいて、アプリケーションの通信パスの障害が検知される。
【００２３】
また、アプリケーションの通信に関するコンフィグレーション（設定情報）は、恒久的な情報ではなく、都度収集される。このため、本実施の形態によれば、従来と異なり、サーバが実行するアプリケーションの設定情報が変更された場合であっても、簡単、且つ、確実に、障害を検知することができる。
【００２４】
ここで、図１に加えて、図２及び図３を用いて、更に具体的に障害検知装置について説明する。図２は、本実施の形態において収集される設定情報と抽出される静的解析情報との一例を示す図である。図３は、本実施の形態において収集されるネットワーク構成情報と抽出される動的解析情報との一例を示す図である。
【００２５】
まず、図１に示すように、本実施の形態では、障害検知装置１０は、更に、設定情報収集部１１、ネットワーク構成情報収集部１２、静的解析部１４、動的解析部１５、及び障害発生判定部１６に加えて、収集結果通知部１３と解析結果出力部１７とを備えている。
【００２６】
収集結果通知部１３は、まず、設定情報収集部１１から設定情報を取得し、ネットワーク構成情報収集部１２からネットワーク構成情報を取得する。そして、収集結果通知部１３は、取得した設定情報を静的解析部１４に出力し、取得したネットワーク構成情報を動的解析部１５に出力する。
【００２７】
また、本実施の形態では、図２に示すように、設定情報収集部１１は、監視対象となるサーバ３０毎に、設定情報２０１を収集する。設定情報２０１は、サーバ３０の数と各サーバで動作するアプリケーションの数とだけ存在する。設定情報２０１には、例えば、送信元のアドレス（ＩＰアドレス）、ホスト名（サーバ名）、送信元ポート番号といった送信元情報と、宛先のアドレス（ＩＰアドレス）、宛先ポート番号といった接続先情報と、アプリケーション名等のアプリケーション定義情報とが含まれている。
【００２８】
また、図２に示すように、静的解析部１４は、設定情報（Configuration）２０１から、静的解析情報として、アプリケーション毎に、アプリケーションによる通信に対して予め設定された、送信元アドレス（SrcAddress）、送信元ポート番号（SrcPort）、宛先アドレス（DstAddress）、及び宛先ポート番号（DstPort）を抽出する。静的解析情報は、静的解析結果２０２として、障害発生判定部１６に出力される。
【００２９】
また、本実施の形態では、図３に示すように、ネットワーク構成情報収集部１２は、監視対象となるサーバ３０毎に、ネットワーク構成情報３０１を収集する。ネットワーク構成情報３０１は、監視対象となるサーバ３０の数だけ存在する。ネットワーク構成情報３０１には、実際に動作しているアプリケーションの接続先情報、例えば、宛先のアドレス（ＩＰアドレス）、ホスト名（サーバ名）、宛先ポート番号が含まれている。
【００３０】
また、図３に示すように、動的解析部１５は、ネットワーク構成情報（Network State）３０１から、動的解析情報として、アプリケーション毎に、アプリケーションによって実行されている通信の状態（State）と、実際の通信で用いられている、送信元アドレス（SrcAddress）、送信元ポート番号（SrcPort）、宛先アドレス（DstAddress）、及び宛先ポート番号（DstPort）とを抽出する。動的解析情報は、動的解析結果３０２として、障害発生判定部１６に出力される。
【００３１】
また、障害判定部１６は、本実施の形態では、静的解析部１４が抽出した静的解析情報２０２と、動的解析部１５が抽出した動的解析情報３０２とを照合する。そして、障害判定部１６は、照合結果により、いずれかのアプリケーションにおいて、静的解析情報は存在するが、動的解析情報は存在しない場合（両者が一致しない場合）、このアプリケーションは正常に動作しておらず設定情報に誤りがあると判定する。
【００３２】
一方、障害判定部１６は、照合結果により、いずれかのアプリケーションにおいて、静的解析情報は存在しないが、動的解析情報は存在する場合、想定している設定情報以外でこのアプリケーションによる通信が定義されていると判定する。
【００３３】
また、障害判定部１６は、照合結果により、いずれかのアプリケーションにおいて、静的解析情報と動的解析情報との両方が存在し、両方が一致する場合は、このアプリケーションは設定された通りに動作していると判定する。
【００３４】
解析結果出力部１７は、障害発生判定部１６から判定結果を受け取り、受け取った判定結果を、管理者の端末４０に送信する。この結果、管理者の端末４０の表示画面には、判定結果として、各アプリケーションの状態がグラフィック表示される。
【００３５】
［装置動作］
次に、本発明の実施の形態における障害検知装置１０動作について図４及び図５を用いて説明する。図４は、本発明の実施の形態における障害検知装置の動作を示すフロー図である。図５は、図４に示す障害発生の判定処理に用いられる静的解析情報及び動的解析情報の一例を示す図である。
【００３６】
以下の説明においては、適宜図１〜図３を参酌する。また、本実施の形態１では、障害検知装置１０を動作させることによって、障害検知方法が実施される。よって、本実施の形態における障害検知方法の説明は、以下の障害検知装置１０の動作説明に代える。
【００３７】
図４に示すように、最初に、設定情報収集部１１は、各サーバ装置３０から、サーバ装置が実行するアプリケーションの設定情報を収集する（ステップＡ１）。更に、ネットワーク構成情報収集部１２は、各サーバ装置３０から、アプリケーションによる通信の状況を特定するネットワーク構成情報を収集する（ステップＡ２）。
【００３８】
ステップＡ１及びＡ２が実行されると、収集結果通知部１３が、設定情報収集部１１から設定情報を取得し、ネットワーク構成情報収集部１２からネットワーク構成情報を取得する。また、収集結果通知部１３は、取得した設定情報を静的解析部１４に出力し、取得したネットワーク構成情報を動的解析部１５に出力する。
【００３９】
次に、静的解析部１４は、設定情報２０１から、静的解析情報を抽出し、これを静的解析結果として障害発生判定部１６に出力する（ステップＡ３）。具体的には、図２に示したように、本実施の形態では、静的解析結果２０２は、アプリケーションによる通信に対して予め設定された、送信元アドレス（SrcAddress）、送信元ポート番号（SrcPort）、宛先アドレス（DstAddress）、及び宛先ポート番号（DstPort）を含んでいる。
【００４０】
次に、動的解析部１５は、ネットワーク構成情報３０１から、動的解析情報を抽出し、これを動的解析結果として障害発生判定部１６に出力する（ステップＡ４）。具体的には、図３に示したように、本実施の形態では、動的解析結果３０２は、通信の状態（State）と、実際の通信で用いられている、送信元アドレス（SrcAddress）、送信元ポート番号（SrcPort）、宛先アドレス（DstAddress）、及び宛先ポート番号（DstPort）とを含んでいる。
【００４１】
ステップＡ３及びＡ４が実行されると、障害発生判定部１６は、図５に示す静的解析結果（SAR）４０１と動的解析結果（DAR）４０２とをインプットデータとして、照合を行い、以下の判定処理（ステップＡ５〜Ａ１０）を実行する。
【００４２】
なお、静的解析結果４０１は、図２に示した静的解析結果２０２と同一であり、アプリケーション名、送信元アドレス、送信元ポート番号、宛先アドレス、宛先ポート番号から構成されている。また、動的解析結果４０２は、図３に示した動的解析結果３０２と同一であり、アプリケーション名、通信状態、送信元アドレス、送信元ポート番号、宛先アドレス、宛先ポート番号から構成されている。
【００４３】
障害発生判定部１６は、判定処理として、まず、静的解析結果４０１に含まれるアプリケーションが、動的解析結果４０２に含まれるアプリケーションに存在しているかどうかを判定する（ステップＡ５）。
【００４４】
ステップＡ５の判定の結果、存在しない場合は、障害発生判定部１６は、設定情報で指定した設定通りにアプリケーションが動作しておらず、障害が発生していると判定する。そして、障害発生判定部１６は、解析結果出力部１７に、障害を検知したことを出力させる（ステップＡ１１）。
【００４５】
その後、障害発生判定部１６は、静的解析結果４０１に含まれる全てのアプリケーションについて処理が終了しているかどうか判定する（ステップＡ１２）。ステップＡ１２の判定の結果、処理が終了していない場合は、再度ステップＡ５を実行する。ステップＡ１２の判定の結果、全ての処理が終了している場合は、障害検知装置１０における処理は一旦終了する。
【００４６】
一方、ステップＡ５の判定の結果、存在している場合は、障害発生判定部１６は、対象となっているアプリケーションの静的解析結果の送信元アドレスと動的解析結果の送信元アドレスとが一致するかどうかを判定する（ステップＡ６）。
【００４７】
ステップＡ６の判定の結果、一致しない場合は、障害発生判定部１６は、設定情報で指定した設定通りにアプリケーションが動作しておらず、障害が発生していると判定する。そして、障害発生判定部１６は、解析結果出力部１７によって、ステップＡ１１を実行する。その後、障害発生判定部１６は、ステップＡ１２を実行し、処理が終了していない場合は、再度ステップＡ５を実行する。また、全ての処理が終了している場合は、障害検知装置１０における処理は一旦終了する。
【００４８】
一方、ステップＡ６の判定の結果、一致している場合は、障害発生判定部１６は、対象となっているアプリケーションの静的解析結果の送信元ポート番号と動的解析結果の送信元ポート番号とが一致するかどうかを判定する（ステップＡ７）。
【００４９】
ステップＡ７の判定の結果、一致しない場合は、障害発生判定部１６は、設定情報で指定した設定通りにアプリケーションが動作しておらず、障害が発生していると判定する。そして、障害発生判定部１６は、解析結果出力部１７によって、ステップＡ１１を実行する。その後、障害発生判定部１６は、ステップＡ１２を実行し、処理が終了していない場合は、再度ステップＡ５を実行する。また、全ての処理が終了している場合は、障害検知装置１０における処理は一旦終了する。
【００５０】
一方、ステップＡ７の判定の結果、一致している場合は、障害発生判定部１６は、対象となっているアプリケーションの静的解析結果の宛先アドレスと動的解析結果の宛先アドレスとが一致するかどうかを判定する（ステップＡ８）。
【００５１】
ステップＡ８の判定の結果、一致しない場合は、障害発生判定部１６は、設定情報で指定した設定通りにアプリケーションが動作しておらず、障害が発生していると判定する。そして、障害発生判定部１６は、解析結果出力部１７によって、ステップＡ１１を実行する。その後、障害発生判定部１６は、ステップＡ１２を実行し、処理が終了していない場合は、再度ステップＡ５を実行する。また、全ての処理が終了している場合は、障害検知装置１０における処理は一旦終了する。
【００５２】
一方、ステップＡ８の判定の結果、一致している場合は、障害発生判定部１６は、対象となっているアプリケーションの静的解析結果の宛先ポート番号と動的解析結果の宛先ポート番号とが一致するかどうかを判定する（ステップＡ９）。
【００５３】
ステップＡ９の判定の結果、一致しない場合は、障害発生判定部１６は、設定情報で指定した設定通りにアプリケーションが動作しておらず、障害が発生していると判定する。そして、障害発生判定部１６は、解析結果出力部１７によって、ステップＡ１１を実行する。その後、障害発生判定部１６は、ステップＡ１２を実行し、処理が終了していない場合は、再度ステップＡ５を実行する。また、全ての処理が終了している場合は、障害検知装置１０における処理は一旦終了する。
【００５４】
一方、ステップＡ９の判定の結果、一致している場合は、障害発生判定部１６は、対象となっているアプリケーションの通信状態が「ESTABLISHED」となっているかどうかを判定する（ステップＡ１０）。
【００５５】
ステップＡ１０の判定の結果、「ESTABLISHED」でない場合は、障害発生判定部１６は、設定情報で指定した設定通りにアプリケーションが動作しておらず、障害が発生していると判定する。そして、障害発生判定部１６は、解析結果出力部１７によって、ステップＡ１１を実行する。その後、障害発生判定部１６は、ステップＡ１２を実行し、処理が終了していない場合は、再度ステップＡ５を実行する。また、全ての処理が終了している場合は、障害検知装置１０における処理は一旦終了する。
【００５６】
一方、ステップＡ１０の判定の結果、「ESTABLISHED」である場合は、障害発生判定部１６は、対象となっているアプリケーションは、設定情報で指定した設定通りに動作していると判定する。その後、障害発生判定部１６は、ステップＡ１２を実行し、処理が終了していない場合は、再度ステップＡ５を実行する。また、全ての処理が終了している場合は、障害検知装置１０における処理は一旦終了する。
【００５７】
このように、ステップＡ１〜Ａ１２の実行により、障害の発生が検知されることになる。また、ステップＡ１〜Ａ１２は、設定された時間毎に、又は管理者からの指示がある度に、繰り返し実行される。
【００５８】
［実施の形態における効果］
以上のように本実施の形態では、設定情報の静的解析から抽出された静的解析情報が、実際の動作状況の解析から抽出された動的解析情報に存在しているかどうかを判定することによって、設定情報の誤りを検出することができる。また、設定情報は、都度収集されている。このため、サーバが実行するアプリケーションの設定情報が変更される環境下にあっても、確実な障害の検知を簡単に行なうことができる。
【００５９】
［変形例］
ここで、図６を用いて、本実施の形態における変形例について説明する。変形例では、障害判定部１６は、図４に示したステップＡ５〜Ａ１０とは逆に、アプリケーション毎に、動的解析情報に含まれる情報が、静的解析情報に含まれているかどうかを判定する。図６は、本発明の実施の形態における障害検知装置の動作の変形例を示すフロー図である。
【００６０】
先ず、ステップＢ１〜Ｂ４が実行される。ステップＢ１〜Ｂ４は、それぞれ、図４に示したステップＡ１〜Ａ４と同様のステップである。また、ステップＢ３及びＢ４が実行されると、障害発生判定部１６は、図５に示す静的解析結果（SAR）４０１と動的解析結果（DAR）４０２とをインプットデータとして、照合を行い、以下の判定処理（ステップＢ５〜Ｂ１０）を実行する。
【００６１】
障害発生判定部１６は、判定処理として、まず、動的解析結果４０２に含まれるアプリケーションが、静的解析結果４０１に含まれるアプリケーションに存在しているかどうかを判定する（ステップＢ５）。
【００６２】
ステップＢ５の判定の結果、存在しない場合は、障害発生判定部１６は、設定情報で設定されていない想定外の接続がされており、障害が発生していると判定する。そして、障害発生判定部１６は、解析結果出力部１７に、障害を検知したことを出力させる（ステップＢ１１）。ステップＢ１１は、図４に示したステップＡ１１と同様のステップである。
【００６３】
その後、障害発生判定部１６は、動的解析結果５０１に含まれる全てのアプリケーションについて処理が終了しているかどうか判定する（ステップＢ１２）。ステップＢ１２の判定の結果、処理が終了していない場合は、再度ステップＢ５を実行する。ステップＢ１２の判定の結果、全ての処理が終了している場合は、障害検知装置１０における処理は一旦終了する。
【００６４】
一方、ステップＢ５の判定の結果、存在している場合は、障害発生判定部１６は、対象となっているアプリケーションの動的解析結果の送信元アドレスと静的解析結果の送信元アドレスとが一致するかどうかを判定する（ステップＢ６）。
【００６５】
ステップＢ６の判定の結果、一致しない場合は、障害発生判定部１６は、設定情報で設定されていない想定外の接続がされており、障害が発生していると判定する。そして、障害発生判定部１６は、解析結果出力部１７によって、ステップＢ１１を実行する。その後、障害発生判定部１６は、ステップＢ１２を実行し、処理が終了していない場合は、再度ステップＢ５を実行する。また、全ての処理が終了している場合は、障害検知装置１０における処理は一旦終了する。
【００６６】
一方、ステップＢ６の判定の結果、一致している場合は、障害発生判定部１６は、対象となっているアプリケーションの動的解析結果の送信元ポート番号と静的解析結果の送信元ポート番号とが一致するかどうかを判定する（ステップＢ７）。
【００６７】
ステップＢ７の判定の結果、一致しない場合は、障害発生判定部１６は、設定情報で設定されていない想定外の接続がされており、障害が発生していると判定する。そして、障害発生判定部１６は、解析結果出力部１７によって、ステップＢ１１を実行する。その後、障害発生判定部１６は、ステップＢ１２を実行し、処理が終了していない場合は、再度ステップＢ５を実行する。また、全ての処理が終了している場合は、障害検知装置１０における処理は一旦終了する。
【００６８】
一方、ステップＢ７の判定の結果、一致している場合は、障害発生判定部１６は、対象となっているアプリケーションの動的解析結果の宛先アドレスと静的解析結果の宛先アドレスとが一致するかどうかを判定する（ステップＢ８）。
【００６９】
ステップＢ８の判定の結果、一致しない場合は、障害発生判定部１６は、設定情報で設定されていない想定外の接続がされており、障害が発生していると判定する。そして、障害発生判定部１６は、解析結果出力部１７によって、ステップＢ１１を実行する。その後、障害発生判定部１６は、ステップＢ１２を実行し、処理が終了していない場合は、再度ステップＢ５を実行する。また、全ての処理が終了している場合は、障害検知装置１０における処理は一旦終了する。
【００７０】
一方、ステップＢ８の判定の結果、一致している場合は、障害発生判定部１６は、対象となっているアプリケーションの動的解析結果の宛先ポート番号と静的解析結果の宛先ポート番号とが一致するかどうかを判定する（ステップＢ９）。
【００７１】
ステップＢ９の判定の結果、一致しない場合は、障害発生判定部１６は、設定情報で設定されていない想定外の接続がされており、障害が発生していると判定する。そして、障害発生判定部１６は、解析結果出力部１７によって、ステップＢ１１を実行する。その後、障害発生判定部１６は、ステップＢ１２を実行し、処理が終了していない場合は、再度ステップＢ５を実行する。また、全ての処理が終了している場合は、障害検知装置１０における処理は一旦終了する。
【００７２】
一方、ステップＢ９の判定の結果、一致している場合は、障害発生判定部１６は、対象となっているアプリケーションの通信状態が「ESTABLISHED」となっているかどうかを判定する（ステップＢ１０）。
【００７３】
ステップＢ１０の判定の結果、「ESTABLISHED」でない場合は、障害発生判定部１６は、設定情報で指定した設定通りにアプリケーションが動作しておらず、障害が発生していると判定する。そして、障害発生判定部１６は、解析結果出力部１７によって、ステップＢ１１を実行する。その後、障害発生判定部１６は、ステップＢ１２を実行し、処理が終了していない場合は、再度ステップＢ５を実行する。また、全ての処理が終了している場合は、障害検知装置１０における処理は一旦終了する。
【００７４】
一方、ステップＢ１０の判定の結果、「ESTABLISHED」である場合は、障害発生判定部１６は、対象となっているアプリケーションは、設定情報で指定した設定通りに動作していると判定する。その後、障害発生判定部１６は、ステップＢ１２を実行し、処理が終了していない場合は、再度ステップＢ５を実行する。また、全ての処理が終了している場合は、障害検知装置１０における処理は一旦終了する。
【００７５】
このように、変形例では、ステップＢ１〜Ｂ１２の実行により、障害の発生が検知されることになる。また、ステップＢ１〜Ｂ１２も、設定された時間毎に、又は管理者からの指示がある度に、繰り返し実行される。
【００７６】
また、変形例では、動的解析結果（DAR）４０２が、静的解析結果（SAR）４０１に存在しているかどうかをチェックしている。つまり、実際の動作状況を解析した動的解析情報が、設定情報に基づく静的解析情報に存在しないことを検知できるため、設定情報に設定されていない想定外のアプリケーション間の接続を検出する事ができる。
【００７７】
［プログラム］
【００７８】
本実施の形態におけるプログラムは、コンピュータに、図４に示すステップＡ１〜Ａ１２又は図６に示すステップＢ１〜Ｂ１２を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態における障害検知装置１０と障害検知方法とを実現することができる。この場合、コンピュータのＣＰＵ（Central Processing Unit）は、設定情報収集部１１、ネットワーク構成情報収集部１２、収集結果通知部１３、静的解析部１４、動的解析部１５、障害発生判定部１６、及び解析結果出力部１７として機能し、処理を行なう。
【００７９】
ここで、本実施の形態におけるプログラムを実行することによって、障害検知装置を実現するコンピュータについて図７を用いて説明する。図７は、本発明の実施の形態における障害検知装置を実現するコンピュータの一例を示すブロック図である。
【００８０】
図７に示すように、コンピュータ１１０は、ＣＰＵ１１１と、メインメモリ１１２と、記憶装置１１３と、入力インターフェイス１１４と、表示コントローラ１１５と、データリーダ／ライタ１１６と、通信インターフェイス１１７とを備える。これらの各部は、バス１２１を介して、互いにデータ通信可能に接続される。
【００８１】
ＣＰＵ１１１は、記憶装置１１３に格納された、本実施の形態におけるプログラム（コード）をメインメモリ１１２に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ１１２は、典型的には、ＤＲＡＭ（Dynamic Random Access Memory）等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体１２０に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス１１７を介して接続されたインターネット上で流通するものであっても良い。
【００８２】
また、記憶装置１１３の具体例としては、ハードディスクの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス１１４は、ＣＰＵ１１１と、キーボード及びマウスといった入力機器１１８との間のデータ伝送を仲介する。表示コントローラ１１５は、ディスプレイ装置１１９と接続され、ディスプレイ装置１１９での表示を制御する。
【００８３】
データリーダ／ライタ１１６は、ＣＰＵ１１１と記録媒体１２０との間のデータ伝送を仲介し、記録媒体１２０からのプログラムの読み出し、及びコンピュータ１１０における処理結果の記録媒体１２０への書き込みを実行する。通信インターフェイス１１７は、ＣＰＵ１１１と、他のコンピュータとの間のデータ伝送を仲介する。
【００８４】
また、記録媒体１２０の具体例としては、ＣＦ（Compact Flash（登録商標））及びＳＤ（Secure Digital）等の汎用的な半導体記憶デバイス、フレキシブルディスク（Flexible Disk）等の磁気記憶媒体、又はＣＤ−ＲＯＭ（Compact Disk Read Only Memory）などの光学記憶媒体が挙げられる。
【産業上の利用可能性】
【００８５】
以上のように、本発明によれば、サーバが実行するアプリケーションの設定情報が変更された場合であっても、簡単、且つ、確実に、障害を検知することができる。本発明は、資産管理システム、監視システム、セキュリティシステムといったコンピュータシステムに有用である。
【符号の説明】
【００８６】
１０  障害検知装置
１１  設定情報収集部
１２  ネットワーク構成情報収集部
１３  収集結果通知部
１４  静的解析部
１５  動的解析部
１６  障害発生判定部
１７  解析結果出力部
２０  ネットワーク
３０  サーバ
４０  端末
１１０  コンピュータ
１１１  ＣＰＵ
１１２  メインメモリ
１１３  記憶装置
１１４  入力インターフェイス
１１５  表示コントローラ
１１６  データリーダ／ライタ
１１７  通信インターフェイス
１１８  入力機器
１１９  ディスプレイ装置
１２０  記録媒体
１２１  バス
【図１】
0005679347.tif 000002
【図２】
0005679347.tif 000003
【図３】
0005679347.tif 000004
【図４】
0005679347.tif 000005
【図５】
0005679347.tif 000006
【図６】
0005679347.tif 000007
【図７】
0005679347.tif 000008