Transmitting control or status information in an MPDU delimiter

A first communication device generates a media access control (MAC) protocol data unit (MPDU) delimiter having i) a feedback indication field and ii) a feedback content field. The feedback indication field is generated to include a first value that indicates the MPDU delimiter includes the feedback content field rather than an MPDU length field corresponding to a second value of the feedback indication field. The feedback content field is generated to include feedback information such as acknowledgement information regarding a communication frame previously transmitted by a second communication device, or control, management, and/or status information regarding the first communication device that was previously requested by the second communication device. The first communication device then transmits a packet that includes the MPDU delimiter to the second communication device.

FIELD OF TECHNOLOGY

The present disclosure relates generally to wireless communication systems, and more particularly to use of media access control (MAC) protocol delimiter fields to provide feedback information.

BACKGROUND

In a wireless local area network (WLAN), communication devices exchange control information in media access control (MAC) protocol data units (MPDUs), sometimes referred to as “frames”. For example, when a first communication device is to acknowledge reception of a data frame from a second communication device, the first communication device transmits an acknowledgment (ACK) frame to the second communication device that includes an indication of whether the data frame was correctly received (sometimes referred to as “acknowledgment information”). As another example, when a first communication device is prompted by a second communication device to transmit status information, such as an amount of data buffered for transmission at the first communication device (sometimes referred to as “buffer status” information) or an available frequency bandwidth as seen at the first communication device (sometimes referred to as “bandwidth status” information), the first communication device transmits the requested status information to the second communication device in a quality of service (QoS) Null frame.

Frames such as ACK frames and QoS Null frames include a MAC header having several bytes of information, such as a frame control field that indicates a type of the frame, a duration field that indicates a time duration of the frame, an address field that identifies an intended recipient of the frame, a frame check sequence (FCS) field that provides error detection information for indicating whether the MAC header, as received, includes any errors, etc. Much of the information in the MAC header is considered overhead in that such information is not itself the desired information such as the acknowledgement information, the buffer status information, or the bandwidth status information. Overhead tends to limit throughput of a wireless communication system because the overhead occupies wireless transmission time.

SUMMARY

In an embodiment, a method in a wireless communication network is for providing status information. The method includes: receiving, at a first communication device, a request from a second communication device for status information regarding the first communication device; and, in response to receiving the request, generating, at the first communication device, a media access control (MAC) protocol data unit (MPDU) delimiter having i) a feedback indication field and ii) a feedback content field. Generating the MPDU delimiter includes: generating the feedback indication field to include a first value that indicates the MPDU delimiter includes the feedback content field rather than an MPDU length field corresponding to a second value of the feedback indication field, and generating the feedback content field to include requested status information regarding the first communication device. The method further comprises, transmitting, by the first communication device, a packet that includes the MPDU delimiter in response to receiving the request.

In another embodiment, a wireless device comprises: a network interface device associated with a first communication device. The network interface device is implemented on one or more integrated circuit (IC) devices, and is configured to: receive a request from a second communication device for status information regarding the first communication device, and, in response to receiving the request, generate an MPDU delimiter having i) a feedback indication field and ii) a feedback content field. Generating the MPDU delimiter includes: generating the feedback indication field to include a first value that indicates the MPDU delimiter includes the feedback content field rather than an MPDU length field corresponding to a second value of the feedback indication field, and generating the feedback content field to include requested status information regarding the first communication device. The network interface device is further configured to: in response to receiving the request, transmit a packet that includes the MPDU delimiter.

In yet another embodiment, a method in a wireless communication network is for acknowledging a communication frame. The method includes: receiving, at a first communication device, the communication frame from a second communication device; and, in response to receiving the communication frame, generating, at the first communication device, a media access control (MAC) protocol data unit (MPDU) delimiter having i) a feedback indication field and ii) a feedback content field. Generating the MPDU delimiter includes: generating the feedback indication field to include a first value that indicates the MPDU delimiter includes the feedback content field rather than an MPDU length field corresponding to a second value of the feedback indication field, and generating the feedback content field to include acknowledgment information regarding the communication frame. The method further includes transmitting, by the first communication device, a packet that includes the MPDU delimiter in response to receiving the communication frame.

In still another embodiment, a wireless device comprises: a network interface device associated with a first communication device. The network interface device is implemented on one or more IC devices, and is configured to: receive the communication frame from a second communication device; and, in response to receiving the communication frame, generating, at the first communication device, a media access control (MAC) protocol data unit (MPDU) delimiter having i) a feedback indication field and ii) a feedback content field. Generating the MPDU delimiter includes: generating the feedback indication field to include a first value that indicates the MPDU delimiter includes the feedback content field rather than an MPDU length field corresponding to a second value of the feedback indication field, and generating the feedback content field to include acknowledgment information regarding the communication frame. The network interface device is further configured to transmit a packet that includes the MPDU delimiter in response to receiving the communication frame.

DETAILED DESCRIPTION

In prior art wireless communication systems, a wireless communication device transmits multiple media access control (MAC) protocol data units (MPDUs) aggregated together within one MAC data unit, typically referred to as an aggregate MPDU (A-MPDU). To help a receiver distinguish between the different individual MPDUs within the A-MPDU, the wireless communication device includes prior art MPDU delimiter fields (also sometimes referred to herein as “MPDU delimiters”) between the individual MPDUs.

In embodiments described below, a wireless communication device transmits feedback information (e.g., acknowledgement, control, and/or status information, or other suitable feedback information) within a new MPDU delimiter field rather than in an MPDU with a MAC header, i.e., transmission of the feedback information is performed without transmitting an MPDU with a MAC header. Such an MPDU delimiter field is typically shorter than an MPDU with a MAC header, thus transmission of feedback information within the MPDU delimiter field takes less time than transmitting the feedback information within an MPDU with a MAC header. Accordingly, transmission of feedback information within the MPDU delimiter field improves overall system throughput, at least in some embodiments. As will be described in more detail below, not all of the information included in a prior art MAC header is needed when transmitting feedback information and/or can be determined using information in a PHY header of a packet that includes the feedback information and/or can be assumed (or deduced) based on a timing of transmission of the packet, thus permitting the omission of a MAC header, according to some embodiments.

FIG. 1is a block diagram of an example WLAN110, according to an embodiment. The WLAN110includes an access point (AP)114that comprises a host processor118coupled to a network interface device122. The network interface122includes a MAC processor126and a physical layer (PHY) processor130. The PHY processor130includes a plurality of transceivers134, and the transceivers134are coupled to a plurality of antennas138. Although three transceivers134and three antennas138are illustrated inFIG. 1, the AP114includes other suitable numbers (e.g., 1, 2, 4, 5, etc.) of transceivers134and antennas138in other embodiments. In some embodiments, the AP114includes a higher number of antennas138than transceivers134, and antenna switching techniques are utilized.

The network interface122is implemented using one or more integrated circuits (ICs) configured to operate as discussed below. For example, the MAC processor126may be implemented, at least partially, on a first IC, and the PHY processor130may be implemented, at least partially, on a second IC. As another example, at least a portion of the MAC processor126and at least a portion of the PHY processor130may be implemented on a single IC. For instance, the network interface122may be implemented using a system on a chip (SoC), where the SoC includes at least a portion of the MAC processor126and at least a portion of the PHY processor130.

In an embodiment, the host processor118includes a processor configured to execute machine readable instructions stored in a memory device (not shown) such as a random access memory (RAM), a read-only memory (ROM), a flash memory, etc. In an embodiment, the host processor118may be implemented, at least partially, on a first IC, and the network device122may be implemented, at least partially, on a second IC. As another example, the host processor118and at least a portion of the network interface122may be implemented on a single IC.

In various embodiments, the MAC processor126and/or the PHY processor130of the AP114are configured to generate data units, and process received data units, that conform to a WLAN communication protocol such as a communication protocol conforming to the IEEE 802.11 Standard or another suitable wireless communication protocol. For example, the MAC processor126is configured to implement MAC layer functions, including MAC layer functions of the WLAN communication protocol, and the PHY processor130is configured to implement PHY functions, including PHY functions of the WLAN communication protocol. For instance, the MAC processor126is configured to generate MAC layer data units such as MAC service data units (MSDUs), MPDUs, etc., and provide the MAC layer data units to the PHY processor130. The PHY processor130is configured to receive MAC layer data units from the MAC processor126and encapsulate the MAC layer data units to generate PHY data units such as PHY protocol data units (PPDUs) for transmission via the antennas138. Similarly, the PHY processor130is configured to receive PHY data units that were received via the antennas138, and extract MAC layer data units encapsulated within the PHY data units. The PHY processor130may provide the extracted MAC layer data units to the MAC processor126, which processes the MAC layer data units.

The PHY processor130is configured to downconvert one or more radio frequency (RF) signals received via the one or more antennas138to one or more baseband analog signals, and convert the analog baseband signal(s) to one or more digital baseband signals, according to an embodiment. The PHY processor130is further configured to process the one or more digital baseband signals to demodulate the one or more digital baseband signals and to generate a PPDU. The PHY processor130includes amplifiers (e.g., a low noise amplifier (LNA), a power amplifier, etc.), a radio frequency (RF) downconverter, an RF upconverter, a plurality of filters, one or more analog-to-digital converters (ADCs), one or more digital-to-analog converters (DACs), one or more discrete Fourier transform (DFT) calculators (e.g., a fast Fourier transform (FFT) calculator), one or more inverse discrete Fourier transform (IDFT) calculators (e.g., an inverse fast Fourier transform (IFFT) calculator), one or more modulators, one or more demodulators, etc.

The PHY processor130is configured to generate one or more RF signals that are provided to the one or more antennas138. The PHY processor130is also configured to receive one or more RF signals from the one or more antennas138.

The MAC processor126is configured to control the PHY processor130to generate one or more RF signals by, for example, providing one or more MAC layer data units (e.g., MPDUs) to the PHY processor130, and optionally providing one or more control signals to the PHY processor130, according to some embodiments. In an embodiment, the MAC processor126includes a processor configured to execute machine readable instructions stored in a memory device (not shown) such as a RAM, a read ROM, a flash memory, etc. In an embodiment, the MAC processor126includes a hardware state machine that is configured to perform MAC layer functions, control the PHY processor130, etc.

In an embodiment, the MAC processor126includes an MPDU generator142that is configured to generate MPDUs that include MPDU delimiter fields having acknowledgement, control, and/or status information, according to an embodiment. For example, the MPDU generator142is configured to generate MPDUs such as described herein. In an embodiment, the MPDU generator142includes an MPDU delimiter generator144that is configured to generate MPDU delimiter fields having acknowledgement, control, and/or status information, according to an embodiment. For example, the MPDU delimiter generator144is configured to generate delimiter fields such as described herein.

In an embodiment, the MPDU generator142is implemented by a processor configured to execute machine readable instructions stored in a memory device (not shown) such as a RAM, a ROM, a flash memory, etc. In an embodiment, the MPDU generator142additionally or alternatively includes a hardware state machine that is configured to generate MPDUs such as described herein. Similarly, the MPDU delimiter generator144is implemented by a processor configured to execute machine readable instructions stored in a memory device (not shown) such as a RAM, a ROM, a flash memory, etc. In an embodiment, the MPDU delimiter generator144additionally or alternatively includes a hardware state machine that is configured to generate delimiter fields such as described herein.

The WLAN110includes a plurality of client stations154. Although three client stations154are illustrated inFIG. 1, the WLAN110includes other suitable numbers (e.g., 1, 2, 4, 5, 6, etc.) of client stations154in various embodiments. The client station154-1includes a host processor158coupled to a network interface device162. The network interface162includes a MAC processor166and a PHY processor170. The PHY processor170includes a plurality of transceivers174, and the transceivers174are coupled to a plurality of antennas178. Although three transceivers174and three antennas178are illustrated inFIG. 1, the client station154-1includes other suitable numbers (e.g., 1, 2, 4, 5, etc.) of transceivers174and antennas178in other embodiments. In some embodiments, the client station154-1includes a higher number of antennas178than transceivers174, and antenna switching techniques are utilized.

The network interface162is implemented using one or more ICs configured to operate as discussed below. For example, the MAC processor166may be implemented on at least a first IC, and the PHY processor170may be implemented on at least a second IC. As another example, at least a portion of the MAC processor166and at least a portion of the PHY processor170may be implemented on a single IC. For instance, the network interface162may be implemented using an SoC, where the SoC includes at least a portion of the MAC processor166and at least a portion of the PHY processor170.

In an embodiment, the host processor158includes a processor configured to execute machine readable instructions stored in a memory device (not shown) such as a RAM, a ROM, a flash memory, etc. In an embodiment, the host processor158may be implemented, at least partially, on a first IC, and the network device162may be implemented, at least partially, on a second IC. As another example, the host processor158and at least a portion of the network interface162may be implemented on a single IC.

In various embodiments, the MAC processor166and the PHY processor170of the client device154-1are configured to generate data units, and process received data units, that conform to the WLAN communication protocol or another suitable communication protocol. For example, the MAC processor166is configured to implement MAC layer functions, including MAC layer functions of the WLAN communication protocol, and the PHY processor170is configured to implement PHY functions, including PHY functions of the WLAN communication protocol. The MAC processor166is configured to generate MAC layer data units such as MSDUs, MPDUs, etc., and provide the MAC layer data units to the PHY processor170. The PHY processor170is configured to receive MAC layer data units from the MAC processor166and encapsulate the MAC layer data units to generate PHY data units such as PPDUs for transmission via the antennas178. Similarly, the PHY processor170is configured to receive PHY data units that were received via the antennas178, and extract MAC layer data units encapsulated within the PHY data units. The PHY processor170may provide the extracted MAC layer data units to the MAC processor166, which processes the MAC layer data units.

The PHY processor170is configured to downconvert one or more RF signals received via the one or more antennas178to one or more baseband analog signals, and convert the analog baseband signal(s) to one or more digital baseband signals, according to an embodiment. The PHY processor170is further configured to process the one or more digital baseband signals to demodulate the one or more digital baseband signals and to generate a PPDU. The PHY processor170includes amplifiers (e.g., an LNA, a power amplifier, etc.), an RF downconverter, an RF upconverter, a plurality of filters, one or more ADCs, one or more DACs, one or more DFT calculators (e.g., an FFT calculator), one or more IDFT calculators (e.g., an IFFT calculator), one or more modulators, one or more demodulators, etc.

The PHY processor170is configured to generate one or more RF signals that are provided to the one or more antennas178. The PHY processor170is also configured to receive one or more RF signals from the one or more antennas178.

The MAC processor166is configured to control the PHY processor170to generate one or more RF signals by, for example, providing one or more MAC layer data units (e.g., MPDUs) to the PHY processor170, and optionally providing one or more control signals to the PHY processor170, according to some embodiments. In an embodiment, the MAC processor166includes a processor configured to execute machine readable instructions stored in a memory device (not shown) such as a RAM, a ROM, a flash memory, etc. In an embodiment, the MAC processor166includes a hardware state machine that is configured to perform MAC layer functions, control the PHY processor170, etc.

In an embodiment, the MAC processor166includes an MPDU generator192that is configured to generate MPDUs that include MPDU delimiter fields having acknowledgement, control, and/or status information, according to an embodiment. For example, the MPDU generator192is configured to generate MPDUs such as described herein. In an embodiment, the MPDU generator192includes an MPDU delimiter generator194that is configured to generate MPDU delimiter fields having acknowledgement, control, and/or status information, according to an embodiment. For example, the MPDU delimiter generator194is configured to generate delimiter fields such as described herein.

In an embodiment, the MPDU generator142is implemented by a processor configured to execute machine readable instructions stored in a memory device (not shown) such as a RAM, a ROM, a flash memory, etc. In an embodiment, the MPDU generator142additionally or alternatively includes a hardware state machine that is configured to generate MPDUs such as described herein. Similarly, the MPDU delimiter generator144is implemented by a processor configured to execute machine readable instructions stored in a memory device (not shown) such as a RAM, a ROM, a flash memory, etc. In an embodiment, the MPDU delimiter generator144additionally or alternatively includes a hardware state machine that is configured to generate delimiter fields such as described herein.

In an embodiment, each of the client stations154-2and154-3has a structure that is the same as or similar to the client station154-1. Each of the client stations154-2and154-3has the same or a different number of transceivers and antennas. For example, the client station154-2and/or the client station154-3each have only two transceivers and two antennas (not shown), according to an embodiment.

PPDUs are sometimes referred to herein as packets. MPDUs are sometimes referred to herein as frames.

FIG. 2Ais a diagram of a prior art aggregate MPDU (A-MPDU)200. The A-MPDU200includes one or more MPDUs in one or more respective A-MPDU subframes204. If the A-MPDU200includes only a single MPDU, the A-MPDU subframe204that includes the single MPDU is sometimes referred to as an “S-MPDU”.

Each A-MPDU subframe204includes an MPDU delimiter field220, an MPDU224, and optionally a padding field228. The MPDU delimiter field220facilitates a receiver device distinguishing between different A-MPDU subframes204when processing the A-MPDU200. For example, as will be discussed below, the MPDU delimiter field220includes a predetermined bit pattern, or signature, that facilitates a receiver device detecting delimiter fields220when scanning a bit stream corresponding to the A-MPDU200.

When the A-MPDU200includes multiple MPDUs, the optional padding field228includes padding bits that are used to facilitate processing of the multiple MPDUs by providing additional processing time between MPDUs and/or to adjust a length of the A-MPDU200to a desired length. In a last-occurring A-MPDU subframe204in the A-MPDU200, padding bits in the optional padding field228facilitate processing of last-occurring MPDU by providing additional time before an end of the A-MPDU.

FIG. 2Bis a diagram of a prior art aggregate MPDU delimiter field250that is used as the MPDU delimiter field220ofFIG. 2A. The MPDU delimiter field250includes: an end of file (EOF) subfield254, a reserved subfield258, an MPDU length subfield262, a cyclic redundancy check (CRC) subfield266, and a delimiter signature subfield270. The EOF subfield254is set to indicate whether the A-MPDU subframe204in which the delimiter field250is present is the last-occurring A-MPDU subframe204in the A-MPDU200. The reserved subfield258is set to a predetermined value (e.g., zero) and is ignored by the receiver. The MPDU length subfield262is set to indicate a length of the MPDU to which the MPDU delimiter field250corresponds. The CRC subfield266includes error detection information to facilitate a receiver to detect errors in the MPDU delimiter field250, when received. The delimiter signature subfield270includes the predetermined bit pattern, or signature, to facilitate detection of the delimiter field250by a receiver device when scanning a bit stream corresponding to the A-MPDU200.

A prior art MPDU, such as may be included in the A-MPDU200ofFIG. 2A, comprises a MAC header having several bytes of information, such as a frame control field that indicates a format of the MPDU, a duration field that indicates a time duration of the MPDU, one or more address fields that identify an intended recipient of the MPDU and optionally a transmitter of the MPDU, a frame check sequence (FCS) field that provides error detection information for indicating whether the MAC header, as received, includes any errors, etc. Typically, a receiver of a prior art MPDU analyzes a receiver address field in a MAC header of the received MPDU to determine if the MPDU is intended for the receiver. In some cases, however, a PHY header of a PHY data unit includes sufficient information for a receiver to deduce whether an MPDU in the PHY data unit is intended for the receiver, as will be discussed below. Additionally, in some cases, not all of the information in the MAC header is needed by the receiver. Thus, as will be discussed in more detail below, feedback information is transmitted within an MPDU delimiter rather than within an MPDU (i.e., an MPDU with a MAC header is not transmitted), and needed information typically included in a MAC header is deduced using information in a PHY header of a PHY data unit that includes the MPDU delimiter, for example. Because the MPDU delimiter has a shorter duration than an MPDU with a MAC header, overhead is reduced and/or throughput is increased in a wireless communication network, at least in some embodiments.

FIG. 3is a diagram of a prior art PHY data unit300. The PHY data unit300includes a PHY preamble304and a PHY data portion308. The PHY preamble304includes training signals and one or more signal fields. The one or more signal fields generally include information that a receiver device uses to process the PHY data unit300. For example, the one or more signal fields of the PHY preamble304include basic service set (BSS) identification information330, such as a MAC address of the AP114(which may also serve as a BSS identifier (ID), a BSS color ID, etc. The BSS identification information330identifies the AP as either the transmitter or the intended receiver of the PHY data unit300.

The one or more signal fields of PHY preamble304also include an uplink/downlink (UL/DL) indicator334. The UL/DL indicator334indicates whether the PHY data unit300is being transmitted by the AP114to one or more client stations154(DL), or whether the PHY data unit300is being transmitted to the AP114from a client station154(UL).

The BSS identification information330and the UL/DL indicator334together indicate i) the AP114is the intended receiver if the PHY data unit300is transmitted in the UL, and ii) the AP114is the transmitter if the PHY data unit300is transmitted in the DL.

If the PHY data unit300is a DL multi-user (MU) PHY data unit, the one or more signal fields of PHY preamble304also include resource allocation information338. The resource allocation information338indicates frequency resource and/or spatial stream(s) assigned to each of multiple client stations154, and via which respective information in the PHY data portion308is being transmitted to the client stations154. Thus, if a client station154receives information in the PHY data portion308via resources (frequency and/or spatial stream) allocated to the client station154, the client station can assume that the client station is the intended receiver of such information.

If the PHY data unit300is an UL multi-user (MU) PHY data unit, the UL PHY data unit300is transmitted in response to a previously transmitted trigger frame from the AP114, which includes resource allocation information for the UL PHY data unit300. The resource allocation information indicates frequency resource and/or spatial stream(s) assigned to each of multiple client stations154, and via which respective the client stations154are to transmit as part of the UL PHY data unit300. Thus, if the AP114receives information in the PHY data portion308via resources (frequency and/or spatial stream) allocated to a particular client station154, the AP114can assume that the particular client station154is the transmitter of such information.

If the PHY data unit300is a trigger-based UL PHY data unit from a single client station154, the UL PHY data unit300is transmitted in response to a previously transmitted trigger frame from the AP114. If the AP114receives the PHY data unit300in response to the previously transmitted trigger frame to a particular client station154, the AP114can assume that the particular client station154is the transmitter of the PHY data unit300.

In some instances, the PHY data unit300includes acknowledgment information for acknowledging receipt of a previously transmitted MPDU. If the AP114transmits an MPDU to a particular client station154and then receives the PHY data unit300(which includes acknowledgement information) at a time when the AP114is expecting an acknowledgment of the MPDU, the AP114can assume that the particular client station154is the transmitter of the PHY data unit300at least if information in the PHY preamble304is consistent with the assumption (e.g., the BSS identification information330identifies the AP114and optionally the UL/DL indicator334indicates an UL transmission).

Similarly, in some instances, the PHY data unit300includes control and/or status information that is transmitted in response to a request for such control and/or status information. If the AP114transmits a request for control and/or status information to a particular client station154and then receives the PHY data unit300(which includes the requested control and/or status information) at a time when the AP114is expecting a response to the request, the AP114can assume that the particular client station154is the transmitter of the PHY data unit300at least if information in the PHY preamble304is consistent with the assumption (e.g., the BSS identification information330identifies the AP114and optionally the UL/DL indicator334indicates an UL transmission).

In embodiments described below, a wireless communication device transmits acknowledgement, control, and/or status information in a manner that permits omission of an MPDU with a MAC header. In some embodiments, omission of the MPDU with a MAC header is permitted because the wireless communication device can assume that the wireless communication device is the intended recipient based on i) information in a PHY header of a PHY data unit that includes the acknowledgement, control, and/or status information, and/or ii) timing of receipt of the PHY data unit. Similarly, in some embodiments, omission of the MPDU with a MAC header is permitted also because the wireless communication device can assume an identity of a transmitter of the PHY data unit based on i) information in the PHY header, and/or ii) timing of receipt of the PHY data unit. In other words, with transmission of acknowledgement, control, and/or status information such as discussed below, information in the MAC header is not needed and/or needed information in a typical MAC header can be deduced by the wireless communication device using information in the PHY header and/or timing of receipt of the PHY data unit, according to some embodiments.

In embodiments described below, the acknowledgement, control, and/or status information is included in an MPDU delimiter field. In some embodiments, because the MPDU delimiter field is shorter than an MPDU with a MAC header, overall system throughput is improved.

FIG. 4is a diagram of an example MAC data unit400, sometimes referred to as the aggregate MPDU (A-MPDU)400, according to an embodiment. The A-MPDU400is used to transmit acknowledgement, control, and/or status information, according to an embodiment. In an embodiment, the network interface device122is configured to (e.g., the MAC processor126is configured to, the MPDU generator142is configured to, etc.) generate the A-MPDU400. In another embodiment, the network interface device162is configured to (e.g., the MAC processor166is configured to, the MPDU generator192is configured to, etc.) generate the A-MPDU400. In other embodiments, another suitable communication device generates the A-MPDU400.

The A-MPDU400includes one or more A-MPDU subframes404, and optionally a padding field408. In an embodiment, none of the A-MPDU subframes404includes an MPDU, i.e., the A-MPDU400omits MPDUs.

In an embodiment, the A-MPDU400is transmitted in a PHY data unit such as the PHY data unit discussed with reference toFIG. 3. For example, the A-MPDU400is included in the PHY data portion308, according to an embodiment.

FIG. 5Ais a diagram of an example MPDU delimiter field500that includes acknowledgement, control, and/or status information, according to an embodiment. In an embodiment, the network interface device122is configured to (e.g., the MAC processor126is configured to, the MPDU generator142is configured to, the MPDU delimiter generator144is configured to, etc.) generate the MPDU delimiter field500. In another embodiment, the network interface device162is configured to (e.g., the MAC processor166is configured to, the MPDU generator192is configured to, the MPDU delimiter generator194is configured to, etc.) generate the MPDU delimiter field500. In other embodiments, another suitable communication device generates the MPDU delimiter field500.

In some embodiments, the MPDU delimiter field500is included in one or more of the A-MPDU subframes404ofFIG. 4, andFIG. 5Ais described with reference toFIG. 4for explanatory purposes. In other embodiments, the MPDU delimiter field500is included in another suitable MAC data unit.

AlthoughFIG. 5Aillustrates an example ordering of subfields within the MPDU delimiter field500, and indicates example lengths of subfields within the MPDU delimiter field500, in other embodiments the ordering of subfields within the MPDU delimiter field500is suitably different, and/or the lengths of subfields within the MPDU delimiter field500are suitably different. In other embodiments, one or more of subfields illustrated inFIG. 5Aare omitted, and/or one or more additional suitable subfields are included.

The MPDU delimiter field500includes: an EOF subfield504, a feedback indicator subfield508, a feedback information subfield512, a CRC subfield516, and a delimiter signature subfield520. The EOF subfield254is set to indicate whether the A-MPDU subframe404in which the delimiter field500is present is the last-occurring A-MPDU subframe404in the A-MPDU400.

The feedback indicator subfield508is set to a value to indicate that the MPDU delimiter field500includes feedback information (e.g., acknowledgement, control, and/or status information), according to an embodiment. Comparing the MPDU delimiter field500with the prior art MPDU delimiter field250ofFIG. 2B, the feedback indicator subfield508is in a same bit position within the MPDU delimiter field500as a bit position of the reserved subfield258in the prior art MPDU delimiter field250, according to an embodiment. In the prior art MPDU delimiter field250, the reserved subfield258is set to a predetermined value (e.g., zero); on the other hand, the feedback indicator subfield508is set to a value (e.g., one) different than the predetermined value to indicate that the MPDU delimiter field500includes feedback information (e.g., acknowledgement, control, and/or status information) and to distinguish the MPDU delimiter field500from the prior art MPDU delimiter field250, according to an embodiment.

Comparing the MPDU delimiter field500with the prior art MPDU delimiter field250ofFIG. 2B, the feedback information subfield512is in a same bit position within the MPDU delimiter field500as a bit position of the MPDU length subfield262in the prior art MPDU delimiter field250, according to an embodiment. Thus, the feedback indicator subfield508is set to a value (e.g., one) to indicate that the MPDU delimiter field500includes the feedback information subfield512rather than the MPDU length subfield262as in the prior art MPDU delimiter field250, according to an embodiment.

The CRC subfield516includes error detection information to facilitate a receiver to detect errors in the MPDU delimiter field500, when received. The delimiter signature subfield520includes the predetermined bit pattern, or signature, of an MPDU delimiter to facilitate detection of the delimiter field500by a receiver device when scanning a bit stream corresponding to the A-MPDU400.

The feedback information subfield512includes a feedback type subfield524and a feedback content subfield528. In an embodiment, different types of information can be included in the feedback content subfield528, and the feedback type subfield524is set to a value that indicates a type of feedback information in the feedback content subfield528. As merely an illustrative example, a plurality of different types of information that can be included in the feedback content subfield528includes two or more of: i) acknowledgement information, ii) buffer status information, iii) the bandwidth status information, and iv) station readiness information. If the feedback content subfield528includes acknowledgement information, the feedback type subfield524is set to a value to indicate that the feedback content subfield528includes acknowledgement information, according to an embodiment. If the feedback content subfield528includes bandwidth status information, the feedback type subfield524is set to a value to indicate that the feedback content subfield528includes bandwidth status information, according to an embodiment. If the feedback content subfield528includes buffer status information, the feedback type subfield524is set to a value to indicate that the feedback content subfield528includes buffer status information, according to an embodiment.

In an embodiment in which frames (to be transmitted) corresponding to different traffic identifiers (IDs) are stored in respective buffers, if the feedback content subfield528includes buffer status information for a particular traffic identifier (TID), the feedback type subfield524is set to a value to indicate that the feedback content subfield528includes buffer status information for the particular TID.

In another embodiment, the feedback information subfield512does not include the feedback type subfield524, and the feedback content subfield528is larger (e.g., includes 12 bits, 13, bits, 14 bits, etc.). For example, an MPDU (e.g., a trigger frame, an MPDU to be acknowledged, etc.) that prompts transmission of the MPDU delimiter field500specifies the type of information to be included in the feedback information subfield512, and the information included in the feedback information subfield512is consistent with the specified type of feedback.

FIG. 5Bis a diagram of another example MPDU delimiter field540that includes acknowledgement, control, and/or status information, according to an embodiment. In an embodiment, the network interface device122is configured to (e.g., the MAC processor126is configured to, the MPDU generator142is configured to, the MPDU delimiter generator144is configured to, etc.) generate the MPDU delimiter field540. In another embodiment, the network interface device162is configured to (e.g., the MAC processor166is configured to, the MPDU generator192is configured to, the MPDU delimiter generator194is configured to, etc.) generate the MPDU delimiter field540. In other embodiments, another suitable communication device generates the MPDU delimiter field540.

In some embodiments, the MPDU delimiter field540is included in one or more of the A-MPDU subframes404ofFIG. 4. In other embodiments, the MPDU delimiter field540is included in another suitable MAC data unit.

AlthoughFIG. 5Billustrates an example ordering of subfields within the MPDU delimiter field540, and indicates example lengths of subfields within the MPDU delimiter field540, in other embodiments the ordering of subfields within the MPDU delimiter field540is suitably different, and/or the lengths of subfields within the MPDU delimiter field540are suitably different. In other embodiments, one or more of subfields illustrated inFIG. 5Bare omitted, and/or one or more additional suitable subfields are included.

The MPDU delimiter field540is similar to the MPDU delimiter field500ofFIG. 5A, and like-numbered elements are not described in detail for purposes of brevity.

Unlike the MPDU delimiter field500, the MPDU delimiter field540does not include the EOF subfield504. Rather, a bit in the same bit position within the MPDU delimiter field540as the bit position of the EOF subfield504within the MPDU delimiter field500is used as part of a feedback type subfield544. Additionally, two bits of the feedback information subfield512are used as another part of the feedback type subfield544. The feedback information subfield512includes a feedback content subfield548that includes 12 bits (as compared to 11 bits in the MPDU delimiter field500ofFIG. 5A).

FIG. 5Cis a diagram of another example MPDU delimiter field560that includes acknowledgement, control, and/or status information, according to an embodiment. In an embodiment, the network interface device122is configured to (e.g., the MAC processor126is configured to, the MPDU generator142is configured to, the MPDU delimiter generator144is configured to, etc.) generate the MPDU delimiter field560. In another embodiment, the network interface device162is configured to (e.g., the MAC processor166is configured to, the MPDU generator192is configured to, the MPDU delimiter generator194is configured to, etc.) generate the MPDU delimiter field560. In other embodiments, another suitable communication device generates the MPDU delimiter field560.

In some embodiments, the MPDU delimiter field560is included in one or more of the A-MPDU subframes404ofFIG. 4. In other embodiments, the MPDU delimiter field560is included in another suitable MAC data unit.

AlthoughFIG. 5Cillustrates an example ordering of subfields within the MPDU delimiter field560, and indicates example lengths of subfields within the MPDU delimiter field560, in other embodiments the ordering of subfields within the MPDU delimiter field560is suitably different, and/or the lengths of subfields within the MPDU delimiter field560are suitably different. In other embodiments, one or more of subfields illustrated inFIG. 5Care omitted, and/or one or more additional suitable subfields are included.

The MPDU delimiter field560is similar to the MPDU delimiter field500ofFIG. 5A, and like-numbered elements are not described in detail for purposes of brevity.

Unlike the MPDU delimiter field500, the MPDU delimiter field560does not include the delimiter signature subfield520. Additionally, a feedback information subfield564includes more bits as compared to the feedback information field512ofFIG. 5A. Additionally, a feedback content subfield568includes more bits as compared to the feedback content subfield528ofFIG. 5A.

FIG. 5Dis a diagram of another example MPDU delimiter field580that includes acknowledgement, control, and/or status information, according to an embodiment. In an embodiment, the network interface device122is configured to (e.g., the MAC processor126is configured to, the MPDU generator142is configured to, the MPDU delimiter generator144is configured to, etc.) generate the MPDU delimiter field580. In another embodiment, the network interface device162is configured to (e.g., the MAC processor166is configured to, the MPDU generator192is configured to, the MPDU delimiter generator194is configured to, etc.) generate the MPDU delimiter field580. In other embodiments, another suitable communication device generates the MPDU delimiter field580.

In some embodiments, the MPDU delimiter field580is included in one or more of the A-MPDU subframes404ofFIG. 4. In other embodiments, the MPDU delimiter field580is included in another suitable MAC data unit.

AlthoughFIG. 5Dillustrates an example ordering of subfields within the MPDU delimiter field580, and indicates example lengths of subfields within the MPDU delimiter field580, in other embodiments the ordering of subfields within the MPDU delimiter field580is suitably different, and/or the lengths of subfields within the MPDU delimiter field580are suitably different. In other embodiments, one or more of subfields illustrated inFIG. 5Dare omitted, and/or one or more additional suitable subfields are included.

The MPDU delimiter field580is similar to the MPDU delimiter field560ofFIG. 5C, and like-numbered elements are not described in detail for purposes of brevity.

Unlike the MPDU delimiter field560, the MPDU delimiter field580does not include the EOF subfield504. Rather, a bit in the same bit position within the MPDU delimiter field580as the bit position of the EOF subfield504within the MPDU delimiter field560is used as part of a feedback type subfield584. Additionally, two bits of the feedback information subfield564are used as another part of the feedback type subfield584. The feedback information subfield564includes a feedback content subfield588that includes 20 bits (as compared to 19 bits in the MPDU delimiter field560ofFIG. 5C).

Referring again toFIG. 4, in some embodiments, multiple A-MPDU subframes404include respective MPDU delimiters420that includes acknowledgement, control, and/or status information. In some embodiments, at least two A-MPDU subframes404include respective MPDU delimiters420that include different acknowledgement, control, and/or status information. As an illustrative example, respective MPDU delimiters420include respective buffer status information for respective TIDs, in an embodiment.

In some embodiments, at least two A-MPDU subframes404include respective MPDU delimiters420that include the same acknowledgement, control, and/or status information. For example, to pad the A-MPDU404to a desired length, multiple MPDU delimiters420with the same information are included in the A-MPDU404, according to an embodiment. Additionally or alternatively, in order to pad the A-MPDU404to the desired length, one or more of the A-MPDU subframes404are used for padding and correspond to prior art A-MPDU subframes that omit MPDUs and that include prior art MPDU delimiters (e.g., such as the MPDU delimiter250ofFIG. 2B) with the MPDU length field262set to zero to indicate that an MPDU is omitted and with the EOF subfield254set to one. Additionally or alternatively, in order to pad the A-MPDU404to the desired length, padding bits are included in the EOF padding field408.

FIG. 6is a flow diagram of an example method600for providing status information in a communication network, according to an embodiment. In some embodiments, the network interface device122and/or the network interface162ofFIG. 1is configured to implement the method600, and the method600is described with reference toFIG. 1for explanatory purposes. In other embodiments, the method600is implemented by another suitable communication device.

At block604, a first communication device receives (e.g., the AP114receives, the network interface device122receives, the client station154receives, the network interface device162receives, etc.) a request from a second communication device for status information regarding the first communication device. For example, the request is for bandwidth status information, e.g., status information regarding communication channels or subchannels that are idle from the standpoint of the first communication device and/or are busy from the standpoint of the first communication device, according to an embodiment. As another example, the request is for buffer status information, e.g., status information regarding an amount of data for transmission that is buffered at the first communication device, according to an embodiment. As another example, the request is for buffer status information regarding a particular traffic class, traffic category, etc., of data, e.g., status information regarding an amount of data of a particular TID that is buffered at the first communication device, according to an embodiment. As another example, the request is for station readiness information regarding whether the first communication device is ready to one or more of: receive packets, transmit packets, participate in a procedure (such as a ranging measurement procedure, a channel measurement procedure, etc.) provide requested information, etc., according to an embodiment. As yet another example, the request is for acknowledgement information regarding a MAC data unit transmitted by the second communication device to the first communication device, according to an embodiment.

In an embodiment, the request is received in a trigger frame from the second communication device, the trigger frame being configured to prompt the first communication device to transmit a responsive packet a defined time period (e.g., a short interframe space (SIFS) as defined by the IEEE Standard, or another suitable time period).

At block608, in response to receiving the request at block604, the first communication device generates an MPDU delimiter having a feedback indication field and a feedback content field. In an embodiment, generating the MPDU delimiter at block608includes: generating the feedback indication field to include a first value that indicates the MPDU delimiter includes the feedback content field rather than an MPDU length field corresponding to a second value of the feedback indication field, and generating the feedback content field to include requested status information regarding the first communication device. In various embodiments, generating the MPDU delimiter at block608includes generating an MPDU delimiter as described above with reference to any ofFIGS. 5A-D. In other embodiments, generating the MPDU delimiter at block608includes generating an MPDU delimiter having a suitable format different than the formats described above with reference toFIGS. 5A-D.

In another embodiment, generating the MPDU delimiter at block608further comprises: generating the MPDU delimiter to further include a feedback type field to include an indication of a type of content in the feedback content field, wherein the type of content is selected from a plurality of different types of content. In an embodiment, the plurality of different types of content comprises at least two of: i) buffer status information, ii) channel availability information, iii) station readiness information, and iv) acknowledgment information.

In another embodiment, generating the MPDU delimiter at block608further comprises: generating the MPDU delimiter to further include a delimiter signature field, the delimiter field having a predefined bit pattern for detection, at the second communication device, of the MPDU delimiter.

At block612, in response to receiving the request at block604, the first communication device transmits a packet that includes the MPDU delimiter generated at block608. In an embodiment, the packet has a format the same as or similar to the PHY data unit discussed with reference toFIG. 3. In an embodiment, the MPDU delimiter is included in an A-MPDU having a format the same as or similar to the A-MPDU discussed with reference toFIG. 4.

FIG. 7is a flow diagram of an example method700for obtaining status information in a communication network, according to an embodiment. In some embodiments, the network interface device122and/or the network interface162ofFIG. 1is configured to implement the method700, and the method700is described with reference toFIG. 1for explanatory purposes. In other embodiments, the method700is implemented by another suitable communication device.

At block704, a first communication device transmits (e.g., the AP114transmits, the network interface device122transmits, the client station154transmits, the network interface device162transmits, etc.) to a second communication device a request for status information regarding the second communication device. For example, the request is for bandwidth status information, e.g., status information regarding communication channels or subchannels that are idle from the standpoint of the second communication device and/or are busy from the standpoint of the first communication device, according to an embodiment. As another example, the request is for buffer status information, e.g., status information regarding an amount of data for transmission that is buffered at the second communication device, according to an embodiment. As another example, the request is for buffer status information regarding a particular traffic class, traffic category, etc., of data, e.g., status information regarding an amount of data of a particular TID that is buffered at the second communication device, according to an embodiment. As another example, the request is for station readiness information regarding whether the second communication device is ready to one or more of: receive packets, transmit packets, participate in a procedure (such as a ranging measurement procedure, a channel measurement procedure, etc.) provide requested information, etc., according to an embodiment. As yet another example, the request is for acknowledgement information regarding a MAC data unit transmitted by the first communication device to the second communication device, according to an embodiment.

In an embodiment, the request is included in a trigger frame that is configured to prompt the second communication device to transmit a responsive packet a defined time period (e.g., a short interframe space (SIFS) as defined by the IEEE Standard, or another suitable time period), and the method700further includes the first communication device generating (e.g., the AP114generating, the network interface device122generating, etc.) the trigger frame; and block704includes transmitting the trigger frame.

At block708, the first communication device receives from the second communication device an MPDU delimiter having a feedback indication field and a feedback content field. In an embodiment, the feedback indication field includes a first value that indicates that the MPDU delimiter includes the feedback content field rather than an MPDU length field corresponding to a second value of the feedback indication field; and the feedback content field includes requested status information regarding the second communication device. In various embodiments, the MPDU delimiter has a format as described above with reference to any ofFIGS. 5A-D. In other embodiments, the MPDU delimiter has a suitable format different than the formats described above with reference toFIGS. 5A-D.

In another embodiment, the MPDU delimiter received at block608further comprises: a feedback type field that includes an indication of a type of content in the feedback content field, wherein the type of content is selected from a plurality of different types of content. In an embodiment, the plurality of different types of content comprises at least two of: i) buffer status information, ii) channel availability information, iii) station readiness information, and iv) acknowledgment information.

In another embodiment, the MPDU delimiter received at block608further comprises: a delimiter signature field, the delimiter field having a predefined bit pattern for detection, at the first communication device, of the MPDU delimiter.

In an embodiment, the delimiter received at block708is received in an A-MPDU having a format such as described with reference toFIG. 4. In an embodiment, A-MPDU is received in a packet that has a format the same as or similar to the PHY data unit discussed with reference toFIG. 3. In an embodiment, the packet has a PHY header, and the first communication device uses information in the PHY header to determine that the MPDU delimiter in the packet is intended for the first communication device.

At block712, the first communication device extracts the requested status information from the MPDU delimiter received at block708. In an embodiment, extracting the requested status information at block712includes extracting the requested status information from the feedback content field.

FIG. 8is a flow diagram of an example method800for acknowledging a communication frame transmitted in a communication network, according to an embodiment. In some embodiments, the network interface device122and/or the network interface162ofFIG. 1is configured to implement the method800, and the method800is described with reference toFIG. 1for explanatory purposes. In other embodiments, the method800is implemented by another suitable communication device.

At block804, a first communication device receives (e.g., the AP114receives, the network interface device122receives, the client station154receives, the network interface device162receives, etc.) the communication frame from a second communication device. In an embodiment, the communication frame received at block804is an MPDU.

At block808, in response to receiving the communication frame at block804, the first communication device generates an MPDU delimiter having a feedback indication field and a feedback content field. In an embodiment, generating the MPDU delimiter at block608includes: generating the feedback indication field to include a first value that indicates the MPDU delimiter includes the feedback content field rather than an MPDU length field corresponding to a second value of the feedback indication field, and generating the feedback content field to include acknowledgement information regarding the communication frame received at block804. In various embodiments, generating the MPDU delimiter at block808includes generating an MPDU delimiter as described above with reference to any ofFIGS. 5A-D. In other embodiments, generating the MPDU delimiter at block808includes generating an MPDU delimiter having a suitable format different than the formats described above with reference toFIGS. 5A-D.

In another embodiment, generating the MPDU delimiter at block808further comprises: generating the MPDU delimiter to further include a feedback type field to include an indication of a type of content in the feedback content field, wherein the type of content is selected from a plurality of different types of content. In an embodiment, the plurality of different types of content comprises at least two of: i) buffer status information, ii) channel availability information, iii) station readiness information, and iv) acknowledgment information.

In another embodiment, generating the MPDU delimiter at block808further comprises: generating the MPDU delimiter to further include a delimiter signature field, the delimiter field having a predefined bit pattern for detection, at the second communication device, of the MPDU delimiter.

At block812, in response to receiving the communication frame at block804, the first communication device transmits a packet that includes the MPDU delimiter generated at block808. In an embodiment, the packet has a format the same as or similar to the PHY data unit discussed with reference toFIG. 3. In an embodiment, the MPDU delimiter is included in an A-MPDU having a format the same as or similar to the A-MPDU discussed with reference toFIG. 4.

FIG. 9is a flow diagram of an example method900for transmitting a communication frame in a communication network, according to an embodiment. In some embodiments, the network interface device122and/or the network interface162ofFIG. 1is configured to implement the method900, and the method900is described with reference toFIG. 1for explanatory purposes. In other embodiments, the method900is implemented by another suitable communication device.

At block904, a first communication device transmits (e.g., the AP114transmits, the network interface device122transmits, the client station154transmits, the network interface device162transmits, etc.) to a second communication device a communication frame. In an embodiment, the communication frame comprises an MPDU.

At block908, the first communication device receives from the second communication device an MPDU delimiter that includes acknowledgement information regarding the communication frame transmitted at block904. In an embodiment, the MPDU delimiter includes a feedback content subfield, and the acknowledgement information is included in the feedback content subfield. In an embodiment, the MPDU delimiter also includes a feedback indication subfield that comprises a first value indicating that the MPDU delimiter includes the feedback content field rather than an MPDU length field corresponding to a second value of the feedback indication field. In various embodiments, the MPDU delimiter has a format as described above with reference to any ofFIGS. 5A-D. In other embodiments, the MPDU delimiter has a suitable format different than the formats described above with reference toFIGS. 5A-D.

In another embodiment, the MPDU delimiter received at block908further comprises: a feedback type field that includes an indication of a type of content in the feedback content field, wherein the type of content is selected from a plurality of different types of content. In an embodiment, the plurality of different types of content comprises at least two of: i) buffer status information, ii) channel availability information, iii) station readiness information, and iv) acknowledgment information.

In another embodiment, the MPDU delimiter received at block908further comprises: a delimiter signature field, the delimiter field having a predefined bit pattern for detection, at the first communication device, of the MPDU delimiter.

In an embodiment, the delimiter received at block908is received in an A-MPDU having a format such as described with reference toFIG. 4. In an embodiment, the A-MPDU is received in a packet that has a format the same as or similar to the PHY data unit discussed with reference toFIG. 3. In an embodiment, the packet has a PHY header, and the first communication device uses information in the PHY header to determine that the MPDU delimiter in the packet is intended for the first communication device.

At block912, the first communication device extracts the acknowledgement information from the MPDU delimiter received at block908. In an embodiment, extracting the acknowledgement information at block912includes extracting the acknowledgement information from the feedback content field.

In an embodiment, the method900further comprises the first communication device analyzing the acknowledgement information extracted at block912to determine whether the second communication device correctly received the communication frame transmitted at block904.

At least some of the various blocks, operations, and techniques described above may be implemented utilizing hardware, a processor executing firmware instructions, a processor executing software instructions, or any combination thereof. When implemented utilizing a processor executing software or firmware instructions, the software or firmware instructions are stored in a computer readable memory such as a random access memory (RAM), a read only memory (ROM), a flash memory, etc. The software or firmware instructions include machine readable instructions that, when executed by one or more processors, cause the one or more processors to perform various acts.