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