Flexible multi-link operating architecture

By providing flexible processing path selection methods at the access point (AP) of multi-link operation (MLO), the problem of optimization of data service distribution across multiple interfaces is solved, and better spectrum control and low-latency operation effects are achieved.

CN119895936APending Publication Date: 2025-04-25QUALCOMM INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380066515.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-09-24
Filing Date
2023-09-19
Publication Date
2025-04-25

AI Technical Summary

Technical Problem

In multi-link operation (MLO), how to optimize the distribution of data services across multiple interfaces, especially when fast media access and low latency operations are required.

Method used

A flexible MLO architecture is provided that allows selection of processing paths from the first and second processing paths at the access point (AP) to route packets to multiple radio components. The first processing path binds the packet to the link based on the code implemented rules, and the second processing path binds the packet to the link based on instantaneous channel sensing.

Benefits of technology

The ability to dynamically select hardware-based or software link selection at each stream per packet level provides better control over the spectrum and low latency operating points, which is better than traditional hardware-based or software-based link selection methods.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119895936A_ABST
    Figure CN119895936A_ABST
Patent Text Reader

Abstract

Certain aspects of the present disclosure provide an architecture and method for multi-link operation (MLO) at an access point (AP). The method generally includes obtaining a packet from the at least one buffer and selecting a processing path from the first and second processing paths for routing the packet from the at least one buffer to at least one of the plurality of radio components for wireless transmission to the at least one peer via the one or more links, wherein: the first processing path is configured to bind the packet to one of the one or more links based on at least one code implemented rule, and the second processing path is configured to bind the packet to one of the one or more links based on instantaneous channel sensing.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims priority to U.S. patent application No. 17 / 952,227, filed on September 24, 2022, which is assigned to the assignee of the present application, and the entire contents of which are expressly incorporated herein by reference as if fully set forth below and for all applicable purposes. Technical Field

[0003] Aspects of the present disclosure relate to wireless communications and, more particularly, to techniques and architectures for flexible multi-link operations. Background Art

[0004] Wireless communication networks are widely deployed to provide various communication services such as voice, video, packet data, messaging, broadcast, etc. These wireless networks may be multiple-access networks capable of supporting multiple users by sharing the available network resources. Examples of such multiple-access networks include code division multiple access (CDMA) networks, time division multiple access (TDMA) networks, frequency division multiple access (FDMA) networks, orthogonal FDMA (OFDMA) networks, and single carrier FDMA (SC-FDMA) networks.

[0005] To address the problem of increasing bandwidth requirements required for wireless communication systems, different schemes are being developed to allow multiple user terminals to communicate with a single access point by sharing channel resources while achieving high data throughput. Multiple-input multiple-output (MIMO) technology represents one such approach that has emerged as a popular technology for communication systems. MIMO technology has been adopted in several wireless communication standards such as the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standards. The IEEE 802.11 standards represent a collection 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 hundreds of meters).

[0006] Multi-link Operation (MLO) Multi-link Operation is another solution designed to address the problem of increasing bandwidth requirements. MLO allows concurrent data transmission and reception in different frequency channels and bandwidths. MLO allows wireless devices such as access points (APs) and stations to utilize multiple radio interfaces to send and receive data. However, one potential challenge of MLO is how to optimize the distribution of data traffic across multiple interfaces. Summary of the invention

[0007] One innovative aspect of the subject matter described in the present disclosure provides a method for multi-link operation (MLO) at an access point (AP). The method includes: obtaining a packet from at least one buffer; and selecting a processing path from a first and a second processing path for routing the packet from the at least one buffer to at least one of a plurality of radio components for wireless transmission to at least one peer via one or more links, wherein: the first processing path is configured to bind the packet to one of the one or more links based on at least one code-implemented rule, and the second processing path is configured to bind the packet to one of the one or more links based on instantaneous channel sensing.

[0008] Another innovative aspect of the subject matter described in the present disclosure provides an apparatus for multi-link operation (MLO). The apparatus includes at least one buffer; and at least one first processing block configured to select a processing path from a first and a second processing path for routing a packet from the at least one buffer to at least one of a plurality of radio components for wireless transmission to at least one peer via one or more links, wherein: the first processing path is configured to bind the packet to one of the one or more links based on at least one code-implemented rule, and the second processing path is configured to bind the packet to one of the one or more links based on instantaneous channel sensing.

[0009] Other innovative aspects of the subject matter described in this disclosure provide: an apparatus operable, configured, or otherwise adapted to perform any one or more of the foregoing methods and / or methods described elsewhere herein; a non-transitory computer-readable medium comprising instructions that, when executed by a processor of the apparatus, cause the apparatus to perform the foregoing methods and methods described elsewhere herein; a computer program product embodied on a computer-readable storage medium, comprising code for performing the foregoing methods and methods described elsewhere herein; and / or an apparatus comprising components for performing the foregoing methods and those methods described elsewhere herein. As examples, an apparatus may include a processing system, a device having a processing system, or a processing system cooperating through one or more networks.

[0010] For illustrative purposes, the following description and drawings set forth certain features. Details of one or more implementations of the subject matter described in the present disclosure are set forth in the drawings and the following description. Other features, aspects, and advantages will become apparent from the description, drawings, and claims. Note that the relative dimensions of the following drawings may not be drawn to scale. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] The accompanying drawings depict certain features of the various aspects described herein and should not be considered as limiting the scope of the disclosure.

[0012] Figure 1 An example wireless communication network is depicted.

[0013] Figure 2 An example decomposed base station architecture is depicted.

[0014] Figure 3 A block diagram of an example multi-link device (MLD) deployment is depicted.

[0015] Figure 4 An example wireless communication architecture supporting multi-link operation (MLO) is depicted.

[0016] Figure 5 Another example wireless communication architecture supporting MLO with dynamic selection between software-based link selection and hardware-based link selection is depicted.

[0017] Fig. 6A and 6B Depicted Figure 5

[0043]

[0044] An example wireless communication architecture of may manage some packets for software-based multi-link multi-radio link (MLMR) and other packets for hardware-based MLMR.

[0018] Figure 7 A flow chart illustrating an example method for multi-link operation is depicted.

[0019] Figure 8 A block diagram of an example wireless communication device is depicted. DETAILED DESCRIPTION

[0020] Aspects of the present disclosure provide apparatus, methods, processing systems, and computer-readable media for techniques and architectures for flexible multi-link operations (MLO).

[0021] MLO generally refers to a feature in advanced wireless systems (e.g., such as defined by the IEEE 802.11-2020 specification or modifications thereof, including but not limited to 802.11be Extreme High Throughput (EHT) and 802.11 modifications associated with Wi-Fi 8) that enables the use of multiple links using separate frequency channels for transmission and reception between devices. MLO can enable multiple radio links of different frequency channels / bands to be utilized simultaneously by an AP, a client, or both. Devices with MLO capability are generally referred to as multi-link devices (MLDs).

[0022] MLO enables a pair of devices to simultaneously use multiple wireless links in different frequency bands to transmit and receive. MLO allows the simultaneous use of multiple frequency bands at a lower hardware cost than that of a single multi-band radio, and also enhances the throughput of a single data session, whereas current multi-band APs may allow client devices to connect using only one frequency band at a time. Ideally, the maximum achievable throughput of MLO is the sum of the achievable throughput of each link.

[0023] One potential challenge for MLD operating in multi-link mode is how to optimally assign packets to links. One potential mechanism for assigning packets to links is hardware-based. In this case, the current (instantaneous) clear channel assessment (CCA) is observed at each link, and MLD assigns packets to available links as determined by the CCA observations based on the instantaneous assessment. Hardware-based link selection can provide a fast medium access solution that can help the transmitter navigate through high channel interference caused by WLAN devices.

[0024] While this approach can have fast medium access times, it can require relatively complex circuitry to ensure that the same packet is not sent out on multiple links. In addition, due to the timely nature of CCA observations, there may be little or no control over which link is selected. As a result, network operators may lose control of the spectrum, which can lead to a number of problems. For example, users without low-latency data may overwhelm links that operators may want to reserve for premium services that require low latency (e.g., paid 5G services).

[0025] However, aspects of the present disclosure provide a flexible MLO architecture that allows for assigning links to packets using either a software-based processing path or a hardware-based processing path. The software-based processing path may allow, for example, link selection to be optimized based on accurate and arbitrarily recent channel state information. The software-based processing path may also allow an operator-selected bias to influence link selection. However, when medium access latency is a major concern, especially in the presence of very high interference caused by other operating WLAN devices on the channel, a hardware-based processing path may be selected, which may provide a better low-latency operating point.

[0026] Therefore, the flexible architecture proposed in this article can provide advantages over conventional methods that utilize hardware-based link selection or software-based link selection. By providing the ability to dynamically choose between hardware-based and software-based link selection at a per-flow per-packet level, the flexible architecture proposed in this article can allow the best method to be selected based on the desired results and current operating conditions. For example, a software-based method can be selected to gain some control over the spectrum, while a hardware-based method can be selected when low latency is the primary goal. In other words, the architecture proposed in this article provides the advantages of both hardware-based and software-based link selection.

[0027] Introduction to Wireless Communication Networks

[0028] Various aspects of the present disclosure are described more fully below with reference to the accompanying drawings. However, the present disclosure can be implemented in many different forms and should not be interpreted as being limited to any specific structure or function given throughout the present disclosure. On the contrary, these aspects are provided so that the present disclosure will be thorough and complete, and the scope of the present disclosure will be fully conveyed to those skilled in the art. Based on the teachings herein, it should be understood by those skilled in the art that the scope of the present invention is intended to cover any aspect of the present invention disclosed herein, whether it is implemented independently of any other aspect of the present invention or implemented in combination with any other aspect of the present invention. For example, any number of aspects set forth herein can be used to implement a device or practice method. In addition, the scope of the present disclosure is intended to cover such a device or method that is practiced using other structures, functions, or structures and functions other than the various aspects of the present disclosure set forth herein or different from the various aspects of the present disclosure set forth herein. It should be understood that any aspect of the content disclosed herein can be implemented by one or more elements of the claims.

[0029] The word “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any aspect described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects.

[0030] Although specific aspects are described herein, many variations and permutations of these aspects fall within the scope of the present disclosure. Although some benefits and advantages of preferred aspects are mentioned, the scope of the present disclosure is not intended to be limited to specific benefits, uses or purposes. On the contrary, aspects of the present disclosure are intended to be broadly applicable to different wireless technologies, system configurations, networks and transmission protocols, some of which are shown by way of example in the accompanying drawings and in the following description of preferred aspects. The detailed description and drawings are merely illustrative of the present disclosure and are not limiting, and the scope of the present disclosure is defined by the appended claims and their equivalents.

[0031] The technology described herein can be used in various broadband wireless communication systems, including communication systems based on orthogonal multiplexing schemes. Examples of such communication systems include space 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 the like. SDMA systems can use sufficiently different directions to simultaneously send data belonging to multiple user terminals. TDMA systems can allow multiple user terminals to share the same frequency channel by dividing the transmit signal into different time slots, each of which is assigned to a different user terminal. OFDMA systems use orthogonal frequency division multiplexing (OFDM), which is a modulation technique that divides the entire system bandwidth into multiple orthogonal subcarriers. These subcarriers may also be referred to as tones, bins, and the like. Using OFDM, each subcarrier can be independently modulated with data. An SC-FDMA system can utilize interleaved FDMA (IFDMA) to transmit on subcarriers distributed across the system bandwidth, centralized FDMA (LFDMA) to transmit on blocks of adjacent subcarriers, or enhanced FDMA (EFDMA) to transmit on multiple blocks of adjacent subcarriers. In general, modulation symbols are sent in the frequency domain with OFDM and in the time domain with SC-FDMA.

[0032] The teachings herein may be incorporated into (eg, implemented within or performed by) various wired or wireless devices (eg, nodes). In some aspects, a wireless node implemented in accordance with the teachings herein may comprise an access point or an access terminal.

[0033] An access point ("AP") may include, be implemented as, or be referred to as a Node B, a radio network controller ("RNC"), an evolved Node B (eNB), a base station controller ("BSC"), a base transceiver station ("BTS"), a base station ("BS"), a transceiver function ("TF"), a radio router, a radio transceiver, a basic service set ("BSS"), an extended service set ("ESS"), a radio base station ("RBS"), or some other terminology.

[0034] An access terminal ("AT") may include, be implemented as or be referred to as a subscriber station, a subscriber unit, a mobile station (MS), a remote station, a remote terminal, a user terminal (UT), a user agent, a user device, a user equipment (UE), a user station or some other term. In some implementations, an access terminal may include a cellular phone, a cordless phone, a session initiation protocol ("SIP") phone, a wireless local loop ("WLL") station, a personal digital assistant ("PDA"), a handheld device with wireless connection capability, a station ("STA") or some other suitable processing device connected to a wireless modem. Accordingly, one or more aspects of the teachings herein may be incorporated into a phone (such as a cellular phone or a smart phone), a computer (such as a laptop computer), a tablet computer, a portable communication device, a portable computing device (such as a personal data assistant), an entertainment device (such as a music or video device, or a satellite radio), a global positioning system (GPS) device, or any other suitable device configured to communicate via a wireless or wired medium. In some aspects, the node is a wireless node. Such a wireless node may provide, for example, connectivity for or to a network (such as a wide area network such as the Internet or a cellular network) via a wired or wireless communication link.

[0035] Example Wireless Communication System

[0036] Figure 1 is a diagram illustrating an example wireless communication system 100 in accordance with certain aspects of the present disclosure. System 100 may be a multiple-input multiple-output (MIMO) / multiple-link operation (MLO) system 100. Figure 1 As shown, access point (AP) 110 includes association manager 112, which can be configured to take one or more actions described herein. Wireless station (STA) 120a includes association manager 122, which can be configured to take one or more actions described herein. In various aspects, AP 110 and wireless station 120a can be as described herein. Figure 3 MLD is further described.

[0037] For simplicity, Figure 1Only one AP 110 is shown in the figure. An AP is typically a fixed station that communicates with a wireless STA, and may also be referred to as a base station (BS) or some other term. A wireless STA may be fixed or mobile, and may also be referred to as a mobile STA, a wireless device, or some other term. The AP 110 may communicate with one or more wireless STAs 120 on a downlink (DL) and / or uplink (UL) at any given moment. The DL (i.e., forward link) is a communication link from the AP 110 to the wireless STA 120, and the UL (i.e., reverse link) is a communication link from the wireless STA 120 to the AP 110. The wireless STA 120 may also communicate peer-to-peer with another wireless STA 120, for example, via a direct link such as a tunnel direct link setup (TDLS). The system controller 130 may communicate with the access point and provide coordination and control for the access point.

[0038] Although portions of the following disclosure will describe wireless STAs 120 that are capable of communicating via spatial division multiple access (SDMA), for certain aspects, the wireless STAs 120 may also include some wireless STAs 120 that do not support SDMA. Thus, for such aspects, the AP 110 may be configured to communicate with both SDMA and non-SDMA wireless STAs 120. This approach may conveniently allow older versions of wireless STAs 120 ("legacy" stations) to remain deployed in an enterprise, thereby extending their useful life, while allowing newer SDMA wireless STAs 120 to be introduced when deemed appropriate.

[0039] System 100 employs multiple transmit antennas and multiple receive antennas for data transmission on DL and UL. AP 110 is equipped with N ap The set of K selected wireless stations 120 collectively represents the multiple output for DL ​​transmission and the multiple input for UL transmission. For pure SDMA, it is desirable to have N ap ≥K≥1, if the data symbol streams for K wireless STAs are not multiplexed in code, frequency or time in some way. K can be greater than N ap , if the data symbol streams can be multiplexed using TDMA techniques, using different code channels of CDMA, using disjoint subband sets of OFDM, etc. Each selected wireless STA sends user-specific data to the access point and / or receives user-specific data from the access point. In general, each selected wireless STA can be equipped with one or more antennas (i.e., N sta ≥1). The K selected wireless STAs may have the same or different numbers of antennas.

[0040] System 100 may be a time division duplex (TDD) system or a frequency division duplex (FDD) system. For a TDD system, DL and UL share the same frequency band. For an FDD system, DL and UL use different frequency bands. System 100 may also transmit using a single carrier or multiple carriers. Each wireless STA may be equipped with a single antenna or multiple antennas. If wireless STA 120 shares the same frequency channel by dividing transmission / reception into different time slots, each time slot being assigned to a different wireless STA 120, system 100 may also be a TDMA system.

[0041] Figure 2 A block diagram of an AP 110 and two wireless STAs 120m and 120x in a MIMO / MLO system (e.g., system 100) according to certain aspects of the present disclosure is shown. In certain aspects, the AP 110 and / or the wireless STAs 120m and 120x may perform various techniques to ensure that non-AP MLDs are able to receive group-addressed frames. For example, the AP 110 and / or the wireless STAs 120m and 120x may include the following: Figure 1 Describes the corresponding association manager.

[0042] AP 110 is equipped with N ap The wireless STA 120m is equipped with N antennas 224a to 224t. sta,m antennas 252ma to 252mu, and the wireless STA 120x is equipped with N sta,x The AP 110 is a transmitting entity for DL ​​and a receiving entity for UL. Each wireless STA 120 is a transmitting entity for UL and a receiving entity for DL. As used herein, a "transmitting entity" is an independently operated device or equipment capable of transmitting data via a wireless channel, and a "receiving entity" is an independently operated device or equipment capable of receiving data via a wireless channel. The term communication generally refers to transmission, reception, or both. In the following description, the subscript "DL" indicates downlink, the subscript "UL" indicates uplink, and N UL Wireless STAs are selected for simultaneous transmission on the uplink, N DL Wireless STAs are selected for simultaneous transmission on the downlink, N UL Can be equal to or not equal to N DL , and N UL and N DL It may be a static value or may change for each scheduling interval.Beam steering or some other spatial processing technique may be used at the access point and wireless stations.

[0043] On the UL, at each wireless STA 120 selected for UL transmission, a transmit (TX) data processor 288 receives traffic data from a data source 286 and control data from a controller 280. The TX data processor 288 processes (e.g., encodes, interleaves, and modulates) the traffic data of the wireless station based on a coding and modulation scheme associated with a rate selected for the wireless STA and provides a data symbol stream. The TX spatial processor 290 performs spatial processing on the data symbol stream and provides N sta,m The antennas provide N sta,m Each transceiver (TMTR) 254 receives and processes (eg, converts to analog, amplifies, filters, and upconverts) a corresponding transmit symbol stream to generate an uplink signal. sta,m The transceivers 254 provide N sta,m UL signal for N sta,m antenna 252 to AP 110.

[0044] N UL 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 to AP 110 on the UL.

[0045] At AP 110, N ap The antennas 224a through 224ap transmit on the UL from all N uL Each wireless STA receives UL signals. Each antenna 224 provides a received signal to a corresponding transceiver (RCVR) 222. Each transceiver 222 performs processing complementary to that performed by transceiver 254 and provides a received symbol stream. Receive (RX) spatial processor 240 processes the received signals from N ap N of the receivers 222 ap The receiver performs spatial processing on the received symbol streams and provides N UL Receiver spatial processing is performed based on 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 the data symbol stream sent by the corresponding wireless station. RX data processor 242 processes (e.g., demodulates, deinterleaves, and decodes) the stream according to the rate for each recovered uplink data symbol stream to obtain decoded data. The decoded data for each wireless STA can be provided to a data sink 244 for storage and / or to a controller 230 for further processing.

[0046] On the DL, at AP 110, TX data processor 210 receives from data source 208 a request for N scheduled for downlink transmission.DL The TX data processor 210 processes (e.g., encodes, interleaves, and modulates) the traffic data for each wireless station based on the rate selected for that wireless station. The TX data processor 210 processes (e.g., encodes, interleaves, and modulates) the traffic data for each wireless station based on the rate selected for that wireless station. DL The wireless stations provide N DL TX spatial processor 220 performs N DL The DL data symbol streams are spatially processed (such as precoding or beamforming, as described in the present disclosure) and are N ap The antennas provide N ap Each transceiver 222 receives and processes a corresponding transmit symbol stream to generate a DL signal. ap The transceiver 222 provides N ap DL signals for use from N ap The antenna 224 transmits to the wireless STA.

[0047] At each wireless STA 120, N sta,m The antenna 252 receives N ap Each transceiver 254 processes the received signal from an associated antenna 252 and provides a received symbol stream. The RX spatial processor 260 processes the received signal from N sta,m N of receivers 254 sta,m The RX data processor 270 performs receiver spatial processing on the received symbol streams and provides a recovered DL data symbol stream for the wireless station. The receiver spatial processing is performed based on CCMI, MMSE, or some other technique. The RX data processor 270 processes (e.g., demodulates, deinterleaves, and decodes) the recovered DL data symbol stream to obtain decoded data for the wireless station.

[0048] At each wireless STA 120, the channel estimator 278 estimates the DL channel response and provides a DL channel estimate, which may include a channel gain estimate, an SNR estimate, a noise variance, etc. Similarly, the channel estimator 228 estimates the UL channel response and provides an UL channel estimate. The controller 280 of each wireless STA is typically based on the downlink channel response matrix H of the wireless station. dn,m The controller 230 derives the spatial filter matrix of the wireless station based on the effective UL channel response matrix H up,effThe controller 280 of each wireless STA may send feedback information (e.g., downlink and / or uplink eigenvectors, eigenvalues, SNR estimates, etc.) to the AP. The controllers 230 and 280 also control the operation of various processing units at the AP 110 and the wireless STA 120, respectively.

[0049] Multilink Device Overview

[0050] 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 the 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), which can assign MAC protocol data units for transmission by separate STA instances.

[0051] Figure 3 A block diagram of an example MLD deployment 300 is shown. Figure 3 As shown, an access point (AP) MLD 302 can communicate with a non-AP MLD 304. Each of the AP MLD and the non-AP MLD may include at least two STA entities (hereinafter also referred to as "STA") that can communicate with the associated STAs of the other MLD. In the AP MLD, the STA may be an AP STA (a STA that acts as an AP or simply "AP"). In the non-AP MLD, the STA may be a non-AP STA (a STA that does not act as an AP). As also described above, the MLD may utilize multi-link aggregation (MLA) (which includes packet level aggregation), whereby MPDUs from the same service ID (TID) may be sent via two or more wireless links.

[0052] Various communication modes can be used in MLD implementations. For example, MLD can communicate in asynchronous (Async) mode or synchronous (Sync) mode. Asynchronous mode provides flexibility to adapt to channel loading, allowing MLD to asynchronously perform channel access, send and receive data over multiple links. However, if there is RF leakage between channels, synchronous mode may be preferred because synchronous transmission on all links is not affected by RF leakage.

[0053] In asynchronous mode, the STA / AP can count down on both radio links (e.g., via random backoff (RBO)). Physical layer convergence protocol (PLCP) protocol data unit (PPDU) start / end can occur independently on each radio link. Therefore, asynchronous mode can potentially provide latency and aggregation gains. In some cases, relatively complex (and expensive) filters may be required (e.g., in the case of 5GHz+6GHz aggregation).

[0054] In synchronous mode, STA / AP can also perform back-off countdown on multiple wireless links as part of the channel access process. If the first link gains access to the medium through the channel access process, multiple links can send PPDUs simultaneously. Therefore, this mode may require some restrictions to minimize intra-device interference.

[0055] Synchronous mode can work in 5GHz+6GHz aggregation and may require relatively low filter performance while still providing latency and aggregation gains. However, due to the tiled architecture of the STA, the latency and aggregation gains may be difficult to achieve.

[0056] Although not shown, the third communication mode may include a basic (e.g., multi-master with single link transmission) mode. In the basic mode, the STA / AP may also count down on two wireless links. However, transmission may only occur on the wireless link that obtains access to the medium. The other wireless link may be blocked by in-device interference greater than -62 decibels per milliwatt (dBm). It is not possible to achieve aggregate gain in this mode.

[0057] Overview of the Example MLO Architecture

[0058] Figure 4 An example architecture 400 is shown for multi-link operation in an access point (AP) that is capable of routing packets to or from one or more peer devices via a radio component such as a WiFi system-on-chip (SoC) 404. The example architecture 400 implements what may be referred to as decentralized queuing or decentralized scheduling, which relies on hardware-selected path binding to transmit packets to / from a given peer. In the example shown, two peers (peer p1 and peer p2) are shown.

[0059] The architecture 400 may include a WiFi networking platform 402 having a wide area network (WAN) and Ethernet backend (where packets can enter and leave), and memory (e.g., double data rate DDR memory 406). The memory may hold executable code (to implement the software-based algorithms described herein), and packets may be routed to / from the memory. The WiFi networking platform 402 may also include a kernel stack (driver) that implements a virtual access point (VAP).

[0060] The WiFi networking platform may also include user space intelligence (labeled as mid-loop logic 408) that may perform certain functions, such as those referred to herein as provisioned MLO 408. The provisioned MLO may help associate different radio bands with a given peer as follows. Each WiFi SoC may be associated with a different radio band that may transmit packets to / from a given peer. In the example shown, three WiFi SoCs 404 are shown: WiFi SoC 1 associated with a 2G band, WiFi SoC 2 associated with 5G, and WiFi SoC 3 associated with 6G (e.g., a future standard version).

[0061] The example shown may assume that peer P1 (e.g., an 802.11be MLD device) has associated with WiFi SoC 1, indicating that it is ready to communicate with the AP on link 1 and link 2. In this case, WiFi SoC 1 can communicate with the WiFi networking platform via an interface (e.g., PCIe). A mid-loop algorithm may decide (e.g., based on channel conditions, traffic load, and channel load on links 1 and 2) whether to route packets to / from peer p1 in single-link mode or multi-link mode (e.g., using all available links). Multi-link modes may include multi-link multi-radio (MLMR) or multi-link single radio (MLSR). With MLSR, the MLD is able to receive and transmit over one radio at a time, while MLMR allows the MLD to receive and transmit over multiple radios simultaneously.

[0062] A potential problem with using an MLMR mode (such as an asynchronous MLMR mode) is that packets to / from a peer can be routed on any possible link at any time. As a result, the network operator may lose control of the spectrum. This is because in architecture 400, the final decision on where a packet goes can be made by the RF and MAC levels (at the WiFi SoC) in a just-in-time manner based on instantaneous channel sensing. This channel sensing on which link assignments are based is considered instantaneous because link assignments are based on the current assessment of the channel. In contrast, the software-based link selection described below takes into account channel state feedback (e.g., CCA results on each link over a duration).

[0063] For example, hardware in a WiFi SoC may sense that the channel is idle at a given time (t0) and send a first packet to peer p1 on link 1, a second packet to peer p1 on link 2, and a first packet to peer p2 on link 3.

[0064] This can be a potential disadvantage from an operational perspective, as operators may lose control of their spectrum. As an example, while an operator may want to reserve links to 5G as premium spectrum (e.g., for very low latency traffic), hardware-based packet routing may prevent this (e.g., and allow premium links to be flooded by peers that do not have low latency traffic). Thus, the random action of multi-link spraying may result in unintended congestion being induced on multiple bands, which may be undesirable for an operator responsible for delivering deterministic traffic flows across multiple bands on a wide range of connected devices.

[0065] Implementing the provisioned MLO functionality can help solve this problem by deciding in a relatively slow manner whether to use single-link mode or multi-link mode for a given peer. For example, for a given peer, even if the peer has multi-link capabilities, the logic implementing the provisioned MLO functionality can decide to send downlink traffic to the peer and receive uplink traffic from the peer on only one link.

[0066] In some cases, this can be accomplished through a mechanism called Traffic ID (TID) to Link Mapping (T2LM). A T2LM action frame can be sent (e.g., by a driver) to a peer on a particular link, essentially instructing the peer that all of its transactions (uplink or downlink) will be on only one link. In other words, even though the peer may be able to transact on both links, the T2LM frame indicates that the AP will transact with the peer on only one link.

[0067] In this way, the provisioned MLO can provide the operator with more spectrum management control, effectively provisioning a peer to a given link for multi-link operation. For example, the algorithm can periodically change the decision and switch between multi-link and single-link modes (e.g., based on an assessment of the peer's traffic load, medium congestion, and various factors) or switch a peer to another link. For example, if a peer is getting poor service on its current link, the algorithm can switch the peer (via T2LM messages) to a different link. This can be done without the peer having to reassociate because, as an MLD device, it may have already declared an affiliation with the WiFi SoC on multiple bands. So just through a simple wireless message.

[0068] The algorithm may also switch a peer from single-link mode to multi-link mode, for example, if no individual link serves the peer well (as indicated by channel congestion, degrees of freedom of the channel, RSSI SNR, traffic volume, etc.) In this case, the provisioned MLO algorithm may send a T2LM message to let the peer know that it can transact with the AP on all possible links (e.g., in a randomized manner).

[0069] Architecture 400 may require some type of logic to determine how to route packets on which links to peers operating in multi-link mode. For example, packets may be buffered (queued) for WiFi SoC 1 waiting for an opportunity on a CSMA channel to send out the packet. Here, WiFi SoC 2 may also be waiting for an opportunity to send a packet on its channel.

[0070] To avoid sending the same packet (with the same sequence number) on two channels, some form of serialization can be performed. Serialization can synchronize access to packets by multiple WiFi SoCs. As shown in the figure, one possible way to achieve this serialization is through (sideband) signaling between WiFi SoCs using an interface called the Inter-Chip Signaling Bridge (labeled ICSB). If one WiFi SoC wins the medium, it can send a signal indicating that it has won the medium and is trying to send out a specific packet. If the other WiFi SoC has not yet started sending the packet, the packet will be locked into the interface and the packet will start to be sent through the WiFi SoC (via PCIe). Although PCIe can be used for actual payload transfer, serialization occurs earlier (via a separate bus).

[0071] In some cases, serialization may be enforced by logic in the WiFi SoC known as the Transmit Queue Management (TQM). In some cases, each peer may have one of the WiFi SoCs designated as the primary or parent WiFi SoC for that peer (which may be designated upon connection). The TQM block of the primary WiFi SoC is considered the primary TQM for that peer. Whichever WiFi SoC attempts to send a packet to a peer, it needs to communicate with the primary TQM of that peer (via ICSB) to ensure serialization so that packets are provided to only one WiFi SoC at a given time.

[0072] Unfortunately, this serialization approach can be suboptimal. For example, even if the WiFi SoC wins the medium, it may not be able to send out the packet immediately because it needs to consult the primary TQM, which causes some latency. Figure 4 As shown in the timeline 410 shown in , in some cases, in order to keep the medium (and prevent other APs from transmitting), the WiFi SoC can send a clear to send (CTS) message (to itself). If the WiFi SoC does get a packet, it can send the packet. Otherwise, if it fails to get the packet, it wastes the bandwidth of the medium by sending a CTS to itself (which can be done on each link). In this way, the above-mentioned serialization process may cause significant delays and inefficient use of bandwidth. Therefore, the actions of instantaneous channel assessment and medium access are not directly related to instantaneous and fast data transactions in the air, because a certain percentage of air time is used only when waiting for back-end synchronization to occur. In addition, using ICSB to perform externalized synchronization is expensive (from a bill of materials (BOM) perspective) and leads to complex circuit board routing and signal integrity challenges.

[0073] Figure 4 Another potential problem with the example architecture 400 is the possibility of engaging in uncontrolled transmission across all links (which may be referred to as random spraying). As described above, once the WiFi networking platform delivers a packet to the WiFi SoC, it has no control over which link the packet is being sent on. Instead, the specific WiFi SoC that ultimately sends the packet is based on hardware channel sensing. Therefore, a packet may be sent on any WiFi SoC (randomly), which means there is little or no way to provide operator control for MLMR mode.

[0074] Aspects related to flexible MLO architecture

[0075] However, aspects of the present disclosure provide a flexible MLO architecture that allows for assigning links to packets using either a software-based processing path (SW MLMR) or a hardware-based processing path (HW MLMR). The flexible MLO architecture proposed herein may allow for selecting the SW MLMR for optimal link selection based on accurate channel state information, and also allow for operator-selected biases to influence link selection. However, when latency is a primary concern, HW MLMR may be selected. Therefore, the flexible architecture proposed herein may allow for dynamic selection of software or hardware link selection based on desired results and current operating conditions.

[0076] In some cases, a software algorithm can be implemented in a flexible architecture that selects a processing path from the first and second processing paths for routing packets from at least one buffer (e.g., a queue is an example of a buffer as will be described herein and shown in the accompanying drawings) to at least one of a plurality of radio components (e.g., a WiFi SoC) for wireless transmission to at least one peer via one or more links. As will be described in more detail below, the first (SW MLMR) processing path can be configured to bind packets to one of the one or more links based on at least one code-implemented rule, and the second (HW MLMR) processing path can be configured to bind packets to one of the one or more links based on (e.g., immediate) channel sensing.

[0077] Figure 5 One example of a flexible MLO architecture 500 for multi-link operations in an AP in accordance with aspects of the present disclosure is shown.

[0078] The example architecture 500 may implement a software algorithm that manages some flows into a software-based MLMR processing path while managing other flows into a hardware-based MLMR processing path. As will be described in more detail below, the software-based MLMR processing path may bind packets to links based on any recent channel state feedback (e.g., using programmable hashing rules, rules implemented in code, user input, biases, etc.), while the hardware-based MLMR processing path may select links based on (real-time) channel sensing.

[0079] Similar to the above Figure 4400, architecture 500 may include a WiFi networking platform 502 with a WAN and Ethernet backend and a DDR memory 506. The memory may hold executable code, and packets may be routed between the memory and the radio. In the example shown, the radio is a discrete WiFi SoC 506, which may be connected to a platform SoC (on which the WiFi networking platform is implemented) via a bus (e.g., PCIe). This approach may allow separate entities to provide the platform SoC and the WiFi SoC.

[0080] The WiFi networking platform may also include various functional modules (in the first processor complex 510). For example, the functional modules may include a packet processing engine (PPE) that interfaces with an Ethernet network stack (e.g., and may generate an interrupt whenever a packet enters from an Ethernet port). The first processor complex 510 and the second processor complex 520 are merely examples of how the functional components of the WiFi networking platform may be organized. For example, functional components that access the same type of data at the same rate may be grouped into a functional complex located in the same area of ​​the WiFi networking platform, which may be implemented as a SoC.

[0081] In some cases, the shortcut forwarding engine (SFE) can take a packet and bypass the core network stack for some time-sensitive reason, such as if it determines that the packet is related to what type of flow is a very low-latency flow. The SFE can identify flows at different levels of detail, from general (low-latency or background traffic) to more specific (for example, identifying a flow as an XR stream, cloud gaming stream, voice call, or file send).

[0082] The packet may then go to an active queue management (AQM) to be queued into a certain queue (at label 1). For example, the AQM may choose not to send a packet when it arrives. Instead, the AQM may select certain packets that are deemed important and pick those packets to send to the Wi-Fi driver for processing in the WiFi data path. The WiFi networking platform may also include a provisioned MLO component to select between single link and multiple link (ML) operation for at least one peer. The following description of software and hardware based MLMR assumes that ML mode is selected.

[0083] The AQM can selectively transmit (push) only certain packets to the Wi-Fi data path. The Wi-Fi driver takes these packets and creates a MAC service data unit (MSDU) and places it in the MSDU queue (MSDUQ at label (2)). Multiple MSDUs are shown, each MSDU representing a given flow for a given peer. Assuming that a peer can have four different kinds of flows or four different latencies, the peer can have four different MSDU queues (each peer can have a similar number of different MSDU queues). As shown, in some implementations, components of the second processor core can process packets that display the MSDU queues.

[0084] The functional components in the second processor complex 520 can perform multi-link operations, effectively achieving a faster loop in order to comply with the timeline of the wireless medium. As shown in the figure, the software MLMR component can first access the packet. The software MLMR component can decide on which link to send the packet. The transmission mode selection component can make a mode selection to decide whether to send a packet to a given peer in single-user mode or to try to group the packet with a packet for another peer (e.g., a peer that happens to be in the same MLO group) in multi-user mode. The MLMR component can also perform orthogonal frequency division multiple access (OFDMA) to multiple peers simultaneously across different resource units (RUs). Once the mode is selected, the rate selection component can select a common denominator MCS. Finally, the transmit opportunity (TXOP) scheduling component can schedule the specific TXOP for the target peer.

[0085] As shown, each WiFi SoC can communicate via two virtual channels VC1 and VC2 (which can be implemented on PCIe). In the example shown, VC1 can be used for control signaling (to interface with the WiFi hardware block marked). VC2 can be used for data payload transmission, as indicated by its connection to DDR.

[0086] As described above, a software MLMR algorithm (SW MLMR) may decide in a processing path whether to send a packet for a particular peer on one specific link or another specific link. In some cases, the SW MLMR may bind a packet to one of the one or more links based on an evaluation of channel state feedback for the one or more links.

[0087] For example, the evaluation of channel state feedback can be based on the clear channel assessment (CCA) results for each channel within an adjustable duration. In the example shown, a history of CCA results is stored for each link associated with the WiFi SoC (CH1, CH2, and CH3). The CCA result can indicate the percentage of CCA passing (indicating that the channel is clear) within an adjustable duration (e.g., 500ms).

[0088] In some cases, the duration can be made arbitrarily small, effectively resulting in an instantaneous channel sensing mode, or on the other hand, can be made large to provide more controllability to the application.

[0089] As shown, the CCA history can be located on the WiFi network platform (in register 530) so that the software MLMR can easily access the content for consideration when making link assignments. For example, the software MLMR can find that the channel for one WiFi SoC is optimal (e.g., considering CCA plus bias) and can assign a link to that channel. In some cases, packets can be bound to links in proportional shares based on the CCA history.

[0090] You can refer to Fig. 6A To understand the link selection based on SW MLMR. Figure 5 The general components of architecture 500 are shown, but Fig. 6A Assume that the software-based MLMR (SW MLMR) processing path has been selected, and show an example data path of packets bound to certain links using SW MLMR. This approach provides flexibility because SW MLMR can assign packets to links based on channel state feedback and / or code-implemented rules.

[0091] In the example shown, in a first schedule as shown at (7), the SW MLMR sends a first packet to a first peer p1 on WiFi SoC1-Link1. In another schedule as indicated at (8), a second packet is sent to p1 on WiFi SoC2-Link2. As described above, a decision can be made based on channel evaluation using necessary bias and flow hashing. In the example shown, Link 1 and Link 2 can be selected over Link 3 (of WiFi SoC 3) because the CCA history can be 80% for Link 1, 50% for Link 2, and 20% for Link 3. The CCA value can be queried each time there is a packet to be routed.

[0092] SW MLMR can also provide flexibility for customer control of spectrum. For example, SW MMLMR can apply a bias function (based on rules implemented in code). For example, the bias function can indicate that the link selection for a packet with a given tuple is based on a mathematical function, such as a hash function. Based on this function, link 1 or link 2 can be selected because the customer may want to use one of the links in a different loading manner. Therefore, the channel loading can be used as an input to make the final channel selection determination. Some mathematically determined function can ultimately determine that a certain packet will go to a certain link. For example, such a mathematically determined function can select a link based on a mathematical combination of programmable hashing and channel state feedback.

[0093] In some cases, packet failures can be resolved. For example, if a packet assigned to a link via the SW MLMR fails, some actions can be taken. For example, the WiFi SoC can indicate a Tx failure and signal it to the software MLMR. The software MLMR can make decisions, such as reordering packets to be sent on the same link (if the channel status indicates similar conditions), or the packets can be reordered to different links. In some cases, the failed packet can be attempted to be sent for a specific duration (e.g., a programmable timeout) or number of attempts before the packet is dropped.

[0094] You can refer to Figure 6B To understand the link selection based on HW MLMR. Figure 6B It is assumed that a hardware-based MLMR (HW MLMR) processing path has been selected, and an example data path for packets bound to certain links using channel sensing is shown. This approach provides an option for avoiding potential delays associated with SW MLMR-based link assignments in channels with high interference from other WLAN devices. As described above, HW MLMR can select links based on instant channel sensing.

[0095] This approach can be used, for example, for packets of a certain flow with low latency requirements.The architecture proposed herein provides the flexibility to select hardware-based routing based on channel sensing instead of software-based routing in this case.

[0096] With hardware-based MLMR routing of packets, each of the WiFi SoCs can attempt to access the medium, sending the packet out. Each WiFi SoC can be aware of the packet and look for opportunities in the medium by performing CCA. Each WiFi SoC can perform a backoff after attempting to access the channel. Once the backoff timer expires, the WiFi SoC can send a pull request to the platform via the control plane VC1. Just because the backup timer expires does not mean that the WiFi SoC will get the medium. Some other WiFi SoC may win the medium instead. The pull request can be sent to the MLO serializer block, which can receive requests from multiple WiFi SoCs and must decide which one will end up with the packet.

[0097] This is Figure 6B In the example shown, it is assumed that the packet destined for peer p2 will be queued to be sent to both WiFi SoC2 and WiFi SoC3. In this example, WiFi SoC1 may be intentionally excluded. Initially, the packet is not locked to a specific channel, for example, because the backoff timer may not have expired. Once the backoff timer expires, each WiFi SoC can send a (data pull) request to the HW MLO serializer to access the packet. In this case, the hardware MLO serializer can ensure that the packet is sent on only one channel. In the example shown, the packet is locked into WiFi SoC3 and sent to peer p2 via WiFi SoC link 3. In this case, WiFi SoC2 can receive a flush command.

[0098] With reduced latency, the flexible architecture proposed herein can reduce the need to perform the above-mentioned CTS-to-self signaling in order to maintain the medium. As described above, the WiFi SoC can send a request as soon as its backoff timer expires, with reduced latency due to the direct path to the serialization block through VC1. However, if for some reason the WiFi SoC does not get the packet within the expected time, it can still perform CTS-to-self signaling. Because CTS-to-self can be sent only when the packet does not arrive within the expected time, rather than always sending CTS-to-self, this can be called conditional CTS-to-self.

[0099] The flexible architecture proposed herein may allow software or hardware link selection to be selected based on desired results and current operating conditions. For example, in many cases, a software-based MLMR processing path is used to optimize link selection, which takes into account accurate channel state information and / or operator-selected biases. In some cases, a hardware-based processing path may be selected, for example, due to reduced latency.

[0100] Example Operation of Access Point

[0101] Figure 7 shows a method for access points such as Figure 1 and 2 An example of a method 700 of multi-link operation at an AP 110).

[0102] Method 700 begins at step 705 by obtaining a packet from at least one queue. In some cases, the operation of this step is referred to as Figure 8 The circuit for obtaining and / or the code for obtaining described, or can be made by reference to Figure 8 The described circuits for obtaining and / or codes for obtaining are performed.

[0103] Then, the method 700 proceeds to step 710, selecting a processing path from the first and second processing paths for routing packets from at least one queue to at least one of the plurality of radio components for wireless transmission to at least one peer via one or more links, wherein: the first processing path is configured to bind the packet to one of the one or more links based on at least one code-implemented rule, and the second processing path is configured to bind the packet to one of the one or more links based on channel sensing. In some cases, the operation of this step refers to as referenced in Figure 8 The circuit for selecting and / or the code for selecting described herein may be made by reference to Figure 8 The described circuits for selecting and / or codes for selecting are implemented.

[0104] In some aspects, the first processing path is configured to bundle packets to the one or more links based on an evaluation of channel state feedback of one of the one or more links.

[0105] In some aspects, evaluation of channel state feedback is based on CCA results over an adjustable duration.

[0106] In some aspects, the second processing path is configured to bind the packet to one of the one or more links based on current channel sensing.

[0107] In some aspects, the first processing path is configured to bind the packet to one of the one or more links independently of channel state feedback evaluation for the one or more links.

[0108] In some aspects, the selecting is performed by at least one first processing block implemented on a platform SoC; and each radio comprises a discrete SoC connected to the platform SoC via a bus.

[0109] In some aspects, at least one of the radios is configured to provide a CTS message to reserve the medium if at least one of the radios does not obtain a particular packet before a particular time.

[0110] In some aspects, method 700 also includes obtaining a group. In some cases, the operation of this step is referred to as reference Figure 8 The circuit for obtaining and / or the code for obtaining described, or can be made by reference to Figure 8 The described circuits for obtaining and / or codes for obtaining are performed.

[0111] In some aspects, the method 700 further includes obtaining channel state feedback about the one or more links. In some cases, the operation of this step refers to as referring to Figure 8 The circuit for obtaining and / or the code for obtaining described, or can be made by reference to Figure 8 The described circuits for obtaining and / or codes for obtaining are performed.

[0112] In some aspects, the method 700 further includes selecting which of the obtained packets to place in the at least one queue based on at least one of programmable hashing or channel state feedback. In some cases, the operation of this step refers to as described in reference to Figure 8 The circuit for selecting and / or the code for selecting described herein may be made by reference to Figure 8 The described circuits for selecting and / or codes for selecting are implemented.

[0113] In some aspects, the method 700 further includes: for at least one peer, selecting between single link operation and multi-link operation, wherein the selection of the processing path is performed only when the multi-link operation is selected. In some cases, the operation of this step refers to as described in reference to Figure 8 The circuit for selecting and / or the code for selecting described herein may be made by reference to Figure 8 The described circuits for selecting and / or codes for selecting are implemented.

[0114] In some aspects, the method 700 further includes: selecting a subset of the one or more links based on the channel state feedback, wherein the second processing path binds the one or more packets to only the one or more links in the subset based on the instantaneous channel sensing. In some cases, the operation of this step refers to as described in reference to Figure 8 The circuit for selecting and / or the code for selecting described herein may be made by reference to Figure 8 The described circuits for selecting and / or codes for selecting are implemented.

[0115] In some aspects, selection of a processing path is performed at a peer level, a flow level, or both a peer level and a flow level.

[0116] In some aspects, method 700 also includes performing serialization of packets bound to one or more links via the second processing path. In some cases, the operation of this step refers to as referring to Figure 8 Circuits for performing and / or codes for performing described herein, or may be implemented by reference to Figure 8 The described circuits for execution and / or codes for execution are executed.

[0117] In some aspects, the first processing path is also configured to bypass execution serialization.

[0118] In some aspects, at least one code-implemented rule relates to at least one of: one or more user-controlled option selections; or one or more user biases.

[0119] In some aspects, at least one of the one or more user-controlled option selections or the one or more user biases is based on a hash of the grouped metadata.

[0120] In some aspects, method 700 further includes: obtaining an indication of a failure to send the packet. In some cases, the operation of this step is referred to as referring to Figure 8 The circuit for obtaining and / or the code for obtaining described, or can be made by reference to Figure 8 The described circuits for obtaining and / or codes for obtaining are performed.

[0121] In some aspects, method 700 further includes: assigning the packet to the same link on which the transmission failure occurred. In some cases, the operation of this step is referred to as reference Figure 8 The circuit for assigning and / or the code for assigning described herein may be provided by reference to Figure 8 The described circuits for assigning and / or codes for assigning are performed.

[0122] In some aspects, method 700 also includes reassigning the packet to a different link. In some cases, the operation of this step is referred to as reference Figure 8 The circuit for reassignment and / or the code for reassignment described herein may be provided by reference to Figure 8 The described circuits for reassignment and / or codes for reassignment are performed.

[0123] In some aspects, the method 700 further includes selecting a second processing path based on the channel sensing to bind the packet to one or more of the one or more links. In some cases, the operation of this step is referred to as reference Figure 8 The circuit for selecting and / or the code for selecting described herein may be made by reference to Figure 8 The described circuits for selecting and / or codes for selecting are implemented.

[0124] In one aspect, method 700 or any aspect related thereto may be performed by an apparatus (e.g., Figure 8 The method 700 is performed by a communication device 800 that includes various components operable, configured or adapted to perform the method 700. The communication device 800 is described in further detail below.

[0125] Notice, Figure 7 This is merely one example of a method, and other methods including fewer, additional, or alternative steps are possible consistent with the present disclosure.

[0126] Example Communication Device

[0127] Figure 8 Depicted are aspects of an example communication device 800. In some aspects, the communication device 800 is an AP, such as described above with respect to Figure 1 and 2 AP 110 is described.

[0128] The communication device 800 includes a processing system 805 coupled to a transceiver 875 (e.g., a transmitter and / or a receiver). The transceiver 875 is configured to transmit and receive signals for the communication device 800, such as various signals as described herein, via an antenna 880. The transceiver 875 may be a reference Figure 2 Examples of various aspects of the transceiver 222 are described. The processing system 805 may be configured to perform processing functions for the communication device 800, including processing signals received by the communication device 800 and / or to be transmitted.

[0129] The processing system 805 includes one or more processors 810. In various aspects, the one or more processors 810 may represent Figure 2 10, TX data processor 210, TX spatial processor 220, or controller 230 of the AP 110 shown in FIG. The one or more processors 810 are coupled to the computer readable medium / memory 840 via the bus 870. In certain aspects, the computer readable medium / memory 840 is configured to store instructions (e.g., computer executable code) that, when executed by the one or more processors 810, cause the one or more processors 810 to perform operations related to the processing of the data. Figure 7The method 700 described herein or any aspect related thereto. Note that references to a processor performing a function of the communication device 800 may include one or more processors 810 performing that function of the communication device 800.

[0130] In the depicted example, the computer-readable medium / memory 840 stores code (e.g., executable instructions) such as code for obtaining 845, code for selecting 850, code for executing 855, code for assigning 860, and code for reassigning 865. Processing of the code for obtaining 845, the code for selecting 850, the code for executing 855, the code for assigning 860, and the code for reassigning 865 may cause the communication device 800 to perform operations related to Figure 7 The described method 700 or any aspect related thereto.

[0131] The one or more processors 810 include circuits configured to implement (e.g., execute) code stored in the computer-readable medium / memory 840, including circuits such as circuits for obtaining 815, circuits for selecting 820, circuits for executing 825, circuits for assigning 830, and circuits for reassigning 835. Processing using the circuits for obtaining 815, circuits for selecting 820, circuits for executing 825, circuits for assigning 830, and circuits for reassigning 835 may cause the communication device 800 to perform operations related to Figure 7 The described method 700 or any aspect related thereto.

[0132] The various components of the communication device 800 may provide for performing Figure 7 Components of the described method 700 or any aspect thereof. For example, components for transmitting, sending, or outputting for transmission may include Figure 2 The transmitter unit 222 or antenna(s) 224 of the AP 110 shown in FIG. Figure 8 The transceiver 875 and antenna 880 of the communication device 800 in some aspects may include Figure 2 The receiver unit 222 or antenna(s) 224 of the AP 110 shown in FIG. Figure 8 The transceiver 875 and antenna 880 of the communication device 800 in FIG.

[0133] Sample Clauses

[0134] Examples of implementations are described in the following numbered clauses:

[0135] Clause 1: A method for multi-link operation at an access point, comprising: obtaining packets from at least one queue; and selecting a processing path from a first and a second processing path for routing the packets from the at least one queue to at least one of a plurality of radio components for wireless transmission to at least one peer via one or more links, wherein: the first processing path is configured to bind the packets to one of the one or more links based on at least one code-implemented rule, and the second processing path is configured to bind the packets to one of the one or more links based on instantaneous channel sensing.

[0136] Clause 2: The method of clause 1, wherein the first processing path is configured to bundle the packet to one of the one or more links based on an evaluation of channel state feedback of the one or more links.

[0137] Clause 3: A method as described in clause 2, wherein the evaluation of the channel state feedback is based on CCA results within an adjustable duration.

[0138] Clause 4: The method of any of clauses 1-3, wherein the second processing path is configured to bind the packet to one of the one or more links based on current channel sensing.

[0139] Clause 5: A method as described in any of clauses 1-4, wherein the first processing path is configured to bind the packet to one of the one or more links independently of channel state feedback evaluation of the one or more links.

[0140] Clause 6: The method of any of clauses 1-5, wherein: the selecting is performed by at least one first processing block implemented on a platform SoC; and each radio comprises a discrete SoC connected to the platform SoC via a bus.

[0141] Clause 7: A method as described in any of clauses 1-6, wherein at least one of the radio components is configured to provide a CTS message to reserve the medium if a specific packet is not obtained by at least one of the radio components before a specific time.

[0142] Clause 8: The method of any one of clauses 1-7, further comprising: obtaining packets, obtaining channel state feedback about the one or more links, and selecting which of the obtained packets to place in the at least one queue based on at least one of programmable hashing or the channel state feedback.

[0143] Clause 9: The method of any of clauses 1-8, further comprising: selecting between single-link operation and multi-link operation for the at least one peer, wherein the selecting of the processing path is performed only when the multi-link operation is selected.

[0144] Clause 10: The method according to any one of clauses 1-9 further comprises: selecting a subset of the one or more links based on channel state feedback, wherein the second processing path binds one or more packets only to one or more links in the subset based on current channel sensing.

[0145] Clause 11: The method of any of clauses 1-10, wherein the selection of the processing path is performed at a peer level, a flow level, or both a peer level and a flow level.

[0146] Clause 12: The method of any of clauses 1-11, further comprising: performing serialization of packets bound to the one or more links via the second processing path.

[0147] Clause 13: The method of clause 12, wherein the first processing path is further configured to bypass performing the serialization.

[0148] Clause 14: The method of any of clauses 1-13, wherein the at least one code-implemented rule relates to at least one of: one or more user-controlled option selections; or one or more user biases.

[0149] Clause 15: The method of clause 14, wherein at least one of the one or more user-controlled option selections or the one or more user biases is based on a hash of group metadata.

[0150] Clause 16: The method according to any one of clauses 1-15 further includes: obtaining an indication of a failure to send the packet; and assigning the packet to the same link where the transmission failure occurred; reassigning the packet to a different link; or selecting the second processing path based on channel sensing to bind the packet to one or more links of the one or more links.

[0151] Clause 17: An apparatus comprising: a memory including executable instructions; and a processor configured to execute the executable instructions and cause the apparatus to perform the method according to any one of clauses 1-16.

[0152] Clause 18: An apparatus comprising components for performing the method according to any of clauses 1-16.

[0153] Clause 19: A non-transitory computer readable medium comprising executable instructions which, when executed by a device of a processor, cause the device to perform the method according to any of clauses 1-16.

[0154] Clause 20: A computer program product embodied on a computer readable storage medium, comprising code for performing the method according to any of clauses 1-16.

[0155] Item 21: An access point (AP) comprising a plurality of radio components; at least one buffer; and at least one first processing block configured to select a processing path from a first and a second processing path for routing a packet from the at least one buffer to at least one of the plurality of radio components for wireless transmission to at least one peer via one or more links, wherein: the first processing path is configured to bind the packet to one of the one or more links based on at least one code-implemented rule, and the second processing path is configured to bind the packet to one of the one or more links based on instantaneous channel sensing.

[0156] Other considerations

[0157] The foregoing description is provided to enable any person skilled in the art to practice the various aspects described herein. The examples discussed herein do not limit the scope, applicability or aspects set forth in the claims. Various modifications to these aspects will be apparent to those skilled in the art, and the general principles defined herein may be applied to other aspects. For example, without departing from the scope of the present disclosure, the functions and arrangements of the elements discussed may be changed. Various examples may appropriately omit, replace or add various processes or components. For example, the described methods may be performed in an order different from the order described, and various actions may be added, omitted or combined. In addition, the features described with respect to some examples may be combined in some other examples. For example, any number of aspects set forth herein may be used to implement a device or practice method. In addition, the scope of the present disclosure is intended to cover such a device or method practiced using other structures, functions or structures and functions other than or different from the various aspects of the present disclosure set forth herein. It should be understood that any aspect of the present disclosure disclosed herein may be embodied by one or more elements of a claim.

[0158] The various illustrated logic blocks, modules, and circuits described in conjunction with the present disclosure may be implemented or executed with a general purpose processor, a digital signal processor (DSP), an ASIC, a field programmable gate array (FPGA) or other programmable logic device (PLD), discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in an alternative, the processor may be any commercially available processor, controller, microcontroller, or state machine. The processor may also be implemented as a combination of computing devices, for example, a combination of a DSP and a microprocessor, a plurality of microprocessors, a combination of one or more microprocessors with a DSP core, a system on a chip (SoC), or any other such configuration.

[0159] As used herein, a phrase referring to "at least one" of a list of items refers to any combination of those items, including single members. As an example, "at least one of a, b, or c" is intended to cover a, b, c, ab, ac, bc, and abc, as well as any combination with multiples of the same elements (e.g., aa, aaa, aab, aac, abb, acc, bb, bbb, bbc, cc, and ccc or any other ordering of a, b, and c).

[0160] As used herein, the term "determine" encompasses a wide variety of actions. For example, "determine" may include calculating, computing, processing, deriving, investigating, searching (e.g., searching in a table, a database, or another data structure), ascertaining, etc. In addition, "determine" may include receiving (e.g., receiving information), accessing (e.g., accessing data in a memory), etc. In addition, "determine" may include resolving, selecting, choosing, establishing, etc.

[0161] The methods disclosed herein include one or more actions for implementing these methods. Without departing from the scope of the claims, the method actions can be interchangeable with each other. In other words, unless a specific sequence of actions is specified, the order and / or use of specific actions can be modified without departing from the scope of the claims. In addition, the various operations of the above methods can be performed by any suitable components that can perform the corresponding functions. These components can include various hardware and / or software components and / or modules, including but not limited to circuits, application specific integrated circuits (ASICs) or processors.

[0162] The following claims are not intended to be limited to the aspects shown herein, but to conform to the full scope consistent with the language of the claims. Within the claims, unless otherwise specified, references to singular elements are not intended to mean "one and only one", but "one or more". Unless otherwise specifically stated, the term "some" refers to one or more. No claim element should be interpreted according to the provisions of 35 U.S.C. § 112 (f) unless the element is explicitly described using the phrase "component for...". All structural and functional equivalents of the elements throughout the various aspects described in this disclosure that are known or will be known to those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be covered by the claims. In addition, nothing disclosed herein is intended to be dedicated to the public, regardless of whether such disclosure is explicitly stated in the claims.

Claims

1. An apparatus for multi-link operation (MLO), comprising: at least one buffer; as well as at least one first processing block configured to select a processing path from the first processing path and the second processing path for routing packets from the at least one buffer to at least one of the plurality of radio components for wireless transmission to at least one peer via one or more links, wherein: The first processing path is configured to bind the packet to a link of the one or more links based on at least one code-implemented rule, and The second processing path is configured to bind the packet to one of the one or more links based on instantaneous channel sensing.

2. The device according to claim 1, wherein: The first processing path is configured to bind the packet to one of the one or more links based on an evaluation of channel state feedback of the one or more links.

3. The device according to claim 2, wherein: The evaluation of the channel state feedback is based on the clear channel assessment (CCA) results over an adjustable duration.

4. The device according to claim 1, wherein: The first processing path is configured to bind the packet to one of the one or more links independently of a channel state feedback evaluation of the one or more links.

5. The device according to claim 1, wherein: The at least one first processing block is implemented on a platform system on chip (SoC); and Each of the radios comprises a discrete SoC connected to the platform SoC via a bus.

6. The device according to claim 1, wherein: At least one of the radios is configured to provide a clear to send (CTS) message to reserve a medium if the at least one of the radios does not obtain a particular packet by a particular time.

7. The apparatus according to claim 1, further comprising at least one second processing block, wherein the at least one second processing block is configured to: Get grouping; obtaining channel state feedback on the one or more links; and Which of the obtained packets are placed in the at least one buffer is selected based on at least one of a programmable hash, the channel state feedback, or a certain mathematical combination of the programmable hash and the channel state feedback.

8. The apparatus according to claim 1, further comprising: At least one second processing block is configured to select between a single link operation and multiple link operations for the at least one peer, wherein the at least one first processing block is configured to select the processing path only when the multiple link operations are selected.

9. The device according to claim 1, wherein: The at least one first processing block is further configured to select a subset of the one or more links based on channel state feedback; as well as The second processing path binds one or more packets to only one or more links in the subset based on current channel sensing.

10. The device according to claim 1, wherein: The at least one first processing block is configured to perform the processing path selection at a peer level, a flow level, or both a peer level and a flow level.

11. The apparatus according to claim 1, further comprising: A serialization component is configured to perform serialization of packets bound to the one or more links via the second processing path.

12. The device according to claim 11, wherein The at least one first processing path is also configured to bypass the serialization component.

13. The device according to claim 1, wherein: The at least one code-implemented rule relates to at least one of the following: One or more user-controlled option selections; or One or more user biases.

14. The device according to claim 13, wherein: At least one of the one or more user-controlled option selections or the one or more user biases is based on a hash of the grouping metadata.

15. The device according to claim 1, wherein: The at least one first processing block is further configured to: obtaining an indication of a failure to transmit the packet based on an adjustable observation time window; and assigning the packet to the same link where the transmission failure occurred; reassign the packet to a different link; or The second processing path is selected based on instantaneous channel sensing to bind the packet to one or more of the one or more links.

16. An access point (AP), comprising: Multiple radio components; at least one buffer; as well as at least one first processing block configured to select a processing path from the first processing path and the second processing path for routing packets from the at least one buffer to at least one of the plurality of radio components for wireless transmission to at least one peer via one or more links, wherein: The first processing path is configured to bind the packet to a link of the one or more links based on at least one code-implemented rule, and The second processing path is configured to bind the packet to one of the one or more links based on instantaneous channel sensing.

17. A method for multi-link operation (MLO) at an access point (AP), comprising: obtaining a packet from at least one buffer; as well as selecting a processing path from the first processing path and the second processing path for routing packets from the at least one buffer to at least one of the plurality of radio components for wireless transmission to at least one peer via one or more links, wherein: The first processing path is configured to bind the packet to a link of the one or more links based on at least one code-implemented rule, and The second processing path is configured to bind the packet to one of the one or more links based on instantaneous channel sensing.

18. The method according to claim 17, wherein: The first processing path is configured to bind the packet to one of the one or more links based on an evaluation of channel state feedback of the one or more links.

19. The method according to claim 17, wherein: The evaluation of the channel state feedback is based on the clear channel assessment (CCA) results over an adjustable duration.

20. The method according to claim 17, wherein: The first processing path is configured to bind the packet to one of the one or more links independently of a channel state feedback evaluation of the one or more links.