説明

ネットワーク障害検知プログラム、システム、及び方法

【課題】送信経路上の障害箇所の特定(検知)精度を維持しつつ、監視サーバが解析の対象とする情報量をより抑えるための技術を提供する。
【解決手段】計測エージェントを実行するノード30には、配信サーバから送信されたサービストラヒックを計測する計測部31、そのサービストラヒックが送信される送信経路全体に対応する論理木を自律的に構築し、その論理木上で隣接する隣接ノード30を発見する隣接エージェント発見部32、及び隣接ノード30によって決定される監視対象範囲の障害状況を監視する障害箇所推定部33が実現される。それにより、各ノード30で障害の特定に必要な負荷や情報を分散させて、監視サーバに要求される負荷を軽減させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、配信サーバからサービストラヒックが送信されるネットワーク上の経路に発生する障害を検知(特定)するための技術に関する。
【背景技術】
【0002】
現在、インターネットに代表されるネットワークは、各種サービスを提供するために幅広く用いられている。そのサービスのなかには、映像配信やオンラインゲームのように、サービストラヒックを比較的に長い時間、継続して送信するサービスがある。
【0003】
そのようなサービスでは、サービストラヒックの転送経路上にスイッチの故障やルータでの輻輳等による障害が発生すると、サービストラヒックの受信品質が大きく低下する。例えばパケットロス率が大きくなると、サービストラヒックの送信に必要な時間がより長くなる、といった不具合が発生する。このことから、経路(ネットワーク)上に発生した障害には迅速に対応することが重要となっている。
【0004】
これまでは、ネットワーク上で障害が発生した障害箇所は、ネットワーク管理者がノウハウを基に特定していた。しかし、管理者による障害箇所の特定には、非常に長い時間を要するのが普通である。このことから近年では、ネットワーク上の障害箇所を自動的に特定する技術が検討されている。
【0005】
図29は、従来のネットワーク障害検知システムにおける障害箇所推定方法の説明図である。このシステムは、アプリケーションサーバから送信されるサービストラヒックの経路上に発生した障害を自動的に検知するためのものである。
【0006】
図29に示すネットワーク障害検知システムは、ソフトウェアである計測エージェントを実行する多数のノード、及び監視サーバ280を備えた構成である。計測エージェントを実行するノードについては、そのエージェントを実行しないノードと区別するために、以降「計測ノード」と呼ぶことにする。
【0007】
図29では、計測ノードとして271或いは272を付した2つを示している。それら計測ノード271及び272のうちの何れであっても良い場合には、符号として270を用いることにする。これは261或いは262を付した2つのアプリケーションサーバ、及び291或いは292を付した計測ノード270以外のノードでも同様である。例えばアプリケーションサーバでは、アプリケーションサーバ261及び262のうちの何れであっても良い場合には符号として「260」を用いる。
【0008】
計測エージェントは、アプリケーションサーバ260から送信されたサービストラヒックの受信品質およびサービストラヒックの送信経路を計測し、計測した受信品質とサービストラヒックの送信経路とを含む計測結果を監視サーバ280に送信する機能を備えている。監視サーバ280は、各計測ノード270から受信した計測結果を解析し、障害の発生の有無を判定する。障害が発生していると判定した場合に、障害箇所を推定する。このようなことから、障害箇所の推定は、計測ノード270による計測(ST1)、計測結果の監視サーバ280への報告(ST2)、監視サーバ280による解析(ST3)、のシーケンスで行われる。
【0009】
障害箇所の推定は、以下のようにして行われる。ここでは、アプリケーションサーバ261が送信するサービストラヒックは計測ノード272によって計測され、アプリケーションサーバ262が送信するサービストラヒックは計測ノード271によって計測されることを想定する。つまり、アプリケーションサーバ261が送信するサービストラヒックは、アプリケーションサーバ261とノード291間のリンクL4、ノード291とノード292間のリンクL2、及びノード292と計測ノード272間のリンクL5を含む送信経路であるパス1を介して計測ノード272に転送され、アプリケーションサーバ262が送信するサービストラヒックは、アプリケーションサーバ262とノード292間のリンクL3、リンクL2、及びノード291と計測ノード271間のリンクL1を含む送信経路であるパス2を介して計測ノード271に転送されることを想定する。
【0010】
計測ノード272が監視サーバ280に送信する計測結果には、受信品質の他に、サービストラヒックの送信経路が含まれる。図29中に示す表では、送信経路に含まれるリンクは「1」を表記することで示している。表中の「劣化」は、計測した受信品質が悪い、つまり送信系路上の何れかのリンクに障害が発生していることを表している。
【0011】
受信品質は、サービストラヒックが輻輳することで低下する。このことから監視サーバ280は、受信品質が「劣化」の送信経路間で共通するリンクを抽出し、そのリンクを障害箇所と推定する。それにより、図29に示す例では、パス1及び2で共通するリンクL2が障害箇所と推定される。
【特許文献1】特開2006−238052号公報
【非特許文献1】N.G. Duffield, and et. al., Simple Network Performance Tomography,” In Proc. of ACM SIGCOMM Internet Measurement Conference 2003.
【非特許文献2】Q. Lv, et. al., “Search and Replication in Unstructured Peer-to-Peer Networks,” Proc. of ICS’02, pp. 84-95, 2002.
【非特許文献3】E. Keong, et. al., “A Survey and Comparisonof Peer-to-Peer Overlay Network Schemes,” Journal of IEEE Communication Surveys, Vol. 7, No. 2, pp. 72-93, 2005.
【非特許文献4】I. Stoica, et. al., ``Chord: A Scalable Peer-to-Peer Lookup Protocol for Internet Applications,” Journal of IEEE/ACM Transactions on Networking, Vol. 11, No. 1, 2003.
【発明の開示】
【発明が解決しようとする課題】
【0012】
上述したような従来のネットワーク障害検知システムでは、各計測ノード270が送信する計測結果を監視サーバ280が解析して、障害箇所を特定する。このようなことから、監視サーバ280が解析の対象とする情報量が膨大となり易いという問題点があった。その問題点は、必要なハードウェア資源が大きくなる、負荷が重くなって障害箇所の特定にかかる時間が長くなる、といった形で表面化する。
【0013】
膨大な情報量を管理する必要性を回避して、高速に障害箇所を特定するために、複数の監視サーバを設置して分散処理させる手法も提案されている。しかし、そのような分散処理を採用した場合、各監視サーバは全情報のうちの一部を対象に解析を行うことになる。このため、ネットワーク全体を俯瞰する形での解析を行うことができず、障害箇所の特定精度が低下することが知られている。監視サーバは、ネットワークの規模に応じた数分、設置する必要がある。このため、大規模なネットワークでは、多数の監視サーバを設置しなければならず、設備投資にかかるコストは膨大となる。このようなことから、複数の監視サーバを用いた分散処理は実用上、望ましいものではない。
【0014】
本発明は、送信経路上の障害箇所の特定(検知)精度を維持しつつ、監視サーバが解析の対象とする情報量をより抑えるための技術を提供することを目的とする。
【課題を解決するための手段】
【0015】
本発明を適用した1システムでは、ネットワーク上に配置された配信サーバからサービストラヒックが送信される送信経路上に発生している障害を検知するために、送信経路上に存在し、配信サーバから送信されるサービストラヒックを監視するノード、及び該ノードから送信される情報を解析して障害が発生している障害箇所を特定する監視サーバを備えている。各ノードは、サービストラヒックを計測する計測手段と、送信経路に対応した論理的なツリー構造上で隣接するノードである隣接ノードを認識してリンクを確立し、該ツリー構造上における自身の位置を認識して、該ツリー構造上で前記障害の発生を監視すべきリンクである監視対象リンクを設定する隣接ノード特定手段と、計測手段による計測結果を用いて、隣接ノード特定手段が設定した監視対象リンクのなかで障害が発生している可能性のある監視対象リンクを障害箇所として推定し、該推定結果を隣接ノード及び監視サーバのうちの一方に送信する障害リンク推定手段と、を具備する。監視サーバは、ノードから受信した障害箇所の推定結果を解析して、送信経路上の障害箇所を特定する障害リンク特定手段、を具備する。
【0016】
上記システムを構成するノードは、サービストラヒックの送信経路に対応した論理的なツリー構造を自律的に構築し、該送信経路の中で障害の発生を監視すべき監視対象リンクを自動的に設定し、設定した監視対象リンクを監視して、そのなかで障害が発生している可能性のある監視対象リンクを障害箇所として推定する。そのような障害箇所の推定により、送信経路全体のなかで発生した障害を特定するために考慮すべき範囲(リンク)は非常に狭められる。しかし、障害箇所の特定は、配信サーバから送信されているサービストラヒックの送信経路全体の情報を用いて行う形となる。そのため,既存の集中型のシステムには及ばないが,ネットワークの広範囲を俯瞰する形での解析を行うことができる。これらの結果、障害箇所の特定精度は高く維持させつつ、監視サーバが解析の対象とする情報量はより抑えられることとなる。それにより、監視サーバに必要なハードウェア資源は抑えられ、その負荷は軽減される。
【発明の効果】
【0017】
本発明を適用した場合には、送信経路上の障害箇所の特定(検知)精度を維持しつつ、監視サーバが解析の対象とする情報量をより抑えることができる。
【発明を実施するための最良の形態】
【0018】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
図1は、本実施形態によるネットワーク障害検知システムの概要を示す図である。
図1中の物理ネットワークは、サービストラヒックを送信する配信サーバ10毎に存在する、ネットワーク全体でそのサービストラヒックの送信に用いられる部分、つまり送信経路の集合体に相当する。本実施形態では、物理ネットワークを構成するノード30に、その物理ネットワークに対応する論理木(論理的なツリー構造)を自律的に構築させ、各ノード30に障害の推定に係わる処理を実行させる。監視サーバ20には、各ノード30で確定できていない(推定はできているが、特定はできていない)障害を特定させる。そのようにして、発生した障害の特定に要する処理を各ノード30に分散させて実行させることにより、障害箇所の特定精度を維持させつつ、監視サーバ20による解析の対象となる情報量を低減させる。
【0019】
論理木を自律的に構築させるノード30は、分散処理用のソフトウェアである計測エージェントを実行可能なデータ処理装置(コンピュータ)として用いることが可能なものである。本実施形態では、論理木の構築にオーバレイネットワーク技術を利用している。オーバレイネットワーク技術とは、以下のようなものである。
【0020】
オーバレイネットワーク技術は、インターネットに代表されるネットワークを構成する
ノード群(ルータ、コンピュータ、ゲートウェイ、など)の中で、ある定められた目的に用いるノードのみが存在する論理的なネットワークを構築する技術である。論理ネットワーク内では、その目的が達成しやすいようにノード間に論理的なリンクが確立されており、その論理的なリンクに沿ってノード間で情報の交換が行われる。ピアツーピア(P2P)ネットワークは、各ノードが所持する情報の流通・共有・発見に特化したオーバレイネットワークである。そのP2Pネットワークでは、全てのノードが目的の情報を短時間で発見できるように、自身のノード(自ノード)に論理ネットワーク上で隣接する隣接ノードおよびデータの転送規則が設定されている。本実施形態では、このP2Pネットワーク技術を応用したオーバレイネットワーク技術を利用している。
【0021】
P2Pネットワークは、確実に目的の情報は発見できないが、実装が容易でありキーワード検索のような曖昧検索を得意とする非構造型P2Pネットワーク(非特許文献2)と、実装は複雑であるが目的の情報を確実に発見できる構造型P2Pネットワーク(非特許文献3)とに大別できる。本実施形態では構造型P2Pネットワークを採用している。しかし、以下の特徴を持つオーバレイネットワークならば採用は可能である。
・P2Pネットワーク全体で管理するIDの空間が与えられており、各ノードは、その中で決められた範囲のIDを管理している。ここで、あるIDを管理するノードは1台のみとなっている
・各ノードは、管理対象のIDに対応する情報または情報のインデックスを管理している
・論理ネットワーク上でのデータ転送規則に従ってノード間でメッセージが交換されることにより、指定されたIDを管理するノードまで短時間でメッセージを送信することができる
構造型P2Pネットワーク(以降、特に断らない限り「P2Pネットワーク」は構造型P2Pネットワークを指す意味で用いる)に参加している各ノードは、基本的に以下の情報を管理している。
・P2Pネットワーク上で、一意に自身を識別するためのID(ノードID)
(一般的に、IPアドレスやポート番号などのノードの識別子をハッシュ関数(SHA−1など)に入力することにより算出する)
・P2Pネットワークに参加している複数の他のノードへの経路表(ノードIDと識別子の対応表)
(一般的に、log(N)個のノードへの情報を管理 (N:P2Pネットワークを構成する全ノード数)
P2Pネットワークでは、例えば利用者からあるIDに対応する情報の取得要求があった場合、取得要求を受けたノードはそのIDを格納した検索メッセージを生成し、経路表の中で、そのID側で自ノードに最も近いIDを持つノードへ検索メッセージを送信する。そのメッセージを受信したノードは、同様に自ノードに最も近いIDを持つノードに検索メッセージを転送する。そのようにして転送を繰り返し行うことにより、指定されたIDを管理しているノード(以下、対応ノード)に検索メッセージが届けられる。この結果、対応ノードがIDに対応する情報を持っている場合には、その情報が要求元のノードへ送信される。このとき、対応ノードへ検索メッセージが届くまでに、検索メッセージは高々log(N)個のノードしか経由しない。
【0022】
本実施形態では、上述のようなオーバレイネットワーク技術を用いて物理ネットワーク(送信経路)に対応する論理木を自律的に構築する。各ノード30は、論理木の構築により、送信経路のなかで自ノードが障害の発生を監視すべき監視対象範囲(論理木のなかで隣接するノード間のリンク)を認識し、その監視対象範囲の障害状況を推定、つまり障害が発生しているか否か推定する。その障害状況の推定は、他のノード30から受信する計測結果を参照して行う。その計測結果とは、計測した受信品質、及びその送信経路を含むメッセージである。
【0023】
論理木を自律的に構築するノード30は、本実施形態によるネットワーク障害検知システムの実現用のソフトウェアである計測エージェントを実行するノードである。他のノードと区別するために、計測エージェントを実行するノードは以降「計測ノード」と呼ぶ。計測ノード30は計測エージェントによって制御されることから、特に断らない限り、計測エージェントは計測ノード30と同じ意味で用いる。
【0024】
図2は、計測エージェントによって計測ノード30上に実現される機能構成を示す図である。図2に示すように、計測エージェントは、配信サーバ10から送信されたサービストラヒックを計測する計測部31、論理木を自律的に構築し、その論理木上で隣接する隣接ノードを発見する隣接エージェント発見部32、及び隣接ノードによって決定される監視対象範囲の障害状況を監視する障害箇所推定部33をノード30上に実現させ、計測結果収納データベース(DB)34、解析結果収納DB35及びグループ情報管理DB35を生成・管理する。その計測エージェントは、計測ノード30が備えた、或いはアクセス可能な記憶装置に格納される。必要に応じて、ネットワーク70を介して送信するようにしても良い。
【0025】
図28は、上記計測ノード30として用いることが可能なコンピュータのハードウェア構成の一例を示す図である。図2に示す各部31〜33の詳細な説明の前に、算計測ノード30として用いることが可能なコンピュータの構成について具体的に説明する。
【0026】
図28に示すコンピュータは、CPU81、メモリ82、入力装置83、出力装置84、外部記憶装置85、媒体駆動装置86、及びネットワーク接続装置87を有し、これらがバス88によって互いに接続された構成となっている。同図に示す構成は一例であり、これに限定されるものではない。
【0027】
CPU81は、当該コンピュータ全体の制御を行う。メモリ82は、プログラム実行、データ更新等の際に、外部記憶装置85(あるいは可搬型の記録媒体MD)に記憶されているプログラムあるいはデータを一時的に格納するRAM等のメモリである。CPU81は、プログラムをメモリ82に読み出して実行することにより、全体の制御を行う。
【0028】
入力装置83は、例えば、キーボード、マウス等の操作対象装置と接続されたインターフェース、或いはそれらを全て有するものである。操作対象装置に対するユーザの操作を検出し、その検出結果をCPU81に通知する。
【0029】
出力装置84は、例えば表示装置と接続された表示制御装置、或いはそれらを有するものである。CPU81の制御によって送られてくるデータを表示装置上に出力させる。
ネットワーク接続装置87は、ネットワーク70を介して、外部装置である他の計測ノード30、配信サーバ10、或いは監視サーバ20と通信を行うためのものである。外部記憶装置85は、例えばハードディスク装置である。主に各種データやプログラムの保存に用いられる。
【0030】
記憶媒体駆動装置86は、光ディスクや光磁気ディスク等の可搬型の記録媒体MDにアクセスするものである。
図28に示す構成では、上記計測エージェントは、外部記憶装置85、若しくは記録媒体MDに格納されているか、或いはネットワーク接続装置87によりネットワーク70を介して外部装置から受信される。図2に示すDB34〜36は、例えば外部記憶装置85上に構築される。外部記憶装置85、若しくは記録媒体MDから読み出された、或いはネットワーク接続装置87が受信した計測エージェントはメモリ82に格納され、CPU81により実行される。その計測エージェントを実行することにより、図28に示す構成のコンピュータは計測モード30として機能する。
【0031】
図3は、隣接エージェント発見部32の機能構成を示す図である。図3に示すように、隣接エージェント発見部32は、オーバレイネットワーク機能部32a、メッセージ送出部32b、メッセージ転送部32c、隣接エージェント決定部32d、冗長エージェント削除開始部32e、及び冗長エージェント判断部32fを備えた機能構成となっている。図3中では、配信サーバ10は「アプリケーションサーバ」と表記している。これは図4でも同様である。
【0032】
図4は、障害箇所推定部33の機能構成を示す図である。図4に示すように、障害箇所推定部33は、計測情報通知部33a、計測結果解析部33b及び障害箇所通知部33cを備えた機能構成となっている。
【0033】
隣接エージェント発見部32、及び障害箇所推定部33を実現させる計測エージェントは、以下のような処理を計測ノード30に実行させる。以降は図9〜図19に示す各種フローチャートを参照して、隣接エージェント発見部32、及び障害箇所推定部33の動作について詳細に説明する。
【0034】
図9は、計測エージェントにより実行される処理の全体的な流れを示すフローチャートである。始めに図9を参照して、その処理の全体的な流れについて具体的に説明する。
計測ノード30は、ネットワーク70を構成するルータ等のエンティティか、或いは配信サーバ10によるサービスを利用する利用者が使用するコンピュータ(パーソナル・コンピュータ(PC)、PDA、或いは家電商品(例えばセットトップボックス)など)である。この計測ノード30は、論理木上では最下層に位置し、ネットワーク70上では、配信サーバ10から送信されるサービストラヒックの最終的な転送先となる。図9に示すフローチャートは、利用者が使用するコンピュータが計測ノード30であった場合のものである。
【0035】
計測エージェントは、利用者が使用するコンピュータで配信サーバ10によるサービスを利用するためのアプリケーション(以降「サービス受信用アプリケーション」と呼ぶ。そのアプリケーションとしては、映像受信(再生)用のもの、電話用のもの、などを挙げることができる)の起動と連動して起動される(ステップS1)。この計測エージェントは利用者のコンピュータ上でメモリに常駐させても良い。ホームゲートウェイのようなハードウェア、或いはルータ等が計測ノード30であった場合には、電源の投入と連動して起動させれば良い。
【0036】
起動後の計測エージェントは、例えば利用者の指示に従って「計測結果の算出間隔」、「計測結果の解析間隔」、「解析結果の通知間隔」、「受信品質の閾値」、「監視サーバ20の識別子」といった各種設定パラメータの読み込みを行う(ステップS2)。それら設定パラメータとは、例えば「計測結果の算出間隔」や「計測結果の解析間隔」或いは「解析結果の通知間隔」のような時間に係わるパラメータでは10(秒)といった時間情報である。「受信品質の閾値」では、パケットロス率1%といったように、受信品質を評価する指標と、その指標での閾値とを組みにする情報である。それにより、その情報がパケットロス率1%を示していた場合、実際に計測したパケットロス率が1%を越えれば受信品質は「Bad」、そうでなければ受信品質は「Good」と判定される。その指標は、パケット到着間隔のゆらぎなど、受信品質を表すものであれば幅広く適用可能である。
【0037】
「監視サーバの識別子」とは、例えばそのIPアドレスである。その識別子は、URLなど監視サーバ20が一意に識別できる値ならば何でも利用できる。また、監視サーバ20から通知させても良いし、他の計測ノード30から通知させても良い。
【0038】
上記のような各種設定パラメータは、ファイルなどに用意して読み込ませても良い。ルータ等の計測ノード30では、各種設定ファイルを格納したファイルに用意して、起動後に読み込ませれば良い。
【0039】
設定パラメータを読み込んだ後は、オーバレイネットワークへ参加し、論理的なリンクを確立するために隣接ノード30を発見する手続きを行う(ステップS3)。オーバレイネットワークへの参加では、例えばChord(非特許文献4)というオーバレイネットワークを想定した場合には、先ずネットワーク70上で一意に自身を識別できるIDを算出した上で、既にオーバレイネットワークに参加している他の計測ノード30との間で仮想的なリンクを確立する。次に、計測ノード30はリンクを確立した計測ノード30との間で検索メッセージを交換することにより、全体として配信(アプリケーション)サーバ10から計測ノード30へサービストラヒックが送信される経路に対応する論理木が構築できるように、隣接する計測ノード30の識別子を把握する。論理木を自律的に構築する上では、以下の特徴を持つオーバレイネットワークであることが望ましい。
・各計測ノード30は、ある決められた範囲のIDを管理している(つまり、あるIDを管理している計測ノード30の数は1個のみ)
・複数の計測ノード30を経由することにより、どのIDを管理する計測ノード30にも必ずメッセージを届けることが可能
隣接ノード30を発見する手続きを行った後は、サービストラヒックの送信経路と論理木の構成を比較することにより、監視対象区間を把握する(ステップS4)。図3に機能構成を示す隣接エージェント発見部32は、ステップS3及びS4の実行により実現される。図4に機能構成を示す障害箇所推定部33は、後述するステップS5〜S7の実行により実現される。
【0040】
ステップS5では、各種設定パラメータに従い、監視対象区間の障害状況の把握を行う。例えば「計測結果の算出間隔」が10秒であれば、10秒が経過するたびに、サービストラヒックの受信結果を「受信品質の閾値」と比較し、受信品質を判定する。「受信品質の閾値」がパケットロス率1%であり、実際のパケットロス率が1.5%であれば、受信品質はBadと判定する。そのように判定される受信品質は、計測結果として計測結果収納DB34に格納される。また、「計測結果の解析間隔」が10秒であれば、10秒が経過するたびに、計測結果収容DB34から計測結果を読み出し、監視対象区間内/外の障害状況を推定する。監視対象区間外の計測結果は、論理木の上流に位置する隣接ノード30に送信され、監視対象区間内の計測結果は解析結果収容DB35に格納される。
【0041】
ここで、図6及び図7を参照して、計測結果収納DB34及び解析結果収納DB35のデータ構成について具体的に説明する。図6は、計測結果収納DB34のデータ構成を示す図であり、図7は、解析結果収納DB35のデータ構成を示す図である。
【0042】
計測結果収納DB34には、図6に示すように、グループ識別子(ID)、受信品質、及び区間の各データが1レコードに格納される。解析結果収納DB35には、図7に示すように、グループ識別子(ID)毎に、監視対象区間、及び受信品質が1レコードに格納される。
【0043】
論理木は、配信サーバ10毎、或いは配信サーバ10が提供するサービス毎に構築される。これは、配信サーバ10毎、或いは配信サーバ10が提供するサービス毎に利用者、つまり送信経路が異なるからである。グループ識別子は、そのように配信サーバ10毎、或いは配信サーバ10が提供するサービス毎に構築される論理木を一意に表す情報である。以降は便宜的に、論理木は配信サーバ10毎に構築されるとの想定で説明を行う。その想定では、グループ識別子は例えば配信サーバ10のIPアドレスから算出されるハッシュ値である。
【0044】
図9の説明に戻る。
ステップS6では、「解析結果の通知間隔」で指定された時間が経過するたびに、解析結果収容DB35の情報を読み出し、監視対象区間内に障害が発生しているか否か判定(推定)して、障害が発生していると判定した場合に、その障害が発生していると判定した監視対象区間に関する情報を監視サーバ20に通知する。ステップS7では、「解析結果の通知間隔」で指定された時間が経過するたびに、計測結果収容DB34の情報(計測結果)を読み出し、隣接ノード30に送信する。監視サーバ20への通知を必要に応じて行い、隣接ノード30への送信を行った後はステップS5に戻る。それにより、障害の発生に対応可能な状態を維持する。
【0045】
図10は、ステップS3及びS4として実行される処理の詳細を示すフローチャートである。隣接エージェント発見部32は、図10に示す処理を実行することにより実現される。次に図10を参照して、隣接エージェント発見部32を実現させる処理についてより具体的に説明する。
【0046】
先ず、ステップS11では、配信サーバ10から受信しているサービストラヒックを監視し、そのサーバ10の識別子を用いてグループ識別子を算出する。このグループ識別子は、配信サーバ10のIPアドレス(及びポート番号)を用いて算出されるハッシュ値など、配信サーバ10を一意に識別できる値である。
【0047】
続くステップS12では、サービストラヒックの送信経路に対応する論理木における自身の隣接エージェントを発見するために、ステップS11で導出したグループ識別子、およびアプリケーションサーバから自ノード30までのサービストラヒックの送信経路に関する情報を格納した図20に示すようなリンク構築メッセージを生成する。
【0048】
ステップS13では、生成したリンク構築メッセージを、自ノード30が参加しているオーバレイネットワークを介して複数の計測ノード30の間で交換する。続くステップS14では、メッセージの交換により、サービストラヒックの送信経路に対応する論理木において自ノード30と隣接関係にある計測ノード30を把握し、その隣接ノード30との間で論理的なリンクを確立する。その確立により、論理木における自ノード30および隣接ノード30の位置が特定、つまり論理木が構築される。その後はステップS15に移行する。
【0049】
ステップS15では、構築した論理木における自ノード30の位置および隣接ノード30の位置から、サービストラヒックの送信経路における監視対象区間を把握する。その後はステップS11に戻る。それにより、新たな論理木の構築に備える。
【0050】
図11〜図15は、隣接エージェント発見部32を構成する各部32b〜32fを実現させる各種処理のフローチャートである。次に図11〜図15の各フローチャートを参照して、各部32b〜32fを実現させる処理について詳細に説明する。
【0051】
図3に示すオーバレイネットワーク機能部32aは、論理木(オーバレイネットワーク)の構築や、オーバレイネットワークを構成する他の計測ノード30との間の通信を実現させるものである。他の構成要素と連動する形で動作する。このことから、フローチャートを用いて説明する対象から除外している。
【0052】
図11は、メッセージ送出部32bを実現させる処理のフローチャートである。始めに図11を参照して、その送出部32bを実現させる処理について詳細に説明する。この処理は、上記ステップS12及びS13として実行される。
【0053】
先ず、ステップS21では、自ノード30が受信しているサービストラヒックを監視し、そのサービストラヒックを送信する配信(アプリケーション)サーバ10の識別子を取得する。次のステップS22では、取得した配信サーバ10の識別子を用いて、その配信サーバ10のグループ識別子を算出する。その後はステップS23に移行する。
【0054】
ステップS23では、配信サーバ10と自ノード30の間でのサービストラヒックの送信経路(サービストラヒックが中継するルータ等の識別子)を取得する。この取得方法としては、計測ノード30から計測用パケットを送信することにより中継ルータの識別子を調査するTracerouteが代表的であるが、中継ルータの識別子を取得できる方法であればどのようなものでも良い。
【0055】
ステップS23に続くステップS24では、リンク構築メッセージを作成する。次のステップS25では、作成したリンク構築メッセージ内に、取得したグループ識別子、および取得したサービストラヒックの送信経路を記録する。その記憶により、リンク構築メッセージが完成する(図20)。
【0056】
ステップS25の実行後に移行するステップS26では、取得したサービストラヒックの送信経路で自ノード30と隣接関係(上流側)にある計測ノード30宛に、自ノード30が参加しているオーバレイネットワークのメッセージ転送に従い、リンク構築メッセージを送信する。次のステップS27では、ステップS22で取得したグループ識別子に対応する論理木における自ノードの役割を「計測」として、グループ情報管理DB36に記録する。その後はステップS21に戻る。
【0057】
計測部31はサービストラヒックを監視して受信品質を示す指標を計測する。このことから、計測部31を実現させる処理は、図9に示す処理とは別に実行される。しかし、その処理は、周知の計測技術を用いて実行されることから、詳細な説明は省略する。その処理により得られた計測結果は、「計測結果の算出間隔」で指定された時間毎に障害箇所推定部33により参照される。
【0058】
図5は、グループ情報管理DB36のデータ構成を示す図である。図5に示すように、この管理DB36は、論理木(グループ識別子)毎に、自ノード30の役割、サービストラヒックの送信経路上で隣接する計測ノード30、及び監視対象区間を含むグループ情報を管理するためのDBである。隣接ノード30としては、送信経路上で上流(配信サーバ10側)に位置するもの、その送信経路上で下流に位置するものを登録するようになっている。監視対象区間は、自ノード30と下流側の隣接ノード30の間に確立されたリンクである。この監視対象区間は、図8に示すように、自ノード30とその隣接ノード30の間に存在するノードのIPアドレスの順序で示している。
【0059】
役割としての「計測」とは、構築された論理木で最下層に位置する計測ノード30に要求される役割のことである。論理木の最下層に位置する計測ノード30は、サービストラヒックの送信先である。従い、計測した受信品質は、送信経路に障害が発生しているか否かを直接、示すものとなる。障害箇所を推定することや、他の計測ノード30から送信された計測結果を転送する必要はない。このことから、論理木の最下層に位置する計測ノード30には、計測のみを行えば良いとする「計測」を役割として割り当てるようにしている。監視対象区間は登録しない。図1では、「計測」が役割として割り当てられた計測ノード30には括弧書きで「60」を併記している。
【0060】
括弧書きで「40」を併記した計測ノード30では、配信サーバ10との間のルータに対応する他の計測ノード30が存在しない。そのような計測ノード30には、役割として
「代表」が割り当てられる。「代表」及び「計測」の何れも割り当てられない計測ノード30には、役割として「中継」が割り当てられる。その計測ノード30には、括弧書きで「50」を併記している。論理木によって計測ノード30の位置は異なることから、図5に示すように、「代表」「中継」及び「計測」の全ての役割が1計測ノード30に割り当てられる場合がある。
【0061】
中継の役割が割り当てられた計測ノード30は、下流の計測ノード30から送信された計測結果を上流の計測ノード30に転送する、監視対象区間の障害状況を推定する、といったことを行う。代表の役割が割り当てられた計測ノード30は、それらに加えて、物理ネットワーク上に存在する計測ノード30のなかで論理木の構築に不要な計測ノード(冗長ノード)30を排除するための処理を行う。これら役割毎の動作についての詳細は後述する。以降、役割が明らかとなっている計測ノード30では、その役割に応じた符号を用いることとする。つまり役割が「代表」では「40」、「中継」では「50」、「計測」では「60」を用いる。
【0062】
図12は、メッセージ転送部32cを実現させる処理のフローチャートである。次に、図12を参照して、その転送部32cを実現させる処理について詳細に説明する。この処理は、図10のステップS13で、例えばリンク構築メッセージの受信を契機に実行される。
【0063】
先ず、ステップS31では、オーバレイネットワークを構成する他の計測ノード30から受信されたリンク構築メッセージを取得する。次のステップS32では、リンク構築メッセージに記録されているグループ識別子およびサービストラヒックの送信経路に関する情報を取得する。その次に移行するステップS33では、サービストラヒックの送信経路に関する情報を参照して、送信経路における自ノード30の位置を確認し、リンク構築メッセージを次に転送すべき計測ノード30が存在するか否か判定する。リンク構築メッセージを次に転送すべき計測ノード30が存在しない場合、つまり論理木上の上流に配信サーバ10が位置している場合、判定はNOとなってステップS34に移行する。そうでない場合には、判定はYESとなってステップS35に移行する。
【0064】
ステップS34では、取得したグループ識別子に対応する論理木における自ノード30の役割が「代表」であるとして、グループ情報管理DB36の内容を更新する。その後は上記ステップS31に戻る。
【0065】
ステップS35では、次に転送すべき計測ノード30にリンク構築メッセージを送信する。リンク構築メッセージの送信経路は、自ノード30と配信サーバ10間のネットワーク機器群を含むものに更新して送信する。続くステップS36では、取得したグループ識別子に対応する論理木における自ノード30の役割が「中継」であるとして、グループ情報管理DB36の内容を更新する。その後は上記ステップS31に戻る。
【0066】
サービストラヒックは、上流側から下流側に送信され、リンク構築メッセージは逆に、下流側から上流側に送信される。それにより、上流側、及び下流側の少なくとも一方に隣接ノード30が存在する自ノード30は、その隣接ノード30や、その隣接ノード30を介した送信経路を把握することができる。それにより、自ノード30の役割を適切に設定することができる。
【0067】
図13は、隣接エージェント決定部32dを実現させる処理のフローチャートである。次に、図13を参照して、その決定部32dを実現させる処理について詳細に説明する。この処理は、図10のステップS14及びS15として実行される。
【0068】
先ず、ステップS41では、自ノード30がリンク構築メッセージを生成したか否か判定する。そのリンク構築メッセージを生成していない場合、判定はNOとなってステップS42に移行する。そうでない場合には、判定はYESとなってステップS44に移行する。
【0069】
ステップS42では、他の計測ノード30から受信したリンク構築メッセージに記録されているグループ識別子を取得する。次のステップS43では、取得したグループ識別子(論理木)における下流の隣接ノード30として、リンク構築メッセージの送信元である計測ノード30の識別子をグループ情報管理DB36に記録する。その後はステップS44に移行する。
【0070】
ステップS44では、次にリンク構築メッセージを転送する計測ノード30が存在するか否か判定する。その計測ノード30が存在する場合、判定はYESとなってステップS45に移行する。そうでない場合には、判定はNOとなってステップS46に移行する。
【0071】
ステップS45では、リンク構築メッセージに記録されているグループ識別子に対応するサービストラヒックの送信経路で自ノード30より配信サーバ10側に位置する送信先の隣接ノード30を論理木の上流の隣接ノード30として、その識別子をグループ情報管理DB36に記録する。続くステップS46では、リンク構築メッセージに記録されている送信経路において、自ノード30と自ノード30の下流に位置する隣接ノード30に対応するネットワーク機器間の経路を監視対象区間として、グループ情報管理DB36に記録する。その後はステップS41に戻る。
【0072】
図14は、冗長エージェント削除開始部32eを実現させる処理のフローチャートである。次に、図14を参照して、その開始部32eを実現させる処理について詳細に説明する。この処理は、図10のステップS14及びS15として実行される。
【0073】
先ず、ステップS51では、グループ情報管理DB36を検索して、自ノード60が「代表」の役割を持つ論理木における下流の隣接ノード30の識別子を取得する。次のステップS52では、冗長エージェント削除メッセージを作成する。続くステップS53では、冗長エージェント削除メッセージに、自ノード60が「代表」の役割を持つ論理木に対応するグループ識別子を記録する。その次に移行するステップS54では、全ての下流の隣接ノード30に対して、冗長エージェント削除メッセージを送信する。その後は上記ステップS51に戻る。
【0074】
このようにして冗長エージェント削除メッセージは、役割として「代表」が設定された計測ノード40のみが生成して送信する。送信された冗長エージェント削除メッセージは、冗長エージェント削除部32fによって処理される。その削除部32fは、図15にフローチャートを示す処理を実行することで実現される。隣接エージェント発見部32の構成要素としては最後に、図15を参照して、その削除部32fを実現させる処理について詳細に説明する。この処理は、例えば削除メッセージの受信を契機にして、図10のステップS14及びS15として実行される。
【0075】
図15に示すフローチャートを説明する前に、図21を参照して、冗長ノードとして削除対象となる計測ノード30について具体的に説明する。図21中、代表の役割を持つ1つの計測ノード40、中継の役割を持つ5つの計測ノード50、及び計測の役割を持つ3つの計測ノード60を含む論理木は、冗長ノードを削除する前のものである。
【0076】
その論理木では、4つの計測ノード50が冗長ノードとして削除される。削除される計測ノード50は何れも、下流に位置する隣接ノード30は一つのみである。そのように一
つのみ隣接ノード30が存在する計測ノード30は事実上、下流の隣接ノード30から受信した情報を上流の隣接ノード30に転送するだけである。障害箇所の推定を行う必要はない。しかし、計測ノード30として機能させる場合、計測ノード30は計測結果の処理を行うことから、資源を浪費させ、負荷を重くさせる。これは、他の実行すべき処理の効率的な実行を阻害する。また、各種情報の転送にかかる時間をより長くさせる。このようなことから本実施形態では、下流に位置する隣接ノード30が一つのみの計測ノード30を冗長ノードとして、論理木上から削除する。
【0077】
図15に示す処理では先ず、ステップS61で隣接ノード30から受信した冗長エージェント削除メッセージを取得する。続くステップS62では、冗長エージェント削除メッセージに記録されているグループ識別子を取得する。その次に移行するステップS63では、グループ情報管理DB36を検索して、取得したグループ識別子に対応する論理木上でより下流に位置する隣接ノード30を把握する。その後はステップS64に移行する。
【0078】
ステップS64では、把握した下流の隣接ノード30の数が0か否か判定する。取得したグループ識別子に対応する論理木で自ノード30の役割が「計測」であった場合、下流に隣接ノード30は存在しないことから、判定はYESとなって上記ステップS61に戻る。そうでない場合には、判定はNOとなってステップS65に移行する。
【0079】
ステップS65では、把握した下流の隣接ノード30の数が2以上か否か判定する。把握した下流の計測ノード30が2以上であった場合、判定はYESとなり、ステップS66で下流の全計測ノード30に冗長エージェント削除メッセージを送信した後、上記ステップS61に戻る。そうでない場合には、判定はNOとなってステップS67に移行する。
【0080】
ステップS67〜S71では、冗長ノードの条件を満たす計測ノードを論理木上から削除するための処理が実行される。
先ずステップS67では、自ノード30の上流の隣接ノード30に関する情報を、自ノード30の下流の隣接ノード30に送信する。これにより、その情報を受信した下流の隣接ノード30は、その情報が示す隣接ノード30を自ノード30の上流の隣接ノード30として、グループ情報管理DB36を更新する。
【0081】
次にステップS68では、自ノード30の下流の隣接ノード30に関する情報を、自ノード30の上流の隣接ノード30に送信する。これにより、その情報を受信した上流の隣接ノード30は、その情報が示す隣接ノード30を自ノード30の下流の隣接ノード30として、グループ情報管理DB36を更新する。
【0082】
次にステップS69では、自ノード30の監視対象区間に関する情報を、自ノード30の上流の隣接ノード30に送信する。これにより、その情報を受信した計測ノード30は、その情報が示す監視対象区間を自ノード30の監視対象区間に加え、グループ情報管理DB36を更新する。
【0083】
次にステップS70では、下流の計測ノード30に冗長エージェント削除メッセージを送信する。その後に移行するステップS71では、ステップS62で取得したグループ識別子に対応する情報をグループ情報管理DB36から削除する。その削除後は上記ステップS61に戻る。
【0084】
図16は、図9のステップS5〜S7として実行される処理の詳細を示すフローチャートである。障害箇所推定部33は、図16に示す処理を実行することにより実現される。次に図16を参照して、障害箇所推定部33を実現させる処理についてより具体的に説明
する。
【0085】
先ず、ステップS81では、「計測結果の算出間隔」で指定された時間ごとに、配信サーバ10から受信しているサービストラヒックの計測結果である受信品質(図中「計測情報」)を取得する。次のステップS82では、取得した受信品質を自ノード30の上流の隣接ノード30、或いは監視サーバ20に計測結果として送信する。その後はステップS83に移行する。
【0086】
役割として「計測」が設定されていない計測ノード30では、下流の隣接ノード30から計測結果が送信される。このことからステップS83では、受信した計測結果を計測結果収納DB34に格納すると共に、その収納DB34に格納されている計測結果を解析して、監視対象区間内/外の障害状況を推定する。推定結果は解析結果収納DB35に格納する。その格納後に移行するステップS84では、推定した障害状況を上流の隣接ノード30、或いは監視サーバ20に通知する。その通知後は上記ステップS81に戻る。
【0087】
図17〜図19は、障害箇所推定部33を構成する各部33a〜33cを実現させる各種処理のフローチャートである。次に図17〜図19の各フローチャートを参照して、各部33a〜33cを実現させる処理について詳細に説明する。
【0088】
図17は、計測結果通知部33aを実現させる処理のフローチャートである。始めに図17を参照して、その通知部33aを実現させる処理について詳細に説明する。この処理は、上記ステップS82で、「計測結果の通知間隔」として指定された時間ごとに実行される。
【0089】
先ず、ステップS91では、グループ情報管理DB36を検索し、自ノード30が「計測」の役割を持つ論理木に対応するグループ識別子を取得する。続くステップS92では、グループ情報管理DB36を検索し、ステップS91で取得したグループ識別子に対応する論理木で上流に位置する隣接ノード30に関する情報を取得する。ステップS93には、その情報を取得した後に移行する。
【0090】
ステップS93では、ステップS91で取得したグループ識別子に対応する配信サーバ10から受信しているサービストラヒックの受信品質を計測結果として取得する。その次のステップS94では、その計測結果を上流の隣接ノード30に送信する。その送信を行った後は上記ステップS91に戻り、「計測結果の通知間隔」として指定された時間が経過するのを待って実行する。
【0091】
上記のようにして送信された計測結果を受信した計測ノード30は、計測結果収納DB34に格納する。このとき、図6に示すように、グループ識別子、及び計測結果を送信した計測ノード30の監視対象区間を併せて格納する。
【0092】
図18は、計測結果解析部33bを実現させる処理のフローチャートである。次に図18を参照して、その解析部33bを実現させる処理について詳細に説明する。この処理は、図16のステップS83及びS84として、「計測結果の解析間隔」で指定された時間ごとに実行される。
【0093】
先ず、ステップS101では、グループ情報管理DB36を検索して、自ノード30が「代表」または「中継」の役割を持つ論理木に対応するグループ識別子を取得する。次のステップS102では、計測結果収容DB34を検索して、ステップS101で取得したグループ識別子に対応する計測結果を取得する。その取得後はステップS103に移行する。
【0094】
ステップS103では、取得した計測結果を解析し、各グループ識別子に対応する計測結果が全てGoodとなっているか否か判定する。計測結果が全てGoodでなかった場合、判定はNOとなってステップS109に移行する。そうでない場合には、判定はYESとなってステップS104に移行する。
【0095】
ここで、図22に示す説明図を参照して、監視対象区間の内/外の障害状況の推定方法について具体的に説明する。この図22において、30−1は自ノード、30−2及び30−3は共に自ノード30−1の下流に位置する隣接ノードを指していることとする。
【0096】
自ノード30−1は、2つの隣接ノード30−2及び30−3に対応するネットワーク機器にそれぞれ転送するサービストラヒックを解析して,障害箇所を推定する.その解析により、隣接ノード30−2及び30−3への受信品質が共にGoodであれば、自ノード30−1の監視対象区間の内/外もGoodと推定する。しかし、隣接ノード30−3に対応するネットワーク機器への受信品質がGood、隣接ノード30−3に対応するネットワーク機器への受信品質がBadといったように、GoodとBadの受信品質が混在している場合には、障害箇所は下流にのみ存在すると推定する。これは、自ノード30−1に対応するネットワーク機器まではサービストラヒックが適切に送信されている可能性が高いからである。
【0097】
一方、受信品質が全てBadであった場合には、障害箇所は上流にのみ存在すると推定する。これは、上流に障害が発生していれば、その障害箇所より下流では全て受信品質はBadとなるからである。このことから、自ノード30−1に対応するネットワーク機器と配信サーバとの間の何れかのリンクに障害が発生していると推定し、その推定結果をその隣接ノード30に通知する。
【0098】
そのような推定結果が通知された隣接ノード30では、同様にして、監視対象区間の受信品質から、監視対象区間の内/外の障害箇所を推定する。このとき、下流の隣接ノード30から上流に障害箇所が存在することを示す推定結果を受信していた場合、監視対象区間の受信品質が全てBadであれば障害箇所は上流に存在すると推定する。そのようにして、上流に発生した障害箇所は、下流から順次、推定結果が上流の計測ノード30に通知されることにより、特定されるか、存在する可能性のある範囲が狭められる。この結果、たとえ計測ノード30によって障害箇所を推定できなくとも、監視サーバ20は容易に障害箇所を特定できることとなる。その障害箇所を特定するために必要な情報量も大幅に低減される。
【0099】
図18の説明に戻る。
上記ステップS103の判定がYES、つまり全ての監視対象区間の受信品質がGoodであった場合に移行するステップS104では、全監視対象区間の品質をGoodと推定する。続くステップS105では、監視対象区間外の品質をGoodと推定する。その次に移行するステップS106では、監視対象区間毎に品質、即ち障害の推定結果を解析結果収納DB35に格納する。そのように監視対象区域内/外の障害状況を推定し、その推定結果を保存してから、ステップS107に移行する。
【0100】
ステップS107では、グループ情報管理DB36を検索して、自ノード30に役割として中継が設定されたグループ識別子が存在するか否か判定する。そのようなグループ識別子が存在する場合、判定はYESとなってステップS108に移行し、監視対象区間外の推定結果を受信品質として計測結果を生成し、上流の隣接ノード30に送信した後、上記ステップS101に戻る。そうでない場合には、判定はNOとなって、そのステップS101に戻る。ステップS101の実行は、「計測結果の解析間隔」として指定された時
間が経過するのを待って行う。
【0101】
一方、上記ステップS103の判定がNOとなって移行するステップS109では、取得した計測結果が全てBadか否か判定する。計測結果が全てBadでなかった場合、つまりBadとGoodが混在していた場合、判定はNOとなってステップS112に移行する。そうでない場合には、判定はYESとなってステップS110に移行する。
【0102】
ステップS110では、全ての監視対象区間の品質をGoodと推定する。続くステップS111では、監視対象区間外の品質をBadと推定する。そのようにして監視対象区間の内/外の障害状況を推定してから、上記ステップS106に移行する。
【0103】
ステップS112では、下流の隣接ノード30(図22では隣接ノード30−3が相当)と結ぶ監視対象区間をBadと推定する。続くステップS113では、監視対象区間外の品質をGoodと推定する。そのようにして監視対象区間の内/外の障害状況を推定した後、上記ステップS106に移行する。
【0104】
ステップS112への移行は、下流の隣接ノード30と結ぶリンクに障害が発生した場合に実現される。その場合、下流の隣接ノード30はリンクを介して受信されるサービストラヒックを計測し、計測結果としてBadを送信する。自ノード30自体は、自身が受信するサービストラヒックを計測し、計測結果としてGoodを得る。このことから、自ノード30は、下流の隣接ノード30と結ぶリンクである監視対象区間に障害が発生したと推定する。
【0105】
図19は、障害箇所通知部33cを実現させる処理のフローチャートである。障害箇所推定部33の構成要素としては最後に、図19を参照して、その通知部33cを実現させる処理について詳細に説明する。この処理は、図16のステップS84内で、「解析結果の通知間隔」として指定された時間ごとに実行される。
【0106】
先ず、ステップS201では、解析結果収容DB35を検索して、受信品質がBadである監視対象区間、つまり推定した障害箇所(リンク)に関する情報を取得する。続くステップS202では、取得した監視対象区間に関する情報を監視サーバ20宛に送信する。その後は上記ステップS201に戻る。そのステップS201の実行は、「解析結果の通知間隔」として指定された時間が経過するのを待って行う。
【0107】
各計測ノード30が管理する解析結果収納DB35には、自ノード30より下流の計測ノード30による解析結果が反映された解析結果が格納される。このため、受信品質がBadの監視対象区間は、障害が発生しているか、或いは障害が発生している可能性が考えられる区間となっている。そのような監視対象区間のみを監視サーバ20に通知することにより、監視サーバ20はより少ない情報量で障害が発生している監視対象区間(リンク)を高精度に特定することができる。その監視サーバ20は、受信した監視対象区間に関する情報は図23に示す障害推定箇所DB23に格納する。
【0108】
以降は図23〜図27を参照して、監視サーバ20について具体的に説明する。
図23は、監視サーバ20の機能構成を示す図である。図23に示す機能構成は、計測ノード30と同様に、監視サーバ20として動作させるための機能を搭載したプログラム(以降、便宜的に「監視プログラム」と呼ぶ)を監視サーバ20に実行させることで実現される。その監視プログラムは、監視サーバ20上に障害箇所特定部22を実現させ、障害推定箇所DB23を生成・管理する。
【0109】
監視サーバ20には、計測ノード30と同様に、図28に示す構成のコンピュータを用
いることができる。図28に示す構成では、例えば監視プログラムは外部記憶装置85、若しくは記録媒体MDに格納されているか、或いはネットワーク接続装置87によりネットワーク70を介して外部装置から受信する。障害推定箇所DB23は、例えば外部記憶装置85上に構築される。
【0110】
障害推定箇所DB23には、上述したように、各計測ノード30が推定した障害箇所を示す情報が障害箇所特定部22によって格納される。そのDB23には、図24に示すように、グループ識別子毎に推定された故障箇所を示す情報が格納される。図24では、推定故障箇所はIPアドレスで示している。それにより事実上、図29に示す表のように送信経路上で受信品質がBadの箇所(リンク)を表すものとなっている。後述する図27では、図29と同じく、Badの受信品質を表す値として1を用いている。
【0111】
障害箇所特定部22を実現させる監視プログラムは、以下のような処理を監視サーバ20に実行させる。以降は図25及び図26に示す各種フローチャートを参照して、監視プログラムにより実現される処理について詳細に説明する。
【0112】
図25は、監視プログラムにより実行される処理の全体的な流れを示すフローチャートである。始めに図25を参照して、その処理の全体的な流れについて具体的に説明する。
監視プログラムは、管理者からの起動要求に応じて起動される(ステップS301)。起動後は、例えば管理者の指示に従って「計測結果の特定間隔」といった設定パラメータの読み込みを行う(ステップS302)。その特定間隔とは、障害箇所の特定を行う時間間隔のことであり、その時間間隔として指定された時間が10秒であれば、障害箇所の特定は10秒間隔で行われることとなる。
【0113】
設定パラメータの読み込みを行った後は、計測ノード30から障害箇所と推定された区間(リンク)の情報を随時、受信して取得し、その情報を障害推定箇所DB23に格納する(ステップS303)。その情報への対応は、「計測結果の特定間隔」として指定された時間に従って行い、ステップS304に移行する。そのステップS304では、障害推定箇所DB23から障害箇所と推定された区間の情報(計測結果)を読み出し、読み出した情報を解析して、障害箇所を特定する。その特定結果は、例えば監視サーバ20に設けられた障害箇所出力I/Fを介して外部に公開する。この公開方法としては、解析結果を格納する目的で設けられたDBへの情報の書き出し、ソケット通信による外部プロセスへの情報受け渡し、Web上に公開する方法などが考えられる。そのような公開を行った後に上記ステップS303に戻る。それにより、障害箇所の特定は「計測結果の特定間隔」として指定された時間毎に行う。
【0114】
図26は、障害箇所特定部22を実現させる処理のフローチャートである。最後に、図26を参照して、その特定部22を実現させる処理について詳細に説明する。この処理は、上記ステップS304で実行される部分を抽出して示したものである。
【0115】
先ず、ステップS401では、障害推定箇所DB23から全ての情報を読み出す。続くステップS402では、読み出した情報を解析し、図27に示すように、複数のグループ識別子に共通して含まれている区間を抽出し、抽出した区間を障害箇所と特定する。その特定後、図26に示す一連の処理を終了する。終了後に、障害箇所の特定結果の公開が行われる。
【0116】
以上の変形例を含む実施形態に関し、更に以下の付記を開示する。
(付記1)
ネットワーク上に配置された配信サーバからサービストラヒックが送信される送信経路上に発生している障害を検知するためのネットワーク障害検知システムにおいて、
前記ネットワーク障害システムは、前記送信経路上に存在し、前記配信サーバから送信されるサービストラヒックを監視するノード、及び該ノードから送信される情報を解析して障害が発生している障害箇所を特定する監視サーバを備え、
前記ノードは、
前記サービストラヒックを計測する計測手段と、
前記送信経路に対応した論理的なツリー構造上で隣接するノードである隣接ノードを認識してリンクを確立し、該ツリー構造上における自身の位置を認識して、該ツリー構造上で前記障害の発生を監視すべきリンクである監視対象リンクを設定する隣接ノード特定手段と、
前記計測手段による計測結果を用いて、前記隣接ノード特定手段が設定した監視対象リンクのなかで前記障害が発生している可能性のある監視対象リンクを障害箇所として推定し、該推定結果を前記隣接ノード及び前記監視サーバのうちの一方に送信する障害リンク推定手段と、を具備し、
前記監視サーバは、
前記ノードから受信した前記障害箇所の推定結果を解析して、前記送信経路上の障害箇所を特定する障害リンク特定手段、を具備する、
ことを特徴とするネットワーク障害検知システム。
(付記2)
付記1記載のネットワーク障害検知システムを構成するノードとして用いられるデータ処理装置であって、
前記サービストラヒックを計測する計測手段と、
前記送信経路に対応した論理的なツリー構造上で隣接するノードである隣接ノードを認識してリンクを確立し、該ツリー構造上における自身の位置を認識して、該ツリー構造上で前記障害の発生を監視すべきリンクである監視対象リンクを設定する隣接ノード特定手段と、
前記計測手段による計測結果を用いて、前記隣接ノード特定手段が設定した監視対象リンクのなかで前記障害が発生している可能性のある監視対象リンクを障害箇所として推定し、該推定結果を前記隣接ノード及び前記監視サーバのうちの一方に送信する障害箇所推定手段と、
を具備することを特徴とするデータ処理装置。
(付記3)
前記隣接ノード特定手段は、前記ツリー構造上で認識した自身の位置を基に、該ツリー構造上、冗長なノードか否か判定し、該冗長なノードと判定した場合に、該ツリー構造上から離脱するための処理を行う、
ことを特徴とする付記2記載のデータ処理装置。
(付記4)
前記隣接ノード特定手段は、前記ツリー構造上で下流に位置する隣接ノードとの間のリンクを前記監視対象リンクとして設定する、
ことを特徴とする付記2記載のデータ処理装置。
(付記5)
前記障害箇所推定手段は、前記監視対象リンクに加えて、前記ツリー構造上で上流に位置する隣接ノードとの間のリンクを対象に前記推定を行い、該推定結果を前記隣接ノード及び前記監視サーバのうちの一方に送信する、
ことを特徴とする付記4記載のデータ処理装置。
(付記6)
前記障害箇所推定手段は、前記障害箇所の推定結果を送信する隣接ノードとして、前記ツリー構造上で上流に位置する隣接ノードを対象にする、
ことを特徴とする付記2、または5記載のデータ処理装置。
(付記7)
前記障害箇所推定手段は、前記ツリー構造上で下流に位置する隣接ノードから前記障害
箇所の推定結果を受信した場合に、該推定結果を該障害箇所の推定に用いる、
ことを特徴とする付記6記載のデータ処理装置。
(付記8)
ネットワーク上に配置された配信サーバからサービストラヒックが送信される送信経路上に発生している障害を検知するためのネットワーク障害検知方法において、
前記障害を検知するためのネットワーク障害検知システムは、前記送信経路上に存在し、前記配信サーバから送信されるサービストラヒックを監視するノード、及び該ノードから送信される情報を解析して障害が発生している障害箇所を特定する監視サーバを用いて構築し、
前記ネットワーク障害検知システムを構成するノードに、前記サービストラヒックの送信経路に対応した論理的なツリー構造の自律的な構築、及び該送信経路の中で前記障害の発生を監視すべき監視対象区間の設定を行わせて、該設定した監視対象区間で発生する障害を監視させ、
前記監視サーバによる前記送信経路上の障害の特定は、各ノードによる障害の監視結果を用いて行わせる、
ことを特徴とするネットワーク障害検知方法。
(付記9)
付記1記載のネットワーク障害検知システムを構成するノードとして用いられるコンピュータに、
前記サービストラヒックを計測する計測機能と、
前記送信経路に対応した論理的なツリー構造上で隣接するノードである隣接ノードを認識してリンクを確立し、該ツリー構造上における自身の位置を認識して、該ツリー構造上で前記障害の発生を監視すべきリンクである監視対象リンクを設定する隣接ノード特定機能と、
前記計測機能による計測結果を用いて、前記隣接ノード特定機能が設定した監視対象リンクのなかで前記障害が発生している可能性のある監視対象リンクを障害箇所として推定し、該推定結果を前記隣接ノード及び前記監視サーバのうちの一方に送信する障害箇所推定機能と、
を実現させるためのプログラム。
【図面の簡単な説明】
【0117】
【図1】本実施形態によるネットワーク障害検知システムの構成を説明する図である。
【図2】計測エージェントを実行するノードの機能構成を示す図である。
【図3】隣接エージェント発見部の機能構成を示す図である。
【図4】障害箇所推定部の機能構成を示す図である。
【図5】グループ情報管理DBのデータ構成を示す図である。
【図6】計測結果収納DBのデータ構成を示す図である。
【図7】解析結果収納DBのデータ構成を示す図である。
【図8】計測エージェントを実行するノードが障害を監視する監視対象区間の説明図である。
【図9】計測エージェントにより実行される処理の全体的な流れを示すフローチャートである。
【図10】図9のステップS3及びS4として実行される処理の詳細を示すフローチャートである。
【図11】メッセージ送出部を実現させる処理のフローチャートである。
【図12】メッセージ転送部を実現させる処理のフローチャートである。
【図13】隣接エージェント決定部を実現させる処理のフローチャートである。
【図14】冗長エージェント削除開始部を実現させる処理のフローチャートである。
【図15】冗長エージェント判断部を実現させる処理のフローチャートである。
【図16】図9のステップS5〜S7として実行される処理の詳細を示すフローチャートである。
【図17】計測情報通知部を実現させる処理のフローチャートである。
【図18】計測結果解析部を実現させる処理のフローチャートである。
【図19】障害箇所通知部を実現させる処理のフローチャートである。
【図20】リンク構築メッセージに格納されるデータを示す図である。
【図21】論理木上から削除対象となるノードの説明図である。
【図22】ノードでの障害箇所の推定方法を示す図である。
【図23】監視サーバの機能構成を示す図である。
【図24】障害推定箇所DBのデータ構成を示す図である。
【図25】監視サーバの監視プログラムにより実行される処理の全体的な流れを示すフローチャートである。
【図26】障害箇所特定部を実現させる処理のフローチャートである。
【図27】監視サーバによる障害箇所の特定方法を示す説明図である。
【図28】計測ノードとして用いることが可能なコンピュータのハードウェア構成の一例を示す図である。
【図29】従来のネットワーク障害検知システムで行われている障害箇所の特定方法を示す説明図である。
【符号の説明】
【0118】
10 配信サーバ
20 監視サーバ
22 障害箇所特定部
23 障害推定箇所DB
30 ノード
31 計測部
32 隣接エージェント発見部
32a オーバレイネットワーク機能部
32b メッセージ送出部
32c メッセージ転送部
32d 隣接エージェント決定部
32e 冗長エージェント削除開始部
32f 冗長エージェント判断部
33 障害箇所推定部
33a 計測情報通知部
33b 計測結果解析部
33c 障害箇所通知部
34 計測結果収納DB
35 解析結果収納DB
36 グループ情報管理DB
70 ネットワーク

【特許請求の範囲】
【請求項1】
ネットワーク上に配置された配信サーバからサービストラヒックが送信される送信経路上に発生している障害を検知するためのネットワーク障害検知システムにおいて、
前記ネットワーク障害システムは、前記送信経路上に存在し、前記配信サーバから送信されるサービストラヒックを監視するノード、及び該ノードから送信される情報を解析して障害が発生している障害箇所を特定する監視サーバを備え、
前記ノードは、
前記サービストラヒックを計測する計測手段と、
前記送信経路に対応した論理的なツリー構造上で隣接するノードである隣接ノードを認識してリンクを確立し、該ツリー構造上における自身の位置を認識して、該ツリー構造上で前記障害の発生を監視すべきリンクである監視対象リンクを設定する隣接ノード特定手段と、
前記計測手段による計測結果を用いて、前記隣接ノード特定手段が設定した監視対象リンクのなかで前記障害が発生している可能性のある監視対象リンクを障害箇所として推定し、該推定結果を前記隣接ノード及び前記監視サーバのうちの一方に送信する障害リンク推定手段と、を具備し、
前記監視サーバは、
前記ノードから受信した前記障害箇所の推定結果を解析して、前記送信経路上の障害箇所を特定する障害リンク特定手段、を具備する、
ことを特徴とするネットワーク障害検知システム。
【請求項2】
請求項1記載のネットワーク障害検知システムを構成するノードとして用いられるデータ処理装置であって、
前記データ処理装置は、
前記サービストラヒックを計測する計測手段と、
前記送信経路に対応した論理的なツリー構造上で隣接するノードである隣接ノードを認識してリンクを確立し、該ツリー構造上における自身の位置を認識して、該ツリー構造上で前記障害の発生を監視すべきリンクである監視対象リンクを設定する隣接ノード特定手段と、
前記計測手段による計測結果を用いて、前記隣接ノード特定手段が設定した監視対象リンクのなかで前記障害が発生している可能性のある監視対象リンクを障害箇所として推定し、該推定結果を前記隣接ノード及び前記監視サーバのうちの一方に送信する障害箇所推定手段と、
を具備することを特徴とするネットワーク障害検知システム。
【請求項3】
前記隣接ノード特定手段は、前記ツリー構造上で認識した自身の位置を基に、該ツリー構造上、冗長なノードか否か判定し、該冗長なノードと判定した場合に、該ツリー構造上から離脱するための処理を行う、
ことを特徴とする請求項2記載のネットワーク障害検知システム。
【請求項4】
ネットワーク上に配置された配信サーバからサービストラヒックが送信される送信経路上に発生している障害を検知するためのネットワーク障害検知方法において、
前記障害を検知するためのネットワーク障害システムは、前記送信経路上に存在し、前記配信サーバから送信されるサービストラヒックを監視するノード、及び該ノードから送信される情報を解析して障害が発生している障害箇所を特定する監視サーバを用いて構築し、
前記ネットワーク障害検知システムを構成するノードに、前記サービストラヒックの送信経路に対応した論理的なツリー構造の自律的な構築、及び該ツリー構造上で前記障害の発生を監視すべき監視対象区間の設定を行わせて、該設定した監視対象区間で発生する障
害を監視させ、
前記監視サーバによる前記送信経路上の障害の特定は、各ノードによる障害の監視結果を用いて行わせる、
ことを特徴とするネットワーク障害検知方法。
【請求項5】
請求項1記載のネットワーク障害検知システムを構成するノードとして用いられるコンピュータに、
前記サービストラヒックを計測する計測機能と、
前記送信経路に対応した論理的なツリー構造上で隣接するノードである隣接ノードを認識してリンクを確立し、該ツリー構造上における自身の位置を認識して、該ツリー構造上で前記障害の発生を監視すべきリンクである監視対象リンクを設定する隣接ノード特定機能と、
前記計測機能による計測結果を用いて、前記隣接ノード特定機能が設定した監視対象リンクのなかで前記障害が発生している可能性のある監視対象リンクを障害箇所として推定し、該推定結果を前記隣接ノード及び前記監視サーバのうちの一方に送信する障害箇所推定機能と、
を実現させるためのプログラム。

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図11】
image rotate

【図13】
image rotate

【図19】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図28】
image rotate

【図1】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図12】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図27】
image rotate

【図29】
image rotate


【公開番号】特開2010−11374(P2010−11374A)
【公開日】平成22年1月14日(2010.1.14)
【国際特許分類】
【出願番号】特願2008−171309(P2008−171309)
【出願日】平成20年6月30日(2008.6.30)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】