(57)【特許請求の範囲】
【請求項１】
１つまたは複数のアプリケーションのうちの少なくとも１つのアプリケーションにおいてユーザ関心レベルが示されていると決定することと、
デバイス上で実行されている１つまたは複数のアプリケーションが、利用可能な帯域幅のしきい値を上回る帯域幅を使用しているか否かを判定することと、
前記デバイス上で実行されている１つまたは複数のアプリケーションが利用可能な帯域幅のしきい値を上回る帯域幅を使用していると決定された場合、前記ユーザ関心レベルに基づいて、前記１つまたは複数のアプリケーションのうちの少なくとも１つに関連するトランスポートフローを変更することと
を備える、ワイヤレス通信の方法。
【請求項２】
前記ユーザ関心レベルが示されていると前記決定することは、デバイスに関連付けられた１つまたは複数のセンサを使用して、前記１つまたは複数のアプリケーションのうちの前記示された少なくとも１つのアプリケーションがアクティブであると決定することをさらに備える、請求項１に記載の方法。
【請求項３】
前記１つまたは複数のセンサは、
加速度計、ユーザインターフェース、光センサ、またはジャイロスコープ
のうちの少なくとも１つを含む、請求項２に記載の方法。
【請求項４】
前記ユーザ関心レベルは、
前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションが対話型アプリケーションであることを決定すること、
前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションがフォアグラウンドにあると決定すること、あるいは
１つまたは複数のユーザ定義設定
のうちの少なくとも１つによって示される、請求項１に記載の方法。
【請求項５】
１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションにおいて前記ユーザ関心レベルが示されていると決定することは、第１の対話型アプリケーションを定義し、前記方法は、
前記１つまたは複数のアプリケーションのうちの、対話型アプリケーションではない第２のアプリケーションにおいてユーザ関心レベルが示されていないと決定すること
をさらに備え、
前記変更することは、前記第１の対話型アプリケーションの第１のトランスポートフローを優先するために、前記第２のアプリケーションの第２のトランスポートフローを低減することをさらに備える、請求項１に記載の方法。
【請求項６】
トランスポートフローはＴＣＰフローを備える、請求項１に記載の方法。
【請求項７】
前記変更することは、
前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションに関連する前記トランスポートフローを、前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションに関連しないトランスポートフローよりも優先すること
をさらに備える、請求項１に記載の方法。
【請求項８】
前記優先することは、前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションに関連しない前記トランスポートフローについてのアウトバウンド確認応答を、アウトバウンド確認応答に関する各往復時間（ＲＴＴ）に時間値を追加することによって遅延させることをさらに備える、請求項７に記載の方法。
【請求項９】
前記時間値は、定数値、あるいは前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーション以外のアプリケーションに関するＲＴＴを倍数的に増加させる乗法値のいずれかを備える、請求項８に記載の方法。
【請求項１０】
前記変更することは、
前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションについての縮小されたバッファサイズを通知すること、あるいは
前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーション以外のアプリケーションに関する大容量フローを遅延させること
のうちの少なくとも１つをさらに備える、請求項１に記載の方法。
【請求項１１】
コンピュータプログラムであって、
コンピュータに、
１つまたは複数のアプリケーションのうちの少なくとも１つのアプリケーションにおいてユーザ関心レベルが示されていると決定することと、
デバイス上で実行されている１つまたは複数のアプリケーションが、利用可能な帯域幅のしきい値を上回る帯域幅を使用しているか否かを判定することと、
前記デバイス上で実行されている１つまたは複数のアプリケーションが利用可能な帯域幅のしきい値を上回る帯域幅を使用していると決定された場合、前記ユーザ関心レベルに基づいて、前記１つまたは複数のアプリケーションのうちの少なくとも１つに関連するトランスポートフローを変更することと
を行わせるためのコードを備える、コンピュータプログラム。
【請求項１２】
前記コンピュータに、
デバイスに関連付けられた１つまたは複数のセンサを使用して、前記１つまたは複数のアプリケーションのうちの前記示された少なくとも１つのアプリケーションがアクティブであると決定すること
を行わせるためのコードをさらに備える、請求項１１に記載のコンピュータプログラム。
【請求項１３】
前記１つまたは複数のセンサは、
加速度計、ユーザインターフェース、光センサ、またはジャイロスコープ
のうちの少なくとも１つを含む、請求項１２に記載のコンピュータプログラム。
【請求項１４】
前記コンピュータに、
前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションが対話型アプリケーションであること、あるいは
前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションがフォアグラウンドにあること
のうちの少なくとも１つに該当すると決定することを行わせるためのコードをさらに備える、請求項１１に記載のコンピュータプログラム。
【請求項１５】
前記ユーザ関心レベルは１つまたは複数のユーザ定義設定によって示される、請求項１１に記載のコンピュータプログラム。
【請求項１６】
１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションにおいて前記ユーザ関心レベルが示されていると決定することは、第１の対話型アプリケーションを定義し、前記コンピュータプログラムは、前記コンピュータに、
前記１つまたは複数のアプリケーションのうちの、対話型アプリケーションではない第２のアプリケーションにおいてユーザ関心レベルが示されていないと決定することと、
前記第１の対話型アプリケーションの第１のトランスポートフローを優先するために、前記第２のアプリケーションの第２のトランスポートフローを低減することと
を行わせるためのコードをさらに備える、請求項１１に記載のコンピュータプログラム。
【請求項１７】
前記トランスポートフローはＴＣＰフローを備える、請求項１１に記載のコンピュータプログラム。
【請求項１８】
前記コンピュータに、
前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションに関連する前記トランスポートフローを、前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションに関連しないトランスポートフローよりも優先すること
を行わせるためのコードをさらに備える、請求項１１に記載のコンピュータプログラム。
【請求項１９】
前記コンピュータに、
前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションに関連しない前記トランスポートフローについてのアウトバウンド確認応答を、アウトバウンド確認応答に関する各往復時間（ＲＴＴ）に時間値を追加することによって遅延させること
を行わせるためのコードをさらに備える、請求項１８に記載のコンピュータプログラム。
【請求項２０】
前記時間値は、定数値、あるいは前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーション以外のアプリケーションに関するＲＴＴを倍数的に増加させる乗法値のいずれかを備える、請求項１９に記載のコンピュータプログラム。
【請求項２１】
前記コンピュータに、
前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションについての縮小されたバッファサイズを通知すること、あるいは
前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーション以外のアプリケーションに関する大容量フローを遅延させること
のうちの少なくとも１つを行わせるためのコードをさらに備える、請求項１１に記載のコンピュータプログラム。
【請求項２２】
１つまたは複数のアプリケーションのうちの少なくとも１つのアプリケーションにおいてユーザ関心レベルが決定されると決定するための手段と、
デバイス上で実行されている１つまたは複数のアプリケーションが、利用可能な帯域幅のしきい値を上回る帯域幅を使用しているか否かを判定するための手段と、
前記デバイス上で実行されている１つまたは複数のアプリケーションが利用可能な帯域幅のしきい値を上回る帯域幅を使用していると決定された場合、前記ユーザ関心レベルに基づいて、前記１つまたは複数のアプリケーションのうちの少なくとも１つに関連するトランスポートフローを変更するための手段と
を備える装置。
【請求項２３】
前記ユーザ関心レベルが示されていると決定するための前記手段は、デバイスに関連付けられた１つまたは複数のセンサを使用して、前記１つまたは複数のアプリケーションのうちの前記示された少なくとも１つのアプリケーションがアクティブであると決定するための手段をさらに備える、請求項２２に記載の装置。
【請求項２４】
前記１つまたは複数のセンサは、
加速度計、ユーザインターフェース、光センサ、またはジャイロスコープ
のうちの少なくとも１つを含む、請求項２３に記載の装置。
【請求項２５】
前記ユーザ関心レベルは、
前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションが対話型アプリケーションであることを決定するための手段、
前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションがフォアグラウンドにあると決定するための手段、あるいは
１つまたは複数のユーザ定義設定
のうちの少なくとも１つによって決定される、請求項２２に記載の装置。
【請求項２６】
１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションにおいて前記ユーザ関心レベルが示されていると決定するための前記手段は、第１の対話型アプリケーションを定義し、前記装置は、
前記１つまたは複数のアプリケーションのうちの、対話型アプリケーションではない第２のアプリケーションにおいてユーザ関心レベルが示されていないと決定するための手段
をさらに備え、
変更するための前記手段は、前記第１の対話型アプリケーションの第１のトランスポートフローを優先するために、前記第２のアプリケーションの第２のトランスポートフローを低減するための手段をさらに備える、請求項２２に記載の装置。
【請求項２７】
トランスポートフローはＴＣＰフローを備える、請求項２２に記載の装置。
【請求項２８】
変更するための前記手段は、
前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションに関連する前記トランスポートフローを、前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションに関連しないトランスポートフローよりも優先するための手段
をさらに備える、請求項２２に記載の装置。
【請求項２９】
優先するための前記手段は、前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションに関連しない前記トランスポートフローについてのアウトバウンド確認応答を、アウトバウンド確認応答に関する各往復時間（ＲＴＴ）に時間値を追加することによって遅延させるための手段をさらに備える、請求項２８に記載の装置。
【請求項３０】
前記時間値は、定数値、あるいは前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーション以外のアプリケーションに関するＲＴＴを倍数的に増加させる乗法値のいずれかを備える、請求項２９に記載の装置。
【請求項３１】
変更するための前記手段は、
前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションについての縮小されたバッファサイズを通知するための手段、あるいは
前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーション以外のアプリケーションに関する大容量フローを遅延させるための手段
のうちの少なくとも１つをさらに備える、請求項２２に記載の装置。
【請求項３２】
１つまたは複数のアプリケーションのうちの少なくとも１つのアプリケーションにおいてユーザ関心レベルが決定されると決定することと、
デバイス上で実行されている１つまたは複数のアプリケーションが、利用可能な帯域幅のしきい値を上回る帯域幅を使用しているか否かを判定することと、
を行うように動作可能な関心レベルモジュールと、
前記デバイス上で実行されている１つまたは複数のアプリケーションが利用可能な帯域幅のしきい値を上回る帯域幅を使用していると決定された場合、前記ユーザ関心レベルに基づいて、前記１つまたは複数のアプリケーションのうちの少なくとも１つに関連するトランスポートフローを変更する
ように動作可能なフロー変更モジュールと
を備える、通信のための装置。
【請求項３３】
前記関心レベルモジュールは、デバイスに関連付けられた１つまたは複数のセンサを使用して、前記１つまたは複数のアプリケーションのうちの前記示された少なくとも１つのアプリケーションがアクティブであると決定するようにさらに動作可能である、請求項３２に記載の装置。
【請求項３４】
前記１つまたは複数のセンサは、
加速度計、ユーザインターフェース、光センサ、またはジャイロスコープ
のうちの少なくとも１つを含む、請求項３３に記載の装置。
【請求項３５】
前記ユーザ関心レベルは１つまたは複数のユーザ定義設定によって決定される、請求項３２に記載の装置。
【請求項３６】
前記関心レベルモジュールは、
前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションが対話型アプリケーションであること、あるいは
前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションがフォアグラウンドにあること
のうちの少なくとも１つに該当すると決定するようにさらに動作可能である、請求項３２に記載の装置。
【請求項３７】
１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションにおいて前記ユーザ関心レベルが示されていると決定することは、第１の対話型アプリケーションを定義し、前記関心レベルモジュールは、前記１つまたは複数のアプリケーションのうちの、対話型アプリケーションではない第２のアプリケーションにおいてユーザ関心レベルが示されていないと決定するようにさらに動作可能であり、前記フロー変更モジュールは、前記第１の対話型アプリケーションの第１のトランスポートフローを優先するために、前記第２のアプリケーションの第２のトランスポートフローを低減するようにさらに動作可能である、請求項３２に記載の装置。
【請求項３８】
トランスポートフローはＴＣＰフローを備える、請求項３２に記載の装置。
【請求項３９】
前記フロー変更モジュールは、
前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションに関連する前記トランスポートフローを、前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションに関連しないトランスポートフローよりも優先する
ようにさらに動作可能である、請求項３２に記載の装置。
【請求項４０】
前記フロー変更モジュールは、
前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションに関連しない前記トランスポートフローについてのアウトバウンド確認応答を、アウトバウンド確認応答に関する各往復時間（ＲＴＴ）に時間値を追加することによって遅延させる
ようにさらに動作可能である、請求項３９に記載の装置。
【請求項４１】
前記時間値は、定数値、あるいは前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーション以外のアプリケーションに関するＲＴＴを倍数的に増加させる乗法値のいずれかを備える、請求項４０に記載の装置。
【請求項４２】
前記フロー変更モジュールは、
前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションについての縮小されたバッファサイズを通知すること、あるいは
前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーション以外のアプリケーションに関する大容量フローを遅延させること
のうちの少なくとも１つを行うようにさらに動作可能である、請求項３２に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
開示する態様は、一般にデバイス間の通信に関し、詳細には、デバイス中心の（device-centric）特性に基づきＴＣＰフロー制御を通じてデバイスパフォーマンスを向上させるための方法およびシステムに関する。
【背景技術】
【０００２】
技術の進歩により、パーソナルコンピューティングデバイスは、より小型でより強力になった。たとえば、現在、それぞれ小型、軽量であり、ユーザが容易に持ち運ぶことができるポータブルワイヤレス電話、携帯情報端末（ＰＤＡ）およびページングデバイスなどのワイヤレスコンピューティングデバイスを含む、様々なポータブルパーソナルコンピューティングデバイスが存在する。より具体的には、ポータブルワイヤレス電話は、たとえば、ワイヤレスネットワークを通じてボイスおよびデータパケットを通信するセルラー電話をさらに含む。さらに、多くのそのようなセルラー電話は、計算能力の比較的大きな向上を伴いながら製造されており、したがって、小型パーソナルコンピュータおよびハンドヘルドＰＤＡと同等になりつつある。
【０００３】
またさらに、デバイスは、マルチプルなアプリケーションを実行するように構成されることがあり、かかるアプリケーションの各々がネットワークからのコンテンツにアクセスすることを求める結果、帯域幅使用が大きく変動することになり得る。ユーザがマルチプルなアプリケーションを実行していて、個々のアプリケーションの各々が利用可能な全帯域幅よりも少ない帯域幅を使用しているときでも、すべてのアプリケーションを合わせると、利用可能帯域幅を上回る帯域幅を使用していることがある。これは、すべてのアプリケーションにとって悪いパフォーマンスをもたらす。相当な注意をはらわなければ、ネットワークのボトルネックが１つのアプリケーションの質を低下させ、ユーザがそのアプリケーションと対話することを不可能にしかねない。現在、セルラーネットワークは、ワイヤレスチャネルの品質および輻輳に起因して生じ得るリンクの帯域幅の変動に対処するために、大規模ネットワークバッファを使用している。この変動は、変化する帯域幅遅延積（ＢＤＰ：bandwidth delay product）と、リンクを十分に利用するための大規模バッファの必要性とを暗示している。
【０００４】
しかしながら、ネットワーク内に大規模バッファが存在するせいで、十分に利用されるリンクは対話型アプリケーションに関する問題を生じさせる。たとえば、バックグラウンドタスクがネットワークからアルバムをダウンロードし始めた場合、この活動はエンドツーエンドのレイテンシ要件を伴う対話型アプリケーションに影響を与え得る。言い換えれば、大規模ネットワークバッファのサイズは、対話型アプリケーションからのパケットに関するレイテンシを増大させる。ネットワークバッファの拡大を容認しなければ、ネットワークリンクの使用は非効率的になり、大きいコンテンツをダウンロードするようなタスクのパフォーマンスが損なわれ得る。
【０００５】
したがって、フロー制御を通じてユーザデバイスパフォーマンスを向上させるための改善された装置および方法が望まれている。
【発明の概要】
【０００６】
以下で、１つまたは複数の態様の基本的理解を与えるために、そのような態様の簡略化された概要を提示する。この概要は、すべての企図された態様の包括的な概観ではなく、すべての態様の主要または重要な要素を識別するものでも、いずれかまたはすべての態様の範囲を定めるものでもない。その唯一の目的は、後で提示するより詳細な説明の導入として、１つまたは複数の態様のいくつかの概念を簡略化された形で提示することである。
【０００７】
１つまたは複数の態様およびその対応する開示に従って、フロー制御を通じてユーザデバイスパフォーマンスを向上させることに関して、様々な態様について説明する。一態様によれば、フロー制御を通じてユーザデバイスパフォーマンスを向上させるための方法が提供される。該方法は、１つまたは複数のアプリケーションのうちの少なくとも１つのアプリケーションにおいてユーザ関心レベルが示されていると決定することを含み得る。さらに、該方法は、１つまたは複数のアプリケーションのうちの少なくとも１つに関連するトランスポートフローを変更することを含み得る。
【０００８】
別の態様は、コンピュータ可読媒体を備えるコンピュータプログラム製品に関する。該コンピュータ可読媒体は、１つまたは複数のアプリケーションのうちの少なくとも１つのアプリケーションにおいてユーザ関心レベルが示されていると決定するように実行可能なコードを備える。さらに、該コンピュータ可読媒体は、１つまたは複数のアプリケーションのうちの少なくとも１つに関連するトランスポートフローを変更するように実行可能なコードを備える。
【０００９】
さらに別の態様は装置に関する。該装置は、１つまたは複数のアプリケーションのうちの少なくとも１つのアプリケーションにおいてユーザ関心レベルが示されていると決定するための手段を備え得る。さらに、該装置は、１つまたは複数のアプリケーションのうちの少なくとも１つに関連するトランスポートフローを変更するための手段を備え得る。
【００１０】
別の態様は装置に関する。該装置は、１つまたは複数のアプリケーションのうちの少なくとも１つのアプリケーションにおいてユーザ関心レベルが示されていると決定するように動作可能な関心レベルモジュールを含み得る。さらに、該装置は、１つまたは複数のアプリケーションのうちの少なくとも１つに関連するトランスポートフローを変更するように動作可能なフロー変更モジュールを含み得る。
【００１１】
上記および関連する目的を達成するために、１つまたは複数の態様は、以下で十分に説明し、特に特許請求の範囲で指摘する特徴を備える。以下の説明および添付の図面に、１つまたは複数の態様のうちのいくつかの例示的な特徴を詳細に記載する。ただし、これらの特徴は、様々な態様の原理を採用することができる様々な方法のほんのいくつかを示すものであり、この説明は、すべてのそのような態様およびそれらの均等物を含むものとする。
【００１２】
添付の図面とともに以下に説明する開示する態様は、開示する態様を限定するためではなく、開示する態様を例示するために与えられ、同様の表示は同様の要素を示す。
【図面の簡単な説明】
【００１３】
【図１】一態様による、通信ネットワークのブロック図。
【図２】一態様による、フロー制御を通じてデバイスパフォーマンスを向上させるための例示的なシステムを記述したフローチャート。
【図３】一態様による、通信デバイスの動作の例示的なブロック図。
【図４】一態様による、通信デバイスの例示的なアーキテクチャのブロック図。
【図５】一態様による、フロー制御を通じてデバイスパフォーマンスを向上させることができる例示的な通信システムのブロック図。
【発明を実施するための形態】
【００１４】
ここで、図面を参照しながら様々な態様について説明する。以下の説明では、説明のために、１つまたは複数の態様の完全な理解を与えるために多数の具体的な詳細を記載する。ただし、そのような（１つまたは複数の）態様は、これらの具体的な詳細なしに実施できることは明らかであろう。
【００１５】
一般に、ユーザは、通信デバイス１１０を通じてアクセスネットワークおよび／またはコアネットワーク１２５と通信することを試み得る。さらに、通信デバイス１１０は、通信デバイス１１０に関連付けられたアプリケーション１２０がコンテンツサーバ１３０との間でコンテンツを通信できるように、コンテンツサーバ１３０と協調し得る。一態様では、通信デバイス１１０は、ワイヤレス通信デバイス（ＷＣＤ）、および／または複数のデバイス（ワイヤラインでもワイヤレスでもよい）を含み得る。たとえば、複数のデバイスは、ネットワークなどとして連携し得る。
【００１６】
図１を参照すると、一態様による通信ネットワーク１００のブロック図が示されている。通信ネットワーク１００は、アクセスネットワークおよび／またはコアネットワーク１２５（たとえば、ＣＤＭＡネットワーク、ＧＰＲＳネットワーク、ＵＭＴＳネットワーク、ならびに他のタイプのワイヤライン通信ネットワークおよびワイヤレス通信ネットワーク）に接続された通信デバイス１１０を含み得る。通信ネットワーク１００は、ネットワーク１２５に接続されたコンテンツサーバ１３０のような、サーバのうちの１つまたは複数をさらに含み得る。
【００１７】
一態様では、通信デバイス１１０は、フロー制御モジュール１１２と、１つまたは複数のセンサ１１８と、１つまたは複数のアプリケーション１２０とをさらに含み得る。一態様では、フロー制御モジュール１１２は、関心レベルモジュール１１４と、フロー変更モジュール１１６とをさらに含み得る。さらに、一態様では、コンテンツサーバ１３０は、通信デバイス１１０と通信する１つまたは複数のフローを変更するように動作可能であり得るフローモジュール１３２を含み得る。
【００１８】
フロー制御モジュール１１２は、関心レベルモジュール１１４を通じてアプリケーション１２０を向上させるように動作可能であり得る。一態様では、関心レベルモジュール１１４は、ユーザからの明示的な入力、暗示的な入力または両方のタイプの入力を使用するように動作可能であり得る。さらに、フロー制御モジュール１１２は、ＴＣＰフローを識別し、それらをアプリケーション１２０にリンクさせることができる。一態様では、フロー変更モジュール１１６は、識別されたフローに優先度を付けることができる。別の態様では、フロー変更モジュール１１６は、ヒューリスティック（heuristic）を使用してフローに優先度を付けることができ、該ヒューリスティックは、関心レベルモジュール１１４と結びついて、ユーザにとって重要であり得るＴＣＰフローを識別し得る。さらに、フロー変更モジュール１１６が識別されたフローを操作して、より優先度の高いフロー（たとえば、関心レベルモジュール１１４によって、ユーザにとってより重要であると見なされたフロー）のスループットを引き上げ、低優先度フロー（たとえば、関心レベルモジュール１１４によって、ユーザにとってさほど重要ではないと見なされたフロー）のスループットを引き下げることができる。別の態様では、フロー変更モジュール１１６が識別されたフローを操作して、高優先度フローのレイテンシを低減することができる。したがって、フロー制御モジュール１１２が、リンク利用を管理して、現在のネットワークスタックプロトコルを実施することなくシームレスにユーザエクスペリエンスを改善することができる。たとえば、動作時に、ビデオフローがユーザにとって「重要」と見なされることがある一方、音楽ファイルはさほど重要ではないと見なされることがある。ユーザ選好は、関心レベルモジュール１１４によって検出されることがあり、フロー変更モジュール１１６は、かかる音楽ファイルダウンロードに割り振られた帯域幅またはリソースの量を減らし、ビデオフロー向けの帯域幅を増やすことができる。したがって、フロー制御モジュール１１２は、ビデオアプリケーションのパフォーマンス、ひいてはユーザエクスペリエンスを効果的に改善する。
【００１９】
別の態様では、関心レベルモジュール１１４は、セルラーリンク上のフロー動作に影響を与えるために通信デバイス１１０のセンサ１１８を使用するように動作可能であり得る。１つのそのような態様では、関心レベルモジュール１１４をポーリングして、通信デバイス１１０が対話型アプリケーション１２０（たとえば、ウェブブラウザなど）によって使用されるかどうかを決定することができる。通信デバイスが対話型アプリケーション１２０によって使用されていると決定されると、フロー制御モジュール１１２は、大容量転送フローがネットワークバッファを満杯にしないように、該大容量転送フローを処理し得る。一態様では、フロー制御モジュール１１２は、大容量フローのパケットを遅延させることができる。別の態様では、フロー制御モジュール１１２は、通信デバイス１１０の受信機における小規模バッファを通知（advertise）し得る。さらに別の態様では、フロー制御モジュール１１２は、フロー上でＲＴＴ（往復時間）の増加が観測されたときに、ウィンドウサイズを縮小することができる。
【００２０】
動作時に、関心レベルモジュール１１４は、いずれかのアプリケーションが対話型（たとえば、チャット、ウェブブラウザ）として定義されているかどうかを決定することができ、ユーザが対話型アプリケーションとアクティブに対話していると決定することができる。そのような態様では、関心レベルモジュール１１４は、アプリケーションがフォアグラウンドにあると決定し得る。別の態様では、関心レベルモジュール１１４は、加速度計プロファイルなどのセンサプロファイルを処理することによってユーザ関心レベルを決定するように動作可能であり得る。たとえば、通信デバイスがユーザのポケットの中にあることを示すセンサプロファイルは、低いユーザ関心レベルを示す。別の例では、通信デバイスがユーザの耳にあてられていることを示すセンサプロファイルは、低いユーザ関心レベルを示す。
【００２１】
オプションの一態様では、関心レベルモジュール１１４は、通信デバイスが非アクティブモードからアクティブモードに移行中であると決定されると、推測的抑制エンジンを使用してフローを抑制することができる。そのような態様では、抑制は、ユーザ対話の推測に基づいており、その抑制は、そうではない場合になされる量の半分になり得る。
【００２２】
一態様では、通信デバイス１１０によって使用されているネットワークリンクが、クライアントによって使用されるマルチプルなアプリケーション１２０を処理するには不十分であると決定された場合に、フロー制御モジュール１１２は動作可能であり得る。一態様では、関心レベルモジュール１１４は、１つまたは複数のシステムレベルヒューリスティックを適用して、ユーザの意図されるエクスペリエンスを決定することができる。さらに、関心レベルモジュール１１４は、パッシブモードまたはアクティブモードで動作可能であり得る。さらに、一態様では、関心レベルモジュール１１４は、ユーザと直接対話するように動作可能であり得る。またさらに、別の態様では、関心レベルモジュール１１４は、ユーザおよび／またはアプリケーション１２０の特性を連続的に監視することができる。
【００２３】
一態様では、フロー変更モジュール１１６は、関心レベルモジュール１１６と通信することができ、アプリケーション１２０の現在の状態と関心レベルモジュール１１４からの任意の入力情報とを使用して、アプリケーションごとにＴＣＰフローを操作することができ、より重要であると見なされたより多くのＴＣＰフローのスループットを引き上げ、さほど重要ではないＴＣＰフローを有すると見なされたアプリケーションに関するＴＣＰフローを低減することができる。一態様では、フロー変更モジュール１１６は、ダウンロードおよびアップロードされたデータの操作された確認応答パケットを通じてフローを操作することができる。加えて、フロー変更モジュール１１６は、低優先度フローのスループットを引き下げ、それにより、ネットワーク内の輻輳を軽減することによって、高優先度フローのレイテンシを低減することができる。
【００２４】
したがって、通信システム１００は、通信デバイス１１０に関連付けられたアプリケーションの機能を強化できるよう、通信デバイス１１０がコンテンツサーバ１３０と協調し得る環境を提供する。
【００２５】
図２に、提示する主題の様々な態様による様々な方法を示す。説明を簡単にするために、方法を一連の行為またはシーケンスステップとして図示および説明するが、いくつかの行為は本明細書で図示および説明する行為とは異なる順序で、かつ／または他の行為と同時に行われ得るので、特許請求される主題は行為の順序によって限定されないことを理解および諒解されたい。たとえば、方法は、状態図など、一連の相互に関連する状態または事象として代替的に表現できることを当業者ならば理解し、諒解するであろう。さらに、特許請求される主題による方法を実施するために、図示のすべての行為が必要とされるとは限らない。さらに、以下および本明細書の全体にわたって開示する方法は、そのような方法をコンピュータに移送および転送することを容易にするために製造物品に記憶することが可能であることを、さらに諒解されたい。本明細書で使用する製造物品という用語は、任意のコンピュータ可読デバイス、キャリア、または媒体からアクセス可能なコンピュータプログラムを包含するものとする。
【００２６】
ここで図２を参照すると、向上したＴＣＰフロー制御を提供するためのシステムを記述した例示的なフローチャートが図示されている。ブロック２０２において、モバイル機器（ＭＥ）（たとえば、通信デバイス１１０）が、ＭＥに関するユーザ関心レベルを示す１つまたは複数の活動インジケータを監視し得る。一態様では、ＭＥがアクティブに使用されているかどうかを決定するために、ＭＥに関連付けられたセンサを監視することを通じて、ＭＥの活動は決定され得る。たとえば、ＭＥは、加速度計、ユーザインターフェース、光センサ、ジャイロスコープなどを使用して、ユーザ関心レベルを決定することができる。別の態様では、ＭＥは、アプリケーションがＭＥのディスプレイ上のフォアグラウンドにあるときには、アプリケーションはアクティブであると決定することができる。さらに別の態様では、ユーザは、どのアプリケーションをアクティブアプリケーションとしてラベルすべきかを定義することができる。一態様では、アクティブアプリケーションは対話型アプリケーションであり得る。本明細書で使用する場合、対話型アプリケーションとは、対話型アプリケーションとして定義される、および／またはユーザがユーザインターフェースとアクティブに対話しているアプリケーションであり得、当該アプリケーションはフォアグラウンドにある。
【００２７】
ブロック２０４において、ＭＥでユーザ関心レベルが検出されたかどうかが決定される。一態様では、ＭＥは１つまたは複数のセンサプロファイルを使用して、ＭＥがアクティブであると決定し得る。たとえば、通信デバイスがユーザのポケットの中にあることを示すセンサプロファイルは、低いユーザ関心レベルを示す。別の例では、通信デバイスがユーザの耳にあてられていることを示すセンサプロファイルは、低いユーザ関心レベルを示す。ブロック２０４において、ＭＥがアクティブではない（たとえば、しきい値を上回るユーザ関心レベルが存在しない）と決定された場合、プロセス２００はブロック２０２に戻り得る。
【００２８】
一方、ブロック２０４において、ＭＥがアクティブであると決定された場合、ブロック２０６において、ＭＥ上で実行されている１つまたは複数のアプリケーションが存在するかどうかが決定される。一態様では、ＭＥ上で実行されている１つまたは複数のアプリケーションがネットワークから利用可能な帯域幅のしきい値を下回る帯域幅を使用している場合、該プロセスは呼び出されない。言い換えれば、１つまたは複数のアプリケーションとネットワークとの間の通信が互いに妨害しない場合、プロセスはブロック２０２に戻り得る。ブロック２０６において、アプリケーションがＭＥ上で実行されていないと決定された場合、および／または実行されているアプリケーションが互いの通信速度を妨害しない場合、プロセス２００はブロック２０２に戻り得る。一方、ブロック２０６において、１つまたは複数のアプリケーションが実行されていると決定された場合、ブロック２０８において、１つまたは複数のアプリケーションに関連する通信フローが変更され得る。
【００２９】
ブロック２０６において、ＭＥは、１つまたは複数のアプリケーションに関連するフローの１つまたは複数の態様を変更することができる。一態様では、ＭＥは、アクティブアプリケーションに関連するＴＣＰフローの処理を優先することによって、ＴＣＰフローを変更することができる。そのような態様では、アクティブアプリケーションに関連しないＴＣＰフローは、遅延され得る。さらに、遅延は、アクティブアプリケーションに関連しないＴＣＰフローについてのアウトバウンド確認応答のための往復時間（ＲＴＴ）に値を適用することによって実現され得る。たとえば、高優先度フロー（たとえば、アクティブアプリケーション）のスループットをＨとし、低優先度フロー（たとえば、非アクティブアプリケーション）のスループットをＬとする。ＲＴＴはスループットに反比例するので、これらの値は、次の式（１）および（２）で表すことができる。
【数１】
0005815839.tif 000002
【数２】
0005815839.tif 000003
【００３０】
上式で、ｎは低優先度フローの数であり、ｍは高優先度フローの数であり、ｐはこの式の乗法定数である。２種類の優先度を作り出すために、高優先度フローに割り振られる帯域幅は、式（３）に見られるように、低優先度フローよりも大きいものであり得る。
【数３】
0005815839.tif 000004
【００３１】
上式で、ｋはスケーリング係数である。さらに、低優先度フローの優先度を下げるために、
【数４】
0005815839.tif 000005
【００３２】
とし、ここで、ｒＴは低優先度フローに関するターゲットＲＴＴである。さらに、
【数５】
0005815839.tif 000006
【００３３】
とし、この場合
【数６】
0005815839.tif 000007
【００３４】
となる。この置換により、式（４）で記載されるｒＴおよびｒｉ＿ｄｅｌａｙがもたらされ、ここでｒｉ＿ｄｅｌａｙは、低優先度フローに関する現在の往復時間に追加され得る遅延である。
【数７】
0005815839.tif 000008
【００３５】
別の態様では、ＭＥは、アクティブアプリケーションに関連しない大容量フローのパケットを遅延させ、受信機における小規模バッファを通知し、アクティブアプリケーションに関連しない大容量フロー上でＲＴＴの増加が観察されたときにウィンドウサイズを縮小することなどによって、アクティブアプリケーションに関するＴＣＰフローを変更することができる。さらに別のアプリケーションでは、これまでに非アクティブ（たとえば、ポケット）モードにある状態でＭＥが持ち上げられていることをＭＥの加速度計プロファイルが報告したときに、ＭＥは、アクティブアプリケーションに関するＴＣＰフローを変更することができる。そのような態様では、ＭＥは、対話型アプリケーションを予想して、大容量フローを抑制し始めることができる。さらに、そのような抑制は推測的なものであり得、積極的に実行されなくてもよい。たとえば、推測的抑制は、その他の場合に使用され得る量の約半分であり得る。
【００３６】
ここで図３を参照すると、通信デバイス３００内の動作の例示的なブロック図が示されている。通信デバイス３００は、１つまたは複数のアプリケーション（３０２、３０４、３０６）を実行するように動作可能であり、これらのアプリケーションの各々は、１つまたは複数のフロー（３０８、３１０、３１２、３１４）を使用するように動作可能である。図３に示すように、アプリケーション（１）３０２は、複数のフロー（３０８、３１０）に関連付けられ、アプリケーション（２）および（３）は、それぞれ単一のフロー（それぞれ、３１２および３１４）に関連付けられ得る。さらに、通信デバイスは、フロー変更モジュール３１８と関心レベルモジュール３２０とを含み得る。一動作態様では、フロー変更モジュール３１８および関心レベルモジュール３２０は、フロー制御モジュール３１６に含まれ得る。
【００３７】
一態様では、関心レベルモジュール３２０は、１つまたは複数のアプリケーション（３０２、３０４、３０６）におけるユーザの関心レベルを決定および／または予測するように動作可能であり得る。一態様では、関心レベルモジュール３２０は、１つまたは複数のヒューリスティックを使用して、どのアプリケーションが、ひいてはどのＴＣＰフローがユーザにとってより高い優先度を有するかを決定および／または予測することができる。たとえば、より多くのネットワークリソースをかかるアプリケーションに提供することを通じて、それらのアプリケーションを優先することによって、関心レベルモジュール３２０は、ユーザエクスペリエンスを向上させることができる。関心レベルモジュール３２０が使用し得るヒューリスティックの一例は、デバイスディスプレイのフォアグラウンドでユーザが使用しているそれらのアプリケーションにネットワーク優先権を与えることである。そのような例では、より多くのネットワークリソースをフォアグラウンドアプリケーションに提供することによって、バックグラウンドアプリケーションに利用可能なネットワークリソースを減らすことによって、ユーザエクスペリエンスが向上され得る。別の態様では、ユーザ入力または他の外部入力のような他のファクタが、ユーザの関心レベルを決定する際に分析され得る。
【００３８】
一態様では、フロー変更モジュール３１８は、ユーザエクスペリエンスを向上させるためにＴＣＰフローを操作するように動作可能であり得る。ユーザの焦点が関心レベルモジュール３２０によって決定されると、フロー変更モジュール３１８は、ユーザエクスペリエンスを向上させるためにＴＣＰフローを操作し始めることができる。一態様では、フロー変更モジュール３１８は、様々なアクションを通じて、たとえば、ＴＣＰ確認応答パケットを操作することなどによって、ユーザエクスペリエンスを向上させることができる。フローごとに確認応答を遅延させることによって、フロー変更モジュール３１８は、所与のＴＣＰフローについて送信側スループットを管理することができる。往復遅延またはＲＴＴは任意の所与のＴＣＰフローのスループットに正比例するので、確認応答パケットを遅延させることによってＲＴＴ全体を増加させると、あるアプリケーションのＴＣＰスループットが、リンク上の他のＴＣＰフローと比較して効果的に減少し得る。
【００３９】
別の態様では、式（１）〜（４）を参照して上述したように、アクティブアプリケーションに関連しないＴＣＰフローのアウトバウンド確認応答に関するＲＴＴに値を適用することによって、フロー変更モジュール３１８はフローを操作することができる。
【００４０】
したがって、通信デバイス３００は、現在のネットワーク技術を使用しつつ、ユーザエクスペリエンスを向上させることができ、相当なユーザの知識または対話なしに実装され得る。恩恵には、スループットを引き上げ、高優先度フローのレイテンシを低減することによるユーザエクスペリエンスの向上が含まれ得る。
【００４１】
図１をさらに参照しながら、図４をも参照すると、通信デバイス１１０の例示的なアーキテクチャが示されている。図４に示すように、デバイス４００は受信機４０２を備え、該受信機４０２は、たとえば受信アンテナ（図示せず）から信号を受信し、受信された信号に対して典型的なアクション（たとえば、フィルタ処理、増幅、ダウンコンバートなど）を実行し、調整された信号をデジタル化してサンプルを取得する。受信機４０２は、復調器４０４を備えることができ、該復調器４０４は、受信されたシンボルを復調し、それらをチャネル推定のためにプロセッサ４０６に供給することができる。プロセッサ４０６は、受信機４０２によって受信された情報を分析し、および／または送信機４２０による送信のための情報を生成するための専用のプロセッサ、デバイス４００の１つもしくは複数のコンポーネントを制御するプロセッサ、および／または、受信機４０２によって受信された情報の分析と、送信機４２０による送信のための情報の生成と、デバイス４００の１つもしくは複数のコンポーネントの制御とを行うプロセッサであることができる。さらに、信号は、変調器４１８を通じて送信機４２０による送信のために準備されることができ、変調器４１８は、プロセッサ４０６によって処理された信号を変調することができる。
【００４２】
デバイス４００は、さらに、メモリ４０８を備えることができ、該メモリ４０８は、プロセッサ４０６に動作可能に結合され、送信されるべきデータ、受信されたデータ、利用可能なチャネルに関する情報、ＴＣＰフロー、分析された信号および／または干渉強度に関連するデータ、割り当てられたチャネル、電力、レートなどに関する情報、ならびにチャネルを推定し、そのチャネルを通じて通信するための他の任意の適切な情報を記憶することができる。
【００４３】
さらに、プロセッサ４０６は、１つまたは複数のアプリケーションのうちの少なくとも１つのアプリケーションにおいてユーザ関心レベルが示されていると決定するための手段と、１つまたは複数のアプリケーションのうちの少なくとも１つに関連するトランスポートフローを変更するための手段とを提供することができる。
【００４４】
本明細書で説明するデータストア（たとえば、メモリ４０８）は、揮発性メモリまたは不揮発性メモリのいずれかであることができ、あるいは揮発性メモリと不揮発性メモリの両方を含むことができることを諒解されたい。限定ではなく例として、不揮発性メモリは、読取り専用メモリ（ＲＯＭ）、プログラマブルＲＯＭ（ＰＲＯＭ）、電気的プログラマブルＲＯＭ（ＥＰＲＯＭ）、電気的消去可能ＰＲＯＭ（ＥＥＰＲＯＭ）、またはフラッシュメモリを含み得る。揮発性メモリは、外部キャッシュメモリとして動作するランダムアクセスメモリ（ＲＡＭ）を含み得る。限定ではなく例として、ＲＡＭは、同期ＲＡＭ（ＳＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、同期ＤＲＡＭ（ＳＤＲＡＭ）、ダブルデータレートＳＤＲＡＭ（ＤＤＲ  ＳＤＲＡＭ）、拡張ＳＤＲＡＭ（ＥＳＤＲＡＭ）、シンクリンクＤＲＡＭ（ＳＬＤＲＡＭ）、およびダイレクトランバスＲＡＭ（ＤＲＲＡＭ）など、多くの形態で利用可能である。主題のシステムおよび方法のメモリ４０８は、これらおよび任意の他の適切なタイプのメモリを、これらに限定されることなく、備え得る。
【００４５】
デバイス４００は、関心レベルモジュール４３４およびフロー変更モジュール４３６を通じてアプリケーションを向上させるためのフローモジュール４３０をさらに含むことができる。一態様では、関心レベルモジュール４３４は、ユーザからの明示的な、暗示的なまたは両方のタイプの入力を使用するように動作可能である。さらに、フローモジュール４３０は、ＴＣＰフローを識別し、それらをアプリケーションにリンクさせることができる。一態様では、フロー変更モジュール４３６は、識別されたフローに優先度を付けることができる。別の態様では、フロー変更モジュール４３６は、ヒューリスティックを使用してフローに優先度を付けることができ、該ヒューリスティックは、関心レベルモジュール４３４と一体となって、ユーザにとって重要であり得るＴＣＰフローを識別し得る。さらに、フロー変更モジュール４３６が、識別されたフローを操作して、より優先度の高いフロー（たとえば、関心レベルモジュール４３４によって、ユーザにとってより重要であると見なされたフロー）のスループットを引き上げ、低優先度フロー（たとえば、関心レベルモジュール４３４によって、ユーザにとってさほど重要でないと見なされたフロー）のスループットを引き下げることができる。別の態様では、フロー変更モジュール４３６が、識別されたフローを操作して、高優先度フローのレイテンシを低減することができる。したがって、フローモジュール５３０が、リンク利用を管理して、現在のネットワークスタックプロトコルを実施することなくシームレスにユーザエクスペリエンスを改善することができる。たとえば、動作時に、ビデオフローがユーザにとって「重要」と見なされ、一方、音楽ファイルはさほど重要でないと見なされることがある。ユーザ選好は、関心レベルモジュール４３４によって検出されることができ、フロー変更モジュール４３６は、その音楽ファイルダウンロードに割り振られた帯域幅またはリソースの量を減らし、ビデオフローへの帯域幅を増やすことができる。したがって、フローモジュール４３０は、ビデオアプリケーションのパフォーマンス、ひいてはユーザエクスペリエンスを効果的に改善し得る。
【００４６】
別の態様では、通信デバイス４００は１つまたは複数のセンサ４５０を含み得る。一態様では、センサ４５０は、加速度計、光センサ、ジャイロスコープなどを含み得る。そのような態様では、関心レベルモジュール４３４は、セルラーリンク上のフロー動作に影響を与えるために通信デバイス４００のセンサ４５０を使用するように動作可能である。そのような一態様では、関心レベルモジュール４３４をポーリングして、通信デバイス４００が対話型アプリケーション（たとえば、ウェブブラウザなど）によって使用されるかどうかを決定することができる。通信デバイス４００が対話型アプリケーションによって使用されていると決定されると、フローモジュール４３０は、大容量転送フローがネットワークバッファを満杯にしないように、該大容量転送フローを処理し得る。一態様では、フローモジュール４３０は、大容量フローのパケットを遅延させることができる。別の態様では、フローモジュール４３０は、通信デバイス４００の受信機４０２における小規模バッファを通知し得る。さらに別の態様では、フローモジュール４３０は、フロー上でＲＴＴの増加が観測されたときに、ウィンドウサイズを縮小することができる。
【００４７】
動作時に、関心レベルモジュール４３４は、いずれかのアプリケーションが対話型（たとえば、チャット、ウェブブラウザ）として定義されるかどうかを決定し、ユーザが対話型アプリケーションとアクティブに対話していると決定し得る。そのような態様では、関心レベルモジュール４３４は、アプリケーションがフォアグラウンドにあると決定し得る。別の態様では、関心レベルモジュール４３４は、加速度計プロファイルなどのセンサプロファイルを処理することによってユーザ関心レベルを決定するように動作可能である。たとえば、センサ４５０は、通信デバイスがユーザのポケットの中にあることを示すセンサプロファイルを提供することができ、これは、低いユーザ関心レベルを示す。別の例では、センサ４５０は、通信デバイスがユーザの耳にあてられていることを示すセンサプロファイルを提供することができ、これは、低いユーザ関心レベルを示す。
【００４８】
オプションの一態様では、関心レベルモジュール４３４は、通信デバイスが非アクティブモードからアクティブモードに移行中であると決定されると、推測的抑制エンジンを使用してフローを抑制することができる。そのような一態様では、抑制は、ユーザ対話の推測に基づいており、その抑制は、そうではない場合になされる量の半分になり得る。
【００４９】
一態様では、通信デバイス４００によって使用されているネットワークリンクが、クライアントによって使用されるマルチプルなアプリケーションを処理するには不十分であると決定された場合に、フローモジュール４３０は動作可能であり得る。一態様では、関心レベルモジュール４３４は、１つまたは複数のシステムレベルヒューリスティックを適用して、ユーザの所期のエクスペリエンスを決定することができる。さらに、関心レベルモジュール４３４は、パッシブモードまたはアクティブモードで動作可能であり得る。さらに、一態様では、関心レベルモジュール４３４は、ユーザと直接対話するように動作可能である。さらに、別の態様では、関心レベルモジュール４３４は、ユーザおよび／またはアプリケーションの特性を連続的に監視することができる。
【００５０】
一態様では、フロー変更モジュール４３６は、関心レベルモジュール４３４と通信することができ、アプリケーションの現在の状態と関心レベルモジュール４３４からの任意の入力情報とを使用して、アプリケーションごとにＴＣＰフローを操作することができる。さらに、フロー変更モジュール４３６は、より重要であると見なされたより多くのＴＣＰフローのスループットを引き上げ、さほど重要ではないＴＣＰフローを有すると見なされたアプリケーションに関するＴＣＰフローを低減することができる。一態様では、フロー変更モジュール４３６は、ダウンロードデータおよびアップロードデータの操作された確認応答パケットを通じてフローを操作することができる。加えて、フロー変更モジュール４３６は、低優先度フローのスループットを引き下げ、それにより、ネットワーク内の輻輳を軽減することによって、高優先度フローに関するレイテンシを低減することができる。
【００５１】
さらに、通信デバイス４００はユーザインターフェース４４０を含み得る。ユーザインターフェース４４０は、通信デバイス４００への入力を生成するための入力機構４４２と、通信デバイス４００のユーザによる消費に関する情報を生成するための出力機構４４２とを含み得る。たとえば、入力機構４４２は、キーまたはキーボード、マウス、タッチスクリーンディスプレイ、マイクロホンなどの機構を含むことができる。さらに、たとえば、出力機構４４４は、ディスプレイ、オーディオスピーカー、触覚フィードバック機構、パーソナルエリアネットワーク（ＰＡＮ）トランシーバなどを含み得る。図示された態様では、出力機構４４４は、イメージまたはビデオフォーマットのメディアコンテンツを提示するように動作可能なディスプレイ、あるいはオーディオフォーマットのメディアコンテンツを提示するためのオーディオスピーカーを含み得る。
【００５２】
図５を参照すると、一態様による、ＴＣＰフロー制御を通じてデバイスパフォーマンスを向上させるためのシステム５００が示されている。たとえば、システム５００は、少なくとも部分的に通信デバイス、ユーザ機器などの内部に存在することができる。システム５００は機能ブロックを含むものとして表されており、該機能ブロックは、プロセッサ、ソフトウェア、またはそれらの組合せ（たとえば、ファームウェア）によって実装される機能を表す機能ブロックであり得ることを諒解されたい。
【００５３】
システム５００は、連携して動作可能な手段の論理グルーピング５０２を含む。たとえば、論理グルーピング５０２は、１つまたは複数のアプリケーションのうちの少なくとも１つのアプリケーションにおいてユーザ関心レベルが示されていると決定するための手段５０４を含み得る。一態様では、１つまたは複数の内部パラメータは、サービスパラメータ、設定パラメータなどの状態を含み得る。別の態様では、決定するための手段は、デバイスに関連付けられた１つまたは複数のセンサを使用して、１つまたは複数のアプリケーションのうちの示された少なくとも１つのアプリケーションがアクティブであると決定するための手段を含み得る。そのような態様では、１つまたは複数のセンサは、加速度計、ユーザインターフェース、光センサ、ジャイロスコープなどを含み得る。別の態様では、ユーザ関心レベルは、１つまたは複数のアプリケーションのうちの少なくとも１つのアプリケーションが対話型アプリケーションであると決定するための手段を通じて示され得る。別の態様では、ユーザ関心レベルは、１つまたは複数のアプリケーションのうちの少なくとも１つのアプリケーションがフォアグラウンドにあると決定するための手段を通じて示され得る。
【００５４】
論理グルーピング５０２は、１つまたは複数のアプリケーションのうちの少なくとも１つに関連するトランスポートフローを変更するための手段５０６をさらに含むことができる。一態様では、変更するための手段は、１つまたは複数のアプリケーションのうちの少なくとも１つのアプリケーションに関連するトランスポートフローを、１つまたは複数のアプリケーションのうちの該少なくとも１つのアプリケーションに関連しないトランスポートフローよりも優先するための手段を含む。そのような態様では、優先するための手段は、１つまたは複数のアプリケーションのうちの少なくとも１つのアプリケーションに関連しないトランスポートフローについてのアウトバウンド確認応答を、アウトバウンド確認応答に関する各往復時間（ＲＴＴ）に時間値を追加することによって遅延させるための手段を含み得る。さらに、そのような態様では、時間値は、定数値、１つまたは複数のアプリケーションのうちの少なくとも１つのアプリケーション以外のアプリケーションに関するＲＴＴを倍数的に増加させる乗法値などを含み得る。一態様では、変更するための手段は、１つまたは複数のアプリケーションのうちの少なくとも１つのアプリケーションについての縮小されたバッファサイズを通知するための手段、１つまたは複数のアプリケーションのうちの少なくとも１つのアプリケーション以外のアプリケーションに関する大容量フローを遅延させるための手段などを含み得る。さらに、１つまたは複数のアプリケーションのうちの少なくとも１つのアプリケーションにおいてユーザ関心レベルが示されていると決定するための手段が第１の対話型アプリケーションを定義するときには、論理グルーピング５０２は、１つまたは複数のアプリケーションのうちの、対話型アプリケーションではない第２のアプリケーションにおいてユーザ関心レベルが示されていないと決定するための手段を含むことができ、変更するための手段は、第１の対話型アプリケーションの第１のトランスポートフローを優先するために、第２のアプリケーションの第２のトランスポートフローを低減するための手段をさらに備える。
【００５５】
さらに、システム５００は、手段５０４および５０６に関連付けられた機能を実行するための命令を保持するメモリ５０８を含むことができる。メモリ５０８の外部にあるものとして示されているが、手段５０４および５０６のうちの１つまたは複数は、メモリ５０８の内部に存在できることを理解されたい。
【００５６】
本願で使用する場合、「コンポーネント」、「モジュール」、「システム」などの用語は、限定はしないが、ハードウェア、ファームウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアなど、コンピュータ関連エンティティを含むことが意図されている。たとえば、コンポーネントは、プロセッサ上で動作しているプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行スレッド、プログラム、および／またはコンピュータであってよいが、これらに限定されない。例示として、コンピューティングデバイス上で動作しているアプリケーションと、コンピューティングデバイスの両方が、コンポーネントであり得る。１つまたは複数のコンポーネントがプロセスおよび／または実行スレッド内に存在することができ、１つのコンポーネントが１つのコンピュータ上に位置すること、および／または２つ以上のコンピュータ間に分散されることができる。さらに、これらのコンポーネントは、様々なデータ構造を記憶している様々なコンピュータ可読媒体から実行することができる。これらのコンポーネントは、信号を通じて、ローカルシステム、分散システム内の別のコンポーネントと相互作用し、かつ／あるいはインターネットなどのネットワーク上で他のシステムと相互作用する１つのコンポーネントからのデータのような、１つまたは複数のデータパケットを有する信号に従うことなどによって、ローカルプロセスおよび／またはリモートプロセスを通じて通信し得る。
【００５７】
さらに、本明細書では、ワイヤード端末またはワイヤレス端末とすることができる端末に関する様々な態様について説明する。端末は、システム、デバイス、加入者ユニット、加入者局、移動局、モバイル、モバイルデバイス、リモート局、モバイル機器（ＭＥ）、リモート端末、アクセス端末、ユーザ端末、端末、通信デバイス、ユーザエージェント、ユーザデバイス、またはユーザ機器（ＵＥ）と呼ばれることもある。ワイヤレス端末は、セルラー電話、衛星電話、コードレス電話、セッション開始プロトコル（ＳＩＰ）電話、ワイヤレスローカルループ（ＷＬＬ）局、携帯情報端末（ＰＤＡ）、ワイヤレス接続機能を有するハンドヘルドデバイス、コンピューティングデバイス、またはワイヤレスモデムに接続された他の処理デバイスとすることができる。さらに、本明細書では基地局に関する様々な態様について説明する。基地局は、（１つまたは複数の）ワイヤレス端末と通信するために利用でき、アクセスポイント、ノードＢ、または何らかの他の用語で呼ばれることもある。
【００５８】
さらに、「または」という用語は、排他的な「または」ではなく、包括的な「または」を意味するものとする。すなわち、別段に規定されていない限り、または文脈から明らかでない限り、「ＸはＡまたはＢを使用する」という句は、自然包括的並べ替えのいずれかを意味するものとする。つまり、「ＸはＡまたはＢを使用する」という句は、以下の場合、すなわち、ＸがＡを使用する場合、ＸがＢを使用する場合、またはＸがＡとＢの両方を使用する場合のうちのいずれかによって満足される。その上、本出願と添付の特許請求の範囲とで使用されるとき、冠詞「ａ」と「ａｎ」とは、別段指定されない限り、または単数形を対象とすべきであると文脈から明らかでない限り、通常、「１つまたは複数」を意味すると解釈されるべきである。
【００５９】
本明細書で説明する技法は、ＣＤＭＡ、ＴＤＭＡ、ＦＤＭＡ、ＯＦＤＭＡ、ＳＣ−ＦＤＭＡおよび他のシステムなど、様々なワイヤレス通信システムに使用できる。「システム」および「ネットワーク」という用語は、しばしば互換的に使用される。ＣＤＭＡシステムは、Ｕｎｉｖｅｒｓａｌ  Ｔｅｒｒｅｓｔｒｉａｌ  Ｒａｄｉｏ  Ａｃｃｅｓｓ（ＵＴＲＡ）、ｃｄｍａ２０００などの無線技術を実装することができる。ＵＴＲＡは、Ｗｉｄｅｂａｎｄ−ＣＤＭＡ（Ｗ−ＣＤＭＡ）およびＣＤＭＡの他の変形態を含む。さらに、ｃｄｍａ２０００は、ＩＳ−２０００、ＩＳ−９５およびＩＳ−８５６規格をカバーする。ＴＤＭＡシステムは、Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ（ＧＳＭ）（登録商標）などの無線技術を実装することができる。ＯＦＤＭＡシステムは、Ｅｖｏｌｖｅｄ  ＵＴＲＡ（Ｅ−ＵＴＲＡ）、Ｕｌｔｒａ  Ｍｏｂｉｌｅ  Ｂｒｏａｄｂａｎｄ（ＵＭＢ）、ＩＥＥＥ８０２．１１（ＷｉＦｉ）、ＩＥＥＥ８０２．１６（ＷｉＭＡＸ）、ＩＥＥＥ８０２．２０、Ｆｌａｓｈ−ＯＦＤＭＡなどの無線技術を実装することができる。ＵＴＲＡおよびＥ−ＵＴＲＡは、Ｕｎｉｖｅｒｓａｌ  Ｍｏｂｉｌｅ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｓｙｓｔｅｍ（ＵＭＴＳ）の一部である。３ＧＰＰ  Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ（ＬＴＥ）は、Ｅ−ＵＴＲＡを使用するＵＭＴＳのリリースであり、これは、ダウンリンク上ではＯＦＤＭＡを採用し、アップリンク上ではＳＣ−ＦＤＭＡを採用する。ＵＴＲＡ、Ｅ−ＵＴＲＡ、ＵＭＴＳ、ＬＴＥおよびＧＳＭは、「第３世代パートナーシッププロジェクト」（３ＧＰＰ）と称する組織からの文書に記載されている。さらに、ｃｄｍａ２０００およびＵＭＢは、「第３世代パートナーシッププロジェクト２」（３ＧＰＰ２）と称する組織からの文書に記載されている。さらに、そのようなワイヤレス通信システムは、不対無資格スペクトル、８０２．ｘｘワイヤレスＬＡＮ、ＢＬＵＥＴＯＯＴＨ（登録商標）および任意の他の短距離または長距離ワイヤレス通信技法をしばしば使用するピアツーピア（たとえば、モバイルツーモバイル）アドホックネットワークシステムをさらに含むことができる。
【００６０】
様々な態様または特徴は、いくつかのデバイス、コンポーネント、モジュールなどを含むことができるシステムに関して提示される。様々なシステムは、追加のデバイス、コンポーネント、モジュールなどを含んでもよく、かつ／または各図に関連して論じるデバイス、コンポーネント、モジュールなどのすべてを含まなくてもよいことを理解および諒解されたい。これらの手法の組合せを使用することもできる。
【００６１】
本明細書で開示した態様に関して説明した様々な例示的な論理、論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）または他のプログラマブル論理デバイス、個別ゲートまたはトランジスタ論理、個別ハードウェアコンポーネント、あるいは本明細書で説明した機能を実行するように設計されたそれらの任意の組合せを用いて実装または実行できる。汎用プロセッサはマイクロプロセッサとすることができるが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態マシンとすることができる。プロセッサは、コンピューティングデバイスの組合せ、たとえば、ＤＳＰとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、ＤＳＰコアと連携する１つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装することもできる。さらに、少なくとも１つのプロセッサは、上述のステップおよび／またはアクションのうちの１つまたは複数を実行するように動作可能な１つまたは複数のモジュールを備えることができる。
【００６２】
さらに、本明細書で開示した態様に関して説明した方法またはアルゴリズムのステップおよび／またはアクションは、直接ハードウェアで実施するか、プロセッサによって実行されるソフトウェアモジュールで実施するか、またはその２つの組合せで実施することができる。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ、または当技術分野で知られている任意の他の形態の記憶媒体中に存在することができる。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるようにプロセッサに結合される。代替として、記憶媒体はプロセッサに一体化することができる。さらに、いくつかの態様では、プロセッサおよび記憶媒体はＡＳＩＣ中に存在することができる。さらに、ＡＳＩＣはユーザ端末中に存在することができる。代替として、プロセッサおよび記憶媒体は、ユーザ端末内に個別コンポーネントとして存在することもできる。さらに、いくつかの態様では、方法またはアルゴリズムのステップおよび／またはアクションは、コンピュータプログラム製品に組み込まれることができる、機械可読媒体および／またはコンピュータ可読媒体上のコードおよび／または命令の１つまたは任意の組合せ、あるいはそのセットとして存在することができる。
【００６３】
１つまたは複数の態様では、説明する機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せで実装されることができる。ソフトウェアで実装される場合、機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体上で送信されることができる。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む、コンピュータ記憶媒体と通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスできる任意の利用可能な媒体とすることができる。限定ではなく例として、そのようなコンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、あるいは他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気記憶デバイス、もしくは命令またはデータ構造の形態の所望のプログラムコードを搬送または記憶するために使用でき、コンピュータによってアクセスできる任意の他の媒体を備えることができる。また、どんな接続でもコンピュータ可読媒体と呼ばれることがある。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用されるディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザディスク（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびブルーレイ（登録商標）ディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、通常、データをレーザで光学的に再生する。上記の組合せも、コンピュータ可読媒体の範囲内に含めるべきである。
【００６４】
上記の開示は例示的な態様および／または態様について論じたが、ここに記載した態様および／または添付の特許請求の範囲によって定義される態様の範囲から逸脱することなく、様々な変更および修正を本明細書で行うことができることに留意されたい。さらに、説明した態様および／または態様の要素は、単数形で説明または特許請求されていることがあるが、単数形への限定が明示的に述べられていない限り、複数形が企図される。さらに、任意の１つまたは複数の態様の全部または一部は、別段の記述がない限り、任意の他の態様の全部または一部とともに利用されうる。
以下に、出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
１つまたは複数のアプリケーションのうちの少なくとも１つのアプリケーションにおいてユーザ関心レベルが示されていると決定することと、
前記１つまたは複数のアプリケーションのうちの少なくとも１つに関連するトランスポートフローを変更することと
を備える、ワイヤレス通信の方法。
［Ｃ２］
前記ユーザ関心レベルが示されていると前記決定することは、デバイスに関連付けられた１つまたは複数のセンサを使用して、前記１つまたは複数のアプリケーションのうちの前記示された少なくとも１つのアプリケーションがアクティブであると決定することをさらに備える、上記Ｃ１に記載の方法。
［Ｃ３］
前記１つまたは複数のセンサは、
加速度計、ユーザインターフェース、光センサ、またはジャイロスコープ
のうちの少なくとも１つを含む、上記Ｃ２に記載の方法。
［Ｃ４］
前記ユーザ関心レベルは、
前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションが対話型アプリケーションであると決定すること、
前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションがフォアグラウンドにあると決定すること、あるいは
１つまたは複数のユーザ定義設定
のうちの少なくとも１つによって示される、上記Ｃ１に記載の方法。
［Ｃ５］
１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションにおいて前記ユーザ関心レベルが示されていると決定することは、第１の対話型アプリケーションを定義し、前記方法は、
前記１つまたは複数のアプリケーションのうちの、対話型アプリケーションではない第２のアプリケーションにおいてユーザ関心レベルが示されていないと決定すること
をさらに備え、
前記変更することは、前記第１の対話型アプリケーションの第１のトランスポートフローを優先するために、前記第２のアプリケーションの第２のトランスポートフローを低減することをさらに備える、上記Ｃ１に記載の方法。
［Ｃ６］
トランスポートフローはＴＣＰフローを備える、上記Ｃ１に記載の方法。
［Ｃ７］
前記変更することは、
前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションに関連する前記トランスポートフローを、前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションに関連しないトランスポートフローよりも優先すること
をさらに備える、上記Ｃ１に記載の方法。
［Ｃ８］
前記優先することは、前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションに関連しない前記トランスポートフローについてのアウトバウンド確認応答を、アウトバウンド確認応答に関する各往復時間（ＲＴＴ）に時間値を追加することによって遅延させることをさらに備える、上記Ｃ７に記載の方法。
［Ｃ９］
前記時間値は、定数値、あるいは前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーション以外のアプリケーションに関するＲＴＴを倍数的に増加させる乗法値のいずれかを備える、上記Ｃ８に記載の方法。
［Ｃ１０］
前記変更することは、
前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションについての縮小されたバッファサイズを通知すること、あるいは
前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーション以外のアプリケーションに関する大容量フローを遅延させること
のうちの少なくとも１つをさらに備える、上記Ｃ１に記載の方法。
［Ｃ１１］
コンピュータ可読媒体を備えるコンピュータプログラム製品であって、
前記コンピュータ可読媒体は、コンピュータに、
１つまたは複数のアプリケーションのうちの少なくとも１つのアプリケーションにおいてユーザ関心レベルが示されていると決定することと、
前記１つまたは複数のアプリケーションのうちの少なくとも１つに関連するトランスポートフローを変更することと
を行わせるためのコードを備える、コンピュータプログラム製品。
［Ｃ１２］
前記コンピュータ可読媒体は、前記コンピュータに、
デバイスに関連付けられた１つまたは複数のセンサを使用して、前記１つまたは複数のアプリケーションのうちの前記示された少なくとも１つのアプリケーションがアクティブであると決定すること
を行わせるためのコードをさらに備える、上記Ｃ１１に記載のコンピュータプログラム製品。
［Ｃ１３］
前記１つまたは複数のセンサは、
加速度計、ユーザインターフェース、光センサ、またはジャイロスコープ
のうちの少なくとも１つを含む、上記Ｃ１２に記載のコンピュータプログラム製品。
［Ｃ１４］
前記コンピュータ可読媒体は、前記コンピュータに、
前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションが対話型アプリケーションであること、あるいは
前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションがフォアグラウンドにあること
のうちの少なくとも１つに該当すると決定することを行わせるためのコードをさらに備える、上記Ｃ１１に記載のコンピュータプログラム製品。
［Ｃ１５］
前記ユーザ関心レベルは１つまたは複数のユーザ定義設定によって示される、上記Ｃ１１に記載のコンピュータプログラム製品。
［Ｃ１６］
１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションにおいて前記ユーザ関心レベルが示されていると決定することは、第１の対話型アプリケーションを定義し、前記コンピュータ可読媒体は、前記コンピュータに、
前記１つまたは複数のアプリケーションのうちの、対話型アプリケーションではない第２のアプリケーションにおいてユーザ関心レベルが示されていないと決定することと、
前記第１の対話型アプリケーションの第１のトランスポートフローを優先するために、前記第２のアプリケーションの第２のトランスポートフローを低減することと
を行わせるためのコードをさらに備える、上記Ｃ１１に記載のコンピュータプログラム製品。
［Ｃ１７］
前記トランスポートフローはＴＣＰフローを備える、上記Ｃ１１に記載のコンピュータプログラム製品。
［Ｃ１８］
前記コンピュータ可読媒体は、前記コンピュータに、
前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションに関連する前記トランスポートフローを、前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションに関連しないトランスポートフローよりも優先すること
を行わせるためのコードをさらに備える、上記Ｃ１１に記載のコンピュータプログラム製品。
［Ｃ１９］
前記コンピュータ可読媒体は、前記コンピュータに、
前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションに関連しない前記トランスポートフローについてのアウトバウンド確認応答を、アウトバウンド確認応答に関する各往復時間（ＲＴＴ）に時間値を追加することによって遅延させること
を行わせるためのコードをさらに備える、上記Ｃ１８に記載のコンピュータプログラム製品。
［Ｃ２０］
前記時間値は、定数値、あるいは前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーション以外のアプリケーションに関するＲＴＴを倍数的に増加させる乗法値のいずれかを備える、上記Ｃ１９に記載のコンピュータプログラム製品。
［Ｃ２１］
前記コンピュータ可読媒体は、前記コンピュータに、
前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションについての縮小されたバッファサイズを通知すること、あるいは
前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーション以外のアプリケーションに関する大容量フローを遅延させること
のうちの少なくとも１つを行わせるためのコードをさらに備える、上記Ｃ１１に記載のコンピュータプログラム製品。
［Ｃ２２］
１つまたは複数のアプリケーションのうちの少なくとも１つのアプリケーションにおいてユーザ関心レベルが決定されると決定するための手段と、
前記１つまたは複数のアプリケーションのうちの少なくとも１つに関連するトランスポートフローを変更するための手段と
を備える装置。
［Ｃ２３］
前記ユーザ関心レベルが示されていると決定するための前記手段は、デバイスに関連付けられた１つまたは複数のセンサを使用して、前記１つまたは複数のアプリケーションのうちの前記示された少なくとも１つのアプリケーションがアクティブであると決定するための手段をさらに備える、上記Ｃ２２に記載の装置。
［Ｃ２４］
前記１つまたは複数のセンサは、
加速度計、ユーザインターフェース、光センサ、またはジャイロスコープ
のうちの少なくとも１つを含む、上記Ｃ２３に記載の装置。
［Ｃ２５］
前記ユーザ関心レベルは、
前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションが対話型アプリケーションであると決定するための手段、
前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションがフォアグラウンドにあると決定するための手段、あるいは
１つまたは複数のユーザ定義設定
のうちの少なくとも１つによって決定される、上記Ｃ２２に記載の装置。
［Ｃ２６］
１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションにおいて前記ユーザ関心レベルが示されていると決定するための手段は、第１の対話型アプリケーションを定義し、前記装置は、
前記１つまたは複数のアプリケーションのうちの、対話型アプリケーションではない第２のアプリケーションにおいてユーザ関心レベルが示されていないと決定するための手段
をさらに備え、
変更するための前記手段は、前記第１の対話型アプリケーションの第１のトランスポートフローを優先するために、前記第２のアプリケーションの第２のトランスポートフローを低減するための手段をさらに備える、上記Ｃ２２に記載の装置。
［Ｃ２７］
トランスポートフローはＴＣＰフローを備える、上記Ｃ２２に記載の装置。
［Ｃ２８］
変更するための前記手段は、
前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションに関連する前記トランスポートフローを、前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションに関連しないトランスポートフローよりも優先するための手段
をさらに備える、上記Ｃ２２に記載の装置。
［Ｃ２９］
優先するための前記手段は、前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションに関連しない前記トランスポートフローについてのアウトバウンド確認応答を、アウトバウンド確認応答に関する各往復時間（ＲＴＴ）に時間値を追加することによって遅延させるための手段をさらに備える、上記Ｃ２８に記載の装置。
［Ｃ３０］
前記時間値は、定数値、あるいは前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーション以外のアプリケーションに関するＲＴＴを倍数的に増加させる乗法値のいずれかを備える、上記Ｃ２９に記載の装置。
［Ｃ３１］
変更するための前記手段は、
前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションについての縮小されたバッファサイズを通知するための手段、あるいは
前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーション以外のアプリケーションに関する大容量フローを遅延させるための手段
のうちの少なくとも１つをさらに備える、上記Ｃ２２に記載の装置。
［Ｃ３２］
１つまたは複数のアプリケーションのうちの少なくとも１つのアプリケーションにおいてユーザ関心レベルが決定されると決定する
ように動作可能な関心レベルモジュールと、
前記１つまたは複数のアプリケーションのうちの少なくとも１つに関連するトランスポートフローを変更する
ように動作可能なフロー変更モジュールと
を備える、通信のための装置。
［Ｃ３３］
前記関心レベルモジュールは、デバイスに関連付けられた１つまたは複数のセンサを使用して、前記１つまたは複数のアプリケーションのうちの前記示された少なくとも１つのアプリケーションがアクティブであると決定するようにさらに動作可能である、上記Ｃ３２に記載の装置。
［Ｃ３４］
前記１つまたは複数のセンサは、
加速度計、ユーザインターフェース、光センサ、またはジャイロスコープ
のうちの少なくとも１つを含む、上記Ｃ３３に記載の装置。
［Ｃ３５］
前記ユーザ関心レベルは１つまたは複数のユーザ定義設定によって決定される、上記Ｃ３２に記載の装置。
［Ｃ３６］
前記関心レベルモジュールは、
前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションが対話型アプリケーションであること、あるいは
前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションがフォアグラウンドにあること
のうちの少なくとも１つに該当すると決定するようにさらに動作可能である、上記Ｃ３２に記載の装置。
［Ｃ３７］
１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションにおいて前記ユーザ関心レベルが示されていると決定することは、第１の対話型アプリケーションを定義し、前記関心レベルモジュールは、前記１つまたは複数のアプリケーションのうちの、対話型アプリケーションではない第２のアプリケーションにおいてユーザ関心レベルが示されていないと決定するようにさらに動作可能であり、前記フロー変更モジュールは、前記第１の対話型アプリケーションの第１のトランスポートフローを優先するために、前記第２のアプリケーションの第２のトランスポートフローを低減するようにさらに動作可能である、上記Ｃ３２に記載の装置。
［Ｃ３８］
トランスポートフローはＴＣＰフローを備える、上記Ｃ３２に記載の装置。
［Ｃ３９］
前記フロー変更モジュールは、
前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションに関連する前記トランスポートフローを、前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションに関連しないトランスポートフローよりも優先する
ようにさらに動作可能である、上記Ｃ３２に記載の装置。
［Ｃ４０］
前記フロー変更モジュールは、
前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションに関連しない前記トランスポートフローについてのアウトバウンド確認応答を、アウトバウンド確認応答に関する各往復時間（ＲＴＴ）に時間値を追加することによって遅延させる
ようにさらに動作可能である、上記Ｃ３９に記載の装置。
［Ｃ４１］
前記時間値は、定数値、あるいは前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーション以外のアプリケーションに関するＲＴＴを倍数的に増加させる乗法値のいずれかを備える、上記Ｃ４０に記載の装置。
［Ｃ４２］
前記フロー変更モジュールは、
前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーションについての縮小されたバッファサイズを通知すること、あるいは
前記１つまたは複数のアプリケーションのうちの前記少なくとも１つのアプリケーション以外のアプリケーションに関する大容量フローを遅延させること
のうちの少なくとも１つを行うようにさらに動作可能である、上記Ｃ１に記載の装置。
【図１】
0005815839.tif 000009
【図２】
0005815839.tif 000010
【図３】
0005815839.tif 000011
【図４】
0005815839.tif 000012
【図５】
0005815839.tif 000013