Examples of several of the various embodiments of the present disclosure are described herein with reference to the drawings.
In the present disclosure, various embodiments are presented as examples of how the disclosed techniques may be implemented and/or how the disclosed techniques may be practiced in environments and scenarios. It will be apparent to persons skilled in the relevant art that various changes in form and detail can be made therein without departing from the scope. After reading the description, it will be apparent to one skilled in the relevant art how to implement alternative embodiments. The present embodiments may not be limited by any of the described example embodiments. The embodiments of the present disclosure will be described with reference to the accompanying drawings. Limitations, features, and/or elements from the disclosed example embodiments may be combined to create further embodiments within the scope of the disclosure. Any figures which highlight the functionality and advantages, are presented for example purposes only. The disclosed architecture is sufficiently flexible and configurable, such that it may be utilized in ways other than that shown. For example, the actions listed in any flowchart may be re-ordered or only optionally used in some embodiments.
Embodiments may be configured to operate as needed. The disclosed mechanism may be performed when certain criteria are met, for example, in a station, an access point, a radio environment, a network, a combination of the above, and/or the like. Example criteria may be based, at least in part, on for example, wireless device or network node configurations, traffic load, initial system set up, packet sizes, traffic characteristics, a combination of the above, and/or the like. When the one or more criteria are met, various example embodiments may be applied. Therefore, it may be possible to implement example embodiments that selectively implement disclosed protocols.
In this disclosure, “a” and “an” and similar phrases are to be interpreted as “at least one” and “one or more.” Similarly, any term that ends with the suffix “(s)” is to be interpreted as “at least one” and “one or more.” In this disclosure, the term “may” is to be interpreted as “may, for example.” In other words, the term “may” is indicative that the phrase following the term “may” is an example of one of a multitude of suitable possibilities that may, or may not, be employed by one or more of the various embodiments. The terms “comprises” and “consists of”, as used herein, enumerate one or more components of the element being described. The term “comprises” is interchangeable with “includes” and does not exclude unenumerated components from being included in the element being described. By contrast, “consists of” provides a complete enumeration of the one or more components of the element being described. The term “based on”, as used herein, may be interpreted as “based at least in part on” rather than, for example, “based solely on”. The term “and/or” as used herein represents any possible combination of enumerated elements. For example, “A, B, and/or C” may represent A; B; C; A and B; A and C; B and C; or A, B, and C.
If A and B are sets and every element of A is an element of B, A is called a subset of B. In this specification, only non-empty sets and subsets are considered. For example, possible subsets of B={STA1, STA2} are: {STA1}, {STA2}, and {STA1, STA2}. The phrase “based on” (or equally “based at least on”) is indicative that the phrase following the term “based on” is an example of one of a multitude of suitable possibilities that may, or may not, be employed to one or more of the various embodiments. The phrase “in response to” (or equally “in response at least to”) is indicative that the phrase following the phrase “in response to” is an example of one of a multitude of suitable possibilities that may, or may not, be employed to one or more of the various embodiments. The phrase “depending on” (or equally “depending at least to”) is indicative that the phrase following the phrase “depending on” is an example of one of a multitude of suitable possibilities that may, or may not, be employed to one or more of the various embodiments. The phrase “employing/using” (or equally “employing/using at least”) is indicative that the phrase following the phrase “employing/using” is an example of one of a multitude of suitable possibilities that may, or may not, be employed to one or more of the various embodiments. The term configured may relate to the capacity of a device whether the device is in an
operational or non-operational state. Configured may refer to specific settings in a device that effect the operational characteristics of the device whether the device is in an operational or non-operational state. In other words, the hardware, software, firmware, registers, memory values, and/or the like may be “configured” within a device, whether the device is in an operational or nonoperational state, to provide the device with specific characteristics. Terms such as “a control message to cause in a device” may mean that a control message has parameters that may be used to configure specific characteristics or may be used to implement certain actions in the device, whether the device is in an operational or non-operational state.
In this disclosure, parameters (or equally called, fields, or Information elements: IEs) may comprise one or more information objects, and an information object may comprise one or more other objects. For example, if parameter (IE) N comprises parameter (IE) M, and parameter (IE) M comprises parameter (IE) K, and parameter (IE) K comprises parameter (information element) J. Then, for example, N comprises K, and N comprises J. In an example embodiment, when one or more messages/frames comprise a plurality of parameters, it implies that a parameter in the plurality of parameters is in at least one of the one or more messages/frames but does not have to be in each of the one or more messages/frames.
Many features presented are described as being optional through the use of “may” or the use of parentheses. For the sake of brevity and legibility, the present disclosure does not explicitly recite each and every permutation that may be obtained by choosing from the set of optional features. The present disclosure is to be interpreted as explicitly disclosing all such permutations. For example, a system described as having three optional features may be embodied in seven ways, namely with just one of the three possible features, with any two of the three possible features or with three of the three possible features.
Many of the elements described in the disclosed embodiments may be implemented as modules. A module is defined here as an element that performs a defined function and has a defined interface to other elements. The modules described in this disclosure may be implemented in hardware, software in combination with hardware, firmware, wetware (e.g. hardware with a biological element) or a combination thereof, which may be behaviorally equivalent. For example, modules may be implemented as a software routine written in a computer language configured to be executed by a hardware machine (such as C, C++, Fortran, Java, Basic, Matlab or the like) or a modeling/simulation program such as Simulink, Stateflow, GNU Octave, or LabVIEWMathScript. It may be possible to implement modules using physical hardware that incorporates discrete or programmable analog, digital and/or quantum hardware. Examples of programmable hardware comprise computers, microcontrollers, microprocessors, application-specific integrated circuits (ASICs); field programmable gate arrays (FPGAs); and complex programmable logic devices (CPLDs). Computers, microcontrollers and microprocessors are programmed using languages such as assembly, C, C++ or the like. FPGAs, ASICs and CPLDs are often programmed using hardware description languages (HDL) such as VHSIC hardware description language (VHDL) or Verilog that configure connections between internal hardware modules with lesser functionality on a programmable device. The mentioned technologies are often used in combination to achieve the result of a functional module.
As shown in
BSS 110-1 and 110-2 each includes a set of an access point (AP or AP STA) and at least one station (STA or non-AP STA). For example, BSS 110-1 includes an AP 104-1 and a STA 106-1, and BSS 110-2 includes an AP 104-2 and STAs 106-2 and 106-3. The AP and the at least one STA in a BSS perform an association procedure to communicate with each other.
DS 130 may be configured to connect BSS 110-1 and BSS 110-2. As such, DS 130 may enable an extended service set (ESS) 150. Within ESS 150, APs 104-1 and 104-2 are connected via DS 130 and may have the same service set identification (SSID).
WLAN infra-structure network 102 may be coupled to one or more external networks. For example, as shown in
The example wireless communication networks illustrated in
For example, in
A STA as a predetermined functional medium may include a medium access control (MAC) layer that complies with an IEEE 802.11 standard. A physical layer interface for a radio medium may be used among the APs and the non-AP stations (STAs). The STA may also be referred to using various other terms, including mobile terminal, wireless device, wireless transmit/receive unit (WTRU), user equipment (UE), mobile station (MS), mobile subscriber unit, or user. For example, the term “user” may be used to denote a STA participating in uplink Multi-user Multiple Input, Multiple Output (MU MIMO) and/or uplink Orthogonal Frequency Division Multiple Access (OFDMA) transmission.
A physical layer (PHY) protocol data unit (PPDU) may be a composite structure that includes a PHY preamble and a payload in the form of a PLCP service data unit (PSDU). For example, the PSDU may include a PHY Convergence Protocol (PLCP) preamble and header and/or one or more MAC protocol data units (MPDUs). The information provided in the PHY preamble may be used by a receiving device to decode the subsequent data in the PSDU. In instances in which PPDUs are transmitted over a bonded channel (channel formed through channel bonding), the preamble fields may be duplicated and transmitted in each of the multiple component channels. The PHY preamble may include both a legacy portion (or “legacy preamble”) and a non-legacy portion (or “non-legacy preamble”). The legacy preamble may be used for packet detection, automatic gain control and channel estimation, among other uses. The legacy preamble also may generally be used to maintain compatibility with legacy devices. The format of, coding of, and information provided in the non-legacy portion of the preamble is based on the particular IEEE 802.11 protocol to be used to transmit the payload.
A frequency band may include one or more sub-bands or frequency channels. For example, PPDUs conforming to the IEEE 802.11n, 802.11ac, 802.11ax and/or 802.11be standard amendments may be transmitted over the 2.4 GHz, 5 GHz, and/or 6 GHz bands, each of which may be divided into multiple 20 MHz channels. The PPDUs may be transmitted over a physical channel having a minimum bandwidth of 20 MHz. Larger channels may be formed through channel bonding. For example, PPDUs may be transmitted over physical channels having bandwidths of 40 MHz, 80 MHz, 160 MHz, or 520 MHz by bonding together multiple 20 MHz channels.
Processor 220/270 may implement functions of the PHY layer, the MAC layer, and/or the logical link control (LLC) layer of the corresponding device (STA 210 or AP 260). Processor 220/270 may include one or more processors and/or one or more controllers. The one or more processors and/or one or more controllers may comprise, for example, a general-purpose processor, a digital signal processor (DSP), a microcontroller, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a logic circuit, or a chipset, for example.
Memory 230/280 may include a read-only memory (ROM), a random-access memory (RAM), a flash memory, a memory card, a storage medium, and/or other storage unit. Memory 230/280 may comprise one or more non-transitory computer readable mediums. Memory 230/280 may store computer program instructions or code that may be executed by processor 220/270 to carry out one or more of the operations/embodiments discussed in the present application. Memory 230/280 may be implemented (or positioned) within processor 220/270 or external to processor 220/270. Memory 230/280 may be operatively connected to processor 220/270 via various means known in the art.
Transceiver 240/290 may be configured to transmit/receive radio signals. In an embodiment, transceiver 240/290 may implement a PHY layer of the corresponding device (STA 210 or AP 260). In an embodiment, STA 210 and/or AP 260 may be a multi-link device (MLD), that is a device capable of operating over multiple links as defined by the IEEE 802.11 standard. As such, STA 210 and/or AP 260 may each implement multiple PHY layers. The multiple PHY layers may be implemented using one or more of transceivers 240/290.
As shown in
The MAC header includes a frame control field, an optional duration/ID field, address fields, an optional sequence control field, an optional QoS control field, and an optional HT control field.
The frame control fields include the following subfields: protocol version, type, subtype, To DS, From DS, more fragments, retry, power management, more data, protected frame, and +HTC.
The protocol version subfield is invariant in size and placement across all revisions of the IEEE 802.11 standard. The value of the protocol version subfield is 0 for MAC frames.
The type and subtype subfields together identify the function of the MAC frame. There are three frame types: control, data, and management. Each of the frame types has several defined subtypes. Bits within the subtype subfield are used to indicate a specific modification of the basic data frame (subtype 0). For example, in data frames, the most significant bit (MSB) of the subtype subfield, bit 7 (B7) of the frame control field, is defined as the QoS subfield. When the QoS subfield is set to 1, it indicates a QoS subtype data frame, which is a data frame that contains a QoS control field in its MAC header. The second MSB of the subtype field, bit 6 (B6) of the frame control field, when set to 1 in data subtypes, indicates a data frame that contain no frame body field.
The To DS subfield indicates whether a data frame is destined to the distribution system (DS). The From DS subfield indicates whether a data frame originates from the DS.
The more fragments subfield is set to 1 in all data or management frames that have another fragment to follow of the MAC service data unit (MSDU) or MAC management protocol data unit (MMPDU) carried by the MAC frame. It is set to 0 in all other frames in which the more fragments subfield is present.
The retry subfield is set to 1 in any data or management frame that is a retransmission of an earlier frame. It is set to 0 in all other frames in which the retry subfield is present. A receiving STA uses this indication to aid it in the process of eliminating duplicate frames. These rules do not apply for frames sent by a STA under a block agreement.
The power management subfield is used to indicate the power management mode of a STA.
The More Data subfield indicates to a STA in power save (PS) mode that bufferable units (Bus) are buffered for that STA at the AP. The more data subfield is valid in individually addressed data or management frames transmitted by an AP to a STA in PS mode. The more data subfield is set to 1 to indicate that at least one additional buffered BU is present for the STA.
The protected frame subfield is set to 1 if the frame body field contains information that has been processed by a cryptographic encapsulation algorithm.
The +HTC subfield indicates that the MAC frame contains an HT control field.
The duration/ID field of the MAC header indicates various contents depending on frame type and subtype and the QoS capabilities of the sending STA. For example, in control frames of the power save poll (PS-Poll) subtype, the duration/ID field carries an association identifier (AID) of the STA that transmitted the frame in the 14 least significant bits (LSB), and the 2 most significant bits (MSB) are both set to 1. In other frames sent by STAs, the duration/ID field contains a duration value (in microseconds) which is used by a recipient to update a network allocation vector (NAV). The NAV is a counter that it indicates to a STA an amount of time during which it must defer from accessing the shared medium.
There can be up to four address fields in the MAC frame format. These fields are used to indicate the basic service set identifier (BSSID), source address (SA), destination address (DA), transmitting address (TA), and receiving address (RA). Certain frames might not contain some of the address fields. Certain address field usage may be specified by the relative position of the address field (1-4) within the MAC header, independent of the type of address present in that field. Specifically, the address 1 field always identifies the intended receiver(s) of the frame, and the address 2 field, where present, always identifies the transmitter of the frame.
The sequence control field includes two subfields, a sequence number subfield and a fragment number subfield. The sequence number subfield in data frames indicates the sequence number of the MSDU (if not in an Aggregated MSDU (A-MSDU)) or A-MSDU. The sequence number subfield in management frames indicates the sequence number of the frame. The fragment number subfield indicates the number of each fragment of an MSDU or MMPDU. The fragment number is set to 0 in the first or only fragment of an MSDU or MMPDU and is incremented by one for each successive fragment of that MSDU or MMPDU. The fragment number is set to 0 in a MAC protocol data unit (MPDU) containing an A-MSDU, or in an MPDU containing an MSDU or MMPDU that is not fragmented. The fragment number remains constant in all retransmissions of the fragment.
The QoS control field identifies the traffic category (TC) or traffic stream (TS) to which the MAC frame belongs. The QoS control field may also indicate various other QoS related, A-MSDU related, and mesh-related information about the frame. This information can vary by frame type, frame subtype, and type of transmitting STA. The QoS control field is present in all data frames in which the QoS subfield of the subtype subfield is equal to 1.
The HT control field is present in QoS data, QoS null, and management frames as determined by the +HTC subfield of the frame control field.
The frame body field is a variable length field that contains information specific to individual frame types and subtypes. It may include one or more MSDUs or MMPDUs. The minimum length of the frame body is 0 octets.
The FCS field contains a 32-bit Cyclic Redundancy Check (CRC) code. The FCS field value is calculated over all of the fields of the MAC header and the frame body field.
The QoS control field may include a traffic identifier (TID) subfield, an ack policy indicator subfield, and a queue size subfield (or a transmission opportunity (TXOP) duration requested subfield).
The TID subfield identifies the TC or TS of traffic for which a TXOP is being requested, through the setting of the TXOP duration requested or queue size subfield. The encoding of the TID subfield depends on the access policy (e.g., Allowed value 0 to 7 for enhanced distributed channel access (EDCA) access policy to identify user priority for either TC or TS).
The ack policy indicator subfield, together with other information, identifies the acknowledgment policy followed upon delivery of the MPDU (e.g., normal ack, implicit block ack request, no ack, block ack, etc.)
The queue size subfield is an 8-bit field that indicates the amount of buffered traffic for a given TC or TS at the STA for transmission to the AP identified by the receiver address of the frame containing the subfield. The queue size subfield is present in QoS null frames sent by a STA when bit 4 of the QoS control field is set to 1. The AP may use information contained in the queue size subfield to determine t TXOP duration assigned to the STA or to determine the uplink (UL) resources assigned to the STA.
In a frame sent by or to a non-High Efficiency (non-HE) STA, the following rules may apply to the queue size value:
In a frame sent by an HE STA to an HE AP, the following rules may apply to the queue size value.
The queue size value, QS, is the approximate total size in octets, of all MSDUs and A-MSDUs buffered at the STA (including the MSDUs or A-MSDUs contained in the same PSDU as the frame containing the queue size subfield) in the delivery queue used for MSDUs and A-MSDUs with TID values equal to the value indicated in the TID subfield of the QoS control field.
The queue size subfield includes a scaling factor subfield in bits B14-B15 of the QoS control field and an unscaled value, UV, in bits B8-B13 of the QoS control field. The scaling factor subfield provides the scaling factor, on.
A STA obtains the queue size, QS, from a received QoS control field, which contains a scaling factor, SF, and an unscaled value, UV, as follows:
The TXOP duration requested subfield, which may be included instead of the queue size subfield, indicates the duration, in units of 32 microseconds (us), that the sending STA determines it needs for its next TXOP for the specified TID. The TXOP duration requested subfield is set to 0 to indicate that no TXOP is requested for the specified TID in the current service period (SP). The TXOP duration requested subfield is set to a nonzero value to indicate a requested TXOP duration in the range of 32 us to 8160 us in increments of 32 us.
The HT control field may include a BSR control subfield which may contain buffer status information used for UL MU operation. The BSR control subfield may be formed from an access category index (ACI) bitmap subfield, a delta TID subfield, an ACI high subfield, a scaling factor subfield, a queue size high subfield, and a queue size all subfield of the HT control field.
The ACI bitmap subfield indicates the access categories for which buffer status is reported (e.g., B0: best effort (AC_BE), B1: background (AC_BK), B2: video (AC_VI), B3: voice (AC_VO), etc.). Each bit of the ACI bitmap subfield is set to 1 to indicate that the buffer status of the corresponding AC is included in the queue size all subfield, and set to 0 otherwise, except that if the ACI bitmap subfield is 0 and the delta TID subfield is 3, then the buffer status of all 8 TIDs is included.
The delta TID subfield, together with the values of the ACI bitmap subfield, indicate the number of TIDs for which the STA is reporting the buffer status.
The ACI high subfield indicates the ACI of the AC for which the BSR is indicated in the queue size high subfield. The ACI to AC mapping is defined as ACI value 0 mapping to AC_BE, ACI value 1 mapping to AC_BK, ACI value 2 mapping to AC_VI, and ACI value 3 mapping to AC_VO.
The scaling factor subfield indicates the unit SF, in octets, of the queue size high and queue size all subfields.
The queue size high subfield indicates the amount of buffered traffic, in units of SF octets, for the AC identified by the ACI high subfield, that is intended for the STA identified by the receiver address of the frame containing the BSR control subfield.
The queue size all subfield indicates the amount of buffered traffic, in units of SF octets, for all ACs identified by the ACI Bitmap subfield, that is intended for the STA identified by the receiver address of the frame containing the BSR control subfield.
The queue size values in the queue size high and queue size all subfields are the total sizes, rounded up to the nearest multiple of SF octets, of all MSDUs and A-MSDUs buffered at the STA (including the MSDUs or A-MSDUs contained in the same PSDU as the frame containing the BSR control subfield) in delivery queues used for MSDUs and A-MSDUs associated with AC(s) that are specified in the ACI high and ACI bitmap subfields, respectively.
A queue size value of 254 in the queue size high and queue size all subfields indicates that the amount of buffered traffic is greater than 254×SF octets. A queue size value of 255 in the queue size high and queue size all subfields indicates that the amount of buffered traffic is an unspecified or unknown size. The queue size value of QoS data frames containing fragments may remain constant even if the amount of queued traffic changes as successive fragments are transmitted.
MAC service provides peer entities with the ability to exchange MSDUs. To support this service, a local MAC uses the underlying PHY-level service to transport the MSDUs to a peer MAC entity. Such asynchronous MSDU transport is performed on a connectionless basis.
The PSDU may include one or more MPDUs, such as a QoS data frame, an MMPDU, a MAC control frame, or a QoS null frame. In the case of an MPDU carrying a QoS data frame, the frame body of the MPDU may include a MSDU or an A-MSDU.
By default, MSDU transport is on a best-effort basis. That is, there is no guarantee that a transmitted MSDU will be delivered successfully. However, the QoS facility uses a traffic identifier (TID) to specify differentiated services on a per-MSDU basis.
A STA may differentiate MSDU delivery according to designated traffic category (TC) or traffic stream (TS) of individual MSDUs. The MAC sublayer entities determine a user priority (UP) for an MSDU based on a TID value provided with the MSDU. The QoS facility supports eight UP values. The UP values range from 0 to 7 and form an ordered sequence of priorities, with 1 being the lowest value, 7 the highest value, and 0 falling between 2 and 3.
An MSDU with a particular UP is said to belong to a traffic category with that UP. The UP may be provided with each MSDU at the medium access control service access point (MAC SAP) directly in a UP parameter. An aggregate MPDU (A-MPDU) may include MPDUs with different TID values.
A STA may deliver buffer status reports (BSRs) to assist an AP in allocating UL MU resources. The STA may either implicitly deliver BSRs in the QoS control field or BSR control subfield of any frame transmitted to the AP (unsolicited BSR) or explicitly deliver BSRs in a frame sent to the AP in response to a BSRP Trigger frame (solicited BSR).
The buffer status reported in the QoS control field includes a queue size value for a given TID. The buffer status reported in the BSR control field includes an ACI bitmap, delta TID, a high priority AC, and two queue sizes.
A STA may report buffer status to the AP, in the QoS control field, of transmitted QoS null frames and QoS data frames and, in the BSR control subfield (if present), of transmitted QoS null frames, QoS data frames, and management frames as defined below.
The STA may report the queue size for a given TID in the queue size subfield of the QoS control field of transmitted QoS data frames or QoS null frames; the STA may set the queue size subfield to 255 to indicate an unknown/unspecified queue size for that TID. The STA may aggregate multiple QoS data frames or QoS null frames in an A-MPDU to report the queue size for different TIDs.
The STA may report buffer status in the BSR control subfield of transmitted frames if the AP has indicated its support for receiving the BSR control subfield.
A High-Efficiency (HE) STA may report the queue size for a preferred AC, indicated by the ACI high subfield, in the queue size high subfield of the BSR control subfield. The STA may set the queue size high subfield to 255 to indicate an unknown/unspecified queue size for that AC.
A HE STA may report the queue size for ACs indicated by the ACI bitmap subfield in the queue size all subfield of the BSR control subfield. The STA may set the queue size all subfield to 255 to indicate an unknown/unspecified BSR for those ACs.
In the next Wi-Fi standard, a triggered TXOP sharing (TXS) procedure may allow an AP to allocate a portion of the time within an obtained TXOP to a STA for transmitting one or more non-trigger-based (non-TB) PPDUs. For the triggered TXOP sharing procedure, the AP may transmit a multi-user request-to-send (MU-RTS) trigger frame with a triggered TXOP sharing mode subfield set to a non-zero value. The MU-RTS trigger frame is a trigger frame for triggering CTS frame(s) from multiple users.
In an example embodiment, an MU-RTS TXS (triggered TXOP sharing) trigger (MRTT) frame is a MU-RTS trigger frame with a triggered TXOP sharing mode subfield set to a non-zero value (e.g., 1 or 2).
In an example, during the portion of the allocated time, the STA may transmit the one or more non-TB PPDUs to the AP. In this case, a triggered TXOP sharing mode subfield in an MU-RTS TXS trigger frame may be set to 1.
In an example, during the portion of the allocated time, the STA may transmit the one or more non-TB PPDUs to the AP or a peer STA. In an example, the peer STA may be a STA with a connection for peer-to-peer (P2P) communication or direct communication with the STA. In this case, a triggered TXOP sharing mode subfield in an MU-RTS TXS trigger frame may be set to 2. In an example, the direct wireless link is established according to the tunneled direct link setup (TDLS) protocol.
As shown in
The Element ID field identifies a group of elements including the QoS Characteristics element. The group of elements may include, in addition to the QoS Characteristics element, an EHT Operation element, a Multi-Link element, an EHT Capabilities element, a TID-To-Link Mapping element, a Multi-Link Traffic Indication element, a MLO Link Information element, and an AID Bitmap element.
The Extended Element ID field may indicate a specific value for distinguishing the QoS Characteristics element from other elements having the same Element ID.
As shown in
The Direction subfield specifies the direction of the data frames described by the QoS Characteristics element as uplink, downlink or direct link.
The TID subfield comprises a TID value of the data frames that are described by the QoS Characteristics element. The TID subfield may be set to the same value as the User Priority field.
The User Priority subfield comprises a user priority value (0-7) of the data frames that are described by the QoS Characteristics element. When the traffic classification (TCLAS) element is present in the SCS Request frame containing the QoS Characteristics element, the User Priority subfield is set to the user priority value specified in the TCLAS element.
The Presence Bitmap of Additional Parameters subfield comprises a bitmap where the i-th entry of the bitmap is set to 1 if the i-th field starting from the Maximum MSDU Size field is present in the QoS Characteristics element. For each field starting from the Maximum MSDU Size field, the value 0 is reserved.
The LinkID subfield comprises a link identifier of a direct (e.g., P2P) link on which frame transmissions will occur. If the Direction subfield is equal a value other than 2 (which corresponds to Direct link), the LinkID subfield is reserved.
The Minimum/Maximum Service Interval fields comprise unsigned integers that specify the minimum/maximum intervals, in microseconds, between the start of two consecutive SPs that are allocated to the STA for direct link frame exchanges. The fields take the reserved value 0, if the Direction subfield is set to 2 (Direct link).
The Minimum Data Rate field comprises an unsigned integer that specifies the lowest data rate specified at the MAC SAP, in kilobits per second, for transport of MSDUs or A-MSDUs belonging to the traffic flow described by this element.
The Delay Bound field comprises an unsigned integer that specifies the maximum amount of time, in micro-seconds, allowed to transport an MSDU or A-MSDU belonging to the traffic flow described by the QoS Characteristics element, measured between the time marking the arrival of the MSDU, or the first MSDU of the MSDUs constituting an A-MSDU, at the local MAC sublayer from the local MAC SAP and the time of completion of the successful transmission or retransmission of the MSDU or A-MSDU to the destination.
Of the optional fields, the Maximum MSDU Size field comprises an unsigned integer that specifies the maximum size, in octets, of MSDUs or A-MSDUs belonging to the traffic flow described by the QoS Characteristics element.
The Service Start Time field comprises an unsigned integer that specifies the anticipated time, in microseconds, when the traffic starts for the associated TID. The Service Start Time indicates to the AP the time when the STA expects to exchange frames corresponding to the TID specified in the QoS Characteristics element. The field represents the four lower order octets of the timing synchronization function (TSF) timer associated to the link specified in the LinkID field at the start of the anticipated SP.
The Service Start Time LinkID field indicates the link identifier that corresponds to the link for which the TSF timer is used to indicate the Service Start Time.
The Mean Data Rate field indicates the average data rate specified at the MAC SAP, in kilobits per second, for transport of MSDUs or A-MSDUs belonging to the traffic flow within the bounds of this element.
The Burst Size field comprises an unsigned integer that specifies the maximum burst, in octets, of the MSDUs or A-MSDUs belonging to the traffic flow that arrive at the MAC SAP within a time duration specified in the Delay Bound field.
The MSDU Lifetime field comprises an unsigned integer that specifies the maximum amount of time, in milliseconds, from the arrival of the MSDU at the MAC data service interface beyond which the MSDU is not useful even if received by the receiver. Therefore, the MSDU transmitter may consider discarding such MSDU at the transmitter before it is transmitted over-the-air. The amount of time specified in this field is larger than or equal to the amount of time specified in the Delay Bound field, if present.
The MSDU Delivery Ratio field specifies the MSDU loss requirement. The MSDU Count Exponent field comprises an unsigned integer that specifies the exponent from which the number of incoming MSDUs used for computing the MSDU delivery ratio is obtained.
S1G relay is a mechanism for expanding the coverage area of an AP, referred to as the root AP. In example S1G relay architecture 700, the S1G relay mechanism is being used to expand the coverage area of root AP 710.
As shown in
In an example, frames from STA 750 are forwarded via the relay function of relay 720 (from the relay AP to the relay STA of relay 720) to root AP 710. In the reverse direction, frames from root AP 710 are forwarded to STA 750 via the relay function of relay 720 (from the relay STA to the relay AP of relay 720). Similarly, STAs 780 and 790 may communicate with root AP 710 via relay 730 in both directions (e.g., uplink and downlink) On the other hand, STAs 760 and 770 may use relays 740 and 720 consecutively to communicate with root AP 710.
STA 810 may be a non-AP STA or an AP STA. Similarly, STA 820 may be a non-AP STA or an AP STA. Relay 830 may comprise a relay AP, a relay STA, and a relay function as described in
Due to unreliable communication or to extend the range of existing communication, source STA 810 may use relay 830 to communicate with a destination STA 820. As such, STA 810 may transmit data frames destined to STA 820 via relay 830. Source STA 810 and/or the relay 830 may choose to protect the transmitted data frames with TXOP protection while relaying the data frames via relay 830. In another embodiment, source STA 810 and/or relay 830 may choose not to protect the data frames with TXOP protection while relaying the data frames via relay 830.
In example 900, STA 910 may be a STA that supports TXOP sharing procedures. As shown in
In example 900, relay 911 may transmit data frame 922 to STA 912 without protecting data frame 922. STA 912 may transmit an ACK frame 923 after receiving data frame 922 from relay 911. Relaying without TXOP protection may allow a lower latency transmission of data frame 920 from STA 910 to STA 912. However, communication may be less reliable in case that other STAs of the same BSS may be present within the communication ranges of STAs 910, 912 and relay 911. To improve communication reliability, an RTS/CTS procedure may be used to protect relayed data frames as further described below.
In an example, STA 1002 may transmit an RTS frame 1006 to STA 1004. STA 1002 may transmit RTS frame 1006 to protect from hidden STA(s) the transmission of a data frame 1010 that STA 1002 intends to transmit. RTS frame 1006 may include a Duration/ID field. The Duration/ID field may be set to the time, in microseconds, required to transmit data frame 1010, plus one CTS frame, plus one ACK frame (if required), plus three SIFS (Short Interframe Spacing) periods.
In an example, STA 1004 may respond to RTS frame 1006 by transmitting a CTS frame 1008 to STA 1002. CTS frame 1008 may be transmitted one SIFS period after RTS frame 1006. STA 1004 may respond to RTS frame 1006 when RTS frame 1006 is addressed to STA 1004 and after considering the NAV, unless the NAV was set by a frame originating from STA 1002. STA 1004 may respond to the RTS frame 1006 when RTS frame 1006 is addressed to STA 1004 and if the NAV indicates idle. For a non-S1G STA, the NAV indicates idle when the NAV count is 0 or when the NAV count is non-zero but a nonbandwidth signaling TA obtained from a TA field of RTS frame 1006 matches a saved TXOP holder address. For an S1G STA, the NAV indicates idle when both the NAV and RID (response indication deferral) counters are 0 or when either the NAV or RID counter is non-zero but the TA field of RTS frame 1006 matches the saved TXOP holder address.
STA 1004 may set an RA field of CTS frame 1008 to a nonbandwidth signaling TA obtained from the TA field of RTS frame 1006. STA 1004 may set a Duration field of CTS frame 1008 based on the Duration/ID field of RTS frame 1006, namely as equal to the value of the Duration/ID field of RTS frame 1006, adjusted by subtracting the time required to transmit CTS frame 1008 and one SIFS period.
Upon receiving CTS frame 1008, STA 1002 may wait one SIFS period before transmitting data frame 1010. STA 1004 may transmit an ACK frame 1012 in response to data frame 1010. STA 1004 may transmit ACK frame 1012 one SIFS after receiving data frame 1010.
As shown in example 1000, other STAs within communication range of STAs 1002 and 1004, and belonging to the same BSS, may set their NAVs according to RTS frame 1006 and/or CTS frame 1008. For example, a STA receiving RTS frame 1006 may set its NAV based on the Duration/ID field of RTS frame 1006. Another STA receiving CTS frame 1008 may set its NAV based on the Duration field of CTS frame 1008. As such, the other STAs may not access the channel using EDCA until the end of transmission of ACK frame 1012.
In an example, STA 1110 may be a STA that supports TXOP sharing procedures. Before transmitting a data frame 1122 to relay 1111, STA 1110 may transmit an RTS frame 1120 to relay 1111. Relay 1111 may respond to RTS frame 1120 by transmitting a CTS frame 1121 to STA 1110, if its NAV indicates idle. Upon receiving CTS frame 1121, STA 1110 may transmit data frame 1122 to relay 1111. Relay 1111 may transmit an ACK frame 1123 if an explicit ACK procedure is used. Alternatively, relay 1111 may not transmit an ACK frame if an implicit ACK procedure is used.
Similarly, before relaying receive data frame 1122 onto STA 1112, relay 1111 may transmit an RTS frame 1124 to STA 1112. STA 1112 may respond to RTS frame 1124 by transmitting a CTS frame 1125 to relay 1111, if its NAV indicates idle. Upon receiving CTS frame 1125, relay 1111 may transmit a data frame 1126 (relay of data frame 1122) to STA 1112. STA 1112 may transmit an ACK frame 1127 to relay 1111 after receiving data frame 1126.
Relaying with TXOP protection provides a more reliable approach to transmit data frames from a source STA to a destination STA. However, communication may be delayed in presence of other STAs communicating with the destination STA.
Future IEEE 802.11 radios (e.g., Ultra-High Reliability (UHR) 802.11 radios) are expected to support both reliable and low latency traffic transmission. When relays are used to extend the range of communication in future IEEE 802.11 radios, higher reliability relaying using TXOP protection may experience delays that may be unacceptable for transmitting low latency traffic from a source STA to a destination STA.
As shown in
In example 1200, STA 1110 may have a low latency data frame to transmit to STA 1112 via relay 1111 within a transmission completion time. A low latency data frame may be a data frame that comprises one or more MPDUs having TIDs associated with one or more predetermined traffic categories or traffic streams (e.g., latency sensitive traffic categories or traffic streams). In an implementation, STA 1110 may associate a counter with the transmission completion time. The transmission completion time counter may start with the initiation of the relaying procedure by STA. In another implementation, the transmission completion time counter may start with the transmission of the low latency data frame by STA 1110. In an implementation, successful transmission of a low latency data frame may require acknowledgement of the low latency data frame by the destination STA before the transmission completion time counter expires. In an implementation, the transmission completion time may refer to the amount of time required for the low latency data frame to be delivered to the destination STA. The transmission completion time may be different for different low latency data frames.
According to the existing procedure, to transmit a low latency data frame 1222, STA 1110 initiates relaying with TXOP protection by transmitting an RTS frame 1220 to relay 1111. In an example, STA 1110 may start the transmission completion time counter associated with low latency data frame 1222 on transmitting RTS frame 1220. Relay 1111 may respond to RTS frame 1220 by transmitting a CTS frame 1221 to STA 1110, if its NAV indicates idle. Upon receiving CTS frame 1221, STA 1110 may transmit data frame 1222 to relay 1111. In an example, relay 1111 may transmit an ACK frame 1223 to STA 1110 if an explicit ACK procedure is used. Alternatively, relay 1111 may not transmit an ACK frame if an implicit ACK procedure is used.
For further protection of the TXOP, relay 1111 may transmit an RTS frame 1224 to STA 1112. In an example, STA 1112 may be busy communicating with other STAs at the time that it receives RTS frame 1224 from relay 1111. As such, STA 1112 may acknowledge RTS frame 1224 but may not transmit a CTS frame immediately in response to RTS frame 1224. In example 1200, STA 1112 may not transmit a CTS frame to relay 1111 in response to RTS frame 1224 due to being in the process of receiving a data frame 1225 from STA 1213 at the time of receiving RTS frame 1224 from relay 1111.
In an example, an RTS/CTS timer may expire at relay 1111 before STA 1112 transmits a CTS frame to relay 1111. As such, relay 1111 may transmit a further RTS frame 1226 to STA 1112. In an example, STA 1112 may respond to RTS frame 1226 by transmitting a CTS frame 1227 to relay 1111, if its NAV indicates idle. Relay 1111 may then transmit a data frame 1228 (relaying data frame 1222) to STA 1112. STA 1112 may transmit an ACK frame 1229 to relay 1111 after receiving data frame 1228.
As illustrated in
Embodiments of the present disclosure, as further described below, address the above-described problem. In one aspect, embodiments enable a source STA to transmit an indication of low latency traffic to a relay for a frame to be relayed by the relay. The indication of low latency traffic may inform the relay of presence of a transmission completion time for the frame. The transmission completion time may indicate a maximum allowed time for delivering the frame to a destination STA. In another aspect, the relay may consider the transmission completion time in determining whether to relay the data frame to the destination STA. This may depend on the availability of the destination STA and the possibility of relaying the frame within the transmission completion time. In an embodiment, the relay may determine an estimated transmission completion time for the frame. The relay may discard the frame if the estimated transmission completion time is greater than the transmission completion time. As such, late and unnecessary transmission of a frame by the relay may be prevented, resulting in energy savings at the relay.
As shown in
If the answer is no in step 1310 (i.e., no LL indication in the first frame), process 1300 proceeds to step 1320, in which the relay processes the first frame according to existing IEEE 802.11 standard procedures. For example, if the first frame is an RTS frame, the relay may respond with a CTS frame to the source STA. If the first frame is a data frame, the relay may forward the data frame per existing standard relay procedures.
Otherwise, if the answer is yes in step 1310, process 1300 may transition to step 1330, which includes receiving a second frame destined to the destination STA. In an embodiment, the second frame may comprise a low latency (or latency sensitive) data frame. In another embodiment, where the first frame comprises its own transmission completion time (and the indication of low latency traffic), the second frame received in step 1330 is the same as the first frame. In an embodiment, the relay transmits an ACK frame to the source STA in response to the second frame, e.g., if an explicit ACK procedure is used. In another embodiment, the relay does not transmit an ACK frame to the source STA in response to the second frame, e.g., if an implicit ACK procedure is used.
Subsequently, process 1300 proceeds to step 1340, which includes transmitting an RTS frame to the destination STA. Process 1300 then proceeds to step 1350, in which the relay checks whether a CTS frame has been received from the destination STA within an RTS/CTS timer. If the answer is no, process 1300 proceeds to step 1360, in which the relay calculates an estimated transmission completion time of the second frame and compares the estimated transmission completion time to the transmission completion time indicated in the first frame. The estimated transmission completion time may be calculated depending on whether the CTS frame is received or not from the destination STA. When the CTS is not received, the estimated transmission completion time of the second frame may be equal to the sum of an estimated transmission time of the second frame, the total time of an RTS/CTS exchange time (including backoff and SIFS) with the destination STA, and an internal processing time for preparing the transmission of the second frame. In an embodiment, if the estimated transmission completion time of the second frame is less than or equal to the transmission completion time indicated in the first frame, process 1300 returns to step 1340, in which the relay transmits a further RTS frame. Otherwise, if the estimated transmission completion time is greater than the transmission completion time indicated in the first frame, process 1300 proceeds to step 1370, in which the second frame is discarded.
If the answer is yes in step 1350 (i.e., CTS frame is received from the destination STA within the RTS/CTS timer), process 1300 proceeds to step 1380, in which the relay calculates an estimated transmission completion time of the second frame and compares the estimated transmission completion time to the transmission completion time indicated in the first frame. In an embodiment, when the CTS has been received from the destination STA, the estimated transmission completion time of the second frame is equal to the summation of an estimated transmission time of the second frame, a SIFS, and internal processing time for preparing the transmission of the second frame. In an embodiment, if the estimated transmission completion time of the second frame is greater than the transmission completion time indicated in the first frame, process 1300 proceeds to step 1390, in which the second data frame is discarded based on determining that the second frame cannot be transmitted to the destination STA within the transmission completion time. Otherwise, if the estimated transmission completion time is less than or equal to the transmission completion time indicated in the first frame, process 1300 proceeds to step 1395, in which the second frame is transmitted to the destination STA.
It is assumed in example 1400 that STA 1410 transmits data frames to STA 1412 via relay 1411. In an embodiment, when STA 1410 has a low latency data frame to be transmitted to STA 1412 within a predetermined time, STA 1410 may transmit to relay 1411 a frame 1420 comprising an indication of low latency traffic and a transmission completion time of the low latency data frame. A low latency data frame may be a data frame that comprises one or more MPDUs having TIDs associated with one or more predetermined traffic categories or traffic streams (e.g., latency sensitive traffic categories or traffic streams). In an embodiment, the indication of low latency traffic may inform relay 1411 of presence of the transmission completion time in frame 1420. In an embodiment, frame 1420 may comprise a QoS null frame. In another embodiment, frame 1420 may be an action frame. In an embodiment, relay 1411 may implement example process 1300 to relay the data frame to STA 1412.
In response to frame 1420, relay 1411 may transmit a response frame 1421 to STA 1410 to acknowledge the reception of frame 1420. STA 1410 may then transmit an RTS frame 1422 to relay 1111. Relay 1411 may respond to RTS frame 1422 by transmitting a CTS frame 1423 to STA 1410, if its NAV indicates idle. Upon receiving CTS frame 1423, STA 1410 may transmit a data frame 1424 to relay 1411. Data frame 1424 may be the low latency data frame which transmission completion time is indicated in frame 1420. In an example, relay 1411 may transmit an ACK frame 1425 to STA 1410, e.g., if an explicit ACK procedure is used. In another embodiment, relay 1411 may not transmit an ACK frame to STA 1410, e.g., if an implicit ACK procedure is used.
Relay 1411 may transmit an RTS frame 1426 to STA 1412. STA 1412 may respond to RTS frame 1426 by transmitting a CTS frame 1427 to relay 1411, e.g., if its NAV indicates idle. Relay 1411 may then check whether an estimated transmission completion time of data frame 1424 is less than or equal to the transmission completion time of data frame 1424 indicated in frame 1420. If the answer is yes, relay 1411 may transmit a data frame 1428 (relaying data frame 1424) to STA 1412. Upon receiving data frame 1428, STA 1412 may transmit an ACK frame 1429 to relay 1411.
As illustrated in
It is assumed in example 1500 that STA 1410 transmits data frames to STA 1412 via relay 1411. In an embodiment, when STA 1410 has a low latency data frame to be transmitted to STA 1412 within a predetermined time, STA 1410 may transmit to relay 1411 an indication of low latency traffic and a transmission completion time of the low latency data frame to relay 1411 in an RTS frame 1520. A low latency data frame may be a data frame that comprises one or more MPDUs having TIDs associated with one or more predetermined traffic categories or traffic streams (e.g., latency sensitive traffic categories or traffic streams). In an embodiment, the indication of low latency traffic may inform relay 1411 of presence of the transmission completion time in frame 1520. In an embodiment, the indication of low latency traffic may be provided in a frame control field of RTS frame 1520. In an embodiment, the transmission completion time may be provided in a duration field of RTS frame 1520. In an embodiment, relay 1411 may implement example process 1300 while to relay the data frame to STA 1412.
In response to RTS frame 1520, relay 1411 may respond by transmitting a CTS frame 1521 to STA 1410, if its NAV indicates idle. Upon receiving CTS frame 1521, STA 1410 may transmit a data frame 1522 to relay 1411. Data frame 1522 may be the low latency data frame which transmission completion time is indicated in RTS frame 1520. In an example, relay 1411 may transmit an ACK frame 1523 to STA 1410, e.g., if an explicit ACK procedure is used. In another embodiment, relay 1411 may not transmit an ACK frame to STA 1410, e.g., if an implicit ACK procedure is used.
Relay 1411 may transmit an RTS frame 1524 to STA 1412. STA 1412 may respond to RTS frame 1524 by transmitting a CTS frame 1525 to Relay 1411, e.g., if its NAV indicates idle. Relay 1411 may then check whether an estimated transmission completion time of data frame 1522 is less than or equal to the transmission completion time of data frame 1522 indicated in frame 1520. If the answer is yes, relay 1411 may transmit a data frame 1526 (relaying data frame 1522) to STA 1412. Upon receiving data frame 1526, STA 1412 may transmit an ACK frame 1527 to relay 1411.
Similar to example 1400, when the low latency data frame is received by the destination STA, data transmission is guaranteed to be completed within transmission completion time.
It is assumed in example 1600 that STA 1410 transmits data frames to STA 1412 via relay 1411. In an embodiment, when STA 1410 has a low latency data frame to be transmitted to STA 1412 within a predetermined time, STA 1410 may transmit to relay 1411 an indication of low latency traffic and a transmission completion time of the low latency data frame in the data frame itself. A low latency data frame may be a data frame that comprises one or more MPDUs having TIDs associated with one or more predetermined traffic categories or traffic streams (e.g., latency sensitive traffic categories or traffic streams).
STA 1410 may start the low latency relaying procedure by transmitting an RTS frame 1620 to relay 1411. Relay 1411 may respond to RTS frame 1620 by transmitting a CTS frame 1621 to STA 1410, if its NAV indicates idle. Upon receiving the CTS frame, STA 1410 may transmit a data frame 1622 to relay 1411. In an embodiment, data frame 1622 may comprise an indication of low latency traffic and a transmission completion time of data frame 1622. In an embodiment, the indication of low latency traffic may inform relay 1411 of presence of the transmission completion time in low latency data frame 1622. In an embodiment, the transmission completion time and the indication of low latency traffic may be provided in an aggregated control (A-control) field of data frame 1622. In an embodiment, the A-control field may be provided in a high throughput (HT) control field of data flame 1622. Relay 1411 may implement example process 1300 to relay the data to STA 1412.
Upon receiving data frame 1622, relay 1411 may transmit an ACK frame 1623 to STA 1410, e.g., if an explicit ACK procedure is used. In another embodiment, relay 1411 may not transmit an ACK frame to STA 1410, e.g., if an implicit ACK procedure is used.
Relay 1411 may transmit an RTS frame 1624 to STA 1412. STA 1412 may respond to RTS frame 1624 by transmitting a CTS frame 1625 to relay 1411, e.g., if its NAV indicates idle. Relay 1411 may then check whether an estimated transmission completion time of data frame 1622 is less than or equal to the transmission completion time of data frame 1622 indicated in the same frame. If the answer is yes, relay 1411 may transmit a data frame 1626 (relaying data frame 1622) to STA 1412. Upon receiving data frame 1626, STA 1412 may transmit an ACK frame 1627 to relay 1411.
Similar to examples 1400 and 1500, when the low latency data frame is received by the destination STA, the data transmission is guaranteed to be completed within transmission completion time.
It is assumed in example 1700 that STA 1410 transmits data frames to STA 1412 via relay 1411. In an embodiment, when STA 1410 has a low latency data frame to be transmitted to STA 1412 within a predetermined time, STA 1410 may transmit to relay 1411 an indication of low latency traffic and a transmission completion time of the low latency data frame in the data frame itself. A low latency data frame may be a data frame that comprises one or more MPDUs having TIDs associated with one or more predetermined traffic categories or traffic streams (e.g., latency sensitive traffic categories or traffic streams).
STA 1410 may start the low latency relaying procedure by transmitting an RTS frame 1720 to relay 1411. Relay 1411 may respond to RTS frame 1720 by transmitting a CTS frame 1721 to STA 1410, if its NAV indicates idle. Upon receiving the CTS frame, STA 1410 may transmit the data frame 1722 to relay 1411. In an embodiment, data frame 1722 may comprise an indication of low latency traffic and a transmission completion time of data frame 1722. In an embodiment, the indication of low latency traffic may inform relay 1411 of presence of the transmission completion time in data frame 1722. In an embodiment, the transmission completion time and the indication of low latency traffic may be provided in an aggregated control (A-control) field of data frame 1722. In an embodiment, the A-control field may be provided in a high throughput (HT) control field of data frame 1722. In an embodiment, relay 1411 may implement example process 1300 to relay the data frame to STA 1412.
Upon receiving data frame 1722, relay 1411 may transmit an ACK frame 1723 to STA 1410, e.g., if an explicit ACK procedure is used. In another embodiment, relay 1411 may not transmit an ACK frame to STA 1410, e.g., if an implicit ACK procedure is used.
Relay 1411 may transmit an RTS frame 1724 to STA 1412. In an embodiment, STA 1412 may not transmit a CTS frame to relay 1411 in response to RTS frame 1724 due to being busy receiving a data frame 1725 from STA 1713 during the request from relay 1411. When an RTS/CTS timer expires at relay 1411, relay 1411 may check whether an estimated transmission completion time of data frame 1722 is less than or equal to the transmission completion time. If the answer is yes, relay 1411 may transmit a further RTS frame. Otherwise, relay 1411 may discard, without transmitting data frame 1722, based on determining that data frame 1722 cannot be transmitted to STA 1412 within the transmission completion time. Accordingly, late unnecessary transmission of data frame 1722 may be prevented, resulting in energy saving at relay 1411.
It is assumed in example 1800 that STA 1410 transmits data frames to STA 1412 via relay 1411. In an embodiment, when STA 1410 has a low latency data frame to be transmitted to STA 1412 within a predetermined time, STA 1410 may transmit to relay 1411 an indication of low latency traffic and a transmission completion time of the low latency data frame in the data frame itself. A low latency data frame may be a data frame that comprises one or more MPDUs having TIDs associated with one or more predetermined traffic categories or traffic streams (e.g., latency sensitive traffic categories or traffic streams).
STA 1410 may start the low latency relaying procedure by transmitting an RTS frame 1820 to relay 1411. Relay 1411 may respond to RTS frame 1820 by transmitting a CTS frame 1821 to STA 1410, if its NAV indicates idle. Upon receiving the CTS frame, STA 1410 may transmit a data frame 1822 to relay 1411. In an embodiment, data frame 1822 may comprise an indication of low latency traffic and a transmission completion time of a data frame. In an embodiment, the indication of low latency traffic may inform relay 1411 of presence of the transmission completion time in data frame 1822. In an embodiment, the transmission completion time and the indication of low latency traffic may be provided in an aggregated control (A-control) field of data frame 1822. In an embodiment, the A-control field may be provided in a high throughput (HT) control field of data frame 1822. In an embodiment, relay 1411 may implement example process 1300 to relay the data frame to STA 1412.
Upon receiving data frame 1822, relay 1411 may transmit an ACK frame 1823 to STA 1410, e.g., if an explicit ACK procedure is used. In another embodiment, relay 1411 may not transmit an ACK frame to STA 1410, e.g., if an implicit ACK procedure is used.
Knowing the transmission completion time of data frame 1822, relay 1411 may check whether an estimated transmission completion time of data frame 1822 is less than or equal to the transmission completion time indicated in data frame 1822, before sending an RTS frame to STA 1412. In an embodiment, if the estimated transmission completion time of data frame 1822 is less than or equal to the transmission completion time, relay 1411 may transmit data frame 1824 without TXOP protection (without performing an RTS/CTS exchange). In an embodiment, STA 1412 may be available and data frame 1824 may be received within the transmission completion time. In another embodiment, STA 1713 may be transmitting a data frame 1825 to STA 1412 in the same channel simultaneously. In one embodiment, data frame 1824 may be received successfully by STA 1412. In another embodiment, data frame 1824 may not be received successfully by STA 1412.
It is assumed in example 1900 that STA 1410 transmits data frames to STA 1412 via relay 1411. In an embodiment, when STA 1410 has a low latency data frame to be transmitted to STA 1412 within a predetermined time, STA 1410 may transmit to relay 1411 an indication of low latency traffic and a transmission completion time of the low latency data frame in the data frame itself. A low latency data frame may be a data frame that comprises one or more MPDUs having TIDs associated with one or more predetermined traffic categories or traffic streams (e.g., latency sensitive traffic categories or traffic streams).
STA 1410 may start the low latency relaying procedure by transmitting an RTS frame 1920 to relay 1411. Relay 1411 may respond to RTS frame 1920 by transmitting a CTS frame 1921 to STA 1410, if its NAV indicates idle. Upon receiving the CTS frame, STA 1410 may transmit the data frame 1922 to relay 1411. In an embodiment, data frame 1922 may comprise an indication of low latency traffic and a transmission completion time of a data frame. In an embodiment, the indication of low latency traffic may inform relay 1411 of presence of the transmission completion time in data frame 1922. In an embodiment, the transmission completion time and the indication of low latency traffic may be provided in an aggregated control (A-control) field of data frame 1922. In an embodiment, the A-control field may be provided in a high throughput (HT) control field of data frame 1922. In an embodiment, relay 1411 may implement example process 1300 to relay the data frame to STA 1412.
Upon receiving data frame 1922, relay 1411 may transmit an ACK frame 1923 to STA 1410, e.g., if an explicit ACK procedure is used. In another embodiment, relay 1411 may not transmit an ACK frame to STA 1410, e.g., if an implicit ACK procedure is used.
Relay 1411 may transmit an RTS frame 1924 to STA 1412. In an embodiment, STA 1412 may not transmit a CTS frame to relay 1411 in response to RTS frame 1924 due to being busy receiving a data frame 1925 from STA 1713 during the request from relay 1411. When an RTS/CTS timer expires at relay 1411, relay 1411 may check whether an estimated transmission completion time of data frame 1922 is less than or equal to the transmission completion time. If the answer is yes, relay 1411 may transmit a further RTS frame. In an embodiment, relay 1411 may transmit RTS frame 1926 to STA 1412. STA 1412 may respond to RTS frame 1926 by transmitting a CTS frame 1927 to relay 1411, e.g., if its NAV indicates idle. In an embodiment, relay 1411 may check whether an updated estimated transmission completion time of data frame 1922 is less than or equal to the transmission completion time. If the answer is yes, relay 1411 may transmit the data frame. In another embodiment, if the answer is no, relay 1411 may choose to transmit the data frame despite delayed transmission. Accordingly, Relay 1411 may transmit data frame 1928 to STA 1412 beyond the transmission completion time. Upon receiving the data frame 1928, STA 1412 may transmit ACK frame 1929 to relay 1411.
In an embodiment, as described above, the frame from the source STA (e.g., frame 1420) may comprise an indication of low latency traffic and a transmission completion time of a data frame as shown in
In an embodiment, as described above, the RTS frame from the source STA (e.g., frame 1520) may comprise an indication of low latency traffic and a transmission completion time of a data frame as shown in
In an embodiment, as described above, the frame from the source STA (e.g., frame 1622) may comprise an indication of low latency traffic and a transmission completion time of a data frame as shown in
As shown in
In an embodiment, the first frame may further comprise an indication of low latency traffic. In an embodiment, the indication of low latency traffic may inform the first STA of presence of the transmission completion time in the first frame. In an embodiment, the transmission completion time may comprise a delay bound. In another embodiment, transmission completion time may comprise an MSDU lifetime. In an embodiment, the transmission completion time and the indication a low latency traffic may be provided in an aggregated control (A-control) field of the first frame. In an embodiment, the A-control field may be provided in a high throughput (HT) control field of the first frame. In another embodiment, the transmission completion time may be provided in a duration field of the first frame and the indication of low latency traffic may be provided in a frame control field of the first frame.
In an embodiment, process 2100 may further comprise receiving the second frame by the first STA from the second STA. In an embodiment, the second frame may comprise one or more medium access control protocol data unit (MPDU) associated with low latency traffic.
In step 2120, process 2100 may include transmitting, by the first STA to the third STA, the second frame based on determining that an estimated transmission completion time of the second frame is no later than the transmission completion time. In an embodiment, process 2100 may further comprise (e.g., before step 2120) transmitting, by the first STA to the third STA, a request-to-send (RTS) frame, and receiving, by the first STA from the third STA, a clear-to-send (CTS) frame. In an embodiment, the second frame may be transmitted after receiving the CTS frame from the third STA. In another embodiment, process 2100 may further comprise discarding, without transmitting the second frame, based on determining that the estimated transmission completion time of the second frame is later than the transmission completion time. In another embodiment, process 2100 may further comprise transmitting the second frame to the third STA after the transmission completion time.
As shown in
In an embodiment, the first frame may further comprise an indication of low latency traffic. In an embodiment, the indication of low latency traffic may inform the second STA of presence of the transmission completion time in the first frame. In an embodiment, the transmission completion time may comprise a delay bound of the second frame. In another embodiment, the transmission completion time may comprise an MSDU lifetime of the second frame. In an embodiment, the transmission completion time and the indication of low latency traffic may be provided in an aggregated control (A-control) field of the first frame. In an embodiment, the A-control field may be provided in a high throughput (HT) control field of the first frame. In another embodiment, the transmission completion time may be provided in a duration field of the first frame and the indication of low latency traffic may be provided in a frame control field of the first frame.
In step 2220, process 2200 may include receiving, by the first STA from the second STA, a third frame in response to the first frame. In an embodiment, the third frame may comprise a clear-to-send (CTS) frame. In another embodiment, the third frame may comprise an acknowledgment or a response frame.
This application claims the benefit of U.S. Provisional Application No. 63/448,694, filed Feb. 28, 2023, which is hereby incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
63448694 | Feb 2023 | US |