Flexible multi-link operating architecture

The flexible MLO architecture addresses the inefficiencies of hardware-based link selection by enabling dynamic software-based and hardware-based packet routing, optimizing spectrum management and reducing latency in multi-link operations.

JP2025532049APending Publication Date: 2025-09-29QUALCOMM INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025515873
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-09-24
Filing Date
2023-09-19
Publication Date
2025-09-29

AI Technical Summary

Technical Problem

Existing multi-link operation (MLO) systems face challenges in optimizing the distribution of data traffic across multiple interfaces, leading to potential loss of control over spectrum allocation and inefficient use of bandwidth due to hardware-based link selection methods that rely on instantaneous channel sensing.

Method used

A flexible MLO architecture that allows for dynamic selection between software-based and hardware-based processing paths for packet routing, enabling optimal link selection based on accurate channel state information and operator-defined biases.

Benefits of technology

The flexible architecture provides improved spectrum management and reduced latency by allowing for software-based link selection based on recent channel conditions, while maintaining control over bandwidth allocation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025532049000001_ABST
    Figure 2025532049000001_ABST
Patent Text Reader

Abstract

Certain aspects of the present disclosure provide an architecture and method for multi-link operation (MLO) in an access point (AP). The method generally includes retrieving a packet from at least one buffer and selecting a processing path from a first processing path 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 over one or more links, the first processing path being 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 being 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

[Technical Field]

[0001] (CROSS-REFERENCE TO RELATED APPLICATIONS) This application claims priority to U.S. Patent Application No. 17 / 952,227, filed September 24, 2022, which is assigned to the assignee of the present application and is expressly incorporated herein by reference in its entirety as if fully set forth below and for all applicable purposes. [Background technology]

[0002] Technical Field Aspects of the present disclosure relate to wireless communications, and more particularly to techniques and architectures for flexible multi-link operation.

[0003] 2. Description of Related Art 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 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.

[0004] To address the increasing bandwidth requirements for wireless communication systems, various schemes have been developed to enable multiple user terminals to achieve high data throughput while communicating with a single access point by sharing channel resources. Multiple Input Multiple Output (MIMO) technology represents one such approach that has emerged as a common 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 standard. The IEEE 802.11 standard refers to a set of wireless local area network (WLAN) air interface standards developed by the IEEE 802.11 committee for short-range communications (e.g., tens of meters to hundreds of meters).

[0005] Multi-link operation (MLO) is another approach designed to address the problem of increasing bandwidth requirements. MLO allows for simultaneous data transmission and reception on different frequency channels and bands. MLO allows wireless devices, such as access points (APs) and stations, to utilize multiple air interfaces to transmit and receive data. However, one potential challenge with MLO is how to optimize the distribution of data traffic across multiple interfaces. Summary of the Invention

[0006] One innovative aspect of the subject matter described in this disclosure provides a method for multi-link operation (MLO) in an access point (AP), including retrieving a packet from at least one buffer and selecting a processing path from a first processing path and a second processing path for routing the packet from the at least one buffer to at least one of a plurality of wireless components for wireless transmission to at least one peer via one or more links, the first processing path being 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 being configured to bind the packet to one of the one or more links based on instantaneous channel sensing.

[0007] Another innovative aspect of the subject matter described in this disclosure provides an apparatus for multi-link operation (MLO), including at least one buffer and at least one first processing block configured to select a processing path from a first processing path and a second processing path for routing packets 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, the first processing path 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 configured to bind the packets to one of the one or more links based on instantaneous channel sensing.

[0008] 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 aforementioned methods and / or methods described elsewhere herein; a non-transitory computer-readable medium including instructions that, when executed by a processor of the apparatus, cause the apparatus to perform the aforementioned methods and methods described elsewhere herein; a computer program product embodied on a computer-readable storage medium including code for performing the aforementioned methods and methods described elsewhere herein; and / or an apparatus comprising means for performing the aforementioned methods and methods described elsewhere herein. By way of example, the apparatus may include a processing system, a device having a processing system, or processing systems cooperating over one or more networks.

[0009] The following description and accompanying drawings set forth certain features for purposes of illustration. Details of one or more implementations of the subject matter described in this disclosure are set forth in the accompanying drawings and the following description. Other features, aspects, and advantages will become apparent from the description, drawings, and claims. It should be noted that the relative dimensions of the following drawings may not be drawn to scale.

[0010] The accompanying figures illustrate certain features of the various aspects described herein and should not be construed as limiting the scope of the present disclosure. [Brief explanation of the drawings]

[0011] [Figure 1] 1 illustrates an exemplary wireless communication network. [Figure 2] 1 illustrates an exemplary split base station architecture. [Figure 3] 1 shows a block diagram of an exemplary multi-link device (MLD) deployment. [Figure 4] 1 illustrates an exemplary wireless communication architecture that supports multi-link operation (MLO). [Figure 5] 1 illustrates another exemplary wireless communication architecture that supports MLO using dynamic selection between software-based link selection and hardware-based link selection. [Figure 6A] The example wireless communication architecture of FIG. 5 illustrates how some packets may be managed for software-based multi-link multi-radio link (MLMR) and other packets for hardware-based MLMR. [Figure 6B] The example wireless communication architecture of FIG. 5 illustrates how some packets may be managed for software-based multi-link multi-radio link (MLMR) and other packets for hardware-based MLMR. [Figure 7] 1 shows a flowchart illustrating an exemplary method for multi-link operation. [Figure 8] 1 shows a block diagram of an exemplary wireless communication device. DETAILED DESCRIPTION OF THE INVENTION

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

[0013] MLO generally refers to a feature in advanced wireless systems (e.g., as defined by the IEEE 802.11-2020 specification or amendments thereto, including but not limited to, 802.11be Extremely High Throughput (EHT) and the 802.11 amendment associated with Wi-Fi 8) that enables the use of multiple links using separate frequency channels to transmit and receive between devices. MLO may enable the simultaneous use of multiple wireless links on different frequency channels / bands by APs, clients, or both. Devices capable of MLO are commonly referred to as multi-link devices (MLDs).

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

[0015] 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 (just-in-time) clear channel assessment (CCA) is observed on each link, and MLD assigns packets to available links as determined by the CCA observations based on that instantaneous assessment. Hardware-based link selection can provide a fast medium access solution that can help transmitters navigate in the presence of high channel interference caused by WLAN devices.

[0016] This approach may have fast medium access times, but may require relatively complex circuitry to ensure that the same packet is not sent on multiple links. Furthermore, due to the just-in-time nature of CCA observations, there is little or no control over which link is selected. Therefore, network operators risk losing control over the spectrum, which can cause a number of problems. For example, users without low-latency data may flood a link that an operator may want to reserve for premium services (e.g., paid 5G services) that require low latency.

[0017] However, aspects of the present disclosure provide a flexible MLO architecture that allows packets to be assigned to links using software-based or hardware-based processing paths. A software-based processing path may, for example, allow link selection to be optimized based on accurate, any recent channel state information. A software-based processing path may also allow operator-selected biases to influence link selection. However, if medium access latency is a primary concern, especially in the presence of very high interference caused by other operating WLAN devices on channels that can provide better low-latency operating points, a hardware-based processing path may be selected.

[0018] Therefore, the flexible architecture proposed herein may offer advantages over conventional approaches that utilize either hardware-based link selection or software-based link selection. By providing the ability to dynamically select between hardware-based link selection and software-based link selection at a per-flow, per-packet level, the flexible architecture proposed herein may allow the optimal method to be selected based on the desired outcome and current operating conditions. For example, a software-based approach may be selected to gain some control over the spectrum, while a hardware-based approach may be selected when low latency is the primary objective. In other words, the architecture proposed herein offers the benefits of both hardware-based link selection and software-based link selection.

[0019] Introduction to Wireless Communication Networks Various aspects of the present disclosure will now be described more fully with reference to the accompanying drawings. However, the present disclosure may be embodied 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, those skilled in the art will understand that the scope of the present disclosure is intended to encompass all aspects of the present disclosure disclosed herein, whether implemented independently or in combination with any other aspects of the present disclosure. For example, an apparatus can be implemented or a method can be practiced using any number of the aspects described herein. Furthermore, the scope of the present disclosure is intended to encompass such apparatuses or methods practiced using other structure, functions, or structure and functions in addition to or other than the various aspects of the present disclosure described herein. It should be understood that any aspect of the present disclosure disclosed herein can be embodied by one or more elements of a claim.

[0020] 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.

[0021] While particular aspects are described herein, many variations and permutations of these aspects fall within the scope of the present disclosure. While certain benefits and advantages of the preferred aspects are mentioned, the scope of the present disclosure is not intended to be limited to particular benefits, applications, or objectives. Rather, aspects of the present disclosure are intended to be broadly applicable to a variety of wireless technologies, system configurations, networks, and transmission protocols, some of which are shown by way of example in the figures and in the following description of the preferred aspects. The Detailed Description and the drawings are not limiting but merely illustrative of the present disclosure, the scope of which is defined by the appended claims and their equivalents.

[0022] The techniques described herein can be used for various broadband wireless communication systems, including communication systems based on orthogonal multiplexing. Examples of such communication systems include spatial division multiple access (SDMA), time division multiple access (TDMA), orthogonal frequency division multiple access (OFDMA) systems, and single-carrier frequency division multiple access (SC-FDMA) systems. SDMA systems can utilize sufficiently different directions to simultaneously transmit data belonging to multiple user terminals. TDMA systems may allow multiple user terminals to share the same frequency channel by dividing the transmission signal into different time slots and assigning each time slot to a different user terminal. OFDMA systems utilize orthogonal frequency division multiplexing (OFDM), a modulation technique that partitions the entire system bandwidth into multiple orthogonal subcarriers. These subcarriers may also be referred to as tones, bins, etc. With OFDM, each subcarrier can be independently modulated with data. An SC-FDMA system may utilize interleaved FDMA (IFDMA) for transmitting on subcarriers that are distributed across the system bandwidth, localized FDMA (LFDMA) for transmitting on blocks of adjacent subcarriers, or enhanced FDMA (EFDMA) for transmitting 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.

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

[0024] An access point ("AP") may include, be implemented as, or may be 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"), wireless router, wireless transceiver, Basic Service Set ("BSS"), Extended Service Set ("ESS"), Radio Base Station ("RBS"), or some other terminology.

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

[0026] Exemplary Wireless Communication System FIG. 1 illustrates an exemplary wireless communication system 100 in accordance with certain aspects of the present disclosure. System 100 may be a multiple-input multiple-output (MIMO) / multi-link operation (MLO) system 100. As shown in FIG. 1, access point (AP) 110 includes a cooperation manager 112 that may be configured to perform one or more actions described herein. Wireless station (STA) 120a includes a cooperation manager 122 that may be configured to perform one or more actions described herein. In aspects, AP 110 and wireless station 120a may be MLDs, as further described herein with respect to FIG. 3.

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

[0028] Although portions of the following disclosure describe wireless STAs 120 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 advantageously allow older version wireless STAs 120 ("legacy" stations) to remain deployed within an enterprise, extending their useful life, while allowing newer SDMA wireless STAs 120 to be introduced as appropriate.

[0029] The system 100 employs multiple transmit antennas and multiple receive antennas for data transmission on the DL and UL. ap The set of K selected wireless stations 120 collectively represents the multiple-input (MI) for DL ​​transmissions and the multiple-output (MO) for UL transmissions. For pure SDMA, if the data symbol streams for the K wireless STAs are not multiplexed in code, frequency, or time by any means, then the set of N ap ≧K≧1. If the data symbol streams can be multiplexed using TDMA techniques, different code channels with CDMA, disjoint sets of subbands with OFDM, etc., then K may be less than or equal to N ap Each selected wireless STA transmits user-specific data to the access point and / or receives user-specific data from the access point. Generally, each selected wireless STA may be connected to one or more antennas (i.e., N sta ≧1). The K selected wireless STAs may have the same or different number of antennas.

[0030] The system 100 can be a time division duplex (TDD) system or a frequency division duplex (FDD) system. In a TDD system, the DL and UL share the same frequency band. In an FDD system, the DL and UL use different frequency bands. The system 100 can also utilize a single carrier or multiple carriers for transmission. Each wireless STA can be equipped with a single antenna or multiple antennas. The system 100 can also be a TDMA system when the wireless STAs 120 share the same frequency channel by dividing transmission / reception into different time slots and assigning each time slot to a different wireless STA 120.

[0031] 2 illustrates a block diagram of an AP 110 and two wireless STAs 120m and 120x in a MIMO / MLO system, such as system 100, in accordance with certain aspects of the present disclosure. In certain aspects, the AP 110 and / or the wireless STAs 120m and 120x may implement various techniques to ensure that non-AP MLDs can receive group-addressed frames. For example, the AP 110 and / or the wireless STAs 120m and 120x may include a corresponding coordination manager, such as described herein with respect to FIG. 1.

[0032] AP110 is N ap The wireless STA 120m is equipped with N antennas 224a to 224t. sta,m Equipped with 252ma~252mu antennas, the Wireless STA120x sta,xThe AP 110 is equipped with antennas 252xa through 252xu. The AP 110 is a transmitting entity for the DL and a receiving entity for the UL. Each wireless STA 120 is a transmitting entity for the UL and a receiving entity for the DL. As used herein, a "transmitting entity" is an independently operating apparatus or device capable of transmitting data over a wireless channel, and a "receiving entity" is an independently operating apparatus or device capable of receiving data over a wireless channel. The term communication generally refers to transmitting, receiving, or both. In the following description, the subscript "DL" refers to downlink, the subscript "UL" refers to uplink, and the subscript "DL" refers to uplink. UL N wireless STAs are selected for simultaneous transmission on the uplink, DL wireless STAs are selected for simultaneous transmission on the downlink, and N UL is N DL It may or may not be equal to N UL and N DL , 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 the wireless station.

[0033] 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 controller 280. TX data processor 288 processes (e.g., encodes, interleaves, and modulates) the traffic data for that wireless station based on a coding and modulation scheme associated with a rate selected for that wireless STA and provides a data symbol stream. A TX spatial processor 290 performs spatial processing on the data symbol stream to generate N sta,m N for antennas sta,mEach transceiver (TMTR) 254 receives and processes (e.g., converts to analog, amplifies, filters, and frequency upconverts) a corresponding transmit symbol stream to generate an uplink signal. sta,m The transceivers 254 are sta,m N for transmission from antennas 252 to AP 110 sta,m It provides UL signals.

[0034] N UL wireless STAs may be scheduled for simultaneous transmission on the uplink, each of which performs spatial processing on its data symbol stream and transmits its set of transmit symbol streams on the UL to the AP 110.

[0035] In AP110, N ap All N antennas 224a-224ap are transmitting on the UL. UL UL signals from N wireless STAs. 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. A receive (RX) spatial processor 240 processes N ap N transceivers 222 ap Receiver spatial processing is performed on the N received symbol streams, ULThe RX data processor 242 provides recovered UL data symbol streams. The receiver spatial processing is performed in accordance with 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 transmitted by the corresponding wireless station. The RX data processor 242 processes (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 sink 244 for storage and / or to controller 230 for further processing.

[0036] On the DL, at AP 110, TX data processor 210 processes N data packets scheduled for downlink transmission. DL TX data processor 210 receives traffic data for N wireless stations from data source 208, control data from controller 230, and possibly other data from scheduler 234. Various types of data may be transmitted on different transport channels. TX data processor 210 processes (e.g., encodes, interleaves, and modulates) the traffic data for each wireless station based on a rate selected for that wireless station. ... DL N wireless stations DL TX spatial processor 220 provides N DL data symbol streams. DL performing spatial processing (such as precoding or beamforming, as described in this disclosure) on the DL data symbol streams to obtain N ap N for antennas apEach transceiver 222 receives and processes a corresponding transmit symbol stream to generate a DL signal. ap The transceivers 222 are ap N for transmission from antennas 224 to wireless STAs ap provides DL signals.

[0037] In each wireless STA 120, N sta,m The antennas 252 receive N ap Each transceiver 254 processes the received signal from an associated antenna 252 and provides a received symbol stream. An RX spatial processor 260 processes the N DL signals. sta,m N transceivers 254 sta,m Receiver spatial processing is performed on the received symbol stream to provide a recovered DL data symbol stream for the wireless station. The receiver spatial processing is performed in accordance with CCMI, MMSE, or some other technique. An 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.

[0038] At each wireless STA 120, a 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, a channel estimator 228 estimates the UL channel response and provides a UL channel estimate. The controller 280 for each wireless STA typically calculates the downlink channel response matrix H for that wireless station. dn,m The controller 230 derives a spatial filter matrix for the wireless station based on the effective UL channel response matrix H up,effderives a spatial filter matrix for the AP based on ( ). Controller 280 for each wireless STA may send feedback information (e.g., downlink and / or uplink eigenvectors, eigenvalues, SNR estimates, etc.) to the AP. Controllers 230 and 280 also control the operation of various processing units in AP 110 and wireless STA 120, respectively.

[0039] Multilink Device Overview A multi-link device (MLD) generally refers to a single device or equipment that includes two or more station (STA) instances or entities implemented at the physical (PHY) / medium access control (MAC) layer and configured to communicate over separate wireless links. In some examples, each MLD may include a single upper layer entity, such as a MAC Service Access Point (SAP), that can allocate MAC protocol data units (MPDUs) for transmission by the separate STA instances.

[0040] FIG. 3 shows a block diagram of an exemplary MLD deployment 300. As shown in FIG. 3, an access point (AP) MLD 302 can communicate with a non-AP MLD 304. Each of the AP MLD and non-AP MLD can include at least two STA entities (hereinafter also referred to simply as "STAs") capable of communicating with associated STAs of another MLD. In an AP MLD, the STAs can be AP STAs (STAs that act as APs, or simply "APs"). In a non-AP MLD, the STAs can be non-AP STAs (STAs that do not act as APs). As also described above, MLD can utilize multi-link aggregation (MLA) (which includes packet-level aggregation), which allows MPDUs from the same traffic ID (TID) to be transmitted over two or more wireless links.

[0041] MLD implementations can employ various communication modes. For example, MLDs can communicate in asynchronous (Async) mode or synchronous (Sync) mode. Async mode provides flexibility for adapting to channel loads, allowing MLDs to perform channel access and transmit and receive data asynchronously over multiple links. However, when RF leakage exists between channels, Sync mode may be preferable because synchronous transmission on all links is not affected by the RF leakage.

[0042] In Async mode, the STA / AP can count down on both wireless links (e.g., via random backoff (RBO)). The start / end of a physical layer convergence protocol (PLCP) protocol data unit (PPDU) can occur independently on each wireless link. As a result, Async mode can potentially provide latency and aggregation gains. In certain cases, relatively complex (and costly) filters may be required (e.g., for 5 GHz + 6 GHz aggregation).

[0043] In Sync mode, the STA / AP may also perform backoff countdowns on multiple wireless links as part of the channel access procedure. If the first link gains access to the medium through this channel access procedure, multiple links may transmit PPDUs simultaneously. Therefore, this mode may require some restrictions to minimize intra-device interference.

[0044] Sync mode can work in 5 GHz + 6 GHz aggregation and requires relatively low filter performance, but can still provide latency and aggregation gains, which may be difficult to achieve due to the STA's tiled architecture.

[0045] Although not shown, a third communication mode may include a basic (e.g., multi-primary) mode using single-link transmission. Even in the basic mode, the STA / AP can also count down on both wireless links. However, transmission can only occur on the wireless link that has gained access to the medium. Other wireless links may be blocked by in-device interference exceeding -62 decibels per milliwatt (dBm). In this mode, no aggregation gain can be realized.

[0046] Exemplary MLO Architecture Overview 4 illustrates an example architecture 400 for multi-link operation in an access point (AP) capable of routing packets to and from one or more peer devices via wireless components such as a WiFi System on a 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 bindings to forward packets to and from a given peer. In the illustrated example, two peers (peer p1 and peer p2) are shown.

[0047] The architecture 400 may include a WiFi networking platform 402 with a wide area network (WAN) and Ethernet backend (where packets can enter and exit), and memory (e.g., double data rate DDR memory 406). The memory can hold executable code (for implementing the software-based algorithms described herein), and packets can be routed to and from the memory. The WiFi networking platform 402 may also include a kernel stack (drivers) that implements virtual access points (VAPs).

[0048] The WiFi networking platform may also include user space intelligence (logic 408, labeled as middle loop) that may perform certain functions, such as a function referred to herein as provisioned MLO 408. The provisioned MLO may serve to associate different radio bands with a given peer, as follows: Each WiFi SoC may be associated with a different radio band over which packets can be forwarded to / from the given peer. In the illustrated example, three WiFi SoCs 404 are shown: WiFi SoC1 associated with the 2G band, WiFi SoC2 associated with 5G, and WiFi SoC3 associated with 6G (e.g., a future standard release).

[0049] The illustrated example shows that peer P1 (e.g., an 802.11be MLD device) can be assumed to be associated with WiFi SoC1 and is ready to communicate with an AP over Link 1 and Link 2. In this case, WiFi SoC1 can communicate with the WiFi networking platform via an interface (e.g., PCIe). A mid-loop algorithm can determine (e.g., based on channel conditions, traffic load, and channel load on Link 1 and Link 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 mode can include multi-link multi-radio (MLMR) or multi-link single radio (MLSR). In MLSR, the MLD can receive and transmit over one radio at a time, while MLMR allows the MLD to receive and transmit over multiple radios simultaneously.

[0050] One potential problem with using an MLMR mode (such as an asynchronous MLMR mode) is that packets to / from a peer may be routed on any possible link at any time. Therefore, the network operator may lose control over the spectrum. This is because in architecture 400, the final decision on where a packet egresses may be made just-in-time by the RF and MAC levels (in the WiFi SoC) based on instantaneous channel sensing. This channel sensing, which is the basis for link assignment, is considered instantaneous because the link assignment is based on a current assessment of the channel. In contrast, certain software-based link selections described below take into account channel state feedback (e.g., CCA results on each link over a certain duration).

[0051] For example, hardware in a WiFi SoC may sense that the channel is free 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.

[0052] This can be a potential drawback from an operational perspective, as the operator may lose control over its spectrum. As an example, an operator may want to reserve a link to 5G as premium spectrum (e.g., for very low latency traffic), but hardware-based packet routing may prevent this (e.g., allowing the premium link to be flooded with peers that do not have low latency traffic). Therefore, random acts of multi-link spraying may lead to unintended congestion caused on multiple bands, which may be undesirable for an operator responsible for delivering deterministic traffic flows across multiple bands and to a wide range of connected devices.

[0053] Implementing a provisioned MLO function can help address this issue by determining in a relatively lazy 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 is multi-link capable, logic implementing the provisioned MLO function may decide to send downlink traffic to, and receive uplink traffic from, that peer on only one link.

[0054] 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 one link only. In other words, the T2LM frame indicates that the AP will only transact with the peer on one link, even if the peer may be able to transact on both links.

[0055] In this way, a provisioned MLO can effectively provision a peer on a given link for multi-link operation, giving the operator more spectrum management control. The algorithm can, for example, periodically change its decision to switch between multi-link and single-link mode (e.g., based on an evaluation of the peer's traffic load, medium congestion, and various factors) or even switch the peer to another link. For example, the algorithm can switch the peer to a different link (via a T2LM message) if the peer is experiencing poor service on the current link. This can potentially be done without requiring the peer to reassociate, because as an MLD device, the peer may already have declared affiliation with WiFi SoCs on multiple bands, and thus through just a single, simple over-the-air message.

[0056] The algorithm may also switch a peer from single-link mode to multi-link mode, for example, if no individual link is serving the peer well (as indicated by channel congestion, channel freedom, RSSI SNR, amount of traffic, etc.). In this case, the provisioned MLO algorithm may send a T2LM message informing the peer that it may be able to transact with the AP over all possible links (e.g., in a randomized manner).

[0057] The 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 SoC1, which is waiting for an opportunity to send a packet on the CSMA channel. In this case, WiFi SoC2 may also be waiting for an opportunity to send a packet on that channel.

[0058] To prevent the same packet (with the same sequence number) from being transmitted on both channels, some form of serialization can be performed. Serialization allows multiple WiFi SoCs to synchronize their access to the packet. As shown, 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). When one WiFi SoC acquires the medium, it can send a signal indicating that it has acquired the medium and is attempting to send a particular packet. If another WiFi SoC has not yet initiated this transmission, the packet will be locked into this interface, and the packet will begin transmitting through that WiFi SoC (over PCIe). PCIe can be used for the actual payload transfer, but serialization occurs earlier (over a separate bus).

[0059] In some cases, serialization can be enforced by logic within the WiFi SoC called transmit queue management (TQM). In some cases, all peers have one of the WiFi SoCs designated as the primary or parent WiFi SoC for that peer (which can be specified at connection time). The TQM block of the primary WiFi SoC is considered the primary TQM for that peer. Any WiFi SoC attempting to send a packet to a peer needs to communicate (via ICSB) with the primary TQM for that peer to ensure serialization such that only one WiFi SoC is given the packet at a given time.

[0060] Unfortunately, this approach to serialization may be suboptimal. For example, even if the WiFi SoC acquires the medium, it may not be able to immediately send out a packet because it needs to consult with the primary TQM, which introduces some latency. As shown in timeline 410 in FIG. 4, in some cases, to preserve the medium (and prevent other APs from transmitting), the WiFi SoC may send a clear to send (CTS) message (to itself). If the WiFi SoC acquires a packet, it can transmit the packet. Otherwise, if it does not acquire a packet, it wastes medium bandwidth by sending a CTS to itself (which may occur on each link). Thus, the above-described serialization process may result in significant delays and inefficient use of bandwidth. Therefore, instantaneous channel assessment and medium access actions do not directly correlate to instantaneous high-speed data transactions over the air, because a certain percentage of airtime is spent simply waiting for back-end synchronization to be performed. Furthermore, using ICSB to perform externalized synchronization is costly (from a bill of materials (BOM) perspective) and leads to complex board routing and signal integrity challenges.

[0061] Another potential problem with the example architecture 400 of FIG. 4 is the possibility of engaging in uncontrolled transmissions across all links (what may be referred to as random spraying). As mentioned above, once the WiFi networking platform delivers a packet to a WiFi SoC, it has no control over which link the packet is transmitted over. Rather, the particular WiFi SoC that ultimately transmits the packet is based on hardware channel sensing. Therefore, the packet may be transmitted (randomly) on any WiFi SoC, which means that there is little or no way to provide operator control over the MLMR mode.

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

[0063] In some cases, this flexible architecture may implement a software algorithm that selects a processing path from a first processing path and a second processing path for routing packets from at least one buffer (e.g., a queue is one example of a buffer that will be described and illustrated in figures herein) to at least one of a plurality of radio components (e.g., a WiFi SoC) for wireless transmission to at least one peer over one or more links. As described in more detail below, the first (SW MLMR) processing path may 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 may be configured to bind packets to one of the one or more links based on (e.g., immediate) channel sensing.

[0064] FIG. 5 illustrates an example of a flexible MLO architecture 500 for multi-link operation at an AP in accordance with aspects of the present disclosure.

[0065] The exemplary architecture 500 may implement software algorithms that manage some flows into a software-based MLMR processing path and other flows into a hardware-based MLMR processing path. As described in more detail below, the software-based MLMR processing path may bind packets to links based on any recent channel condition feedback (e.g., using programmable hashing rules, code-implemented rules, user input, biases, etc.), while the hardware-based MLMR processing path may select links based on (just-in-time) channel sensing.

[0066] 4 described above, architecture 500 may include a WiFi networking platform 502 with WAN and Ethernet backends and DDR memory 506. The memory may hold executable code and may route packets between the memory and the radio component. In the illustrated example, the radio component is a separate WiFi SoC 506 that may be connected to the platform SoC (on which the WiFi networking platform is implemented) via a bus (e.g., PCIe). This approach may allow the platform SoC and the WiFi SoC to be provided by separate entities.

[0067] The WiFi networking platform may also include various functional modules (within the first processor complex 510). For example, a functional module may include a packet processing engine (PPE) that interfaces with an Ethernet networking stack (e.g., may generate an interrupt whenever a packet comes in from an Ethernet port). The first processor complex 510 and the second processor complex 520 are merely examples of how the functional components of a 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 an SoC.

[0068] In some cases, a shortcut forwarding engine (SFE) can take a packet and bypass the core networking stack if it determines that the packet is related to some time-sensitive reason, such as which type of flow is an extremely low latency flow. The SFE can identify flows at various levels of detail, from general (low latency or background traffic) to more specific (e.g., identifying a flow as an XR flow, a cloud gaming flow, a voice call, or a file transfer).

[0069] The packets then go to active queue management (AQM) where they can be queued in a particular queue (labeled 1). For example, the AQM can choose not to transmit packets when they arrive. Rather, the AQM can choose to select particular packets that are deemed important and send them to the Wi-Fi driver for processing in the WiFi data path. The WiFi networking platform may also include a provisioned MLO component for selecting between single link and multiple link (ML) operation with at least one peer. The following description of software-based MLMR and hardware-based MLMR assumes that ML mode has been selected.

[0070] The AQM can selectively forward (push out) only certain packets onto the Wi-Fi data path. The Wi-Fi driver takes those packets, creates MAC service data units (MSDUs), and places them in an MSDU queue (MSDUQ, label (2)). Multiple MSDUs are shown, each representing a given flow for a given peer. Assuming a peer can have four different types of flows or four different latencies, that peer can have four different MSDU queues (and each peer can have a similar number of such different MSDU queues). As shown, in some implementations, a second processor core component can process packets that appear in the MSDU queue.

[0071] Functional components within the second processor complex 520 can perform multi-link operations, effectively implementing faster loops to conform to the timeline of the wireless medium. As shown, a software MLMR component can access the packet first. The software MLMR component can determine which link to transmit the packet on. A transmit mode selection component can perform mode selection, determining whether to transmit the packet to a given peer in single-user mode or to attempt to group the packet with packets 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 various resource units (RUs). Once a mode is selected, a rate selection component can select a common denominator MCS. Finally, a transmit opportunity (TXOP) scheduling component can schedule the particular TXOP with its target peer.

[0072] As shown, each WiFi SoC can communicate over two virtual channels (which may be implemented on PCIe): VC1 and VC2. In the illustrated example, VC1 can be used for control signaling (to interface with what is labeled as the WiFi hardware block). VC2 can be used for data payload transfer, as indicated by its connection to DDR.

[0073] As mentioned above, a software MLMR algorithm (SW MLMR) can make the decision on whether to transmit packets for a particular peer on one particular link or on another link in the processing path. In some cases, the SW MLMR can bind packets to one of one or more links based on an evaluation of channel condition feedback for one or more links.

[0074] For example, the evaluation of the channel condition feedback may be based on the results of a clear channel assessment (CCA) for each channel over an adjustable duration. In the illustrated example, a history of CCA results is stored for each link associated with the WiFi SoC (CH1, CH2, and CH3). The CCA results may indicate the percentage of times the CCA passed (indicating the channel was clear) over an adjustable duration (e.g., 500 ms).

[0075] In some cases, the duration can be arbitrarily small, effectively providing an instantaneous channel-sensing mode, or alternatively, the duration can be increased to provide more controllability to the application.

[0076] As shown, the CCA history can be located on the WiFi networking platform (in register 530) to allow the software MLMR to easily access the content to consider when making link assignments. For example, the software MLMR can find which channel for one WiFi SoC is best (e.g., taking into account bias in addition to CCA) and assign links to that channel. In some cases, it can bind packets to links proportionally based on the CCA history.

[0077] Link selection based on SW MLMR can be understood with reference to Figure 6A. While Figure 5 illustrates the general components of architecture 500, Figure 6A assumes that a software-based MLMR (SW MLMR) processing path has been selected and illustrates an exemplary data path for packets that are bound to a particular link using SW MLMR. This approach provides flexibility in that the SW MLMR can assign packets to links based on channel condition feedback and / or code-implemented rules.

[0078] In the illustrated example, in a first scheduling as shown at (7), the SW MLMR transmits a first packet to a first peer p1 on WiFi SoC1-Link 1. In another scheduling as shown at (8), a second packet is transmitted to p1 on WiFi SoC2-Link 2. As described above, these decisions can be made based on channel assessment with the necessary bias and flow hashing. In the illustrated example, Link 1 and Link 2 can be prioritized over Link 3 (of WiFi SoC3) because the CCA history can be 80% for Link 1, 50% for Link 2, and 20% for Link 3. The CCA values ​​can be queried each time a packet is to be routed.

[0079] SW MLMR can also provide flexibility with respect to customer control over the spectrum. For example, SW MLMR can apply a bias function (based on code-implemented rules). For example, the bias function can specify that link selection for a packet with a given tuple is based on a mathematical function, such as a hash function. Based on that function, link 1 or link 2 may be chosen, since a customer may want to use one of those links with a different loading scheme. Therefore, channel load can be used as an input to make the final channel selection decision. Some mathematically determined function can ultimately determine that a particular packet should go on a particular link. For example, such a mathematically determined function can select a link based on a mathematical combination of programmable hashing and channel state feedback.

[0080] In some cases, packet failures can be addressed. For example, if a packet assigned to a particular link via the SW MLMR has a failure, some action can be taken. For example, the WiFi SoC may indicate a Tx failure and signal it to the software MLMR. The software MLMR can, for example, decide to requeue the packet for transmission on the same link (if the channel conditions indicate a similar condition), or it can requeue the packet to a different link. In some cases, it can attempt to transmit the failed packet for a certain duration (e.g., a programmable timeout) or number of attempts before discarding the packet.

[0081] Link selection based on HW MLMR can be understood with reference to FIG. 6B, which assumes that a hardware-based MLMR (HW MLMR) processing path has been selected and shows an example data path for a packet that has been bound to a particular link using channel sensing. This approach provides an option for avoiding potential latency associated with SW MLMR-based link assignment in channels with high interference from other WLAN devices. As described above, HW MLMR can select a link based on just-in-time channel sensing.

[0082] This approach can be used, for example, for packets of a particular flow that have low latency requirements, and the architecture proposed herein provides the flexibility to prioritize hardware-based routing based on channel sensing over software-based routing in this case.

[0083] For hardware-based MLMR routing of packets, each WiFi SoC can attempt to access the medium and send a packet. Each WiFi SoC can recognize the packet and search for opportunities on the medium by performing CCA. Each WiFi SoC can perform backoff after attempting to access the channel. When the backoff timer expires, the WiFi SoC can send a pull request to the platform via control plane VC1. The mere expiration of the backoff timer does not necessarily result in the WiFi SoC obtaining the medium. Instead, some other WiFi SoC may obtain the medium. The pull request can be sent to the MLO serializer block, which may have to receive requests from multiple WiFi SoCs and determine which one will ultimately use the packet.

[0084] This is illustrated in the example shown in FIG. 6B, which assumes that a packet to peer p2 will be queued for transmission in both WiFi SoC2 and WiFi SoC3. In this example, WiFi SoC1 can be intentionally excluded. Initially, the packet is not locked to a particular channel because, for example, a backoff timer may not have expired. Once the backoff 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 transmitted on only one channel. In the illustrated example, the packet is locked in WiFi SoC3 and transmitted to peer p2 via WiFi SoC link 3. In this case, WiFi SoC2 can receive a flush command.

[0085] By reducing latency, the flexible architecture proposed herein can alleviate the need to perform the above-mentioned CTS-to-self signaling to maintain the medium. As described above, the WiFi SoC can send a request immediately upon expiration of its backoff timer due to the reduced latency caused by the direct path to the serialization block via VC1. However, if for some reason the WiFi SoC does not receive the packet within the expected time, the WiFi SoC can still perform CTS-to-self signaling. This is sometimes referred to as conditional CTS-to-self, because, as opposed to always sending CTS-to-self, a CTS-to-self can be sent only if the packet did not arrive within the expected time.

[0086] The flexible architecture proposed herein may allow software or hardware link selection to be selected based on the desired results and current operating conditions. For example, in many cases, link selection will be optimized using a software-based MLMR processing path that takes into account accurate channel state information and / or operator selection bias. In some cases, a hardware-based processing path may also be selected, for example, due to reduced latency.

[0087] Exemplary Operation of an Access Point FIG. 7 illustrates an example method 700 for multi-link operation in an access point, such as AP 110 of FIGS.

[0088] Method 700 begins at step 705 with retrieving a packet from at least one queue. In some cases, the operations of this step may refer to or be performed by retrieving circuitry and / or retrieving code, such as those described with reference to FIG. 8.

[0089] Method 700 then proceeds to step 710 and selects a processing path from a first processing path and a second processing path for routing the packet from the at least one queue to at least one of the plurality of wireless components for wireless transmission to at least one peer over one or more links, the first processing path being 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 being configured to bind the packet to one of the one or more links based on channel sensing. In some cases, the operations of this step may refer to or be performed by circuitry and / or code for selecting, such as those described with reference to FIG. 8.

[0090] In some aspects, the first processing path is configured to bind the packet to one of the one or more links based on an evaluation of channel condition feedback for the one or more links.

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

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

[0093] In some aspects, the first processing path is configured to bind a packet to one of the one or more links regardless of a channel condition feedback assessment for the one or more links.

[0094] In some aspects, the selecting is performed by at least one first processing block implemented on a platform SoC, and each of the wireless components includes a separate SoC connected to the platform SoC via a bus.

[0095] In some aspects, at least one of the wireless components is configured to provide a CTS message to secure the medium if a particular packet is not retrieved by at least one of the wireless components by a particular time.

[0096] In some aspects, method 700 further includes acquiring the packet. In some cases, the operations of this step may refer to or be performed by acquiring circuitry and / or code, such as those described with reference to FIG.

[0097] In some aspects, method 700 further includes obtaining channel condition feedback for one or more links. In some cases, operations in this step may refer to or be performed by obtaining circuitry and / or code, such as those described with reference to FIG.

[0098] In some aspects, method 700 further includes selecting which of the retrieved packets to place in the at least one queue based on at least one of a programmable hash or channel condition feedback. In some cases, the operations of this step may refer to or be performed by a circuit and / or code for selecting, such as those described with reference to FIG.

[0099] In some aspects, method 700 further includes selecting, with respect to at least one peer, between single-link and multi-link operation, where the selection of a processing path is performed only if multi-link operation is selected. In some cases, the operations in this step may refer to or be performed by selecting circuitry and / or code, such as those described with reference to FIG.

[0100] In some aspects, method 700 further includes selecting a subset of the one or more links based on the channel condition feedback, and the second processing path binds the one or more packets to only one or more links in the subset based on instantaneous channel sensing. In some cases, the operations of this step may refer to or be performed by circuitry and / or code for selecting, such as those described with reference to FIG.

[0101] In some aspects, processing path selection is performed at the peer level, the flow level, or both the peer level and the flow level.

[0102] In some aspects, method 700 further includes performing serialization of packets bound to one or more links via a second processing path. In some cases, the operations of this step may refer to or be performed by circuitry and / or code for executing, such as those described with reference to FIG.

[0103] In some aspects, the first processing path is further configured to bypass performing serialization.

[0104] In some aspects, the at least one code-implemented rule includes at least one of one or more user-controlled option selections or one or more user biases.

[0105] 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 packet metadata.

[0106] In some aspects, method 700 further includes obtaining an indication of a failure to transmit the packet. In some cases, the operations of this step may refer to or be performed by obtaining circuitry and / or code, such as those described with reference to FIG.

[0107] In some aspects, method 700 further includes assigning the packet to the same link on which the transmission failure occurred. In some cases, the operations of this step may refer to or be performed by an assigning circuit and / or an assigning code, such as those described with reference to FIG.

[0108] In some aspects, method 700 further includes reallocating packets to different links. In some cases, the operations of this step may refer to or be performed by reallocating circuitry and / or reallocating code, such as those described with reference to FIG.

[0109] In some aspects, the method 700 further includes selecting a second processing path to bind the packet to one or more of the one or more links based on the channel sensing. In some cases, the operations of this step may refer to or be performed by a selecting circuit and / or a selecting code, such as those described with reference to FIG.

[0110] In one aspect, method 700, or any aspect related thereto, may be performed by an apparatus, such as communications device 800 of Figure 8, that includes various components operable, configured, or adapted to perform method 700. Communications device 800 is described in further detail below.

[0111] It should be noted that FIG. 7 is merely one example of a method, and that other methods including fewer steps, additional steps, or alternative steps are possible without contradicting this disclosure.

[0112] Exemplary Communication Devices 8 illustrates aspects of an exemplary communications device 800. In some aspects, the communications device 800 is an AP, such as the AP 110 described above with respect to FIGS.

[0113] The communications 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 communications device 800 via an antenna 880, such as various signals as described herein. The transceiver 875 may be an example of aspects of the transceiver 222 described with reference to FIG. 2. The processing system 805 may be configured to perform processing functions for the communications device 800, including processing signals received by the communications device 800 and / or signals to be transmitted.

[0114] The processing system 805 includes one or more processors 810. In various aspects, the one or more processors 810 may represent one or more of the RX data processor 242, the TX data processor 210, the TX spatial processor 220, or the controller 230 of the AP 110 shown in FIG. 2. The one or more processors 810 are coupled to a computer-readable medium / memory 840 via a bus 870. In particular 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 the method 700 described with respect to FIG. 7 or any aspects related thereto. It should be noted that reference to a processor performing a function of the communications device 800 may include one or more processors 810 performing that function of the communications device 800.

[0115] In the depicted example, 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 allocating 860, and code for reallocating 865. Processing of code for obtaining 845, code for selecting 850, code for executing 855, code for allocating 860, and code for reallocating 865 may cause communications device 800 to perform method 700 described with respect to FIG.

[0116] The one or more processors 810 include circuitry configured to implement (e.g., execute) code stored in computer-readable medium / memory 840, including circuitry such as a circuit for obtaining 815, a circuit for selecting 820, a circuit for executing 825, a circuit for allocating 830, and a circuit for reallocating 835. Processing by the circuit for obtaining 815, the circuit for selecting 820, the circuit for executing 825, the circuit for allocating 830, and the circuit for reallocating 835 may cause communications device 800 to perform method 700 described with respect to FIG. 7, or any aspect related thereto.

[0117] Various components of the communications device 800 may provide means for performing the method 700 described with respect to Figure 7 or any aspect related thereto. For example, the means for transmitting, sending, or outputting for transmission may include the transmitter unit 222 or antenna 224 of the AP 110 shown in Figure 2 and / or the transceiver 875 and antenna 880 of the communications device 800 of Figure 8. In some aspects, the means for receiving or acquiring may include the receiver unit 222 or antenna 224 of the AP 110 shown in Figure 2 and / or the transceiver 875 and antenna 880 of the communications device 800 of Figure 8.

[0118] Example clauses Example implementations are described in the following numbered clauses.

[0119] Clause 1: A method for multi-link operation in an access point, comprising: retrieving a packet from at least one queue; and selecting a processing path from a first processing path and a second processing path for routing the packet from the at least one queue to at least one of a plurality of wireless 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.

[0120] Clause 2: The method of clause 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 condition feedback for the one or more links.

[0121] Clause 3: The method of clause 2, wherein the evaluation of the channel state feedback is based on CCA results over an adjustable duration.

[0122] Clause 4: The method of any one 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.

[0123] Clause 5: The method of any one of clauses 1 to 4, wherein the first processing path is configured to bind packets to one of the one or more links regardless of channel state feedback evaluations for the one or more links.

[0124] Clause 6: The method of any one of clauses 1 to 5, wherein the selecting is performed by at least one first processing block implemented on a platform SoC, and each of the wireless components includes a separate SoC connected to the platform SoC via a bus.

[0125] Clause 7: The method of any one of clauses 1 to 6, wherein at least one of the wireless components is configured to provide a CTS message to secure the medium if a specific packet is not retrieved by at least one of the wireless components by a specific time.

[0126] Clause 8: The method of any one of clauses 1-7, further comprising: acquiring packets; acquiring channel condition feedback for one or more links; and selecting which of the acquired packets to place in at least one queue based on at least one of a programmable hash or the channel condition feedback.

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

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

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

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

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

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

[0133] 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 packet metadata.

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

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

[0136] Clause 18: An apparatus comprising means for carrying out a method according to any one of clauses 1 to 16.

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

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

[0139] Clause 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 processing path and a 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 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 packets to one of the one or more links based on instantaneous channel sensing.

[0140] Additional Considerations The foregoing description is provided to enable any person skilled in the art to practice the various aspects described herein. Nothing discussed herein is intended to limit the scope, applicability, or aspects of the invention as set forth in the claims. Various modifications to these aspects will be readily apparent to those skilled in the art, and the general principles defined herein may also be applied to other aspects. For example, changes may be made in the function and arrangement of the elements discussed without departing from the scope of the disclosure. Various examples may omit, substitute, or add various procedures or components as appropriate. For example, described methods may be performed in an order different from that described, and various actions may be added, omitted, or combined. Also, features described with respect to some examples may be combined in some other examples. For example, an apparatus may be implemented or a method may be practiced using any number of the aspects described herein. Furthermore, the scope of the disclosure is intended to encompass apparatuses or methods that are practiced using other structure, functions, or structure and functions in addition to or other than the various aspects of the disclosure described herein. It should be understood that any aspect of the disclosure disclosed herein may be embodied by one or more elements of a claim.

[0141] The various illustrative logic blocks, modules, and circuits described in connection with this disclosure may be implemented or performed using 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 alternatively, the processor may be any commercially available processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors in conjunction with a DSP core, a system-on-a-chip (SoC), or any other such configuration.

[0142] 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. By way of example, "at least one of a, b, or c" is intended to encompass a, b, c, ab, ac, bc, and abc, as well as any combination having multiples of the same element (e.g., aa, aaa, aab, aac, abb, acc, bb, bbb, bbc, cc, and ccc, or any other permutation of a, b, and c).

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

[0144] The methods disclosed herein include one or more actions for achieving the method. The actions of those methods may be interchanged with one another without departing from the scope of the claims. In other words, unless a specific order of actions is specified, the order and / or use of specific actions may be modified without departing from the scope of the claims. Furthermore, the various actions of the methods described above may be performed by any suitable means capable of performing the corresponding functions. These means may include various hardware and / or software components, including, but not limited to, circuits, application specific integrated circuits (ASICs), or processors, and / or various hardware and / or software modules.

[0145] The following claims are not intended to be limited to the embodiments set forth herein, but are to be accorded the full scope consistent with the language of the claims. Within the claims, reference to an element by the singular is not intended to mean "only one" unless expressly stated otherwise, but rather "one or more." Unless expressly stated otherwise, the term "some" refers to one or more. No element of a claim is to be construed under the provisions of 35 U.S.C. § 112(f) unless the element is expressly recited using the phrase "means for." All structural and functional equivalents to the elements of the various embodiments described throughout this disclosure that are known or later become known to those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be encompassed by the claims. Furthermore, nothing disclosed herein is intended to be made available to the public, regardless of whether such disclosure is expressly recited in the claims.

Claims

1. 1. An apparatus for multi-link operation (MLO), comprising: at least one buffer; at least one first processing block configured to select a processing path from a first processing path and a second processing path for routing packets from the at least one buffer to at least one of a plurality of wireless components for wireless transmission to at least one peer over one or more links; 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; The apparatus, wherein the second processing path is configured to bind the packet to one of the one or more links based on instantaneous channel sensing.

2. 2. The apparatus of 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 condition feedback for the one or more links.

3. The apparatus of claim 2 , wherein the assessment of channel condition feedback is based on clear channel assessment (CCA) results over an adjustable duration.

4. 2. The apparatus of claim 1, wherein the first processing path is configured to bind the packet to one of the one or more links independently of channel condition feedback assessments for the one or more links.

5. the at least one first processing block is implemented on a platform system-on-chip (SoC); each of the wireless components comprises a separate system-on-chip (SoC) connected to the platform SoC via a bus; 10. The apparatus of claim 1.

6. 10. The apparatus of claim 1, wherein at least one of the wireless components is configured to provide a clear to send (CTS) message to secure the medium if a particular packet is not retrieved by the at least one of the wireless components by a particular time.

7. The method further comprises at least one second processing block, the at least one second processing block comprising: Get the packet, obtaining channel condition feedback for the one or more links; 10. The apparatus of claim 1, configured to select which of the retrieved packets to place in the at least one buffer based on at least one of a programmable hash, the channel condition feedback, or a particular mathematical combination of the programmable hash and the channel condition feedback.

8. and at least one second processing block configured to select between single-link and multi-link operation for said at least one peer, said at least one first processing block configured to select said processing path only if said multi-link operation is selected.

10. The apparatus of claim 1.

9. the at least one first processing block is further configured to select the subset of the one or more links based on channel condition feedback; 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 apparatus of claim 1.

10. The apparatus of 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. a serialization component configured to perform serialization of packets bound to the one or more links via the second processing path.

10. The apparatus of claim 1.

12. The apparatus of claim 11 , wherein at least one of the first processing paths is further configured to bypass the serialization component.

13. The at least one code-implemented rule: one or more user-controlled option selections; or The apparatus of claim 1 , further comprising at least one of one or more user biases.

14. 14. The apparatus of 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 packet metadata.

15. The at least one first processing block comprises: obtaining an indication of a transmission failure of the packet based on observation of an adjustable time window; assigning said packet to the same link on which said transmission failure occurred, or reassigning said packets to a different link, or 10. The apparatus of claim 1, further configured to select the second processing path to bind the packet to one or more of the one or more links based on instantaneous channel sensing.

16. An access point (AP), a plurality of wireless components; at least one buffer; at least one first processing block configured to select a processing path from a first processing path and a second processing path for routing packets from the at least one buffer to at least one of the plurality of wireless components for wireless transmission to at least one peer over one or more links; 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; An access point (AP), wherein 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) in an access point (AP), comprising: Obtaining a packet from at least one buffer; selecting a processing path from a first processing path and a second processing path for routing packets from the at least one buffer to at least one of a plurality of wireless components for wireless transmission to at least one peer over one or more links; 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; The method, wherein the second processing path is configured to bind the packet to one of the one or more links based on instantaneous channel sensing.

18. 20. The method of 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 condition feedback for the one or more links.

19. 20. The method of claim 17, wherein the assessment of channel condition feedback is based on clear channel assessment (CCA) results over an adjustable duration.

20. 20. The method of claim 17, wherein the first processing path is configured to bind the packet to one of the one or more links independently of channel condition feedback assessments for the one or more links.