(57)【特許請求の範囲】
【請求項１】
第１パケット転送装置が出力したフロー情報であって、フローに関するフロー情報を取得し、取得した前記フロー情報からパケット数情報及びパケットの送受信時刻であるフロー時刻を示すフロー時刻情報を抽出するフロー情報取得部と、
前記フロー情報取得部が抽出した前記パケット数情報が異なる２つのフロー情報に基づき、任意の個数番目のパケットが前記第１パケット転送装置を通過するときのパケット通過時刻を推定する通過時刻推定部と、
を備え、
前記フロー情報取得部は、
前記第１パケット転送装置から第２パケット転送装置へ流れているフローに関するフロー情報であって、前記第２パケット転送装置から出力されたフロー情報を取得し、前記第２パケット転送装置から取得した前記フロー情報からパケット数情報及びパケットの送受信時刻であるフロー時刻を示すフロー時刻情報を抽出し、
前記通過時刻推定部は、
前記第１パケット転送装置から取得した前記フロー情報から前記フロー情報取得部が抽出した前記パケット数情報が異なる２つのフロー情報に基づき、任意の２つの個数番目の各パケットが前記第１パケット転送装置を各々通過するときの各パケット通過時刻を推定し、
前記第２パケット転送装置から取得した前記フロー情報から前記フロー情報取得部が抽出した前記パケット数情報が異なる２つのフロー情報に基づき、任意の前記２つの個数番目の各パケットが前記第２パケット転送装置を各々通過するときの各パケット通過時刻を推定し、
推定した任意の前記２つの個数番目の各パケットが前記第１パケット転送装置及び前記第２パケット転送装置を各々通過する各パケット通過時刻に基づき、前記第１パケット転送装置及び前記第２パケット転送装置を任意の前記２つの個数番目の各同一個数のパケットが通過する時刻差を推定する
ことを特徴とする監視装置。
【請求項２】
前記通過時刻推定部は、
前記第１パケット転送装置から取得された前記各フロー情報から前記フロー情報取得部が抽出した異なる２つのパケット数情報に基づき、任意の第ｎ番目（ｎは、１以上の整数）のパケットが前記第１パケット転送装置間を通過するパケット通過時刻を第１通過推定時刻として推定し、任意の第ｍ番目（ｍは、ｎ以上の整数）のパケットが前記第１パケット転送装置間を通過するパケット通過時刻を第２通過推定時刻として推定し、
推定した前記第１通過推定時刻と前記第２通過推定時刻の差に基づいて、前記第ｎ番目から前記第ｍ番目までのパケットが前記第１パケット転送装置を通過するのに要した第１通過時間を算出し、
前記第２パケット転送装置から取得された前記各フロー情報から前記フロー情報取得部が抽出した異なる２つのパケット数情報に基づき、前記第ｎ番目のパケットが前記第２パケット転送装置間を通過するパケット通過時刻を第３通過推定時刻として推定し、前記第ｍ番目のパケットが前記第２パケット転送装置間を通過するパケット通過時刻を第４通過推定時刻として推定し、
推定した前記第３通過推定時刻と前記第４通過推定時刻の差に基づいて、前記第ｎ番目から前記第ｍ番目のパケットが前記第２パケット転送装置を通過するのに要した第２通過時間を算出し、
算出した前記第１通過時間と前記第２通過時間との差に基づいて、前記第１パケット転送装置と前記第２パケット転送装置間を１方向に流れているフローにおける前記フロー時刻のゆらぎを推定する
ことを特徴とする請求項１に記載の監視装置。
【請求項３】
前記通過時刻推定部は、
前記第２パケット転送装置における通過パケット数の実測値であるパケット数を前記第ｎ番目のパケットとして用い、
前記第１パケット転送装置における通過パケット数の実測値であるパケット数を前記第ｍ番目のパケットとして用いる
ことを特徴とする請求項１または請求項２に記載の監視装置。
【請求項４】
監視装置における監視方法であって、
フロー情報取得部が、第１パケット転送装置が出力したフロー情報であって、フローに関するフロー情報を取得し、取得した前記フロー情報からパケット数情報及びパケットの送受信時刻であるフロー時刻を示すフロー時刻情報を抽出するフロー情報取得手順と、
通過時刻推定部が、前記フロー情報取得手順が抽出した前記パケット数情報が異なる２つのフロー情報に基づき、任意の個数番目のパケットが前記第１パケット転送装置を通過するときのパケット通過時刻を推定する通過時刻推定手順と、
を含み、
前記フロー情報取得手順では、
前記第１パケット転送装置から第２パケット転送装置へ流れているフローに関するフロー情報であって、前記第２パケット転送装置から出力されたフロー情報を取得し、前記第２パケット転送装置から取得した前記フロー情報からパケット数情報及びパケットの送受信時刻であるフロー時刻を示すフロー時刻情報を抽出し、
前記通過時刻推定手順では、
前記第１パケット転送装置から取得した前記フロー情報から前記フロー情報取得部が抽出した前記パケット数情報が異なる２つのフロー情報に基づき、任意の２つの個数番目の各パケットが前記第１パケット転送装置を各々通過するときの各パケット通過時刻を推定し、
前記第２パケット転送装置から取得した前記フロー情報から前記フロー情報取得部が抽出した前記パケット数情報が異なる２つのフロー情報に基づき、任意の前記２つの個数番目の各パケットが前記第２パケット転送装置を各々通過するときの各パケット通過時刻を推定し、
推定した任意の前記２つの個数番目の各パケットが前記第１パケット転送装置及び前記第２パケット転送装置を各々通過する各パケット通過時刻に基づき、前記第１パケット転送装置及び前記第２パケット転送装置を任意の前記２つの個数番目の各同一個数のパケットが通過する時刻差を推定する
ことを特徴とする監視方法。
【請求項５】
監視装置のコンピュータに、
第１パケット転送装置が出力したフロー情報であって、フローに関するフロー情報を取得し、取得した前記フロー情報からパケット数情報及びパケットの送受信時刻であるフロー時刻を示すフロー時刻情報を抽出するフロー情報取得手順と、
前記フロー情報取得手順が抽出した前記パケット数情報が異なる２つのフロー情報に基づき、任意の個数番目のパケットが前記第１パケット転送装置を通過するときのパケット通過時刻を推定する通過時刻推定手順と、
を実行させ、
前記フロー情報取得手順では、
前記第１パケット転送装置から第２パケット転送装置へ流れているフローに関するフロー情報であって、前記第２パケット転送装置から出力されたフロー情報を取得し、前記第２パケット転送装置から取得した前記フロー情報からパケット数情報及びパケットの送受信時刻であるフロー時刻を示すフロー時刻情報を抽出し、
前記通過時刻推定手順では、
前記第１パケット転送装置から取得した前記フロー情報から抽出した前記パケット数情報が異なる２つのフロー情報に基づき、任意の２つの個数番目の各パケットが前記第１パケット転送装置を各々通過するときの各パケット通過時刻を推定し、
前記第２パケット転送装置から取得した前記フロー情報から抽出した前記パケット数情報が異なる２つのフロー情報に基づき、任意の前記２つの個数番目の各パケットが前記第２パケット転送装置を各々通過するときの各パケット通過時刻を推定し、
推定した任意の前記２つの個数番目の各パケットが前記第１パケット転送装置及び前記第２パケット転送装置を各々通過する各パケット通過時刻に基づき、前記第１パケット転送装置及び前記第２パケット転送装置を任意の前記２つの個数番目の各同一個数のパケットが通過する時刻差を推定する
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、監視装置、監視方法及びプログラムに関する。
【背景技術】
【０００２】
ＮＧＮ（次世代ネットワーク）におけるＩＰ電話サービスや地デジ再送信（映像配信サービス）等、ＩＰネットワーク上において様々なサービスが提供されている。ＩＰネットワークの通信品質の低下は、音声や映像の乱れ等を引き起こし、サービス品質の低下をもたらすことから、ネットワーク全体の通信品質の把握が重要である。
【０００３】
ＩＰネットワークの通信品質を示すパラメータの１つとして、非特許文献１に示されているとおり、パケットのゆらぎがある。ゆらぎを測定するためには、例えば非特許文献２のようなパケットをキャプチャーするプローブ装置をＩＰネットワーク内に複数配置し、各プローブ装置においてパケットの通過時刻を測定する。監視システムは、このように複数のプローブ装置が測定した通過時刻の差からプローブ間の遅延時間を算出したり、遅延時間の差からゆらぎを算出したり、各プローブ装置におけるパケット間隔の差からゆらぎを算出する。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】ITU-T Recommendation Y.1540, [online],[2011/06/06 検索], インターネット＜URL：http://www.itu.int/itu-t/recommendations/rec.aspx?id=9270＞
【非特許文献２】QoS モニタシステム Gigabit QoS プローブ IQ2000, 横河技報 Vol.49 No.2（ 2005 ）, [online], [2011/07/21 検索], インターネット＜ URL ： http://www.yokogawa.co.jp/rd/pdf/tr/rd-tr-r04902-007.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、このような監視システムの場合、測定したい区間の両端にプローブ装置を配置する必要があるため、ネットワーク内の任意の区間を測定するためには非常に多くのプローブ装置を配置する必要がある。さらに、このような監視システムの場合、プローブ装置自体も高機能であることが求められ、コスト的に現実的ではなく、ネットワーク全体のゆらぎを把握することが困難であった。
【０００６】
本発明は、上記の問題点に鑑みてなされたものであって、ネットワークのパケット通過時間を安価に監視することができる監視装置、監視方法及びプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明に係る監視装置は、第１パケット転送装置が出力したフロー情報であって、フローに関するフロー情報を取得し、取得した前記フロー情報からパケット数情報及びパケットの送受信時刻であるフロー時刻を示すフロー時刻情報を抽出するフロー情報取得部と、前記フロー情報取得部が抽出した前記パケット数情報が異なる２つのフロー情報に基づき、任意の個数番目のパケットが前記第１パケット転送装置を通過するときのパケット通過時刻を推定する通過時刻推定部と、を備え、前記フロー情報取得部は、前記第１パケット転送装置から第２パケット転送装置へ流れているフローに関するフロー情報であって、前記第２パケット転送装置から出力されたフロー情報を取得し、前記第２パケット転送装置から取得した前記フロー情報からパケット数情報及びパケットの送受信時刻であるフロー時刻を示すフロー時刻情報を抽出し、前記通過時刻推定部は、前記第１パケット転送装置から取得した前記フロー情報から前記フロー情報取得部が抽出した前記パケット数情報が異なる２つのフロー情報に基づき、任意の２つの個数番目の各パケットが前記第１パケット転送装置を各々通過するときの各パケット通過時刻を推定し、前記第２パケット転送装置から取得した前記フロー情報から前記フロー情報取得部が抽出した前記パケット数情報が異なる２つのフロー情報に基づき、任意の前記２つの個数番目の各パケットが前記第２パケット転送装置を各々通過するときの各パケット通過時刻を推定し、推定した任意の前記２つの個数番目の各パケットが前記第１パケット転送装置及び前記第２パケット転送装置を各々通過する各パケット通過時刻に基づき、前記第１パケット転送装置及び前記第２パケット転送装置を任意の前記２つの個数番目の各同一個数のパケットが通過する時刻差を推定することを特徴としている。
【０００９】
また、本発明の監視装置において、前記通過時刻推定部は、前記第１パケット転送装置から取得された前記各フロー情報から前記フロー情報取得部が抽出した異なる２つのパケット数情報に基づき、任意の第ｎ番目（ｎは、１以上の整数）のパケットが前記第１パケット転送装置間を通過するパケット通過時刻を第１通過推定時刻として推定し、任意の第ｍ番目（ｍは、ｎ以上の整数）のパケットが前記第１パケット転送装置間を通過するパケット通過時刻を第２通過推定時刻として推定し、推定した前記第１通過推定時刻と前記第２通過推定時刻の差に基づいて、前記第ｎ番目から前記第ｍ番目までのパケットが前記第１パケット転送装置を通過するのに要した第１通過時間を算出し、前記第２パケット転送装置から取得された前記各フロー情報から前記フロー情報取得部が抽出した異なる２つのパケット数情報に基づき、前記第ｎ番目のパケットが前記第２パケット転送装置間を通過するパケット通過時刻を第３通過推定時刻として推定し、前記第ｍ番目のパケットが前記第２パケット転送装置間を通過するパケット通過時刻を第４通過推定時刻として推定し、推定した前記第３通過推定時刻と前記第４通過推定時刻の差に基づいて、前記第ｎ番目から前記第ｍ番目のパケットが前記第２パケット転送装置を通過するのに要した第２通過時間を算出し、算出した前記第１通過時間と前記第２通過時間との差に基づいて、前記第１パケット転送装置と前記第２パケット転送装置間を１方向に流れているフローにおける前記フロー時刻のゆらぎを推定するようにしてもよい。
【００１０】
また、本発明の監視装置において、前記通過時刻推定部は、前記第２パケット転送装置における通過パケット数の実測値であるパケット数を前記第ｎ番目のパケットとして用い、前記第１パケット転送装置における通過パケット数の実測値であるパケット数を前記第ｍ番目のパケットとして用いるようにしてもよい。
【００１１】
上記目的を達成するため、本発明は、監視装置における監視方法であって、フロー情報取得部が、第１パケット転送装置が出力したフロー情報であって、フローに関するフロー情報を取得し、取得した前記フロー情報からパケット数情報及びパケットの送受信時刻であるフロー時刻を示すフロー時刻情報を抽出するフロー情報取得手順と、通過時刻推定部が、前記フロー情報取得手順が抽出した前記パケット数情報が異なる２つのフロー情報に基づき、任意の個数番目のパケットが前記第１パケット転送装置を通過するときのパケット通過時刻を推定する通過時刻推定手順と、を含み、前記フロー情報取得手順では、前記第１パケット転送装置から第２パケット転送装置へ流れているフローに関するフロー情報であって、前記第２パケット転送装置から出力されたフロー情報を取得し、前記第２パケット転送装置から取得した前記フロー情報からパケット数情報及びパケットの送受信時刻であるフロー時刻を示すフロー時刻情報を抽出し、前記通過時刻推定手順では、前記第１パケット転送装置から取得した前記フロー情報から前記フロー情報取得部が抽出した前記パケット数情報が異なる２つのフロー情報に基づき、任意の２つの個数番目の各パケットが前記第１パケット転送装置を各々通過するときの各パケット通過時刻を推定し、前記第２パケット転送装置から取得した前記フロー情報から前記フロー情報取得部が抽出した前記パケット数情報が異なる２つのフロー情報に基づき、任意の前記２つの個数番目の各パケットが前記第２パケット転送装置を各々通過するときの各パケット通過時刻を推定し、推定した任意の前記２つの個数番目の各パケットが前記第１パケット転送装置及び前記第２パケット転送装置を各々通過する各パケット通過時刻に基づき、前記第１パケット転送装置及び前記第２パケット転送装置を任意の前記２つの個数番目の各同一個数のパケットが通過する時刻差を推定することを特徴としている。
【００１２】
上記目的を達成するため、本発明に係るプログラムは、監視装置のコンピュータに、第１パケット転送装置が出力したフロー情報であって、フローに関するフロー情報を取得し、取得した前記フロー情報からパケット数情報及びパケットの送受信時刻であるフロー時刻を示すフロー時刻情報を抽出するフロー情報取得手順と、前記フロー情報取得手順が抽出した前記パケット数情報が異なる２つのフロー情報に基づき、任意の個数番目のパケットが前記第１パケット転送装置を通過するときのパケット通過時刻を推定する通過時刻推定手順と、を実行させ、前記フロー情報取得手順では、前記第１パケット転送装置から第２パケット転送装置へ流れているフローに関するフロー情報であって、前記第２パケット転送装置から出力されたフロー情報を取得し、前記第２パケット転送装置から取得した前記フロー情報からパケット数情報及びパケットの送受信時刻であるフロー時刻を示すフロー時刻情報を抽出し、前記通過時刻推定手順では、前記第１パケット転送装置から取得した前記フロー情報から抽出した前記パケット数情報が異なる２つのフロー情報に基づき、任意の２つの個数番目の各パケットが前記第１パケット転送装置を各々通過するときの各パケット通過時刻を推定し、前記第２パケット転送装置から取得した前記フロー情報から抽出した前記パケット数情報が異なる２つのフロー情報に基づき、任意の前記２つの個数番目の各パケットが前記第２パケット転送装置を各々通過するときの各パケット通過時刻を推定し、推定した任意の前記２つの個数番目の各パケットが前記第１パケット転送装置及び前記第２パケット転送装置を各々通過する各パケット通過時刻に基づき、前記第１パケット転送装置及び前記第２パケット転送装置を任意の前記２つの個数番目の各同一個数のパケットが通過する時刻差を推定することを特徴としている。
【発明の効果】
【００１３】
本発明によれば、プローブを設置せずに、第１パケット転送装置が出力したフローに関するフロー情報を取得し、取得したフロー情報に含まれるパケット数情報及びフローの生存時間を示すフロー時刻情報に基づき、任意の個数番目のパケットが第１パケット転送装置を通過したときの通過時間を推定する。この結果、ネットワークのパケット通過時間を安価に監視することができる。
【図面の簡単な説明】
【００１４】
【図１】本実施形態に係る監視システムの概略構成図である。
【図２】本実施形態に係るゆらぎ推定装置１０の概略機能ブロック図である。
【図３】本実施形態に係るＤＢ１０３に格納されるフロー情報から抽出した情報の一例を説明する図である
【図４】本実施形態に係るパケット転送装置間のゆらぎを説明する図である。
【図５】本実施形態に係るゆらぎ推定装置１０が行う処理手順のフローチャートである。
【図６】本実施形態に係るフロー情報の収集に関するフローチャートである。
【図７】本実施形態に係る各プロトコルにおけるフロー時刻情報及びパケット数情報のフィールドを説明する図である。
【図８】本実施形態に係るパケットが通過したときのフロー時刻情報を推定する処理に関するフローチャートである。
【図９】本実施形態に係る２つのパケット転送装置を流れるフローを説明する図である。
【図１０】本実施形態に係るＤＢ１０３の取得情報テーブルに格納されている情報からフローＩＤが同じであるパケット装置の情報を抽出した例を説明する図である。
【図１１】本実施形態に係るゆらぎ算出テーブルに格納されている情報の例を説明する図である。
【図１２】本実施形態におけるゆらぎ算出テーブルに複数の情報が格納されている例を説明する図である。
【図１３】本実施形態に係るフロー情報の具体的な１例を説明する図である。
【図１４】本実施形態に係る取得情報テーブルに格納される情報の具体的な１例を説明する図である。
【図１５】本実施形態に係るゆらぎ算出テーブルに格納される情報の具体的な１例を説明する図である。
【発明を実施するための形態】
【００１５】
まず、本発明の概要について説明する。
本発明に係るゆらぎ推定装置は、ネットワークを実際に流れているパケットを観測してゆらぎを推定する。ゆらぎ推定装置は、ネットワークの任意の区間に配置されているルータやスイッチ等のパケット転送装置から、フローの生存時間を示すフロー時刻情報とパケット数情報を取得する。なお、フロー時刻とは、パケット転送装置から情報取得した際に得られたパケットが転送通過を通過した時の時刻を示しており、その時刻とはフローの最初のパケットが転送装置を通過した時刻からの経過時間、つまりフローの生存時間である。
そして、ゆらぎ推定装置は、取得した情報に基づいて、同一パケット数がパケット転送装置を通過したフロー時刻を推定し、複数のパケット転送装置におけるフロー時刻情報に基づいてゆらぎを算出する。
【００１６】
以下、図面を用いて、本発明の実施形態について説明する。
図１は、本実施形態に係る監視システムの概略構成図である。図１に示すように、監視システム１は、ゆらぎ推定装置１０、ｎ個のパケット転送装置２０−１〜２０−ｎ（ｎは２以上の整数）、及びネットワーク３０から構成されている。以下、パケット転送装置２０−ｉ（ｉは、１からｎまでの整数）を総称してパケット転送装置２０と称する。
【００１７】
ゆらぎ推定装置１０は、ネットワーク３０を介してパケット転送装置２０より取得した情報から、パケット転送装置間のゆらぎを測定する。なお、転送装置間のゆらぎとは、パケット転送装置２０間を通過するパケットの遅延時間のばらつきである。
ゆらぎ推定装置１０は、各パケット転送装置２０と接続し、各パケット転送装置２０が具備するフロー管理技術に対応したプロトコルで通信を行う。なお、フロー管理技術に対応したプロトコルとは、例えばＩＰＦＩＸまたはＮｅｔＦｌｏｗ、ＯｐｅｎＦｌｏｗ等のプロトコルである。
フロー情報の取得は、後述するように、パケット転送装置２０に対して抽出したいフローの条件を指定することで、その情報のみがゆらぎ推定装置１０に出力するようにしてもよい。この場合、ゆらぎ推定装置１０は、各パケット転送装置２０から必要となるフロー情報のみが取得できる。また、取得したフロー情報内に各フローを判別できる情報が含まれているので、ゆらぎ推定装置１０は、各パケット転送装置２０から全てのフロー情報を取得し、各フローを判別できる情報を利用して特定のフローのみを抽出するようにしてもよい。なお、フロー情報とは、送信元ＩＰアドレス、送信先ＩＰアドレス、送信先ポート番号、送信元ポート番号、及びプロトコル等を含む情報である。
【００１８】
パケット転送装置２０は、例えば、ルータやスイッチ等である。
パケット転送装置２０は、装置内を通過するパケットをフローとして認識し、フロー単位の情報を、ネットワーク３０を介してゆらぎ推定装置１０に出力する機能を有する。出力される情報には、各フローが流れ始めてからのフローの生存時間を示すフロー時刻情報、および各フローが流れ始めてからフロー情報を出力するまでに転送処理されたパケット数情報が含まれている。また、パケット転送装置２０は、特定のフロー情報のみを抽出して、抽出した特定のフロー情報のみをゆらぎ推定装置１０に出力する。
パケット転送装置２０が、例えばＩＰＦＩＸまたはＮｅｔＦｌｏｗ等のプロトコルを具備している場合、ゆらぎ推定装置１０に対して、フロー情報の出力を設定された間隔で自動的に送信する。
あるいは、パケット転送装置２０が、例えばＯｐｅｎＦｌｏｗ等のプロトコルを具備している場合、フロー情報の出力をゆらぎ推定装置１０からの取得要求に応じて送信する。
【００１９】
ネットワーク３０は、例えばＩＰ（インターネット・プロトコル）ネットワークである。
【００２０】
次に、ゆらぎ推定装置１０の概略構成について、図２を用いて説明する。図２は、本実施形態に係るゆらぎ推定装置１０の概略機能ブロック図である。図２に示すように、ゆらぎ推定装置１０は、フロー情報取得部１０１、ゆらぎ算出部１０２、及びＤＢ（データベース）１０３を備えている。
【００２１】
フロー情報取得部１０１は、ゆらぎを推定したいネットワーク３０の区間に配置されている２つのパケット転送装置２０から、各パケット転送装置２０を通過するフローに関するフロー情報を、ネットワーク３０を介して取得する。フロー情報取得部１０１は、取得したフロー情報から、測定対象のフロー情報を抽出する。フロー情報取得部１０１は、測定対象のフロー情報から、フロー時刻情報及びパケット数情報を抽出し、抽出したフロー時刻情報及びパケット数情報をＤＢ１０３の取得情報テーブルに格納する。
【００２２】
ゆらぎ算出部１０２（通過時刻推定部）は、後述するように、取得情報テーブルから、異なるパケット数情報を有する情報を抽出して、抽出した情報に基づいて、一方のパケット転送装置２０のフロー時刻における他方のパケット転送装置２０のフロー時刻を推定する。ゆらぎ算出部１０２は、取得した一方のパケット転送装置２０のフロー時刻におけるフロー時刻と、推定した他方のパケット転送装置２０のフロー時刻におけるフロー時刻とを関連付けて、関連付けた情報をＤＢ１０３のゆらぎ算出テーブルに格納する。ゆらぎ算出部１０２は、ゆらぎ算出テーブルに格納されている情報を読み出し、読み出した情報に基づいて、各パケット転送装置２０のゆらぎを、パケット通過数毎に推定する。
【００２３】
ＤＢ１０３には、フロー情報取得部１０１が取得したフロー情報から抽出した情報（フロー時刻情報、パケット数情報）が、図３のように関連付けられて格納されている。また、ＤＢ１０３には、後述するように取得情報テーブル、ゆらぎ算出テーブルが格納されている。
なお、取得情報テーブルには、転送装置ＩＤ、フローＩＤ、フロー時刻情報、及びパケット数情報が関連付けられて格納されている。また、ゆらぎ算出テーブルには、パケット数情報、転送装置ＩＤ−１のフロー時刻情報、及び転送装置ＩＤ−２のフロー時刻情報が関連付けられて格納されている。
【００２４】
図３は、本実施形態に係るＤＢ１０３に格納されるフロー情報から抽出した情報の一例を説明する図である。
図３に示すように、ＤＢ１０３には、パケット転送装置２０の識別子情報（以下、転送装置ＩＤという）と、フローの識別子（以下、フローＩＤという）と、フロー情報から抽出したフロー時刻情報及びパケット数情報とが関連付けられて格納されている。
【００２５】
次に、本実施形態に係るパケット転送装置間の「ゆらぎ」について、図４を用いて説明する。図４は、本実施形態に係るパケット転送装置間のゆらぎを説明する図である。図４において、横軸は時間軸である。
図４に示すように、時刻ｔ１において、１番目のパケットが識別子ＩＤ−１を有するパケット転送装置２０（ＩＤ−１）を通過する。次に、時刻ｔ２において、１番目のパケットが識別子ＩＤ−２を有するパケット転送装置２０（ＩＤ−２）を通過する。
次に、時刻ｔ３において、ｎ番目のパケットがパケット転送装置２０（ＩＤ−１）を通過する。次に、時刻ｔ４において、ｎ番目のパケットがパケット転送装置２０（ＩＤ−２）を通過する。
パケット転送装置２０（ＩＤ−１）において、１番目のパケットからｎ番目のパケットが通過するのに要したフロー時間差Δｔ１は、ｔ３−ｔ１である。同様に、パケット転送装置２０（ＩＤ−２）において、１番目のパケットからｎ番目のパケットが通過するのに要したフロー時間差Δｔ２は、ｔ４−ｔ２である。
パケット転送装置２０（ＩＤ−１）とパケット転送装置２０（ＩＤ−２）の区間で、フローの流れに滞り等に変化が無い場合、フロー時間差Δｔ１とフロー時間差Δｔ２とは等しい。一方、フロー時間差Δｔ１とフロー時間差Δｔ２とが等しくない場合、パケット転送装置２０（ＩＤ−１）とパケット転送装置２０（ＩＤ−２）の区間で、フローの流れに滞り等が発生していることになる。このような、フロー時間差Δｔ１とフロー時間差Δｔ２と差が、パケット転送装置間の「ゆらぎ」である。
本実施形態では、パケットとパケットの間隔（以下、パケット間隔という）を同一にして、各パケット転送装置２０を、パケットが通過した時のフロー時刻を推定する。そして、本実施形態では、パケット転送装置２０間におけるパケット間隔の差を算出することで、ゆらぎを推定する。
【００２６】
次に、ゆらぎ推定装置１０が行う処理について、図５〜図８を用いて説明する。図５は、本実施形態に係るゆらぎ推定装置１０が行う処理手順のフローチャートである。
（ステップＳ１）ゆらぎ推定装置１０は、パケット転送装置２０が出力するフロー情報を収集する。ステップＳ１終了後、ステップＳ２に進む。
（ステップＳ２）次に、ゆらぎ推定装置１０は、収集したフロー情報に基づきゆらぎを推定する。
【００２７】
次に、ステップＳ１で行う処理について、図６を用いて説明する。図６は、本実施形態に係るフロー情報の収集に関するフローチャートである。
（ステップＳ１０１）ゆらぎ推定装置１０のフロー情報取得部１０１は、指定回数もしくは指定時間に達するまで一定間隔で、ステップＳ１０２とステップＳ１０３を繰り返す。
【００２８】
（ステップＳ１０２）フロー情報取得部１０１は、ゆらぎを推定したいネットワーク３０の区間に配置されている２つのパケット転送装置２０から、各パケット転送装置２０を通過するフローに関するフロー情報を、ネットワーク３０を介して取得する。ステップＳ１０２終了後、ステップＳ１０３に進む。
【００２９】
（ステップＳ１０３）フロー情報取得部１０１は、取得したフロー情報から、測定対象のフロー情報を抽出する。フロー情報取得部１０１は、例えば、フロー情報から送信元のＩＰアドレス、送信先のＩＰアドレス、送信先ポート番号、送信元ポート番号及びプロトコルが同一のフローを測定対象として抽出する。次に、フロー情報取得部１０１は、測定対象のフロー情報から、フロー時刻情報及びパケット数情報を抽出し、抽出したフロー時刻情報及びパケット数情報をＤＢ１０３の取得情報テーブルに格納する。
【００３０】
（ステップＳ１０４）ステップＳ１０２及びＳ１０３を指定回数もしくは指定時間に達するまで一定間隔で繰り返して、測定対象のフロー情報を取得完了後、情報収集処理を終了する。
【００３１】
［フロー情報からのフロー時刻情報、パケット数情報の取得］
次に、フロー情報からのフロー時刻情報、パケット数情報の取得方法の例について説明する。図７は、本実施形態に係る各プロトコルにおけるフロー時刻情報及びパケット数情報のフィールドを説明する図である。図７において、ＮｅｔＦｌｏｗ（Ｖｅｒ９）の場合、「ＦＩＲＳＴ＿ＳＷＩＴＣＨＥＤ」及び「ＩＮ＿ＰＫＴＳ」はフィールドを表している。また、ＯｐｅｎＦｌｏｗ（Ｖｅｒ１．１．０）の場合、「ｄｕｒａｔｉｏｎ＿ｎｓｅｃ」及び「ｐａｃｋｅｔ＿ｃｏｕｎｔ」は構造体の中の情報を表している。
すなわち、フロー時刻は、パケットの送信時刻または受信時刻である。
【００３２】
パケット転送装置２０がＯｐｅｎＦｌｏｗプロトコル（Ｖｅｒ１．１．０）に対応している場合、ゆらぎ推定装置１０は、パケット転送装置２０に対して必要な情報（送信元ＩＰアドレス、送信先ＩＰアドレス、送信元ポート番号、送信先ポート番号、及びプロトコル）を送信するリクエストを送信する。そして、ゆらぎ推定装置１０は、パケット転送装置２０がリクエストに応じて出力する情報を取得することで、必要なフロー情報を取得する。
より具体的には、ゆらぎ推定装置１０は、送信元ＩＰアドレス、送信先ＩＰアドレス、送信元ポート番号、送信先ポート番号、及びプロトコルの情報を格納させた「ｏｆｔ＿ｍａｔｈｃｈ」構造体を持つ「ｏｆｐ＿ｆｌｏｗ＿ｓｔａｔｓ＿ｒｅｑｕｅｓ」構成体のリクエストを生成して、生成したリクエストをパケット転送装置２０に送信する。
パケット転送装置２０は、リクエストに応じて「ｔｏｆｐ＿ｆｌｏｗ＿ｓｔａｔｓ」構造体をゆらぎ推定装置１０に送信する。
ゆらぎ推定装置１０は、図７の３列目に示したように、パケット転送装置２０が出力する「ｔｏｆｐ＿ｆｌｏｗ＿ｓｔａｔｓ」構造体から「ｄｕｒａｔｉｏｎ＿ｎｓｅｃ」情報を抽出することでフロー時刻情報を抽出する。ゆらぎ推定装置１０は、「ｔｏｆｐ＿ｆｌｏｗ＿ｓｔａｔｓ」構造体から「ｐａｃｋｅｔ＿ｃｏｕｎｔ」を抽出することでパケット数情報を抽出する。
【００３３】
パケット転送装置２０がＮｅｔＦｌｏｗプロトコルまたはＩＰＦＩＸプロトコルに対応している場合、ゆらぎ推定装置１０は、予め定められている間隔でパケット転送装置２０が出力する全てのフロー情報が含まれる情報を取得する。ゆらぎ推定装置１０は、取得したフロー情報の中から、送信元ＩＰアドレス、送信先ＩＰアドレス、送信元ポート番号、送信先ポート番号、及びプロトコルを用いて、フロー時刻情報及びパケット数情報を抽出する。
パケット転送装置２０がＮｅｔＦｌｏｗプロトコル（Ｖｅｒ９）に対応している場合のより具体的な例を説明する。ゆらぎ推定装置１０は、パケット転送装置２０が出力する全てのフロー情報が含まれる情報から、測定対象とする送信元ＩＰアドレス、送信先ＩＰアドレス、送信元ポート番号、送信先ポート番号、及びプロトコルに合致する情報を抽出する。次に、ゆらぎ推定装置１０は、図７の２列目に示したように、抽出した１フロー分のフロー情報から「ＦＩＲＳＴ＿ＳＷＩＴＣＨＥＤ」（フロー開始パケット受信時の時刻）情報または「ＬＡＳＴ＿ＳＷＩＴＣＨＥＤ」（フロー最終パケット受信時の時刻）情報を抽出することでフロー時刻情報を抽出する。また、ゆらぎ推定装置１０は、抽出した１フロー分のフロー情報から「ＩＮ＿ＰＫＴＳ」（フローのパケット総数）情報を抽出することでパケット数情報を抽出する。
【００３４】
なお、フロー情報の特定のために、ゆらぎ推定装置１０は、ＴＯＳ（サービス・タイプ）フィールド値、ＶＬＡＮ  ＩＤ（仮想ＬＡＮのＩＤ）情報、ＭＰＬＳ（マルチ・プロトコル・ラベル・スイッチング）ラベル等の情報を加えるようにしてもよい。
【００３５】
次に、図５のステップＳ２で行う処理について、図８を用いて説明する。図８は、本実施形態に係るパケットが通過したときのフロー時刻情報を推定する処理に関するフローチャートである。
（ステップＳ２０１）ゆらぎ推定装置１０のゆらぎ算出部１０２は、ＤＢ１０３の取得情報テーブル内のパケット数が小さい順にステップＳ２０１からＳ２０５を、取得情報テーブルに格納されている情報について繰り返す。
【００３６】
（ステップＳ２０２）ゆらぎ算出部１０２は、取得情報テーブル内かゆらぎ推定処理をまだ行っていない情報の中で、パケット数が最も小さい第１のパケット数を有する情報（以下、第１情報という）を抽出し、抽出した第１情報をゆらぎ推定処理対象情報として選択する。ステップＳ２０２終了後、ステップＳ２０３に進む。
【００３７】
（ステップＳ２０３）ゆらぎ算出部１０２は、ゆらぎ推定の処理対象情報であるパケット転送装置ＩＤと異なるＩＤを有する情報の中から、第１情報のパケット数よりパケット数が小さく、かつ第１情報のパケット数に最も近い第２のパケット数を有する情報（以下、第２情報という）を抽出する。
次に、ゆらぎ算出部１０２は、ゆらぎ推定の処理対象情報であるパケット転送装置ＩＤと異なるＩＤを有する情報の中から、第１情報のパケット数よりパケット数が大きく、かつ第１情報のパケット数に最も近い第３のパケット数を持つ情報（以下、第３情報という）を抽出する。
ステップＳ２０３終了後、ステップＳ２０４に進む。
【００３８】
（ステップＳ２０４）ゆらぎ算出部１０２は、ステップＳ２０３で、第２情報及び第３情報を抽出できたか否かを判別する。第２情報及び第３情報を抽出できていないと判別した場合（ステップＳ２０４；Ｎｏ）、ステップＳ２０２に戻る。第２情報及び第３情報を抽出できたと判別した場合（ステップＳ２０４；Ｙｅｓ）、ステップＳ２０５に進む。
【００３９】
（ステップＳ２０５）第２情報及び第３情報を抽出できたと判別した場合、ゆらぎ算出部１０２は、抽出した第２情報及び第３情報に基づき、第１情報のパケット数と同一のパケット数のフロー時刻を推定する。次に、ゆらぎ算出部１０２は、推定したパケット数情報を、ＤＢ１０３のゆらぎ算出テーブルに格納する。
【００４０】
（ステップＳ２０６）ＤＢ１０３の取得情報テーブル内のパケット数が小さい順に、格納されている全てのフロー情報についてステップＳ２０２からＳ２０５の処理を繰り返した後、ステップＳ２０１の処理を終了し、ステップＳ２０７に進む。
【００４１】
（ステップＳ２０７）ゆらぎ算出部１０２は、ＤＢ１０３のゆらぎ算出テーブル内のパケット数が小さい順に、ステップＳ２０７からＳ２１１を繰り返す。
【００４２】
（ステップＳ２０８）ゆらぎ算出部１０２は、ゆらぎ算出テーブル内から、ゆらぎ推定の処理対象となっていない情報の中から、最もパケット数が小さい情報を抽出し、抽出した情報を第１処理対象情報とする。ステップＳ２０８終了後、ステップＳ２０９に進む。
【００４３】
（ステップＳ２０９）ゆらぎ算出部１０２は、ゆらぎ算出テーブル内から、第１処理対象情報の次にパケット数が小さい情報を抽出し、抽出した情報を第２処理対象情報とする。ステップＳ２０９終了後、ステップＳ２１０に進む。
【００４４】
（ステップＳ２１０）ゆらぎ算出部１０２は、ステップＳ２０９において、第２処理対象情報が抽出できたか否かを判定する。第２処理対象情報が抽出できたと判定した場合（ステップＳ２１０；Ｙｅｓ）、ステップＳ２１１に進む。第２処理対象情報が抽出できていないと判定した場合（ステップＳ２１０；Ｎｏ）、ステップＳ２０７からＳ２１２の繰り返し処理を抜けて、ゆらぎ推定処理を終了する。
【００４５】
（ステップＳ２１１）第２処理対象情報が抽出できたと判定した場合、ゆらぎ算出部１０２は、第１処理対象情報及び第２処理対象情報に基づき、後述するようにパケット間隔を算出し、算出結果に基づいてパケット転送装置２０間のゆらぎを推定する。
【００４６】
［ゆらぎ推定方法］
次に、ゆらぎの推定方法について、図８〜図１２を用いて説明する。
図９は、本実施形態に係る２つのパケット転送装置を流れるフローを説明する図である。図９において、パケット転送装置２０−１（第１パケット転送装置）の識別子ＩＤは１（以下、ＩＤ−１という）、パケット転送装置２０−２（第２パケット転送装置）の識別子ＩＤは２（以下、ＩＤ−２という）である。また、パケット転送装置２０−１（ＩＤ−１）からパケット転送装置２０−２（ＩＤ−２）に向かって流れているフロー４０−１が測定対象のフローであり、フローの識別子ＩＤは１（以下、ＦｌｏｗＩＤ−１という）である。なお、図９に示した例は、ゆらぎの推定を説明するために、図１のようにネットワークにパケット転送装置２０がｎ個設置されている中から、測定対象として任意に２個のパケット転送装置２０−１とパケット転送装置２０−２を抜き出した例である。
また、以下の説明では、パケット転送装置２０−１（ＩＤ−１）を転送装置ＩＤ−１、パケット転送装置２０−２（ＩＤ−２）を転送装置ＩＤ−２と表す。
【００４７】
なお、転送装置ＩＤ−１が、第１パケット転送装置に対応する場合、パケット転送装置ＩＤ−２は、第２パケット転送装置に対応する。または、パケット転送装置ＩＤ−１が、第２パケット転送装置に相当する場合、パケット転送装置ＩＤ−２は、第１パケット転送装置に対応する。
【００４８】
図１０は、本実施形態に係るＤＢ１０３の取得情報テーブルに格納されている情報からフローＩＤが同じであるパケット装置の情報を抽出した例を説明する図である。
図１０に示した例では、情報がパケット数情報の昇順にソートされている。
すなわち、図１０において、フロー時刻Ｔｆ２はフロー時刻Ｔｆ１より大きく、フロー時刻Ｔｆ３はフロー時刻Ｔｆ２より大きい。以下同様に、フロー時刻Ｔｆ４はフロー時刻Ｔｆ３より大きく、フロー時刻Ｔｆ５はフロー時刻Ｔｆ４より大きい。
また、それに応じて、図１０において、パケット数Ｐ２はパケット数Ｐ１より大きく、パケット数Ｐ３はパケット数Ｐ２より大きい。以下同様に、パケット数Ｐ４はパケット数Ｐ３より大きく、パケット数Ｐ５はパケット数Ｐ４より大きい。
【００４９】
図１０に示したデータの一例を用いて、図８のフローチャートにおけるゆらぎ算出部１０２の処理を説明する。
ゆらぎ算出部１０２は、ＤＢ１０３の取得情報テーブルから、フローＩＤがＦｌｏｗＩＤ−１のパケット転送装置ＩＤ、フロー時刻情報（Ｔｆｎ（ｎは１以上の整数））、パケット数情報（Ｐｎ（ｎは１以上の整数））を抽出し、パケット数情報の昇順にソートする（図８のステップＳ２０１）。
【００５０】
次に、ゆらぎ算出部１０２は、図１０に示したテーブル内のまだ処理していない情報の中から、最もパケット数の小さい情報である２行目の（ＩＤ−１、ＦｌｏｗＩＤ−１、Ｔｆ１、Ｐ１）を処理対象の第１情報とする（ステップＳ２０２）。
次に、ゆらぎ算出部１０２は、パケット転送装置ＩＤが異なり、且つ第１情報のパケット数Ｐ１より小さくかつＰ１に最も近いパケット数情報を有する第２情報を、図１０に示したテーブル内から抽出する（ステップＳ２０４）。この場合、パケット数Ｐ１より小さいパケット数情報を有する情報が取得情報テーブル内に無いため、ゆらぎ算出部１０２は、ステップＳ２０４において、第２情報を取得できていないと判定し、ステップＳ２０２に戻る。
【００５１】
ステップＳ２０２に戻り、ゆらぎ算出部１０２は、図１０に示したテーブル内のまだ処理していない情報の中から、最もパケット数の小さい情報である３行目の（ＩＤ−１、ＦｌｏｗＩＤ−１、Ｔｆ２、Ｐ２）を処理対象の第１情報とする（ステップＳ２０２）。
次に、ゆらぎ算出部１０２は、パケット転送装置ＩＤが異なり、且つ第１情報のフローパケット数Ｐ２より小さくかつＰ２に最も近いパケット数情報を有する第２情報を、図１０に示したテーブル内から抽出する（ステップＳ２０４）。この場合、パケット数Ｐ２より小さいパケット数情報を有する情報は、パケット数Ｐ１があるが、パケット転送装置のＩＤが同じである。このため、ゆらぎ算出部１０２は、第２情報が取得テーブル内に無いため、ステップＳ２０４において、第２情報を取得できていないと判定し、ステップＳ２０２に戻る。
【００５２】
ステップＳ２０２に戻り、ゆらぎ算出部１０２は、図１０に示したテーブル内のまだ処理していない情報の中から、最もパケット数の小さい情報である４行目の情報（ＩＤ−２、ＦｌｏｗＩＤ−１、Ｔｆ３、Ｐ３）を処理対象の第１情報とする（ステップＳ２０２）。
次に、ゆらぎ算出部１０２は、パケット転送装置ＩＤが異なり、第１情報のパケット数Ｐ３より小さくかつＰ３に最も近いパケット数Ｐ２を有する情報を第２情報として、図１０に示したテーブル内から抽出する（ステップＳ２０４）。
【００５３】
次に、ゆらぎ算出部１０２は、第１情報のパケット転送装置ＩＤが異なり、且つ第２情報のパケット転送装置ＩＤと同一ＩＤであり、且つ第１情報のパケット数Ｐ３より大きく、且つＰ３に最も近いパケット数Ｐ４を有する情報を第３情報として、図１０に示したテーブル内から抽出する（ステップＳ２０４）。
ゆらぎ算出部１０２は、ステップＳ２０４において、第２情報と第３情報が抽出できたと判定する。
【００５４】
時間（Ｔｆ４−Ｔｆ２）に（Ｐ４−Ｐ２）個のパケットが転送装置ＩＤ−１から転送装置ＩＤ−２を通過したことになる。このため、パケット１個当たりの通過に要したパケット通過時間（以下、パケット通過時間という）は、（Ｔｆ４−Ｔｆ２）／（Ｐ４−Ｐ２）である。
このため、ゆらぎ算出部１０２は、ステップＳ２０１からＳ２０６において抽出した第１情報、第２情報及び第３情報を次式（１）に代入して、転送装置ＩＤ−１におけるパケット数Ｐ３（第１パケット数）の通過フロー時刻（第１通過推定フロー時刻、パケット通過時刻）Ｔｐｆ３を推定する。
【００５５】
【数１】
0005637972.tif 000002
【００５６】
ゆらぎ算出部１０２は、抽出したパケット数Ｐ３個目のパケットが通過した転送装置ＩＤ−２のフロー時刻Ｔｆ３と、パケット数Ｐ３個目のパケットが通過した転送装置ＩＤ−１における推定したフロー時刻ＴＰｆ３とを、図１１のように関連付けてＤＢ１０３のゆらぎ算出テーブルに格納する。
図１１は、本実施形態に係るゆらぎ算出テーブルに格納されている情報の例を説明する図である。図１１に示すように、ゆらぎ算出テーブルには、パケット数情報、パケット数が通過したときの転送装置ＩＤ−１におけるフロー時刻情報、及びパケット数が通過したときの転送装置ＩＤ−２におけるフロー時刻情報が関連付けられて格納されている。
【００５７】
ゆらぎ算出部１０２は、ステップＳ２０１からＳ２０６を繰り返し、取得情報テーブルに格納されている情報について処理を行う。
このような処理を行った結果、図１２に示すようなゆらぎ算出テーブルが得られたとする。
図１２は、本実施形態におけるゆらぎ算出テーブルに複数の情報が格納されている例を説明する図である。前述したように、図１２に示したゆらぎ算出テーブルには、パケット数情報、転送装置ＩＤ−１のフロー時刻情報、及び転送装置ＩＤ−２のフロー時刻情報が関連付けて格納されている。なお、図１２に示したゆらぎ算出テーブルは、パケット数情報の昇順でソートして表している。
【００５８】
図１２を用いて、図８のフローチャートにおけるゆらぎ算出部１０２の処理を説明する。
ゆらぎ算出部１０２は、ゆらぎ算出テーブルから、未処理であり最もパケット数が小さい情報を第１処理情報として抽出する。この場合、ゆらぎ算出部１０２は、パケット数Ｐｉを有する情報を第１処理情報として抽出する（ステップＳ２０８）。
次に、ゆらぎ算出部１０２は、ゆらぎ算出テーブルから、未処理であり第１処理情報の次にパケット数が小さい情報を第２処理情報として抽出する。この場合、ゆらぎ算出部１０２は、パケット数Ｐｊを有する情報を第２処理情報として抽出する（ステップＳ２０９）。
【００５９】
第１処理情報と第２処理情報が抽出できたと判定した場合（ステップＳ２１０；Ｙｅｓ）、ゆらぎ算出部１０２は、抽出した第１処理情報と第２処理情報を次式（２）に代入してゆらぎＪｉｊを算出する。
【００６０】
【数２】
0005637972.tif 000003
【００６１】
式（２）において、第１項目の（Ｔｊ（ＩＤ−１）−Ｔｉ（ＩＤ−１））は、転送装置ＩＤ−１におけるパケット数Ｐｉとパケット数Ｐｊとが通過したときの実測されたフロー時刻と推定されたフロー時刻との差を示す値である。また、式（２）において、第２項目の（Ｔｊ（ＩＤ−２）−Ｔｉ（ＩＤ−２））は、転送装置ＩＤ−２におけるパケット数Ｐｉとパケット数Ｐｊとが通過したときの実測されたフロー時刻と推定されたフロー時刻との差を示す値である。
【００６２】
例えば、Ｔｊ（ＩＤ−１）は、転送装置ＩＤ−１（第１パケット転送装置）においてパケット数Ｐｊ（第ｍ番目のパケット；ｍはｎ以上の整数、ｎは１以上の整数）が通過したとき実測されたフロー時刻に対応する。Ｔｉ（ＩＤ−１）は、転送装置ＩＤ−１（第１パケット転送装置）においてパケット数Ｐｉ（第ｎ番目のパケット）が通過したとき推定されたフロー時刻（第１通過推定時刻）に対応する。Ｔｊ（ＩＤ−２）は、転送装置ＩＤ−２（第２パケット転送装置）においてパケット数Ｐｊ（第ｍ番目のパケット）が通過したとき推定されたフロー時刻（第４通過推定時刻）に対応する。Ｔｉ（ＩＤ−２）は、転送装置ＩＤ−２（第２パケット転送装置）においてパケット数Ｐｉ（第ｎ番目のパケット）が通過したとき実測されたフロー時刻に対応する。
【００６３】
あるいは、Ｔｊ（ＩＤ−１）は、転送装置ＩＤ−１（第１パケット転送装置）においてパケット数Ｐｊ（第ｍ番目のパケット）が通過したとき推定されたフロー時刻（第２通過推定時刻）に対応する。Ｔｉ（ＩＤ−１）は、転送装置ＩＤ−１（第１パケット転送装置）においてパケット数Ｐｉ（第ｎ番目のパケット）が通過したとき実測されたフロー時刻に対応する。また、Ｔｊ（ＩＤ−２）は、転送装置ＩＤ−２（第２パケット転送装置）においてパケット数Ｐｊ（第ｍ番目のパケット）が通過したとき実測されたフロー時刻に対応する。Ｔｉ（ＩＤ−２）は、転送装置ＩＤ−２（第２パケット転送装置）においてパケット数Ｐｉ（第ｎ番目のパケット）が通過したとき推定されたフロー時刻（第３通過推定時刻）に対応する。
【００６４】
以下同様にゆらぎ算出部１０２は、パケット数Ｐｊを有する情報を第１処理情報、パケット数Ｐｋを有する情報を第２処理情報としてゆらぎＪｊｋを算出する。以下、ゆらぎ算出テーブルに格納されている全ての情報について、ゆらぎ算出部１０２は、ゆらぎを算出する。
【００６５】
［具体例］
次に、具体的な実施例を、図９、図１３〜図１５を用いて説明する。
図１３は、本実施形態に係るフロー情報の具体的な１例を説明する図である。図１４は、本実施形態に係る取得情報テーブルに格納される情報の具体的な１例を説明する図である。図１５は、本実施形態に係るゆらぎ算出テーブルに格納される情報の具体的な１例を説明する図である。
【００６６】
測定対象は、図９と同様に、転送装置ＩＤ−１から転送装置ＩＤ−２に流れるＦｌｏｗＩＤ−１のフローである。
図１３に示すように、ＦｌｏｗＩＤ−１には、送信元ＩＰアドレス、送信先ＩＰアドレス、送信元ポート番号、送信先ポート番号、及びプロトコルが含まれている。
図１３に示した例では、送信元ＩＰアドレスが「１．０．０．１」であり、送信先ＩＰアドレスが「１．１．１．１」である。また、送信元ポート番号が「１００」であり、送信先ポート番号が「１１１」である。また、プロトコルがＴＣＰ（伝送制御プロトコル）である。
【００６７】
図１３を用いて、図６のフローチャートにおけるフロー情報取得部１０１の処理を説明する。
フロー情報取得部１０１は、図１３に示した情報のうち、ＦｌｏｗＩＤ−１を特徴付ける送信元ＩＰアドレス情報等を利用して、ＦｌｏｗＩＤ−１のフローに関するフロー情報を取得する（図６、ステップＳ１０２）。次に、フロー情報取得部１０１は、取得したフロー情報からフロー時刻情報、パケット数情報を抽出して、抽出した情報を関連付けて図１４のようにＤＢ１０３の取得情報テーブルに格納する（図６、ステップＳ１０３）。なお、図１４に示した例では、取得情報テーブルに格納された情報を、フロー時刻情報の昇順でソートして表している。
【００６８】
続いて、図１４及び図１５を用いて、図８のフローチャートにおけるゆらぎ算出部１０２の処理を説明する。
ゆらぎ算出部１０２は、取得情報テーブルに格納されている情報の中から、図１４の３行目のパケット数＝３６１（第ｎ番目のパケット）を有する情報を第１情報として抽出（図８、ステップＳ２０２）する。同様に、ゆらぎ算出部１０２は、取得情報テーブルに格納されている情報の中から、図１４の２行目のパケット数＝１８１を有する情報を第２情報として抽出し、図１４の４行目のパケット数＝４４０を有する情報を第３情報として抽出する（図８、ステップＳ２０３）。
次に、ゆらぎ算出部１０２は、抽出した第１情報、第２情報及び第３情報を式（１）に代入して、次式（３）のように、パケット数＝３６１が通過したときの転送装置ＩＤ−１のフロー時刻（パケット通過時刻）Ｔ３６１（ＩＤ−１）を推定する。
【００６９】
【数３】
0005637972.tif 000004
【００７０】
ゆらぎ算出部１０２は、抽出したパケット数＝３６１を通過したときの転送装置ＩＤ−２のフロー時刻＝２１．００と、推定したパケット数＝３６１を通過したときの転送装置ＩＤ−１のフロー時刻＝２１．４２とを関連付けて、図１５の２行目のようにゆらぎ算出テーブルに格納する（図８、ステップＳ２０５）。
【００７１】
同様に、ゆらぎ算出部１０２は、抽出した第１情報（パケット数＝４４０）、第２情報（パケット数＝３６１）及び第３情報（パケット数＝５３３）を式（１）に代入して、次式（４）のように、パケット数＝４４０（第ｍ番目のパケット）が通過したときの転送装置ＩＤ−２のフロー時刻Ｔ４４０（ＩＤ−２）を推定する。
【００７２】
【数４】
0005637972.tif 000005
【００７３】
同様にゆらぎ算出部１０２は、抽出したパケット数＝４４０が通過したときの転送装置ＩＤ−１のフロー時刻＝２６．００と、推定したパケット数＝４４０が通過したときの転送装置ＩＤ−２のフロー時刻＝２５．５９とを関連付けて、図１５の３行目のようにゆらぎ算出テーブルに格納する（図８、ステップＳ２０５）。
【００７４】
ゆらぎ算出部１０２は、ゆらぎ算出テーブルに格納されている情報を式（２）に代入して、ゆらぎＪｉｔｔｅｔを次式（５）のように推定する。
【００７５】
【数５】
0005637972.tif 000006
【００７６】
式（５）において、（２６．００−２１．４２）は、転送装置ＩＤ−１における３６１番目のパケットが通過したフロー時刻と、４４０番目のパケットが通過したフロー時刻との差である第１通過時間を表している。また、式（５）において、（２５．５９−２１．００）は、転送装置ＩＤ−２における３６１番目のパケットが通過したからフロー時刻と、４４０番目のパケットが通過したフロー時刻との差である第２通過時間を表している。
すなわち、図１３から図１５で説明した例において、ゆらぎ算出部１０２は、ゆらぎは「−０．０１」であると推定する。なお、ゆらぎ推定装置１０は、推定したパケット通過数及びゆらぎを示す情報を、例えば、図示しないネットワークの監視装置に出力する。
【００７７】
なお、ゆらぎの算出の説明を行うために図９に示したように２つのパケット転送装置２０−１とパケット転送装置２０−２からフロー情報を取得してゆらぎを推定する例を説明したがこれに限られない。図１に示したように、ｎ個のパケット転送装置２０−１〜２０−ｎがネットワーク３０に接続されている場合、ゆらぎ推定装置１０は、ｎ個のパケット転送装置２０−１〜２０−ｎからフロー情報を取得し、取得したフロー情報に基づいて任意の２つのパケット転送装置２０間のフロー情報を抽出してゆらぎを算出してもよい。
以上のように、パケット転送装置２０が出力するフロー情報を用いてゆらぎを推定するようにしたので、ネットワーク３０にプローブを設置せずにゆらぎを推定できるので、本実施形態に係る監視システム１は、パケット通過数及びゆらぎを安価に監視することができる。
【００７８】
また、本実施形態の監視システム１によれば、パケットキャプチャーやパケット解析処理が不要であり、またパケット転送装置から得た情報からゆらぎを推定する演算は非常に簡易なものである。このため、ゆらぎを推定（演算）するゆらぎ推定装置の負荷が高くならず、ゆらぎ推定装置を安価なＰＣ（パーソナルソコンピュータ）で実現することが出来る。
【００７９】
なお、本実施形態では、転送装置ＩＤ−１のパケット通過時刻を推定するときに、推定に用いる通過パケット数として、転送装置ＩＤ−２で実測値が取得できている通過パケット数を用いる例を説明したが、任意の通過パケット数におけるパケット通過時刻を推定するようにしてもよい。
以下に、任意の通過パケット数におけるパケット通過時刻を推定する一例について説明する。ゆらぎ算出部１０２は、転送装置ＩＤ−１において、取得したフロー情報を用いて、任意の第ｎ番目のパケットが通過するパケット通過時刻（第１通過推定時刻）を推定する。また、ゆらぎ算出部１０２は、転送装置ＩＤ−１を第ｍ番目のパケットが通過するパケット通過時刻（第２通過推定時刻）を推定する。同様に、ゆらぎ算出部１０２は、転送装置ＩＤ−２において、取得したフロー情報を用いて、任意の第ｎ番目のパケットが通過するパケット通過時刻（第３通過推定時刻）を推定する。ゆらぎ算出部１０２は、転送装置ＩＤ−２を第ｍ番目のパケットが通過するパケット通過時刻（第４通過推定時刻）を推定する。
ゆらぎ算出部１０２は、このように推定した各パケット通過推定時刻を式（２）に代入することでゆらぎを算出するようにしてもよい。
【００８０】
具体的には、例えば、図１４に示したような情報を取得した場合、ゆらぎ算出部１０２は、転送装置ＩＤ−１におけるパケット数＝１８１とパケット数＝４４０の各フロー情報を用いて、転送装置ＩＤ−１におけるパケット数＝３７０及びパケット数＝４３０の各々パケット通過時刻を推定する。同様に、ゆらぎ算出部１０２は、転送装置ＩＤ−２におけるパケット数＝３６１とパケット数＝５３３の各フロー情報を用いて、転送装置ＩＤ−２におけるパケット数＝３７０及びパケット数＝４３０の各々のパケット通過時刻を推定する。このように推定した転送装置ＩＤ−１及び転送装置ＩＤ−２の３７０番目のパケット及び４４０番目のパケットが通過した各パケット通過時刻を、式（２）に代入することでゆらぎを算出するようにしてもよい。
【００８１】
なお、本実施形態では、１つのゆらぎを得るための最小限の例を説明したが、得たいゆらぎの精度に応じて測定回数及び推定に用いるパケット数を設定するようにしてもよい。
また、推定したパケット数に基づき、パケット数または測定回数を監視システム１の管理者が手動で、または、図示しないネットワークの監視装置が推定されたゆらぎに基づいて設定するようにしてもよい。
【００８２】
なお、本実施形態では、ゆらぎを推定したい区間において、片方向のゆらぎを推定する方法を説明したが、両方向のゆらぎを推定するようにしてもよい。この場合、例えば、図９で説明したようにパケット転送装置２０−２（ＩＤ−２）からパケット転送装置２０−１（ＩＤ−１）に流れるＦｌｏｗＩＤ−２のゆらぎを推定するようにしてもよい。フロー情報の収集、取得情報テーブル及びゆらぎ算出テーブルへの情報の格納、ゆらぎの算出は、図６及び図８と同様に行う。この場合、フロー情報取得部１０１は、ＤＢ１０３に格納されている情報を、パケット数情報の降順にソートするようにしてもよい。
【００８３】
なお、本実施形態では、パケット転送装置２０が、ＯｐｅｎＦｌｏｗプロトコル、ＮｅｔＦｌｏｗプロトコル及びＩＰＦＩＸプロトコルに対応している例を説明したが、これに限られない。フロー時刻情報及びパケット数情報が得られる他のプロトコルに対応したパケット転送装置が出力するするフロー情報を用いるようにしてもよい。
【００８４】
また、本実施形態では、一定期間または一定回数情報収集後にゆらぎを推定する例を説明したが、ゆらぎ推定装置１０は、情報を収集しながらゆらぎを推定するようにしてもよい。
【００８５】
また、本実施形態において、フロー情報取得部１０１は、パケット数についてソートして取得情報テーブル及びゆらぎ算出テーブルに情報を格納したりゆらぎを算出したりする例を説明したが、これに限られない。例えば、フロー情報取得部１０１は、フロー時刻の昇順にソートして取得情報テーブル及びゆらぎ算出テーブルに情報を格納したりゆらぎを算出したりするようにしてもよい。または、フロー情報取得部１０１は、取得情報テーブル及びゆらぎ算出テーブルに格納されている情報をソートせず、そのまま条件に合う情報を探索するようにしてもよい。
【００８６】
なお、本実施形態において、フロー情報取得部１０１は、近接しているパケット数情報の第１情報〜第３情報、及び第１処理情報〜第３処理情報を抽出する例を説明したが、これに限られない。例えば、第３情報のパケット数は、第１情報のパケット数に最も近いパケット数ではなく、離れているパケット数を含む情報であってもよい。
【００８７】
なお、本実施形態では、フロー情報取得部１０１が、フロー情報の取得と、取得したフロー情報を取得情報テーブルに格納する例を説明したが、これに限られない。例えば、フロー情報取得部１０１は、情報取得部とデータ抽出部を備えるようにしてもよい。この場合、情報取得部は、フロー情報を取得し、データ抽出部が取得したフロー情報を取得情報テーブルに格納するようにしてもよい。
【００８８】
なお、実施形態の図２のゆらぎ推定装置１０の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ−ＲＯＭ等の可搬媒体、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）  Ｉ／Ｆ（インタフェース）を介して接続されるＵＳＢメモリ、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、サーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【符号の説明】
【００８９】
１・・・監視システム、１０・・・ゆらぎ推定装置、２０・・・パケット転送装置、３０・・・ネットワーク、４０−１・・・フロー、１０１・・・フロー情報取得部、１０２・・・ゆらぎ算出部、１０３・・・ＤＢ、ＩＤ−１〜ＩＤ−ｎ・・・パケット転送装置の識別子、ＦｌｏｗＩＤ−１〜ＦｌｏｗＩＤ−５・・・フローＩＤ、Ｔｆ１〜Ｔｆ５・・・フロー時刻情報、Ｐ１〜Ｐ５、Ｐｉ〜Ｐｍ・・・パケット数情報、Ｔｉ（ＩＤ−１）〜Ｔｍ（ＩＤ−１）・・・ＩＤ−１を有するパケット転送装置におけるフロー時刻情報、Ｔｉ（ＩＤ−２）〜Ｔｍ（ＩＤ−２）・・・ＩＤ−２を有するパケット転送装置におけるフロー時刻情報
【図１】
0005637972.tif 000007
【図２】
0005637972.tif 000008
【図３】
0005637972.tif 000009
【図４】
0005637972.tif 000010
【図５】
0005637972.tif 000011
【図６】
0005637972.tif 000012
【図７】
0005637972.tif 000013
【図８】
0005637972.tif 000014
【図９】
0005637972.tif 000015
【図１０】
0005637972.tif 000016
【図１１】
0005637972.tif 000017
【図１２】
0005637972.tif 000018
【図１３】
0005637972.tif 000019
【図１４】
0005637972.tif 000020
【図１５】
0005637972.tif 000021