Uplink data fragmentation for multi-user networks.
Abstract
A wireless communication apparatus includes data generation logic configured to generate data that is to be transmitted to an access point and to determine that a data size exceeds a size of a first transmission opportunity (TX OP); The apparatus includes data fragmentation logic configured to generate at least a first data fragment and a second data fragment based on the data, where a size of the first data fragment is selected based on the size of the first TX OP ; The device also includes a wireless interface configured to transmit, during the first TX OP, a first data packet to the access point, the first data packet including the first data fragments.

Term
9 yearsleft in the term
Expires 1 October 2035.
- Priority
- Filed
- Granted
- Today
- Expires
27 claims: 3 independent, 24 dependent
- 1Habiendo descrito la presente invención, se considera como una novedad y, por lo tanto, se reclama como propiedad lo contenido en las siguientes:REIVINDICACIONES 1. Un aparato para comunicación inalámbrica, caracterizado porque el aparato comprende: lógica de generación de datos configurada para generar datos que van a ser transmitidos a un punto de acceso y para determinar que un tamaño de los datos excede un tamaño de una primera oportunidad de transmisión (TX_OP);lógica de fragmentación de datos configurada para generar al menos un primer fragmento de datos y un segundo fragmento de datos con base en los datos, en donde un tamaño del primer fragmento de datos es seleccionado con base en el tamaño de la primera TX_OP;y una interfaz inalámbrica configurada para transmitir, durante la primera TX_OP, un primer paquete de datos al punto de acceso, el primer paquete de datos incluye el primer fragmento de datos, en donde el primer paquete de datos se envía en respuesta de una trama recibida desde el punto de acceso, y en donde la trama incluye información de temporización correspondiente al tamaño de la primera TX_OP. 120
- 2El aparato de conformidad con la reivindicación 1, caracterizado porque:la lógica de generación de datos además está configurada para determinar, con base en un esquema de modulación y codificación, una cantidad de umbral de datos capaces de ser transmitidos durante la primera TX_OP;y la lógica de fragmentación de datos además está configurada para generar el primer fragmento de datos teniendo un tamaño que es menor que o igual a la cantidad de umbral datos.
- 3El aparato de conformidad con la reivindicación 1, caracterizado porque la trama comprende una trama de disparador, en donde la interfaz inalámbrica además está configurada para:recibir, desde el punto de acceso, una segunda trama del disparador que incluye una segunda información de temporización correspondiente a una segunda TX_OP y transmitir un segundo paquete de datos que incluye el segundo fragmento de datos al punto de acceso durante la segunda TXOP.
- 4El aparato de conformidad con la reivindicación 1, caracterizado porque la interfaz inalámbrica además está configurada para recibir, desde el punto de acceso, una trama de reconocimiento de bloque que incluye un primer mapa de 121 bits de reconocimiento de bloque no comprimido o un primer mapa de bits de reconocimiento de bloque semicomprimido.
- 5El aparato de conformidad con la reivindicación 4, caracterizado porque el primer mapa de bits de reconocimiento de bloque sin comprimir o el primer mapa de bits de reconocimiento de bloque semicomprimido indica que al menos incluye el primer mapa de bits de reconocimiento de bloque no comprimido, y en donde:la trama de reconocimiento de bloque incluye un campo de control de trama, un campo de duración/identificación, un campo de dirección de receptor, un campo de dirección de transmisor, un campo de control de reconocimiento de bloque, un campo de información de reconocimiento de bloque y un campo de secuencia de control de trama, y el campo de control de reconocimiento de bloque incluye un bit de política de reconocimiento, un bit de identificador de multi-tráfico, un bit de compresión de mapa de bits, un conjunto de bits reservados y un conjunto de bits de información de identificador de multi-tráfico. 122
- 67. El aparato de conformidad con la reivindicación 6, caracterizado porque el campo de información de reconocimiento de bloque incluye múltiples conjuntos de bits de información por estación, múltiples conjuntos de bits de control de secuencia de inicio de reconocimiento de bloque y múltiples mapas de bits de reconocimiento de bloque no comprimido que incluye el primer mapa de bits de reconocimiento de bloque no comprimido y un segundo mapa de bits de reconocimiento de bloque no comprimido correspondiente a otro dispositivo.
- 78. El aparato de conformidad con la reivindicación 1, caracterizado porque la interfaz inalámbrica además está configurada para transmitir, al punto de acceso durante una segunda TX_OP, un segundo paquete de datos que incluye el segundo fragmento de datos, y en donde el tamaño del segundo fragmento de datos es mayor que el tamaño del primer fragmento de datos.
- 89. El aparato de conformidad con la reivindicación 1, caracterizado porque:la lógica de generación de datos además está configurada para generar los datos que van a ser transmitidos al punto de acceso generando una primera unidad de datos de servicio de capa de control de acceso de medios (MAC), y 123 la lógica de fragmentación de datos además está configurada para generar el primer fragmento de datos generando un primer fragmento de la primera unidad de datos de servicio de capa MAC y para generar el segundo fragmento de datos generando un segundo fragmento de la primera unidad de datos de servicio de capa MAC.
- 910. El aparato de conformidad con la reivindicación 1, caracterizado porque se selecciona un tamaño del segundo fragmento de datos en función de un tamaño de una segunda TX_OP, en donde el tamaño del primer fragmento de datos es diferente del tamaño del segundo fragmento de datos, y en donde la interfaz inalámbrica además está configurada para transmitir, durante la segunda TX_OP, un segundo paquete de datos al punto de acceso, el segundo paquete de datos incluye el segundo fragmento de datos.
- 1011. El aparato de conformidad con la reivindicación 10, caracterizado porque el segundo paquete de datos se envía en respuesta a una segunda trama recibida desde el punto de acceso, en donde la segunda trama incluye la segunda información de temporización correspondiente al tamaño de la segunda TX_OP, y en donde el tamaño de la segunda TX_OP es diferente del tamaño de la primera TX_OP.
- 1112. El aparato de conformidad con la reivindicación 10, caracterizado porque el segundo paquete de datos se envía en 124 respuesta a una segunda trama recibida desde el punto de acceso, y en donde la información de temporización de la trama indica el tamaño de la segunda TX_OP.
- 1213. Un método para comunicación inalámbrica, caracterizado porque el método comprende:generar, en un primer dispositivo, primeros datos que van a ser transmitidos a un punto de acceso;determinar que un tamaño de los primeros datos excede un tamaño de una primera oportunidad de transmisión (TX_OP);generar al menos un primer fragmento de datos y un segundo fragmento de datos con base en los primeros datos, en donde un tamaño del primer fragmento de datos es seleccionado con base en el tamaño de la primera TX_OP;y transmitir, durante la primera TX_OP, un primer paquete de datos desde el primer dispositivo al punto de acceso, el primer paquete de datos incluye el primer fragmento de datos, en donde el primer paquete de datos se envía en respuesta de una trama recibida desde el punto de acceso, y en donde la trama incluye información de temporización correspondiente al tamaño de la primera TX_OP.
- 1314. El método de conformidad con la reivindicación 13, caracterizado porque:el primer paquete de datos incluye una primera unidad de datos de protocolo de capa física, 125 una carga útil de la primera unidad de datos de protocolo de capa física incluye una primera unidad de datos de protocolo de capa MAC, y la primera unidad de datos de protocolo de capa MAC incluye el primer fragmento de datos.
- 1415. El método de conformidad con la reivindicación 13, caracterizado porque además comprende trasmitir un segundo paquete de datos al punto de acceso durante una segunda TX_OP, el segundo paquete de datos incluye una segunda unidad de datos de protocolo de capa física, una carga útil de la segunda unidad de datos de protocolo de capa física incluye una segunda unidad de datos de protocolo de capa MAC y la segunda unidad de datos de protocolo de capa MAC incluye el segundo fragmento de datos.
- 1516. El método de conformidad con la reivindicación 15, caracterizado porque la segunda unidad de datos de protocolo de capa física incluye una unidad de datos de protocolo de capa MAC agregada que incluye la segunda unidad de datos de protocolo de capa MAC, una tercera unidad de datos de protocolo de capa MAC, y una cuarta unidad de datos de protocolo de capa MAC, y además comprende combinar el segundo fragmento de datos, una segunda unidad de datos de servicio de capa MAC de la tercera unidad de datos de protocolo de capa MAC, y un primer fragmento de una tercera unidad de 126 datos de servicio de capa MAC de la cuarta unidad de datos de protocolo de capa MAC para tener un tamaño que sea menor que o igual a un tamaño de la segunda TX_OP.
- 1617. El método de conformidad con la reivindicación 13, caracterizado porque:los primeros datos incluyen una segunda unidad de datos de servicio de capa MAC, el primer paquete de datos incluye una primera unidad de datos de protocolo de capa física, una carga útil de la primera unidad de datos de protocolo de capa física incluye una unidad de datos de protocolo de capa MAC agregada, la unidad de datos de protocolo de capa MAC agregada incluye una primera unidad de datos de protocolo de capa MAC y una segunda unidad de datos de protocolo de capa MAC, la primera unidad de datos de protocolo de capa MAC incluye el primer fragmento de datos, y la segunda unidad de datos de protocolo de capa MAC incluye la segunda unidad de datos de servicio de capa MAC.
- 1718. El método de conformidad con la reivindicación 13, caracterizado porque además comprende recibir, del punto de acceso, una trama de reconocimiento de bloque que incluye un primer mapa de bits de reconocimiento de bloque semicomprimido, y en donde:127 el primer mapa de bits de reconocimiento de bloque semicomprimido indica que el primer fragmento de datos ha sido recibido por el punto de acceso, y el primer mapa de bits de reconocimiento de bloque semicomprimido indica un número de fragmento del primer fragmento de datos en un conjunto de bits del primer mapa de bits de reconocimiento de bloques semicomprimido que es asignado para un número de secuencia correspondiente a una primera unidad de datos.
- 1819. El método de conformidad con la reivindicación 18, caracterizado porque:la trama de reconocimiento de bloque incluye un campo de control de reconocimiento de bloque y un campo de información de reconocimiento de bloque, el campo de control de reconocimiento de bloque incluye un bit de compresión de mapa de bits y un conjunto de bits reservados, y el campo de información de reconocimiento de bloque incluye un conjunto de bits de control de secuencia de inicio de reconocimiento de bloque y el primer mapa de bits de reconocimiento de bloque semicomprimido.
- 1920. El método de conformidad con la reivindicación 19, caracterizado porque:128 el bit de compresión de mapa de bits tiene un primer valor, uno o más bits del conjunto de bits reservados indican que la trama de reconocimiento de bloque incluye el primer mapa de bits de reconocimiento de bloque semicomprimido, el primer mapa de bits de reconocimiento de bloque semicomprimido incluye una pluralidad de bits indicando uno o más identificadores de fragmento de datos, y cada uno de ' uno o más identificadores de fragmento de datos corresponde a un fragmento de datos de una de una pluralidad de unidades de datos correspondientes a una secuencia de reconocimiento de bloque particular.
- 2021. El método de conformidad con la reivindicación 19, caracterizado porque:el bit de compresión de mapa de bits tiene un segundo valor, uno o más bits del conjunto de bits reservados indican que la trama de reconocimiento de bloque incluye el primer mapa de bits de reconocimiento de bloque semicomprimido, y el primer mapa de bits de reconocimiento de bloque semicomprimido incluye un mapa de bits de reconocimiento de bloque comprimido y un conjunto de subcampos de identificación de fragmento. 129
- 2122. El método de conformidad con la reivindicación 21, caracterizado porque:el mapa de bits de reconocimiento de bloque comprimido incluye una pluralidad de bits que indica que una o más unidades de datos no fragmentadas fueron recibidas por el punto de acceso desde el primer dispositivo, y el conjunto de subcampos de identificación de fragmento incluye un subcampo de identificador de secuencia y un identificador de fragmento de datos.
- 2223. El método de conformidad con la reivindicación 13, caracterizado porque además comprende recibir, desde el punto de acceso, una trama de reconocimiento de bloque que incluye un primer mapa de bits de reconocimiento de bloque semicomprimido e incluye un segundo mapa de bits de reconocimiento de bloque semicomprimido, y en donde el segundo mapa de bits de reconocimiento de bloque semicomprimido indica uno o más fragmentos de datos que fueron recibidos por el punto de acceso desde un segundo dispositivo.
- 2324. El método de conformidad con la reivindicación 23, caracterizado porque:la trama de reconocimiento de bloque incluye un campo de control de reconocimiento de bloque y un campo de información de reconocimiento de bloque, 130 el campo de control de reconocimiento de bloque incluye un bit de compresión de mapa de bits y un conjunto de bits reservados, y el campo de información de reconocimiento de bloque incluye un primer conjunto de bits de información por estación, un primer conjunto de bits de control de secuencia de inicio de reconocimiento de bloque, el primer mapa de bits de reconocimiento de bloque semicomprimido, un segundo conjunto de bits de información por estación, un segundo conjunto de bits de control de secuencia de inicio de reconocimiento de bloque, y el segundo mapa de bits de reconocimiento de bloque semicomprimido.
- 2425. El método de conformidad con la reivindicación 24, caracterizado porque:el bit de compresión de mapa de bits tiene un primer valor, uno o más bits del conjunto de bits reservados indican que la trama de reconocimiento de bloque incluye al menos un mapa de bits de reconocimiento de bloque semicomprimido, uno o más bits reservados del primer conjunto de bits de información por estación indican un identificador de asociación correspondiente al primer dispositivo y un número de fragmentos de datos en los cuales las unidades de datos son divididas por el primer dispositivo, 131 el primer mapa de bits de reconocimiento de bloque semicomprimido incluye una pluralidad de bits indicando un identificador de fragmento de datos de un fragmento de datos, y el fragmento de datos correspondiente a una de una pluralidad de unidades de datos correspondiente a una secuencia de reconocimiento de bloque particular.
- 2526. El método de conformidad con la reivindicación 24, caracterizado porque:el bit de compresión de mapa de bits tiene un segundo valor, uno o más bits del conjunto de bits reservados indican que la trama de reconocimiento de bloque incluye al menos un mapa de bits de reconocimiento de bloque semicomprimido, uno o más bits reservados del primer conjunto de bits de información por estación indican un identificador de asociación correspondiente al primer dispositivo, el primer mapa de bits de reconocimiento de bloque semicomprimido incluye un mapa de bits de reconocimiento de bloque comprimido y un conjunto de subcampos de identificación de fragmento, y el conjunto de subcampos de identificación de fragmento incluye un primer subcampo de identificador de secuencia y un identificador de fragmento de datos. 132
- 2627. Un aparato para comunicación inalámbrica, caracterizado porque el aparato comprende:medios para generar al menos un primer fragmento de datos y un segundo fragmento de datos basados en datos a transmitir a un punto de acceso, en donde el primer fragmento de datos y el segundo fragmento de datos se generan en respuesta a un tamaño de los datos que excede el tamaño de una oportunidad de transmisión (TX_OP) asociada con múltiples dispositivos, y en donde se selecciona un tamaño del primer fragmento de datos en función del tamaño de la TX_OP;y medios para transmitir un paquete de datos al punto de acceso durante la TX_OP, el paquete de datos incluye el primer fragmento de datos, en donde el paquete de datos se envía en respuesta a una trama recibida desde el punto de acceso, y en donde la trama incluye información de temporización correspondiente al tamaño de la primera TX_OP.
- 2728. El aparato para de conformidad con la reivindicación 27, caracterizado porque el paquete de datos está asociado con la comunicación multi-usuario de enlace ascendente, en donde el paquete de datos incluye información de fragmentación y en donde la información de fragmentación incluye un número de identificador de secuencia (ID), un número de fragmento y un indicador de más fragmentos.
Independent claims27
220 paragraphs in 5 sections, as filed
FRAGMENTATION OF ASCENDING LINK DATA FOR MULTI USER NETWORKS
FIELD OF THE INVENTION
The present disclosure generally refers to uplink data fragmentation for multi-user networks.
<td></td><td>BACKGROUND OF THE INVENTION</td>
<td>The progress</td><td>in technology have resulted in</td>
<td>devices</td><td>of increasingly smaller computing and more</td>
<td>powerful</td><td>For example, a variety of devices</td>
Portable personal computing, including cordless phones such as mobile and smart phones, tablets and laptops are small, lightweight and easily carried by users. These devices can communicate voice and data packets over wireless networks. In addition, many of these devices incorporate additional functionality, such as a digital static camera, a digital video camera, a digital recorder and an audio file player. Also, such devices can process executable instructions, including software applications, such as a web browser application, that can be used to access the Internet. Because of this, these devices may include important computing and networking capabilities.
Various wireless protocols and standards may be available for use by cordless phones and other wireless devices. For example, the Institute of Electrical and Electronic Engineers (IEEE) 802.11, commonly referred to as wi-fi is a standardized set of wireless local area network (WLAN) communication protocols. In current wi-fi protocols, an access point can schedule transmission opportunities (TX_OPs) (such as lengths of time during which a particular device can transmit data through a wireless medium) to the access point or to one or more devices, also referred to as stations. TX_OPs can be downlink TX_OPs (DL) (such as time durations in which the access point transmits data to one or more devices) or uplink TX_OPs (UL), (such as time durations in which a device, such as a station, transmits data to the access point). Because the access point generates data that will be transmitted to one or more devices (referred to as DL data), the access point can program a TX_OP DL that is large enough to transmit all DL data. However, the access point may not know a size of the data that will be transmitted from a particular device to the access point (referred to as UL data) and the access point may not have knowledge of a modulation scheme and Encoding (MCS) used by the particular device when a UL TX_OP is programmed for the particular device. If a size of the UL data exceeds a size of the UL TX_OP, the particular device may not use the UL TX_OP to transmit the UL data and the particular device may have to wait for a subsequent UL TX_OP to transmit the data to the access point . Therefore, a device in a multi-user wireless network (MU) that is assigned a UL TX_OP with a size smaller than UL data cannot transmit data during UL TX_OP, and the particular device may not use (or wastes) UL TX_OP. UL wasted TX_OPs increase latency and reduce the efficiency of the MU wireless network.
BRIEF DESCRIPTION OF ΙΛ INVENTION
In the present disclosure, the devices of a multi-user communication system (MU) can fragment UL data, such as data that will be transmitted from the devices to an access point, into multiple pieces of data. At least one piece of data can be included in a data packet that is transmitted from a device, such as a station to the access point through a wireless network during a TX_OP. A size of the data fragment can be selected based on a size of the TX_OP (so that the data fragment is sized to fit within the TX_OP). Additional data fragments of the UL data may be transmitted during subsequent TX_OPs. The access point can be configured to receive multiple data packets during multiple TX_OPs and to defragment multiple pieces of data included in the multiple data packets to retrieve the UL data. In this way, the devices in the MU communication system can reduce the unused (or wasted) UL TX_OPs by transmitting data packets that include at least a fragment of the UL data instead of refraining from transmitting any data during the UL TX_OPs. The UL data fragmentation techniques and designs described by the present disclosure can operate in accordance with an IEEE 802.11 standard, thus allowing the MU communication system to operate as a wi-fi network, such as an IEEE 802.11 network.
In a particular aspect, a wireless communication apparatus includes data generation logic configured to generate data that will be transmitted to an access point and to determine that a data size exceeds a size of a first transmission opportunity (TX_OP ). The apparatus includes data fragmentation logic configured to generate at least a first data fragment and a second data fragment based on the data, where a size of the first data fragment is selected based on the size of the first TX_OP. The device also includes a wireless interface configured to transmit, during the first TX_OP, a first data packet to the access point, the first data packet including the first data fragments.
In another particular aspect, a wireless communication apparatus includes data defragmentation logic configured to receive during a first transmission opportunity (TX_OP), a first data packet from the first device and a second data packet from the second device, the first data packet including a first data fragment, and the second data packet including a second data fragment. The apparatus includes block recognition generation (BA) logic configured to generate a block recognition (BA) frame including a first BA bitmap and a second BA bitmap, where the first BA bitmap indicates at least the first piece of data received from the first device, and where the second bitmap BA indicates at least the second piece of data received from the second device. The device also includes a wireless interface configured to transmit the BA frame to the first device and the second device. In a particular implementation, the first BA bitmap and the second BA bitmap are uncompressed BA bitmaps. Alternatively, the first BA bitmap and the second BA bitmap can be semi-compressed BA bitmaps.
In another particular aspect, a method includes generating, in a first device, first data that will be transmitted to an access point. The method includes determining that a size of the first data exceeds a size of a first transmission opportunity (TX_OP). The method also includes generating at least a first data fragment and a second data fragment based on the first data, where a size of the first data fragment is selected based on the size of the first TX_OP. The method also includes transmitting, during the first TX_OP, a first data packet from the first device to the access point, the first data packet including the first data fragment.
In another particular aspect, a method includes receiving, at an access point during a first transmission opportunity (TX_OP), at least a first data packet from a first device and a second data packet from a second device, the first packet of data including a first data fragment and the second data packet including a second data fragment. The method includes generating, at the access point, a block recognition frame (BA) including at least a first bitmap BA and a second bitmap BA, where the first bitmap BA indicates at least the first fragment of data received from the first device, and where the second bitmap BA indicates at least the second piece of data received from the second device. The method also includes transmitting the BA frame to the first device.
A particular advantage provided by at least one of the disclosed aspects is that, in an MU communication system, UL data can be fragmented into multiple data fragments for transmission as multiple data packets during multiple UL TX_OPs. Because the UL data is fragmented, a piece of data that is smaller than a totality of the UL data can be transmitted when a size of the UL data exceeds a size of a UL TX_OP associated with the device. One or more different fragments of the UL data may be transmitted during one or more subsequent UL TX_OPs to complete the transmission of the UL data. In this way, the device can use a UL TX_OP that has a size that is smaller than the size of the UL data to transmit a piece of data instead of wasting the UL TX_OP, such as not using the TX_OP. Reducing unused (or wasted) UL TX_OPs reduces latency and increases the efficiency of the MU communication system.
Other aspects, advantages and characteristics of this disclosure will be contributors after a review of the entire application, including the following sections: Brief Description of the Figures, Detailed Description and Claims.
BRIEF DESCRIPTION OF THE FIGURES
Figure 1 is a diagram of a particular implementation of a wireless communication system that allows one or more devices to transmit data fragments during uplink transmission opportunities (TX_OPs);
Figure 2 is a timing diagram of a first implementation for fragmenting uplink data for transmission during multiple uplink TX_OPs;
Figure 3 is a timing diagram of a second implementation of uplink data fragmentation for transmission over multiple uplink TX_OPs;
Figure 4 is a timing diagram of a third implementation for fragmenting uplink data for transmission during multiple uplink TX_OPs;
Figure 5 is a flow chart of an illustrative method of operating data fragmentation logic (or a data fragmentation engine) to fragment uplink data;
Figure 6 is a diagram of a first implementation of an uncompressed block recognition (BA) frame that includes an uncompressed BA bitmap;
Figure 7 is a diagram of a second implementation of an uncompressed BA frame that includes multiple uncompressed BA bitmaps;
Figure 8 is a diagram of a first implementation of a semi-compressed BA frame that includes a semi-compressed BA bitmap;
Figure 9 is a diagram of a second implementation of a semi-compressed BA frame that includes multiple semi-compressed BA bitmaps;
<td>The figure</td><td>10 is a</td><td>diagram</td><td>from</td><td>flow</td><td>from</td><td>a</td><td>method</td>
<td colspan="2">illustrative of operation in wireless communication);</td><td colspan="2">. a device</td><td>ivo (of</td><td>a</td><td colspan="2">system of</td>
<td>The figure</td><td>11 is a</td><td>diagram</td><td>from</td><td>luj o</td><td>from</td><td>a</td><td>method</td>
<td>illustrative communication</td><td>operation in wireless ^</td><td>a point ) r</td><td>from</td><td>access</td><td>(from</td><td>a</td><td>system</td>
<td>The figure</td><td>12 is a</td><td>diagram</td><td>from</td><td>flow</td><td>from</td><td>a</td><td>method</td>
<td>illustrative of</td><td>operation in</td><td>a point</td><td>from</td><td>access</td><td>(from</td><td>a</td><td>system</td>
wireless communication); Y
Figure 13 is a diagram of a wireless device that operates to support various implementations of one or more methods, systems, devices, computer readable media or a combination thereof, disclosed herein.
DETAILED DESCRIPTION OF THE INVENTION
Particular implementations of the present disclosure are described below with reference to the drawings. In the description, common characteristics are designated by common reference numbers in the drawings. As used herein, various terms can be abbreviated as follows: service data unit (SDU), protocol data unit (PDU), media access control (MAC), MAC services data unit ( MSDU), MAC protocol data unit (MPDU), MAC protocol data unit added (A-MPDU), physical layer convergence protocol (PLCP), PLCP service data unit (PDSU), PLCP data unit (PPDU). Additional abbreviations can be provided here. As used herein, the MAC service data unit (MSDU) may alternatively be referred to as a MAC layer service data unit, the MAC protocol data unit (MPDU) may alternatively be referred to as a unit MAC layer protocol data, the aggregate MAC protocol data unit (A-MPDU) may alternatively be referred to as an aggregate MAC layer protocol data unit, and the PPDU may alternatively be referred to as a physical layer protocol data unit.
Referring to Figure 1, a particular implementation of a system 100 is shown, such as a wireless communication system that allows fragmentation of uplink data (UL) during UL transmission opportunities (TX_OPs). System 100 can operate as a wireless local area network (WLAN) to allow system 100 devices to execute multi-user wireless communications (MU) between devices. System 100 can implement a network of the Institute of Electrical and Electronic Engineers (IEEE) 802.11, such as a Wi-Fi network, or a wireless network of
<td>agreement</td><td>with other protocols</td><td>or norms</td><td>from</td><td>communication</td>
<td>wireless The</td><td>ica. system 100 includes</td><td>a point</td><td>from</td><td>access 102</td>
configured to execute wireless communications with a plurality of devices, such as a first device 114 and a second device 126. In a particular implementation, devices 114 and 126 are stations. The system 100 illustrated in Figure 1 is for convenience only. In other implementations, the system 100 may include different numbers and types of devices in different locations, for example, in an alternate implementation, the functions of the access point 102 may be executed by one or more devices, such as the stations, and the System 100 can function as a peer-to-peer network between devices. In a particular implementation, access point 102 and devices 114 and 126 implement a wireless network, such as a WLAN, in accordance with one or more IEEE 802.11 standards or protocols, such
<td>like the</td><td>IEEE 802.11 standards</td><td>a, b, g, n, ac,</td><td>ad af</td><td>ah ai</td>
<td>aj, here and</td><td>ax.</td><td></td><td></td><td></td>
<td>The</td><td>system 100 can</td><td colspan="2">support communications</td><td>multi-</td>
<td>user</td><td>(MU) among multiple</td><td>devices. The</td><td>Point of</td><td>access</td>
102 and devices 114 and 126 can each execute MU communications. For example, access point 102 may transmit a single packet, such as a data packet, that is received by each of the devices 114 and 126. The single packet may include portions of individual data directed to each of the devices. 114 and 126. In a particular implementation, access point 102 and devices 114 and 126 execute orthogonal frequency division multiple access (OFDMA) communications and the packet is an OFDMA package. In another particular implementation, access point 102 and devices 114 and 126 execute multi-input multiple output (MIMO) communications and system 100 is a MU MIMO communication system.
The access point 102 can be configured to generate and transmit multiple access packets, including trigger frames, data packets, block recognition frames (BA) and other packets, to multiple system 100 devices. In a particular implementation, access point 102 includes a processor 108 (such as a central processing unit (CPU), a digital signal processor (DSP), a network processing unit (NPU), etc.), a memory 110 (such as a random access memory (RAM), a read-only memory (ROM), etc.), and a wireless interface 112 configured to send and receive data through a wireless network (such as through one or more wireless communication channels). Access point 102 may include multiple antennas and wireless interfaces
<td>additional (</td><td colspan="3">that are not shown)</td><td>for</td><td>enable</td><td>the</td>
<td>communications</td><td>MIME. Point</td><td>from</td><td>access</td><td> 102</td><td colspan="2">it also includes</td>
<td colspan="2">defragmentation logic</td><td>from</td><td>data</td><td> 104</td><td>and logic</td><td>from</td>
<td>generation of</td><td>recognition</td><td>from</td><td>block,</td><td>such</td><td>as logical</td><td>from</td>
Uncompressed or semi-compressed BA generation 106. The operations of the data defragmentation logic 104 and the uncompressed or semi-compressed BA generation logic 106 are described herein further. In a particular implementation, the data defragmentation logic 104 and the uncompressed or semi-compressed BA generation logic 106 are included in the processor 108. In another particular implementation, the data defragmentation logic 104 and the uncompressed or semi-compressed BA generation logic 106 are external to the processor 108. In another particular implementation, the processor 108, executing instructions stored in memory 110, performs the operations of the data defragmentation logic 104 and the uncompressed or semi-compressed BA generation logic 106.
Access point 102, such as processor 108, can be configured to program TX_OPs for multiple devices. For example, the access point 102 may program one or more TX_OPs of the first device 114 and the second device 126. The TX_OPs may be periods of time, assigned to devices 114 and 126 by the access point 102, during which time Devices 114 and 126 are programmed to transmit data through one or more wireless channels. TX_OPs may include UL TX_OPs during which devices 114 and 126 are programmed to transmit UL data to access point 102. For example, the first device 114 and the second device 126 can transmit data packets to access point 102 (such as through OFDMA, MIMO, etc.) during a UL TX_OP. Access point 102 can be configured to generate a trigger frame 140 to allow devices 114 and 126 to determine information related to the corresponding TX_OPs. For example, trigger frame 140 may include synchronization information and timing information indicating start times and durations of one or more TX-OPs with the first device 114 and the second device 126. The access point 102 can transmit the trigger frame 140 to the first device 114 and the second device 126.
Devices 114 and 126 may each include a processor, such as a processor 120, a memory, such as a memory 122, and a wireless interface, such as a wireless interface 124. Devices 114 and 126 may include multiple antennas. and additional wireless interfaces (not shown) to allow MIMO communications. The devices 114 and 126 may also each include data generation logic, such as data generation logic 116, and data fragmentation logic, such as data fragmentation logic 118. In a particular implementation, the data generation logic 116 and the data fragmentation logic 118 are included in the processor 120. In another particular implementation, the data generation logic 116 and the data fragmentation logic 118 are external to the processor 120. In another particular implementation, the processor 120, executing instructions stored in memory 122, performs the operations of the logic of data generation 116 and data fragmentation logic 118.
The data generation logic 116 can be configured to generate UL data to be transmitted to the access point 102. For example, the data generation logic 116 of the first device 114 can generate first data (such as first UL data) for transmission from the first device 114 to the access point 102 during a first TX_OP of the first device 114 and the second device 126. The first TX_OP may be indicated by trigger frame 140. The data generation logic 116, or the processor 120, or both, can also be configured to determine whether a size of the first data exceeds a size of the first TX_OP. For example, a threshold amount of data that can be transmitted during a TX_OP can be determined based on a size (such as a duration) of the TX_OP and a modulation and coding scheme (MCS) used by a transmission device. To illustrate, an MCS used by the first device 114 may correspond to (or may enable) a particular data transmission rate, and the amount of data threshold may be determined based on the particular data transmission rate and duration. of the first TX_OP. When the size of the first data does not exceed the size of the amount of data threshold (corresponding to the size of the first TX_OP), the first data can be transmitted from the wireless interface 124 to the access point 102 during the first TX_OP. When the size of the first data exceeds the amount of threshold data (corresponding to the size of the first TX_OP), the first data is provided to the data fragmentation logic 118.
The data fragmentation logic 118 can be configured to generate multiple data fragments based on the first data (such as to fragment or divide the first data). For example, data fragmentation logic 118 can generate at least a first fragment 142 of the first data and a second fragment 144 of the first data. In a particular implementation, data fragmentation logic 118 generates two pieces of data. In another particular implementation, the data fragmentation logic 118 generates n data fragments, where n is an integer between two and sixteen. In other implementations, n can be a different number. The data fragmentation logic 118 can select the size of the data fragments based on the size of the corresponding TX_OP. For example, the data fragmentation logic 118 can divide the first data into the first fragment 142 which has a size that does not exceed the amount of data threshold (corresponding to the size of the first TX_OP). Because the size of the first fragment 142 does not exceed the amount of data threshold, a first data packet that includes the first fragment 142 can be transmitted during the first TX_OP, and therefore the first TX_OP is not used (or wasted) ) by the first device 114. The second device 126 can similarly fragment data to transmit at least one piece of data to the access point 102 during the first TX_OP.
Although data transmission is described in an MU context, data fragmentation can be executed on a per device basis (for example, station).
The data fragmentation logic 118 generates the first data packet (based on the first fragment 142 of the first data) and causes the first data packet to be transmitted from the wireless interface 124 to the access point 102 during the first TX_OP . In addition, the data fragmentation logic 118 may generate a second data packet based on the second fragment 144 of the first data and may cause the second data packet (including the second fragment 144) to be transmitted from the wireless interface 124 to access point 102 during a second TX_OP that is later than the first TX_OP. In other implementations, data fragmentation logic 118 determines that a size of a remnant of the first data (after the first fragment 142 is removed) exceeds a size of the second TX_OP (such as a second amount of corresponding data threshold to the size of the second TX_OP), and the data fragmentation logic 118 divides the remainder of the first data into the second fragment 144 and one or more different pieces of data that will be transmitted during one or more subsequent TX_OPs to the second TX_OP.
2Q
In a particular implementation, the size of the first fragment 142 and the size of the second fragment 144 may be the same. For example, the first data can be divided in half to form the first fragment 142 and the second fragment 144. In this example, a size of the first data packet and a size of the second data packet can be the same. In a particular implementation, the size of the first data packet and the size of the second data packet may be based on a UniversalFragmentation point (such as a threshold packet length) specified by an IEEE 802.11 standard. In another implementation, the size of the first data packet and the size of the second data packet are the same, but the size of the first fragment 142 and the size of the second fragment 144 are different. For example, the size of the first fragment 142 may be larger than the size of the second fragment 144. To maintain the same size for the first data packet and the second data packet, the second data packet may include padding (such as one or more null or zero bits) in addition to the second fragment 144, as further described with reference to Figure 2. In other implementations, the size of the first data packet and the size of the second data packet are different, and the size of the first fragment 142 and the second fragment 144 are different, as described further with reference to Figures 3 and 4.
In a particular implementation, the first data package and the second data package may each include information (such as in a header) related to the corresponding data fragment. In a particular implementation, the information includes a sequence control field that includes a sequence identifier number (ID), a fragment number and an indicator of more fragments. The sequence ID number can be a unique number that corresponds to the first data. For example, the first data packet (which includes the first fragment 142) and the second data packet (which includes the second fragment 144) can each indicate the same sequence ID number (indicating that the first fragment 142 and the second fragment 144 are data fragments of the same data). The fragment number can be increased to represent each fragment of the data corresponding to the sequence ID number. For example, the fragment number indicated by the first data packet can be one and the fragment number indicated by the second data packet can be two. The indicator of more fragments can be a single bit that has a first value when the corresponding data fragment is not a last fragment of the data corresponding to the sequence ID number (such as when there are still more data fragments that are going to be transmitted) and have a second value when the corresponding data fragment is the last data fragment (such as when there are no more data fragments to be transmitted). For example, when the first data is divided (or fragmented) into two pieces of data, the indicator of more fragments of the first data packet has the first value (indicating that the first fragment 142 is not the last fragment of the first data) and the indicator of more fragments of the second data packet has the second value (indicating that the second fragment 144 is the last fragment of the first data). In a particular implementation, the sequence control field information (such as the sequence ID number, the fragment number and the more fragment indicator) is formed according to one or more protocols specified by an IEEE 802.11 standard for Fragment DL data in wireless networks with single access, single user.
In a particular implementation, the data fragmentation logic 118 can be configured to select one or more data fragmentation parameters (such as a number of data fragments m, a number of data units x, and a number of data fragments data per data packet and) that will be used to fragment the data and to transmit the data fragments. The data fragmentation logic 118 can communicate the data fragmentation parameters (such as m, x and y) to the access point 102 in a block recognition session (BA) request. The BA session request can be formed in accordance with an IEEE 802.11 standard. For example, the BA session request can be an IEEE 802.11 ADDBA request. In another implementation, the access point 102 can determine the parameters m, x and y, and can provide the parameters m, x and y for use by the devices, such as the first device 114 and the second device 126.
In order to process multiple pieces of data, access point 102 may include data defragmentation logic 104. Data defragmentation logic 104 may be configured to receive multiple pieces of data from devices 114 and 126 and to defragment the data. Multiple pieces of data to form defragmented data. For example, access point 102 may receive the first data packet (including the first fragment 142 of the first data) and the second data packet (including the second fragment 144 of the first data) from the first device 114 during
4 different TX_0Ps, such as during the first TX_OP and the second TX_OP. The access point 102 can provide the first fragment 142 and the second fragment 144 to the data defragmentation logic 104, and the data defragmentation logic 104 can execute defragmentation in the first fragment 142 and the second fragment 144 to defragment (or generate) the first data at access point 102. For example, based on the information in the sequence control fields of the first data packet and the second data packet, the data defragmentation logic 104 can determine that the first fragment 142 and the second fragment 144 correspond to the same data (such as the first data) and the data defragmentation logic 104 can combine the first fragment 142 and the second fragment 144 to generate the first data. The first data can be provided to processor 108 for processing.
In order to recognize the reception of the multiple data fragments, the access point 102 may include the uncompressed or semi-compressed BA generation logic 106. The uncompressed or semi-compressed BA generation logic 106 can be configured to generate a non-BA frame. Compressed or semi-compressed 150 based on data fragments received from devices 114 and 126. Illustrative uncompressed BA frames are described herein with reference to Figures 6 and 7. Illustrative semi-compressed BA frames are described herein with reference to Figures 8 and 9. In a particular implementation, a format of the uncompressed or semi-compressed BA frame 150 may be specified by an IEEE 802.11 standard.
The uncompressed or semi-compressed BA frame 150 may include one or more uncompressed or semi-compressed BA bitmaps to indicate the reception of multiple pieces of data. As used herein, an uncompressed BA frame refers to a frame that includes an uncompressed BA bitmap. In some implementations, the uncompressed BA frame may have a format defined by a wireless communication standard, such as an IEEE 802.11 standard. As used herein, a semi-compressed BA frame refers to a frame that includes a semi-compressed BA bitmap. In some implementations, the semi-compressed BA frame may have a format defined by a wireless communication standard, such as an IEEE 802.11 standard. A compressed BA bitmap includes a plurality of bits indicating whether an entire plurality of data units (instead of data unit fragments) of a data unit sequence corresponding to the first device 114 has been received, successfully decoded , or both, by access point 102. For example, for a data unit sequence having three data units, a compressed BA bitmap includes three bits, and each bit of the compressed BA bitmap indicates whether a corresponding data unit of the plurality of data units It has been received, decoded or both. The uncompressed BA bitmap indicates whether each data fragment of the plurality of data units has been received, as compared to the compressed BA bitmap, which indicates whether each data unit of the plurality of data units has been received A semi-compressed BA bitmap may include a plurality of bits indicating whether one or more data fragments, but not all data fragments, of the plurality of data units have been received by access point 102. In comparison to a Compressed BA bitmap, the semi-compressed BA bitmap indicates one or more pieces of data that have been received, instead of indicating only data units. In comparison to the uncompressed BA bitmap, the semi-compressed BA bitmap does not indicate whether each data fragment of the entire plurality of data units has been received, and the semi-compressed BA bitmap may be smaller than the map of uncompressed BA bits, as further described herein.
A first uncompressed BA bitmap may include a plurality of bits indicating whether each data fragment of a plurality of data units of a sequence of data units corresponding to the first device 114 has been received, successfully decoded, or both, by access point 102. The uncompressed or semi-compressed BA generation logic 106 can set a value of each bit of the first uncompressed BA bitmap based on data fragments received from the first device 114. For example, a first bit of the first uncompressed BA bitmap may have a first value when the first fragment 142 has been received by the access point 102 and the first bit can have a second value when the first fragment 142 has not been received by access point 102. As non-limiting examples, the first fragment 142 may not be received because the first fragment 142 did not reach the access point 102 or because the first fragment 142 was corrupted during transmission. A value of a second bit of the first uncompressed BA bitmap can be set based on whether the second fragment 144 has been received at access point 102. In other examples, other bits may correspond to other fragments of the first data, and other sets of bits may correspond to one or more fragments of other data units received at the access point 102 from the first device 114.
A semi-compressed BA bitmap may include a plurality of bits indicating whether one or more pieces of data, but not all pieces of data, of the plurality of data units have been received by access point 102. The map of Semi-compressed BA bits can also indicate one or more units of non-fragmented data received by access point 102. If the number of data fragments per data unit is limited (such as one or two), a number of bits used to identify the received data fragments may be less than a number of bits used to represent the BA bitmap. compressed. For example, the uncompressed BA bitmap may include a corresponding bit to indicate the reception of each of a threshold number (such as a maximum) of data fragments for each data unit, which may use more bits than the indication of one or more non-fragmented data units and a few (such as one or two) pieces of data, such as in the semi-compressed BA bitmap.
In a particular implementation, the uncompressed or semi-compressed BA frame 150 includes multiple uncompressed or semi-compressed BA bit maps corresponding to multiple devices. For example, the uncompressed or semi-compressed BA frame 150 may include the first uncompressed or semi-compressed BA bitmap corresponding to the first device 114 and a second uncompressed or semi-compressed BA bitmap corresponding to the second device 126. In this implementation, the uncompressed or semi-compressed BA frame 150 is transmitted from the access point 102 to both the first device 114 and the second device 126. Each of the first device 114 and the second device 126 can be configured to receive the BA frame uncompressed or semi-compressed 150 and to determine if previously transmitted data fragments have been received by access point 102. Based on a determination that at least one previously transmitted data fragment has not been received by access point 102, the first device 114 and the second device 126 may retransmit at least one previously transmitted data fragment. For example, the first device 114 can determine whether a bit of the first uncompressed or semi-compressed BA bitmap corresponding to the first fragment 142 has the second value (such as indicating that the first fragment 142 was not received by the access point 102) . When the particular bit has the second value, the first device 114 (such as through data fragmentation logic 118, the processor 120, or both) can generate a third data packet that includes the first fragment 142 and can transmit the third data packet to access point 102.
In an alternate implementation, the uncompressed or semi-compressed BA frame 150 includes a single uncompressed or semi-compressed BA bitmap (such as the first BA bitmap). In this implementation, the uncompressed or semi-compressed BA frame 150 is transmitted from the access point 102 to the first device 114 and not to the second device 126. A second uncompressed or semi-compressed BA frame that includes a second uncompressed or semi-compressed BA bitmap corresponding to the second device 126 may be generated and transmitted from the access point 102 to the second device 126 and not to the first device 114. In this implementation , additional uncompressed or semi-compressed BA frames are generated for each additional device of system 100.
During operation, access point 102 can generate and transmit trigger frame 140 to each of devices 114 and 126. In a particular implementation, trigger frame 140 indicates a single TX_OP of the devices, such as the first TX_OP In an alternate implementation, trigger frame 140 indicates one or more TX_OPs of the devices, such as the first TX_OP and the second TX_OP. In some implementations, the first device 114 may transmit a first ADDBA request 162 to the access point 102 to indicate one or more data fragmentation parameters used by the first device 114, and the second device 126 may transmit a second ADDBA request 164 to the access point 102 to indicate one or more data fragmentation parameters used by the second device 126, as described with reference to Figures 8 and 9. ADDBA applications 162 and 164 may be optional, and may not be used in other implementations. For example, data fragmentation parameters may be stored in memory 110 during the manufacture of access point 102 or may be communicated through other messages.
The first device 114 may determine that the size of the first data exceeds the size of the first TX_OP (such as the amount of threshold data corresponding to the size of the first TX_OP) and may generate the first data packet including the first fragment 142 and the second data packet including the second fragment 144. The first device 114 may transmit the first data packet and the second data packet to the access point 102 during the first TX_OP and the second TX_OP, respectively. Additionally, the second device 126 may determine that the size of the second data exceeds a size of the first TX_0P (such as the amount of threshold data corresponding to the size of the first TX_OP) and may generate a third data packet including a first fragment 146 of the second data and a fourth data packet including a second fragment 148 of the second data. The second device 126 may transmit the third data packet and the fourth data packet to the access point 102 during the first TX_OP and the second TX_OP, respectively.
After at least one transmission by at least one of the devices 114 and 126, the access point 102 may generate the uncompressed or semi-compressed frame 150 based on one or more pieces of data received. For example, the first TX_OP may occur before the second TX_OP. After the first TX_OP, the access point 102 may set one or more bits of a first uncompressed or semi-compressed BA bitmap included in the uncompressed or semi-compressed BA frame 150 to indicate whether the first fragment 142 of the first data has been received In a particular implementation, access point 102 also sets one or more bits of a second uncompressed or semi-compressed BA bitmap included in uncompressed or semi-compressed BA frame 150 to indicate whether the first fragment 146 of the second data has been received. In this implementation, access point 102 transmits uncompressed or semi-compressed frame 150 to first device 114 and second device 126. Additionally, the access point 102 can generate a second uncompressed or semi-compressed BA frame after the second TX_OP and the access point 102 can transmit the second uncompressed or semi-compressed BA frame to the first device 114 and the second device 126. In an alternative implementation, access point 102 transmits uncompressed or semi-compressed BA frame 150 to first device 114 and generates and transmits a second uncompressed or semi-compressed BA frame to second device 126. In this implementation, one or more bits of the first uncompressed or semi-compressed BA bitmap in the uncompressed or semi-compressed BA frame 150 indicate whether the first fragment 142 of the first data has been received by the access point 102 and, one or more bits of a second uncompressed or semi-compressed BA bitmap of the second uncompressed or semi-compressed BA frame indicate whether the first fragment 146 of the second data has been received by access point 102.
System 100 can then allow fragmentation of UL data transmitted from devices to an access point of a wireless communication system MU, such as a system that implements an IEEE 802.11 wireless network.
Because the UL data is fragmented, a piece of data that is smaller than a total of the UL data can be transmitted when a total size of the UL data exceeds a size of a UL TX_OP, such as an amount of threshold data corresponding to the size of the UL TX_OP. One or more different fragments of the UL data may be transmitted during one or more subsequent UL TX_OPs to complete the transmission of the UL data. In this way, the device can transmit a part (such as a fragment) of the UL data during a UL TX_OP that does not have a sufficient duration to transmit a whole of the UL data, and the UL TX_OP is not used. Reducing unused UL TX_OPs reduces latency and increases the efficiency of the wireless communication system.
Referring to Figure 2, a first timing diagram 200 is shown illustrating uplink data fragmentation for transmission during multiple uplink TX_OPs. In an illustrative implementation, data fragmentation can be executed by the data fragmentation logic 118 of the first device 114 and the transmission of data fragments can occur during the first TX_OP and the second TX_OP, as described with reference to the Figure 1.
In a particular implementation, UL data fragmentation occurs in a MAC layer, and not in the physical layer (PHY). For example, the UL data that will be fragmented may include one or more MSDUs. After fragmentation, other information such as headers, preambles or both, may be previously appended to the MSDUs (or fragments of MSDUs) to form physical layer convergence protocol (PLCP) data units (PPDUs). In some implementations, PPDUs can be referred to as data packets or physical layer packages. For example, the first data packet and the second data packet described with reference to Figure 1 may be PPDUs. Each PPDU can include a preamble and a payload. The payload may include a MAC header, data for other layers, UL data or a combination thereof, for example. In various implementations, the data units included in the payload may include an MPDU, A-MPDUs (such as one or more MPDUs added together), or a combination thereof. The MPDUs may include the MSDUs (or fragments of MSDUs), as described herein further.
As shown in Figure 2, the UL data includes an MSDU 202. The MSDU 202 may correspond to the first data described with reference to Figure 1. As shown in Figure 2, a size of the MSDU 202 may exceed the size of the first TX_OP. In order for the first TX_OP to be used for the transmission of UL data (instead of remaining unused), the MSDU 202 can be fragmented (or divided) into Fragment_l and Fragment_2, corresponding to the first fragment 142 and the second fragment 144, respectively , from figure 1.
To illustrate, the first TX_OP can have a size x. Although described as a size of the first TX_OP, x can refer to the amount of threshold data that can be transmitted during the first TX_OP, such as based on an MCS used by the first device 114, as described with reference to Figure 1. When the size of the MSDU 202 does not exceed x, the MSDU 202 may be transmitted during the first TX_OP and fragmentation of the MSDU 202 does not occur. When the size of the MSDU 202 exceeds x, the MSDU 202 can be fragmented. For example, MSDU 202 can be divided into Fragment_l that has a size that does not exceed x, and Fragment_2. In a particular implementation, the size of Fragment_l is also selected based on a threshold packet length (such as the PointFragmentationUnpoint specified by an IEEE 802.11 standard). For example, when x does not exceed the threshold packet length, the size of Fragment_l can be x. When x exceeds the threshold packet length, the size of Fragment_l may be less than x and less than or equal to the threshold packet length. In other implementations, the size of Fragment_l is based on x and not on the threshold packet length.
After fragmentation (or division) of MSDU 202 into Fragment_l and Fragment_2, data fragments can be packaged (as included) in corresponding MPDUs, which can be packaged (as included) into corresponding PPDUs and transmitted during TX_OPs corresponding. To illustrate, a first MPDU 204 (MPDU_1) can be generated (or formed) based on Fragment_l. For example, the first MPDU 204 may include a MAC header and Fragment_l. A first PPDU 208 (PPDU_1) may be generated (or formed) based on the first MPDU 204. For example, the first PPDU 208 may include a preamble and a payload that includes the first MPDU 204. In an illustrative implementation, the First data packet described with reference to Figure 1 corresponds to the first PPDU 208. Additionally, a second MPDU 206 (MPDU_2) can be generated (or formed) based on Fragment_2. For example, the second MPDU 206 may include a MAC header and Fragment_2. A second PPDU 210 (PPDU_2) may be generated (or formed) based on the second MPDU 206. For example, the second PPDU 210 may include a preamble and a payload that includes the second MPDU 206.
In an illustrative implementation, the second data packet described with reference to Figure 1 corresponds to the second PPDU 210.
As shown in Figure 2, the first device 114 receives a first trigger frame 212 (corresponding to the trigger frame 140 of Figure 1) from the access point 102. The first trigger frame 212 may include information on timing corresponding to the first TX_OP. During the first TX_OP, the first device 114 transmits the first PPDU 208 to the access point 102. The first device 114 receives a first BA 214 frame from the access point 102 based on the transmission of the first PPDU 208. In one example, the first BA 214 frame is an uncompressed or semi-compressed BA frame, such as the BA frame. Uncompressed or semi-compressed 150 of Figure 1. Following receipt of the first frame BA 214, the first device 114 receives a second trigger frame 216 from the access point 102. The second trigger frame 216 may include timing information corresponding to the second TX_OP. During the second TX_OP, the first device 114 transmits the second PPDU 210 to the access point 102. The first device 114 receives a second frame BA 218 from the access point 102 based on the transmission of the first PPDU 208. In one example , the second BA 218 frame is an uncompressed or semi-compressed BA frame.
In a particular implementation, the size of the first TX_OP and the size of the second TX_OP are the same, and a size of the first PPDU 208 and the second PPDU 210 are the same. However, the size of Fragment_l may exceed the size of Fragment_2. In this implementation, the payload of the second MPDU 206 includes Fragment_2 and also includes padding. For example, the payload of the second MPDU 206 may include Fragment_2 and one or more null bits so that a size of the second MPDU 206 is the same as a size of the first MPDU 204. In another particular implementation, MSDU 202 it can be fragmented into Fragment_l, one or more intermediate fragments, and Fragment_2 (so that Fragment_2 can be the last fragment of MSDU 202). In this implementation, the sizes of one or more intermediate fragments are the same as the size of Fragment_l, and only Fragment_2 (such as the last fragment) is filled in when it is included in the second MPDU 206.
In another particular implementation, the size of the first TX_OP and the size of the second TX_OP are different. In this implementation, the size of Fragment_2 is selected based on the size of the second TX_OP, and the size of the first PPDU 208 and the second PPDU 210 (such as the first data packet and the second data packet in the figure 1) may be different based on the different sizes of the TX_OPs. Because PPDUs 208 and 210 can be of different sizes, the second TX_OP that is smaller than the first TX_OP does not result in the second TX_OP being left unused.
Although Figure 2 illustrates the transmission of UL data for a single device (such as the first device 114), said illustration is not intended to be limited. For example, other devices (such as the second device 126) can similarly fragment the UL data and transmit data packets (including at least one piece of data) to the access point 102 during the first TX_OP, during the second TX_OP, or both. Multiple devices (such as the first device 114 and the second device 126) can transmit data packets to the access point 102 through the MU communications (such as OFDMA, MIMO, etc.).
Referring to Figure 3, a second timing diagram 300 is shown illustrating uplink data fragmentation for transmission during multiple uplink TX_OPs. In an illustrative implementation, data fragmentation can be executed by the data fragmentation logic 118 of the first device 114 and the transmission of data fragments can occur during the first TX_OP and the second TX_OP, as described with reference to the Figure 1.
Figure 3 illustrates an example of data fragmentation where the first data described with reference to Figure 1 includes multiple MSDUs. For example, the first data may include a first MSDU 302 (MSDU_1), a second MSDU 304 (MSDU_2), and a third MSDU 306 (MSDU_3). As shown in Figure 3, a size of the first MSDU 302 does not exceed the size of the first TX_OP. However, a combined size of the first MSDU 302, the second MSDU 304 and the third MSDU 306 exceeds the size of the first TX_OP.
To efficiently use each TX_OP, the data fragmentation logic 118 can pack (or include) one or more MSDUs and a fragment of a different MSDU in a PPDU for transmission during a corresponding TX_OP. For example, the first TX_OP can have a size x. The data fragmentation logic 118 may determine that the size of the first MSDU 302 does not exceed x and may generate (or form) a first MPDU 308 (MPDU_1) based on the first MSDU 302, so that the first MPDU 308 may include a MAC header and the first MSDU 302. The data fragmentation logic 118 can determine a remnant of the TX_OP, such as calculating a difference between x and the size of the first MPDU 308. When a size of a next MSDU to be packed does not exceed a size of the remainder of the TX_OP, the next MSDU can be packed in an MPDU, and the size of the remainder of the TX_OP can be updated. When the size of the next MSDU to be packed exceeds the size of the remaining TX_OP, the data fragmentation logic 118 can fragment the next MSDU. For example, the second MSDU 304 can be divided so that a size of a first fragment of the second MSDU 304 does not exceed the size of the remainder of the first TX_OP. A second MPDU 310 (MPDU_2.1) can be generated (or formed) based on the first fragment of the second MSDU 304 (so that the second MPDU 310 can include a MAC header and the first fragment of the second MSDU). The first MPDU 308 and the second MPDU 310 can be added together to form a first A-MPDU (A_MPDU-1). A first PPDU 316 can be generated (or formed) based on the first A-MPDU (so that the first PPDU 316 can include a preamble and a payload including A_MPDU_1) and can be transmitted to access point 102 during the first TX_OP
Additionally, a third MPDU 312 (MPDU_2.2) can be generated (or formed) based on a second fragment of the second MSDU 304 and a fourth MPDU 314 (MPDU_3) can be generated (or formed) based on the third MSDU 306. For example, the third MPDU 312 may include a MAC header and the second fragment of the second MSDU 304, and the fourth MPDU 314 may include a MAC header and the third MSDU 306. The third MPDU 312 and the fourth MPDU 314 can be added together to form a second A-MPDU (A_MPDU_2). A second PPDU 318 can be generated (or formed) based on the second A-MPDU (so that the second PPDU can include a preamble and a payload including A MPDU 2) and can be transmitted to access point 102 during the second TX_OP. Thus, a PPDU transmitted from the first device 114 to the access point 102 may include at least one complete MSDU and a fragment of a different MSDU.
Although Figure 3 illustrates transmission of UL data for a single device (such as the first device 114), said illustration is not intended to be limited. For example, other devices (such as the second device 126) may similarly fragment UL data and transmit data packets (including at least one piece of data) to access point 102 during the first TX_OP, during the second TX_OP, or both. Multiple devices (such as the first device 114 and the second device 126) can transmit data packets to the access point 102 through MU communications (such as OFDMA, MIMO, etc.).
Figure 4 illustrates an example of data fragmentation where multiple fragments of different MSDUs are packed (or included) in a single PPDU. In an illustrative implementation, the first data (such as UL data corresponding to the first data in Figure 1) includes a first MSDU 402 (MSDU_1), a second MSDU 404 (MSDU_2) a third MSDU 406 (MSDU_3), and a fourth MSDU 408 (MSDU_4). As shown in Figure 4, a size of the first MSDU 402 does not exceed the size of the first TX_OP. However, a combined size of the first MSDU 402, the second MSDU 404, the third MSDU 406, and the fourth MSDU 408 exceeds the size of the first TX_OP.
In order to efficiently use each TX_OP, the data fragmentation logic 118 may include one or more complete MSDUs and one or more MSDU fragments in a PPDU for transmission during a corresponding TX_OP. For example, the first TX_OP can have a size x. The data fragmentation logic 118 may determine that the size of the first MSDU 402 does not exceed x and may generate (or form) a first MPDU 410 (MPDU_1) based on the first MSDU 402, so that the first MPDU 410 may include a MAC header and the first MSDU 402. The data fragmentation logic 118 can determine a remnant of the TX_OP, for example by calculating a difference between x and the size of the first MSDU 402. When the size of the second MSDU 404 exceeds a size of the remnant of TX_OP, the data fragmentation logic 118 can fragment the second MSDU 404 into two fragments. The second MSDU 404 can be divided so that a size of a first fragment of the second MSDU 404 does not exceed the remainder of the first TX_OP. A second MPDU 412 (MPDU_2.1) can be generated (or formed) based on the first fragment of the second MSDU 404, so that the second MPDU 412 can include a MAC header and the first fragment of the second MSDU 404. The first MPDU 410 and the second MPDU 412 can be added together to form a first A-MPDU (A_MPDU_1). A first PPDU 420 may be generated (or formed) based on the first A_MPDU (so that the first PPDU 420 may include a preamble and a payload including A_MPDU_1) and may be transmitted to access point 102 during the first TX_OP.
The second TX_OP may have a size and that is different from the size x of the first TX_OP. However, a size of the remaining data (such as the second fragment of the second MSDU 404, the third MSDU 406 and the fourth MSDU 408) may exceed y. To efficiently use the second TX OP, the data fragmentation logic 118 can pack (such as include) multiple pieces of data in a PPDU to be transmitted during the second TX_OP. To illustrate, a third MPDU 414 (MPDU_2.2) can be generated (or formed) based on a second fragment of the second MSDU 404 and a fourth MPDU 416 (MPDU_3) can be generated (or formed) based on the third MSDU 406. For example, the third MPDU 414 may include a MAC header and the second fragment of the second MSDU 404, and the fourth MPDU 416 may include a MAC header and the third MSDU 406.
Additionally, the fourth MSDU 408 can be fragmented (or divided) into two (or more) pieces of data. The fourth MSDU 408 can be divided so that a size of a first fragment of the fourth MSDU 408 does not exceed a remaining size of the second TX_OP, such as a remnant of the second TX_OP after the second fragment of the second MSDU 404 and The third MSDU 406 are transmitted. A fifth MPDU 418 (MPDU_4.1) can be generated (or formed) based on the first fragment of the fourth MSDU 408 (so that the fifth MPDU 418 can include a MAC header and the first fragment of the fourth MSDU 408) . The third MPDU 414, the fourth MPDU 416 and the fifth MPDU 418 can be added together to form a second A-MPDU (A_MPDU_2). A second PPDU 422 may be generated (or formed) based on the second A-MPDU (so that the second PPDU 422 may include a preamble and a payload including A_MPDU_2) and may be transmitted to access point 102 during the second TX_OP Remaining fragments of the fourth MSDU 408 can be transmitted during subsequent TX_OPs. In a particular implementation, the first MPDU (such as the third MPDU 414) and the last MPDU (such as the fifth MPDU 418) in a PPDU have the ability to include fragments of MSDUs, and intermediate MPDUs (such as the fourth MPDUs 416) does not include fragments of MSDUs. Thus, a PPDU transmitted from the first device 114 to the access point 102 can include multiple fragments of different MSDUs.
Although Figure 4 illustrates the transmission of UL data for a single device (such as the first device 114), said illustration is not intended to be limited. For example, other devices (such as the second device 126) may similarly fragment UL data and transmit data packets (including multiple data fragments) to the access point 102 during the first TX_OP, during the second TX_OP, or both. Multiple devices (such as the first device 114 and the second device 126) can transmit data packets to the access point
102 through MU communications (such as OFDMA, MIMO etc.)
Referring to Figure 5, an illustrative method 500 for executing UL data fragmentation is shown. In an illustrative implementation, the method 500 is executed by the data fragmentation logic 118 of the first device 114 of Figure 1. In another particular implementation, an engine or fragmentation module is stored in the memory 122 of the first device 114 of the Figure 1, and is executable by processor 120 to execute the steps of method 500.
Method 500 includes receiving one or more data MSDUs to be transmitted during a TX_OP, at 502. For example, one or more UL data MSDUs may be in a row and be provided to the data fragmentation logic 118. The Method 500 includes determining a size of an MSDU for inclusion in a PPDU, at 504. For example, the PPDU may correspond to a packet of data to be transmitted to access point 102 of Figure 1 during TX_OP. The PPDU can be selected to have a larger threshold size with the ability to be transmitted during TX_OP.
Method 500 includes determining whether the MSDU fits into a remnant of a PPDU, at 506. For example, data fragmentation logic 118 can compare the size of the
MSDU with a remaining size of the PPDU (such as the difference between the threshold size and the sizes of any MPDUs already packed in the PPDU) to determine if the MSDU fits in the PPDU.
When the MSDU is set in the PPDU, method 500 continues in 508, where the MSDU is packed in a PPDU. Method 500 includes determining if any MSDUs are still to be packed (or included) in the PPDU, at 510. When there is still at least one MSDU, the size of the remaining PPDU is updated (so that a difference between the size of the previous remaining PPDU and the size of the MPDU including the MSDU is determined), at 512, and the method returns to 504, where a size of a next MPDU is determined for inclusion in the PPDU. When there is no MSDU, method 500 continues at 518.
When the MSDU does not fit in the PPDU (as determined in 506), method 500 continues in 514, where the MSDU is fragmented to fit in a remainder of the PPDU. For example, the MSDU can be fragmented (or divided) into multiple fragments including a first fragment that is sized to fit the remainder of the PPDU. Method 500 includes packing a first fragment of the MSDU into a last MPDU, in 516. Method 500 then continues in
518 .
Method 500 includes adding the MPDUs into an aggregate MPDU (A-MPDU) and packing the A-MPDU into the PPDU, at 518. For example, one or more MPDUs including one or more MSDUs, one or more MPDU fragments or a combination thereof, they are added in a single A-MPDU, and the A-MPDU is packed in the PPDU (so that the A-MPDU is included in a payload of the PPDU). The PPDU is transmitted to access point 102 during TX_OP. If there is still additional data in the row after the generation and transmission of the PPDU, one or more additional PPDUs can be generated using the 500 method for transmission during one or more subsequent TX_OPs.
To illustrate the performance of method 500, the operations of method 500 are described with reference to the illustrative implementation of Figure 4. The MSDUs 402-408 are queued and provided to the data fragmentation logic 118. The fragmentation logic Data 118 compares a size of the first MSDU 402 with a size of the first PPDU 420 (having a threshold size that does not exceed the size of the first TX_OP). Based on a determination that the first MSDU 402 fits in the first PPDU 420, the first MSDU 402 is packed in the first MPDU 410. In one aspect, the determination that the first MSDU 402 fits in the first PPDU 420 It can be based on the comparison of the size of the first MSDU 402 with the size of the first PPDU 420. The size of a row of the first PPDU 420 is updated based on the size of the first MPDU 410, and the data fragmentation logic 118 determines whether the second MSDU 404 fits in the remainder of the first PPDU 420. Based on a determination that the second MSDU 404 does not fit in the remainder of the first PPDU 420, the second MSDU 404 is fragmented, a first fragment of the second MSDU 404 is generated (the first fragment having a size that fits in the remainder of the first PPDU 420), and the first fragment of the second MSDU is packed in the second MPDU 412. The first MPDU 410 and the second MPDU 412 are added in the A-MPDU_1, the A-MPDU_1 is packed in the first PPDU 420, and the first PPDU 420 is transmitted to the access point 102 during the first TX_OP.
After the transmission of the first PPDU 420 (and the reception of a first BA frame), the second fragment of the second MSDU 404, the third MSDU 406 and the fourth MSDU 408 remain in the row for potential fragmentation and for transmission. The data fragmentation logic 118 compares a size of the second fragment of the second MSDU 404 with a size of the second PPDU 422 (having a threshold size that does not exceed the size of the second TX_OP).
Based on a determination that the second fragment of the second MSDU 404 fits in the second PPDU 422, the second fragment of the second MSDU 404 is packed in the third MPDU 414. In one aspect, the determination that the second fragment of the second MSDU 404 fits in the second PPDU 422 can be based on the comparison of the second MSDU 404 and the second PPDU 422. The size of a remainder of the second PPDU 422 is updated based on the size of the third MPDU 414, and the data fragmentation logic 118 determines whether the third MSDU 406 fits in the remainder of the second PPDU 422. Based in a determination that the third MSDU 406 fits in the remainder of the second PPDU 422, the third MSDU 406 is packed in the fourth MPDU 416. The size of the remainder of the second PPDU 422 is updated based on the size of the fourth MPDU 416, and the data fragmentation logic 118 determines whether the fourth MSDU 408 fits into the second PPDU 422.
Based on a determination that the fourth MSDU 408 does not fit in the remainder of the second PPDU 422, the fourth MSDU 408 is fragmented, a first fragment of the fourth MSDU 408 is generated (the first fragment having a size that fits in the remainder of the second PPDU 422), and the first fragment of the fourth MSDU is packed in the fifth
MPDU 418. The third MPDU 414, the fourth MPDU 416 and the fifth MPDU 418 are added in the A-MPDU_2, the A-MPDU_2 is packed in the second PPDU 422, and the second PPDU 422 is transmitted to the access point 102 during the second TX_OP. Remaining fragments of the fourth MSDU 408 are transmitted during subsequent TX_OPs. Therefore, method 500 allows efficient use of TX_OPs allowing up to two fragments of different MSDUs to be included in a single PPDU transmitted during a TX_OP.
Figure 6 illustrates an example of an uncompressed BA frame 600 that includes an uncompressed BA bitmap. In an illustrative implementation, the uncompressed BA frame 600 corresponds to the uncompressed or semi-compressed BA frame 150 of Figure 1, and is generated by the uncompressed or semi-compressed BA generation logic 106 of the access point 102. In another particular implementation, the uncompressed BA frame 600 is generated by the processor 108 of the access point 102 by executing instructions stored in memory 110.
The uncompressed BA frame 600 includes a frame control field 602, a duration / identification field (duration / ID field) 604, a receiver address field (RA) 606, a transmitter address field (TA) 608, a BA 610 control field, a BA 612 information field, and a frame check sequence (FCS) field 614. The frame control field 602, the duration field / ID 604, the field RA 606 and the field TA 608 can form a MAC header of the uncompressed BA frame 600, and can store information specified by an IEEE 802.11 standard. The BA 610 control field may include a recognition policy (ACK) bit 616, such as a BA ACK policy bit, a multi-traffic identifier (multi-TID) bit 618, a bitmap compression bit 620, a set of reserved bits 622, and a set of TID information bits (TID_INFO) 624. The policy bit ACK 616 can indicate whether a response to the uncompressed BA frame 600 should be transmitted, the multi-TID bit 618 can indicate if the uncompressed BA frame 600 corresponds to multiple TIDs, the bitmap compression bit 620 can indicate whether a BA bitmap included in the BA 612 information field is compressed or uncompressed, and the TID_INFO 624 bits can indicate traffic identifier information.
In a particular implementation, a value of the bitmap compression bit 620 is set to zero to indicate that an uncompressed bitmap is included in the BA 612 information field. In an alternate implementation, the value of the compression bit Bitmap 620 is set to one to indicate that an uncompressed bitmap is included in the BA 612 information field. Additionally, one or more of the reserved bit set 622 may be used to indicate a number of fragments into which each MSDU recognized by the uncompressed BA frame 600 is divided. For example, devices 114 and 126 of system 100 of Figure 1 can fragment (or divide) the MSDUs into m data fragments, and m can be represented by one or more bits of the set of reserved bits 622. In a particular implementation, m is a number between two and sixteen (so that MSDUs can be fragmented into up to sixteen fragments). In other implementations, m can be another number.
The BA 612 information field may be a variable length field and may include a set of start sequence control bits 626 and an uncompressed BA bitmap 628. The start sequence control bit set 626 can identify and indicate an order of a set of MSDUs received from a particular device of a wireless communication system, such as system 100. Additionally or alternatively, the m data fragments may be represented (or signaled) by one or more bits of the start sequence control bit set 626. The uncompressed BA bitmap 628 can provide fragment reception recognition of data from the MSDUs identified by the start sequence control bit set 626. The uncompressed BA bitmap 628 includes a plurality of bits indicating whether each piece of data in the set of MSDUs has been received by an access point, such as the access point 102 of Figure 1.
To illustrate, when m is two and two MSDUs are recognized by the uncompressed BA bitmap 628, a first bit of the uncompressed BA bitmap 628 can indicate whether a first fragment of a first MSDU, a second bit has been received of the uncompressed BA bitmap 628 can indicate whether a second fragment of the first MSDU has been received, a third bit of the uncompressed BA bitmap 628 can indicate whether a first fragment of a second MSDU has been received, and a fourth bit of the uncompressed BA bitmap 628 can indicate whether a second fragment of the second MSDU has been received. In this example, the start sequence control bit set 626 can identify the first MSDU and the second MSDU, in order. In other examples, other numbers of MSDUs can be identified by the start sequence control bit set 626, and bit sets of the uncompressed BA bitmap 628 can indicate whether each fragment of each MSDU has been received. In a particular implementation, the uncompressed BA bitmap 628 is configured to recognize the reception of fragments of sixty-four MSDUs. In this implementation, a size of the uncompressed BA bitmap 628 is 8 * m octets (such as bytes). In other implementations, the reception of fragments of a greater or lesser amount of MSDUs can be recognized, and the uncompressed BA bitmap 628 may have a different size.
The uncompressed BA frame 600 illustrated in Figure 6 is an example of an uncompressed BA frame that can be used in system 100 and will not be considered a limitation. In other implementations, one or more fields or bits may be included in the uncompressed BA frame 600 that are not illustrated in Figure 6, and one or more of the fields or bits illustrated may be omitted. In the implementation illustrated in Figure 6, the uncompressed BA frame 600 includes the simple uncompressed BA bitmap 628. Therefore, the uncompressed BA frame 600 can be transmitted from the access point 102 to a single device of the system 100. To recognize the reception of data from other devices of the system 100, the access point 102 may generate other uncompressed BA frames that include other uncompressed BA bitmaps, and may transmit the other uncompressed BA frames to the other devices.
Figure 7 illustrates an example of a BA frame not
<td colspan="2">700 tablet that includes</td><td colspan="3">multiple maps of</td><td>BA bits</td><td>do not</td>
<td>tablets</td><td>The BA frame</td><td>do not</td><td>compressed</td><td> 700</td><td>may</td><td>be</td>
<td>transmitted</td><td>for a point</td><td>from</td><td>access of</td><td>a</td><td>system</td><td>from</td>
<td>communication</td><td>wireless MU</td><td>to</td><td>multiple</td><td colspan="2">devices</td><td>of the</td>
MU wireless communication system. For example, the uncompressed BA frame 7 00 can be transmitted as an OFDMA communication, a MIMO communication or some other multi-user communication. In an illustrative implementation, the uncompressed BA frame 700 corresponds to the uncompressed or semi-compressed BA frame 150 of Figure 1 and is generated by the uncompressed or semi-compressed BA generation logic 106 of the access point 102. In another particular implementation, the uncompressed BA frame 700 is generated by the processor 108 of the access point 102 by executing instructions stored in memory 110.
The uncompressed BA frame 700 includes fields 602-614 and bits 616-624, as described with reference to Figure 6. However, in uncompressed BA frame 700, m (such as the number of fragments in which divides each MSDU received from a particular device) is not represented by one or more bits of the set of reserved bits 622. Additionally, the information field BA 612 of the uncompressed BA frame 700 differs from the information field BA 612 of the uncompressed BA frame 600.
In Figure 7, the information field BA 612 may be a variable length field and may include a set of information bits per STA 702, a set of start sequence control bits BA 704, and a bitmap BA uncompressed 706 for each device in system 100 for which access point 102 recognizes data transmission reception. For example, access point 102 may receive data transmissions from n devices, such as stations, and the information field BA 612 may include n sets of bits 702 and 704 and n uncompressed BA bitmaps 706. The set of Information bits per STA 702 may include a set of reserved bits 708 and a set of bits of value TID 710. The set of bits of value TID 710 may indicate a value of a traffic identifier. One or more of the reserved bit set 708 may be used to represent m, such as the number of fragments that each MSDU received from a particular device into which it is divided.
The start sequence control bit set BA 704 can identify the MSDUs received from a particular device of a wireless communication system (such as system 100), can indicate an order of the set of MSDUs of the BA bitmap not 706 tablet, or both. The uncompressed BA bitmap 706 can provide reception recognition of data fragments from the MSDUs identified by the start sequence control bit set BA 704. Bitmap ΒΆ uncompressed 706 includes a plurality of bits indicating whether each piece of data in the set of MSDUs has been received by an access point, such as access point 102 of Figure 1.
In contrast to the BA 612 information field of the uncompressed BA frame 600 (which includes a single set of start sequence control bits 626 and a single uncompressed BA bitmap 628), the BA 612 information field of The uncompressed BA frame 700 includes a set of information bits per STA 702, a set of start sequence control bits BA 704, and an uncompressed BA bitmap 706 for each recipient of the uncompressed BA frame 700. To illustrate, when the uncompressed BA frame 700 is transmitted by the access point 102 to the first device 114 and the second device 126, the uncompressed BA frame 700 includes a first group comprising the set of information bits by STA 702, the start sequence control bit set BA 704, and the uncompressed BA bitmap 706 corresponding to the first device 114. The uncompressed BA frame 700 also includes a second group comprising the set of information bits by STA 702, the start sequence control bit set BA 704, and the uncompressed BA bitmap 706 corresponding to the second device 126 .
To identify which uncompressed BA bitmap 706 corresponds to each target device, one or more bits of the reserved bit set 708 may be used to indicate a station association identifier (STA AID) of a corresponding device. For example, during association with access point 102, each device (such as devices 114 and 126) can be assigned an AID STA by access point 102. The access point 102 may include the STA AID in one or more bits of the reserved bit set 708 to indicate that the next uncompressed BA bitmap 706 corresponds to a device having the STA ID. Additionally, one or more bits of the reserved bit set 708 may be used to indicate a value of m related to the corresponding device. For example, each device (of devices 114 and 126) can divide the MSDUs into different numbers of fragments (corresponding to different values of m), and a value of m corresponding to each device (and each uncompressed BA bitmap 706 ) may be indicated by one or more bits of the reserved bit set 708.
A size of the information field BA 612 may depend on m (such as the number of fragments that each MSDU received from a particular device into which it is divided) and a number of target devices n. In a particular implementation, a size of each uncompressed BA bitmap 706 is 8 * m octets (such as bytes). A size of the information bit set per STA 702 may be two octets (such as bytes) and a size of the start sequence control bit set BA 704 may be two octets (such as bytes). Therefore, in the particular implementation, a size of the information field BA 612 is (4 + 8 * m) * n octets (such as bytes). In other implementations, the uncompressed BA bitmap 706 may indicate receipt of data fragments of a greater or lesser amount of MSDUs, and the uncompressed BA bitmap 706 (and the BA 612 information field) may have a different size In a particular aspect, all stations can have the same value for m, and m can be represented by one or more bits of the set of reserved bits 622. In a particular aspect, a single TID can be used and m can be represented by one or more bits of the TID value 710 bits.
The uncompressed BA frame 700 illustrated in Figure 7 is an example of an uncompressed BA frame that can be used in system 100 and will not be considered a limitation. In other implementations, one or more fields or bits may be included in the uncompressed BA frame 700 which are not illustrated in Figure 7, and one or more of the fields or bits illustrated may be omitted. In the implementation illustrated in Figure 7, the uncompressed BA frame 700 includes multiple uncompressed BA bitmaps 706 corresponding to different target devices. Therefore, the uncompressed BA frame 700 can be transmitted from the access point 102 to multiple devices (such as devices 114 and 126) of the system 100 as a communication MU. The transmission of a single 700 uncompressed BA frame to multiple devices can reduce the overhead in a wireless communication network.
Figure 8 illustrates an example of a semi-compressed BA frame 800 that includes a single semi-compressed BA bitmap. The semi-compressed BA frame 800 may be transmitted by an access point or a device, such as a station, of a wireless network. For example, the semi-compressed BA frame 800 may be transmitted by an access point of a wireless communication system MU to one or more devices, such as stations, of the wireless communication system MU. In a particular implementation, the semi-compressed BA frame 800 may be transmitted as part of an OFDMA communication, a MIMO communication, or some other multi-user communication. In an illustrative implementation, the semi-compressed BA frame 800 corresponds to the uncompressed or semi-compressed BA frame 150 of Figure 1 and is generated by the uncompressed or semi-compressed BA generation logic 106 of the access point 102. In another particular implementation, the semi-compressed frame 800 is generated by the processor 108 of the access point 102 that executes instructions stored in the memory 110.
The semi-compressed BA frame 800 includes fields 602614 and bits 616-624, as described with reference to Figure 6. However, in the semi-compressed BA frame 800, the information field BA 612 of the semi-compressed BA frame 800 includes the start sequence control bit set 626 and a semi-compressed BA bitmap 802. The semi-compressed BA bitmap 802 can indicate whether one or more data fragments corresponding to each MSDU of a sequence of MSDUs (indicated by the start sequence control bit set 626) have been received by an access point. In contrast to the uncompressed BA bitmap 628 of Figure 6, the semi-compressed BA bitmap 802 may include only enough bits to indicate whether a subset of data fragments (such as one two data fragments) corresponding to each MSDU in the sequence. Accordingly, a data size of the semi-compressed BA bitmap 802, for example four bits, may be smaller than a data size of the uncompressed BA bitmap 628 of Figure 6, for example 16 bits. In some implementations, the data size of the semi-compressed BA bitmap 802 cannot be smaller than the data size of the uncompressed BA bitmap 628 when a device, such as the first device 114 of Figure 1, transmits many fragments of data in a single PPDU of a data packet. Therefore, the semi-compressed BA bitmap 802 can be used in wireless systems that include devices configured to transmit one or two pieces of data in a PPDU, and the uncompressed BA bitmap 628 can be used in wireless systems that include devices configured to transmit three or more pieces of data in a PPDU.
An indication that the semi-compressed BA frame 800 includes a semi-compressed BA bitmap may be represented by one or more bits of the reserved bit set 622. As a non-limiting example, a particular bit of the set of reserved bits 622 may have a first value (such as a logical zero value) when no semi-compressed BA bitmap is included (such as when the BA frame includes a BA bitmap compressed or an uncompressed BA bitmap), and the particular bit may have a second value (such as a logical one value) when the semi-compressed BA bitmap 802 is included. Additionally, one or more bits of the set of reserved bits 622 may be used to indicate a threshold number k (such as a maximum) of fragments in which each MSDU (such as each data unit) can be fragmented by a station of transmission, such as the first device 114 of Figure 1. In a particular implementation, k is a number between two and sixteen, in other implementations, k may be another number.
In a first implementation, the bitmap compression bit 620 has a first value, such as a logical zero value. In this implementation, the semi-compressed BA bitmap 802 includes a plurality of bits indicating one or more data fragment identifiers. Each of one or more data fragment identifiers corresponds to a data fragment of one of a plurality of data units corresponding to a particular BA sequence. Each data fragment identifier may include log2 (k) bits and may indicate that an identified data fragment of the corresponding MSDU has been received by the access point. The number of data fragment identifiers in the semi-compressed BA bitmap 802 corresponding to the same MSDU may be the same as the number of data fragments included in a PPDU by the transmission device, such as the first device 114 of Figure 1
To illustrate, consider a case where the device is configured to transmit a single piece of data in a PPDU to the access point. Additionally, the maximum amount of data fragments for a single unit of data (such as PPDU) is four. In this example, the device sends, to the access point, a single piece of data from a first MSDU as well as a second non-fragmented (or full) MSDU. To recognize the reception of data from the device, the semi-compressed BA bitmap 802 includes a first data fragment identifier that identifies the data fragment corresponding to the first MSDU. Additionally, because the second MSDU is a non-fragmented MSDU, the bits distributed (such as allocated) in the semi-compressed BA bitmap 802 to identify a data fragment of the second MSDU are used to identify the non-fragmented MSDU. In this example, each data fragment identifier includes at least two bits (such as log2 (4) = 2) that denote the data fragment identifier (such as 00, 01, 10 or 11), and indicates which of the Four pieces of data from the corresponding MSDU have been received by the access point in a received data packet. To illustrate, when the access point receives a data packet including a third
<td>fragment of</td><td>the first</td><td>MSDU, a</td><td>value</td><td>Of the first</td>
<td>identifier</td><td>fragment</td><td>of data in</td><td>the map</td><td>bit BA</td>
<td>semi-compressed</td><td>802 is 10.</td><td>As another</td><td>example,</td><td>when the</td>
device is configured to transmit two pieces of data in a PPDU (and the number of data fragments per MSDU and the number of MSDUs are the same as before), the semi-compressed BA bitmap 802 includes two data fragment identifiers of the data fragments corresponding to the threshold number (such as the maximum) of MSDUs. Therefore, a data size (SBA_size) of the semi-compressed BA bitmap 802 can be y * x * log2 (k) / 8 octets (such as bytes), where y is the number of data fragments transmitted in a PPDU and x is the threshold number (such as the maximum) of MSDUs in the sequence. In a particular aspect, x can have a value of 64.
In a second implementation, the bitmap compression bit 620 has a second value (such as a logical one value). In this implementation, the semi-compressed BA bitmap 802 includes a compressed BA bitmap and a set of fragment identification subfields. The compressed BA bitmap may represent the reception by the access point of each MSDU of a sequence of MSDUs that are not fragmented. Each bit of the compressed bitmap can have a value that indicates whether a corresponding non-fragmented MSDU has been received by the access point. For example, a compressed BA bitmap that has a value of 0110 may indicate that a second MSDU and a third MSDU have been received by the access point and that a first MSDU and a fourth MSDU have not been received. The set of fragment identification subfields may include a sequence identifier subfield and a data fragment identifier each corresponding to a piece of data received from the device. The sequence identifier subfield may indicate a sequence control value that identifies a particular MSDU in the sequence of MSDUs transmitted by the device, and the data fragment identifier subfield may identify which of the k data fragments (corresponding to the MSDU identified by the sequence identifier subfield) have been received by the access point.
To illustrate, when the access point receives a data packet that has a PPDU that includes three MSDUs and a first data fragment of a fourth MSDU, the semi-compressed BA bitmap 802 includes a compressed BA bitmap indicating reception of the first, second and third MSDUs, a sequence identifier subfield indicating the fourth MSDU, and a data fragment identifier subfield indicating the first data fragment. As another example, when the access point receives a data packet that has a PPDU that includes a second data fragment of the first MSDU, the second MSDU, the third MSDU and a first data fragment of the fourth MSDU, the map Semi-compressed BA bit 802 includes a compressed BA bitmap indicating the reception of the second and third MSUDs, a first sequence identifier subfield indicating the first MSDU, a first data fragment identifier subfield indicating the second data fragment (of the first MSDU), a second sequence identifier subfield indicating the fourth MSDU, and a second data fragment identifier subfield indicating the first data fragment (from the fourth MSDU). A data size (SBA_size) of the semi-compressed BA bitmap 802 can be x / 8 + approximately 2-6 octets (such as bytes), where x is the number of MSDUs in the sequence (and therefore the bitmap tablet is approximately x / 8 octets and additional subfields are approximately 2-6 octets depending on the implementation). In one implementation, fragment identifiers are indicated when the corresponding data fragments are successfully received by the access point. In this implementation, the fragment identifiers corresponding to the data fragments that have not been received successfully are not included in the 802 bit semi-compressed BA bitmap.
In a particular implementation, the number of data fragments k, the number of MSDUs in an x sequence, and the number of data fragments in a PPDU and are fixed. For example, values of k, x, and y can be stored in memories of the access point and the device during manufacturing. In a particular implementation, k has a fixed value of 16. In other implementations, k can have other values. In another particular implementation, the values of k, x and y are variable. In this implementation, the values of k, x and y can be determined by each device and communicated to the access point. For example, the values of k, x and e corresponding to the first device 114 may be included in the first ADDBA request 162 transmitted from the first device 114 to the access point 102. Additionally, the values of k, x and e corresponding to the second device 126 may be included in the second ADDBA request 164 transmitted from the second device 126 to the access point 102. Because each device can transmit an ADDBA request, each device may select various values for k, xe and. In another particular implementation, the access point 102 can select the values of k, x and y can provide the values of m, x and y the devices 114 and 126 (such as the stations).
The semi-compressed BA frame 800 illustrated in Figure 8 is an example of a semi-compressed BA frame that can be used by devices in the system 100 and will not be considered a limitation. In other implementations, one or more fields or bits may be included in the semi-compressed BA frame 800 which are not illustrated in Figure 8, and one or more of the fields or bits illustrated may be omitted. In the implementation illustrated in FIG. 8, the semi-compressed BA frame 800 includes the single semi-compressed BA bitmap 802. Therefore, the semi-compressed BA frame 800 can be transmitted from the access point 102 to a single system device 100. To recognize the reception of data from other devices of the system 100, the access point 102 may generate other semi-compressed BA frames that include other semi-compressed BA bitmaps, and the access point 102 may transmit the other semi-compressed BA frames to the other devices. .
Additionally or alternatively, the semi-compressed BA frames may be transmitted by a station (such as the first device 114 or the second device 126) to the access point 102 in response to receiving data (such as downlink data (DL )) from access point 102.
Figure 9 illustrates an example of a semi-compressed BA frame 900 that includes multiple semi-compressed BA bitmaps. The semi-compressed BA frame 900 can be transmitted by an access point of a wireless communication system MU to multiple devices of the wireless communication system MU. For example, the semi-compressed BA frame 900 may be transmitted as part of an OFDMA communication, a MIMO communication or some other multi-user communication. In an illustrative implementation, the semi-compressed BA frame 900 corresponds to the uncompressed or semi-compressed BA frame 150 of FIG. 1 and is generated by the uncompressed or semi-compressed BA generation logic 106 of the access point 102. In another particular implementation, The semi-compressed BA frame 900 is generated by the processor 108 of the access point 102 which executes instructions stored in the memory 110.
The semi-compressed BA frame 900 includes fields 602614 and bits 616-624, as described with reference to Figure 8. However, in the semi-compressed BA frame 900, the information field BA 612 of the semi-compressed BA frame 900 includes, for each of n recipient devices of the semi-compressed BA frame 900, a corresponding set of information bits per STA 902, a corresponding set of start sequence control bits BA 904, and a corresponding semi-compressed BA bitmap 906. For example, the information field BA 612 of the semi-compressed BA frame 900 may be the same as the information field BA 612 of the uncompressed BA frame 700, except that the uncompressed BA bitmap 706 is replaced by the semi-compressed BA bits 906.
In Figure 9, the set of information bits by STA 902 includes a set of reserved bits 908 and a set of bits of TID value 910. The set of bits of TID value 910 may indicate a value of a traffic identifier. One or more bits of the set of reserved bits 908 can be used to represent k (such as the number of data fragments) for each of the n target devices. The start sequence control bit set BA 904 can identify a sequence of MSDUs corresponding to each of the n target devices. The semi-compressed BA bitmap 906 can provide reception recognition of one or more data fragments corresponding to the sequence of MSDUs identified by the start sequence control bit set BA 904. The semi-compressed BA bitmap 906 includes a plurality of bits indicating whether each piece of data in the set of MSDUs has been received by an access point (such as access point 102 of Figure 1). Each semi-compressed BA bitmap 906 can be formatted according to any implementation of the semi-compressed BA bitmap 802 described with reference to Figure 8.
To identify which semi-compressed BA bitmap 906 corresponds to each target device, one or more bits of the reserved bit set 908 can be used to indicate a station association ID (STA AID) of a corresponding device. For example, during association with access point 102, each device (such as devices 114 and 126) may have an AID STA assigned by access point 102. The access point 102 may include the AID STA in one or more bits of the reserved bit set 908 to indicate that the next semi-compressed BA bitmap 906 corresponds to a device having the AID STA. Additionally, one or more bits of the set of reserved bits 908 may be used to indicate a value of k related to the corresponding device. For example, each device (of devices 114 and 126) can be configured to allow MSDUs to be divided into different threshold numbers (such as maximum) of fragments (corresponding to different values of k), and a corresponding value of k Each device may be indicated by one or more bits of the set of reserved bits 908. A data size of the semi-compressed BA bitmap 906 may be related to the particular implementation of the semi-compressed BA bitmap 906.
The semi-compressed BA frame 900 illustrated in Figure 9 is an example of a semi-compressed BA frame that can be used by the devices in the system 100 and will not be considered a limitation. In other implementations, one or more fields or bits may be included in the semi-compressed BA frame 900 which are not illustrated in Figure 9, and one or more of the fields or bits illustrated may be omitted. In the implementation illustrated in Figure 9, the semi-compressed BA frame 900 includes multiple semi-compressed BA bit maps 906 corresponding to different target devices. Therefore, the semi-compressed BA frame 900 can be transmitted from the access point 102 to multiple devices (such as devices 114 and 126) of the system 100 as a communication MU. The transmission of a single semi-compressed BA 900 frame to multiple devices can reduce the overhead in a wireless communication network.
Referring to Figure 10, an illustrative implementation of a method for wireless communication is shown and designated as method 1000. For example, method 1000 may be associated with operation in a device of a wireless communication system MU. In an illustrative implementation, method 1000 may be executed by the first device 114 or the second device 126 of Figure 1. In some implementations, the steps of method 1000 may be executed in others
<td>orders, or one</td><td>or more</td><td>method steps</td><td> 1000</td><td>They may be</td>
<td>optional and</td><td>they can</td><td>not be executed</td><td>in</td><td>all</td>
<td>implementations</td><td> •</td><td></td><td></td><td></td>
<td>The method</td><td> 1000</td><td>includes generating,</td><td>in</td><td>a first</td>
device, first data that will be transmitted to an access point, at 1002. For example, with reference to Figure 1, the data generation logic 116 of the first device 114 generates first data that will be transmitted to the point of access 102.
Method 1000 includes determining that a size of the first data exceeds a size of a first TX_OP, at 1004. For example, with reference to Figure 1, the first device 114 (such as the data generation logic 116, the processor 120, or both) determines that a size of the first data exceeds a first TX_OP used by the first device 114 and the second device 126.
Method 1000 includes generating at least a first data fragment and a second data fragment based on the first data, in 1006. A size of the first data fragment is selected based on the size of the first TX_OP. For example, with reference to Figure 1, the data fragmentation logic 118 of the first device 114 generates at least the first fragment 142 and the second fragment 144. A size of the first piece of data is selected based on the size of the first TX_OP. For example, the first data is fragmented (or divided) so that a size of the first fragment 142 does not exceed a threshold amount of data with the ability to be transmitted during the first TX_OP.
Method 1000 also includes transmitting, during the first TX_OP, a first data packet from the first device to the access point, in 1008. The first data packet includes the first data fragment. For example, with reference to Figure 1, the first data packet including the first fragment 142 is transmitted from the first device 114 to the access point 102 during the first TX_OP. In a particular implementation, the generation of the first data packet includes determining, based on an MCS corresponding to the first device, an amount of data threshold that the first device has the ability to transmit during the first TX_OP and dividing the first data into the first piece of data that has a size that does not exceed the threshold amount. For example, the data fragmentation logic 118 can determine the amount of data threshold based on the size (such as a duration) of the first TX_OP and the MCS used by the first device 114. The data fragmentation logic 118 it can divide the first data so that the first fragment 142 has a size that does not exceed the amount of data threshold. In at least some implementations, an overload size (such as MAC headers, PPDU preambles, etc.) of the first data packet is also included in determining the size of the first fragment 142. In other implementations, the size of the overload it may be insignificant compared to the size of the first fragment 142. In another particular implementation, the first data packet includes fragmentation information comprising a sequence identifier number (ID), a fragment number and an indicator of more fragments.
In a particular implementation, the first device, one or more different devices, and the access point execute MU communications. For example, system 100 may be a wireless communication system MU. In a particular implementation, the first device, one or other devices, and the access point execute OFDMA communications or MIMO communications. Additionally or alternatively, the first data packet may be transmitted over a wireless network that operates in accordance with one or more IEEE 802.11 standards.
In another particular implementation, the first data includes a media access control layer (MAC) service data unit, the first data fragment includes a first fragment of the first MAC layer service data unit, and the Second data fragment includes a second fragment of the first MAC layer service data unit. For example, with reference to Figure 2, the first data includes MSDU 202, the first data fragment includes the first fragment of MSDU 202, and the second data fragment includes the second fragment of MSDU 202. Additionally, the first data packet includes a first physical layer protocol data unit, a payload of the first physical layer protocol data unit includes a first MAC layer protocol data unit, and the first MAC layer protocol data unit includes the first data fragment.
For example, with reference to Figure 2, the first data packet includes the first PPDU 208, a payload of the first PPDU 208 includes the first MPDU 204, and the first MPDU 204 includes the first fragment of the MSDU 202. Additionally, method 1000 includes transmitting, during a second PX_OP, a second data packet to the access point, where the second data packet includes a second physical layer protocol data unit, where a payload of the second unit of Physical layer protocol data includes a second MAC layer protocol data unit, and where the second MAC layer protocol data unit includes the second data fragment. For example, with reference to Figure 2, the second data packet transmitted during the second TX_OP includes the second PPDU 210, the second PPDU 210 includes the second MPDU 206, and the second MPDU 206 includes the second data fragment. Additionally or alternatively, the second PPDU includes an aggregate MAC layer protocol data unit (also referred to as an aggregate MAC protocol data unit (A-MPDU)) that includes the second MAC layer protocol data unit , a third MAC layer protocol data unit, and a fourth MAC layer protocol data unit, the third MAC layer protocol data unit includes a second MAC layer service data unit, the fourth MPDU includes a first fragment of a third MAC layer service data unit, and a combined size of the second data fragment, the second MAC layer service data unit, and the first fragment of the third data unit MAC layer service does not exceed a size of the second TX_OP. For example, with reference to Figure 4, the second PPDU 422 includes an aggregate MPDU (A_MPDU_2) that includes the second MPDU 414, the fourth MPDU 416 and the fifth MPDU 418. The fourth MPDU 416 may include the third MSDU 406, the fifth MPDU 418 includes a fragment of the fourth MSDU 408, and a combined size of the data fragment, the fourth MPDU 416, and the fragment of the fifth MPDU 418 does not exceed the size of the second TX_OP.
In another particular implementation, method 1000 includes transmitting, during a second TX_OP of the first device and one or more different devices, a second data packet from the first device to the access point. The second data packet may include the second data fragment. For example, with reference to Figure 1, the first device 114 transmits the second data packet including the second fragment 144 of the first data to the access point 102 during the second TX_OP. In a particular implementation, a size of the first data fragment is the same as a size of the second data fragment. For example, data fragmentation logic 118 can divide the first data in half when the first fragment 142 and the second fragment 144 are generated. Alternatively, a size of the first data fragment is different from a size of the second fragment of data. The second data packet may include the second data fragment and fill. For example, with reference to Figure 2, the first PPDU 208 includes the first MPDU 204 that includes the first fragment of the MSDU 202, and the second PPDU 210 includes the second MPDU 206 that includes the second fragment of the MSDU 202 and the padding (such as one or more null bits). The first fragment of the MSDU 202 may be larger than the second fragment of the MSDU 202.
In another particular implementation, method 1000 includes receiving a trigger frame from the access point in the first device. The trigger frame may indicate timing information corresponding to the first TX_OP. For example, with reference to FIG. 1, the first device 114 receives the trigger frame 140 from the access point 102 prior to the first TX_OP. Trigger frame 140 indicates timing information corresponding to the first TX_OP.
In another particular implementation, the first data includes a first MAC layer service data unit, the first data fragment includes a first fragment of the first MAC layer service data unit, and the second data fragment includes a second fragment of the first MAC layer service data unit. For example, with reference to Figure 3, the first data includes the second MSDU 304 which is fragmented into a first fragment and a second fragment. Additionally, the first data may include a second MAC layer service data unit, the first data packet may include a first physical layer protocol data unit, a payload of the first physical layer protocol data unit it may include an A-MPDU including a first MPDU and a second MPDU, the first MPDU may include the first data fragment, and the second MPDU may include the second MAC layer service data unit. For example, with reference to Figure 3, the first PPDU 316 includes the A-MPDU A_MPDU_1 which includes the first MPDU 308 and the second MPDU 310, the first MPDU 308 includes the first MSDU 302, and the second MPDU 310 includes the first fragment of the second MSDU 304. The first PPDU 316 is transmitted during the first TX_OP.
Alternatively, method 1000 includes transmitting, during a second TX_OP of the first device and one or more different devices, a second data packet from the first device to the access point. The second data packet may include a second physical layer protocol data unit, a payload of the second physical layer protocol data unit may include a second MPDU, and the second MPDU may include the second data fragment. For example, with reference to Figure 4, the second PPDU 422 includes the second A-MPDU A_MPDU_2 that includes the third MPDU 414, and the third MPDU 414 includes the second fragment of the second MSDU 404. The second PPDU 422 is transmitted during the second TX_OP. Additionally, the second physical layer protocol data unit may include an A-MPDU that includes the second MPDU, a third MPDU and a fourth MPDU, the third MPDU may include a second MAC layer service data unit, and the fourth MPDU may include a first fragment of a third MAC layer service data unit. In some implementations, the method 1000 may include the combination of the second data fragment, a second MAC layer service data unit of the third MAC layer protocol data unit, and a first fragment of a third data unit of MAC layer service of the fourth MAC layer protocol data unit to have a size that is less than or equal to a size of the second TX_OP. For example, with reference to Figure 4, the second
PPDU 422 includes the second A-MPDU A_MPDU_2 that includes the third MPDU 414, the fourth MPDU 416 and the fifth MPDU 418. The fourth MPDU 416 includes the third MSDU 406, and the fifth MPDU 418 includes the first fragment of the fourth MSDU 408 A size of the second A-MPDU (such as a combination of the third MPDU 414, the fourth MPDU 416, and the fifth MPDU 418) does not exceed a size of the second TX_OP.
In another particular implementation, method 1000 includes receiving a block recognition frame from the access point in the first device. The block recognition frame may include a first uncompressed block recognition bitmap corresponding to the first device. For example, with reference to Figure 1, the first device 114 may receive the uncompressed or semi-compressed BA frame 150 (including the first uncompressed BA bitmap) from the access point 102. The first uncompressed BA bitmap it can include a plurality of bits indicating whether the data fragments of a plurality of data units corresponding to the first device 114 have been received by the access point 102. In a particular implementation, the block recognition frame includes a single uncompressed block recognition frame. For example, the BA frame may correspond to the uncompressed BA frame 600 of Figure 6. Alternatively, the block recognition frame may include a second uncompressed block recognition bitmap corresponding to a second device, and the second uncompressed block reconnecting bitmap may include a second plurality of bits indicating if the data fragments of a second plurality of data units transmitted by the second device have been received by the access point. For example, with reference to Figure 7, the uncompressed BA frame 700 may include multiple uncompressed BA bitmaps 706 corresponding to different devices (indicated by STA AIDs represented by one or more bits of the reserved bit set 708). Additionally or alternatively, method 1000 includes determining whether one or more bits of the first uncompressed block recognition bitmap corresponding to the first data fragment have a particular value and transmit, during a second TX_OP of the first device, a second data packet including the first data fragment from the first device to the access point when one or more bits have the particular value. For example, with reference to FIG. 1, when the first device 114 determines, based on one or more bits of the first uncompressed bitmap BA in the uncompressed or semi-compressed BA frame 150, that the first fragment 142 has not been Received, successfully decoded, or both, by the access point 102, the first device 114 retransmits the first fragment 142 during the second TX_OP.
In some implementations, method 1000 includes receiving, in the first device that operates as the access point during a second TX_OP, a third data packet from the second device and a fourth data packet from a third device, the third packet of data. data including a third data fragment, and the fourth data packet including a fourth data fragment. For example, the first device 114 may also operate as the access point 102, as described with reference to Figure 1. The first device 114, which operates as the access point 102 may receive a second packet including the first fragment 146 of the second data and can receive a third packet including a third fragment of the third data from a third device, as described with reference to Figure 1. Method 1000 also includes generating, in the device operating as the access point, a block recognition (BA) frame including a first uncompressed BA bitmap and a second uncompressed BA bitmap, where the first map of uncompressed BA bits indicates one or more pieces of data received from the second device, and where the second uncompressed BA bitmap indicates one or more pieces of data received from the third device. For example, the first device 114, which operates as the access point 102 may generate the uncompressed or semi-compressed frame 150, which may indicate that the first fragment 146 of the second data and the second fragment 148 of the second data were received from the second device 126. The method 1000 also includes transmitting the BA frame from the first device that operates as the access point to the second device and the third device, for example, the first device 114, which operates as the access point 102 can transmit the frame BA not compressed or semi-compressed 150 to the second device 126 and a third device, as described with reference to Figure 1.
In other implementations, method 1000 includes receiving, at the first device that operates as the access point during a second TX_OP, at least a third data packet from the second device and a fourth data packet from a third device, the third data package including a third data fragment and the fourth data package including a fourth data fragment. For example, the first device 114 may also operate as the access point 102, as described with reference to Figure 1. The first device 114, which operates as the access point 102 may receive a second packet including the first fragment 146 of the second data and can receive a third data packet including a third fragment of the third data from a third device, as described with reference to Figure 1. Method 1000 also includes generating, in the first device that operates as the access point in response to the reception of the third data packet, a BA frame including at least a first semi-compressed BA bitmap, where the first BA bitmap semi-compressed indicates one or more pieces of data received from the second device, and where a data size of the first semi-compressed BA bitmap is smaller than a data size of an uncompressed BA bitmap. For example, the first device 114, which operates as the access point 102 may generate the uncompressed or semi-compressed frame 150, which may indicate that the first fragment 146 of the second data and the second fragment 148 of the second data were received from the second device 126. The method 1000 also includes transmitting the BA frame from the first device that operates as the access point to the second device. For example, the first device 114, which operates as the access point
102, can transmit the uncompressed or semi-compressed BA frame 150 to the second device 126, as described with reference to Figure 1.
Method 1000 allows a device of a wireless communication system MU to transmit data fragments in data packets during TX_OPs that would not otherwise be used by the device. The transmission of data fragments, instead of not transmitting data, reduces TX_OPs not used by the device and increases efficiency and reduces the latency of the MU wireless communication system.
Referring to Figure 11, an illustrative implementation of a wireless communication method 1100 is shown. For example, method 1100 can be associated with operation at an access point of a wireless communication system MU. In an illustrative implementation, method 1100 can be executed by access point 102 of Figure 1. In some implementations, the steps of method 1100 may be executed in other orders, or one or more steps of method 1100 may be optional and may not be executed in all implementations.
Method 1100 includes receiving, at an access point during a first TX_OP, a first data packet from a first device and a second data packet from a second device, at 1102. The first data packet includes a first data fragment. . The second data packet includes a second data fragment. For example, with reference to Figure 1, access point 102 receives the first data packet including the first fragment 142 of the first data from the first device 114 during the first TX_OP. Access point 102 also receives the third data packet including the first fragment 146 of the second data from the second device 126 during the first TX_OP.
Method 1100 includes generating, at the access point, a block recognition frame including a first block recognition bitmap and a second block recognition bitmap, at 1104. The first recognition bitmap Block indicates at least the first data fragment received from the first device, and the second block recognition bitmap indicates at least the second data fragment received from the second device. In a particular implementation, the first block recognition bitmap includes a first uncompressed block recognition bitmap, and the second block recognition bitmap includes a second uncompressed block recognition bitmap. For example, with reference to Figure 1, the uncompressed or semi-compressed BA generation logic 106 of the access point 102 generates the uncompressed or semi-compressed BA frame 150 including the first uncompressed BA bitmap and the second BA bitmap not compressed The block recognition frame can be formed in accordance with a standard, IEEE 802.11. The block recognition frame may correspond to the uncompressed BA frame 7 00 of Figure 7, including the multiple uncompressed BA bitmaps 706. In other implementations, the first block recognition bitmap includes a first map of semi-compressed block recognition bits, and the second block recognition bit map includes a second semi-compressed block recognition bitmap. The generation of semi-compressed BA bitmaps is further described with reference to Figure 12.
The method 1100 also includes transmitting the block recognition frame from the access point to the first device and the second device, at 1106. For example, with reference to Figure 1, the access point 102 transmits the uncompressed BA frame or semi-compressed 150 to the first device 114 and the second device 126.
In a particular implementation, the BA frame includes a frame control field, a duration / ID field, a receiver address field, a transmitter address field, a block recognition control field, an information field block recognition, and a frame check sequence field. The BA control field may include a recognition policy bit (for example, a BA ACK policy bit), a multi-traffic identifier bit, a bitmap compression bit, a set of reserved bits, and a bit set of multi-traffic identifier information. For example, with reference to Figure 7, the uncompressed BA frame 700 includes frame control field 602, duration field / ID 604, field RA 606, field TA 608, control field BA 610, the BA 612 information field and the FCS 614 field, and the BA 610 control field includes the policy bit ACK 616, the multi-TID bit 618, the bitmap compression bit 620, the set of reserved bits 622 , and the bit set TID_INFO 624. Additionally, the block recognition information field may include multiple sets of information bits per STA, multiple sets of BA start sequence control bits, and multiple uncompressed block recognition bitmaps including the first map. of uncompressed block recognition bits and the second uncompressed block recognition bitmap. For example, with reference to Figure 7, the information field BA 612 includes multiple sets of information bits per STA 702, multiple sets of start sequence control bits BA 704, and multiple uncompressed BA bitmaps 706.
In another particular implementation, method 1100 includes receiving, during a second TX_OP of the first device and the second device, a third data packet from the first device at the access point. The third data package may include a third data fragment, and the first data fragment and the third data fragment may be fragments of the same MSDU. For example, with reference to Figure 1, the access point 102 may receive the second packet including the second fragment 144 of the first data from the first device 114 during the second TX_OP. The first fragment 142 and the second fragment 144 may be fragments of the same MSDU (such as MSDU 202 of Figure 2, the second MSDU 304 of Figure 3, or the second MSDU 404 of Figure 4).
In another particular implementation, the first data packet includes fragmentation information including a sequence identifier number, a fragment number and an indicator of more fragments. The method 1100 may also include determining whether a particular piece of data corresponding to the sequence identifier number has been received from the first device at the access point and setting a particular bit of the first BA bitmap not compressed to a first value. when the particular data fragment has not been received. For example, with reference to Figure 1, the access point 102 determines whether the first fragment 142 has been received and sets a particular bit of the first uncompressed BA bitmap (in the uncompressed or semi-compressed BA frame 150) that corresponds to the first fragment 142 to a first value when the first fragment 142 has not been received. Method 1100 may also include setting the particular bit to a second value when the particular data fragment has been received. For example, with reference to Figure 1, access point 102 sets the particular bit to a second value when the first fragment 142 has been received. Additionally or alternatively, method 1100 includes receiving, during a second TX_OP of the first device and the second device, a third data packet from the first device at the access point, the third data packet including the particular data fragment . For example, with reference to Figure 1, after transmitting the uncompressed or semi-compressed BA frame 150 indicating that the first fragment 142 has not been received, the access point 102 receives a retransmission of the first fragment 142 during the second TX_OP (in place of or in addition to the second fragment 144).
The 1100 method allows an access point of a wireless communication system MU to receive fragments of UL data from multiple devices. The access point can respond to UL data fragments by transmitting a single uncompressed BA frame that includes uncompressed BA bitmaps corresponding to each of the multiple devices.
Referring to Figure 12, an illustrative implementation of a method of wireless communication 1200 is shown. For example, method 1200 may be associated with operation at an access point of a wireless communication system MU. The method 1200 may be executed by the access point 102 of Figure 1. In some implementations, the steps of method 1200 may be executed in other orders, or one or more steps of method 1200 may be optional and may not be executed.
Method 1200 includes receiving, at an access point during a first transmission opportunity (TX_OP), at least a first data packet from a first device and a second data packet from a second device, at 1202. The first packet of data can include a first data fragment and the second data packet can include a second data fragment. For example, with reference to Figure 1, access point 102 receives the first data packet including the first fragment 142 of the first data from the first device 114 during the first TX_OP. Access point 102 also receives the second data packet including the first fragment 146 of the second data from the second device 126 during the first TX_OP.
Method 1200 includes generating, at the access point, a BA frame including at least a first semi-compressed BA bitmap, at 1204. The first semi-compressed BA bitmap indicates one or more pieces of data received from the first device. For example, with reference to FIG. 1, the uncompressed or semi-compressed BA generation logic 106 of the access point 102 can generate the uncompressed or semi-compressed BA frame 150 including at least the first semi-compressed BA bitmap. The BA frame can be formed in accordance with an IEEE 802.11 standard. The BA frame may correspond to the semi-compressed BA frame 800 of Figure 8 or the semi-compressed BA frame 900 of Figure 9. In a particular implementation, the first data fragment is corresponding to a first data unit, and the first semi-compressed BA bitmap indicates that the first data fragment has been received by the access point. Additionally, the semi-compressed BA bitmap may indicate a fragment number of the first data fragment in a bit set of the semi-compressed BA bitmap that is assigned for a sequence number corresponding to the first data unit. For example, the semi-compressed BA bitmap 802 of Figure 8 may indicate that one or two pieces of data corresponding to a particular MSDU have been received by the access point in sets of bits assigned for a sequence number corresponding to the MSDU particular. A data size of the first semi-compressed BA bitmap may be smaller than a data size of an uncompressed BA bitmap. For example, a data size of the semi-compressed BA bitmap 802 of Figure 8 may be smaller than a data size of the uncompressed BA bitmap 628 of Figure 6, and a data size of the semi-compressed BA bitmap 90 6 of Figure 9 may be smaller than a data size of the uncompressed BA bitmap 706 of Figure 7 when only a few pieces of data (such as one or two data fragments) are indicated by the semi-compressed BA bitmap 802 or the semi-compressed BA bitmap 906.
Method 1200 also includes transmitting the BA frame from the access point to the first device, at 1206. By
100 For example, with reference to FIG. 1, access point 102 transmits uncompressed or semi-compressed frame 150 to first device 114.
In a particular implementation, method 1200 includes generating, at the access point, a second BA frame including a second semi-compressed BA bitmap and transmitting the second BA frame from the access point to the second device. The second semi-compressed BA bitmap can identify one or more pieces of data received from the second device. For example, with reference to Figures 1 and 8, a second semi-compressed BA frame (for example, the semi-compressed BA frame 800), including the second semi-compressed BA bitmap 802, can be transmitted from the access point 102 to the second device 126. Additionally or alternatively, the BA frame may include a BA control field and a BA information field, the BA control field may include a bitmap compression bit and a set of reserved bits, and the information field BA may include a set of block recognition start sequence control bits and the first semi-compressed BA bitmap. For example, with reference to Figure 8, the semi-compressed BA frame 800 may include the control field BA 610 and the information field BA 612, the control field
101
BA 610 may include the bitmap compression bit 620 and the reserved bit set 622, and the BA 612 information field may include the start sequence control bit set 626 and the semi-compressed BA bitmap 802.
In a particular implementation, the bitmap compression bit has a first value, one or more bits of the reserved bit set indicate that the BA frame includes the first semi-compressed BA bitmap, the first semi-compressed BA bitmap includes a plurality of bits indicating one or more data fragment identifiers, and each of one or more data fragment identifiers corresponds to a data fragment of a plurality of data units corresponding to a particular block recognition sequence. For example, when the bitmap compression bit 620 has a first value (such as a logical zero value), one or more bits of the reserved bit set 622 indicate that the semi-compressed BA frame 800 includes the semi-compressed BA bitmap 802, and the semi-compressed BA bitmap 802 is formed in accordance with the first implementation of the 802 semi-compressed BA bitmap, as described with reference to Figure 8. In an alternate implementation, the bitmap compression bit has a second value, one or more bits of the set of
102 reserved bits indicate that the BA frame includes the first semi-compressed BA bitmap, and the first semi-compressed BA bitmap includes a compressed block recognition bitmap and a set of fragment identification subfields. Additionally, the compressed block recognition bitmap may include a plurality of bits indicating one or more units of non-fragmented data received by the access point from the first device, and the set of fragment identification subfields may include a sequence identifier subfield and a data fragment identifier. For example, when the bitmap compression bit 620 has a second value (such as a logical one value), one or more bits of the reserved bit set 622 indicate that the semi-compressed BA frame 800 includes the BA 802 bitmap , and the semi-compressed BA bitmap 802 is formed in accordance with the second implementation of the semi-compressed BA bitmap 802, as described with reference to Figure 8.
In another particular implementation, the BA frame includes a second semi-compressed BA bitmap, the second semi-compressed BA bitmap indicates one or more pieces of data received from the second device, and the BA frame is transmitted from the access point to the first device and
103 to the second device. For example, with reference to Figures 1 and 9, a semi-compressed BA frame 900, including two second semi-compressed BA bit maps 906, can be transmitted from the access point 102 to the first device 114 and the second device 126. Additionally or alternatively, the BA frame may include a BA control field and a BA information field, the BA control field may include a bitmap compression bit and a set of reserved bits, and the information field BA may include a first set of information bits per station, a first set of block recognition start sequence control bits, the first semi-compressed BA bitmap, a second set of information bits per STA, a second set of block recognition start sequence control bits, and the second semi-compressed BA bitmap. For example, with reference to Figure 9, the semi-compressed BA frame 900 may include the control field BA 610 and the information field BA 612, the control field BA 610 may include the bitmap compression bit 620 and the reserved bit set 622, and the information field BA 612 may include the multiple groups of the information bit set by STA 902, the start sequence control bit set BA 904, and the BA bitmap
104 semi-compressed 906. In a particular aspect, the information field BA 612 may include two groups of the information bit set per STA 902.
In a particular implementation, the bitmap compression bit has a first value, one or more bits of the reserved bit set indicate that the block recognition frame includes at least one semi-compressed block recognition bitmap, one or more reserved bits of the first set of information bits per station indicate an association identifier corresponding to the first device and a threshold number (such as a maximum) of data fragments into which the data units are divided by the first device, and the first semi-compressed block recognition bitmap includes a plurality of bits indicating a data fragment identifier of a data fragment corresponding to each of a plurality of data units corresponding to a particular block recognition sequence. For example, when the bitmap compression bit 620 has a first value (such as a logical zero value), one or more bits of the reserved bit set 622 indicate that the semi-compressed BA frame 900 includes the semi-compressed BA bitmap 906, one or more reserved bits 908 of the first bits of information by STA 902 indicate
105 an AID corresponding to the first device and may include a threshold number (such as a maximum) of data fragments into which the data units are divided by the first device, and the semi-compressed BA bitmap 906 is formed in accordance with the first implementation of the semi-compressed BA bitmap 802, as described with reference to Figure 8. In an alternate implementation, the bitmap compression bit has a second value, one or more bits of the set of reserved bits indicate that the BA frame includes at least one semi-compressed BA bitmap, one or more reserved bits of the first set of information bits by STA indicate an AID corresponding to the first device, the first semi-compressed BA bitmap includes a compressed BA bitmap and a set of fragment identification subfields, and the set of fragment identification subfields includes a first sequence identifier subfield and a data fragment identifier. For example, when the bitmap compression bit 620 has a second value (such as a logical one value), one or more bits of the reserved bit set 622 indicate that the semi-compressed BA frame 900 includes the semi-compressed BA bitmap 906, one or more reserved bits 908 of the first information bits by STA 902 indicate an AID corresponding to the first device, and the BA bitmap
106 Half-compressed 906 is formed in accordance with the second implementation of the semi-compressed BA bitmap 802, as described with reference to Figure 8.
In another exemplary implementation, a number of data units in a sequence of data units of the first device and a threshold number (such as a maximum) of data fragments into which the data units are divided by the first device are stored in a memory of the access point during the manufacturing of the access point. For example, with reference to Figure 1, the number of MSDUs in an MSDU sequence of the first device 114 and a threshold number (such as a maximum) of data fragments (mok) into which the data units are divided by The first device 114 may be stored in the memory 110 during the manufacturing of the access point 102. In an alternate implementation, the method 1200 also includes, prior to the generation of the BA frame, receiving a first BA session request. The first BA session request may indicate a threshold number (such as a maximum) of data units in a sequence of data units of the first device and a maximum number of data fragments in which the data units are divided by The first device. For example, with reference to Figure 1, access point 102 may
107 receiving the first ADDBA request 162 from the first device 114 prior to the generation of the uncompressed or semi-compressed BA frame 150, and the first ADDBA request 162 may indicate the threshold number (such as the maximum) of MSDUs in an MSDU sequence of the first device 114 and a threshold number (such as a maximum) of data fragments (mok) into which the data units are divided by the first device 114.
The 1200 method allows an access point of a wireless communication system MU to receive fragments of UL data from multiple devices. The access point can respond to UL data fragments by transmitting one or more semi-compressed BA frames that include semi-compressed BA bitmaps to multiple devices.
Referring to Figure 13, a particular illustrative implementation of a wireless communication device is shown and generally designated as 1300. The device 1300 includes a processor 1310, such as a digital signal processor, coupled to a memory 1332. In an illustrative implementation, the
<td>device</td><td> 1300,</td><td>or components</td><td>of it, they can</td>
<td>correspond</td><td>to the point</td><td>of access 102,</td><td>the first device</td>
<td>114, or the</td><td>second</td><td>device 126</td><td>of figure 1, or</td>
components thereof.
108
The 1310 processor can be configured to run software. The software may include a program of one or more instructions 1368 stored in memory 1332, such as a non-transient computer-readable medium. Additionally or alternatively, processor 1310 may be configured to implement one or more instructions stored in a memory of a wireless interface 1340, such as an interface that complies with IEEE 802.11. For example, the wireless interface 1340 can be configured to operate in accordance with one or more wireless communication standards, including one or more IEEE 802.11 standards, such as the IEEE 802.11 ax standard. In a particular implementation, processor 1310 may be configured to operate according to one or more of the methods of Figures 10-12. For example, processor 1310 may include data generation logic 1360, data fragmentation logic 1362, data defragmentation logic 1364, BA uncompressed or semi-compressed generation logic 1366, or a combination thereof. In a particular implementation, the processor 1310 includes the data generation logic 1360 and the data fragmentation logic 1362 to execute the method 1000 of Figure 10. In another particular implementation, the processor 1310 includes the data defragmentation logic 1364 and the generation logic BA
109 Uncompressed or semi-compressed 1366 to execute method 1100 of Figure 11.
The wireless interface 1340 can be coupled to the processor 1310 and to an antenna 1342. For example, the wireless interface 1340 can be coupled to the antenna 1342 through a transceiver 1346, so that wireless data can be received through the antenna 1342 and can be provided to the processor 1310. An encoder / decoder (CODEC) 1334 can also be coupled to the processor 1310. A speaker 1336 and a microphone 1338 can be coupled to the CODEC 1334. A deployment controller 1326 can be coupled to the processor 1310 and to a deployment device 1328. In a particular implementation, the processor 1310, the deployment controller 1326, the memory 1332, the CODEC 1334 and the wireless interface 1340 are included in a device of system-in-package or system-in-chip 1322. In a particular implementation, an input device 1330 and a power supply 1344 are coupled to the system-in-chip device 1322. In addition, in a particular implementation, as illustrated in Figure 13, the deployment device 1328, the input device 1330, the speaker 1336, the microphone 1338, the antenna 1342, and the power supply 1344 are external to the device of system-on-chip 1322. However, each
110 of the deployment device 1328, the input device 1330, the speaker 1336, the microphone 1338, the antenna 1342 and the power supply 1344 can be coupled to one or more components of the system-on-chip device 1322, such as a or more interfaces or controllers.
One or more of the disclosed implementations may be implemented in a system or apparatus, such as device 1300, which may include a communications device, a fixed location data unit, a mobile location data unit, a mobile phone , a cell phone, a satellite phone, a computer, a tablet, a laptop, or a desktop computer. Additionally, the device 1300 may include a decoder, an entertainment unit, a navigation device, a personal digital assistant (PDA), a monitor, a computer monitor, a television, a tuner, a radio, a satellite radio , a music player, a digital music player, a portable music player, a video player, a digital video player, a digital video disc (DVD) player, a portable digital video player, any other device that stores or retrieves data or computer instructions, or a combination thereof. As another illustrative, non-limiting example, the
111 system or apparatus may include remote units, such as mobile phones, manual personal communication systems (PCS) units, portable data units such as personal data assistants, devices enabled by global positioning system (GPS), navigation devices , fixed location data units such as meter reading equipment, or any other device that stores or retrieves data or computer instructions, or any combination thereof.
Although one or more of Figures 1 to 13 may illustrate systems, apparatus, methods or a combination thereof, in accordance with the teachings of the disclosure, the disclosure is not limited to these systems, apparatus, illustrative methods or a combination of the same. Disclosure implementations can conveniently be used on any device that includes integrated circuits including memory, a processor and chip circuits.
In conjunction with the implementations described, a first apparatus includes means for generating at least a first data fragment and a second data fragment based on data to be transmitted to an access point. The first data fragment and the second data fragment are generated when a size of the data exceeds a size of
112 a TX_OP A size of the first piece of data is selected based on the size of the TX_OP. For example, the means for generating at least the first data fragment and the second data fragment may include the first device 114, the data fragmentation logic 118, the processor 120 of Figure 1, the processor 1310 programmed to execute the instructions 1368, the data fragmentation logic 1362 of Figure 13, one or more devices, circuits, different modules or instructions for generating at least a first data fragment and a second data fragment based on data to be transmitted to an access point, or any combination thereof.
The first device also includes means for transmitting, during TX_OP, a data packet to the access point. The data package includes the first data fragment. For example, the means for transmitting the data packet may include the first device 114, the data fragmentation logic 118, the processor 120, the wireless interface 124 of Figure 1, the processor 1310 programmed to execute instructions 1368, the data fragmentation logic 1362, wireless interface 1340 of figure 13, one or more different devices, circuits, modules or instructions for transmitting the fragment of
113 data to the access point, or any combination thereof.
In conjunction with the described implementations, a second apparatus includes means for generating a BA frame based on the reception of a first data packet from a first device and the reception of a second data packet from a second device. The first data packet includes a first data fragment and is received during a TX_OP, and the second data packet includes a second data fragment and is received during TX_OP. The BA frame includes a first BA bitmap (indicating at least the first data fragment received from the first device) and a second BA bitmap (indicating at least the second data fragments received from the second device). For example, the means for generating the BA frame may include the access point 102, the uncompressed or semi-compressed BA generation logic 106, the processor 108, the wireless interface 112 of Figure 1, the processor 1310 programmed to execute the instructions 1368, BA uncompressed or semi-compressed generation logic 1366, wireless interface 1340 of Figure 13, one or more devices, circuits, different modules or instructions for generating a BA frame including a first uncompressed BA bitmap and a second map of
1U uncompressed BA bits, or any combination thereof. In a particular implementation, the first BA bitmap and the second BA bitmap are uncompressed BA bitmaps. In an alternate implementation, the first BA bitmap and the second BA bitmap are semi-compressed BA bitmaps.
The second apparatus also includes means for transmitting the BA frame to the first device and the second device. For example, the means for transmitting the BA frame may include the access point 102, the uncompressed or semi-compressed BA generation logic 106, the processor 108, the wireless interface 112 of Figure 1, the processor 1310 programmed to execute the instructions 1368, BA uncompressed or semi-compressed generation logic 1366, wireless interface 1340 of Figure 13, one or more devices, circuits, different modules and instructions for transmitting the BA frame to the first device and the second device, or any combination thereof.
In conjunction with the described implementations, a third apparatus includes means for generating a BA frame based on the reception of at least a first data packet from a first device and a second data packet from a second device. The first data packet
115 It includes a first data fragment and is received during a TX_OP, and the second data packet includes a second fragment and is received during TX_OP. The BA frame includes at least a first semi-compressed BA bitmap (indicating one or more pieces of data received from the first device). For example, the means for generating the BA frame may include the access point 102, the uncompressed or semi-compressed BA generation logic 106, the processor 108, the wireless interface 112 of Figure 1, the processor 1310 programmed to execute the instructions 1368, BA uncompressed or semi-compressed generation logic 1366, wireless interface 1340 of Figure 13, one or more devices, circuits, different modules or instructions for generating a BA frame including a first semi-compressed BA bitmap, or any combination thereof.
The third apparatus also includes means for transmitting the BA frame to the first device and the second device. For example, the means for transmitting the BA frame may include the access point 102, the uncompressed or semi-compressed BA generation logic 106, the processor 108, the wireless interface 112 of Figure 1, the processor 1310 programmed to execute the instructions 1368, the semi-compressed BA uncompressed generation logic 1366, the
116 wireless interface 1340 of Figure 13, one or more different devices, circuits, modules or instructions for transmitting the BA frame to the first device and the second device, or any combination thereof.
Those skilled in the art would also appreciate that the various illustrative logic blocks, configurations, modules, circuits and algorithm steps described in relation to the implementations disclosed herein may be implemented as electronic hardware, computer software executed by a processor, or combinations of both. . Various illustrative components, blocks, configurations, modules, circuits and steps have been described above generally in terms of their functionality. If such functionality is implemented as hardware or instructions executable by processor, this will depend on the particular application and the design restrictions imposed on the system in general. Those skilled in the art can implement the functionality described in various ways for each particular application, but such implementation decisions should not be interpreted as a cause to depart from the scope of this disclosure.
The steps of a method or algorithm described in connection with the implementation disclosed herein can be included directly in hardware, in a software module executed
117 by a processor, or in a combination of the two. A software module can reside in random access memory (RAM), flash memory, read-only memory (ROM), program-only read memory (PROM), programmable read-only memory (EPROM), read-only program electrically dorradle (EEPROM), records, a hard disk, a removable disk, a compact disk read-only memory (CD-ROM), or any other form of non-transit (or non-transient) storage media known in the art . An exemplary storage medium is coupled to the processor so that the processor can read information from and write information to the storage medium. In the alternative, the storage medium can be an integral part of the processor. The processor and the storage medium may reside in a specific application integrated circuit (ASIC). The ASIC may reside in a computing device or a user terminal. In the alternative, the processor and the storage medium may reside as discrete components in a computing device or user terminal.
The prior description of the disclosed implementations is provided to enable a person skilled in the art to make or use the disclosed implementations. Various modifications to these implementations will be easily
118 apparent to those skilled in the art, and the principles defined herein can be applied to other implementations without departing from the scope of the disclosure. Therefore, the present disclosure is not intended to be limited to the implementations shown herein but will be agreed upon with the widest possible scope consistent with the novel principles and characteristics as defined by the following claims.
Contents5
13 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13
41 members in 21 offices
Priority claims19
| Document | Office | Kind | Date |
|---|---|---|---|
| 201462059356 | United States of America | P | |
| 201462059356 | United States of America | P | |
| 62059356 | United States of America | – | |
| 201462074482 | United States of America | P | |
| 201462074482 | United States of America | P | |
| 62074482 | United States of America | – | |
| 14871888 | United States of America | – | |
| 201514871888 | United States of America | A | |
| 201514871888 | United States of America | A | |
| 2015053570 | United States of America | W | |
| 2015053570 | United States of America | W | |
| 14871888 | – | – | – |
| 62059356 | – | – | – |
| 62074482 | – | – | – |
| PCTUS2015053570 | – | – | – |
| US201462059356P | – | – | – |
| US201462074482P | – | – | – |
| US201514871888 | – | – | – |
| WO2015US53570 | – | – | – |
Members41
| Document | Office | Kind | |
|---|---|---|---|
| CA2959815A1 | Canada | A1 | |
| US2016100421A1 | United States of America | A1 | |
| WO2016054422A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO2016054422A3 | World Intellectual Property Organization (WIPO) | A3 | |
| AU2015328013A1 | Australia | A1 | |
| SG11201701428VA | Singapore | A | |
| KR20170063655A | Republic of Korea | A | |
| MX2017003810A | Mexico | A | |
| PH12017500395A1 | Philippines | A1 | |
| EP3202100A2 | European Patent Office (EPO) | A2 | |
| CO2017003115A2 | Colombia | A2 | |
| CN107079341A | China | A | |
| BR112017006571A2 | Brazil | A2 | |
| JP2017538310A | Japan | A | |
| CL2017000738A1 | Chile | A1 | |
| EP3280084A1 | European Patent Office (EPO) | A1 | |
| US2018084570A1 | United States of America | A1 | |
| US10045367B2 | United States of America | B2 | |
| RU2017110623A | Russian Federation | A | |
| RU2017110623A3 | Russian Federation | A3 | |
| RU2677976C2 | Russian Federation | C2 | |
| SA517381202A | Saudi Arabia | A | |
| JP6483254B2 | Japan | B2 | |
| AU2015328013B2 | Australia | B2 | |
| JP2019106722A | Japan | A | |
| MX366371BThis record | Mexico | B | |
| EP3202100B1 | European Patent Office (EPO) | B1 | |
| KR102011904B1 | Republic of Korea | B1 | |
| US10412757B2 | United States of America | B2 | |
| ZA201702302B | South Africa | B | |
| HUE044671T2 | Hungary | T2 | |
| ES2754253T3 | Spain | T3 | |
| JP6698895B2 | Japan | B2 | |
| CN107079341B | China | B | |
| SA517381202B1 | Saudi Arabia | B1 | |
| SA7120B1 | Saudi Arabia | B1 | |
| MY181378A | Malaysia | A | |
| EP3280084B1 | European Patent Office (EPO) | B1 | |
| NZ729474A | New Zealand | A | |
| ES2866106T3 | Spain | T3 | |
| CA2959815C | Canada | C |
1 legal event, as the office reported them to INPADOC
Events
| Event | Code | |
|---|---|---|
| Grant or registrationFG | FG |
Numbers
- Publication
- 366371
- Publication, DOCDB
- 366371
- Publication, EPODOC
- MX366371
- Application
- 2017003810
- Application, DOCDB
- 2017003810
- Application, EPODOC
- MX20170003810
Titles2
- Spanish
- FRAGMENTACION DE DATOS DE ENLACE ASCENDENTE PARA REDES MULTIUSUARIO.
- English
- FRAGMENTATION OF ASCENDING LINK DATA FOR MULTI-USER NETWORKS.
Classification
- CPC, 10
- H04W28/065
- H04L1/1614
- H04W72/1268
- H04L47/36
- H04L1/1685
- H04W84/12
- H04W80/02
- H04L1/1621
- H04L1/1628
- H04W72/23
- IPC, 7
- H04J3 00
- H04L1 16
- H04L47 36
- H04L47 43
- H04W28 06
- H04W72 12
- H04W84 12