説明

ランダムなデータストリームのサンプリング

後続の解析のために、データストリームからデータ要素をサンプリングする方法を提供得る。ここで、ここで、前記データストリームは、各々が識別子の集合から判定された一意の準ランダム識別子を有する複数のデータ要素を含んでいる。この方法は、前記データストリームから、第1の要素範囲内の識別子を有するデータ要素を選択し、選択されたデータ要素の集合を得るステップとを有する。ここで、前記第1の要素選択範囲は前記識別子の集合のサブセットである。また、前記選択されたデータ要素の集合に所定数のデータ要素が含まれるようになった場合、この方法は、第2の要素選択範囲を前記第1の要素選択範囲の適切な部分集合として決定するステップと、前記第2の要素選択範囲内にない識別子を持つデータ要素を、前記選択されたデータ要素の集合から廃棄するステップと、前記選択されたデータ要素の集合に対して、識別子が前記第2の要素選択範囲内にある少なくとも1つの更なるデータ要素を、前記データストリームからを選択するステップとを更に備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ランダムサンプリングに関し、特にデータストリームのデータ要素(data elements)をランダムにサンプリングする方法及び装置に関する。
【背景技術】
【0002】
ランダムサンプリングは、データセットから代表的な要素を選択するためにデータベースシステムにおいて広く用いられている。ランダムサンプリングの利点は、選択サンプルの解析がデータセット全体の処理よりはるかに少ない計算能力及び記憶容量しか必要としないことである。しかし、サンプルが慎重に選択されると、得られる結果はデータセット全体に対して統計的に有効となる。
【0003】
データストリームのデータ要素のストリームのサンプリングは、ソースデータセット中の要素の数が演繹的に未知である特殊な形式のサンプリングである。この種のサンプリングは、例えば通信ネットワークにおいてパケットストリームの動作を実時間監視するために使用可能である。この例において、パケットストリームは、(i)インターネットプロトコル(IP)ネットワークにおけるフロー内の全てのパケット(IPパケットの発信元アドレス、宛先アドレス、ポート番号及びプロトコルフィールド等により識別された)、又は(ii)特定の時間間隔の間に通信リンク上に転送された全てのパケットである。
【0004】
データストリームが多数の物理的/論理的観察ノードに存在する(例えば、パケットストリームが通信ネットワークにおいて多数の異なるノードを通過する)場合、これらのノード間で選択サンプルを相関させる必要がある。サンプル記録に対するある特定の統計を算出できるように、多数の観察ノード間で同一のデータストリーム要素を追跡する必要がある。通信ネットワークにおいて、これらの統計は、データパケットの遅延及び損失率を含むことができる。
【0005】
非特許文献1において説明された従来のサンプリング技術の1つは、サンプルの解析に必要なメモリ及び処理能力を制限することを補助するデータストリームから選択されるサンプル数に上限を提供し、その一方で選択されたサンプル数が統計上代表的なものであることが確認される。この技術は、固定サイズのランダム化サンプルセット(リザーバ;reservoir)を使用する。しかし、この手法に関する問題は、サンプリング処理が完全にランダムであり、種々の観察ノードにおいてサンプルの相関が不可能になることである。
【0006】
別のサンプリング技術(特許文献1において開示)は、通信ネットワークにおけるパケットストリームのサンプリングに焦点を当て、パケットを一貫して選択するためにハッシュを使用する。ハッシュ関数は、可変サイズの入力を変換し、単一の整数等の固定サイズの出力を戻す関数として当技術分野において既知である。しかし、この技術においてサンプル数を上限にすることは不可能であり、その一方でサンプルの集合(set)が統計上代表的なものであることが確認され(すなわち、サンプルの集合が全てデータストリームの最初の部分から選択されるわけではないことが確認され)、これによりサンプルデータの量を調整することが困難になる。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】米国特許第6,873,600号公報
【非特許文献】
【0008】
【非特許文献1】Random Sampling with a Reservoir」 ACM Transactions on Mathematical Sofrware、11(1)、1985年3月、37〜57ページ
【発明の概要】
【発明が解決しようとする課題】
【0009】
従って、既知のサンプリング技術の欠点を克服する通信ネットワークにおいて使用できるデータストリームのサンプリングの方法及び装置が必要である。
【課題を解決するための手段】
【0010】
本発明の第1の態様によれば、後続の解析のために、データストリームからデータ要素をサンプリングする方法が提供される。ここで、前記データストリームは、各々が識別子の集合から判定された一意の準ランダム識別子を有する複数のデータ要素を含んでいる。そしてこの方法は、前記データストリームから、第1の要素範囲内の識別子を有するデータ要素を選択し、選択されたデータ要素の集合を得るステップとを有する。ここで、前記第1の要素選択範囲は前記識別子の集合のサブセットである。更に、前記選択されたデータ要素の集合に所定数のデータ要素が含まれるようになった場合、この方法は、第2の要素選択範囲を前記第1の要素選択範囲の適切な部分集合として決定するステップと、前記第2の要素選択範囲内にない識別子を持つデータ要素を、前記選択されたデータ要素の集合から廃棄するステップと、前記選択されたデータ要素の集合に対して、識別子が前記第2の要素選択範囲内にある少なくとも1つの更なるデータ要素を、前記データストリームからを選択するステップとを更に備える。
【0011】
従って、本発明により、ストリームのデータ要素の数が演繹的に未知である場合でもストリームからサンプリングされるデータ要素の数を制限しつつ、多数の観察ノードにわたりデータストリームから要素を一貫して選択することが可能になる。
【0012】
少なくとも1つの更なるデータ要素を選択するステップは、データストリームが終了するまで、あるいはデータ要素の選択された集合が再度所定数のデータ要素を含むようになるまで、選択されたデータ要素の集合に対して識別子が第2の要素選択範囲内にあるデータストリームから更なるデータ要素を選択するステップを含むことが好ましい。
【0013】
データ要素の選択された集合が再度所定の数のデータ要素を含む場合、この方法は、少なくとも1つの更なるデータ要素を判定するステップ、廃棄するステップ及び選択するステップを繰り返すためのステップを更に備えることが好ましい。このように、この方法により、データストリームにわたりデータ要素を相対的に一様にサンプリングすべきである。
【0014】
識別子が第1の要素選択範囲内にあるデータ要素は、データストリームの初期部分から選択され、少なくとも1つの更なるデータ要素は、データストリームの後続部分から選択されることが好ましい。
【0015】
いくつかの実施形態において、この方法は、選択されたデータ要素のヘッダのフィールド及び/又はペイロードの部分からデータ要素毎に一意の準ランダム識別子を判定するステップを更に備える。これは、データ要素が固有の一意の準ランダム識別子を有する必要はなく、本発明を多くの種々の既存のネットワークに適用できることを意味する。
【0016】
識別子を判定するステップはハッシュ関数を使用することを含み、選択されたデータ要素のヘッダのフィールド及び/又はペイロードの部分は、ハッシュ関数に対する引数として使用されることが好ましい。
【0017】
第2の要素選択範囲を第1の要素選択範囲の適切な部分集合として判定するステップは確定的であることが好ましい。要素選択範囲は、種々のサンプリングノードにわたり一貫してサンプリングすることを保証するように確定的に縮小される。
【0018】
第2の要素選択範囲を判定するステップは、第1の要素選択範囲が必要な処理能力を抑制しつつ可能な限り所定の数に近い要素を取得することにうまく折り合いをつけるため、狭めるための10/9乃至2間の係数でこの範囲における識別子の数を減少することを含むことが好ましい。
【0019】
本発明の第2の態様によれば、ネットワークの多数のノードにおいてデータストリームからデータ要素をサンプリングする方法が提供される。ここで、前記ネットワークは少なくとも第1のノード、第2のノードを有し、前記データストリームは前記第1のノード、前記第2のノードの各々を通過するものである。そして、この方法は、前記第1のノードにおいて、前記データストリームからデータ要素を選択するために請求項1乃至8のいずれか1項に記載の方法を実行するステップと、前記第2のノードにおいて、前記データストリームから同一のデータ要素を選択するように請求項1から8のいずれか1項に記載の方法を実行するステップとを備え、前記第1の要素選択範囲は前記第1のノード及び前記第2のノードと同一であり、前記第1のノード及び前記第2のノードの各々が同一の第1の要素選択範囲から同一の第2の要素選択範囲を判定するために、第2の要素選択範囲を判定するステップは確定的であることを特徴とする。
【0020】
ここで、第1のノード及び第2のノードの各々は、同一の方法で選択されたデータ要素のヘッダのフィールド及び/又はペイロードの部分からデータ要素毎に一意の準ランダム識別子を決定することが好ましい。
【0021】
本発明の第3の態様によれば、通信ネットワークにおいてデータストリームを解析する方法であって、第2の態様で説明されたようにデータストリームからデータ要素をサンプリングするステップと、第1のノード及び第2のノードの各々において選択された集合のデータ要素に対する情報を判定するステップと、選択された集合のデータ要素に対する情報を解析するステップとを備える方法が提供される。
【0022】
ここで、選択されたデータ要素に対する情報は、データ要素識別子、ノードにおける到着時間、発信元アドレス及び/又は宛先アドレスを含むことが好ましい。解析するステップは、選択されたデータ要素に対する情報からデータストリームに対する統計を判定することを含むことが好ましい。
【0023】
本発明の第4の態様によれば、後続の解析のために、データストリームからデータ要素をサンプリングするサンプリング装置が提供される。ここで、前記データストリームは、各々が識別子の集合から判定された一意の準ランダム識別子を有する複数のデータ要素を含んでいる。そして、このサンプリング装置は、少なくとも所定数のデータ要素を格納するためのサンプルメモリと、第1の要素選択範囲内にある識別子を持つデータ要素を前記データストリームから選択し、選択したデータ要素を前記サンプルメモリに格納するプロセッサとを有する。ここで、前記第1の要素選択範囲は、識別子の集合の部分集合である。そして、前記サンプルメモリに前記所定数のデータ要素が含まれるようになった場合、前記プロセッサは、第2の要素選択範囲を前記第1の要素選択範囲の適切な部分集合として決定し、識別子が前記第2の要素選択範囲内にないデータ要素を、前記サンプルメモリから削除し、識別子が前記第2の要素選択範囲内にある少なくとも1つの更なるデータ要素を、前記データストリームからを選択し、前記サンプルメモリに格納することを特徴とする。
【0024】
本発明の第5の態様によると、適切なコンピュータ又はプロセッサにより実行させ、前記コンピュータ又は前記プロセッサに上記方法を実行させるように構成されるコンピュータ可読コードが記録されたコンピュータ可読媒体を有するコンピュータプログラム製品が提供される。
【0025】
次に、本発明をより適切に理解し、本発明が実施される方法をより明確に示すために、例として以下の図面を参照する。
【図面の簡単な説明】
【0026】
【図1】図1は、本発明を実現できる電気通信ネットワークを示すブロック図である。
【図2】図2は、本発明の一実施形態に従って通信ネットワークにおいてデータストリームの要素をランダムにサンプリングするサンプリング装置を示すブロック図である。
【図3】図3は、本発明に従ってサンプリング装置の動作を示すフローチャートである。
【図4】図4は、本発明に従ってサンプリング装置のサンプリングメモリの種々の状態を示す図である。
【図5】図5は、本発明に係る方法を示すフローチャートである。
【発明を実施するための形態】
【0027】
電気通信ネットワークの多数のノードにおけるデータストリーム要素のサンプリングを参照して本発明を以下に説明するが、本発明は、有線か無線かに関係なく、あらゆる種類のネットワークにおいてデータストリームの要素をサンプリングするために使用されることが理解されるだろう。本発明は、単一のノードにおいてデータ要素をランダムにサンプリングするために使用されることが更に理解されるだろう。
【0028】
本発明を実現できる例示的な電気通信ネットワークを図1に示す。そのようなネットワークの構造及び動作は、当技術分野において既知であり、本明細書において詳細に説明しない。本発明を説明するために、電気通信ネットワーク2は、複数のデータストリーム要素(例えば、インターネットプロトコル、すなわちIPパケット又は他のデータパケット)を含むデータストリームの形式の情報を供給先移動端末6に無線で送信する供給元移動端末4を備える。
【0029】
特に供給元移動端末4は、矢印12により示されるように、第2のノード10にデータストリーム要素を渡す第1のノード8に複数のデータストリーム要素を無線で送信する。例えば、第1のノード8及び第2のノード10の一方又は双方は、電気通信ネットワーク2において基地局であってよく、又は電気通信ネットワーク2において見つけられる他のあらゆる種類のノードであってよい。他のネットワークノードが第1のノード8と第2のノード10との間に存在する可能性が高いが、簡略化するためにこれらは省略されていることが更に理解されるだろう。第2のノード10は、複数のデータストリーム要素を供給先移動端末6に送信する。
【0030】
データストリームは、インターネットプロトコルネットワークにおけるIPフロー内のパケット(IPパケットの発信元アドレス、宛先アドレス、ポート番号及びプロトコルフィールド等により識別された)又は特定の時間間隔の間に通信リンク上に転送されたパケットを含むパケットストリームである。
【0031】
このように示された実施形態において、供給元移動端末4と供給先移動端末6との間の通信路上で遅延及びパケット損失率等の統計を取得することが望ましい。この目的のために、データストリームの要素のサンプリングは、第1のノード8及び第2のノード10の各々の一部であるサンプリング装置により実行される。
【0032】
本発明の別の実施形態において、サンプリング装置は、電気通信ネットワーク2において第1のノード8及び第2のノード10に対する別のノードの一部としても良い。
【0033】
例示的なサンプリング装置を図2に示す。サンプリング装置20は、データストリームを受信する入力ポート22と、データストリームを出力する出力ポート24と、入力ポート22を出力ポート24に接続するデータライン26とを含む。装置20は、データライン26に接続し且つ入力ポート24において受信したデータストリームのコピーをプロセッサ30に提供するサンプリングライン28と、プロセッサ30に接続されるサンプルメモリ32とを更に含む。
【0034】
本発明によれば、プロセッサ30は、データストリームから要素をランダムに選択すなわち「サンプリング」し、これらをサンプルメモリ32に格納する。図3を参照して、データストリームから要素を選択するためにプロセッサ30により使用されるアルゴリズムを以下に更に詳細に説明する。
【0035】
最初に、上述したように、ネットワーク2の異なるノードにおいてデータストリームから要素を選択すなわちサンプリングする機能を提供しつつ、これらの同一の要素をランダムに選択すなわちサンプリングする必要がある。これを実現するために、データストリームの各要素は関連する識別子(identifier)を有さなければならない。
【0036】
個々の要素を異なるサンプリングノードにおいて識別できるようにするため、識別子は一意でなければならない。識別子は、統計上代表的なサンプリングを行えるように要素に関する情報(例えば、要素のサイズ、供給元、供給先、データストリームにおける位置等)又は要素の内容を一切提供すべきでない。
【0037】
通信ネットワーク2において使用されている要素の種類に依存して、データ要素は、通信ネットワーク2において符号化された、或いは、それに含まれる識別子を既に有している。これらの実施形態において、データ要素は、ランダムに割り当てられた所定の識別子を有する。しかし、本発明の他の実現例、例えばIPネットワーク及びIPパケットを使用するネットワークにおいて、データストリームの要素は上述の要件の全てを満たす符号化識別子を有さず、要素毎に識別子を導出する必要がある。
【0038】
これらの場合、ハッシュ関数等の関数は、要素毎に識別子を生成するために使用される。特にハッシュ関数は、データ要素又はデータ要素の一部を引数として使用することで要素毎に識別子を判定できる。例えばハッシュ関数は、選択されたパケットヘッダのフィールド及びパケットペイロードの部分に対して動作し、識別子を生成できる。ハッシュ関数はハッシュ関数への入力も一意である場合にだけ一意の識別子を生成できる。実際にはハッシュの衝突が発生する可能性がある(すなわち、2つの識別子が同一である可能性がある)が、これが発生する確率はごく僅かであることが理解されるだろう。巡回冗長検査(CRC)関数等のハッシュ関数は、確定的であり、適切に組み合わされるべきである(すなわち、ハッシュ関数の結果は一様分布の準乱数であるべきである)。
【0039】
ハッシュ関数又は他の同様の種類の関数は、個々のデータ要素を単一の確定的な(すなわち、準)確率変数にマッピングすることで識別子を生成するために使用される。
【0040】
準確率変数は、2つの重要な特性を有する。すなわち、(i)統計的特性が実確率変数と(理想的には)同一であり(例えば、平均、分散、確率分布関数等に関して)、(ii)統計的特性が確定的であるため、関数への入力が同一であるとすると、変数を生成するために使用された関数が既知である場合に全く同一の変数を生成できる。
【0041】
準確率変数の第1の特性は、データストリームから不偏サンプルを取得できることを意味し、第2の特性は、ネットワーク2における種々の点で同一のデータ要素を識別できることを意味する。
【0042】
いくつかの実施形態において、識別子は整数の形式をとれる。以下において、識別子は[0、RID)の範囲にあると仮定される。ここで、RIDは整数である。
【0043】
次に、図3のフローチャートを参照して本発明に係るサンプリング法を以下に説明する。
【0044】
サンプリング装置20の初期段階中(例えば、新しいデータストリームが受信される際)、あるいはサンプリング装置20の製造又は設置中に実行可能な第1のステップ、すなわちステップ101において、各データストリームからサンプリングされるデータ要素の最大数が設定される。この数は、Nmaxで示され、サンプリングされる要素の数の上限を設定する。
【0045】
データ要素の最大数Nmaxは、サンプルメモリ32のサイズに基づいて設定可能である。例えばNmaxは、サンプルメモリ32に格納できるサンプル又は要素の最大数以下に設定される。
【0046】
次に、やはりサンプリング装置20の初期段階中(例えば、新しいデータストリームが受信される際)に実行されるステップ103において、識別子の全範囲[0、RID)から最初のデータ要素選択範囲が判定される。最初のデータ要素選択範囲はS0で示され、S0⊆[0、RID)である。特定の要素が選択、すなわちサンプリングされる確率は、p0で示される。後続のステップで使用されるデータ要素選択範囲Sは、S0に等しく設定される。後続のステップで使用される要素選択確率pは、p0に等しく設定される。
【0047】
0=[0、RID)であるのが好ましく、これは、特定の要素が選択、すなわちサンプリングされる確率p0が1であることを意味する。
【0048】
ステップ105において、サンプリング装置20はデータストリームの要素Enを受信し、ステップ107において、プロセッサ30は要素Enの一意の識別子IDnを決定する。
【0049】
上述したように、データストリームの各要素は一意の識別子を含むことができる。この場合、プロセッサ30は、ステップ107で要素Enから識別子を読み出すかあるいは復号化する。しかし、要素が一意の識別子を含まない場合、プロセッサ30は、適切な方法で(例えば、要素Enの関連部分をハッシュ関数に適用することで)識別子を決定する。プロセッサ30が識別子を決定する場合(例えば、通信ネットワーク2において使用されたデータ要素の種類のために)、この必要条件はプロセッサ30にプログラムされること、すなわちプロセッサ30はデータ要素が一意の識別子を含まないことを判定する必要はないことが理解されるだろう。
【0050】
識別子IDnが決定されると、プロセッサ30は、識別子IDnがデータ要素選択範囲S内にあるかを判定する。
【0051】
識別子IDnがデータ要素選択範囲S内にない場合、プロセッサ30は、ステップ111でデータ要素Enを廃棄する(すなわち、データ要素Enはサンプルメモリ32に格納されない)。処理は、ステップ105に戻り、次のデータストリーム要素En+1に対して繰り返される。
【0052】
プロセッサ30がデータ要素Enを廃棄するものの、これはデータライン26を介して行われるため、データ要素Enを供給先移動端末6に継続的に送信することとは関係ないことが理解されるだろう。
【0053】
識別子IDnがデータ要素選択範囲S内にあることがステップ109で判定される場合、プロセッサ30は、データ要素Enをサンプルメモリ32に格納する(ステップ113)。ステップ111での廃棄と同様に、要素Enをサンプルメモリ32に格納することは、データライン26を介して行われるため、データ要素Enを供給先移動端末6に継続的に送信することとは関係ない。
【0054】
その後、ステップ115において、プロセッサ30は、サンプルメモリ32におけるデータ要素の数がサンプリングされる要素の最大数Nmaxに等しいかを判定する。
【0055】
サンプルメモリ32における要素の数がサンプリングされる要素の最大数Nmax未満である場合、処理は、ステップ105に戻り、次のデータストリーム要素En+1に対して繰り返される。
【0056】
しかし、サンプルメモリ32における要素の数がサンプリングされる要素の最大数Nmaxに等しい場合、ステップ117に進み、プロセッサ30は、倍率Fで現在の要素選択範囲Sを縮小することで新しい要素選択範囲Snewを決定する。この結果、現在の要素選択範囲Sの適切な部分集合(サブセット)であり(すなわち、Snew⊂S)、S/F値を含む新しい要素選択範囲Snewが得られる。これにより、pnew=p/Fの新しい要素選択確率が得られる。以下に説明するように、要素選択範囲を縮小し、後続のステップで縮小された要素選択範囲を使用する目的は、データストリームを構成する全てのデータ要素から選択されるデータ要素がデータストリームから実質的にランダムに選択されることを確認しつつ、これらのデータ要素の最大上限数を可能にすることである。
【0057】
明らかに、Fは、範囲を縮小するために1より大きい。
【0058】
現在の選択範囲は、種々のサンプリングノードにわたり一貫してサンプリングすることを保証するように確定的に縮小される。例えば、縮小の結果、保持されるSの上部にある識別子及び新しい要素選択範囲Snewから除外される下位S−(S/F)識別子が得られる。あるいは、縮小の結果、保持されるSの中央部又は下部にある識別子が得られる。縮小できる他の多くの確定的な方法は、当業者により認識されるだろう。
【0059】
要素選択範囲が縮小された後、ステップ119に進む。ステップ119において、サンプルメモリ32に格納された各要素は、縮小された要素選択範囲Snewを考慮して再評価される。特に、識別子が縮小された要素選択範囲Snew内にないサンプルメモリ32に格納されたあらゆる要素は、サンプルメモリ32から廃棄又は削除される(ステップ121)。識別子が縮小された要素選択範囲Snew内にあるあらゆる要素は、サンプルメモリ32に保持される。
【0060】
万が一ステップ121でサンプルメモリ32から要素が廃棄又は削除されない場合、ステップ117に戻り、要素選択範囲は再度縮小される。
【0061】
尚、サンプルメモリ32に何らかの特定の要素を保持する可能性は、倍率Fの値が1に近づくにつれ上昇する。
【0062】
次に、ステップ123において、要素選択範囲SはSnewに等しく設定される。その後ステップ105に戻り、次のデータストリーム要素En+1を受信する。
【0063】
ステップ105〜ステップ123は、データストリームが終了するまで繰り返される。上述の処理の結果、サンプルメモリ32は、データストリームにわたり相対的に一様分布する要素を含むはずである。データ要素がノードにおいて受信される時に図3の方法を実行できる(すなわち、各データ要素が受信される時にステップ105〜ステップ123を実行できる)か、あるいは多くのデータ要素(例えば、所定の数の要素又は全データストリーム)をバッファ(図2には示されない)に一時的に格納し、次にバッファの各要素に対してステップ105〜ステップ123を実行することで方法を実行できることが理解されるだろう。
【0064】
データストリームが終了する際、サンプルメモリ32におけるサンプル数は、Nmax以下及び一般にNmax/Fを上回る(しかし、データが終了する前の最後の再評価によりNmax/Fを上回るサンプルがサンプルメモリ32から削除又は廃棄される場合、サンプル数はNmax/F未満であることが考えられる)。これにより頻繁に要素選択範囲を縮小し、サンプルメモリ32における要素を再評価することになるが、結果として得られるサンプルメモリ32における要素の数が可能な限りNmaxに近いことが望ましい場合、Fの値は小さい値(すなわち、1に近い)に設定されるべきである。一方、サンプリング処理が消費する処理能力が可能な限り少ない(すなわち、頻繁に要素選択範囲を縮小することを回避することにより)ことが望ましい場合、Fの値は相対的に大きい値に設定されるべきである。好適な一実施形態において、範囲[10/9,2]が必要な処理能力を抑制しつつサンプルメモリ32において可能な限りNmaxに近い要素を取得することにうまく折り合いをつけるため、Fの値はこの範囲から選択される。
【0065】
示される実施形態において、第1のノード8及び第2のノード10の各々におけるサンプリング装置20は、上述の方法を実行する。この結果、双方のサンプリング装置20は、サンプルメモリ32に同一のデータ要素の集合を格納する。第1のノード8及び第2のノード10は、ネットワーク2においてサンプルメモリ32のコンテンツ(又はサンプルメモリ32における要素に関連するデータ、例えば要素の識別子、到着時間、発信元アドレス、宛先アドレス等)を中央ノードに転送できる。中央ノードは、データを解析して遅延及びパケット損失率等の必要な統計を判定できる。
【0066】
ネットワーク2の種々の論理的/物理的観察点又はノードにおける上述されたアルゴリズムの動作は、所定のデータ要素が種々の点又はノードの各々においてサンプリングされるか、あるいはサンプリングされないことを意味する(当然、第1の測定ノードにおいてサンプリングされたデータ要素が第2の測定値に到達する前に損失又は破損する場合にはこれは当てはまらないことが理解されるだろう)。
【0067】
上述した本発明の例示的な動作を図4に示す。この簡略化された例において、データストリームは24個の要素を含み、最初の要素選択範囲S0は識別子の範囲[0,999]に等しく設定され、倍率Fは2であり、サンプルメモリ容量、すなわちNmaxは10である。また、図3のステップ117の縮小動作の結果、要素選択範囲の上部は保持される)。図4は、図3に示された処理がデータストリーム上で動作する時のサンプルメモリ32の3つの異なる状態(それぞれ(i)、(ii)及び(iii)とラベル付けされた)を示す。
【0068】
データストリームの要素は連続的にE0〜E23とラベル付けされ、各要素は、範囲[0,999]において関連する3桁の識別子(そこで符号化されたか、あるいはハッシュ関数を使用して導出されたかに関わらず)を有する。
【0069】
従って、図3のステップ105〜ステップ115で説明した方法に後続して、データストリームの最初の9つの要素(すなわち、要素E0〜E8)は、これらの要素の識別子が全て要素選択範囲S=S0=[0,999]にあるため、サンプルメモリ32に追加される。
【0070】
データストリームの次の要素(要素E9)がサンプルメモリ32に追加された後、サンプルメモリにおける要素の数はNmaxになる(ステップ115)。これを図4において状態(i)として示す。従って、次に、倍率Fで要素選択範囲を縮小し(ステップ117)、縮小された要素選択範囲を考慮してサンプルメモリ32における要素を再評価する(ステップ119)必要がある。
【0071】
従って、倍数F(F=2)を要素選択範囲に適用する結果、縮小された要素選択範囲S1=S0/2=[500,999]が得られる。サンプルメモリ32における要素の識別子は縮小された要素選択範囲S1と比較され、その範囲にない識別子はサンプルメモリ32から廃棄される。
【0072】
従って、図4の状態(ii)において、再評価(ステップ119)後に要素E1、E5、E6及びE9だけがサンプルメモリ32に保持されることが分かる。
【0073】
その後処理は、ステップ105に戻り、サンプルメモリ32が再度Nmax個の要素を含むまで繰り返される。特に、要素E10以降に対してステップ105〜ステップ115を繰り返すと、要素E12、E14、E15、E17、E19及びE21はサンプルメモリ32に追加される(要素E10、E11、E13、E16、E18及びE20は、要素選択範囲(S=Snew=S1=[500,999])外の識別子を有する)。この段階におけるサンプルメモリ32の状態を図4の状態(ii)で示す。
【0074】
再度、要素選択範囲は倍率Fで縮小されてS2=[750,999]となり、サンプルメモリ32における要素は、縮小された要素選択範囲を考慮して再評価される(ステップ119)。この再評価の結果、要素E6、E9、E14及びE19はサンプルメモリ32から廃棄され、要素E1、E5、E12、E15、E17及びE21は保持される(図4の状態(iii)に示される)。
【0075】
その後、処理がステップ105に戻って繰り返され、その結果要素E23は、識別子が要素選択範囲(S=S2=[750,999])内にあるため、サンプルメモリ32に追加される。
【0076】
要素E23の後データストリームは終了する。これは、処理により要素E1、E5、E15、E17、E21及びE23がサンプリングされる(図4の状態(iii)に示される)ことを意味する。
【0077】
ネットワークのあらゆるノードにおいて上述の例を実行でき、その結果サンプリングのために要素の同一の集合(set)が選択されるため、判定されるノード間の通信路上での統計が可能になることが理解されるだろう。
【0078】
図5は、データストリームからデータ要素をサンプリングするように通信ネットワーク2のノードにおいて実行される本発明に係る方法を示す。上述したように、各データ要素は、識別子の集合から判定された一意の準ランダム識別子を有する。識別子は、データ要素に固有であるか、あるいはデータ要素又はデータ要素の一部をハッシュ関数等の関数に適用することで判定される。
【0079】
図3のステップ109に対応するステップ201において、識別子が第1の要素選択範囲内にあるデータストリームのデータ要素が選択される。選択されたデータ要素は選択された集合を形成する。
【0080】
選択された集合が所定の数のデータ要素を含むと(図3のステップ115で説明したように判定される)、第2の要素選択範囲は、第1の要素選択範囲の適切な部分集合として判定される(図3のステップ117に対応するステップ203)。
【0081】
その後、選択された集合のデータ要素は、第2の要素選択範囲を考慮して再評価され、識別子が第2の要素選択範囲内にない選択された集合のあらゆるデータ要素は、選択された集合から削除される(ステップ205)。このステップは、図3のステップ119〜ステップ121に対応する。
【0082】
次に、ステップ207において、データストリームの更なるデータ要素は、第2の要素選択範囲を考慮して評価され、少なくとも1つの更なるデータ要素は、識別子が第2の要素選択範囲内にある選択された集合に対して選択される。このステップは、図3のステップ109に対応する。
【0083】
上述したように、図3及び図5で説明した処理により、ストリームのデータ要素の数が演繹的に未知である場合でもストリームからサンプリングされる要素の数を制限しつつ、多数の観察ノードにわたりデータストリームから要素を一貫して選択することが可能になる。サンプリング法を多数のデータストリームに一度に適用することが更に可能である(例えば、第1のノード8と関連付けられる複数の移動端末からの各データストリーム)。このように、必要な処理量及び記憶容量は、ストリームのデータ要素の総数ではなくストリーム数に比例する。
【0084】
本発明は、上述した例示的な実施形態のように電気通信ネットワークにおいて適用される場合、多数の測定箇所にわたりデータストリームを解析するのに必要な処理量及び記憶容量を減少できる。
【0085】
本発明は、特定のハードウェアを含むサンプリング装置に関して説明されてきたが、更なるハードウェアを必要とせずに、例えば図3又は図5に示された方法を実行するように既存のプロセッサをプログラムすることで実現可能であることが理解されるだろう。また本発明は、データ要素のストリームを監視するセンサの形態で実現可能である。
【0086】
従って、既知のサンプリング技術に関する欠点を克服する通信ネットワークにおいて使用できるデータストリームのサンプリングの方法及び装置が提供される。
【0087】
尚、上述の実施形態は本発明を限定するのではなく例示し、当業者は添付の請求の範囲の範囲から逸脱せずに他の多くの実施形態を設計できる。「備える」という用語は、請求の範囲に列挙される以外の要素又はステップの存在を除外せず、単数形は複数形を除外せず、単一のプロセッサ又は他のユニットは、請求の範囲で説明されるいくつかのユニットの機能を実行する。請求の範囲のあらゆる図中符号は、請求の範囲の範囲を制限するように解釈されない。コンピュータプログラムは、他のハードウェアと共にあるいはその一部として供給された光記録媒体又は固体媒体等の適切な媒体上に格納/配布されるが、インターネット、あるいは他の有線又は無線の電気通信システム等を介して他の形態で更に配布されてもよい。

【特許請求の範囲】
【請求項1】
後続の解析のために、データストリームからデータ要素をサンプリングする方法であって、ここで、前記データストリームは、各々が識別子の集合から判定された一意の準ランダム識別子を有する複数のデータ要素を含んでいる、
前記データストリームから、第1の要素範囲内の識別子を有するデータ要素を選択し、選択されたデータ要素の集合を得るステップとを有し、ここで、前記第1の要素選択範囲は前記識別子の集合のサブセットである、
前記選択されたデータ要素の集合に所定数のデータ要素が含まれるようになった場合、前記方法は、
第2の要素選択範囲を前記第1の要素選択範囲の適切な部分集合として決定するステップと、
前記第2の要素選択範囲内にない識別子を持つデータ要素を、前記選択されたデータ要素の集合から廃棄するステップと、
前記選択されたデータ要素の集合に対して、識別子が前記第2の要素選択範囲内にある少なくとも1つの更なるデータ要素を、前記データストリームからを選択するステップと、
を更に備えることを特徴とする方法。
【請求項2】
前記少なくとも1つの更なるデータ要素を選択するステップは、
(i)前記データストリームが終了するまで、あるいは
(ii)前記データ要素の選択された集合が再度前記所定数のデータ要素が含まれるまで、
前記選択されたデータ要素の集合に対して識別子が前記第2の要素選択範囲内にある前記データストリームから更なるデータ要素を選択することを含むことを特徴とする請求項1に記載の方法。
【請求項3】
前記データ要素の選択された集合が再度前記所定数のデータ要素が含まれる場合、少なくとも1つの更なるデータ要素のために、前記判定するステップ、前記廃棄するステップ及び前記選択するステップを繰り返すためのステップを更に備えることを特徴とする請求項2に記載の方法。
【請求項4】
識別子が前記第1の要素選択範囲内にある前記データ要素は、前記データストリームの初期部分から選択され、前記少なくとも1つの更なるデータ要素は、前記データストリームの後続部分から選択されることを特徴とする請求項1乃至3のいずれか1項に記載の方法。
【請求項5】
選択された前記データ要素のヘッダのフィールド及び/又はペイロードの部分からデータ要素毎に一意の準ランダム識別子を決定するステップを更に備えることを特徴とする請求項1乃至4のいずれか1項に記載の方法。
【請求項6】
前記識別子を前記判定するステップはハッシュ関数を使用することを含み、前記選択された前記データ要素のヘッダのフィールド及び/又はペイロードの部分は、前記ハッシュ関数に対する引数として使用されることを特徴とする請求項5記載の方法。
【請求項7】
前記第2の要素選択範囲を前記第1の要素選択範囲の適切な部分集合として前記判定するステップは、確定的であることを特徴とする請求項1乃至6のいずれか1項に記載の方法。
【請求項8】
前記第2の要素選択範囲を前記判定するステップは、狭めるための10/9乃至2間の係数で前記第1の要素選択範囲における識別子の数を減少することを含むことを特徴とする請求項1乃至7のいずれか1項に記載の方法。
【請求項9】
ネットワークの多数のノードにおいてデータストリームからデータ要素をサンプリングする方法であって、ここで、前記ネットワークは少なくとも第1のノード、第2のノードを有し、前記データストリームは前記第1のノード、前記第2のノードの各々を通過する、
前記第1のノードにおいて、前記データストリームからデータ要素を選択するために請求項1乃至8のいずれか1項に記載の方法を実行するステップと、
前記第2のノードにおいて、前記データストリームから同一のデータ要素を選択するように請求項1から8のいずれか1項に記載の方法を実行するステップとを備え、
前記第1の要素選択範囲は前記第1のノード及び前記第2のノードと同一であり、前記第1のノード及び前記第2のノードの各々が同一の第1の要素選択範囲から同一の第2の要素選択範囲を判定するために、第2の要素選択範囲を判定するステップは確定的であることを特徴とする方法。
【請求項10】
前記第1のノード及び前記第2のノードの各々は、同一の方法で選択された前記データ要素のヘッダのフィールド及び/又はペイロードの部分からデータ要素毎に一意の準ランダム識別子を決定することを特徴とする請求項9に記載の方法。
【請求項11】
通信ネットワークにおいてデータストリームを解析する方法であって、
請求項9又は10に記載されたように前記データストリームからデータ要素をサンプリングするステップと、
前記第1のノード及び前記第2のノードの各々において前記選択された集合における前記データ要素に対する情報を判定するステップと、
前記選択された集合の前記データ要素に対する前記情報を解析するステップと、
を備えることを特徴とする方法。
【請求項12】
前記選択されたデータ要素に対する前記情報は、前記データ要素識別子、前記ノードにおける到着時間、発信元アドレス及び/又は宛先アドレスを含むことを特徴とする請求項11に記載の方法。
【請求項13】
前記解析するステップは、前記選択されたデータ要素に対する前記情報から前記データストリームに対する統計を判定するステップを含むことを特徴とする請求項12に記載の方法。
【請求項14】
後続の解析のために、データストリームからデータ要素をサンプリングするサンプリング装置であって、ここで、前記データストリームは、各々が識別子の集合から判定された一意の準ランダム識別子を有する複数のデータ要素を含んでいる、
少なくとも所定数のデータ要素を格納するためのサンプルメモリと、
第1の要素選択範囲内にある識別子を持つデータ要素を前記データストリームから選択し、選択したデータ要素を前記サンプルメモリに格納するプロセッサとを有し、
ここで、前記第1の要素選択範囲は、識別子の集合の部分集合である;
前記サンプルメモリに前記所定数のデータ要素が含まれるようになった場合、前記プロセッサは、
第2の要素選択範囲を前記第1の要素選択範囲の適切な部分集合として決定し、
識別子が前記第2の要素選択範囲内にないデータ要素を、前記サンプルメモリから削除し、
識別子が前記第2の要素選択範囲内にある少なくとも1つの更なるデータ要素を、前記データストリームからを選択し、前記サンプルメモリに格納する
ことを特徴とするサンプリング装置。
【請求項15】
適切なコンピュータ又はプロセッサにより実行させ、前記コンピュータ又は前記プロセッサに請求項1乃至8のいずれか1項に記載の方法を実行させるように構成されるコンピュータ可読コードが記録されたコンピュータ可読媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公表番号】特表2013−513261(P2013−513261A)
【公表日】平成25年4月18日(2013.4.18)
【国際特許分類】
【出願番号】特願2012−541328(P2012−541328)
【出願日】平成21年12月4日(2009.12.4)
【国際出願番号】PCT/EP2009/066438
【国際公開番号】WO2011/066867
【国際公開日】平成23年6月9日(2011.6.9)
【出願人】(598036300)テレフオンアクチーボラゲット エル エム エリクソン(パブル) (2,266)
【Fターム(参考)】