(57)【特許請求の範囲】
【請求項１】
ワイヤレス通信のための装置であって、
プロセッサを備え、前記プロセッサが、
複数のリソースの各々について利用レベルを取得し、
前記複数のリソースの各々の各対応利用レベルに少なくとも部分的に基づいて前記装置のための複数のフロー状態のセットを決定し、
前記セットのフロー状態に少なくとも部分的に基づいて１つの潜在的フロー状態を決定し、
前記潜在的フロー状態を現在のフロー状態と比較し、
前記比較に応じて前記装置の前記現在のフロー状態を前記潜在的フロー状態に設定するように構成される、装置。
【請求項２】
前記セットのフロー状態のうちの各フロー状態が前記装置の動作の１つのレベルに対応し、前記プロセッサが最低レベルの動作を有する前記セットのフロー状態のうちの前記フロー状態を選択することによって前記潜在的フロー状態を決定するように構成される、請求項１に記載の装置。
【請求項３】
前記フロー状態が、アップリンクについての物理層スループットの量、アップリンクについてのメディアアクセス制御（ＭＡＣ）層スループット、アップリンクについてのアプリケーション層スループット、ダウンリンクについての物理層スループットの量、ダウンリンクについてのメディアアクセス制御（ＭＡＣ）層スループット、ダウンリンクについてのアプリケーション層スループット、帯域幅、拡散率、および前記装置についての無線リンク制御ウインドウのサイズのうちの少なくとも１つを備える、請求項１に記載の装置。
【請求項４】
前記複数のリソースが、１つまたは複数の記憶装置の記憶容量、計算能力、および熱放散能力のうちの少なくとも２つを備える、請求項１に記載の装置。
【請求項５】
前記装置の前記潜在的フロー状態と前記現在のフロー状態とが等価でない場合、前記プロセッサが前記装置の前記現在のフロー状態を前記潜在的フロー状態に設定するように構成される、請求項１に記載の装置。
【請求項６】
前記プロセッサが、
前記複数のリソースのうちの１つの更新された利用レベルを取得し、
前記更新された利用レベルに基づいて更新されたフロー状態を決定し、
前記更新された利用レベルに少なくとも部分的に基づいて、前記装置のための更新された複数のフロー状態のセットを決定し、
前記更新されたセットのフロー状態に少なくとも部分的に基づいて、１つの更新された潜在的フロー状態を決定し、
前記更新された潜在的フロー状態を前記現在のフロー状態と比較し、
前記比較に応じて前記装置の前記現在のフロー状態を前記更新された潜在的フロー状態に設定するようにさらに構成される、請求項１に記載の装置。
【請求項７】
前記プロセッサが、
１つまたは複数のフローコントローラオブジェクトを生成し、
前記１つまたは複数のフローコントローラオブジェクトに対して前記複数のリソースのうちの１つまたは複数を識別し、
複数のマッピング機能のセットを前記１つまたは複数のフローコントローラオブジェクトに提供して、前記複数のマッピング機能が、前記複数のリソースの各々のための各利用レベルを前記装置の複数の可能なフロー状態のセットにマッピングするようにさらに構成される、請求項１に記載の装置。
【請求項８】
前記プロセッサが、前記複数のマッピング機能に少なくとも部分的に基づいて前記セットのフロー状態を決定するように構成される、請求項７に記載の装置。
【請求項９】
前記プロセッサが、前記現在のフロー状態に基づいて動作するようにさらに構成される、請求項１に記載の装置。
【請求項１０】
複数のリソースの各々について利用レベルを取得することと、
前記複数のリソースの各々の各対応利用レベルに少なくとも部分的に基づいて装置のための複数のフロー状態のセットを決定することと、
前記セットのフロー状態に少なくとも部分的に基づいて１つの潜在的フロー状態を決定することと、
前記潜在的フロー状態を現在のフロー状態と比較することと、
前記比較に応じて前記装置の前記現在のフロー状態を前記潜在的フロー状態に設定することとを備える、ワイヤレス通信のための方法。
【請求項１１】
前記セットのフロー状態のうちの各フロー状態が前記装置の動作のレベルに対応し、
前記潜在的フロー状態を決定することが、前記セットのフロー状態のうちで最低レベルの動作を有するフロー状態を選択することを備える、請求項１０に記載の方法。
【請求項１２】
前記フロー状態が、アップリンクについての物理層スループットの量、アップリンクについてのメディアアクセス制御（ＭＡＣ）層スループット、アップリンクについてのアプリケーション層スループット、ダウンリンクについての物理層スループットの量、ダウンリンクについてのメディアアクセス制御（ＭＡＣ）層スループット、ダウンリンクについてのアプリケーション層スループット、帯域幅、拡散率、および前記装置についての無線リンク制御ウインドウのサイズのうちの少なくとも１つを備える、請求項１０に記載の方法。
【請求項１３】
前記複数のリソースが、１つまたは複数の記憶装置の記憶容量、計算能力、および熱放散能力のうちの少なくとも２つを備える、請求項１０に記載の方法。
【請求項１４】
前記比較に応じて前記装置の前記現在のフロー状態を前記潜在的フロー状態に設定することが、前記装置の前記潜在的フロー状態と前記現在のフロー状態とが等価でない場合に前記装置の前記現在のフロー状態を前記潜在的フロー状態に設定することを備える、請求項１０に記載の方法。
【請求項１５】
前記複数のリソースのうちの１つの更新された利用レベルを取得することと、
前記更新された利用レベルに基づいて更新されたフロー状態を決定することと、
前記更新された利用レベルに少なくとも部分的に基づいて、前記装置のための更新された複数のフロー状態のセットを決定することと、
前記更新されたセットのフロー状態に少なくとも部分的に基づいて、１つの更新された潜在的フロー状態を決定することと、
前記更新された潜在的フロー状態を前記現在のフロー状態と比較することと、
前記比較に応じて前記装置の前記現在のフロー状態を前記更新された潜在的フロー状態に設定することとをさらに備える、請求項１０に記載の方法。
【請求項１６】
１つまたは複数のフローコントローラオブジェクトを生成することと、
前記１つまたは複数のフローコントローラオブジェクトに対して前記複数のリソースのうちの１つまたは複数を識別することと、
複数のマッピング機能のセットを前記１つまたは複数のフローコントローラオブジェクトに提供することであって、前記複数のマッピング機能が前記複数のリソースの各々のための各利用レベルを前記装置の複数の可能なフロー状態のセットにマッピングすることとをさらに備える、請求項１０に記載の方法。
【請求項１７】
前記セットのフロー状態を決定することが、前記複数のマッピング機能に少なくとも部分的に基づいて行われる、請求項１６に記載の方法。
【請求項１８】
前記現在のフロー状態に基づいて動作することをさらに備える、請求項１０に記載の方法。
【請求項１９】
ワイヤレス通信のための装置であって、
複数のリソースの各々について利用レベルを取得するための手段と、
前記複数のリソースの各々の各対応利用レベルに少なくとも部分的に基づいて前記装置のための複数のフロー状態のセットを決定するための手段と、
前記セットのフロー状態に少なくとも部分的に基づいて１つの潜在的フロー状態を決定するための手段と、
前記潜在的フロー状態を現在のフロー状態と比較するための手段と、
前記比較に応じて前記装置の前記現在のフロー状態を前記潜在的フロー状態に設定するための手段とを備える、ワイヤレス通信のための装置。
【請求項２０】
前記セットのフロー状態のうちの各フロー状態が前記装置の動作のレベルに対応し、前記決定する手段が前記セットのフロー状態のうちで最低レベルの動作を有するフロー状態を選択することによって前記潜在的フロー状態を決定するように構成される、請求項１９に記載の装置。
【請求項２１】
前記フロー状態が、アップリンクについての物理層スループットの量、アップリンクについてのメディアアクセス制御（ＭＡＣ）層スループット、アップリンクについてのアプリケーション層スループット、ダウンリンクについての物理層スループットの量、ダウンリンクについてのメディアアクセス制御（ＭＡＣ）層スループット、ダウンリンクについてのアプリケーション層スループット、帯域幅、拡散率、および前記装置についての無線リンク制御ウインドウのサイズのうちの少なくとも１つを備える、請求項１９に記載の装置。
【請求項２２】
前記複数のリソースが、１つまたは複数の記憶装置の記憶容量、計算能力、および熱放散能力のうちの少なくとも２つを備える、請求項１９に記載の装置。
【請求項２３】
実行されたとき装置にワイヤレス通信のための方法を行わせる複数の命令を備えるコンピュータ可読記憶媒体であって、前記方法は、
複数のリソースの各々について利用レベルを取得することと、
前記複数のリソースの各々の各対応利用レベルに少なくとも部分的に基づいて前記装置のためのフロー状態のセットを決定することと、
前記セットのフロー状態に少なくとも部分的に基づいて１つの潜在的フロー状態を決定することと、
前記潜在的フロー状態を現在のフロー状態と比較することと、
前記比較に応じて前記装置の前記現在のフロー状態を前記潜在的フロー状態に設定することとを含む、コンピュータ可読記憶媒体。
【請求項２４】
前記セットのフロー状態のうちの各フロー状態が前記装置の動作のレベルに対応し、前記潜在的フロー状態が、前記セットのフロー状態のうちで最低レベルの動作を有するフロー状態を選択することによって決定される、請求項２３に記載のコンピュータ可読記憶媒体。
【請求項２５】
前記フロー状態が、アップリンクについての物理層スループットの量、アップリンクについてのメディアアクセス制御（ＭＡＣ）層スループット、アップリンクについてのアプリケーション層スループット、ダウンリンクについての物理層スループットの量、ダウンリンクについてのメディアアクセス制御（ＭＡＣ）層スループット、ダウンリンクについてのアプリケーション層スループット、帯域幅、拡散率、および前記装置についての無線リンク制御ウインドウのサイズのうちの少なくとも１つを備える、請求項２３に記載のコンピュータ可読記憶媒体。
【請求項２６】
前記複数のリソースが、１つまたは複数の記憶装置の記憶容量、計算能力、および熱放散能力のうちの少なくとも２つを備える、請求項２３に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【関連出願】
【０００１】
本出願は、２０１０年４月１２日に出願された米国仮出願第６１／３２３，０９９号の優先権を主張するもので、その全内容が引用により本明細書に組み込まれる。
【技術分野】
【０００２】
本出願は、一般にワイヤレス通信に関し、より具体的には、利用可能なリソースに基づいて通信フローを制御するためのシステムおよび方法に関する。
【背景技術】
【０００３】
ワイヤレス通信装置は、メモリ、処理能力、熱放散能力など、リソースの点で制約される。例えば、フェージング環境において非常に高いスループットでデータ呼出しのためにこのようなデバイスが使用されると、デバイスはメモリまたはコンピューティング能力を使い果たすおそれがある。デバイスが持続不可能な温度に発熱するおそれもある。従って、このようなデバイスを安全な動作状態に維持するために、デバイスのフローを制御することが望ましい。
【発明の概要】
【０００４】
本発明のシステム、方法、およびデバイスは、各々複数の態様を有するものであり、これらの１つが単独で望ましい属性に責任を負うものではない。以下の特許請求の範囲によって表される本発明の範囲を限定することなく、いくつかの特徴をこれから簡単に説明する。この説明を検討した後、そして特に「発明を実施するための形態」というセクションを読んだ後には、本発明の特徴が、限られたリソースを使用して複数のノードを識別することを含む利点をいかに提供するのかが理解されるはずである。
【０００５】
一実施形態では、ワイヤレス通信のための装置が開示される。本装置はプロセッサを含む。プロセッサは、複数のリソースの各々について利用レベルを取得し、複数のリソースの各々の各対応利用レベルに少なくとも部分的に基づいてこの装置のための複数のフロー状態のセットを決定し、前記セットのフロー状態に少なくとも部分的に基づいて１つの潜在的フロー状態を決定し、この潜在的フロー状態を現在のフロー状態と比較し、この比較に応じてこの装置の現在のフロー状態をこの潜在的フロー状態に設定するように構成される。
【０００６】
他の実施形態では、ワイヤレス通信のための方法が開示される。本方法は、複数のリソースの各々について利用レベルを取得することと、これら複数のリソースの各々の各対応利用レベルに少なくとも部分的に基づいてこの装置のための複数のフロー状態のセットを決定することと、このセットのフロー状態に少なくとも部分的に基づいて１つの潜在的フロー状態を決定することと、この潜在的フロー状態を現在のフロー状態と比較することと、この比較に応じてこの装置の現在のフロー状態をこの潜在的フロー状態に設定することとを含む。
【０００７】
他の実施形態では、ワイヤレス通信のための装置が開示される。本装置は、複数のリソースの各々について利用レベルを取得するための手段と、複数のリソースの各々の各対応利用レベルに少なくとも部分的に基づいてこの装置のための複数のフロー状態のセットを決定するための手段と、このセットのフロー状態に少なくとも部分的に基づいて１つの潜在的フロー状態を決定するための手段と、この潜在的フロー状態を現在のフロー状態と比較するための手段と、この比較に応じてこの装置の現在のフロー状態をこの潜在的フロー状態に設定するための手段とを含む。
【０００８】
他の実施形態では、コンピュータ可読媒体が提供される。本コンピュータ可読媒体は、実行されたとき装置にワイヤレス通信のための方法を行わせる複数の命令を備える。本方法は、複数のリソースの各々について利用レベルを取得することと、複数のリソースの各々の各対応利用レベルに少なくとも部分的に基づいてこの装置のための複数のフロー状態のセットを決定することと、このセットのフロー状態に少なくとも部分的に基づいて１つの潜在的フロー状態を決定することと、この潜在的フロー状態を現在のフロー状態と比較することと、この比較に応じてこの装置の現在のフロー状態をこの潜在的フロー状態に設定することとを含む。
【図面の簡単な説明】
【０００９】
【図１】例示的なワイヤレス通信ネットワークを示す図。
【図２】図１の通信ネットワークにおけるワイヤレス通信装置の機能ブロック図。
【図３】例示的なマルチリソースフローコントローラの機能ブロック図。
【図４Ａ】ワイヤレス通信装置のための複数のフロー状態への複数のリソースレベルの例示的なマッピングを示す表。
【図４Ｂ】ワイヤレス通信装置のための複数のフロー状態への複数のリソースレベルの例示的なマッピングを示す表。
【図５】ワイヤレス通信装置上のマルチリソースフロー制御のための例示的処理を示す流れ図。
【図６】ワイヤレス通信装置上のマルチリソースフロー制御を初期化するための例示的処理を示す流れ図。
【図７】ワイヤレス通信装置上のフロー制御の例示的動作を示す流れ図。
【発明を実施するための形態】
【００１０】
本明細書では、「例示的」という語が「例、事例、または実例としての役割を果たす」を意味するために使用される。「例示的」であるとして本明細書に記述されるいずれの実施形態も、他の実施形態より好ましい、または有利なものとして必ずしも解釈されるべきでない。本明細書に記述された技法は、符号分割多元接続（ＣＤＭＡ）ネットワーク、時分割多元接続（ＴＤＭＡ）ネットワーク、周波数分割多元接続（ＦＤＭＡ）ネットワーク、直交ＦＤＭＡ（ＯＦＤＭＡ）ネットワーク、シングルキャリアＦＤＭＡ（ＳＣ−ＦＤＭＡ）ネットワークなどの様々なワイヤレス通信ネットワークに使用されうる。「ネットワーク」という語と、「システム」という語とは、しばしば区別なく用いられる。ＣＤＭＡネットワークは、ユニバーサル地上無線アクセス（ＵＴＲＡ）、ｃｄｍａ２０００などの無線技術を実装できる。ＵＴＲＡは、広帯域ＣＤＭＡ（Ｗ−ＣＤＭＡ）と低チップレート（ＬＣＲ）とを含む。ｃｄｍａ２０００は、ＩＳ−２０００標準と、ＩＳ−９５標準と、ＩＳ−８５６標準とをカバーする。ＴＤＭＡネットワークは、グローバルシステムフォーモバイルコミュニケーション（ＧＳＭ）（登録商標）などの無線技術を実装できる。ＯＦＤＭＡネットワークは、進化型ＵＴＲＡ（Ｅ−ＵＴＲＡ）、ＩＥＥＥ８０２．１１、ＩＥＥＥ８０２．１６、ＩＥＥＥ８０２．２０、フラッシュＯＦＤＭＡなどの無線技術を実装できる。ＵＴＲＡと、Ｅ−ＵＴＲＡと、ＧＳＭとは、ユニバーサルモバイルテレコミュニケーションシステム（ＵＭＴＳ）の一部である。ロングタームエボリューション（ＬＴＥ）は、Ｅ−ＵＴＲＡを使用するＵＭＴＳの来たるべきリリースである。ＵＴＲＡと、Ｅ−ＵＴＲＡと、ＧＳＭと、ＵＭＴＳと、ＬＴＥとは、「第３世代パートナーシッププロジェクト」（３ＧＰＰ）という名の組織からの文書に記述される。ｃｄｍａ２０００は、「第３世代パートナーシッププロジェクト２」（３ＧＰＰ２）という名の組織からの文書に記述される。これらの様々な無線技術と標準とは、業界で知られている。
【００１１】
シングルキャリア周波数分割多元接続（ＳＣ−ＦＤＭＡ）は、単一のキャリア変調と周波数領域等化とを利用する技法である。ＳＣ−ＦＤＭＡは、ＯＦＤＭＡシステムと類似した性能と、実質的に同じ全体的な複雑さとを有する。ＳＣ−ＦＤＭＡ信号は、その固有のシングルキャリア構造により、低いピーク対平均電力比（ＰＡＰＲ）を有する。ＳＣ−ＦＤＭＡは、特に送信電力効率の観点で、低いＰＡＰＲがモバイル端末に大いに有益となるアップリンク通信において大きな注目を集めている。それは現在、３ＧＰＰロングタームエボリューション（ＬＴＥ）または進化型ＵＴＲＡにおけるアップリンク多元接続スキームのための作業仮説である。
【００１２】
いくつかの態様では、本明細書の教示が、マクロスケールカバレージ（例えば、一般的にマクロセルネットワークと呼ばれる３Ｇネットワークなどの広域セルラーネットワーク）と、より小さなスケールカバレージ（例えば、住宅ベースまたは建物ベースのネットワーク環境）とを含むネットワークにおいて採用できる。ユーザ装置（「ＵＥ」）がこのようなネットワークを通じて移動するときに、あるロケーションではユーザ装置はマクロカバレージを提供するアクセスノード（「ＡＮ」）によってサービスされ、他のロケーションではユーザ装置はより小さなスケールカバレージを提供するアクセスノードによってサービスされうる。いくつかの態様では、より小さなカバレージのノードが、漸増する容量増大と、建物内カバレージと、異なるサービス（例えば、より堅牢なユーザ経験のための）とを提供するために使用されうる。本明細書の説明では、比較的広い領域にカバレージを提供するノードが、マクロノードと呼ばれうる。比較的小さな領域（例えば住宅）にカバレージを提供するノードは、フェムトノードと呼ばれうる。マクロ領域よりも小さく、フェムト領域よりも広い領域にカバレージを提供するノードはピコノード（例えば、商業ビル内にカバレージを提供する）と呼ばれうる。
【００１３】
マクロノード、フェムトノード、またはピコノードに関連付けられるセルは、それぞれマクロセル、フェムトセル、またはピコセルと呼ばれうる。いくつかの実装形態では、各セルが１つまたは複数のセクタにさらに関連付けられ（例えば分割され）うる。
【００１４】
様々なアプリケーションでは、マクロノード、フェムトノード、またはピコノードに言及するために他の用語が使用されうる。例えば、マクロノードはアクセスノード、基地局、アクセスポイント、ｅノードＢ、マクロセルなどとして構成されてもよく、そのように呼ばれてもよい。また、フェムトノードはホームノードＢ、ホームｅノードＢ、アクセスポイント基地局、フェムトセルなどとして構成されてもよく、そのように呼ばれてもよい。
【００１５】
図１は、例示的なワイヤレス通信ネットワーク１００を示す。ワイヤレス通信ネットワーク１００は、複数のユーザ間の通信をサポートするように構成される。ワイヤレス通信ネットワーク１００は、例えばセル１０２ａ〜１０２ｇなどの１つまたは複数のセル１０２に分割されうる。セル１０２ａ〜１０２ｇ内の通信カバレージは、例えばノード１０４ａ〜１０４ｇなどの１つまたは複数のノード１０４によって提供されうる。各ノード１０４は、対応するセル１０２に通信カバレージを提供できる。ノード１０４は、例えばＵＥ１０６ａ〜１０６ｌなどの複数のユーザ装置（ＵＥ）と対話できる。
【００１６】
各ＵＥ１０６は、定められた時間にフォワードリンク（ＦＬ）および／またはリバースリンク（ＲＬ）上の１つまたは複数のノード１０４と通信できる。ＦＬはノードからＵＥへの通信リンクである。ＲＬはＵＥからノードへの通信リンクである。ノード１０４は、例えば適切なワイヤードまたはワイヤレスインターフェースによって相互接続でき、相互に通信できる。従って、各ＵＥ１０６は１つまたは複数のノード１０４を通じて他のＵＥ１０６と通信できる。例えば、ＵＥ１０６ｊは、以下のようにＵＥ１０６ｈと通信できる。ＵＥ１０６ｊはノード１０４ｄと通信できる。次いで、ノード１０４ｄはノード１０４ｂと通信できる。次いで、ノード１０４ｂはＵＥ１０６ｈと通信できる。従って、ＵＥ１０６ｊとＵＥ１０６ｈとの間の通信が確立される。
【００１７】
ワイヤレス通信ネットワーク１００は、広い地理的領域にサービスを提供できる。例えば、セル１０２ａ〜１０２ｇがカバーできるのは隣接する数ブロック、または地方の環境における数平方マイルだけである。一実施形態では、各セルが１つまたは複数のセクタ（図示せず）にさらに分割されうる。
【００１８】
上述のように、ノード１０４は、ユーザ装置（ＵＥ）１０６に、そのカバレージ領域内の、例えばインターネットまたはセルラー式ネットワークなどの通信ネットワークへのアクセスを提供できる。
【００１９】
ＵＥ１０６は、通信ネットワークを介して音声またはデータを送受信するためにユーザによって使用されるワイヤレス通信デバイス（例えば、モバイル電話、ルータ、パーソナルコンピュータ、サーバなど）でよい。本明細書では、ユーザ装置（ＵＥ）が、アクセス端末（ＡＴ）、移動局（ＭＳ）、または端末デバイスと呼ばれてもよい。図示されるように、ＵＥ１０６ａと、１０６ｈと、１０６ｊとはルータを備える。ＵＥ１０６ｂ〜１０６ｇと、１０６ｉと、１０６ｋと、１０６ｌとはモバイル電話を備える。しかし、ＵＥ１０６ａ〜１０６ｌの各々は任意の適切な通信デバイスを備えうる。
【００２０】
図２は、図１の通信ネットワークにおける例示的なＵＥ２２１の機能ブロック図である。ＵＥ２２１は、例えばモバイル電話でよい。ＵＥ２２１は、ＵＥ２２１の他のコンポーネントを格納、送信、および／または制御するための情報を処理するように構成された処理モジュール２０５を備えうる。処理モジュール２０５は格納モジュール２１０に結合されうる。処理モジュール２０５は、格納モジュール２１０から情報を読み取る、またはそこへ情報を書き込むことができる。格納モジュール２１０は処理前、処理の間、または処理後に情報を格納するように構成されうる。また、処理モジュール２０５は受信モジュール２４０と送信モジュール２４１とに結合されうる。受信モジュール２４０は、図１のノード１０４Ａなどのノードからインバウンドワイヤレスメッセージを受信するように構成されうる。送信モジュール２４１は、アウトバウンドワイヤレスメッセージをノードに送信するように構成されうる。
【００２１】
インバウンドワイヤレスメッセージは、処理するために処理モジュール２０５に渡されうる。例えば、受信モジュール２４０によって受信されたパイロット信号が処理モジュール２０５に渡されうる。受信モジュール２４０と送信モジュール２４１とは、アンテナとトランシーバとを備えうる。トランシーバは、ノードに向かうアウトバウンドワイヤレスメッセージ、またはノードから入ってくるインバウンドワイヤレスメッセージを変調／復調するように構成されうる。アウトバウンド／インバウンドワイヤレスメッセージは、アンテナを介して送信／受信されうる。アンテナは、１つまたは複数のチャネルを介してノードと通信するように構成されうる。アウトバウンド／インバウンドワイヤレスメッセージは、音声および／またはデータのみの情報（本明細書では集合的に「データ」呼ばれる）を備えうる。受信モジュール２４０は、受信したデータを復調できる。送信モジュール２４１は、ＵＥ２２１から送信されるデータを変調できる。処理モジュール２０５は送信されるデータを提供できる。
【００２２】
格納モジュール２１０は、異なるレベルが異なる容量とアクセス速度とを有するマルチレベル階層キャッシュを含む処理モジュールキャッシュを備えうる。格納モジュール２１０は、ランダムアクセスメモリ（ＲＡＭ）、他の揮発性ストレージデバイス、または不揮発性ストレージデバイスも備えうる。記憶装置は、ハードドライブと、コンパクトディスク（ＣＤ）またはデジタルビデオディスク（ＤＶＤ）などの光ディスクと、フラッシュメモリと、フロッピー（登録商標）ディスクと、磁気テープと、ジップドライブとを含みうる。
【００２３】
処理モジュール２０５は、フロー制御モジュール（ＦＣＭ）２５０にさらに結合されうる。ＦＣＭ２５０は、ＵＥのための複数のリソースレベル（例えば、ＵＥの複数のリソースのための複数の利用レベル）を監視して、リソースレベルに対応してＵＥ２２１のフロー状態を調整するように構成されうる。動作中、ＵＥ２２１は複数のリソースの利用可能性によって制約される。例えば、処理モジュールは時間単位当りの動作の最大数だけが可能な場合がある。同様に、格納モジュール２１０は、限られた量のデータを格納するための容量しか有さない場合がある。他の制約されたリソースは、例えば熱放散能力と、帯域幅と、電力とを含みうる。ＦＣＭ２５０は、これらのリソースのうちの１つまたは複数を監視して、監視されたこれらリソースに基づいてＵＥ２２１の動作のための１つまたは複数のフロー状態を決定するように構成されうる。有利なことに、これによりＵＥ２２１は、複数のリソースを超えるフロー状態で動作することから生じる混乱なしに、持続可能な方法で動作できるようになる。ＦＣＭ２５０のある態様は、図３〜７を参照して以下により詳細に記述される。
【００２４】
別に記述されるが、ユーザ装置２２１に関して記述された機能ブロックは別の構成要素である必要がないことが理解されるべきである。例えば、処理モジュール２０５、格納モジュール２１０、およびＦＣＭ２５０が単一のチップ上に組み込まれてよい。さらに、または代替で、処理モジュール２０５およびＦＣＭ２５０は、レジスタなどのメモリを含みうる。同様に、機能ブロックのうちの１つまたは複数、あるいは様々なブロックの機能の一部が単一のチップ上に組み込まれてよい。あるいは、特定のブロックの機能が複数のチップ上に実装されてよい。
【００２５】
処理モジュール２０５およびＦＣＭ２５０などの、ＵＥ２２１に関して記述された機能ブロックのうちの１つまたは複数、および／または機能ブロックの１つまたは複数の組合せは、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）または他のプログラマブルロジックデバイス、ディスクリートゲートまたはトランジスタロジック、ディスクリートハードウェアコンポーネント、あるいは本明細書に記載の機能を行うように設計されたこれらの任意の適切な組合せとして組み込まれうる。また、ＵＥ２２１に関して記述された機能ブロックのうちの１つまたは複数、および／あるいは機能ブロックのうちの１つまたは複数の組合せは、コンピューティングデバイスの組合せとして、例えば、ＤＳＰとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、ＤＳＰ通信と連携する１つまたは複数のマイクロプロセッサ、あるいは他の任意のこのような構成として実装することもできる。
【００２６】
図３は、例示的なマルチリソースフローコントローラ（ＦＣ）３１０の機能ブロック図である。一実施形態では、ＦＣ３１０が図２のフロー制御モジュール２５０に対応する。ＦＣ３１０は、１つまたは複数のリソースモニタ３２０を備える。各リソースモニタ３２０は、ＵＥ２２１についての特定のリソースの状態または利用レベルを監視するように構成されうる。例えば、リソースモニタ３２１は、特定のプールにおいて利用可能なメモリの量、または他のメモリのグループ分けを監視するように構成されうる。いくつかの実施形態では、リソースモニタ３２０が、周期的および／または非周期的に特定のリソースのコントローラのアクティブポーリングを行うことによってリソースを監視できる。例えば、利用可能な処理能力を決定するために、リソースモニタ３２１はメモリコントローラをポーリングして利用可能なメモリまたはプロセッサを決定できる。他の実施形態では、リソースモニタが１つまたは複数のリソースレベルに関する更新を受動的に受信するように構成されうる。他の実施形態では、リソースモニタ３２１が温度などの量を直接測定するセンサを備えうる。
【００２７】
ＦＣ３１０は、１つまたは複数のリソースレベルレジスタ３３０をさらに備える。リソースレベルレジスタ３３０は、リソースモニタ３２０によって監視される複数のリソースの対応リソースレベルを格納するように構成される。リソースレベルレジスタ３３０によって格納された値のタイプは、監視されているリソースのタイプに対応しうる。従って、例えば、リソースモニタ３２１が温度を監視している場合、リソースレベルレジスタ３３１は温度を示す数値を格納できる。他の例では、リソースモニタ３２１がメモリ利用可能性を監視している場合、リソースレベルレジスタ３３１は、所定の利用可能性レベルを示すフラグを格納できる。リソースレベルレジスタに格納されるこれらのタイプの情報は、図４に関して以下により詳細に記述される。
【００２８】
ＦＣ３１０は、リソースレベルをフロー状態にマッピングするための複数のマッピング機能３４０のセットをさらに備える。各マッピング機能３４０は、リソースレベルレジスタ３３０に格納された値を取って、ＵＥ２２１についての対応するフロー状態を出力するように構成され、一般的に、フロー状態はＵＥ２２１の動作のレベルに対応する。一実施形態では、マッピングが、他の全てのリソースが豊富であると仮定される場合、１つのリソースの特定のリソースレベルに基づいてＵＥ２２１についての適切なフロー状態に対応する。上述のように、マッピング機能３４０ごとの入力は、監視されているリソースのタイプに基づいて異なる場合がある。例えば、マッピング機能３４１の入力は温度の数値でよい。他の例では、マッピング機能３４１の入力がメモリ利用可能性数を示すフラグでよい。異なるタイプの入力に関わらず、マッピング機能３４０の出力は単一の領域に対応しうる。例えば、マッピング機能３４０の各々の出力は、ＵＥ２２１についての潜在的フロー状態に対応しうる。
【００２９】
上述のように、一般的にフロー状態はＵＥ２２１の動作のレベルに対応する。一実施形態では、フロー状態がＵＥ２２１についての無線リンク制御ウインドウのサイズに対応しうる。ウインドウのサイズを設定することによって、ＵＥは動作のレベル、またはフロー状態を制約できるようになる。例えば、ウインドウが２０４８に設定されると、送信／受信ごとに２０４８パケットのデータが送信／受信されうる。しかし、ウインドウのサイズが１に設定されると、送信／受信ごとに単一のパケットのデータが送信／受信されうる。ウインドウがより小さい場合、データが送信／受信される速度はより遅くなる。同様に、リソースが消費される速度もより遅くなる。より小さなウインドウと対応する動作レベルとは、より低い、またはより制約されたフロー状態と呼ばれうる。反対に、より大きなウインドウは、データがより速く送信／受信され、リソースがより速く消費されることを意味する。より大きなウインドウと対応する動作レベルとは、より高い、または制約の少ないフロー状態と呼ばれうる。他の実施形態では、無線リンク制御ウインドウのサイズがフロー状態のプロキシとして使用できない。むしろ、他の実施形態では、スループットの量、物理層スループットの量、メディアアクセス制御（ＭＡＣ）層スループット、アプリケーション層スループット、帯域幅、拡散率、または無線リンクプロトコルウインドウのサイズが使用されうる。これらの値は、ＵＥ２２１のアップリンクおよび／またはダウンリンクのために考慮されうる。他の実施形態では、フロー状態が、ＵＥ２２１によって受信されたデータの量を廃棄すること、またはＵＥ２２１からのデータ送信を制限することに対応しうる。
【００３０】
ＦＣ３１０は、複数のフロー状態レジスタ３５０のセットをさらに備える。これらフロー状態レジスタ３５０は、対応マッピング機能３４０からの出力を格納するように構成される。従って、例えば、マッピング機能３４１が２０４８のウインドウサイズに対応するフロー状態を示す出力を生成すると、フロー状態レジスタ３５１は２０４８の値を格納する。
【００３１】
ＦＣ３１０は決定機能３６０をさらに備える。この決定機能３６０は、複数のフロー状態レジスタ３５０の各々に格納されたフロー状態に基づいて潜在的フロー状態を決定するように構成される。一実施形態において、決定機能３６０は、フロー状態レジスタ３５０に格納された複数のフロー状態のうちの１つを選択する選択機能である。一実施形態において、決定機能３６０は、フロー状態レジスタ３５０に格納された複数のフロー状態から最も制約された、あるいは最低フロー状態を選択するように構成される。この最低フロー状態は、ＵＥ２２１の最低レベルの動作を示すフロー状態に対応する。有利なことに、最も制約されたフロー状態を選択することによって、ＵＥは最も制約されたリソースの能力を超えない方法で動作することを保証できる。例えば、たとえより制約の少ないフローに対応してメモリと処理リソースとが豊富であっても、またより制約の多いフローに対応してＵＥ２２１が過熱しても、最も制約されたフロー状態を選択することによってＵＥは安全に動作できるようになる。
【００３２】
ＦＣ３１０は、潜在的フロー状態レジスタ３６５と現在のフロー状態レジスタ３７５とをさらに備える。潜在的フロー状態レジスタ３６５は、決定機能３６０の出力を格納するように構成される。現在のフロー状態レジスタ３７５は、ＵＥ２２１が動作しているフロー状態を格納するように構成され、現在のフロー状態は以前のいずれかの時間で決定されて、設定される。
【００３３】
ＦＣ３１０は設定機能３８５をさらに備える。設定機能３８５は、潜在的フロー状態レジスタ３６５からの潜在的フロー状態と、現在のフロー状態レジスタ３７５からの現在のフロー状態とに少なくとも部分的に基づいて、ＵＥ２２１のフロー状態を設定するように構成される。一例では、設定機能３８５が、潜在的フロー状態と現在のフロー状態とを比較するように構成される。２つのフロー状態が等価である場合、設定機能３８５はいかなるアクションも取らなくてよい。しかし、潜在的フロー状態と現在のフロー状態が異なる場合、設定機能は１つまたは複数の機能を行える。これらの機能は、潜在的フロー状態を現在のフロー状態レジスタ３７５に格納して、それによって現在のフロー状態レジスタ３７５を更新することを含みうる。この機能は、ＵＥ２２１のフロー状態を潜在的フロー状態に設定することも含みうる。これは、ＵＥ２２１のフロー状態の設定を担当するコントローラ３９０に潜在的フロー状態を伝達することによって実現しうる。コントローラ３９０は潜在的フロー状態、例えば特定のウインドウサイズを受信して、ＵＥ２２１についてのウインドウサイズを設定することによってシステムフローを調整できる。他の実施形態では、他のシステムパラメータまたは機能がフロー状態を調整するために使用できる。これらのパラメータまたは機能は、これらに限定されないが、物理層スループットと、帯域幅と、拡散率と、無線リンクプロトコルウインドウサイズとを含む。
【００３４】
図示されるように、ＦＣ３１０は参照レジスタ３８０を備えうる。参照レジスタ３８０はコントローラ３９０への参照を格納できる。いくつかの実施形態では、ＦＣ３１０が、１つまたは複数のコントローラ３９０を介して複数のフロー状態のうちの１つを制御するように構成されうる。例えば、ＦＣ３１０は、アップリンクウインドウサイズ、またはダウンリンクウインドウサイズに対応するフロー状態を制御するように構成されうる。従って、参照レジスタ３８０は、制御されているフロー状態のために、コントローラ３９０に対応するコントローラ３９０へのレファレンス(reference)を格納できる。次いで、設定機能３８５は適切なコントローラ３９０を識別するためにこのレファレンスを使用できる。
【００３５】
ＦＣ３１０は、また可能なフロー状態レジスタ３９５を備えうる。可能なフロー状態レジスタ３９５は、ＵＥ２２１について複数の可能なフロー状態の全セットを格納できる。可能なフロー状態レジスタ３９５からの出力は、潜在的フロー状態を選択する際に決定機能３６０によって使用されうる。例えば、決定機能は可能な状態のセットを使用して、フロー状態レジスタ３５０からのどちらのフロー状態が最も制約されているかを決定できる。このセットの可能なフロー状態が最も制約されたものから最も制約されないものに整列されると、決定機能３６０は、これら出力をセット内の整列されたフロー状態と比較することによって、フロー状態レジスタ３５０からの出力のうち最も制約されたものを決定できる。有利なことに、本実施形態は、複数のリソースに基づいてＵＥ２２１におけるフローの制御を可能にする。ジョインフロー制御は、たとえリソースの消費バランスが取れていない場合であっても安全な動作を容易にする。
【００３６】
リソースレベルレジスタ３３０、フロー状態レジスタ３５０、潜在的フロー状態レジスタ３６５、現在のフロー状態レジスタ３７５、参照レジスタ３８０、および可能なフロー状態レジスタ３９５は、処理モジュールキャッシュ、ランダムアクセスメモリ（ＲＡＭ）、他の揮発性ストレージデバイス、または不揮発性ストレージデバイスを備えうる。さらに、レジスタは別の構成要素でなくてよく、単一のチップに組み込まれうる。レジスタと、その機能とも、図２の格納モジュール２１０、フロー制御モジュール２５０、または処理モジュール２０５によって実装されうる。
【００３７】
リソースモニタ３２０、マッピング機能３４０、決定機能３６０、設定機能３８５、およびコントローラ３９０は、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）または他のプログラマブルロジックデバイス、ディスクリートゲートまたはトランジスタロジック、ディスクリートハードウェアコンポーネント、あるいは本明細書に記載の機能を行うように設計されたこれらの任意の適切な組合せとして組み込まれうる。また、ＦＣ３１０に関して記述された機能ブロックのうちの１つまたは複数、および／あるいは機能ブロックのうちの１つまたは複数の組合せは、コンピューティングデバイスの組合せとして、例えば、ＤＳＰとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、ＤＳＰ通信と連携する１つまたは複数のマイクロプロセッサ、あるいは他の任意のこのような構成として実装することもできる。リソースモニタ３２０、マッピング機能３４０、決定機能３６０、設定機能３８５、およびコントローラ３９０の機能は、図２のフロー制御モジュール２５０、または処理モジュール２０５によって実装されうる。
【００３８】
図４Ａ〜Ｂは、ワイヤレス通信装置のための複数のフロー状態への複数のリソースレベルの例示的なマッピングを示す表である。表４０１および４１２は、図３のマッピング機能３４０の機能性に対応する。表４０１において、欄４０５は特定のメモリプール内のメモリリソースレベルを示す複数のフラグを含む。これらフラグは、豊富なメモリを示す「多い（ｍａｎｙ）」フラグ、利用可能なメモリがより少ないことを示す「わずかな（ｆｅｗ）」フラグ、およびメモリがほとんどまたは全く残っていないことを示す「ＤＮＥ」フラグを含む。欄４１０は、ＵＥ２２１のための複数のフロー状態を表す複数のエントリを含む。これらフロー状態は、ウインドウサイズが２０４８であることを示す「ＷＩＮ（２０４８）」、ウインドウサイズが１であることを示す「ＷＩＮ（１）」、およびメモリに関するリセット状態を示す「ＲＥＳＥＴ（リセット）」を含む。欄４０５内の各エントリは、欄４１０の対応エントリ内のフロー状態にマッピングする。図示されるように、より少ないメモリに対応するこれらフラグは、より制約された複数のフロー状態にマッピングする。
【００３９】
表４１２において、欄４１５は複数の処理能力リソースレベルを示す複数のフラグを含む。これらフラグは豊富な処理能力を示す「ＣＰＵ＿２０４８」フラグ、処理リソースの豊富さが徐々に減っていくことを各々表す「ＣＰＵ＿５１２」フラグ、「ＣＰＵ＿６４」フラグ、および「ＣＰＵ＿１」フラグを含む。欄４２０は、ＵＥ２２１のための複数のフロー状態を表す複数のエントリを含む。これらフロー状態は、ウインドウサイズが２０４８であることを示す「ＷＩＮ（２０４８）」、徐々に小さくなるウインドウサイズに対応する「ＷＩＮ（５１２）」、「ＷＩＮ（６４）」、および「ＷＩＮ（１）」状態を含む。欄４１５内の各エントリは、欄４２０の対応エントリ内のフロー状態にマッピングする。図示されるように、より低い処理能力に対応するこれらフラグは、より制約された複数のフロー状態にマッピングする。
【００４０】
有利なことに、示されたマッピングにより、異なるタイプのリソースレベルに基づくＵＥ２２１についてのフロー制御が容易になる。各リソースが共通セットのフロー状態にマッピングするので、異なるタイプのリソースによる制約にもかかわらず、ＵＥ２２１についての最良のフロー状態を選択できる。
【００４１】
図５は、ワイヤレス通信装置上のマルチリソースフロー制御のための例示的処理５０１を示す流れ図である。一実施形態では、処理５０１が、図２のＵＥ２２１上の図３のＦＣ３１０によって行われうる。ステップ５０５で、ＦＣはリソースレベル情報を取得する。これは、図３のリソースレベルレジスタ３３０と連携するリソースモニタ３２０などのリソースモニタによって実現されうる。他の実施形態では、リソースモニタ３２０が、新しいリソースレベル情報が利用可能だというメッセージをＦＣに送る。リソースモニタ３２０は、リソースの利用レベルがしきい値レベルに達した、および／またはしきい値によって変更されたと決定することによって、新しいリソースレベル情報が利用可能であると決定できる。ステップ５１０で、ＦＣは複数のフロー状態のセットを決定する。これは、リソースレベルレジスタ３３０と連携するマッピング機能３４０によって実現されうる。特に、マッピング機能３４１などのマッピング機能は、リソースレベルレジスタ３３０からリソースレベルを受信できる。次いで、マッピング機能はリソースレベルを図４の表４０１などの表へのインデックスとして使用できる。表内の対応エントリは、あるリソースレベルに基づくフロー状態である。次いでフロー状態はフロー状態レジスタ３５１に格納されうる。ステップ５１５で、ＦＣは潜在的なフロー状態を決定する。これは、図３のフロー状態レジスタ３５０と連携する決定機能３６０によって実現されうる。上述のように、一実施形態では、決定機能が最も制約されたフロー状態を潜在的フロー状態として選択して、潜在的フロー状態を潜在的フロー状態レジスタ３６５に格納できる。
【００４２】
ステップ５２０では、潜在的フロー状態と現在のフロー状態とが比較される。この機能は、潜在的フロー状態レジスタ３６５のコンテンツと現在のフロー状態レジスタ３７５のコンテンツとを比較することによって、図３の設定機能３８５によって実現されうる。一実施形態では、設定機能が、潜在的フロー状態と現在のフロー状態とが等価かどうかを決定する。この比較に基づいて、処理５０１は終了できる。あるいは、ステップ５２５で、現在のフロー状態が潜在的フロー状態に設定される。これは、図３のコントローラ３９０と連携する設定機能３８５によって実現されうる。一実施形態では、ステップ５２５が、現在のフロー状態と潜在的フロー状態とが等価でない場合に行われる。現在のフロー状態を更新した後に、処理５０１は終了する。
【００４３】
図６は、図２のＵＥ２２１などのワイヤレス通信装置上のマルチリソースフロー制御を初期化するための例示的処理６０１を示す流れ図である。本方法は、後述するように、図３の他の機能ブロックと連携するコントローラ３９０によって行われうる。ステップ６１０で、コントローラはマルチリソースフローコントローラを取得する。一実施形態では、これがフローコントローラオブジェクトを作成することによって行われうる。他の実施形態では、これが既存のフローコントローラに関連付けることによって行われうる。ステップ６２０で、コントローラは複数の可能なフロー状態のセットをフローコントローラに記録する。上述のように、可能な状態のセットはＵＥが動作できるこれらフロー状態を示している。一実施形態では、これが可能なウインドウサイズのセットに対応しうる。ステップ６３０で、コントローラは設定機能をフローコントローラに記録する。これは、フローコントローラがフロー状態更新をコントローラに提供できるようにするために十分な情報を提供することによって実現しうる。例えば、コントローラはフローコントローラにコントローラへの参照を提供できる。ステップ６４０で、リソースモニタ３２０はマッピング機能３４０にフローコントローラを記録する。これは、図４Ａの表４０１および図４Ｂの表４１２に含まれるような情報を提供することによって実現しうる。ステップ６５０で、リソースモニタは最初のリソースレベル情報をフローコントローラに提供する。最初のリソース情報を受信した後、フローコントローラは上述のように動作できる。
【００４４】
図７は、ワイヤレス通信装置上のフロー制御の例示的動作を示す流れ図である。図７のために、３つの異なるリソースが追跡される。第１のリソースは、「ＤＳＭ」と呼ばれるメモリプール内で利用可能なメモリである。第２のリソースは、「ＤＵＰ」と呼ばれるメモリプール内で利用可能なメモリである。第３のリソースは、「ＣＰＵ」と呼ばれるプロセッサの処理能力である。流れ図の各ステップで、３つの追跡されるリソースについてのリソースレベルが示される。さらに、各ステップで、フロー状態が変化したかどうかの表示と共に、フロー状態についての値「ＯＵＴＰＵＴ＿ＳＴＡＴＥ（出力＿状態）」が示される。各追跡されるリソースに対応する値は、図４の表４０１および４１２から取られる。フロー状態についての値は同じ表から取られる。各ステップで、図４の表から決定されたように、フロー状態は最も制約されたフロー状態に対応する。
【００４５】
ステップ７１０では、両方のメモリプールが「ＭＡＮＹ」フラグを有し、ＣＰＵが「ＣＰＵ＿２０４８」フラグを有する。出力状態がそのレベルに設定されるように、全てのリソースレベルはＷＩＮ（２０４８）にマッピングする。ステップ７１５で、ＤＵＰプールフラグは「ＦＥＷ」に落ちる。そのフラグはより制約されたフロー状態にマッピングするので、出力状態はＷＩＮ（１）に減少される。ステップ７２０で、ＤＳＭプールフラグは「ＦＥＷ」に落ちる。ＤＳＭフラグがより制約された状態に対応するＤＵＰフラグと一致するので、出力状態の変更は必要ない。ステップ７２５で、ＤＳＭフラグは「ＤＮＥ」に落ちる。「ＤＮＥ」はより制約されたフロー状態に対応するので、出力状態は「ＲＥＳＥＴ」に落ちる。ステップ７３０で、ＣＰＵフラグは「ＣＰＵ＿５１２」に落ちる。しかし、ＤＳＭフラグがより制約されたフロー状態に対応するので、出力状態に変化はない。ステップ７３５で、ＤＵＰフラグは「ＭＡＮＹ」に変化する。しかし、ＤＳＭフラグがより制約されたフロー状態に対応するので、出力状態に変化はない。ステップ７４０で、ＤＳＭフラグは「ＭＡＮＹ」に変化する。この時点でＣＰＵは最も制約されたリソースを有するので、出力状態はＣＰＵフラグに対応する「ＷＩＮ（５１２）」に変化する。上述のように、フローコントローラは、リソース消費パターンがアンバランスで変化するにもかかわらず安全な動作を容易にする方法での複数のリソース制御を可能にする。
【００４６】
本明細書における、「第１の」、「第２の」などの指定を使用するある要素への任意の参照は、一般にそれらの要素の数量または順序を限定しない点が理解されるべきである。むしろ、これらの指定は、複数の要素または要素のインスタンスを区別するための便利な方法として本明細書で使用されうる。従って、第１の要素と第２の要素への言及は、そこで使用されうるのは２つの要素だけであることも、いくつかの方法では第１の要素が第２の要素に先行しなければならないことも意味しない。また、特に明記されない限り、要素のセットは１つまたは複数の要素を備えうる。さらに、説明または特許請求の範囲において使用される「Ａ、Ｂ、またはＣのうちの少なくとも１つ」という形式の用語は、「Ａ、またはＢ、またはＣ、あるいはこれらの要素の任意の組合せ」を意味する。
【００４７】
本明細書に提示された実施形態と他の実施形態とは、添付の付表においてさらにより詳細に説明される。本明細書は本発明の特定の例を説明しているが、当業者は、本発明の概念から逸脱することなしに本発明の変形形態を考案できる。
【００４８】
当業者は、情報と信号とが、様々な技術と技法とのうちの任意のものを用いて表現される場合があることが理解できよう。例えば、上記の記述を通じて言及されうるデータと、命令と、コマンドと、情報と、信号と、ビットと、シンボルと、チップとは、電圧、電流、電磁波、磁場または磁性粒子、光場または光学粒子、あるいはそれらの任意の組合せによって表現される場合がある。
【００４９】
本明細書で開示される例と関連して説明される様々な例示的な論理ブロックと、モジュールと、回路と、方法と、アルゴリズムとが、電子ハードウェア、コンピュータソフトウェア、またはその両方の組合せとして実装可能であることを、当業者はさらに理解できよう。ハードウェアとソフトウェアとのこの互換性を明確に示すために、様々な例示的なコンポーネントと、ブロックと、モジュールと、回路と、方法と、アルゴリズムとを、それらの機能の面で一般的に上述してきた。そのような機能がハードウェアまたはソフトウェアとして実装されるかどうかは、特定のアプリケーションとシステム全体に課せられた設計制約とに依存する。熟練した技術者は、特定のアプリケーションごとに様々な方法で記述された機能を実装してもよいが、そのような実装の決定は、本発明の範囲からの逸脱を引き起こすものとして解釈されるべきではない。
【００５０】
本明細書で開示される例と関連して説明される様々な例示的な論理ブロックと、モジュールと、回路とは、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、または他のプログラマブルロジックデバイス、ディスクリートゲートまたはトランジスタロジック、ディスクリートハードウェアコンポーネント、あるいは本明細書に記載の機能を行うように設計されたこれらの任意の組合せによって実装または行うことが可能である。汎用プロセッサはマイクロプロセッサであってもよいが、代わりにプロセッサは、従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンのいずれであってもよい。プロセッサは、コンピューティングデバイスの組合せとして、例えば、ＤＳＰとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、ＤＳＰコアと連携する１つまたは複数のマイクロプロセッサ、または他の任意のこのような構成として実装することもできる。
【００５１】
本明細書で開示される例に関連して説明される方法またはアルゴリズムは、直接ハードウェアに、プロセッサによって実行されるソフトウェアモジュールに、またはその２つの組合せに組み込まれうる。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ、または当技術分野で知られている他の任意の形態の記憶媒体内に存在させることができる。記憶媒体は、プロセッサと結合し、これによってプロセッサは記憶媒体から情報を読み取り、および記憶媒体に情報を書き込むことができる。その代わりに、記憶媒体はプロセッサと一体であってもよい。プロセッサと記憶媒体とは、ＡＳＩＣ内に存在してもよい。
【００５２】
１つまたは複数の例示的な実施形態では、本明細書で説明した機能が、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組合せの中に実装することができる。ソフトウェアに実装する場合、１つまたは複数の命令あるいはコードとしてコンピュータ可読媒体内に機能を格納または送信できる。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を促進する任意の媒体を含むコンピュータ記憶媒体と通信媒体との両方を含む。記憶媒体は、コンピュータによってアクセスできる任意の利用可能な媒体でよい。一例として、これらに限定されないが、そのようなコンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、または他の光ディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶装置、あるいは所望のプログラムコードを命令またはデータ構造の形式で伝送または格納するために使用可能であり、コンピュータによってアクセス可能である他の任意の媒体を備えうる。また、任意の接続は適切にコンピュータ可読媒体と呼ばれる。例えば、同軸ケーブル、光ファイバケーブル、ツイストペア線、デジタル加入者線（ＤＳＬ）、または赤外線、電波、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースからソフトウェアが送信される場合、その同軸ケーブル、光ファイバケーブル、ツイストペア線、ＤＳＬ、または赤外線、電波、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で用いられるようなディスク（ｄｉｓｋ）とディスク（ｄｉｓｃ）とは、コンパクトディスク（ＣＤ）と、レーザーディスク（登録商標）と、光ディスクと、デジタル多用途ディスク（ＤＶＤ）と、フロッピーディスクと、ブルーレイ（登録商標）ディスクとを含み、ここで、ディスク（ｄｉｓｋ）は通常磁気的にデータを再現し、一方ディスク（ｄｉｓｃ）はレーザーによって光学的にデータを再現する。上記の組合せも、コンピュータ可読媒体の範囲内に含まれるべきである。
【００５３】
開示された例の前述の説明は、任意の当業者が本発明を作るまたは使用することを可能にするために提供される。これらの例に対する様々な修正形態は、当業者にとって容易に明らかであり、本明細書で定義される一般的な原理は、本発明の趣旨または範囲から逸脱することなく他の例に適用されうる。このように、本発明は、本明細書内に示される例に限定することを意図しておらず、本明細書で開示された原理と新規な特徴とに一致する最も広い範囲を与えられるべきである。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］  ワイヤレス通信のための装置（２２１）であって、
プロセッサ（２０５）を備え、前記プロセッサ（２０５）が、
複数のリソースの各々について利用レベルを取得し、
前記複数のリソースの各々の各対応利用レベルに少なくとも部分的に基づいて前記装置（２２１）のための複数のフロー状態のセットを決定し、
前記セットのフロー状態に少なくとも部分的に基づいて１つの潜在的フロー状態を決定し、
前記潜在的フロー状態を現在のフロー状態と比較し、
前記比較に応じて前記装置（２２１）の前記現在のフロー状態を前記潜在的フロー状態に設定するように構成される、装置（２２１）。
［Ｃ２］  前記セットのフロー状態のうちの各フロー状態が前記装置（２２１）の動作の１つのレベルに対応し、前記プロセッサ（２０５）が最低レベルの動作を有する前記セットのフロー状態のうちの前記フロー状態を選択することによって前記潜在的フロー状態を決定するように構成される、Ｃ１に記載の装置。
［Ｃ３］  前記フロー状態が、アップリンクについての物理層スループットの量、アップリンクについてのメディアアクセス制御（ＭＡＣ）層スループット、アップリンクについてのアプリケーション層スループット、ダウンリンクについての物理層スループットの量、ダウンリンクについてのメディアアクセス制御（ＭＡＣ）層スループット、ダウンリンクについてのアプリケーション層スループット、帯域幅、拡散率、前記装置（２２１）についての無線リンク制御ウインドウのサイズのうちの少なくとも１つを備える、Ｃ１に記載の装置。
［Ｃ４］  前記複数のリソースが、１つまたは複数の記憶装置の記憶容量、計算能力、熱放散能力のうちの少なくとも２つを備える、Ｃ１に記載の装置。
［Ｃ５］  前記装置（２２１）の前記潜在的フロー状態と前記現在のフロー状態とが等価でない場合、前記プロセッサ（２０５）が前記装置（２２１）の前記現在のフロー状態を前記潜在的フロー状態に設定するように構成される、Ｃ１に記載の装置。
［Ｃ６］  前記プロセッサ（２０５）が、
前記複数のリソースのうちの１つの更新された利用レベルを取得し、
前記更新された利用レベルに基づいて更新されたフロー状態を決定し、
前記更新された利用レベルに少なくとも部分的に基づいて、前記装置（２２１）のための更新された複数のフロー状態のセットを決定し、
前記更新されたセットのフロー状態に少なくとも部分的に基づいて、１つの更新された潜在的フロー状態を決定し、
前記更新された潜在的フロー状態を前記現在のフロー状態と比較し、
前記比較に応じて前記装置の前記現在のフロー状態を前記更新された潜在的フロー状態に設定するようにさらに構成される、Ｃ１に記載の装置。
［Ｃ７］  前記プロセッサ（２０５）が、
１つまたは複数のフローコントローラオブジェクトを生成し、
前記１つまたは複数のフローコントローラオブジェクトに対して前記複数のリソースのうちの１つまたは複数を識別し、
複数のマッピング機能（３４０）のセットを前記１つまたは複数のフローコントローラオブジェクトに提供して、前記複数のマッピング機能（３４０）が、前記複数のリソースの各々のための各利用レベルを前記装置（２２１）の複数の可能なフロー状態のセットにマッピングするようにさらに構成される、Ｃ１に記載の装置。
［Ｃ８］  前記プロセッサ（２０５）が、前記複数のマッピング機能（３４０）に少なくとも部分的に基づいて前記セットのフロー状態を決定するように構成される、Ｃ７に記載の装置。
［Ｃ９］  前記プロセッサ（２０５）が、前記現在のフロー状態に基づいて動作するようにさらに構成される、Ｃ１に記載の装置。
［Ｃ１０］  複数のリソースの各々について利用レベルを取得することと、
前記複数のリソースの各々の各対応利用レベルに少なくとも部分的に基づいて装置（２２１）のための複数のフロー状態のセットを決定することと、
前記セットのフロー状態に少なくとも部分的に基づいて１つの潜在的フロー状態を決定することと、
前記潜在的フロー状態を現在のフロー状態と比較することと、
前記比較に応じて前記装置（２２１）の前記現在のフロー状態を前記潜在的フロー状態に設定することとを備える、ワイヤレス通信のための方法。
［Ｃ１１］  前記セットのフロー状態のうちの各フロー状態が前記装置（２２１）の動作のレベルに対応し、前記潜在的フロー状態を決定することが、前記最低レベルの動作を有する前記セットのフロー状態のうちの前記フロー状態を選択することを備える、Ｃ１０に記載の方法。
［Ｃ１２］  前記フロー状態が、アップリンクについての物理層スループットの量、アップリンクについてのメディアアクセス制御（ＭＡＣ）層スループット、アップリンクについてのアプリケーション層スループット、ダウンリンクについての物理層スループットの量、ダウンリンクについてのメディアアクセス制御（ＭＡＣ）層スループット、ダウンリンクについてのアプリケーション層スループット、帯域幅、拡散率、前記装置（２２１）についての無線リンク制御ウインドウのサイズのうちの少なくとも１つを備える、Ｃ１０に記載の方法。
［Ｃ１３］  前記複数のリソースが、１つまたは複数の記憶装置の記憶容量、計算能力、および熱放散能力のうちの少なくとも２つを備える、Ｃ１０に記載の方法。
［Ｃ１４］  前記比較に応じて前記装置の前記現在のフロー状態を前記潜在的フロー状態に設定することが、前記装置の前記潜在的フロー状態と前記現在のフロー状態とが等価でない場合に前記装置の前記現在のフロー状態を前記潜在的フロー状態に設定することを備える、Ｃ１０に記載の方法。
［Ｃ１５］  前記複数のリソースのうちの１つの更新された利用レベルを取得することと、
前記更新された利用レベルに基づいて更新されたフロー状態を決定することと、
前記更新された利用レベルに少なくとも部分的に基づいて、前記装置（２２１）のための更新された複数のフロー状態のセットを決定することと、
前記更新されたセットフロー状態に少なくとも部分的に基づいて、１つの更新された潜在的フロー状態を決定することと、
前記更新された潜在的フロー状態を前記現在のフロー状態と比較することと、
前記比較に応じて前記装置（２２１）の前記現在のフロー状態を前記更新された潜在的フロー状態に設定することとをさらに備える、Ｃ１０に記載の方法。
［Ｃ１６］  １つまたは複数のフローコントローラオブジェクトを生成することと、
前記１つまたは複数のフローコントローラオブジェクトに対して前記複数のリソースのうちの１つまたは複数を識別することと、
複数のマッピング機能（３４０）のセットを前記１つまたは複数のフローコントローラオブジェクトに提供することであって、前記複数のマッピング機能（３４０）が前記複数のリソースの各々のための各利用レベルを前記装置（２２１）の複数の可能なフロー状態のセットにマッピングすることとをさらに備える、Ｃ１０に記載の方法。
［Ｃ１７］  前記セットのフロー状態を決定することが、前記複数のマッピング機能（３４０）に少なくとも部分的に基づいて行われる、Ｃ１６に記載の方法。
［Ｃ１８］  前記現在のフロー状態に基づいて動作することをさらに備える、Ｃ１０に記載の方法。
［Ｃ１９］  複数のリソースの各々について利用レベルを取得するための手段（２０５）と、
前記複数のリソースの各々の各対応利用レベルに少なくとも部分的に基づいて前記装置のための複数のフロー状態のセットを決定するための手段（２０５）と、
前記セットのフロー状態に少なくとも部分的に基づいて１つの潜在的フロー状態を決定するための手段（２０５）と、
前記潜在的フロー状態を現在のフロー状態と比較するための手段（２０５）と、
前記比較に応じて前記装置の前記現在のフロー状態を前記潜在的フロー状態に設定するための手段（２０５）とを備える、ワイヤレス通信のための装置（２２１）。
［Ｃ２０］  前記セットのフロー状態のうちの各フロー状態が前記装置（２２１）の動作のレベルに対応し、前記決定する手段（２０５）が前記最低レベルの動作を有する前記セットのフロー状態のうちの前記フロー状態を選択することによって前記潜在的フロー状態を決定するように構成される、Ｃ１９に記載の装置。
［Ｃ２１］  前記フロー状態が、アップリンクについての物理層スループットの量、アップリンクについてのメディアアクセス制御（ＭＡＣ）層スループット、アップリンクについてのアプリケーション層スループット、ダウンリンクについての物理層スループットの量、ダウンリンクについてのメディアアクセス制御（ＭＡＣ）層スループットと、ダウンリンクについてのアプリケーション層スループット、帯域幅、拡散率、前記装置（２２１）についての無線リンク制御ウインドウのサイズのうちの少なくとも１つを備える、Ｃ１９に記載の装置。
［Ｃ２２］  前記複数のリソースが、１つまたは複数の記憶装置の記憶容量、計算能力、および熱放散能力のうちの少なくとも２つを備える、Ｃ１９に記載の装置。
［Ｃ２３］  実行されたとき装置（２２１）にワイヤレス通信のための方法を行わせる複数の命令を備えるコンピュータ可読媒体であって、前記方法は、
複数のリソースの各々について利用レベルを取得することと、
前記複数のリソースの各々の各対応利用レベルに少なくとも部分的に基づいて前記装置（２２１）のためのフロー状態のセットを決定することと、
フロー状態の前記セットに少なくとも部分的に基づいて１つの潜在的フロー状態を決定することと、
前記潜在的フロー状態を現在のフロー状態と比較することと、
前記比較に応じて前記装置（２２１）の前記現在のフロー状態を前記潜在的フロー状態に設定することとを含む、コンピュータ可読媒体。
［Ｃ２４］  フロー状態の前記セットの各フロー状態が前記装置（２２１）の動作のレベルに対応し、前記潜在的フロー状態が前記最低レベルの動作を有するフロー状態の前記セットの前記フロー状態を選択することによって決定される、Ｃ２３に記載のコンピュータ可読媒体。
［Ｃ２５］  前記フロー状態が、アップリンクについての物理層スループットの量、アップリンクについてのメディアアクセス制御（ＭＡＣ）層スループット、アップリンクについてのアプリケーション層スループット、ダウンリンクについての物理層スループットの量、ダウンリンクについてのメディアアクセス制御（ＭＡＣ）層スループット、ダウンリンクについてのアプリケーション層スループット、帯域幅、拡散率、および前記装置（２２１）についての無線リンク制御ウインドウのサイズのうちの少なくとも１つを備える、Ｃ２３に記載のコンピュータ可読媒体。
［Ｃ２６］  前記複数のリソースが、１つまたは複数の記憶装置の記憶容量、計算能力、および熱放散能力のうちの少なくとも２つを備える、Ｃ２３に記載のコンピュータ可読媒体。
【図１】
0005547336.tif 000002
【図２】
0005547336.tif 000003
【図３】
0005547336.tif 000004
【図４Ａ】
0005547336.tif 000005
【図４Ｂ】
0005547336.tif 000006
【図５】
0005547336.tif 000007
【図６】
0005547336.tif 000008
【図７】
0005547336.tif 000009