(57)【要約】【課題】リンクによって相互接続されたノードのネットワークにおいてフロー単位のトラフィックを推定する方法を提供すること。【解決手段】この方法は、ノードへの入力トラフィック・ストリームをサンプリングする。サンプリング区間は、所望のレベルの精度に基づいて導出される。フロー毎の２回実行発生の数が、サンプル・ストリーム内で追跡される。フロー単位の２回実行の数は次いで、フローのトラフィックの推定値を生成するために使用される。【選択図】図１
2005348416.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク・ノードにおけるフローのためのトラフィックの比率を生成する方法であって、
（ａ）サンプリング区間を所与の精度レベルに基づいて生成する工程と、
（ｂ）前記サンプリング区間中のフロー毎の実行の回数を測定する工程と、
（ｃ）フロー毎のフローの比率を、対応する実行の回数に基づいて生成する工程とを備える方法。
【請求項２】
フローの比率毎の分散を生成する工程をさらに備える、請求項１に記載の発明。
【請求項３】
前記工程は、各フローｆの各比率ｐ（ｆ）のための分散σ（ｆ）を、
【数１】
2005348416.tif 000052
として生成する、請求項２に記載の発明。
【請求項４】
フロー毎の信頼区間を生成する工程をさらに備える、請求項１に記載の発明。
【請求項５】
工程（ｃ）は、各フローｆの各比率ｐ（ｆ）を以下のように生成し、
【数２】
2005348416.tif 000053
ただし、ＴＲはサンプル区間であり、Ｎ２（ｆ）はフローｆのための実行の回数である、請求項１に記載の発明。
【請求項６】
工程（ｂ）について、前記実行の回数はＮ回実行の数であり、Ｎは１より大きい正の整数である、請求項１に記載の発明。
【請求項７】
Ｎは２である、請求項６に記載の発明。
【請求項８】
前記方法はネットワーク・コントローラ・ノードのプロセッサ内で実施される、請求項１に記載の発明。
【請求項９】
ネットワーク・ノードにおけるフローのためのトラフィックの比率を生成するプロセッサを備える、少なくとも１つのノードを有する、相互接続されたノードのネットワークであって、前記プロセッサは、
サンプリング区間を所与の精度レベルに基づいて生成するように適合された第１の処理モジュールと、
前記サンプリング区間中のフロー毎の実行の回数を測定するように適合された第２の処理モジュールと、
フロー毎のフローの比率を、対応する実行の回数に基づいて生成するように適合された第３の処理モジュールとを備えるネットワーク。
【請求項１０】
複数の命令をその上に格納しているコンピュータ可読メディアであって、前記複数の命令は、プロセッサによって実行されるとき、前記プロセッサに、ネットワーク・ノードにおけるフローのためのトラフィックの比率を生成するための方法を実施させる命令を含み、前記方法は、
（ａ）サンプリング区間を所与の精度レベルに基づいて生成する工程と、
（ｂ）前記サンプリング区間中のフロー毎の実行の回数を測定する工程と、
（ｃ）フロー毎のフローの比率を、対応する実行の回数に基づいて生成する工程とを備えるコンピュータ可読メディア。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信ネットワークにおける複数のノードの間のデータ転送に関し、より詳細には、ネットワーク中のフロー単位のトラフィックの推定値を生成することに関する。
【背景技術】
【０００２】
本出願は、２００４年６月４日に出願した米国仮特許出願第６０／５７７，２７９号（整理番号Ｈａｏ３−３２−３２ＰＲＯＶ）の出願日の権利を主張するものである。
本出願は、その教示が参照により本明細書に組み込まれている、２００４年９月２２日および本出願の出願と同日に出願した米国特許出願第０８／ｘｘｘ，ｘｘｘ号（整理番号Ｈａｏ３−３２−３２）に関する。
【０００３】
パケット・ネットワークにおけるトラフィックの正確な測定は、トラフィック管理、アカウンティング、サービス拒否攻撃（ＤｏＳ）検出、およびトラフィック・エンジニアリングの重要なコンポーネントである。ネットワーク内のトラフィックは、ネットワーク・フローに分類することができ、トラフィック測定はフロー単位の基準で実行される。ネットワーク・フローの定義は、アプリケーションに応じて変わる。例えば、フローは、ＩＰパケット・ヘッダ内の５タプル（例えば、ソース／宛先ポート／アドレス）によって、特定の宛先（例えば、宛先アドレス・プレフィックスによって特徴付けられたノードまたはネットワーク）によって、またはソース・ネットワークによって特徴付けられる場合がある。ウィルスまたはワーム検出では、フローはまた、特定のワーム・シグネチャを含むパケットとして定義される場合もある。このフローの拡張定義では、パケットが特定のフローに属するかどうかをチェックすることは、ネットワーク・リソースに関して高価なオペレーションである。したがって、このオペレーションをあらゆるパケットにおけるフロー・レート測定に対して実行することを回避することが望ましい。
【０００４】
トラフィックを測定するために使用された１つの従来技術の手法は、ノード（例えば、ノードのルーター）に到着するトラフィックをサンプリングし、トラフィック到着のカウントをフロー単位の基準で維持し、次いで、フロー単位のトラフィックをこのトラフィック到着カウントに基づいて推定することである。しかし、多数のフローでは、この従来技術の手法は、フロー単位のトラフィック到着カウントを維持するためにかなりのメモリおよび処理リソースを必要とする。いくつかの場合、０．５〜１．０百万ものフローがバックボーン・パケット・ネットワーク内に存在する可能性がある。フロー単位のトラフィックの測定は、リアルタイム・トラフィック管理、ビリング、およびネットワーク・セキュリティにおけるいくつかのアプリケーションを有するので、正確なフロー単位のレート情報は、ルーターまたはネットワーク・リンクをトラバースするすべてのフローについて、フロー単位の状態を維持することなく、効率的に得られるべきである。
【０００５】
いくつかの特に重要な測定アプリケーションは、ＤｏＳ、アクティブ・キュー管理、およびウィルス／ワーム検出用である。ＤｏＳアプリケーションでは、所与の宛先に向かうトラフィック・フローの急増はＤｏＳ攻撃の開始を示す可能性がある。推定を使用して、ネットワーク・ノードのトラフィックが異常であると判断し、アラームをトリガし、疑わしいフロー（トラフィック・ストリーム）のより詳細なモニタリングを起動することができる。アクティブ・キュー管理では、フロー単位の測定が、ネットワーク内のキューイングの公平性を可能にする。誤動作ソースの大きいフローを分離することで、ネットワーク内のフローの残りにおけるそれらの影響が減り、特に、オープン・ループのユーザー・データ・プロトコル（ＵＤＰ）ソース、または、ラウンドトリップ時間において幅広いディスパリティを示す伝送制御プロトコル（ＴＣＰ）ソースの、制御されていないフローに対して、それらの影響が減る。しかし、誤動作ソースからの比較的少数のフローを識別および追跡することは望ましくなく、これは、多数（数万から数十万も）の小さいソースを追跡することも必要となる場合があるからである。
【０００６】
ウィルス／ワーム検出アプリケーションでは、ネットワーク内のウィルス／ワーム攻撃を検出するために、パケット・ペイロードがフローとして見なされる場合がある。同じペイロードを有するいくつかのパケットは、ネットワーク中に広がるウィルス／ワームの開始を示す可能性がある。よく知られているウェブ・サイトのアドレスを含むものなど、一般のペイロードは、アラームをトリガするべきではないが、類似だが等しくはないペイロードを有するポリモアフィック型ワームは識別されるべきである。同じまたは類似のペイロードを有するパケットを測定することは、望ましいパケット・ペイロードと望ましくないパケット・ペイロードの間のこのような区別を可能にする場合がある。
【０００７】
他のアプリケーションには、過剰なメモリまたは処理リソースを消費するフロー（「ヘビー・ヒッター」）の追跡が含まれる。これらのヘビー・ヒッターを識別および追跡する１つの方法は、仮定された確率密度を有するフローのパケットをサンプリングし、パケットが属するフローが既にメモリ内にない場合、このフローがメモリに追加される。その時点から、そのノードに到着し、このフローに属するすべてのパケットがカウントされる。あらゆるパケットがカウントされるので、サンプリングされたフローはハッシュ・テーブル内で保持され、あらゆるパケット到着時に、適切なカウンタを増分するために、パケット・フローｉｄがハッシュ・テーブルにハッシュされる。したがって、ランダム・サンプリングに比較して、各パケット到着時の処理が増すが、この方法は、メモリのサイズが小さくされるので、比較的実施しやすい。
【０００８】
しかし、フロー推定のための従来技術の大部分の方法はなお、大きいサンプル・サイズを必要とし、対応する大きいメモリ要件を有する。加えて、このような処理は、完了までにかなりの処理リソースおよびかなりの時間を要する場合がある。
【特許文献１】米国仮特許出願第６０／５７７，２７９号
【特許文献２】米国特許出願第０８／ｘｘｘ，ｘｘｘ号
【発明の開示】
【発明が解決しようとする課題】
【０００９】
リンクによって相互接続されたノードのネットワークにおいてフロー単位のトラフィックを推定する方法は、ノードへの入力トラフィック・ストリームをサンプリングする。サンプリング区間は、所望のレベルの精度に基づいて導出される。フロー毎の２回実行発生の数が、サンプル・ストリーム内で追跡される。フロー単位の２回実行の数は次いで、フローのトラフィックの推定値を生成するために使用される。
【課題を解決するための手段】
【００１０】
本発明の例示的実施形態によれば、ネットワーク・ノード内のフローのためのトラフィックの比率は、（ｉ）サンプリング区間を所与の精度レベルに基づいて生成すること、（ｉｉ）サンプリング区間中のフロー毎の実行の回数を測定すること、および、（ｉｉｉ）フロー毎のフローの比率を、対応する実行の回数に基づいて生成することによって提供される。
【００１１】
本発明の他の態様、特徴および利点は、以下の詳細な説明、付属の特許請求の範囲、および添付の図面からより十分に明らかになるであろう。
【発明を実施するための最良の形態】
【００１２】
本発明の理解を助けるものとして、以下の定義を説明する。本発明は、ネットワーク・フローの測定を通じたトラフィック測定に関し、このフローは、トラフィック測定アプリケーションに基づいて事前定義される。フローの集合Ｆは、ルーターなど、ノードで発生する。各パケット（到着とも呼ばれる）は、集合Ｆの１つのフローｆに属する（すなわち、ｆ∈Ｆ）。フローｆ∈Ｆへの到着率はａ（ｆ）と示され、ノードへの合計到着率（パケット／秒単位）はλによって示され、ただしλ＝Σｆ∈Ｆａ（ｆ）である。フローｆ∈Ｆに属するノードへのトラフィックの比率はｐ（ｆ）と示され、ただしｐ（ｆ）＝（ａ（ｆ）／λ）である。
【００１３】
本発明の例示的実施形態によれば、ａ（ｆ）についての推定値
【数１】
2005348416.tif 000003
がｆ∈Ｆ毎に生成される。具体的には、λの測定は比較的容易に実施することができるので、推定値
【数２】
2005348416.tif 000004
はｆ∈Ｆ毎にｐ（ｆ）について決定され、次いで推定値
【数３】
2005348416.tif 000005
は、ａ（ｆ）についての推定値
【数４】
2005348416.tif 000006
を生成するために使用される。ｐ（ｆ）の値は、到着パケットがフローｆに属する確率に関係付けられ、ｐ（ｆ）は、推定が実行される期間（推定またはサンプリング期間）に渡って比較的定常である場合がある。到着パケットが所与のフローｆに属する確率は、すべての他のパケット到着確率には依存しない可能性がある。所与のノードへの到着が依存する場合（すなわち、ノードに到着する次のパケットのフローｉｄが現在のパケットのフローｉｄに依存する場合）でも、到着ストリームのランダム・サンプリングはこの依存性を除去または軽減する。
【００１４】
このサンプリング方法は、いずれかの所与のフローｆ∈Ｆに対して、ｐ（ｆ）についての推定値
【数５】
2005348416.tif 000007
を、式（１）が真であるように決定する。
【数６】
2005348416.tif 000008
確率はαより大きい。したがって、
【数７】
2005348416.tif 000009
の誤差は、αより小さい確率により許容される場合がある。
例えば、サンプリングにおける要件は以下の通りである場合がある。すなわち、サンプリング期間の最後で、いずれかのフローｆが与えられると、±０．００００５の誤差
【数８】
2005348416.tif 000010
内でｐ（ｆ）を決定し、確率αは９９．９９％より大きい。この要件は、β＝０．０００１およびα＝０．９９９９に変わる。Ｎ（ａ，ｂ）は、平均ａおよび分散ｂを有する正規分布を表し、Ｚαは、単位正規分布に対するαパーセンタイルを示す。α＝９９．９９％である場合、Ｚα’＝４．０である。
【００１５】
すべてのフローを所望のレベルの精度まで推定するために必要とされた時間の量は、推定時間であり、サンプリング区間とも呼ばれる。本明細書で説明する実施形態では、推定時間は、所望のレベルの精度についてのサンプルの数に関して与えられ、一定のパケット到着率について、そのまま時間測定値に変換される。
【００１６】
第１の例示的実施形態によれば、実行ベースのトラフィック・エスティメータ（ＲＡＴＥ）方法は、各フローによって送信されたトラフィックの比率を決定する。ＲＡＴＥ方法は、ノードで到着トラフィックのサブセットのみをサンプリングするが、より大きい比率のトラフィックを送信するフローが、より頻繁にサンプリングされるように、このサブセットを選択する。このような選択的サンプリングは、２回実行サンプリングを使用して可能にされる。フローｆ∈Ｆは、２つの連続サンプルが同じフローｆに属する場合、２回実行を有するように定義される。比較的少数のパケットを生成するフロー・ソースは非常に低い確率によりサンプリングされるので、２回実行サンプリングにより検出されるフロー・ソースのリストは、比較的小さい可能性がある。このリストが小さいので、所与のＲＡＴＥの実施は、比較的高いメモリ効率を示す可能性がある。
【００１７】
ＲＡＴＥは、以下の情報を維持することによって、２回実行を検出および測定する。２回実行（検出）レジスタ（ＴＲＲ）は、ただ１つのフロー識別子（フローｉｄ）を保持し、フロー識別子は通常、最後に受信されたサンプルのフローｉｄである。現在のフローのサンプルのフローｉｄがレジスタのコンテンツ（値）と同じである場合、２回実行が検出される。２回実行カウント・テーブル（後述）は更新され、ＴＲＲの値はヌルに設定される。現在のサンプルのフローｉｄがＴＲＲの値と異なる場合、ＴＲＲは現在のサンプルのフローｉｄに設定される。
【００１８】
２回実行カウント・テーブル（ＴＣＴ）は、検出された２回実行を有しているフロー毎の、２回実行の数のためのカウントを維持する。２回実行が特定のフローについて検出されるとき、および、このフローが既にＴＣＴ内に含まれる場合、このフローのための２回実行カウントは１だけ増分される。２回実行が検出されているフローがＴＣＴに含まれない場合、そのフローｉｄがＴＣＴに追加され、そのカウントは１に初期化される。
【００１９】
実施形態を本明細書で２回実行カウントに関して説明するが、これらの実施形態はそのように限定されない。当業者は、本明細書の教示をより長い実行に拡張することができ、これはＮ回実行カウントなどであり、Ｎは２より大きい正の整数（例えば、３回実行）であるか、または、３つの連続サンプルにおける２回の発生など、異なったサンプルのグループ内の発生などである。したがって、本明細書で使用されるとき、実行という用語はこのようなすべての変化を包含する。
【００２０】
図１は、フロー単位の推定のＲＡＴＥ方法の第１の例示的実施形態の流れ図を示す。ＲＡＴＥ方法は、フローｆによるトラフィックの比率を以下の方法で推定する。工程１０１で、所望の推定精度が信頼区間（誤差）パラメータβおよび確率αとして与えられると、ＲＡＴＥ方法は最初に、サンプルの数ＴＲを決定する（上付き文字「Ｒ」は、これがＲＡＴＥ方法で必要とされた区間におけるサンプルの数であることを示す。）工程１０２で、このＴＲのサンプリング区間中に、ＲＡＴＥ方法はフローｆ∈Ｆ毎の２回実行Ｎ２（ｆ）の数を測定する。工程１０３で、各フローｆによるトラフィックの比率がＮ２（ｆ）から推定される。
【００２１】
工程１０１および１０３について、標準正規分布のための以下の例は、サンプリング区間を生成する方法、および、サンプリング区間中の２回実行の数からトラフィックの比率を推定する方法を例示する。変数Ｎ２（ｆ）は、ＴＲ個のサンプルおよび関数
【数９】
2005348416.tif 000011
におけるフローのための２回実行の数である。次いで、式（２）は真である。
【数１０】
2005348416.tif 000012
したがって、推定値
【数１１】
2005348416.tif 000013
は、式（３）において以下のように与えられる。
【数１２】
2005348416.tif 000014
式（２）および（３）では、ｐ（ｆ）の分散σ（ｆ）（または、推定された比率
【数１３】
2005348416.tif 000015
が使用される場合、その推定値
【数１４】
2005348416.tif 000016
）は、式（４）において以下のように与えられる。
【数１５】
2005348416.tif 000017
推定値
【数１６】
2005348416.tif 000018
のためのαパーセンタイル信頼区間は以下のように計算され、Ｚαが標準正規分布Ｎ［０，σ］のαパーセンタイルを示す場合、ｐ（ｆ）の推定値のためのαパーセンタイル信頼区間は、式（５）において与えられる。
【数１７】
2005348416.tif 000019
αパーセンタイル信頼区間がβより幅広いべきでない場合、ｐ（ｆ）のすべての値についてσ（ｆ）≦０．３４５である。したがって、信頼区間は式（６）の量より大きくない。
【数１８】
2005348416.tif 000020
式（６）の量はβより小さく設定され、この不等式がＴＲについて解かれて、αパーセンタイル信頼区間がβより小さいという目的に達するようにサンプリングするための時間の長さが決定される。最小サンプリング時間
【数１９】
2005348416.tif 000021
は、式（７）において与えられる。
【数２０】
2005348416.tif 000022
以下の説明では、フローｉｄ  ｉの関数（例えば、ｐ（ｉ）またはａ（ｉ））である所与の変数「ｖ」について、表記ｖｉもまた使用され、これはｖ（ｉ）に等しい。
【００２２】
図２は、図１の方法の例示的実施態様のブロック図を示す。工程２０１で、入力信頼レベルは、入力信頼区間幅βおよび誤差確率αとして定義される。工程２０２で、式（７）において与えられるものなど、サンプリング区間ＴＲが計算され、Ｔがゼロに設定され、ただし、Ｔは、受信されたサンプルの総数のカウンタである。工程２０３で、２回実行カウント・テーブルＴＣＴがヌル・セットに初期化され、２回実行レジスタＴＲＲがヌルに初期化される。
【００２３】
工程２０４で、反復プロセスが到着毎に開始する。工程２０４で、現在の到着のフローｉｄ  ｉが検索され、Ｔが増分される。工程２０５で、テストは、フローｉｄ  ｉがＴＲＲの値に等しいかどうかを判断する。工程２０５のテストが、フローｉｄ  ｉがＴＲＲの値に等しいと判断する場合、工程２０６で、ＴＲＲがヌルに設定される。
【００２４】
工程２０７で、テストは、ｉがＴＣＴの要素であるかどうか（すなわち、フローｉｄ  ｉが現在、２回実行カウント・テーブルＴＣＴにおけるエントリであるかどうか）を判断する。工程２０７のテストが、フローｉｄ  ｉがＴＣＴの要素でないと判断する場合、工程２０８で、フローｉｄ  ｉがＴＣＴに追加される。工程２０７のテストが、フローｉｄ  ｉがＴＣＴの要素であると判断する場合、この方法は工程２０９に進む。工程２０９で、フローｉｄ  ｉのためのＴＣＴにおけるカウント値が１だけ増分される。工程２０９から、次いでこの方法は工程２１１に進む。
【００２５】
工程２０５のテストが、フローｉｄ  ｉがＴＲＲの値に等しくないと判断する場合、工程２１０で、ＴＲＲの値が現在のフローｉｄ  ｉに設定される。工程２１０から、この方法は工程２１１に進む。工程２１１で、この方法は、サンプリング区間ＴＲに到達されているかどうかを判断する。工程２１１のテストが、サンプリング区間ＴＲに到達されていないと判断する場合、この方法は次の到着のために工程２０４に戻る。
【００２６】
工程２１１のテストが、サンプリング区間ＴＲに到達されていると判断する場合、工程２１２で、各ｉについて、この方法はノードへのフローｉｄ  ｉのためのトラフィックの比率ｐｉの推定値
【数２１】
2005348416.tif 000023
を計算する。例示的正規分布では、工程２１２で、この方法は、式（３）に従って推定値
【数２２】
2005348416.tif 000024
を計算する。工程２１３で、ｉ毎に、この方法はノードへのフローｉｄ  ｉのためのトラフィックの分散σｉの推定値
【数２３】
2005348416.tif 000025
を計算する。例示的正規分布では、工程２１３で、この方法は、式（４）に従って推定値
【数２４】
2005348416.tif 000026
を計算する。工程２１４で、ｉ毎に、この方法はフローｉｄ  ｉのための信頼区間を計算する。例示的正規分布では、工程２１４で、この方法は、式（５）に従ってフローｉｄ  ｉのための信頼区間を計算する。
【００２７】
第２の例示的実施形態によれば、フロー単位のトラフィック推定の方法は、加速ＲＡＴＥ（ＡＣＣＥＬ−ＲＡＴＥ）と呼ばれ、入力ストリームをｋ個のサブストリームまたはバケットに一様にハッシュし、各バケットに割り振られたフローｉｄ毎に２回実行カウントを維持する。このようなＡＣＣＥＬ−ＲＡＴＥ方法は、例えば、シミュレーションまたは実験を通じて、ｋのための値の適切な選択によって、ＲＡＴＥ方法の推定時間を短縮することができる。図３は、ＡＣＣＥＬ−ＲＡＴＥ方法によるパケット・ストリーム処理のブロック図を示す。
【００２８】
図３のように、ＡＣＣＥＬ−ＲＡＴＥ方法のためのパケット・ストリーム処理は、ハッシュ・モジュール３０１を備え、このモジュールはハッシュ関数を入力トラフィック・ストリームに適用する。ハッシュ関数を入力トラフィック・ストリームに適用することで、フローｉｄをサブストリームに割り当てることによって、トラフィックをｋ個のサブストリーム３０２（１）から３０２（ｋ）に分割する。各サブストリーム３０２（１）から３０２（ｋ）は、対応する２回実行レジスタＴＲＲ３０３（ｊ）を有し、１≦ｊ≦ｋであり、ＴＲＲ３０３（ｊ）は、ＲＡＴＥ方法について上述したものと類似の方法で動作する。２回実行カウント・テーブル（ＴＣＴ）３０４は、フローｉｄの各々のための検出された２回実行イベントのカウントを維持する。
【００２９】
入力トラフィック・ストリームの分割は、以下の利点を提供する。サブストリームに関連付けられた各フローは、合計のサブストリーム・トラフィックのより大きい部分を構成し、したがって、２回実行を得る確率は、ＲＡＴＥ方法の元の非分割入力トラフィック・ストリームにおける確率よりも高い。
【００３０】
入力ストリームのフローｉｄ（または場合によっては、ウィルス／ワーム検出ではペイロード）が最初にハッシュされる。集合Ｆは可能なフローの集合であり、パケットはフローｉｄ  ｆを有し、ｆ∈Ｆであり、ｈ（ｆ）は、フローｉｄ「ｆ」を集合｛１，２，．．．，ｋ｝にマップするハッシュ関数を表す（すなわち、ハッシュ関数ｈ（ｆ）は、フローｉｄ  ｆを有するパケットをサブストリーム（ｈ（ｆ））に送信する）。所望のレベルの精度を達成するためのサンプル期間に渡るパケットの数は、ＴＡによって与えられ、上付き文字「Ａ」はＡＣＣＥＬ−ＲＡＴＥ方法を示す。このサンプリング区間ＴＡ中に、ハッシュ関数はＴ［ｊ］個のパケットをサブストリームｊに割り当てる。したがって、
【数２５】
2005348416.tif 000027
である。サブストリームｊ中の合計トラフィックとトラフィックの合計量の比ｒ［ｊ］は、式（８）において与えられる。
【数２６】
2005348416.tif 000028
変数φ（ｆ）は、フローｆに属するサブストリーム（ｈ（ｆ））におけるトラフィックの部分を示す。したがって、ノードに到着するフローｆのためのトラフィックの比率ｐ（ｆ）は、式（９）において以下のように与えられる。
【数２７】
2005348416.tif 000029
ＲＡＴＥ方法について上述したものと類似の方法で、導出および推定された比率、比率のための導出および推定された分散、および、フローｆのためのトラフィックの推定比率についての信頼区間は、以下の通りである。関係式
【数２８】
2005348416.tif 000030
を使用し、Ｎ２（ｆ）がＴ［ｈ（ｆ）］個のパケットにおけるフローｆのための２回実行の数であれば、式（１０）は真である。
【数２９】
2005348416.tif 000031
したがって、推定値
【数３０】
2005348416.tif 000032
は、式（１１）において以下のように与えられる。
【数３１】
2005348416.tif 000033
式（９）および（１０）では、ｐ（ｆ）の分散δ（ｆ）は、式（１２）において以下のように与えられる。
【数３２】
2005348416.tif 000034
推定分散
【数３３】
2005348416.tif 000035
は、推定比率
【数３４】
2005348416.tif 000036
が使用される場合、式（１３）において以下のように与えられる。
【数３５】
2005348416.tif 000037
点推定値のためのαパーセンタイル信頼区間は以下のように計算され、Ｚαが標準正規分布Ｎ［０，δ］のαパーセンタイルを示す場合、ｐ（ｆ）の推定値のためのαパーセンタイル信頼区間は、式（１４）において与えられる。
【数３６】
2005348416.tif 000038
ＲＡＴＥ方法とは異なり、ＡＣＣＥＬ−ＲＡＴＥ方法のための推定時間（サンプリング区間、サンプル・サイズ、およびサンプル期間）は動的に決定される。式（１４）のαパーセンタイル信頼区間によって与えられた例示的正規分布では、αパーセンタイル信頼区間がβより大きいべきでない場合、
【数３７】
2005348416.tif 000039
であり、式（１５）が示唆される。
【数３８】
2005348416.tif 000040
これは、いかなるフローｆについても、どのサブストリームにそれがハッシュされるかに関係なく、真である。ｒｍａｘを式（１６）のように定義すると、
ｒｍａｘ＝ｍａｘ１≦ｊ≦ｋｒ［ｈ（ｆ）＝ｊ］，  ｊ＝１，２，．．．，ｋ  （１６）
次いで、式（１５）を式（１７）のように書き換えることができる。
【数３９】
2005348416.tif 000041
ハッシュ関数が一様である場合、ｒｍａｘ＝（１／ｋ）であり、式（１７）を式（１８）のように書き換えることができる。
【数４０】
2005348416.tif 000042
ただし、以下の通りである。
【数４１】
2005348416.tif 000043
【００３１】
したがって、αおよびβを保持する最小サンプリング区間ＴＡは、ＴＡ＝ＴＲｒｍａｘを生じる。サンプリング区間はｒｍａｘによって決まるので、ｒｍａｘはＡＣＣＥＬ−ＲＡＴＥ方法によって動的に追跡される。しかし、代替実施形態は、最大量のトラフィックを受信するサブストリームを追跡することができ、最大量のトラフィックはＴｍａｘとして示され、ただし、ｒｍａｘ＝（Ｔｍａｘ／Ｔ）であり、Ｔは、処理されたパケットの総数である。ＡＣＣＥＬ−ＲＡＴＥ方法は、ｊ番目（１≦ｊ≦ｋ）のサブストリームにハッシュされたパケットの数Ｔ［ｊ］を追跡する。ＡＣＣＥＬ−ＲＡＴＥ方法はこの変数Ｔｍａｘをゼロに初期化し、パケットがｉ番目のサブストリームにハッシュされるたびに、Ｔ［ｊ］を増分し、Ｔ［ｊ］をＴｍａｘと比較し、Ｔ［ｊ］がＴｍａｘより大きい場合、Ｔｍａｘを増分する。次いで、量
【数４２】
2005348416.tif 000044
が計算され、Ｔがこの量より大きい場合、サンプリング区間が完了する。
【００３２】
図４は、ＡＣＣＥＬ−ＲＡＴＥ方法によるフロー単位の推定の例示的実施態様を示す。工程４０１で、２回実行カウント・テーブルＴＣＴのエントリおよび２回実行レジスタＴＲＲ［ｊ］、１≦ｊ≦ｋが、ヌルに設定される。ｉ）サブストリームｊへの到着の数Ｔ［ｊ］、ｉｉ）処理されたパケットの総数Ｔ、およびｉｉｉ）いずれかの単一のサブストリームに送信されたパケットの最大数Ｔｍａｘのための変数は、ゼロに初期化される。
【００３３】
工程４０２で、現在の到着のフローｉｄ  ｆが検査され、Ｔが１だけ増分される。工程４０３で、ハッシュ関数がｆに適用されて、サブストリーム数ｈ（ｆ）が生じる。工程４０４で、値Ｔ［ｈ（ｆ）］が１だけ増分される。工程４０５で、テストは、Ｔ［ｈ（ｆ）］がＴｍａｘより大きいかどうかを判断する。工程４０５のテストが、Ｔ［ｈ（ｆ）］がＴｍａｘより大きいと判断する場合、工程４０６で、Ｔｍａｘが１だけ増分され、この方法は工程４０７に進む。工程４０５のテストが、Ｔ［ｈ（ｆ）］がＴｍａｘより大きくないと判断する場合、この方法は直接工程４０７に進む。
【００３４】
工程４０７で、テストは、現在のパケットのフローｉｄ  ｆを、ＴＲＲ［ｈ（ｆ）］に格納された値と比較する。工程４０７のテストが、現在のパケットのフローｉｄ  ｆがＴＲＲ［ｈ（ｆ）］に格納された値と等しいと判断する場合、工程４０８で、ＴＲＲ［ｈ（ｆ）］がヌルに設定される。工程４０９で、テストは、フローｉｄ  ｆがＴＣＴの要素であるかどうかを判断する。工程４０９のテストが、フローｉｄ  ｆがＴＣＴの要素でないと判断する場合、工程４１０で、フローｉｄ  ｆがＴＣＴに追加され、対応するカウンタ（Ｎ２（ｆ））が初期化される。工程４１１で、対応するカウンタ（Ｎ２（ｆ））が増分される。工程４０９のテストが、フローｉｄ  ｆがＴＣＴの要素であると判断する場合、工程４１１で、ＴＣＴにおける対応するカウンタ（Ｎ２（ｆ））が１だけ増分される。工程４１１から、この方法は工程４１３に進む。
【００３５】
工程４０７のテストが、現在のパケットのフローｉｄ  ｆがＴＲＲ［ｈ（ｆ）］に格納された値と等しくないと判断する場合、工程４１２で、ＴＲＲ［ｈ（ｆ）］がフローｉｄ  ｆに設定される。工程４１２から、この方法は工程４１３に進む。
工程４１３で、量
【数４３】
2005348416.tif 000045
が計算される。工程４１４で、テストは、Ｔが
【数４４】
2005348416.tif 000046
より小さいかどうかを判断する。工程４１４のテストが、Ｔが
【数４５】
2005348416.tif 000047
より小さいと判断する場合、この方法は次のパケット到着のために工程４０２に戻る。工程４１４のテストが、Ｔが
【数４６】
2005348416.tif 000048
より小さくないと判断する場合、この方法はサンプリングを終了する。
工程４１５で、この方法は、サブストリーム毎に、ｒ［ｈ（ｆ）］＝Ｔ［ｈ（ｆ）］／Ｔを計算する。工程４１６で、この方法は、フローｆ毎に、フローｆのためのトラフィックの推定比率
【数４７】
2005348416.tif 000049
、
【数４８】
2005348416.tif 000050
の推定分散
【数４９】
2005348416.tif 000051
、および推定のための信頼区間を計算する。いくつかの実施形態では、この方法は工程４１６で、式（１１）、（１３）および（１４）の関係を使用することができる。
【００３６】
１つまたは複数の実施形態によるフロー単位のトラフィック推定は、以下の利点を提供することができる。ノードでのフローのためのトラフィックの比率を推定することは、比較的大きいメモリ要件なしに、比較的急速な推定時間を可能にする。加えて、トラフィックにおける高速過渡を追跡することができ、強化されたウィルス／ワーム検出、または、キューイングの公平性のため、および誤動作フローの分離のためのトラフィック・エンジニアリング介入を可能にする。
【００３７】
本発明を、ネットワーク・コントローラ、ルーターまたはコンピュータなど、プロセッサにおいて実施することができ、プロセッサをネットワークまたはネットワーク・データベースに結合して、本明細書で説明した方法によって使用されるネットワーク情報を受信することができる。加えて、本発明を、有線、無線、光または非光ネットワークのために使用することができ、同期または非同期ネットワークのために使用することができる。
【００３８】
当業者には明らかになるように、フロー単位のトラフィック推定の様々な機能を、回路素子により実装することができ、または、ソフトウェア・プログラムにおける処理工程としてデジタル・ドメインにおいて実装することもできる。このようなソフトウェアを、例えば、デジタル信号プロセッサ、マイクロコントローラ、または汎用コンピュータにおいて使用することができる。したがって、フロー単位のトラフィック・エスティメータの様々な機能を、プロセッサの様々なモジュールとして実装することができ、各モジュールは、当技術分野で知られているいかなる数の実施態様においても実施される。
【００３９】
本発明を、これらの方法を実施するための方法および装置の形態において実施することができる。本発明をまた、フロッピー（登録商標）・ディスク、ＣＤ−ＲＯＭ、ハード・ドライブ、または他のいずれかのマシン可読ストレージ・メディアなど、有形メディアにおいて実施されたプログラム・コードの形態において実施することもでき、プログラム・コードがコンピュータなどのマシンにロードされ、マシンによって実行されるとき、マシンは、本発明を実施するための装置となる。本発明をまた、例えば、ストレージ・メディアに格納されるか、マシンにロードされる、および／またはマシンによって実行されるか、または、電気配線またはケーブリングを介して、光ファイバーを通じて、もしくは電磁放射を介してなど、ある伝送メディアを介して伝送されるかにかかわらず、プログラム・コードの形態において実施することもでき、プログラム・コードがコンピュータなどのマシンにロードされ、マシンによって実行されるとき、マシンは、本発明を実施するための装置となる。汎用プロセッサ上で実施されるとき、プログラム・コード・セグメントはプロセッサと結合して、特定の論理回路と同じように動作する一意のデバイスを提供する。
【００４０】
本発明の性質を説明するために説明および例示した部分の詳細、材料、および構成における様々な変更を、当業者によって、特許請求の範囲において表現された本発明の原理および範囲から逸脱することなく行うことができることは、さらに理解されよう。
【図面の簡単な説明】
【００４１】
【図１】フロー単位の推定の第１の例示的実施形態の流れ図である。
【図２】図１のフロー単位の推定の例示的実施態様を示す図である。
【図３】フロー単位の推定の第２の例示的実施形態による、パケット・ストリーム処理の流れ図である。
【図４】第２の例示的実施形態によるフロー単位の推定の例示的実施態様を示す図である。
【図１】
2005348416.tif 000054
【図２】
2005348416.tif 000055
【図３】
2005348416.tif 000056
【図４】
2005348416.tif 000057