(57)【要約】【課題】  トラヒック測定時のサンプリングレートの信頼性向上を図る。【解決手段】  通信ネットワークから取得されたパケットを受け取り１次サンプリングレートでサンプリングする１次サンプリング部４１と、１次サンプリングされたパケットを格納するバッファ４２と、バッファ４２に格納されているパケットを２次サンプリングレートでサンプリングする２次サンプリング４３と、通信ネットワークから取得されたパケットのカウント値を受け取り、単位時間当たりのパケット数を算出する統計処理部４５とを備え、２次サンプリング部４３は、単位時間当たりのパケット数とバッファ４２に格納中のパケットの個数とに基づいて、目標サンプリングレートを保つように、２次サンプリングレートを更新する。【選択図】    図３
2006345345.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワークから取得されたパケットを受け取りサンプリングして処理するトラヒック測定装置において、
前記受け取ったパケットを１次サンプリングレートでサンプリングする１次サンプリング手段と、
前記１次サンプリングされたパケットを格納するバッファ手段と、
前記バッファ手段に格納されているパケットを２次サンプリングレートでサンプリングする２次サンプリング手段と、
前記通信ネットワークから取得されたパケットのカウント値を受け取り、単位時間当たりのパケット数を算出する統計処理手段と、を備え、
前記２次サンプリング手段は、前記単位時間当たりのパケット数と前記バッファ手段に格納中のパケットの個数とに基づいて、目標サンプリングレートを保つように、前記２次サンプリングレートを更新する、
ことを特徴とするトラヒック測定装置。
【請求項２】
前記２次サンプリングレートは、前記目標サンプリングレートと前記バッファ手段に格納中のパケットの個数との積を前記単位時間当たりのパケット数で除する演算式に基づいて算出される、
ことを特徴とする請求項１に記載のトラヒック測定装置。
【請求項３】
通信ネットワークから取得されたパケットを受け取りサンプリングして処理するトラヒック測定方法であって、
前記受け取ったパケットを１次サンプリングレートでサンプリングする過程と、
前記１次サンプリングされたパケットをバッファ手段に格納する過程と、
前記バッファ手段に格納されているパケットを２次サンプリングレートでサンプリングする過程と、
前記通信ネットワークから取得されたパケットのカウント値を受け取り、単位時間当たりのパケット数を算出する過程と、
前記単位時間当たりのパケット数と前記バッファ手段に格納中のパケットの個数とに基づいて、目標サンプリングレートを保つように、前記２次サンプリングレートを更新する過程と、
を含むことを特徴とするトラヒック測定方法。
【請求項４】
通信ネットワークから取得されたパケットを受け取りサンプリングして処理するためのコンピュータプログラムであって、
前記受け取ったパケットを１次サンプリングレートでサンプリングする機能と、
前記１次サンプリングされたパケットをバッファ手段に格納する機能と、
前記バッファ手段に格納されているパケットを２次サンプリングレートでサンプリングする機能と、
前記通信ネットワークから取得されたパケットのカウント値を受け取り、単位時間当たりのパケット数を算出する機能と、
前記単位時間当たりのパケット数と前記バッファ手段に格納中のパケットの個数とに基づいて、目標サンプリングレートを保つように、前記２次サンプリングレートを更新する機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、トラヒック測定装置、トラヒック測定方法及びコンピュータプログラムに関する。
【背景技術】
【０００２】
一般に高速回線のトラヒックを解析する際には、回線から収集するパケットの全てを解析すると処理負荷が大きくなるため、パケットをサンプリングし、サンプリングした結果を解析することで処理量を減らして処理負荷の軽減を図っている（例えば、特許文献１、２参照）。
【特許文献１】特開２００５−５１７３６号公報
【特許文献２】特開２００１−１０３０９０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、上述した従来技術では、サンプリング自体の処理負荷が無視できないような場合には、サンプリングレートを一定に保つことが難しいという問題がある。例えば、汎用的なコンピュータを利用したトラヒック測定装置の場合、サンプリング以外の他の処理によってサンプリング処理が妨げられ、サンプリングレートが揺らぐような状況が発生しうる。一定のサンプリングレートを得ることができない場合には、トラヒックデータの取りこぼしが発生する等、トラヒック測定精度の低下を招く恐れがある。例えば、過去のサンプリングレートを把握することは困難であるので過去の測定データとの比較ができないことから、時系列的なトラヒック変化を解析するためには精度不十分となる。
【０００４】
本発明は、このような事情を考慮してなされたもので、その目的は、サンプリングレートの信頼性向上を図ることのできるトラヒック測定装置およびトラヒック測定方法を提供することにある。
【０００５】
また、本発明の他の目的は、本発明のトラヒック測定装置をコンピュータを利用して実現するためのコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上記の課題を解決するために、本発明に係るトラヒック測定装置は、通信ネットワークから取得されたパケットを受け取りサンプリングして処理するトラヒック測定装置において、前記受け取ったパケットを１次サンプリングレートでサンプリングする１次サンプリング手段と、前記１次サンプリングされたパケットを格納するバッファ手段と、前記バッファ手段に格納されているパケットを２次サンプリングレートでサンプリングする２次サンプリング手段と、前記通信ネットワークから取得されたパケットのカウント値を受け取り、単位時間当たりのパケット数を算出する統計処理手段と、を備え、前記２次サンプリング手段は、前記単位時間当たりのパケット数と前記バッファ手段に格納中のパケットの個数とに基づいて、目標サンプリングレートを保つように、前記２次サンプリングレートを更新する、ことを特徴とする。
【０００７】
本発明に係るトラヒック測定装置においては、前記２次サンプリングレートは、前記目標サンプリングレートと前記バッファ手段に格納中のパケットの個数との積を前記単位時間当たりのパケット数で除する演算式に基づいて算出される、ことを特徴とする。
【０００８】
本発明に係るトラヒック測定方法は、通信ネットワークから取得されたパケットを受け取りサンプリングして処理するトラヒック測定方法であって、前記受け取ったパケットを１次サンプリングレートでサンプリングする過程と、前記１次サンプリングされたパケットをバッファ手段に格納する過程と、前記バッファ手段に格納されているパケットを２次サンプリングレートでサンプリングする過程と、前記通信ネットワークから取得されたパケットのカウント値を受け取り、単位時間当たりのパケット数を算出する過程と、前記単位時間当たりのパケット数と前記バッファ手段に格納中のパケットの個数とに基づいて、目標サンプリングレートを保つように、前記２次サンプリングレートを更新する過程と、を含むことを特徴とする。
【０００９】
本発明に係るコンピュータプログラムは、通信ネットワークから取得されたパケットを受け取りサンプリングして処理するためのコンピュータプログラムであって、前記受け取ったパケットを１次サンプリングレートでサンプリングする機能と、前記１次サンプリングされたパケットをバッファ手段に格納する機能と、前記バッファ手段に格納されているパケットを２次サンプリングレートでサンプリングする機能と、前記通信ネットワークから取得されたパケットのカウント値を受け取り、単位時間当たりのパケット数を算出する機能と、前記単位時間当たりのパケット数と前記バッファ手段に格納中のパケットの個数とに基づいて、目標サンプリングレートを保つように、前記２次サンプリングレートを更新する機能と、をコンピュータに実現させることを特徴とする。
これにより、前述のトラヒック測定装置がコンピュータを利用して実現できるようになる。
【発明の効果】
【００１０】
本発明によれば、処理装置の負荷等に起因した１次サンプリングの誤差を２次サンプリングで適宜補償することができる。これにより、目標サンプリングレートを維持することができ、トラヒック測定におけるサンプリングレートの信頼性向上を図ることが可能となる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照し、本発明の一実施形態について説明する。
図１は、本発明の一実施形態に係るトラヒック測定装置１のハードウェア構成を示すブロック図である。本実施形態では、汎用的なパーソナルコンピュータ（ＰＣ）を利用してトラヒック測定装置１を実現している。
【００１２】
図１に示すトラヒック測定装置１は、一般的なＰＣのハードウェア構成であり、ＣＰＵ（中央演算処理装置）１１、ＲＯＭ（リードオンリメモリ）やＲＡＭ（ランダムアクセスメモリ）等から成るメモリ部１２、ＨＤＤ（ハードディスク装置）１３、キーボードやマウス等から成る操作部１４、表示部１５及びＮＩＣ（ネットワークインタフェース装置）１６を有する。それら各部１１〜１６はバス１７で接続されている。
【００１３】
ＮＩＣ１６は、トラヒック測定対象の通信回線２０に接続される。ＮＩＣ１６は、通信回線２０を流れるパケットをコピーして取り込む。ＮＩＣ１６は、通信回線２０から取り込んだパケットの個数をカウントするパケット数カウンタを有する。パケット数カウンタは、ハードウェアで構成されるので、高速動作が可能であり、パケット数の正確なカウントを行う。
【００１４】
図２は、図１に示すトラヒック測定装置１のソフトウェア構成を示すブロック図である。図２に示されるように本実施形態に係るソフトウェア構成は、汎用的なオペレーティングシステム（ＯＳ）１０１と、ＯＳ１０１上で動作するトラヒック測定プログラム１１０とから成る。ＯＳ１０１及びトラヒック測定プログラム１１０が図１に示すＰＣ（ＣＰＵ１１）で実行されることによって、本実施形態に係るトラヒック測定装置１の機能が実現される。
【００１５】
ＯＳ１０１は、ＮＩＣドライバ１０２を有する。ＮＩＣドライバ１０２は、図１のＮＩＣ１６を制御する制御プログラムである。ＮＩＣドライバ１０２は、ＮＩＣ１６のパケット数カウンタのカウンタ値を読み取る。この読み取ったカウンタ値は、トラヒック測定プログラム１１０から読み取ることができる。
【００１６】
図３は、本実施形態に係るトラヒック測定装置１の機能構成を示すブロック図である。
図３において、トラヒック測定装置１は、パケット取得部３１、パケット取得通知部３２、パケット数カウンタ３３、１次サンプリング部４１、バッファ４２、２次サンプリング部４３、トラヒック測定処理部４４及び統計処理部４５を有する。
【００１７】
パケット取得部３１は、ＮＩＣ１６により実現される機能であって、通信回線２０からコピーしてパケットを取り込む。
【００１８】
パケット取得通知部３２は、ＮＩＣ１６によるパケット取り込みの通知を行う。パケット取得通知部３２は、ＮＩＣドライバ１０２を含むＯＳ１０１によるソフトウェア処理によって実現される。具体的には、ＮＩＣドライバ１０２がＮＩＣ１６によるパケット取り込みを検出してＯＳ１０１に通知する。そして、ＯＳ１０１がそのパケットの取り込みをトラヒック測定プログラム１１０に通知する。すなわち、通信回線２０からのパケット取り込みの通知は、ＮＩＣドライバ１０２からＯＳ１０１経由でトラヒック測定プログラム１１０に通知される。従って、ＯＳ１０１の処理負荷が大きいときには、パケット取り込み通知が間に合わず、パケット取り込み通知の欠落する事象が生じる場合がある。
【００１９】
パケット数カウンタ３３は、ＮＩＣ１６により実現される機能であって、通信回線２０から取り込まれたパケットの個数をカウントする。このカウント値は、ＮＩＣドライバ１０２によって読み取られて出力される。トラヒック測定プログラム１１０は、そのパケット数カウンタ３３のカウント値をＮＩＣドライバ１０２経由で受信する。
【００２０】
１次サンプリング部４１、２次サンプリング部４３、トラヒック測定処理部４４及び統計処理部４５は、トラヒック測定プログラム１１０によるソフトウェア処理によって実現される。バッファ４２は、メモリ部１２又はＨＤＤ１３の記憶エリア内に設けられる。
【００２１】
１次サンプリング部４１は、パケット取得通知部３２からのパケット取り込み通知があると、通信回線２０から取り込まれたパケットを１次サンプリングレート（固定値）でサンプリングし、サンプルとなったパケットをバッファ４２に格納する。そのサンプリング方法は、ランダムな周期で１次サンプリングレートとなるようにサンプリングしてもよく、或いは、一様な周期で１次サンプリングレートとなるようにサンプリングしてもよい。
なお、バッファ４２には、パケットの全情報を格納してもよく、或いは所定の部分を抽出した情報（例えばヘッダ情報）のみを格納してもよい。
【００２２】
また、１次サンプリング部４１は、一定周期でトリガ信号を出力する。１次サンプリング部４１は、通信回線２０から取り込まれたパケットのヘッダ内の時刻情報に基づいて、トリガ信号の出力タイミングを判定する。或いは、タイマーを設けてトリガ信号の出力タイミングを判定してもよい。
【００２３】
バッファ４２は、先入れ先出し（ＦＩＦＯ；First In, First Out）方式のバッファメモリである。バッファ４２には、１次サンプリング部４１から書き込みが行われ、２次サンプリング部４２から読み出しが行われる。また、バッファ４２は、自バッファ内に格納中のパケットの個数を出力する。
【００２４】
２次サンプリング部４３は、バッファ４２内のパケットを２次サンプリングレートでサンプリングする。サンプルとなったパケットはトラヒック測定処理部４４に出力し、サンプル以外の他のパケットは読み捨てる。そのサンプリング方法は、ランダムな周期で２次サンプリングレートとなるようにサンプリングしてもよく、或いは、一様な周期で２次サンプリングレートとなるようにサンプリングしてもよい。
また、２次サンプリング部４３は、２次サンプリングレートの更新を行う。
【００２５】
トラヒック測定処理部４４は、２次サンプリングレートでサンプリングされた結果のパケットを使用してトラヒック測定処理を行う。従って、トラヒック測定処理部４４は、パケット取得通知部３２によってパケット取り込み通知されたパケットが１次サンプリングレートで１次サンプリングされ、さらに２次サンプリングレートで２次サンプリングされた結果のパケットを使用して、トラヒック測定処理を行うことになる。
【００２６】
統計処理部４５は、パケット数カウンタ３３のカウント値を基にして単位時間当たりのパケット数を計算する。その単位時間は、１次サンプリング部４１からのトリガ信号を基にして判定する。統計処理部４５によって算出される単位時間当たりのパケット数は、ＮＩＣ１６によって通信回線２０から取り込まれたパケットの単位時間当たりの個数を正確に表している。
【００２７】
２次サンプリング部４３は、統計処理部４５によって算出された単位時間当たりのパケット数とバッファ４２内に格納中のパケットの個数とに基づいて、トラヒック測定用の所定のサンプリングレート（目標サンプリングレート）を保つように、２次サンプリングレートを更新する。
以下に、２次サンプリングレートの計算方法を示す。
【００２８】
目標サンプリングレートｎ、１次サンプリングレートｍ、２次サンプリングレートｐ、統計処理部４５によって算出された単位時間当たりのパケット数ｘ、１次サンプリング部４１へ入力するパケットの単位時間当たりの個数ｙ、バッファ４２内に格納中のパケットの個数ｂとする。
【００２９】
ここで、「ｘ≧ｙ」の関係となる。この理由は、１次サンプリング部４１へ入力するパケットは、ＯＳ１０１経由のパケット取り込み通知されたものであり、ＯＳ１０１の処理が輻輳した場合等には欠落することがあるためである。一方、単位時間当たりのパケット数ｘは、パケット数カウンタ３３のカウント値を基にしているために、欠落は生じない。
【００３０】
２次サンプリングレートｐは、１次サンプリング及び２次サンプリングした結果「（ｙ／ｍ）／ｐ」が、目標サンプリングレートｎによるサンプリング結果「ｘ／ｎ」に等しくなるように、求める。つまり、
（ｙ／ｍ）／ｐ＝ｘ／ｎ  ・・・（１）
の関係式が成り立つｐを求めればよい。（１）式を変形すると、（２）式が得られる。
ｐ＝（ｙ／ｍ）×（ｎ／ｘ）  ・・・（２）
ここで、バッファ４２内に格納中のパケットの個数ｂは、１次サンプリング部４１へ入力するパケットの単位時間当たりの個数ｙの一次サンプリング結果「ｙ／ｍ」であるので、「ｂ＝ｙ／ｍ」である。これを（２）式に代入すると、（３）式が得られる。
ｐ＝ｂ×（ｎ／ｘ）＝（ｂ×ｎ）／ｘ  ・・・（３）
この（３）式を用いて、２次サンプリングレートｐを計算する。
【００３１】
２次サンプリング部４３は、単位時間当たりのパケット数ｘが更新される度に、現在のバッファ４２内に格納中のパケットの個数ｂを使用して（３）式の演算を行い、２次サンプリングレートｐを算出する。この２次サンプリングレートｐを用いた２次サンプリングは、ＯＳ１０１の処理の混雑に伴うパケット取り込み通知の欠落による１次サンプリング部４１へ入力するパケットの欠落を補うものとなる。これにより、ＯＳ１０１の処理負荷等に起因した１次サンプリングの誤差を２次サンプリングで適宜補償することができるので、目標サンプリングレートを維持することができ、トラヒック測定におけるサンプリングレートの信頼性向上を図ることが可能となる。
【００３２】
次に、図４を参照して、本実施形態に係るサンプリング手順を説明する。
図４において、まず、１次サンプリング部４１は、１次サンプリングレートで入力パケットをサンプリングしてバッファ４２に格納する（ステップＳ１）。次いで、１次サンプリング部４１は、一定周期か判断する（ステップＳ２）。この判断の結果、一定周期ならば１次サンプリング部４１はトリガ信号を出力し、これにより、統計処理部４５は単位時間当たりのパケット数を更新して出力する（ステップＳ３）。一方、一定周期でなければステップＳ１に戻る。
【００３３】
次いで、２次サンプリング部４３は、更新された単位時間当たりのパケット数を使用して、上記（３）式により２次サンプリングレートを計算する（ステップＳ４）。次いで、２次サンプリング部４３は、その計算結果の２次サンプリングレートでバッファ４２内のパケットのサンプリングを行う（ステップＳ５）。次いで、処理終了ならば終了し、処理継続ならばステップＳ１に戻る。
【００３４】
上述した実施形態によれば、ＯＳ１０１の処理負荷等に起因した１次サンプリングの誤差を２次サンプリングで適宜補償することができるので、目標サンプリングレートを維持することができ、トラヒック測定におけるサンプリングレートの信頼性向上を図ることが可能となる。これにより、廉価なＰＣ等の汎用的な低性能の処理装置を用いたとしても正確なサンプリングレートを維持し、トラヒック測定の性能向上を図ることができる。
【００３５】
なお、図４に示す各ステップを実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりトラヒック測定処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【００３６】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Dynamic Random Access Memory））のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００３７】
以上、本発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
例えば、本発明は、ルータのパケット処理部等、各種の通信装置のサンプリング処理部に適用することができる。
【図面の簡単な説明】
【００３８】
【図１】本発明の一実施形態に係るトラヒック測定装置１のハードウェア構成を示すブロック図である。
【図２】同実施形態に係るトラヒック測定装置１のソフトウェア構成を示すブロック図である。
【図３】同実施形態に係るトラヒック測定装置１の機能構成を示すブロック図である。
【図４】同実施形態に係るトラヒック測定装置１のサンプリング処理手順を示すフローチャートである。
【符号の説明】
【００３９】
１…トラヒック測定装置、１１…ＣＰＵ、１２…メモリ部、１３…ＨＤＤ、１４…操作部、１５…表示部、１６…ＮＩＣ、３１…パケット取得部、３２…パケット取得通知部、３３…パケット数カウンタ、４１…１次サンプリング部、４２…バッファ、４３…２次サンプリング部、４４…トラヒック測定処理部、４５…統計処理部、１０１…ＯＳ、１１０…トラヒック測定プログラム
【図１】
2006345345.tif 000003
【図２】
2006345345.tif 000004
【図３】
2006345345.tif 000005
【図４】
2006345345.tif 000006