(57)【要約】  方法は、データトランスポートネットワークの中のコンピューティング装置により実行される。コンピューティング装置は、ネットワークの一部の現在状態に対応する輻輳関連情報を受信する。コンピューティング装置は、データトランスポートセッションが公平なプロトコルを有するか否かを決定する。データトランスポートセッションが公平なプロトコルを有するとき、データトランスポートセッションの輻輳ポリシを決定し、輻輳関連情報を用いて、輻輳ポリシをデータトランスポートセッションに適用する。
2021505042.tif 000002
【特許請求の範囲】
【請求項１】
データトランスポートネットワークの中のコンピューティング装置により実行される方法であって、前記方法は、
前記コンピューティング装置により、前記ネットワークの一部の現在状態に対応する輻輳関連情報を受信するステップと、
前記コンピューティング装置により、データトランスポートセッションが公平なプロトコルを有するか否かを決定するステップと、
前記データトランスポートセッションが前記公平なプロトコルを有するとき、
前記データトランスポートセッションの輻輳ポリシを決定するステップと、
前記輻輳関連情報を用いて、前記輻輳ポリシを前記データトランスポートセッションに適用するステップと、
を含む方法。
【請求項２】
前記データトランスポートセッションの前記輻輳ポリシを決定するステップは、前記データトランスポートセッションのトランスポートレベルプロトコルに従い、前記公平なプロトコルを決定するステップを含む、請求項１に記載の方法。
【請求項３】
前記データトランスポートセッションの前記輻輳ポリシを決定するステップは、前記データトランスポートセッションのエンドポイントに従い、前記公平なプロトコルを決定するステップを含む、請求項１に記載の方法。
【請求項４】
前記データトランスポートセッションの前記輻輳ポリシを決定するステップは、前記データトランスポートセッションの前記エンドポイントを含むサブネットワークに従い、前記公平なプロトコルを決定するステップを含む、請求項３に記載の方法。
【請求項５】
前記データトランスポートセッションの前記輻輳ポリシを決定するステップは、
前記データトランスポートセッションを用いてアプリケーションを決定するステップと、
前記アプリケーションに従い、前記輻輳ポリシを決定するステップと、
を含む、請求項１に記載の方法。
【請求項６】
前記データトランスポートセッションに前記輻輳ポリシを適用するステップは、前記データトランスポートセッションのエンドポイントに輻輳の指示を提供するステップを含む、請求項１に記載の方法。
【請求項７】
前記指示は、前記データトランスポートセッションの輻輳ウインドウを調整するためのものである、請求項６に記載の方法。
【請求項８】
前記データトランスポートセッションの前記エンドポイントに前記輻輳の指示を提供するステップは、前記データトランスポートセッションのメッセージのトランスポートレイヤヘッダの中の１つ以上のビットを変更することにより実行される、請求項６に記載の方法。
【請求項９】
前記コンピューティング装置により、前記輻輳関連情報を受信するステップは、
前記コンピューティング装置により、ネットワークノードから輻輳関連情報を受信するステップ、を含み、
前記コンピューティング装置は、前記データトランスポートセッションを運ぶパスの外部にあり、前記データトランスポートセッションを運ぶ前記パスの中にある前記データトランスポートネットワークの中の装置と通信することにより、当該方法を実行する、請求項１に記載の方法。
【請求項１０】
前記ネットワークノードは、前記データトランスポートセッションを通信するために使用される無線アクセスネットワーク（ＲＡＮ）の基地局であり、
前記輻輳関連情報は、スループット情報、ジッタ情報、競合する同時発生フローの数の情報、前記ＲＡＮのユーザ数、前記ＲＡＮの１人以上のユーザのリアルタイムスループット情報、前記ＲＡＮのチャネル品質指示子（ＣＱＩ）、超過リソース要求による遅延の情報、及び前記ＲＡＮのデータトランスポートセッションに関する優先度情報、を有するグループから選択された１つ以上の情報を含む、請求項９に記載の方法。
【請求項１１】
前記データトランスポートセッションは、同じネットワーク内の複数のセッションのうちの１つであり、
前記輻輳ポリシは、前記データトランスポートセッションが、同じネットワーク内の他のセッションのうちの１つより少ない時間で送信された、又はより少ないバイトで送信された、又はその両方の場合、前記データトランスポートセッションを優先させる、請求項１に記載の方法。
【請求項１２】
前記データトランスポートセッションを優先させる前記輻輳ポリシは、前記コンピューティング装置が、前記複数のセッションからの相互トラフィック競合により同じネットワークに渡るネットワーク伝送遅延を有するとき、実施される、請求項１１に記載の方法。
【請求項１３】
システムであって、
非一時的プログラムコマンドを格納するメモリと、
プロセッサと、
を含み、前記プロセッサが前記プログラムコマンドを実行すると、前記プロセッサは、
ネットワークの一部の現在状態に対応する輻輳関連情報を受信し、
データトランスポートセッションが公平なプロトコルを有するか否かを決定し、
前記データトランスポートセッションが前記公平なプロトコルを有するとき、
前記データトランスポートセッションの輻輳ポリシを決定し、
前記輻輳関連情報を用いて、前記データトランスポートセッションの前記輻輳ポリシを適用する、システム。
【請求項１４】
前記データトランスポートセッションの前記輻輳ポリシを決定することは、前記データトランスポートセッションのトランスポートレベルプロトコルに従い、前記輻輳ポリシを決定することを含む、請求項１３に記載のシステム。
【請求項１５】
前記データトランスポートセッションの前記輻輳ポリシを決定することは、前記データトランスポートセッションのエンドポイントに従い、前記輻輳ポリシを決定することを含む、請求項１３に記載のシステム。
【請求項１６】
前記データトランスポートセッションの前記輻輳ポリシを決定することは、前記データトランスポートセッションの前記エンドポイントを含むサブネットワークに従い、前記輻輳ポリシを決定することを含む、請求項１５に記載のシステム。
【請求項１７】
前記データトランスポートセッションの前記輻輳ポリシを決定することは、
前記データトランスポートセッションを用いてアプリケーションを決定することと、
前記アプリケーションに従い、前記輻輳ポリシを決定することと、
を含む、請求項１３に記載のシステム。
【請求項１８】
前記データトランスポートセッションに前記輻輳ポリシを適用することは、前記データトランスポートセッションのエンドポイントに輻輳の指示を提供することを含む、請求項１３に記載のシステム。
【請求項１９】
前記指示は、前記データトランスポートセッションの輻輳ウインドウを調整するためのものである、請求項１８に記載のシステム。
【請求項２０】
前記データトランスポートセッションの前記エンドポイントに前記輻輳の指示を提供することは、前記データトランスポートセッションのメッセージのトランスポートレイヤヘッダの中の１つ以上のビットを変更することにより実行される、請求項１８に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願］
本願は、あらゆる目的のために参照によりここに組み込まれる米国仮特許出願番号第６２／５９０，９２１号、２０１７年１１月２７日出願、の利益を請求する。
【背景技術】
【０００２】
データトランスポートプロトコルは、それらのプロトコルスタックに、トランスポート測定（つまり、データ損失、待ち時間、スループット）に基づきデータパケット送信レートを増大する又は減少させる公平な（fair−share）コンポーネントを実装してよい。公平な実装は、異なるトランスポートプロトコル（例えば、伝送ＴＣＰ（Transmission  Control  protocol）、ＵＤＰ（User  Datagram  Protocol）、等）の間で変化し得るが、目的は同じであり、各々の競合するデータ転送に共有データトランスポート環境の等しいアクセスを与えることである。例えば、１０Ｍｂｐｓのトランスポート環境及び５個のユニークなデータトランスポート接続が存在する場合、公平なコンポーネントは、それぞれのデータ転送セッションに〜２Ｍｂｐｓを与えることを試み、したがって公平なネットワーク環境を提供する。
【０００３】
現在のＴＣＰ最適化ソリューションは、幾つかの異なるメカニズムを通じて自身の最大スループット能力に達するように、データ転送セッションのために要する時間を加速させようとする。１つのこのような実装は、データ転送をより高いレートで開始し、データ損失のより高いリスクを許容することであり、それにより、パケットトランスポートを加速し、スループットを増大させる。
【０００４】
幾つかの既存のソリューションは、モバイルネットワークのような広域ネットワーク（ＷＡＮ）内に存在するトランスポートネットワークトポロジの課題を解決しようとし得る。モバイルアクセスのようなネットワークは、相互接続される２つ以上の異なるトランスポートネットワークとして考えられる。幾つかの既存のＴＣＰ最適化ソリューションは、ネットワークの部分（つまり、各サブネットワーク）について別個の公平なアルゴリズムを実施することにより、これらの２つのネットワークをブリッジし得る。
【０００５】
無線アクセスネットワーク（radio  access  network：RAN）及びインターネットは、標準的なデータトランスポートプロトコルで問題になる基本的な違いを有する。例えば、ＲＡＮは、標準的に、ラウンドトリップ時間（round  trip  time：RTT）測定のより大きな変動性（例えば、６０〜５００ｍｓ）を有するより高い待ち時間のネットワークであり、一方で、インターネット（つまり、広域ネットワークのような有線ネットワーク）は、より一貫した、通常はより低いＲＴＴ測定（例えば、４０〜６０ｍｓ）を提供する。ＲＡＮの使用するデータ転送が存在する条件は、大きく変動し、データ転送セッションに変動に基づきデータトランスポートレートを絶えず調整させ、共有ネットワークの「公平な」ポリシに影響を与えない。ＲＴＴは、例えば、ネットワークの一部が設計により高い且つ変動しやすい待ち時間のネットワークである上述のシナリオにおいて共有データトランスポートネットワークの輻輳を測定するためには粗悪な方法である。
【０００６】
幾つかの輻輳制御プロセスは、輻輳の存在をシグナリングするために、パケットをドロップすることがある。しかしながら、ＲＡＮのようなネットワークでは、パケットは、一時的な干渉のような様々な理由でドロップされ得る。パケットが一時的な干渉のためにドロップされことを、輻輳を示すものと誤って解釈することは、ＲＡＮの能力の未活用を引き起こし、データトランスポート性能を低下させ得る。
【０００７】
したがって、ＲＡＮ及びインターネットの両方を含む共有データトランスポート環境のような異なる動作特性を有するネットワークを含む共有データトランスポート環境において、競合するデータ転送に等しいアクセスを提供する方法が必要である。
【発明の概要】
【０００８】
一実施形態によると、データトランスポートセッションを加速する又は減速する方法は、公平なポリシを実装する任意のトランスポートプロトコルに適用される。本実施形態では、輻輳認識型トランスポート最適化技術は、１つ以上の他のネットワークノード（例えば、ＲＡＮ  ｅＮｏｄｅＢ）から輻輳メトリックを受信し、又はエンドツーエンドネットワーク輻輳メトリックをそれ自体の内部公平トランスポートポリシから導出してよい。
【０００９】
輻輳認識型トランスポート加速又は減速技術は、変化するネットワークトポグラフィ（つまり、無線アクセスネットワーク（ＲＡＮ））に順応するために使用され、粗悪に測定された又は誤って構成されたネットワーク測定（例えば、ＲＴＴ遅延）の使用を軽減して、リアルタイムトランスポートネットワークリンクの測定した輻輳レベルに基づき、公平な輻輳回避を適用する。ここで、輻輳は、共有リンク上の相互トラフィック競合を表す。
【００１０】
１つ又は多数のネットワークノードからのリアルタイムトランスポートネットワーク輻輳メトリックを用いて、トランスポート最適化ノードは、輻輳認識型になり、トランスポートリンクの現在の輻輳レベルに基づき公平な決定を行い得る。１つの使用例は、今日のトランスポートプロトコルが許容するよりも迅速に、非輻輳トランスポート上のデータセッションのトランスポート速度を増大することであり得る。他のトランスポートセッションは、輻輳を緩和させ及び全ての競合するトランスポートセッションにより適切な公平性を提供するために、それらのトランスポート速度を低下させ及びより低い速度に維持されるべき輻輳したトランスポートリンク上に存在し得る。
【００１１】
本開示の種々の実施形態によると、方法は、データトランスポートネットワーク内のコンピューティング装置により実行される。コンピューティング装置は、ネットワークの一部の現在状態に対応する輻輳関連情報を受信し、データトランスポートセッションが公平なプロトコルを有するか否かを決定する。データトランスポートセッションが公平なプロトコルを有するとき、コンピュータ装置は、データトランスポートセッションの輻輳ポリシを決定し、輻輳関連情報を用いて、輻輳ポリシをデータトランスポートセッションに適用する。
【００１２】
一実施形態では、データトランスポートセッションの輻輳ポリシを決定するステップは、データトランスポートセッションのトランスポートレベルプロトコルに従い、輻輳ポリシを決定するステップを含む。
【００１３】
一実施形態では、データトランスポートセッションの輻輳ポリシを決定するステップは、データトランスポートセッションのエンドポイントに従い、輻輳ポリシを決定するステップを含む。
【００１４】
一実施形態では、データトランスポートセッションの輻輳ポリシを決定するステップは、データトランスポートセッションのエンドポイントを含むサブネットワークに従い、輻輳ポリシを決定するステップを含む。
【００１５】
一実施形態では、データトランスポートセッションの輻輳ポリシを決定するステップは、データトランスポートセッションを用いてアプリケーションを決定するステップと、アプリケーションに従い、輻輳ポリシを決定するステップと、を含む。
【００１６】
一実施形態では、データトランスポートセッションに輻輳ポリシを適用するステップは、データトランスポートセッションのエンドポイントに輻輳の指示を提供するステップを含む。指示は、データトランスポートセッションの輻輳ウインドウを調整するためのものである。データトランスポートセッションのエンドポイントに輻輳の指示を提供するステップは、データトランスポートセッションのメッセージのトランスポートレイヤヘッダの中の１つ以上のビットを変更することにより実行される。
【００１７】
一実施形態では、コンピューティング装置により、輻輳関連情報を受信するステップは、コンピューティング装置により、ネットワークノードから輻輳関連情報を受信するステップ、を含み、コンピューティング装置は、データトランスポートセッションを運ぶパスの外部にあり、データトランスポートセッションを運ぶパスの中にあるデータトランスポートネットワークの中の装置と通信することにより、当該方法を実行する。
【００１８】
一実施形態では、ネットワークノードは、トランスポートデータセッションを通信するために使用されている無線アクセスネットワーク（ＲＡＮ）の基地局であり、輻輳関連情報は、スループット情報、ジッタ情報、競合する同時発生フローの数の情報、ＲＡＮのユーザ数、ＲＡＮの１人以上のユーザのリアルタイムスループット情報、ＲＡＮのチャネル品質指示子（ＣＱＩ）、超過リソース要求による遅延の情報、及びＲＡＮのデータトランスポートセッションに関する優先度情報、を有するグループから選択された１つ以上の情報を含む。
【００１９】
一実施形態では、データトランスポートセッションは、同じネットワーク内の複数のセッションのうちの１つであり、輻輳ポリシは、データトランスポートセッションが、同じネットワーク内の他のセッションのうちの１つより少ない時間で送信された、又は少ないバイトで送信された、又はその両方の場合、、データトランスポートセッションを優先させることを含む。
【００２０】
一実施形態では、データトランスポートセッションを優先させる輻輳ポリシは、コンピューティング装置が、複数のセッションからの相互トラフィック競合により同じネットワークに渡るネットワーク伝送遅延を有するとき、実施される。
【００２１】
一実施形態では、システムであって、非一時的プログラムコマンドを格納するメモリとプロセッサとを含み、プロセッサがプログラムコマンドを実行すると、プロセッサは、ネットワークの一部の現在状態に対応する輻輳関連情報を受信し、データトランスポートセッションが公平なプロトコルを有するか否かを決定し、データトランスポートセッションが公平なプロトコルを有するとき、データトランスポートセッションの輻輳ポリシを決定し、輻輳関連情報を用いて、データトランスポートセッションの輻輳ポリシを適用する。
【００２２】
一実施形態では、データトランスポートセッションの輻輳ポリシを決定することは、データトランスポートセッションのトランスポートレベルプロトコルに従い、輻輳ポリシを決定することを含む。
【００２３】
一実施形態では、データトランスポートセッションの輻輳ポリシを決定することは、データトランスポートセッションのエンドポイントに従い、輻輳ポリシを決定することを含む。
【００２４】
一実施形態では、データトランスポートセッションの輻輳ポリシを決定するステップは、データトランスポートセッションのエンドポイントを含むサブネットワークに従い、輻輳ポリシを決定するステップを含む。
【００２５】
一実施形態では、データトランスポートセッションの輻輳ポリシを決定するステップは、データトランスポートセッションを用いてアプリケーションを決定するステップと、アプリケーションに従い、輻輳ポリシを決定するステップと、を含む。
【００２６】
一実施形態では、データトランスポートセッションに輻輳ポリシを適用するステップは、データトランスポートセッションのエンドポイントに輻輳の指示を提供するステップを含む。指示は、データトランスポートセッションの輻輳ウインドウを調整するためのものである。データトランスポートセッションのエンドポイントに輻輳の指示を提供するステップは、データトランスポートセッションのメッセージのトランスポートレイヤヘッダの中の１つ以上のビットを変更することにより実行される。
【図面の簡単な説明】
【００２７】
【図１】一実施形態による通信ネットワークを示す。
【００２８】
【図２】幾つかの実施形態に関連する通信プロトコルスタックを示す。
【００２９】
【図３】一実施形態による通信ネットワークにおけるデータ転送を示す。
【００３０】
【図４】一実施形態によるトランスポート最適化システムの動作を示す。
【００３１】
【図５】一実施形態によるコンピュータシステムを示す。
【００３２】
【図６】一実施形態によるトランスポート最適化のために輻輳情報を使用するプロセスを示す。
【００３３】
【図７】一実施形態によるトランスポート最適化のために輻輳情報を使用するプロセスを示す。
【発明を実施するための形態】
【００３４】
本開示の実施形態は、データトランスポートセッションの加速又は減速に関する。データトランスポートセッションの加速及び減速は、ネットワーク輻輳が存在するときに、公平なデータアクセスを維持するために使用されてよい。ここで、ネットワーク輻輳は、共有リンクにおける相互トラフィック競合を表す。
【００３５】
例えば、カバレッジエリアが輻輳していると決定されると、ネットワークリソースは、カバレッジエリア内のデータフローを使用している端末に公平に分配されてよい。カバレッジエリアは、例えば、余剰能力を制限したとき、輻輳であると決定される。
【００３６】
[0001]        
図１は、一実施形態による通信ネットワーク１００を示す。ネットワーク１００は、ＷＡＮ（Wide-Area  Network）１０２（例えば、インターネット）、複数のセルラＲＡＮ（Radio  Access  Network）１０４Ａ及び１０４Ｂ、ケーブルまたはＤＳＬに基づくＩＡＮ（Internet  Access  Network）１０６、及びＷＡＮ１０２にアタッチされた複数のサーバ１１４Ａ及び１１４Ｂを含む。しかしながら、実施形態はこれに限定されない。
【００３７】
ＷＡＮ１０２は、全てが互いに直接又は間接通信する、複数のルータ１１０Ａ及び１１０Ｂ、第１ゲートウェイ１１２Ａ、及び第２ゲートウェイ１１２Ｂを含む。ルータ１１０Ａ及び１１０Ｂは、プロトコルスタックのネットワーキングレイヤで（例えば、ＴＣＰ／ＩＰプロトコルスタックのＩＰ（Internet  Protocol）レイヤで）動作して、パケットをルーティングする。つまり、ルータ１１０Ａ及び１１０Ｂは、ＩＰデータグラムのＩＰヘッダの中で提供される情報を用いて、それらの機能を実行する。
【００３８】
ゲートウェイ１１２Ａ及び１１２Ｂは、プロトコルスタックのトランスポートレイヤ以上で動作する。例えば、ゲートウェイ１１２Ａ及び１１２Ｂは、ＵＤＰ（User  Datagram  Protocol）ヘッダ、ＴＣＰ（Transmission  Control  Protocol）ヘッダ、及び／又は他のトランスポートレイヤプロトコルヘッダの中の情報を用いて動作してよい。トランスポートレイヤプロトコルヘッダは、ＩＰデータグラムのＩＰデータの中にカプセル化されている。
【００３９】
第１ゲートウェイ１１２Ａは、ＲＡＮ１０４Ａ及び１０４Ｂの集約点としても機能してよい。さらに、第１ゲートウェイ１１２Ａは、ＲＡＮ１０４Ａ及び１０４Ｂにトランスポート管理及び監視及び制御機能を提供してよい。第１ゲートウェイ１１２Ａは、バックホールネットワークを通じてＲＡＮ１０４Ａ及び１０４Ｂと通信してよい。
【００４０】
一実施形態では、第１ゲートウェイ１１２Ａは、ＲＡＮ１０４Ａ及び１０４Ｂ上の輻輳に応答して公平なトランスポートプロトコルのリアルタイム最適化を含むトランスポート最適化をＲＡＮ１０４Ａ及び１０４Ｂに提供する。第１ゲートウェイ１１２Ａは、ＲＡＮ１０４Ａ及び１０４Ｂの各々の中のトラフィックについてのリアルタイム情報、例えばスループット、待ち時間、ラウンドトリップ時間、ジッタ、競合している同時発生フローの数、等の情報を受信してよく、リアルタイム情報を用いて、公平なトランスポートプロトコルのリアルタイム最適化を実行してよい。
【００４１】
同様に、第２ゲートウェイ１１２Ｂは、ＩＡＮ１０６の集約点として機能し、トランスポート管理、監視、及び制御機能をＩＡＮ１０６に提供し、ＩＡＮ１０６上の輻輳に応答して、公平なトランスポートプロトコルのリアルタイム最適化を含むＩＡＮ１０６のトランスポート最適化を提供する。
【００４２】
第１ＲＡＮ１０４Ａは、第１基地局１２０Ａ、及び共有無線周波数（ＲＦ）リソースを介して第１基地局１２０Ａと無線通信する複数のユーザ機器（ＵＥ）１２２Ａ、１２２Ｂ、及び１２２Ｃを含む。第２ＲＡＮ１０４Ｂは、第２基地局１２０Ｂ、及び共有ＲＦリソースを介して第２基地局１２０Ｂと無線通信する複数のＵＥ１２２Ｄ及び１２２Ｅを含む。ＵＥ１２２Ａ〜１２２Ｅは、ＷＡＮ１０２と、基地局１２０Ａ及び１２５０Ｂ並びにゲートウェイ１１２Ａを介して通信する。基地局１２０Ａ及び１２０Ｂは、進化型ノードＢ（eNodeB）、基地トランシーバ局（Base  Transceiver  Stations：BTS）等であってよく、ＵＥ１２２Ａ〜１２２Ｅは、セルラフォン、無線ホットスポット、セルラモデムを備えたコンピュータ、等であってよいが、実施形態はこれらに限定されない。
【００４３】
ＩＡＮ１０６は、複数のＬＡＮ（Local  Area  Network）１３０Ａ及び１３０Ｂを第２ゲートウェイ１１２Ｂに接続する共有有線リソース１０８（例えば、同軸ケーブル、光ファイバケーブル、等、又はそれらの組み合わせ）を含む。ＬＡＮ１３０Ａ及び１３０Ｂは、共有有線リソース１０８の有限の帯域幅に対して競合してよい。
【００４４】
第１ＬＡＮ１３０Ａは、第１ＬＡＮ１３０Ａ上の装置をＷＡＮ１０２に共有有線リソース１０８を通じて接続する統合型モデム及びルータ１３２を含んでよい。複数のネットワーク接続された装置１３４Ａ、１３４Ｂ、及び１３４Ｃは、例えば銅線を介する１０００Ｂａｓｅ−Ｔ  Ｅｔｈｅｒｎｅｔにより、統合型モデム及びルータ１３２に接続されてよい。
【００４５】
第２ＬＡＮ１３０Ｂは、第２ＬＡＮ１３０Ｂ上の装置をＷＡＮ１０２に共有有線リソース１０８を通じて接続する統合型モデム、ルータ、及び無線アクセスポイント（ＡＰ）１３６を含んでよい。第２ＬＡＮ１３０Ｂは、したがって、無線ＬＡＮ（ＷＬＡＮ）であってよい。複数の局（ＳＴＡ）１３８Ａ、１３８Ｂ、及び１３８Ｃは、統合型モデム、ルータ、及びＡＰ１３６に、例えば共有無線周波数リソースを使用するＷｉ−Ｆｉ（商標）技術を用いて無線接続されてよい。
【００４６】
第１及び第２サーバ１１４Ａ及び１１４Ｂは、ＷＡＮ１０２に接続された装置にサービスを提供してよい。提供され得るサービスの例は、クラウドコンピューティング、クラウドストレージ、ソーシャルネットワーキング、ストリーミングビデオ、等を含む。第１及び第２サーバ１１４Ａ及び１１４Ｂの各々は、特定種類のコンテンツを配信してよい。例えば、第１サーバ１１４Ａは専用ビデオオンデマンドサーバであってよく、この場合、サーバ１１４Ａから来るトラフィックはビデオトラフィックであると推定できる。
【００４７】
図２は、幾つかの実施形態に関連する通信プロトコルスタックを示す。左側は、７個のレイヤを有するＯＳＩ（Open  System  Interconnect）プロトコルスタックモデル（以後、ＯＳＩスタック）であり、ＴＣＰ／ＩＰ（Transmission  Control  Protocol/Internet  Protocol）プロトコルスタック（以後、ＴＣＰ／ＩＰスタック）は４個のレイヤを有する。ＯＳＩスタックの下位２レイヤは、ＴＣＰ／ＩＰスタックの最下位（イーサネット（Ethernet））に対応し、ＯＳＩスタックの上位３レイヤ（アプリケーション、プレゼンテーション、及びセッション（Application,  Presentation,  Session））はＴＣＰ／ＩＰスタックのアプリケーション（Application）レイヤに対応する。
【００４８】
ＯＳＩスタックの物理（Physical）レイヤは、物理接続及び信号の電気的仕様を扱い、デジタル信号が伝送される媒体（例えば、ツイストペア、同軸ケーブル、光ファイバ、無線、等）に対応する。
【００４９】
ＯＳＩスタックのデータリンク（Datalink）レイヤは、物理レイヤの生ビットの論理構造化データパケット（つまりフレーム）への及びそれからの変換を扱い、あるホストから別のホストへとフレームを転送する。
【００５０】
ＴＣＰ／ＩＰスタックのイーサネットレイヤは、ＯＳＩスタックの物理及びデータリンクレイヤの両方の機能を提供する。
【００５１】
ＯＳＩスタックのネットワーキングレイヤは、宛先及び送信元を指定するために機械のネットワークレイヤアドレスを用いて、ネットワーク内のシステム間のデータ転送（つまり、エンド−エンド転送）を扱う。ルータは、このレベルで動作して、トラフィックを管理し方向付ける。ＴＣＰ／ＩＰスタックのＩＰレベルは、この機能を提供する。
【００５２】
ＯＳＩスタックのトランスポートレイヤは、システム上で動作する送信元プロセスと及び宛先プロセスの間でデータを転送する。通常、２つの接続モード、接続（connection）型及び無接続（connectionless）型が認識される。
【００５３】
接続型モードは、専用仮想回路を確立し、種々のレベルの保証型配信を提供して、受信されたデータが送信されたデータと同一であることを保証する。ＴＣＰ／ＩＰスタックのＴＣＰは、接続型トランスポートレイヤモードに対応する。
【００５４】
無接続型モードは、誤り訂正する組み込み能力を有しないベストエフォートサービスのみを提供し、これは、データ送信元に障害を通知することなくデータの損失を完了する。エンドポイント間にトランザクションの一貫した状態及び論理的接続が存在せず、無接続型モードに、音声及びビデオ伝送のような時間に厳格なアプリケーションのために低オーバヘッド及び場合によっては一層良好なリアルタイム性能を加える。ＴＣＰ／ＩＰスタックのＵＤＰは、無接続型トランスポートレイヤモードに対応する。
【００５５】
ＯＳＩスタックのセッションレイヤは、コンピュータ間の接続を制御する。これは、ローカルアプリケーションとリモートアプリケーションとの間の接続を確立し、管理し、及び終端し、機能の中でも特に全二重、半二重、又は単信動作を提供してよい。ＯＳＩスタックのプレゼンテーションレイヤは、アプリケーションレイヤからのデータ型を定義し、暗号化／解読し、ＪＰＥＧ、ＭＰＥＧ、及びＧＩＦのようなプロトコルを含んでよい。ＯＳＩスタックのアプリケーションレイヤは、各アプリケーションが別のアプリケーションとどのように話すかを追跡し、特定のアプリケーションに宛先及び送信元アドレスをリンクしてよい。ＴＣＰ／ＩＰスタックのアプリケーションレイヤは、ＯＳＩスタックのセッション、プレゼンテーション、及びアプリケーションレイヤの機能に対応する。
【００５６】
図３は、一実施形態による通信ネットワーク３００におけるデータ転送を示す。図３の説明のための例では、情報は、ＵＥ３０４とサーバ３０８との間をルータ３０６及びゲートウェイ３１０を通じて流れるが、実施形態はこれに限定されず、標準的に、ＵＥ３０４は、少なくとも１つのゲートウェイ３０８及び複数のルータ３０６を通じてサーバ３０８と通信する。
【００５７】
図３では、ＲＡＮ３１８の基地局３０２は、ＵＥ３０４に無線津心を提供し、ＲＡＮ３１８の輻輳関連情報３１６をゲートウェイ３１０に提供する。一実施形態では、他のノード、例えば隣接基地局又は近くのＵＥも、ゲートウェイ３１０に提供される輻輳関連情報を提供してよい。代替として、ゲートウェイ３１０は、自身の内部メカニズム又は自身の内部で実行しているプロセスから輻輳関連情報を取得してよい。輻輳関連情報３１６は、リアルタイムトランスポート輻輳メトリック（metrics、指標）を含んでよい。例えば、基地局３０２は、ＲＡＮ３１８のｅＮｏｄｅＢであってよく、ｅＮｏｄｅＢによりサービスされているデータトランスポートセッションの全部に輻輳メトリックを供給してよい。
【００５８】
輻輳関連情報３１６に含まれるリアルタイムトランスポート輻輳メトリックは、トランスポートネットワークを現在共有しているユーザの数、各ユーザのリアルタイムスループット、超過リソース要求による過負荷に起因するデータパケットの処理において生じる遅延（つまり輻輳）、無線環境のチャネル品質指示子（Channel  Quality  Indicator：CQI）、データトランスポートセッションの送信元及び宛先のユーザ情報、及びデータトランスポートセッションの優先度レベル、のうちの１つ以上であってよい。しかしながら、実施形態はこれに限定されない。
【００５９】
ＵＥ３０４から及びＵＥ３０４へ流れる情報は、ＵＥ３０４内のＯＳＩスタックの７個のレイヤ全部（又は等価なＴＣＰ／ＩＰレイヤ）により処理されてよく、サーバ３０８内のＯＳＩスタックの７個のレイヤ全部（又は等価なＴＣＰ／ＩＰレイヤ）により処理されてよい。
【００６０】
ルータ３０６で、ＵＥ３０４から及びＵＥ３０４へ流れる情報は、ＯＳＩスタックの下位３レイヤ（又はＴＣＰ／ＩＰスタックのイーサネット及びＩＰレイヤ）によってのみ処理されてよい。例えば、ルータ３０６は、パケットのＩＰデータ内に符号化された情報を用いることなく、パケットのＩＰヘッダ内の情報を用いて、該ルータ３０６を通過するパケットを処理してよい。
【００６１】
これに対し、ゲートウェイ３１０では、パケットは、トランスポートレイヤ３１４のヘッダ内の情報に従い処理されてよい。このヘッダは、ネットワークレイヤフレームのデータ内に含まれる。例えば、ゲートウェイ３１０は、ＩＰフレームのＩＰデータに含まれるＴＣＰ又はＵＤＰヘッダに従いパケットを処理してよい。さらに、ゲートウェイ３１０は、トランスポートレイヤ３１４ヘッダを変更してよく、輻輳関連情報３１６に従いこれを行ってよい。
【００６２】
ゲートウェイ３１０は、基地局３０２から受信するのに加えて、１つ以上の他のネットワークノードから輻輳関連情報３１６を受信してよい。
【００６３】
一実施形態では、ゲートウェイ３１０は、輻輳関連情報に応答して、トランスポートレイヤ３１４でヘッダを解釈し及び変更することにより、ネットワーク管理機能を提供するトランスポート最適化処理３１２を含む。実施形態では、ゲートウェイ３１０は、ゲートウェイ３１０に又は外部データベースに格納されたトランスポート輻輳プロトコルに従い、ネットワーク管理機能を実行してよい。ネットワーク管理機能は、データトランスポートセッションに基づき実行されてよい。ネットワーク管理機能は、ネットワーク上の輻輳を防ぐために、データトランスポートセッションにより使用されるパケットレート（及びしたがって帯域幅）を制御することを含んでよい。
【００６４】
一実施形態では、ゲートウェイ３１０は、ＲＡＮ３１８をＷＡＮに接続する境界トラフィック集約点の部分である。例えば、３ＧＰＰ（３rd  Generation  Partnership  Project）標準の移動体ネットワークでは、集約点は、ＰＤＮ（Packet  Data  Network）ゲートウェイコア要素に接続するｓＧｉ−ＬＡＮの部分であり、インターネットに向かい外向きである。別の実施形態では、集約点は、ゲートウェイＧＰＲＳサポートノード（gateway  GPRS  support  node：ＧＧＳＮ）に接続するＧｉ−ＬＡＮの部分であり、インターネットに向かい外向きである。しかしながら、他の実施形態では、ゲートウェイ３１０は他の場所に配置される。
【００６５】
一実施形態では、トランスポート最適化処理３１２のような、輻輳認識型トランスポート最適化ソリューションを実装する装置は、図３に示すように、データトランスポートセッションと共にインラインに直接展開され得る。別の実施形態では、トランスポート最適化処理３１２を実装する装置は、データトランスポートセッションを運ぶパスの外側にあり得る。この場合、装置は、所望のトランスポート最適化を達成するために、他のネットワーク要素へ及びそれから制御メッセージを送信し及び受信してよい。
【００６６】
幾つかの実施形態では、ゲートウェイ３１０は、ＲＡＮ３１８を含む１つ以上のネットワークにサービスするコンテンツ配信ネットワークの部分であってよい。種々の実施形態によると、ゲートウェイ３１０は、ネットワークノードに又はＵＥ３０４とサーバ３０８との間の（又はそれらを含む）エンドポイントに配置されてよい。
【００６７】
実施形態では、ゲートウェイ３１０は、ＵＥ３０４を含む１つ以上のユーザ装置にサービスする基地局、基地局制御部、又はアクセスポイントに配置されてよい。
【００６８】
一実施形態では、トランスポート最適化処理３１２は、データトランスポートセッションに関連付けられたアプリケーション又はアプリケーションの種類に従い、ネットワーク管理機能を実行する。例えば、データトランスポートセッションが専用のビデオオンデマンドサーバへの接続であると決定されると、トランスポート最適化処理３１２は、ビデオストリームに特有の公平なポリシを使用して、ネットワーク管理機能を実行してよい。
【００６９】
一実施形態では、トランスポート最適化処理３１２がデータトランスポートセッションに関係する輻輳関連情報３１６を受信しないとき（例えば、輻輳認識型トランスポートノードが存在しない、又は輻輳認識型トランスポートノードが他のネットワークノードに輻輳関連情報を送信するために使用できないとき）、トランスポート最適化処理３１２は、自身の輻輳検出情報を実施してよい。
【００７０】
輻輳関連情報が外部ノードから配信されるか又は内部で導出されるかに関わらず、トランスポート最適化処理３１２は、トランスポートネットワーク内のパスの分岐に関連するとき、輻輳情報のキャッシュを維持し及び更新する。データトランスポートセッションはが共通集約点を有するが、異なる輻輳プロファイルを構成し及びしたがってトランスポート最適化ソリューションによる区別の必要な分岐パスが、ネットワーク全体にわたり存在する場合が多い。
【００７１】
ＴＣＰを使用するデータトランスポートセッションでは、トランスポート最適化処理３１２は、輻輳主要性能指示子（Key  Performance  Indicator：KPI）キャッシュをクエリして、適切な開始輻輳ウインドウサイズを発見してよい。これは、トランスポートネットワークリソースの公平なシェアを迅速に取得するために、どれだけ速くデータトランスポートセッションがパケット送信を開始すべきかを制御する。トランスポート最適化処理３１２は、データトランスポートセッションを最適化し続けるので、更新された輻輳メトリックを受信し又は導出し、輻輳レベルと同等になるようにデータトランスポートセッションの送信レートを絶えず更新している。
【００７２】
輻輳したトランスポートネットワーク内に存在するＴＣＰデータトランスポートセッションでは、公平なシェアのウインドウは、輻輳のレベルに対して適切なレートで保持され得る。例えば、１０Ｍｂｐｓトランスポートリンクが５個の同時に生じているデータトランスポートセッションにより中程度に（〜５０％）輻輳している場合、トランスポート最適化処理３１２は、各データトランスポートセッションの公平なトランスポートネットワーク能力にトランスポートスループットを迅速に設定し得る。これに対して、最適化されていない伝統的な競合するＴＣＰデータセッションは、それらのトランスポート速度を絶えず増大しようとすることにより、基本的には個々の最大スループットを達成するために互いに争うことにより、トランスポートネットワーク上の輻輳を増大し得る。
【００７３】
公平なアルゴリズムをプロトコルスタックの部分として実装するＵＤＰトランスポートプロトコル（つまり、ＱＵＩＣ（Quick  UDP  Internet  Connection）プロトコル）の場合には、輻輳認識型トランスポート最適化処理３１２は、前述の減速技術を過度の（over  the  top）管理プロトコルとして実行し得る。公平なＵＤＰデータセッションが輻輳したトランスポートネットワーク内に確立されると、トランスポート最適化処理３１２は、データトランスポートセッションが送信可能なレートを低減し、リアルタイムトランスポート輻輳メトリクスに基づき許容トランスポートレートを絶えず更新する。
【００７４】
図４は、一実施形態によるトランスポート最適化システム４００の動作を示す。トランスポート最適化システム４００は、ゲートウェイ４０２、サーバ４０６、及びＲＡＮ４１０を含む。ＲＡＮ４１０は、ＵＥ４１４へのデータ通信を提供する基地局４１２を含む。
【００７５】
基地局４１２は、ゲートウェイ４０２に、ＲＡＮ４１０についての輻輳関連データ４１８を提供する。輻輳関連データ４１８は、スループット、待ち時間、ラウンドトリップ時間、ジッタ、トラフィック種類の分布（例えば、短及び長パケット）、及び競合している同時発生フローの数、のうちの１つ以上を含んでよい。一実施形態では、ゲートウェイ４０２は、受信した輻輳関連データ４１８に、ゲートウェイ４０２と他の装置との間の個々のリンクに関する輻輳情報及びネットワークの他の部分に関する輻輳情報のような追加情報を追加してよい。
【００７６】
ＵＥ４１４は、ＲＡＮ４１０を通じて、第１ＴＣＰデータパケット４２０を、データトランスポートセッションの部分としてゲートウェイ４０２へ送信してよい。第１ＴＣＰデータパケット４２０は、サーバ４０６への配信を目的としている。ゲートウェイ４０２は、データトランスポートセッションに関連付けられた輻輳プロトコル及び輻輳関連データ４１８を用いて、データトランスポートセッションにより使用される帯域幅が削減されるべきであると決定してよい。
【００７７】
一実施形態では、データトランスポートセッションにより使用される帯域幅が削減されるべきであると決定することに応答して、ゲートウェイ４０２は、ＴＣＰヘッダ内の明示的輻輳通知（Explicit  Congestion  Notification：ECN）ビットを「１１」に設定することにより、第１ＴＣＰデータパケット４２０を変更して、第２ＴＣＰデータパケット４２２を生成する。第２ＴＣＰデータパケット４２２は、次に、サーバ４０６へルーティングされる。
【００７８】
第２ＴＣＰデータパケット４２２に応答して、サーバ４０６は、ＵＥ４１４への配信を目的とした第１肯定応答（Acknowledgement：ACK）４２４を送信する。第１ＡＣＫ４２４は、１に設定されたＥＣＮ  Ｅｃｈｏ（ＥＣＥ）ビットを含む。
【００７９】
ゲートウェイは、第１ＡＣＫ４２４を、ＴＣＰレベルで第１ＴＣＰＡＣＫ４２４と同一である第２ＡＣＫ４２６として、ＵＥ４１４へ転送する。
【００８０】
１に設定されたＥＣＮ  Ｅｃｈｏビットを有する第２ＴＣＰ  ＡＣＫ４２６を受信することに応答して、ＵＥ４１４は、データトランスポートセッションに関連付けられた輻輳ウインドウ４１６のサイズを縮小し、したがって、データトランスポートセッションのパケットレート（及びしたがって、帯域幅）を減少する。
【００８１】
図５は、一実施形態を実装するために使用され得るコンピュータシステム５００を示す。コンピュータシステム５００は、例えば非一時的コンピュータ可読媒体に格納されたコンピュータプログラミング命令を実行することにより、実施形態を実装してよい。
【００８２】
コンピュータシステム５００は、プロセッサ５０２、メモリ５０４、入力インタフェース及び装置５１４、出力インタフェース及び装置５１６、及び記憶装置、のうちの１つ以上を含んでよい。これらの各々は、バス、ファブリック、又は他の相互接続技術を通じて互いに通信する。コンピュータシステム５００は、ネットワークに結合された１つ以上のネットワークインタフェース５１２も含んでよい。例えば、コンピュータシステム５００が、ルータ又はゲートウェイを実装するために使用されるとき、コンピュータシステム５００は、コンピュータシステム５００の各物理レイヤネットワーク接続のためにネットワークインタフェース５１２を含んでよい。
【００８３】
プロセッサ５０２は、メモリ５０４及び／又は記憶装置５１０に格納された処理命令を実行する中央処理ユニット（ＣＰＵ）又は半導体装置であってよい。メモリ５０４及び記憶装置５１０は、様々な形式の揮発性又は不揮発性記憶媒体を含んでよい。例えば、メモリ５０４は、読み出し専用メモリ（ＲＯＭ）５０８、及びランダムアクセスメモリ（ＲＡＭ）５０６を含んでよく、記憶装置は、ハードディスクドライブ（ＨＤＤ）、固体状態ドライブ（ＳＳＤ）、等を含んでよい。
【００８４】
図６は、一実施形態によるトランスポート最適化のために輻輳情報を使用するプロセス６００を示す。プロセス６００は、トランスポート最適化システム、例えば図４のトランスポート最適化システム４００で、特にこのようなシステムのトラフィックマネジャにより実行されてよい。プロセス６００は、トランスポート輻輳プロファイル検索を用いて、輻輳認識型公平帯域幅制御を実装する。図３のトランスポート最適化処理３１２の実施形態は、プロセス６００を含んでよい。
【００８５】
Ｓ６０２で、プロセス６００は、新しいデータトランスポートセッションを検出する。データトランスポートセッションは、例えば、ユーザ装置（例えば、図４のＵＥ４１４）により開始され及びユーザ装置をサーバ（例えば、図４のサーバ４０６）に接続するＴＣＰセッションであってよい。しかしながら、実施形態はこれに限定されない。
【００８６】
プロセス６００は、トランスポートレベルパケットを監視することにより、新しいデータトランスポートセッションを検出してよい。例えば、プロセス６００は、ＳＹＮ、ＳＹＮ＋ＡＣＫ、及びＡＣＫメッセージにより構成されるＴＣＰ「３ウェイハンドシェーク」を検出することにより、新しいＴＣＰデータトランスポートセッションを検出してよい。ＴＣＰデータトランスポートセッションの場合には、プロセス６００は、メッセージのＩＰヘッダ内の送信元及び宛先アドレス並びにメッセージのＴＣＰヘッダ内の送信元及び宛先ポートを用いて、メッセージがデータトランスポートセッションに関連付けられているか否かを決定してよい。
【００８７】
プロセス６００は、例えば、ＵＤＰ及びＱＵＩＣデータトランスポートセッション等も検出してよい。実施形態では、プロセス６００は、任意のトランスポートレイヤプロトコルのデータトランスポートセッションを検出してよい。
【００８８】
Ｓ６０４で、プロセス６００は、検出したデータトランスポートセッションが公平な（fair−share）プロトコルのものであるか否かを決定する。例えば、ＴＣＰ及びＱＵＩＣは、公平なプロトコルであり、ＵＤＰは公平なプロトコルではない。検出したデータトランスポートセッションが公平なプロトコルではないとき、Ｓ６０４で、プロセス６００が終了し、その他の場合、プロセス６００はＳ６０６に進む。
【００８９】
Ｓ６０６で、プロセス６００は、検索を実行して、データトランスポートセッションに適用可能なトランスポート輻輳プロファイルが存在するか否かを決定する。プロセス６００は、データトランスポートセッションのエンドポイントがメンバーである特定のサブネットワーク（例えば、図４のＲＡＮ４１０、又は図１のＲＡＮ１０４Ａ及び１０４Ｂ及びＩＡＮ１０６のうちの１つ）のトランスポート輻輳プロファイルの検索を実行してよい。
【００９０】
例えば、図４のＵＥ４１４がデータトランスポートセッションのエンドポイントであるとき、プロセス６００は、ユーザ機器４１４がメンバーである図４のＲＡＮ４１０のトランスポート輻輳プロファイルのデータベース内のトランスポート輻輳プロファイルを検索し選択してよい。別の例では、図１のネットワーク装置１３４Ａがデータトランスポートセッションのエンドポイントであるとき、プロセス６００は、図１のＩＡＮ１０６のトランスポート輻輳プロファイルのデータベース内のトランスポート輻輳プロファイルを検索し選択してよい。
【００９１】
Ｓ６０６で適用可能なトランスポート輻輳プロファイルが見付かると、Ｓ６０８で、プロセス６００はＳ６１０に進み、その他の場合、プロセス６００はＳ６１２に進む。
【００９２】
Ｓ６１０で、プロセス６００は、Ｓ６０６で選択したトランスポート輻輳プロトコルの出力を用いて、データトランスポートセッションに適用可能な適切な公平なポリシを検索し及び選択し、公平なポリシをデータトランスポートセッションに適用する。プロセス６００は、次にＳ６４０に進む。
【００９３】
公平なポリシの適用は、インバンド又はアウトオブバンドシグナリングによりデータトランスポートセッションにより使用される帯域幅を制御することを含んでよい。例えば、プロセス６００は、図４に示すように、ＴＣＰパケットのＥＣＮビットを「１１」に設定することによりデータトランスポートセッションのＴＣＰデータパケットを変更することにより、データトランスポートセッションの帯域幅を制御してよい。別の例では、プロセス６００は、ＡＣＫメッセージのＥＣＮ  Ｅｃｈｏビットを「１」に設定することによりデータトランスポートセッションのＡＣＫメッセージを変更することにより、データトランスポートセッションの帯域幅を制御してよい。
【００９４】
プロセス６００は、関連技術の輻輳管理ソリューションと比べて、利用可能な追加情報を利用する。結果として、関連技術のソリューションによる輻輳の指示と考えられる幾つかの指示は、プロセス６００により輻輳の指示と考えられなくてよく、関連技術のソリューションが認識しない幾つかの指示が、プロセス６００により輻輳の指示と考えられてよい。プロセス６００は、したがって、ネットワーク内の現在状態に基づき、リアルタイムに動的に輻輳関連調整を実行してよい。
【００９５】
例えば、一時的な干渉により、ＲＡＮのパケット遅延が１６ｍｓから９０ｍｓに増大するとき、関連技術の輻輳管理ソリューションは、輻輳と考え、その輻輳ウインドウを相応して調整してよい。これに対して、プロセス６００の一実施形態では、一時的な干渉により引き起こされる遅延の増大は、必ずしも輻輳の指示であると考えられず、したがって、必ずしも輻輳ウインドウの調整を生じないが、同時ユーザの数の増加（したがって、送信されるデータの量の増加）に関連する遅延の増大は、輻輳の指示であると考えられ、１つ以上の輻輳ウインドウの調整を生じ得る。このように、プロセス６００は、許容可能な正常な変動であり輻輳に起因しない性能指示の変動と、性能指示及び直ちに輻輳を示す性能指示の組み合わせの変動との間を区別する。
【００９６】
Ｓ６０８でトランスポート輻輳プロファイルが見付からなかったことに応答して、Ｓ６１２で、プロセス６００は、デフォルト公平なポリシに基づきトランスポート輻輳プロファイルを生成する。プロセス６００は、次に、生成したトランスポート輻輳プロファイルを適切なデータベースに格納してよい。例えば、データトランスポートセッションがエンドポイントとしてＲＡＮ内のユーザ装置を有するとき、プロセス６００は、生成したトランスポート輻輳プロファイルをＲＡＮのトランスポート輻輳プロファイルのデータベースに格納してよい。
【００９７】
Ｓ６１４で、プロセス６００は、生成したトランスポート輻輳プロファイルに関連するトラフィックを監視し、関連する輻輳レベルを決定するために輻輳分析を実行し始める。
【００９８】
Ｓ６１６で、プロセス６００は、Ｓ６１４で決定した輻輳レベルに従い、生成したトランスポート輻輳プロファイルを適合させる。標準的に、単一のトランスポートセッションに影響する多数の変動が存在するので、どの２つのセッションも同じではない。したがって、適切な輻輳プロファイルは、より大きなトランスポートネットワークに関する情報及び各セッションに関して測定された情報に基づき、各トランスポートセッションについて採用される必要がある。例えば、同じｅＮｏｄｅＢセルサイトにある２つのセッションは、それらのセルサイトへの信号強度に起因して、２つの異なるＴＣＰ輻輳プロファイルを有することができる。つまり、これらのセッションの各々は、２つのセッションが同じセルサイトにあったとしても、自身の状態に対して採用された異なる輻輳プロファイルを提供される。プロセス６００は、次にＳ６４２に進む。
【００９９】
Ｓ６４０で、プロセス６００は、データトランスポートセッションが終了したか否かを決定する。データトランスポートセッションが終了したとき、プロセス６００が終了し、その他の場合、プロセス６００はＳ６１０に進む。
【０１００】
Ｓ６４２で、プロセス６００は、データトランスポートセッションが終了したか否かを決定する。データトランスポートセッションが終了したとき、プロセス６００が終了し、その他の場合、プロセス６００はＳ６１２に進む。一実施形態では、（例えば、Ｓ６４０又はＳ６４２で）セッションは終了し、該セッションの輻輳プロファイルは、後のセッションによる使用のためにデータベースに追加される。
【０１０１】
図７は、別の実施形態によるトランスポート最適化のために輻輳情報を使用するプロセス７００を示す。プロセス７００は、アプリケーション及びトランスポートネットワーク輻輳の両方を認識する。つまり、データトランスポートセッションを管理するとき、プロセス７００は、データトランスポートセッションによりトラバースされるネットワーク内の現在の輻輳レベル、及びデータトランスポートセッションを使用しているアプリケーションの両方を考慮する。図３のトランスポート最適化処理３１２の実施形態は、プロセス６００を含んでよい。
【０１０２】
プロセス７００は、トランスポートネットワーク輻輳レベル及び要求側アプリケーションの両方に基づき、公平なポリシを実装してよい。例えば、トランスポートセッションがＱＵＩＣプロトコルを用いてＹｏｕＴｕｂｅ（登録商標）アプリケーションにより確立された場合、プロセス７００は、アプリケーション固有要件及びＫＰＩ、並びにトランスポートネットワークの輻輳レベルに基づき、アプリケーション送信レートを決定し得る。ＹｏｕＴｕｂｅ  ＱＵＩＣデータセッションが輻輳したネットワークをトラバースした場合、プロセス７００は、ＹｏｕＴｕｂｅのようなビデオアプリケーションが初期バッファ時間を低減するために最初のフレームまでの時間を速くすることに依存することを知っており、ＹｏｕＴｕｂｅ  ＱＵＩＣデータセッションのより速いスループットを最初に許可してよい。次に、特定の時間又はデータ量がアプリケーションに配信された後、プロセス７００は、ＹｏｕＴｕｂｅ  ＱＵＩＣデータセッションのデータレートを低下させて、他のアプリケーション種類がチャネルリソースに対して優先度を有することを可能にする。ここでも、ＹｏｕＴｕｂｅのようなアプリケーションが、ビデオアプリケーションに悪影響を与えることなく、トランスポートネットワーク性能の変動に耐え得るバッファシステムとして動作するという知識に依存する。
【０１０３】
一実施形態では、プロセス７００は、これらのセッションの特定の特性に基づき、同じネットワーク（例えば、同じセルサイト）に関連付けられた１つ以上のセッションを優先してよい。例えば、同じセルサイトに複数のセッションが存在する場合、プロセス７００は、少ない時間又は少ないバイト又はその両方で送信しているセッションのフローを加速するために、延長期間の間、送信しているフローのうちの１つ以上の送信レートを一時的に低下させてよい。これは、これらの加速されたセッションが、それらの送信をより迅速に終了し、セルサイトにおけるネットワークリソースの競合を低減することを可能にし、それにより、より多くの持続性セッションに利用可能なネットワークリソースを増加させる。一実装では、プロセス７００は、複数のセッションが相互トラフィック競合に起因して同じセルサイトでネットワーク送信遅延を生じている場合、加速されたフローの１つ以上のセッションを優先する。
【０１０４】
一実施形態では、プロセス７００は、データトランスポートセッションのエンドポイントのＩＰアドレスから、アプリケーションの種類を決定してよい。例えば、エンドポイントとしてＹｏｕＴｕｂｅ（登録商標）ビデオサーバに関連付けられたＩＰアドレスを有するデータトランスポートセッションは、オンデマンドビデオアプリケーションのデータを運んでいると考えられてよく、一方で、エンドポイントとしてＷｏｒｌｄ  ｏｆ  Ｗａｒｃｒａｆｔ（登録商標）サーバに関連付けられたＩＰアドレスを有するデータトランスポートセッションは、オンラインリアルタイムゲームアプリケーションのデータを運んでいると考えられてよい。
【０１０５】
プロセス７００によりＳ７０２、Ｓ７０４、及びＳ７０６で実行される動作は、プロセス６００でＳ６０２、Ｓ６０４、及びＳ６０６で実行される動作に対応する。したがって、それらの詳細は簡単のために省略する。
【０１０６】
Ｓ７０６で、プロセス７００は、検索を実行して、データトランスポートセッションに適用可能なトランスポート輻輳プロファイルが存在するか否かを決定する。プロセス７００は、図６のＳ６０６で説明したように、データトランスポートセッションのエンドポイントがメンバーである特定のサブネットワークのトランスポート輻輳プロファイルについて検索を実行してよい。
【０１０７】
Ｓ７０６で適用可能なトランスポート輻輳プロファイルが見付かると、Ｓ７０８で、プロセス７００はＳ７２４に進み、その他の場合、Ｓ７０８で、プロセス７００はＳ７２０に進む。
【０１０８】
Ｓ７０８でトランスポート輻輳プロファイルが見付からなかったことに応答して、Ｓ７２０で、プロセス７００は、デフォルト公平なポリシに基づきトランスポート輻輳プロファイルを生成する。プロセス７００は、次に、生成したトランスポート輻輳プロファイルを適切なデータベースに格納してよい。例えば、データトランスポートセッションがエンドポイントとしてＲＡＮ内のユーザ装置を有するとき、プロセス７００は、生成したトランスポート輻輳プロファイルをＲＡＮのトランスポート輻輳プロファイルのデータベースに格納してよい。
【０１０９】
Ｓ７２２で、プロセス７００は、生成したトランスポート輻輳プロファイルに関連するトラフィックを監視し、関連する輻輳レベルを決定するために輻輳分析を実行し始める。一実施形態では、Ｓ７２２は、輻輳ポリシが予め分かっていないセッションについて実行される。セッションの特性は、その輻輳レベルを決定し及び輻輳レベルを低下させるために適切な動作を決定するために、測定される。
【０１１０】
Ｓ７２４で、プロセス７００は、データトランスポートセッションを担うアプリケーションを識別する。プロセス７００は、例えば、逆ＤＮＳ（Domain  Name  Service）検索を、データトランスポートセッションのエンドポイントのＩＰアドレスに対して実行することにより、データトランスポートセッションで運ばれるデータの内容を検査することにより、又はアプリケーションの振る舞いの既知のパターンを認識することにより、アプリケーションを識別してよい。
【０１１１】
Ｓ７３０で、プロセス７００は、Ｓ７２４で識別したアプリケーションについて、アプリケーション固有の公平なポリシが存在するか否かを決定する。Ｓ７２４でアプリケーションが識別されなかった場合、プロセス７００は、データトランスポートセッションについてアプリケーション固有の公平なポリシが存在しないと決定する。Ｓ７２４でアプリケーションが識別された場合、プロセス７００は、アプリケーション固有の公平なポリシのデータベースを調べて、決定したアプリケーションについてアプリケーション固有の公平なポリシが存在するか否かを決定する。
【０１１２】
一実施形態では、アプリケーション固有の公平なポリシのデータベースは、サブネットワーク又はサブネットワークの種類に固有であってよい。例えば、このようなポリシの第１データベースはＲＡＮのために存在してよく、このようなポリシの第２データベースはケーブルＩＡＮのために存在してよい。使用されるデータベースは、データトランスポートセッションを運ぶ又はデータトランスポートセッションのエンドポイントに関連付けられたサブネットワークの種類により決定されてよい。
【０１１３】
プロセス７００が、Ｓ７３０で、データトランスポートセッションについてアプリケーション固有の公平なポリシが存在しないと決定すると、プロセス７００はＳ７３６に進み、その他の場合、プロセス７００はＳ７３２に進む。
【０１１４】
Ｓ７３２で、プロセス７００は、Ｓ７２４で識別したアプリケーションに対応するアプリケーション輻輳プロファイルを検索する。
【０１１５】
Ｓ７３４で、プロセス７００は、Ｓ７０６で選択したトランスポート輻輳プロトコルの出力を用いて、Ｓ７２４で決定したアプリケーションに適用可能な適切な公平なポリシを検索し及び選択し、公平なポリシをデータトランスポートセッションに適用する。プロセス７００は、次にＳ７３８に進む。
【０１１６】
Ｓ７３６で、プロセス７００は、Ｓ７０６で選択したトランスポート輻輳プロトコルの出力を用いて、データトランスポートセッションに適用可能な適切な公平なポリシを検索し及び選択し、公平なポリシをデータトランスポートセッションに適用する。プロセス７００は、次にＳ７３８に進む。
【０１１７】
Ｓ７３８で、ネットワーク状態は絶えず変化しており、したがって、輻輳プロファイルは同じネットワーク上の新しいフローからの情報に基づき更新される必要があるので、プロセス７００は、リアルタイム輻輳メトリックに基づき、トランスポート輻輳プロファイルを更新する。
【０１１８】
Ｓ７４０で、プロセス７００は、データトランスポートセッションが終了したか否かを決定する。データトランスポートセッションが終了したとき、Ｓ７４０のように、プロセス７００が終了し、その他の場合、プロセス７００はＳ７３０に進む。
【０１１９】
実施形態は、コンピュータにより実装される方法、又はコンピュータ実行可能命令を格納した非一時的コンピュータ可読媒体として実装されてよい。一実施形態では、プロセッサにより実行されると、コンピュータ可読命令は、本開示の少なくとも１つの態様に従い方法を実行してよい。
【０１２０】
本開示の種々の実施形態では、データトランスポートは、ネットワークの現在状態に適応するためにリアルタイムに更新される１つ以上の動的変数を用いて、トランスポート最適化処理により起こり得る輻輳の存在により最適化される。ネットワークは、それぞれがトランスポート最適化処理の考慮し得る異なる特性を持つ複数のサブネットワークを含んでよい。さらに、トランスポート最適化処理は、各サブネットワーク上で検出され得るサブネットワークのユニークな特性、特に輻輳がどのように影響するかに関連する、サブネットワークからの情報を使用してよい。サブネットワークは、ＲＡＮ（Radio  Access  Network）、ケーブルＩＡＮ（Internet  Access  network）、ＤＳＬ（Digital  Subscriber  Line）ＩＡＮ、ファイバＩＡＮ、等を含んでよい。
【０１２１】
トランスポート最適化処理は、ＴＣＰセッションの帯域幅を増大する（つまり加速する）又は帯域幅を減少する（つまり減速する）ために、ＴＣＰセッションの輻輳ウインドウを制御するために、ＴＣＰ実装に入力を提供してよい。
【０１２２】
本開示の幾つかの実施形態がここに図示され説明されたが、本発明の精神及び範囲から逸脱することなく、多くの変更が行われ得る。例えば、本開示は無線ネットワーク、有線ネットワーク、ファイバネットワーク、及び同軸ネットワーク単独又は組み合わせにおいて使用されてよいことが理解できる。したがって、本発明の範囲は任意の開示の実施形態に限定されない。
【図１】
2021505042.tif 000003
【図２】
2021505042.tif 000004
【図３】
2021505042.tif 000005
【図４】
2021505042.tif 000006
【図５】
2021505042.tif 000007
【図６】
2021505042.tif 000008
【図７】
2021505042.tif 000009
【国際調査報告】
2021505042.tif 000010
2021505042.tif 000011