(57)【要約】      （修正有）【課題】パケット収集負荷を抑えつつ、通信ネットワーク上のノード装置の処理遅延を観測可能とする装置、方法及びプログラムを提供する。【解決手段】監視装置１０は、メモリ１１３に記憶された通信ネットワークにおける通信フロー情報に基づき、一つ又は複数の通信フローについて、通信フローの経路上に設けられパケットを転送するノード装置の中から観測点を設定し、通信フローを観測点で仮想通信フローに分割する観測点算出部１１１と、少なくとも仮想通信フローの観測点での遅延情報及び仮想通信フローの経路情報に基づき、一つ又は複数の通信フローのノード装置の処理遅延を算出する遅延算出部１１２を備える。【選択図】図８
2017085296.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワークにおける一つ又は複数の通信フローについて、前記通信フローの経路上に設けられ、パケットを転送するノード装置の中から少なくとも一つのノード装置を観測点として決定し、前記通信フローを前記観測点で仮想通信フローに分割する観測点算出部と、
少なくとも前記仮想通信フローの観測点での遅延情報及び前記仮想通信フローの経路情報に基づき、前記一つ又は複数の通信フローの前記ノード装置の処理遅延を算出する遅延算出部と、
を備えた、ことを特徴とするネットワーク監視装置。
【請求項２】
前記観測点算出部で決定された前記観測点のノード装置に対して受信パケットのキャプチャを行う観測点として機能するように設定する観測点設定部と、
前記観測点のノード装置でキャプチャされた前記パケットを収集し、前記遅延算出部に供給する観測情報取得部と、
をさらに備えたことを特徴とする請求項１記載のネットワーク監視装置。
【請求項３】
前記観測点算出部が、
記憶部に記憶された前記通信ネットワークにおける通信フロー情報に基づき、前記通信フローの経路上に設けられた前記ノード装置の中から少なくとも一つのノード装置を観測点として決定し、
前記通信フローを、前記観測点をそれぞれ始点、終点とする第１、第２の仮想通信フローに分割し、
前記通信フローの経路情報を、分割した前記仮想通信フローに基づき、更新する処理を行い、
前記遅延算出部が、
前記観測点として決定されたノード装置で観測されたパケットの遅延情報と、前記通信ネットワークにおける、前記仮想通信フローの経路情報、又は、前記通信フローと前記仮想通信フローの経路情報、に基づき、前記一つ又は複数の通信フローの前記ノード装置の処理遅延を算出する処理を行う、ことを特徴とする請求項１又は２記載のネットワーク監視装置。
【請求項４】
前記観測点算出部は、ノード装置を列、通信フロー及び仮想通信フローを行とする経路行列に関して、前記通信フロー上のノード装置の中から新たに観測点となるノード装置を決定し、前記経路行列の線型独立となる行ベクトルの数を、前記経路行列がフルランクとなるまで増加させる、ことを特徴とする請求項１乃至３のいずれか１項に記載のネットワーク監視装置。
【請求項５】
前記遅延算出部は、
2017085296.tif 000026
を前記観測点で観測された前記通信フロー及び前記仮想通信フローの遅延時間を要素ｙｉ（i=1, .., m）とする観測ベクトル、
Ａをｉ番目の前記通信フロー又は前記仮想通信フローがノード装置ｊ（ｊ=1, .., n）を経由する回数を要素ａｉｊとする経路行列、
2017085296.tif 000027
をｊ番目のノード装置の処理遅延を要素ｘｊ（ｊ=1, .., n）とする処理遅延ベクトル
として、
2017085296.tif 000028
から、前記各ノード装置の処理遅延ｘｊ（ｊ=1, .., n）を算出する、ことを特徴とする請求項３又は４に記載のネットワーク監視装置。
【請求項６】
ネットワーク監視装置による通信ネットワークの監視方法であって、
記憶部に記憶された通信ネットワークにおける通信フロー情報に基づき、一つ又は複数の通信フローについて、前記通信フローの経路上に設けられ、パケットを転送するノード装置の中から少なくとも一つのノード装置を観測点として決定する観測点決定ステップと、
前記通信フローを、前記観測点で仮想通信フローに分割するフロー分割ステップと、
少なくとも前記仮想通信フローの観測点での遅延情報及び前記仮想通信フローの経路情報に基づき、前記一つ又は複数の通信フローの前記ノード装置の処理遅延を算出する遅延算出ステップと、
を含む、ことを特徴とする通信ネットワーク監視方法。
【請求項７】
前記観測点決定ステップでは、前記通信フローの経路上に設けられた前記ノード装置の中から、少なくとも１つのノード装置を観測点として決定し、
前記フロー分割ステップでは、前記通信フローを、前記観測点それぞれを始点、終点とする第１、第２の仮想通信フローに分割するとともに、前記通信フローの経路情報を前記仮想通信フローで更新する、
請求項６記載の通信ネットワーク監視方法。
【請求項８】
観測点に決定した前記ノード装置に対して、受信パケットのキャプチャを行う観測点として機能するように、通信インタフェースを介して、設定する観測点設定ステップと、
前記観測点のノード装置でキャプチャされた前記パケットを、前記通信インタフェースを介して、収集する観測情報取得ステップと、
をさらに含む、ことを特徴とする請求項６又は７に記載の通信ネットワーク監視方法。
【請求項９】
記憶部に記憶された通信ネットワークにおける通信フロー情報に基づき、一つ又は複数の通信フローについて、前記通信フローの経路上に設けられ、パケットを転送するノード装置の中から少なくとも１つのノード装置を観測点として決定し、前記通信フローを前記観測点で仮想通信フローに分割する観測点算出処理と、
少なくとも前記仮想通信フローの観測点での遅延情報及び前記仮想通信フローの経路情報に基づき、前記一つ又は複数の通信フローの前記ノード装置の処理遅延を算出する遅延算出処理と、
をコンピュータに実行させるプログラム。
【請求項１０】
観測点に決定した前記ノード装置に対して、受信パケットのキャプチャを行う観測点として機能するように、通信インタフェースを介して、設定する観測点設定処理と、
前記観測点のノード装置でキャプチャされた前記パケットを、前記通信インタフェースを介して、収集する観測情報取得処理と、
をさらに含み、
前記観測点算出処理は、前記通信フローの経路上に設けられた前記ノード装置の中から、観測点となるノード装置を決定し、
前記フロー分割処理は、前記通信フローを、前記観測点それぞれを始点、終点とする第１、第２の仮想通信フローに分割し、前記通信フローの経路情報を前記仮想通信フローで更新し、
前記遅延算出処理は、
前記観測情報取得処理で収集された前記観測点のノード装置で観測されたパケットの遅延情報と、前記通信ネットワークにおける前記仮想通信フローの経路情報、又は、前記通信フローと前記仮想通信フローの経路情報とに基づき、前記一つ又は複数の通信フローの前記ノード装置の処理遅延を算出する、請求項９記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はネットワーク監視装置と方法とプログラムに関する。
【背景技術】
【０００２】
通信ネットワークシステムにおいて、ノード装置（例えば転送元から受信したパケットを通信フローに基づき当該ノード装置の次の転送先に転送するパケット転送装置）の処理遅延を観測することにより、所望の性能を発揮しない性能ボトルネックとなるノード装置を特定することができる。性能ボトルネックとなるノード装置は、通信ネットワークシステム全体の性能を低下させる原因ともなり得ることから、当該ノード装置を特定し、当該性能ボトルネックを解消するための方策（例えば当該ノード装置の性能を向上させ処理遅延を低減する等）が適宜講じられる。
【０００３】
通信ネットワーク上のノード装置の処理遅延を測定する方法の一例として、例えば非特許文献１には、同一パケットに対して、ノード装置の処理が行われる前後の時刻を取得し、時刻差を算出する方法が開示されている。前後の時刻の取得は、当該ノード装置と、パケットが、当該ノードより前に経由するノード装置において、それぞれパケットキャプチャを行い、管理サーバ等でキャプチャしたパケットを収集することにより実現できる。なお、パケットキャプチャは、パケット情報の解析、集計等のために、通信ネットワークを流れるパケットを取り込むことをいう。
【０００４】
通信ネットワークの全てのノード装置の処理遅延を観測するためには、例えば全てのノード装置において、パケットキャプチャし、キャプチャしたパケットを管理サーバに転送することが行われる。この場合、通信ネットワークシステムが大規模であると、通信ネットワークの全てのノードでキャプチャしたパケットの収集は、収集対象のパケット数が膨大になることから、収集負荷が増大し、現実的には、困難である。
【０００５】
特許文献１には、各エッジノード間で伝播遅延を求め、ネットワークトモグラフィ法により伝播遅延を計算することが開示されている。ネットワークトモグラフィは、ネットワークのエッジノード間（端点間）でやりとりされるパケットの特性を観測し、そのパケットが通過したネットワーク内部の状態（劣化箇所等）を推定する。なお、特許文献１の開示は、エッジノードのプローブパケットを使ったサンプリングの遅延測定結果を用い、ユーザトラヒックが受ける遅延揺らぎを安全側に推測可能とする技術を提供する。
【０００６】
ところで、通信ネットワークシステム内に設定された各通信フローについて、該通信フローの経路上の各ノードにおけるパケットの処理遅延の総和は、該通信フローに属するパケットに対する通信ネットワークの処理遅延と等しい。すなわち、
ｙｉ（ｉ＝１，…，ｍ）をｉ番目の通信フローの遅延、
ａｉｊをｉ番目の通信フローがｊ番目のノード装置を経由する回数、
ｘｊをｊ番目のノード装置（ｊ＝１，…，ｎ）の処理遅延とすると、
2017085296.tif 000003
・・・（１Ａ）
の連立一次方程式が成り立つ。上式（１Ａ）の右辺は、該通信フローの経路上の各ノード装置におけるパケットの処理遅延の総和である。
【０００７】
2017085296.tif 000004
をｉ番目の要素をｙｉとする観測ベクトル、
Ａをａｉｊを要素とするｍ行、ｎ列の経路行列、
2017085296.tif 000005
をｘｊをｊ番目の要素とする処理遅延ベクトルとすると、上式（１Ａ）の連立方程式は、
2017085296.tif 000006
・・・（１Ｂ）
として表される。
【０００８】
処理遅延ベクトル
2017085296.tif 000007
を得ることで、各ノード装置の処理遅延を算出することができる。この場合、例えばｍ≧ｎで経路行列Ａに逆行列（あるいは疑似逆行列）が存在する場合、ノード装置の処理遅延は、通信ネットワークのエッジノードのみにおけるパケットキャプチャと収集を行うことによって算出することができる。このため、収集するパケット数が低減し、収集負荷を低減させることができる。
【０００９】
なお、特許文献２には、処理遅延の原因を特定するため、システム内で伝送されるパケットをキャプチャしてアプリケーションの性能を監視・解析する遅延監視システムの導入は多額の費用を要し、導入が容易でないという課題が記載されている。この課題に対して、特許文献２では、１つの監視装置は、各プローブから提供されたパケット情報に対応付けられた情報処理システムの識別情報に基づいて、各情報処理システムにおけるパケットの処理遅延を監視するための処理を一括して実行する構成が開示されている。特許文献２において、例えば遅延情報生成部は、複数の監視区間それぞれに設置されたパケット処理装置の処理遅延時間と、パケット処理装置間のパケット伝送遅延時間の両方を含む遅延時間を生成する。
【００１０】
特許文献３には、対象フローを仮想的なサブフローに分割するサブフロー分割機能部と、サブフロー群ごとにリンク帯域及びバッファのリソースを固定的に割り当て、待ち行列モデルを用いてパケット損失率を算出するパケット損失率算出機能と、入力条件に対応したリンク収容率上限値を算出するリンク収容率上限値算出機能部と、対象フローに対応したリンク収容率上限値を算出するリンク収容率上限値最大値探索機能部とを備えた構成が開示されている。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２０１２−１８２７４７号公報
【特許文献２】特開２０１５−７６７８０号公報
【特許文献３】特開２０１２−１０５０８６号公報
【非特許文献】
【００１２】
【非特許文献１】RFC 5472  IP Flow Information Export (IPFIX)Applicability, March 2009, [2015/09/08 閲覧]インターネット（URL:http://www.rfc-editor.org/rfc/rfc5472.txt）
【発明の概要】
【発明が解決しようとする課題】
【００１３】
以下に関連技術の分析を与える。
【００１４】
特許文献１等に開示された、通信ネットワークのエッジノード装置のみにおけるパケットキャプチャと収集を行うことによって、各ノード装置の処理遅延を算出するという手法では、上式（１Ｂ）において、経路行列Ａの線形独立（一次独立）な行ベクトル（線形独立な一次方程式）の数（ランク）が、例えば、処理遅延ベクトル
2017085296.tif 000008
の要素数（次元）と等しいか、上回らないと、解を一意に特定することができない。
【００１５】
処理遅延のベクトル
2017085296.tif 000009
を一意に特定可能とするには、上式（１Ｂ）において、経路行列Ａにおいて線形独立な行ベクトルの数、すなわち、線形独立な経路の通信フローの数を、通信ネットワークのノード装置の数以上に増加させる必要がある。通信ネットワークの通信フローの数がノード装置数に満たない通信ネットワークでは、各ノード装置の処理遅延を観測することはできない。
【００１６】
したがって、本発明は、上記課題に鑑みて創案されたものであって、その目的の一つは、パケット収集等の負荷を抑えつつ、通信ネットワーク上のノード装置の処理遅延を観測可能とする装置、方法、プログラムを提供することにある。
【課題を解決するための手段】
【００１７】
本発明の１つの側面によれば、通信ネットワークにおける一つ又は複数の通信フローについて、前記通信フローの経路上に設けられ、パケットを転送するノード装置の中から少なくとも一つのノード装置を観測点として決定し、前記通信フローを前記観測点で仮想通信フローに分割する観測点算出部と、少なくとも前記仮想通信フローの観測点での遅延情報及び前記仮想通信フローの経路情報に基づき、前記一つ又は複数の通信フローの前記ノード装置の処理遅延を算出する遅延算出部を備えたネットワーク監視装置が提供される。
【００１８】
本発明の他の側面によれば、ネットワーク監視装置による通信ネットワークの監視方法であって、記憶部に記憶された通信ネットワークにおける通信フロー情報に基づき、一つ又は複数の通信フローについて、前記通信フローの経路上に設けられ、パケットを転送するノード装置の中から観測点を決定する観測点決定ステップと、
前記通信フローを前記観測点で仮想通信フローに分割するフロー分割ステップと、
少なくとも前記仮想通信フローの観測点での遅延情報及び前記仮想通信フローの経路情報に基づき、前記一つ又は複数の通信フローの前記ノード装置の処理遅延を算出する遅延算出ステップと、を含む通信ネットワーク監視方法が提供される。
【００１９】
本発明のさらに他の側面によれば、記憶部に記憶された通信ネットワークにおける通信フロー情報に基づき、一つ又は複数の通信フローについて、前記通信フローの経路上に設けられ、パケットを転送するノード装置の中から少なくとも１つのノード装置を観測点として決定し、前記通信フローを前記観測点で仮想通信フローに分割する観測点算出処理と、少なくとも前記仮想通信フローの観測点での遅延情報及び前記仮想通信フローの経路情報に基づき、前記一つ又は複数の通信フローの前記ノード装置の処理遅延を算出する遅延算出処理と、をコンピュータに実行させるプログラムが提供される。本発明によれば、前記プログラムを記録したコンピュータ読み出し可能な記録媒体（半導体メモリや、磁気記録媒体、CD（Compact Disk）、DVD(Digital Versatile Disk)等のストレージ）が提供される。
【発明の効果】
【００２０】
本発明によれば、パケット収集負荷を抑えつつ、通信ネットワーク上のノード装置の処理遅延を観測することが可能となる。
【図面の簡単な説明】
【００２１】
【図１】本発明の例示的な実施形態を例示する図である。
【図２】本発明の例示的な実施形態による通信フロー情報テーブルを例示する図である。
【図３】本発明の例示的な実施形態の概略動作を例示する図である。
【図４】本発明の例示的な実施形態のネットワーク監視装置の構成を例示する図である。
【図５】本発明の例示的な実施形態のネットワーク監視装置の動作を説明する図である。
【図６】本発明の例示的な実施形態のネットワーク監視装置の動作の一例を説明する図である。
【図７】本発明の例示的な実施形態の観測点算出部の動作の一例を説明する図である。
【図８】本発明の例示的な実施形態のネットワーク監視装置の一形態を例示する図である。
【発明を実施するための形態】
【００２２】
本発明の例示的な実施形態について図面を参照して説明する。図１に示すように、通信ネットワークは、ノード装置Ｎ１（２０１）〜ノード装置Ｎ６（２０６）を含む。なお、各ノード装置Ｎ１（２０１）〜Ｎ６（２０６）は、例えば受信したパケットを通信フローに従って次の転送先に転送するパケット転送装置からなる。特に制限されるものではないが、ノード装置は、例えばＬ２（Layer 2)スイッチ、Ｌ３（Layer 3）スイッチあるいはルータ等を含むパケット転送装置であってもよい。通信ネットワークのエッジノード装置Ｎ１は、図示されない他の通信ネットワーク（ノード装置）からパケットを受信してノード装置Ｎ２又はＮ３に転送する。同様に、エッジノード装置Ｎ６は、ノード装置Ｎ４又はノード装置Ｎ５から受信したパケットを他の通信ネットワークに送信する。
【００２３】
通信フローＦ１は、ノード装置Ｎ１、Ｎ２、Ｎ４、Ｎ６からなる。各ノード装置を構成するパケット転送装置は、例えば、通信フローを定義したフローテーブルを保持し、パケットを受信すると、パケットヘッダの予め定められた情報要素とフローテーブルを照合して通信フローを特定し通信フローに対応した転送先にパケットを転送する構成としてもよい。
【００２４】
ネットワーク監視装置１０は、観測点となるノード装置を設定する。観測点ノード装置は、該観測点ノード装置に受信パケットをキャプチャしてネットワーク監視装置１０に転送する。ネットワーク監視装置１０は、観測点ノード装置から転送されたパケットの情報（観測点ノード装置への到着点）から、該観測点ノード装置を通過する通信フローの遅延時間を算出する。
【００２５】
また、通信フロー情報テーブル１１は、例えば図２に模式的に示すように、各通信フローのフローＩＤ及び通信フローが経由しているノード装置（パケット転送装置）の装置ＩＤのリストを格納する。なお、ネットワーク監視装置１０は、ネットワークの運用管理（Operation and Management）サーバ等に設けられてもよい。
【００２６】
図３（Ａ）、（Ｂ）は、例示的な実施形態のネットワーク監視装置１０の概略動作を説明する図である。ネットワーク監視装置１０は、観測点となるノード装置（パケット転送装置）を動的に決定し、観測点を経由する通信フローを、観測点をそれぞれ終点及び始点とする通信フローに仮想的に分割し、経路行列Ａにおける線形独立（一次独立）な行ベクトルを増加させ、経路行列Ａをフルランクとし、上式（１Ｂ）の連立一次方程式を解くことにより、各ノード装置での処理遅延を観測することが可能となる。なお、この手法は、連立一次方程式のように、複数の方程式から遅延を算出する方法であれば適用可能である。例えば圧縮センシングのような方法にも適用可能である。
【００２７】
図３（Ａ）、（Ｂ）には、観測点による通信フローの仮想通信フローへの分割により線形独立な経路を増加させる様子を示している。
【００２８】
図３（Ａ）に示すように、通信フローＦ１の遅延時間ＤＦ１は、観測点（エッジノード装置）Ｎ１とＮ６でのパケット到着時間の差として観測される。なお、通信フローＦ１の遅延ＤＦ１はパケットがエッジＮ１から通信フローＦ１のノード装置Ｎ２、Ｎ４を介してエッジＮ６に到着するまでの遅延時間である。
【００２９】
ＤＦ１は、
ノード装置Ｎ１の処理遅延：ｄＮ１、
ノード装置Ｎ２の処理遅延：ｄＮ２、
ノード装置Ｎ４の処理遅延：ｄＮ４
の総和となり、
2017085296.tif 000010
・・・（２）
が得られる。なお、通信フローＦ１の遅延ＤＦ１には、観測点であるエッジノード装置Ｎ６の処理遅延ｄＮ６は含まれない（エッジノード装置Ｎ６の処理遅延ｄＮ６は、例えば通信フローＦ１等と逆向きの通信フローのエッジノード装置Ｎ６、Ｎ１間の遅延に含まれることになる）。
【００３０】
図３（Ｂ）に示すように、エッジノード装置Ｎ１、Ｎ６の他に、さらにノード装置Ｎ４を新たな観測点とし、通信フローＦ１を、ノード装置Ｎ４を終点、始点とする仮想通信フローＶＦ１、ＶＦ２に分割すると、仮想通信フローＶＦ１の遅延ＤＶＦ１は、観測点（エッジノード装置）Ｎ１と、観測点（ノード装置）Ｎ４でのパケット到着時間の差として観測され、仮想通信フローＶＦ２の遅延ＤＶＦ２は、ノード装置ＮｒとＮ６でのパケット到着時間の差として観測され、
2017085296.tif 000011
・・・    （３）
となり、２つの線形独立な一次方程式が得られる。
【００３１】
したがって、ノード装置Ｎ４を観測点とし、通信フローＦ１を仮想通信フローＶＦ１、ＶＦ２に分割することによって線形独立な経路を増加させることができる。
【００３２】
図１のノード装置Ｎ１〜Ｎ６の処理遅延をそれぞれｄＮ１〜ｄＮ６、観測点をエッジノード装置Ｎ１、Ｎ６とする通信フローＦ１、Ｆ２、Ｆ３の遅延をそれぞれＤＦ１、ＤＦ２、ＤＦ３とし、上式（１Ｂ）の観測ベクトル（列ベクトル）
2017085296.tif 000012
処理遅延ベクトル
2017085296.tif 000013
（ただし、Tは転置を表す）とすると、上式（１Ｂ）は以下の式（４）となる。
【００３３】
2017085296.tif 000014
・・・（４）
【００３４】
線形独立な通信フローの数は、処理遅延ベクトル
2017085296.tif 000015
の要素の数（次数＝５）未満であり、式（４）から
2017085296.tif 000016
は求まらない。すなわち、観測点をエッジノード装置Ｎ１、Ｎ６で観測された観測点情報である通信フローＦ１、Ｆ２、Ｆ３の遅延から、通信ネットワークのノード装置Ｎ１〜Ｎ５の各ノード装置の処理遅延ｄＮ１〜ｄＮ５は求まらない。
【００３５】
次に、図３の通信フローＦ１を分割した仮想通信フローＶＦ１、ＶＦ２の観測点Ｎ４を追加した場合、次式（５）の経路行列Ａによる連立一次方程式となる。
【００３６】
2017085296.tif 000017
・・・（５）
【００３７】
ただし、
2017085296.tif 000018
・・・（６）
【００３８】
観測点Ｎ４、Ｎ１、Ｎ６による仮想通信フローＶＦ１、ＶＦ２、通信フローＦ２、Ｆ３の遅延ＤＶＦ１、ＤＶＦ２、ＤＦ２、ＤＦ３と、４ｘ５の経路行列Ａ（式（５））から、各ノード装置の処理遅延ｄＮ１からｄＮ５は一意に求まらない。
【００３９】
そこで、さらに線形独立な仮想通信フローを増やし、例えば、経路行列Ａを５ｘ５の正方行列としてそのランクを５とするか、ｍｘ５（ｍ＞５）の行列とし、フルランクとする。図１の観測点ノード装置Ｎ３で通信フローＦ３を分割し観測点ノード装置Ｎ３を終点、始点とする仮想通信フローＶＦ３、ＶＦ４をとすると、以下の式（７）が得られる。
【００４０】
2017085296.tif 000019
2017085296.tif 000020
【００４１】
これから、各ノード装置の処理遅延ｄＮ１〜ｄＮ５は、仮想通信フロー（ＶＦ１、ＶＦ２、ＶＦ３、ＶＦ４）及び通信フロー（Ｆ２）の遅延情報から、例えば、以下のように、一意に求まる。
【００４２】
2017085296.tif 000021
・・・（８）
【００４３】
上記したように、例示的な実施形態によれば、通信ネットワークにおいて通信フローのネットワークトポロジーを追加、変更することなく、通信フローを、新規観測点を終点、始点とする仮想通信フローに分割（仮想的に分割）することで、各ノード装置の処理遅延を、上式（１Ｂ）から、一意に特定可能としている。
【００４４】
図４は、ネットワーク監視装置１０の構成の一例を例示する図である。図４に示すように、ネットワーク監視装置１０は、通信フロー情報取得部１０１、観測点算出部１０２、観測点設定部１０３、観測情報取得部１０４、遅延算出部１０５を有する。
【００４５】
観測点算出部１０２は、通信フロー情報テーブル１１に格納された通信フロー情報に基づき、通信ネットワーク上の所定のノード装置（パケット転送装置）２０ｉを観測点として選択し、観測点を通過する通信フローを、該観測点を始点、終点とする仮想通信フローに分割し、経路行列を、分割した前記仮想通信フローで更新する。
【００４６】
観測点設定部１０３は、観測点算出部１０２で選択された、観測点ノード装置（パケット転送装置）２０ｉ（i=1〜K）に対して、受信パケットをキャプチャし、ネットワーク監視装置１０に転送するように設定する。
【００４７】
観測情報取得部１０４は、前記観測点ノード装置（パケット転送装置）２０ｉ（i=1〜K）でキャプチャされたパケットを収集し、遅延算出部１０５に供給する。
【００４８】
遅延算出部１０５は、前記観測点ノード装置（パケット転送装置）２０ｉ（i=1〜K）でキャプチャされたパケット情報と、前記通信ネットワークの経路行列とに基づき、前記通信ネットワークのノード装置（パケット転送装置）の処理遅延を算出する。
【００４９】
図５は、図４のネットワーク監視装置１０の動作の一例を説明する図である。なお、図５では、図面作成の都合で、ノード装置（パケット転送装置）のかわりに「ノード」という用語を用いている。以下、図５、図１、及び図３を参照して、ネットワーク監視装置１０の動作について説明する。
【００５０】
通信フロー情報取得部１０１は、通信フロー情報を観測点算出部１０２に転送する（ステップＳ１）。
【００５１】
観測点算出部１０２は、通信フロー情報取得部１０１から受信した通信フロー情報（例えば通信フローＦ１のノード装置Ｎ１、Ｎ２、Ｎ４、Ｎ６）から、観測点となるノード装置を選択し、このノード装置の装置ＩＤを観測点設定部１０３に送出する。また、観測点算出部１０２は、経路行列Ａを算出する。さらに、観測点算出部１０２は、観測点となるノード装置の装置ＩＤと通信フロー情報に基づいて、生成した経路行列Ａ、仮想通信フロー情報を、遅延算出部１０５に送出する（ステップＳ２）。
【００５２】
なお、遅延算出部１０５に送出される仮想通信フロー情報は、
・各仮想通信フローＶＦｎのフローＩＤ（図３（Ｂ）の例えばＶＦ１、ＶＦ２）、
・分割前通信フローのフローＩＤ（Ｆ１）、
・仮想通信フローＶＦｎが経由するノード装置の装置ＩＤ（Ｎ４）
からなるリストＶＦＰＬ（（ＶＦ１、ＶＦ２）、Ｆ１、Ｎ４）
を含む。
【００５３】
観測点設定部１０３は、観測点算出部１０２から受信した観測点のノード装置の装置ＩＤ（Ｎ１、Ｎ４、Ｎ６）から、観測点ノード装置（Ｎ１、Ｎ４、Ｎ６）に対し、受信パケットをキャプチャしネットワーク監視装置１０に転送するよう設定する（ステップＳ３）。
【００５４】
観測点のノード装置（Ｎ１、Ｎ４、Ｎ６）は、通信フローを転送されたパケットをそれぞれ受信する（ステップＳ４）。観測点のノード装置（Ｎ１、Ｎ４、Ｎ６）は、それぞれが受信したパケットをキャプチャし、キャプチャしたパケット情報を観測情報取得１０４に転送する（ステップＳ５）。なお、観測点のノード装置（Ｎ１、Ｎ４、Ｎ６）は、それぞれが受信した当該パケットを次の転送先ノード装置に転送する。
【００５５】
観測情報取得部１０４は、観測点のノード装置（Ｎ１、Ｎ４、Ｎ６）でキャプチャされたパケット情報を受け取り、遅延算出部１０５に転送する（ステップＳ６）。
【００５６】
遅延算出部１０５は、観測点のノード装置（Ｎ１、Ｎ４、Ｎ６）でキャプチャされたパケットを受信し、該パケットの情報（遅延情報）と、観測点算出部１０２から受信した経路行列Ａ、及び、仮想通信フロー情報（リストＶＦＰＬ）を用いて、ノード装置での処理遅延を算出する（ステップＳ７）。
【００５７】
観測点となるノード装置の装置ＩＤの集合を、観測点ＩＤ集合ＭＰＳと定義し、この初期状態を、通信ネットワークシステムのエッジに配置されている全てのノード装置の装置ＩＤの集合とする。図１の通信ネットワークシステムの場合、観測点ＩＤ集合ＭＰＳの初期設定値は｛Ｎ１、Ｎ６｝となる。
【００５８】
図６は、図４の観測点算出部１０２の動作を説明する図である。
【００５９】
観測点算出部１０２は、通信フロー情報取得部１０１から受信した通信フロー情報により、観測点となるノード装置（パケット転送装置）を選択し（ステップＳ１１）、経路行列Ａを算出し（ステップＳ１２）、経路行列Ａを用いて処理遅延を一意に特定可能かチェックする（ステップＳ１３）。
【００６０】
経路行列Ａを用いてノード装置（パケット転送装置）の処理遅延を一意に特定することができない場合（ステップＳ１４のＮｏ分岐）、新規観測点を選択し通信フローを該新規観測点で分割して仮想通信フロー情報を生成し（ステップＳ１６）、経路行列Ａの算出処理（ステップＳ１２）から始める。
【００６１】
経路行列Ａを用いて処理遅延を一意に特定可能である場合（ステップＳ１４のＹｅｓ分岐）、観測点ＩＤ集合ＭＰＳを、観測点設定部１０３に送信する。
【００６２】
図４の観測点算出部１０２の観測点、経路行列算出処理について、図７を参照して、さらに詳細に説明する。なお、図７において、
ＶＦｎ：仮想通信フロー、
ＶＦＬ：仮想通信フローリスト、
ＶＦＰＬ：仮想通信フローＶＦｎが経由するノード装置（パケット転送装置）の装置ＩＤリスト、
ＭＰＳ：観測点ＩＤ集合(観測点のノード装置（パケット転送装置）の装置ＩＤの集合)、
ＦＰＬ：通信フローが経由するノード装置（パケット転送装置）の装置ＩＤリスト、
ＣＶＦ：生成中仮想通信フロー、
ＣＶＦＰＬ：生成中仮想通信フローが経由するノード装置（パケット転送装置）の装置ＩＤリスト、
を表している。
【００６３】
観測点算出部１０２は通信フローと、エッジノード装置を観測点とする経路行列Ａを作成し、通信フローＩＤ＝1（Ｆ１）とする（ステップＳ１０１）。
【００６４】
図１の通信ネットワークの場合、経路行列Ａは上式（１Ｂ）で与えられる。
【００６５】
観測点算出部１０２は、通信フローの装置ＩＤリストＦＰＬの先頭の装置ＩＤから終わりの装置ＩＤまで以下のステップＳ１０３〜Ｓ１１０を繰り返す（ステップＳ１０２）。
【００６６】
観測点算出部１０２は、通信フロー（フローＩＤ）が経由するノード装置の装置ＩＤリストＦＰＬの先頭から、当該ノード装置の装置ＩＤが、観測点ＩＤ集合ＭＰＳに含まれるか否かをチェックし、仮想通信フローＶＦｎを生成する。チェックに際し、現在生成中の仮想通信フローＶＦｎを、生成中仮想通信フローＣＶＦと定義する。
【００６７】
生成中の仮想通信フローＣＶＦは、仮想通信フローＶＦｎと同様に、
・通信フローＩＤ、
・分割前の通信フローのフローＩＤ、及び、
・仮想通信フローＶＦｎが経由するノード装置の装置ＩＤからなるリストＣＶＦＰＬを保持し、仮想通信フローリストＶＦＬを保持する（ステップＳ１０３）。ＶＦＬの初期状態は空とする。
【００６８】
ノード装置の装置ＩＤが観測点ＩＤ集合ＭＰＳに含まれている場合（ステップＳ１０４のＹｅｓ分岐）、ＣＶＦが存在するかチェックする。
【００６９】
当該ノード装置の装置ＩＤが観測点ＩＤ集合ＭＰＳに含まれており、且つ、生成中仮想通信フローＣＶＦが存在する場合（ステップＳ１０５のＹｅｓ分岐）、当該ノード装置の装置ＩＤを、リストＣＶＦＰＬに追加し（ステップＳ１０６）、経路行列Ａを更新する（ステップＳ１０７）。
【００７０】
経路行列Ａの更新は、分割前の通信フローのフローＩＤに対する行ベクトルを、該通信フローを分割する仮想通信フローに対応する行ベクトルに置き換える。
【００７１】
仮想通信フローリストＶＦＬに、生成中仮想通信フローＣＶＦと同じフローＩＤ、分割前の通信フローのフローＩＤ、経由するノード装置の装置ＩＤリストＣＶＦＰＬをもつ仮想通信フローを追加する（ステップＳ１０８）。
【００７２】
生成中仮想通信フローＣＶＦのＩＤを１つ増加させ、リストＣＶＦＰＬを空とする（Ｓ１０９）。なお、当該ノード装置の装置ＩＤが観測点ＩＤ集合ＭＰＳに含まれており、且つ、ＣＶＦが存在しない場合（ステップＳ１０５のＮｏ分岐）の場合、ステップＳ１０９に分岐する。
【００７３】
リストＣＶＦＰＬに、当該ノード装置の装置ＩＤを追加する（ステップＳ１１０）。なお、当該ノード装置の装置ＩＤが観測点ＩＤ集合ＭＰＳに含まれていない場合（ステップＳ１０４のＮｏ分岐）の場合、ステップＳ１１０に分岐する。
【００７４】
通信フローの装置ＩＤリストＦＰＬの終わりの装置ＩＤまで、上記処理（ステップＳ１０３〜Ｓ１１０）が終了すると、ＣＶＦを削除し（ステップＳ１１１）、全ての通信フローの処理が終了したかチェックする（ステップＳ１１２）。通信ネットワークに未処理の通信フローが存在する場合（ステップＳ１１２のＹｅｓ）、通信フローＩＤを１つ増加させ（Ｆ１からＦ２等に設定）、次の通信フローの処理（ステップＳ１０２）に進む（ステップＳ１１３）。
【００７５】
未処理の通信フローが存在しない場合（ステップＳ１１２のＮｏ分岐）、経路行列Ａはフルランクであるかチェックする（ステップＳ１１４）。経路行列Ａがフルランクの場合（ステップＳ１１４のＹｅｓ分岐）、観測点算出部１０２は観測点及び経路行列算出処理を終了する。
【００７６】
一方、経路行列Ａがフルランク未満である場合、経路行列Ａにおける線形独立な行ベクトルの数が、未知の処理遅延ベクトル
2017085296.tif 000022
の要素数を下回る場合、連立一次方程式による解法で、各ノード装置の処理遅延を一意に特定できないと判断できる。この場合、経路行列Ａにおいて、線形独立な行ベクトルの数を増加させる必要があるため、通信フロー上で観測点の追加を行う（ステップＳ１１５）。装置ＩＤが観測点ＩＤ集合ＭＰＳに含まれないノード装置のうち、新規観測点となって通信フローを、仮想通信フローに分割することにより、観測点の追加前と比較して、線形独立な行ベクトルに対応する仮想通信フローを増加させるノード装置を観測点（新たに追加される観測点）として選択し、この装置ＩＤを観測点ＩＤ集合ＭＰＳに追加する。そして、再度、ステップＳ１０２の処理に戻り、経路行列Ａの生成を行い、生成された経路行列Ａを用いて、連立方程式による解法で、各ノード装置の処理遅延を一意に特定できるか否かをチェックする。
【００７７】
例えば図１の通信フローＦ１についてみると、通信ネットワーク（通信フロー）のエッジにあるノード装置（パケット転送装置）２０１の装置ＩＤ＝Ｎ１は、初期状態で観測点ＩＤ集合ＭＰＳに含まれているが、生成中仮想通信フローＣＶＦが存在せず（図７のステップＳ１０５のＮｏ分岐）、図７のステップＳ１０９に移行して、生成中仮想通信フローＣＶＦのフローＩＤを＋１とし、リストＣＶＦＰＬを空とし、ＣＶＦＰＬに装置ＩＤ＝Ｎ１を追加し（図７のステップＳ１１０）、リストＦＰＬの次の装置ＩＤ＝Ｎ２の処理に移る。
【００７８】
装置ＩＤ＝Ｎ２は観測点集合ＭＰＳに含まれていず（図７のステップＳ１０４のＮｏ分岐）、ＣＶＦＰＬにノード装置（パケット転送装置）２０２の装置ＩＤ＝Ｎ２を追加し（図７のステップＳ１１０）、通信フローＦ１のリストＦＰＬの次のノード装置（パケット転送装置）２０４の装置ＩＤ＝Ｎ４となる。
【００７９】
装置ＩＤ＝Ｎ４は、観測点集合ＭＰＳに含まれており（図７のステップＳ１０４のＹｅｓ分岐）、ＣＶＦも空でないため（図７のステップＳ１０５のＹｅｓ分岐）、観測点算出部１０２では、リストＣＶＦＰＬに装置ＩＤ＝Ｎ４を追加し（図７のステップＳ１０６）、経路行列Ａを更新する（図７のステップＳ１０７）。さらに、観測点算出部１０２は、仮想通信フローリストＶＦＬに仮想通信フローを追加する（図７のステップＳ１０８）。ここで追加される仮想通信フローは、ＣＶＦと同じフローＩＤ（＝１）、分割前の通信フローのフローＩＤ（Ｆ１）、リストＣＶＦＰＬを持つ。観測点算出部１０２では、つづいて、ＣＶＦを＋１とし（ＶＦ２用）、リストＣＶＦＰＬを空とし、リストＣＶＦＰＬに装置ＩＤ＝Ｎ４を追加する（図７のステップＳ１１０）。
【００８０】
通信フローＦ１のリストＦＰＬの次のノード装置（パケット転送装置）２０６の装置ＩＤ＝Ｎ６となるが、エッジノード装置の装置ＩＤ＝Ｎ６は、観測点集合ＭＰＳの初期値にエッジノード装置として含まれており、ＣＶＦも空でないため、観測点算出部１０２では、仮経路行列Ａを更新し（図７のステップＳ１０７）、ＶＦＬにＣＶＦと同じＩＤを設定し（ＶＦ２）、ＣＶＦのフローＩＤを＋１とし、ＣＶＦＰＬを空とする。通信フローＦ１の処理は以上で終わる。
【００８１】
観測点算出部１０２において、ＣＶＦのフローＩＤ＝１に対応する仮想通信フローＶＦ１（Ｎ１、Ｎ２、Ｎ４）、ＣＶＦのフローＩＤ＝２に対応する仮想通信フローＶＦ２（Ｎ４、Ｎ６）に対する経路行列Ａの更新は、上式（１Ｂ）の経路行列の通信フローＦ１に対応する第１行の行ベクトル＝（１，１，０，１，０）を、２つの線形独立な行ベクトル（１，１，０，０，０）と（０，０，０，１，０）に分解することに対応する。
【００８２】
この結果、仮想通信フローＶＦ１、ＶＦ２に対応する行ベクトルは、上式（５）の経路行列のように、第１、第２行の行ベクトル、通信フローＦ２、Ｆ３に対応する行ベクトルは、第３、第４行の行ベクトルとなる。
【００８３】
全ての通信フローＦ１〜Ｆ３に対して、上記処理を実施すると、上式（５）の経路行列が生成される。上式（５）の経路行列Ａにおける線形独立な行ベクトルの数は、ノード装置の処理遅延ベクトル
2017085296.tif 000023
の要素数（次数）５よりも小さい。
【００８４】
そこで、例えば図１における通信フローＦ３上のノード装置Ｎ３を新規観測点とし、通信フローＦ３を仮想通信フローＦ３、Ｆ４に分割すると、上式（７）のような経路行列Ａを得る。上式（７）の経路行列Ａは正方行列であり、そのランクは５である。すなわち、経路行列Ａにおける線形独立な行ベクトルの数が処理遅延ベクトル
2017085296.tif 000024
要素数以上であり、上式（７）による解法で各ノード装置の処理遅延を一意に特定できると判断できる。このため、観測点算出部１０２は、観測点ＩＤ集合ＭＰＳを観測点情報として、観測点設定部１０３に送出する。
【００８５】
また、経路行列Ａと、仮想通信フローリストＶＦＬを、仮想通信フロー情報として遅延算出部１０５に送出する。
【００８６】
遅延算出部１０５では、観測情報取得部１０４から受信したパケット及び観測点算出部１０２から受信した経路行列Ａ及び仮想通信フロー情報を用いて、処理遅延を算出する。
【００８７】
具体的には、観測情報取得部１０４から受信したパケットを、パケットのヘッダ情報から、パケットが属する通信フローＦｎを特定する。
【００８８】
さらに、パケットの送信元であるパケット転送装置Ｎｎと、当該通信フローＦｎの情報から、当該パケットが属する仮想通信フローＶＦｎ検索する。
【００８９】
また、当該パケットが、仮想通信フローＶＦｎの経路における始点又は終点のノード装置のいずれから送信されたかを判定する。当該パケットが仮想通信フローＶＦｎの経路の始点であるノード装置から観測点に送信されたパケットである場合、当該仮想通信フローＶＦｎの始点から該観測点に到着したパケットの到着時刻Ｘ１を遅延時間ｙとして記録しておく。
【００９０】
当該パケットが仮想通信フローＶＦｎの経路の終点であるノード装置から観測点に送信されたパケットであれば、当該パケットが観測点に到着した時刻Ｘ２から、当該仮想通信フローＶＦｎにおいて、始点から到着したパケットの到着時刻Ｘ１を減じることにより、当該仮想通信フローＶＦｎの遅延時間ｙ＝（Ｘ２−Ｘ１）を算出する。
【００９１】
全ての仮想通信フローＶＦｎの遅延時間を要素とするベクトルｙが得られれば、これと、観測点算出部１０２から受信した経路行列Ａとから、遅延算出部１０５において、上式（１Ｂ）の連立一次方程式を解法することで処理遅延ベクトル
2017085296.tif 000025
を得ることにより、各ノード装置の処理遅延が算出される。
【００９２】
図８は、図１、図４を参照して説明したネットワーク監視装置１０の一形態を説明する図である。図８を参照すると、ネットワーク監視装置１０は、プロセッサ１１０とメモリ１１３と通信インタフェース１１４を備えている。メモリ１１３は、DRAM（Dynamic Random Access Memory）、SRAM（Static Random Access Memory）、MRAM（Magnetoresistive Random Access Memory）、ReRAM（Resistance Random Access Memory）、EEPROM（Electrically Erasable Programmable Read-Only Memory）等の半導体ストレージやHDD（Hard Disk Drive）等の磁気記録媒体、CD（Compact Disk）、DVD(Digital Versatile Disk)等のいずれか又は組み合わせであってもよい。通信インタフェース１１４は通信ネットワーク上のノード装置と通信するためのインタフェースである。
【００９３】
プロセッサ１１０は、メモリ１１３に格納されたプログラムを不図示の主記憶にロードして実行することで、通信ネットワークにおける一つ又は複数の通信フローについて、前記通信フローのノード装置の中から観測点を設定し、前記通信フローを前記観測点で仮想的に分割する観測点算出部１１１と、前記通信フローの各観測点での遅延情報と、前記通信フローの経路情報に基づき、前記通信フローのノード装置の処理遅延を算出する遅延算出部１１２等、図４の各部の処理を実行するようにしてもよい。
【００９４】
上記実施形態によれば、通信ネットワークの通信フローのエッジノード装置を観測点の初期値として、通信フロー上の所定のノード装置を新たな観測点として仮想通信フローに分割し、経路行列の線形独立な行ベクトルの数を例えばフルランクとなるまで増加させ、算出された観測点から取得された仮想通信フローの遅延情報又は通信フローと仮想通信フローの遅延情報に基づき、通信フローの各ノード装置の処理遅延を求める。このため、パケット収集等の負荷を抑えつつ、通信ネットワーク上のノード装置の処理遅延を観測可能としている。
【００９５】
なお、上記の特許文献１−３、非特許文献１の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素（各請求項の各要素、各実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ乃至選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【００９６】
１０  ネットワーク監視装置
２０、２０１〜２０６  ノード装置（パケット転送装置）
１１  通信フロー情報テーブル
１２  ネットワーク資源
１０１  通信フロー情報取得部
１０２  観測点算出部
１０３  観測点設定部
１０４  観測情報取得部
１０５  遅延算出部
１１０  プロセッサ
１１１  観測点算出部
１１２  遅延算出部
１１３  メモリ
１１４  通信インタフェース
【図１】
2017085296.tif 000029
【図２】
2017085296.tif 000030
【図３】
2017085296.tif 000031
【図４】
2017085296.tif 000032
【図５】
2017085296.tif 000033
【図６】
2017085296.tif 000034
【図７】
2017085296.tif 000035
【図８】
2017085296.tif 000036