(57)【要約】【課題】適用領域を限定せず、従来と比較してトラフィック行列生成の際の計算量を削減しつつトラフィック行列を生成できるトラフィック行列生成装置を提供する。【解決手段】トラフィック行列生成装置１０は、インタフェースを介して送受信したパケットの転送バイト数を記録する転送バイトカウンタを備えた測定対象通信装置２０と接続している。転送バイトカウンタ読出・集計部１１は、転送バイト数を所定の読み出し時間の間隔で転送バイトカウンタから読み出す。トラフィック行列生成部１４は、読み出された転送バイト数に基づいて、受信側インタフェースと送信側インタフェースの組ごとにトラフィック値を算出する。そして、インタフェースに予め付与されたインタフェース番号に従って受信側のインタフェース番号と送信側のインタフェース番号から構成され、算出したトラフィック値を要素とするトラフィック行列を生成する。【選択図】    図１
2006013876.tif 000002
【特許請求の範囲】
【請求項１】
インタフェースを介して送受信したパケットの転送バイト数を記録する転送バイトカウンタを備えた通信装置と接続するトラフィック行列生成装置において、
前記転送バイトカウンタから所定の読み出し時間の間隔で前記転送バイト数を読み出す転送バイト数読出手段と、
転送バイト数読出手段によって読み出された前記転送バイト数に基づいて、受信側の前記インタフェースと送信側の前記インタフェースの組ごとにトラフィック値を算出し、算出した前記トラフィック値を要素とするトラフィック行列であって、前記インタフェースに予め付与されたインタフェース番号に従って受信側の前記インタフェース番号と送信側の前記インタフェース番号から構成される前記トラフィック行列を生成するトラフィック行列生成手段と、
を備えたことを特徴とするトラフィック行列生成装置。
【請求項２】
前記転送バイト数読出手段から前記転送バイト数を受信し、前記転送バイト数からトラフィック大量発生時に該当する大量発生時トラフィック値を所定の閾値に基づいて抽出するフィルタリング手段と、
抽出した前記大量発生時トラフィック値を所定の規則に従って受信側の前記インタフェースと送信側の前記インタフェースの組に対応付けるトラフィック対応付手段と、を備え、
前記トラフィック行列生成手段は、
前記転送バイト読出手段によって読み出された前記転送バイト数と前記大量発生時トラフィック値とに基づいて所定の演算を行い受信側の前記インタフェース番号と送信側の前記インタフェース番号の組ごとに前記トラフィック値を算出することを特徴とする請求項１に記載のトラフィック行列生成装置。
【請求項３】
前記転送バイト数から前記インタフェースの所定の時間の平均使用率を算出し、前記平均利用率に従って、前記所定の読み出し時間と前記所定の閾値を変更する測定条件変更手段を備えたことを特徴とする請求項２に記載のトラフィック行列生成装置。
【請求項４】
インタフェースを介して送受信したパケットの転送バイト数を記録する転送バイトカウンタを備えた通信装置において、
前記転送バイト数の最大値を記憶する最大値記憶部と、
前記転送バイトカウンタから前記転送バイト数を所定の第１の時間間隔で読み出し、読み出した前記転送バイト数と前記最大値記憶部が記憶している転送バイト数を比較し、大きい値の方を前記最大値記憶部へ記録する最大値転送バイト数記録手段と、
所定の第２の時間間隔で前記最大値記憶部から前記転送バイト数を読み出し、前記最大値記憶部に０を設定する転送バイト数読出手段と、
前記転送バイト数読出手段によって読み出された前記転送バイト数を受信し、前記転送バイト数に基づいてトラフィック値を算出し、算出した前記トラフィック値からトラフィック大量発生時に該当する大量発生時トラフィック値を所定の閾値に基づいて抽出するフィルタリング手段と、
抽出した前記大量発生時トラフィック値を所定の規則に従って受信側の前記インタフェースと送信側の前記インタフェースの組に対応付けるトラフィック対応付手段と、
前記転送バイト読出手段によって読み出された前記転送バイト数と前記大量発生時トラフィック値とに基づいて所定の演算を行い受信側の前記インタフェースと送信側の前記インタフェースの組ごとに前記トラフィック値を算出し、算出した前記トラフィック値を要素とするトラフィック行列であって、前記インタフェースに予め付与されたインタフェース番号に従って受信側の前記インタフェース番号と送信側の前記インタフェース番号から構成される前記トラフィック行列を生成するトラフィック行列生成手段と、
を備えたことを特徴とする通信装置。
【請求項５】
インタフェースを介して送受信したパケットの転送バイト数を記録する転送バイトカウンタを備えた通信装置と接続するトラフィック行列生成装置のコンピュータを、
前記転送バイトカウンタから所定の読み出し時間の間隔で前記転送バイト数を読み出す転送バイト数読出手段、
転送バイト数読出手段によって読み出された前記転送バイト数に基づいて、受信側の前記インタフェースと送信側の前記インタフェースの組ごとにトラフィック値を算出し、算出した前記トラフィック値を要素とするトラフィック行列であって、前記インタフェースに予め付与されたインタフェース番号に従って受信側の前記インタフェース番号と送信側の前記インタフェース番号から構成される前記トラフィック行列を生成するトラフィック行列生成手段、
として機能させるためのコンピュータプログラム。
【請求項６】
前記トラフィック行列生成装置のコンピュータを、
前記転送バイト数読出手段から前記転送バイト数を受信し、前記転送バイト数からトラフィック大量発生時に該当する大量発生時トラフィック値を所定の閾値に基づいて抽出するフィルタリング手段、
抽出した前記大量発生時トラフィック値を所定の規則に従って受信側の前記インタフェースと送信側の前記インタフェースの組に対応付けるトラフィック対応付手段、として機能させ、
前記トラフィック行列生成手段に、
前記転送バイト読出手段によって読み出された前記転送バイト数と前記大量発生時トラフィック値とに基づいて所定の演算を行い受信側の前記インタフェース番号と送信側の前記インタフェース番号の組ごとに前記トラフィック値を算出させる請求項５に記載のコンピュータプログラム。
【請求項７】
前記トラフィック行列生成装置のコンピュータを、
前記転送バイト数から前記インタフェースの所定の時間の平均使用率を算出し、前記平均利用率に従って、前記所定の読み出し時間と前記所定の閾値を変更する測定条件変更手段として機能させるための請求項６に記載のコンピュータプログラム。
【請求項８】
インタフェースを介して送受信したパケットの転送バイト数を記録する転送バイトカウンタを備えた通信装置のコンピュータを、
前記転送バイトカウンタから前記転送バイト数を所定の第１の時間間隔で読み出し、読み出した前記転送バイト数と前記最大値記憶部が記憶している転送バイト数を比較し、大きい値の方を前記最大値記憶部へ記録する最大値転送バイト数記録手段、
所定の第２の時間間隔で前記最大値記憶部から前記転送バイト数を読み出し、前記最大値記憶部に０を設定する転送バイト数読出手段、
前記転送バイト数読出手段によって読み出された前記転送バイト数を受信し、前記転送バイト数に基づいてトラフィック値を算出し、算出した前記トラフィック値からトラフィック大量発生時に該当する大量発生時トラフィック値を所定の閾値に基づいて抽出するフィルタリング手段、
抽出した前記大量発生時トラフィック値を所定の規則に従って受信側の前記インタフェースと送信側の前記インタフェースの組に対応付けるトラフィック対応付手段と、
前記転送バイト読出手段によって読み出された前記転送バイト数と前記大量発生時トラフィック値とに基づいて所定の演算を行い受信側の前記インタフェースと送信側の前記インタフェースの組ごとに前記トラフィック値を算出し、算出した前記トラフィック値を要素とするトラフィック行列であって、前記インタフェースに予め付与されたインタフェース番号に従って受信側の前記インタフェース番号と送信側の前記インタフェース番号から構成される前記トラフィック行列を生成するトラフィック行列生成手段、
として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、主にインターネットに代表されるパケットネットワークを構成する通信装置が送受信するトラフィックを測定し、通信装置のインタフェースごとにトラフィックを集計するトラフィック行列生成装置と通信装置に関する。
【背景技術】
【０００２】
ネットワークトラフィックの需要を正確に把握しようとする試みは従来からなされており、特に電話網においてはトラフィック理論に基づく効率的な網設計が行われてきた。
しかし、インターネットに代表されるベストエフォート方式のパケットネットワークは、トラフィックの特性は自己相似性を帯び、バースト持続時間はべき分布になるなど、従来のトラフィック理論が適用できない。そのため、モデル化や予測は極めて難しく、トラフィックの需要の把握は困難である。
一方、パケット転送ノードやルーティングプロトコルの改良により、ネットワークのオペレータがネットワークの転送パスを比較的自由に操作できるようになってきており、転送パスの操作によってトラフィックの流れを制御することは総称してトラフィックエンジニアリングと呼ばれている。しかしながら、ネットワークに属する装置間で発生するトラフィックの需要を把握せずにトラフィックエンジニアリングによって転送パスを操作すると、却って輻輳を招きかねないため、トラフィックの需要を把握することは重要である。
インターネットにおけるトラフィック需要把握の問題に対して、これまで様々な研究が行われており、トラフィックの需要をインタフェースの入力側と出力側の組を要素とするトラフィック行列として表し、この行列をなるべく正確なもとにするべく、様々な推定法が開発されている。（例えば、非特許文献１参照）。
【非特許文献１】A.Medina, N.Taft, K.Salamatian, S.Bhattachryya and C.Diot. “Traffic Matrix Estimation: Existing Techniques and New Directions”, in Proc. of ACM SIGCOMM, pp161-174, August, 2002
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来の技術では統計モデルを用いてトラフィックの推定を行うため、計算量が多くなるという問題がある。また、多くなる計算量の削減のためルーティング情報やＩＰアドレス空間の構造を利用した制限を加えるため、適用領域が限定されてしまうという問題がある。
【０００４】
本発明は、上記問題を解決すべくなされたもので、その目的は、適用領域を限定せず、従来と比較してトラフィック行列生成の際の計算量を削減しつつトラフィック行列を生成できるトラフィック行列生成装置及びそれを組み込んだ通信装置を提供することにある。
【課題を解決するための手段】
【０００５】
上述した課題を解決するために、本発明は、インタフェースを介して送受信したパケットの転送バイト数を記録する転送バイトカウンタを備えた通信装置（測定対象通信装置２０）と接続するトラフィック行列生成装置において、前記転送バイトカウンタから所定の読み出し時間の間隔で前記転送バイト数を読み出す転送バイト数読出手段（転送バイトカウンタ読出・集計部１１）と、転送バイト数読出手段によって読み出された前記転送バイト数に基づいて、受信側の前記インタフェース（入力側インタフェース）と送信側の前記インタフェース（出力側インタフェース）の組ごとにトラフィック値を算出し、算出した前記トラフィック値を要素とするトラフィック行列であって、前記インタフェースに予め付与されたインタフェース番号に従って受信側の前記インタフェース番号（入力側インタフェース番号）と送信側の前記インタフェース番号（出力側インタフェース番号）から構成される前記トラフィック行列を生成するトラフィック行列生成手段（トラフィック行列生成部１４）と、を備えたことを特徴とするトラフィック行列生成装置である。
【０００６】
本発明は、上記の発明において、前記転送バイト数読出手段から前記転送バイト数を受信し、前記転送バイト数からトラフィック大量発生時に該当する大量発生時トラフィック値を所定の閾値に基づいて抽出するフィルタリング手段（スパイクフィルタ部１２）と、抽出した前記大量発生時トラフィック値を所定の規則に従って受信側の前記インタフェースと送信側の前記インタフェースの組に対応付けるトラフィック対応付手段（スパイク行列生成部１３）と、を備え、前記トラフィック行列生成手段は、前記転送バイト読出手段によって読み出された前記転送バイト数と前記大量発生時トラフィック値とに基づいて所定の演算を行い受信側の前記インタフェース番号と送信側の前記インタフェース番号の組ごとに前記トラフィック値を算出することを特徴とする。
【０００７】
本発明は、上記の発明において、前記転送バイト数から前記インタフェースの所定の時間の平均使用率を算出し、前記平均利用率に従って、前記所定の読み出し時間と前記所定の閾値を変更する測定条件変更手段（測定条件設定部１５）を備えたことを特徴とする。
【０００８】
本発明は、インタフェース（インタフェース４１ａ〜ｌ）を介して送受信したパケットの転送バイト数を記録する転送バイトカウンタ（転送バイトカウンタ４０ａ〜ｌ）を備えた通信装置（通信装置５０）において、前記転送バイト数の最大値を記憶する最大値記憶部（転送バイトカウンタ４０ａ〜ｌ）と、前記転送バイトカウンタから前記転送バイト数を所定の第１の時間間隔で読み出し、読み出した前記転送バイト数と前記最大値記憶部が記憶している転送バイト数を比較し、大きい値の方を前記最大値記憶部へ記録する最大値転送バイト数記録手段（転送バイトカウンタ４０ａ〜ｌ）と、所定の第２の時間間隔で前記最大値記憶部から前記転送バイト数を読み出し、前記最大値記憶部に０を設定する転送バイト数読出手段（転送バイトカウンタ４０ａ〜ｌ）と、前記転送バイト数読出手段によって読み出された前記転送バイト数を受信し、前記転送バイト数に基づいてトラフィック値を算出し、算出した前記トラフィック値からトラフィック大量発生時に該当する大量発生時トラフィック値を所定の閾値に基づいて抽出するフィルタリング手段（スパイクフィルタ部１２−１、１２−２）と、抽出した前記大量発生時トラフィック値を所定の規則に従って受信側の前記インタフェース（入力側インタフェース）と送信側の前記インタフェース（出力側インタフェース）の組に対応付けるトラフィック対応付手段（ペアマッチング部３４）と、前記転送バイト読出手段によって読み出された前記転送バイト数と前記大量発生時トラフィック値とに基づいて所定の演算を行い受信側の前記インタフェースと送信側の前記インタフェースの組ごとに前記トラフィック値を算出し、算出した前記トラフィック値を要素とするトラフィック行列であって、前記インタフェースに予め付与されたインタフェース番号に従って受信側の前記インタフェース番号（入力側インタフェース番号）と送信側の前記インタフェース番号（出力側インタフェース番号）から構成される前記トラフィック行列を生成するトラフィック行列生成手段（トラフィック行列生成部１４）と、を備えたことを特徴とする通信装置である。
【０００９】
本発明は、インタフェースを介して送受信したパケットの転送バイト数を記録する転送バイトカウンタを備えた通信装置と接続するトラフィック行列生成装置のコンピュータを、前記転送バイトカウンタから所定の読み出し時間の間隔で前記転送バイト数を読み出す転送バイト数読出手段、転送バイト数読出手段によって読み出された前記転送バイト数に基づいて、受信側の前記インタフェースと送信側の前記インタフェースの組ごとにトラフィック値を算出し、算出した前記トラフィック値を要素とするトラフィック行列であって、前記インタフェースに予め付与されたインタフェース番号に従って受信側の前記インタフェース番号と送信側の前記インタフェース番号から構成される前記トラフィック行列を生成するトラフィック行列生成手段、として機能させるためのコンピュータプログラムである。
【００１０】
本発明は、上記の発明において、前記トラフィック行列生成装置のコンピュータを、前記転送バイト数読出手段から前記転送バイト数を受信し、前記転送バイト数からトラフィック大量発生時に該当する大量発生時トラフィック値を所定の閾値に基づいて抽出するフィルタリング手段、抽出した前記大量発生時トラフィック値を所定の規則に従って受信側の前記インタフェースと送信側の前記インタフェースの組に対応付けるトラフィック対応付手段、として機能させ、前記トラフィック行列生成手段に、前記転送バイト読出手段によって読み出された前記転送バイト数と前記大量発生時トラフィック値とに基づいて所定の演算を行い受信側の前記インタフェース番号と送信側の前記インタフェース番号の組ごとに前記トラフィック値を算出させるためのコンピュータプログラムである。
【００１１】
本発明は、上記の発明において、前記トラフィック行列生成装置のコンピュータを、前記転送バイト数から前記インタフェースの所定の時間の平均使用率を算出し、前記平均利用率に従って、前記所定の読み出し時間と前記所定の閾値を変更する測定条件変更手段として機能させるためのコンピュータプログラムである。
【００１２】
本発明は、インタフェースを介して送受信したパケットの転送バイト数を記録する転送バイトカウンタを備えた通信装置のコンピュータを、前記転送バイトカウンタから前記転送バイト数を所定の第１の時間間隔で読み出し、読み出した前記転送バイト数と前記最大値記憶部が記憶している転送バイト数を比較し、大きい値の方を前記最大値記憶部へ記録する最大値転送バイト数記録手段、所定の第２の時間間隔で前記最大値記憶部から前記転送バイト数を読み出し、前記最大値記憶部に０を設定する転送バイト数読出手段、前記転送バイト数読出手段によって読み出された前記転送バイト数を受信し、前記転送バイト数に基づいてトラフィック値を算出し、算出した前記トラフィック値からトラフィック大量発生時に該当する大量発生時トラフィック値を所定の閾値に基づいて抽出するフィルタリング手段、抽出した前記大量発生時トラフィック値を所定の規則に従って受信側の前記インタフェースと送信側の前記インタフェースの組に対応付けるトラフィック対応付手段、前記転送バイト読出手段によって読み出された前記転送バイト数と前記大量発生時トラフィック値とに基づいて所定の演算を行い受信側の前記インタフェースと送信側の前記インタフェースの組ごとに前記トラフィック値を算出し、算出した前記トラフィック値を要素とするトラフィック行列であって、前記インタフェースに予め付与されたインタフェース番号に従って受信側の前記インタフェース番号と送信側の前記インタフェース番号から構成される前記トラフィック行列を生成するトラフィック行列生成手段、として機能させるためのコンピュータプログラムである。
【発明の効果】
【００１３】
この発明によれば、トラフィック行列生成装置は、インタフェースを介して送受信したパケットの転送バイト数を記録する転送バイトカウンタを備えた通信装置と接続する。そして、転送バイト数を所定の読み出し時間の間隔で通信装置の転送バイトカウンタから読出す。読み出した転送バイト数に基づいて、受信側のインタフェースと送信側のインタフェースの組ごとにトラフィック値を算出する。インタフェースに予め付与されたインタフェース番号に従い受信側のインタフェース番号と送信側のインタフェース番号から構成され、算出したトラフィック値を要素とするトラフィック行列を生成する構成となっている。そのため、通信装置に共通して備えられている転送バイトカウンタから得られる転送バイト数に基づいてトラフィック値を算出することが可能となる。それによって、ＩＰアドレス空間やルーティングのドメイン等に制限されず、ＭＡＣアドレス層などの低レイヤの通信装置に対してもトラフィック行列を生成することができる。そして、生成したトラフィック行列からトラフィックの需要の把握ができ、トラフィックエンジニアリングに活かすことが可能となる。
【００１４】
また、本発明によれば、トラフィック行列生成装置は、読み出した転送バイト数からトラフィック大量発生時に該当する大量発生時トラフィック値を所定の閾値に基づいて抽出する。抽出した大量発生時トラフィック値を所定の規則に従って受信側のインタフェースと送信側のインタフェースの組に対応付ける。そして、読み出した転送バイト数と大量発生時トラフィック値とに基づいて所定の演算を行い受信側のインタフェース番号と送信側のインタフェース番号の組ごとにトラフィック値を算出する構成となっている。そのため、大量発生時トラフィック値、即ちスパイク状トラフィック値に計算対象を限定することが可能となり、従来と比較して計算量を抑えることが可能となる。
【００１５】
また、本発明によれば、トラフィック行列生成装置は、転送バイト数から通信装置のインタフェースの所定の時間の平均使用率を算出し、算出した平均使用率に従って、所定の読み出し時間と所定の閾値を変更する構成となっている。そのため、大量発生時トラフィック値が検出できない場合には、読み出し時間や抽出のための閾値を自動的に変更することが可能となる。それによって、測定精度を高めることが可能となる。
【００１６】
また、本発明によれば、通信装置は、転送バイト数の最大値を記憶する最大値記憶部を備えており、インタフェースを介して送受信したパケットの転送バイト数を記録する転送バイトカウンタから転送バイト数を所定の第１の時間間隔で読み出し、読み出した転送バイト数と最大値記憶部が記憶している転送バイト数を比較し、大きい値の方を最大値記憶部へ記録する。そして、所定の第２の時間間隔で最大値記憶部から転送バイト数を読み出し、最大値記憶部に０を設定する。読み出した転送バイト数に基づいてトラフィック値を算出し、算出したトラフィック値からトラフィック大量発生時に該当する大量発生時トラフィック値を所定の閾値に基づいて抽出する。抽出した大量発生時トラフィック値を所定の規則に従って受信側のインタフェースと送信側のインタフェースの組に対応付ける。読み出した転送バイト数と大量発生時トラフィック値とに基づいて所定の演算を行い受信側のインタフェースと送信側のインタフェースの組ごとにトラフィック値を算出し、インタフェースに予め付与されたインタフェース番号に従って受信側のインタフェース番号と送信側のインタフェース番号から構成され、算出したトラフィック値を要素とするトラフィック行列を生成する構成となっている。そのため、通信装置は、第２の時間間隔が比較的長い計測間隔であっても最大値記憶部に記録されている転送バイト数の第１の時間間隔の精度によって転送バイト数を取得してトラフィック値を算出することが可能となる。それによって、第１の時間間隔の精度をあげることで大量発生時トラフィックを捉えやすくなるという効果がある。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の一実施形態によるトラフィック行列生成装置及び通信装置を図面を参照して説明する。
（第１実施形態）
図１は、本実施形態によるトラフィック行列生成装置１０の内部構成及びトラフィック行列生成装置１０と測定対象通信装置２０との接続関係を示すブロック図である。
同図において、測定対象通信装置２０はスイッチ２０ａやルータ２０ｂ、２０ｃ等のネットワークを構成する通信装置であり、他の通信装置との間で送受信した転送パケット量をインタフェースごとにバイト単位で記録する転送バイトカウンタを備えている。トラフィック行列生成装置１０は、ネットワークを介して測定対象通信装置２０に接続し、ＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）によって、測定対象通信装置２０の転送バイトカウンタからバイト単位で示された転送パケット量を取得してトラフィック値を算出する。なお、上記及び下記の表記でバイト単位はオクテット単位と読み替えることができ、１バイト及び１オクテットが意味する８ビットごとに収集された転送パケット量に基づいてトラフィック値を算出することとなる。
トラフィック行列生成装置１０において、転送バイトカウンタ読出・集計部１１は、測定対象通信装置２０の全インタフェースについて受信側（以下、入力側と呼ぶ）と送信側（以下、出力側と呼ぶ）の双方向の転送バイトカウンタをＳＮＭＰにより定期的に読み出し、前回の測定値との差分を求め、所定の測定期間ごとに転送されたバイト数（以下、転送バイト数と呼ぶ）を読み出して集計する。スパイクフィルタ部１２は、トラフィックに現れるバーストトラフィック、即ち短時間に大量発生するトラフィックのうち、特に平均使用率を大きく上回る大きなバーストトラフィック（以下、このようなバーストトラフィックをスパイク状トラフィックと呼ぶ）に該当する転送バイト数を抽出する。スパイク行列生成部１３は、スパイクフィルタ部１２が抽出したスパイク状トラフィックに該当した転送バイト数のリストから入力側インタフェース番号を行に、出力側インタフェース番号を列とし、転送バイト数から求められるスパイクの大きさ（以下、スパイクサイズと呼ぶ。）を要素とする行列（以下、この行列をスパイク行列と呼ぶ）を生成する。そして、生成したスパイク行列を定期的に更新する。トラフィック行列生成部１４は、スパイク行列生成部１３が生成したスパイク行列に対して所定の補正処理を行うことにより入力側インタフェース番号を行とし、出力側インタフェース番号を列とするトラフィック行列を生成する。測定条件設定部１５は、スパイク状トラフィックが適切に抽出できなかった場合等に測定対象通信装置２０のリンク使用率などを参照して、スパイク状トラフィックを抽出するための所定の閾値等を変更する。
【００１８】
図２は、スパイクフィルタ部１２とスパイク行列生成部１３を詳細に示したブロック図である。
同図において、スパイクフィルタ部１２のカウンタ入力部３０は、転送バイトカウンタ読出・集計部１１から入力側インタフェースと出力側インタフェースの転送バイト数を受信し、過去の所定の個数のサンプルからそれぞれの移動平均値と標準偏差を算出する。スパイク検出部３１は、カウンタ入力部３０が算出した移動平均値と標準偏差から、最新の転送バイト数がスパイク状トラフィックに該当するか否かを判定する。
同図において、スパイク行列生成部１３の入力スパイクバッファ３２はスパイク検出部３１が算出した入力側インタフェースのスパイクサイズを入力側インタフェース番号に対応付けて格納する。また、出力スパイクバッファ３３はスパイク検出部３１が算出した出力側インタフェースのスパイクサイズを出力側インタフェース番号に対応付けて格納する。ペアマッチング部３４は、入力スパイクバッファ３２と出力スパイクバッファ３３から大きさが対応する組み合わせを検出する。検出できた場合は、大きさが対応する組み合わせは入出力の組み合わせに該当するという推測の下で、入力側インタフェース番号と出力側インタフェース番号の組み合わせと当該スパイクサイズをトラフィック行列生成部１４に送信する。
【００１９】
図３は、転送バイトカウンタ読出・集計部１１の内部に記憶している転送バイト数の測定データバッファのデータ構成を示した図である。
測定データバッファは、インタフェース番号に対応付けて入力側の転送バイトカウントの値と出力側の転送バイトカウントの値を格納する。
図４は、カウンタ入力部１２の内部に記憶している差分データバッファのデータ構成を示した図である。
差分データバッファは、１つのインタフェースごとに２つのエントリが割り当てられている。そして、所定の個数（図中のＮ回）の過去のデータを格納している。２つのエントリのうち１つ目のエントリにはインタフェース番号に対応付けて入力側インタフェースの転送バイト数の前回値との差分と過去に測定された所定の個数の転送バイト数から算出される標準偏差の値と移動平均の値を格納している。２つ目のエントリについてはインタフェース番号に対応付けて出力側インタフェースの転送バイト数の前回値との差分と過去に測定された所定の個数（図中のＮ回）の転送バイト数から算出される標準偏差の値と移動平均の値を格納している。
図５は、入力スパイクバッファ３２と出力スパイクバッファ３３の内部のデータ構成を示した図である。入力スパイクバッファ３２と出力スパイクバッファ３３は共にインタフェース番号に対応付けてスパイクサイズを格納している。
【００２０】
図６（ａ）と（ｂ）は、それぞれスパイク行列とトラフィック行列のデータ構成を示した図である。両図は、入力側インタフェース番号を行とし、出力側インタフェース番号を列として構成されており、同図（ａ）に示すスパイク行列の要素はスパイクサイズＳｉｊとなり、同図（ｂ）に示すトラフィック行列の要素はトラフィック値Ｘｉｊとなる。
【００２１】
図７は、トラフィック行列生成装置１０におけるトラフィック行列生成の処理の流れを示したフローチャートである。
最初に、転送バイトカウンタ読出・集計部１１に備えられたＳＮＭＰマネージャの機能により、測定対象通信装置２０のＳＮＭＰエージェントと通信を行い、測定対象通信装置２０の転送バイトカウンタから転送バイト数を受信する。読み出す間隔（同図のポーリング間隔）を５秒に設定して読み出しを行う（ステップＳ７−１）。次に、スパイクフィルタ部１２は、転送バイトカウンタ読出・集計部１１が読み出した転送バイト数がスパイク状トラフィックに該当するか否かを式（１）に示す閾値に基づいて判定する。
【００２２】
【数１】
2006013876.tif 000003
【００２３】
ここで、式（１）のＥ（Ｘｉ）は５秒ごとに読み出された転送バイト数を５分間蓄積することで得られた過去６０個のデータから算出される移動平均値であり、σＸｉは同様に過去に測定された６０個のデータから算出された標準偏差値である。αは１から２の間で設定されるスレッショルド係数であり、αの初期値としては２を設定して判定を行う。判定によって転送バイト数がスパイク状トラフィックにあたる場合には、式（２）で表されるスパイクサイズを算出する（ステップＳ７−２）。
【００２４】
【数２】
2006013876.tif 000004
【００２５】
次に、スパイク行列生成部１３は、算出されたスパイクサイズをスパイクフィルタ部１２から受信し、入力側インタフェースと出力側インタフェースのスパイクサイズを許容誤差５０％で比較し、それぞれのスパイクサイズについて入力側インタフェースと出力側インタフェースの対応付けを行い、スパイク行列を生成する。生成されたスパイク行列はトラフィック行列生成部１４に送信される。スパイク行列は所定の時間繰り返しステップＳ７−１からＳ７−３の処理を繰り返し行って更新され、トラフィック行列生成部１４に蓄積される（ステップＳ７−３）。
フローチャートには示していないが、このとき測定条件設定部１５は、スパイク行列生成部１３で生成されたスパイク行列においてスパイク状トラフィックが検出されていないと判断する場合には、転送バイトカウンタ読出・集計部１１の読み出し間隔を短くするなどの制御を行ってスパイク状トラフィックの抽出を試みる。読み出し間隔とスパイク状トラフィックの検出感度には相関があり、読み出し間隔を短くすればするほど急峻なスパイク状トラフィックを検出することができ精度が向上する。しかしながら、読み出し間隔を短くするとＳＮＭＰによって消費されるネットワーク帯域が増大するため、測定対象通信装置２０によって、このＳＮＭＰによるネットワーク帯域のオーバヘッドが無視できない値となる。そのため式（３）に示すような規則に基づいて読み出し間隔の変更を行う。
【００２６】
【数３】
2006013876.tif 000005
【００２７】
式（３）において、ｐは読み出し間隔であり、ｍａｘ（ｌｉ）は測定対象通信装置２０のインタフェースに接続するリンクｉの５分平均使用率ｌｉ最大値である。つまり、リンクの平均使用率が低い間は、短い間隔で読み出しを行い、平均使用率が高くなると読み出し間隔を長くすることによって制御を行う。また、スパイク状トラフィックかどうかを判定する式（１）の標準偏差値の係数αもリンクの平均使用率に従って変化させる。具体的には、ｍａｘ（ｌｉ）＜５％の時は式（４）に示すようにαに２を設定する。
【００２８】
【数４】
2006013876.tif 000006
【００２９】
５％≦ｍａｘ（ｌｉ）＜５０％の時は式（５）に示すようにαに（２−（ｍａｘ（ｌｉ）−０．０５／０．４５）を設定する。
【００３０】
【数５】
2006013876.tif 000007
【００３１】
５０％≦ｍａｘ（ｌｉ）の時は式（６）に示すようにαに１を設定する。
【００３２】
【数６】
2006013876.tif 000008
【００３３】
また、読み出し間隔を変更することで、過去５分間に測定された値から求める移動平均値と標準偏差値とを求めるための過去のサンプル値の個数も合わせて変更する。
最終的に、トラフィック行列生成部１４がトラフィック行列を求める場合には、式（７）に示す補正を行う。
【００３４】
【数７】
2006013876.tif 000009
【００３５】
トラフィック行列においてスパイク状トラフィックが検出できなかった要素についてトラフィック値を求めるために、各インタフェースにおける入力転送バイト数を各インタフェースの出力転送バイト数に基づいて比例配分し、トラフィック行列の該当する要素に加算する補正を行う。また、スパイクサイズが求められた要素についても、転送バイト数によって得られるトラフィック値とスパイクサイズの差について比例配分してスパイクサイズに加算する補正を行う。また、あるインタフェースから入力されたトラフィックが同じインタフェースから出力されることは無いと仮定し、ｉ＝ｊの要素は０を設定する補正を行う。
【００３６】
なお、スパイクが抽出されているか否かの判断は、上記ではスパイク行列生成時としているが、トラフィック行列が生成された後に測定条件設定部１５が判断するようにしてもよい。また、補正の方法としては、単純な累積の他、過去の値に指数値的重み付けを行う方法や、インタフェースの統計モデルを作成して利用する方法を利用するようにしてもよい。
【００３７】
図８は、スパイク行列生成部１３がスパイクサイズの入力側インタフェース番号と出力側インタフェース番号を特定するためのスパイクペア抽出の処理をさらに詳細に示したフローチャートである。
最初に、スパイクフィルタ部１２によって検出されたスパイクのうち入力スパイクバッファ３２から最初のエントリのスパイクサイズを読み出す（ステップＳ８−１）。そして、入力スパイクバッファ３２から読み出した入力側のスパイクサイズが１０Ｋバイトを超えるか否かを判定する（ステップＳ８−２）。１０Ｋバイトを超えない場合は、出力側のスパイクサイズとペアの判定をせずステップＳ８−８の処理に進む。入力側のスパイクサイズが１０Ｋバイトを超える場合は、出力スパイクバッファ３３から最初のエントリのスパイクサイズを読み出す（ステップＳ８−３）。出力スパイクバッファ３３から読み出した出力側のスパイクサイズを、入力側のスパイクサイズと比較し、差が５０％未満か否かを判定する（ステップＳ８−４）。差が５０％未満の場合にはスパイクペアの候補として保存する（ステップＳ８−６）。ペア候補が複数存在する場合にはさらに、差が最小のペアを選択する（ステップＳ８−７）。スパイクサイズの差が５０％以上の場合には、出力スパイクバッファ３３のエントリの末尾まで読み出したか否かを判定する（ステップＳ８−５）。エントリが末尾でない場合には、次のエントリからスパイクサイズを読み出し、ステップＳ８−３に戻る。エントリが末尾の場合には次の処理に進む。出力スパイクバッファ３３の最後のエントリまで比較した場合には、入力スパイクバッファ３２のエントリが末尾であるか否かを判定する（ステップＳ８−８）。エントリが末尾でない場合は、入力スパイクバッファ３２の次のエントリのスパイクサイズを読み出して比較を行うためステップＳ８−１に戻る。入力スパイクバッファ３２のエントリが末尾になったときは全てのスパイクリストの比較が終了したとして、保存しているスパイクペアを出力しトラフィック行列生成部１４に送信する（ステップＳ８−９）。
【００３８】
（第２実施形態）
図９は、本発明の第２実施形態である通信装置５０の内部構成を示したブロック図である。
通信装置５０は、上述した測定対象通信装置２０等のスイッチやルータの機能を備えており、第１実施形態で説明したトラフィック行列生成の機能ブロックを備えている通信装置である。同図において、インタフェース４１ａ〜ｌは、他の通信装置と接続し、パケットを送受信する。転送バイトカウンタ４０ａ〜ｌは、インタフェース４１ａ〜ｌごとに備えられており、インタフェース４１ａ〜ｌが送受信したパケットをバイト単位で記録する。また、転送バイトカウンタ４０ａ〜ｌには前回リセットされてからの最大値を保存するピークホールドメモリを備えており、１００ｍｓｅｃごとに転送バイト数の差分を算出し、ピークホールドメモリで最大値を記録する。ピークホールドメモリを用いると計測間隔が秒単位の長さであっても、ミリ秒単位で測定された中の最大値が保持されているため、詳細にスパイクを求めることが可能となる。スパイクフィルタ部１２−１、１２−２は転送バイトカウンタ４０ａ〜ｌから転送バイト数を読み出すと共に、転送バイトカウンタ４０ａ〜ｌをリセットする。そして、読み出した転送バイト数からスパイクに該当するものを抽出する。入力スパイクバッファ３２は、スパイクフィルタ１２−１、１２−２で検出され、入力側インタフェースに振り分けられたスパイクサイズを蓄積する。出力スパイクバッファ３３は、同じく出力側インタフェースに振り分けられたスパイクサイズを蓄積する。ペアマッチング部３４は、入力スパイクバッファ３２と出力スパイクバッファ３３に蓄積されているスパイクサイズを比較し、入出力の対応付けを検出する。トラフィック行列生成部１４は、ペアマッチング部３４で対応付けが行われたスパイク及び転送バイト数から上述した補正を行うことによってトラフィック行列を生成する。
なお、第１実施形態では、不特定の測定対象通信装置２０に対して測定を行うため、スパイクフィルタ部１２を構成するカウンタ入力部３０とスパイク検出部３１は、プログラム実行時にメモリ上で必要なインタフェースの個数分論理的に生成される。しかしながら、通信装置５０では、測定するインタフェースの最大数が決まっているため、処理速度を重視してハードウェアとして具備するようにするようにしてもよい。
【００３９】
上述のトラフィック行列生成装置及び通信装置は内部に、コンピュータシステムを有している。そして、上述したトラフィック行列生成の処理過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【図面の簡単な説明】
【００４０】
【図１】第１実施形態によるトラフィック行列生成装置の内部構成を示すブロック図である。
【図２】同実施形態におけるスパイクフィルタ部とスパイク行列生成部を詳細に示したブロック図である。
【図３】同実施形態における転送バイトカウンタ読出・集計部の内部に記憶している転送バイト数の測定データバッファのデータ構成を示した図である。
【図４】同実施形態におけるカウンタ入力部の内部に記憶している差分データバッファのデータ構成を示した図である。
【図５】同実施形態における入力スパイクバッファと出力スパイクバッファの内部のデータ構成を示した図である。
【図６】同実施形態におけるスパイク行列とトラフィック行列のデータ構成を示した図である。
【図７】同実施形態におけるトラフィック行列生成の処理の流れを示したフローチャートである。
【図８】同実施形態におけるスパイクペア抽出の処理を示したフローチャートである。
【図９】第２実施形態による通信装置の内部構成を示すブロック図である。
【符号の説明】
【００４１】
１０  トラフィック行列生成装置
１１  転送バイトカウンタ読出・集計部
１４  トラフィック行列生成部
２０  測定対象通信装置
【図１】
2006013876.tif 000010
【図２】
2006013876.tif 000011
【図３】
2006013876.tif 000012
【図４】
2006013876.tif 000013
【図５】
2006013876.tif 000014
【図６】
2006013876.tif 000015
【図７】
2006013876.tif 000016
【図８】
2006013876.tif 000017
【図９】
2006013876.tif 000018