(57)【要約】      （修正有）【課題】低負荷でノード単位の遅延時間を測定する遅延時間測定装置を提供する。【解決手段】サーバと複数の端末装置との接続経路を示す経路情報を記憶する経路情報記憶部と、コアノードを特定するコアノード特定部と、サーバと複数の端末装置との間で送受されるパケットを取得する取得部と、取得されたパケットに基づいて、サーバと複数の端末装置のそれぞれとの間のパケットの伝送に係る第１遅延時間を、接続経路毎に算出する第１遅延時間算出部と、コアノードへアクティブパケットを送出する送出部と、コアノードからの応答を受信する受信部と、その応答とに基づいて、サーバとコアノードとの間のパケットの伝送に係る第２遅延時間を算出する第２遅延時間算出部と、第１遅延時間と、第２遅延時間と、経路情報とに基づいて、サーバと複数の中継ノードのそれぞれとの間のパケットの伝送に係る第３遅延時間を算出する第３遅延時間算出部とを備える。【選択図】図２
2011071718.tif 000002
【特許請求の範囲】
【請求項１】
サーバと、該サーバに接続された複数の端末装置と、前記サーバと前記複数の端末装置との接続を中継する複数の中継ノードとを含むネットワークに関して、前記サーバと前記複数の端末装置のそれぞれとの接続経路を示す経路情報を記憶する経路情報記憶部と、
前記経路情報記憶部により記憶された経路情報に基づいて、前記複数の中継ノードのうち、前記複数の端末装置と他の中継ノードを介して接続されたコアノードを特定するコアノード特定部と、
前記サーバと前記複数の端末装置のそれぞれとの間で送受されるパケットを取得する取得部と、
前記取得部により取得されたパケットに基づいて、前記サーバと前記複数の端末装置のそれぞれとの間のパケットの伝送に係る第１遅延時間を、前記経路情報における接続経路毎に算出する第１遅延時間算出部と、
前記コアノード特定部により特定されたコアノードへアクティブパケットを送出する送出部と、
前記送出部により送出されたアクティブパケットに対する前記コアノードからの応答を受信する受信部と、
前記送出部により送出されたアクティブパケットと、前記受信部により受信された応答とに基づいて、前記サーバと前記コアノードとの間のパケットの伝送に係る第２遅延時間を算出する第２遅延時間算出部と、
前記第１遅延時間算出部により算出された前記第１遅延時間と、前記第２遅延時間算出部により算出された前記第２遅延時間と、前記経路情報とに基づいて、前記サーバと前記複数の中継ノードのそれぞれとの間のパケットの伝送に係る第３遅延時間を算出する第３遅延時間算出部を備える遅延時間算出装置。
【請求項２】
前記第３遅延時間算出部は、所定の周期毎に前記第３遅延時間を算出し、
前記所定の周期毎に算出された前記第３遅延時間を累積させて記憶する第３遅延時間記憶部と、
前記第３遅延時間算出部により算出された前記第３遅延時間と、前記第３遅延時間記憶部に記憶された前回以前の周期の第３遅延時間とに基づいて、前記複数の中継ノードのそれぞれの遅延時間の変動を算出する変動算出部と、
前記変動算出部により算出された複数の変動のそれぞれについて、所定の閾値以上であるか否かを判断する第１判断部と、
前記複数の中継ノードのうち、前記第１判断部により変動が所定の閾値以上であると判断された中継ノードを選択する選択部とを更に備える請求項１に記載の遅延時間測定装置。
【請求項３】
前記第３遅延時間算出部により算出された前記複数の第３遅延時間において、値がマイナスである第３遅延時間があるかどうかを判断する第２判断部と、
前記第２判断部により値がマイナスである第３遅延時間があると判断された場合、前記第２遅延時間の値から所定の値を減算する減算部とを更に備え、
前記第３遅延時間算出部は、前記減算部により減算された第２遅延時間と、前記第１遅延時間と、前記経路情報に基づいて、前記第３遅延時間を算出することを特徴とする請求項１または請求項２に記載の遅延時間測定装置。
【請求項４】
前記所定の閾値は、前記第３遅延時間記憶部に記憶された前回以前の周期の第３遅延時間に基づく値であることを特徴とする請求項２または請求項３に記載の遅延時間測定装置。
【請求項５】
前記取得部は、所定の時間内に前記サーバと前記複数の端末装置のそれぞれとの間で送受されるパケットを取得し、
前記送出部は、前記コアノード特定部により特定されたコアノードへアクティブパケットを複数回送出し、
前記第３遅延時間算出部は、重回帰分析を用いて、前記第３遅延時間を算出することを特徴とする請求項１乃至請求項４のいずれかに記載の遅延時間測定装置。
【請求項６】
記憶部に記憶され、サーバと、該サーバに接続された複数の端末装置と、前記サーバと前記複数の端末装置との接続を中継する複数の中継ノードとを含むネットワークに関して、前記サーバと前記複数の端末装置のそれぞれとの接続経路を示す経路情報に基づいて、前記複数の中継ノードのうち、前記複数の端末装置と他の中継ノードを介して接続されたコアノードを特定し、
前記サーバと前記複数の端末装置のそれぞれとの間で送受されるパケットを取得し、
取得されたパケットに基づいて、前記サーバと前記複数の端末装置のそれぞれとの間のパケットの伝送に係る第１遅延時間を、前記経路情報における接続経路毎に算出し、
特定されたコアノードへアクティブパケットを送出し、
送出されたアクティブパケットに対する前記コアノードからの応答を受信し、
送出されたアクティブパケットと、受信された応答とに基づいて、前記サーバと前記コアノードとの間のパケットの伝送に係る第２遅延時間を算出し、
算出された前記第１遅延時間と、算出された前記第２遅延時間と、前記経路情報とに基づいて、前記サーバと前記複数の中継ノードのそれぞれとの間のパケットの伝送に係る第３遅延時間を算出することをコンピュータに実行させる遅延時間算出プログラム。
【請求項７】
記憶部に記憶され、サーバと、該サーバに接続された複数の端末装置と、前記サーバと前記複数の端末装置との接続を中継する複数の中継ノードとを含むネットワークに関して、前記サーバと前記複数の端末装置のそれぞれとの接続経路を示す経路情報に基づいて、前記複数の中継ノードのうち、前記複数の端末装置と他の中継ノードを介して接続されたコアノードを特定し、
前記サーバと前記複数の端末装置のそれぞれとの間で送受されるパケットを取得し、
取得されたパケットに基づいて、前記サーバと前記複数の端末装置のそれぞれとの間のパケットの伝送に係る第１遅延時間を、前記経路情報における接続経路毎に算出し、
特定されたコアノードへアクティブパケットを送出し、
送出されたアクティブパケットに対する前記コアノードからの応答を受信し、
送出されたアクティブパケットと、受信された応答とに基づいて、前記サーバと前記コアノードとの間のパケットの伝送に係る第２遅延時間を算出し、
算出された前記第１遅延時間と、算出された前記第２遅延時間と、前記経路情報とに基づいて、前記サーバと前記複数の中継ノードのそれぞれとの間のパケットの伝送に係る第３遅延時間を算出する遅延時間算出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この出願に開示の技術は、遅延時間測定装置、遅延時間測定プログラム及び方法に関する。
【背景技術】
【０００２】
ネットワーク形態の複雑化、多様化に伴って、ネットワークの異常箇所を特定する技術の必要性や重要性が高まっているが知られている。また、このような技術として、計測したエンド・エンド間のフローの品質を示す情報に基づいて、ネットワーク内の異常箇所を解析するネットワークトモグラフィ解析が知られている。以下、ネットワークの異常箇所を特定する従来技術として、ネットワークトモグラフィ解析について説明する。図１５は、ネットワークトモグラフィ解析の対象としてのネットワークシステムを示す図である。
【０００３】
図１５に示すネットワークシステムは、サーバ９１、サーバ９１とネットワークにより接続された複数の端末装置９４、タップ９２、モニタ装置９３を有する。ネットワークにおいて、タップ９２は、サーバ９１と複数の端末装置９４との間で送受される全てのデータを取得可能に設けられる。このタップ９２を介して、モニタ装置９３は、ネットワークシステムにおいて送受されるデータとしてのパケットを取得する。また、サーバ９１と複数の端末装置９４は、ノードを介して接続される。図１５において、コアノードをＮ1とし、Ｎ1に接続されたノードであるＮ2によるネットワークをサブネットＡ、Ｎ1に接続され、Ｎ2とは異なるノードであるＮ3によるネットワークをサブネットＢとする。ここで、コアノードとは、ネットワークをツリー構造として見立てた場合に下位リンクにノードだけが接続するノードを示す。上述した複数の端末装置９４は、サブネットＡまたはサブネットＢのいずれかに所属するものとする。また、サーバ９１からサブネットＡに所属する端末装置９４へのフローをＦ1とし、サーバ９１からサブネットＢに所属する端末装置９４へのフローをＦ2とする。
【０００４】
このようなネットワークシステムにおいて、モニタ装置９３は、タップ９２を介して取得したパケットに基づいて、各フローに関してデータ送受に係る遅延時間の変動を算出する。次に、モニタ装置９３は、閾値と遅延時間の変動とに基づいて、フロー毎に正常か異常かを判断する。ここで、閾値はフロー毎に設定される変動率であり、遅延時間の変動率が設定された閾値以上である場合、そのフローは異常であると判断される。例えば、Ｆ1の遅延時間の変動が２０ｍｓから４０ｍｓであり、閾値が２００％である場合に、Ｆ1は異常であると判断される。また、Ｆ2の遅延時間の変動が１０００ｍｓから１０２０ｍｓであり閾値が１０１％である場合、Ｆ2もまた異常であると判断される。
【０００５】
次に、モニタ装置９３は、上述した判断に基づいて、フローが経由するノードに対して、正常／異常情報をマッピングする。この正常／異常情報は、フローが正常であるか否かを示す情報である。マッピング後、モニタ装置９３は、最小のノード数で異常なフローをカバーするノードの集合を異常箇所と判断する。例えば、上述したようにＦ1及びＦ2が異常なフローと判断された場合、Ｆ1及びＦ2をカバーするノードＮ1が異常箇所として特定される。なお、異常箇所の特定において、正常なフローをカバーするノードは除外される。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】「複数パス上のパケット損失計測に基づく輻輳箇所特定法に関する実験的検討」、電子情報通信学会技術研究報告、２００４年９月、ｖｏｌ．１０４、ｎｏ．３０９、ＣＱ２００４−７６、ｐｐ．４３−４８
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した異常箇所を特定する技術によれば、異常箇所を正しく特定できない場合が存在する。フローが正常か異常かを判断するための閾値が低く設定されている場合、異常と判定されるべきフローが正常と判断されてしまう。例えば、上述したネットワークシステムにおいて、Ｆ2に設定された閾値が１１０％である場合、Ｆ2は異常なフローと判断されない。その結果、Ｆ1だけが異常なフローと判断され、Ｎ1はＦ2をカバーするため、Ｎ2のみが異常箇所として特定されてしまう。このことは、フロー単位で遅延時間を測定することに起因する。また、ノード単位で遅延時間を測定するために、全てのノードを監視すると、ネットワークに大きな負荷が掛かる。
【０００８】
本発明は上述した問題点を解決するためになされたものであり、ネットワークシステムにおいて、低負荷でノード単位の遅延時間を測定することができる遅延時間測定装置、遅延時間測定プログラム及び方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
サーバと、該サーバに接続された複数の端末装置と、前記サーバと前記複数の端末装置との接続を中継する複数の中継ノードとを含むネットワークに関して、前記サーバと前記複数の端末装置のそれぞれとの接続経路を示す経路情報を記憶する経路情報記憶部と、前記経路情報記憶部により記憶された経路情報に基づいて、前記複数の中継ノードのうち、前記複数の端末装置と他の中継ノードを介して接続されたコアノードを特定するコアノード特定部と、前記サーバと前記複数の端末装置のそれぞれとの間で送受されるパケットを取得する取得部と、前記取得部により取得されたパケットに基づいて、前記サーバと前記複数の端末装置のそれぞれとの間のパケットの伝送に係る第１遅延時間を、前記経路情報における接続経路毎に算出する第１遅延時間算出部と、前記コアノード特定部により特定されたコアノードへアクティブパケットを送出する送出部と、前記送出部により送出されたアクティブパケットに対する前記コアノードからの応答を受信する受信部と、前記送出部により送出されたアクティブパケットと、前記受信部により受信された応答とに基づいて、前記サーバと前記コアノードとの間のパケットの伝送に係る第２遅延時間を算出する第２遅延時間算出部と、前記第１遅延時間算出部により算出された前記第１遅延時間と、前記第２遅延時間算出部により算出された前記第２遅延時間と、前記経路情報とに基づいて、前記サーバと前記複数の中継ノードのそれぞれとの間のパケットの伝送に係る第３遅延時間を算出する第３遅延時間算出部を有する。
【発明の効果】
【００１０】
ネットワークシステムにおいて、低負荷でノード単位の遅延時間を測定することができる。
【図面の簡単な説明】
【００１１】
【図１】本実施の形態に係るネットワークシステムと遅延時間測定装置のハードウェア構成とを示す図である。
【図２】遅延時間測定装置１５の機能構成を示す図である。
【図３】経路情報を示す図である。
【図４】ノード情報を示す図である。
【図５】遅延時間情報を示す図である。
【図６】遅延要素情報を示す図である。
【図７】遅延時間測定装置の動作を示すフローチャートである。
【図８】遅延時間の算出方法を示す図である。
【図９】ノード種別の判定方法を示す図である。
【図１０】異常ノード決定処理の動作を示すフローチャートである。
【図１１】遅延要素の算出方法を示す図である。
【図１２】遅延要素に対する閾値を示す図である。
【図１３】ＣＰＵ処理負荷による遅延時間の増大を示す図である。
【図１４】本明細書に開示された技術が適用されるコンピュータシステムの一例を示す図である。
【図１５】ネットワークトモグラフィ解析の対象としてのネットワークシステムを示す図である。
【発明を実施するための形態】
【００１２】
以下、実施の形態について図面を参照しつつ説明する。
【００１３】
まず、本実施の形態に係るネットワークシステムと遅延時間測定装置のハードウェア構成とについて説明する。図１は、本実施の形態に係るネットワークシステムと遅延時間測定装置のハードウェア構成とを示す図である。
【００１４】
図１に示すように、本実施の形態に係るネットワークシステムは、サーバ１１、端末装置１２、ノード１３、タップ１４、遅延時間測定装置１５を有する。サーバ１１は、端末装置１２をクライアントとし、端末装置１２との間でネットワークを介してデータを送受する。ノード１３（中継ノード）は、サーバ１１と端末装置１２との接続を中継する中継器である。本実施の形態において、ノード１３は複数存在するものとし、タップ１４を介してサーバ１１と接続されたノード１３をＮ1、Ｎ1に接続された２つのノード１３をそれぞれＮ2、Ｎ3とし、Ｎ2に接続されたネットワークをサブネットＡ、Ｎ3に接続されたネットワークをサブネットＢとする。端末装置１２は複数存在し、サーバ１１とデータを送受する。また、複数の端末装置１２は、Ｎ2またはＮ3に接続されているものとする。遅延時間測定装置１５は、サーバ１１とＮ1との間のタップ１４を介して、ネットワークに接続されており、サーバ１１と複数の端末装置１２との間で送受されるパケットを送受する。なお、本実施の形態において、サーバ１１からサブネットＡまでのフローをＦ1、サーバ１１からサブネットＢまでのフローをＦ2とする。
【００１５】
遅延時間測定装置１５は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１５１、メモリ１５２、記憶部１５３、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）インターフェイス１５４、出力部１５５を有する。出力部１５５はディスプレイ１５６と接続される。記憶部１５３は、例えば、ハードディスクやフラッシュメモリなどの不揮発性の記憶媒体である。
【００１６】
次に、遅延時間測定装置の機能構成について説明する。図２は、遅延時間測定装置の機能構成を示す図である。また、図３は、経路情報を示す図である。また、図４は、ノード情報を示す図である。また、図５は、遅延時間情報を示す図である。また、図６は、遅延要素情報を示す図である。
【００１７】
図２に示すように、遅延時間測定装置１５は、経路情報生成部２１、ノード情報生成部２２（コアノード特定部）、遅延時間算出部２３（取得部、第１遅延時間算出部）、コアノード監視部２４（送出部、受信部、第２遅延時間算出部）、遅延要素算出部２５（第３遅延時間算出部）、遅延要素記録部２６（第３遅延時間記憶部、第２判断部、減算部）、変動算出部２７、異常ノード選択部２８（第１判断部、選択部）、表示部２９、待機処理部３０を機能として有する。これらの機能は、ＣＰＵ１５１とメモリ１５２とが協働することにより実現される。また、遅延時間測定装置１５は、経路情報、ノード情報、遅延時間情報、遅延要素情報を記憶部１５３に記憶する。
【００１８】
経路情報は、図３に示すように、サーバ１１から各サブネットまでのフローと、その通過経路を対応付ける情報である。例えば、Ｆ1は、サブネットＡからＮ2、Ｎ1を経由したサーバ１１まで経路として示される。ノード情報は、図４に示すように、各ノードと、その種別とを対応付ける情報である。このノード情報のノード種別において、１は対応するノード１３がコアノードであることを示し、０は対応するノード１３がエッジノードであることを示す。なお、本実施の形態において、他のノード１３を介して、エンドノードである端末装置１２に接続するノード１３をコアノードとし、端末装置１２に直接接続されたノード１３をエッジノードとする。遅延時間情報は、図５に示すように、パケットの発信元としてのサブネットと、発信元の端末装置１２のＩＰアドレスと、発信されたパケットのフローにおける遅延時間とを対応付ける情報である。遅延要素情報は、図６に示すように、ＩＤと、遅延要素と、その遅延時間とを対応付ける情報である。遅延要素は、フローにおける遅延時間を各ノードにより分割した遅延時間であり、それぞれのノードＮiの遅延要素はβiと示される。遅延要素情報における遅延時間は、遅延要素としての遅延時間であり、遅延時間情報における遅延時間とは異なる。また、本実施の形態におけるネットワークシステムの全ての遅延要素の遅延時間は１つのＩＤに対応付けられる。遅延要素の遅延時間は、所定時間間隔で算出され、算出毎にカウントアップされたＩＤが付されるため、遅延要素情報においてＩＤは時系列を示す。なお、以降の説明において、遅延要素の遅延時間を単に“遅延要素”と呼称する。
【００１９】
経路情報生成部２１は、ｔｒａｃｅｒｏｕｔｅ等のコマンドの発行、ノード１３内のルーティングテーブルの参照、ネットワーク内を流れるダイナミックルーティングプロトコル（例えば、ＯＳＰＦ：Ｏｐｅｎ  Ｓｈｏｔｅｓｔ  Ｐａｔｈ  Ｆｉｒｓｔ）の解析などによって、各フローの経路を取得し、経路情報を生成する。なお、経路情報生成部２１による経路の取得方法は、如何なる手段であっても良い。ノード情報生成部２２は、経路情報を参照し、これに基づいて、ノード情報を生成する。遅延時間算出部２３は、複数の端末装置１２のそれぞれからサーバ１１までのフローにおけるパケットの遅延時間を算出し、遅延時間情報に記録する。コアノード監視部２４は、ノード情報を参照し、これに基づいて、コアノードに対してＰｉｎｇを発行し、コアノードの遅延時間を算出する。遅延要素算出部２５は、遅延時間情報に基づいて、遅延要素を算出する。遅延要素記録部２６は、遅延要素算出部２５により算出された遅延要素の値がマイナスであるかどうかを判断し、値がマイナスではない場合、遅延要素情報に遅延要素を記録する。変動算出部２７は、遅延要素情報を参照し、遅延要素情報における各遅延要素について、時系列が異なる遅延要素から遅延要素の変動を算出する。異常ノード選択部２８は、変動算出部２７により算出された遅延要素の変動に基づいて、異常のあるノードを選択する。表示部２９は、異常ノード選択部２８により選択された異常ノードを、出力部１５５を介してディスプレイに表示する。待機処理部３０は、予め設定された一定時間待機する。待機処理部３０が一定時間待機することにより、遅延時間算出部２３及びコアノード監視部２４は、周期的にパケットを取得し、遅延時間を算出する。
【００２０】
次に、遅延時間測定装置の動作について説明する。図７は、遅延時間測定装置の動作を示すフローチャートである。また、図８は、遅延時間の算出方法を示す図である。また、図９は、ノード種別の判定方法を示す図である。
【００２１】
図７に示すように、まず、経路情報生成部２１は、記憶部１５３に経路情報が記憶されているかどうかを判断する（Ｓ１０１）。
【００２２】
記憶部１５３に経路情報が記憶されている場合（Ｓ１０１，ＹＥＳ）、ノード情報生成部２２は、記憶部１５３にノード情報が記憶されているかどうかを判断する（Ｓ１０２）。
【００２３】
記憶部１５３にノード情報が記憶されている場合（Ｓ１０２，ＹＥＳ）、遅延時間算出部２３は、記憶部１５３に遅延時間情報が記憶されているかどうかを判断する（Ｓ１０３）。
【００２４】
記憶部１５３に遅延時間情報が記憶されている場合（Ｓ１０３，ＹＥＳ）、遅延時間算出部２３は、サーバ１１と各サブネット間において送受されるパケットを取得し、取得したパケットに基づいて、遅延時間を算出する（Ｓ１０４）。ここで、遅延時間の算出方法について説明する。図８に示すように、端末装置１２から送出された要求パケットに対してサーバ１１から送出された応答パケットを遅延時間算出部２３が取得した時刻をＴ1とする。また、応答パケットに対して端末装置１２から送出された確認パケットを遅延時間算出部２３が取得した時刻をＴ2とする。この場合、遅延時間算出部２３は、Ｔ1とＴ2との時間差を遅延時間とする。具体的には、遅延時間算出部２３は、Ｔ2からＴ1を減算した値を遅延時間とする。なお、遅延時間算出部２３は、予め設定されたサンプリング時間内に送受されたパケットを取得し、取得したパケットによるサーバ１１と各サブネット間の送受全てについて、上述した遅延時間の算出を行う。
【００２５】
遅延時間の算出後、遅延時間算出部２３は、算出した遅延時間により遅延時間情報を更新する（Ｓ１０５）。ここで、遅延時間算出部２３は、遅延時間を算出したフローにおいて要求パケットを送出した端末装置１２が所属するサブネットと、算出した遅延時間とを対応付けて遅延時間情報に記録する。本実施の形態において、遅延時間の算出は、サーバ１１とサブネット間のフローに対してなされる。そのため、異なる端末装置１２とサーバ１１との間の複数の遅延時間は、所属するサブネットが同じである場合は、同じサブネットの遅延時間として扱われる。
【００２６】
次に、コアノード監視部２４は、後述する異常ノード決定処理を実行し（Ｓ１０６）、遅延時間算出部２３は、再度、パケットを取得し、遅延時間を算出する（Ｓ１０４）。
【００２７】
また、ステップＳ１０３の判断において、記憶部１５３に遅延時間情報が記憶されていない場合（Ｓ１０３，ＮＯ）、遅延時間情報算出部２３は、空の遅延時間情報を生成する（Ｓ１０７）。
【００２８】
また、ステップＳ１０２の判断において、記憶部１５３にノード情報が記憶されていない場合（Ｓ１０２，ＮＯ）、ノード情報生成部２２は、経路情報に基づいて、ノード種別を判定し、各ノードとその判定結果とが対応付けられたノード情報を生成する（Ｓ１０８）。ここで、ノード種別の判定方法について説明する。図９に示すように、ノード情報生成部２２は、経路情報に基づいて、各フローにおいて、各ノードがエッジノードであるか否かを判定する。例えば、Ｆ1において、Ｎ2は、サブネットＡと隣り合うため、エッジノードと判定される。ノード情報生成部２２は、各フローと各ノードとの組み合わせに対し、エッジノードと判定した場合は１を、エッジノードではないと判定した場合は０を割り当てる。割当後、ノード情報生成部２２は、異なるフロー間の論理和演算をノード毎に行うことにより、ネットワークシステムにおけるエッジノード判定を行う。更に、ノード情報生成部２２は、ネットワークシステムにおけるエッジノード判定結果に対するＸＯＲ演算の結果が、１であるノードをコアノード、０であるノードをそれ以外のノードとして判定する。
【００２９】
また、ステップＳ１０１の判断において、記憶部１５３に経路情報が記憶されていない場合（Ｓ１０１，ＮＯ）、経路情報生成部２１は、経路情報を生成する（Ｓ１１０）。
【００３０】
次に、異常ノード決定処理の動作について説明する。図１０は、異常ノード決定処理の動作を示すフローチャートである。また、図１１は、遅延要素の算出方法を示す図である。また、図１２は、遅延要素に対する閾値を示す図である。また、図１３は、ＣＰＵ処理負荷による遅延時間の増大を示す図である。
【００３１】
図１０に示すように、まず、遅延要素記録部２６は、変数ｉに０をセットし（Ｓ２０１）、記憶部１５３に遅延要素情報が記憶されているかどうかを判断する（Ｓ２０２）。
【００３２】
記憶部１５３に遅延要素情報が記憶されている場合（Ｓ２０２，ＹＥＳ）、遅延要素算出部２５は、経路情報及び遅延時間情報を記憶部１５３から取得する（Ｓ２０３）。次に、コアノード監視部２４は、コアノードに対して、アクティブパケットとしてＰｉｎｇパケットを送出し（Ｓ２０４）、ＰｉｎｇパケットとこのＰｉｎｇパケットに対するコアノードによる応答とに基づいて、コアノードの遅延時間を算出する（Ｓ２０５）。コアノード監視部２４は、具体的には、Ｐｉｎｇパケットを送出した時刻とその応答が返ってきた時刻との時間差を求め、これをコアノードの遅延時間とする。なお、コアノード監視部２４は、フローの遅延時間の算出と同様に設定されたサンプリング時間内にＰｉｎｇパケットを複数回送出し、Ｐｉｎｇパケットとその応答毎に遅延時間を算出する。
【００３３】
次に、遅延要素算出部２５は、取得した経路情報及び遅延時間情報とコアノード監視部２４により算出されたコアノードの遅延時間とに基づいて、遅延要素を算出する（Ｓ２０６）。ここで、遅延要素算出部２５による遅延要素の算出方法について説明する。図１１に示す方程式において、ｙ1はコアノードであるＮ1の遅延時間、ｙ2はサブネットＡ即ちＦ1の遅延時間、ｙ3はサブネットＢ即ちＦ2の遅延時間を示す。遅延要素算出部２５は、経路情報を参照し、フローの遅延時間ｙをフローが経由するノード１３の遅延要素の合計とする。本実施の形態に係るネットワークシステムにおいて、ｙ2はβ1＋β2、ｙ3はβ1＋β3となる。また、コアノードの遅延時間は遅延要素であるため、ｙ1はβ1となる。遅延要素算出部２５は、これらのフロー及びコアノードの遅延時間と遅延要素との間に成り立つ関係を示す連立方程式におけるβiの値を解として求める。これにより、ネットワークシステムにおけるノード１３の遅延要素を算出することができる。また、遅延要素算出部２５は、連立方程式の解の算出に、重回帰分析を適用する。例えば、Ｆ1及びＦ2の遅延時間がサンプリング時間内に５回ずつ観測され、Ｎ1の遅延時間がサンプリング時間内に３回観測された場合、図１１に示すように、方程式が１３個成立する。この場合、遅延要素算出部２５は、重回帰分析を用いることにより、１３個全ての方程式から、統計的に最も信頼性の高い遅延要素を算出することができる。なお、連立方程式の解の算出において、遅延算出部２５は、数量化Ｉ類などの他の手段を用いても良い。遅延要素の算出後、遅延要素記録部２６は、算出された全ての遅延要素βにおいて、値がマイナスである遅延要素があるかどうかを判断する（Ｓ２０７）。
【００３４】
値がマイナスである遅延要素がない場合（Ｓ２０７，ＮＯ）、遅延要素記録部２６は、ＩＤを付して遅延要素βを遅延要素情報へ追加する（Ｓ２０８）。次に、変動算出部２７は、遅延要素情報を参照し、前回の遅延要素β、つまり追加された遅延要素βに付されたＩＤに対して数値が１小さいＩＤが付された遅延要素βが記録されているかどうかを判断する（Ｓ２０９）。
【００３５】
遅延要素情報に前回の遅延要素βが記録されている場合（Ｓ２０９，ＹＥＳ）、追加された遅延要素βiについて、前回の遅延要素βiとの変動をそれぞれ算出する（Ｓ２１０）。次に、異常ノード選択部２８は、設定範囲外の遅延要素βiの変動があるかどうかを判断する（Ｓ２１１）。ここで、設定範囲について説明する。設定範囲は、遅延要素情報に記録された遅延要素βiに基づいて決定される。異常ノード選択部２８は、図１２に示すように、前回以前の遅延要素βiに対して、これに所定の値で乗算した値を加算した値を上限とし、減算した値を下限として閾値を決定する。つまり、異常ノード選択部２８は、前回以前の遅延要素βiに対する遅延要素βiの変動率に基づいて、遅延要素βiが異常であるかどうかを判断する。例えば、前回の遅延要素βiが１０であり、所定の値を０．５とした場合、上限は１５となり、下限は５となる。また、前回以前の遅延要素βiが複数ある場合、異常ノード選択部２８は、複数の遅延要素βiの平均、分散または時系列の変動に基づいて閾値を決定しても良い。
【００３６】
設定範囲外の遅延要素βiの変動がある場合（Ｓ２１１，ＹＥＳ）、設定範囲外の変動があるノード１３を異常ノードとして選択することにより、異常ノードを決定する（Ｓ２１２）。次に、表示部２１３は、決定された異常ノードを、出力部１５５を介してディスプレイ１５６に表示する（Ｓ２１３）。異常ノードの表示後、待機処理部３０は、予め設定された一定時間待機し（Ｓ２１４）、異常ノード決定処理を終了する。
【００３７】
また、ステップＳ２１１の判断において、設定範囲外の遅延要素βiの変動がない場合（Ｓ２１１，ＮＯ）、待機処理部３０は、一定時間待機し（Ｓ２１４）、異常ノード決定処理を終了する。
【００３８】
また、ステップＳ２０９の判断において、遅延要素情報に前回の遅延要素βが記録されていない場合（Ｓ２０９，ＮＯ）、待機処理部３０は、一定時間待機し（Ｓ２１４）、異常ノード決定処理を終了する。
【００３９】
また、ステップＳ２０７の判断において、値がマイナスである遅延要素がある場合（Ｓ２０７，ＹＥＳ）、遅延要素記録部２６は、ｉに１を加算した値を代入する（Ｓ２１５）。更に、遅延要素記録部２６は、ｉが遅延要素算出のリトライ回数として予め設定された回数以上であるかどうかを判断する（Ｓ２１６）。
【００４０】
ｉが予め設定された回数以上である場合（Ｓ２１６，ＹＥＳ）、遅延要素記録部２６は、コアノードの遅延時間からコアノードのＣＰＵ処理による遅延時間を減算する（Ｓ２１７）。具体的には、マイナスの遅延要素βの値における最大の絶対値と、絶対値が最大である遅延要素βiの前回以前の遅延要素βiとを加算した値を、遅延要素の値がマイナスとなったノード１３が含まれるフローにおけるコアノードの遅延時間の値より減算する。例えば、Ｎ1の遅延時間が１００、Ｆ1の遅延時間が６０、Ｆ2の遅延時間が９０である場合、β1＝１００、β2＝−４０、β3＝−１０となる。ここで、遅延要素記録部２６は、β2の絶対値４０と前回のβ2の値２５との加算値によりコアノードの遅延時間を減算する。コアノードの遅延時間の値は３５となるため、β1＝３５、β2＝２５、β3＝５５となる。なお、予め設定された値をＣＰＵ処理時間として設定し、この値によりコアノードの遅延時間を減算しても良い。
【００４１】
ＰｉｎｇパケットやＳＮＭＰパケットなどのアクティブパケットはその内部にプログラムを含む。アクティブパケットを受信したノード１３は、アクティブパケットを受けると、これに含まれるプログラムを実行する。そのため、図１３に示すように、偶発的にノード１３においてＣＰＵ処理負荷により遅延時間が増大することがある。この場合、コアノードの遅延時間よりもフローの遅延時間が小さくなるため、遅延要素記録部２６は、マイナスの遅延要素がある場合にＣＰＵ処理負荷による遅延時間を除外することができる。
【００４２】
次に、遅延要素算出部２５は、減算されることにより補正されたコアノードの遅延時間に基づいて、再度、遅延要素を算出する（Ｓ２０６）。
【００４３】
また、ステップＳ２１６の判断において、ｉが予め設定された回数未満である場合（Ｓ２１６，ＮＯ）、コアノード監視部２４は、再度、コアノードに対して、アクティブパケットとしてＰｉｎｇパケットを送出する（Ｓ２０４）。
【００４４】
また、ステップＳ２０２の判断において、記憶部１５３に遅延要素情報が記憶されていない場合（Ｓ２０２，ＮＯ）、遅延要素記録部２６は、空の遅延要素情報を記憶部１５３に生成する（Ｓ２１８）。
【００４５】
以上説明したように、本明細書に開示された技術によれば、全ノードの遅延時間の算出において、パッシブ観測で不足する情報をコアノードに対する監視によって補うことにより、低負荷でノード単位の遅延時間を測定することができる。ノードがホップ数（ｋ）ごとにｎ分岐しているネットワークにおいて、全ノードの数Ｓallは（ｎk+1−１）／（ｎ−１）となる。これに対して、コアノードの数Ｓcoreは（ｎk−１）／（ｎ−１）となる。よって、本明細書に開示された技術によれば、全てのノードを監視する場合に比べ、ネットワーク負荷を（ｎk−１）／（ｎk+1−１）以下に抑えることができる。例えば、本実施の形態に示したようなクライアントまでのホップ数が４ホップ、ノードごとの分岐数が２であるネットワークの場合、ネットワークに掛かる負荷は、全てのノードを監視する場合に対して、３／７（４２．８％）となる。また、ノードごとの分岐数が１０である場合、ネットワークに掛かる負荷は、全てのノードを監視する場合に対して、１１／１１１（９％）となる。また、ノード単位の遅延時間に基づいてノード１３が異常であるかどうかを判断するため、より正確に異常ノードを検出することができる。
【００４６】
本発明は以下に示すようなコンピュータシステムにおいて適用可能である。図１４は、本明細書に開示された技術が適用されるコンピュータシステムの一例を示す図である。図１４に示すコンピュータシステム９００は、ＣＰＵやディスクドライブ等を内蔵した本体部９０１、本体部９０１からの指示により画像を表示するディスプレイ９０２、コンピュータシステム９００に種々の情報を入力するためのキーボード９０３、ディスプレイ９０２の表示画面９０２ａ上の任意の位置を指定するマウス９０４及び外部のデータベース等にアクセスして他のコンピュータシステムに記憶されているプログラム等をダウンロードする通信装置９０５を有する。通信装置９０５は、ネットワーク通信カード、モデムなどが考えられる。
【００４７】
上述したような、遅延時間測定装置を構成するコンピュータシステムにおいて上述した各ステップを実行させるプログラムを、遅延時間測定プログラムとして提供することができる。このプログラムは、コンピュータシステムにより読取り可能な記録媒体に記憶させることによって、遅延時間測定装置を構成するコンピュータシステムに実行させることが可能となる。上述した各ステップを実行するプログラムは、ディスク９１０等の可搬型記録媒体に格納されるか、通信装置９０５により他のコンピュータシステムの記録媒体９０６からダウンロードされる。また、コンピュータシステム９００に少なくとも遅延時間測定機能を持たせる遅延時間測定プログラム（遅延時間測定ソフトウェア）は、コンピュータシステム９００に入力されてコンパイルされる。このプログラムは、コンピュータシステム９００を、遅延時間測定機能を有する遅延時間測定装置として動作させる。また、このプログラムは、例えばディスク９１０等のコンピュータ読み取り可能な記録媒体に格納されていても良い。ここで、コンピュータシステム９００により読取り可能な記録媒体としては、ＲＯＭやＲＡＭ等のコンピュータに内部実装される内部記憶装置、ディスク９１０やフレキシブルディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカード等の可搬型記憶媒体や、コンピュータプログラムを保持するデータベース、或いは、他のコンピュータシステム並びにそのデータベースや、通信装置９０５のような通信手段を介して接続されるコンピュータシステムでアクセス可能な各種記録媒体を含む。
【００４８】
以上、本実施の形態によれば、以下の付記で示す技術的思想が開示されている。
（付記１）  サーバと、該サーバに接続された複数の端末装置と、前記サーバと前記複数の端末装置との接続を中継する複数の中継ノードとを含むネットワークに関して、前記サーバと前記複数の端末装置のそれぞれとの接続経路を示す経路情報を記憶する経路情報記憶部と、
前記経路情報記憶部により記憶された経路情報に基づいて、前記複数の中継ノードのうち、前記複数の端末装置と他の中継ノードを介して接続されたコアノードを特定するコアノード特定部と、
前記サーバと前記複数の端末装置のそれぞれとの間で送受されるパケットを取得する取得部と、
前記取得部により取得されたパケットに基づいて、前記サーバと前記複数の端末装置のそれぞれとの間のパケットの伝送に係る第１遅延時間を、前記経路情報における接続経路毎に算出する第１遅延時間算出部と、
前記コアノード特定部により特定されたコアノードへアクティブパケットを送出する送出部と、
前記送出部により送出されたアクティブパケットに対する前記コアノードからの応答を受信する受信部と、
前記送出部により送出されたアクティブパケットと、前記受信部により受信された応答とに基づいて、前記サーバと前記コアノードとの間のパケットの伝送に係る第２遅延時間を算出する第２遅延時間算出部と、
前記第１遅延時間算出部により算出された前記第１遅延時間と、前記第２遅延時間算出部により算出された前記第２遅延時間と、前記経路情報とに基づいて、前記サーバと前記複数の中継ノードのそれぞれとの間のパケットの伝送に係る第３遅延時間を算出する第３遅延時間算出部を備える遅延時間算出装置。
（付記２）  前記第３遅延時間算出部は、所定の周期毎に前記第３遅延時間を算出し、
前記所定の周期毎に算出された前記第３遅延時間を累積させて記憶する第３遅延時間記憶部と、
前記第３遅延時間算出部により算出された前記第３遅延時間と、前記第３遅延時間記憶部に記憶された前回以前の周期の第３遅延時間とに基づいて、前記複数の中継ノードのそれぞれの遅延時間の変動を算出する変動算出部と、
前記変動算出部により算出された複数の変動のそれぞれについて、所定の閾値以上であるか否かを判断する第１判断部と、
前記複数の中継ノードのうち、前記第１判断部により変動が所定の閾値以上であると判断された中継ノードを選択する選択部とを更に備える付記１に記載の遅延時間測定装置。
（付記３）  前記第３遅延時間算出部により算出された前記複数の第３遅延時間において、値がマイナスである第３遅延時間があるかどうかを判断する第２判断部と、
前記第２判断部により値がマイナスである第３遅延時間があると判断された場合、前記第２遅延時間の値から所定の値を減算する減算部とを更に備え、
前記第３遅延時間算出部は、前記減算部により減算された第２遅延時間と、前記第１遅延時間と、前記経路情報に基づいて、前記第３遅延時間を算出することを特徴とする付記１または付記２に記載の遅延時間測定装置。
（付記４）  前記所定の閾値は、前記第３遅延時間記憶部に記憶された前回以前の周期の第３遅延時間に基づく値であることを特徴とする付記２または付記３に記載の遅延時間測定装置。
（付記５）  前記取得部は、所定の時間内に前記サーバと前記複数の端末装置のそれぞれとの間で送受されるパケットを取得し、
前記送出部は、前記コアノード特定部により特定されたコアノードへアクティブパケットを複数回送出し、
前記第３遅延時間算出部は、重回帰分析を用いて、前記第３遅延時間を算出することを特徴とする付記１乃至付記４のいずれかに記載の遅延時間測定装置。
（付記６）  記憶部に記憶され、サーバと、該サーバに接続された複数の端末装置と、前記サーバと前記複数の端末装置との接続を中継する複数の中継ノードとを含むネットワークに関して、前記サーバと前記複数の端末装置のそれぞれとの接続経路を示す経路情報に基づいて、前記複数の中継ノードのうち、前記複数の端末装置と他の中継ノードを介して接続されたコアノードを特定し、
前記サーバと前記複数の端末装置のそれぞれとの間で送受されるパケットを取得し、
取得されたパケットに基づいて、前記サーバと前記複数の端末装置のそれぞれとの間のパケットの伝送に係る第１遅延時間を、前記経路情報における接続経路毎に算出し、
特定されたコアノードへアクティブパケットを送出し、
送出されたアクティブパケットに対する前記コアノードからの応答を受信し、
送出されたアクティブパケットと、受信された応答とに基づいて、前記サーバと前記コアノードとの間のパケットの伝送に係る第２遅延時間を算出し、
算出された前記第１遅延時間と、算出された前記第２遅延時間と、前記経路情報とに基づいて、前記サーバと前記複数の中継ノードのそれぞれとの間のパケットの伝送に係る第３遅延時間を算出することをコンピュータに実行させる遅延時間算出プログラム。
（付記７）  前記第３遅延時間の算出は、所定の周期毎に前記第３遅延時間を算出することを特徴とし、
前記所定の周期毎に算出された前記第３遅延時間を累積させて前記記憶部に記憶し、
算出された前記第３遅延時間と、前記記憶部に記憶された前回以前の周期の第３遅延時間とに基づいて、前記複数の中継ノードのそれぞれの遅延時間の変動を算出し、
算出された複数の変動のそれぞれについて、所定の閾値以上であるか否かを判断し、
前記複数の中継ノードのうち、変動が所定の閾値以上であると判断された中継ノードを選択することを更にコンピュータに実行させる付記６に記載の遅延時間測定プログラム。
（付記８）  算出された前記複数の第３遅延時間において、値がマイナスである第３遅延時間があるかどうかを判断し、
値がマイナスである第３遅延時間があると判断された場合、前記第２遅延時間の値から所定の値を減算することを更にコンピュータに実行させ
前記第３遅延時間の算出は、減算された第２遅延時間と、前記第１遅延時間と、前記経路情報に基づいて、前記第３遅延時間を算出することを特徴とする付記６または付記７に記載の遅延時間測定プログラム。
（付記９）  前記所定の閾値は、前記記憶部に記憶された前回以前の周期の第３遅延時間に基づく値であることを特徴とする付記７または付記８に記載の遅延時間測定プログラム。
（付記１０）  前記パケットの取得は、所定の時間内に前記サーバと前記複数の端末装置のそれぞれとの間で送受されるパケットを取得し、
前記アクティブパケットの送出は、特定されたコアノードへアクティブパケットを複数回送出し、
前記第３遅延時間の算出は、重回帰分析を用いて、前記第３遅延時間を算出することを特徴とする付記６乃至付記９のいずれかに記載の遅延時間測定プログラム。
（付記１１）  記憶部に記憶され、サーバと、該サーバに接続された複数の端末装置と、前記サーバと前記複数の端末装置との接続を中継する複数の中継ノードとを含むネットワークに関して、前記サーバと前記複数の端末装置のそれぞれとの接続経路を示す経路情報に基づいて、前記複数の中継ノードのうち、前記複数の端末装置と他の中継ノードを介して接続されたコアノードを特定し、
前記サーバと前記複数の端末装置のそれぞれとの間で送受されるパケットを取得し、
取得されたパケットに基づいて、前記サーバと前記複数の端末装置のそれぞれとの間のパケットの伝送に係る第１遅延時間を、前記経路情報における接続経路毎に算出し、
特定されたコアノードへアクティブパケットを送出し、
送出されたアクティブパケットに対する前記コアノードからの応答を受信し、
送出されたアクティブパケットと、受信された応答とに基づいて、前記サーバと前記コアノードとの間のパケットの伝送に係る第２遅延時間を算出し、
算出された前記第１遅延時間と、算出された前記第２遅延時間と、前記経路情報とに基づいて、前記サーバと前記複数の中継ノードのそれぞれとの間のパケットの伝送に係る第３遅延時間を算出する遅延時間算出方法。
（付記１２）  前記第３遅延時間の算出は、所定の周期毎に前記第３遅延時間を算出することを特徴とし、
前記所定の周期毎に算出された前記第３遅延時間を累積させて前記記憶部に記憶し、
算出された前記第３遅延時間と、前記記憶部に記憶された前回以前の周期の第３遅延時間とに基づいて、前記複数の中継ノードのそれぞれの遅延時間の変動を算出し、
算出された複数の変動のそれぞれについて、所定の閾値以上であるか否かを判断し、
前記複数の中継ノードのうち、変動が所定の閾値以上であると判断された中継ノードを選択する付記１１に記載の遅延時間測定方法。
（付記１３）  算出された前記複数の第３遅延時間において、値がマイナスである第３遅延時間があるかどうかを判断し、
値がマイナスである第３遅延時間があると判断された場合、前記第２遅延時間の値から所定の値を減算し、
前記第３遅延時間の算出は、減算された第２遅延時間と、前記第１遅延時間と、前記経路情報に基づいて、前記第３遅延時間を算出することを特徴とする付記１１または付記１２に記載の遅延時間測定方法。
（付記１４）  前記所定の閾値は、前記記憶部に記憶された前回以前の周期の第３遅延時間に基づく値であることを特徴とする付記１２または付記１３に記載の遅延時間測定方法。
（付記１５）  前記パケットの取得は、所定の時間内に前記サーバと前記複数の端末装置のそれぞれとの間で送受されるパケットを取得し、
前記アクティブパケットの送出は、特定されたコアノードへアクティブパケットを複数回送出し、
前記第３遅延時間の算出は、重回帰分析を用いて、前記第３遅延時間を算出することを特徴とする付記１１乃至付記１４のいずれかに記載の遅延時間測定方法。
【符号の説明】
【００４９】
１１  サーバ、１２  端末装置、１３  ノード、１４  タップ、１５  遅延時間測定装置、２１  経路情報生成部、２２  ノード情報生成部、２３  遅延時間算出部、２４  コアノード監視部、２５  遅延要素算出部、２６  遅延要素記録部、２７  変動算出部、２８  異常ノード選択部、２９  表示部、３０  待機処理部、１５１  ＣＰＵ、１５２  メモリ、１５３  記憶部、１５４  ＬＡＮインターフェイス、１５５  出力部、１５６  ディスプレイ。
【図１】
2011071718.tif 000003
【図２】
2011071718.tif 000004
【図３】
2011071718.tif 000005
【図４】
2011071718.tif 000006
【図５】
2011071718.tif 000007
【図６】
2011071718.tif 000008
【図７】
2011071718.tif 000009
【図８】
2011071718.tif 000010
【図９】
2011071718.tif 000011
【図１０】
2011071718.tif 000012
【図１１】
2011071718.tif 000013
【図１２】
2011071718.tif 000014
【図１３】
2011071718.tif 000015
【図１４】
2011071718.tif 000016
【図１５】
2011071718.tif 000017