NETWORK CODING FOR MULTI-LINK DEVICE NETWORKS

Certain aspects of the present disclosure provide a method of wireless communications by a first multi-link device (MLD). The method generally includes establishing multiple links with at least one second MLD, obtaining network coded packets over at least one of the multiple links, decoding the network coded packets, based on a network decoding algorithm, to recover one or more uncoded packets, generating feedback based on the decoding, and outputting, for transmission, the feedback to the at least one second MLD.

BACKGROUND

Field of the Disclosure

Aspects of the present disclosure relate to wireless communications, and more particularly, to techniques for utilizing network coding in wireless networks with multi-link devices (MLDs).

Description of Related Art

In order to address the issue of increasing bandwidth requirements that are demanded for wireless communications systems, different schemes are being developed to allow multiple user terminals to communicate with a single access point by sharing the channel resources while achieving high data throughputs. Multiple Input Multiple Output (MIMO) technology represents one such approach that has emerged as a popular technique for communications systems. MIMO technology has been adopted in several wireless communications standards such as the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standard. The IEEE 802.11 denotes a set of Wireless Local Area Network (WLAN) air interface standards developed by the IEEE 802.11 committee for short-range communications (such as tens of meters to a few hundred meters).

SUMMARY

One aspect provides a method of wireless communications by a first multi-link device (MLD). The method includes establishing multiple links with at least one second MLD; obtaining network coded packets over at least one of the multiple links; decoding the network coded packets, based on a network decoding algorithm, to recover one or more uncoded packets; generating feedback based on the decoding; and outputting, for transmission, the feedback to the at least one second MLD.

Another aspect provides a method of wireless communications by a second MLD. The method includes establishing at least one link with at least one first MLD; encoding one or more uncoded packets to generate network coded packets, based on a network coding algorithm; and outputting, for transmission, the network coded packets over the at least one link.

DETAILED DESCRIPTION

Aspects of the present disclosure relate to wireless communications, and more particularly, to techniques for utilizing network coding in wireless networks with multi-link devices (MLDs).

A multi-link device (MLD) generally refers to a single device or equipment that includes two or more station (STA) instances or entities, implemented in a physical (PHY) layer and/or medium access control (MAC) layer and configured to communicate on multiple (separate) wireless links. Devices operating as MLDs are said to perform multi-link operation (MLO) In some examples, each MLD may include a single higher layer entity, such as a MAC Service Access Point (SAP) that may assign MAC protocol data units (MPDUs) for transmission by the separate STA instances.

MLO may be used in certain applications, such as extended reality (XR) gaming, where traffic delivery may have relatively stringent latency requirements and reliability requirements. In certain systems (e.g., 802.11 be), MLO may be introduced where an MLD that is not acting as an access point (a non-AP MLD) can associate to an AP over multiple links. This scenario may be referred to as collocated MLO. In another example of MLO deployment, in Next Generation Wi-Fi networks (e.g., Wi-Fi 8), Multi-AP Association may be used that enables multiple non-collocated APs to serve a single non-AP MLD. This scenario may be referred to as non-collocated MLO.

In some cases, in order to enhance the reliability of latency sensitive traffic, a STA may send duplicate packets, such as medium access control (MAC) protocol data units (MPDUs), over multiple links in order to ensure that the target reliability (e.g., 99.9%) is achieved for the intended delay budget. Unfortunately, simple duplication of MPDUs over multiple links may result in excessive network load, reduced capacity, and may trigger many retransmissions in case of bad link conditions.

Aspects of the present disclosure, however, propose incorporating network coding into MLO scenarios, in order to achieve stringent latency and reliability requirements. Network coding generally refers to a technique where operations (e.g., algebraic algorithms), are performed on packets as they pass through nodes within a network. This is in contrast to traditional routing networks, where packets are simply cached and then forwarded to the next node downstream in the network. Network coding typically merges relevant messages at a node, using a given encoding, then forwards the accumulated result to a destination/receiver for decoding.

Using network coding, an AP or non-AP MLD STA may transmit network coded MPDUs over multiple links (and can be applied in both in collocated/non-collocated MLO). By using network coding, redundant MPDUs may help improve reliable delivery of source packets, allowing the STA to avoid unnecessary re-transmissions that could significantly increase the delay of MPDU reception, especially when experiencing bad link conditions (e.g., caused by link blockage or edge users).

Introduction to Wireless Communications Networks

Various aspects of the disclosure are described more fully hereinafter with reference to the accompanying drawings. This disclosure may, however, be implemented in many different forms and should not be construed as limited to any specific structure or function presented throughout this disclosure. Rather, these aspects are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art. Based on the teachings herein one skilled in the art should appreciate that the scope of the disclosure is intended to cover any aspect of the disclosure disclosed herein, whether implemented independently of or combined with any other aspect of the disclosure. For example, an apparatus may be implemented or a method may be practiced using any number of the aspects set forth herein. In addition, the scope of the disclosure is intended to cover such an apparatus or method which is practiced using other structure, functionality, or structure and functionality in addition to or other than the various aspects of the disclosure set forth herein. It should be understood that any aspect of the disclosure disclosed herein may be implemented by one or more elements of a claim.

The techniques described herein may be used for various broadband wireless communications systems, including communications systems that are based on an orthogonal multiplexing scheme. Examples of such communications systems include Spatial Division Multiple Access (SDMA), Time Division Multiple Access (TDMA), Orthogonal Frequency Division Multiple Access (OFDMA) systems, Single-Carrier Frequency Division Multiple Access (SC-FDMA) systems, and so forth. An SDMA system may utilize sufficiently different directions to simultaneously transmit data belonging to multiple user terminals. A TDMA system may allow multiple user terminals to share the same frequency channel by dividing the transmission signal into different time slots, each time slot being assigned to different user terminal. An OFDMA system utilizes orthogonal frequency division multiplexing (OFDM), which is a modulation technique that partitions the overall system bandwidth into multiple orthogonal sub-carriers. These sub-carriers may also be called tones, bins, etc. With OFDM, each sub-carrier may be independently modulated with data. An SC-FDMA system may utilize interleaved FDMA (IFDMA) to transmit on sub-carriers that are distributed across the system bandwidth, localized FDMA (LFDMA) to transmit on a block of adjacent sub-carriers, or enhanced FDMA (EFDMA) to transmit on multiple blocks of adjacent sub-carriers. In general, modulation symbols are sent in the frequency domain with OFDM and in the time domain with SC-FDMA.

The teachings herein may be incorporated into (such as implemented within or performed by) a variety of wired or wireless apparatuses (such as nodes). In some aspects, a wireless node implemented in accordance with the teachings herein may comprise an access point or an access terminal.

An access point (“AP”) may comprise, be implemented as, or known as a Node B, Radio Network Controller (“RNC”), evolved Node B (eNB), Base Station Controller (“BSC”), Base Transceiver Station (“BTS”), Base Station (“BS”), Transceiver Function (“TF”), Radio Router, Radio Transceiver, Basic Service Set (“BSS”), Extended Service Set (“ESS”), Radio Base Station (“RBS”), or some other terminology.

Example Wireless Communications System

FIG.1is a diagram illustrating an example wireless communication system100, in accordance with certain aspects of the present disclosure. System100may be a multiple-input multiple-output (MIMO)/multi-link operation (MLO) system100.

For simplicity, only one AP110is shown inFIG.1. An AP is generally a fixed station that communicates with the wireless STAs and may also be referred to as a base station (B S) or some other terminology. A wireless STA may be fixed or mobile and may also be referred to as a mobile STA, a wireless device, or some other terminology. AP110may communicate with one or more wireless STAs120at any given moment on the downlink (DL) and/or uplink (UL). The DL (i.e., forward link) is the communication link from AP110to the wireless STAs120, and the UL (i.e., reverse link) is the communication link from the wireless STAs120to AP110. A wireless STA120may also communicate peer-to-peer with another wireless STA120, for example, via a direct link such as a tunneled direct link setup (TDLS). A system controller130may be in communication with and provide coordination and control for the access points.

While portions of the following disclosure will describe wireless STAs120capable of communicating via Spatial Division Multiple Access (SDMA), for certain aspects, the wireless STAs120may also include some wireless STAs120that do not support SDMA. Thus, for such aspects, an AP110may be configured to communicate with both SDMA and non-SDMA wireless STAs120. This approach may conveniently allow older versions of wireless STAs120(“legacy” stations) to remain deployed in an enterprise, extending their useful lifetime, while allowing newer SDMA wireless STAs120to be introduced as deemed appropriate.

System100employs multiple transmit and multiple receive antennas for data transmission on the DL and UL. AP110is equipped with Nap antennas and represents the multiple-input (MI) for DL transmissions and the multiple-output (MO) for UL transmissions. A set of K selected wireless stations120collectively represents the multiple-output for DL transmissions and the multiple-input for UL transmissions. For pure SDMA, it is desired to have Nap≥K≥1 if the data symbol streams for the K wireless STAs are not multiplexed in code, frequency or time by some means. K may be greater than Napif the data symbol streams can be multiplexed using TDMA technique, different code channels with CDMA, disjoint sets of subbands with OFDM, and so on. Each selected wireless STA transmits user-specific data to and/or receives user-specific data from the access point. In general, each selected wireless STA may be equipped with one or multiple antennas (i.e., Nsta≥1). The K selected wireless STAs can have the same or different number of antennas.

System100may be a time division duplex (TDD) system or a frequency division duplex (FDD) system. For a TDD system, the DL and UL share the same frequency band. For an FDD system, the DL and UL use different frequency bands. System100may also utilize a single carrier or multiple carriers for transmission. Each wireless STA may be equipped with a single antenna or multiple antennas. System100may also be a TDMA system if wireless STAs120share the same frequency channel by dividing transmission/reception into different time slots, each time slot being assigned to a different wireless STA120.

FIG.2illustrates a block diagram of AP110and two wireless STAs120mand120xin a MIMO/MLO system, such as system100, in accordance with certain aspects of the present disclosure. In certain aspects, AP110and/or wireless STAs120mand120xmay perform various techniques to ensure that a non-AP MLD is able to receive a group addressed frame. For example, AP110and/or wireless STAs120mand120xmay include a respective association manager as described herein with respect toFIG.1.

AP110is equipped with Nap antennas224athrough224t. Wireless STA120mis equipped with Nsta,m antennas252mathrough252mu, and wireless STA120xis equipped with Nsta,x antennas252xathrough252xu. AP110is a transmitting entity for the DL and a receiving entity for the UL. Each wireless STA120is a transmitting entity for the UL and a receiving entity for the DL. As used herein, a “transmitting entity” is an independently operated apparatus or device capable of transmitting data via a wireless channel, and a “receiving entity” is an independently operated apparatus or device capable of receiving data via a wireless channel. The term communication generally refers to transmitting, receiving, or both. In the following description, the subscript “DL” denotes the downlink, the subscript “UL” denotes the uplink, NUL wireless STAs are selected for simultaneous transmission on the uplink, NDL wireless STAs are selected for simultaneous transmission on the downlink, NUL may or may not be equal to NDL, and NUL and NDL may be static values or can change for each scheduling interval. The beam-steering or some other spatial processing technique may be used at the access point and wireless station.

On the UL, at each wireless STA120selected for UL transmission, a transmit (TX) data processor288receives traffic data from a data source286and control data from a controller280. TX data processor288processes (e.g., encodes, interleaves, and modulates) the traffic data for the wireless station based on the coding and modulation schemes associated with the rate selected for the wireless STA and provides a data symbol stream. A TX spatial processor290performs spatial processing on the data symbol stream and provides Nsta,m transmit symbol streams for the Nsta,m antennas. Each transceiver (TMTR)254receives and processes (e.g., converts to analog, amplifies, filters, and frequency upconverts) a respective transmit symbol stream to generate an uplink signal. Nsta,m transceivers254provide Nsta,m UL signals for transmission from Nsta,m antennas252to AP110.

NUL wireless STAs may be scheduled for simultaneous transmission on the uplink. Each of these wireless STAs performs spatial processing on its data symbol stream and transmits its set of transmit symbol streams on the UL to the AP110.

At AP110, Nap antennas224athrough224apreceive the UL signals from all NUL wireless STAs transmitting on the UL. Each antenna224provides a received signal to a respective transceiver (RCVR)222. Each transceiver222performs processing complementary to that performed by transceiver254and provides a received symbol stream. A receive (RX) spatial processor240performs receiver spatial processing on the Nap received symbol streams from Nap transceiver222and provides NUL recovered UL data symbol streams. The receiver spatial processing is performed in accordance with the channel correlation matrix inversion (CCMI), minimum mean square error (MMSE), soft interference cancellation (SIC), or some other technique. Each recovered UL data symbol stream is an estimate of a data symbol stream transmitted by a respective wireless station. An RX data processor242processes (e.g., demodulates, deinterleaves, and decodes) each recovered uplink data symbol stream in accordance with the rate used for that stream to obtain decoded data. The decoded data for each wireless STA may be provided to a data sink244for storage and/or a controller230for further processing.

On the DL, at AP110, a TX data processor210receives traffic data from a data source208for NDL wireless stations scheduled for downlink transmission, control data from a controller230, and possibly other data from a scheduler234. The various types of data may be sent on different transport channels. TX data processor210processes (e.g., encodes, interleaves, and modulates) the traffic data for each wireless station based on the rate selected for that wireless station. TX data processor210provides NDL DL data symbol streams for the NDL wireless stations. A TX spatial processor220performs spatial processing (such as a precoding or beamforming, as described in the present disclosure) on the NDL DL data symbol streams, and provides Nap transmit symbol streams for the Nap antennas. Each transceiver222receives and processes a respective transmit symbol stream to generate a DL signal. Nap transceivers222providing Nap DL signals for transmission from Nap antennas224to the wireless STAs.

At each wireless STA120, Nsta,m antennas252receive the Nap DL signals from access point110. Each transceiver254processes a received signal from an associated antenna252and provides a received symbol stream. An RX spatial processor260performs receiver spatial processing on Nsta,m received symbol streams from Nsta,m transceiver254and provides a recovered DL data symbol stream for the wireless station. The receiver spatial processing is performed in accordance with the CCMI, MMSE or some other technique. An RX data processor270processes (e.g., demodulates, deinterleaves and decodes) the recovered DL data symbol stream to obtain decoded data for the wireless station.

At each wireless STA120, a channel estimator278estimates the DL channel response and provides DL channel estimates, which may include channel gain estimates, SNR estimates, noise variance and so on. Similarly, a channel estimator228estimates the UL channel response and provides UL channel estimates. Controller280for each wireless STA typically derives the spatial filter matrix for the wireless station based on the downlink channel response matrix Hdn,m for that wireless station. Controller230derives the spatial filter matrix for the AP based on the effective UL channel response matrix Hup,eff. Controller280for each wireless STA may send feedback information (e.g., the downlink and/or uplink eigenvectors, eigenvalues, SNR estimates, and so on) to the AP. Controllers230and280also control the operation of various processing units at AP110and wireless STA120, respectively.

Overview of Network Coding

Aspects of the present disclosure relate to wireless communications, and more particularly, to techniques for utilizing network coding for more efficient multicast transmission. As will be described in greater detail below, in some cases, a radio link layer (RLC) network coding sublayer may be used to increase efficiency and reliability while satisfying latency requirements.

Network coding generally refers to a technique where operations (e.g., algebraic algorithms), are performed on packets as they pass through nodes within a network. This is in contrast to traditional routing networks, where packets are simply cached and then forwarded to the next node downstream in the network. Network coding typically merges relevant messages at a node, using a given encoding, then forwards the accumulated result to a destination/receiver for decoding.

FIGS.3A and3Billustrate a simple single hop scenario utilizing NC. As shown inFIG.3A, a transmitter device (Tx) generates and sends network coded packets to a receiver device (Rx). The transmitter device Tx (also referred to as a transmitter node, transmitter, encoder node, or encoder) and/or the receiver device Rx (also referred to as a receiver node, receiver, decoder node, or decoder) may be any type of UE, base station, an integrated access and backhaul (IAB) device, and/or the like.

As shown inFIG.3B, the transmitter device Tx may generate the network coding packets from a set of original (or source) packets (e.g., packet 1 (p1), packet 2 (p2), and packet 3 (p3)). As illustrated, the network coding packets may be the same as a source packet or may include some combination of source packets (e.g., a linear combination of a subset of the source packets). Network coding may be performed using any type of network coding scheme, such as fountain coding, linear network coding, random linear network coding, Luby transform (LT) network coding, Raptor network coding, and/or the like.

The number of encoded packets is typically greater than the number of source packets, which provides redundancy and increases reliability. In the example illustrated inFIG.3B, the transmitter device Tx encodes K original packets (e.g., K=3) into N network coded packets (e.g., N=4). As shown, the three source packets (p1, p2, and p3) are encoded into the four network coded packets: p2, p1+p2, p1+p3, and p2+p3.

The redundant information carried in the encoded packets may help the receiver device Rx recover the source packets even if not all of the network coded packets are successfully decoded. For example, assuming the receiver device Rx does not successfully decode network coded packet p1+p2 (as indicated by the X), the receiver device Rx may still be able to recover the source packets, as there is sufficient information in the other network coded packets (p2, p1+p3, and p2+p3). For example, the receiver device Rx may first decode network coded packet p2. Using the information for packet p2, the receiver may obtain packet p3 after decoding network coded packet p2+p3 (e.g., because the receiver has already decoded p2 and can use combining techniques to obtain p3 from p2+p3). In a similar manner, the receiver device Rx can obtain packet p1 from the network coded packet p1+p3 (because the receiver device Rx has already decoded packet p3 and can use combining to obtain packet p1 from network coded packet p1+p3).

As illustrated, in some cases, the receiver device Rx may provide feedback. In this example, the receiver device Rx indicates the three source packets (p1, p2, and p3) were successfully decoded. As will be described in greater detail below, such feedback may be used to update the network coded scheme.

As shown inFIG.4, the network coded coding scheme can be extended to a multi-hop deployment. In such cases, intermediate nodes (indicated by NC inFIG.4) can either relay packets or encode and relay network coded packets.

Overview of Multi-Link Devices

As initially described above, a multi-link device (MLD) generally refers to a single device or equipment that includes two or more station (STA) instances or entities, implemented in a physical (PHY)/medium access control (MAC) layer and configured to communicate on separate wireless links. In some examples, each MLD may include a single higher layer entity, such as a MAC Service Access Point (SAP) that may assign MAC protocol data units (MPDUs) for transmission by the separate STA instances.

FIG.5shows a block diagram of an example MLD deployment. As shown inFIG.5, an access point (AP) MLD may communicate with a non-AP MLD. Each of the AP MLD and non-AP MLD may include at least two STA entities (hereinafter also referred to simply as “STAs”) that may communicate with associated STAs of another MLD. In an AP MLD, the STAs may be AP STAs (STAs serving as APs or simply “APs”). In a non-AP MLD, the STAs may be non-AP STAs (STAs not serving as APs). As also described above, MLDs may utilize multi-link aggregation (MLA) (which includes packet level aggregation), whereby MPDUs from a same traffic ID (TID) may be sent via two or more wireless links.

Various modes of communication may be employed in MLD implementations. For example, a MLD may communicate in an Asynchronous (Async) mode or a Synchronous (Sync) mode.

In the Async mode, a STA/AP may count down (for example, via a random backoff (RBO)) on both wireless links. A physical layer convergence protocol (PLCP) protocol data units (PPDU) start/end may happen independently on each of the wireless links. As a result, Async mode may potentially provide latency and aggregation gains. In certain cases, relatively complex (and costly) filters may be needed (for example, in the case of 5 GHz+6 GHz aggregation).

In the Sync mode, a STA/AP may also count down on both wireless links (e.g., assuming Link 1 and Link 2). If a first link (e.g., Link 1) wins the medium, both links may transmit PPDUs at the same time. Accordingly, this mode may need some restrictions to minimize in-device interference.

The Sync mode may work in 5 GHz+6 GHz aggregation and may require relatively low-filter performance, while still providing latency and aggregation gains. However, due to its tiled architecture, this latency and aggregation gains may be hard to achieve.

Although not shown, a third mode of communication may include a Basic (for example, multi-primary with single link transmission) mode. In the Basic mode, a STA/AP may also count down on both wireless links. However, transmission may only occur on the wireless link that wins the medium. The other wireless link may be blocked by in-device interference greater than −62 decibels per milliwatt (dBm). No aggregation gains may be realized in this mode.

Aspects Related to Network Coding for Multi-Link Device Networks

Aspects of the present disclosure propose incorporating network coding into MLO scenarios. For example, using network coding, an AP or non-AP MLD STA may transmit network coded MPDUs over multiple links (and can be applied in both in collocated/non-collocated MLO). By using network coding, redundant MPDUs may help improve reliable delivery of source packets, allowing the STA to avoid unnecessary re-transmissions that could significantly increase the delay of MPDU reception, especially when experiencing bad link conditions.

As illustrated inFIG.6, in what may be considered a baseline scenario, a Wi-Fi STA transmits K original MSDUs (using K MPDUs) to another Wi-Fi STA. If the transmission was not successful (e.g., as indicated by block acknowledgment BA feedback), the Wi-Fi STA re-transmits the same MPDU until it get acknowledged by the receiver.

As noted above, however, in case of network coding, a transmitting Wi-Fi STA may encode multiple MSDUs to generate linearly encoded MPDUs.

As illustrated inFIG.6, depending on the required redundancy, the STA will transmit K+N linearly encoded MPDUs along with the coding vectors. As a result, the receiving STA will need to receive only N′ MPDUs (where N′ is greater than or equal to K) in order to decode the encoded packets and recover the original uncoded MSDUs.

The value of N may be determined, for example, by the particular network coding function, targeted error probability, and/or channel conditions. The size of MSDUs may be predefined and, in some cases, the value of K may be optimized using the SDU size and a generator matrix. In some cases, the value of N and/or K may be optimized based on one or more of the following parameters: targeted error rate, channel condition, network coding functions, device computation resources, target reliability, and delay budget.

The K+N MPDUs may be output for transmission over multiple links (e.g., different component carriers and/or different RATs). At the receiver-side, a network decoding sublayer may process the network coded packets, performing network decoding operations corresponding to the encoding operations described above, and generating (acknowledgment or block-acknowledgment) feedback to the transmitter (or multiple transmitters).

There are various options for incorporating network coding in an MLD network, in accordance with aspects of the present disclosure.

According to a first option, network coding may be used to provide dynamic redundancy without re-transmissions. According to this option, transmitting STA may transmit a fixed number of MPDUs (K+N) without any retransmissions. Potential benefits of this option include a bounded delay and the ability to adapt redundancy (e.g., by adjusting the value of N) based on link conditions.

According to a second option, network coding may be used to provide dynamic redundancy with re-transmissions. According to this second option, a transmitting STA may initially transmit K+N MDPUs. Based on feedback received from the receiving STA, the transmitting STA may then selectively re-transmit particular MPDUs to help the receiving STA decode the original MSDUs. Potential benefits of this option include potentially better reliability (e.g., a higher probability to recover original MPDUs) and the ability to adapt redundancy (e.g., by adjusting the value of N) based on link conditions.

This second option, providing dynamic redundancy with re-transmissions Option 2 may be either transmitter-driven or receiver-driven.

For example, a transmitter-driven approach to retransmissions may rely on feedback provided by an existing BlockAck (BA) mechanism. Based on the indicated ACK'ed MPDUs, the transmitter may process corresponding coded vectors and determine if the receiver needs additional redundant MDPUs. Potential benefits of this transmitter-driven approach include that the transmitter may need to re-transmit fewer or no MPDUs, compared to the baseline mechanism described above, albeit at the cost of additional processing at the transmitter. This approach may be suitable for downlink transmissions (e.g., with the network coding performed at the AP STA).

In a receiver-driven approach to retransmissions, in addition to transmitting the MPDUs, the transmitter may also indicate the sequence numbers of uncoded packets (e.g., of the K MSDUs). In this case, as feedback, the receiver may indicate the correctly recovered uncoded packets (e.g., using an additional bitmap where different bits map to different sequence numbers). Based on the feedback, the transmitting station may selectively re-transmit particular MPDUs to help the receiver decode the original MSDUs (that were not indicated as being successfully ACK′ d). Potential benefits of this receiver-driven approach include less processing compared to the transmitter-driven option described above. Further, this approach may be suitable for both downlink and uplink, albeit at the cost of additional signaling (e.g., in terms of sequence numbers and the feedback bitmap).

For the receiver-driven approach to retransmissions, the receiver may forward the MPDUs to the upper layers even if there are holes (missed MPDU sequence numbers) in the Receive Reordering Buffer. This can be done after successful decoding of the network coded packets. The receiver may also acknowledge all the corresponding MPDUs, so that the transmitter can move on and not re-transmit these MPDUs.

Aspects of the present disclosure also provide various options for network coding activation and corresponding signaling that may allow one or more of the transmitter or receiver stations to dynamically activate/de-activate network coding. This signaling may involve the AP asking a STA, the STA asking the AP, or an AP asking another AP to activate network coding (e.g., with the client they are serving in the non-collocated case).

For example, in some cases, an AP/non-AP STA may request to (de)activate network coding transmissions based on the quality of the link. For example, the request may be based on various factors, such as a received signal strength indicator (RSSI), a basic service set (BSS) load, a signal to interference and noise ratio (SINR) threshold, and the type of traffic (e.g., such as latency sensitive traffic).

Network coding could be activated using various types of signaling mechanisms. For example, such signaling mechanisms may include an action frame (e.g., newly defined) that includes Network Coding parameters (e.g., coding type, Galois field, redundancy, matrix rank). Signaling mechanisms may also include Modified Block Ack signaling, for example, with modified add BA (ADDBA) and/or delete BA (DELBA) request and response or BA request (BAR) to include Network Coding parameters. Signaling mechanisms may also include a Stream Classification Service (SCS) request frame or an SCS response frame and/or a target wakeup time (TWT) setup frame (which may be a request frame or a response frame. The TWT setup frame may be a restricted, broadcast, or individual TWT setup frame. In some cases, a TWT element may also be included in a beacon frame.

Aspects of the present disclosure also provide various options for Non-AP STA feedback and scheduler calibration that may enable a non-AP STA to report certain delivery reliability metrics, such as a measured MSDU deliver ratio.

A Multi-link SCS mechanism has been introduced in some systems (e.g., 802.11 be) in which a non-AP STA informs the AP about its QoS requirements for a traffic steam may be used. A quality of service (QoS) Characteristics IE in the SCS request/response may include a MSDU Delivery Ratio field that indicates the target reliability (percentage of MSDUs that are expected to be delivered within the delay bound). Unfortunately, current systems do not provide a mechanism for a non-AP STA to provide feedback about achieved reliability to the AP during the session.

Thus, to support stringent reliability requirements, aspects of the present disclosure provide signaling mechanisms to enable the non-AP STA to report the actual achieved MSDU delivery ratio during the session.

For example,FIG.7illustrates an example Reliability Measurement Report using new A-Control Field of MAC frame header, to deliver an actual achieved MSDU delivery ratio during the session. As illustrated inFIG.7such a new reliability measurement report may be delivered using a newly defined A-control field (e.g., defining a new Control ID by utilizing Reserved ID values). Based on the reported MSDU delivery ratio, the AP may adjust its scheduling decisions to help the non-AP STA achieve its target reliability requirements.

In general, the MSDU Delivery Ratio field indicates the percentage of MSDUs that were delivered within the delay bound specified in the Delay Bound field. Encoding of such a field may be defined as shown in the example table of (MSDU Deliver Ratio Field Values) shown inFIG.8. In some cases, the MSDU Count Exponent field contains an unsigned integer that specifies the exponent from which the number of incoming MSDUs used for computing the MSDU delivery ratio is obtained. The number of incoming MSDUs is equal to 10MSDU Count Exponent.

The potential benefits of network coding proposed herein may be demonstrated by considering the example non-collocated example scenario shown inFIG.9A. In the illustrated example, a station STA1has two links with AP1 (Link 1) and AP2 (Link 2). Depending on link conditions, network coding could be activated on Link 1, Link 2, or both.

As illustrated in the example results shown inFIG.9B, when compared to the scenario without network coding, latency (at 95% point of a cumulative distribution function CDF), network coding may reduce latency significantly (e.g., from approximately 7.5 ms to 2 ms in the illustrated example). The illustrated example may assume a retry count for the baseline (no network coding) that allows 7 re-transmissions. Network coding for the illustrated example may assume values of (K=4, N=4). The baseline scenario may assume K MSDUs are transmitted as K MPDUs, while the network coded scenario assumes K MSDUs transmitted as N+K MDPUs. The example may assume independent random propagation loss per link (e.g., 30% loss per link), MSDU Size of 1504 bytes. Network Coding parameters may be assumed as Random Linear Network Coding (and network coding based on other types of codes, such as RaptorQ codes). GF(256), Transmit once w/100% Redundancy, and PHY parameters of 20 MHz and modulation and coding scheme MCS7.

Example Operations of MLDs

FIG.10shows a method1000for wireless communications by a first MLD, such as an AP110ofFIGS.1and2and/or a STA120ofFIGS.1and2.

Method1000begins at1005with establishing multiple links with at least one second MLD. In some cases, the operations of this step refer to, or may be performed by, link establishment circuitry and/or link establishment code as described with reference toFIG.12.

Method1000then proceeds to step1010with obtaining network coded packets over at least one of the multiple links. In some cases, the operations of this step refer to, or may be performed by, obtaining circuitry and/or obtaining code as described with reference toFIG.12.

Method1000then proceeds to step1015with decoding the network coded packets, based on a network decoding algorithm, to recover one or more uncoded packets. In some cases, the operations of this step refer to, or may be performed by, decoding circuitry and/or decoding code as described with reference toFIG.12.

Method1000then proceeds to step1020with generating feedback based on the decoding. In some cases, the operations of this step refer to, or may be performed by, feedback generation circuitry and/or feedback generation code as described with reference toFIG.12.

Method1000then proceeds to step1025with outputting, for transmission, the feedback to the at least one second MLD. In some cases, the operations of this step refer to, or may be performed by, outputting circuitry and/or outputting code as described with reference toFIG.12.

In some aspects, the at least one second MLD comprises: at least two collocated APs.

In some aspects, the first MLD comprises a non AP station and the at least one second MLD comprise at least one AP; or the first MLD comprises at least one AP and the at least one second MLD comprise at least one non-AP station.

In some aspects, the network packets are output for transmission from the at least one second MLD without retransmissions.

In some aspects, the method1000further includes obtaining an indication of a network coding redundancy parameter based on at least one of: the feedback or one or more conditions of one or more of the multiple links. In some cases, the operations of this step refer to, or may be performed by, obtaining circuitry and/or obtaining code as described with reference toFIG.12.

In some aspects, the one or more of the network coded packets are network coded packets that are output for retransmission from the at least one second MLD based on the feedback.

In some aspects, the method1000further includes obtaining, from the at least one second MLD, an indication of sequence numbers of the uncoded packets; and providing an indication of sequence numbers of correctly recovered uncoded packets. In some cases, the operations of this step refer to, or may be performed by, obtaining circuitry and/or obtaining code as described with reference toFIG.12. In some cases, the operations of this step refer to, or may be performed by, indication circuitry and/or indication code as described with reference toFIG.12.

In some aspects, the indication of sequence numbers is provided via a bitmap.

In some aspects, the method1000further includes at least one of: obtaining a request, from the at least one second MLD, that network coding of packets is to be activated; outputting, for transmission to the at least one second MLD, a request for the second MLD to activate network coding of packets; outputting, for transmission to at least one third MLD, a request for the third MLD to activate network coding of packets. In some cases, the operations of this step refer to, or may be performed by, obtaining circuitry and/or obtaining code as described with reference toFIG.12. In some cases, the operations of this step refer to, or may be performed by, outputting circuitry and/or outputting code as described with reference toFIG.12.

In some aspects, the request is signaled via: an action fame that includes network coding parameters; modified Block Ack signaling; a SCS request frame or an SCS response frame; or a TWT request frame or a TWT response frame.

In some aspects, the feedback comprises a metric indicative of reliability of uncoded packet delivery observed at the first MLD.

In some aspects, the metric comprises an uncoded packet delivery ratio observed at the first MLD.

In some aspects, the metric is provided in a field of a MAC frame header; and different values of the field map to different uncoded packet delivery ratio values.

In one aspect, method1000, or any aspect related to it, may be performed by an apparatus, such as communications device1200ofFIG.12, which includes various components operable, configured, or adapted to perform the method1000. Communications device1200is described below in further detail.

Note thatFIG.10is just one example of a method, and other methods including fewer, additional, or alternative steps are possible consistent with this disclosure.

FIG.11shows a method1100for wireless communications by a second MLD, such as an AP110ofFIGS.1and2and/or a STA120ofFIGS.1and2.

Method1100begins at1105with establishing at least one link with at least one first MLD. In some cases, the operations of this step refer to, or may be performed by, link establishment circuitry and/or link establishment code as described with reference toFIG.13.

Method1100then proceeds to step1110with encoding one or more uncoded packets to generate network coded packets, based on a network coding algorithm. In some cases, the operations of this step refer to, or may be performed by, encoding circuitry and/or encoding code as described with reference toFIG.13.

Method1100then proceeds to step1115with outputting, for transmission, the network coded packets over the at least one link. In some cases, the operations of this step refer to, or may be performed by, outputting circuitry and/or outputting code as described with reference toFIG.13.

In some aspects, the second MLD comprises at least two collocated APs.

In some aspects, the at least one first MLD comprises a non AP station and the second MLD comprise at least one AP; or the at least one first MLD comprises at least one AP and the second MLD comprise at least one non-AP station.

In some aspects, the network coded packets are output for transmission as unicast frames or multicast frames.

In some aspects, the method1100further includes obtaining the network coded packets from at least one third MLD device; decoding the network coded packets; and encoding the network packets prior to outputting, for transmission, the network coded packets over the at least one link. In some cases, the operations of this step refer to, or may be performed by, obtaining circuitry and/or obtaining code as described with reference toFIG.13. In some cases, the operations of this step refer to, or may be performed by, decoding circuitry and/or decoding code as described with reference toFIG.13. In some cases, the operations of this step refer to, or may be performed by, encoding circuitry and/or encoding code as described with reference toFIG.13.

In some aspects, the network packets are output for transmission from the at least one second MLD without retransmissions.

In some aspects, the method1100further includes outputting, for transmission over the at least one link, an indication of a network coding redundancy parameter based on at least one of: feedback obtained from the at least one first MLD or one or more conditions of one or more of the multiple links. In some cases, the operations of this step refer to, or may be performed by, outputting circuitry and/or outputting code as described with reference toFIG.13.

In some aspects, the one or more of the network coded packets are network coded packets that are output for retransmission based on feedback obtained from the at least one first MLD.

In some aspects, the method1100further includes determining which of the network coded packets to output for retransmission based on the feedback and one or more coded vectors used when encoding the one or more uncoded packets to generate the network coded packets. In some cases, the operations of this step refer to, or may be performed by, determination circuitry and/or determination code as described with reference toFIG.13.

In some aspects, the method1100further includes outputting, for transmission over the at least one link, an indication of sequence numbers of the uncoded packets. Some examples further include obtaining, from the at least one first MLD, an indication of sequence numbers of correctly recovered uncoded packets. In some cases, the operations of this step refer to, or may be performed by, outputting circuitry and/or outputting code as described with reference toFIG.13.

In some aspects, the indication of sequence numbers is obtained via a bitmap.

In some aspects, the method1100further includes at least one of: obtaining a request, from the at least one first MLD, that network coding of packets is to be activated; outputting, for transmission to the at least one first MLD, a request for the second MLD to activate network coding of packets; and outputting, for transmission to at least one third MLD, a request for the third MLD to activate network coding of packets. In some cases, the operations of this step refer to, or may be performed by, obtaining circuitry and/or obtaining code as described with reference toFIG.13. In some cases, the operations of this step refer to, or may be performed by, outputting circuitry and/or outputting code as described with reference toFIG.13.

In some aspects, the request is signaled via: an action fame that includes network coding parameters; modified Block Ack signaling; a SCS request frame or an SCS response frame; or a TWT request frame or a TWT response frame.

In some aspects, the method1100further includes obtaining feedback from the at least one first MLD, wherein the feedback comprises a metric indicative of reliability of uncoded packet delivery observed at the first MLD. In some cases, the operations of this step refer to, or may be performed by, obtaining circuitry and/or obtaining code as described with reference toFIG.13.

In some aspects, the metric comprises an uncoded packet delivery ratio observed at the first MLD.

In some aspects, the metric is obtained in a field of a MAC frame header; and different values of the field map to different uncoded packet delivery ratio values.

In one aspect, method1100, or any aspect related to it, may be performed by an apparatus, such as communications device1300ofFIG.13, which includes various components operable, configured, or adapted to perform the method1100. Communications device1300is described below in further detail.

Note thatFIG.11is just one example of a method, and other methods including fewer, additional, or alternative steps are possible consistent with this disclosure.

Example Communications Devices

FIG.12depicts aspects of an example communications device1200. In some aspects, communications device1200is a first MLD, such as an AP110and/or a STA120described above with respect toFIGS.1and2.

The communications device1200includes a processing system1205coupled to the transceiver1285(e.g., a transmitter and/or a receiver). The transceiver1285is configured to transmit and receive signals for the communications device1200via the antenna1290, such as the various signals as described herein. Transceiver1285may be an example of aspects of the transceiver254described with reference toFIG.2. The processing system1205may be configured to perform processing functions for the communications device1200, including processing signals received and/or to be transmitted by the communications device1200.

The processing system1205includes one or more processors1210. In various aspects, the one or more processors1210may be representative of one or more of RX data processor242, the TX data processor210, the TX spatial processor220, or the controller230of AP110or the RX data processor270, the TX data processor288, the TX spatial processor290, or the controller280of STA120illustrated inFIG.2. The one or more processors1210are coupled to a computer-readable medium/memory1245via a bus1280. In certain aspects, the computer-readable medium/memory1245is configured to store instructions (e.g., computer-executable code) that when executed by the one or more processors1210, cause the one or more processors1210to perform the method1000described with respect toFIG.10, or any aspect related to it. Note that reference to a processor performing a function of communications device1200may include one or more processors1210performing that function of communications device1200.

In the depicted example, computer-readable medium/memory1245stores code (e.g., executable instructions), such as link establishment code1250, obtaining code1255, decoding code1260, feedback generation code1265, outputting code1270, and indication code1275. Processing of the link establishment code1250, obtaining code1255, decoding code1260, feedback generation code1265, outputting code1270, and indication code1275may cause the communications device1200to perform the method1000described with respect toFIG.10, or any aspect related to it.

The one or more processors1210include circuitry configured to implement (e.g., execute) the code stored in the computer-readable medium/memory1245, including circuitry such as link establishment circuitry1215, obtaining circuitry1220, decoding circuitry1225, feedback generation circuitry1230, outputting circuitry1235, and indication circuitry1240. Processing with link establishment circuitry1215, obtaining circuitry1220, decoding circuitry1225, feedback generation circuitry1230, outputting circuitry1235, and indication circuitry1240may cause the communications device1200to perform the method1000described with respect toFIG.10, or any aspect related to it.

Various components of the communications device1200may provide means for performing the method1000described with respect toFIG.10, or any aspect related to it. For example, means for transmitting, sending or outputting for transmission may include the transmitter unit222or an antenna(s)224of AP110or the transmitter unit254or antenna(s)252of the STA120illustrated inFIG.2and/or the transceiver1285and the antenna1290of the communications device1200inFIG.12. Means for receiving or obtaining may include the receiver unit222or an antenna(s)224of AP110or the receiver unit254or antenna(s)252of STA120illustrated inFIG.2and/or the transceiver1285and the antenna1290of the communications device1200inFIG.12.

FIG.13depicts aspects of an example communications device1300. In some aspects, communications device1300is a second MLD, such as an AP110and/or a STA120described above with respect toFIGS.1and2.

The communications device1300includes a processing system1305coupled to the transceiver1385(e.g., a transmitter and/or a receiver). The transceiver1385is configured to transmit and receive signals for the communications device1300via the antenna1390, such as the various signals as described herein. Transceiver1385may be an example of aspects of the transceiver254described with reference toFIG.2. The processing system1305may be configured to perform processing functions for the communications device1300, including processing signals received and/or to be transmitted by the communications device1300.

The processing system1305includes one or more processors1310. In various aspects, the one or more processors1310may be representative of one or more of RX data processor242, the TX data processor210, the TX spatial processor220, or the controller230of AP110or the RX data processor270, the TX data processor288, the TX spatial processor290, or the controller280of STA120illustrated inFIG.2. The one or more processors1310are coupled to a computer-readable medium/memory1345via a bus1380. In certain aspects, the computer-readable medium/memory1345is configured to store instructions (e.g., computer-executable code) that when executed by the one or more processors1310, cause the one or more processors1310to perform the method1100described with respect toFIG.11, or any aspect related to it. Note that reference to a processor performing a function of communications device1300may include one or more processors1310performing that function of communications device1300.

In the depicted example, computer-readable medium/memory1345stores code (e.g., executable instructions), such as link establishment code1350, encoding code1355, outputting code1360, obtaining code1365, decoding code1370, and determination code1375. Processing of the link establishment code1350, encoding code1355, outputting code1360, obtaining code1365, decoding code1370, and determination code1375may cause the communications device1300to perform the method1100described with respect toFIG.11, or any aspect related to it.

The one or more processors1310include circuitry configured to implement (e.g., execute) the code stored in the computer-readable medium/memory1345, including circuitry such as link establishment circuitry1315, encoding circuitry1320, outputting circuitry1325, obtaining circuitry1330, decoding circuitry1335, and determination circuitry1340. Processing with link establishment circuitry1315, encoding circuitry1320, outputting circuitry1325, obtaining circuitry1330, decoding circuitry1335, and determination circuitry1340may cause the communications device1300to perform the method1100described with respect toFIG.11, or any aspect related to it.

Various components of the communications device1300may provide means for performing the method1100described with respect toFIG.11, or any aspect related to it. For example, means for transmitting, sending or outputting for transmission may include the transmitter unit222or an antenna(s)224of AP110or the transmitter unit254or antenna(s)252of the STA120illustrated inFIG.2and/or the transceiver1385and the antenna1390of the communications device1300inFIG.13. Means for receiving or obtaining may include the receiver unit222or an antenna(s)224of AP110or the receiver unit254or antenna(s)252of STA120illustrated inFIG.2and/or the transceiver1385and the antenna1390of the communications device1300inFIG.13.

Means for establishing, means for decoding, means, for generating, means for providing, and/or means for encoding may include any of the various processors and/or transceivers shown inFIG.2,12, or13.

Example Clauses

Clause 1: A method of wireless communications by a first MLD, comprising: establishing multiple links with at least one second MLD; obtaining network coded packets over at least one of the multiple links; decoding the network coded packets, based on a network decoding algorithm, to recover one or more uncoded packets; generating feedback based on the decoding; and outputting, for transmission, the feedback to the at least one second MLD.

Clause 2: The method of Clause 1, wherein the at least one second MLD comprises: at least two collocated APs.

Clause 3: The method of any one of Clauses 1 and 2, wherein: the first MLD comprises a non AP station and the at least one second MLD comprise at least one AP; or the first MLD comprises at least one AP and the at least one second MLD comprise at least one non-AP station.

Clause 4: The method of any one of Clauses 1-3, wherein the network packets are output for transmission from the at least one second MLD without retransmissions.

Clause 5: The method of any one of Clauses 1-4, further comprising: obtaining an indication of a network coding redundancy parameter based on at least one of: the feedback or one or more conditions of one or more of the multiple links.

Clause 6: The method of any one of Clauses 1-5, wherein the one or more of the network coded packets are network coded packets that are output for retransmission from the at least one second MLD based on the feedback.

Clause 7: The method of any one of Clauses 1-6, further comprising: obtaining, from the at least one second MLD, an indication of sequence numbers of the uncoded packets; and providing an indication of sequence numbers of correctly recovered uncoded packets.

Clause 8: The method of Clause 7, wherein the indication of sequence numbers is provided via a bitmap.

Clause 9: The method of any one of Clauses 1-8, further comprising at least one of: obtaining a request, from the at least one second MLD, that network coding of packets is to be activated; outputting, for transmission to the at least one second MLD, a request for the second MLD to activate network coding of packets; or outputting, for transmission to at least one third MLD, a request for the third MLD to activate network coding of packets.

Clause 10: The method of Clause 9, wherein the request is signaled via: an action fame that includes network coding parameters; modified Block Ack signaling; a SCS request frame or an SCS response frame; or a TWT request frame or a TWT response frame.

Clause 11: The method of any one of Clauses 1-10, wherein the feedback comprises a metric indicative of reliability of uncoded packet delivery observed at the first MLD.

Clause 12: The method of Clause 11, wherein the metric comprises an uncoded packet delivery ratio observed at the first MLD.

Clause 13: The method of Clause 11, wherein: the metric is provided in a field of a MAC frame header; and different values of the field map to different uncoded packet delivery ratio values.

Clause 14: A method of wireless communications by a second MLD, comprising: establishing at least one link with at least one first MLD; encoding one or more uncoded packets to generate network coded packets, based on a network coding algorithm; and outputting, for transmission, the network coded packets over the at least one link.

Clause 15: The method of Clause 14, wherein the second MLD comprises: at least two collocated APs.

Clause 16: The method of any one of Clauses 14 and 15, wherein: the at least one first MLD comprises a non AP station and the second MLD comprise at least one AP; or the at least one first MLD comprises at least one AP and the second MLD comprise at least one non-AP station.

Clause 17: The method of any one of Clauses 14-16, wherein: the network coded packets are output for transmission as unicast frames or multicast frames.

Clause 18: The method of any one of Clauses 14-17, further comprising: obtaining the network coded packets from at least one third MLD device; decoding the network coded packets; and encoding the network packets prior to outputting, for transmission, the network coded packets over the at least one link.

Clause 19: The method of any one of Clauses 14-18, wherein the network packets are output for transmission from the at least one second MLD without retransmissions.

Clause 20: The method of any one of Clauses 14-19, further comprising: outputting, for transmission over the at least one link, an indication of a network coding redundancy parameter based on at least one of: feedback obtained from the at least one first MLD or one or more conditions of one or more of the multiple links.

Clause 21: The method of any one of Clauses 14-20, wherein the one or more of the network coded packets are network coded packets that are output for retransmission based on feedback obtained from the at least one first MLD.

Clause 22: The method of Clause 21, further comprising: determining which of the network coded packets to output for retransmission based on the feedback and one or more coded vectors used when encoding the one or more uncoded packets to generate the network coded packets.

Clause 23: The method of any one of Clauses 14-22, further comprising: outputting, for transmission over the at least one link, an indication of sequence numbers of the uncoded packets; and obtaining, from the at least one first MLD, an indication of sequence numbers of correctly recovered uncoded packets.

Clause 24: The method of Clause 23, wherein the indication of sequence numbers is obtained via a bitmap.

Clause 25: The method of any one of Clauses 14-24, further comprising at least one of: obtaining a request, from the at least one first MLD, that network coding of packets is to be activated; outputting, for transmission to the at least one first MLD, a request for the second MLD to activate network coding of packets; or outputting, for transmission to at least one third MLD, a request for the third MLD to activate network coding of packets.

Clause 26: The method of Clause 25, wherein the request is signaled via: an action fame that includes network coding parameters; modified Block Ack signaling; a SCS request frame or an SCS response frame; or a TWT request frame or a TWT response frame.

Clause 27: The method of any one of Clauses 14-26, further comprising: obtaining feedback from the at least one first MLD, wherein the feedback comprises a metric indicative of reliability of uncoded packet delivery observed at the first MLD.

Clause 28: The method of Clause 27, wherein the metric comprises an uncoded packet delivery ratio observed at the first MLD.

Clause 29: The method of Clause 27, wherein: the metric is obtained in a field of a MAC frame header; and different values of the field map to different uncoded packet delivery ratio values.

Clause 30: An apparatus, comprising means for performing a method in accordance with any one of Clauses 1-29.

Clause 31: A non-transitory computer-readable medium comprising executable instructions that, when executed by a processor of an apparatus, cause the apparatus to perform a method in accordance with any one of Clauses 1-29.

Clause 32: A computer program product embodied on a computer-readable storage medium comprising code for performing a method in accordance with any one of Clauses 1-29.

Clause 34: An apparatus, comprising: a memory comprising executable instructions; and a processor configured to execute the executable instructions and cause the apparatus to perform a method in accordance with any one of Clauses 1-13, wherein the apparatus further comprises at least one transceiver configured to at least one of receive the network coded packets or transmit the feedback, wherein the apparatus is configured as an MLD.

Clause 36: An apparatus, comprising: a memory comprising executable instructions; and a processor configured to execute the executable instructions and cause the apparatus to perform a method in accordance with any one of Clauses 14-29, wherein the apparatus further comprises at least one transceiver configured to at least one of transmit the network coded packets or receive the feedback, wherein the apparatus is configured as an MLD.

Additional Considerations