(57)【特許請求の範囲】
【請求項１】
コンプレッサノードからデコンプレッサノードへ送信されるパケットに関しディープパケットインスペクション（ＤＰＩ）を行う方法であって、
圧縮ネゴシエーション段階の間にコンプレッサノードからデコンプレッサノードへ送信される非圧縮パケットを受信することと、
フローを一意に識別するのに十分である、非圧縮パケットから取り出された情報を格納することと、前記情報は、少なくともコンテキスト識別子を備え、
コンプレッサノードからデコンプレッサノードへ送信された圧縮パケットを受信することと、
前記情報および圧縮パケットから取り出された情報にアクセスすることによって、圧縮パケットをアクティブフローと関連付けることと、
アクティブフローと関連付けられたアプリケーションを識別するために、ディープパケットインスペクション（ＤＰＩ）を行うことと、
アクティブフローに属している少なくとも１つのパケットにアプリケーション固有処理を行うことと
を含む、方法。
【請求項２】
コンプレッサとデコンプレッサとの間に圧縮コンテキストを構築するためにコンテキスト識別子を使用すること
をさらに含む、
請求項１に記載の方法。
【請求項３】
トンネルヘッダから取り出されたソースアドレスと宛先アドレスのうちの少なくとも１つを使用してコンプレッサノードからデコンプレッサノードへのパスに沿って非圧縮パケットを転送すること
をさらに含み、
非圧縮パケットから取り出された情報が、ソースＩＰアドレス、ソースポート番号、宛先ＩＰアドレス、宛先ポート番号、およびプロトコル番号のうちの少なくとも１つを含む、
請求項１に記載の方法。
【請求項４】
アクティブフローと関連付けられたアプリケーションを識別するためにＤＰＩを行うことが、署名照合、パターン照合、ステートフル監視、行動分析、および統計分析のうちの少なくとも１つを含み、
圧縮パケットが、ＲＯＨＣ、ｃＲＴＰ、ＶＣ、およびＩＰＨＣからなる群から選択された圧縮方式を使用して圧縮される、
請求項１に記載の方法。
【請求項５】
アクティブフローに属する少なくとも１つのパケットにトラフィック管理機能を行うことと、
アクティブフローに属する少なくとも１つのパケットと関連付けられたサービス品質を変更することと
をさらに含む、請求項１に記載の方法。
【請求項６】
圧縮を使用するネットワークにおいてディープパケットインスペクションを行うための装置であって、
アクティブフローを通じてコンプレッサノードからデコンプレッサノードへ送信された非圧縮パケットおよび圧縮パケットを受信する通信モジュールと、
フローを一意に識別するのに十分である、非圧縮パケットから取り出された情報を格納する格納装置と、前記情報は、少なくともコンテキスト識別子を備え、
プロセッサであって、
前記情報および圧縮パケットから取り出された情報にアクセスすることによって圧縮パケットと関連付けられたアクティブフローを識別する、
識別されたフローと関連付けられたアプリケーションを識別するために、ディープパケットインスペクション（ＤＰＩ）を行うように構成されたプロセッサと
を含む、装置。
【請求項７】
非圧縮パケットから取り出された情報が、
コンプレッサとデコンプレッサとの間で圧縮コンテキストを構築するために使用されるコンテキスト識別子、コンプレッサノードからデコンプレッサノードまでパスに沿って非圧縮パケットを転送するために使用されるトンネルヘッダから取り出されたソースアドレスおよび宛先アドレス、ソースＩＰアドレス、ソースポート番号、宛先ＩＰアドレス、宛先ポート番号、ならびにプロトコル番号のうちの少なくとも１つを含む、
請求項６に記載の装置。
【請求項８】
圧縮パケットが、ＲＯＨＣ、ｃＲＴＰ、ＶＣ、およびＩＰＨＣからなる群から選択された圧縮方式を使用して圧縮される、
請求項６に記載の装置。
【請求項９】
コンプレッサノードからデコンプレッサノードへ送信されるパケットに関しディープパケットインスペクションを行うための命令を格納したコンピュータ可読媒体であって、
圧縮ネゴシエーション段階の間にコンプレッサノードからデコンプレッサノードへ送信される非圧縮パケットを受信するための命令と、
フローを一意に識別するのに十分である、非圧縮パケットから取り出された情報を格納するための命令と、前記情報は、少なくともコンテキスト識別子を備え、
コンプレッサノードからデコンプレッサノードへ送信された圧縮パケットを受信するための命令と、
前記情報および圧縮パケットから取り出された情報にアクセスすることによって、圧縮パケットをアクティブフローと関連付けるための命令と、
アクティブフローと関連付けられたアプリケーションを識別するために、ディープパケットインスペクション（ＤＰＩ）を行うための命令と、
アクティブフローに属している少なくとも１つのパケットにアプリケーション固有処理を行うための命令と
を含む、コンピュータ可読媒体。
【請求項１０】
非圧縮パケットから取り出された情報が、コンプレッサとデコンプレッサとの間で圧縮コンテキストを構築するために使用されるコンテキスト識別子、ならびにコンプレッサノードからデコンプレッサノードへパスに沿って非圧縮パケットを転送するために使用されるトンネルヘッダから取り出されたソースアドレスおよび宛先アドレスの少なくとも１つを含む、
請求項９に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概してレイヤ３またはレイヤ４圧縮の任意の形態を使用するネットワークにおけるＩＰフローの識別に関する。
【背景技術】
【０００２】
インターネットが次第に日常生活の不可欠な部分となり、インターネット利用者の数は常に増大してきた。最近の推定では、世界中のユーザの数は１０億を超えるとしている。さらに悪いことには、インターネットはユーザあたりのトラフィック量も極めて増大した。ストリーミング映像、ピアツーピアネットワーキング、および他の高帯域幅のアプリケーションが標準となるにつれて、根底にあるネットワークアーキテクチャにかかる負荷は指数関数的に増加する。例えば、およそ１０年前に使用されていた一般的な５６キロビット／秒のモデムから現在使用される平均的な５メガビット／秒のＤＳＬ接続へ帯域幅が増大したことについて考える。１０年足らずのうちに、エンドユーザに利用できる平均的な接続の帯域幅は、１００倍近く増大した。
【０００３】
ユーザおよびトラフィックの量が大幅に増大したにもかかわらず、インターネットの成長の減速は見られない。発展途上国では、インターネット接続が進歩の表れと見られている。一方で、現在インターネットに接続している人々については、インターネットへの依存が常に増大している。例えば、ユーザは、ローカルアプリケーションに代わるものとしてウェブベースのアプリケーションを実行する、またはＤＶＤを借りるよりも高画質の映画をダウンロードすることが多い。大量の帯域幅の数え切れないほどの他の利用が可能であり、または現在開発されつつある。
【０００４】
このような進歩の表れは大多数にとっては励みになるものであるが、サービス提供業者は困難な決断に直面している。輻輳管理システムを設計するとき、サービス提供業者は、ストリーミング映像、ピアツーピアのアプリケーション、およびその他の高帯域使用にインターネットを利用することを予想していなかった。その結果、多数のユーザが高帯域のアプリケーションを実行するとき、ベストエフォート型アーキテクチャは頻繁に輻輳を体験し、それによってユーザエクスペリエンスを阻害している。
【０００５】
こうした問題は、帯域幅がさらに限定される移動体網の状況で特に顕著である。移動体網は、音声のみのサービスからデータまたは混合型音声−データサービスへ次第に転換することを予想している。ユーザごとの帯域幅の要件が増大するにつれ、移動体網アーキテクチャにかかる負荷もまた増大した。
【０００６】
サービス提供業者、特に移動体網サービス提供業者は、したがって、個々のユーザの要求に基づいて、ベストエフォート型サービスの提供を続ける、帯域幅を増大して本質的に転送「ユーティリティ」になる、またはアプリケーション固有サービスを売り出す、といういくつかの選択から決断しなければならない。サービス提供業者は、ユーザがベストエフォート型サービスに満足しておらず、また無差別に帯域幅を増大すると、対応して収益が増えることなくサービス提供業者に追加のコストが発生するので、最初の２つの選択を満足できるものではないと見ている。一方で、アプリケーション固有サービスを販売すると、ユーザは受けたいと思うサービスの支払いをすることが可能になり、サービス提供業者が帯域幅を指数関数的に増やす必要がなくなる。
【０００７】
しかしながら、アプリケーション固有サービスを販売するためには、サービス提供業者は、まずアプリケーションに関する情報を識別し、収集するために、根底にあるネットワークアーキテクチャを変更しなければならない。移動体網の無線部分では、無線周波数の固有の規制により帯域幅が限られているので、アプリケーションごとのトラフィック管理を使用することが特に重要である。その結果、移動体オペレータは、請求の目的だけでなく、識別されたアプリケーションに基づいたトラフィック管理を行うために、アプリケーションの識別に役立つディープパケットインスペクション（ＤＰＩ）機器を配備することを開始した。
【０００８】
しかしながら、既存の移動体網アーキテクチャでは、移動体基地局に関係する情報はパケットがＤＰＩ要素に遭遇するまでに削除されるので、ＤＰＩ要素が無線周波数を効果的に管理できないような配置になっている。アプリケーションごとの使用を効果的に監視し、管理するためには、ＤＰＩ要素はエンドユーザにも移動体基地局にも視認できるネットワーク内の位置に移動される必要がある。
【０００９】
しかしながら、こうした場所にＤＰＩ要素を設置するには、ＤＰＩ要素がネットワークの移動体の側面に対処する必要がある。さらに詳細には、移動体網は、無線インタフェースによって伝送されるデータを最適化するために圧縮方式を利用する。圧縮は、ネットワークの無線部分によって送信されるデータの量を最小化するが、同様にアプリケーションを効果的に識別してアプリケーションごとの処理を行うためにＤＰＩ要素に必要とされるＩＰフロー情報も削除する。
【発明の概要】
【発明が解決しようとする課題】
【００１０】
したがって、パケットが圧縮される可能性があるデータパケットと関連するアプリケーションを識別する装置の必要性がある。さらに、Ｒｏｂｕｓｔ  Ｈｅａｄｅｒ  Ｃｏｍｐｒｅｓｓｉｏｎ  （ＲＯＨＣ）またはＣｏｍｐｒｅｓｓｅｄ  Ｒｅａｌ−Ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ  （ｃＲＴＰ）のような圧縮方式を前提としたデータパケットと関連するアプリケーションを識別するインライン装置の必要性がある。
【００１１】
本発明の前述の目的および利点は、様々な例示的実施形態によって達成可能である目的および利点を説明するものであって、実現されることが可能であると考えられる利点を網羅するまたは限定するものではない。したがって、様々な例示的実施形態のこれらの目的および利点ならびに他の目的および利点は、本明細書で具体化されて、または当業者には明らかである可能性がある変形物を考慮して変更されて、本明細書の記載から明らかとなり、あるいは様々な例示的実施形態を実行することから習得可能である。したがって、本発明は、様々な例示的実施形態で本明細書に示して説明する新規の方法、配列、組合せ、および改善点にある。
【課題を解決するための手段】
【００１２】
このインラインに組み込まれた移動体ディープパケットインスペクション（ＤＰＩ）のために圧縮されたＩＰフローを認識する必要性に照らして、様々な例示的実施形態の概要を提示する。次の概要では、いくらか簡略化および省略を行う場合があるが、これは様々な例示的実施形態のいくつかの態様を強調して伝えることを意図するものであり、本発明の範囲を限定することを意図するものではない。後の段落では、当業者が本発明の概念を構築して利用できるようにするのに適切な好ましい例示的実施形態についての詳細な説明を行う。
【００１３】
様々な例示的実施形態において移動体網の非移動体部分にＤＰＩ装置がインラインに配置されており、パケットは、転送される前にＤＰＩ装置を通過するようになっている。したがって、様々な例示的実施形態においてＤＰＩ装置は、入ってくるパケットのヘッダおよび／またはデータ部分から抽出された情報に基づいて、移動体網を通過するトラフィックを識別し、分類する。パケットから抽出された情報を使用して、ＤＰＩ装置は、たとえＤＰＩ装置がネットワークの移動体部分の外側のユーザ範囲に配置されていても、識別されたアプリケーションに基づいてトラフィックを管理するために、インラインポリシーの強化を行うことができる。
【００１４】
しかしながら、移動体網におけるＤＰＩ装置のインライン配置は、いくつかの問題を引き起こす。移動体網は、限られた帯域幅の使用を最小限にするために、圧縮を使用することが多い。より詳細には、２つのノード間のフローを確立した後に、ソースノードは送信されるデータの量を減少させるために、パケットヘッダ情報の大部分を省略する。例えば、多くの圧縮方式がソースアドレス、ソースポート、宛先アドレス、および宛先ポートを削除し、そのためにＤＰＩ装置ではアプリケーションの識別、およびアプリケーション固有の処理が不可能になる。しかしながら、適切に機能するためには、ＤＰＩ装置は最初のパケットだけではなく、すべてのパケットを特定のフローと関連付けなければならない。したがって、その機能を変更することなくＤＰＩ装置をインラインに配置すると、アプリケーションを意識した処理を実現することができない。
【００１５】
したがって、様々な例示的実施形態において、ソースノードから宛先ノードへ送信されたパケットを処理する方法、および命令でエンコードされた関連するコンピュータ可読媒体が、圧縮ネゴシエーション段階の間にソースノードから宛先ノードへ送信された非圧縮パケットを受信することと、フローを一意に識別するのに十分である、非圧縮パケットから取り出された情報を格納することと、ソースノードから宛先ノードへ送信された圧縮パケットを受信することと、格納された情報にアクセスすることによって圧縮パケットをアクティブフローと関連付けることと、アクティブフローと関連付けられたアプリケーションを識別するためにディープパケットインスペクション（ＤＰＩ）を行うことと、アクティブフローに属する少なくとも１つのパケットにアプリケーション固有処理を行うこととを含む。
【００１６】
様々な例示的実施形態において非圧縮パケットから取り出された情報は、ソースノードと宛先ノードとの間で圧縮コンテキストを構築するために使用されるコンテキスト識別子を含む。さらに、様々な例示的実施形態において非圧縮パケットから取り出された情報は、非圧縮パケットをソースノードから宛先ノードへ転送するために使用されるトンネルヘッダから取り出されたソースアドレスおよび宛先アドレスのうちの少なくとも１つを含む。さらに、様々な例示的実施形態において非圧縮パケットから取り出された情報は、ソースＩＰアドレス、ソースポート番号、宛先ＩＰアドレス、宛先ポート番号、およびプロトコル番号のうちの少なくとも１つを含む。
【００１７】
様々な例示的実施形態においてアプリケーションは、電子メールアプリケーション、ウェブブラウザ、映像アプリケーション、音声アプリケーション、ボイスオーバＩＰ、インスタントメッセージング、およびピアツーピアアプリケーションからなる群から選択される。様々な例示的実施形態において、アクティブフローと関連付けられたアプリケーションを識別するためにＤＰＩを行うステップは、署名照合、パターン照合、ステートフル監視、行動分析、および統計分析のうちの少なくとも１つを含む。
【００１８】
様々な例示的実施形態において圧縮パケットは、ＲＯＨＣ、ｃＲＴＰ、ＶＣ、およびＩＰＨＣからなる群から選択された圧縮方式を使用して圧縮される。様々な例示的実施形態においてアプリケーション固有処理を行うステップは、アクティブフローに属する少なくとも１つのパケットにトラフィック管理機能を実行することを含む。したがって、様々な例示的実施形態においてトラフィック管理機能は、アクティブフローに属する少なくとも１つのパケットと関連付けられたサービスの質を変更することを含む。
【００１９】
さらに、様々な例示的実施形態において、圧縮を使用するネットワークのトラフィックを処理するための装置は、アクティブＩＰフローを通じてソースノードから宛先ノードへ送信される非圧縮パケットおよび圧縮パケットを受信する通信モジュールと、パケットに関する情報を格納する格納装置と、格納装置に格納された情報にアクセスすることによって圧縮パケットと関連付けられたアクティブＩＰフローを識別し、識別されたフローもしくは他のタイプのアプリケーション固有処理と関連付けられたアプリケーションを識別するためにディープパケットインスペクション（ＤＰＩ）を行うように構成されたプロセッサとを含む。様々な例示的実施形態において、装置は独立型ＤＰＩ装置であるか、またはルータに組み込まれている。
【００２０】
様々な例示的実施形態をよりよく理解するために、添付の図面を参照する。
【図面の簡単な説明】
【００２１】
【図１】圧縮されたフローを識別することによってネットワークの移動体部分でインラインＤＰＩを使用する例示的移動体網の概略図である。
【図２】例示的な非圧縮Ｌ３パケットの概略図である。
【図３】例示的な圧縮Ｌ３パケットの概略図である。
【図４】圧縮Ｌ３データパケット上でＤＰＩを行うために使用される例示的システムの概略図である。
【図５】インラインに組み込まれたＤＰＩ装置のために圧縮フローを認識するための方法の例示的実施形態のフローチャートである。
【発明を実施するための形態】
【００２２】
ここで、同様の参照符号が同様の構成要素またはステップを指す図面を参照すると、様々な例示的実施形態の大まかな態様が開示されている。
【００２３】
図１は、圧縮フローを識別することによってネットワーク１００の移動体部分においてインラインＤＰＩを使用する例示的移動体網１００の概略図である。例示的移動体網１００は、ユーザノード１１０と、無線基地局１２０と、ネットワーク１３０と、無線ネットワークコントローラ１４０と、ディープパケットインスペクション装置１５０と、パケットデータサービングノード１６０とを含んでいる。
【００２４】
様々な例示的実施形態においてユーザノード１１０は、移動体網１００へのアクセスを可能にする、ユーザによって操作される装置である。より詳細には、様々な例示的実施形態においてユーザノード１１０は、携帯電話、情報携帯端末、パーソナルもしくはラップトップコンピュータ、無線電子メール装置、または無線通信に対応する他の装置である。さらに、様々な例示的実施形態においてユーザノード１１０が、移動体網１００によって転送されるデータ量を削減するために、パケットデータサービングノード１６０と連動してネゴシエートおよびヘッダの圧縮を行う。
【００２５】
様々な例示的実施形態において無線基地局１２０は、複数の無線チャネルを通じてユーザノード１１０とデータを無線で交換するためのアンテナを含んでいる装置である。さらに無線基地局１２０は、データをネットワーク１３０に転送するための有線のインタフェースを含んでいる。したがって、様々な例示的実施形態において無線基地局１２０は、３Ｇネットワークの中のＮｏｄｅ  Ｂ、またはＧｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ（ＧＳＭ）、Ｕｎｉｖｅｒｓａｌ  Ｍｏｂｉｌｅ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｓｙｓｔｅｍ（ＵＭＴＳ）、もしくは他の無線網の中で通信する別の無線基地局である。
【００２６】
また、様々な例示的実施形態においてネットワーク１３０は、無線基地局１２０と無線ネットワークコントローラ１４０との間の接続を行う。ネットワーク１３０は、無線基地局１２０と無線ネットワークコントローラ１４０との間でデータおよび要求を送信することができるいかなるネットワークとすることもできることは明らかである。したがって、ネットワーク１３０は、複数のルータ、スイッチ、ブリッジ、およびデータパケットを受信し、転送するのに好適な他の構成要素を含むことができる。
【００２７】
様々な例示的実施形態において無線ネットワークコントローラ１４０は、複数の無線基地局１２０を制御し、管理する。したがって、無線ネットワークコントローラ１４０は、無線基地局１２０の中の無線送信機および受信機を制御することによって無線基地局１２０におけるデータの送受信を指示する。さらに、様々な例示的実施形態において無線ネットワークコントローラ１４０は、無線基地局１２０とパケットデータサービングノード１６０との間でパケット交換データを送受信する。無線ネットワークコントローラ１４０は、基地局コントローラまたは無線基地局１２０の操作を指示することおよびデータパケットを送受信することができる別の装置に取って代わられることが可能であることは明らかである。
【００２８】
さらに、様々な例示的実施形態において移動体網１００は、無線ネットワークコントローラ１４０からパケットデータ交換ノード１６０に送信されるパケットをインターセプトする、「探知する（ｓｎｉｆｆ）」、または他の場合は受信するディープパケットインスペクション（ＤＰＩ）装置１５０を含んでいる。より詳細には、図５を参照して以下にさらに説明するように、ＤＰＩ装置１５０はパケットを受信し、パケットが圧縮されているか、圧縮されていないかを判断し、その判断によって処理を行う。
【００２９】
様々な例示的実施形態においてＤＰＩ装置１５０は、無線ネットワークコントローラ１４０から受信されたデータパケットを調べて、パケットと関連する情報を識別することができる専門のハードウェアおよび／またはソフトウェアを含む。したがって、様々な例示的実施形態においてＤＰＩ装置１５０は、フローを識別するために使用される情報を格納する記憶媒体、分析を行うプロセッサ、およびパケットを送受信する通信モジュールを含んでいる。
【００３０】
さらに、様々な例示的実施形態においてＤＰＩ装置１５０は、無線ネットワークコントローラ１４０、パケットデータ交換ノード１６０、または無線ネットワークコントローラ１４０とパケットデータ交換ノード１６０との間の接続性を提供するネットワーク（図示せず）の一部であるネットワーク要素に組み込まれている。様々な例示的実施形態において接続性を提供しているネットワークは、複数のルータ、スイッチ、ブリッジ、およびデータパケットを受信して転送することに適した他の構成要素を含む。あるいは、様々な例示的実施形態においてＤＰＩ装置１５０は、無線基地局１２０またはネットワーク１３０の一部であるネットワーク要素に配置されている、または組み込まれている。
【００３１】
様々な例示的実施形態においてＤＰＴ装置１５０は、開放型システム間相互接続（Ｏｐｅｎ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ、ＯＳＩ）モデルのレイヤ２からレイヤ７の中の情報のいかなる組合せも調べる。したがって、様々な例示的実施形態においてＤＰＩ装置１５０は、パケットと関連するアプリケーションを識別するために、１つまたは複数のパケットの「深い」分析を行う。例えば、ＤＰＩ装置１５０は、パケットが電子メール、ストリーミング映像、ウェブブラウジング、ピアツーピア転送、またはサービス提供業者が対象とするその他のアプリケーションに関係しているかどうかを判断するために、パケットを分析することができる。さらに、様々な例示的実施形態においてＤＰＩ装置１５０はトラフィック管理操作を行い、その後パケットをパケットデータサービングノード１６０に転送する。
【００３２】
様々な例示的実施形態においてパケットデータサービングノード１６０は、移動体網１００と１つまたは複数のＩＰ網（図示せず）との間の接続として機能を果たす。したがって、様々な例示的実施形態においてパケットデータサービングノード１６０は、インターネットと無線ネットワークコントローラ１４０との間でパケットを転送する。さらに、様々な例示的実施形態においてパケットデータサービングノード１６０は、ユーザノード１１０から受信された圧縮パケットにヘッダの解凍を行う。パケットデータサービングノード１６０は、ＧａｔｅｗａｙＧｅｎｅｒａｌ  Ｐａｃｋｅｔ  Ｒａｄｉｏ  Ｓｅｒｖｉｃｅ  Ｓｕｐｐｏｒｔ  Ｎｏｄｅ（ＧＧＳＮ）、Ｓｅｒｖｉｎｇ  ＧａｔｅｗａｙＧｅｎｅｒａｌ  Ｐａｃｋｅｔ  Ｒａｄｉｏ  Ｓｅｒｖｉｃｅ  Ｓｕｐｐｏｒｔ  Ｎｏｄｅ（ＳＧＳＮ）、または移動体網１００とＩＰ網との間で接続を提供することができる他のノードに取って代わられることが可能であることは明らかである。
【００３３】
３Ｇ無線移動体網として示しているが、ネットワーク１００は、圧縮を利用するいかなるネットワークとすることも可能であることは明らかである。したがって、様々な例示的実施形態においてネットワーク１００は、異なる規格の下で動作するセルラネットワーク、衛星網、有線網、またはノード間で圧縮を利用する他の何らかのタイプのネットワークである。
【００３４】
図２は、例示的な非圧縮パケット２００の概略図である。様々な例示的実施形態において非圧縮パケット２００は、特に、パケットヘッダ２１０、ソースアドレス２２０、宛先アドレス２３０、コンテキスト識別子（ＩＤ）２４０、およびデータ２５０を含んでいる。
【００３５】
様々な例示的実施形態においてパケットヘッダ２１０は、ソースから宛先へ非圧縮パケット２００を転送するために使用されるデータを含んでいる。したがって、様々な例示的実施形態においてパケットヘッダ２１０は、ソースアドレスフィールド２２０を含んでおり、これは、ソースＩＰアドレスおよびソースポートを含むことができる。さらに、様々な例示的実施形態においてパケットヘッダ２１０は、宛先アドレスフィールド２３０を含んでおり、これは、宛先ＩＰアドレスおよび宛先ポートを含むことができる。さらに、パケットヘッダ２１０は、コンテキストＩＤ２４０を含んでおり、これは、様々な例示的実施形態において、コンプレッサとデコンプレッサの間で圧縮コンテキストを一意に識別する。
【００３６】
パケットヘッダ２１０は、簡略化するために、ソースアドレスフィールド２２０、宛先アドレス２３０、およびコンテキストＩＤ２４０のみを含んでいるように示されていることは明らかである。したがって、様々な例示的実施形態においてパケットヘッダ２１０は、プロトコル番号、トラフィッククラス、フローラベル、ペイロード長、次のヘッダ、およびホップ制限などの、ただしこれらに限定されない、さらなるフィールドを含んでいる。さらに、非圧縮パケット２００は、ＩＰパケット、転送制御プロトコル（ＴＣＰ）パケット、ユーザデータグラムプロトコル（ＵＤＰ）パケット、または圧縮を行われる可能性がある他のプロトコルでフォーマットされたパケットである場合があることは明らかである。
【００３７】
図３は、例示的な圧縮パケット３００の概略図である。様々な例示的実施形態において圧縮パケット３００は、コンテキストＩＤ２４０およびデータ３５０のみを含んでいる。したがって、コンプレッサおよびデコンプレッサが圧縮コンテキストをネゴシエートした後、コンプレッサはデータ転送量を最小化するために圧縮パケット３００を送信する。
【００３８】
図４は、圧縮データパケットにＤＰＩを行うために使用される例示的システム４００の概略図である。例示的システム４００は、ソースノード４１０、ＤＰＩ装置４２０、および宛先ノード４３０を含んでいる。様々な例示的実施形態においてソースノード４１０が、ＲＯＨＣ、ｃＲＴＰ、Ｖａｎ  Ｊａｃｏｂｓｏｎ  Ｈｅａｄｅｒ  Ｃｏｍｐｒｅｓｓｉｏｎ（ＶＣ）、およびＩｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｈｅａｄｅｒ  Ｃｏｍｐｒｅｓｓｉｏｎ（ＩＰＨＣ）などの、ただしこれらに限定されない、いかなる圧縮方式を使用しても、宛先ノード４３０にパケットを送信することは明らかである。
【００３９】
様々な例示的実施形態においてソースノード４１０は、ネットワークを通じて宛先ノード４３０にパケットを転送する。様々な例示的実施形態においてソースノード４１０は、デコンプレッサに送信されるパケットを圧縮するために使用されるコンプレッサである。したがって、様々な例示的実施形態においてソースノード４１０は、ユーザノード１１０、無線ネットワークコントローラ１４０、パケットデータサービングノード１６０、または送出パケットの圧縮が有益であるネットワークの中の位置に配置された他のノードである。あるいは、様々な例示的実施形態においてソースノード４１０は非圧縮パケットを送信し、非圧縮パケットはその後コンプレッサに受信され、圧縮される。
【００４０】
様々な例示的実施形態においてＤＰＩ装置４２０は、ＤＰＩ装置１５０と同様の構造および機能である。したがって、様々な例示的実施形態においてＤＰＩ装置４２０は、ソースノード４１０から宛先ノード４３０へ送信されたパケットをインターセプトする、「探知する」、または他の場合は受信する。より詳細には、図５を参照して以下にさらに説明するように、ＤＰＩ装置４２０は、パケットを受信し、このパケットが圧縮されているか、圧縮されていないかを判断し、その判断に従って処理を行う。
【００４１】
独立型の装置として示しているが、様々な例示的実施形態においてＤＰＩ装置４２０はルータに組み込まれた構成要素であることは明らかである。したがって、様々な例示的実施形態においてルータがパケットを次のホップに転送する前に、ＤＰＩ装置４２０がルータによって受信された各パケットを分析する。
【００４２】
さらに、ＤＰＩ装置４２０は、簡略化のために、ソースノード４１０および宛先４３０に直接に接続されているように示されていることは明らかである。したがって、様々な例示的実施形態において１つまたは複数のスイッチ、ルータ、ブリッジ、または他のネットワーク要素が、ＤＰＩ装置４２０とソースノード４１０または宛先ノード４３０との間に配置されている。
【００４３】
様々な例示的実施形態において宛先ノード４３０は、ソースノード４１０からパケットを受信する。様々な例示的実施形態において宛先ノード４３０は、コンプレッサから受信されるパケットを解凍するために使用されるデコンプレッサである。したがって、様々な例示的実施形態において宛先ノード４３０は、ユーザノード１１０、無線ネットワークコントローラ１４０、パケットデータサービングノード１６０、または入ってくるパケットの解凍が有益であるネットワークの中の位置に配置された、他のいかなるノードでもある。あるいは、様々な例示的実施形態において圧縮パケットが宛先ノード４３０に届く前にデコンプレッサによって処理されることが可能であるので、宛先ノード４３０は非圧縮パケットを受信する。
【００４４】
図５は、インラインに組み込まれたＤＰＩ装置４２０のために圧縮フローを認識するための方法５００の例示的実施形態のフローチャートである。例示的な方法５００は、ステップ５１０に始まって、ステップ５２０へ進み、ここでＤＰＩ装置４２０は、ソースノード４１０から宛先ノード４３０に送信されたパケットをインターセプトする、探知する、または他の場合は受信する。例示的方法５００は、その後ステップ５３０へ進み、ここでＤＰＩ装置４２０は、パケットが圧縮されているかどうかを判断する。
【００４５】
ステップ５３０において、パケットが圧縮されていない（すなわち非圧縮）と判断されるとき、例示的な方法５００はステップ５４０へ進み、ここで非圧縮パケット２００が新しいフローと関連付けられるべきかどうか判断される。より詳細には、ＤＩＰ装置４２０は、フローを一意に識別するために使用される非圧縮パケット２００のヘッダの中の情報にアクセスし、この情報がＤＰＩ装置４２０に格納されているかどうかを判断する。したがって、様々な例示的実施形態においてヘッダから取り出された情報は、ソースＩＰ、ソースポート番号、宛先ＩＰ、宛先ポート番号、およびプロトコル番号を含んでいる。
【００４６】
ステップ５４０において、非圧縮パケット２００が新しいフローと関連付けられるべきであると判断されるとき、例示的方法５００はステップ５５０ヘ進む。ステップ５５０では、ＤＰＩ装置４２０が、将来受信されるパケットを識別されたフローと関連付けるために使用される情報を格納する。
【００４７】
より詳細には、ステップ５５０において、ＤＰＩ装置４２０が非圧縮パケット２００からコンテキスト識別子２４０を取り出し、コンテキスト識別子２４０を格納し、ＤＰＩ装置が同じコンテキスト識別子２４０を使用してその後受信したデータパケットを識別できるようにする。様々な例示的実施形態においてコンテキスト識別子２４０は、ソースノード４１０と宛先ノード４３０との間でフローを一意に識別するのに十分であることは明らかである。しかしながら、様々な例示的実施形態において各フローを一意に識別するのに追加情報が必要である。
【００４８】
したがって、様々な例示的実施形態においてＤＩＰ装置４２０はまた、ソースノード４１０から宛先ノード４３０にパケットをルーティングするために使用されるトンネルヘッダから情報を集める。したがって、例えばこの情報は、無線ネットワークコントローラ１４０とパケットデータ交換ノード１６０との間でパケットを搬送するＬ２またはＬ３トンネルについて記述する場合がある。様々な例示的実施形態においてＤＰＩ装置４２０は、ソースＩＰアドレスまたは宛先ＩＰアドレスのような、トンネルヘッダから１つまたは複数のフィールドを取り出し、コンテキスト識別子２４０と関連してこれらのフィールドを格納する。トンネルヘッダは圧縮されていないので、ＤＰＩ装置４２０は、ソースノード４１０から宛先ノード４３０に送信される、その後の圧縮パケットからこの情報を集めることができる。したがって、例えばＤＰＩ装置４２０は、ＤＰＩ装置４２０がフローを一意に識別することができるように、トンネルヘッダからＲＮＣ１４０またはＰＤＳＮ１６０のＩＰアドレスを取り出すことができる。
【００４９】
様々な例示的実施形態においてＤＰＩ装置４２０はまた、非圧縮パケット２００のパケットヘッダから情報を格納する。したがって、ＤＰＩ装置４２０は、ソースＩＰアドレス、ソースポート番号、ＩＰアドレス、宛先ポート番号、およびプロトコル番号を取り出し、コンテキストＩＤおよび／またはトンネルヘッダ情報と併せてこの情報を格納することができる。よって、様々な例示的実施形態においてフローを一意に識別するために必要とされるすべての情報がＤＰＩ装置４２０に格納されているので、ＤＰＩ装置４２０は、特定のフローの中の圧縮パケットも非圧縮パケットも一様に処理することができる。
【００５０】
様々な例示邸実施形態においてコンテキスト識別子２４０に加えてステップ５５０で格納された情報は、トンネルヘッダおよびＩＰの５タプルまたは６タプルデータに限定されないことは明らかである。したがって、様々な例示的実施形態においてＤＰＩ装置４２０は、コンプレッサとデコンプレッサとの間で圧縮コンテキストを一意に識別するのに十分である追加情報を格納する。
【００５１】
一方、ステップ５４０において、非圧縮パケット２００が新しいフローと関連付けられない（すなわち、パケットはすでに識別されたフローと関連付けられている）と判断されると、例示的方法５００はステップ５６０に進む。ステップ５６０では、ＤＰＩ装置４２０は、フローを一意に識別するために使用される、格納された情報を更新する。より詳細には、ＤＰＩ装置４２０は、ステップ５５０において最初に格納されたときから変化した情報を更新する。
【００５２】
一方、ステップ５３０において、パケットが圧縮されていると判断されるとき、例示的方法５００はステップ５７０に進み、ここでＤＰＩ装置４２０がフローを一意に識別するために必要な情報を取り出す。したがって、様々な例示的実施形態においてＤＰＩ装置４２０は、圧縮パケット３００からコンテキスト識別子２４０を取り出す。さらに、ＤＰＩ装置４２０は、場合によってはソースノード４１０から宛先ノード４３０へ圧縮パケット３００を送信するために使用されるトンネルヘッダからの情報、またはフローを一意に識別するために必要とされる他の情報を取り出す。例示的方法５００は、その後ステップ５８０へ進む。
【００５３】
ステップ５８０において、ＤＰＩ装置４２０はパケットを、圧縮パケット３００から取り出された情報およびＤＰＩ装置４２０に格納された情報に基づいて前もって識別されたフローと関連付ける。様々な例示的実施形態においてコンテキストＩＤ２４０は、ソースノード４１０と宛先ノード４３０との間でフローを一意に識別するのに十分である。したがって、様々な例示的実施形態においてＤＰＩ装置４２０は、コンテキストＩＤ２４０をＤＰＩ装置４２０に格納されたコンテキストＩＤ情報と比較することによって、圧縮パケット３００をフローと関連付ける。
【００５４】
あるいは、様々な例示的実施形態においてＤＰＩ装置４２０は、ソースノード４１０と宛先ノード４３０との間のフローを一意に識別するために追加情報を利用しなければならない。より詳細には、様々な例示的実施形態においてＤＰＩ装置４２０は、ソースＩＰアドレスまたは宛先ＩＰアドレスのような、圧縮パケット３００のトンネルヘッダから１つまたは複数のフィールドを取り出す。その後ＤＰＩ装置４２０は、トンネルヘッダから取り出したコンテキストＩＤ２４０および情報を、ＤＰＩ装置４２０に格納された対応する情報と比較することによって、パケットをアクティブフローと関連付ける。
【００５５】
ステップ５５０において情報を格納するか、ステップ５６０において情報を更新するか、またはステップ５８０においてパケットをアクティブフローと関連付けた後、例示的方法５００はステップ５９０に進み、ここでＤＰＩ装置４２０は、識別されたフローに基づいてＤＰＩ処理を行う。したがって、様々な例示的実施形態においてＤＰＩ装置４２０は、フローと関連付けられたアプリケーションを識別するために、１つまたは複数のパケットのＯＳＩレイヤ３からレイヤ７の中の情報のいかなる組合せも調べる。例えば、ＤＰＩ装置４２０は、フローが電子メール、ストリーミング映像、ウェブブラウジング、ピアツーピア伝送、ボイスオーバＩＰ  （ＶｏＩＰ）、またはサービス提供業者が対象とする他のアプリケーションに関連するかどうかを判断するために、１つまたは複数のパケットを分析することができる。様々な例示的実施形態においてＤＰＩ装置４２０によって行われる分析は、署名およびパターン照合、ステートフル監視、行動分析、および統計分析のうちの少なくとも１つを含む。
【００５６】
さらに、様々な例示的実施形態においてＤＰＩ装置４２０は、アプリケーション固有処理を行う。様々な例示的実施形態においてこのアプリケーション固有処理は、トラフィック管理操作を含んでいる。したがって、ＤＰＩ装置４２０は、識別されたフローの中のパケットをどのように処理するかを決定するために、ソースノード４１０に位置する加入者と関連付けられたサービスレベルに関する一致にアクセスすることができる。この決定に基づいて、ＤＰＩ装置４２０は、Ｄｉｆｆｅｒｅｎｔｉａｔｅｄ  Ｓｅｒｖｉｃｅｓ  Ｃｏｄｅ  Ｐｏｉｎｔ（ＤＳＣＰ）のような、サービス品質（ＱｏＳ）のマーキングをパケットと関連付けることができる。
【００５７】
例えば、ＤＰＩ装置４２０は、フローがストリーミング映像に対応すること、およびソースノード４１０に位置する加入者がこのような転送に高品質のサービスを受けるために追加料金を支払ったことを判定することができる。したがって、ＤＰＩ装置４２０は、このパケットが高優先度を与えられるべきであることを示すために、より高いＤＳＣＰ値を用いてパケットにマークを付けることができる。あるいは、ＤＰＩ装置４２０は、フローがピアツーピア伝送と関連付けられること、および加入者が単に基本レベルのサービスの支払いを行っていることを判定することができる。したがって、ＤＰＩ装置４２０は、このパケットがより低い優先度を与えられるべきであることを示す値を用いてこのフローの中のパケットにマークを付けることができる。
【００５８】
パケットにマークを付けることを参照して説明しているが、ＤＰＩ装置４２０がいかなるアプリケーション固有処理を行うことも可能であることは明らかである。したがって、ＱｏＳ処理に加えて、ＤＰＩ装置４２０は、例えばパケットを削除する、統計を集める、および課金管理することができる。ステップ５９０においてＤＰＩ処理を行った後、例示的方法５００はステップ５９５へ進み、ここで例示的方法５００は停止する。
【００５９】
前述に従って、様々な例示的実施形態は、フローの中のパケットが圧縮アルゴリズムに従っているときでさえ、フローを識別し、分析するＤＰＩ装置を含む。より詳細には、様々な例示的実施形態においてＤＰＩ装置は、非圧縮パケットに含まれている情報を格納し、この情報を利用してその後受信される、フローと関連付けられた圧縮パケットを識別する。フローの識別に基づいて、ＤＰＩ装置はフローの中のパケットを調べ、対応するアプリケーションを識別し、アプリケーション固有処理を行う。
【００６０】
様々な例示的実施形態をその一定の例示的態様を特に参照して詳細に説明したが、本発明は他の実施形態が可能であり、本発明の詳細は様々な明らかな点で変更可能であることを理解されたい。当業者には容易に理解されるように、本発明の趣旨および範囲内にありながら、変形形態および変更形態が考えられる。したがって、上記の開示、説明、および図は単に例示の目的のためであって、本発明を決して限定するものではなく、本発明は特許請求の範囲によってのみ定められる。
【図１】
0005600602.tif 000002
【図２】
0005600602.tif 000003
【図３】
0005600602.tif 000004
【図４】
0005600602.tif 000005
【図５】
0005600602.tif 000006