本出願は、本発明の譲受人に譲渡され、その全体が参照により本明細書に組み込まれる、2012年2月29日に出願された「APPARATUS AND METHODS FOR BLOCK ACKNOWLEDGMENT COMPRESSION」と題する米国仮出願第61/605,078号の優先権を主張する。本出願はさらに、本発明の譲受人に譲渡され、その全体が参照により本明細書に組み込まれる、2012年5月4日に出願された「APPARATUS AND METHODS FOR BLOCK ACKNOWLEDGMENT COMPRESSION」と題する米国仮出願第61/642,604号の優先権を主張する。本出願はさらに、本発明の譲受人に譲渡され、その全体が参照により本明細書に組み込まれる、2012年7月16日に出願された「APPARATUS AND METHODS FOR BLOCK ACKNOWLEDGMENT COMPRESSION」と題する米国仮出願第61/672,157号の優先権を主張する。
[0024]添付の図面を参照しながら新規のシステム、装置、および方法の様々な態様について以下でより十分に説明する。ただし、本開示の教示は、多くの異なる形態で実施され得るものであり、本開示全体にわたって提示する任意の特定の構造または機能に限定されるものと解釈すべきではない。むしろ、これらの態様は、本開示が周到で完全になり、本開示の範囲を当業者に十分に伝えるために与えるものである。本明細書の教示に基づいて、本開示の範囲は、本発明の他の態様とは無関係に実装されるにせよ、本開示の他の態様と組み合わせて実装されるにせよ、本明細書で開示する新規のシステム、装置、および方法のいかなる態様をもカバーするものであることを、当業者なら諒解されたい。たとえば、本明細書に記載の態様をいくつ使用しても、装置は実装され得、または方法は実施され得る。さらに、本発明の範囲は、本明細書に記載の本発明の様々な態様に加えてまたはそれらの態様以外に、他の構造、機能、または構造および機能を使用して実施されるそのような装置または方法をカバーするものとする。本明細書で開示する任意の態様が請求項の1つまたは複数の要素によって実施され得ることを理解されたい。
[0025]本明細書では特定の態様について説明するが、これらの態様の多くの変形および置換は本開示の範囲内に入る。好適な態様のいくつかの利益および利点について説明するが、本開示の範囲は特定の利益、使用、または目的に限定されるものではない。むしろ、本開示の態様は、様々なワイヤレス技術、システム構成、ネットワーク、および伝送プロトコルに広く適用可能であるものとし、それらのいくつかを例として、図および好適な態様についての以下の説明において示す。発明を実施するための形態および図面は、本開示を限定するものではなく説明するものにすぎず、本開示の範囲は添付の特許請求の範囲およびそれの均等物によって定義される。
[0026]普及しているワイヤレスネットワーク技術は、様々なタイプのワイヤレスローカルエリアネットワーク(WLAN)を含み得る。WLANは、広く使用されるネットワーキングプロトコルを採用して、近接デバイスを相互接続するために使用され得る。本明細書で説明する様々な態様は、WiFi(登録商標)など、任意の通信規格、またはより一般的には、ワイヤレスプロトコルのIEEE802.11ファミリーの任意のメンバーに適用され得る。たとえば、本明細書で説明する様々な態様は、サブ1GHz帯域を使用するIEEE802.11ahプロトコルの一部として使用され得る。
[0027]いくつかの態様では、サブギガヘルツ帯域中のワイヤレス信号は、直交周波数分割多重(OFDM)、直接シーケンススペクトル拡散(DSSS:direct-sequence spread spectrum)通信、OFDMとDSSS通信との組合せ、または他の方式を使用して、802.11ahプロトコルに従って送信され得る。802.11ahプロトコルの実装は、センサー、メータリング、およびスマートグリッドネットワークのために使用され得る。有利には、802.11ahプロトコルを実装するいくつかのデバイスの態様は、他のワイヤレスプロトコルを実装するデバイスよりも少ない電力を消費し得、および/または比較的長い距離、たとえば約1キロメートル以上にわたってワイヤレス信号を送信するために使用され得る。
[0028]いくつかの態様では、センサーとして使用されるデバイスは、低いデューティサイクルと限られた能力とを有し得る。たとえば、そのようなデバイスは、起動し、媒体アクセス制御(MAC)プロトコルデータユニット(MPDU:MAC protocol data unit)の限られたバーストを送信および/または受信するように構成され得る。そのようなバーストの後に、デバイスは、延長時間期間にわたってスリープ状態に入り得る。さらに、そのようなデバイスは、低い送信レートで送信することのみが可能であり、したがって、大きいパケットを送信するために断片化(fragmentation)を時々必要とし得る。デバイスは限られたバッファ容量をさらに有し得る。
[0029]いくつかの実装形態では、WLANは、ワイヤレスネットワークにアクセスする構成要素である様々なデバイスを含む。たとえば、2つのタイプのデバイス、すなわちアクセスポイント(「AP」)および(局または「STA」とも呼ばれる)クライアントが存在し得る。概して、APはWLANのためのハブまたは基地局として働き、STAはWLANのユーザとして働く。たとえば、STAはラップトップコンピュータ、携帯情報端末(PDA)、モバイル電話などであり得る。一例では、STAは、インターネットまたは他のワイドエリアネットワークへの一般的接続性を取得するためにWiFi(たとえば、802.11ahなどのIEEE802.11プロトコル)準拠ワイヤレスリンクを介してAPに接続する。いくつかの実装形態では、STAはAPとして使用されることもある。
[0030]アクセスポイント(「AP」)はまた、ノードB、無線ネットワークコントローラ(「RNC」)、eノードB、基地局コントローラ(「BSC」)、送受信基地局(「BTS」)、基地局(「BS」)、トランシーバ機能(「TF」)、無線ルータ、無線トランシーバ、または何らかの他の用語を備えるか、それらのいずれかとして実装されるか、あるいはそれらのいずれかとして知られていることがある。
[0031]局(「STA」)はまた、アクセス端末(「AT」)、加入者局、加入者ユニット、移動局、リモート局、リモート端末、ユーザ端末、ユーザエージェント、ユーザデバイス、ユーザ機器、または何らかの他の用語を備えるか、それらのいずれかとして実装されるか、あるいはそれらのいずれかとして知られていることがある。いくつかの実装形態では、アクセス端末は、セルラー電話、コードレス電話、セッション開始プロトコル(「SIP」)電話、ワイヤレスローカルループ(「WLL」)局、携帯情報端末(「PDA」)、ワイヤレス接続機能を有するハンドヘルドデバイス、またはワイヤレスモデムに接続された何らかの他の好適な処理デバイスを備え得る。したがって、本明細書で教示する1つまたは複数の態様は、電話(たとえば、セルラー電話またはスマートフォン)、コンピュータ(たとえば、ラップトップ)、ポータブル通信デバイス、ヘッドセット、ポータブルコンピューティングデバイス(たとえば、個人情報端末)、エンターテインメントデバイス(たとえば、音楽またはビデオデバイス、あるいは衛星ラジオ)、ゲームデバイスまたはシステム、全地球測位システムデバイス、あるいはワイヤレス媒体を介して通信するように構成された他の好適なデバイスに組み込まれ得る。
[0032]上記で説明したように、本明細書で説明するデバイスのいくつかは、たとえば、802.11ah規格を実装し得る。そのようなデバイスは、STAとして使用されるのか、APとして使用されるのか、他のデバイスとして使用されるのかにかかわらず、スマートメータリングのためにまたはスマートグリッドネットワークにおいて使用され得る。そのようなデバイスは、センサーアプリケーションを与えるか、またはホームオートメーションにおいて使用され得る。デバイスは、代わりにまたは追加として、たとえばパーソナルヘルスケアのためにヘルスケアコンテキストにおいて使用され得る。それらはまた、(たとえばホットスポットとともに使用する)範囲拡張インターネット接続性を可能にするため、またはマシーン・ツー・マシーン通信を実装するために、監視のために使用され得る。
[0033]STAおよび/またはAPなどのデバイスは、ワイヤレスネットワークにおいて、互いの間で情報を送信および/または受信する。デバイス間で交換される情報は、いくつかの態様ではデータユニットまたはデータフレームと呼ばれることがあるパケットを備え得る。パケットを受信するデバイスは、パケットの成功した受信を示すために、受信パケットの送信機に確認応答パケット(ACK)をさらに送信し得る。たとえば、APからパケットを受信するSTAは、パケットの成功した受信に確認応答するために、APにACKを送信し得る。これらの確認応答パケットはブロックACKの形態をもとり得る。いくつかの態様では、ブロックACKは、パケットまたはフレームのグループに確認応答するためにデバイスによって使用され得る。たとえば、ブロックACKは、デバイスが、いくつかのパケットまたはフレームの受信に確認応答するために単一のブロックACKを送信する前に、それらのいくつかのパケットまたはフレームを受信することを可能にし得る。これらのブロックACKは、送信のためにかなりの量の帯域幅を使用し得る。いくつかの態様では、ブロックACKは、様々なシステム、方法、およびデバイスを使用して圧縮され得、それにより、ブロックACKによる帯域幅消費量が低減し得る。
[0034]図1に、本開示の態様が採用され得るワイヤレス通信システム100の一例を示す。ワイヤレス通信システム100は、ワイヤレス規格、たとえば802.11ah規格に従って動作し得る。ワイヤレス通信システム100は、STA106と通信するAP104を含み得る。
[0035]様々なプロセスおよび方法は、AP104とSTA106との間の、ワイヤレス通信システム100における伝送のために使用され得る。たとえば、信号は、OFDM/OFDMA技法に従って、AP104とSTA106との間で送信および受信され得る。この場合、ワイヤレス通信システム100はOFDM/OFDMAシステムと呼ばれることがある。代替的に、信号は、CDMA技法に従って、AP104とSTA106との間で送信および受信され得る。この場合、ワイヤレス通信システム100はCDMAシステムと呼ばれることがある。
[0036]AP104からSTA106のうちの1つまたは複数への送信を可能にする通信リンクはダウンリンク(DL)108と呼ばれることがあり、STA106のうちの1つまたは複数からAP104への送信を可能にする通信リンクはアップリンク(UL)110と呼ばれることがある。代替的に、ダウンリンク108は順方向リンクまたは順方向チャネルと呼ばれることがあり、アップリンク110は逆方向リンクまたは逆方向チャネルと呼ばれることがある。さらに、いくつかの態様では、STA106は、互いに直接通信し、互いの間に直接リンク(直接)を形成し得る。
[0037]AP104は、基地局として働き、基本サービスエリア(BSA)102においてワイヤレス通信カバレージを与え得る。AP104は、AP104に関連し、また通信のためにAP104を使用するSTA106とともに、基本サービスセット(BSS)と呼ばれることがある。ワイヤレス通信システム100は、中央AP104を有しないことがあり、むしろ、STA106間のピアツーピアネットワークとして機能し得ることに留意されたい。別の例では、本明細書で説明するAP104の機能は、代替的に、STA106のうちの1つまたは複数によって実行され得る。
[0038]図2に、ワイヤレス通信システム100内で採用され得るワイヤレスデバイス202において利用され得る様々な構成要素を示す。ワイヤレスデバイス202は、本明細書で説明する様々な方法を実装するように構成され得るデバイスの一例である。たとえば、ワイヤレスデバイス202は、AP104を備えるかまたはSTA106のうちの1つを備え得る。
[0039]ワイヤレスデバイス202は、ワイヤレスデバイス202の動作を制御するプロセッサ204を含み得る。プロセッサ204は中央処理ユニット(CPU)と呼ばれることもある。読取り専用メモリ(ROM)とランダムアクセスメモリ(RAM)の両方を含み得るメモリ206は、命令とデータとをプロセッサ204に与える。メモリ206の一部は不揮発性ランダムアクセスメモリ(NVRAM)をも含み得る。プロセッサ204は、一般に、メモリ206内に記憶されたプログラム命令に基づいて論理演算と算術演算とを実行する。メモリ206中の命令は、本明細書で説明する方法を実装するように実行可能であり得る。
[0040]ワイヤレスデバイス202が受信ノードとして実装または使用されるとき、プロセッサ204は、本明細書で説明するフォーマットのうちの1つまたは複数の圧縮ブロックACKを含むパケットを生成するように構成され得る。たとえば、プロセッサ204は、以下でさらに詳細に説明するように、他のパケットの受信に基づいて本明細書で説明するフォーマットのうちの1つまたは複数のブロックACKを生成するように構成され得る。
[0041]ワイヤレスデバイス202が送信ノードとして実装または使用されるとき、プロセッサ204は、本明細書で説明するフォーマットのうちの1つまたは複数のブロックACKを処理するように構成され得る。たとえば、プロセッサ204は、送信された他のパケットに応答して、以下でさらに説明するようにブロックACKを受信し、処理するように構成され得る。
[0042]プロセッサ204は、1つまたは複数のプロセッサとともに実装された処理システムを備えるか、またはそれの構成要素であり得る。1つまたは複数のプロセッサは、汎用マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブル論理デバイス(PLD)、コントローラ、状態機械、ゲート論理、個別ハードウェア構成要素、専用ハードウェア有限状態機械、あるいは情報の計算または他の操作を実行することができる任意の他の好適なエンティティの任意の組合せを用いて実装され得る。
[0043]処理システムは、ソフトウェアを記憶するための機械可読媒体をも含み得る。ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語などの名称にかかわらず、任意のタイプの命令を意味すると広く解釈されたい。命令は、(たとえば、ソースコード形式、バイナリコード形式、実行可能コード形式、または任意の他の好適なコード形式の)コードを含み得る。命令は、1つまたは複数のプロセッサによって実行されたとき、本明細書で説明する様々な機能を処理システムに実行させる。
[0044]ワイヤレスデバイス202はまた、ワイヤレスデバイス202と遠隔ロケーションとの間のデータの送信および受信を可能にするために送信機210および/または受信機212を含み得るハウジング208を含み得る。送信機210と受信機212とは組み合わされてトランシーバ214になり得る。アンテナ216は、ハウジング208に取り付けられ、トランシーバ214に電気的に結合され得る。ワイヤレスデバイス202は、複数の送信機、複数の受信機、複数のトランシーバ、および/または複数のアンテナをも含み得る(図示せず)。
[0045]送信機210は、本明細書で説明するフォーマットのうちの1つまたは複数のブロックACKを含むパケットをワイヤレス送信するように構成され得る。受信機212は、本明細書で説明するフォーマットのうちの1つまたは複数のブロックACKを含むパケットをワイヤレス受信するように構成され得る。
[0046]ワイヤレスデバイス202はまた、トランシーバ214によって受信された信号のレベルを検出し、定量化するために使用され得る信号検出器218を含み得る。信号検出器218は、総エネルギー、シンボルごとのサブキャリア当たりのエネルギー、電力スペクトル密度および他の信号などの信号を検出し得る。ワイヤレスデバイス202はまた、信号を処理する際に使用するためのデジタル信号プロセッサ(DSP)220を含み得る。DSP220は、送信のためにパケットを生成するように構成され得る。いくつかの態様では、パケットは物理レイヤデータユニット(PPDU)を備え得る。
[0047]ワイヤレスデバイス202は、いくつかの態様ではユーザインターフェース222をさらに備え得る。ユーザインターフェース222は、キーパッド、マイクロフォン、スピーカー、および/またはディスプレイを備え得る。ユーザインターフェース222は、ワイヤレスデバイス202のユーザに情報を伝達し、および/またはユーザからの入力を受信する、任意の要素または構成要素を含み得る。
[0048]ワイヤレスデバイス202の様々な構成要素は、バスシステム226によって互いに結合され得る。バスシステム226は、たとえば、データバスを含み、ならびにデータバスに加えて、電力バス、制御信号バス、およびステータス信号バスを含み得る。ワイヤレスデバイス202の構成要素が、何らかの他の機構を使用して、互いに結合されるかあるいは互いに入力を受け付けるかまたは与え得ることを当業者なら諒解されよう。
[0049]図2には、いくつかの別個の構成要素が示されているが、構成要素のうちの1つまたは複数が組み合わせられ得るかまたは共通に実装され得ることを当業者は認識されよう。たとえば、プロセッサ204は、プロセッサ204に関して上記で説明した機能を実装するためだけでなく、信号検出器218および/またはDSP220に関して上記で説明した機能を実装するためにも使用され得る。さらに、図2に示される構成要素の各々は、複数の別個の要素を使用して実装され得る。
[0050]参照しやすいように、ワイヤレスデバイス202が送信ノードとして構成されるとき、それを以下ではワイヤレスデバイス202tと呼ぶ。同様に、ワイヤレスデバイス202が受信ノードとして構成されるとき、それを以下ではワイヤレスデバイス202rと呼ぶ。ワイヤレス通信システム100中のデバイスは、送信ノードの機能のみ、受信ノードの機能のみ、または送信ノードと受信ノードの両方の機能を実装し得る。
[0051]上記で説明したように、ワイヤレスデバイス202は、AP104またはSTA106を備え得、ブロックACKを含む通信を送信および/または受信するために使用され得る。
[0052]ブロックACKは、複数のデータパケットを受信するデバイスが、複数のACKフレームを使用する代わりに単一のブロックAckフレームでそれらの受信に確認応答することを可能にする。たとえば、ブロックACKは、複数のビットをもつビットマップを含み得、各ビットの値は、データパケットのシーケンス中の特定のデータパケットが受信されたか否かを示す。ブロックACKはデータのフレームであり得る。非圧縮ブロックACKは、どのパケットが正常に受信されたか否かにかかわらず、ビットマップ全体が送られることを必要とし、それにより、オーバーヘッドが生じ、貴重な帯域幅が使用され得る。したがって、本明細書では、ブロックACKのサイズを圧縮/低減するためのシステムおよび方法について説明する。いくつかの態様では、ブロックACKがその中で送られるフレームのいくつかのフィールドは、削除されるかまたは変更され得る。そのような態様の追加または代替として、いくつかの態様では、ビットマップは、本明細書で説明する技法に従ってサイズが圧縮されるかまたは低減され得る。
[0053]図3に、基本ブロックACKフレーム300の一例を示す。図示のように、基本ブロックACKフレームは、2オクテットを備えるフレーム制御フィールド305と、2オクテットを備える持続時間フィールド310と、6オクテットを備える受信機アドレスフィールド315と、6オクテットを備える送信機アドレスフィールド320と、2オクテットを備えるブロックACK制御フィールド325と、2オクテットを備える開始シーケンス制御フィールド330と、8または128オクテットを備えるブロックACKビットマップ335と、4オクテットを備えるフレーム検査シーケンスフィールド340とを含む。さらに、ブロックACK制御フィールド325は、ブロックACKポリシーサブフィールド352と、マルチトラフィック識別子(TID:traffic identifier)サブフィールド354と、圧縮ビットマップサブフィールド356と、予約済みサブフィールド358と、TID/NumTIDサブフィールド359とを備える。開始シーケンス制御フィールド330は、予約済み(reserved)サブフィールド362と、開始シーケンス番号サブフィールド364とを備える。したがって、ブロックACKフレーム300は32バイトまたは152バイト長であり得る。
[0054]図4に、マルチTIDブロックACKフレーム400の一例を示す。図示のように、フレーム400は、2オクテットを備えるフレーム制御フィールド405と、2オクテットを備える持続時間フィールド410と、6オクテットを備える受信機アドレスフィールド415と、6オクテットを備える送信機アドレスフィールド420と、2オクテットを備えるブロックACK制御フィールド425と、2オクテットを備えるTID毎情報フィールド430と、2オクテットを備える開始シーケンス制御フィールド435と、8オクテットを備えるブロックACKビットマップ440と、4オクテットを備えるフレーム検査シーケンスフィールド445と、を含む。TID毎情報フィールド430と、開始シーケンス制御フィールド435と、ブロックACKビットマップ440とは、パケットに確認応答するためにブロックACKフレーム400が使用されるTID毎にフレーム中で繰り返される。さらに、ブロックACK制御フィールド425は、ブロックACKフレーム300と同様に、ブロックACKポリシーサブフィールドと、マルチトラフィック識別子(TID)サブフィールドと、圧縮ビットマップサブフィールドと、予約済みサブフィールドと、TID/NumTIDサブフィールドとを備える。開始シーケンス制御フィールド435は、ブロックACKフレーム300と同様に、予約済みサブフィールドと、開始シーケンス番号サブフィールドとを備える。TID毎情報フィールド430は、予約済みサブフィールドと、TIDサブフィールドとを備える。
[0055]図5に、圧縮基本ブロックACKフレーム500の一例を示す。特に、圧縮基本ブロックACKフレーム500は、圧縮基本ブロックACKフレーム500中に含まれないことがあるフィールド上に取消し線を施した基本ブロックACKフレーム300として示されている。たとえば、基本ブロックACKフレーム300について、持続時間フィールド310と、マルチTIDサブフィールド354と、予約済みサブフィールド358と、TID/NumTIDサブフィールド359とのフィールドのうちの1つまたは複数が圧縮基本ブロックACKフレーム500から除外され、それにより、基本ブロックACKフレーム300と比較して圧縮基本ブロックACKフレーム500のサイズが縮小され得る。追加または代替として、ブロックACKビットマップフィールド335は、本明細書で説明する技法のうちの1つの圧縮などによって、圧縮ビットマップを含み得、したがって、ブロックACKビットマップフィールド335の長さは可変であり得および/または使用される技法に基づき得る。追加または代替として、受信機アドレスフィールド315および/または送信機アドレスフィールド320は、グローバルアドレス(たとえば、媒体アクセス制御(MAC)アドレス)の代わりにローカルアドレス(たとえば、アクセス識別子(AID:access identifier))を使用することによって、6オクテット長から2オクテット長に低減され得る。追加または代替として、予約済みサブフィールド362は2ビットに低減され得る。予約済みサブフィールド362の00の値は、そのような態様では、ブロックACKビットマップフィールド335の長さが0であることを示し得、他の値は、ブロックACKビットマップフィールド335に記憶されたビットマップのために使用される圧縮の方法を示し得る。追加または代替として、開始シーケンス番号サブフィールド364は、開始シーケンス番号の最下位ビットを含む複数の下位ビット(the Least Significant Bits)のみを含むことによって低減され得る。低減された開始シーケンス番号の長さは、ブロックACKビットマップフィールド335のサイズに依存し得る。一例として、長さが6ビットのシーケンス番号は、64個のMPDUの複数のブロック同士を区別するのに十分である。
[0056]図6に、基本ACKおよびマルチTIDに適合する圧縮ブロックACKフレーム600の一例を示す。特に、圧縮ブロックACKフレーム600は、圧縮ブロックACKフレーム600中に含まれないことがあるフィールド上に取消し線を施したマルチTIDブロックACKフレーム400として示されている。たとえば、マルチTIDブロックACKフレーム400について、持続時間フィールド410と、ブロックACK制御フィールド425の予約済みサブフィールドと、TID毎情報フィールド430の予約済みサブフィールドとのフィールドのうちの1つまたは複数が圧縮ブロックACKフレーム600から除外され、それにより、マルチTIDブロックACKフレーム400と比較して圧縮ブロックACKフレーム600のサイズが縮小され得る。追加または代替として、ブロックACKビットマップフィールド440は、本明細書で説明する技法のうちの1つの圧縮などによる圧縮ビットマップを含み得、したがって、ブロックACKビットマップフィールド440の長さは可変であり得および/または使用される技法に基づき得る。追加または代替として、受信機アドレスフィールド415および/または送信機アドレスフィールド420は、グローバルアドレス(たとえば、媒体アクセス制御(MAC)アドレス)の代わりにローカルアドレス(たとえば、アクセス識別子(AID))を使用することによって、6オクテット長から2オクテット長に低減され得る。追加または代替として、開始シーケンス制御フィールド435の予約済みサブフィールドは2ビットに低減され得る。予約済みサブフィールドの00の値は、そのような態様では、対応するTIDのブロックACKビットマップフィールド440の長さが0であることを示し得、他の値は、対応するTIDのブロックACKビットマップフィールド440に記憶されたビットマップのために使用される圧縮の方法を示し得る。追加または代替として、開始シーケンス制御サブフィールド435は、開始シーケンス番号の最下位ビットを含む複数の下位ビット(the Lest Significant Bits)のみを含むことによって低減され得る。低減された開始シーケンス番号の長さは、ブロックACKビットマップフィールド440のサイズに依存する。一例として、長さが6ビットのシーケンス番号は、64個のMPDUの複数のブロック同士を区別するのに十分である。
[0057]いくつかの態様では、フレーム300および400などのブロックACKフレームは、フレーム300および400のMACヘッダから物理レイヤ(PHY)ヘッダにいくつかのフィールドを移動することによって圧縮され得る。たとえば、フレーム300の持続時間フィールド310および/またはフレーム制御フィールド305がMACヘッダから削除され得、PHYヘッダにブロックパケット識別子(PID:packet identifier)として6ビットが追加され得る。たとえば、6ビットは、開始シーケンス番号サブフィールド364の最下位ビットを含む下位6ビット(the 6 least significant bits)を備え得、開始シーケンス番号のサイズはブロックACKサイズ(一例では64ビット)に依存する。6ビットの使用は、他の同時ブロックACKフレームおよび/またはOBSS送信でのフォールスポジティブの可能性を低減するので、有益であり得る。同様に、フレーム400の持続時間フィールド410および/またはフレーム制御フィールド405が削除され得る。追加または代替として、フレーム300のブロックACK制御フィールド325がMACヘッダから削除され得、PHYヘッダに、シングルビットのブロックACKポリシーサブフィールドと、シングルビットの圧縮ビットマップサブフィールドと、2ビットの圧縮制御サブフィールドとが追加され得る。圧縮制御サブフィールドの00の値は、そのような態様では、ブロックACKビットマップフィールド335の長さが0であることを示し得、他の値は、ブロックACKビットマップフィールド335に記憶されたビットマップのために使用される圧縮の方法を示し得る。同様に、フレーム400のブロックACK制御フィールド425がPHYヘッダに追加され得る。
[0058]いくつかの態様では、PHYヘッダの信号(SIG)フィールド中のいくつかのビットは、ブロックACKフレームに関係する情報を記憶するために使用され得る。たとえば、図11に、ブロックACKフレームに関係する情報を含むPHYヘッダ1100の一例を示す。PHYヘッダ1100の変調コーディングスキーム(MCS)、巡回冗長検査(CRC)およびテール(TAIL)フィールドは、標準のPHYヘッダと同じビットからなり得る。いくつかの態様では、MCSフィールドのための予約済み値(たとえば、10〜15の値のいずれか)は、PHYヘッダが、ブロックACKフレームに関係する情報を含むことを示すために使用され得る。いくつかの態様では、1MHz PHYヘッダフォーマットを有するPHYヘッダ1100のSIGフィールドの22ビットは、ブロックACKフレームに関係する情報を記憶するために使用され得る。いくつかの態様では、2MHz PHYヘッダフォーマットを有するPHYヘッダ1100のSIGフィールドの34ビットは、ブロックACKフレームに関係する情報を記憶するために使用され得る。SIGフィールドのビットを使用して記憶され得る情報は、ブロックACK ID、(開始シーケンス制御フィールド中に含まれ得る)開始シーケンス番号、ブロックackビットマップ、および/または他の好適なフィールドのうちの1つまたは複数を備え得る。これらのフィールドは、追加の情報(たとえば、モアデータ、ドップラー指示、応答フレームビットなど)を送信機に通信するために受信機によって使用され得る。いくつかの態様では、ブロックACK IDは、ブロックACKがそのために送られているブロックの第1のMPDUから、またはブロックACK要求(BAR:block ACK request)フレームから導出されるシーケンス番号であり得る。たとえば、一実施形態では、ブロックACK IDは、第1のMPDUのスクランブラシードフィールドから導出され得る。一実施形態では、ブロックACK IDフィールドは、ブロックACKがそのために送られているA−MPDUのスクランブラシードから導出され得る。いくつかの態様では、PHYヘッダ1100中に含まれる開始シーケンス番号は、開始シーケンス番号の最下位ビットを含む複数の下位ビット(LSBs:the least significant bits)に基づき得る。一実施形態では、開始シーケンス番号はBARフレームに基づく。一実施形態では、シーケンス番号はブロックの第1のMPDUに基づき得る。たとえば、64個のMPDUのウィンドウ中で開始シーケンス番号を識別するために6つのLSBが使用され得る。
[0059]いくつかの実施形態では、開始シーケンス番号はフレームの識別子として使用され得る。いくつかの実施形態では、開始シーケンス番号はショートブロックAckの唯一の識別子であり得る(すなわち、ブロックAck IDがないことがある)。いくつかの実施形態では、開始シーケンス番号とブロックAck IDとはフレームを一緒に識別し得る。いくつかの態様では、ブロックビットマップは、1MHz PHYプリアンブルのために8ビットを備え得る。いくつかの態様では、ブロックビットマップは、2MHz PHYプリアンブルのために16ビットを備え得る。いくつかの態様では、ブロックビットマップのサイズはSIGフィールド中のビット利用可能性に依存し得る。一実施形態では、ブロックビットマップは8ビット未満であり得る。一実施形態では、ブロックビットマップは8ビットよりも大きくなり得る。
[0060]上記で説明したように、データの送信のためにデータパケットの断片化(fragmentation)が使用され得る。たとえば、断片化は、大きいフレームの再送信を回避するために使用され得る。たとえば、同じ送信機会(TXOP:transmit opportunity)中に複数の断片化されたフレームが送信され得る。さらに、断片化は、低いPHYレートでTXOP中に大きいフレームを送信するために使用され得る(たとえば、TXOP中に1つの断片が送られ得る)。いくつかの態様では、そのような断片は、非圧縮ブロックACKまたは複数のACKを使用して確認応答され得、それはオーバーヘッドを導入し得る。
[0061]いくつかの態様では、(たとえば、本明細書で説明する方法のいずれかによって圧縮された)圧縮(「ショート」とも呼ばれる)ブロックACKは、複数の断片に確認応答するために使用され得る。たとえば、いくつかの態様では、1つの圧縮ブロックACKは、2MHz通信のための最高16個の断片に確認応答するために使用され得る。いくつかの態様では、1つの圧縮ブロックACKは、1MHz通信のための最高8個の断片に確認応答するために使用され得る。
[0062]いくつかの態様では、複数の断片に確認応答する圧縮ブロックACKと、複数のデータパケットに確認応答する圧縮ブロックACKとを区別するために、ACKモードフィールドはブロックACK中に含まれ得る。ACKモードフィールドは、ブロックACKモードを示す(たとえば、ブロックACKが複数のデータパケットに確認応答していることを示す)第1の値、または断片モードを示す(たとえば、ブロックACKが複数の断片に確認応答していることを示す)第2の値を有し得る。いくつかの態様では、圧縮ブロックACKが断片に確認応答している場合、圧縮ブロックACKの開始シーケンス番号は、断片化されているMACサービスデータユニット(MSDU:MAC service data unit)のシーケンス番号であり得る。いくつかの態様では、開始シーケンス番号は、断片化されているMSDUのシーケンス番号の最下位ビットを含む複数の下位ビット(LSBs)であり得るが、ブロックACK IDは開始シーケンス番号の最上位ビットを含む複数の上位ビット(MSBs:the most significant bits)であり得る。別の態様では、ブロックACK IDは、断片化されているMSDUの第1の断片のスクランブラシードから導出され得る。さらに、いくつかのそのような態様では、ブロックビットマップは、異なるパケットの代わりに断片にマッピングするために使用され得る。別の態様では、パケットの発信側および応答側は、ブロックACK追加(ADDBA:add block ACK)要求および/または応答交換中に、バッファサイズを1つのフレームに設定することに同意し得る。この場合、ブロックACKモードと断片モードとの間の区別はバッファサイズに基づいて実行され得る。一例として、バッファサイズが1に設定されるように同意された場合、後続のブロックACKが断片ACKとして解釈されることになる。代わりに、バッファサイズが1よりも大きい場合、ブロックACKは、複数のパケットを参照するものとして解釈される。
[0063]別の実施形態では、確認応答は、確認応答されているデータフレーム中で見つけられた情報に基づいて、ブロックackまたは断片ackとして識別され得る。確認応答されているデータフレームは、ブロックACKが必要とされ、データフレームに関連する断片数が0よりも大きいことを示す場合、応答確認応答は断片ackとして解釈され得る。データフレームの断片数がゼロ(0)である場合、応答フレームはブロックACKとして解釈され得る。
[0064]一実施形態では、ショートACKフレームは同様に区別され得る。この実施形態では、ショートAck、ショートブロックAckおよびショート断片Ackを含むフレームに確認応答する制御応答フレームは、予約済みMCS値に基づいて識別され得る。制御応答ショートACKと、ショートブロックACKと、ショート断片ACKとは、確認応答されているデータフレームに基づいて区別され得る。データフレームが、それが確認応答を必要とすることを示す場合、制御応答は、単一のデータフレームに対する確認応答として解釈され得る。データフレームが、ブロック確認応答が必要とされることを示す場合、制御応答フレームは、複数のフレームに対する確認応答として解釈され得る。
[0065]本明細書で説明するような、任意の好適なタイプのブロックACKフレーム中のブロックACKビットマップフィールド335またはブロックACKビットマップフィールド440などのブロックACKビットマップの圧縮のための様々な技法について、本明細書で説明する。
[0066]一態様では、ブロックACKビットマップは、どのパケットが正しく受信されないかに関する情報を送ることのみによって圧縮される。たとえば、ビットマップは、サイズが(たとえば、シーケンスバイト0〜7における)8バイトであり、フィードバックがそのために必要とされる各パケットに対応するビットを有し得る。1ビットについて1の値は、対応するパケットが正しく受信されないことを示し得る。1ビットについて0の値は、対応するパケットが正しく受信されたことを示し得る。ブロックACKビットマップフィールド中でビットマップの各ビットのために「0」および「1」値のすべてを送る代わりに、最初の「1」または「0」値がどこで発生するかを示すためのオフセットが含まれ得、その場合、発生する最初の「1」または「0」から最後の「1」または「0」値までのビットマップも含まれ得る。たとえば、ビットマップは、値(00000000 10001010 01011100 00000000 00000000 00000000 00000000 00000000)をもつ8バイトを備え得る。したがって、最初および最後の「1」値が示される場合、「1」の値をもつ最初のビットは、1バイトまで遭遇されない。さらに、「1」の値をもつ最後のビットには、2バイトにおいて遭遇される。したがって、ビットマップを圧縮するために、1バイト(2進数で001)である、「1」の最初の値が発生するバイトナンバ(bite number)に対応するオフセット値が選択される。オフセットのために使用されるビット数は、ビットマップが対応するバイトの数に依存する。たとえば、8バイトビットマップは、各バイトをインデックス付けするために少なくとも8つの一意の数を必要とし得、したがって、オフセットを表すために3ビットが使用される。次いで、1の値を含むバイトのビットマップは、バイト1および2を含むブロックACKビットマップフィールド中に含まれる。ブロックACKビットマップフィールドの受信機は、したがって、オフセットを利用して、オフセットによって示されるバイトより前の任意のバイト、およびオフセット+ブロックACKビットマップ中に含まれる任意の追加のバイトの後の任意のバイトがすべて0または1を含むと決定することができる。残りのバイトは、ビットマップ中に示された値を有する。したがって、上記の例では、8バイトビットマップは18ビットに圧縮される。圧縮が1の位置に従って実行されるか0の位置に従って実行されるかを示すために、PHYヘッダ中に追加のビットが含まれ得る。
[0067]別の態様では、ブロックACKビットマップの長さは、1、2、3、または4バイトなどの長さに低減され得、これは、各ブロックACKフレームによってより少数のパケットが確認応答され得ることを意味する。
[0068]別の態様では、ブロックACKビットマップは、ランレングス符号化(RLE:run-length encoding)方法を使用して圧縮され得る。たとえば、ブロックACKビットマップフィールドは、第1のビットが「1」であるか「0」であるかを示す、1ビットの第1のビットサブフィールドを含み得る。次いで、ブロックACKビットマップフィールドは、それぞれ長さNビット(たとえば、10または6ビット)の1つまたは複数のシーケンス長サブフィールドを含み得る。シーケンス長サブフィールドのうちの第1のシーケンス長サブフィールドは、第1のビットと同じである第1のビットにおいて開始するシーケンス中のビット数を示す。次のシーケンス長サブフィールドは、前のシーケンス長サブフィールドのビットと反対の値である前のシーケンス長サブフィールドの後のビット数において開始するシーケンス中のビット数を示す。たとえば、シーケンス11111100000000000110は、第1のビットが「1」であるので、第1のビットサブフィールドにおいて「1」で符号化され得る。第1のシーケンス長サブフィールドは、6つの「1」ビットがあるので、6の値を有し得る。第2のシーケンス長サブフィールドは、前の「1」ビットと反対の値を有する11個の「0」ビットがあるので、11の値を有し得る。第3のシーケンス長サブフィールドは、前の「0」ビットと反対の値を有する2つの「1」ビットがあるので、2の値を有し得る。第4のシーケンス長サブフィールドは、前の「1」ビットと反対の値を有する1つの「0」ビットがあるので、1の値を有し得る。ブロックACKビットマップフィールドの受信機は、次いで、これらの値を使用してビットマップを再生成することができる。
[0069]別の態様では、ブロックACKビットマップフィールドは1つまたは複数のサブビットマップ要素を含むことができる。各要素は、オフセットサブフィールド(たとえば、10ビット)、予約済みサブフィールド(たとえば、1ビット)、長さサブフィールド(たとえば、3ビット)、およびビットマップサブフィールド(たとえば、0〜7バイト)を備え得る。これら複数のサブビットマップ要素は、以下のようにブロックACKビットマップの値を示すためにブロックACKビットマップフィールド中に含まれ得る。各サブビットマップ要素は、ブロックACKビットマップのサブセットまたは一部分のための値を示し得る。オフセットサブフィールドは、サブビットマップ要素がその値を含むブロックACKビットマップの開始からのビットのオフセットを示し得る。予約済みサブフィールドは、サブビットマップ要素のビットマップサブフィールド中のビットマップが反転させられるか否かを示すために使用され得る。長さサブフィールドは、サブビットマップ要素のビットマップサブフィールド中のビットマップのバイトでの長さを示し得る。0の長さは、サブビットマップ要素が、ビットマップサブフィールドを含まず、したがって代わりに、オフセットサブフィールドの値の位置においてビットマップの値を示すことを示し得る。ビットマップサブフィールドは、オフセットサブフィールド値において開始し、長さサブフィールド中の長さにわたって続く、ビットマップの値を含み得る。さらに、ビットマップサブフィールド中にビットマップの一部であり得るトレイリング(trailing)「0」値がある場合、それらはビットマップサブフィールドから省略され得、代わりに暗黙的に0であると仮定され得る。たとえば、シーケンス1111000001010101100000000の場合、シーケンスの「1010101100000000」は、10のオフセットと、1の予約済み値と、1の長さと、「10101011」のビットマップとを有するサブビットマップ要素によって表されるであろう。そのような態様は、ブロックACKによってすべてのパケットが確認応答されるべきであるのとは対照的に、ACKはパケットの一部分のみについて送られ得るというフレキシビリティを与えることに留意されたい。
[0070]別の態様では、ブロックACKビットマップはブロックレベルで符号化され得る。たとえば、ブロックACKビットマップは、等しい長さのいくつかのブロック(たとえば、8オクテット長であるビットマップでは1つのブロック(ショートビットマップの例)、または128オクテット長であるビットマップでは16個のブロック(ロングビットマップの例))に分割され得る。各ブロックはさらにサブブロック(たとえば、それぞれ1オクテット長)に分割され得る。ショートビットマップの場合、各ブロックは、したがって、ブロックビットマップ(たとえば、1オクテット長)と、1つまたは複数のサブブロックビットマップ(たとえば、それぞれ1オクテット長)とを含み得る。ブロックビットマップは、ブロックのどのサブブロックのためにサブブロックビットマップが含まれるかを示し得る。たとえば、ブロックビットマップは、シーケンスで8ビットを含み得る。シーケンスの8ビットは、8つのサブブロックのシーケンスに対応し得る。いずれかのサブブロックが非0値を有する場合、サブブロックビットマップがそのサブブロックのために含まれ得、ブロックビットマップ中の対応するビットは「1」の値を有し得る。サブブロックのすべてのビットの値が「0」である場合、ブロックビットマップ中の対応するビットは「0」の値を有し得、そのサブブロックのためにサブブロックビットマップは含まれない。サブブロックビットマップは、所与のサブブロックのためのビット値を含む。所与のサブブロックのためのサブブロックビットマップがない場合、そのサブブロックのすべてのビットの値は0であると仮定される。したがって、各ブロックは、ブロックビットマップと、1つまたは複数のサブブロックビットマップとによって表される。
[0071]ロングビットマップの場合、各ブロックは、ブロックオフセットと、ブロック制御と、ブロックビットマップと、1つまたは複数のサブブロックビットマップとによって表され得る。ブロックオフセットフィールド(たとえば、4ビット長)は、ブロック制御と、ブロックビットマップと、1つまたは複数のサブブロックビットマップとがどのブロックに関する情報を有するかを示し得る。ブロック制御は、ブロックビットマップと1つまたは複数のサブブロックビットマップとがどのように解釈されるべきかを示し得る。たとえば、ブロック制御の1つの値は、上記で説明したビットマップ符号化など、「通常」のビットマップ符号化を示し得、ブロックビットマップは、ブロックのどのサブブロックのためにサブブロックビットマップが含まれるかを示し、含まれるサブブロックのためのサブブロックビットマップは、所与のサブブロックのためのビット値を含む。ブロック制御の別の値は「単一のパケット」のビットマップ符号化を示し得、この特定のブロック中にただ1つのパケットのためのステータスがある。したがって、ブロックビットマップは、パケットの位置を示すために使用され、サブブロックビットマップは存在しない。ブロック制御の別の値は「逆」ビットマップ符号化を示し得る。符号化方式は、得られたビットマップがさらに逆にされなければならない(すべての「0」は「1」値に、およびその逆も同様である)ことを除いて、「通常」のビットマップ符号化と同じであり得る。
[0072]図7に、圧縮ブロックACKを送信するための方法700の一態様を示す。ブロックACKは、本明細書の教示に基づいて圧縮され得る。ブロックACKは、AP104またはSTA106のいずれかにおいて生成され、ワイヤレスネットワーク100中の別のノードに送信され得る。方法700についてワイヤレスデバイス202rの要素に関して以下で説明するが、本明細書で説明するステップのうちの1つまたは複数を実装するために他の構成要素が使用され得ることを当業者は諒解されよう。
[0073]ブロック704において、1つまたは複数のパケットを受信する。ブロック706において、本明細書で説明する技法(たとえば、ブロックACKのサイズを圧縮することおよび/またはブロックACK中のビットマップを圧縮すること)のうちの1つまたは複数を使用して圧縮されたブロックACKを生成する。生成は、たとえば、プロセッサ204および/またはDSP220によって実行され得る。
[0074]その後、ブロック708において、ブロックACKをワイヤレス送信する。送信は、たとえば、送信機210によって実行され得る。
[0075]図8は、ワイヤレス通信システム100内で採用され得る例示的なワイヤレスデバイス800の機能ブロック図である。デバイス800は、パケットを受信するための受信モジュール804を備える。受信モジュール804は、図7に示したブロック704に関して上記で説明した機能のうちの1つまたは複数を実行するように構成され得る。受信モジュール804は、プロセッサ204および受信機212のうちの1つまたは複数に対応し得る。デバイス800は、ブロックACKを生成するための生成モジュール806をさらに備える。生成モジュール806は、図7に示したブロック706に関して上記で説明した機能のうちの1つまたは複数を実行するように構成され得る。生成モジュール806は、プロセッサ204およびDSP220のうちの1つまたは複数に対応し得る。デバイス800は、生成されたパケットをワイヤレス送信するための送信モジュール808をさらに備える。送信モジュール808は、図7に示したブロック708に関して上記で説明した機能のうちの1つまたは複数を実行するように構成され得る。送信モジュール808は送信機210に対応し得る。
[0076]図9に、ブロックACKを受信し、処理するための方法900の一態様を示す。方法900は、本明細書で説明する任意のタイプのブロックACKを受信し、処理するために使用され得る。パケットは、ワイヤレスネットワーク100中の別のノードからAP104またはSTA106のいずれかにおいて受信され得る。方法900についてワイヤレスデバイス202tの要素に関して以下で説明するが、本明細書で説明するステップのうちの1つまたは複数を実装するために他の構成要素が使用され得ることを当業者は諒解されよう。
[0077]ブロック902において、1つまたは複数のパケットを送信する。送信は、たとえば、送信機210によって実行され得る。
[0078]ブロック904において、送信されたパケットに基づいてブロックACKを受信する。受信は、たとえば、受信機212によって実行され得る。
[0079]さらに、ブロック906において、ワイヤレスデバイス202tがブロックACKを処理する。処理は、たとえば、プロセッサ204、信号検出器218、および/またはDSP220によって実行され得る。
[0080]図10は、ワイヤレス通信システム100内で採用され得る別の例示的なワイヤレスデバイス1000の機能ブロック図である。デバイス1000は、1つまたは複数のパケットを送信するための送信モジュール1002を備える。送信モジュール1002は、図9に示したブロック902に関して上記で説明した機能のうちの1つまたは複数を実行するように構成され得る。送信モジュール1002は、プロセッサ204および送信機210のうちの1つまたは複数に対応し得る。デバイス1000は、ブロックACKをワイヤレス受信するための受信モジュール1004をさらに備える。受信モジュール1004は、図9に示したブロック904に関して上記で説明した機能のうちの1つまたは複数を実行するように構成され得る。受信モジュール1004は受信機212に対応し得る。デバイス1000は、ブロックACKを処理するための処理モジュール1006をさらに備える。処理モジュール1006は、図9に示したブロック906に関して上記で説明した機能のうちの1つまたは複数を実行するように構成され得る。処理モジュール1006は、プロセッサ204、信号検出器218、およびDSP220のうちの1つまたは複数に対応し得る。
[0081]図12に、ワイヤレスネットワークにおいて通信する方法1200の一態様を示す。方法1200についてワイヤレスデバイス202の要素に関して以下で説明するが、本明細書で説明するステップのうちの1つまたは複数を実装するために他の構成要素が使用され得ることを当業者は諒解されよう。
[0082]ブロック1204において、本方法は、物理レイヤヘッダを備える圧縮ブロック確認応答フレームを生成し、物理レイヤヘッダは、ブロック確認応答識別子と、圧縮ブロック確認応答フレームの開始シーケンス番号と、ビットマップとのうちの少なくとも1つを含む。したがって、オーバーヘッドを低減し、受信機などのエネルギー制約付きデバイスの寿命を低減するように、ブロック確認応答(ACK)フレームは、ブロックACKフレームに関係する情報を含む物理(PHY)レイヤヘッダを使用して圧縮され得る。生成することは、たとえば、プロセッサ204および/またはDSP220によって実行され得る。ブロック1206において、本方法は、圧縮ブロックACKフレームを送信することを含む。送信することは、たとえば、送信機210によって実行され得る。
[0083]いくつかの態様では、物理レイヤヘッダは、圧縮ブロックACKフレームが圧縮ブロックACKフレームタイプであることを示す値を有する変調コーディングスキームフィールドを含み得る。たとえば、MCSフィールドのための予約済み値(たとえば、10〜15の値のいずれか)は、PHYヘッダが、ブロックACKフレームに関係する情報を含むことを示すために使用され得る。
[0084]いくつかの態様では、PHYレイヤヘッダの信号(SIG)フィールド中のいくつかのビットが、ブロックACKフレームに関係する情報を記憶するために使用され得る。たとえば、ブロック確認応答識別子と、圧縮ブロックACKフレームの開始シーケンス番号と、ビットマップとのうちの少なくとも1つがPHYレイヤヘッダのSIGフィールドに記憶される。これらのフィールドは、追加の情報(たとえば、モアデータ(More Data)、ドップラー指示、応答フレームビットなど)を送信機に通信するために受信機によって使用され得る。
[0085]いくつかの態様では、ブロックACK識別子は、圧縮ブロック確認応答が送られているブロックの第1のパケットから導出されるシーケンス番号を含み得る。たとえば、ブロックACK IDは、ブロックACKが送られているブロックの第1のMPDUから導出されるシーケンス番号であり得る。いくつかの態様では、ブロックACK識別子は、ブロックACK要求フレームから導出されるシーケンス番号を含む。たとえば、ブロックACK IDは、ブロックACK要求(BAR:block ACK request)フレームから導出されるシーケンス番号であり得る。別の例として、ブロックACK IDは、第1のMPDUのスクランブラシードフィールドから導出されるか、またはブロックACKが送られているA−MPDUのスクランブラシードから導出され得る。
[0086]いくつかの態様では、圧縮ブロックACKフレームの開始シーケンス番号は、開始シーケンス番号の最下位ビットを含む複数の下位ビット(LSBs:least significant bits)のグループに基づき得る。いくつかの態様では、開始シーケンス番号はブロック確認応答要求フレームに基づく。いくつかの態様では、開始シーケンス番号はブロックの第1のMPDUに基づき得る。たとえば、64個のMPDUのウィンドウ中で開始シーケンス番号を識別するために6つのLSBが使用され得る。
[0087]いくつかの態様では、圧縮ブロックACKフレームの開始シーケンス番号は、圧縮ブロックACKフレームの識別子として使用され得る。いくつかの態様では、圧縮ブロックACKフレームの開始シーケンス番号は圧縮ブロックACKフレームの唯一の識別子である。いくつかの態様では、圧縮ブロックACKフレームの開始シーケンス番号と、ブロック確認応答識別子とは、圧縮ブロックACKフレームを識別するために使用される。
[0088]図13は、ワイヤレス通信システム100内で採用され得る例示的なワイヤレスデバイス1300の機能ブロック図である。本デバイス1300は、物理レイヤヘッダを備える圧縮ブロック確認応答フレームを生成するための生成モジュール1304を備え、物理レイヤヘッダは、ブロック確認応答識別子と、圧縮ブロック確認応答フレームの開始シーケンス番号と、ビットマップとのうちの少なくとも1つを含む。生成モジュール1304は、図12に示したブロック1204に関して上記で説明した機能のうちの1つまたは複数を実行するように構成され得る。生成モジュール1304は、プロセッサ204およびDSP220のうちの1つまたは複数に対応し得る。生成モジュール1304はさらに圧縮器(コンプレッサ)に対応し得る。デバイス1300は、圧縮ブロック確認応答フレームを送信するための送信モジュール1306をさらに備える。送信モジュール1306は、図12に示したブロック1206に関して上記で説明した機能のうちの1つまたは複数を実行するように構成され得る。送信モジュール1306は送信機210に対応し得る。
[0089]本明細書で使用する「決定」という用語は、多種多様なアクションを包含する。たとえば、「決定」は、計算、算出、処理、導出、調査、探索(たとえば、テーブル、データベースまたは別のデータ構造での探索)、確認などを含み得る。また、「決定」は、受信(たとえば、情報を受信すること)、アクセス(たとえば、メモリ中のデータにアクセスすること)などを含み得る。また、「決定」は、解決、選択、選定、確立などを含み得る。さらに、本明細書で使用する「チャネル幅」は、帯域幅を包含し得るか、またはいくつかの態様では帯域幅と呼ばれることもある。
[0090]本明細書で使用する、項目のリスト「のうちの少なくとも1つ」を指す句は、単一のメンバーを含む、それらの項目の任意の組合せを指す。一例として、「a、b、またはcのうちの少なくとも1つ」は、a、b、c、a−b、a−c、b−c、およびa−b−cを包含するものとする。
[0091]上記で説明した方法の様々な動作は、(1つまたは複数の)様々なハードウェアおよび/またはソフトウェア構成要素、回路、および/または(1つまたは複数の)モジュールなど、それらの動作を実行することが可能な任意の好適な手段によって実行され得る。概して、図に示すどの動作も、その動作を実行することが可能な対応する機能的手段によって実行され得る。
[0092]本開示に関連して説明した様々な例示的な論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ信号(FPGA)または他のプログラマブル論理デバイス(PLD)、個別ゲートまたはトランジスタ論理、個別ハードウェア構成要素、あるいは本明細書で説明した機能を実行するように設計されたそれらの任意の組合せを用いて実装または実行され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の市販のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装され得る。
[0093]1つまたは複数の態様では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装した場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され得る。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、コンピュータ記憶媒体とコンピュータ通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMまたは他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気ストレージデバイス、あるいは命令またはデータ構造の形態の所望のプログラムコードを搬送または記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびブルーレイ(登録商標)ディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザーで光学的に再生する。したがって、いくつかの態様では、コンピュータ可読媒体は非一時的コンピュータ可読媒体(たとえば、有形媒体)を備え得る。さらに、いくつかの態様では、コンピュータ可読媒体は一時的コンピュータ可読媒体(たとえば、信号)を備え得る。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
[0094]本明細書で開示する方法は、説明した方法を達成するための1つまたは複数のステップまたはアクションを備える。本方法のステップおよび/またはアクションは、特許請求の範囲から逸脱することなく互いに交換され得る。言い換えれば、ステップまたはアクションの特定の順序が指定されない限り、特定のステップおよび/またはアクションの順序および/または使用は特許請求の範囲から逸脱することなく変更され得る。
[0095]説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せで実装され得る。ソフトウェアで実装した場合、機能は1つまたは複数の命令としてコンピュータ可読媒体上に記憶され得る。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD−ROMまたは他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気ストレージデバイス、あるいは命令またはデータ構造の形態の所望のプログラムコードを搬送または記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピーディスク(disk)およびブルーレイディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザーで光学的に再生する。
[0096]したがって、いくつかの態様は、本明細書で提示した動作を実行するためのコンピュータプログラム製品を備え得る。たとえば、そのようなコンピュータプログラム製品は、本明細書で説明した動作を実行するために1つまたは複数のプロセッサによって実行可能である命令を記憶した(および/または符号化した)コンピュータ可読媒体を備え得る。いくつかの態様では、コンピュータプログラム製品はパッケージング材料を含み得る。
[0097]ソフトウェアまたは命令はまた、伝送媒体を介して送信され得る。たとえば、ソフトウェアが、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、伝送媒体の定義に含まれる。
[0098]さらに、本明細書で説明した方法および技法を実行するためのモジュールおよび/または他の適切な手段は、適用可能な場合にユーザ端末および/または基地局によってダウンロードおよび/または他の方法で取得され得ることを諒解されたい。たとえば、そのようなデバイスは、本明細書で説明した方法を実行するための手段の転送を可能にするためにサーバに結合され得る。代替的に、本明細書で説明した様々な方法は、ユーザ端末および/または基地局が記憶手段をデバイスに結合するかまたは与えると様々な方法を得ることができるように、記憶手段(たとえば、RAM、ROM、コンパクトディスク(CD)またはフロッピーディスクなどの物理記憶媒体など)によって提供され得る。さらに、本明細書で説明した方法および技法をデバイスに与えるための任意の他の好適な技法が利用され得る。
[0099]特許請求の範囲は、上記に示した厳密な構成および構成要素に限定されないことを理解されたい。上記で説明した方法および装置の構成、動作および詳細において、特許請求の範囲から逸脱することなく、様々な改変、変更および変形が行われ得る。
[0100]上記は本開示の態様を対象とするが、本開示の他の態様およびさらなる態様は、それの基本的範囲から逸脱することなく考案され得、それの範囲は以下の特許請求の範囲によって判断される。