(57)【要約】  ネットワーク障害検知システム（１）の計測エージェント（１０）は、同一の提供サーバからサービスを受信している他の計測エージェントとグループを構成し、当該グループ内の所定の計測エージェントを頂点としたツリー構造を構築するようにリンクを形成する。続いて、計測エージェント（１０）は、同一グループ内における他の計測エージェントから計測の結果を受信し、受信された計測の結果を基に、障害箇所の候補を絞り込む。そして、計測エージェント（１０）は、絞り込まれた障害箇所の候補を監視サーバまたは他の計測エージェントに送信する。続いて、監視サーバ（２０）は、送信された障害箇所の候補を受信し、受信された障害箇所の候補を基に、障害箇所を特定する。
2009004701.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上に配置された計測エージェントが提供サーバによって提供されるサービスの品質を計測し、当該計測の結果を監視サーバが解析して障害箇所を特定するネットワーク障害検知システムであって、
前記計測エージェントは、
同一の提供サーバからサービスを受信している他の計測エージェントとグループを構成し、当該グループ内の所定の計測エージェントを頂点としたツリー構造を構築するようにリンクを形成するリンク形成手段と、
同一グループ内における他の計測エージェントから前記計測の結果を受信する計測結果受信手段と、
前記計測結果受信手段によって受信された前記計測の結果を基に、障害箇所の候補を絞り込む障害箇所絞込手段と、
前記障害箇所絞込手段によって絞り込まれた前記障害箇所の候補を前記監視サーバまたは他の計測エージェントに送信する障害箇所送信手段と、
を備え、
前記監視サーバは、
前記障害箇所送信手段によって送信された前記障害箇所の候補を受信する障害箇所受信手段と、
前記障害箇所受信手段によって受信された前記障害箇所の候補を基に、障害箇所を特定する障害箇所特定手段と、
を備えたことを特徴とするネットワーク障害検知システム。
【請求項２】
前記リンク形成手段は、自身に対してサービスを送信している提供サーバを一意に識別する識別子を基に、グループ識別子を算出し、当該グループ識別子を含んだ検索メッセージを複数の計測エージェントによって構成されたオーバレイネットワークに送信して、リンクを形成することを特徴とする請求項１に記載のネットワーク障害検知システム。
【請求項３】
前記グループ識別子を含んだ検索メッセージを生成して前記オーバレイネットワーク上に送信した場合には、役割を計測として、前記計測の結果を同一グループ内における他の計測エージェントに送信する計測結果送信手段をさらに備えることを特徴とする請求項２に記載のネットワーク障害検知システム。
【請求項４】
前記障害箇所送信手段は、他の計測エージェントから前記検索メッセージを受信し、当該検索メッセージをさらに他の計測エージェントに送信した場合には、役割を中継として、前記検索メッセージに含まれているグループ識別子に対応するグループにおいて、前記障害箇所の候補を他の計測エージェントに送信することを特徴とする請求項２に記載のネットワーク障害検知システム。
【請求項５】
前記障害箇所送信手段は、他の計測エージェントから前記検索メッセージを受信し、当該検索メッセージを送信する他の計測エージェントが存在しない場合には、役割を代表として、前記障害箇所の候補を前記監視サーバに送信することを特徴とする請求項２に記載のネットワーク障害検知システム。
【請求項６】
自身に対して前記検索メッセージを送信した他の計測エージェントの識別子および自身が前記検索メッセージを送信した他の計測エージェントの識別子を、検索メッセージに含まれているグループ識別子ごとに記録するグループ化情報記憶手段をさらに備えることを特徴とする請求項２に記載のネットワーク障害検知システム。
【請求項７】
サービスの受信品質および提供サーバと自身との間にある経路情報を計測の結果として、前記グループごとに記憶する計測情報記憶手段をさらに備えることを特徴とする請求項１に記載のネットワーク障害検知システム。
【請求項８】
前記計測結果送信手段は、前記役割が計測である場合には、前記計測情報記憶手段によって記憶された前記計測の結果を同一グループ内における他の計測エージェントへ定期的に送信することを特徴とする請求項３または７に記載のネットワーク障害検知システム。
【請求項９】
前記障害箇所絞込手段は、前記役割が中継である場合には、同一グループ内の下流に位置する他の計測エージェントから受信した前記計測の結果を基に、障害箇所の候補を絞り込み、
前記障害箇所送信手段は、前記障害箇所絞込手段によって絞り込まれた前記障害箇所の候補を同一グループ内の上流に位置する他の計測エージェントに送信することを特徴とする請求項４に記載のネットワーク障害検知システム。
【請求項１０】
前記障害箇所絞込手段は、前記役割が代表である場合には、同一グループ内の下流に位置する他の計測エージェントから受信した前記計測の結果を基に、障害箇所の候補を絞り込み、
前記障害箇所送信手段は、前記障害箇所絞込手段によって絞り込まれた前記障害箇所の候補を前記監視サーバに送信することを特徴とする請求項５に記載のネットワーク障害検知システム。
【請求項１１】
ランダムな値を生成するランダム値生成手段と、
前記ランダム値生成手段によって生成された前記値を管理する計測エージェントを検索する計測エージェント検索手段と、をさらに備え、
前記リンク形成手段は、前記エージェント検索手段によって検索された前記計測エージェントの識別子をグループ識別子とし、当該グループ識別子を含んだ検索メッセージを複数の計測エージェントによって構成されたオーバレイネットワークに送信して、リンクを形成することを特徴とする請求項１に記載のネットワーク障害検知システム。
【請求項１２】
グループを再構築するためのグループ再構築メッセージを同一グループ内の下流に位置する他の計測エージェントに送信する再構築メッセージ送信手段と、
前記再構築メッセージ送信手段によって送信された前記再構築メッセージを受信すると、同一グループ内の下流に位置する他の計測エージェントの数を調査し、当該他の計測エージェントの数が一である場合には、再構築メッセージを受信した計測エージェントがグループから離脱する計測エージェント削除手段とをさらに備えることを特徴とする請求項１に記載のネットワーク障害検知システム。
【請求項１３】
ネットワーク上に配置された計測エージェントが提供サーバによって提供されるサービスの品質を計測し、監視サーバに送信する計測エージェントであって、
同一の提供サーバからサービスを受信している他の計測エージェントとグループを構成し、当該グループ内の所定の計測エージェントを頂点としたツリー構造を構築するようにリンクを形成するリンク形成手段と、
同一グループ内における他の計測エージェントから前記計測の結果を受信する計測結果受信手段と、
前記計測結果受信手段によって受信された前記計測の結果を基に、障害箇所の候補を絞り込む障害箇所絞込手段と、
前記障害箇所絞込手段によって絞り込まれた前記障害箇所の候補を前記監視サーバまたは他の計測エージェントに送信する障害箇所送信手段と、
を備えることを特徴とする計測エージェント。
【請求項１４】
ネットワーク上に配置された計測エージェントが提供サーバによって提供されるサービスの品質を計測し、当該計測の結果を解析して障害箇所を特定する監視サーバであって、
前記計測エージェントから送信された前記障害箇所の候補を受信する障害箇所受信手段と、
前記障害箇所受信手段によって受信された前記障害箇所の候補を基に、障害箇所を特定する障害箇所特定手段と、
を備えたことを特徴とする監視サーバ。
【請求項１５】
ネットワーク上に配置された計測エージェントが提供サーバによって提供されるサービスの品質を計測し、当該計測の結果を監視サーバが解析して障害箇所を特定するネットワーク障害検知方法であって、
同一の提供サーバからサービスを受信している他の計測エージェントとグループを構成し、当該グループ内の所定の計測エージェントを頂点としたツリー構造を構築するようにリンクを形成するリンク形成工程と、
同一グループ内における他の計測エージェントから前記計測の結果を受信する計測結果受信工程と、
前記計測結果受信工程によって受信された前記計測の結果を基に、障害箇所の候補を絞り込む障害箇所絞込工程と、
前記障害箇所絞込工程によって絞り込まれた前記障害箇所の候補を前記監視サーバまたは他の計測エージェントに送信する障害箇所送信工程と、
を含み、
前記監視サーバは、
前記障害箇所送信工程によって送信された前記障害箇所の候補を受信する障害箇所受信工程と、
前記障害箇所受信工程によって受信された前記障害箇所の候補を基に、障害箇所を特定する障害箇所特定工程と、
を含んだことを特徴とするネットワーク障害検知方法。
【請求項１６】
ネットワーク上に配置された計測エージェントが提供サーバによって提供されるサービスの品質を計測し、当該計測の結果を監視サーバが解析して障害箇所を特定するネットワーク障害検知方法をコンピュータに実行させるネットワーク障害検知プログラムであって、
前記計測エージェントは、
同一の提供サーバからサービスを受信している他の計測エージェントとグループを構成し、当該グループ内の所定の計測エージェントを頂点としたツリー構造を構築するようにリンクを形成するリンク形成手順と、
同一グループ内における他の計測エージェントから前記計測の結果を受信する計測結果受信手順と、
前記計測結果受信手順によって受信された前記計測の結果を基に、障害箇所の候補を絞り込む障害箇所絞込手順と、
前記障害箇所絞込手順によって絞り込まれた前記障害箇所の候補を前記監視サーバまたは他の計測エージェントに送信する障害箇所送信手順と、
をコンピュータに実行させ、
前記監視サーバは、
前記障害箇所送信手順によって送信された前記障害箇所の候補を受信する障害箇所受信手順と、
前記障害箇所受信手順によって受信された前記障害箇所の候補を基に、障害箇所を特定する障害箇所特定手順と、
をコンピュータに実行させることを特徴とするネットワーク障害検知プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ネットワーク上に配置された計測エージェントが提供サーバによって提供されるサービスの品質を計測し、当該計測の結果を監視サーバが解析して障害箇所を特定するネットワーク障害検知システム、計測エージェント、監視サーバ、ネットワーク障害検知方法およびネットワーク障害検知プログラムに関する。
【背景技術】
【０００２】
従来、ネットワーク上に配置された計測エージェントが提供サーバによって提供されるサービスの品質を計測し、計測の結果を監視サーバが解析して障害箇所（例えば、故障しているルータやスイッチ、パケットの転送処理が追いついていないルータやスイッチ）を特定する技術が実施されている。【０００３】
このような技術として、計測エージェントが計測した全ての情報を監視サーバに通知し、監視サーバが障害箇所を特定する技術が知られている（特許文献１参照）。具体的には、図２８に示すように、ネットワーク上に配置されている計測エージェントがサービスの受信品質およびサービスの送信経路を計測し、その全ての計測結果を監視サーバが解析する。監視サーバでは、計測エージェントから受信した計測結果を解析し、品質劣化したサービスの多くが経由している部分を障害の原因と特定する。【０００４】
また、特許文献２では、通信可能な範囲内にいる複数の通信装置をグループ化し、通信装置の中から一台のサーバとし、他をクライアントとする技術が開示されている。このような技術を利用して、計測エージェントをグループ化し、計測結果をグループ単位で監視サーバに通知することも考えられる。【０００５】
【特許文献１】特開２０００−２４２５８５号公報
【特許文献２】特開平１１−２７５１０６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１の技術では、監視サーバが全ての計測結果を受信し、その計測結果を解析するので、監視サーバの管理する情報量を多大であり、メモリ溢れなどが生じる結果、高速な障害検知を行うことができないという課題があった。【０００７】
また、特許文献２を利用した技術では、単に通信可能な範囲内にいる計測エージェントのグループを決定しているだけなので、上記同様監視サーバの負担が大きく、メモリ溢れなどが生じる結果、高速に障害を検知することができないという課題があった。【０００８】
そこで、この発明は、高い障害検出精度とともに、特に高速な障害検知を可能とすることを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するため、本発明は、ネットワーク上に配置された計測エージェントが提供サーバによって提供されるサービスの品質を計測し、当該計測の結果を監視サーバが解析して障害箇所を特定するネットワーク障害検知システムであって、前記計測エージェントは、同一の提供サーバからサービスを受信している他の計測エージェントとグループを構成し、当該グループ内の所定の計測エージェントを頂点としたツリー構造を構築するようにリンクを形成するリンク形成手段と、同一グループ内における他の計測エージェントから前記計測の結果を受信する計測結果受信手段と、前記計測結果受信手段によって受信された前記計測の結果を基に、障害箇所の候補を絞り込む障害箇所絞込手段と、前記障害箇所絞込手段によって絞り込まれた前記障害箇所の候補を前記監視サーバまたは他の計測エージェントに送信する障害箇所送信手段と、を備え、前記監視サーバは、前記障害箇所送信手段によって送信された前記障害箇所の候補を受信する障害箇所受信手段と、前記障害箇所受信手段によって受信された前記障害箇所の候補を基に、障害箇所を特定する障害箇所特定手段と、を備えたことを特徴とする。【００１０】
また、本発明は、上記の発明において、前記リンク形成手段は、自身に対してサービスを送信している提供サーバを一意に識別する識別子を基に、グループ識別子を算出し、当該グループ識別子を含んだ検索メッセージを複数の計測エージェントによって構成されたオーバレイネットワークに送信して、リンクを形成することを特徴とする。【００１１】
また、本発明は、上記の発明において、前記グループ識別子を含んだ検索メッセージを生成して前記オーバレイネットワーク上に送信した場合には、役割を計測として、前記計測の結果を同一グループ内における他の計測エージェントに送信する計測結果送信手段をさらに備えることを特徴とする。【００１２】
また、本発明は、上記の発明において、前記障害箇所送信手段は、他の計測エージェントから前記検索メッセージを受信し、当該検索メッセージをさらに他の計測エージェントに送信した場合には、役割を中継として、前記検索メッセージに含まれているグループ識別子に対応するグループにおいて、前記障害箇所の候補を他の計測エージェントに送信することを特徴とする。【００１３】
また、本発明は、上記の発明において、前記障害箇所送信手段は、他の計測エージェントから前記検索メッセージを受信し、当該検索メッセージを送信する他の計測エージェントが存在しない場合には、役割を代表として、前記障害箇所の候補を前記監視サーバに送信することを特徴とする。【００１４】
また、本発明は、上記の発明において、自身に対して前記検索メッセージを送信した他の計測エージェントの識別子および自身が前記検索メッセージを送信した他の計測エージェントの識別子を、検索メッセージに含まれているグループ識別子ごとに記録するグループ化情報記憶手段をさらに備えることを特徴とする。【００１５】
また、本発明は、上記の発明において、サービスの受信品質および提供サーバと自身との間にある経路情報を計測の結果として、前記グループごとに記憶する計測情報記憶手段をさらに備えることを特徴とする。【００１６】
また、本発明は、前記計測結果送信手段は、前記役割が計測である場合には、前記計測情報記憶手段によって記憶された前記計測の結果を同一グループ内における他の計測エージェントへ定期的に送信することを特徴とする。【００１７】
また、本発明は、前記障害箇所絞込手段は、前記役割が中継である場合には、同一グループ内の下流に位置する他の計測エージェントから受信した前記計測の結果を基に、障害箇所の候補を絞り込み、前記障害箇所送信手段は、前記障害箇所絞込手段によって絞り込まれた前記障害箇所の候補を同一グループ内の上流に位置する他の計測エージェントに送信することを特徴とする。【００１８】
また、本発明は、前記障害箇所絞込手段は、前記役割が代表である場合には、同一グループ内の下流に位置する他の計測エージェントから受信した前記計測の結果を基に、障害箇所の候補を絞り込み、前記障害箇所送信手段は、前記障害箇所絞込手段によって絞り込まれた前記障害箇所の候補を前記監視サーバに送信することを特徴とする。【００１９】
また、本発明は、ランダムな値を生成するランダム値生成手段と、前記ランダム値生成手段によって生成された前記値を管理する計測エージェントを検索する計測エージェント検索手段と、をさらに備え、前記リンク形成手段は、前記エージェント検索手段によって検索された前記計測エージェントの識別子をグループ識別子とし、当該グループ識別子を含んだ検索メッセージを複数の計測エージェントによって構成されたオーバレイネットワークに送信して、リンクを形成することを特徴とする。【００２０】
また、本発明は、グループを再構築するためのグループ再構築メッセージを同一グループ内の下流に位置する他の計測エージェントに送信する再構築メッセージ送信手段と、前記再構築メッセージ送信手段によって送信された前記再構築メッセージを受信すると、同一グループ内の下流に位置する他の計測エージェントの数を調査し、当該他の計測エージェントの数が一である場合には、メッセージを受信した計測エージェントをグループから削除する計測エージェント削除手段とをさらに備えることを特徴とする。【００２１】
また、本発明は、ネットワーク上に配置された計測エージェントが提供サーバによって提供されるサービスの品質を計測し、監視サーバに送信する計測エージェントであって、同一の提供サーバからサービスを受信している他の計測エージェントとグループを構成し、当該グループ内の所定の計測エージェントを頂点としたツリー構造を構築するようにリンクを形成するリンク形成手段と、同一グループ内における他の計測エージェントから前記計測の結果を受信する計測結果受信手段と、前記計測結果受信手段によって受信された前記計測の結果を基に、障害箇所の候補を絞り込む障害箇所絞込手段と、前記障害箇所絞込手段によって絞り込まれた前記障害箇所の候補を前記監視サーバまたは他の計測エージェントに送信する障害箇所送信手段と、を備えることを特徴とする。【００２２】
また、本発明は、ネットワーク上に配置された計測エージェントが提供サーバによって提供されるサービスの品質を計測し、当該計測の結果を解析して障害箇所を特定する監視サーバであって、前記計測エージェントから送信された前記障害箇所の候補を受信する障害箇所受信手段と、前記障害箇所受信手段によって受信された前記障害箇所の候補を基に、障害箇所を特定する障害箇所特定手段と、を備えたことを特徴とする。【００２３】
また、本発明は、ネットワーク上に配置された計測エージェントが提供サーバによって提供されるサービスの品質を計測し、当該計測の結果を監視サーバが解析して障害箇所を特定するネットワーク障害検知方法であって、同一の提供サーバからサービスを受信している他の計測エージェントとグループを構成し、当該グループ内の所定の計測エージェントを頂点としたツリー構造を構築するようにリンクを形成するリンク形成工程と、同一グループ内における他の計測エージェントから前記計測の結果を受信する計測結果受信工程と、前記計測結果受信工程によって受信された前記計測の結果を基に、障害箇所の候補を絞り込む障害箇所絞込工程と、前記障害箇所絞込工程によって絞り込まれた前記障害箇所の候補を前記監視サーバまたは他の計測エージェントに送信する障害箇所送信工程と、を含み、前記監視サーバは、前記障害箇所送信工程によって送信された前記障害箇所の候補を受信する障害箇所受信工程と、前記障害箇所受信工程によって受信された前記障害箇所の候補を基に、障害箇所を特定する障害箇所特定工程と、を含んだことを特徴とする。【００２４】
また、本発明は、ネットワーク上に配置された計測エージェントが提供サーバによって提供されるサービスの品質を計測し、当該計測の結果を監視サーバが解析して障害箇所を特定するネットワーク障害検知方法をコンピュータに実行させるネットワーク障害検知プログラムであって、前記計測エージェントは、同一の提供サーバからサービスを受信している他の計測エージェントとグループを構成し、当該グループ内の所定の計測エージェントを頂点としたツリー構造を構築するようにリンクを形成するリンク形成手順と、同一グループ内における他の計測エージェントから前記計測の結果を受信する計測結果受信手順と、前記計測結果受信手順によって受信された前記計測の結果を基に、障害箇所の候補を絞り込む障害箇所絞込手順と、前記障害箇所絞込手順によって絞り込まれた前記障害箇所の候補を前記監視サーバまたは他の計測エージェントに送信する障害箇所送信手順と、をコンピュータに実行させ、前記監視サーバは、前記障害箇所送信手順によって送信された前記障害箇所の候補を受信する障害箇所受信手順と、前記障害箇所受信手順によって受信された前記障害箇所の候補を基に、障害箇所を特定する障害箇所特定手順と、をコンピュータに実行させることを特徴とする。
【発明の効果】
【００２５】
本発明によれば、同じ提供サーバからサービスを受信している計測エージェントをグループ化し、計測結果をグループ内の計測エージェント群が分散解析して、監視サーバの管理する情報量を減少し、メモリ溢れなどが生じることなくネットワーク上の障害箇所を高速に検出する結果、高い障害検出精度とともに、特に高速な障害検知を可能とする。
【図面の簡単な説明】
【００２６】
【図１】図１は、実施例１に係るネットワーク障害検知システムの概要および特徴を説明するための図である。
【図２】図２は、実施例１に係る計測エージェントの構成を示すブロック図である。
【図３】図３は、グループ情報テーブルを説明するための図である。
【図４】図４は、計測情報データベースを説明するための図である。
【図５】図５は、Ｐ２Ｐを用いたグループ化機能について説明するための図である。
【図６】図６は、計測エージェントが構成するトポロジを説明するための図である。
【図７】図７は、障害箇所絞込みを説明するための図である。
【図８】図８は、実施例１に係る監視サーバ２０の構成を示すブロック図である。
【図９】図９は、計測結果情報データベースを説明するための図である。
【図１０】図１０は、解析結果データベース２１ｂを説明するための図である。
【図１１】図１１は、実施例１に係る監視サーバの処理動作の全体を示すフローチャートである。
【図１２】図１２は、実施例１に係る計測エージェントの処理動作の全体を示すフローチャートである。
【図１３】図１３は、実施例１に係る計測エージェントによるグループ分け処理の流れを示すフローチャートである。
【図１４】図１４は、実施例１に係る計測エージェントによるグループ内での役割の把握処理の流れを示すフローチャートである。
【図１５】図１５は、実施例１に係る計測エージェントによるグループ内での役割の把握処理の流れを示すフローチャートである。
【図１６】図１６は、実施例１に係る計測エージェントによるグループ内での役割の把握処理の流れを示すフローチャートである。
【図１７】図１７は、実施例１に係る計測エージェントによるグループ内でのトポロジ構成処理の流れを示すフローチャートである。
【図１８】図１８は、実施例１に係る計測エージェントによる障害箇所絞込処理の流れを示すフローチャートである。
【図１９】図１９は、実施例１に係る計測エージェントによる計測情報の取得処理の流れを示すフローチャートである。
【図２０】図２０は、計測エージェントの役割が計測である場合の計測情報送信処理の流れを示すフローチャートである。
【図２１】図２１は、計測エージェントの役割が中継である場合の絞込送信処理の流れを示すフローチャートである。
【図２２】図２２は、計測エージェントの役割が代表である場合の絞込結果送信処理の流れを示すフローチャートである。
【図２３】図２３は、実施例１に係る監視サーバによる計測結果取得後の詳細な処理動作を示すフローチャートである。
【図２４】図２４は、実施例２に係るネットワーク障害検知システムにおいて、ランダムに生成された値を基にグループＩＤを取得する処理動作を示すフローチャートである。
【図２５】図２５は、実施例２に係るネットワーク障害検知システムにおいて、不要な計測エージェントをグループから削除する処理を説明するための図である。
【図２６】図２６は、ネットワーク障害検知プログラムを実行するコンピュータを示す図である。
【図２７】図２７は、ネットワーク障害検知プログラムを実行するコンピュータを示す図である。
【図２８】図２８は、従来技術を説明するための図である。
【符号の説明】
【００２７】
１  ネットワーク障害検知システム
１０  計測エージェント
１１ａ  グループ情報テーブル
１１ｂ  計測情報データベース
１２ａ  オーバレイネットワーク機能部
１２ｂ  グループ化機能部
１２ｃ  計測情報受信部
１２ｄ  計測部
１２ｅ  計測情報解析部
１２ｆ  計測情報送信部
２０  監視サーバ
２１ａ  計測結果情報データベース
２１ｂ  解析結果データベース
２２ａ  計測情報受信部
２２ｂ  計測情報解析部
２２ｃ  障害箇所公開部
【発明を実施するための最良の形態】
【００２８】
以下に添付図面を参照して、この発明に係るネットワーク障害検知システムの実施例を詳細に説明する。本発明は、主に映像配信やオンラインゲームなどの定常的にネットワーク状態を取得し続けることができるリアルタイムコンテンツサービスの運用管理システムに適用される。また、障害箇所の検出精度の低下を許容できるならば、Ｗｅｂやファイル転送などの非リアルタイムデータ送信にも適用が可能である。特に、サービスを受信する計算機またはホームゲートウェイが大量に存在する環境にも適用可能なネットワーク上の障害検出方式とその実現方式である。
【実施例１】
【００２９】
以下の実施例では、実施例１に係るネットワーク障害検知システムの概要および特徴、ネットワーク障害検知システムの構成および処理の流れを順に説明し、最後に実施例１による効果を説明する。【００３０】
［実施例１に係るネットワーク障害検知システムの概要および特徴］
まず最初に、図１を用いて、実施例１に係るネットワーク障害検知システムの概要および特徴を説明する。図１は、実施例１に係るネットワーク障害検知システムの概要および特徴を説明するための図である。なお、以下に説明する実施例では、オーバレイネットワークに適用した場合の例を説明する。【００３１】
ここで、本実施例に適用されるオーバレイネットワークとは、物理ネットワークに存在するノード群（ルータ、計算機、ゲートウェイなど）から必要なものを抽出し、物理的な制約にとらわれることなく、特定の目的を達成するためのネットワークを構築する技術の総称であり、実装は複雑であるが目的の情報を確実に発見できるいわゆる構造型Ｐ２Ｐネットワークのことをいう。なお、各ノードは，ある決められた範囲のIDを管理し、かつ、ノード間に確立された論理的なリンクを経由して検索メッセージを転送することにより、どのＩＤを管理するノードにも必ず検索メッセージを届けることが可能なオーバレイネットワークであれば、本発明への適用することができる。【００３２】
実施例１のネットワーク障害検知システム１では、ネットワーク上に配置された計測エージェント１０が提供サーバによって提供されるサービスの品質を計測し、当該計測の結果を監視サーバ２０が解析して障害箇所を特定することを概要とする。そして、高い障害検出精度とともに、特に高速な障害検知を可能とする点に主たる特徴がある。【００３３】
この主たる特徴について具体的に説明すると、実施例１に係るネットワーク障害検知システム１は、図１に示すように、サービスの品質を計測する複数の計測エージェント（計測エージェント群）１０ａ〜１０ｈと障害箇所を特定する監視サーバ２０とで構成される。【００３４】
このネットワーク障害検知システム１の計測エージェント１０は、同一の提供サーバからサービスを受信している他の計測エージェントとグループを構成し、当該グループ内の所定の計測エージェントを頂点としたツリー構造を構築するようにリンクを形成する（図１の（１）参照）。具体的には、オーバレイネットワーク技術を利用して、同じ提供サーバからサービスを受信している計測エージェント１０が同じグループに所属するように、計測エージェント１０ａ〜１０ｈを複数のグループに分割する。【００３５】
続いて、計測エージェント１０は、同一グループ内における他の計測エージェントから計測の結果を受信し、受信された計測の結果を基に、障害箇所の候補を絞り込む（図１の（２）参照）。つまり、計測エージェント１０ａ〜１０ｈは、計測結果をグループ内の他の計測エージェントに送信し、グループ内の計測エージェント群が計測結果を分散解析する。【００３６】
そして、計測エージェント１０は、絞り込まれた障害箇所の候補を監視サーバまたは他の計測エージェントに送信する。続いて、監視サーバ２０は、送信された障害箇所の候補を受信し、受信された障害箇所の候補を基に、障害箇所を特定する（図１の（３）参照）。つまり、監視サーバ２０は、グループ内での分散解析の結果のみを収集／解析する。これにより、監視サーバ２０の管理する情報量が減少できるため、メモリ溢れなどが生じることなくネットワーク上の障害箇所を高速に検出することができる。【００３７】
このように、ネットワーク障害検知システム１は、同じ提供サーバからサービスを受信している計測エージェントをグループ化し、計測結果をグループ内の計測エージェント群が分散解析して、監視サーバの管理する情報量を減少し、メモリ溢れなどが生じることなくネットワーク上の障害箇所を高速に検出する結果、上記した主たる特徴のごとく、高い障害検出精度とともに、特に高速な障害検知を可能とする。【００３８】
［計測エージェントの構成］
次に、図２を用いて、図１に示した計測エージェント１０の構成を説明する。図２は、実施例１に係る計測エージェント１０の構成を示すブロック図である。同図に示すように、この計測エージェント１０は、グループ情報テーブル１１ａ、計測情報データベース１１ｂ、オーバレイネットワーク機能部１２ａ、グループ化機能部１２ｂ、計測情報受信部１２ｃ、計測部１２ｄ、計測情報解析部１２ｅ、計測情報送信部１２ｆを備える。以下にこれらの各部の処理を説明する。【００３９】
グループ情報テーブル１１ａは、このテーブルにはグループに関する様々な情報が格納されている。具体的には、グループ情報テーブル１１ａは、図３に例示するように、グループを一意に識別する「グループＩＤ」、自計測エージェントの「役割」、自身の送信した検索メッセージを受信した他の計測エージェントのＩＰアドレス（以降、「上流」という）、自身に検索メッセージを送信した他の計測エージェントのＩＰアドレス(以降、「下流」という)をそれぞれ対応付けて記憶している。【００４０】
計測情報データベース１１ｂは、このグループ情報テーブル１１ａにはグループに関する様々な情報が格納している。具体的には、図４に示すように、計測情報データベース１１ｂは、図４に例示するように、「グループＩＤ」と、サービスの品質を示す「受信の品質」（ＯＫまたはＮＧ）と、提供サーバ２０から計測エージェント１０に対して送信されているサービスが中継しているルータ群の情報である「経路」とを対応付けて記憶する。【００４１】
オーバレイネットワーク機能部１２ａは、計測エージェントがオーバレイネットワークへ参加する手続きを行う。例えば、Ｃｈｏｒｄ[Ｓｔｏｉｃａ０３]というオーバレイネットワークの実装を用いた場合には、ネットワーク上で一意に自身を識別できるＩＤを算出した上で、既にオーバレイネットワークに参加している幾つかの計測エージェントとの間で仮想的なリンクを確立する。ここで、Ｃｈｏｒｄ[Ｓｔｏｉｃａ０３]とは、ハッシュ関数を使用してノードやコンテンツを同一のハッシュ空間にマッピングする手法であり、各ノードが検索メッセージ転送用の経路表を持っている。なお、本発明はＣｈｏｒｄに限るものではなく、各計測エージェントは、ある決められた範囲のＩＤを管理し、かつ、複数の計測エージェントを経由することにより、どのＩＤを管理する計測エージェントにも必ず検索メッセージを届けることを可能とする特徴を持つオーバレイネットワークならば適用は可能である。【００４２】
具体的には、オーバレイネットワーク機能部１２ａは、検索メッセージの送信をグループ化機能部１２ｂから受け付けると、適用されているオーバレイネットワークのメッセージ転送方式に従い、グループＩＤを含めた検索メッセージを次の計測エージェントへ向けて送信する。【００４３】
グループ化機能部１２ｂは、オーバレイネットワーク機能部１２ａを介して複数の計測エージェント１０との間で検索メッセージを交換することにより、同じ提供サーバ２０からサービスを受信している計測エージェント１０を集めてグループを構成し（図５参照）、グループ化の過程で、計測エージェントはグループ内での自身の役割（計測、中継、代表）を把握する。つまり、図５に示すように、終点の計測エージェント１０をグループの「代表」として頂点としたツリー構造を構築する。そして、グループ内の計測エージェントが計測結果を基に障害箇所の絞込みを行う際には、この階層構造を利用した分散解析を行う。【００４４】
また、グループ化機能部１２ｂは、検索メッセージを受信した際に、検索メッセージをグループ化機能部１２ｂに通知し、グループ化機能部１２ｂがトポロジ構成処理を行う。「上流」と「下流」の関係により計測エージェント間に論理的な接続が確立されていると想定した場合には、同じグループ内の計測エージェントが構成するトポロジは、図６に示すように、「代表」の役割を持つ計測エージェントを頂点とした階層構造となる。【００４５】
具体的には、グループ化機能部１２ｂは、オーバレイネットワーク機能部１２ａと連携して、計測エージェント１０に固有の識別子を割り当てた上でオーバレイネットワークへ参加させる。そして、グループ化機能部１２ｂは、オーバレイネットワークに参加している他の計測エージェントの中で、同じ提供サーバからサービスを受信している計測エージェントを集めて同じグループに所属させる。ここでは、オーバレイネットワーク機能部１２ａと連携して、オーバレイネットワークを介した計測エージェント間の情報交換が行われる。【００４６】
そして、グループ化機能部１２ｂは、各グループにおける計測エージェントの役割（計測、中継、代表）を把握（決定）する処理を行う。ここでは、オーバレイネットワーク機能部１２ａと連携することにより、計測エージェント間の情報交換の過程を基に、役割の決定が行われる。グループ化機能部１２ｂは、計測エージェント間に仮想的なリンクを確立することにより、グループ内の計測エージェントのトポロジを構成する処理を行う。ここでは、他の各計測エージェントも同様に、計測エージェント間の情報交換の結果を基に、リンクを確立する計測エージェントを決定する。【００４７】
ここで、グループ化機能部１２ｂによる計測エージェントの役割（計測、中継、代表）を把握する処理を説明する。まず、グループ化機能部１２ｂは、現在計測エージェントに対してサービスを提供している提供サーバの識別子をパケットから取得しているかを判定する。つまり、グループ化機能部１２ｂは、提供サーバからのパケットを自計測エージェント１０がモニタリングしているかを判定する。【００４８】
そして、グループ化機能部１２ｂは、提供サーバの識別子を取得している場合には、提供サーバの識別子をオーバレイネットワーク機能部１２ａに通知し、提供サーバに対応するＩＤ（グループＩＤ）を取得する。なお、提供サーバの識別子としては、ＩＰアドレスやポート番号等を使用することができる。【００４９】
続いて、グループ化機能部１２ｂは、グループＩＤをキーとしてグループ情報テーブル１１ａを検索する。検索の結果、グループ化機能部１２ｂは、グループＩＤに対応するレコードが存在した場合には、そのレコードに「計測」を追加する。なお、既に「計測」が追加されていた場合には、追加を行う必要は無い。また、グループＩＤに対応するレコードが存在しない場合には、新たにレコードを生成し、新たに生成されたレコードに対して「計測」を追加する。【００５０】
その後、グループ化機能部１２ｂは、検索メッセージを生成し、グループＩＤをそれに格納する。そして、グループ化機能部１２ｂは、オーバレイネットワーク機能部１２ａに対して検索メッセージの送信を依頼する。【００５１】
また、グループ化機能部１２ｂは、提供サーバの識別子を取得していない場合には、他の計測エージェントから検索メッセージを受信したか判定する。その結果、グループ化機能部１２ｂは、他の計測エージェントから検索メッセージを受信した場合には、検索メッセージに格納されているグループＩＤを取得し、検索メッセージの転送が必要か否かをオーバレイネットワーク機能部１２ａに問い合わせる（つまり、自身がグループＩＤを管理する計測エージェントなのか否かを調査する）。【００５２】
その結果、グループ化機能部１２ｂは、まだ検索メッセージの転送が必要である場合、グループＩＤをキーとしてグループ情報テーブル１１ａを検索する。そして、グループ化機能部１２ｂは、グループＩＤに対応するレコードが存在した場合には、そのレコードに「中継」を追加する。ここで、既に「中継」が追加されていた場合には、追加を行う必要は無い。【００５３】
また、グループ化機能部１２ｂは、グループＩＤに対応するレコードが存在しない場合には、新たにレコードを生成し、新たに生成されたレコードに対して「中継」を記録する。そして、グループ化機能部１２ｂは、オーバレイネットワーク機能部１２ａに対して検索メッセージの送信を依頼する。その後、オーバレイネットワーク機能部１２ａは、適用されているオーバレイネットワークのメッセージ転送方式に従い、検索メッセージを次の計測エージェントへ向けて送信する。【００５４】
また、グループ化機能部１２ｂは、検索メッセージの転送が必要か否かをオーバレイネットワーク機能部１２ａに問い合わせた結果、検索メッセージの転送が必要でない場合（自身が検索メッセージに格納されているグループＩＤを管理している場合）、グループＩＤをキーとしてグループ情報テーブル１１ａを検索する。【００５５】
その結果、グループ化機能部１２ｂは、グループＩＤに対応するレコードが存在した場合には、そのレコードに「代表」を追加する。ここで、既に「代表」が追加されていた場合には，追加を行う必要は無い。また、グループ化機能部１２ｂは、グループＩＤに対応するレコードが存在しない場合には、新たにレコードを作成し、新たに生成されたレコードに対して「代表」を追加する。【００５６】
その後、グループ化機能部１２ｂは、代表通知メッセージを生成し、自身の識別子を格納する。続いて、グループ化機能部１２ｂは、生成した代表通知メッセージを監視サーバに送信する。ただし、監視サーバが計測結果を送信する計測エージェントを知る必要がない場合には、代表通知メッセージの作成および送信処理は行わなくて良く、自身が代表であることを監視サーバに知らせる必要は無い。【００５７】
上記した「計測」の役割を持つ計測エージェント１０の生成した計測結果は、検索メッセージの転送経路に沿って「代表」の役割を持つ計測エージェントまで届けられる。ここで、計測結果を転送する計測エージェントは、ただ計測結果を転送するだけでなく計測結果を基に障害箇所の絞込みを行う（後に詳述）。このように、障害箇所の絞込みを行った後に計測結果を次の計測エージェントに転送する役割を「中継」と呼ぶ。この「中継」の役割を持つ計測エージェントに対しては、多くの場合、複数の「計測」エージェントから計測結果が送信されることになる。また、「代表」の役割を持つ計測エージェントは、「中継」の役割を持つ計測エージェントにより絞り込まれてきた障害箇所の候補を取りまとめて、監視サーバに報告する役割を持つ。【００５８】
ここで、グループ化機能部１２ｂによるトポロジ構成処理を説明する。なお、以下に説明する処理は、計測エージェント１０が他の計測エージェントから検索メッセージを受信した際に、検索メッセージがオーバレイネットワーク機能部１２ａからグループ化機能部１２ｂに受け渡される段階で行われることを前提としているが、他の計測エージェントへ検索メッセージを送信する際に、グループ化機能部１２ｂからオーバレイネットワーク機能部１２ａへ受け渡される段階で行うことも可能である。【００５９】
まず、グループ化機能部１２ｂは、オーバレイネットワーク機能部１２ａから受信した検索メッセージに格納されているグループＩＤを取得する。そして、グループ化機能部１２ｂは、取得したグループＩＤをキーとしてグループ情報テーブル１１ａを検索する。その結果、グループ化機能部１２ｂは、グループＩＤが同一のレコードが存在しない場合には、新たにレコードを作成する。【００６０】
そして、グループ化機能部１２ｂは、レコードの「下流」の項目に、自身に対して検索メッセージを送信した計測エージェントの識別子を記録する。ここで、検索メッセージは複数の計測エージェント１０から受け取ることが多いため、下流の項目には複数の計測エージェント１０の識別子が記録される。【００６１】
続いて、グループ化機能部１２ｂは、グループＩＤをキーとしてグループ情報テーブル１１ａを検索し、グループＩＤに対応するグループにおける自身の役割を把握して、役割が「中継」であるかを判定する。その結果、グループ化機能部１２ｂは、役割が「中継」でない場合には、以降の処理は行わない。【００６２】
また、グループ化機能部１２ｂは、役割が「中継」である場合には、レコードの「上流」の項目に計測エージェント１０の識別子が記録されているか否かを判定し、レコードの「上流」の項目に計測エージェント１０の識別子が記録されていない場合には、検索メッセージの送信先となる計測エージェント１０の識別子をオーバレイネットワーク機能部１２ａから取得して、「上流」の項目に記録する。ここで、「計測」の役割を持つ計測エージェントである場合には、検索メッセージを生成した後に，「上流」の追加についてのみ処理を行う。【００６３】
本発明で対象としているオーバレイネットワークでは、同じグループＩＤに関する検索メッセージが同じ計測エージェントに複数届いた場合には、その計測エージェントがそれら全てのメッセージを同じ計測エージェントに転送する。そのため、あるグループＩＤに関して、「上流」は必ず１つとなる。ここで、「上流」と「下流」の関係により計測エージェント間に論理的な接続が確立されていると想定した場合には、同じグループ内の計測エージェントが構成するトポロジが「代表」の役割を持つ計測エージェントを頂点とした階層構造となる。【００６４】
また、グループ内の計測エージェントが計測結果を基に障害箇所の絞込みを行う際には、この階層構造を利用した分散解析を行う。このように、検索メッセージの転送に基づいたグループ化の結果として階層構造が構成できるオーバレイネットワークならば、Ｃｈｏｒｄによらず適用することが可能である。【００６５】
計測情報受信部１２ｃは、計測結果を他の計測エージェントから受信し、グループＩＤをキーとして計測情報データベース１１ｂにその計測結果を保存する。【００６６】
計測部１２ｄは、提供サーバ２０から提供されているサービスの品質を計測する。具体的には、計測部１２ｄは、利用者から設定パラメータとして「計測結果の算出間隔」（例えば、１０秒）を受け取った後、計測タイムカウンタを０に設定した上で、提供サーバ２０から提供されているサービスの品質の計測を開始する。【００６７】
計測部１２ｄは、計測タイムカウンタが「計測結果の算出間隔」の１０秒以上になった時点で、取得したネットワーク状態に関する情報を基に計測結果を導出し、計測情報データベース１１ｂに格納する。その後、計測タイムカウンタを再び０に設定する。【００６８】
ここで、計測情報の取得処理について詳しく述べると、計測部１２ｄは、計測タイムカウンタが計測結果の算出間隔の１０秒以上になると、提供サーバ２０から計測エージェント１０に対して送信されているサービスが中継しているルータ群の情報（ＩＰアドレスなどルータを一意に識別できる情報の集合である。以降、「経路」という）を計測する。なお、計測方法としては、計測エージェント１０から計測パケットを送信することにより経路を調査するｔｒａｃｅｒｏｕｔｅの使用や、ルータやスイッチのＳＮＭＰ情報を取得することにより経路を調査する方法などが適用可能である。【００６９】
そして、計測部１２ｄは、計測結果の１要素である「経路」に，計測結果である提供サーバ・計測エージェント間の「経路」を設定する。続いて、計測部１２ｄは、受信したサービスに関連するパケットから得られる統計情報を基に、パケットロス率を算出する。なお、パケット到着間隔のゆらぎやサービスの受信レート(例えば、データ量／秒)など、受信しているサービスの品質に関する情報を利用することができる。【００７０】
その後、計測部１２ｄは、算出されたパケットロス率と予め設定された計測結果の閾値とを比較して、計測結果の１要素である「受信品質」を決定する。ここでは、計測結果のパケットロス率が「計測結果の閾値」である「１％」を超えている場合には、受信品質を「ＮＧ」、一方超えていない場合には、受信品質を「ＯＫ」と設定する。また、ここでは、パケットロス率以外の情報に対して「計測結果の閾値」を比較して、受信品質を決定することも可能である。【００７１】
そして、計測部１２ｄは、グループＩＤをキーとして計測情報データベース１１ｂを検索し、グループＩＤに対応するレコードが存在しない場合には、新たなレコードを作成して計測結果（受信品質と経路のペア）を記録する。なお、ここで計測結果の算出時刻など追加の情報を、併せて記録することも可能である。【００７２】
また、計測部１２ｄは、グループＩＤに対応するレコードが存在する場合には、レコードの計測結果（受信品質と経路のペア）を更新する。なお、このとき追加の情報について併せて更新することも可能である。【００７３】
計測情報解析部１２ｅは、受信された計測の結果を基に、障害箇所の候補を絞り込む。具体的には、計測情報解析部１２ｅは、利用者から設定パラメータとして「計測結果の読み出し間隔」（例えば、１０秒）、「計測結果の閾値」（例えば、パケットロス率１％）を受け取った後、読み出しタイムカウンタも０に設定する。なお、この「計測結果の閾値」は、パケットロス率に限らず、パケット到着間隔のゆらぎなど、受信するサービスの品質に関連する情報ならば適用可能である。【００７４】
そして、計測情報解析部１２ｅは、読み出しタイムカウンタが「計測結果の読み出し間隔」の１０秒以上になった時点で計測情報データベース１１ｂから計測結果を読み出し、自身の役割（計測、中継、代表）に則した処理を行う。その後、計測情報解析部１２ｅは、読み出しタイムカウンタを再び０に設定する。【００７５】
ここで、自身の役割（計測、中継、代表）に則した処理として、計測情報解析部１２ｅは、計測情報データベース１１ｂから自身が「中継」の役割を持つ計測エージェント１０として所属しているグループに関連する計測情報を読み出して、障害箇所を絞り込んだ上で、その結果を他の計測エージェントに送信する旨の要求を計測情報送信部１２ｆに通知する。【００７６】
また、計測情報解析部１２ｅは、計測情報データベース１１ｂから自身が「代表」の役割を持つ計測エージェント１０として所属しているグループに関連する計測情報を読み出して、障害箇所を絞り込んだ上で、その結果を監視サーバ２０に送信する旨の要求を計測情報送信部１２ｆに通知する。【００７７】
ここで、計測エージェントの役割が「中継」および「代表」である場合の障害箇所の絞込処理について詳しく説明する。まず、計測情報解析部１２ｅは、「役割」をキーとして「グループ情報テーブル」を検索することにより、計測エージェントの役割が「中継」または「代表」であるグループに対応するグループＩＤを把握している状態で、グループＩＤをキーとして計測情報データベース１１ｂを検索する。グループＩＤに対応するレコードが存在しない場合には、以降の処理は行わない。また、グループＩＤに対応するレコードが存在する場合には、計測情報解析部１２ｅは、グループＩＤに対応する全ての計測情報を読み出す。【００７８】
計測情報解析部１２ｅは、取得した計測結果を基に、計測結果に含まれる経路の中から障害箇所の候補となる部分を抽出し、抽出された障害箇所の候補を計測結果の１要素である「経路」に設定する。【００７９】
障害箇所の候補となる部分を抽出する方法として、例えば、計測結果解析部１２ｅは、図７に示すように、計測結果を基に、「受信品質」と「経路」の対応表を作成する。ここで、まず「受信品質」がＯＫである計測情報に含まれる「経路」に含まれるリンク（ルータの識別子のペア）を対応表から除外する。そして、残った「リンク」の中から「受信品質」がＮＧの計測結果全てに含まれる「リンク」を障害箇所の候補として抽出する。しかし、上記の方法に限らず、障害箇所の候補を抽出できる手段であるならば、適用することは可能である。【００８０】
そして、計測情報解析部１２ｅは、障害箇所の候補が残らなかった場合には、以降の処理は行わない。また、測情報解析部１２ｅは、障害箇所の候補が残った場合には、計測結果の１要素である「受信品質」にＮＧを設定し、計測結果を「計測情報送信部」に受け渡す。【００８１】
計測情報送信部１２ｆは、計測情報を他の計測エージェントまたは監視サーバ２０に送信する。具体的には、計測情報送信部１２ｆは、利用者から設定パラメータとして「監視サーバの識別子」（例えば、「１９２．１６８．１．１」）を受け取る。この「監視サーバの識別子」はＩＰアドレスに限らず、ポート番号など監視サーバが一意に識別できる値ならば何でも利用できる。加えて、「監視サーバの識別子」は計算機の利用者から知らされるのではなく、監視サーバから通知されても良いし、他の計測エージェントから通知されても良い。【００８２】
計測情報送信部１１ｆは、読み出しタイムカウンタが計測結果の読み出し間隔の１０秒以上になった場合には、計測情報送信部１２ｆは計測情報データベース１１ｂから自身が「計測」の役割を持つ計測エージェントとして所属しているグループに関連する計測情報を読み出して、他の計測エージェントに送信する。【００８３】
計測情報送信部１１ｆは、障害箇所を絞り込んだ結果を他の計測エージェントまたは監視サーバ２０に送信する旨の要求を計測情報解析部１２ｅから受け付けると、他の計測エージェントまたは監視サーバ２０に障害箇所を絞り込んだ結果を送信する。【００８４】
計測情報送信部１１ｆは、読み出しタイムカウンタが計測結果の読み出し間隔の１０秒以上になると、「役割」をキーとしてグループ情報テーブル１１ａを検索することにより、計測エージェントの役割が「計測」であるグループに対応するグループＩＤを把握している。計測情報送信部１１ｆは、グループＩＤをキーとして計測情報データベース１１ｂを検索する。計測情報送信部１１ｆは、グループＩＤに対応するレコードが存在しない場合、以降の処理は行わない。計測情報送信部１１ｆは、グループＩＤに対応するレコードが存在する場合、計測情報を読み出す。【００８５】
そして、計測情報送信部１１ｆは、グループＩＤをキーとしてグループ情報テーブル１１ａを検索することにより、計測結果の送信先である「上流」の計測エージェントのＩＰアドレスとポート番号を取得する。続いて、計測情報送信部１１ｆは、計測結果を「上流」の計測エージェントへ送信する。【００８６】
［監視サーバの構成］
次に、図８を用いて、図１に示した監視サーバ２０の構成を説明する。図８は、実施例１に係る監視サーバ２０の構成を示すブロック図である。同図に示すように、この監視サーバ２０は、計測結果情報データベース２１ａ、解析結果データベース２１ｂ、計測情報受信部２２ａ、計測情報解析部２２ｂ、障害箇所公開部２２ｃを備える。以下にこれらの各部の処理を説明する。【００８７】
計測結果情報データベース２１ａは、後述する計測情報受信部２２ａが代表計測エージェント１０から受信した計測結果を記憶する。具体的には、計測結果情報データベース２１ａは、「受信品質」がＮＧである「経路」を記憶する。【００８８】
解析結果データベース２１ｂは、後述する計測情報解析部２２ｂによって解析された結果を記憶する。具体的には、解析結果データベース２１ｂは、図１０に示すように、抽出された障害箇所の候補から障害箇所として特定された特定結果を記憶する。【００８９】
計測情報受信部２２ａは、代表計測エージェント１０から計測結果を受信する。具体的には、計測情報受信部２２ａは、管理者からの起動要求に応じて、計測エージェント１０から計測結果の受信を開始し、代表計測エージェント１０から計測結果を受信する。【００９０】
計測情報解析部２２ｂは、計測結果に含まれる経路の中から障害箇所を特定する。具体的には、計測情報解析部２２ｂは、監視サーバが起動した後、管理者から「計測結果の読み出し間隔」の情報を受け取る。例えば、計測結果の読み出し間隔として「１０（秒）」を受け取る。なお、「計測結果の読み出し間隔」は、起動時に管理者が引数として入力しても良いし、設定ファイルなどから読み込んでも良い。【００９１】
次に、計測情報解析部２２ｂは、タイムカウンタを０に設定した上で、計測情報受信部２２ａに計測エージェントからの計測結果の受信待ち受けを開始する旨を通知する。このタイムカウンタは、一定の間隔ごとに増加していくものとする。例えば、「１秒ごと」にタイムカウンタは１増加する。【００９２】
そして、計測情報解析部２２ｂは、タイムカウンタが計測結果の読み出し間隔である１０より大きくなった段階で、計測結果データベース２１ａから受信した計測結果を読み出す。そして、計測情報解析部２２ｂは、読み出しが完了した後にタイムカウンタを０に更新する。続いて、計測情報解析部２２ｂは、読み出された計測結果を基に、障害箇所を特定するための解析処理を行い、その結果を解析結果データベース２１ｂに格納する。【００９３】
ここで、計測情報解析部２２ｂは、障害箇所を特定するための解析処理として、計測結果に含まれる経路の中から障害箇所を特定する。つまり、計測結果解析部２２ｂは、「中継」および「代表」の計測エージェント１０によって絞り込まれた受信品質がＮＧの経路の中から、障害箇所となる部分を特定する。なお、障害箇所の候補となる部分を特定する方法としては、どのような方法を採用しても良く、例えば、受信品質がＮＧの経路に含まれるリンクを全て障害箇所として特定しても良い。【００９４】
障害箇所公開部２２ｃは、障害箇所の特定結果を様々なネットワークエンティティ（ルータ、計算機、計測エージェントなど、障害箇所に関する情報を利用できる全ての実体）に対して公開する。具体的には、障害箇所公開部２２ｃは、管理者からの起動要求に応じて、接続用インタフェースをオープンする。【００９５】
その後、障害箇所公開部２２ｃは、ネットワークエンティティからの要求に対して解析結果データベース２１ｂから解析結果を読み出し、特定した障害箇所をネットワークエンティティに対して公開する。なお、ここでは監視サーバが予めネットワークエンティティのＩＰアドレスやポート番号を把握しており、定期的に解析結果を計測エージェントへ報告しても良いし、Ｗｅｂ上に公開する方法も考えられる。【００９６】
［ネットワーク障害検知システムによる処理］
次に、図１１〜図２３を用いて、実施例１に係るネットワーク障害検知システムの監視サーバおよび計測エージェントによる処理を説明する。図１１は、実施例１に係る監視サーバの処理動作の全体を示すフローチャートであり、図１２は、実施例１に係る計測エージェントの処理動作の全体を示すフローチャートであり、図１３〜図２２は、実施例１に係る計測エージェントによる処理の流れを詳細に示すフローチャートであり、図２３は、実施例１に係る監視サーバによる計測結果取得後の詳細な処理動作を示すフローチャートである。【００９７】
まず、図１１を用いて、実施例１に係る監視サーバの処理動作を説明する。監視サーバ２０は、管理者からの起動要求を受け付けて、起動した場合には（ステップＳ１肯定）、設定パラメータとして「計測結果の読み出し間隔」を管理者から受け取る（ステップＳ２）。【００９８】
続いて、監視サーバ２０は、タイムカウンタが計測結果の読み出し間隔である１０より大きくなった段階で、計測結果データベース２１ａから受信した計測結果を計測結果データベース２１ａから読み出す（ステップＳ３）。【００９９】
その後、監視サーバ２０は、読み出された情報を基に、解析処理を行って障害箇所を特定し、その結果を解析結果データベース２１ｂに格納する（ステップＳ４）。そして、監視サーバ２０は、ネットワークエンティティからの要求に対して解析結果データベース２１ｂから解析結果を読み出し、特定した障害箇所をネットワークエンティティに対して公開する（ステップＳ５）。【０１００】
次に、図１２を用いて、実施例１に係る計測エージェントの全体の処理を説明する。まず、計測エージェント１０は、計算機の利用者によるサービス受信用アプリケーションの起動と連動して、計測エージェントのソフトウェアは起動されると（ステップＳ１１肯定）、利用者から設定パラメータとして「計測結果の算出間隔」、「計測結果の読み出し間隔」、「計測結果の閾値」、「監視サーバの識別子」の情報を受け取る（ステップＳ１２）。なお、これらの情報は、起動時に計算機の利用者が引数として入力しても良いし、設定ファイルなどから読み込んでも良い。【０１０１】
そして、計測エージェント１０は、オーバレイネットワークへ参加する手続きを行って既にオーバレイネットワークに参加している幾つかの計測エージェントとの間で仮想的なリンクを確立し、複数の計測エージェント１０との間で検索メッセージを交換することにより、同じ提供サーバ２０からサービスを受信している計測エージェント１０を集めてグループを構成する処理（後に図１３を用いて詳述）を行う（ステップＳ１３）。【０１０２】
その後、計測エージェント１０は、計測情報データベース１１ｂに格納された計測結果を取得し（ステップＳ１４）、自身の役割（計測、中継、代表）に則して、その計測結果から障害箇所を絞り込む処理（後に、図１８を用いて詳述）を行う（ステップＳ１５）。【０１０３】
次に、図１３を用いて実施例１に係る計測エージェントによるグループ分け処理を説明する。図１３は、実施例１に係る計測エージェントによるグループ分け処理の流れを示すフローチャートである。【０１０４】
同図に示すように、計測エージェント１０のグループ化機能部１２ｂは、オーバレイネットワーク機能部１２ａと連携して、計測エージェント１０に固有の識別子を割り当てた上でオーバレイネットワークへ参加させる（ステップＳ２１）。そして、グループ化機能部１２ｂは、オーバレイネットワークに参加している他の計測エージェントの中で、同じ提供サーバからサービスを受信している計測エージェントを集めて同じグループに所属させる（ステップＳ２２）。【０１０５】
続いて、グループ化機能部１２ｂは、各グループにおける計測エージェントの役割（計測、中継、代表）を把握する処理（後に、図１４〜１６を用いて詳述）を行う（ステップＳ２３）。その後、グループ化機能部１２ｂは、計測エージェント間に仮想的なリンクを確立することにより、グループ内の計測エージェントのトポロジを構成する処理（後に、図１７を用いて詳述）を行う（ステップＳ２４）。【０１０６】
次に、図１４〜１６を用いて実施例１に係る計測エージェントによるグループ内での役割の把握処理を説明する。図１４〜図１６は、実施例１に係る計測エージェントによるグループ内での役割の把握処理の流れを示すフローチャート図である。【０１０７】
図１４に示すように、計測エージェント１０のグループ化機能部１２ｂは、現在計測エージェントに対してサービスを提供している提供サーバの識別子をパケットから取得しているかを判定する（ステップＳ３１）。つまり、グループ化機能部１２ｂは、提供サーバからのパケットを自計測エージェント１０がモニタリングしているかを判定する。【０１０８】
そして、グループ化機能部１２ｂは、提供サーバの識別子を取得している場合には（ステップＳ３１肯定）、提供サーバの識別子をオーバレイネットワーク機能部１２ａに通知し、提供サーバに対応するＩＤ（グループＩＤ）を取得する（ステップＳ３３）。【０１０９】
続いて、グループ化機能部１２ｂは、グループＩＤをキーとしてグループ情報テーブル１１ａを検索する（ステップＳ３４）。検索の結果、グループＩＤに対応するレコードが存在した場合には（ステップＳ３５肯定）、そのレコードに「計測」を追加する（ステップＳ３６）。また、グループＩＤに対応するレコードが存在しない場合には（ステップＳ３５否定）、新たにレコードを作成し（ステップＳ３９）、新たに生成されたレコードに対して「計測」を記録する（ステップＳ４０）。【０１１０】
その後、グループ化機能部１２ｂが検索メッセージを生成し（ステップＳ３７）、オーバレイネットワーク機能部１２ａは、その検索メッセージを次の計測エージェントへ向けて送信する（ステップＳ３８）。【０１１１】
また、提供サーバの識別子を取得していない場合には（ステップＳ３１否定）、他の計測エージェントから検索メッセージを受信したか判定する（ステップＳ３２）。その結果、グループ化機能部１２ｂは、他の計測エージェントから検索メッセージを受信した場合には（ステップＳ３２肯定）、図１５に示すように、検索メッセージに格納されているグループＩＤを取得し（ステップＳ４１）、検索メッセージの転送が必要か否かをオーバレイネットワーク機能部１２ａに問い合わせる（ステップＳ４２）。【０１１２】
その結果、グループ化機能部１２ｂは、まだ検索メッセージの転送が必要である場合には（ステップＳ４２肯定）、グループＩＤをキーとしてグループ情報テーブル１１ａを検索する（ステップＳ４３）。そして、グループ化機能部１２ｂは、グループＩＤに対応するレコードが存在した場合には（ステップＳ４４肯定）、そのレコードに「中継」を追加する（ステップＳ４５）。【０１１３】
また、グループ化機能部１２ｂは、グループＩＤに対応するレコードが存在しない場合には（ステップＳ４４否定）、新たにレコードを生成し（ステップＳ４７）、新たに生成されたレコードに対して「中継」を記録する（ステップＳ４８）。その後、オーバレイネットワーク機能部１２ａは、適用されているオーバレイネットワークのメッセージ転送方式に従い、検索メッセージを次の計測エージェントへ向けて送信する（ステップＳ４６）。【０１１４】
また、グループ化機能部１２ｂは、検索メッセージの転送が必要か否かをオーバレイネットワーク機能部１２ａに問い合わせた結果、検索メッセージの転送が必要でない場合（（ステップＳ４２否定）、図１６に示すように、グループＩＤをキーとしてグループ情報テーブル１１ａを検索する（ステップＳ５２）。【０１１５】
その結果、グループ化機能部１２ｂは、グループＩＤに対応するレコードが存在した場合には（ステップＳ５３肯定）、そのレコードに「代表」を追加する（ステップＳ５４）。また、グループ化機能部１２ｂは、グループＩＤに対応するレコードが存在しない場合には（ステップＳ５３否定）、新たにレコードを作成し（ステップＳ５５）、新たに生成されたレコードに対して「代表」を追加する（ステップＳ５６）。【０１１６】
その後、グループ化機能部１２ｂは、代表通知メッセージを生成する（ステップＳ５７）。続いて、グループ化機能部１２ｂは、生成した代表通知メッセージを監視サーバに送信する（ステップＳ５８）。【０１１７】
次に、図１７を用いて実施例１に係る計測エージェントによるグループ内でのトポロジ構成処理を説明する。図１７は、実施例１に係る計測エージェントによるグループ内でのトポロジ構成処理の流れを示すフローチャートである。【０１１８】
同図に示すように、計測エージェント１０のグループ化機能部１２ｂは、オーバレイネットワーク機能部１２ａから受信した検索メッセージに格納されているグループＩＤを取得すると（ステップＳ６１肯定）、取得したグループＩＤをキーとしてグループ情報テーブル１１ａを検索する（ステップＳ６２）。その結果、グループ化機能部１２ｂは、グループＩＤが同一のレコードが存在しない場合には（ステップＳ６３否定）、新たにレコードを作成する（ステップＳ６４）。【０１１９】
そして、グループ化機能部１２ｂは、レコードの「下流」の項目に、自身に対して検索メッセージを送信した計測エージェントの識別子を追加する（ステップＳ６５）。続いて、グループ化機能部１２ｂは、グループＩＤをキーとしてグループ情報テーブル１１ａを検索し、グループＩＤに対応するグループにおける自身の役割を把握して、役割が「中継」であるかを判定する（ステップＳ６６）。その結果、グループ化機能部１２ｂは、役割が「中継」でない場合には（ステップＳ６６否定）、以降の処理は行わない。【０１２０】
また、グループ化機能部１２ｂは、役割が「」である場合には（ステップＳ６６肯定）、レコードの「上流」の項目に計測エージェント１０の識別子が記録されているか否かを判定し（ステップＳ６７）、レコードの「上流」の項目に計測エージェント１０の識別子が記録されていない場合には（ステップＳ６７否定）、検索メッセージの送信先となる計測エージェント１０の識別子をオーバレイネットワーク機能部１２ａから取得して、「上流」の項目に記録する（ステップＳ６８）。また、グループ化機能部１２ｂは、レコードの「上流」の項目に計測エージェント１０の識別子が記録している場合には（ステップＳ６７肯定）、そのまま処理を終了する。【０１２１】
次に、図１８を用いて実施例１に係る計測エージェントによる障害箇所絞込処理を説明する。図１８は、実施例１に係る計測エージェントによる障害箇所絞込処理の流れを示すフローチャートである。【０１２２】
同図に示すように、計測エージェント１０の計測部１２ｄは、計測タイムカウンタが計測結果の算出間隔の１０秒以上になった場合（ステップＳ７１）、計測結果を算出して（後に、図１９を用いて詳述）、計測情報データベース１１ｂに格納する（ステップＳ７２）。そして、計測情報送信部１１ｆは、読み出しタイムカウンタが計測結果の読み出し間隔の１０秒以上になった場合（ステップＳ７３肯定）、計測情報送信部１２ｆは計測情報データベース１１ｂから自身が「計測」の役割を持つ計測エージェントとして所属しているグループに関連する計測情報を読み出して、他の計測エージェントに送信する処理（後に、図２０を用いて詳述）を行う（ステップＳ７４）。【０１２３】
そして、計測情報解析部１２ｅは、計測情報データベース１１ｂから自身が「中継」の役割を持つ計測エージェント１０である場合には（ステップＳ７５肯定）、所属しているグループに関連する計測情報を読み出して、障害箇所を絞り込んだ上で（ステップＳ７６）、計測情報送信部１２ｆがその結果を他の計測エージェントに送信処理（後に、図２１を用いて詳述）を行う（ステップＳ７７）。【０１２４】
続いて、計測情報解析部１２ｅは、計測情報データベース１１ｂから自身が「代表」の役割を持つ計測エージェント１０である場合には（ステップＳ７８肯定）、所属しているグループに関連する計測情報を読み出して、障害箇所を絞り込んだ上で（ステップＳ７９）、計測情報送信部１２ｆがその結果を監視サーバ２０に送信処理（後に、図２２を用いて詳述）を行う（ステップＳ８０）。【０１２５】
次に、図１９を用いて実施例１に係る計測エージェントによる計測情報の取得処理を説明する。図１９は、実施例１に係る計測エージェントによる計測情報の取得処理の流れを示すフローチャートである。ここでは、計測タイムカウンタが計測結果の算出間隔の１０秒以上になった時点における処理について説明する。なお、以降の処理が終了した段階で、計測タイムカウンタは０にリセットされるものとする。【０１２６】
同図に示すように、計測エージェント１０の計測部１２ｄは、「経路」を計測し（ステップＳ８１）、計測部１２ｄは、計測結果の１要素である「経路」に，計測結果である提供サーバ・計測エージェント間の「経路」を設定する（ステップＳ８２）。続いて、計測部１２ｄは、受信したサービスに関連するパケットから得られる統計情報を基に、パケットロス率を算出する（ステップＳ８３）。【０１２７】
その後、計測部１２ｄは、算出されたパケットロス率と予め設定された計測結果の閾値とを比較して（ステップＳ８４）、計測結果のパケットロス率が「計測結果の閾値」である「１％」を超えている場合には（ステップＳ８５肯定）、受信品質を「ＮＧ」と設定し（ステップＳ８６）、一方、超えていない場合には（ステップＳ８５否定）、受信品質を「ＯＫ」と設定する（ステップＳ８７）。【０１２８】
そして、計測部１２ｄは、グループＩＤをキーとして計測情報データベース１１ｂを検索し（ステップＳ８８）、グループＩＤに対応するレコードが存在しない場合には（ステップＳ８９否定）、新たなレコードを作成して（ステップＳ９０）、計測結果（受信品質と経路のペア）を記録する（ステップＳ９１）。【０１２９】
また、計測部１２ｄは、グループＩＤに対応するレコードが存在する場合には（ステップＳ８９肯定）、レコードの計測結果（受信品質と経路のペア）を更新する（ステップＳ９２）。【０１３０】
次に、図２０を用いて計測エージェントの役割が計測である場合の計測情報送信処理を説明する。計測エージェントの役割が計測である場合の計測情報送信処理の流れを示すフローチャートである。ここでは、読み出しタイムカウンタが計測結果の読み出し間隔の１０秒以上になった時点における処理について説明する。以降の処理が完了した段階で、読み出しタイムカウンタは０に更新される。【０１３１】
同図に示すように、計測エージェント１０の役割が「計測」であるグループに対応するグループＩＤを把握している状態で、計測情報送信部１１ｆは、グループＩＤをキーとして計測情報データベース１１ｂを検索する（ステップＳ１０１）。そして、計測情報送信部１１ｆは、グループＩＤに対応するレコードが存在しない場合には（ステップＳ１０２否定）、以降の処理は行わない。また、計測情報送信部１１ｆは、グループＩＤに対応するレコードが存在する場合（ステップＳ１０２肯定）、計測情報を読み出す（ステップＳ１０３）。【０１３２】
そして、計測情報送信部１１ｆは、グループＩＤをキーとしてグループ情報テーブル１１ａを検索することにより、計測結果の送信先である「上流」の計測エージェントのＩＰアドレスとポート番号を取得する（ステップＳ１０４）。続いて、計測情報送信部１１ｆは、計測結果を「上流」の計測エージェントへ送信する（ステップＳ１０５）。【０１３３】
次に、図２１を用いて計測エージェントの役割が中継である場合の絞込結果送信処理を説明する。計測エージェントの役割が中継である場合の絞込結果送信処理の流れを示すフローチャートである。なお、ここでは、読み出しタイムカウンタが計測結果の読み出し間隔の１０秒以上になった時点における処理について説明する。以降の処理が完了した段階で、読み出しタイムカウンタは０に更新される。【０１３４】
同図に示すように、計測エージェント１０の計測情報解析部１２ｅは、「役割」をキーとして「グループ情報テーブル」を検索することにより、計測エージェントの役割が「中継」であるグループに対応するグループＩＤを把握している状態で、グループＩＤをキーとして計測情報データベース１１ｂを検索する（ステップＳ１１１）。グループＩＤに対応するレコードが存在しない場合には（ステップＳ１１２否定）、以降の処理は行わない。また、グループＩＤに対応するレコードが存在する場合には（ステップＳ１１２肯定）、計測情報解析部１２ｅは、グループＩＤに対応する全ての計測情報を読み出す（ステップＳ１１３）。【０１３５】
計測情報解析部１２ｅは、取得した計測結果を基に、計測結果に含まれる経路の中から障害箇所の候補となる部分を抽出し、抽出された障害箇所の候補を計測結果の１要素である「経路」に設定する（ステップＳ１１４）。【０１３６】
そして、計測情報解析部１２ｅは、抽出した結果、障害箇所の候補が残らなかった場合には（ステップＳ１１５否定）、以降の処理は行わない。また、測情報解析部１２ｅは、障害箇所の候補が残った場合には（ステップＳ１１５肯定）、計測結果の１要素である「受信品質」にＮＧを設定し（ステップＳ１１６）、計測結果を計測情報送信部１２ｅに受け渡す。そして、計測情報送信部１２ｅは、グループＩＤをキーとしてグループ情報テーブル１１ａを検索することにより（ステップＳ１１７）、計測結果の送信先である「上流」の計測エージェントのＩＰアドレスとポート番号を取得し、計測結果を「上流」の計測エージェントへ送信する（ステップＳ１１８）。【０１３７】
次に、図２２を用いて計測エージェントの役割が代表である場合の絞込結果送信処理を説明する。図２２は、計測エージェントの役割が代表である場合の絞込結果送信処理の流れを示すフローチャートである。なお、ここでは、読み出しタイムカウンタが計測結果の読み出し間隔の１０秒以上になった時点における処理について説明する。以降の処理が完了した段階で、読み出しタイムカウンタは０に更新される。【０１３８】
同図に示すように、計測エージェント１０は、「計測情報解析部」は，「役割」をキーとして「グループ情報テーブル」を検索することにより，計測エージェントの役割が「代表」であるグループに対応するグループIDを把握している状態で、グループＩＤをキーとして計測情報データベース１１ｂを検索する（ステップＳ１２１）。グループＩＤに対応するレコードが存在しない場合には（ステップＳ１２２否定）、以降の処理は行わない。また、グループＩＤに対応するレコードが存在する場合には（ステップＳ１２２肯定）、計測情報解析部１２ｅは、グループＩＤに対応する全ての計測情報を読み出す（ステップＳ１２３）。【０１３９】
計測情報解析部１２ｅは、取得した計測結果を基に、計測結果に含まれる経路の中から障害箇所の候補となる部分を抽出し、抽出された障害箇所の候補を計測結果の１要素である「経路」に設定する（ステップＳ１２４）。【０１４０】
そして、計測情報解析部１２ｅは、抽出した結果、障害箇所の候補が残らなかった場合には（ステップＳ１２５否定）、以降の処理は行わない。また、計測情報解析部１２ｅは、障害箇所の候補が残った場合には（ステップＳ１２５肯定）、計測結果の１要素である「受信品質」にＮＧを設定し（ステップＳ１２６）、計測結果を計測情報送信部１２ｅに受け渡す（ステップＳ１２７）。そして、計測情報送信部１２ｆは、計測結果を監視サーバ２０へ送信する（ステップＳ１２８）。【０１４１】
次に、図２３を用いて監視サーバによる計測結果取得後の詳細な処理を説明する。図２３は、実施例１に係る監視サーバによる計測結果取得後の詳細な処理動作を示すフローチャートである。なお、ここでは、読み出しタイムカウンタが計測結果の読み出し間隔の１０秒以上になった時点における処理について説明する。以降の処理が完了した段階で、読み出しタイムカウンタは０に更新される。【０１４２】
同図に示すように、監視サーバ２０の計測情報解析部２２ｂは、計測情報データベース２１ａから全ての計測結果を読み出す（ステップＳ１３１）。そして、計測情報解析部２２ｂは、取得した計測結果を基に、計測結果に含まれる経路の中から障害箇所の候補となる部分を抽出する（ステップＳ１３２）。その結果、計測情報解析部２２ｂは、障害箇所の候補が残らなかった場合には（ステップＳ１３３否定）、以降の処理は行わない。【０１４３】
続いて、計測情報解析部２２ｂは、抽出された障害箇所の候補を障害箇所として特定し（ステップＳ１３４）、その特定結果を解析結果データベース２１ｂに保存する。その後、障害箇所公開部２２ｃは，解析結果データベース２２ｃから障害箇所に関する情報を取得して、その情報をネットワークエンティティに対して公開する（ステップＳ１３５）。【０１４４】
[実施例１の効果]
上述してきたように、ネットワーク障害検知システム１は、同じ提供サーバからサービスを受信している計測エージェント１０をグループ化し、計測結果をグループ内の計測エージェント群が分散解析して、監視サーバ２０の管理する情報量を減少し、メモリ溢れなどが生じることなくネットワーク上の障害箇所を高速に検出する結果、高い障害検出精度とともに、特に高速な障害検知を可能とする。
【実施例２】
【０１４５】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では実施例２として本発明に含まれる他の実施例を説明する。【０１４６】
（１）ランダム
上記の実施例１では、提供サーバに対応するＩＤをグループＩＤとして取得する場合を説明したが、本発明はこれに限定されるものではなく、ランダムに生成された値を基にグループＩＤを取得するようにしてもよい。【０１４７】
上記するランダムに生成された値を基にグループＩＤを取得する処理の具体的な処理手順について図２４を用いて説明する。同図にしめすように、まず、計測エージェント１０ａは、ランダムなＩＤを生成する（ステップＳ１４１）。そして、計測エージェント１０ａは、そのランダムなＩＤを管理する計測エージェントを検索し（ステップＳ１４２）、発見した計測エージェントのＩＤをグループＩＤとして決定する（ステップＳ１４３）。以下のＳ１４４〜Ｓ１４８の処理については、上述した図１４のＳ３４〜Ｓ３８と同様である。【０１４８】
つまり、計測エージェントが生成したランダムなＩＤをそのままグループＩＤとして利用すると、同じＩＤを生成する計測エージェントが存在しないまたは非常に少なくなるという恐れがあり、その結果、グループの数（グループＩＤの数）が多くなり、監視サーバに掛かる負荷を減少できないという事態になってしまう。しかし、上記した処理を行うことによって、各計測エージェントの管理するＩＤの範囲に含まれるランダムなＩＤ全てが同一のグループＩＤとなるので、グループの数が多くなりすぎることはない。【０１４９】
このように、ランダムなＩＤを用いてグループＩＤを取得するとともに、監視サーバに掛かる負荷を減少して高速に障害検知することが可能である。【０１５０】
（２）計測エージェントの削除
また、本発明は不要な計測エージェントをグループから削除するようにしてもよい。つまり、図２５に示すように、下流の計測エージェントが一つの場合には、下流から受信した計測結果を上流に受け渡すのみなので、必要がなく、不要な計測エージェントとしてグループから削除する処理を行う。【０１５１】
具体的には、グループの「代表」計測エージェントは、グループを再構築するための「グループ再構築メッセージ」を下流に送信する。そして、メッセージを受信した計測エージェントは、下流の計測エージェント数を調査し、下流の計測エージェント数が「１」の場合には、そのメッセージを受信した計測エージェントはグループから離脱し、その削除された計測エージェントにおける下流の計測エージェントに削除した旨のメッセージを転送する。【０１５２】
このように、不要な計測エージェント１０を削除するので、削除したエージェントの負荷を軽減し、検出精度を向上することが可能である。【０１５３】
（３）システム構成等
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、計測情報受信部１２ｃと計測部１２ｄを統合してもよい。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。【０１５４】
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。【０１５５】
（４）プログラム
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをコンピュータで実行することによって実現することができる。そこで、以下では、図２６および図２７を用いて、上記の実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図２６および図２７は、ネットワーク障害検知プログラムを実行するコンピュータを示す図である。【０１５６】
図２６に示すように、計測エージェントとしてのコンピュータ６００は、ＨＤＤ６１０、ＲＡＭ６２０、ＲＯＭ６３０およびＣＰＵ６４０をバス６５０で接続して構成される。【０１５７】
そして、ＲＯＭ６３０には、上記の実施例と同様の機能を発揮するネットワーク障害検知プログラム、つまり、図２６に示すように、オーバレイネットワーク機能プログラム６３１、グループ化機能プログラム６３２、計測情報受信プログラム６３３、計測プログラム６３４、計測情報解析プログラム６３５および計測情報送信プログラム６３６が予め記憶されている。なお、プログラム６３１〜６３６については、図２に示した計測エージェント１０の各構成要素と同様、適宜統合または分散してもよい。【０１５８】
そして、ＣＰＵ６４０が、これらのプログラム６３１〜６３６をＲＯＭ６３０から読み出して実行することで、図２６に示すように、各プログラム６３１〜６３６は、オーバレイネットワーク機能プロセス６４１、グループ化機能プロセス６４２、計測情報受信プロセス６４３、計測プロセス６４４、計測情報解析プロセス６４５および計測情報送信プロセス６４６として機能するようになる。各プロセス６４１〜６４６は、図２に示したオーバレイネットワーク機能部１２ａ、グループ化機能部１２ｂ、計測情報受信部１２ｃ、計測部１２ｄ、計測情報解析部１２ｅ、計測情報送信部１２ｆにそれぞれ対応する。【０１５９】
また、ＨＤＤ６１０には、図２６に示すように、グループ情報テーブル６１１および計測情報テーブル６１２が設けられる。なお、グループ情報テーブル６１１および計測情報テーブル６１２は、図２に示したグループ情報テーブル１１ａ、計測情報データベース１１ｂに対応する。そして、ＣＰＵ６４０は、グループ情報テーブル６１１および計測情報テーブル６１２に対してデータを登録するとともに、グループ情報テーブル６１１および計測情報テーブル６１２からグループ情報データ６２１および計測情報データ６２２を読み出してＲＡＭ６２０に格納し、ＲＡＭ６２０に格納されたグループ情報データ６２１および計測情報データ６２２に基づいて情報を管理する処理を実行する。【０１６０】
次に、図２７に示すように、監視サーバとしてのコンピュータ７００は、ＨＤＤ７１０、ＲＡＭ７２０、ＲＯＭ７３０およびＣＰＵ７４０をバス７５０で接続して構成される。【０１６１】
そして、ＲＯＭ７３０には、上記の実施例と同様の機能を発揮するネットワーク障害検知プログラム、つまり、図２７に示すように、計測情報受信プログラム７３１、計測情報解析プログラム７３２、障害箇所公開プログラム７３３が予め記憶されている。なお、プログラム７３１〜７３３については、図８に示した計測エージェント１０の各構成要素と同様、適宜統合または分散してもよい。【０１６２】
そして、ＣＰＵ７４０が、これらのプログラム７３１〜７３３をＲＯＭ７３０から読み出して実行することで、図２７に示すように、各プログラム７３１〜７３３は、計測情報受信プロセス７４１、計測情報解析プロセス７４２、障害箇所公開プロセス７４３として機能するようになる。各プロセス７４１〜７４３は、図８に示した計測情報受信部２２ａ、計測情報解析部２２ｂ、障害箇所公開部２２ｃにそれぞれ対応する。【０１６３】
また、ＨＤＤ７１０には、図２７に示すように、計測結果情報テーブル７１１および解析結果テーブル７１２が設けられる。なお、計測結果情報テーブル７１１および解析結果テーブル７１２は、図８に示した計測結果情報データベース２１ａ、解析結果データベース２１ｂに対応する。そして、ＣＰＵ７４０は、計測結果情報テーブル７１１および解析結果テーブル７１２に対してデータを登録するとともに、計測結果情報テーブル７１１および解析結果テーブル７１２から計測結果情報データ７２１および解析結果データ７２２を読み出してＲＡＭ７２０に格納し、ＲＡＭ７２０に格納された計測結果情報データ７２１および解析結果データ７２２に基づいて情報を管理する処理を実行する。
【産業上の利用可能性】
【０１６４】
以上のように、本発明に係るネットワーク障害検知システム、計測エージェント、監視サーバ、ネットワーク障害検知方法およびネットワーク障害検知プログラムは、ネットワーク上に配置された計測エージェントが提供サーバによって提供されるサービスの品質を計測し、当該計測の結果を監視サーバが解析して障害箇所を特定することに有用であり、特に、高い障害検出精度とともに、高速な障害検知を行う場合に適する。
【図１】
2009004701.tif 000003
【図２】
2009004701.tif 000004
【図３】
2009004701.tif 000005
【図４】
2009004701.tif 000006
【図５】
2009004701.tif 000007
【図６】
2009004701.tif 000008
【図７】
2009004701.tif 000009
【図８】
2009004701.tif 000010
【図９】
2009004701.tif 000011
【図１０】
2009004701.tif 000012
【図１１】
2009004701.tif 000013
【図１２】
2009004701.tif 000014
【図１３】
2009004701.tif 000015
【図１４】
2009004701.tif 000016
【図１５】
2009004701.tif 000017
【図１６】
2009004701.tif 000018
【図１７】
2009004701.tif 000019
【図１８】
2009004701.tif 000020
【図１９】
2009004701.tif 000021
【図２０】
2009004701.tif 000022
【図２１】
2009004701.tif 000023
【図２２】
2009004701.tif 000024
【図２３】
2009004701.tif 000025
【図２４】
2009004701.tif 000026
【図２５】
2009004701.tif 000027
【図２６】
2009004701.tif 000028
【図２７】
2009004701.tif 000029
【図２８】
2009004701.tif 000030
【手続補正書】
【提出日】平成21年9月11日(2009.9.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ネットワーク上に配置された計測エージェントが提供サーバによって提供されるサービスの品質を計測し、当該計測の結果を監視サーバが解析して障害箇所を特定するネットワーク障害検知システムであって、
前記計測エージェントは、
同一の提供サーバからサービスを受信している他の計測エージェントとグループを構成し、当該グループ内の所定の計測エージェントを頂点としたツリー構造を構築するようにリンクを形成するリンク形成手段と、
同一グループ内における他の計測エージェントから前記計測の結果を受信する計測結果受信手段と、
前記計測結果受信手段によって受信された前記計測の結果を基に、障害箇所の候補を絞り込む障害箇所絞込手段と、
前記障害箇所絞込手段によって絞り込まれた前記障害箇所の候補を前記監視サーバまたは他の計測エージェントに送信する障害箇所送信手段と、
を備え、
前記監視サーバは、
前記障害箇所送信手段によって送信された前記障害箇所の候補を受信する障害箇所受信手段と、
前記障害箇所受信手段によって受信された前記障害箇所の候補を基に、障害箇所を特定する障害箇所特定手段と、
を備えたことを特徴とするネットワーク障害検知システム。
【請求項２】
前記リンク形成手段は、自身に対してサービスを送信している提供サーバを一意に識別する識別子を基に、グループ識別子を算出し、当該グループ識別子を含んだ検索メッセージを複数の計測エージェントによって構成されたオーバレイネットワークに送信して、リンクを形成することを特徴とする請求項１に記載のネットワーク障害検知システム。
【請求項３】
前記グループ識別子を含んだ検索メッセージを生成して前記オーバレイネットワーク上に送信した場合には、役割を計測として、前記計測の結果を同一グループ内における他の計測エージェントに送信する計測結果送信手段をさらに備えることを特徴とする請求項２に記載のネットワーク障害検知システム。
【請求項４】
前記障害箇所送信手段は、他の計測エージェントから前記検索メッセージを受信し、当該検索メッセージをさらに他の計測エージェントに送信した場合には、役割を中継として、前記検索メッセージに含まれているグループ識別子に対応するグループにおいて、前記障害箇所の候補を他の計測エージェントに送信することを特徴とする請求項２に記載のネットワーク障害検知システム。
【請求項５】
前記障害箇所送信手段は、他の計測エージェントから前記検索メッセージを受信し、当該検索メッセージを送信する他の計測エージェントが存在しない場合には、役割を代表として、前記障害箇所の候補を前記監視サーバに送信することを特徴とする請求項２に記載のネットワーク障害検知システム。
【請求項６】
自身に対して前記検索メッセージを送信した他の計測エージェントの識別子および自身が前記検索メッセージを送信した他の計測エージェントの識別子を、検索メッセージに含まれているグループ識別子ごとに記録するグループ化情報記憶手段をさらに備えることを特徴とする請求項２に記載のネットワーク障害検知システム。
【請求項７】
サービスの受信品質および提供サーバと自身との間にある経路情報を計測の結果として、前記グループごとに記憶する計測情報記憶手段をさらに備えることを特徴とする請求項１に記載のネットワーク障害検知システム。
【請求項８】
前記計測結果送信手段は、前記役割が計測である場合には、前記計測情報記憶手段によって記憶された前記計測の結果を同一グループ内における他の計測エージェントへ定期的に送信することを特徴とする請求項３または７に記載のネットワーク障害検知システム。
【請求項９】
ランダムな値を生成するランダム値生成手段と、
前記ランダム値生成手段によって生成された前記値を管理する計測エージェントを検索する計測エージェント検索手段と、をさらに備え、
前記リンク形成手段は、前記エージェント検索手段によって検索された前記計測エージェントの識別子をグループ識別子とし、当該グループ識別子を含んだ検索メッセージを複数の計測エージェントによって構成されたオーバレイネットワークに送信して、リンクを形成することを特徴とする請求項１に記載のネットワーク障害検知システム。
【請求項１０】
グループを再構築するためのグループ再構築メッセージを同一グループ内の下流に位置する他の計測エージェントに送信する再構築メッセージ送信手段と、
前記再構築メッセージ送信手段によって送信された前記再構築メッセージを受信すると、同一グループ内の下流に位置する他の計測エージェントの数を調査し、当該他の計測エージェントの数が一である場合には、再構築メッセージを受信した計測エージェントがグループから離脱する計測エージェント削除手段とをさらに備えることを特徴とする請求項１に記載のネットワーク障害検知システム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ネットワーク上に配置された計測エージェントが提供サーバによって提供されるサービスの品質を計測し、当該計測の結果を監視サーバが解析して障害箇所を特定するネットワーク障害検知システムに関する。
【背景技術】
【０００２】
従来、ネットワーク上に配置された計測エージェントが提供サーバによって提供されるサービスの品質を計測し、計測の結果を監視サーバが解析して障害箇所（例えば、故障しているルータやスイッチ、パケットの転送処理が追いついていないルータやスイッチ）を特定する技術が実施されている。
【０００３】
このような技術として、計測エージェントが計測した全ての情報を監視サーバに通知し、監視サーバが障害箇所を特定する技術が知られている（特許文献１参照）。具体的には、図２８に示すように、ネットワーク上に配置されている計測エージェントがサービスの受信品質およびサービスの送信経路を計測し、その全ての計測結果を監視サーバが解析する。監視サーバでは、計測エージェントから受信した計測結果を解析し、品質劣化したサービスの多くが経由している部分を障害の原因と特定する。
【０００４】
また、特許文献２では、通信可能な範囲内にいる複数の通信装置をグループ化し、通信装置の中から一台のサーバとし、他をクライアントとする技術が開示されている。このような技術を利用して、計測エージェントをグループ化し、計測結果をグループ単位で監視サーバに通知することも考えられる。
【０００５】
【特許文献１】特開２０００−２４２５８５号公報
【特許文献２】特開平１１−２７５１０６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１の技術では、監視サーバが全ての計測結果を受信し、その計測結果を解析するので、監視サーバの管理する情報量を多大であり、メモリ溢れなどが生じる結果、高速な障害検知を行うことができないという課題があった。
【０００７】
また、特許文献２を利用した技術では、単に通信可能な範囲内にいる計測エージェントのグループを決定しているだけなので、上記同様監視サーバの負担が大きく、メモリ溢れなどが生じる結果、高速に障害を検知することができないという課題があった。
【０００８】
そこで、この発明は、高い障害検出精度とともに、特に高速な障害検知を可能とすることを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するため、本発明は、ネットワーク上に配置された計測エージェントが提供サーバによって提供されるサービスの品質を計測し、当該計測の結果を監視サーバが解析して障害箇所を特定するネットワーク障害検知システムであって、前記計測エージェントは、同一の提供サーバからサービスを受信している他の計測エージェントとグループを構成し、当該グループ内の所定の計測エージェントを頂点としたツリー構造を構築するようにリンクを形成するリンク形成手段と、同一グループ内における他の計測エージェントから前記計測の結果を受信する計測結果受信手段と、前記計測結果受信手段によって受信された前記計測の結果を基に、障害箇所の候補を絞り込む障害箇所絞込手段と、前記障害箇所絞込手段によって絞り込まれた前記障害箇所の候補を前記監視サーバまたは他の計測エージェントに送信する障害箇所送信手段と、を備え、前記監視サーバは、前記障害箇所送信手段によって送信された前記障害箇所の候補を受信する障害箇所受信手段と、前記障害箇所受信手段によって受信された前記障害箇所の候補を基に、障害箇所を特定する障害箇所特定手段と、を備えたことを特徴とする。
【００１０】
また、本発明は、上記の発明において、前記リンク形成手段は、自身に対してサービスを送信している提供サーバを一意に識別する識別子を基に、グループ識別子を算出し、当該グループ識別子を含んだ検索メッセージを複数の計測エージェントによって構成されたオーバレイネットワークに送信して、リンクを形成することを特徴とする。
【００１１】
また、本発明は、上記の発明において、前記グループ識別子を含んだ検索メッセージを生成して前記オーバレイネットワーク上に送信した場合には、役割を計測として、前記計測の結果を同一グループ内における他の計測エージェントに送信する計測結果送信手段をさらに備えることを特徴とする。
【００１２】
また、本発明は、上記の発明において、前記障害箇所送信手段は、他の計測エージェントから前記検索メッセージを受信し、当該検索メッセージをさらに他の計測エージェントに送信した場合には、役割を中継として、前記検索メッセージに含まれているグループ識別子に対応するグループにおいて、前記障害箇所の候補を他の計測エージェントに送信することを特徴とする。
【００１３】
また、本発明は、上記の発明において、前記障害箇所送信手段は、他の計測エージェントから前記検索メッセージを受信し、当該検索メッセージを送信する他の計測エージェントが存在しない場合には、役割を代表として、前記障害箇所の候補を前記監視サーバに送信することを特徴とする。
【００１４】
また、本発明は、上記の発明において、自身に対して前記検索メッセージを送信した他の計測エージェントの識別子および自身が前記検索メッセージを送信した他の計測エージェントの識別子を、検索メッセージに含まれているグループ識別子ごとに記録するグループ化情報記憶手段をさらに備えることを特徴とする。
【００１５】
また、本発明は、上記の発明において、サービスの受信品質および提供サーバと自身との間にある経路情報を計測の結果として、前記グループごとに記憶する計測情報記憶手段をさらに備えることを特徴とする。
【００１６】
また、本発明は、前記計測結果送信手段は、前記役割が計測である場合には、前記計測情報記憶手段によって記憶された前記計測の結果を同一グループ内における他の計測エージェントへ定期的に送信することを特徴とする。
【００１７】
また、本発明は、前記障害箇所絞込手段は、前記役割が中継である場合には、同一グループ内の下流に位置する他の計測エージェントから受信した前記計測の結果を基に、障害箇所の候補を絞り込み、前記障害箇所送信手段は、前記障害箇所絞込手段によって絞り込まれた前記障害箇所の候補を同一グループ内の上流に位置する他の計測エージェントに送信することを特徴とする。
【００１８】
また、本発明は、前記障害箇所絞込手段は、前記役割が代表である場合には、同一グループ内の下流に位置する他の計測エージェントから受信した前記計測の結果を基に、障害箇所の候補を絞り込み、前記障害箇所送信手段は、前記障害箇所絞込手段によって絞り込まれた前記障害箇所の候補を前記監視サーバに送信することを特徴とする。
【００１９】
また、本発明は、ランダムな値を生成するランダム値生成手段と、前記ランダム値生成手段によって生成された前記値を管理する計測エージェントを検索する計測エージェント検索手段と、をさらに備え、前記リンク形成手段は、前記エージェント検索手段によって検索された前記計測エージェントの識別子をグループ識別子とし、当該グループ識別子を含んだ検索メッセージを複数の計測エージェントによって構成されたオーバレイネットワークに送信して、リンクを形成することを特徴とする。
【００２０】
また、本発明は、グループを再構築するためのグループ再構築メッセージを同一グループ内の下流に位置する他の計測エージェントに送信する再構築メッセージ送信手段と、前記再構築メッセージ送信手段によって送信された前記再構築メッセージを受信すると、同一グループ内の下流に位置する他の計測エージェントの数を調査し、当該他の計測エージェントの数が一である場合には、メッセージを受信した計測エージェントをグループから削除する計測エージェント削除手段とをさらに備えることを特徴とする。
【００２１】
また、本発明は、ネットワーク上に配置された計測エージェントが提供サーバによって提供されるサービスの品質を計測し、監視サーバに送信する計測エージェントであって、同一の提供サーバからサービスを受信している他の計測エージェントとグループを構成し、当該グループ内の所定の計測エージェントを頂点としたツリー構造を構築するようにリンクを形成するリンク形成手段と、同一グループ内における他の計測エージェントから前記計測の結果を受信する計測結果受信手段と、前記計測結果受信手段によって受信された前記計測の結果を基に、障害箇所の候補を絞り込む障害箇所絞込手段と、前記障害箇所絞込手段によって絞り込まれた前記障害箇所の候補を前記監視サーバまたは他の計測エージェントに送信する障害箇所送信手段と、を備えることを特徴とする。
【００２２】
また、本発明は、ネットワーク上に配置された計測エージェントが提供サーバによって提供されるサービスの品質を計測し、当該計測の結果を解析して障害箇所を特定する監視サーバであって、前記計測エージェントから送信された前記障害箇所の候補を受信する障害箇所受信手段と、前記障害箇所受信手段によって受信された前記障害箇所の候補を基に、障害箇所を特定する障害箇所特定手段と、を備えたことを特徴とする。
【００２３】
また、本発明は、ネットワーク上に配置された計測エージェントが提供サーバによって提供されるサービスの品質を計測し、当該計測の結果を監視サーバが解析して障害箇所を特定するネットワーク障害検知方法であって、同一の提供サーバからサービスを受信している他の計測エージェントとグループを構成し、当該グループ内の所定の計測エージェントを頂点としたツリー構造を構築するようにリンクを形成するリンク形成工程と、同一グループ内における他の計測エージェントから前記計測の結果を受信する計測結果受信工程と、前記計測結果受信工程によって受信された前記計測の結果を基に、障害箇所の候補を絞り込む障害箇所絞込工程と、前記障害箇所絞込工程によって絞り込まれた前記障害箇所の候補を前記監視サーバまたは他の計測エージェントに送信する障害箇所送信工程と、を含み、前記監視サーバは、前記障害箇所送信工程によって送信された前記障害箇所の候補を受信する障害箇所受信工程と、前記障害箇所受信工程によって受信された前記障害箇所の候補を基に、障害箇所を特定する障害箇所特定工程と、を含んだことを特徴とする。
【００２４】
また、本発明は、ネットワーク上に配置された計測エージェントが提供サーバによって提供されるサービスの品質を計測し、当該計測の結果を監視サーバが解析して障害箇所を特定するネットワーク障害検知方法をコンピュータに実行させるネットワーク障害検知プログラムであって、前記計測エージェントは、同一の提供サーバからサービスを受信している他の計測エージェントとグループを構成し、当該グループ内の所定の計測エージェントを頂点としたツリー構造を構築するようにリンクを形成するリンク形成手順と、同一グループ内における他の計測エージェントから前記計測の結果を受信する計測結果受信手順と、前記計測結果受信手順によって受信された前記計測の結果を基に、障害箇所の候補を絞り込む障害箇所絞込手順と、前記障害箇所絞込手順によって絞り込まれた前記障害箇所の候補を前記監視サーバまたは他の計測エージェントに送信する障害箇所送信手順と、をコンピュータに実行させ、前記監視サーバは、前記障害箇所送信手順によって送信された前記障害箇所の候補を受信する障害箇所受信手順と、前記障害箇所受信手順によって受信された前記障害箇所の候補を基に、障害箇所を特定する障害箇所特定手順と、をコンピュータに実行させることを特徴とする。
【発明の効果】
【００２５】
本発明によれば、同じ提供サーバからサービスを受信している計測エージェントをグループ化し、計測結果をグループ内の計測エージェント群が分散解析して、監視サーバの管理する情報量を減少し、メモリ溢れなどが生じることなくネットワーク上の障害箇所を高速に検出する結果、高い障害検出精度とともに、特に高速な障害検知を可能とする。
【発明を実施するための最良の形態】
【００２６】
以下に添付図面を参照して、この発明に係るネットワーク障害検知システムの実施例を詳細に説明する。本発明は、主に映像配信やオンラインゲームなどの定常的にネットワーク状態を取得し続けることができるリアルタイムコンテンツサービスの運用管理システムに適用される。また、障害箇所の検出精度の低下を許容できるならば、Ｗｅｂやファイル転送などの非リアルタイムデータ送信にも適用が可能である。特に、サービスを受信する計算機またはホームゲートウェイが大量に存在する環境にも適用可能なネットワーク上の障害検出方式とその実現方式である。
【実施例１】
【００２７】
以下の実施例では、実施例１に係るネットワーク障害検知システムの概要および特徴、ネットワーク障害検知システムの構成および処理の流れを順に説明し、最後に実施例１による効果を説明する。
【００２８】
［実施例１に係るネットワーク障害検知システムの概要および特徴］
まず最初に、図１を用いて、実施例１に係るネットワーク障害検知システムの概要および特徴を説明する。図１は、実施例１に係るネットワーク障害検知システムの概要および特徴を説明するための図である。なお、以下に説明する実施例では、オーバレイネットワークに適用した場合の例を説明する。
【００２９】
ここで、本実施例に適用されるオーバレイネットワークとは、物理ネットワークに存在するノード群（ルータ、計算機、ゲートウェイなど）から必要なものを抽出し、物理的な制約にとらわれることなく、特定の目的を達成するためのネットワークを構築する技術の総称であり、実装は複雑であるが目的の情報を確実に発見できるいわゆる構造型Ｐ２Ｐネットワークのことをいう。なお、各ノードは，ある決められた範囲のIDを管理し、かつ、ノード間に確立された論理的なリンクを経由して検索メッセージを転送することにより、どのＩＤを管理するノードにも必ず検索メッセージを届けることが可能なオーバレイネットワークであれば、本発明への適用することができる。
【００３０】
実施例１のネットワーク障害検知システム１では、ネットワーク上に配置された計測エージェント１０が提供サーバによって提供されるサービスの品質を計測し、当該計測の結果を監視サーバ２０が解析して障害箇所を特定することを概要とする。そして、高い障害検出精度とともに、特に高速な障害検知を可能とする点に主たる特徴がある。
【００３１】
この主たる特徴について具体的に説明すると、実施例１に係るネットワーク障害検知システム１は、図１に示すように、サービスの品質を計測する複数の計測エージェント（計測エージェント群）１０ａ〜１０ｈと障害箇所を特定する監視サーバ２０とで構成される。
【００３２】
このネットワーク障害検知システム１の計測エージェント１０は、同一の提供サーバからサービスを受信している他の計測エージェントとグループを構成し、当該グループ内の所定の計測エージェントを頂点としたツリー構造を構築するようにリンクを形成する（図１の（１）参照）。具体的には、オーバレイネットワーク技術を利用して、同じ提供サーバからサービスを受信している計測エージェント１０が同じグループに所属するように、計測エージェント１０ａ〜１０ｈを複数のグループに分割する。
【００３３】
続いて、計測エージェント１０は、同一グループ内における他の計測エージェントから計測の結果を受信し、受信された計測の結果を基に、障害箇所の候補を絞り込む（図１の（２）参照）。つまり、計測エージェント１０ａ〜１０ｈは、計測結果をグループ内の他の計測エージェントに送信し、グループ内の計測エージェント群が計測結果を分散解析する。
【００３４】
そして、計測エージェント１０は、絞り込まれた障害箇所の候補を監視サーバまたは他の計測エージェントに送信する。続いて、監視サーバ２０は、送信された障害箇所の候補を受信し、受信された障害箇所の候補を基に、障害箇所を特定する（図１の（３）参照）。つまり、監視サーバ２０は、グループ内での分散解析の結果のみを収集／解析する。これにより、監視サーバ２０の管理する情報量が減少できるため、メモリ溢れなどが生じることなくネットワーク上の障害箇所を高速に検出することができる。
【００３５】
このように、ネットワーク障害検知システム１は、同じ提供サーバからサービスを受信している計測エージェントをグループ化し、計測結果をグループ内の計測エージェント群が分散解析して、監視サーバの管理する情報量を減少し、メモリ溢れなどが生じることなくネットワーク上の障害箇所を高速に検出する結果、上記した主たる特徴のごとく、高い障害検出精度とともに、特に高速な障害検知を可能とする。
【００３６】
［計測エージェントの構成］
次に、図２を用いて、図１に示した計測エージェント１０の構成を説明する。図２は、実施例１に係る計測エージェント１０の構成を示すブロック図である。同図に示すように、この計測エージェント１０は、グループ情報テーブル１１ａ、計測情報データベース１１ｂ、オーバレイネットワーク機能部１２ａ、グループ化機能部１２ｂ、計測情報受信部１２ｃ、計測部１２ｄ、計測情報解析部１２ｅ、計測情報送信部１２ｆを備える。以下にこれらの各部の処理を説明する。
【００３７】
グループ情報テーブル１１ａは、このテーブルにはグループに関する様々な情報が格納されている。具体的には、グループ情報テーブル１１ａは、図３に例示するように、グループを一意に識別する「グループＩＤ」、自計測エージェントの「役割」、自身の送信した検索メッセージを受信した他の計測エージェントのＩＰアドレス（以降、「上流」という）、自身に検索メッセージを送信した他の計測エージェントのＩＰアドレス(以降、「下流」という)をそれぞれ対応付けて記憶している。
【００３８】
計測情報データベース１１ｂは、このグループ情報テーブル１１ａにはグループに関する様々な情報が格納している。具体的には、図４に示すように、計測情報データベース１１ｂは、図４に例示するように、「グループＩＤ」と、サービスの品質を示す「受信の品質」（ＯＫまたはＮＧ）と、提供サーバ２０から計測エージェント１０に対して送信されているサービスが中継しているルータ群の情報である「経路」とを対応付けて記憶する。
【００３９】
オーバレイネットワーク機能部１２ａは、計測エージェントがオーバレイネットワークへ参加する手続きを行う。例えば、Ｃｈｏｒｄ[Ｓｔｏｉｃａ０３]というオーバレイネットワークの実装を用いた場合には、ネットワーク上で一意に自身を識別できるＩＤを算出した上で、既にオーバレイネットワークに参加している幾つかの計測エージェントとの間で仮想的なリンクを確立する。ここで、Ｃｈｏｒｄ[Ｓｔｏｉｃａ０３]とは、ハッシュ関数を使用してノードやコンテンツを同一のハッシュ空間にマッピングする手法であり、各ノードが検索メッセージ転送用の経路表を持っている。なお、本発明はＣｈｏｒｄに限るものではなく、各計測エージェントは、ある決められた範囲のＩＤを管理し、かつ、複数の計測エージェントを経由することにより、どのＩＤを管理する計測エージェントにも必ず検索メッセージを届けることを可能とする特徴を持つオーバレイネットワークならば適用は可能である。
【００４０】
具体的には、オーバレイネットワーク機能部１２ａは、検索メッセージの送信をグループ化機能部１２ｂから受け付けると、適用されているオーバレイネットワークのメッセージ転送方式に従い、グループＩＤを含めた検索メッセージを次の計測エージェントへ向けて送信する。
【００４１】
グループ化機能部１２ｂは、オーバレイネットワーク機能部１２ａを介して複数の計測エージェント１０との間で検索メッセージを交換することにより、同じ提供サーバ２０からサービスを受信している計測エージェント１０を集めてグループを構成し（図５参照）、グループ化の過程で、計測エージェントはグループ内での自身の役割（計測、中継、代表）を把握する。つまり、図５に示すように、終点の計測エージェント１０をグループの「代表」として頂点としたツリー構造を構築する。そして、グループ内の計測エージェントが計測結果を基に障害箇所の絞込みを行う際には、この階層構造を利用した分散解析を行う。
【００４２】
また、グループ化機能部１２ｂは、検索メッセージを受信した際に、検索メッセージをグループ化機能部１２ｂに通知し、グループ化機能部１２ｂがトポロジ構成処理を行う。「上流」と「下流」の関係により計測エージェント間に論理的な接続が確立されていると想定した場合には、同じグループ内の計測エージェントが構成するトポロジは、図６に示すように、「代表」の役割を持つ計測エージェントを頂点とした階層構造となる。
【００４３】
具体的には、グループ化機能部１２ｂは、オーバレイネットワーク機能部１２ａと連携して、計測エージェント１０に固有の識別子を割り当てた上でオーバレイネットワークへ参加させる。そして、グループ化機能部１２ｂは、オーバレイネットワークに参加している他の計測エージェントの中で、同じ提供サーバからサービスを受信している計測エージェントを集めて同じグループに所属させる。ここでは、オーバレイネットワーク機能部１２ａと連携して、オーバレイネットワークを介した計測エージェント間の情報交換が行われる。
【００４４】
そして、グループ化機能部１２ｂは、各グループにおける計測エージェントの役割（計測、中継、代表）を把握（決定）する処理を行う。ここでは、オーバレイネットワーク機能部１２ａと連携することにより、計測エージェント間の情報交換の過程を基に、役割の決定が行われる。グループ化機能部１２ｂは、計測エージェント間に仮想的なリンクを確立することにより、グループ内の計測エージェントのトポロジを構成する処理を行う。ここでは、他の各計測エージェントも同様に、計測エージェント間の情報交換の結果を基に、リンクを確立する計測エージェントを決定する。
【００４５】
ここで、グループ化機能部１２ｂによる計測エージェントの役割（計測、中継、代表）を把握する処理を説明する。まず、グループ化機能部１２ｂは、現在計測エージェントに対してサービスを提供している提供サーバの識別子をパケットから取得しているかを判定する。つまり、グループ化機能部１２ｂは、提供サーバからのパケットを自計測エージェント１０がモニタリングしているかを判定する。
【００４６】
そして、グループ化機能部１２ｂは、提供サーバの識別子を取得している場合には、提供サーバの識別子をオーバレイネットワーク機能部１２ａに通知し、提供サーバに対応するＩＤ（グループＩＤ）を取得する。なお、提供サーバの識別子としては、ＩＰアドレスやポート番号等を使用することができる。
【００４７】
続いて、グループ化機能部１２ｂは、グループＩＤをキーとしてグループ情報テーブル１１ａを検索する。検索の結果、グループ化機能部１２ｂは、グループＩＤに対応するレコードが存在した場合には、そのレコードに「計測」を追加する。なお、既に「計測」が追加されていた場合には、追加を行う必要は無い。また、グループＩＤに対応するレコードが存在しない場合には、新たにレコードを生成し、新たに生成されたレコードに対して「計測」を追加する。
【００４８】
その後、グループ化機能部１２ｂは、検索メッセージを生成し、グループＩＤをそれに格納する。そして、グループ化機能部１２ｂは、オーバレイネットワーク機能部１２ａに対して検索メッセージの送信を依頼する。
【００４９】
また、グループ化機能部１２ｂは、提供サーバの識別子を取得していない場合には、他の計測エージェントから検索メッセージを受信したか判定する。その結果、グループ化機能部１２ｂは、他の計測エージェントから検索メッセージを受信した場合には、検索メッセージに格納されているグループＩＤを取得し、検索メッセージの転送が必要か否かをオーバレイネットワーク機能部１２ａに問い合わせる（つまり、自身がグループＩＤを管理する計測エージェントなのか否かを調査する）。
【００５０】
その結果、グループ化機能部１２ｂは、まだ検索メッセージの転送が必要である場合、グループＩＤをキーとしてグループ情報テーブル１１ａを検索する。そして、グループ化機能部１２ｂは、グループＩＤに対応するレコードが存在した場合には、そのレコードに「中継」を追加する。ここで、既に「中継」が追加されていた場合には、追加を行う必要は無い。
【００５１】
また、グループ化機能部１２ｂは、グループＩＤに対応するレコードが存在しない場合には、新たにレコードを生成し、新たに生成されたレコードに対して「中継」を記録する。そして、グループ化機能部１２ｂは、オーバレイネットワーク機能部１２ａに対して検索メッセージの送信を依頼する。その後、オーバレイネットワーク機能部１２ａは、適用されているオーバレイネットワークのメッセージ転送方式に従い、検索メッセージを次の計測エージェントへ向けて送信する。
【００５２】
また、グループ化機能部１２ｂは、検索メッセージの転送が必要か否かをオーバレイネットワーク機能部１２ａに問い合わせた結果、検索メッセージの転送が必要でない場合（自身が検索メッセージに格納されているグループＩＤを管理している場合）、グループＩＤをキーとしてグループ情報テーブル１１ａを検索する。
【００５３】
その結果、グループ化機能部１２ｂは、グループＩＤに対応するレコードが存在した場合には、そのレコードに「代表」を追加する。ここで、既に「代表」が追加されていた場合には，追加を行う必要は無い。また、グループ化機能部１２ｂは、グループＩＤに対応するレコードが存在しない場合には、新たにレコードを作成し、新たに生成されたレコードに対して「代表」を追加する。
【００５４】
その後、グループ化機能部１２ｂは、代表通知メッセージを生成し、自身の識別子を格納する。続いて、グループ化機能部１２ｂは、生成した代表通知メッセージを監視サーバに送信する。ただし、監視サーバが計測結果を送信する計測エージェントを知る必要がない場合には、代表通知メッセージの作成および送信処理は行わなくて良く、自身が代表であることを監視サーバに知らせる必要は無い。
【００５５】
上記した「計測」の役割を持つ計測エージェント１０の生成した計測結果は、検索メッセージの転送経路に沿って「代表」の役割を持つ計測エージェントまで届けられる。ここで、計測結果を転送する計測エージェントは、ただ計測結果を転送するだけでなく計測結果を基に障害箇所の絞込みを行う（後に詳述）。このように、障害箇所の絞込みを行った後に計測結果を次の計測エージェントに転送する役割を「中継」と呼ぶ。この「中継」の役割を持つ計測エージェントに対しては、多くの場合、複数の「計測」エージェントから計測結果が送信されることになる。また、「代表」の役割を持つ計測エージェントは、「中継」の役割を持つ計測エージェントにより絞り込まれてきた障害箇所の候補を取りまとめて、監視サーバに報告する役割を持つ。
【００５６】
ここで、グループ化機能部１２ｂによるトポロジ構成処理を説明する。なお、以下に説明する処理は、計測エージェント１０が他の計測エージェントから検索メッセージを受信した際に、検索メッセージがオーバレイネットワーク機能部１２ａからグループ化機能部１２ｂに受け渡される段階で行われることを前提としているが、他の計測エージェントへ検索メッセージを送信する際に、グループ化機能部１２ｂからオーバレイネットワーク機能部１２ａへ受け渡される段階で行うことも可能である。
【００５７】
まず、グループ化機能部１２ｂは、オーバレイネットワーク機能部１２ａから受信した検索メッセージに格納されているグループＩＤを取得する。そして、グループ化機能部１２ｂは、取得したグループＩＤをキーとしてグループ情報テーブル１１ａを検索する。その結果、グループ化機能部１２ｂは、グループＩＤが同一のレコードが存在しない場合には、新たにレコードを作成する。
【００５８】
そして、グループ化機能部１２ｂは、レコードの「下流」の項目に、自身に対して検索メッセージを送信した計測エージェントの識別子を記録する。ここで、検索メッセージは複数の計測エージェント１０から受け取ることが多いため、下流の項目には複数の計測エージェント１０の識別子が記録される。
【００５９】
続いて、グループ化機能部１２ｂは、グループＩＤをキーとしてグループ情報テーブル１１ａを検索し、グループＩＤに対応するグループにおける自身の役割を把握して、役割が「中継」であるかを判定する。その結果、グループ化機能部１２ｂは、役割が「中継」でない場合には、以降の処理は行わない。
【００６０】
また、グループ化機能部１２ｂは、役割が「中継」である場合には、レコードの「上流」の項目に計測エージェント１０の識別子が記録されているか否かを判定し、レコードの「上流」の項目に計測エージェント１０の識別子が記録されていない場合には、検索メッセージの送信先となる計測エージェント１０の識別子をオーバレイネットワーク機能部１２ａから取得して、「上流」の項目に記録する。ここで、「計測」の役割を持つ計測エージェントである場合には、検索メッセージを生成した後に，「上流」の追加についてのみ処理を行う。
【００６１】
本発明で対象としているオーバレイネットワークでは、同じグループＩＤに関する検索メッセージが同じ計測エージェントに複数届いた場合には、その計測エージェントがそれら全てのメッセージを同じ計測エージェントに転送する。そのため、あるグループＩＤに関して、「上流」は必ず１つとなる。ここで、「上流」と「下流」の関係により計測エージェント間に論理的な接続が確立されていると想定した場合には、同じグループ内の計測エージェントが構成するトポロジが「代表」の役割を持つ計測エージェントを頂点とした階層構造となる。
【００６２】
また、グループ内の計測エージェントが計測結果を基に障害箇所の絞込みを行う際には、この階層構造を利用した分散解析を行う。このように、検索メッセージの転送に基づいたグループ化の結果として階層構造が構成できるオーバレイネットワークならば、Ｃｈｏｒｄによらず適用することが可能である。
【００６３】
計測情報受信部１２ｃは、計測結果を他の計測エージェントから受信し、グループＩＤをキーとして計測情報データベース１１ｂにその計測結果を保存する。
【００６４】
計測部１２ｄは、提供サーバ２０から提供されているサービスの品質を計測する。具体的には、計測部１２ｄは、利用者から設定パラメータとして「計測結果の算出間隔」（例えば、１０秒）を受け取った後、計測タイムカウンタを０に設定した上で、提供サーバ２０から提供されているサービスの品質の計測を開始する。
【００６５】
計測部１２ｄは、計測タイムカウンタが「計測結果の算出間隔」の１０秒以上になった時点で、取得したネットワーク状態に関する情報を基に計測結果を導出し、計測情報データベース１１ｂに格納する。その後、計測タイムカウンタを再び０に設定する。
【００６６】
ここで、計測情報の取得処理について詳しく述べると、計測部１２ｄは、計測タイムカウンタが計測結果の算出間隔の１０秒以上になると、提供サーバ２０から計測エージェント１０に対して送信されているサービスが中継しているルータ群の情報（ＩＰアドレスなどルータを一意に識別できる情報の集合である。以降、「経路」という）を計測する。なお、計測方法としては、計測エージェント１０から計測パケットを送信することにより経路を調査するｔｒａｃｅｒｏｕｔｅの使用や、ルータやスイッチのＳＮＭＰ情報を取得することにより経路を調査する方法などが適用可能である。
【００６７】
そして、計測部１２ｄは、計測結果の１要素である「経路」に，計測結果である提供サーバ・計測エージェント間の「経路」を設定する。続いて、計測部１２ｄは、受信したサービスに関連するパケットから得られる統計情報を基に、パケットロス率を算出する。なお、パケット到着間隔のゆらぎやサービスの受信レート(例えば、データ量／秒)など、受信しているサービスの品質に関する情報を利用することができる。
【００６８】
その後、計測部１２ｄは、算出されたパケットロス率と予め設定された計測結果の閾値とを比較して、計測結果の１要素である「受信品質」を決定する。ここでは、計測結果のパケットロス率が「計測結果の閾値」である「１％」を超えている場合には、受信品質を「ＮＧ」、一方超えていない場合には、受信品質を「ＯＫ」と設定する。また、ここでは、パケットロス率以外の情報に対して「計測結果の閾値」を比較して、受信品質を決定することも可能である。
【００６９】
そして、計測部１２ｄは、グループＩＤをキーとして計測情報データベース１１ｂを検索し、グループＩＤに対応するレコードが存在しない場合には、新たなレコードを作成して計測結果（受信品質と経路のペア）を記録する。なお、ここで計測結果の算出時刻など追加の情報を、併せて記録することも可能である。
【００７０】
また、計測部１２ｄは、グループＩＤに対応するレコードが存在する場合には、レコードの計測結果（受信品質と経路のペア）を更新する。なお、このとき追加の情報について併せて更新することも可能である。
【００７１】
計測情報解析部１２ｅは、受信された計測の結果を基に、障害箇所の候補を絞り込む。具体的には、計測情報解析部１２ｅは、利用者から設定パラメータとして「計測結果の読み出し間隔」（例えば、１０秒）、「計測結果の閾値」（例えば、パケットロス率１％）を受け取った後、読み出しタイムカウンタも０に設定する。なお、この「計測結果の閾値」は、パケットロス率に限らず、パケット到着間隔のゆらぎなど、受信するサービスの品質に関連する情報ならば適用可能である。
【００７２】
そして、計測情報解析部１２ｅは、読み出しタイムカウンタが「計測結果の読み出し間隔」の１０秒以上になった時点で計測情報データベース１１ｂから計測結果を読み出し、自身の役割（計測、中継、代表）に則した処理を行う。その後、計測情報解析部１２ｅは、読み出しタイムカウンタを再び０に設定する。
【００７３】
ここで、自身の役割（計測、中継、代表）に則した処理として、計測情報解析部１２ｅは、計測情報データベース１１ｂから自身が「中継」の役割を持つ計測エージェント１０として所属しているグループに関連する計測情報を読み出して、障害箇所を絞り込んだ上で、その結果を他の計測エージェントに送信する旨の要求を計測情報送信部１２ｆに通知する。
【００７４】
また、計測情報解析部１２ｅは、計測情報データベース１１ｂから自身が「代表」の役割を持つ計測エージェント１０として所属しているグループに関連する計測情報を読み出して、障害箇所を絞り込んだ上で、その結果を監視サーバ２０に送信する旨の要求を計測情報送信部１２ｆに通知する。
【００７５】
ここで、計測エージェントの役割が「中継」および「代表」である場合の障害箇所の絞込処理について詳しく説明する。まず、計測情報解析部１２ｅは、「役割」をキーとして「グループ情報テーブル」を検索することにより、計測エージェントの役割が「中継」または「代表」であるグループに対応するグループＩＤを把握している状態で、グループＩＤをキーとして計測情報データベース１１ｂを検索する。グループＩＤに対応するレコードが存在しない場合には、以降の処理は行わない。また、グループＩＤに対応するレコードが存在する場合には、計測情報解析部１２ｅは、グループＩＤに対応する全ての計測情報を読み出す。
【００７６】
計測情報解析部１２ｅは、取得した計測結果を基に、計測結果に含まれる経路の中から障害箇所の候補となる部分を抽出し、抽出された障害箇所の候補を計測結果の１要素である「経路」に設定する。
【００７７】
障害箇所の候補となる部分を抽出する方法として、例えば、計測結果解析部１２ｅは、図７に示すように、計測結果を基に、「受信品質」と「経路」の対応表を作成する。ここで、まず「受信品質」がＯＫである計測情報に含まれる「経路」に含まれるリンク（ルータの識別子のペア）を対応表から除外する。そして、残った「リンク」の中から「受信品質」がＮＧの計測結果全てに含まれる「リンク」を障害箇所の候補として抽出する。しかし、上記の方法に限らず、障害箇所の候補を抽出できる手段であるならば、適用すること
は可能である。
【００７８】
そして、計測情報解析部１２ｅは、障害箇所の候補が残らなかった場合には、以降の処理は行わない。また、測情報解析部１２ｅは、障害箇所の候補が残った場合には、計測結果の１要素である「受信品質」にＮＧを設定し、計測結果を「計測情報送信部」に受け渡す。
【００７９】
計測情報送信部１２ｆは、計測情報を他の計測エージェントまたは監視サーバ２０に送信する。具体的には、計測情報送信部１２ｆは、利用者から設定パラメータとして「監視サーバの識別子」（例えば、「１９２．１６８．１．１」）を受け取る。この「監視サーバの識別子」はＩＰアドレスに限らず、ポート番号など監視サーバが一意に識別できる値ならば何でも利用できる。加えて、「監視サーバの識別子」は計算機の利用者から知らされるのではなく、監視サーバから通知されても良いし、他の計測エージェントから通知されても良い。
【００８０】
計測情報送信部１１ｆは、読み出しタイムカウンタが計測結果の読み出し間隔の１０秒以上になった場合には、計測情報送信部１２ｆは計測情報データベース１１ｂから自身が「計測」の役割を持つ計測エージェントとして所属しているグループに関連する計測情報を読み出して、他の計測エージェントに送信する。
【００８１】
計測情報送信部１１ｆは、障害箇所を絞り込んだ結果を他の計測エージェントまたは監視サーバ２０に送信する旨の要求を計測情報解析部１２ｅから受け付けると、他の計測エージェントまたは監視サーバ２０に障害箇所を絞り込んだ結果を送信する。
【００８２】
計測情報送信部１１ｆは、読み出しタイムカウンタが計測結果の読み出し間隔の１０秒以上になると、「役割」をキーとしてグループ情報テーブル１１ａを検索することにより、計測エージェントの役割が「計測」であるグループに対応するグループＩＤを把握している。計測情報送信部１１ｆは、グループＩＤをキーとして計測情報データベース１１ｂを検索する。計測情報送信部１１ｆは、グループＩＤに対応するレコードが存在しない場合、以降の処理は行わない。計測情報送信部１１ｆは、グループＩＤに対応するレコードが存在する場合、計測情報を読み出す。
【００８３】
そして、計測情報送信部１１ｆは、グループＩＤをキーとしてグループ情報テーブル１１ａを検索することにより、計測結果の送信先である「上流」の計測エージェントのＩＰアドレスとポート番号を取得する。続いて、計測情報送信部１１ｆは、計測結果を「上流」の計測エージェントへ送信する。
【００８４】
［監視サーバの構成］
次に、図８を用いて、図１に示した監視サーバ２０の構成を説明する。図８は、実施例１に係る監視サーバ２０の構成を示すブロック図である。同図に示すように、この監視サーバ２０は、計測結果情報データベース２１ａ、解析結果データベース２１ｂ、計測情報受信部２２ａ、計測情報解析部２２ｂ、障害箇所公開部２２ｃを備える。以下にこれらの各部の処理を説明する。
【００８５】
計測結果情報データベース２１ａは、後述する計測情報受信部２２ａが代表計測エージェント１０から受信した計測結果を記憶する。具体的には、計測結果情報データベース２１ａは、「受信品質」がＮＧである「経路」を記憶する。
【００８６】
解析結果データベース２１ｂは、後述する計測情報解析部２２ｂによって解析された結果を記憶する。具体的には、解析結果データベース２１ｂは、図１０に示すように、抽出された障害箇所の候補から障害箇所として特定された特定結果を記憶する。
【００８７】
計測情報受信部２２ａは、代表計測エージェント１０から計測結果を受信する。具体的には、計測情報受信部２２ａは、管理者からの起動要求に応じて、計測エージェント１０から計測結果の受信を開始し、代表計測エージェント１０から計測結果を受信する。
【００８８】
計測情報解析部２２ｂは、計測結果に含まれる経路の中から障害箇所を特定する。具体的には、計測情報解析部２２ｂは、監視サーバが起動した後、管理者から「計測結果の読み出し間隔」の情報を受け取る。例えば、計測結果の読み出し間隔として「１０（秒）」を受け取る。なお、「計測結果の読み出し間隔」は、起動時に管理者が引数として入力しても良いし、設定ファイルなどから読み込んでも良い。
【００８９】
次に、計測情報解析部２２ｂは、タイムカウンタを０に設定した上で、計測情報受信部２２ａに計測エージェントからの計測結果の受信待ち受けを開始する旨を通知する。このタイムカウンタは、一定の間隔ごとに増加していくものとする。例えば、「１秒ごと」にタイムカウンタは１増加する。
【００９０】
そして、計測情報解析部２２ｂは、タイムカウンタが計測結果の読み出し間隔である１０より大きくなった段階で、計測結果データベース２１ａから受信した計測結果を読み出す。そして、計測情報解析部２２ｂは、読み出しが完了した後にタイムカウンタを０に更新する。続いて、計測情報解析部２２ｂは、読み出された計測結果を基に、障害箇所を特定するための解析処理を行い、その結果を解析結果データベース２１ｂに格納する。
【００９１】
ここで、計測情報解析部２２ｂは、障害箇所を特定するための解析処理として、計測結果に含まれる経路の中から障害箇所を特定する。つまり、計測結果解析部２２ｂは、「中継」および「代表」の計測エージェント１０によって絞り込まれた受信品質がＮＧの経路の中から、障害箇所となる部分を特定する。なお、障害箇所の候補となる部分を特定する方法としては、どのような方法を採用しても良く、例えば、受信品質がＮＧの経路に含まれるリンクを全て障害箇所として特定しても良い。
【００９２】
障害箇所公開部２２ｃは、障害箇所の特定結果を様々なネットワークエンティティ（ルータ、計算機、計測エージェントなど、障害箇所に関する情報を利用できる全ての実体）に対して公開する。具体的には、障害箇所公開部２２ｃは、管理者からの起動要求に応じて、接続用インタフェースをオープンする。
【００９３】
その後、障害箇所公開部２２ｃは、ネットワークエンティティからの要求に対して解析結果データベース２１ｂから解析結果を読み出し、特定した障害箇所をネットワークエンティティに対して公開する。なお、ここでは監視サーバが予めネットワークエンティティのＩＰアドレスやポート番号を把握しており、定期的に解析結果を計測エージェントへ報告しても良いし、Ｗｅｂ上に公開する方法も考えられる。
【００９４】
［ネットワーク障害検知システムによる処理］
次に、図１１〜図２３を用いて、実施例１に係るネットワーク障害検知システムの監視サーバおよび計測エージェントによる処理を説明する。図１１は、実施例１に係る監視サーバの処理動作の全体を示すフローチャートであり、図１２は、実施例１に係る計測エージェントの処理動作の全体を示すフローチャートであり、図１３〜図２２は、実施例１に係る計測エージェントによる処理の流れを詳細に示すフローチャートであり、図２３は、実施例１に係る監視サーバによる計測結果取得後の詳細な処理動作を示すフローチャートである。
【００９５】
まず、図１１を用いて、実施例１に係る監視サーバの処理動作を説明する。監視サーバ２０は、管理者からの起動要求を受け付けて、起動した場合には（ステップＳ１肯定）、設定パラメータとして「計測結果の読み出し間隔」を管理者から受け取る（ステップＳ２）。
【００９６】
続いて、監視サーバ２０は、タイムカウンタが計測結果の読み出し間隔である１０より大きくなった段階で、計測結果データベース２１ａから受信した計測結果を計測結果データベース２１ａから読み出す（ステップＳ３）。
【００９７】
その後、監視サーバ２０は、読み出された情報を基に、解析処理を行って障害箇所を特定し、その結果を解析結果データベース２１ｂに格納する（ステップＳ４）。そして、監視サーバ２０は、ネットワークエンティティからの要求に対して解析結果データベース２１ｂから解析結果を読み出し、特定した障害箇所をネットワークエンティティに対して公開する（ステップＳ５）。
【００９８】
次に、図１２を用いて、実施例１に係る計測エージェントの全体の処理を説明する。まず、計測エージェント１０は、計算機の利用者によるサービス受信用アプリケーションの起動と連動して、計測エージェントのソフトウェアは起動されると（ステップＳ１１肯定）、利用者から設定パラメータとして「計測結果の算出間隔」、「計測結果の読み出し間隔」、「計測結果の閾値」、「監視サーバの識別子」の情報を受け取る（ステップＳ１２）。なお、これらの情報は、起動時に計算機の利用者が引数として入力しても良いし、設定ファイルなどから読み込んでも良い。
【００９９】
そして、計測エージェント１０は、オーバレイネットワークへ参加する手続きを行って既にオーバレイネットワークに参加している幾つかの計測エージェントとの間で仮想的なリンクを確立し、複数の計測エージェント１０との間で検索メッセージを交換することにより、同じ提供サーバ２０からサービスを受信している計測エージェント１０を集めてグループを構成する処理（後に図１３を用いて詳述）を行う（ステップＳ１３）。
【０１００】
その後、計測エージェント１０は、計測情報データベース１１ｂに格納された計測結果を取得し（ステップＳ１４）、自身の役割（計測、中継、代表）に則して、その計測結果から障害箇所を絞り込む処理（後に、図１８を用いて詳述）を行う（ステップＳ１５）。
【０１０１】
次に、図１３を用いて実施例１に係る計測エージェントによるグループ分け処理を説明する。図１３は、実施例１に係る計測エージェントによるグループ分け処理の流れを示す
フローチャートである。
【０１０２】
同図に示すように、計測エージェント１０のグループ化機能部１２ｂは、オーバレイネットワーク機能部１２ａと連携して、計測エージェント１０に固有の識別子を割り当てた上でオーバレイネットワークへ参加させる（ステップＳ２１）。そして、グループ化機能部１２ｂは、オーバレイネットワークに参加している他の計測エージェントの中で、同じ提供サーバからサービスを受信している計測エージェントを集めて同じグループに所属させる（ステップＳ２２）。
【０１０３】
続いて、グループ化機能部１２ｂは、各グループにおける計測エージェントの役割（計測、中継、代表）を把握する処理（後に、図１４〜１６を用いて詳述）を行う（ステップＳ２３）。その後、グループ化機能部１２ｂは、計測エージェント間に仮想的なリンクを確立することにより、グループ内の計測エージェントのトポロジを構成する処理（後に、図１７を用いて詳述）を行う（ステップＳ２４）。
【０１０４】
次に、図１４〜１６を用いて実施例１に係る計測エージェントによるグループ内での役割の把握処理を説明する。図１４〜図１６は、実施例１に係る計測エージェントによるグループ内での役割の把握処理の流れを示すフローチャート図である。
【０１０５】
図１４に示すように、計測エージェント１０のグループ化機能部１２ｂは、現在計測エージェントに対してサービスを提供している提供サーバの識別子をパケットから取得しているかを判定する（ステップＳ３１）。つまり、グループ化機能部１２ｂは、提供サーバからのパケットを自計測エージェント１０がモニタリングしているかを判定する。
【０１０６】
そして、グループ化機能部１２ｂは、提供サーバの識別子を取得している場合には（ステップＳ３１肯定）、提供サーバの識別子をオーバレイネットワーク機能部１２ａに通知し、提供サーバに対応するＩＤ（グループＩＤ）を取得する（ステップＳ３３）。
【０１０７】
続いて、グループ化機能部１２ｂは、グループＩＤをキーとしてグループ情報テーブル１１ａを検索する（ステップＳ３４）。検索の結果、グループＩＤに対応するレコードが存在した場合には（ステップＳ３５肯定）、そのレコードに「計測」を追加する（ステップＳ３６）。また、グループＩＤに対応するレコードが存在しない場合には（ステップＳ３５否定）、新たにレコードを作成し（ステップＳ３９）、新たに生成されたレコードに対して「計測」を記録する（ステップＳ４０）。
【０１０８】
その後、グループ化機能部１２ｂが検索メッセージを生成し（ステップＳ３７）、オーバレイネットワーク機能部１２ａは、その検索メッセージを次の計測エージェントへ向けて送信する（ステップＳ３８）。
【０１０９】
また、提供サーバの識別子を取得していない場合には（ステップＳ３１否定）、他の計測エージェントから検索メッセージを受信したか判定する（ステップＳ３２）。その結果、グループ化機能部１２ｂは、他の計測エージェントから検索メッセージを受信した場合には（ステップＳ３２肯定）、図１５に示すように、検索メッセージに格納されているグループＩＤを取得し（ステップＳ４１）、検索メッセージの転送が必要か否かをオーバレイネットワーク機能部１２ａに問い合わせる（ステップＳ４２）。
【０１１０】
その結果、グループ化機能部１２ｂは、まだ検索メッセージの転送が必要である場合には（ステップＳ４２肯定）、グループＩＤをキーとしてグループ情報テーブル１１ａを検索する（ステップＳ４３）。そして、グループ化機能部１２ｂは、グループＩＤに対応するレコードが存在した場合には（ステップＳ４４肯定）、そのレコードに「中継」を追加する（ステップＳ４５）。
【０１１１】
また、グループ化機能部１２ｂは、グループＩＤに対応するレコードが存在しない場合には（ステップＳ４４否定）、新たにレコードを生成し（ステップＳ４７）、新たに生成されたレコードに対して「中継」を記録する（ステップＳ４８）。その後、オーバレイネットワーク機能部１２ａは、適用されているオーバレイネットワークのメッセージ転送方式に従い、検索メッセージを次の計測エージェントへ向けて送信する（ステップＳ４６）。
【０１１２】
また、グループ化機能部１２ｂは、検索メッセージの転送が必要か否かをオーバレイネットワーク機能部１２ａに問い合わせた結果、検索メッセージの転送が必要でない場合（ステップＳ４２否定）、図１６に示すように、グループＩＤをキーとしてグループ情報テーブル１１ａを検索する（ステップＳ５２）。
【０１１３】
その結果、グループ化機能部１２ｂは、グループＩＤに対応するレコードが存在した場合には（ステップＳ５３肯定）、そのレコードに「代表」を追加する（ステップＳ５４）。また、グループ化機能部１２ｂは、グループＩＤに対応するレコードが存在しない場合には（ステップＳ５３否定）、新たにレコードを作成し（ステップＳ５５）、新たに生成されたレコードに対して「代表」を追加する（ステップＳ５６）。
【０１１４】
その後、グループ化機能部１２ｂは、代表通知メッセージを生成する（ステップＳ５７）。続いて、グループ化機能部１２ｂは、生成した代表通知メッセージを監視サーバに送信する（ステップＳ５８）。
【０１１５】
次に、図１７を用いて実施例１に係る計測エージェントによるグループ内でのトポロジ構成処理を説明する。図１７は、実施例１に係る計測エージェントによるグループ内でのトポロジ構成処理の流れを示すフローチャートである。
【０１１６】
同図に示すように、計測エージェント１０のグループ化機能部１２ｂは、オーバレイネットワーク機能部１２ａから受信した検索メッセージに格納されているグループＩＤを取得すると（ステップＳ６１肯定）、取得したグループＩＤをキーとしてグループ情報テーブル１１ａを検索する（ステップＳ６２）。その結果、グループ化機能部１２ｂは、グループＩＤが同一のレコードが存在しない場合には（ステップＳ６３否定）、新たにレコードを作成する（ステップＳ６４）。
【０１１７】
そして、グループ化機能部１２ｂは、レコードの「下流」の項目に、自身に対して検索メッセージを送信した計測エージェントの識別子を追加する（ステップＳ６５）。続いて、グループ化機能部１２ｂは、グループＩＤをキーとしてグループ情報テーブル１１ａを検索し、グループＩＤに対応するグループにおける自身の役割を把握して、役割が「中継」であるかを判定する（ステップＳ６６）。その結果、グループ化機能部１２ｂは、役割が「中継」でない場合には（ステップＳ６６否定）、以降の処理は行わない。
【０１１８】
また、グループ化機能部１２ｂは、役割が「」である場合には（ステップＳ６６肯定）、レコードの「上流」の項目に計測エージェント１０の識別子が記録されているか否かを判定し（ステップＳ６７）、レコードの「上流」の項目に計測エージェント１０の識別子が記録されていない場合には（ステップＳ６７否定）、検索メッセージの送信先となる計測エージェント１０の識別子をオーバレイネットワーク機能部１２ａから取得して、「上流」の項目に記録する（ステップＳ６８）。また、グループ化機能部１２ｂは、レコードの「上流」の項目に計測エージェント１０の識別子が記録している場合には（ステップＳ６７肯定）、そのまま処理を終了する。
【０１１９】
次に、図１８を用いて実施例１に係る計測エージェントによる障害箇所絞込処理を説明する。図１８は、実施例１に係る計測エージェントによる障害箇所絞込処理の流れを示すフローチャートである。
【０１２０】
同図に示すように、計測エージェント１０の計測部１２ｄは、計測タイムカウンタが計測結果の算出間隔の１０秒以上になった場合（ステップＳ７１）、計測結果を算出して（後に、図１９を用いて詳述）、計測情報データベース１１ｂに格納する（ステップＳ７２）。そして、計測情報送信部１１ｆは、読み出しタイムカウンタが計測結果の読み出し間隔の１０秒以上になった場合（ステップＳ７３肯定）、計測情報送信部１２ｆは計測情報データベース１１ｂから自身が「計測」の役割を持つ計測エージェントとして所属しているグループに関連する計測情報を読み出して、他の計測エージェントに送信する処理（後に、図２０を用いて詳述）を行う（ステップＳ７４）。
【０１２１】
そして、計測情報解析部１２ｅは、計測情報データベース１１ｂから自身が「中継」の役割を持つ計測エージェント１０である場合には（ステップＳ７５肯定）、所属しているグループに関連する計測情報を読み出して、障害箇所を絞り込んだ上で（ステップＳ７６）、計測情報送信部１２ｆがその結果を他の計測エージェントに送信処理（後に、図２１を用いて詳述）を行う（ステップＳ７７）。
【０１２２】
続いて、計測情報解析部１２ｅは、計測情報データベース１１ｂから自身が「代表」の役割を持つ計測エージェント１０である場合には（ステップＳ７８肯定）、所属しているグループに関連する計測情報を読み出して、障害箇所を絞り込んだ上で（ステップＳ７９）、計測情報送信部１２ｆがその結果を監視サーバ２０に送信処理（後に、図２２を用いて詳述）を行う（ステップＳ８０）。
【０１２３】
次に、図１９を用いて実施例１に係る計測エージェントによる計測情報の取得処理を説明する。図１９は、実施例１に係る計測エージェントによる計測情報の取得処理の流れを示すフローチャートである。ここでは、計測タイムカウンタが計測結果の算出間隔の１０秒以上になった時点における処理について説明する。なお、以降の処理が終了した段階で、計測タイムカウンタは０にリセットされるものとする。
【０１２４】
同図に示すように、計測エージェント１０の計測部１２ｄは、「経路」を計測し（ステップＳ８１）、計測部１２ｄは、計測結果の１要素である「経路」に，計測結果である提供サーバ・計測エージェント間の「経路」を設定する（ステップＳ８２）。続いて、計測部１２ｄは、受信したサービスに関連するパケットから得られる統計情報を基に、パケットロス率を算出する（ステップＳ８３）。
【０１２５】
その後、計測部１２ｄは、算出されたパケットロス率と予め設定された計測結果の閾値とを比較して（ステップＳ８４）、計測結果のパケットロス率が「計測結果の閾値」である「１％」を超えている場合には（ステップＳ８５肯定）、受信品質を「ＮＧ」と設定し（ステップＳ８６）、一方、超えていない場合には（ステップＳ８５否定）、受信品質を「ＯＫ」と設定する（ステップＳ８７）。
【０１２６】
そして、計測部１２ｄは、グループＩＤをキーとして計測情報データベース１１ｂを検索し（ステップＳ８８）、グループＩＤに対応するレコードが存在しない場合には（ステップＳ８９否定）、新たなレコードを作成して（ステップＳ９０）、計測結果（受信品質と経路のペア）を記録する（ステップＳ９１）。
【０１２７】
また、計測部１２ｄは、グループＩＤに対応するレコードが存在する場合には（ステップＳ８９肯定）、レコードの計測結果（受信品質と経路のペア）を更新する（ステップＳ９２）。
【０１２８】
次に、図２０を用いて計測エージェントの役割が計測である場合の計測情報送信処理を説明する。計測エージェントの役割が計測である場合の計測情報送信処理の流れを示すフローチャートである。ここでは、読み出しタイムカウンタが計測結果の読み出し間隔の１０秒以上になった時点における処理について説明する。以降の処理が完了した段階で、読み出しタイムカウンタは０に更新される。
【０１２９】
同図に示すように、計測エージェント１０の役割が「計測」であるグループに対応するグループＩＤを把握している状態で、計測情報送信部１１ｆは、グループＩＤをキーとして計測情報データベース１１ｂを検索する（ステップＳ１０１）。そして、計測情報送信部１１ｆは、グループＩＤに対応するレコードが存在しない場合には（ステップＳ１０２否定）、以降の処理は行わない。また、計測情報送信部１１ｆは、グループＩＤに対応するレコードが存在する場合（ステップＳ１０２肯定）、計測情報を読み出す（ステップＳ１０３）。
【０１３０】
そして、計測情報送信部１１ｆは、グループＩＤをキーとしてグループ情報テーブル１１ａを検索することにより、計測結果の送信先である「上流」の計測エージェントのＩＰアドレスとポート番号を取得する（ステップＳ１０４）。続いて、計測情報送信部１１ｆは、計測結果を「上流」の計測エージェントへ送信する（ステップＳ１０５）。
【０１３１】
次に、図２１を用いて計測エージェントの役割が中継である場合の絞込結果送信処理を説明する。計測エージェントの役割が中継である場合の絞込結果送信処理の流れを示すフローチャートである。なお、ここでは、読み出しタイムカウンタが計測結果の読み出し間隔の１０秒以上になった時点における処理について説明する。以降の処理が完了した段階で、読み出しタイムカウンタは０に更新される。
【０１３２】
同図に示すように、計測エージェント１０の計測情報解析部１２ｅは、「役割」をキーとして「グループ情報テーブル」を検索することにより、計測エージェントの役割が「中継」であるグループに対応するグループＩＤを把握している状態で、グループＩＤをキーとして計測情報データベース１１ｂを検索する（ステップＳ１１１）。グループＩＤに対応するレコードが存在しない場合には（ステップＳ１１２否定）、以降の処理は行わない。また、グループＩＤに対応するレコードが存在する場合には（ステップＳ１１２肯定）、計測情報解析部１２ｅは、グループＩＤに対応する全ての計測情報を読み出す（ステップＳ１１３）。
【０１３３】
計測情報解析部１２ｅは、取得した計測結果を基に、計測結果に含まれる経路の中から障害箇所の候補となる部分を抽出し、抽出された障害箇所の候補を計測結果の１要素である「経路」に設定する（ステップＳ１１４）。
【０１３４】
そして、計測情報解析部１２ｅは、抽出した結果、障害箇所の候補が残らなかった場合には（ステップＳ１１５否定）、以降の処理は行わない。また、測情報解析部１２ｅは、障害箇所の候補が残った場合には（ステップＳ１１５肯定）、計測結果の１要素である「受信品質」にＮＧを設定し（ステップＳ１１６）、計測結果を計測情報送信部１２ｅに受け渡す。そして、計測情報送信部１２ｅは、グループＩＤをキーとしてグループ情報テーブル１１ａを検索することにより（ステップＳ１１７）、計測結果の送信先である「上流」の計測エージェントのＩＰアドレスとポート番号を取得し、計測結果を「上流」の計測エージェントへ送信する（ステップＳ１１８）。
【０１３５】
次に、図２２を用いて計測エージェントの役割が代表である場合の絞込結果送信処理を説明する。図２２は、計測エージェントの役割が代表である場合の絞込結果送信処理の流れを示すフローチャートである。なお、ここでは、読み出しタイムカウンタが計測結果の読み出し間隔の１０秒以上になった時点における処理について説明する。以降の処理が完了した段階で、読み出しタイムカウンタは０に更新される。
【０１３６】
同図に示すように、計測エージェント１０は、「計測情報解析部」は，「役割」をキーとして「グループ情報テーブル」を検索することにより，計測エージェントの役割が「代表」であるグループに対応するグループIDを把握している状態で、グループＩＤをキーとして計測情報データベース１１ｂを検索する（ステップＳ１２１）。グループＩＤに対応するレコードが存在しない場合には（ステップＳ１２２否定）、以降の処理は行わない。また、グループＩＤに対応するレコードが存在する場合には（ステップＳ１２２肯定）、計測情報解析部１２ｅは、グループＩＤに対応する全ての計測情報を読み出す（ステップＳ１２３）。
【０１３７】
計測情報解析部１２ｅは、取得した計測結果を基に、計測結果に含まれる経路の中から障害箇所の候補となる部分を抽出し、抽出された障害箇所の候補を計測結果の１要素である「経路」に設定する（ステップＳ１２４）。
【０１３８】
そして、計測情報解析部１２ｅは、抽出した結果、障害箇所の候補が残らなかった場合には（ステップＳ１２５否定）、以降の処理は行わない。また、計測情報解析部１２ｅは、障害箇所の候補が残った場合には（ステップＳ１２５肯定）、計測結果の１要素である「受信品質」にＮＧを設定し（ステップＳ１２６）、計測結果を計測情報送信部１２ｅに受け渡す（ステップＳ１２７）。そして、計測情報送信部１２ｆは、計測結果を監視サーバ２０へ送信する（ステップＳ１２８）。
【０１３９】
次に、図２３を用いて監視サーバによる計測結果取得後の詳細な処理を説明する。図２３は、実施例１に係る監視サーバによる計測結果取得後の詳細な処理動作を示すフローチャートである。なお、ここでは、読み出しタイムカウンタが計測結果の読み出し間隔の１０秒以上になった時点における処理について説明する。以降の処理が完了した段階で、読み出しタイムカウンタは０に更新される。
【０１４０】
同図に示すように、監視サーバ２０の計測情報解析部２２ｂは、計測情報データベース２１ａから全ての計測結果を読み出す（ステップＳ１３１）。そして、計測情報解析部２２ｂは、取得した計測結果を基に、計測結果に含まれる経路の中から障害箇所の候補となる部分を抽出する（ステップＳ１３２）。その結果、計測情報解析部２２ｂは、障害箇所の候補が残らなかった場合には（ステップＳ１３３否定）、以降の処理は行わない。
【０１４１】
続いて、計測情報解析部２２ｂは、抽出された障害箇所の候補を障害箇所として特定し（ステップＳ１３４）、その特定結果を解析結果データベース２１ｂに保存する。その後、障害箇所公開部２２ｃは，解析結果データベース２２ｃから障害箇所に関する情報を取得して、その情報をネットワークエンティティに対して公開する（ステップＳ１３５）。
【０１４２】
[実施例１の効果]
上述してきたように、ネットワーク障害検知システム１は、同じ提供サーバからサービスを受信している計測エージェント１０をグループ化し、計測結果をグループ内の計測エージェント群が分散解析して、監視サーバ２０の管理する情報量を減少し、メモリ溢れなどが生じることなくネットワーク上の障害箇所を高速に検出する結果、高い障害検出精度とともに、特に高速な障害検知を可能とする。
【実施例２】
【０１４３】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では実施例２として本発明に含まれる他の実施例を説明する。
【０１４４】
（１）ランダム
上記の実施例１では、提供サーバに対応するＩＤをグループＩＤとして取得する場合を説明したが、本発明はこれに限定されるものではなく、ランダムに生成された値を基にグループＩＤを取得するようにしてもよい。
【０１４５】
上記するランダムに生成された値を基にグループＩＤを取得する処理の具体的な処理手順について図２４を用いて説明する。同図にしめすように、まず、計測エージェント１０ａは、ランダムなＩＤを生成する（ステップＳ１４１）。そして、計測エージェント１０ａは、そのランダムなＩＤを管理する計測エージェントを検索し（ステップＳ１４２）、発見した計測エージェントのＩＤをグループＩＤとして決定する（ステップＳ１４３）。以下のＳ１４４〜Ｓ１４８の処理については、上述した図１４のＳ３４〜Ｓ３８と同様である。
【０１４６】
つまり、計測エージェントが生成したランダムなＩＤをそのままグループＩＤとして利用すると、同じＩＤを生成する計測エージェントが存在しないまたは非常に少なくなるという恐れがあり、その結果、グループの数（グループＩＤの数）が多くなり、監視サーバに掛かる負荷を減少できないという事態になってしまう。しかし、上記した処理を行うことによって、各計測エージェントの管理するＩＤの範囲に含まれるランダムなＩＤ全てが同一のグループＩＤとなるので、グループの数が多くなりすぎることはない。
【０１４７】
このように、ランダムなＩＤを用いてグループＩＤを取得するとともに、監視サーバに掛かる負荷を減少して高速に障害検知することが可能である。
【０１４８】
（２）計測エージェントの削除
また、本発明は不要な計測エージェントをグループから削除するようにしてもよい。つまり、図２５に示すように、下流の計測エージェントが一つの場合には、下流から受信した計測結果を上流に受け渡すのみなので、必要がなく、不要な計測エージェントとしてグループから削除する処理を行う。
【０１４９】
具体的には、グループの「代表」計測エージェントは、グループを再構築するための「グループ再構築メッセージ」を下流に送信する。そして、メッセージを受信した計測エージェントは、下流の計測エージェント数を調査し、下流の計測エージェント数が「１」の場合には、そのメッセージを受信した計測エージェントはグループから離脱し、その削除された計測エージェントにおける下流の計測エージェントに削除した旨のメッセージを転送する。
【０１５０】
このように、不要な計測エージェント１０を削除するので、削除したエージェントの負荷を軽減し、検出精度を向上することが可能である。
【０１５１】
（３）システム構成等
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、計測情報受信部１２ｃと計測部１２ｄを統合してもよい。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０１５２】
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【０１５３】
（４）プログラム
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをコンピュータで実行することによって実現することができる。そこで、以下では、図２６および図２７を用いて、上記の実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図２６および図２７は、ネットワーク障害検知プログラムを実行するコンピュータを示す図である。
【０１５４】
図２６に示すように、計測エージェントとしてのコンピュータ６００は、ＨＤＤ６１０、ＲＡＭ６２０、ＲＯＭ６３０およびＣＰＵ６４０をバス６５０で接続して構成される。
【０１５５】
そして、ＲＯＭ６３０には、上記の実施例と同様の機能を発揮するネットワーク障害検知プログラム、つまり、図２６に示すように、オーバレイネットワーク機能プログラム６３１、グループ化機能プログラム６３２、計測情報受信プログラム６３３、計測プログラム６３４、計測情報解析プログラム６３５および計測情報送信プログラム６３６が予め記憶されている。なお、プログラム６３１〜６３６については、図２に示した計測エージェント１０の各構成要素と同様、適宜統合または分散してもよい。
【０１５６】
そして、ＣＰＵ６４０が、これらのプログラム６３１〜６３６をＲＯＭ６３０から読み出して実行することで、図２６に示すように、各プログラム６３１〜６３６は、オーバレイネットワーク機能プロセス６４１、グループ化機能プロセス６４２、計測情報受信プロセス６４３、計測プロセス６４４、計測情報解析プロセス６４５および計測情報送信プロセス６４６として機能するようになる。各プロセス６４１〜６４６は、図２に示したオーバレイネットワーク機能部１２ａ、グループ化機能部１２ｂ、計測情報受信部１２ｃ、計測部１２ｄ、計測情報解析部１２ｅ、計測情報送信部１２ｆにそれぞれ対応する。
【０１５７】
また、ＨＤＤ６１０には、図２６に示すように、グループ情報テーブル６１１および計測情報テーブル６１２が設けられる。なお、グループ情報テーブル６１１および計測情報テーブル６１２は、図２に示したグループ情報テーブル１１ａ、計測情報データベース１１ｂに対応する。そして、ＣＰＵ６４０は、グループ情報テーブル６１１および計測情報テーブル６１２に対してデータを登録するとともに、グループ情報テーブル６１１および計測情報テーブル６１２からグループ情報データ６２１および計測情報データ６２２を読み出してＲＡＭ６２０に格納し、ＲＡＭ６２０に格納されたグループ情報データ６２１および計測情報データ６２２に基づいて情報を管理する処理を実行する。
【０１５８】
次に、図２７に示すように、監視サーバとしてのコンピュータ７００は、ＨＤＤ７１０、ＲＡＭ７２０、ＲＯＭ７３０およびＣＰＵ７４０をバス７５０で接続して構成される。
【０１５９】
そして、ＲＯＭ７３０には、上記の実施例と同様の機能を発揮するネットワーク障害検知プログラム、つまり、図２７に示すように、計測情報受信プログラム７３１、計測情報解析プログラム７３２、障害箇所公開プログラム７３３が予め記憶されている。なお、プログラム７３１〜７３３については、図８に示した計測エージェント１０の各構成要素と同様、適宜統合または分散してもよい。
【０１６０】
そして、ＣＰＵ７４０が、これらのプログラム７３１〜７３３をＲＯＭ７３０から読み出して実行することで、図２７に示すように、各プログラム７３１〜７３３は、計測情報受信プロセス７４１、計測情報解析プロセス７４２、障害箇所公開プロセス７４３として機能するようになる。各プロセス７４１〜７４３は、図８に示した計測情報受信部２２ａ、計測情報解析部２２ｂ、障害箇所公開部２２ｃにそれぞれ対応する。
【０１６１】
また、ＨＤＤ７１０には、図２７に示すように、計測結果情報テーブル７１１および解析結果テーブル７１２が設けられる。なお、計測結果情報テーブル７１１および解析結果テーブル７１２は、図８に示した計測結果情報データベース２１ａ、解析結果データベース２１ｂに対応する。そして、ＣＰＵ７４０は、計測結果情報テーブル７１１および解析結果テーブル７１２に対してデータを登録するとともに、計測結果情報テーブル７１１および解析結果テーブル７１２から計測結果情報データ７２１および解析結果データ７２２を読み出してＲＡＭ７２０に格納し、ＲＡＭ７２０に格納された計測結果情報データ７２１および解析結果データ７２２に基づいて情報を管理する処理を実行する。
【産業上の利用可能性】
【０１６２】
以上のように、本発明に係るネットワーク障害検知システムは、ネットワーク上に配置された計測エージェントが提供サーバによって提供されるサービスの品質を計測し、当該計測の結果を監視サーバが解析して障害箇所を特定することに有用であり、特に、高い障害検出精度とともに、高速な障害検知を行う場合に適する。
【図面の簡単な説明】
【０１６３】
【図１】図１は、実施例１に係るネットワーク障害検知システムの概要および特徴を説明するための図である。
【図２】図２は、実施例１に係る計測エージェントの構成を示すブロック図である。
【図３】図３は、グループ情報テーブルを説明するための図である。
【図４】図４は、計測情報データベースを説明するための図である。
【図５】図５は、Ｐ２Ｐを用いたグループ化機能について説明するための図である。
【図６】図６は、計測エージェントが構成するトポロジを説明するための図である。
【図７】図７は、障害箇所絞込みを説明するための図である。
【図８】図８は、実施例１に係る監視サーバ２０の構成を示すブロック図である。
【図９】図９は、計測結果情報データベースを説明するための図である。
【図１０】図１０は、解析結果データベース２１ｂを説明するための図である。
【図１１】図１１は、実施例１に係る監視サーバの処理動作の全体を示すフローチャートである。
【図１２】図１２は、実施例１に係る計測エージェントの処理動作の全体を示すフローチャートである。
【図１３】図１３は、実施例１に係る計測エージェントによるグループ分け処理の流れを示すフローチャートである。
【図１４】図１４は、実施例１に係る計測エージェントによるグループ内での役割の把握処理の流れを示すフローチャートである。
【図１５】図１５は、実施例１に係る計測エージェントによるグループ内での役割の把握処理の流れを示すフローチャートである。
【図１６】図１６は、実施例１に係る計測エージェントによるグループ内での役割の把握処理の流れを示すフローチャートである。
【図１７】図１７は、実施例１に係る計測エージェントによるグループ内でのトポロジ構成処理の流れを示すフローチャートである。
【図１８】図１８は、実施例１に係る計測エージェントによる障害箇所絞込処理の流れを示すフローチャートである。
【図１９】図１９は、実施例１に係る計測エージェントによる計測情報の取得処理の流れを示すフローチャートである。
【図２０】図２０は、計測エージェントの役割が計測である場合の計測情報送信処理の流れを示すフローチャートである。
【図２１】図２１は、計測エージェントの役割が中継である場合の絞込送信処理の流れを示すフローチャートである。
【図２２】図２２は、計測エージェントの役割が代表である場合の絞込結果送信処理の流れを示すフローチャートである。
【図２３】図２３は、実施例１に係る監視サーバによる計測結果取得後の詳細な処理動作を示すフローチャートである。
【図２４】図２４は、実施例２に係るネットワーク障害検知システムにおいて、ランダムに生成された値を基にグループＩＤを取得する処理動作を示すフローチャートである。
【図２５】図２５は、実施例２に係るネットワーク障害検知システムにおいて、不要な計測エージェントをグループから削除する処理を説明するための図である。
【図２６】図２６は、ネットワーク障害検知プログラムを実行するコンピュータを示す図である。
【図２７】図２７は、ネットワーク障害検知プログラムを実行するコンピュータを示す図である。
【図２８】図２８は、従来技術を説明するための図である。
【符号の説明】
【０１６４】
１  ネットワーク障害検知システム
１０  計測エージェント
１１ａ  グループ情報テーブル
１１ｂ  計測情報データベース
１２ａ  オーバレイネットワーク機能部
１２ｂ  グループ化機能部
１２ｃ  計測情報受信部
１２ｄ  計測部
１２ｅ  計測情報解析部
１２ｆ  計測情報送信部
２０  監視サーバ
２１ａ  計測結果情報データベース
２１ｂ  解析結果データベース
２２ａ  計測情報受信部
２２ｂ  計測情報解析部
２２ｃ  障害箇所公開部
【国際調査報告】
2009004701.tif 000031
2009004701.tif 000032
2009004701.tif 000033
2009004701.tif 000034
2009004701.tif 000035