本出願は、2014年10月3日に出願された「UPLINK DATA FRAGMENTATION FOR MULTI−USER NETWORKS」という表題の米国仮特許出願第62/059,356号(代理人整理番号147143P1)、2014年11月3日に出願された「UPLINK DATA FRAGMENTATION FOR MULTI−USER NETWORKS」という表題の米国仮特許出願第62/074,482号(代理人整理番号147143P2)、および2015年9月30日に出願された「UPLINK DATA FRAGMENTATION FOR MULTI−USER NETWORKS」という表題の米国本特許出願第14/871,888号(代理人整理番号147143)の優先権を主張し、前述の出願の各々の内容の全体が参照により本明細書に明示的に組み込まれる。
[0025]本開示の特定の実装形態が、下で図面を参照して説明される。説明では、共通の特徴は、図面全体にわたって共通の参照番号によって指定される。本明細書で使用される場合、様々な用語が次のように省略され得る:サービスデータユニット(SDU)、プロトコルデータユニット(PDU)、媒体アクセス制御(MAC)、MACサービスデータユニット(MSDU)、MACプロトコルデータユニット(MPDU)、集約されたMACプロトコルデータユニット(A−MPDU)、物理層コンバージェンスプロトコル(PLCP)、PLCPサービスデータユニット(PSDU)、PLCPデータユニット(PPDU)。さらなる省略が本明細書で提供され得る。本明細書で使用される場合、MACサービスデータユニット(MSDU)は代替的に、MAC層サービスデータユニットと呼ばれることがあり、MACプロトコルデータユニット(MPDU)は代替的に、MAC層プロトコルデータユニットと呼ばれることがあり、集約されたMACプロトコルデータユニット(A−MPDU)は代替的に、集約されたMAC層プロトコルデータユニットと呼ばれることがあり、PPDUは代替的に、物理層プロトコルデータユニットと呼ばれることがある。
[0026]図1を参照すると、UL送信機会(TX_OP)の間のアップリンク(UL)データのフラグメント化を可能にするワイヤレス通信システムなどの、システム100のある特定の実装形態が示されている。システム100は、デバイス間のマルチユーザ(MU)ワイヤレス通信をシステム100のデバイスが実行することを可能にするために、ワイヤレスローカルエリアネットワーク(WLAN)として動作することができる。システム100は、「wi−fi」ネットワークなどの米国電気電子学会(IEEE)802.11ネットワークを、または、他のワイヤレス通信プロトコルもしくは規格に従ったワイヤレスネットワークを実装することができる。
[0027]システム100は、第1のデバイス114および第2のデバイス126などの複数のデバイスとのワイヤレス通信を実行するように構成されるアクセスポイント102を含む。ある特定の実装形態では、デバイス114および126は局である。図1に示されるシステム100は、便宜的なものにすぎない。他の実装形態では、システム100は、異なる数およびタイプのデバイスを、異なる位置に含み得る。たとえば、ある代替的な実装形態では、アクセスポイント102の機能は、局などの1つまたは複数のデバイスによって実行されることがあり、システム100は、デバイス間のピアツーピアネットワークとして機能することがある。ある特定の実装形態では、アクセスポイント102およびデバイス114と126は、IEEE802.11a、b、g、n、ac、ad、af、ah、ai、aj、aq、およびax規格などの、1つまたは複数のIEEE802.11規格またはプロトコルに従った、WLANなどのワイヤレスネットワークを実装する。
[0028]システム100は、複数のデバイスの間のマルチユーザ(MU)通信をサポートすることができる。アクセスポイント102およびデバイス114と126は各々、MU通信を実行することができる。たとえば、アクセスポイント102は、デバイス114および126の各々によって受信される、データパケットなどの単一のパケットを送信することができる。単一のパケットは、デバイス114および126の各々に向けられた個々のデータ部分を含み得る。ある特定の実装形態では、アクセスポイント102およびデバイス114と126の各々は、直交周波数分割多元接続(OFDMA)通信を実行し、パケットはOFDMAパケットである。別の特定の実装形態では、アクセスポイント102およびデバイス114と126は多入力多出力(MIMO)通信を実行し、システム100はMU MIMO通信システムである。
[0029]アクセスポイント102は、トリガフレームと、データパケットと、ブロック確認応答(BA)フレームと、他のパケットとを含む複数のアクセスパケットを生成し、システム100の複数のデバイスに送信するように構成され得る。ある特定の実装形態では、アクセスポイント102は、プロセッサ108(中央処理ユニット(CPU)、デジタル信号プロセッサ(DSP)、ネットワーク処理ユニット(NPU)など)と、メモリ110(ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)など)と、ワイヤレスネットワークを介して(1つまたは複数のワイヤレス通信チャネルなどを介して)データを送信して受信するように構成されたワイヤレスインターフェース112とを含む。アクセスポイント102は、MIMO通信を可能にするための、複数のアンテナと追加のワイヤレスインターフェース(図示されず)とを含み得る。アクセスポイント102はまた、データデフラグメントロジック104と、圧縮されていないまたは準圧縮されたBA生成ロジック106などのブロック確認応答生成ロジックとを含む。データデフラグメントロジック104および圧縮されていないまたは準圧縮されたBA生成ロジック106の動作が、本明細書でさらに説明される。ある特定の実装形態では、データデフラグメントロジック104および圧縮されていないまたは準圧縮されたBA生成ロジック106は、プロセッサ108に含まれる。別の特定の実装形態では、データデフラグメントロジック104および圧縮されていないまたは準圧縮されたBA生成ロジック106は、プロセッサ108の外部にある。別の特定の実装形態では、メモリ110に記憶される命令を実行するプロセッサ108は、データデフラグメントロジック104および圧縮されていないまたは準圧縮されたBA生成ロジック106の動作を実行する。
[0030]プロセッサ108などのアクセスポイント102は、複数のデバイスのためのTX_OPをスケジューリングするように構成され得る。たとえば、アクセスポイント102は、第1のデバイス114および第2のデバイス126の1つまたは複数のTX_OPをスケジューリングすることができる。TX_OPは、アクセスポイント102によってデバイス114および126に割り振られる時間期間であり、この時間期間の間に、デバイス114および126は1つまたは複数のワイヤレスチャネルを介してデータを送信するようにスケジューリングされる。TX_OPは、その間にデバイス114および126がULデータをアクセスポイント102に送信するようにスケジューリングされる、UL
TX_OPを含み得る。たとえば、第1のデバイス114および第2のデバイス126は、UL TX_OPの間にデータパケットをアクセスポイント102に(OFDMA、MIMOなどを介して)送信することができる。アクセスポイント102は、デバイス114および126が対応するTX_OPに関する情報を決定することを可能にするために、トリガフレーム140を生成するように構成され得る。たとえば、トリガフレーム140は、第1のデバイス114および第2のデバイス126の1つまたは複数のTX_OPの開始時間と時間長とを示す、同期情報とタイミング情報とを含み得る。アクセスポイント102は、第1のデバイス114および第2のデバイス126にトリガフレーム140を送信することができる。
[0031]デバイス114および126は各々、プロセッサ120などのプロセッサと、メモリ122などのメモリと、ワイヤレスインターフェース124などのワイヤレスインターフェースとを含み得る。デバイス114および126は、MIMO通信を可能にするための、複数のアンテナと追加のワイヤレスインターフェース(図示されず)とを含み得る。デバイス114および126はまた、データ生成ロジック116などのデータ生成ロジックと、データフラグメント化ロジック118などのデータフラグメント化ロジックとを各々含み得る。ある特定の実装形態では、データ生成ロジック116およびデータフラグメント化ロジック118は、プロセッサ120に含まれる。別の特定の実装形態では、データ生成ロジック116およびデータフラグメント化ロジック118は、プロセッサ120の外部にある。別の特定の実装形態では、メモリ122に記憶される命令を実行するプロセッサ120は、データ生成ロジック116およびデータフラグメント化ロジック118の動作を実行する。
[0032]データ生成ロジック116は、アクセスポイント102に送信されるべきULデータを生成するように構成され得る。たとえば、第1のデバイス114のデータ生成ロジック116は、第1のデバイス114および第2のデバイス126の第1のTX_OPの間の第1のデバイス114からアクセスポイント102への送信のために、第1のデータ(第1のULデータなど)を生成することができる。第1のTX_OPは、トリガフレーム140によって示され得る。データ生成ロジック116、またはプロセッサ120、またはこれらの両方も、第1のデータの「サイズ」が第1のTX_OPの「サイズ」を超えるかどうかを決定するように構成され得る。たとえば、TX_OPの間に送信されることが可能な閾値のデータ量は、TX_OPのサイズ(時間長など)と、送信デバイスによって使用される変調およびコーディング方式(MCS)とに基づいて、決定され得る。例示すると、第1のデバイス114によって使用されるMCSは、データ送信の特定のレートに対応し(またはそれを可能にし)、閾値のデータ量は、データ送信の特定のレートと第1のTX_OPの時間長とに基づいて決定され得る。第1のデータのサイズが閾値のデータ量のサイズ(第1のTX_OPのサイズに対応する)を超えないとき、第1のデータは、第1のTX_OPの間にワイヤレスインターフェース124からアクセスポイント102に送信され得る。第1のデータのサイズが閾値のデータ量(第1のTX_OPのサイズに対応する)を超えるとき、第1のデータはデータフラグメント化ロジック118に与えられる。
[0033]データフラグメント化ロジック118は、第1のデータに基づいて複数のデータフラグメントを生成する(第1のデータを「フラグメント化」または分割するなど)ように構成され得る。たとえば、データフラグメント化ロジック118は少なくとも、第1のデータの第1のフラグメント142と第1のデータの第2のフラグメント144とを生成することができる。ある特定の実装形態では、データフラグメント化ロジック118は2つのデータフラグメントを生成する。別の特定の実装形態では、データフラグメント化ロジック118はn個のデータフラグメントを生成し、nは2と16の間の整数である。他の実装形態では、nは異なる数であり得る。データフラグメント化ロジック118は、対応するTX_OPのサイズに基づいて、データフラグメントのサイズを選択し得る。たとえば、データフラグメント化ロジック118は、閾値のデータ量(第1のTX_OPのサイズに対応する)を超えないサイズを有する第1のフラグメント142へと第1のデータを分割する。第1のフラグメント142のサイズは閾値のデータ量を超えないので、第1のフラグメント142を含む第1のデータパケットは、第1のTX_OPの間に送信され、したがって、第1のTX_OPは第1のデバイス114によって未使用にならない(または無駄にされない)。第2のデバイス126は同様に、第1のTX_OPの間に少なくとも1つのデータフラグメントをアクセスポイント102に送信するために、データをフラグメント化し得る。データの送信がMUの文脈で説明されているが、データのフラグメント化はデバイス(たとえば、局)ごとに実行され得る。
[0034]データフラグメント化ロジック118は、(第1のデータの第1のフラグメント142に基づいて)第1のデータパケットを生成し、第1のデータパケットが第1のTX_OPの間にワイヤレスインターフェース124からアクセスポイント102に送信されるようにする。加えて、データフラグメント化ロジック118は、第1のデータの第2のフラグメント144に基づいて第2のデータパケットを生成し、第2のデータパケット(第2のフラグメント144を含む)が第1のTX_OPの後の第2のTX_OPの間にワイヤレスインターフェース124からアクセスポイント102に送信されるようにすることができる。他の実装形態では、データフラグメント化ロジック118は、(第1のフラグメント142が除去された後の)第1のデータの残りのサイズが第2のTX_OPのサイズ(第2のTX_OPのサイズに対応する第2の閾値のデータ量など)を超えると決定し、データフラグメント化ロジック118は、第1のデータの残りを、第2のフラグメント144と、第2のTX_OPの後の1つまたは複数のTX_OPの間に送信されるべき1つまたは複数の他のデータフラグメントとに分割する。
[0035]ある特定の実装形態では、第1のフラグメント142のサイズおよび第2のフラグメント144のサイズは同じであることがある。たとえば、第1のデータは、第1のフラグメント142と第2のフラグメント144とを形成するために、半分に分割され得る。この例では、第1のデータパケットのサイズおよび第2のデータパケットのサイズは同じであり得る。ある特定の実装形態では、第1のデータパケットのサイズおよび第2のデータパケットのサイズは、IEEE802.11規格によって規定される「dot11FragmentationThreshold」(閾値のパケット長など)に基づき得る。別の実装形態では、第1のデータパケットのサイズおよび第2のデータパケットのサイズは同じであるが、第1のフラグメント142のサイズおよび第2のフラグメント144のサイズは異なる。たとえば、第1のフラグメント142のサイズは第2のフラグメント144のサイズより大きいことがある。第1のデータパケットおよび第2のデータパケットに対して同じサイズを維持するために、第2のデータパケットは、図2を参照してさらに説明されるように、第2のフラグメント144に加えてパディング(1つまたは複数のヌル(null)または0のビットなど)を含み得る。他の実装形態では、図3および図4を参照してさらに説明されるように、第1のデータパケットのサイズおよび第2のデータパケットのサイズが異なり、第1のフラグメント142および第2のフラグメント144のサイズが異なる。
[0036]ある特定の実装形態では、第1のデータパケットおよび第2のデータパケットは各々、対応するデータフラグメントに関する情報を(ヘッダなどの中に)含み得る。ある特定の実装形態では、この情報は、シーケンス識別子(ID)番号と、フラグメント番号と、追加フラグメントインジケータとを含む、シーケンス制御フィールドを含む。シーケンスID番号は、第1のデータに対応する固有の番号であり得る。たとえば、第1のデータパケット(第1のフラグメント142を含む)および第2のデータパケット(第2のフラグメント144を含む)は各々、同じシーケンスID番号を示し得る(第1のフラグメント142および第2のフラグメント144が同じデータのデータフラグメントであることを示す)。フラグメント番号は、シーケンスID番号に対応するデータの各フラグメントを表すようにインクリメントされ得る。たとえば、第1のデータパケットによって示されるフラグメント番号は1であり、第2のデータパケットによって示されるフラグメント番号は2である。追加フラグメントインジケータは、対応するデータフラグメントがシーケンスID番号に対応するデータの最後のフラグメントではないとき(送信されるべきさらなるデータフラグメントが残っているときなど)に第1の値を有し、対応するデータフラグメントがデータの最後のフラグメントであるとき(送信されるべきさらなるデータフラグメントが残っていないときなど)に第2の値を有する、単一のビットであり得る。たとえば、第1のデータが2つのデータフラグメントに分割(またはフラグメント化)されるとき、第1のデータパケットの追加フラグメントインジケータは第1の値を有し(第1のフラグメント142が第1のデータの最後のフラグメントではないことを示し)、第2のデータパケットの追加フラグメントインジケータは第2の値を有する(第2のフラグメント144が第1のデータの最後のフラグメントであることを示す)。ある特定の実装形態では、シーケンス制御フィールドの情報(シーケンスID番号、フラグメント番号、追加フラグメントインジケータなど)が、単一ユーザ、単一接続のワイヤレスネットワークにおいてDLデータをフラグメント化するためのIEEE802.11規格によって規定される1つまたは複数のプロトコルに従って形成される。
[0037]ある特定の実装形態では、データフラグメント化ロジック118は、データをフラグメント化してデータフラグメントを送信するために使用されるべき1つまたは複数のデータフラグメントパラメータ(データフラグメントの数m、データユニットの数x、データパケットごとのデータフラグメントの数yなど)を選択するように構成され得る。データフラグメント化ロジック118は、ブロック確認応答(BA)セッション要求において、データフラグメント化パラメータ(m、x、およびyなど)をアクセスポイント102に通信することができる。BAセッション要求は、IEEE802.11規格に従って形成され得る。たとえば、BAセッション要求は、IEEE802.11 ADDBA要求であり得る。別の実装形態では、アクセスポイント102は、パラメータmと、xと、yとを決定することができ、第1のデバイス114および第2のデバイス126などのデバイスによる使用のために、パラメータmと、xと、yとを提供することができる。
[0038]複数のデータフラグメントを処理するために、アクセスポイント102は、データデフラグメントロジック104を含み得る。データデフラグメントロジック104は、デバイス114および126から複数のデータフラグメントを受け取り、デフラグメントされたデータを形成するために、複数のデータフラグメントをデフラグメントするように構成され得る。たとえば、アクセスポイント102は、第1のデータパケット(第1のデータの第1のフラグメント142を含む)と第2のデータパケット(第1のデータの第2のフラグメント144を含む)とを、第1のTX_OPおよび第2のTX_OPの間などの、異なるTX_OPの間に第1のデバイス114から受信することができる。アクセスポイント102は、第1のフラグメント142と第2のフラグメント144とをデータデフラグメントロジック104に提供し得、データデフラグメントロジック104は、アクセスポイント102において第1のデータをデフラグメント(または生成)するために、第1のフラグメント142および第2のフラグメント144に対してデフラグメントを実行することができる。たとえば、第1のデータパケットおよび第2のデータパケットのシーケンス制御フィールド中の情報に基づいて、データデフラグメントロジック104は、第1のフラグメント142および第2のフラグメント144が同じデータ(第1のデータなど)に対応すると決定することができ、データデフラグメントロジック104は、第1のデータを生成するために第1のフラグメント142と第2のフラグメント144とを組み合わせる(combine)ことができる。第1のデータは処理のためにプロセッサ108に与えられ得る。
[0039]複数のデータフラグメントの受信に確認応答するために、アクセスポイント102は、圧縮されていないまたは準圧縮されたBA生成ロジック106を含み得る。圧縮されていないまたは準圧縮されたBA生成ロジック106は、デバイス114および126から受信されたデータフラグメントに基づいて、圧縮されていないまたは準圧縮されたBAフレーム150を生成するように構成され得る。例示的な圧縮されていないBAフレームが、図6および図7を参照して本明細書で説明されている。例示的な準圧縮されたBAフレームが、図8および図9を参照して本明細書で説明されている。ある特定の実装形態では、圧縮されていないまたは準圧縮されたBAフレーム150のフォーマットは、IEEE802.11規格によって規定され得る。
[0040]圧縮されていないまたは準圧縮されたBAフレーム150は、複数のデータフラグメントの受信を示すために、1つまたは複数の圧縮されていないまたは準圧縮されたBAビットマップを含み得る。本明細書で使用される場合、圧縮されていないBAフレームは圧縮されていないBAビットマップを含むフレームを指す。いくつかの実装形態では、圧縮されていないBAフレームは、IEEE802.11規格などのワイヤレス通信規格によって定義されるフォーマットを有し得る。本明細書で使用される場合、準圧縮されたBAフレームは準圧縮されたBAビットマップを含むフレームを指す。いくつかの実装形態では、準圧縮されたBAフレームは、IEEE802.11規格などのワイヤレス通信規格によって定義されるフォーマットを有し得る。圧縮されたBAビットマップは、第1のデバイス114に対応するデータユニットシーケンスの複数のデータユニットのすべて(データユニットのフラグメントではなく)が、アクセスポイント102によって、受信されたか、成功裏に復号されたか、またはこれらの両方であるかを示す、複数のビットを含む。たとえば、3つのデータユニットを有するデータユニットシーケンスに対して、圧縮されたBAビットマップは3つのビットを含み、圧縮されたBAビットマップの各ビットは、複数のデータユニットの対応するデータユニットが受信されたか、復号されたか、またはこれらの両方であるかを示す。複数のデータユニットの各データユニットが受信されたかを示す圧縮されたBAビットマップと比較して、圧縮されていないBAビットマップは、複数のデータユニットの各データフラグメントが受信されたかを示す。準圧縮されたBAビットマップは、複数のデータユニットの、1つまたは複数の、しかしすべてではないデータフラグメントが、アクセスポイント102によって受信されたかどうかを示す、複数のビットを含み得る。圧縮されたBAビットマップと比較すると、準圧縮されたBAビットマップは、データユニットだけを示すのではなく、受信された1つまたは複数のデータフラグメントを示す。本明細書でさらに説明されるように、圧縮されていないBAビットマップと比較すると、準圧縮されたBAビットマップは、複数のデータユニットのすべての各データフラグメントが受信されたかどうかを示さず、準圧縮されたBAビットマップは、圧縮されていないBAビットマップより小さくなり得る。
[0041]第1の圧縮されていないBAビットマップは、第1のデバイス114に対応するデータユニットシーケンスの複数のデータユニットの各データフラグメントが、アクセスポイント102によって、受信されたか、成功裏に復号されたか、またはこれらの両方であるかを示す、複数のビットを含み得る。圧縮されていないまたは準圧縮されたBA生成ロジック106は、第1のデバイス114からの受信されたデータフラグメントに基づいて、第1の圧縮されていないBAビットマップの各ビットの値を設定することができる。たとえば、第1の圧縮されていないBAビットマップの第1のビットは、第1のフラグメント142がアクセスポイント102によって受信されているときに第1の値を有し、第1のビットは、第1のフラグメント142がアクセスポイント102によって受信されていないときに第2の値を有し得る。非限定的な例として、第1のフラグメント142はアクセスポイント102に到達しなかったので、または第1のフラグメント142が送信の間に破損したので、第1のフラグメント142が受信されないことがある。第1の圧縮されていないBAビットマップの第2のビットの値は、第2のフラグメント144がアクセスポイント102において受信されたかどうかに基づいて設定され得る。他の例では、他のビットが第1のデータの他のフラグメントに対応することがあり、ビットの他のセットが第1のデバイス114からアクセスポイント102において受信された他のデータユニットの1つまたは複数のフラグメントに対応することがある。
[0042]準圧縮されたBAビットマップは、複数のデータユニットの、1つまたは複数の、しかしすべてではないデータフラグメントが、アクセスポイント102によって受信されたかどうかを示す、複数のビットを含み得る。準圧縮されたBAビットマップはまた、アクセスポイント102によって受信される1つまたは複数のフラグメント化されていないデータユニットを示し得る。データユニットごとのデータフラグメントの数が限られている場合(1または2など)、受信されたデータフラグメントを特定するために使用されるビットの数は、圧縮されていないBAビットマップを表すために使用されるビットの数より少なくなり得る。たとえば、圧縮されていないBAビットマップは、各データユニットに対する閾値(最大など)の数のデータフラグメントのそれぞれの受信を示すための対応するビットを含み、これは、準圧縮されたBAビットマップにおけるように、1つまたは複数のフラグメント化されていないデータユニットと少数(1つまたは2つなど)のデータフラグメントとを示すことよりも、多くのビットを使用し得る。
[0043]ある特定の実装形態では、圧縮されていないまたは準圧縮されたBAフレーム150は、複数のデバイスに対応する複数の圧縮されていないまたは準圧縮されたBAビットマップを含む。たとえば、圧縮されていないまたは準圧縮されたBAフレーム150は、第1のデバイス114に対応する第1の圧縮されていないまたは準圧縮されたBAビットマップと、第2のデバイス126に対応する第2の圧縮されていないまたは準圧縮されたBAビットマップとを含み得る。この実装形態では、圧縮されていないまたは準圧縮されたBAフレーム150は、第1のデバイス114と第2のデバイス126の両方にアクセスポイント102から送信される。第1のデバイス114および第2のデバイス126の各々は、圧縮されていないまたは準圧縮されたBAフレーム150を受信し、以前に送信されたデータフラグメントがアクセスポイント102によって受信されたかどうかを決定するように構成され得る。少なくとも1つの以前に送信されたデータフラグメントがアクセスポイント102によって受信されていないという決定に基づいて、第1のデバイス114および第2のデバイス126は、少なくとも1つの以前に送信されたデータフラグメントを再送信することができる。たとえば、第1のデバイス114は、第1のフラグメント142に対応する第1の圧縮されていないまたは準圧縮されたBAビットマップのビットが第2の値を有する(第1のフラグメント142がアクセスポイント102によって受信されなかったことを示すなど)か、を決定する。特定のビットが第2の値を有するとき、第1のデバイス114は(たとえばデータフラグメント化ロジック118、プロセッサ120、または両方を介して)、第1のフラグメント142を含む第3のデータパケットを生成し得、第3のデータパケットをアクセスポイント102に送信することができる。
[0044]ある代替的な実装形態では、圧縮されていないまたは準圧縮されたBAフレーム150は、単一の圧縮されていないまたは準圧縮されたBAビットマップ(第1のBAビットマップなど)を含む。この実装形態では、圧縮されていないまたは準圧縮されたBAフレーム150は、第2のデバイス126ではなく第1のデバイス114にアクセスポイント102から送信される。第2のデバイス126に対応する第2の圧縮されていないまたは準圧縮されたBAビットマップを含む第2の圧縮されていないまたは準圧縮されたBAフレームが生成され、第1のデバイス114ではなく第2のデバイス126にアクセスポイント102から送信され得る。この実装形態では、追加の圧縮されていないまたは準圧縮されたBAフレームが、システム100の各々の追加のデバイスに対して生成される。
[0045]動作の間、アクセスポイント102は、トリガフレーム140を生成し、デバイス114および126の各々に送信することができる。ある特定の実装形態では、トリガフレーム140は、第1のTX_OPなどのデバイスの単一のTX_OPを示す。ある代替的な実装形態では、トリガフレーム140は、第1のTX_OPおよび第2のTX_OPなどのデバイスの1つまたは複数のTX_OPを示す。いくつかの実装形態では、図8および図9を参照して説明されるように、第1のデバイス114は、第1のデバイス114によって使用される1つまたは複数のデータフラグメント化パラメータを示すために第1のADDBA要求162をアクセスポイント102に送信し、第2のデバイス126は、第2のデバイス126によって使用される1つまたは複数のデータフラグメント化パラメータを示すために第2のADDBA要求164をアクセスポイント102に送信することができる。ADDBA要求162および164は、任意選択であることがあり、他の実装形態では使用されないことがある。たとえば、データフラグメント化パラメータは、アクセスポイント102の製造の間にメモリ110に記憶され、または他のメッセージを介して通信され得る。
[0046]第1のデバイス114は、第1のデータのサイズが第1のTX_OPのサイズ(第1のTX_OPのサイズに対応する閾値のデータ量など)を超えると決定することができ、第1のフラグメント142を含む第1のデータパケットと第2のフラグメント144を含む第2のデータパケットとを生成し得る。第1のデバイス114は、第1のTX_OPおよび第2のTX_OPの間にそれぞれ、第1のデータパケットおよび第2のデータパケットをアクセスポイント102に送信することができる。加えて、第2のデバイス126は、第2のデータのサイズが第1のTX_OPのサイズ(第1のTX_OPのサイズに対応する閾値のデータ量など)を超えると決定することができ、第2のデータの第1のフラグメント146を含む第3のデータパケットと第2のデータの第2のフラグメント148を含む第4のデータパケットとを生成することができる。第2のデバイス126は、第1のTX_OPおよび第2のTX_OPの間にそれぞれ、第3のデータパケットおよび第4のデータパケットをアクセスポイント102に送信することができる。
[0047]デバイス114および126の少なくとも1つによる少なくとも1つの送信の後で、アクセスポイント102は、1つまたは複数の受信されたデータフラグメントに基づいて、圧縮されていないまたは準圧縮されたBAフレーム150を生成することができる。たとえば、第1のTX_OPは、第2のTX_OPの前に発生し得る。第1のTX_OPの後で、アクセスポイント102は、第1のデータの第1のフラグメント142が受信されているかを示すために、圧縮されていないまたは準圧縮されたBAフレーム150に含まれる、第1の圧縮されていないまたは準圧縮されたBAビットマップの1つまたは複数のビットを設定することができる。ある特定の実装形態では、アクセスポイント102はまた、第2のデータの第1のフラグメント146が受信されているかを示すために、圧縮されていないまたは準圧縮されたBAフレーム150に含まれる、第2の圧縮されていないまたは準圧縮されたBAビットマップの1つまたは複数のビットを設定する。この実装形態では、アクセスポイント102は、第1のデバイス114および第2のデバイス126に圧縮されていないまたは準圧縮されたBAフレーム150を送信する。加えて、アクセスポイント102は、第2のTX_OPの後で、第2の圧縮されていないまたは準圧縮されたBAフレームを生成することができ、アクセスポイント102は、第2の圧縮されていないまたは準圧縮されたBAフレームを第1のデバイス114および第2のデバイス126に送信することができる。ある代替的な実装形態では、アクセスポイント102は、第1のデバイス114に圧縮されていないまたは準圧縮されたBAフレーム150を送信し、第2の圧縮されていないまたは準圧縮されたBAフレームを生成して第2のデバイス126に送信する。この実装形態では、圧縮されていないまたは準圧縮されたBAフレーム150の中の第1の圧縮されていないまたは準圧縮されたBAビットマップの1つまたは複数のビットは、第1のデータの第1のフラグメント142がアクセスポイント102によって受信されているかどうかを示し、第2の圧縮されていないまたは準圧縮されたBAフレームの第2の圧縮されていないまたは準圧縮されたBAビットマップの1つまたは複数のビットは、第2のデータの第1のフラグメント146がアクセスポイント102によって受信されているかどうかを示す。
[0048]したがって、システム100は、IEEE802.11ワイヤレスネットワークを実装するシステムなどのMUワイヤレス通信システムのアクセスポイントにデバイスから送信されるULデータのフラグメント化を実現し得る。ULデータがフラグメント化されるので、ULデータの全体よりもサイズが小さなデータフラグメントは、UL TX_OPのサイズに対応する閾値のデータ量のようなUL TX_OPのサイズをULデータの総サイズが超えるときに送信され得る。ULデータの1つまたは複数の他のフラグメントは、1つまたは複数の後続のUL TX_OPの間に送信され得、ULデータの送信を完了する。このようにして、デバイスは、ULデータの全体を送信するのに十分な時間長を有しないUL TX_OPの間にULデータの一部分(フラグメントなど)を送信することができ、UL TX_OPは未使用にならない。使用されないUL TX_OPを減らすことは、遅延を減らし、ワイヤレス通信システムの効率を上げる。
[0049]図2を参照すると、複数のアップリンクTX_OPの間の送信のためにアップリンクデータをフラグメント化することを示す第1のタイミング図200が示されている。ある例示的な実装形態では、図1を参照して説明されるように、データのフラグメント化が第1のデバイス114のデータフラグメント化ロジック118によって実行され、データフラグメントの送信が第1のTX_OPおよび第2のTX_OPの間に行われ得る。
[0050]ある特定の実装形態では、ULデータのフラグメント化は物理(PHY)層ではなくMAC層において行われる。たとえば、フラグメント化されるべきULデータは、1つまたは複数のMSDUを含み得る。フラグメント化の後で、ヘッダ、プリアンブル、またはこれらの両方などの他の情報が、物理層コンバージェンスプロトコル(PLCP)データユニット(PPDU)を形成するようにMSDU(またはMSDUのフラグメント)の先頭に追加され得る。いくつかの実装形態では、PPDUはデータパケットまたは物理層パケットと呼ばれることがある。たとえば、図1を参照して説明される第1のデータパケットおよび第2のデータパケットはPPDUであり得る。各PPDUはプリアンブルとペイロードとを含み得る。ペイロードは、たとえば、MACヘッダ、他の層のためのデータ、ULデータ、またはこれらの組合せを含み得る。様々な実装形態において、ペイロードに含まれるデータユニットは、MPDU、A−MPDU(一緒に集約される1つまたは複数のMPDUなど)、またはこれらの組合せを含み得る。本明細書でさらに説明されるように、MPDUは、MSDU(またはMSDUのフラグメント)を含み得る。
[0051]図2に示されるように、ULデータはMSDU202を含む。MSDU202は、図1を参照して説明された第1のデータに対応し得る。図2に示されるように、MSDU202のサイズは第1のTX_OPのサイズを超えることがある。第1のTX_OPが(未使用のままではなく)ULデータ送信のために使用されるようにするために、MSDU202は、それぞれ図1の第1のフラグメント142および第2のフラグメント144に対応するフラグメント_1およびフラグメント_2にフラグメント化(または分割)され得る。
[0052]例示すると、第1のTX_OPはサイズxを有し得る。第1のTX_OPのサイズとして説明されているが、図1を参照して説明されるように、xは、第1のデバイス114によって使用されるMCSなどに基づいて、第1のTX_OPの間に送信されることが可能な閾値のデータ量を指し得る。MSDU202のサイズがxを超えないとき、MSDU202は第1のTX_OPの間に送信されることが可能であり、MSDU202のフラグメント化は発生しない。MSDU202のサイズがxを超えるとき、MSDU202はフラグメント化され得る。たとえば、MSDU202は、xを超えないサイズを有するフラグメント_1と、フラグメント_2に分割され得る。ある特定の実装形態では、フラグメント_1のサイズはまた、閾値のパケット長(IEEE802.11規格によって規定されるdot11FragmentationThresholdなど)に基づいて選択される。たとえば、xが閾値のパケット長を超えないとき、フラグメント_1のサイズはxであり得る。xが閾値のパケット長を超えるとき、フラグメント_1のサイズは、xより小さく、閾値のパケット長以下であり得る。他の実装形態では、フラグメント_1のサイズは、xに基づくが、閾値のパケット長に基づかない。
[0053]MSDU202をフラグメント_1およびフラグメント_2にフラグメント化(または分割)した後で、データフラグメントは対応するMPDUに「詰められる」(含められるなど)ことが可能であり、この対応するMPDUは、対応するPPDUに「詰められる」(含められるなど)ことが可能であり、対応するTX_OPの間に送信されることが可能である。例示すると、第1のMPDU204(MPDU_1)はフラグメント_1に基づいて生成(または形成)され得る。たとえば、第1のMPDU204は、MACヘッダとフラグメント_1とを含み得る。第1のPPDU208(PPDU_1)は、第1のMPDU204に基づいて生成(または形成)され得る。たとえば、第1のPPDU208は、プリアンブルと、第1のMPDU204を含むペイロードとを含み得る。ある例示的な実装形態では、図1を参照して説明される第1のデータパケットは第1のPPDU208に対応する。加えて、第2のMPDU206(MPDU_2)はフラグメント_2に基づいて生成(または形成)され得る。たとえば、第2のMPDU206は、MACヘッダとフラグメント_2とを含み得る。第2のPPDU210(PPDU_2)は、第2のMPDU206に基づいて生成(または形成)され得る。たとえば、第2のPPDU210は、プリアンブルと、第2のMPDU206を含むペイロードとを含み得る。ある例示的な実装形態では、図1を参照して説明される第2のデータパケットは第2のPPDU210に対応する。
[0054]図2に示されるように、第1のデバイス114は、アクセスポイント102から第1のトリガフレーム212(図1のトリガフレーム140に対応する)を受信する。第1のトリガフレーム212は、第1のTX_OPに対応するタイミング情報を含み得る。第1のTX_OPの間、第1のデバイス114は第1のPPDU208をアクセスポイント102に送信する。第1のデバイス114は、第1のPPDU208を送信したことに基づいて、アクセスポイント102から第1のBAフレーム214を受信する。一例では、第1のBAフレーム214は、図1の圧縮されていないまたは準圧縮されたBAフレーム150などの、圧縮されていないまたは準圧縮されたBAフレームである。第1のBAフレーム214を受信したことに続いて、第1のデバイス114は、アクセスポイント102から第2のトリガフレーム216を受信する。第2のトリガフレーム216は、第2のTX_OPに対応するタイミング情報を含み得る。第2のTX_OPの間、第1のデバイス114は第2のPPDU210をアクセスポイント102に送信する。第1のデバイス114は、第1のPPDU208を送信したことに基づいて、アクセスポイント102から第2のBAフレーム218を受信する。一例では、第2のBAフレーム218は、圧縮されていないまたは準圧縮されたBAフレームである。
[0055]ある特定の実装形態では、第1のTX_OPのサイズおよび第2のTX_OPのサイズは同じであり、第1のPPDU208および第2のPPDU210のサイズは同じである。しかしながら、フラグメント_1のサイズはフラグメント_2のサイズを超えることがある。この実装形態では、第2のMPDU206のペイロードはフラグメント_2を含み、パディングをさらに含む。たとえば、第2のMPDU206のペイロードは、第2のMPDU206のサイズが第1のMPDU204のサイズと同じになるように、フラグメント_2と1つまたは複数の空のビットとを含み得る。別の特定の実装形態では、MSDU202は、フラグメント_1、1つまたは複数の中間のフラグメント、およびフラグメント_2にフラグメント化され得る(フラグメント_2がMSDU202の最後のフラグメントであり得るなど)。この実装形態では、1つまたは複数の中間のフラグメントのサイズはフラグメント_1のサイズと同じであり、第2のMPDU206に含まれるときにフラグメント_2(最後のフラグメントなど)だけがパディングされる。
[0056]別の特定の実装形態では、第1のTX_OPのサイズおよび第2のTX_OPのサイズは異なる。この実装形態では、フラグメント_2のサイズは第2のTX_OPのサイズに基づいて選択され、第1のPPDU208および第2のPPDU210(図1の第1のデータパケットおよび第2のデータパケットなど)のサイズは、TX_OPの異なるサイズに基づいて異なり得る。PPDU208および210は異なるサイズであり得るので、第1のTX_OPよりサイズが小さな第2のTX_OPは、使用されない第2のTX_OPをもたらさない。
[0057]図2は単一のデバイス(第1のデバイス114など)のためのULデータ送信を示すが、そのような例示が限定的であることは意図されていない。たとえば、他のデバイス(第2のデバイス126など)は同様に、ULデータをフラグメント化して、第1のTX_OPの間、第2のTX_OPの間、または両方の間に、データパケット(少なくとも1つのデータフラグメントを含む)をアクセスポイント102に送信することができる。複数のデバイス(第1のデバイス114および第2のデバイス126など)が、MU通信(OFDMA、MIMOなど)を介してデータパケットをアクセスポイント102に送信することができる。
[0058]図3を参照すると、複数のアップリンクTX_OPの間の送信のためにアップリンクデータをフラグメント化することを示す第2のタイミング図300が示されている。ある例示的な実装形態では、図1を参照して説明されるように、データのフラグメント化が第1のデバイス114のデータフラグメント化ロジック118によって実行されることがあり、データフラグメントの送信が第1のTX_OPおよび第2のTX_OPの間に行われることがある。
[0059]図3は、図1を参照して説明された第1のデータが複数のMSDUを含む場合のデータフラグメント化の例を示す。たとえば、第1のデータは、第1のMSDU302(MSDU_1)と、第2のMSDU304(MSDU_2)と、第3のMSDU306(MSDU_3)とを含み得る。図3に示されるように、第1のMSDU302のサイズは第1のTX_OPのサイズを超えない。しかしながら、第1のMSDU302、第2のMSDU304、および第3のMSDU306の組み合わされたサイズは第1のTX_OPのサイズを超える。
[0060]各TX_OPを効率的に使用するために、データフラグメント化ロジック118は、対応するTX_OPの間の送信のために、1つまたは複数のMSDUと、異なるMSDUのフラグメントとをPPDUに詰める(または含める)ことができる。たとえば、第1のTX_OPはサイズxを有し得る。データフラグメント化ロジック118は、第1のMSDU302のサイズがxを超えないと決定し、第1のMSDU302に基づいて第1のMPDU308(MPDU_1)を生成(または形成)し得、たとえば、第1のMPDU308はMACヘッダと第1のMSDU302とを含み得る。データフラグメント化ロジック118は、xと第1のMPDU308のサイズとの差を計算することなどによって、TX_OPの残りを決定することができる。詰められるべき次のMSDUのサイズがTX_OPの残りのサイズを超えないとき、次のMSDUはMPDUに詰められ、TX_OPの残りのサイズが更新され得る。詰められるべき次のMSDUのサイズがTX_OPの残りのサイズを超えるとき、データフラグメント化ロジック118は次のMSDUをフラグメント化し得る。たとえば、第2のMSDU304は、第2のMSDU304の第1のフラグメントのサイズが第1のTX_OPの残りのサイズを超えないように分割され得る。第2のMPDU310(MPDU_2.1)は、第2のMSDU304の第1のフラグメントに基づいて生成(または形成)され得る(たとえば、第2のMPDU310は、MACヘッダと第2のMSDUの第1のフラグメントとを含み得る)。第1のMPDU308および第2のMPDU310は、第1のA−MPDU(A_MPDU_1)を形成するように一緒に集約され得る。第1のPPDU316は、第1のA−MPDUに基づいて生成(または形成)され得(たとえば、第1のPPDU316はプリアンブルとA_MPDU_1を含むペイロードとを含み得)、第1のTX_OPの間にアクセスポイント102に送信され得る。
[0061]加えて、第3のMPDU312(MPDU_2.2)は第2のMSDU304の第2のフラグメントに基づいて生成(または形成)され得、第4のMPDU314(MPDU_3)は第3のMSDU306に基づいて生成(または形成)され得る。たとえば、第3のMPDU312はMACヘッダと第2のMSDU304の第2のフラグメントとを含み、第4のMPDU314はMACヘッダと第3のMSDU306とを含み得る。第3のMPDU312および第4のMPDU314は、第2のA−MPDU(A_MPDU_2)を形成するように一緒に集約され得る。第2のPPDU318は、第2のA−MPDUに基づいて生成(または形成)され得(たとえば、第2のPPDUはプリアンブルとA_MPDU_2を含むペイロードとを含み得)、第2のTX_OPの間にアクセスポイント102に送信され得る。このようにして、第1のデバイス114からアクセスポイント102に送信されるPPDUは、少なくとも1つの完全なMSDUと異なるMSDUのフラグメントとを含み得る。
[0062]図3は単一のデバイス(第1のデバイス114など)のためのULデータ送信を示すが、そのような例示が限定的であることは意図されていない。たとえば、他のデバイス(第2のデバイス126など)は同様に、ULデータをフラグメント化して、第1のTX_OPの間、第2のTX_OPの間、または両方の間に、データパケット(少なくとも1つのデータフラグメントを含む)をアクセスポイント102に送信し得る。複数のデバイス(第1のデバイス114および第2のデバイス126など)が、MU通信(OFDMA、MIMOなど)を介してデータパケットをアクセスポイント102に送信し得る。
[0063]図4は、異なるMSDUの複数のフラグメントが単一のPPDUに詰められる(または含められる)データフラグメント化の例を示す。ある例示的な実装形態では、第1のデータ(図1の第1のデータに対応するULデータなど)は、第1のMSDU402(MSDU_1)と、第2のMSDU404(MSDU_2)と、第3のMSDU406(MSDU_3)と、第4のMSDU408(MSDU_4)とを含む。図4に示されるように、第1のMSDU402のサイズは第1のTX_OPのサイズを超えない。しかしながら、第1のMSDU402、第2のMSDU404、第3のMSDU406、および第4のMSDU408の組み合わされたサイズは第1のTX_OPのサイズを超える。
[0064]各TX_OPを効率的に使用するために、データフラグメント化ロジック118は、対応するTX_OPの間の送信のために、1つまたは複数の完全なMSDUとMSDUの1つまたは複数のフラグメントとをPPDUに含めることができる。たとえば、第1のTX_OPはサイズxを有し得る。データフラグメント化ロジック118は、第1のMSDU402のサイズがxを超えないと決定し、第1のMSDU402に基づいて第1のMPDU410(MPDU_1)を生成(または形成)し得、たとえば、第1のMPDU410はMACヘッダと第1のMSDU402とを含み得る。データフラグメント化ロジック118は、たとえばxと第1のMSDU402のサイズとの差を計算することなどによって、TX_OPの残りを決定することができる。第2のMSDU404のサイズがTX_OPの残りのサイズを超えるとき、データフラグメント化ロジック118は第2のMSDU404を2つのフラグメントにフラグメント化することができる。第2のMSDU404は、第2のMSDU404の第1のフラグメントのサイズが第1のTX_OPの残りを超えないように分割され得る。第2のMPDU412(MPDU_2.1)は、第2のMSDU404の第1のフラグメントに基づいて生成(または形成)され得、たとえば、第2のMPDU412は、MACヘッダと第2のMSDUの第1のフラグメントとを含み得る。第1のMPDU410および第2のMPDU412は、一緒に集約され、第1のA−MPDU(A_MPDU_1)を形成し得る。第1のPPDU420は、第1のA−MPDUに基づいて生成(または形成)され得(たとえば、第1のPPDU420はプリアンブルとA_MPDU_1を含むペイロードとを含み得)、第1のTX_OPの間にアクセスポイント102に送信され得る。
[0065]第2のTX_OPは、第1のTX_OPのサイズxと異なるサイズyを有し得る。しかしながら、データの残りのサイズ(例えば、第2のMSDU404の第2のフラグメント、第3のMSDU406、および第4のMSDU408)はyを超え得る。第2のTX_OPを効率的に使用するために、データフラグメント化ロジック118は、第2のTX_OPの間に送信されるべき複数のデータフラグメントをPPDUに詰める(たとえば含める)ことができる。例示すると、第3のMPDU414(MPDU_2.2)は第2のMSDU404の第2のフラグメントに基づいて生成(または形成)され、第4のMPDU416(MPDU_3)は第3のMSDU406に基づいて生成(または形成)され得る。たとえば、第3のMPDU414はMACヘッダと第2のMSDU404の第2のフラグメントとを含み、第4のMPDU416はMACヘッダと第3のMSDU406とを含み得る。
[0066]加えて、第4のMSDU408は、2つ(またはそれより多く)のデータフラグメントにフラグメント化(または分割)され得る。第4のMSDU408は、第2のTX_OPの残りのサイズ、たとえば、第2のMSDU404の第2のフラグメントおよび第3のMSDU406のが送信される後の第2のTX_OPの残り、を第4のMSDU408の第1のフラグメントのサイズが超えないように、分割され得る。第5のMPDU418(MPDU_4.1)は、第4のMSDU408の第1のフラグメントに基づいて生成(または形成)され得る(たとえば、第5のMPDU418は、MACヘッダと第4のMSDU408の第1のフラグメントとを含み得る)。第3のMPDU414、第4のMPDU416、および第5のMPDU418は、一緒に集約され、第2のA−MPDU(A_MPDU_2)を形成する。第2のPPDU422は、第2のA−MPDUに基づいて生成(または形成)され得(たとえば、第2のPPDU422はプリアンブルとA_MPDU_2を含むペイロードとを含み得)、第2のTX_OPの間にアクセスポイント102に送信され得る。第4のMSDU408の残りの(1つまたは複数の)フラグメントは、後続のTX_OPの間に送信され得る。ある特定の実装形態では、PPDUの中の最初のMPDU(第3のMPDU414のような)および最後のMPDU(第5のMPDU418のような)はMSDUのフラグメントを含むことが可能であり、中間のMPDU(第4のMPDU416のような)はMSDUのフラグメントを含まない。このようにして、第1のデバイス114からアクセスポイント102に送信されるPPDUは、異なるMSDUの複数のフラグメントを含み得る。
[0067]図4は単一のデバイス(第1のデバイス114など)のためのULデータ送信を示すが、そのような例示が限定的であることは意図されていない。たとえば、他のデバイス(第2のデバイス126など)が同様に、ULデータをフラグメント化して、第1のTX_OPの間、第2のTX_OPの間、または両方の間に、データパケット(複数のデータフラグメントを含む)をアクセスポイント102に送信し得る。複数のデバイス(第1のデバイス114および第2のデバイス126など)が、MU通信(OFDMA、MIMOなど)を介してデータパケットをアクセスポイント102に送信し得る。
[0068]図5を参照すると、ULデータのフラグメント化を実行する例示的な方法500が示されている。例示的な実装形態では、方法500は、図1の第1のデバイス114のデータフラグメント化ロジック118によって実行される。別の特定の実装形態では、フラグメント化エンジンまたはモジュールは、図1の第1のデバイス114のメモリ122に記憶され、方法500のステップを実行するようにプロセッサ120によって実行可能である。
[0069]方法500は、502において、TX_OPの間に送信されるべきデータの1つまたは複数のMSDUを受信することを含む。たとえば、ULデータの1つまたは複数のMSDUは、待ち行列に入れられ、データフラグメント化ロジック118に提供され得る。方法500は、504において、PPDUに含めるためのMSDUのサイズを決定することを含む。たとえば、PPDUは、TX_OPの間に図1のアクセスポイント102に送信されるべきデータパケットに対応し得る。PPDUは、TX_OPの間に送信されることが可能な最大の閾値サイズを有するように選択され得る。
[0070]方法500は、506において、MSDUがPPDUの残りに納まるかどうかを決定することを含む。たとえば、データフラグメント化ロジック118は、MSDUがPPDUに納まるかどうかを決定するために、MSDUのサイズをPPDUの残りのサイズ(閾値のサイズと、PPDUにすでに「詰められている」あらゆるMPDUのサイズとの差など)を比較することができる。
[0071]MSDUがPPDUに納まるとき、方法500は508に続き、そこでMSDUがPPDUに詰められる。方法500は、510において、まだPPDUに詰められていない(または含められていない)MSDUがあるかどうかを決定することを含む。少なくとも1つのMSDUが残っているとき、512において残りのPPDUサイズが更新され(たとえば、以前の残りのPPDUサイズとMSDUを含むMPDUのサイズとの差が決定され)、方法は504に戻り、そこでPPDUに含めるための次のMPDUのサイズが決定される。MSDUが残っていないとき、方法500は518に続く。
[0072](506において決定されるように)MSDUがPPDUに収まらないとき、方法500は514に続き、そこでMSDUはPPDUの残りに納まるようにフラグメント化される。たとえば、MSDUは、PPDUの残りの納まるようなサイズである第1のフラグメントを含む複数のフラグメントへとフラグメント化(または分割)され得る。方法500は、516において、MSDUの第1のフラグメントを最後のMPDUに詰めることを含む。動作500は次いで、518に進む。
[0073]方法500は、518において、(1つまたは複数の)MPDUを、集約されたMPDU(A−MPDU:aggregated MPDU)に集約して、A−MPDUをPPDUに詰めることを含む。たとえば、1つまたは複数のMSDUを含む1つまたは複数のMPDU、MPDUの1つまたは複数のフラグメント、またはこれらの組合せが、単一のA−MPDUに集約され、当該A−MPDUはPPDUに詰められる(たとえば、A−MPDUはPPDUのペイロードに含められる)。PPDUは、TX_OPの間にアクセスポイント102に送信される。PPDUの生成および送信の後にさらなるデータが待ち行列に残っている場合、1つまたは複数のさらなるPPDUが、1つまたは複数の後続のTX_OPの間の送信のために方法500を使用して生成され得る。
[0074]方法500のパフォーマンスを例示するために、方法500の動作は図4の例示的な実装形態を参照して説明される。MSDU402〜408は、待ち行列に入れられ、データフラグメント化ロジック118に提供される。データフラグメント化ロジック118は、第1のMSDU402のサイズを(第1のTX_OPのサイズを超えない閾値のサイズを有する)第1のPPDU420のサイズと比較する。第1のMSDU402が第1のPPDU420に納まるという決定に基づいて、第1のMSDU402は第1のMPDU410に詰められる。一態様では、第1のMSDU402が第1のPPDU420に納まるという決定は、第1のPPDU420のサイズに対する第1のMSDU402のサイズの比較に基づき得る。第1のPPDU420の残りのサイズは、第1のMPDU410のサイズに基づいて更新され、データフラグメント化ロジック118は、第2のMSDU404が第1のPPDU420の残りに納まるかどうかを決定する。第2のMSDU404が第1のPPDU420の残りに納まらないという決定に基づいて、第2のMSDU404がフラグメント化され、第2のMSDU404の第1のフラグメントが生成され(第1のフラグメントは第1のPPDU420の残りに納まるサイズを有する)、第2のMSDUの第1のフラグメントは第2のMPDU412に詰められる。第1のMPDU410および第2のMPDU412はA−MPDU_1に集約され、A−MPDU_1は第1のPPDU420に詰められ、第1のPPDU420は第1のTX_OPの間にアクセスポイント102に送信される。
[0075]第1のPPDU420の送信(および第1のBAフレームの受信)の後で、第2のMSDU404の第2のフラグメント、第3のMSDU406、および第4のMSDU408は、潜在的なフラグメント化のために、および送信のために、待ち行列に残っている。データフラグメント化ロジック118は、第2のMSDU404の第2のフラグメントのサイズを(第2のTX_OPのサイズを超えない閾値のサイズを有する)第2のPPDU422のサイズと比較する。
[0076]第2のMSDU404の第2のフラグメントが第2のPPDU422に納まるという決定に基づいて、第2のMSDU404の第2のフラグメントは第3のMPDU414に詰められる。一態様では、第2のMSDU404の第2のフラグメントが第2のPPDU422に納まるという決定は、第2のMSDU404と第2のPPDU422の比較に基づき得る。第2のPPDU422の残りのサイズは、第3のMPDU414のサイズに基づいて更新され、データフラグメント化ロジック118は、第3のMSDU406が第2のPPDU422の残りに納まるかどうかを決定する。第3のMSDU406が第2のPPDU422の残りに納まるという決定に基づいて、第3のMSDU406は第4のMPDU416に詰められる。第2のPPDU422の残りのサイズは、第4のMPDU416のサイズに基づいて更新され、データフラグメント化ロジック118は、第4のMSDU408が第2のPPDU422に納まるかどうかを決定する。
[0077]第4のMSDU408が第2のPPDU422の残りに納まらないという決定に基づいて、第4のMSDU408がフラグメント化され、第4のMSDU408の第1のフラグメントが生成され(第1のフラグメントは第2のPPDU422の残りに納まるサイズを有する)、第4のMSDUの第1のフラグメントは第5のMPDU418に詰められる。第3のMPDU414、第4のMPDU416、および第5のMPDU418はA−MPDU_2に集約され、A−MPDU_2は第2のPPDU422に詰められ、第2のPPDU422は第2のTX_OPの間にアクセスポイント102に送信される。第4のMSDU408の残りの(1つまたは複数の)フラグメントは、後続のTX_OPの間に送信される。したがって、方法500は、異なるMSDUの最大で2つのフラグメントが1つのTX_OPの間に送信される単一のPPDUに含められることを可能にすることで、TX_OPの効率的な使用を可能にする。
[0078]図6は、圧縮されていないBAビットマップを含む圧縮されていないBAフレーム600の例を示す。ある例示的な実装形態では、圧縮されていないBAフレーム600は、図1の圧縮されていないまたは準圧縮されたBAフレーム150に対応し、アクセスポイント102の圧縮されていないまたは準圧縮されたBA生成ロジック106によって生成される。別の特定の実装形態では、圧縮されていないBAフレーム600は、メモリ110に記憶されている命令をアクセスポイント102のプロセッサ108が実行することによって生成される。
[0079]圧縮されていないBAフレーム600は、フレーム制御フィールド602と、時間長/識別情報フィールド(時間長/IDフィールド)604と、受信機アドレス(RA)フィールド606と、送信機アドレス(TA)フィールド608と、BA制御フィールド610と、BA情報フィールド612と、フレーム検査シーケンス(FCS)フィールド614とを含む。フレーム制御フィールド602、時間長/IDフィールド604、RAフィールド606、およびTAフィールド608は、圧縮されていないBAフレーム600のMACヘッダを形成することができ、IEEE802.11規格によって規定される情報を格納することができる。BA制御フィールド610は、BA確認応答(ACK)ポリシービットなどのACKポリシービット616と、マルチトラフィック識別子(multi−TID)ビット618と、ビットマップ圧縮ビット620と、予備ビットのセット622と、TID情報(TID_INFO)ビットのセット624とを含み得る。ACKポリシービット616は、圧縮されていないBAフレーム600への応答が送信されるべきかどうかを示すことができ、multi−TIDビット618は、圧縮されていないBAフレーム600が複数のTIDに対応するかどうかを示すことができ、ビットマップ圧縮ビット620は、BA情報フィールド612に含まれるBAビットマップが圧縮されているか圧縮されていないかを示すことができ、TID_INFOビット624はトラフィック識別子情報を示すことができる。
[0080]ある特定の実装形態では、ビットマップ圧縮ビット620の値は、圧縮されていないビットマップがBA情報フィールド612に含まれることを示すために0に設定される。ある代替的な実装形態では、ビットマップ圧縮ビット620の値は、圧縮されていないビットマップがBA情報フィールド612に含まれることを示すために1に設定される。加えて、予備ビットのセット622の1つまたは複数が、圧縮されていないBAフレーム600によって確認応答される各MSDUが分割されるフラグメントの数を示すために使用され得る。たとえば、図1のシステム100のデバイス114および126は、MSDUをm個のデータフラグメントにフラグメント化(または分割)することができ、mは予備ビットのセット622の1つまたは複数のビットによって表され得る。ある特定の実装形態では、mは2と16の間の数である(たとえば、MSDUは最大で16個のフラグメントにフラグメント化され得る)。他の実装形態では、mは別の数であり得る。
[0081]BA情報フィールド612は、可変長フィールドであり、開始シーケンス制御ビット626および圧縮されていないBAビットマップ628のセットを含み得る。開始シーケンス制御ビット626のセットは、システム100)などのワイヤレス通信システムの特定のデバイスから受信されるMSDUのセットを特定し、またはその順序を示すことができる。加えて、または代替的に、m個のデータフラグメントは、開始シーケンス制御ビットのセット626の1つまたは複数のビットによって表され得る(またはシグナリングされ得る)。圧縮されていないBAビットマップ628は、開始シーケンス制御ビットのセット626によって特定されるMSDUのデータフラグメントの受信の確認応答を与え得る。圧縮されていないBAビットマップ628は、MSDUのセットの各データフラグメントが図1のアクセスポイント102などのアクセスポイントによって受信されているかどうかを示す、複数のビットを含む。
[0082]例示すると、mが2であり、2つのMSDUが圧縮されていないBAビットマップ628によって確認応答されるとき、圧縮されていないBAビットマップ628ビットマップの最初のビットは、第1のMSDUの第1のフラグメントが受信されたかどうかを示し、圧縮されていないBAビットマップ628の2番目のビットは、第1のMSDUの第2のフラグメントが受信されたかどうかを示し、圧縮されていないBAビットマップ628の3番目のビットは、第2のMSDUの第1のフラグメントが受信されたかどうかを示し、圧縮されていないBAビットマップ628の4番目のビットは、第2のMSDUの第2のフラグメントが受信されたかどうかを示すことができる。この例では、開始シーケンス制御ビットのセット626は、第1のMSDUと第2のMSDUとを順番に特定することができる。他の例では、他の数のMSDUが、開始シーケンス制御ビットのセット626によって特定されることがあり、圧縮されていないBAビットマップ628のビットのセットが、各MSDUの各フラグメントが受信されたかどうかを示すことがある。ある特定の実装形態では、圧縮されていないBAビットマップ628は、64個のMSDUのフラグメントの受信に確認応答するように構成される。この実装形態では、圧縮されていないBAビットマップ628のサイズは8×mオクテット(バイトなど)である。他の実装形態では、より多数または少数のMSDUのフラグメントの受信が確認応答され得、圧縮されていないBAビットマップ628は異なるサイズを有することがある。
[0083]図6に示される圧縮されていないBAフレーム600は、システム100において使用され得る圧縮されていないBAフレームの例であり、限定的であると見なされるべきではない。他の実装形態では、図6に示されていない1つまたは複数のフィールドまたはビットが、圧縮されていないBAフレーム600に含まれることがあり、示されているフィールドまたはビットの1つまたは複数が省略されることがある。図6に示される実装形態では、圧縮されていないBAフレーム600は単一の圧縮されていないBAビットマップ628を含む。したがって、圧縮されていないBAフレーム600は、アクセスポイント102からシステム100の単一のデバイスに送信され得る。システム100の他のデバイスからのデータの受信に確認応答するために、アクセスポイント102は、他の圧縮されていないBAビットマップを含む他の圧縮されていないBAフレームを生成し、他の圧縮されていないBAフレームを他のデバイスに送信することができる。
[0084]図7は、複数の圧縮されていないBAビットマップを含む圧縮されていないBAフレーム700の例を示す。圧縮されていないBAフレーム700は、MUワイヤレス通信システムの複数のデバイスへMUワイヤレス通信システムのアクセスポイントによって送信され得る。たとえば、圧縮されていないBAフレーム700は、OFDMA通信、MIMO通信、または何らかの他のマルチユーザ通信として送信され得る。ある例示的な実装形態では、圧縮されていないBAフレーム700は、図1の圧縮されていないまたは準圧縮されたBAフレーム150に対応し、アクセスポイント102の圧縮されていないまたは準圧縮されたBA生成ロジック106によって生成される。別の特定の実装形態では、圧縮されていないBAフレーム700は、メモリ110に記憶されている命令をアクセスポイント102のプロセッサ108が実行することによって生成される。
[0085]圧縮されていないBAフレーム700は、図6を参照して説明されるように、フィールド602〜614とビット616〜624とを含む。しかしながら、圧縮されていないBAフレーム700において、m(特定のデバイスから受信される各MSDUの分割先であるフラグメントの数など)は、予備ビットのセット622の1つまたは複数のビットによって表されない。加えて、圧縮されていないBAフレーム700のBA情報フィールド612は、圧縮されていないBAフレーム600のBA情報フィールド612と異なる。
[0086]図7において、BA情報フィールド612は、可変長フィールドであることがあり、STA毎情報ビットのセット702、BA開始シーケンス制御ビットのセット704、および、アクセスポイント102がそこからのデータ送信の受信に確認応答するシステム100の各デバイスのための圧縮されていないBAビットマップ706であり得る。たとえば、アクセスポイント102は、局などのn個のデバイスからデータ送信を受信することができ、BA情報フィールド612は、ビット702および704のn個のセットと、n個の圧縮されていないBAビットマップ706とを含み得る。STA毎情報ビットのセット702は、予備(reserved)ビットのセット708とTID値ビットのセット710とを含み得る。TID値ビットのセット710は、トラフィック識別子の値を示し得る。予備ビットのセット708の1つまたは複数は、特定のデバイスから受信される各MSDUが分割されるフラグメントの数のようなmを表すために使用され得る。
[0087]BA開始シーケンス制御ビットのセット704は、ワイヤレス通信システム(システム100など)の特定のデバイスから受信されるMSDUを特定することができ、MSDUのセットの順序 圧縮されていないBAビットマップ706、またはこれらの両方を示し得る。圧縮されていないBAビットマップ706は、BA開始シーケンス制御ビットのセット704によって特定されるMSDUのデータフラグメントの受信の確認応答を与え得る。圧縮されていないBAビットマップ706は、MSDUのセットの各データフラグメントが図1のアクセスポイント102などのアクセスポイントによって受信されているかどうかを示す、複数のビットを含む。
[0088]圧縮されていないBAフレーム600のBA情報フィールド612(これは開始シーケンス制御ビット626と単一の圧縮されていないBAビットマップ628との単一のセットを含む)とは対照的に、圧縮されていないBAフレーム700のBA情報フィールド612は、圧縮されていないBAフレーム700の各受信者のための、STA毎情報ビットのセット702と、BA開始シーケンス制御ビットのセット704と、圧縮されていないBAビットマップ706とを含む。例示すると、圧縮されていないBAフレーム700が第1のデバイス114および第2のデバイス126へアクセスポイント102によって送信されるとき、圧縮されていないBAフレーム700は、第1のデバイス114に対応する、STA毎情報ビットのセット702と、BA開始シーケンス制御ビットのセット704と、圧縮されていないBAビットマップ706とを含む、第1のグループを含む。圧縮されていないBAフレーム700はまた、第2のデバイス126に対応する、STA毎情報ビットのセット702と、BA開始シーケンス制御ビットのセット704と、圧縮されていないBAビットマップ706とを含む、第2のグループを含む。
[0089]どの圧縮されていないBAビットマップ706が各受信者デバイスに対応するかを特定するために、予備ビットのセット708の1つまたは複数のビットが、対応するデバイスの局関連付け識別子(STA AID:station association identifier)を示すために使用され得る。たとえば、アクセスポイント102との関連付けの間に、各デバイス(デバイス114および126など)は、アクセスポイント102によってSTA AIDを割り当てられ得る。アクセスポイント102は、予備ビットのセット708の1つまたは複数のビットにSTA AIDを含め、後続の圧縮されていないBAビットマップ706が当該STA AIDを有するデバイスに対応することを示す。加えて、予備ビットのセット708の1つまたは複数のビットは、対応するデバイスに関するmの値を示すために使用され得る。たとえば、(デバイス114および126の)各デバイスは、(複数の)MSDUを異なる数のフラグメント(mの異なる値に対応する)に分割することができ、各デバイス(および各々の圧縮されていないBAビットマップ706)に対応するmの値が、予備ビットのセット708の1つまたは複数のビットによって示され得る。
[0090]BA情報フィールド612のサイズは、m(特定のデバイスから受信された各MSDUが分割されるフラグメントの数など)および受信者デバイスの数nに依存し得る。ある特定の実装形態では、各々の圧縮されていないBAビットマップ706のサイズは8×mオクテット(バイトなど)である。STA毎情報ビットのセット702のサイズは2オクテット(バイトなど)であり、BA開始シーケンス制御ビットのセット704のサイズは2オクテット(バイトなど)であることがある。したがって、特定の実装形態では、BA情報フィールド612のサイズは、(4+8×m)×nオクテット(バイトなど)である。他の実装形態では、圧縮されていないBAビットマップ706はより多数または少数のMSDUのデータフラグメントの受信を示すことがあり、圧縮されていないBAビットマップ706(およびBA情報フィールド612)は異なるサイズを有することがある。ある特定の態様では、局のすべてがmについて同じ値を有することがあり、mは予備ビットのセット622の1つまたは複数のビットによって表され得る。ある特定の態様では、単一のTIDが使用されることがあり、mは1つまたは複数のビットTID値ビット710によって表され得る。
[0091]図7に示される圧縮されていないBAフレーム700は、システム100において使用され得る圧縮されていないBAフレームの例であり、限定的であると見なされるべきではない。他の実装形態では、図7に示されていない1つまたは複数のフィールドまたはビットが、圧縮されていないBAフレーム700に含まれることがあり、示されているフィールドまたはビットの1つまたは複数が省略されることがある。図7に示される実装形態では、圧縮されていないBAフレーム700は、異なる受信機デバイスに対応する複数の圧縮されていないBAビットマップ706を含む。したがって、圧縮されていないBAフレーム700は、システム100の複数のデバイス(デバイス114および126など)にアクセスポイント102からMU通信として送信され得る。単一の圧縮されていないBAフレーム700を複数のデバイスに送信することは、ワイヤレス通信ネットワークにおけるオーバーヘッドを減らし得る。
[0092]図8は、単一の準圧縮されたBAビットマップを含む準圧縮されたBAフレーム800の例を示す。準圧縮されたBAフレーム800は、アクセスポイントによって、またはワイヤレスネットワークの局などのデバイスによって送信され得る。たとえば、準圧縮されたBAフレーム800は、MUワイヤレス通信システムの局などの1つまたは複数のデバイスへMUワイヤレス通信システムのアクセスポイントによって送信され得る。ある特定の実装形態では、準圧縮されたBAフレーム800は、OFDMA通信、MIMO通信、または何らかの他のマルチユーザ通信の一部として送信され得る。ある例示的な実装形態では、準圧縮されたBAフレーム800は、図1の圧縮されていないまたは準圧縮されたBAフレーム150に対応し、アクセスポイント102の圧縮されていないまたは準圧縮されたBA生成ロジック106によって生成される。別の特定の実装形態では、準圧縮されたBAフレーム800は、メモリ110に記憶されている命令をアクセスポイント102のプロセッサ108が実行することによって生成される。
[0093]準圧縮されたBAフレーム800は、図6を参照して説明されるように、フィールド602〜614とビット616〜624とを含む。しかしながら、準圧縮されたBAフレーム800では、準圧縮されたBAフレーム800のBA情報フィールド612は、開始シーケンス制御ビットのセット626と準圧縮されたBAビットマップ802とを含む。準圧縮されたBAビットマップ802は、(開始シーケンス制御ビットのセット626によって示される)MSDUのシーケンスの各MSDUに対応する1つまたは複数のデータフラグメントがアクセスポイントによって受信されているかどうかを示し得る。図6の圧縮されていないBAビットマップ628とは対照的に、準圧縮されたBAビットマップ802は、シーケンス中の各MSDUに対応するデータフラグメントのサブセット(1つまたは2つのデータフラグメントなど)が受信されているかどうかを示すのに十分なビットだけを含み得る。したがって、準圧縮されたBAビットマップ802のデータサイズ、たとえば4ビットは、図6の圧縮されていないBAビットマップ628のデータサイズ、たとえば16ビットより小さいことがある。いくつかの実装形態では、準圧縮されたBAビットマップ802のデータサイズは、図1の第1のデバイス114などのデバイスがデータパケットの単一のPPDUにおいて多数のデータフラグメントを送信するとき、圧縮されていないBAビットマップ628のデータサイズより小さくないことがある。したがって、準圧縮されたBAビットマップ802は、1つまたは2つのデータフラグメントを1つのPPDUにおいて送信するように構成されるデバイスを含むワイヤレスシステムにおいて使用されることがあり、圧縮されていないBAビットマップ628は、3つ以上のデータフラグメントを1つのPPDUにおいて送信するように構成されるデバイスを含むワイヤレスシステムにおいて使用されることがある。
[0094]準圧縮されたBAフレーム800が準圧縮されたBAビットマップを含むことの指示は、予備ビットのセット622の1つまたは複数のビットによって表され得る。非限定的な例として、予備ビットのセット622の特定のビットは、準圧縮されたBAビットマップが含まれないとき(BAフレームが圧縮されたBAビットマップまたは圧縮されていないBAビットマップを含むときなど)に、第1の値(論理値0など)を有し、特定のビットは、準圧縮されたBAビットマップ802が含まれるときに第2の値(論理値1など)を有し得る。加えて、予備ビットのセット622の1つまたは複数のビットは、各MSDU(各データユニットなど)が図1の第1のデバイス114のような送信局によってフラグメント化され得る、フラグメントの閾値(最大など)の数kを示すために使用され得る。ある特定の実装形態では、kは2から16の間の数である。他の実装形態では、kは別の数であり得る。
[0095]第1の実装形態では、ビットマップ圧縮ビット620は、論理値0などの第1の値を有する。この実装形態では、準圧縮されたBAビットマップ802は、1つまたは複数のデータフラグメント識別子を示す複数のビットを含む。1つまたは複数のデータフラグメント識別子の各々は、特定のBAシーケンスに対応する複数のデータユニットのうちの1つのデータユニットのデータフラグメントに対応する。各データフラグメント識別子は、log2(k)ビットを含み、対応するMSDUの特定されたデータフラグメントがアクセスポイントによって受信されていることを示し得る。同じMSDUに対応する準圧縮されたBAビットマップ802の中のデータフラグメント識別子の数は、図1の第1のデバイス114などの送信デバイスによって1つのPPDUに含められるデータフラグメントの数と同じであり得る。
[0096]例示すると、デバイスが1つのPPDUにおいて単一のデータフラグメントをアクセスポイントに送信するように構成される例を考える。加えて、単一のデータユニット(PPDUなど)に対するデータフラグメントの最大の量は4である。この例では、デバイスは、第1のMSDUの単一のデータフラグメント、ならびにフラグメント化されていない(すなわち「完全な」)第2のMSDUを、アクセスポイントに送信する。デバイスからのデータの受信に確認応答するために、準圧縮されたBAビットマップ802は、第1のMSDUに対応するデータフラグメントを特定する第1のデータフラグメント識別子を含む。加えて、第2のMSDUはフラグメント化されていないMSDUであるので、第2のMSDUの1つのデータフラグメントを特定するために準圧縮されたBAビットマップ802において割り当てられる(割り振られるなど)ビットが、フラグメント化されていないMSDUを特定するために使用される。この例では、各データフラグメント識別子は、データフラグメント識別子(00、01、10、または11など)を示す少なくとも2ビット(log2(4)=2など)を含み、受信されるデータパケットにおいて対応するMSDUの4つのデータフラグメントのいずれがアクセスポイントによって受信されているかを示す。例示すると、アクセスポイントが第1のMSDUの第3のフラグメントを含むデータパケットを受信するとき、準圧縮されたBAビットマップ802の中の第1のデータフラグメント識別子の値は10である。別の例として、デバイスが1つのPPDUにおいて2つのデータフラグメントを送信するように構成される(およびMSDUごとのデータフラグメントの数とMSDUの数が上記と同じである)とき、準圧縮されたBAビットマップ802は、閾値(最大など)の数のMSDUに対応するデータフラグメントの2つのデータフラグメント識別子を含む。したがって、準圧縮されたBAビットマップ802のデータサイズ(SBA_size)は、y×x×log2(k)/8オクテット(バイトなど)であり、ここでyは1つのPPDUにおいて送信されるデータフラグメントの数であり、xはシーケンスにおけるMSDUの閾値(最大など)の数である。1つの特定の態様では、xは64という値を有し得る。
[0097]第2の実装形態では、ビットマップ圧縮ビット620は、第2の値(論理値1など)を有する。この実装形態では、準圧縮されたBAビットマップ802は、1つの圧縮されたBAビットマップと、フラグメント識別情報サブフィールドのセットとを含む。圧縮されたBAビットマップは、フラグメント化されていないMSDUのシーケンスの各MSDUのアクセスポイントによる受信を表し得る。圧縮されたビットマップの各ビットは、対応するフラグメント化されていないMSDUがアクセスポイントによって受信されているかどうかを示す値を有し得る。たとえば、0110という値を有する圧縮されたBAビットマップは、第2のMSDUおよび第3のMSDUがアクセスポイントによって受信されていることと、第1のMSDUおよび第4のMSDUが受信されていないこととを示し得る。フラグメント識別情報サブフィールドのセットは、それぞれデバイスから受信された1つのデータフラグメントに対応するデータフラグメント識別子と、シーケンス識別子サブフィールドと、を含み得る。シーケンス識別子サブフィールドは、デバイスによって送信されるMSDUのシーケンス中の特定のMSDUを特定するシーケンス制御値を示し、データフラグメント識別子サブフィールドは、k個のデータフラグメント(シーケンス識別子サブフィールドによって特定されるMSDUに対応する)のいずれがアクセスポイントによって受信されているかを特定し得る。
[0098]例示すると、アクセスポイントが、3つのMSDUと第4のMSDUの第1のデータフラグメントとを含む1つのPPDUを有するデータパケットを受信するとき、準圧縮されたBAビットマップ802は、第1のMSDU、第2のMSDU、および第3のMSDUの受信を示す圧縮されたBAビットマップと、第4のMSDUを示すシーケンス識別子サブフィールドと、第1のデータフラグメントを示すデータフラグメント識別子サブフィールドとを含む。別の例として、アクセスポイントが、第1のMSDUの第2のデータフラグメントと、第2のMSDUと、第3のMSDUと、第4のMSDUの第1のデータフラグメントとを含む1つのPPDUを有するデータパケットを受信するとき、準圧縮されたBAビットマップ802は、第2のMSDUおよび第3のMSDUの受信を示す圧縮されたBAビットマップと、第1のMSDUを示す第1のシーケンス識別子サブフィールドと、(第1のMSDUの)第2のデータフラグメントを示す第1のデータフラグメント識別子サブフィールドと、第4のMSDUを示す第2のシーケンス識別子サブフィールドと、(第4のMSDUの)第1のデータフラグメントを示す第2のデータフラグメント識別子サブフィールドとを含む。準圧縮されたBAビットマップ802のデータサイズ(SBA_size)は、x/8+約2〜6オクテット(バイトなど)であり得、ここでxはシーケンス中のMSDUの数である(したがって、圧縮されたビットマップは約x/8オクテットであり、追加のサブフィールドは実装形態に応じて約2〜6オクテットである)。一実装形態では、フラグメント識別子は、対応するデータフラグメントのアクセスポイントによる受信が成功するとき、示される。この実装形態では、受信が成功しなかったデータフラグメントに対応するフラグメント識別子は、準圧縮されたBAビットマップ802に含まれない。
[0099]ある特定の実装形態では、データフラグメントの数k、シーケンス中のMSDUの数x、および1つのPPDUにおけるデータフラグメントの数yは固定である。たとえば、k、x、およびyの値は、製造の間にアクセスポイントおよびデバイスのメモリに記憶され得る。ある特定の実装形態では、kは16という固定の値を有する。他の実装形態では、kは他の値を有し得る。別の特定の実装形態では、k、x、およびyの値は可変である。この実装形態では、k、x、およびyの値は、各デバイスによって決定され、アクセスポイントに通信され得る。たとえば、第1のデバイス114に対応するk、x、およびyの値は、第1のデバイス114からアクセスポイント102に送信される第1のADDBA要求162に含まれ得る。加えて、第2のデバイス126に対応するk、x、およびyの値は、第2のデバイス126からアクセスポイント102に送信される第2のADDBA要求164に含まれ得る。各デバイスがADDBA要求を送信することがあるので、各デバイスは、k、x、およびyに対して異なる値を選択し得る。別の特定の実装形態では、アクセスポイント102は、k、x、およびyの値を選択することができ、m、x、およびyの値をデバイス114および126(局など)に提供することができる。
[0100]図8に示される準圧縮されたBAフレーム800は、システム100中のデバイスによって使用され得る準圧縮されたBAフレームの例であり、限定的であると見なされるべきではない。他の実装形態では、図8に示されていない1つまたは複数のフィールドまたはビットが、準圧縮されたBAフレーム800に含まれることがあり、示されているフィールドまたはビットの1つまたは複数が省略されることがある。図8に示される実装形態では、準圧縮されたBAフレーム800は単一の準圧縮されたBAビットマップ802を含む。したがって、準圧縮されたBAフレーム800は、アクセスポイント102からシステム100の単一のデバイスに送信され得る。システム100の他のデバイスからのデータの受信に確認応答するために、アクセスポイント102は、他の準圧縮されたBAビットマップを含む他の準圧縮されたBAフレームを生成することができ、アクセスポイント102は、他の準圧縮されたBAフレームを他のデバイスに送信することができる。加えて、または代替的に、準圧縮されたBAは、アクセスポイント102からデータ(ダウンリンク(DL)データなど)を受信したことに応答して、局(第1のデバイス114または第2のデバイス126など)によってアクセスポイント102に送信され得る。
[0101]図9は、複数の準圧縮されたBAビットマップを含む準圧縮されたBAフレーム900の例を示す。準圧縮されたBAフレーム900は、MUワイヤレス通信システムの複数のデバイスへMUワイヤレス通信システムのアクセスポイントによって送信され得る。たとえば、準圧縮されたBAフレーム900は、OFDMA通信、MIMO通信、または何らかの他のマルチユーザ通信の一部として送信され得る。ある例示的な実装形態では、準圧縮されたBAフレーム900は、図1の圧縮されていないまたは準圧縮されたBAフレーム150に対応し、アクセスポイント102の圧縮されていないまたは準圧縮されたBA生成ロジック106によって生成される。別の特定の実装形態では、準圧縮されたBAフレーム900は、メモリ110に記憶されている命令をアクセスポイント102のプロセッサ108が実行することによって生成される。
[0102]準圧縮されたBAフレーム900は、図8を参照して説明されるように、フィールド602〜614とビット616〜624とを含む。しかしながら、準圧縮されたBAフレーム900において、準圧縮されたBAフレーム900のBA情報フィールド612は、準圧縮されたBAフレーム900のn個の受信者デバイスの各々に対して、STA毎情報ビットの対応するセット902と、BA開始シーケンス制御ビットの対応するセット904と、対応する準圧縮されたBAビットマップ906とを含む。たとえば、準圧縮されたBAフレーム900のBA情報フィールド612は、圧縮されていないBAビットマップ706が準圧縮されたBAビットマップ906によって置き換えられていることを除き、圧縮されていないBAフレーム700のBA情報フィールド612と同じであり得る。
[0103]図9において、STA毎情報ビットのセット902は、予備ビットのセット908とTID値ビットのセット910とを含む。TID値ビットのセット910は、トラフィック識別子の値を示し得る。予備ビットのセット908の1つまたは複数のビットは、n個の受信者デバイスの各々のためのk(データフラグメントの数など)を表すために使用され得る。BA開始シーケンス制御ビットのセット904は、n個の受信者デバイスの各々に対応するMSDUのシーケンスを特定することができる。準圧縮されたBAビットマップ906は、BA開始シーケンス制御ビットのセット904によって特定されるMSDUのシーケンスに対応する1つまたは複数のデータフラグメントの受信の確認応答を与え得る。準圧縮されたBAビットマップ906は、MSDUのセットの各データフラグメントがアクセスポイント(図1のアクセスポイント102など)によって受信されているかどうかを示す、複数のビットを含む。各々の準圧縮されたBAビットマップ906は、図8を参照して説明されるように準圧縮されたBAビットマップ802のいずれかの実装形態に従ってフォーマットされ得る。
[0104]どの準圧縮されたBAビットマップ906が各受信者デバイスに対応するかを特定するために、予備ビットのセット908の1つまたは複数のビットが、対応するデバイスの局関連付けID(STA AID:station association ID)を示すために使用され得る。たとえば、アクセスポイント102との関連付けの間に、各デバイス(デバイス114および126など)が、アクセスポイント102によってSTA AIDを割り当てられ得る。アクセスポイント102は、予備ビットのセット908の1つまたは複数のビットにSTA AIDを含め、後続の準圧縮されたBAビットマップ906が該STA AIDを有するデバイスに対応することを示す。加えて、予備ビットのセット908の1つまたは複数のビットは、対応するデバイスに関するkの値を示すために使用され得る。たとえば、(デバイス114および126の)各デバイスは、MSDUが(kの異なる値に対応する)異なる閾値(最大など)の数のフラグメントへ分割されることを可能にするように構成され、各デバイスに対応するkの値が予備ビットのセット908の1つまたは複数のビットによって示され得る。準圧縮されたBAビットマップ906のデータサイズは、準圧縮されたBAビットマップ906の特定の実装形態に関連し得る。
[0105]図9に示される準圧縮されたBAフレーム900は、システム100中のデバイスによって使用され得る準圧縮されたBAフレームの例であり、限定的であると見なされるべきではない。他の実装形態では、図9に示されていない1つまたは複数のフィールドまたはビットが、準圧縮されたBAフレーム900に含まれることがあり、示されているフィールドまたはビットの1つまたは複数が省略されることがある。図9に示される実装形態では、準圧縮されたBAフレーム900は、異なる受信機デバイスに対応する複数の準圧縮されたBAビットマップ906を含む。したがって、準圧縮されたBAフレーム900は、システム100の複数のデバイス(デバイス114および126など)にアクセスポイント102からMU通信として送信され得る。単一の準圧縮されたBAフレーム900を複数のデバイスに送信することは、ワイヤレス通信ネットワークにおけるオーバーヘッドを減らし得る。
[0106]図10を参照すると、ワイヤレス通信のための方法の例示的な実装形態が示されており、方法1000として指定されている。たとえば、方法1000は、MUワイヤレス通信システムのデバイスにおける動作と関連付けられ得る。例示的な実装形態では、方法1000は、図1の第1のデバイス114または第2のデバイス126によって実行され得る。いくつかの実装形態では、方法1000のステップは他の順序で実行されることがあり、または、方法1000の1つまたは複数のステップは任意選択であることがあり、すべての実装形態において実行されるとは限らない)。
[0107]方法1000は、1002において、第1のデバイスにおいて、アクセスポイントに送信されるべき第1のデータを生成することを含む。たとえば、図1を参照すると、第1のデバイス114のデータ生成ロジック116は、アクセスポイント102に送信されるべき第1のデータを生成する。
[0108]方法1000は、1004において、第1のデータのサイズが第1のTX_OPのサイズを超えると決定することを含む。たとえば、図1を参照すると、第1のデバイス114(データ生成ロジック116、プロセッサ120、または両方など)が、第1のデバイス114および第2のデバイス126によって使用される第1のTX_OPを第1のデータのサイズが超えると決定する。
[0109]方法1000は、1006において、第1のデータに基づいて少なくとも第1のデータフラグメントと第2のデータフラグメントとを生成することを含む。第1のデータフラグメントのサイズは、第1のTX_OPのサイズに基づいて選択される。たとえば、図1を参照すると、第1のデバイス114のデータフラグメント化ロジック118は、少なくとも第1のフラグメント142と第2のフラグメント144とを生成する。第1のデータフラグメントのサイズは、第1のTX_OPのサイズに基づいて選択される。たとえば、第1のデータは、第1のフラグメント142のサイズが第1のTX_OPの間に送信されることが可能な閾値のデータ量を超えないように、フラグメント化(または分割)される。
[0110]方法1000はさらに、1008において、第1のTX_OPの間に、第1のデータパケットを第1のデバイスからアクセスポイントに送信することを含む。第1のデータパケットは第1のデータフラグメントを含む。たとえば、図1を参照すると、第1のフラグメント142を含む第1のデータパケットは、第1のTX_OPの間に第1のデバイス114からアクセスポイント102に送信される。ある特定の実装形態では、第1のデータパケットを生成することは、第1のデバイスに対応するMCSに基づいて、第1のTX_OPの間に第1のデバイスが送信することが可能な閾値のデータ量を決定することと、閾値の量を超えないサイズを有する第1のデータフラグメントへと第1のデータを分割することとを含む。たとえば、データフラグメント化ロジック118は、第1のTX_OPのサイズ(時間長など)および第1のデバイス114によって使用されるMCSに基づいて、閾値のデータ量を決定することができる。データフラグメント化ロジック118は、閾値のデータ量を超えないサイズを第1のフラグメント142が有するように、第1のデータを分割することができる。少なくともいくつかの実装形態では、第1のデータパケットのオーバーヘッド(MACヘッダ、PPDUプリアンブルなど)のサイズも、第1のフラグメント142のサイズの決定に含まれる。他の実装形態では、オーバーヘッドのサイズは、第1のフラグメント142のサイズと比べると無視できるものであり得る。別の特定の実装形態では、第1のデータパケットは、シーケンス識別子(ID)番号と、フラグメント番号と、追加フラグメントインジケータとを含む、フラグメント化情報を含む。
[0111]ある特定の実装形態では、第1のデバイス、1つまたは複数の他のデバイス、およびアクセスポイントが各々、MU通信を実行する。たとえば、システム100はMUワイヤレス通信システムであり得る。ある特定の実装形態では、第1のデバイス、1つのまたは他のデバイス、およびアクセスポイントが各々、OFDMA通信またはMIMO通信を実行する。加えて、または代替的に、第1のデータパケットは、1つまたは複数のIEEE802.11規格に従って動作するワイヤレスネットワークを介して送信され得る。
[0112]別の特定の実装形態では、第1のデータは第1の媒体アクセス制御(MAC)層サービスデータユニットを含み、第1のデータフラグメントは第1のMAC層サービスデータユニットの第1のフラグメントを含み、第2のデータフラグメントは第1のMAC層サービスデータユニットの第2のフラグメントを含む。たとえば、図2を参照すると、第1のデータはMSDU202を含み、第1のデータフラグメントはMSDU202の第1のフラグメントを含み、第2のデータフラグメントはMSDU202の第2のフラグメントを含む。加えて、第1のデータパケットは第1の物理層プロトコルデータユニットを含み、第1の物理層プロトコルデータユニットのペイロードは第1のMAC層プロトコルデータユニットを含み、第1のMAC層プロトコルデータユニットは第1のデータフラグメントを含む。たとえば、図2を参照すると、第1のデータパケットは第1のPPDU208を含み、第1のPPDU208のペイロードは第1のMPDU204を含み、第1のMPDU204はMSDU202の第1のフラグメントを含む。加えて、方法1000は、第2のTX_OPの間に、第2のデータパケットをアクセスポイントに送信することを含み、第2のデータパケットは第2の物理層プロトコルデータユニットを含み、第2の物理層プロトコルデータユニットのペイロードは第2のMAC層プロトコルデータユニットを含み、第2のMAC層プロトコルデータユニットは第2のデータフラグメントを含む。たとえば、図2を参照すると、第2のTX_OPの間に送信される第2のデータパケットは第2のPPDU210を含み、第2のPPDU210は第2のMPDU206を含み、第2のMPDU206は第2のデータフラグメントを含む。加えて、または代替的に、第2のPPDUは、第2のMAC層プロトコルデータユニットと第3のMAC層プロトコルデータユニットと4のMAC層プロトコルデータユニットとを含む集約されたMAC層プロトコルデータユニット(集約されたMACプロトコルデータユニット(A−MPDU)とも呼ばれる)を含み、第3のMAC層プロトコルデータユニットは第2のMAC層サービスデータユニットを含み、第4のMPDUは第3のMAC層サービスデータユニットの第1のフラグメントを含み、第2のデータフラグメント、第2のMAC層サービスデータユニット、および第3のMAC層サービスデータユニットの第1のフラグメントの組み合わされたサイズは、第2のTX_OPのサイズを超えない。たとえば、図4を参照すると、第2のPPDU422は、第2のMPDU414と、第4のMPDU416と、第5のMPDU418とを含む集約されたMPDU(A_MPDU_2)を含む。第4のMPDU416は第3のMSDU406を含み得、第5のMPDU418は第4のMSDU408のフラグメントを含み、データフラグメント、第4のMPDU416、および第5のMPDU418のフラグメントの組み合わされたサイズは第2のTX_OPのサイズを超えない。
[0113]別の特定の実装形態では、方法1000は、第1のデバイスおよび1つまたは複数の他のデバイスの第2のTX_OPの間に、第2のデータパケットを第1のデバイスからアクセスポイントに送信することを含む。第2のデータパケットは第2のデータフラグメントを含み得る。たとえば、図1を参照すると、第1のデバイス114は、第2のTX_OPの間に、第1のデータの第2のフラグメント144を含む第2のデータパケットをアクセスポイント102に送信する。ある特定の実装形態では、第1のデータフラグメントのサイズは第2のデータフラグメントのサイズと同じである。たとえば、データフラグメント化ロジック118は、第1のフラグメント142と第2のフラグメント144とを生成するとき、第1のデータを半分に分割することができる。代替的に、第1のデータフラグメントのサイズは第2のデータフラグメントのサイズと異なる。第2のデータパケットは第2のデータフラグメントとパディングとを含み得る。たとえば、図2を参照すると、第1のPPDU208は、MSDU202の第1のフラグメントを含む第1のMPDU204を含み、第2のPPDU210は、MSDU202の第2のフラグメントとパディング(1つまたは複数の空のビットなど)とを含む第2のMPDU206を含む。MSDU202の第1のフラグメントは、MSDU202の第2のフラグメントより大きいことがある。
[0114]別の特定の実装形態では、方法1000は、第1のデバイスにおいてアクセスポイントからトリガフレームを受信することを含む。トリガフレームは、第1のTX_OPに対応するタイミング情報を示し得る。たとえば、図1を参照すると、第1のデバイス114は、第1のTX_OPの前にアクセスポイント102からトリガフレーム140を受信する。トリガフレーム140は、第1のTX_OPに対応するタイミング情報を示す。
[0115]別の特定の実装形態では、第1のデータは第1のMAC層サービスデータユニットを含み、第1のデータフラグメントは第1のMAC層サービスデータユニットの第1のフラグメントを含み、第2のデータフラグメントは第1のMAC層サービスデータユニットの第2のフラグメントを含む。たとえば、図3を参照すると、第1のデータは、第1のフラグメントおよび第2のフラグメントへとフラグメント化される第2のMSDU304を含む。加えて、第1のデータは第2のMAC層サービスデータユニットを含み得、第1のデータパケットは第1の物理層プロトコルデータユニットを含み得、第1の物理層プロトコルデータユニットのペイロードは、第1のMPDUと第2のMPDUとを含むA−MPDUを含むことがあり、第1のMPDUは第1のデータフラグメントを含み得、第2のMPDUは、第2のMAC層サービスデータユニットを含み得る。たとえば、図3を参照すると、第1のPPDU316は、第1のMPDU308と第2のMPDU310とを含むA−MPDU A_MPDU_1を含み、第1のMPDU308は第1のMSDU302を含み、第2のMPDU310は第2のMSDU304の第1のフラグメントを含む。第1のPPDU316は第1のTX_OPの間に送信される。
[0116]代替的に、方法1000は、第1のデバイスおよび1つまたは複数の他のデバイスの第2のTX_OPの間に、第2のデータパケットを第1のデバイスからアクセスポイントに送信することを含む。第2のデータパケットは第2の物理層プロトコルデータユニットを含み得、第2の物理層プロトコルデータユニットのペイロードは第2のMPDUを含み得、第2のMPDUは第2のデータフラグメントを含み得る。たとえば、図4を参照すると、第2のPPDU422は第3のMPDU414を含む第2のA−MPDU A_MPDU_2を含み、第3のMPDU414は第2のMSDU404の第2のフラグメントを含む。第2のPPDU422は第2のTX_OPの間に送信される。加えて、第2の物理層プロトコルデータユニットは、第2のMPDUと、第3のMPDUと、第4のMPDUとを含むA−MPDUを含み得、第3のMPDUは第2のMAC層サービスデータユニットを含み得、第4のMPDUは第3のMAC層サービスデータユニットの第1のフラグメントを含み得る。いくつかの実装形態では、方法1000は、第2のデータフラグメントと、第3のMAC層プロトコルデータユニットの第2のMAC層サービスデータユニットと、第4のMAC層プロトコルデータユニットの第3のMAC層サービスデータユニットの第1のフラグメントとを、第2のTX_OPのサイズ以下のサイズを有するように組み合わされる(combine)ことを含み得る。たとえば、図4を参照すると、第2のPPDU422は、第3のMPDU414と、第4のMPDU416と、第5のMPDU418とを含む第2のA−MPDU A_MPDU_2を含む。第4のMPDU416は第3のMSDU406を含み、第5のMPDU418は第4のMSDU408の第1のフラグメントを含む。第2のA−MPDUのサイズ(第3のMPDU414、第4のMPDU416、および第5のMPDU418の組み合せなど)は、第2のTX_OPのサイズを超えない。
[0117]別の特定の実装形態では、方法1000は、第1のデバイスにおいてアクセスポイントからブロック確認応答フレームを受信することを含む。ブロック確認応答フレームは、第1のデバイスに対応する第1の圧縮されていないブロック確認応答ビットマップを含み得る。たとえば、図1を参照すると、第1のデバイス114は、アクセスポイント102から圧縮されていないまたは準圧縮されたBAフレーム150(第1の圧縮されていないBAビットマップを含む)を受信し得る。第1の圧縮されていないBAビットマップは、第1のデバイス114に対応する複数のデータユニットのデータフラグメントがアクセスポイント102によって受信されたかどうかを示す、複数のビットを含み得る。ある特定の実装形態では、ブロック確認応答フレームは、単一の圧縮されていないブロック確認応答フレームを含む。たとえば、BAフレームは、図6の圧縮されていないBAフレーム600に対応し得る。代替的に、ブロック確認応答フレームは、第2のデバイスに対応する第2の圧縮されていないブロック確認応答ビットマップを含み得、第2の圧縮されていないブロック確認応答ビットマップは、第2のデバイスによって送信された第2の複数のデータユニットの複数のデータフラグメントがアクセスポイントによって受信されているかどうかを示す、第2の複数のビットを含み得る。たとえば、図7を参照すると、圧縮されていないBAフレーム700は、異なる複数のデバイス(予備ビットのセット708の1つまたは複数のビットによって表されるSTA AIDによって示される)に対応する複数の圧縮されていないBAビットマップ706を含み得る。加えて、または代替的に、方法1000は、第1のデータフラグメントに対応する第1の圧縮されていないブロック確認応答ビットマップの1つまたは複数のビットが特定の値を有するかどうかを決定することと、該1つまたは複数のビットが特定の値を有するとき、第1のデバイスの第2のTX_OPの間に、第1のデータフラグメントを含む第2のデータパケットを第1のデバイスからアクセスポイントに送信することと、を含む。たとえば、図1を参照すると、第1のデバイス114が、圧縮されていないまたは準圧縮されたBAフレーム150の中の第1の圧縮されていないBAビットマップの1つまたは複数のビットに基づいて、第1のフラグメント142がアクセスポイント102によって受信されていない、成功裏に復号されていない、またはこれらの両方であると決定するとき、第1のデバイス114は、第2のTX_OPの間に第1のフラグメント142を再送信する。
[0118]いくつかの実装形態では、方法1000は、第2のTX_OPの間に、アクセスポイントとして動作する第1のデバイスにおいて、第2のデバイスからの第3のデータパケットと第3のデバイスからの第4のデータパケットとを受信することを含み、第3のデータパケットは第3のデータフラグメントを含み、第4のデータパケットは第4のデータフラグメントを含む。たとえば、第1のデバイス114はまた、図1を参照して説明されたように、アクセスポイント102として動作し得る。図1を参照して説明されたように、アクセスポイント102として動作する第1のデバイス114は、第2のデータの第1のフラグメント146を含む第2のパケットを受信し得、第3のデータの第3のフラグメントを含む第3のパケットを第3のデバイスから受信し得る。方法1000はまた、アクセスポイントとして動作するデバイスにおいて、第1の圧縮されていないBAビットマップと第2の圧縮されていないBAビットマップとを含むブロック確認応答(BA)フレームを生成することを含み、第1の圧縮されていないBAビットマップは第2のデバイスから受信された1つまたは複数のデータフラグメントを示し、第2の圧縮されていないBAビットマップは第3のデバイスから受信された1つまたは複数のデータフラグメントを示す。たとえば、アクセスポイント102として動作する第1のデバイス114は、圧縮されていないまたは準圧縮されたBAフレーム150を生成し得、このことは、第2のデータの第1のフラグメント146および第2のデータの第2のフラグメント148が第2のデバイス126から受信されたことを示し得る。方法1000はさらに、アクセスポイントとして動作する第1のデバイスから第2のデバイスおよび第3のデバイスにBAフレームを送信することを含む。たとえば、アクセスポイント102として動作する第1のデバイス114は、図1を参照して説明されたように、圧縮されていないまたは準圧縮されたBAフレーム150を第2のデバイス126および第3のデバイスに送信することができる。
[0119]他の実装形態では、方法1000は、第2のTX_OPの間にアクセスポイントとして動作する第1のデバイスにおいて、少なくとも、第2のデバイスからの第3のデータパケットと第3のデバイスからの第4のデータパケットとを受信することを含み、第3のデータパケットは第3のデータフラグメントを含み、第4のデータパケットは第4のデータフラグメントを含む。たとえば、第1のデバイス114はまた、図1を参照して説明されたように、アクセスポイント102として動作し得る。図1を参照して説明されたように、アクセスポイント102として動作する第1のデバイス114は、第2のデータの第1のフラグメント146を含む第2のパケットを受信し得、第3のデータの第3のフラグメントを含む第3のパケットを第3のデバイスから受信し得る。方法1000はまた、第3のデータパケットの受信に応答して、アクセスポイントとして動作する第1のデバイスにおいて、少なくとも第1の準圧縮されたBAビットマップを含むBAフレームを生成することを含み、第1の準圧縮されたBAビットマップは第2のデバイスから受信された1つまたは複数のデータフラグメントを示し、第1の準圧縮されたBAビットマップのデータサイズは圧縮されていないBAビットマップのデータサイズより小さい。たとえば、アクセスポイント102として動作する第1のデバイス114は、圧縮されていないまたは準圧縮されたBAフレーム150を生成することができ、このことは、第2のデータの第1のフラグメント146および第2のデータの第2のフラグメント148が第2のデバイス126から受信されたことを示し得る。方法1000はさらに、アクセスポイントとして動作する第1のデバイスから第2のデバイスにBAフレームを送信することを含む。たとえば、アクセスポイント102として動作する第1のデバイス114は、図1を参照して説明されたように、圧縮されていないまたは準圧縮されたBAフレーム150を第2のデバイス126に送信することができる。
[0120]方法1000は、MUワイヤレス通信システムのデバイスが、そうされなければデバイスにより使用されないであろうTX_OPの間に、データパケットにおいてデータフラグメントを送信することを可能にする。データを送信しないのではなく、データフラグメントを送信することは、デバイスによって使用されないTX_OPを減らし、効率を上げ、MUワイヤレス通信システムの遅延を減らす。
[0121]図11を参照すると、ワイヤレス通信の方法1100の例示的な実装形態が示されている。たとえば、方法1100は、MUワイヤレス通信システムのアクセスポイントにおける動作と関連付けられ得る。例示的な実装形態では、方法1100は、図1のアクセスポイント102によって実行され得る。いくつかの実装形態では、方法1100のステップは他の順序で実行されることがあり、または、方法1100の1つまたは複数のステップは任意選択であることがあり、すべての実装形態において実行されるとは限らない)。
[0122]1102において、方法1100は、第1のTX_OPの間にアクセスポイントにおいて、第1のデバイスからの第1のデータパケットと第2のデバイスからの第2のデータパケットとを受信することを含む。第1のデータパケットは第1のデータフラグメントを含む。第2のデータパケットは第2のデータフラグメントを含む。たとえば、図1を参照すると、アクセスポイント102は、第1のTX_OPの間に、第1のデバイス114からの第1のデータの第1のフラグメント142を含む第1のデータパケットを受信する。アクセスポイント102はまた、第1のTX_OPの間に、第2のデバイス126からの第2のデータの第1のフラグメント146を含む第3のデータパケットを受信する。
[0123]1104において、方法1100は、アクセスポイントにおいて、第1のブロック確認応答ビットマップと第2のブロック確認応答ビットマップとを含むブロック確認応答フレームを生成することを含む。第1のブロック確認応答ビットマップは、第1のデバイスから受信される少なくとも第1のデータフラグメントを示し、第2のブロック確認応答ビットマップは、第2のデバイスから受信される少なくとも第2のデータフラグメントを示す。ある特定の実装形態では、第1のブロック確認応答ビットマップは第1の圧縮されていないブロック確認応答ビットマップを含み、第2のブロック確認応答ビットマップは第2の圧縮されていないブロック確認応答ビットマップを含む。たとえば、図1を参照すると、アクセスポイント102の圧縮されていないまたは準圧縮されたBA生成ロジック106は、第1の圧縮されていないBAビットマップと第2の圧縮されていないBAビットマップとを含む、圧縮されていないまたは準圧縮されたBAフレーム150を生成する。ブロック確認応答フレームは、IEEE802.11規格に従って形成され得る。ブロック確認応答フレームは、複数の圧縮されていないBAビットマップ706を含む、図7の圧縮されていないBAフレーム700に対応し得る。他の実装形態では、第1のブロック確認応答ビットマップは第1の準圧縮されたブロック確認応答ビットマップを含み、第2のブロック確認応答ビットマップは第2の準圧縮されたブロック確認応答ビットマップを含む。準圧縮されたBAビットマップの生成はさらに、図12を参照して説明される。
[0124]方法1100はさらに、1106において、ブロック確認応答フレームをアクセスポイントから第1のデバイスおよび第2のデバイスに送信することを含む。たとえば、図1を参照すると、アクセスポイント102は、第1のデバイス114および第2のデバイス126に圧縮されていないまたは準圧縮されたBAフレーム150を送信する。
[0125]ある特定の実装形態では、BAフレームは、フレーム制御フィールドと、時間長/IDフィールドと、受信機アドレスフィールドと、送信機アドレスフィールドと、ブロック確認応答制御フィールドと、ブロック確認応答情報フィールドと、フレーム検査シーケンスフィールドとを含む。BA制御フィールドは、確認応答ポリシービット(たとえば、BA ACKポリシービット)と、マルチトラフィック識別子ビットと、ビットマップ圧縮ビットと、予備ビットのセットと、マルチトラフィック識別子情報ビットのセットとを含み得る。たとえば、図7を参照すると、圧縮されていないBAフレーム700は、フレーム制御フィールド602と、時間長/IDフィールド604と、RAフィールド606と、TAフィールド608と、BA制御フィールド610と、BA情報フィールド612と、FCSフィールド614とを含み、BA制御フィールド610は、ACKポリシービット616と、マルチTIDビット618と、ビットマップ圧縮ビット620と、予備ビットのセット622と、TID_INFOビットのセット624とを含む。加えて、ブロック確認応答情報フィールドは、STA毎情報ビットの複数のセットと、BA開始シーケンス制御ビットの複数のセットと、第1の圧縮されていないブロック確認応答ビットマップおよび第2の圧縮されていないブロック確認応答ビットマップを含む複数の圧縮されていないブロック確認応答ビットマップとを含み得る。たとえば、図7を参照すると、BA情報フィールド612は、STA毎情報ビットの複数のセット702と、BA開始シーケンス制御ビットの複数のセット704と、複数の圧縮されていないBAビットマップ706とを含む。
[0126]別の特定の実装形態では、方法1100は、第1のデバイスおよび第2のデバイスの第2のTX_OPの間に、アクセスポイントにおいて第1のデバイスから第3のデータパケットを受信することを含む。第3のデータパケットは第3のデータフラグメントを含み得、第1のデータフラグメントおよび第3のデータフラグメントは同じMSDUのフラグメントであることがある。たとえば、図1を参照すると、アクセスポイント102は、第2のTX_OPの間に、第1のデバイス114からの第1のデータの第2のフラグメント144を含む第2のパケットを受信する。第1のフラグメント142および第2のフラグメント144は、同じMSDU(図2のMSDU202、図3の第2のMSDU304、または図4の第2のMSDU404など)のフラグメントであり得る。
[0127]別の特定の実装形態では、第1のデータパケットは、シーケンス識別子番号と、フラグメント番号と、追加フラグメントインジケータとを含む、フラグメント化情報を含む。方法1100はさらに、シーケンス識別子番号に対応する特定のデータフラグメントがアクセスポイントにおいて第1のデバイスから受信されているかどうかを決定することと、特定のデータフラグメントが受信されていないとき、第1の圧縮されていないBAビットマップの特定のビットを第1の値に設定することと、を含み得る。たとえば、図1を参照すると、アクセスポイント102は、第1のフラグメント142が受信されているかどうかを決定し、第1のフラグメント142が受信されていないとき、第1のフラグメント142に対応する(圧縮されていないまたは準圧縮されたBAフレーム150の中の)第1の圧縮されていないBAビットマップの特定のビットを第1の値に設定する。方法1100はさらに、特定のデータフラグメントが受信されているとき、特定のビットを第2の値に設定することを含み得る。たとえば、図1を参照すると、アクセスポイント102は、第1のフラグメント142が受信されているとき、特定のビットを第2の値に設定する。加えて、または代替的に、方法1100は、第1のデバイスおよび第2のデバイスの第2のTX_OPの間に、アクセスポイントにおいて第1のデバイスから第3のデータパケットを受信することを含み、第3のデータパケットは特定のデータフラグメントを含む。たとえば、図1を参照すると、第1のフラグメント142が受信されていないことを示す、圧縮されていないまたは準圧縮されたBAフレーム150を送信した後で、アクセスポイント102は、(第2のフラグメント144の代わりに、またはそれに加えて)第2のTX_OPの間に第1のフラグメント142の再送信を受信する。
[0128]方法1100は、MUワイヤレス通信システムのアクセスポイントが、複数のデバイスからULデータフラグメントを受信することを可能にする。アクセスポイントは、複数のデバイスの各々に対応する圧縮されていないBAビットマップを含む単一の圧縮されていないBAフレームを送信することによって、ULデータフラグメントに応答し得る。
[0129]図12を参照すると、ワイヤレス通信の方法1200の例示的な実装形態が示されている。たとえば、方法1200は、MUワイヤレス通信システムのアクセスポイントにおける動作と関連付けられ得る。方法1200は図1のアクセスポイント102によって実行され得る。いくつかの実装形態では、方法1200のステップは他の順序で実行されることがあり、または、方法1200の1つまたは複数のステップは任意選択であることがあり、実行されないことがある。
[0130]1202において、方法1200は、第1の送信機会(TX_OP)の間にアクセスポイントにおいて、少なくとも、第1のデバイスからの第1のデータパケットと第2のデバイスからの第2のデータパケットとを受信することを含む。第1のデータパケットは第1のデータフラグメントを含み得、第2のデータパケットは第2のデータフラグメントを含み得る。たとえば、図1を参照すると、アクセスポイント102は、第1のTX_OPの間に、第1のデバイス114からの第1のデータの第1のフラグメント142を含む第1のデータパケットを受信する。アクセスポイント102はまた、第1のTX_OPの間に、第2のデバイス126からの第2のデータの第1のフラグメント146を含む第2のデータパケットを受信する。
[0131]1204において、方法1200は、アクセスポイントにおいて、第1の準圧縮されたBAビットマップを少なくとも含むBAフレームを生成することを含む。第1の準圧縮されたBAビットマップは、第1のデバイスから受信された1つまたは複数のデータフラグメントを示す。たとえば、図1を参照すると、アクセスポイント102の圧縮されていないまたは準圧縮されたBA生成ロジック106は、第1の準圧縮されたBAビットマップを少なくとも含む、圧縮されていないまたは準圧縮されたBAフレーム150を生成し得る。BAフレームは、IEEE802.11規格に従って形成され得る。BAフレームは、図8の準圧縮されたBAフレーム800または図9の準圧縮されたBAフレーム900に対応し得る。ある特定の実装形態では、第1のデータフラグメントは第1のデータユニットに対応し、第1の準圧縮されたBAビットマップは、第1のデータフラグメントがアクセスポイントによって受信されていることを示す。加えて、準圧縮されたBAビットマップは、第1のデータユニットに対応するシーケンス番号に対して割り当てられた、準圧縮されたBAビットマップのビットのセットにおいて、第1のデータフラグメントのフラグメント番号を示し得る。たとえば、図8の準圧縮されたBAビットマップ802は、特定のMSDUに対応する1つまたは2つのデータフラグメントが、その特定のMSDUに対応するシーケンス番号に対して割り当てられたビットのセットにおいて、アクセスポイントによって受信されていることを示し得る。第1の準圧縮されたBAビットマップのデータサイズは、圧縮されていないBAビットマップのデータサイズより小さくなり得る。たとえば、図8の準圧縮されたBAビットマップ802のデータサイズは、図6の圧縮されていないBAビットマップ628のデータサイズより小さく、図9の準圧縮されたBAビットマップ906のデータサイズは、少数のデータフラグメント(1つまたは2つのデータフラグメントなど)だけが準圧縮されたBAビットマップ802または準圧縮されたBAビットマップ906によって示されるとき、図7の圧縮されていないBAビットマップ706のデータサイズより小さくなり得る。
[0132]方法1200はさらに、1206において、BAフレームをアクセスポイントから第1のデバイスに送信することを含む。たとえば、図1を参照すると、アクセスポイント102は、第1のデバイス114に圧縮されていないまたは準圧縮されたBAフレーム150を送信する。
[0133]ある特定の実装形態では、方法1200は、アクセスポイントにおいて、第2の準圧縮されたBAビットマップを含む第2のBAフレームを生成することと、第2のBAフレームをアクセスポイントから第2のデバイスに送信することとを含む。第2の準圧縮されたBAビットマップは、第2のデバイスから受信された1つまたは複数のデータフラグメントを特定し得る。たとえば、図1および図8を参照すると、第2の準圧縮されたBAビットマップ802を含む第2の準圧縮されたBAフレーム(たとえば、準圧縮されたBAフレーム800)は、アクセスポイント102から第2のデバイス126に送信され得る。加えて、または代替的に、BAフレームはBA制御フィールドとBA情報フィールドとを含み得、BA制御フィールドは、ビットマップ圧縮ビットと、予備ビットのセットとを含み得、BA情報フィールドはブロック確認応答開始シーケンス制御ビットのセットと第1の準圧縮されたBAビットマップとを含み得る。たとえば、図8を参照すると、準圧縮されたBAフレーム800はBA制御フィールド610とBA情報フィールド612とを含み得、BA制御フィールド610はビットマップ圧縮ビット620と予備ビットのセット622とを含み得、BA情報フィールド612は開始シーケンス制御ビットのセット626と準圧縮されたBAビットマップ802とを含み得る。
[0134]ある特定の実装形態では、ビットマップ圧縮ビットは第1の値を有し、予備ビットのセットの1つまたは複数のビットは、BAフレームが第1の準圧縮されたBAビットマップを含むことを示し、第1の準圧縮されたBAビットマップは、1つまたは複数のデータフラグメント識別子を示す複数のビットを含み、1つまたは複数のデータフラグメント識別子の各々は、特定のブロック確認応答シーケンスに対応する複数のデータユニットのうちの1つのデータユニットのデータフラグメントに対応する。たとえば、図8を参照して説明されるように、ビットマップ圧縮ビット620が第1の値(論理値0など)を有するとき、予備ビットのセット622の1つまたは複数のビットは、準圧縮されたBAフレーム800が準圧縮されたBAビットマップ802を含むことを示し、準圧縮されたBAビットマップ802は、準圧縮されたBAビットマップ802の第1の実装形態に従って形成される。ある代替的な実装形態では、ビットマップ圧縮ビットは第2の値を有し、予備ビットのセットの1つまたは複数のビットは、BAフレームが第1の準圧縮されたBAビットマップを含むことを示し、第1の準圧縮されたBAビットマップは、圧縮されたブロック確認応答ビットマップとフラグメント識別情報サブフィールドのセットとを含む。加えて、圧縮されたブロック確認応答ビットマップは、第1のデバイスからアクセスポイントによって受信される1つまたは複数のフラグメント化されていないデータユニットを示す複数のビットを含み得、フラグメント識別情報サブフィールドのセットは、シーケンス識別子サブフィールドとデータフラグメント識別子とを含み得る。たとえば、図8を参照して説明されるように、ビットマップ圧縮ビット620が第2の値(論理値1など)を有するとき、予備ビットのセット622の1つまたは複数のビットは、準圧縮されたBAフレーム800が準圧縮されたBAビットマップ802を含むことを示し、準圧縮されたBAビットマップ802は、準圧縮されたBAビットマップ802の第2の実装形態に従って形成される。
[0135]別の特定の実装形態では、BAフレームは第2の準圧縮されたBAビットマップを含み、第2の準圧縮されたBAビットマップは第2のデバイスから受信される1つまたは複数のデータフラグメントを示し、BAフレームはアクセスポイントから第1のデバイスおよび第2のデバイスに送信される。たとえば、図1および図9を参照すると、2つの第2の準圧縮されたBAビットマップ906を含む準圧縮されたBAフレーム900は、アクセスポイント102から第1のデバイス114および第2のデバイス126に送信され得る。加えて、または代替的に、BAフレームはBA制御フィールドとBA情報フィールドとを含み得、BA制御フィールドはビットマップ圧縮ビットと予備ビットのセットとを含み得、BA情報フィールドは、局毎情報ビットの第1のセットと、ブロック確認応答開始シーケンス制御ビットの第1のセットと、第1の準圧縮されたBAビットマップと、STA毎情報ビットの第2のセットと、ブロック確認応答開始シーケンス制御ビットの第2のセットと、第2の準圧縮されたBAビットマップとを含み得る。たとえば、図9を参照すると、準圧縮されたBAフレーム900はBA制御フィールド610とBA情報フィールド612とを含み得、BA制御フィールド610はビットマップ圧縮ビット620と予備ビットのセット622とを含み得、BA情報フィールド612は、局毎情報ビットのセット902、BA開始シーケンス制御ビットのセット904、および準圧縮されたBAビットマップ906の複数のグループを含み得る。1つの特定の態様では、BA情報フィールド612は、STA毎情報ビットのセット902の2つのグループを含み得る。
[0136]ある特定の実装形態では、ビットマップ圧縮ビットは第1の値を有し、ブロック確認応答フレームを示す予備ビットのセットの1つまたは複数のビットは、少なくとも1つの準圧縮されたブロック確認応答ビットマップを含み、局毎情報ビットの第1のセットの1つまたは複数の予備ビットは、第1のデバイスに対応する関連付け識別子と、データユニットが第1のデバイスによって分割されるデータフラグメントの閾値(最大など)の数とを示し、第1の準圧縮されたブロック確認応答ビットマップは、特定のブロック確認応答シーケンスに対応する複数のデータユニットの各々に対応するデータフラグメントのデータフラグメント識別子を示す複数のビットを含む。たとえば、図8を参照して説明されるように、ビットマップ圧縮ビット620が第1の値(論理値0など)を有するとき、予備ビットのセット622の1つまたは複数のビットは、準圧縮されたBAフレーム900が準圧縮されたBAビットマップ906を含むことを示し、第1の局毎情報ビット902の1つまたは複数の予備ビット908は、第1のデバイスに対応するAIDを示し、データユニットが第1のデバイスによって分割されるデータフラグメントの閾値(最大など)の数を含み得、準圧縮されたBAビットマップ906は、準圧縮されたBAビットマップ802の第1の実装形態に従って形成される。ある代替的な実装形態では、ビットマップ圧縮ビットは第2の値を有し、予備ビットのセットの1つまたは複数のビットは、BAフレームが少なくとも1つの準圧縮されたBAビットマップを含むことを示し、STA毎情報ビットの第1のセットの1つまたは複数の予備ビットは、第1のデバイスに対応するAIDを示し、第1の準圧縮されたBAビットマップは、圧縮されたBAビットマップとフラグメント識別情報サブフィールドのセットとを含み、フラグメント識別情報サブフィールドのセットは、第1のシーケンス識別子サブフィールドとデータフラグメント識別子とを含む。たとえば、図8を参照して説明されるように、ビットマップ圧縮ビット620が第2の値(論理値1など)を有するとき、予備ビットのセット622の1つまたは複数のビットは、準圧縮されたBAフレーム900が準圧縮されたBAビットマップ906を含むことを示し、第1のSTA毎情報ビット902の1つまたは複数の予備ビット908は、第1のデバイスに対応するAIDを示し、準圧縮されたBAビットマップ906は、準圧縮されたBAビットマップ802の第2の実装形態に従って形成される。
[0137]別の例示的な実装形態では、第1のデバイスのデータユニットシーケンス中のデータユニットの数と、データユニットが第1のデバイスによって分割されるデータフラグメントの閾値(最大など)の数とが、アクセスポイントの製造の間にアクセスポイントのメモリに記憶される。たとえば、図1を参照すると、第1のデバイス114のMSDUシーケンス中のMSDUの数と、データユニットが第1のデバイス114によって分割されるデータフラグメントの閾値(最大など)の数(mまたはk)とが、アクセスポイント102の製造の間にメモリ110に記憶され得る。ある代替的な実装形態では、方法1200はさらに、BAフレームを生成する前に、第1のBAセッション要求を受信することを含む。第1のBAセッション要求は、第1のデバイスのデータユニットシーケンス中のデータユニットの閾値(最大など)の数と、データユニットが第1のデバイスによって分割されるデータフラグメントの最大の数とを示し得る。たとえば、図1を参照すると、アクセスポイント102は、圧縮されていないまたは準圧縮されたBAフレーム150を生成する前に第1のデバイス114から第1のADDBA要求162を受信し得、第1のADDBA要求162は、第1のデバイス114のMSDUシーケンスにおけるMSDUの閾値(最大など)の数と、データユニットが第1のデバイス114によって分割されるデータフラグメントの閾値(最大など)の数(mまたはk)とを示し得る。
[0138]方法1200は、MUワイヤレス通信システムのアクセスポイントが、複数のデバイスからULデータフラグメントを受信することを可能にする。アクセスポイントは、準圧縮されたBAビットマップを含む1つまたは複数の準圧縮されたBAフレームを複数のデバイスに送信することによって、ULデータフラグメントに応答し得る。
[0139]図13を参照すると、ワイヤレス通信デバイスの特定の例示的な実装形態が示されており、全体的に1300と指定されている。デバイス1300は、メモリ1332に結合されたデジタル信号プロセッサなどのプロセッサ1310を含む。ある例示的な実装形態では、デバイス1300、またはそのコンポーネントは、図1のアクセスポイント102、第1のデバイス114、または第2のデバイス126、またはこれらのコンポーネントに対応し得る。
[0140]プロセッサ1310は、ソフトウェアを実行するように構成され得る。ソフトウェアは、非一時的コンピュータ可読媒体などのメモリ1332に記憶された1つまたは複数の命令1368のプログラムを含み得る。加えて、または代替的に、プロセッサ1310は、IEEE802.11適合インターフェースなどのワイヤレスインターフェース1340のメモリに記憶された1つまたは複数の命令を実施するように構成され得る。たとえば、ワイヤレスインターフェース1340は、IEEE802.11ax規格などの1つまたは複数のIEEE802.11規格を含む、1つまたは複数のワイヤレス通信規格に従って動作するように構成され得る。特定の実装形態では、プロセッサ1310は、図10〜図12の方法の1つまたは複数に従って動作するように構成され得る。たとえば、プロセッサ1310は、データ生成ロジック1360、データフラグメント化ロジック1362、データデフラグメントロジック1364、圧縮されていないもしくは準圧縮されたBA生成ロジック1366、またはこれらの組合せを含み得る。ある特定の実装形態では、プロセッサ1310は、図10の方法1000を実行するように構成される、データ生成ロジック1360とデータフラグメント化ロジック1362とを含む。別の特定の実装形態では、プロセッサ1310は、図11の方法1100を実行するために、データデフラグメントロジック1364と圧縮されていないまたは準圧縮されたBA生成ロジック1366とを含む。
[0141]ワイヤレスインターフェース1340は、プロセッサ1310とアンテナ1342とに結合され得る。たとえば、ワイヤレスインターフェース1340は、ワイヤレスデータがアンテナ1342を介して受信され得るように、およびプロセッサ1310に提供され得るように、送受信機1346を介してアンテナ1342に結合され得る。コーダ/デコーダ(コーデック)1334も、プロセッサ1310に結合され得る。スピーカー1336およびマイクロフォン1338が、コーデック1334に結合され得る。ディスプレイコントローラ1326が、プロセッサ1310とディスプレイデバイス1328とに結合され得る。ある特定の実装形態では、プロセッサ1310、ディスプレイコントローラ1326、メモリ1332、コーデック1334、およびワイヤレスインターフェース1340は、システムインパッケージまたはシステムオンチップデバイス1322に含まれる。ある特定の実装形態では、入力デバイス1330および電源1344が、システムオンチップデバイス1322に結合される。その上、ある特定の実装形態では、図13に示されるように、ディスプレイデバイス1328、入力デバイス1330、スピーカー1336、マイクロフォン1338、アンテナ1342、および電源1344は、システムオンチップデバイス1322の外部にある。しかしながら、ディスプレイデバイス1328、入力デバイス1330、スピーカー1336、マイクロフォン1338、アンテナ1342、および電源1344の各々は、1つまたは複数のインターフェースまたはコントローラなどのシステムオンチップデバイス1322の1つまたは複数のコンポーネントに結合され得る。
[0142]開示される実装形態の1つまたは複数は、通信デバイス、固定位置データユニット、モバイル位置データユニット、携帯電話、セルラー電話、衛星電話、コンピュータ、タブレット、ポータブルコンピュータ、またはデスクトップコンピュータを含み得る、デバイス1300などのシステムまたは装置において実装され得る。加えて、デバイス1300は、セットトップボックス、エンターテインメントユニット、ナビゲーションデバイス、携帯情報端末(PDA)、モニタ、コンピュータモニタ、テレビジョン、チューナー、ラジオ、衛星ラジオ、音楽プレーヤ、デジタル音楽プレーヤ、ポータブル音楽プレーヤ、ビデオプレーヤ、デジタルビデオプレーヤ、デジタルビデオディスク(DVD)プレーヤ、ポータブルデジタルビデオプレーヤ、データまたはコンピュータ命令を記憶するか、または取り出す任意の他のデバイス、あるいはそれらの組合せを含み得る。別の例示的な、非限定的な例として、システムまたは装置は、携帯電話、ハンドヘルドパーソナル通信システム(PCS)ユニット、個人情報端末などのポータブルデータユニット、全地球測位システム(GPS)対応デバイス、ナビゲーションデバイス、メーター読取り機器などの固定位置データユニット、あるいは、データもしくはコンピュータ命令を記憶するかまたは取り出す任意の他のデバイスなどの、リモートユニット、あるいはそれらの任意の組合せを含み得る。
[0143]図1〜図13の1つまたは複数は、本開示の教示によるシステム、装置、方法、またはこれらの組合せを示し得るが、本開示は、これらの示されたシステム、装置、方法、またはこれらの組合せに限定されない。本開示の実装形態は、メモリと、プロセッサと、オンチップ回路とを含む集積回路を含む任意のデバイスにおいて適切に採用され得る。
[0144]説明される実装形態に関連して、第1の装置は、アクセスポイントに送信されるべきデータに基づいて、少なくとも第1のデータフラグメントと第2のデータフラグメントとを生成するための手段を含む。第1のデータフラグメントおよび第2のデータフラグメントは、データのサイズがTX_OPのサイズを超えるときに生成される。第1のデータフラグメントのサイズは、TX_OPのサイズに基づいて選択される。たとえば、少なくとも第1のデータフラグメントと第2のデータフラグメントとを生成するための手段は、図1の第1のデバイス114、データフラグメント化ロジック118、プロセッサ120、図13の命令1368を実行するようにプログラムされるプロセッサ1310、データフラグメント化ロジック1362、アクセスポイントに送信されるべきデータに基づいて少なくとも第1のデータフラグメントと第2のデータフラグメントとを生成するための1つまたは複数の他のデバイス、回路、モジュール、もしくは命令、またはこれらの任意の組合せを含み得る。
[0145]第1の装置はまた、TX_OPの間に、データパケットをアクセスポイントに送信するための手段を含む。データパケットは第1のデータフラグメントを含む。たとえば、データパケットを送信するための手段は、図1の第1のデバイス114、データフラグメント化ロジック118、プロセッサ120、ワイヤレスインターフェース124、図13の命令1368を実行するようにプログラムされたプロセッサ1310、データフラグメント化ロジック1362、ワイヤレスインターフェース1340、データフラグメントをアクセスポイントに送信するための1つまたは複数の他のデバイス、回路、モジュール、もしくは命令、またはこれらの任意の組合せを含み得る。
[0146]説明された実装形態に関連して、第2の装置は、第1のデバイスからの第1のデータパケットの受信および第2のデバイスからの第2のデータパケットの受信に基づいて、BAフレームを生成するための手段を含む。第1のデータパケットは、第1のデータフラグメントを含み、TX_OPの間に受信され、第2のデータパケットは、第2のデータフラグメントを含み、TX_OPの間に受信される。BAフレームは、第1のBAビットマップ(第1のデバイスから受信される少なくとも第1のデータフラグメントを示す)と、第2のBAビットマップ(第2のデバイスから受信される少なくとも第2のデータフラグメントを示す)とを含む。たとえば、BAフレームを生成するための手段は、図1のアクセスポイント102、圧縮されていないもしくは準圧縮されたBA生成ロジック106、プロセッサ108、ワイヤレスインターフェース112、図13の命令1368を実行するようにプログラムされたプロセッサ1310、圧縮されていないもしくは準圧縮されたBA生成ロジック1366、ワイヤレスインターフェース1340、第1の圧縮されていないBAビットマップと第2の圧縮されていないBAビットマップとを含むBAフレームを生成するための1つまたは複数の他のデバイス、回路、モジュール、もしくは命令、またはこれらの任意の組合せを含み得る。ある特定の実装形態では、第1のBAビットマップおよび第2のBAビットマップは圧縮されていないBAビットマップである。ある代替的な実装形態では、第1のBAビットマップおよび第2のBAビットマップは準圧縮されたBAビットマップである。
[0147]第2の装置はまた、BAフレームを第1のデバイスおよび第2のデバイスに送信するための手段を含む。たとえば、BAフレームを送信するための手段は、図1のアクセスポイント102、圧縮されていないもしくは準圧縮されたBA生成ロジック106、プロセッサ108、ワイヤレスインターフェース112、図13の命令1368を実行するようにプログラムされたプロセッサ1310、圧縮されていないもしくは準圧縮されたBA生成ロジック1366、ワイヤレスインターフェース1340、BAフレームを第1のデバイスおよび第2のデバイスに送信するための1つまたは複数の他のデバイス、回路、モジュール、もしくは命令、またはこれらの任意の組合せを含み得る。
[0148]説明された実装形態に関連して、第3の装置は、少なくとも第1のデバイスからの第1のデータパケットおよび第2のデバイスからの第2のデータパケットの受信に基づいて、BAフレームを生成するための手段を含む。第1のデータパケットは、第1のデータフラグメントを含み、TX_OPの間に受信され、第2のデータパケットは、第2のフラグメントを含み、TX_OPの間に受信される。BAフレームは少なくとも、第1の準圧縮されたBAビットマップ(第1のデバイスから受信された1つまたは複数のデータフラグメントを示す)を含む。たとえば、BAフレームを生成するための手段は、図1のアクセスポイント102、圧縮されていないもしくは準圧縮されたBA生成ロジック106、プロセッサ108、ワイヤレスインターフェース112、図13の命令1368を実行するようにプログラムされたプロセッサ1310、圧縮されていないもしくは準圧縮されたBA生成ロジック1366、ワイヤレスインターフェース1340、第1の準圧縮されたBAビットマップを含むBAフレームを生成するための1つまたは複数の他のデバイス、回路、モジュール、もしくは命令、またはこれらの任意の組合せを含み得る。
[0149]第3の装置はまた、BAフレームを第1のデバイスおよび第2のデバイスに送信するための手段を含む。たとえば、BAフレームを送信するための手段は、図1のアクセスポイント102、圧縮されていないもしくは準圧縮されたBA生成ロジック106、プロセッサ108、ワイヤレスインターフェース112、図13の命令1368を実行するようにプログラムされたプロセッサ1310、圧縮されていないもしくは準圧縮されたBA生成ロジック1366、ワイヤレスインターフェース1340、BAフレームを第1のデバイスおよび第2のデバイスに送信するための1つまたは複数の他のデバイス、回路、モジュール、もしくは命令、またはこれらの任意の組合せを含み得る。
[0150]本明細書で開示された実装形態に関連して説明された様々な例示的なロジックブロック、構成、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、プロセッサによって実行されるコンピュータソフトウェア、または両方の組合せとして実装され得ることを当業者はさらに理解するであろう。様々な例示的なコンポーネント、ブロック、構成、モジュール、回路、およびステップが、上では全般に、それらの機能に関して説明された。そのような機能がハードウェアとして実装されるか、プロセッサ実行可能命令として実装されるかは、特定の適用例および全体的なシステムに課された設計制約に依存する。当業者は、説明された機能を具体的な適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本開示の範囲からの逸脱を引き起こすものと解釈されるべきではない。
[0151]本明細書で開示された実装形態に関して説明された方法またはアルゴリズムのステップは、直接ハードウェアに含まれ、プロセッサによって実行されるソフトウェアモジュールに含まれ、またはこれらの2つの組合せであり得る。ソフトウェアモジュールは、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読取り専用メモリ(ROM)、プログラマブル読取り専用メモリ(PROM)、消去可能プログラマブル読取り専用メモリ(EPROM)、電気消去可能プログラマブル読取り専用メモリ(EEPROM(登録商標))、レジスタ、ハードディスク、リムーバブルディスク、コンパクトディスク読取り専用メモリ(CD−ROM)、または当技術分野で知られている任意の他の形態の非一時的(non−transient)(または非一時的(non−transitory))記憶媒体中に存在し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるようにプロセッサに結合される。代替的に、記憶媒体はプロセッサと一体であり得る。プロセッサおよび記憶媒体は、特定用途向け集積回路(ASIC)中に存在し得る。ASICは、コンピューティングデバイスまたはユーザ端末に存在し得る。代替的に、プロセッサおよび記憶媒体は、コンピューティングデバイスまたはユーザ端末に個別のコンポーネントとして存在し得る。
[0152]開示される実装形態の前の説明は、開示される実装形態を当業者が製作または使用することを可能にするために与えられる。これらの実装形態に対する様々な修正が、当業者には容易に明らかになり、本明細書において定義される原理は、本開示の範囲から逸脱することなく、他の実装形態に適用され得る。したがって、本開示は、本明細書において示される実装形態に限定されることを意図されず、特許請求の範囲によって定義される原理および新規の特徴と合致する可能な限り最も広い範囲が与えられるべきである。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
ワイヤレス通信のための装置であって、
アクセスポイントに送信されるべきデータを生成し、前記データのサイズが第1の送信機会(TX_OP)のサイズを超えると決定するように構成されるデータ生成ロジックと、
前記データに基づいて、少なくとも第1のデータフラグメントと第2のデータフラグメントとを生成するように構成されるデータフラグメント化ロジックと、ここにおいて、前記第1のデータフラグメントのサイズは前記第1のTX_OPの前記サイズに基づいて選択され、
前記第1のTX_OPの間に、第1のデータパケットを前記アクセスポイントに送信するように構成されるワイヤレスインターフェースと、前記第1のデータパケットは前記第1のデータフラグメントを含み、
を備える装置。
[C2]
前記データ生成ロジックは、さらに、変調およびコーディング方式に基づいて、前記第1のTX_OPの間に送信されることが可能な閾値のデータ量を決定するように構成され、
前記データフラグメント化ロジックは、さらに、前記閾値のデータ量以下のサイズを有するように前記第1のデータフラグメントを生成するように構成される、
C1に記載の装置。
[C3]
前記ワイヤレスインターフェースは、さらに、前記アクセスポイントから、第2のTX_OPに対応するタイミング情報を含むトリガフレームを受信し、前記第2のTX_OPの間に、前記第2のデータフラグメントを含む第2のデータパケットを前記アクセスポイントに送信するように構成される、C1に記載の装置。
[C4]
前記ワイヤレスインターフェースは、さらに、前記アクセスポイントから、第1の圧縮されていないブロック確認応答ビットマップまたは第1の準圧縮されたブロック確認応答ビットマップを含むブロック確認応答フレームを受信するように構成される、C1に記載の装置。
[C5]
前記ワイヤレスインターフェースは、さらに、第2のTX_OPの間に前記アクセスポイントへ、前記第2のデータフラグメントを含む第2のデータパケットを送信するように構成される、C1に記載の装置。
[C6]
前記データ生成ロジックは、さらに、第1の媒体アクセス制御(MAC)層サービスデータユニットを生成することによって、前記アクセスポイントに送信されるべき前記データを生成するように構成され、
前記データフラグメント化ロジックは、さらに、前記第1のMAC層サービスデータユニットの第1のフラグメントを生成することによって前記第1のデータフラグメントを生成し、前記第1のMAC層サービスデータユニットの第2のフラグメントを生成することによって前記第2のデータフラグメントを生成するように構成される、C1に記載の装置。
[C7]
ワイヤレス通信のための方法であって、
第1のデバイスにおいて、アクセスポイントに送信されるべき第1のデータを生成することと、
前記第1のデータのサイズが第1の送信機会(TX_OP)のサイズを超えると決定することと、
前記第1のデータに基づいて、少なくとも第1のデータフラグメントと第2のデータフラグメントとを生成することと、ここにおいて、前記第1のデータフラグメントのサイズは前記第1のTX_OPの前記サイズに基づいて選択され、
前記第1のTX_OPの間に、第1のデータパケットを前記第1のデバイスから前記アクセスポイントに送信することと、前記第1のデータパケットは前記第1のデータフラグメントを含み、
を備える方法。
[C8]
前記第1のデータパケットは第1の物理層プロトコルデータユニットを含み、
前記第1の物理層プロトコルデータユニットのペイロードは、第1のMAC層プロトコルデータユニットを含み、
前記第1のMAC層プロトコルデータユニットは、前記第1のデータフラグメントを含む、
C7に記載の方法。
[C9]
第2のTX_OPの間に、第2のデータパケットを前記アクセスポイントに送信することをさらに備え、前記第2のデータパケットは第2の物理層プロトコルデータユニットを含み、前記第2の物理層プロトコルデータユニットのペイロードは第2のMAC層プロトコルデータユニットを含み、前記第2のMAC層プロトコルデータユニットは前記第2のデータフラグメントを含む、C7に記載の方法。
[C10]
前記第2の物理層プロトコルデータユニットは、前記第2のMAC層プロトコルデータユニットと第3のMAC層プロトコルデータユニットと第4のMAC層プロトコルデータユニットとを含む集約されたMAC層プロトコルデータユニットを含み、
前記第2のデータフラグメントと前記第3のMAC層プロトコルデータユニットの第2のMAC層サービスデータユニットと前記第4のMAC層プロトコルデータユニットの第3のMAC層サービスデータユニットの第1のフラグメントとを、前記第2のTX_OPのサイズ以下のサイズを有するように組み合わせることをさらに備える、
C9に記載の方法。
[C11]
前記第1のデータは、第2のMAC層サービスデータユニットを含み、
前記第1のデータパケットは、第1の物理層プロトコルデータユニットを含み、
前記第1の物理層プロトコルデータユニットのペイロードは、集約されたMAC層プロトコルデータユニットを含み、
前記集約されたMAC層プロトコルデータユニットは、第1のMAC層プロトコルデータユニットと第2のMAC層プロトコルデータユニットとを含み、
前記第1のMAC層プロトコルデータユニットは、前記第1のデータフラグメントを含み、
前記第2のMAC層プロトコルデータユニットは、前記第2のMAC層サービスデータユニットを含む、C7に記載の方法。
[C12]
ワイヤレス通信のための装置であって、
第1の送信機会(TX_OP)の間に、第1のデバイスからの第1のデータパケットと、第2のデバイスからの第2のデータパケットとを受信するように構成されるデータデフラグメントロジックと、前記第1のデータパケットは第1のデータフラグメントを含み、前記第2のデータパケットは第2のデータフラグメントを含み、
第1のブロック確認応答ビットマップと第2のブロック確認応答ビットマップとを含むブロック確認応答フレームを生成するように構成されるブロック確認応答生成ロジックと、ここにおいて、前記第1のブロック確認応答ビットマップは、前記第1のデバイスから受信される少なくとも前記第1のデータフラグメントを示し、前記第2のブロック確認応答ビットマップは、前記第2のデバイスから受信される少なくとも前記第2のデータフラグメントを示し、
前記ブロック確認応答フレームを、前記第1のデバイスおよび前記第2のデバイスに送信するように構成されるワイヤレスインターフェースと、
を備える装置。
[C13]
前記ブロック確認応答生成ロジックは、さらに、米国電気電子学会(IEEE)802.11規格に従って前記ブロック確認応答フレームを生成するように構成され、
前記ワイヤレスインターフェースは、さらに、前記IEEE802.11規格に従って動作するワイヤレスネットワークを介して前記ブロック確認応答フレームを送信するように構成される、C12に記載の装置。
[C14]
前記データデフラグメントロジックは、さらに、前記第1のデータパケットに含まれるフラグメント化情報を特定するように構成され、前記フラグメント化情報は、シーケンス識別子番号と、フラグメント番号と、追加フラグメントインジケータとを含む、C12に記載の装置。
[C15]
前記データデフラグメントロジックは、さらに、
前記シーケンス識別子番号に対応する特定のデータフラグメントが、前記第1のデバイスから受信されているかどうかを決定し、
前記特定のデータフラグメントが受信されていないと決定したことに応答して、前記第1のブロック確認応答ビットマップの特定のビットを第1の値に設定するように構成される、C14に記載の装置。
[C16]
前記データデフラグメントロジックは、さらに、前記シーケンス識別子番号に対応する前記特定のデータフラグメントが受信されていると決定したことに応答して、前記特定のビットを第2の値に設定するように構成される、C15に記載の装置。
[C17]
ワイヤレス通信のための方法であって、
第1のデバイスおよび第2のデバイスによって使用される第1の送信機会(TX_OP)の間に、アクセスポイントにおいて、前記第1のデバイスからの第1のデータパケットと前記第2のデバイスからの第2のデータパケットとを受信することと、前記第1のデータパケットは第1のデータフラグメントを含み、前記第2のデータパケットは第2のデータフラグメントを含み、
前記アクセスポイントにおいて、少なくとも第1のブロック確認応答ビットマップと第2のブロック確認応答ビットマップとを含むブロック確認応答フレームを生成することと、ここにおいて、前記第1のブロック確認応答ビットマップは、前記第1のデバイスから受信される少なくとも前記第1のデータフラグメントを示し、前記第2のブロック確認応答ビットマップは、前記第2のデバイスから受信される少なくとも前記第2のデータフラグメントを示し、
前記第1のデバイスに前記ブロック確認応答フレームを送信することと、
を備える、方法。
[C18]
前記第1のブロック確認応答ビットマップは、第1の圧縮されていないブロック確認応答ビットマップを備え、
前記第2のブロック確認応答ビットマップは、第2の圧縮されていないブロック確認応答ビットマップを備える、C17に記載の方法。
[C19]
前記ブロック確認応答フレームは、フレーム制御フィールドと、時間長/識別情報フィールドと、受信機アドレスフィールドと、送信機アドレスフィールドと、ブロック確認応答制御フィールドと、ブロック確認応答情報フィールドと、フレーム検査シーケンスフィールドとを含み、
前記ブロック確認応答制御フィールドは、確認応答ポリシービットと、マルチトラフィック識別子ビットと、ビットマップ圧縮ビットと、予備ビットのセットと、マルチトラフィック識別子情報ビットのセットとを含む、C18に記載の方法。
[C20]
前記ブロック確認応答情報フィールドは、局毎情報ビットの複数のセットと、ブロック確認応答開始シーケンス制御ビットの複数のセットと、前記第1の圧縮されていないブロック確認応答ビットマップおよび前記第2の圧縮されていないブロック確認応答ビットマップを含む複数の圧縮されていないブロック確認応答ビットマップと、を含む
C19に記載の方法。
[C21]
前記第1のブロック確認応答ビットマップは、第1の準圧縮されたブロック確認応答ビットマップを備え、
前記第2のブロック確認応答ビットマップは、第2の準圧縮されたブロック確認応答ビットマップを備える、C17に記載の方法。
[C22]
前記第1の準圧縮されたブロック確認応答ビットマップは、前記第1のデータフラグメントが前記アクセスポイントによって受信されたことを示し、
前記第1の準圧縮されたブロック確認応答ビットマップは、第1のデータユニットに対応するシーケンス番号に対して割り当てられた、前記第1の準圧縮されたブロック確認応答ビットマップのビットのセットにおいて、前記第1のデータフラグメントのフラグメント番号を示す、C21に記載の方法。
[C23]
前記ブロック確認応答フレームは、ブロック確認応答制御フィールドとブロック確認応答情報フィールドとを含み、
前記ブロック確認応答制御フィールドは、ビットマップ圧縮ビットと予備ビットのセットとを含み、
前記ブロック確認応答情報フィールドは、ブロック確認応答開始シーケンス制御ビットのセットと前記第1の準圧縮されたブロック確認応答ビットマップとを含む、C21に記載の方法。
[C24]
前記ビットマップ圧縮ビットは第1の値を有し、
予備ビットの前記セットの1つまたは複数のビットは、前記ブロック確認応答フレームが前記第1の準圧縮されたブロック確認応答ビットマップを含むことを示し、
前記第1の準圧縮されたブロック確認応答ビットマップは、1つまたは複数のデータフラグメント識別子を示す複数のビットを含み、
前記1つまたは複数のデータフラグメント識別子の各々は、特定のブロック確認応答シーケンスに対応する複数のデータユニットのうちの1つのデータユニットの1つのデータフラグメントに対応する、C23に記載の方法。
[C25]
前記ビットマップ圧縮ビットは第2の値を有し、
予備ビットの前記セットの1つまたは複数のビットは、前記ブロック確認応答フレームが前記第1の準圧縮されたブロック確認応答ビットマップを含むことを示し、
前記第1の準圧縮されたブロック確認応答ビットマップは、圧縮されたブロック確認応答ビットマップとフラグメント識別情報サブフィールドのセットとを含む、C23に記載の方法。
[C26]
前記圧縮されたブロック確認応答ビットマップは、前記第1のデバイスから前記アクセスポイントによって受信される1つまたは複数のフラグメント化されていないデータユニットを示す複数のビットを含み、
フラグメント識別情報サブフィールドの前記セットは、シーケンス識別子サブフィールドとデータフラグメント識別子とを含む、C25に記載の方法。
[C27]
前記第2の準圧縮されたブロック確認応答ビットマップは、前記第2のデバイスから受信された1つまたは複数のデータフラグメントを示し、
前記ブロック確認応答フレームを、前記アクセスポイントから前記第1のデバイスおよび前記第2のデバイスに送信することをさらに備える、
C21に記載の方法。
[C28]
前記ブロック確認応答フレームは、ブロック確認応答制御フィールドとブロック確認応答情報フィールドとを含み、
前記ブロック確認応答制御フィールドは、ビットマップ圧縮ビットと予備ビットのセットとを含み、
前記ブロック確認応答情報フィールドは、局毎情報ビットの第1のセットと、ブロック確認応答開始シーケンス制御ビットの第1のセットと、前記第1の準圧縮されたブロック確認応答ビットマップと、局毎情報ビットの第2のセットと、ブロック確認応答開始シーケンス制御ビットの第2のセットと、前記第2の準圧縮されたブロック確認応答ビットマップとを含む、
C27に記載の方法。
[C29]
前記ビットマップ圧縮ビットは第1の値を有し、
予備ビットの前記セットの1つまたは複数のビットは、前記ブロック確認応答フレームが少なくとも1つの準圧縮されたブロック確認応答ビットマップを含むことを示し、
局毎情報ビットの前記第1のセットの1つまたは複数の予備ビットは、前記第1のデバイスに対応する関連付け識別子と、データユニットが前記第1のデバイスによって分割されるデータフラグメントの数とを示し、
前記第1の準圧縮されたブロック確認応答ビットマップは、データフラグメントのデータフラグメント識別子を示す複数のビットを含み、
前記データフラグメントは、特定のブロック確認応答シーケンスに対応する複数のデータユニットのうちの1つに対応する、
C28に記載の方法。
[C30]
前記ビットマップ圧縮ビットは第2の値を有し、
予備ビットの前記セットの1つまたは複数のビットは、前記ブロック確認応答フレームが少なくとも1つの準圧縮されたブロック確認応答ビットマップを含むことを示し、
局毎情報ビットの前記第1のセットの1つまたは複数の予備ビットは、前記第1のデバイスに対応する関連付け識別子を示し、
前記第1の準圧縮されたブロック確認応答ビットマップは、圧縮されたブロック確認応答ビットマップとフラグメント識別情報サブフィールドのセットとを含み、
フラグメント識別情報サブフィールドの前記セットは、第1のシーケンス識別子サブフィールドとデータフラグメント識別子とを含む、
C28に記載の方法。