【課題を解決するための手段】
【0014】
このために、本発明は、電気通信ネットワークを介してクライアントとエンティティとの間で交換されるデータストリームを処理するための方法であって、データストリームが、データパケットのセットを含み、この処理方法が、
- データストリームに属するデータパケットを傍受すると、データパケットをコピーし、またはデータパケットへの参照を生成し、受信者にデータパケットを転送するステップであって、データストリームが発信元と受信者とを含み、クライアントがデータストリームの発信元または受信者である、ステップと、
- データストリームを分析することができるストリームアナライザに、上記のコピーまたは参照を送信するステップと、
- ストリームアナライザからデータストリームの分析の結果を受信するステップと、
- 受信された分析結果に基づいて、データストリームを処理するステップと
を含む方法を提案する。
【0015】
エンティティとは、クライアントとデータストリームを交換することができる任意のエンティティを意味し、たとえば、別のクライアントまたはサーバであってもよい。
【0016】
分析結果とは、所与のカテゴリーへのデータストリームの任意の分類、またはデータストリームの特性の任意の推論を意味する。この結果は、ストリームの単一のパケットの分析によって取得されてもよく、または代替的に、ストリームのいくつかのパケットの分析を必要としてもよい。ストリームの処理は、分析結果を入力とし、この分析結果に関連する処理を示すルールのセットに基づくものであってもよい。
【0017】
本発明による方法を実施するストリームアナライザおよびエンティティが、同じメモリスペースを共有する場合には、ストリームアナライザがパケットを分析するには、データパケットへの参照(メモリにおけるパケットのストレージアドレスなど)で十分である。この場合、パケットは、一方では受信者に転送され、他方では、ストリームアナライザおよび本方法を実施するエンティティがパケットのそれらのそれぞれの処理を完了するまで、メモリに記憶されるが、これらの処理の完了の順序はほとんど重要ではない。したがって、パケットは場合によっては、ストリームアナライザによるその処理が完了していないのでメモリに保存されているにもかかわらず、すでに受信者に送信されていてもよい。このような参照の生成により、ストリームアナライザおよび本発明による方法を実施するエンティティが、同じメモリスペースを共有する場合に、データパケットを不必要にコピーしないようにすることが可能になる。データパケットをコピーするために要するソフトウェアリソースの不必要な消費は、このようにして回避される。
【0018】
さらに、ストリームの分析を、データパケットのコピーに、またはデータパケットへの参照に基づかせると、有利には、各パケットが分析されている間、データパケットは保持される必要がないので、ストリームの分析に関連するレイテンシを減らすことが可能になる。対応して、処理がストリームを許可または禁止することにある場合には、禁止されたストリームに属する恐れがあるデータパケットが受信者に送信されるが、実際には、禁止されたストリームの数個のデータパケットを通過させることは、特にいくつかのタイプのストリーム(たとえば、P2Pストリームなど)を禁止することが求められる情況では害はない。処理が、分析結果に応じてサービス品質ポリシーを適用することにある場合には、対応して、サービス品質ポリシーは、分析結果が受信されると実施されるにすぎない。しかしながら、これは、最も悲観的なシナリオにおいて、たとえば、ビデオ会議に対応する第1のパケットにサービス品質が適用されないようにするにすぎず、これはユーザには害はない。
【0019】
本方法は、データパケットをコピーすることまたは参照を生成することに続く、所定の継続時間Dの時間遅延ステップをさらに含むことができ、
- ストリーム分析結果が、ストリームアナライザから受信され、データストリームが許可される場合、または
- ストリーム分析結果が、ストリームアナライザからまだ受信されていない場合
にのみ、データパケットは、時間遅延の満了時に受信者に転送され得る。
【0020】
このようにして、禁止されたストリームのデータパケットを転送するリスクを制限すること、または所与のサービス品質ポリシーが適用されるべきパケットを転送しないようにすることが可能となると同時に、保証される最大レイテンシを確保し、これはインターネットストリームなどのデータストリームの情況において有利である。
【0021】
変形形態として、コピーされた後に、または参照を生成した後に、データパケットは、受信者に瞬時に転送することができる。
【0022】
参照がストリームアナライザに転送されるとき、およびデータパケットが受信者に転送されるとき、データパケットはさらに、本方法を実施するエンティティのメモリに記憶される。このメモリは、受信された参照によってパケットにアクセスするストリームアナライザに利用可能にされる。
【0023】
したがって、フィルタリング方法は、この実施形態によれば、レイテンシの観点から透過的である。
【0024】
一実施形態では、データストリームを処理するステップは、
- 受信された分析結果に応じてサービス品質ポリシーを適用するステップ、または
- 受信された分析結果に基づいて、データストリームを許可もしくは禁止するステップ
を含むことができる。
【0025】
当然ながら、他の処理を考えることができ、サービス品質ポリシーの適用およびストリームのフィルタリング(許可または禁止)は、単に例として与えるものである。
【0026】
さらに、所定の継続時間Dは、データストリームのセットNに対して、N個のデータストリームのうちの少なくとも1つの所定の部分kが、D未満の分析継続時間でストリームアナライザによって分析可能であるように統計的に決定され得る。
【0027】
継続時間Dは、このようにして、低レイテンシと、禁止されたストリームのデータパケットを転送するリスクが低いこと、またはサービス品質ポリシーが適用されているはずのデータパケットを転送するリスクが低いこととの折り合いを確保するように最適化される。
【0028】
本発明の一実施形態によれば、受信された分析に基づいてデータストリームを処理するステップは、
- データベースにデータストリームのマーキングを記憶するステップであって、マーキングは、ストリームが許可されるか、または禁止されるかを示す、ステップ
を含むことができる。
【0029】
本方法は、データパケットを傍受するごとに、
- 受信されたパケットに対応するデータストリームを識別するステップと、
- データパケットが、許可されたストリームに対応する場合、データパケットを受信者に転送するステップと、
- データパケットが、禁止されたストリームに対応する場合、データパケットをブロックするステップと
をさらに含むことができる。
【0030】
本発明の第2の態様は、コンピュータプログラム製品であって、このコンピュータプログラム製品がプロセッサによって実行されるとき、本発明の第1の態様による方法を実施するための命令を含む、コンピュータプログラム製品に関する。
【0031】
本発明の第3の態様は、電気通信ネットワークを介してクライアントとエンティティとの間で交換されるデータストリームを処理するためのデバイスであって、データストリームが、データパケットのセットを含み、処理デバイスが、
- データストリームに属するデータパケットを傍受するための入力インターフェースと、
- 出力インターフェースと、
- データストリームに属するデータパケットを傍受すると、データパケットをコピーし、またはデータパケットへの参照を生成し、出力インターフェースを介して受信者にデータパケットを転送するように構成されたプロセッサであって、データストリームが発信元および受信者を含み、クライアントがデータストリームの発信元または受信者である、プロセッサと
を備える、デバイスに関する。
【0032】
出力インターフェースは、データストリームを分析することができるストリームアナライザへ、コピーを送信するようにさらに設計されることが可能であり、入力インターフェースは、ストリームアナライザからデータストリームの分析の結果を受信するようにさらに設計されることが可能であり、プロセッサは、受信された分析結果に基づいてデータストリームを処理するようにさらに設計されることが可能である。
【0033】
プロセッサは、データパケットをコピーすることまたは参照を生成することに続く、所定の継続時間Dの間、時間遅延し、
- ストリーム分析結果が、ストリームアナライザから受信され、データストリームが許可される場合、または
- ストリーム分析結果が、ストリームアナライザからまだ受信されていない場合
にのみ、時間遅延の満了時に受信者にデータパケットを転送することがさらに可能となり得る。
【0034】
本発明の第4の態様は、本発明の第3の態様による処理デバイスと、データストリームの1つまたは複数のデータパケットに基づいてデータストリームの分析の結果を取得することができるストリームアナライザとを備えるデータストリーム処理システムに関する。
【0035】
本発明の他の特徴および利点は、以下に詳述する説明、および添付の図面を調べれば明らかになるであろう。