(57)【要約】      （修正有）【課題】トラフィックフロー制約と、トラフィックフロー制約に関係付けられている利用可能な帯域幅とに基づいて、フローのセット中のフローのそれぞれに帯域幅を割り振る装置及びプログラムを提供する。【解決手段】送信機は、肯定応答（ＡＣＫ）が何ら受信されないか、複製のＡＣＫが受信されたか、ＲＴＴが増加しているか、送信レートが減少しているか、あるいは他の何らかの輻輳イベントを経験しているかを決定する。送信機はフローのセット中のフローのそれぞれに関する目標レートを決定する。送信機はフローの優先順位に基づいて、フローのセットの各フローに関するパラメータを調整することによって、帯域幅を割り振る。【選択図】図２
2015181248.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワーク中で動作可能なデバイスにおいて、
前記デバイスは、
共有されたトラフィックフロー制約に基づいて、複数のフローからフローのセットを識別することであって、前記フローのセットは第１のフローと第２のフローとを含む、前記識別することと、
前記トラフィックフロー制約と、前記トラフィックフロー制約に関係付けられている利用可能な帯域幅とに基づいて、前記フローのセット中の前記フローのそれぞれに帯域幅を割り振ることと、
を実行するように構成されているプロセッサを具備するデバイス。
【請求項２】
前記プロセッサは、輻輳イベントを経験している前記第２のフローのしきい値時間期間内に前記輻輳イベントを前記第１のフローが経験するか否かを決定することによって、前記フローのセットを識別するように構成されている請求項１記載のデバイス。
【請求項３】
前記輻輳イベントは、ドロップしたパケット、増加した往復時間、送信レートの減少、瞬間的なスループットの減少、のうちの少なくとも１つを含む請求項２記載のデバイス。
【請求項４】
前記プロセッサは、前記第１のフローに第１の期待帯域幅が割り振られ、かつ前記第２のフローに第２の期待帯域幅が割り振られているか否かを決定することによって、前記フローのセットを識別するように構成されている請求項１記載のデバイス。
【請求項５】
前記プロセッサは、前記第１のフローに第１の期待受信データレートが割り振られ、かつ前記第２のフローに第２の期待受信データレートが割り振られているか否かを決定することによって、前記フローのセットを識別するように構成されている請求項１記載のデバイス。
【請求項６】
前記プロセッサは、前記第１のフローに第１の期待輻輳ウィンドウサイズが割り振られ、かつ前記第２のフローに第２の期待輻輳ウィンドウサイズが割り振られているか否かを決定することによって、前記フローのセットを識別するように構成されている請求項１記載のデバイス。
【請求項７】
前記プロセッサは、前記第１のフローに関する第１の目標データレートと、前記第２のフローに関する第２の目標データレートとを決定するようにさらに構成されている請求項１記載のデバイス。
【請求項８】
前記第１の目標データレートと、前記第２の目標データレートとは、前記トラフィックフロー制約に関係付けられている利用可能な帯域幅に基づいて決定される請求項７記載のデバイス。
【請求項９】
前記プロセッサは、前記フローのセットの中の少なくとも１つのフローに関係付けられている減少パラメータを調整することによって、前記フローのセット中の前記フローのそれぞれに帯域幅を割り振るようにさらに構成されている請求項１記載のデバイス。
【請求項１０】
前記プロセッサは、前記フローのセットの中の少なくとも１つのフローに関係付けられている増加パラメータを調整することによって、前記フローのセット中の前記フローのそれぞれに帯域幅を割り振るようにさらに構成されている請求項１記載のデバイス。
【請求項１１】
前記プロセッサは、前記フローのセットの中の少なくとも１つのフローに関係付けられている輻輳ウィンドウサイズを調整することによって、前記フローのセット中の前記フローのそれぞれに帯域幅を割り振るようにさらに構成されている請求項１記載のデバイス。
【請求項１２】
前記プロセッサは、前記フローのセットの中の少なくとも１つのフローに関係付けられている受信ウィンドウサイズを調整することによって、前記フローのセット中の前記フローのそれぞれに帯域幅を割り振るようにさらに構成されている請求項１記載のデバイス。
【請求項１３】
前記プロセッサは、前記フローのセットの中の少なくとも１つのフローに関係付けられている肯定応答遅延時間を調整することによって、前記フローのセット中の前記フローのそれぞれに帯域幅を割り振るようにさらに構成されている請求項１記載のデバイス。
【請求項１４】
通信ネットワーク中で動作可能なデバイスにおいて動作する方法において、
前記方法は、
共有されたトラフィックフロー制約に基づいて、複数のフローからフローのセットを識別することであって、前記フローのセットは第１のフローと第２のフローとを含む、前記識別することと、
前記トラフィックフロー制約と、前記トラフィックフロー制約に関係付けられている利用可能な帯域幅とに基づいて、前記フローのセット中の前記フローのそれぞれに帯域幅を割り振ることと、
を含む方法。
【請求項１５】
前記フローのセットを識別することは、輻輳イベントを経験している前記第２のフローのしきい値時間期間内に前記輻輳イベントを前記第１のフローが経験するか否かを決定することを含む請求項１４記載の方法。
【請求項１６】
前記輻輳イベントは、ドロップしたパケット、増加した往復時間、送信レートの減少、瞬間的なスループットの減少、のうちの少なくとも１つを含む請求項１５記載の方法。
【請求項１７】
前記フローのセットを識別することは、前記第１のフローに第１の期待帯域幅が割り振られ、かつ前記第２のフローに第２の期待帯域幅が割り振られているか否かを決定することを含む請求項１４記載の方法。
【請求項１８】
前記フローのセットを識別することは、前記第１のフローに第１の期待受信データレートが割り振られ、かつ前記第２のフローに第２の期待受信データレートが割り振られているか否かを決定することを含む請求項１４記載の方法。
【請求項１９】
前記フローのセットを識別することは、前記第１のフローに第１の期待輻輳ウィンドウサイズが割り振られ、かつ前記第２のフローに第２の期待輻輳ウィンドウサイズが割り振られているか否かを決定することを含む請求項１４記載の方法。
【請求項２０】
前記第１のフローに関する第１の目標データレートと、前記第２のフローに関する第２の目標データレートとを決定することをさらに含む請求項１４記載の方法。
【請求項２１】
前記第１の目標データレートと、前記第２の目標データレートとは、前記トラフィックフロー制約に関係付けられている利用可能な帯域幅に基づいて決定される請求項２０記載の方法。
【請求項２２】
前記フローのセット中の前記フローのそれぞれに帯域幅を割り振ることは、前記フローのセットの中の少なくとも１つのフローに関係付けられている減少パラメータを調整することを含む請求項１４記載の方法。
【請求項２３】
前記フローのセット中の前記フローのそれぞれに帯域幅を割り振ることは、前記フローのセットの中の少なくとも１つのフローに関係付けられている増加パラメータを調整することを含む請求項１４記載の方法。
【請求項２４】
前記フローのセット中の前記フローのそれぞれに帯域幅を割り振ることは、前記フローのセットの中の少なくとも１つのフローに関係付けられている輻輳ウィンドウサイズを調整することを含む請求項１４記載の方法。
【請求項２５】
前記フローのセット中の前記フローのそれぞれに帯域幅を割り振ることは、前記フローのセットの中の少なくとも１つのフローに関係付けられている受信ウィンドウサイズを調整することを含む請求項１４記載の方法。
【請求項２６】
前記フローのセット中の前記フローのそれぞれに帯域幅を割り振ることは、前記フローのセットの中の少なくとも１つのフローに関係付けられている肯定応答遅延時間を調整することを含む請求項１４記載の方法。
【請求項２７】
通信ネットワーク中で動作可能なデバイスにおいて、
前記デバイスは、
共有されたトラフィックフロー制約に基づいて、複数のフローからフローのセットを識別する手段であって、前記フローのセットは、第１のフローと第２のフローとを含む、前記識別する手段と、
前記トラフィックフロー制約と、前記トラフィックフロー制約に関係付けられている利用可能な帯域幅とに基づいて、前記フローのセット中のフローのそれぞれに帯域幅を割り振る手段と、
を具備するデバイス。
【請求項２８】
前記フローのセットを識別する手段は、輻輳イベントを経験している前記第２のフローのしきい値時間期間内に前記輻輳イベントを前記第１のフローが経験するか否かを決定する手段を備える請求項２７記載のデバイス。
【請求項２９】
前記輻輳イベントは、ドロップしたパケット、増加した往復時間、送信レートの減少、瞬間的なスループットの減少、のうちの少なくとも１つを含む請求項２８記載のデバイス。
【請求項３０】
前記フローのセットを識別する手段は、前記第１のフローに第１の期待帯域幅が割り振られ、かつ前記第２のフローに第２の期待帯域幅が割り振られているか否かを決定する手段を備える請求項２７記載のデバイス。
【請求項３１】
前記フローのセットを識別する手段は、前記第１のフローに第１の期待受信データレートが割り振られ、かつ前記第２のフローに第２の期待受信データレートが割り振られているか否かを決定する手段を備える請求項２７記載のデバイス。
【請求項３２】
前記フローのセットを識別する手段は、前記第１のフローに第１の期待輻輳ウィンドウサイズが割り振られ、かつ前記第２のフローに第２の期待輻輳ウィンドウサイズが割り振られているか否かを決定する手段を備える請求項２７記載のデバイス。
【請求項３３】
前記第１のフローに関する第１の目標データレートと、前記第２のフローに関する第２の目標データレートとを決定する手段をさらに具備する請求項２７記載のデバイス。
【請求項３４】
前記第１の目標データレートと、前記第２の目標データレートとは、前記トラフィックフロー制約に関係付けられている利用可能な帯域幅に基づいて決定される請求項３３記載のデバイス。
【請求項３５】
前記フローのセット中の前記フローのそれぞれに帯域幅を割り振る手段は、前記フローのセットの中の少なくとも１つのフローに関係付けられている減少パラメータを調整する手段を備える請求項２７記載のデバイス。
【請求項３６】
前記フローのセット中の前記フローのそれぞれに帯域幅を割り振る手段は、前記フローのセットの中の少なくとも１つのフローに関係付けられている増加パラメータを調整する手段を備える請求項２７記載のデバイス。
【請求項３７】
前記フローのセット中の前記フローのそれぞれに帯域幅を割り振る手段は、前記フローのセットの中の少なくとも１つのフローに関係付けられている輻輳ウィンドウサイズを調整する手段を備える請求項２７記載のデバイス。
【請求項３８】
前記フローのセット中の前記フローのそれぞれに帯域幅を割り振る手段は、前記フローのセットの中の少なくとも１つのフローに関係付けられている受信ウィンドウサイズを調整する手段を備える請求項２７記載のデバイス。
【請求項３９】
前記フローのセット中の前記フローのそれぞれに帯域幅を割り振る手段は、前記フローのセットの中の少なくとも１つのフローに関係付けられている肯定応答遅延時間を調整する手段を備える請求項２７記載のデバイス。
【請求項４０】
一時的でないコンピュータ読取可能媒体を具備するコンピュータプログラムプロダクトにおいて、
前記コンピュータ読取可能媒体は、
共有されたトラフィックフロー制約に基づいて、複数のフローからフローのセットをコンピュータに識別させるためのコードであって、前記フローのセットは第１のフローと第２のフローとを含む、前記識別させるためのコードと、
前記トラフィックフロー制約と、前記トラフィックフロー制約に関係付けられている利用可能な帯域幅とに基づいて、前記コンピュータに前記フローのセット中のフローのそれぞれに帯域幅を割り振らせるためのコードと、
を含むコンピュータプログラムプロダクト。
【請求項４１】
前記フローのセットをコンピュータに識別させるためのコードは、輻輳イベントを経験している前記第２のフローのしきい値時間期間内に前記輻輳イベントを前記第１のフローが経験するか否かを前記コンピュータに決定させるためのコードを含む請求項４０記載のコンピュータプログラムプロダクト。
【請求項４２】
前記輻輳イベントは、ドロップしたパケット、増加した往復時間、送信レートの減少、瞬間的なスループットの減少、のうちの少なくとも１つを含む請求項４１記載のコンピュータプログラムプロダクト。
【請求項４３】
前記フローのセットをコンピュータに識別させるためのコードは、前記第１のフローに第１の期待帯域幅が割り振られ、かつ前記第２のフローに第２の期待帯域幅が割り振られているか否かを前記コンピュータに決定させるためのコードを含む請求項４０記載のコンピュータプログラムプロダクト。
【請求項４４】
前記フローのセットをコンピュータに識別させるためのコードは、前記第１のフローに第１の期待受信データレートが割り振られ、かつ前記第２のフローに第２の期待受信データレートが割り振られているか否かを前記コンピュータに決定させるためのコードを含む請求項４０記載のコンピュータプログラムプロダクト。
【請求項４５】
前記フローのセットをコンピュータに識別させるためのコードは、前記第１のフローに第１の期待輻輳ウィンドウサイズが割り振られ、かつ前記第２のフローに第２の期待輻輳ウィンドウサイズが割り振られているか否かを前記コンピュータに決定させるためのコードを含む請求項４０記載のコンピュータプログラムプロダクト。
【請求項４６】
前記コンピュータ読取可能媒体は、前記第１のフローに関する第１の目標データレートと、前記第２のフローに関する第２の目標データレートとを前記コンピュータに決定させるためのコードをさらに含む請求項４０記載のコンピュータプログラムプロダクト。
【請求項４７】
前記第１の目標データレートと、前記第２の目標データレートは、前記トラフィックフロー制約に関係付けられている利用可能な帯域幅に基づいて決定される請求項４６記載のコンピュータプログラムプロダクト。
【請求項４８】
前記コンピュータに前記フローのセット中の前記フローのそれぞれに帯域幅を割り振らせるためのコードは、前記フローのセットの中の少なくとも１つのフローに関係付けられている減少パラメータを前記コンピュータに調整させるためのコードを含む請求項４０記載のコンピュータプログラムプロダクト。
【請求項４９】
前記コンピュータに前記フローのセット中の前記フローのそれぞれに帯域幅を割り振らせるためのコードは、前記フローのセットの中の少なくとも１つのフローに関係付けられている増加パラメータを前記コンピュータに調整させるためのコードを含む請求項４０記載のコンピュータプログラムプロダクト。
【請求項５０】
前記コンピュータに前記フローのセット中の前記フローのそれぞれに帯域幅を割り振らせるためのコードは、前記フローのセットの中の少なくとも１つのフローに関係付けられている輻輳ウィンドウサイズを前記コンピュータに調整させるためのコードを含む請求項４０記載のコンピュータプログラムプロダクト。
【請求項５１】
前記コンピュータに前記フローのセット中の前記フローのそれぞれに帯域幅を割り振らせるためのコードは、前記フローのセットの中の少なくとも１つのフローに関係付けられている受信ウィンドウサイズを前記コンピュータに調整させるためのコードを含む請求項４０記載のコンピュータプログラムプロダクト。
【請求項５２】
前記コンピュータに前記フローのセット中の前記フローのそれぞれに帯域幅を割り振らせるためのコードは、前記フローのセットの中の少なくとも１つのフローに関係付けられている肯定応答遅延時間を前記コンピュータに調整させるためのコードを含む請求項４０記載のコンピュータプログラムプロダクト。
【発明の詳細な説明】
【関連出願に対する相互参照】
【０００１】
合衆国法典第３５部第１１９条の下での優先権の主張
本特許出願は、“ネットワーク中で通信するためのシステムおよび方法”と題し、２０１０年１１月２日に出願され、そのすべてがここでの参照により明確に組み込まれている、米国仮特許出願第６１／４０９，４７４号に対する優先権を主張する。
【分野】
【０００２】
本願は、一般的に、通信に関し、さらに詳細には、ネットワーク中の通信デバイスのための伝送制御プロトコル（ＴＣＰ）フローに優先順位を付けることに関する。
【背景】
【０００３】
通信システムは、通信デバイス（例えば、移動体ハンドセット、ＰＤＡ（パーソナルデータアシスタント）、パーソナルコンピュータ、スマートフォン、サーバ、または、ネットワークを介して通信することが可能な他の何らかの電子デバイス）間で、さまざまなタイプの通信（例えば、音声、データ、マルチメディアサービス等）を提供するために幅広く展開されている。デバイスは、相互接続されたデバイスのネットワークを介して、互いにデータを送信／受信してもよい。データは、フローとも呼ばれる、データの色々なセットとして送られてもよい。例えば、デバイスと別のデバイスとの間の第１のビデオストリームの通信は、第１のフローと呼ばれてもよく、デバイスと別のデバイスとの間のウェブページに関するデータパケットの通信は、第２のフローと呼ばれてもよい。これらのデータフローは、通信デバイス上で動作している特定のアプリケーションにそれぞれ関係付けられていてもよい。
【０００４】
さらに、デバイスは、ワイヤード接続またはワイヤレス接続によって、相互接続されている。デバイスは、１つ以上のネットワークインターフェースを介して、これらの接続のうちの１つ以上にアクセスしてもよい。これらの接続および／またはネットワークインターフェースは、それらが対処することが可能な有限量の帯域幅を有していてもよい。それゆえ、通信に使用するデバイスのための、有限の利用可能な量の帯域幅が存在してもよい。したがって、複数のフローが、利用可能な帯域幅を使用することを要求したときに、フロー間で帯域幅を分配できる。ネットワーク中でのデータのフローの通信と、フローに対する帯域幅の割り振りとは、伝送制御プロトコル（ＴＣＰ）によって部分的に対処される。
【０００５】
通常、ＴＣＰは、利用可能な帯域幅をフロー間で均等に分配する。しかしながら、アプリケーションがよく機能するために、異なるフローは、異なる最小スループット要件と、異なる最大所望スループットとを有していてもよい。例えば、ビデオストリームフローは、アプリケーション中でスムーズかつ正確にビデオを再生するために、最小帯域幅を必要としてもよい。利用可能な帯域幅をフロー間で単に均等に分配することは、必要な最小帯域幅がビデオストリームフローに割り振られることを保証しない。異なるフローの最小および最大のスループット要件が、等しい、または、知られていないときでさえ、ユーザは、１つのフローに特定の関心を有しているかもしれない。例えば、フローがフォアグラウンドにあるときに、ユーザは、それぞれのアプリケーションに注意を払うことがあるため、そのフローの優先順位付けを望むかもしれない。さらに一般的に、異なるフローは、異なる要件、例えば、各フローの性質に基づく固有の要件、または、デバイスが使用される状況に関する固有の要件を有していることがある。したがって、フロー間の帯域幅の向上された（enhanced）システムおよび方法が必要とされる。
【概要】
【０００６】
発明のシステム、方法、およびデバイスは、それぞれ、いくつかの態様を有しており、単一でないこれらの物が、その望ましい特質にもっぱら関与する。後に続く特許請求の範囲により明示するような本発明の範囲を限定することなく、いくつかの特徴をこれから簡単に論じる。この論議を考慮した後に、特に、“詳細な説明”と題するセクションを読んだ後に、ネットワーク中の通信デバイスのための伝送制御プロトコル（ＴＣＰ）フローに優先順位を付けることを含む利益を、どのようにして本発明の特徴が提供するかを理解するだろう。
【０００７】
本開示の１つの実施形態は、通信ネットワーク中で動作可能なデバイスを提供する。デバイスは、プロセッサを備える。プロセッサは、共有されたトラフィックフロー制約に基づいて、複数のフローからフローのセットを識別するように構成されている。フローのセットは、第１のフローと第２のフローとを含む。プロセッサは、トラフィックフロー制約と、トラフィックフロー制約に関係付けられている利用可能な帯域幅とに基づいて、フローのセット中のフローのそれぞれに帯域幅を割り振るようにさらに構成されている。
【０００８】
本開示の別の実施形態は、通信ネットワーク中で動作可能なデバイスにおいて動作する方法を提供する。方法は、共有されたトラフィックフロー制約に基づいて、複数のフローからフローのセットを識別することを含む。フローのセットは、第１のフローと第２のフローとを含む。方法は、トラフィックフロー制約と、トラフィックフロー制約に関係付けられている利用可能な帯域幅とに基づいて、フローのセット中のフローのそれぞれに帯域幅を割り振ることをさらに含む。
【０００９】
本開示のさらに別の実施形態は、通信ネットワーク中で動作可能なデバイスを提供する。デバイスは、共有されたトラフィックフロー制約に基づいて、複数のフローからフローのセットを識別する手段を備える。フローのセットは、第１のフローと第２のフローとを含む。デバイスは、トラフィックフロー制約と、トラフィックフロー制約に関係付けられている利用可能な帯域幅とに基づいて、フローのセット中のフローのそれぞれに帯域幅を割り振る手段をさらに備える。
【００１０】
本開示の別の実施形態は、一時的でないコンピュータ読取可能媒体を備えるコンピュータプログラムプロダクトを提供する。コンピュータ読取可能媒体は、共有されたトラフィックフロー制約に基づいて、複数のフローからフローのセットをコンピュータに識別させるためのコードを含む。フローのセットは、第１のフローと第２のフローとを含む。コンピュータ読取可能媒体は、トラフィックフロー制約と、トラフィックフロー制約に関係付けられている利用可能な帯域幅とに基づいて、コンピュータにフローのセット中のフローのそれぞれに帯域幅を割り振らせるためのコードをさらに含む。
【図面の簡単な説明】
【００１１】
【図１】図１は、例示的な通信ネットワークを図示する。
【図２】図２は、送信機側でフローに優先順位を付けるための例示的な処理を図示したフローチャートである。
【図３】図３は、受信機側でフローに優先順位を付けるための例示的な処理を図示したフローチャートである。
【図４】図４は、図１の通信ネットワーク内で用いられてもよい第１の例示的なデバイスおよび第２の例示的なデバイスの機能的なブロック図である。
【図５】図５は、図１の通信ネットワーク内で用いられてもよい別の例示的なワイヤレスデバイスの機能的なブロック図である。
【詳細な説明】
【００１２】
“例示的な（exemplary）”という用語は、“例（example）として、事例（instance）として、あるいは例示（illustration）として機能すること”を意味するように、ここでは使用される。“例示的な”としてここで説明する何らかの実施形態は、必ずしも、他の実施形態より好ましい、または、他の実施形態より利点があるものとして解釈すべきではない。以下の説明は、当業者が本発明を製作および使用できるように提示している。説明の目的のために、以下の説明において詳細を述べる。これらの特定の詳細の使用なしで本発明を実施できることを当業者が認識することを正しく認識すべきである。他の事例では、本発明の説明を不必要な詳細によって曖昧にしないために、よく知られている構造および処理は詳しく述べない。したがって、本発明は、ここで示す実施形態により限定されることを意図しているものではなく、ここで開示した原理および特徴と一致した最も広い範囲に一致させるべきである。
【００１３】
ここで説明する技術は、符号分割多元接続（ＣＤＭＡ）ネットワーク、時分割多元接続（ＴＤＭＡ）ネットワーク、周波数分割多元接続（ＦＤＭＡ）ネットワーク、直交ＦＤＭＡ（ＯＦＤＭＡ）ネットワーク、単一搬送波ＦＤＭＡ（ＳＣ−ＦＤＭＡ）ネットワーク、ローカルエリアネットワーク（ＬＡＮ）、パーソナルエリアネットワーク（ＰＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、ワイヤードネットワーク等のような、さまざまな通信ネットワークに対して使用されてもよい。“ネットワーク”および“システム”という用語は、区別なく使用することが多い。ＣＤＭＡネットワークは、ユニバーサル地上無線アクセス（ＵＴＲＡ）、ｃｄｍａ２０００等のような無線技術を実現してもよい。ＵＴＲＡは、ワイドバンドＣＤＭＡ（Ｗ−ＣＤＭＡ（登録商標）)および低チップレート（ＬＣＲ）を含む。ｃｄｍａ２０００は、ＩＳ−２０００、ＩＳ−９５、およびＩＳ−８５６の標準規格をカバーする。ＴＤＭＡネットワークは、グローバルシステムフォーモバイルコミュニケーション（ＧＳＭ（登録商標））のような無線技術を実現してもよい。ＯＦＤＭＡネットワークは、進化ＵＴＲＡ（Ｅ−ＵＴＲＡ）、ＩＥＥＥ８０２．９、ＩＥＥＥ８０２．１６、ＩＥＥＥ８０２．２０、フラッシュＯＦＤＭ（登録商標）等のような無線技術を実現してもよい。ＵＴＲＡ、Ｅ−ＵＴＲＡ、およびＧＳＭは、ユニバーサルモバイルテレコミュニケーションシステム（ＵＭＴＳ）の一部である。ロングタームエボリューション（ＬＴＥ）は、Ｅ−ＵＴＲＡを使用するＵＭＴＳの今度のリリースである。ＵＴＲＡ、Ｅ−ＵＴＲＡ、ＧＳＭ、ＵＭＴＳ、およびＬＴＥは、“第３世代パートナーシッププロジェクト”（３ＧＰＰ）という名の団体による文書中に記述されている。ｃｄｍａ２０００は、“第３世代パートナーシッププロジェクト２”（３ＧＰＰ２）という名の団体による文書中に記述されている。これらのさまざまな無線技術および標準規格は、技術的に知られている。
【００１４】
単一搬送波周波数分割多元接続（ＳＣ−ＦＤＭＡ）は、単一搬送波変調および周波数領域等化を利用する。ＳＣ−ＦＤＭＡは、ＯＦＤＭＡシステムのものと類似した性能、および、本質的に類似した全体的な複雑性を有する。ＳＣ−ＦＤＭＡ信号は、その固有の単一搬送波構造のために、より低いピーク対平均電力比（ＰＡＰＲ）を有する。ＳＣ−ＦＤＭＡは、より低いＰＡＰＲが送信電力効率の点で移動体端末に大きく利益をもたらすアップリンク通信において特に、大きな関心を得ている。ＳＣ−ＦＤＭＡは、現在、３ＧＰＰロングタームエボリューション（ＬＴＥ）または進化ＵＴＲＡ（Ｅ−ＵＴＲＡ）におけるアップリンク多元接続スキームに関する機能の前提である。
【００１５】
ここでは、ネットワーク中で、デバイスのためのフローに優先順位を付けるのを可能にするシステムおよび方法を説明する。ここで説明するシステムおよび方法は、送出フロー（ネットワークを通して、デバイスから別のデバイスに送られるトラフィックのフロー）に優先順位を付けることに関し、到来フロー（ネットワークを通して、デバイスが別のデバイスから受信するトラフィックのフロー）に優先順位を付けることにも関する。したがって、データフローに依存するデバイス上のアプリケーションが適切に機能できるようになるのに差支えない（sufficient）パケット損失に応じて、よりアグレッシブな帯域幅パラメータにより、異なるフローを抑圧（throttle）または提供できる。
【００１６】
フローは、デバイス上で動作するアプリケーションによって送信または受信される、データのセットまたはパケットのセットを指す。ここでは、ＴＣＰ接続を参照してフローを説明することがあるが、フローはそのように限定されない。さまざまな実施形態において、フローは、例えば、ＴＣＰ、ＳＣＴＰ、ＵＤＰ、生のＩＰ等のような、任意のトランスポートプロトコルまたはソケットタイプを含んでいてもよい。さらに、フローは、アプリケーションに関係付けられていてもよい。例えば、フローは、デバイス１０２上で動作している送信アプリケーションと受信アプリケーションとの間で形成されるＴＣＰ接続を通して送られるデータのことを指してもよい。到来したＴＣＰデータパケットは、そのソケットによって、すなわち、発信元ホストアドレス、発信元ポート、宛先ホストアドレス、および宛先ポートの組み合わせによって、特定のＴＣＰ接続に属するものとして識別される。各デバイスは、そこを通してデータのフローが送信／受信されるＴＣＰ接続に、ＴＣＰポートを割り当ててもよい。したがって、フローのそれぞれのＴＣＰ接続に関係付けられているパラメータを調整することによって、異なる帯域幅がフローに割り振られてもよい。
【００１７】
１つのデバイス上の１つ以上のアプリケーションは、それぞれ、１つ以上の他のデバイス上の１つ以上の追加のアプリケーションのそれぞれとの、１つ以上のＴＣＰ接続を形成する。したがって、アプリケーションは、１つ以上の送出フローと、１つ以上の到来フローとを有してもよく、それらのそれぞれは、異なるデータセットを指し、異なるＴＣＰ接続に関係付けられている。例えば、第１のデバイスによる、第２のデバイスへの第１のビデオストリームの送信は、第１のデバイスの第１の送出フローと呼ばれてもよい。さらに、第１のデバイスからの第１のビデオストリームの、第２のデバイスによる受信は、第２のデバイスの第１の到来フローと呼ばれてもよい。さらに、第１のデバイスからの、第２のデバイスへのウェブページに関するデータパケットの送信は、第１のデバイスの第２の送出フローと呼ばれてもよい。第１のデバイスからのウェブページに関するデータパケットの、第２のデバイスによる受信は、第２のデバイスの第２の到来フローと呼ばれてもよい。
【００１８】
ここで説明するシステムおよび方法は、デバイスが利用可能な帯域幅に基づいて、デバイスに関係付けられている異なるフローに関する目標レートを計算することに関する。ここで説明するシステムおよび方法は、１つのフローによる帯域幅の使用が、別のフローにとって利用可能な帯域幅に影響を与えるか否かを決定するために、リソースを共有するフローを識別することにさらに関する。ここで説明するシステムおよび方法は、ＴＣＰパラメータを調整することに基づいて、フローに対する帯域幅の割り振りの優先順位を実現することに関する。ここでのいくつかの例は、２つのフローのみを論じているが、当業者は、２つのフローに関して説明する原理が、複数のフローＮによる実施形態にも適用され、Ｎは、任意の正の整数であることを認識するだろうことに留意すべきである。
【００１９】
図１は、例示的なワイヤレス通信ネットワーク１００を図示する。通信ネットワーク１００（例えば、インターネット、ＬＡＮ、ＰＡＮ、ＷＡＮ等）は、多数の通信デバイス１０２ａ〜１０２ｇ（例えば、移動体ハンドセット、ＰＤＡ（パーソナルデータアシスタント）、パーソナルコンピュータ、スマートフォン、サーバ、または、ネットワークを通して通信することが可能な他の何らかの電子デバイス）間での通信をサポートするように構成されている。通信デバイス１０２ａ〜１０２ｇは、１つ以上のワイヤードまたはワイヤレスの通信リンク１０４ａ〜１０４ｈによって相互接続されていてもよい。通信リンク１０４ａ〜１０４ｈは、以下のタイプの通信リンクのうちの１つ以上を含んでもよい：ＧＳＭ（グローバルシステムフォーモバイルコミュニケーション）、ＵＭＴＳ（ユニバーサルモバイルテレコミュニケーションシステム）、ＵＭＴＳ−ＴＤＤ（ＵＭＴＳ−時分割複信）、ＣＤＭＡ（符号分割多元接続）、ＣＤＭＡ２０００、ＷＣＤＭＡ（登録商標）（ワイドバンドＣＤＭＡ）、ＴＤＭＡ（時分割多元接続）、ＦＤＭＡ（周波数分割多元接続）、１ｘＥＶ−ＤＯ（エボリューション−データ オプティマイズド）、Ｗｉ−Ｆｉ（登録商標）、Ｗｉ−Ｍａｘ、ブルートゥース（登録商標）、または、ＩＥＥＥ８０２．１１、電話機（例えば、ＰＯＴＳ）、ケーブル、イーサネット（登録商標）、ＰＬＣ（電力線通信）、または、光ファイバリンク、あるいは、デバイス間の接続を可能にする他の何らかのリンク。ネットワーク１００は、より多いまたはより少ない通信デバイス１０２を含んでもよいこと、および、通信デバイス１０２間にリンクの異なる配置があってもよいことに留意すべきである。
【００２０】
通信デバイス１０２ａ〜１０２ｇのそれぞれは、リンク１０４ａ〜１０４ｈのうちの１つ以上を通して、他のデバイスと通信してもよい。例えば、通信デバイス１０２ａは、リンク１０４ａ、および／またはリンク１０４ｂと１０４ｃとの組み合わせを通して、通信デバイス１０２ｄと通信してもよい。例えば、デバイス１０２ａは、デバイス１０２ｄにデータ（例えば、ウェブブラウジングセッションのためのデータパケット、ボイスオーバーＩＰ（ＶｏＩＰ）通話のためのデータパケット、ビデオストリームのためのデータパケット、あるいは、他のデータまたはメディアコンテンツ）を送信する、および／または、デバイス１０２ｄからデータを受信する、アプリケーション（例えば、ウェブブラウザ、ビデオプレーヤー、ｅメールクライアント、または、別の他のアプリケーション）を動作させてもよい。デバイス１０２ａはまた、追加のアプリケーションを動作させて、デバイス１０２ｄおよび／または他のデバイス１０２にデータを送信し、デバイス１０２ｄおよび／または他のデバイス１０２から、データを受信してもよい。
【００２１】
各デバイス１０２ａ〜１０２ｇは、１つ以上のリンクを通して送信および／または受信できるデータの量という点で、制約されているかもしれない。この制約は、デバイスおよび／またはリンクの物理的な制約（例えば、デバイスのネットワークインターフェースの制約）に、あるいは、他の何らかの制約に、起因することがある。したがって、各データデバイス１０２ａ〜１０２ｇがデータを送信および／または受信できるのに利用可能な帯域幅の有限量がある。いくつかの実施形態では、データ送信のための利用可能な帯域幅は、データ受信のための利用可能な帯域幅に関連する。他の実施形態では、データ送信のための利用可能な帯域幅は、データ受信のための利用可能な帯域幅に関連しない。したがって、デバイスが複数のフローを送信／受信するときに、利用可能な帯域幅は、複数のフロー間で割り振られる必要がある。
【００２２】
異なるフローは、フローに関係付けられているアプリケーションに基づいて、異なる最小スループット要件と、異なる最大所望スループットとを有していてもよい。例えば、ビデオストリームフローは、ライブ再生のために、連続的に、かつ、ある時間期間内でデータを受信する必要があることから、アプリケーション中でビデオをスムーズかつ正確に再生するために、最小帯域幅を必要とするかもしれない。一方、ウェブページに関するデータパケットを含むフローは、すべてのパケットを受信したときにはいつでも、ウェブページに表現できることから、最小帯域幅を必要としないかもしれない。したがって、フローの要件に基づいて、各デバイス１０２ａ〜１０２ｇのフローに帯域幅を割り振るべきである。
【００２３】
さらに、異なるフローは、異なる優先順位を有しているかもしれない。例えば、１つのフローは、何らかの帯域幅を別のフローに割り振る前に、最小必要帯域幅を割り振るべきである重要なアプリケーションに関係付けられていてもよく、または、１つのフローは、グラフィカルユーザインターフェースのフォアグラウンドにあり、それゆえ、優先順位が高いとユーザが考える可能性の高いアプリケーションに関係付けられていてもよい。フローは、多くの異なる方法によって優先順位が付けられてもよい。優先順位レベルは、各フローに特定の優先順位値（例えば、１、２、３等）が与えられる絶対的な優先順位レベルであってもよい。代替的に、優先順位レベルは、１つのフローの優先順位レベルが別のフローに対して相対的に規定されている（例えば、フロー１の優先順位は、フロー２の優先順位よりも高く、および／または、フロー３の優先順位よりも低い）、相対的なものであってもよい。さらに、優先順位レベルは、多くの異なる方法によってフローに割り当てられてもよい。例えば、フローを使用するアプリケーションは、例えば、アプリケーションプログラミングインターフェース（ＡＰＩ）を使用することによって、フローを制御するデバイスのオペレーティングシステムまたはマネージャアプリケーションから、フローに関する特定の優先順位レベルを要求してもよい。代替的に、アプリケーションのタイプのような、いくつかのパラメータに基づいて、デバイスによって、特定のフローがフローに自動的に割り当てられてもよい（例えば、ウェブブラウザには、ビデオプレーヤーよりも低い優先順位が割り当てられる）。別の実施形態では、デバイスのユーザが、フローに関する優先順位レベルを設定できる。
【００２４】
ある実施形態では、デバイス１０２ａ〜１０２ｇのそれぞれが、輻輳制御を実行するためにＴＣＰを利用してもよく、ひいては、異なるフローにリソースを間接的に割り当ててもよい。送信者デバイス側において、ＴＣＰは、送信する／受信するデータに関してフローに割り振られた帯域幅を制御するためにウィンドウスケーリングを使用する。ウィンドウスケーリングは輻輳ウィンドウサイズを設定することによって機能し、輻輳ウィンドウサイズは、所定のフローに関し、受信機からの肯定応答が送信機によって受信されることなく、送信機から受信機に送信できるパケットの数である。送信機から受信機にデータパケットが送られ、受信機からの肯定応答が送信機によって受信されるのに要する時間は、往復時間（ＲＴＴ）と呼ばれる。フローに関する輻輳ウィンドウサイズを増加させることは、ＲＴＴごとにより多くのデータを送ることができるようになることにより、フローに利用可能な帯域幅を増加させる。
【００２５】
ある実施形態では、ＴＣＰは、特定の帯域幅に達するフローに関する初期の輻輳ウィンドウサイズを設定する。ＴＣＰは、その後、以下のようなデータパケットの損失に基づいて、輻輳ウィンドウサイズを拡大縮小する。フローのデータパケットが送信機によって受信機に成功裏に送信され、肯定応答が送信機により受信された場合に、輻輳ウィンドウサイズは、量α（増加パラメータ）だけ増加され、量αが現在の輻輳ウィンドウサイズに追加される。フローの１つ以上のデータパケットが送信機によって受信機に送信するのに失敗し、送信に失敗した同じデータパケットを要求する複数の肯定応答（すなわち、複製の肯定応答）を送信機が受信した場合に、輻輳ウィンドウサイズは、現在の輻輳ウィンドウサイズと乗算される０と１との間の値である係数β（減少パラメータ）により減少する。値αおよびβは、以下で論じるように、輻輳ウィンドウサイズを調整するために、送信機によって使用される。
【００２６】
ある実施形態では、ＴＣＰは、輻輳ウィンドウサイズを各フローに対して等しいデフォルト値に設定することによって、最初に、等しい量の帯域幅をデバイス１０２中の各フローに割り振る。しかしながら、１つのフローに別のフローよりも高い優先順位を付け、より広い帯域幅を所定のフローに割り振るために、輻輳ウィンドウサイズの変化を制御するためのパラメータαおよびβを、異なるフローに対して異なるように調整できる。したがって、異なるフローに関する輻輳ウィンドウサイズは、異なるフローに関して異なる輻輳ウィンドウサイズをもたらす異なる度合（rate）で変化するだろう。
【００２７】
ここで説明するように、帯域幅の割り振りは、ＱｏＳメカニズムによるような直接的な帯域幅の割り振りと、間接的な帯域幅の割り振りとを含むことができる。間接的な帯域幅の割り振りの例として、ＵＤＰフローおよびＴＣＰフローが、ネットワーク接続を飽和させることがある。ＴＣＰフローを抑圧すること（throttling）によって、より多くの帯域幅がＵＤＰフローに間接的に割り振られてもよい。（以下でさらに詳細に説明するように、）ＴＣＰフローにアグレッシブな帯域幅パラメータを提供することによって、より少ない帯域幅がＵＤＰフローに間接的に割り振られてもよい。それゆえ、帯域幅の割り振りは、１つ以上のフローが抑圧され、１つ以上のフローにアグレッシブなパラメータが与えられ、優先順位が付けられ、および／または、再度優先順位が付けられるように、（ここで説明するＴＣＰパラメータのような）ネットワークパラメータを調整することを含み、それにより、異なる量の帯域幅が１つ以上の他のフローに提供される。
【００２８】
例えば、より多くの帯域幅を高い優先順位のフローに割り振る１つの方法は、高い優先順位のフローに関するパラメータαを増加させること、および／または、低い優先順位のフローに関するパラメータαを減少させることを含む。通常、αは１に等しい。パラメータαを（例えば、１よりも大きな値に）増加させることは、高い優先順位のフローに関する輻輳ウィンドウサイズを、より小さなパラメータαを持つフローよりも、すばやく、増加させる。さらに、パラメータαを（例えば、１よりも小さな値に）減少させることは、低い優先順位のフローに関する輻輳ウィンドウサイズを、より大きなパラメータαを持つフローよりも、より遅く、増加させる。高い優先順位のフローと、低い優先順位のフローの双方に関する輻輳ウィンドウサイズは、パケットがドロップし始めるまで増加するだろう。しかしながら、高い優先順位のフローの輻輳ウィンドウサイズは、αに関する異なる値に起因して、低い優先順位のフローの輻輳ウィンドウサイズよりも速く増加するだろう。そのため、高い優先順位のフローは、輻輳ウィンドウサイズが増加するにつれて、より大きな輻輳ウィンドウサイズを有するだろう。したがって、高い優先順位のフローに、より広い帯域幅が割り振られる。
【００２９】
１つの実施形態では、高い優先順位のフローに関係付けられているαは増加し、低い優先順位のフローに関係付けられているαは減少する。別の実施形態では、高い優先順位のフローに関係付けられているαのみが増加する。さらに別の実施形態では、低い優先順位のフローに関係付けられているαのみが減少する。
【００３０】
低い優先順位のフローのαのみが減少することは、αパラメータの変化に起因して、第３者のフローに、より少ない帯域幅が不公平に与えられないという点で、少なくとも１つの利点を有する。特に、高い優先順位のフローに関係付けられているαが増加する場合に、輻輳ウィンドウサイズは、既知の低い優先順位のフローに対してだけでなく、α＝１の標準値を有して、明らかでないかも知れない（may not be accounted for）他の第３者のフローに対しても、よりすばやく増加する。それゆえ、これらの明らかでない（unaccounted for）フローは、これが望ましくない場合でさえ、より高い優先順位のフローよりも少ない帯域幅を受け取るかもしれない。より低い優先順位のフローに関するαのみが減少することによって、この状況は回避される。その理由は、α＝１の標準値を有するフローよりも高い優先順位が付けられるフローがないためである。
【００３１】
高い優先順位のフローに帯域幅を割り振る別の方法は、高い優先順位のフローに関するパラメータβを増加させること、および／または、低い優先順位のフローに関するパラメータβを減少させることを含む。通常、βは０．５に等しい。パラメータβを（例えば、０．５よりも大きな値に）増加させることは、高い優先順位のフローに関する輻輳ウィンドウサイズを、より小さなパラメータβを持つフローより少なく減少させる。さらに、パラメータβを（例えば、０．５よりも小さな値に）減少させることは、低い優先順位のフローに関する輻輳ウィンドウサイズを、より大きなパラメータβを持つフローより多く減少させる。高い優先順位のフローと、低い優先順位のフローの双方に関する輻輳ウィンドウサイズは、パケットがドロップし始めるときに減少するだろう。しかしながら、高い優先順位のフローの輻輳ウィンドウサイズは、βに関する異なる値に起因して、低い優先順位のフローの輻輳ウィンドウサイズより少なく減少するだろう。そのため、高い優先順位のフローは、輻輳ウィンドウサイズが減少するにつれて、より大きな輻輳ウィンドウサイズを有するだろう。したがって、高い優先順位のフローに、より広い帯域幅が割り当てられる。
【００３２】
１つの実施形態では、高い優先順位のフローに関係付けられているβは増加し、低い優先順位のフローに関係付けられているβは減少する。別の実施形態では、高い優先順位のフローに関係付けられているβのみが増加する。さらに別の実施形態では、低い優先順位のフローに関係付けられているβのみが減少する。
【００３３】
低い優先順位のフローのβのみが減少することは、βパラメータの変化に起因して、第３者のフローに、より少ない帯域幅が不公平に与えられないという点で、少なくとも１つの利点を有する。特に、高い優先順位のフローに関係付けられているβが増加する場合に、輻輳ウィンドウサイズは、既知の低い優先順位のフローに対してだけでなく、β＝０．５の標準値を有して、明らかでないかもしれない他の第３者のフローに対しても、より少なく減少する。それゆえ、これらの明らかでないフローは、これが望ましくない場合でさえ、より高い優先順位のフローよりも少ない帯域幅を受け取るかもしれない。より低い優先順位のフローに関するβのみが減少することによって、この状況は回避される。その理由は、β＝０．５の標準値を有するフローよりも高い優先順位が付けられるフローがないためである。
【００３４】
αおよびβの値がどのように調整されるかは、異なる方法に基づくことができることに留意すべきである。ある実施形態では、αおよびβに関する値は、経験則（heuristic）に基づいて、調整されてもよい。例えば、αおよびβに関する値は、フローの現在のレート、フローに関する目標となる所望のレート、最小レート制約および最大レート制約、ならびに／あるいは、容量の制約に基づいて、調整されてもよい。
【００３５】
１つの例では、αおよび／またはβは、以下のような方程式１および／または方程式２にしたがって、デバイスのフローに関する目標となる所望のレートに基づいて、調整される。
【数１】
2015181248.tif 000003
【数２】
2015181248.tif 000004
【００３６】
ここで、
Ｎ＝フロー１ないしｊの数、
Ｒj＝フローｊに関する目標データレート、および、
ＲＴＴj＝フローｊに関する往復時間。
【００３７】
１つの実施形態では、フローｊに関する目標レートＲjは、フローｊの優先順位、フローｊに関する最小必要スループットＲmin j、フローｊに関する最大必要スループットＲmax j、および／または、フローに関する推定される利用可能な帯域幅Ｃに基づいていてもよい。他の方法を使用して、異なるフローに関する目標レートを設定してもよいことに留意すべきである。１つの実施形態では、フローの優先順位の順序が下がるように進んで、Ｃによって収容できる最小必要スループットのフローＮpの最大数が決定される。その後、以下のような方程式３によってＲjを計算してもよい。
【数３】
2015181248.tif 000005
【００３８】
したがって、各フローに、その最小レート制約と最大レート制約との間で目標レートが割り当てられる。
【００３９】
受信機側では、αおよびβではない異なるパラメータを調整して、フローに優先順位を付けてもよい。例えば、受信機側では、受信ウィンドウパラメータが、異なるフローに対して調整されてもよい。受信ウィンドウサイズは、所定のフローに関し、送信機への肯定応答なしで受信機が受け入れることができるデータの量（バイトの数）である。例えば、より高い優先順位のフローは、より大きな受信ウィンドウサイズが設定されてもよく、および／または、より低い優先順位のフローは、より小さな受信ウィンドウサイズが設定されてもよい。より大きな受信ウィンドウは、より多くのデータを受信するため、より多くの帯域幅を割り振ることが可能になる一方で、より小さな受信ウィンドウは、より少ないデータを受信するため、より少ない帯域幅を割り振ることが可能になる。別の例では、より低い優先順位のフローに関して、肯定応答メッセージの送信が遅延することがあり、それにより、ＲＴＴが増加するため、割り振られる帯域幅が減少する。さらに別の例では、より低い優先順位のフローに関する到来ＴＣＰパケットは、それらがＴＣＰスタックによって受信される前に、より低いレイヤでデバイスによってドロップされることがあり、ＴＣＰ再送信をトリガするため、フローによって使用されるレートおよび帯域幅を制限する。肯定応答メッセージの遅延および受信ウィンドウサイズは、何らかの経験則（heuristic）に基づいて、例えば、フローの現在のレート、フローに関する目標となる所望のレート、最小レート制約および最大レート制約、ならびに／あるいは、容量の制約に基づいて、調整されてもよい。
【００４０】
割り振られた帯域幅は、適応的にまたは反応的（reactive）によって調整されてもよいことにも留意すべきである。適応的な割り振りは、先に論じたパラメータまたは他のパラメータを、フローの優先順位レベルに関係付けられている特定の値に設定することによる、帯域幅の設定のことを指す。例えば、フローは、常に、パラメータα、β、受信ウィンドウサイズ、および／または、肯定応答遅延を、フローの特質に基づいて特定の値に設定させてもよい。例えば、フローに関する異なる優先順位レベルは、１つ以上の特定の値にマッピングしてもよい。さらに、特定の要件を持つフロー（例えば、フローに関する特定の帯域幅、特定の待ち時間を必要とするフロー、特定のビットレートを必要とするビデオフロー等）は、１つ以上の特定の値にマッピングしてもよい。反応的な割り振りは、特定のアプリケーションまたはフローが、期待されたように実行していない（例えば、ビデオがつっかえながら進んでいて（stuttering）、さらに多くの帯域幅が割り振られる）ときに、値を上げるまたは下げるように、先に論じたパラメータまたは他のパラメータを調整することによって、帯域幅を調整することを指す。さらに、例えば、１つ以上の往復時間の後に、説明した技術に基づいて、パラメータを周期的に調整してもよい。
【００４１】
先に論じたように、より多いまたはより少ない帯域幅をフローに割り振るために、異なるフローに対して、異なるパラメータが調整されてもよい。さらに、パラメータの調整は、フロー間での帯域幅の割り振りの相対的な変化を生じさせることがある。しかしながら、パラメータの調整が、フローが利用可能な全帯域幅に関する上限のような同じ制限要因を共有しているフローに関して行われるときに、パラメータの調整は、フロー間で割り振られた帯域幅を変更するのみであってもよいことに留意すべきである。ボトルネックまたはトラフィックフロー制約と呼ばれてもよい、この制限要因は、フローが利用可能な全帯域幅を制限する、単一のコンポーネントまたはリソースである。
【００４２】
例えば、フローは、リンク、ソケット、ハードウェアリソース等のような、いくつかのリソースを利用してもよく、それらのそれぞれは、あるスループットまたは帯域幅に関係付けられている。フローによって使用されるすべてのリソースのうち、トラフィックフロー制約は、最も低い全帯域幅またはスループットを有するリソースである。したがって、いくつかの実施形態では、１つ以上のデバイス１０２は、フローが同じトラフィックフロー制約を共有しているか否かを決定してもよい。フローが、同じトラフィックフロー制約を共有している場合に、双方のフローとも、実質的に、同じ全帯域幅上限を共有しているため、１つのフローに対する帯域幅の割り振りの変更は、他のフローに影響を与える。しかしながら、フローが、同じトラフィックフロー制約を共有していない場合に、フローは、同じ帯域幅上限を共有していないため、１つのフローに対する帯域幅の割り振りの変更は、必ずしも、他のフローに影響を与えない。それゆえ、フローが同じトラフィックフロー制約を共有していないときに、１つのフローに対して利用可能な帯域幅を減少させることは別のフローを促進しないかもしれない一方で、同時に、帯域幅が減少されるフローに不利に作用する。したがって、いくつかの実施形態では、上述したような、（ＴＣＰパラメータを調整することによる）目標レートの設定および／またはフローのセットの優先順位付けは、トラフィックフロー制約を共有するフローのセットに関して実行される。
【００４３】
１つの実施形態では、１つ以上のデバイス１０２は、同期して輻輳イベントをフローが経験するか否かを決定することによって、フローに関する共有されたトラフィックフロー制約を検出してもよい。送信機側では、送信機は、フローが、パケットをドロップした（例えば、肯定応答（ＡＣＫ）が何ら受信されない、または、複製のＡＣＫが受信された）か、ＲＴＴの増加を有しているか、送信レートの減少を有しているか、あるいは、おおよそ同時に他の何らかの輻輳イベントを経験しているかを決定してもよい。いくつかの実施形態では、このような変更が、最小しきい値を満たす（例えば、レートがしきい値量だけドロップする、しきい値量のパケットがドロップする、ＲＴＴがしきい値量よりも増加する等）場合にのみ、このような変更を、輻輳イベントとしてカウントしてもよい。例えば、送信機は、第１のフローがこのような輻輳イベントを経験した後で、第２のフローがしきい値時間期間内に輻輳イベントを経験するか否かを決定してもよい。第２のフローが、しきい値時間期間内に輻輳イベントを経験する場合に、フローが同じトラフィックフローを制約を共有していると仮定できる。送信機は、追加のフローに関しても同様に決定を行ってもよいことに留意すべきである。
【００４４】
同様に、受信機側では、受信機は、フローが、パケットをドロップした（例えば、あるシーケンス番号を持つパケットの損失により決定されたパケット損失）か、（例えば、タイムスタンプを使用して計算された、）ＲＴＴの増加を有しているか、瞬間的なスループットの減少を有しているか、あるいは、おおよそ同時に他の何らかの輻輳イベントを経験しているかを決定してもよい。いくつかの実施形態において、このような変更が、最小しきい値を満たす（例えば、レートがしきい値量だけドロップする、しきい値量のパケットがドロップする、ＲＴＴがしきい値量よりも増加する等）場合にのみ、このような変更を、輻輳イベントとしてカウントしてもよい。フローが、互いのしきい値時間期間内に輻輳イベントを経験する場合に、フローが、同じトラフィックフロー制約を共有していると仮定される。
【００４５】
送信機側および／または受信機側において、フローが、トラフィックフロー制約を共有しているか否かを検出するための追加のまたは代替的な方法は、所定の時間において、１つ以上のフローに、おおよそ期待された量の帯域幅が割り振られているか否かを決定することである。例えば、２つのフローが、同じ優先順位レベルを有している場合に、２つのフローに、それぞれ、公平な分配（share）の帯域幅が割り振られているかどうか、あるいは、２つのフローが、異なる優先順位レベルを有している場合に、２つのフローに、それぞれ、それらの期待した分配の帯域幅が割り振られているかどうかを決定してもよい。このように行う１つの方法は、各フローの実際の帯域幅が、そのフローに関する期待帯域幅のしきい値量（＋／−）内にあるか否かを決定することである。フローに関する期待帯域幅は、先の方程式３によって決定されるような、フローに関する目標レートに等しくてもよい。フローが、それぞれ、期待帯域幅を有している場合に、フローが同じトラフィックフロー制約を共有していると仮定できる。送信機および／または受信機は、追加のフローに関しても同様に決定を行ってもよいことに留意すべきである。
【００４６】
例えば、フローのパケットがドロップする時に、複数のフローに関する輻輳ウィンドウが期待輻輳ウィンドウ値のしきい値量内にあるか否かを決定することによって、送信機側で帯域幅の割り振りが検出されてもよい。パケットがドロップしている時間は、すべての帯域幅が割り振られているときである。すべてのフローが同じ優先順位を共有しているときに、トラフィックフロー制約を共有している同じセットにフローｊを割り振るための輻輳ウィンドウを用いることに関する１つの方程式が、Ｗj[C]＞＝Ｗj[sh]−許容差（tolerance）である場合に、フローｊは、このセットに追加される；
ここで、
Ｗj[C]＝β×Ｗj[LI]＝パケット損失後の輻輳ウィンドウ
Ｗj[LI]＝パケット損失が起こったときの輻輳ウィンドウ
Ｗj[sh]＝Ｃ／Ｎ×ＲＴＴj＝公平な分配の輻輳ウィンドウ
Ｃ＝すべてのフローＮに関する、推定される利用可能な帯域幅
Ｎ＝フロー１ないしｊの数、および、
ＲＴＴj＝フローｊに関する往復時間。
【００４７】
受信機側で、複数のフローに関する現在の受信データレートが、各フローに関する期待された現在のレートのしきい値量内にあるか否かを決定することによって、受信機側で帯域幅の割り振りが検出されてもよい。すべてのフローが同じ優先順位を共有しているときに、トラフィックフロー制約を共有している同じセットにフローｊを割り振るための現在のレートを用いることに関する１つの方程式が、ｒj[C]＞＝ｒj[sh]−許容差である場合に、フローｊは、このセットに追加される；
ここで、
ｒj[C]＝（単位時間ごとに受信されるバイトの数をカウントすることによって得られる）フローｊの現在のレート
ｒj[sh]＝（フローの数に対する容量の比として得られる）フローｊの公平な分配のレート。
【００４８】
いくつかの実施形態では、１つ以上のデバイス１０２は、輻輳イベントと帯域幅の割り振りの双方をテストできる。デバイス１０２は、双方のテストが、フローがトラフィックフロー制約を共有していることを示している場合にのみ、フローが、トラフィックフロー制約を共有していると決定してもよい。このような冗長性は、共有されたトラフィックフロー制約を検出する際に、偽陽性の数を減少させることができる。このアプローチは、同様に、偽陰性の数を増加させるかもしれない。したがって、いくつかの実施形態では、テストのうちの１つのみが行われてもよい。
【００４９】
いくつかの実施形態では、フロー間の共有されたトラフィックフロー制約のテストは、周期的に（例えば、１つ以上のＲＴＴごとに）行われる。このような周期的なテストは、フローが、使用されるリソースを経時的に変化させるかもしれないときに、または、あるリソースのスループットが経時的に変化するかもしれないときに、有効であることがある。したがって、フローのトラフィックフロー制約は、経時的に変化することがある。
【００５０】
図２は、送信機側でフローに優先順位を付けるための例示的な処理２００を図示したフローチャートである。ブロック２０５において開始すると、送信機は、トラフィックフロー制約を共有する複数のフローの中から、フローのセットを識別する。送信機は、上述した方法のうちのいずれかに基づいて、フローのセットを識別してもよい。先に論じたように、ある実施形態では、共有されたトラフィックフロー制約は、ボトルネックとすることができる。ブロック２１０に続くと、送信機は、フローのセット中のフローのそれぞれに関する目標レートを決定する。目標レートは、ここで論じたように決定されてもよい。さらに、ブロック２１５において、送信機は、トラフィックフロー制約に基づいて、フローのセット中のフローのそれぞれに帯域幅を割り振る。ある実施形態では、送信機は、各フローに関係付けられているそれぞれのアプリケーションの状況で、トラフィックフロー制約に基づいて、フローのセット中のフローのそれぞれに帯域幅を割り振ることができる。ある実施形態では、送信機は、トラフィックフロー制約に関係付けられている利用可能な帯域幅にさらに基づいて、帯域幅を割り振ってもよい。ある実施形態では、送信機は、フローの優先順位に基づいて、フローのセットの各フローに関するパラメータを調整することによって、帯域幅を割り振ってもよい。例えば、上述した方法を使用して、異なるフローに、異なる量の帯域幅を割り振ってもよい。次に、ブロック２２０において、送信機は、１つ以上のＲＴＴのような、時間期間の間、待つ。処理２００は、その後、ブロック２０５に戻る。
【００５１】
図３は、受信機側でフローに優先順位を付けるための例示的な処理３００を図示したフローチャートである。ブロック３０５において開始すると、受信機は、トラフィックフロー制約を共有する複数のフローの中から、フローのセットを識別する。受信機は、上述した方法のうちのいずれかに基づいて、フローのセットを識別してもよい。先に論じたように、ある実施形態では、共有されたトラフィックフロー制約は、ボトルネックとすることができる。ブロック３１０に続くと、受信機は、フローのセット中のフローのそれぞれに関する目標レートを決定する。目標レートは、ここで論じるように決定されてもよい。さらに、ブロック３１５において、受信機は、トラフィックフロー制約に基づいて、フローのセット中のフローのそれぞれに帯域幅を割り振る。ある実施形態では、受信機は、トラフィックフロー制約に関係付けられている利用可能な帯域幅にさらに基づいて、帯域幅を割り振ってもよい。ある実施形態では、受信機は、フローの優先順位に基づいて、フローのセットの各フローに関するパラメータを調整することによって、帯域幅を割り振ってもよい。例えば、上述した方法を使用して、異なるフローに、異なる量の帯域幅を割り振ってもよい。次に、ブロック３２０において、受信機は、１つ以上のＲＴＴのような、時間期間の間、待つ。処理３００は、その後、ブロック３０５に戻る。
【００５２】
当業者は、さまざまなステップが、処理２００および処理３００に追加されてもよく、または、処理２００および処理３００から省略されてもよいことを認識するはずである。さらに、処理２００および処理３００のさまざまなステップは、上述したのと異なる順序で実行されてもよい。
【００５３】
図４は、図１の通信ネットワーク中の、第１の例示的なデバイス１０２ａおよび第２の例示的なデバイス１０２ｂの機能的なブロック図である。示されているように、複数入力複数出力（ＭＩＭＯ）システム４００は、第１のデバイス１０２ａと、第２のデバイス１０２ｂとを含む。ＭＩＭＯシステムは、データ送信のために、複数（ＮＴ本）の送信アンテナおよび複数（ＮＲ本）の受信アンテナを用いる。ＮＴ本の送信アンテナおよびＮＲ本の受信アンテナによって形成されるＭＩＭＯチャネルは、ＮＳ個の独立チャネルからなってもよく、これらは空間チャネルと呼ばれ、ここでは、ＮＳ≦ｍｉｎ｛ＮＴ，ＮＲ｝である。ＮＳ個の独立チャネルのそれぞれは、次元に対応する。ＭＩＭＯシステムは、複数の送信アンテナおよび受信アンテナによって作られる追加の次元が利用された場合、向上した性能（たとえば、より高いスループット、および／または、より高い信頼性）を提供するかもしれない。
【００５４】
ＭＩＭＯシステムは、時分割複信（“ＴＤＤ”）および周波数分割複信（“ＦＤＤ”）をサポートしてもよい。ＴＤＤシステムでは、相反定理によって、逆方向リンクチャネルからの順方向リンクチャネルの推定が可能になるように、順方向リンクおよび逆方向リンクの伝送は、同じ周波数領域上でなされる。これによって、複数のアンテナがデバイスにおいて利用可能であるときに、デバイスが、順方向リンク上での送信ビームフォーミング利得を抽出することが可能になる。
【００５５】
デバイス１０２ａにおいて、多数のデータストリームに対するトラフィックデータが、データソース４１２から送信（“ＴＸ”）データプロセッサ４１４に提供される。
【００５６】
１つの実施形態では、各データストリームは、それぞれの送信アンテナを通して送信される。ＴＸデータプロセッサ４１４は、そのデータストリームに対して選択された特定の符号化スキームに基づいて、各データストリームに対するトラフィックデータをフォーマットし、符号化し、インターリーブして、符号化されたデータを提供する。
【００５７】
各データストリームに対する符号化されたデータは、ＯＦＤＭ技術を使用して、パイロットデータと多重化されてもよい。パイロットデータは、通常、既知の手法で処理される既知のデータパターンであり、チャネル応答を推定するために受信機システムにおいて使用されてもよい。各データストリームのための多重化されたパイロットデータおよび符号化データは、その後、そのデータストリームのために選択された特定の変調スキーム（例えば、ＢＰＳＫ、ＱＰＳＫ、Ｍ−ＰＳＫ、またはＭ−ＱＡＭ）に基づいて変調（すなわち、シンボルマッピング）され、変調シンボルが提供される。各データストリームのためのデータレート、符号化、および変調は、プロセッサ４３０によって実行される命令によって決定されてもよい。データメモリ４３２は、プロセッサ４３０またはデバイス１０２ａの他のコンポーネントによって使用される、プログラムコード、データ、および他の情報を記憶してもよい。さらに、プロセッサ４３０は、フローの優先順位付けに関する、ここで説明した方法を実行してもよい。
【００５８】
すべてのデータストリームに対する変調シンボルは、その後、ＴＸ ＭＩＭＯプロセッサ４２０に提供され、ＴＸ ＭＩＭＯプロセッサ４２０は、（例えば、ＯＦＤＭのために）変調シンボルをさらに処理してもよい。ＴＸ ＭＩＭＯプロセッサ４２０は、その後、ＮＴ個の変調シンボルストリームを、ＮＴ個のトランシーバ（“ＸＣＶＲ”）４２２Ａないし４２２Ｔに提供する。いくつかの態様において、ＴＸ ＭＩＭＯプロセッサ４２０は、データストリームのシンボルと、そのシンボルが送信されるアンテナに、ビームフォーミング重みを適用する。
【００５９】
トランシーバ４２２Ａないし４２２Ｔのそれぞれは、それぞれのシンボルストリームを受け取って処理して、１つ以上のアナログ信号を提供し、アナログ信号をさらに調整（例えば、増幅、フィルタリング、およびアップコンバート）し、ＭＩＭＯチャネルを通した送信に適した変調信号を提供する。そして、トランシーバ４２２Ａないし４２２ＴからのＮＴ個の変調信号は、その後、ＮＴ本のアンテナ４２４Ａないし４２４Ｔからそれぞれ送信される。
【００６０】
デバイス１０２ｂにおいて、送信された変調信号が、ＮＲ本のアンテナ４５２Ａ〜４５２Ｒによって受信され、アンテナ４５２Ａないし４５２Ｒのそれぞれからの受信信号は、それぞれのトランシーバ（“ＸＣＶＲ”）４５４Ａないし４５４Ｒに提供される。トランシーバ４５４Ａないし４５４Ｒのそれぞれは、それぞれの受信信号を調整（例えば、フィルタリング、増幅、およびダウンコンバート）し、調整した信号をデジタル化してサンプルを提供し、サンプルをさらに処理して、対応する“受信した”シンボルストリームを提供する。
【００６１】
受信（“ＲＸ”）データプロセッサ４６０は、その後、ＮＲ個のトランシーバ４５４Ａないし４５４Ｒから、ＮＲ個の受信シンボルストリームを受け取って、特定の受信機処理技術に基づいて処理し、ＮＴ個の“検出した”シンボルストリームを提供する。ＲＸデータプロセッサ４６０は、その後、それぞれの検出したシンボルストリームを復調し、デインターリーブし、復号して、データストリームに対するトラフィックデータを回復する。ＲＸデータプロセッサ４６０によって実行される処理は、デバイス１０２ａにおいてＴＸ ＭＩＭＯプロセッサ４２０およびＴＸデータプロセッサ４１４によって実行される処理と相補的である。
【００６２】
プロセッサ４７０は、どのプリコーディング行列を使用するかを周期的に決定する（以下で論じる）。プロセッサ４７０は、行列インデックス部分とランク値部分とを含む逆方向リンクメッセージを構築する。データメモリ４７２は、デバイス１０２ｂの、プロセッサ４７０または他のコンポーネントによって使用される、プログラムコード、データ、および他の情報を記憶してもよい。さらに、プロセッサ４７０は、フローの優先順位付けに関する、ここで説明した方法を実行してもよい。
【００６３】
逆方向リンクメッセージは、通信リンクおよび／または受信データストリームに関するさまざまなタイプの情報を含んでいてもよい。逆方向リンクメッセージは、その後、ＴＸデータプロセッサ４３８によって処理される。ＴＸデータプロセッサ４３８はまた、データソース４３６から、多数のデータストリームに対するトラフィックデータを受信する。変調器４８０は、データストリームを変調する。さらに、トランシーバ４５４Ａないし４５４Ｒは、データストリームを調整し、データストリームをデバイス１０２ａに返信する。
【００６４】
デバイス１０２ａにおいて、デバイス１０２ｂからの変調信号は、アンテナ４２４Ａないし４２４Ｔによって受信される。さらに、トランシーバ４２２Ａないし４２２Ｔは、変調信号を調整する。復調器（“ＤＥＭＯＤ”）４４０は、変調信号を復調する。ＲＸデータプロセッサ４４２は、復調信号を処理して、デバイス１０２ｂによって送信された逆方向リンクメッセージを抽出する。プロセッサ４３０は、その後、ビームフォーミングの重みを決定するためにどのプリコーディング行列を使用するかを決定する。さらに、プロセッサ４３０は、抽出したメッセージを処理する。
【００６５】
さらに、デバイス１０２ａおよび／またはデバイス１０２ｂは、ここで教示するような干渉制御動作を実行する１つ以上のコンポーネントを備えてもよい。例えば、ここで教示するように、干渉（“ＩＮＴＥＲ”）制御コンポーネント４９０が、別のデバイス（デバイス１０２ｂ）への信号の送信／別のデバイス（デバイス１０２ｂ）からの信号の受信のために、プロセッサ４３０および／またはデバイス１０２ａの他のコンポーネントと協働してもよい。同様に、干渉制御コンポーネント４９２は、別のデバイス（例えば、デバイス１０２ａ）への信号の送信／別のデバイス（例えば、デバイス１０２ａ）からの信号の受信のために、プロセッサ４７０および／またはデバイス１０２ｂの他のコンポーネントと協働してもよい。各デバイス１０２ａおよび４５０について、説明したコンポーネントのうちの２つ以上のコンポーネントの機能性が単一のコンポーネントによって提供されてもよいことを正しく認識すべきである。例えば、単一の処理コンポーネントは、干渉制御コンポーネント４９０およびプロセッサ４３０の機能性を提供してもよい。さらに、単一の処理コンポーネントは、干渉制御コンポーネント４９２およびプロセッサ４７０の機能性を提供してもよい。
【００６６】
図４は、デバイス１０２の１つの例に過ぎないことを理解すべきである。デバイス１０２はまた、先に論じたような何らかの適切な通信デバイスを含んでもよく、データおよび／または命令を記憶するメモリ、命令を実行し、ここで説明した方法を実行するプロセッサ、データを通信するトランシーバ（あるいは、受信機および送信機）、ならびに／あるいは、他の何らかの通信インターフェースをさらに備えてもよい。
【００６７】
図５は、図１の通信ネットワーク１００内で用いられてもよい別の例示的なワイヤレスデバイス５００の機能的なブロック図である。デバイス５００は、識別モジュール５０５、決定モジュール５１０、割り振りモジュール５１５、および、待機モジュール５２０とを含む。さまざまな実施形態では、デバイス５００は、図１および図４に関して先に論じたデバイス１０２のうちのいずれかとすることができる。例えば、デバイス５００は、送信機１０２ａおよび／または受信機１０２ｂとすることができる。当業者は、図示したデバイス５００のさまざまな実施形態が、示されていない追加のコンポーネントを含むことがあり、示されている１つ以上のコンポーネントを省略できることを正しく認識するだろう。
【００６８】
説明した実施形態では、識別モジュール５０５は、ブロック２０５（図２）および／またはブロック３０５（図３）に関して先に論じた機能のうちの１つ以上を実行するように構成されていてもよい。識別モジュール５０５は、図４に関して先に論じた、プロセッサ４３０、プロセッサ４７０、メモリ４３２、メモリ４７２、ＴＸデータプロセッサ４１３、ＴＸデータプロセッサ４３８、ＲＸデータプロセッサ４４２、および、ＲＸデータプロセッサ４６０のうちの１つ以上に対応していてもよい。
【００６９】
依然として図５を参照すると、決定モジュール５１０は、ブロック２１０（図２）および／またはブロック３１０（図３）に関して先に論じた機能のうちの１つ以上を実行するように構成されていてもよい。決定モジュール５１０は、図４に関して先に論じた、プロセッサ４３０、プロセッサ４７０、メモリ４３２、およびメモリ４７２のうちの１つ以上に対応していてもよい。割り振りモジュール５１５は、ブロック２１０（図２）および／またはブロック３１０（図３）に関して先に論じた機能のうちの１つ以上を実行するように構成されていてもよい。割り振りモジュール５１５は、図４に関して先に論じた、プロセッサ４３０、プロセッサ４７０、メモリ４３２、メモリ４７２、ＴＸデータプロセッサ４１３、ＴＸデータプロセッサ４３８、ＲＸデータプロセッサ４４２、ＲＸデータプロセッサ４６０、ＸＣＶＲ４２２、およびＸＣＶＲ４５４のうちの１つ以上に対応していてもよい。
【００７０】
“第１の”、“第２の”等のような指定を使用する、エレメントへのここでの何らかの参照は、一般的に、それらのエレメントの数量または順序を限定しないことを理解すべきである。むしろ、これらの指定は、２つ以上のエレメント間、または、エレメントの事例の間を識別する都合のよい方法としてここでは使用されているかもしれない。したがって、第１および第２のエレメントへの参照は、２つのエレメントのみがそこで用いられていること、または、いくつかの方法では第１のエレメントが第２のエレメントに先行することを意味しない。また、特に明記されていない限り、エレメントのセットは、１つ以上のエレメントを含んでもよい。さらに、説明または特許請求の範囲中で使用した、“Ａ、Ｂ、またはＣのうちの少なくとも１つ”という形の用語は、“ＡまたはＢまたはＣ、あるいは、これらのエレメントの任意の組み合わせ”を意味する。
【００７１】
さまざまな異なる技術および技法のうちのいずれかのものを使用して、情報および信号を表してもよいことを、当業者は理解するだろう。先の説明全体を通して参照した、例えば、データ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁界または磁気の粒子、光場（optical field）または光の粒子、あるいは、これらの任意の組み合わせによって表されてもよい。
【００７２】
ここで開示した例に関連して説明した、さまざまな例示的な論理ブロック、モジュール、回路、方法およびアルゴリズムを、電子機器、コンピュータソフトウェア、または、双方を組み合わせたものとして実装してもよいことを、当業者はさらに正しく認識するであろう。ハードウェアおよびソフトウェアのこの互換性を明確に示すために、さまざまな例示的なコンポーネント、ブロック、モジュール、回路、方法およびアルゴリズムが、それらの機能性の観点から概して上述された。このような機能性が、ハードウェアとして実装されるかまたはソフトウェアとして実装されるかは、システム全体に課せられた、特定の応用および設計の制約に依存する。熟練者が、それぞれの特定の応用に対して様式（way）を変化させて、説明した機能性を実装してもよいが、このような実装の決定は、本発明の範囲からの逸脱を生じさせるものとして解釈すべきでない。
【００７３】
ここで開示した例に関連して説明した、さまざまな例示的な論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタルシグナルプロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）または他のプログラマブル論理デバイス、ディスクリートゲートまたはトランジスタロジック、ディスクリートハードウェアコンポーネント、あるいは、ここで説明した機能を実行するように設計されたこれらの任意の組み合わせで実装されるか、あるいは、実行されてもよい。汎用プロセッサは、マイクロプロセッサであってもよいが、代替実施形態では、プロセッサは、何らかの従来のプロセッサ、コントローラ、マイクロコントローラ、または、ステートマシンであってもよい。プロセッサはまた、コンピューティングデバイスの組み合わせとして、例えば、ＤＳＰとマイクロプロセッサの組み合わせ、複数のマイクロプロセッサ、ＤＳＰ通信に関連する１つ以上のマイクロプロセッサ、あるいは、このような機器構成の他の何らかのものとして、実装されてもよい。
【００７４】
ここで開示した態様に関連して説明した、方法またはアルゴリズムのステップは、ハードウェアで、プロセッサによって実行されるソフトウェアモジュールで、または、２つのものを組み合わせたもので、直接具現化されてもよい。（例えば、実行可能な命令および関連するデータを含む）ソフトウェアモジュールと他のデータとは、例えばＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭ（登録商標）メモリ、レジスタ、ハードディスク、リムーブバルディスク、ＣＤ−ＲＯＭ、あるいは技術的に知られている他の何らかの形態のコンピュータ読取可能記憶媒体などのデータメモリ中に存在していてもよい。サンプルの記憶媒体は、プロセッサが、記憶媒体から情報（例えば、コード）を読み取り、記憶媒体に情報を書き込むことができるように、例えば、（ここでは、便宜上、“プロセッサ”と呼ばれることがある、）コンピュータ／プロセッサのような機械に結合されていてもよい。サンプルの記憶媒体は、プロセッサに一体化していてもよい。プロセッサおよび記憶媒体は、ＡＳＩＣ中に存在していてもよい。ＡＳＩＣは、ユーザ装置中に存在していてもよい。代替実施形態では、プロセッサおよび記憶媒体は、ユーザ装置中に別々のコンポーネントとして存在していてもよい。さらに、いくつかの態様では、何らかの適切なコンピュータプログラムプロダクトは、開示の態様のうちの１つ以上に関する（例えば、少なくとも１つのコンピュータによって実行可能な）コードを含むコンピュータ読取可能媒体を備えていてもよい。いくつかの態様では、コンピュータプログラムプロダクトは、パッケージングマテリアルを含んでもよい。
【００７５】
１つ以上の例示的な実施形態では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、または、これらの任意の組み合わせで実現されてもよい。ソフトウェアで実現される場合、これらの機能は、１つ以上の命令またはコードとして、コンピュータ読取可能媒体上に記憶されてもよく、あるいは、１つ以上の命令またはコードとして、コンピュータ読取可能媒体を通して送信されてもよい。コンピュータ読取可能媒体は、１つの場所から別の場所へのコンピュータプログラムの転送を促進する何らかの媒体を含むコンピュータ記憶媒体および通信媒体の双方を含む。記憶媒体は、コンピュータによってアクセスできる何らかの利用可能な媒体であってもよい。例のために、このようなコンピュータ読取可能媒体は、これらに限定されないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭまたは他の光ディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶デバイス、あるいは、コンピュータによってアクセスできる命令またはデータ構造の形態で所望のプログラムコードを搬送または記憶するために使用できる他の何らかの媒体を含むことができる。また、あらゆる接続は、コンピュータ読取可能媒体と適切に呼ばれる。例えば、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者線（ＤＳＬ）、あるいは、赤外線、無線、およびマイクロ波のようなワイヤレス技術を使用して、ウェブサイト、サーバあるいは他の遠隔ソースからソフトウェアが送信された場合、同軸ケーブル、光ファイバケーブル、ツイストペア、ＤＳＬ、あるいは、赤外線、無線、およびマイクロ波のようなワイヤレス技術は、媒体の定義に含まれる。ここで使用したようなディスク（ｄｉｓｋおよびｄｉｓｃ）は、コンパクトディスク（ＣＤ）、レーザディスク（登録商標）、光ディスク、デジタル多用途ディスク（ＤＶＤ）、フロッピー（登録商標）ディスク、およびブルーレイ（登録商標）ディスクを含むが、一般的に、ディスク（ｄｉｓｋ）は、データを磁気的に再生する一方で、ディスク（ｄｉｓｃ）はデータをレーザによって光学的に再生する。したがって、いくつかの態様では、コンピュータ読取可能媒体は、一時的ではないコンピュータ読取可能媒体（例えば、有形の媒体）を含んでもよい。さらに、いくつかの態様では、コンピュータ読取可能媒体は、一時的なコンピュータ読取可能媒体（例えば、信号）を含んでもよい。先のものを組み合わせたものもまた、コンピュータ読取可能媒体の範囲内に含められるべきである。
【００７６】
開示した例のこれまでの説明は、当業者が本発明を製作または使用できるように提供される。これらの例に対するさまざまな変形は、当業者にとって容易に明らかとなり、ここに定義された一般的な原理は、本発明の精神または範囲から逸脱することなく、他の例に適用されてもよい。したがって、本発明は、ここに示した例に限定されるように意図されておらず、ここで開示した原理および新規の特徴と一致する最も広い範囲に一致させるべきである。
【図１】
2015181248.tif 000006
【図２】
2015181248.tif 000007
【図３】
2015181248.tif 000008
【図４】
2015181248.tif 000009
【図５】
2015181248.tif 000010
【手続補正書】
【提出日】平成27年6月8日(2015.6.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
通信ネットワーク中で動作可能なデバイスにおいて、
前記デバイスは、
共有されたトラフィックフロー制約に基づいて、前記デバイス上で動作しているアプリケーションに関係付けられている、複数のフローからのフローのセットを識別することであって、前記フローのセットは第１のフローと第２のフローとを含む、前記識別することと、
前記第１のフローに関する第１の目標データレートと、前記第２のフローに関する第２の目標データレートとを決定することと、
前記トラフィックフロー制約と、前記トラフィックフロー制約に関係付けられている利用可能な帯域幅と、前記第１の目標データレートと、前記第２の目標データレートとに基づいて、前記フローのセット中の前記フローのそれぞれに帯域幅を割り振ることと、
を実行するように構成されているプロセッサを具備し、
前記プロセッサは、前記フローのセットの中の前記フローのそれぞれの優先順位に基づいて、前記フローのセットの中の少なくとも１つのフローに関係付けられているパラメータを調整することによって、前記フローのセット中の前記フローのそれぞれに帯域幅を割り振るようにさらに構成されており、
前記パラメータは、減少パラメータ、増加パラメータ、輻輳ウィンドウサイズ、受信ウィンドウサイズ、肯定応答遅延時間のうちの少なくとも１つを含むデバイス。
【請求項２】
前記プロセッサは、輻輳イベントを経験している前記第２のフローのしきい値時間期間内に前記輻輳イベントを前記第１のフローが経験するか否かを決定することによって、前記フローのセットを識別するように構成されている請求項１記載のデバイス。
【請求項３】
前記輻輳イベントは、ドロップしたパケット、増加した往復時間、送信レートの減少、瞬間的なスループットの減少、のうちの少なくとも１つを含む請求項２記載のデバイス。
【請求項４】
前記プロセッサは、前記第１のフローの実際の帯域幅が第１の期待帯域幅のしきい値量内にあり、かつ前記第２のフローの実際の帯域幅が第２の期待帯域幅のしきい値量内にあるか否かに応じて、前記第１のフローに第１の期待帯域幅が割り振られ、かつ前記第２のフローに第２の期待帯域幅が割り振られているか否かを決定することによって、前記フローのセットを識別するように構成されており、
前記第１の期待帯域幅は、前記第１のフローの優先順位に対応して期待された量の帯域幅であり、
前記第２の期待帯域幅は、前記第２のフローの優先順位に対応して期待された量の帯域幅である請求項１記載のデバイス。
【請求項５】
前記プロセッサは、前記第１のフローの現在の受信データレートが第１の期待受信データレートのしきい値量内にあり、かつ前記第２のフローの現在の受信データレートが第２の期待受信データレートのしきい値量内にあるか否かに応じて、前記第１のフローに第１の期待受信データレートが割り振られ、かつ前記第２のフローに第２の期待受信データレートが割り振られているか否かを決定することによって、前記フローのセットを識別するように構成されており、
前記第１の期待受信データレートは、前記第１のフローの優先順位に対応して期待された現在の受信データレートであり、
前記第２の期待受信データレートは、前記第２のフローの優先順位に対応して期待された現在の受信データレートである請求項１記載のデバイス。
【請求項６】
前記プロセッサは、前記第１のフローに関する輻輳ウィンドウサイズが第１の期待輻輳ウィンドウサイズのしきい値量内にあり、かつ前記第２のフローに関する輻輳ウィンドウサイズが第２の期待輻輳ウィンドウサイズのしきい値量内にあるか否かに応じて、前記第１のフローに第１の期待輻輳ウィンドウサイズが割り振られ、かつ前記第２のフローに第２の期待輻輳ウィンドウサイズが割り振られているか否かを決定することによって、前記フローのセットを識別するように構成されており、
前記第１の期待輻輳ウィンドウサイズは、前記第１のフローの優先順位に基づいて期待された輻輳ウィンドウサイズであり、
前記第２の期待輻輳ウィンドウサイズは、前記第２のフローの優先順位に基づいて期待された輻輳ウィンドウサイズである請求項１記載のデバイス。
【請求項７】
前記第１の目標データレートと、前記第２の目標データレートとは、前記トラフィックフロー制約に関係付けられている利用可能な帯域幅に基づいて決定される請求項１記載のデバイス。
【請求項８】
前記プロセッサは、前記フローのセットの中の少なくとも１つのフローに関係付けられている減少パラメータを、前記フローのセットの中の前記フローのそれぞれの優先順位に関連付けられている特定の値に設定することによって、前記割り振られた帯域幅を調整するようにさらに構成されている請求項１記載のデバイス。
【請求項９】
前記プロセッサは、前記フローのセットの中の少なくとも１つのフローに関係付けられている増加パラメータを、前記フローのセットの中の前記フローのそれぞれの優先順位に関連付けられている特定の値に設定することによって、前記割り振られた帯域幅を調整するようにさらに構成されている請求項１記載のデバイス。
【請求項１０】
前記プロセッサは、前記フローのセットの中の少なくとも１つのフローに関係付けられている輻輳ウィンドウサイズを、前記フローのセットの中の前記フローのそれぞれの優先順位に関連付けられている特定の値に設定することによって、前記割り振られた帯域幅を調整するようにさらに構成されている請求項１記載のデバイス。
【請求項１１】
前記プロセッサは、前記フローのセットの中の少なくとも１つのフローに関係付けられている受信ウィンドウサイズを、前記フローのセットの中の前記フローのそれぞれの優先順位に関連付けられている特定の値に設定することによって、前記割り振られた帯域幅を調整するようにさらに構成されている請求項１記載のデバイス。
【請求項１２】
前記プロセッサは、前記フローのセットの中の少なくとも１つのフローに関係付けられている肯定応答遅延時間を、前記フローのセットの中の前記フローのそれぞれの優先順位に関連付けられている特定の値に設定することによって、前記割り振られた帯域幅を調整するようにさらに構成されている請求項１記載のデバイス。
【請求項１３】
通信ネットワーク中で動作可能なデバイスにおいて動作する方法において、
前記方法は、
共有されたトラフィックフロー制約に基づいて、前記デバイス上で動作しているアプリケーションに関係付けられている、複数のフローからのフローのセットを識別することであって、前記フローのセットは第１のフローと第２のフローとを含む、前記識別することと、
前記第１のフローに関する第１の目標データレートと、前記第２のフローに関する第２の目標データレートとを決定することと、
前記トラフィックフロー制約と、前記トラフィックフロー制約に関係付けられている利用可能な帯域幅と、前記第１の目標データレートと、前記第２の目標データレートとに基づいて、前記フローのセット中の前記フローのそれぞれに帯域幅を割り振ることと、
を含み、
前記フローのセット中の前記フローのそれぞれに帯域幅を割り振ることは、前記フローのセットの中の前記フローのそれぞれの優先順位に基づいて、前記フローのセットの中の少なくとも１つのフローに関係付けられているパラメータを調整することを含み、
前記パラメータは、減少パラメータ、増加パラメータ、輻輳ウィンドウサイズ、受信ウィンドウサイズ、肯定応答遅延時間のうちの少なくとも１つを含む方法。
【請求項１４】
前記フローのセットを識別することは、輻輳イベントを経験している前記第２のフローのしきい値時間期間内に前記輻輳イベントを前記第１のフローが経験するか否かを決定することを含む請求項１３記載の方法。
【請求項１５】
前記輻輳イベントは、ドロップしたパケット、増加した往復時間、送信レートの減少、瞬間的なスループットの減少、のうちの少なくとも１つを含む請求項１４記載の方法。
【請求項１６】
前記フローのセットを識別することは、前記第１のフローの実際の帯域幅が第１の期待帯域幅のしきい値量内にあり、かつ前記第２のフローの実際の帯域幅が第２の期待帯域幅のしきい値量内にあるか否かに応じて、前記第１のフローに第１の期待帯域幅が割り振られ、かつ前記第２のフローに第２の期待帯域幅が割り振られているか否かを決定することを含み、
前記第１の期待帯域幅は、前記第１のフローの優先順位に対応して期待された量の帯域幅であり、
前記第２の期待帯域幅は、前記第２のフローの優先順位に対応して期待された量の帯域幅である請求項１３記載の方法。
【請求項１７】
前記フローのセットを識別することは、前記第１のフローの現在の受信データレートが第１の期待受信データレートのしきい値量内にあり、かつ前記第２のフローの現在の受信データレートが第２の期待受信データレートのしきい値量内にあるか否かに応じて、前記第１のフローに第１の期待受信データレートが割り振られ、かつ前記第２のフローに第２の期待受信データレートが割り振られているか否かを決定することを含み、
前記第１の期待受信データレートは、前記第１のフローの優先順位に対応して期待された現在の受信データレートであり、
前記第２の期待受信データレートは、前記第２のフローの優先順位に対応して期待された現在の受信データレートである請求項１３記載の方法。
【請求項１８】
前記フローのセットを識別することは、前記第１のフローに関する輻輳ウィンドウサイズが第１の期待輻輳ウィンドウサイズのしきい値量内にあり、かつ前記第２のフローに関する輻輳ウィンドウサイズが第２の期待輻輳ウィンドウサイズのしきい値量内にあるか否かに応じて、前記第１のフローに第１の期待輻輳ウィンドウサイズが割り振られ、かつ前記第２のフローに第２の期待輻輳ウィンドウサイズが割り振られているか否かを決定することを含み、
前記第１の期待輻輳ウィンドウサイズは、前記第１のフローの優先順位に基づいて期待された輻輳ウィンドウサイズであり、
前記第２の期待輻輳ウィンドウサイズは、前記第２のフローの優先順位に基づいて期待された輻輳ウィンドウサイズである請求項１３記載の方法。
【請求項１９】
前記第１の目標データレートと、前記第２の目標データレートとは、前記トラフィックフロー制約に関係付けられている利用可能な帯域幅に基づいて決定される請求項１３記載の方法。
【請求項２０】
前記フローのセットの中の少なくとも１つのフローに関係付けられている減少パラメータを、前記フローのセットの中の前記フローのそれぞれの優先順位に関連付けられている特定の値に設定することによって、前記割り振られた帯域幅を調整することをさらに含む請求項１３記載の方法。
【請求項２１】
前記フローのセットの中の少なくとも１つのフローに関係付けられている増加パラメータを、前記フローのセットの中の前記フローのそれぞれの優先順位に関連付けられている特定の値に設定することによって、前記割り振られた帯域幅を調整することをさらに含む請求項１３記載の方法。
【請求項２２】
前記フローのセットの中の少なくとも１つのフローに関係付けられている輻輳ウィンドウサイズを、前記フローのセットの中の前記フローのそれぞれの優先順位に関連付けられている特定の値に設定することによって、前記割り振られた帯域幅を調整することをさらに含む請求項１３記載の方法。
【請求項２３】
前記フローのセットの中の少なくとも１つのフローに関係付けられている受信ウィンドウサイズを、前記フローのセットの中の前記フローのそれぞれの優先順位に関連付けられている特定の値に設定することによって、前記割り振られた帯域幅を調整することをさらに含む請求項１３記載の方法。
【請求項２４】
前記フローのセットの中の少なくとも１つのフローに関係付けられている肯定応答遅延時間を、前記フローのセットの中の前記フローのそれぞれの優先順位に関連付けられている特定の値に設定することによって、前記割り振られた帯域幅を調整することをさらに含む請求項１３記載の方法。
【請求項２５】
通信ネットワーク中で動作可能なデバイスにおいて、
前記デバイスは、
共有されたトラフィックフロー制約に基づいて、前記デバイス上で動作しているアプリケーションに関係付けられている、複数のフローからのフローのセットを識別する手段であって、前記フローのセットは第１のフローと第２のフローとを含む、前記識別する手段と、
前記第１のフローに関する第１の目標データレートと、前記第２のフローに関する第２の目標データレートとを決定する手段と、
前記トラフィックフロー制約と、前記トラフィックフロー制約に関係付けられている利用可能な帯域幅と、前記第１の目標データレートと、前記第２の目標データレートとに基づいて、前記フローのセット中の前記フローのそれぞれに帯域幅を割り振る手段と、
を具備し、
前記フローのセット中の前記フローのそれぞれに帯域幅を割り振る手段は、前記フローのセットの中の前記フローのそれぞれの優先順位に基づいて、前記フローのセットの中の少なくとも１つのフローに関係付けられているパラメータを調整する手段を備え、
前記パラメータは、減少パラメータ、増加パラメータ、輻輳ウィンドウサイズ、受信ウィンドウサイズ、肯定応答遅延時間のうちの少なくとも１つを含むデバイス。
【請求項２６】
前記フローのセットを識別する手段は、輻輳イベントを経験している前記第２のフローのしきい値時間期間内に前記輻輳イベントを前記第１のフローが経験するか否かを決定する手段を備える請求項２５記載のデバイス。
【請求項２７】
前記輻輳イベントは、ドロップしたパケット、増加した往復時間、送信レートの減少、瞬間的なスループットの減少、のうちの少なくとも１つを含む請求項２６記載のデバイス。
【請求項２８】
前記フローのセットを識別する手段は、前記第１のフローの実際の帯域幅が第１の期待帯域幅のしきい値量内にあり、かつ前記第２のフローの実際の帯域幅が第２の期待帯域幅のしきい値量内にあるか否かに応じて、前記第１のフローに第１の期待帯域幅が割り振られ、かつ前記第２のフローに第２の期待帯域幅が割り振られているか否かを決定する手段を備えており、
前記第１の期待帯域幅は、前記第１のフローの優先順位に対応して期待された量の帯域幅であり、
前記第２の期待帯域幅は、前記第２のフローの優先順位に対応して期待された量の帯域幅である請求項２５記載のデバイス。
【請求項２９】
前記フローのセットを識別する手段は、前記第１のフローの現在の受信データレートが第１の期待受信データレートのしきい値量内にあり、かつ前記第２のフローの現在の受信データレートが第２の期待受信データレートのしきい値量内にあるか否かに応じて、前記第１のフローに第１の期待受信データレートが割り振られ、かつ前記第２のフローに第２の期待受信データレートが割り振られているか否かを決定する手段を備えており、
前記第１の期待受信データレートは、前記第１のフローの優先順位に対応して期待された現在の受信データレートであり、
前記第２の期待受信データレートは、前記第２のフローの優先順位に対応して期待された現在の受信データレートである請求項２５記載のデバイス。
【請求項３０】
前記フローのセットを識別する手段は、前記第１のフローに関する輻輳ウィンドウサイズが第１の期待輻輳ウィンドウサイズのしきい値量内にあり、かつ前記第２のフローに関する輻輳ウィンドウサイズが第２の期待輻輳ウィンドウサイズのしきい値量内にあるか否かに応じて、前記第１のフローに第１の期待輻輳ウィンドウサイズが割り振られ、かつ前記第２のフローに第２の期待輻輳ウィンドウサイズが割り振られているか否かを決定する手段を備えており、
前記第１の期待輻輳ウィンドウサイズは、前記第１のフローの優先順位に基づいて期待された輻輳ウィンドウサイズであり、
前記第２の期待輻輳ウィンドウサイズは、前記第２のフローの優先順位に基づいて期待された輻輳ウィンドウサイズである請求項２５記載のデバイス。
【請求項３１】
前記第１の目標データレートと、前記第２の目標データレートとは、前記トラフィックフロー制約に関係付けられている利用可能な帯域幅に基づいて決定される請求項２５記載のデバイス。
【請求項３２】
前記フローのセットの中の少なくとも１つのフローに関係付けられている減少パラメータを、前記フローのセットの中の前記フローのそれぞれの優先順位に関連付けられている特定の値に設定することによって、前記割り振られた帯域幅を調整する手段をさらに備える請求項２５記載のデバイス。
【請求項３３】
前記フローのセットの中の少なくとも１つのフローに関係付けられている増加パラメータを、前記フローのセットの中の前記フローのそれぞれの優先順位に関連付けられている特定の値に設定することによって、前記割り振られた帯域幅を調整する手段をさらに備える請求項２５記載のデバイス。
【請求項３４】
前記フローのセットの中の少なくとも１つのフローに関係付けられている輻輳ウィンドウサイズを、前記フローのセットの中の前記フローのそれぞれの優先順位に関連付けられている特定の値に設定することによって、前記割り振られた帯域幅を調整する手段をさらに備える請求項２５記載のデバイス。
【請求項３５】
前記フローのセットの中の少なくとも１つのフローに関係付けられている受信ウィンドウサイズを、前記フローのセットの中の前記フローのそれぞれの優先順位に関連付けられている特定の値に設定することによって、前記割り振られた帯域幅を調整する手段をさらに備える請求項２５記載のデバイス。
【請求項３６】
前記フローのセットの中の少なくとも１つのフローに関係付けられている肯定応答遅延時間を、前記フローのセットの中の前記フローのそれぞれの優先順位に関連付けられている特定の値に設定することによって、前記割り振られた帯域幅を調整する手段をさらに備える請求項２５記載のデバイス。
【請求項３７】
コンピュータ読取可能な記憶媒体において、
共有されたトラフィックフロー制約に基づいて、複数のフローから、デバイス上で動作しているアプリケーションに関係付けられているフローのセットをコンピュータに識別させるためのコードであって、前記フローのセットは第１のフローと第２のフローとを含む、前記識別させるためのコードと、
前記第１のフローに関する第１の目標データレートと、前記第２のフローに関する第２の目標データレートとを前記コンピュータに決定させるためのコードと、
前記トラフィックフロー制約と、前記トラフィックフロー制約に関係付けられている利用可能な帯域幅と、前記第１の目標データレートと、前記第２の目標データレートとに基づいて、前記コンピュータに前記フローのセット中の前記フローのそれぞれに帯域幅を割り振らせるためのコードと、
を含み、
前記コンピュータに前記フローのセット中の前記フローのそれぞれに帯域幅を割り振らせるためのコードは、前記フローのセットの中の前記フローのそれぞれの優先順位に基づいて、前記フローのセットの中の少なくとも１つのフローに関係付けられているパラメータを前記コンピュータに調整させるためのコードを含み、
前記パラメータは、減少パラメータ、増加パラメータ、輻輳ウィンドウサイズ、受信ウィンドウサイズ、肯定応答遅延時間のうちの少なくとも１つを含むコンピュータ読取可能な記憶媒体。
【請求項３８】
前記フローのセットをコンピュータに識別させるためのコードは、輻輳イベントを経験している前記第２のフローのしきい値時間期間内に前記輻輳イベントを前記第１のフローが経験するか否かを前記コンピュータに決定させるためのコードを含む請求項３７記載のコンピュータ読取可能な記憶媒体。
【請求項３９】
前記輻輳イベントは、ドロップしたパケット、増加した往復時間、送信レートの減少、瞬間的なスループットの減少、のうちの少なくとも１つを含む請求項３８記載のコンピュータ読取可能な記憶媒体。
【請求項４０】
前記フローのセットをコンピュータに識別させるためのコードは、前記第１のフローの実際の帯域幅が第１の期待帯域幅のしきい値量内にあり、かつ前記第２のフローの実際の帯域幅が第２の期待帯域幅のしきい値量内にあるか否かに応じて、前記第１のフローに第１の期待帯域幅が割り振られ、かつ前記第２のフローに第２の期待帯域幅が割り振られているか否かを前記コンピュータに決定させるためのコードを含み、
前記第１の期待帯域幅は、前記第１のフローの優先順位に対応して期待された量の帯域幅であり、
前記第２の期待帯域幅は、前記第２のフローの優先順位に対応して期待された量の帯域幅である請求項３７記載のコンピュータ読取可能な記憶媒体。
【請求項４１】
前記フローのセットをコンピュータに識別させるためのコードは、前記第１のフローの現在の受信データレートが第１の期待受信データレートのしきい値量内にあり、かつ前記第２のフローの現在の受信データレートが第２の期待受信データレートのしきい値量内にあるか否かに応じて、前記第１のフローに第１の期待受信データレートが割り振られ、かつ前記第２のフローに第２の期待受信データレートが割り振られているか否かを前記コンピュータに決定させるためのコードを含み、
前記第１の期待受信データレートは、前記第１のフローの優先順位に対応して期待された現在の受信データレートであり、
前記第２の期待受信データレートは、前記第２のフローの優先順位に対応して期待された現在の受信データレートである請求項３７記載のコンピュータ読取可能な記憶媒体。
【請求項４２】
前記フローのセットをコンピュータに識別させるためのコードは、前記第１のフローに関する輻輳ウィンドウサイズが第１の期待輻輳ウィンドウサイズのしきい値量内にあり、かつ前記第２のフローに関する輻輳ウィンドウサイズが第２の期待輻輳ウィンドウサイズのしきい値量内にあるか否かに応じて、前記第１のフローに第１の期待輻輳ウィンドウサイズが割り振られ、かつ前記第２のフローに第２の期待輻輳ウィンドウサイズが割り振られているか否かを前記コンピュータに決定させるためのコードを含み、
前記第１の期待輻輳ウィンドウサイズは、前記第１のフローの優先順位に基づいて期待された輻輳ウィンドウサイズであり、
前記第２の期待輻輳ウィンドウサイズは、前記第２のフローの優先順位に基づいて期待された輻輳ウィンドウサイズである請求項３７記載のコンピュータ読取可能な記憶媒体。
【請求項４３】
前記第１の目標データレートと、前記第２の目標データレートは、前記トラフィックフロー制約に関係付けられている利用可能な帯域幅に基づいて決定される請求項３７記載のコンピュータ読取可能な記憶媒体。
【請求項４４】
前記フローのセットの中の少なくとも１つのフローに関係付けられている減少パラメータを、前記フローのセットの中の前記フローのそれぞれの優先順位に関連付けられている特定の値に設定することによって、前記割り振られた帯域幅を前記コンピュータに調整させるためのコードをさらに含む請求項３７記載のコンピュータ読取可能な記憶媒体。
【請求項４５】
前記フローのセットの中の少なくとも１つのフローに関係付けられている増加パラメータを、前記フローのセットの中の前記フローのそれぞれの優先順位に関連付けられている特定の値に設定することによって、前記割り振られた帯域幅を前記コンピュータに調整させるためのコードをさらに含む請求項３７記載のコンピュータ読取可能な記憶媒体。
【請求項４６】
前記フローのセットの中の少なくとも１つのフローに関係付けられている輻輳ウィンドウサイズを、前記フローのセットの中の前記フローのそれぞれの優先順位に関連付けられている特定の値に設定することによって、前記割り振られた帯域幅を前記コンピュータに調整させるためのコードをさらに含む請求項３７記載のコンピュータ読取可能な記憶媒体。
【請求項４７】
前記フローのセットの中の少なくとも１つのフローに関係付けられている受信ウィンドウサイズを、前記フローのセットの中の前記フローのそれぞれの優先順位に関連付けられている特定の値に設定することによって、前記割り振られた帯域幅を前記コンピュータに調整させるためのコードをさらに含む請求項３７記載のコンピュータ読取可能な記憶媒体。
【請求項４８】
前記フローのセットの中の少なくとも１つのフローに関係付けられている肯定応答遅延時間を、前記フローのセットの中の前記フローのそれぞれの優先順位に関連付けられている特定の値に設定することによって、前記割り振られた帯域幅を前記コンピュータに調整させるためのコードをさらに含む請求項３７記載のコンピュータ読取可能な記憶媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００７６
【補正方法】変更
【補正の内容】
【００７６】
開示した例のこれまでの説明は、当業者が本発明を製作または使用できるように提供される。これらの例に対するさまざまな変形は、当業者にとって容易に明らかとなり、ここに定義された一般的な原理は、本発明の精神または範囲から逸脱することなく、他の例に適用されてもよい。したがって、本発明は、ここに示した例に限定されるように意図されておらず、ここで開示した原理および新規の特徴と一致する最も広い範囲に一致させるべきである。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［１］通信ネットワーク中で動作可能なデバイスにおいて、
前記デバイスは、
共有されたトラフィックフロー制約に基づいて、複数のフローからフローのセットを識別することであって、前記フローのセットは第１のフローと第２のフローとを含む、前記識別することと、
前記トラフィックフロー制約と、前記トラフィックフロー制約に関係付けられている利用可能な帯域幅とに基づいて、前記フローのセット中の前記フローのそれぞれに帯域幅を割り振ることと、
を実行するように構成されているプロセッサを具備するデバイス。
［２］前記プロセッサは、輻輳イベントを経験している前記第２のフローのしきい値時間期間内に前記輻輳イベントを前記第１のフローが経験するか否かを決定することによって、前記フローのセットを識別するように構成されている上記［１］に記載のデバイス。
［３］前記輻輳イベントは、ドロップしたパケット、増加した往復時間、送信レートの減少、瞬間的なスループットの減少、のうちの少なくとも１つを含む上記［２］に記載のデバイス。
［４］前記プロセッサは、前記第１のフローに第１の期待帯域幅が割り振られ、かつ前記第２のフローに第２の期待帯域幅が割り振られているか否かを決定することによって、前記フローのセットを識別するように構成されている上記［１］に記載のデバイス。
［５］前記プロセッサは、前記第１のフローに第１の期待受信データレートが割り振られ、かつ前記第２のフローに第２の期待受信データレートが割り振られているか否かを決定することによって、前記フローのセットを識別するように構成されている上記［１］に記載のデバイス。
［６］前記プロセッサは、前記第１のフローに第１の期待輻輳ウィンドウサイズが割り振られ、かつ前記第２のフローに第２の期待輻輳ウィンドウサイズが割り振られているか否かを決定することによって、前記フローのセットを識別するように構成されている上記［１］に記載のデバイス。
［７］前記プロセッサは、前記第１のフローに関する第１の目標データレートと、前記第２のフローに関する第２の目標データレートとを決定するようにさらに構成されている上記［１］に記載のデバイス。
［８］前記第１の目標データレートと、前記第２の目標データレートとは、前記トラフィックフロー制約に関係付けられている利用可能な帯域幅に基づいて決定される上記［７］に記載のデバイス。
［９］前記プロセッサは、前記フローのセットの中の少なくとも１つのフローに関係付けられている減少パラメータを調整することによって、前記フローのセット中の前記フローのそれぞれに帯域幅を割り振るようにさらに構成されている上記［１］に記載のデバイス。
［１０］前記プロセッサは、前記フローのセットの中の少なくとも１つのフローに関係付けられている増加パラメータを調整することによって、前記フローのセット中の前記フローのそれぞれに帯域幅を割り振るようにさらに構成されている上記［１］に記載のデバイス。
［１１］前記プロセッサは、前記フローのセットの中の少なくとも１つのフローに関係付けられている輻輳ウィンドウサイズを調整することによって、前記フローのセット中の前記フローのそれぞれに帯域幅を割り振るようにさらに構成されている上記［１］に記載のデバイス。
［１２］前記プロセッサは、前記フローのセットの中の少なくとも１つのフローに関係付けられている受信ウィンドウサイズを調整することによって、前記フローのセット中の前記フローのそれぞれに帯域幅を割り振るようにさらに構成されている上記［１］に記載のデバイス。
［１３］前記プロセッサは、前記フローのセットの中の少なくとも１つのフローに関係付けられている肯定応答遅延時間を調整することによって、前記フローのセット中の前記フローのそれぞれに帯域幅を割り振るようにさらに構成されている上記［１］に記載のデバイス。
［１４］通信ネットワーク中で動作可能なデバイスにおいて動作する方法において、
前記方法は、
共有されたトラフィックフロー制約に基づいて、複数のフローからフローのセットを識別することであって、前記フローのセットは第１のフローと第２のフローとを含む、前記識別することと、
前記トラフィックフロー制約と、前記トラフィックフロー制約に関係付けられている利用可能な帯域幅とに基づいて、前記フローのセット中の前記フローのそれぞれに帯域幅を割り振ることと、
を含む方法。
［１５］前記フローのセットを識別することは、輻輳イベントを経験している前記第２のフローのしきい値時間期間内に前記輻輳イベントを前記第１のフローが経験するか否かを決定することを含む上記［１４］に記載の方法。
［１６］前記輻輳イベントは、ドロップしたパケット、増加した往復時間、送信レートの減少、瞬間的なスループットの減少、のうちの少なくとも１つを含む上記［１５］に記載の方法。
［１７］前記フローのセットを識別することは、前記第１のフローに第１の期待帯域幅が割り振られ、かつ前記第２のフローに第２の期待帯域幅が割り振られているか否かを決定することを含む上記［１４］に記載の方法。
［１８］前記フローのセットを識別することは、前記第１のフローに第１の期待受信データレートが割り振られ、かつ前記第２のフローに第２の期待受信データレートが割り振られているか否かを決定することを含む上記［１４］に記載の方法。
［１９］前記フローのセットを識別することは、前記第１のフローに第１の期待輻輳ウィンドウサイズが割り振られ、かつ前記第２のフローに第２の期待輻輳ウィンドウサイズが割り振られているか否かを決定することを含む上記［１４］に記載の方法。
［２０］前記第１のフローに関する第１の目標データレートと、前記第２のフローに関する第２の目標データレートとを決定することをさらに含む上記［１４］に記載の方法。
［２１］前記第１の目標データレートと、前記第２の目標データレートとは、前記トラフィックフロー制約に関係付けられている利用可能な帯域幅に基づいて決定される上記［２０］に記載の方法。
［２２］前記フローのセット中の前記フローのそれぞれに帯域幅を割り振ることは、前記フローのセットの中の少なくとも１つのフローに関係付けられている減少パラメータを調整することを含む上記［１４］に記載の方法。
［２３］前記フローのセット中の前記フローのそれぞれに帯域幅を割り振ることは、前記フローのセットの中の少なくとも１つのフローに関係付けられている増加パラメータを調整することを含む上記［１４］に記載の方法。
［２４］前記フローのセット中の前記フローのそれぞれに帯域幅を割り振ることは、前記フローのセットの中の少なくとも１つのフローに関係付けられている輻輳ウィンドウサイズを調整することを含む上記［１４］に記載の方法。
［２５］前記フローのセット中の前記フローのそれぞれに帯域幅を割り振ることは、前記フローのセットの中の少なくとも１つのフローに関係付けられている受信ウィンドウサイズを調整することを含む上記［１４］に記載の方法。
［２６］前記フローのセット中の前記フローのそれぞれに帯域幅を割り振ることは、前記フローのセットの中の少なくとも１つのフローに関係付けられている肯定応答遅延時間を調整することを含む上記［１４］に記載の方法。
［２７］通信ネットワーク中で動作可能なデバイスにおいて、
前記デバイスは、
共有されたトラフィックフロー制約に基づいて、複数のフローからフローのセットを識別する手段であって、前記フローのセットは、第１のフローと第２のフローとを含む、前記識別する手段と、
前記トラフィックフロー制約と、前記トラフィックフロー制約に関係付けられている利用可能な帯域幅とに基づいて、前記フローのセット中のフローのそれぞれに帯域幅を割り振る手段と、
を具備するデバイス。
［２８］前記フローのセットを識別する手段は、輻輳イベントを経験している前記第２のフローのしきい値時間期間内に前記輻輳イベントを前記第１のフローが経験するか否かを決定する手段を備える上記［２７］に記載のデバイス。
［２９］前記輻輳イベントは、ドロップしたパケット、増加した往復時間、送信レートの減少、瞬間的なスループットの減少、のうちの少なくとも１つを含む上記［２８］に記載のデバイス。
［３０］前記フローのセットを識別する手段は、前記第１のフローに第１の期待帯域幅が割り振られ、かつ前記第２のフローに第２の期待帯域幅が割り振られているか否かを決定する手段を備える上記［２７］に記載のデバイス。
［３１］前記フローのセットを識別する手段は、前記第１のフローに第１の期待受信データレートが割り振られ、かつ前記第２のフローに第２の期待受信データレートが割り振られているか否かを決定する手段を備える上記［２７］に記載のデバイス。
［３２］前記フローのセットを識別する手段は、前記第１のフローに第１の期待輻輳ウィンドウサイズが割り振られ、かつ前記第２のフローに第２の期待輻輳ウィンドウサイズが割り振られているか否かを決定する手段を備える上記［２７］に記載のデバイス。
［３３］前記第１のフローに関する第１の目標データレートと、前記第２のフローに関する第２の目標データレートとを決定する手段をさらに具備する上記［２７］に記載のデバイス。
［３４］前記第１の目標データレートと、前記第２の目標データレートとは、前記トラフィックフロー制約に関係付けられている利用可能な帯域幅に基づいて決定される上記［３３］に記載のデバイス。
［３５］前記フローのセット中の前記フローのそれぞれに帯域幅を割り振る手段は、前記フローのセットの中の少なくとも１つのフローに関係付けられている減少パラメータを調整する手段を備える上記［２７］に記載のデバイス。
［３６］前記フローのセット中の前記フローのそれぞれに帯域幅を割り振る手段は、前記フローのセットの中の少なくとも１つのフローに関係付けられている増加パラメータを調整する手段を備える上記［２７］に記載のデバイス。
［３７］前記フローのセット中の前記フローのそれぞれに帯域幅を割り振る手段は、前記フローのセットの中の少なくとも１つのフローに関係付けられている輻輳ウィンドウサイズを調整する手段を備える上記［２７］に記載のデバイス。
［３８］前記フローのセット中の前記フローのそれぞれに帯域幅を割り振る手段は、前記フローのセットの中の少なくとも１つのフローに関係付けられている受信ウィンドウサイズを調整する手段を備える上記［２７］に記載のデバイス。
［３９］前記フローのセット中の前記フローのそれぞれに帯域幅を割り振る手段は、前記フローのセットの中の少なくとも１つのフローに関係付けられている肯定応答遅延時間を調整する手段を備える上記［２７］に記載のデバイス。
［４０］一時的でないコンピュータ読取可能媒体を具備するコンピュータプログラムプロダクトにおいて、
前記コンピュータ読取可能媒体は、
共有されたトラフィックフロー制約に基づいて、複数のフローからフローのセットをコンピュータに識別させるためのコードであって、前記フローのセットは第１のフローと第２のフローとを含む、前記識別させるためのコードと、
前記トラフィックフロー制約と、前記トラフィックフロー制約に関係付けられている利用可能な帯域幅とに基づいて、前記コンピュータに前記フローのセット中のフローのそれぞれに帯域幅を割り振らせるためのコードと、
を含むコンピュータプログラムプロダクト。
［４１］前記フローのセットをコンピュータに識別させるためのコードは、輻輳イベントを経験している前記第２のフローのしきい値時間期間内に前記輻輳イベントを前記第１のフローが経験するか否かを前記コンピュータに決定させるためのコードを含む上記［４０］に記載のコンピュータプログラムプロダクト。
［４２］前記輻輳イベントは、ドロップしたパケット、増加した往復時間、送信レートの減少、瞬間的なスループットの減少、のうちの少なくとも１つを含む上記［４１］に記載のコンピュータプログラムプロダクト。
［４３］前記フローのセットをコンピュータに識別させるためのコードは、前記第１のフローに第１の期待帯域幅が割り振られ、かつ前記第２のフローに第２の期待帯域幅が割り振られているか否かを前記コンピュータに決定させるためのコードを含む上記［４０］に記載のコンピュータプログラムプロダクト。
［４４］前記フローのセットをコンピュータに識別させるためのコードは、前記第１のフローに第１の期待受信データレートが割り振られ、かつ前記第２のフローに第２の期待受信データレートが割り振られているか否かを前記コンピュータに決定させるためのコードを含む上記［４０］に記載のコンピュータプログラムプロダクト。
［４５］前記フローのセットをコンピュータに識別させるためのコードは、前記第１のフローに第１の期待輻輳ウィンドウサイズが割り振られ、かつ前記第２のフローに第２の期待輻輳ウィンドウサイズが割り振られているか否かを前記コンピュータに決定させるためのコードを含む上記［４０］に記載のコンピュータプログラムプロダクト。
［４６］前記コンピュータ読取可能媒体は、前記第１のフローに関する第１の目標データレートと、前記第２のフローに関する第２の目標データレートとを前記コンピュータに決定させるためのコードをさらに含む上記［４０］に記載のコンピュータプログラムプロダクト。
［４７］前記第１の目標データレートと、前記第２の目標データレートは、前記トラフィックフロー制約に関係付けられている利用可能な帯域幅に基づいて決定される上記［４６］に記載のコンピュータプログラムプロダクト。
［４８］前記コンピュータに前記フローのセット中の前記フローのそれぞれに帯域幅を割り振らせるためのコードは、前記フローのセットの中の少なくとも１つのフローに関係付けられている減少パラメータを前記コンピュータに調整させるためのコードを含む上記［４０］に記載のコンピュータプログラムプロダクト。
［４９］前記コンピュータに前記フローのセット中の前記フローのそれぞれに帯域幅を割り振らせるためのコードは、前記フローのセットの中の少なくとも１つのフローに関係付けられている増加パラメータを前記コンピュータに調整させるためのコードを含む上記［４０］に記載のコンピュータプログラムプロダクト。
［５０］前記コンピュータに前記フローのセット中の前記フローのそれぞれに帯域幅を割り振らせるためのコードは、前記フローのセットの中の少なくとも１つのフローに関係付けられている輻輳ウィンドウサイズを前記コンピュータに調整させるためのコードを含む上記［４０］に記載のコンピュータプログラムプロダクト。
［５１］前記コンピュータに前記フローのセット中の前記フローのそれぞれに帯域幅を割り振らせるためのコードは、前記フローのセットの中の少なくとも１つのフローに関係付けられている受信ウィンドウサイズを前記コンピュータに調整させるためのコードを含む上記［４０］に記載のコンピュータプログラムプロダクト。
［５２］前記コンピュータに前記フローのセット中の前記フローのそれぞれに帯域幅を割り振らせるためのコードは、前記フローのセットの中の少なくとも１つのフローに関係付けられている肯定応答遅延時間を前記コンピュータに調整させるためのコードを含む上記［４０］に記載のコンピュータプログラムプロダクト。
【外国語明細書】
2015181248000001.pdf