CN113273308B - Packet-based link aggregation architecture - Google Patents
Packet-based link aggregation architecture Download PDFInfo
- Publication number
- CN113273308B CN113273308B CN202080008064.XA CN202080008064A CN113273308B CN 113273308 B CN113273308 B CN 113273308B CN 202080008064 A CN202080008064 A CN 202080008064A CN 113273308 B CN113273308 B CN 113273308B
- Authority
- CN
- China
- Prior art keywords
- wireless
- link
- wireless device
- data units
- links
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000002776 aggregation Effects 0.000 title abstract description 194
- 238000004220 aggregation Methods 0.000 title abstract description 194
- 238000004891 communication Methods 0.000 claims abstract description 211
- 238000000034 method Methods 0.000 claims abstract description 203
- 238000001228 spectrum Methods 0.000 claims description 28
- 230000001360 synchronised effect Effects 0.000 claims description 12
- 230000004931 aggregating effect Effects 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 11
- 230000008901 benefit Effects 0.000 abstract description 10
- 230000005540 biological transmission Effects 0.000 description 82
- 230000008569 process Effects 0.000 description 42
- 230000006870 function Effects 0.000 description 32
- 230000011664 signaling Effects 0.000 description 19
- 230000004044 response Effects 0.000 description 18
- 238000007726 management method Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 239000000523 sample Substances 0.000 description 10
- 238000013467 fragmentation Methods 0.000 description 6
- 238000006062 fragmentation reaction Methods 0.000 description 6
- 230000011218 segmentation Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000015556 catabolic process Effects 0.000 description 3
- 238000006731 degradation reaction Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 239000012634 fragment Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 208000032369 Primary transmission Diseases 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- VYLDEYYOISNGST-UHFFFAOYSA-N bissulfosuccinimidyl suberate Chemical compound O=C1C(S(=O)(=O)O)CC(=O)N1OC(=O)CCCCCCC(=O)ON1C(=O)C(S(O)(=O)=O)CC1=O VYLDEYYOISNGST-UHFFFAOYSA-N 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 238000005562 fading Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/15—Setup of multiple wireless link connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/10—Flow control between communication endpoints
- H04W28/14—Flow control between communication endpoints using intermediate storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L5/00—Arrangements affording multiple use of the transmission path
- H04L5/14—Two-way operation using the same type of signal, i.e. duplex
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/14—Direct-mode setup
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mobile Radio Communication Systems (AREA)
- Crystals, And After-Treatments Of Crystals (AREA)
- Burglar Alarm Systems (AREA)
Abstract
Methods, systems, and devices for wireless communications are described. A wireless device may support parallel communications over multiple wireless links, which may benefit (among other benefits) the wireless system in terms of throughput and latency. However, such systems may experience increased system complexity, which may in some cases alleviate some of the benefits provided by parallel communication links. The described technology provides an aggregation architecture that addresses various such complexities. For example, devices communicating according to the described techniques may format data to be transmitted as a set of data units that are allocated to a communication link based on various factors described herein. Accordingly, devices receiving data packets may reorder the packets according to the described techniques.
Description
Cross reference
This patent application claims priority from U.S. patent application Ser. No.16/246,410 entitled "PACKET BASED LINK AGGREGATION ARCHITECTURES (packet-based Link aggregation architecture)" filed by ZHOU et al at 1/11 of 2019, which is assigned to the assignee of the present application.
Background
The following relates generally to wireless communications, and more particularly to packet-based link aggregation architecture.
Wireless communication systems are widely deployed to provide various types of communication content such as voice, video, packet data, messaging, broadcast, and so on. These systems may be multiple-access systems capable of supporting communication with multiple users by sharing the available system resources (e.g., time, frequency, and power). A wireless network (e.g., a Wireless Local Area Network (WLAN), such as Wi-Fi (i.e., institute of Electrical and Electronics Engineers (IEEE) 802.11) network) may include an Access Point (AP) that may communicate with one or more Stations (STAs) or mobile devices. The AP may be coupled to a network, such as the internet, and may enable mobile devices to communicate via the network (or with other devices coupled to the access point). The wireless device may communicate bi-directionally with the network device. For example, in a WLAN, STAs may communicate with an associated AP via the downlink and uplink. The downlink (or forward link) may refer to the communication link from the AP to the STA, while the uplink (or reverse link) may refer to the communication link from the STA to the AP.
Devices in the WLAN may communicate over an unlicensed spectrum, which may be a portion of spectrum that includes frequency bands traditionally used by Wi-Fi technology, such as a 5GHz band, a 2.4GHz band, a 60GHz band, a 3.6GHz band, and/or a 900MHz band. Unlicensed spectrum may also include other frequency bands. The wireless connection between an AP and a STA may be referred to as a channel or link. Users may access these radio frequency spectrum bands using various contention-based protocols (e.g., as specified by one or more versions of IEEE 802.11). Each frequency band (e.g., 5GHz band) may include multiple channels (e.g., each channel spans 20MHz in frequency), each of which may be used by an AP or STA. In a multiple access configuration, such as Code Division Multiple Access (CDMA), a channel may support multiple connections, such as between multiple STAs and an AP. In some cases, the load or demand on one channel may be low at any particular time, while the load or demand on other channels may be high. An improved method for distributing data streams among available channels may thus be desired.
SUMMARY
The described technology relates to an improved method, system, apparatus or device (apparatus) supporting a packet-based link aggregation architecture. Although described in the context of packet-based aggregation, aspects of the present disclosure also apply to communications in which a given traffic flow is associated with a particular link (e.g., for the same Traffic Identifier (TID), which may be referred to as flow-based aggregation). The described techniques provide a variety of aggregate architectures, aspects of which may be combined or omitted to produce additional architectures without departing from the scope of the present disclosure. An example architecture is described in which a transmitting device maintains a respective transmit queue for each link of a multi-link session. For example, such an architecture may support flow-based aggregation (e.g., where each transmit queue is associated with a given type of traffic) or packet-based aggregation (e.g., where packets are assigned to transmit queues based on, for example, communication quality on an associated link). A second example architecture is described in which a transmitting device maintains a common transmit queue for all links (e.g., or a subset of those links) of a multi-link session. In some cases, a common transmit queue (or per-link transmit queue) may be used in conjunction with the encoding process to improve transmission reliability (e.g., by increasing entropy of the data stream and expanding the encoded data stream across multiple links, or single-link expansion over time). A third example architecture is described in which groups of packet sequence numbers are introduced. For example, in this architecture, operations that are common across links may be based on a common sequence number, while link-specific operations may be based on a per-link sequence number. In addition, techniques for supporting aggregation on non-co-located APs are described.
A method of wireless communication at a first wireless device is described. The method may include: establishing a multi-link session between the first wireless device and the second wireless device, the multi-link session comprising a set of wireless links for communicating in parallel between the first wireless device and the second wireless device; and communicating parallel communications between the first wireless device and the second wireless device over the set of wireless links.
An apparatus for wireless communication at a first wireless device is described. The apparatus may include a processor, a memory in electronic communication with the processor, and instructions stored in the memory. The instructions are executable by the processor to cause the apparatus to: establishing a multi-link session between the first wireless device and the second wireless device, the multi-link session comprising a set of wireless links for communicating in parallel between the first wireless device and the second wireless device; and communicating parallel communications between the first wireless device and the second wireless device over the set of wireless links.
Another apparatus for wireless communication at a first wireless device is described. The apparatus may comprise means for: establishing a multi-link session between the first wireless device and the second wireless device, the multi-link session comprising a set of wireless links for communicating in parallel between the first wireless device and the second wireless device; and communicating parallel communications between the first wireless device and the second wireless device over the set of wireless links.
A non-transitory computer-readable medium storing code for wireless communication at a first wireless device is described. The code may include instructions executable by the processor to: establishing a multi-link session between the first wireless device and the second wireless device, the multi-link session comprising a set of wireless links for communicating in parallel between the first wireless device and the second wireless device; and communicating parallel communications between the first wireless device and the second wireless device over the set of wireless links.
Some examples of the methods, apparatus (devices) and non-transitory computer-readable media described herein may further include operations, features, devices or instructions for: the method includes formatting data to be transmitted to a second wireless device into a set of data units and transmitting a first group of data units in the set of data units to the second wireless device over a first wireless link in the set of wireless links.
Some examples of the methods, apparatus (devices) and non-transitory computer-readable media described herein may further include operations, features, devices or instructions for: a second group of data units in the set of data units is received from a second wireless device over a second wireless link in the set of wireless links.
Some examples of the methods, apparatus (devices) and non-transitory computer-readable media described herein may further include operations, features, devices or instructions for: a second group of data units in the set of data units is transmitted to a second wireless device over a second wireless link in the set of wireless links.
Some examples of the methods, apparatus (devices) and non-transitory computer-readable media described herein may further include operations, features, devices or instructions for: a first set of data units is allocated to a first transmit queue for a first wireless link and a second set of data units is allocated to a second transmit queue for a second wireless link.
Some examples of the methods, apparatus (devices) and non-transitory computer-readable media described herein may further include operations, features, devices or instructions for: the set of data units is assigned to a common transmit queue for the first wireless link and the second wireless link.
Some examples of the methods, apparatus (devices) and non-transitory computer-readable media described herein may further include operations, features, devices or instructions for: a message is received from a second wireless device on a second wireless link in the set of wireless links, wherein the second wireless link includes a narrower bandwidth than the first wireless link. In some cases, the message received from the second wireless device over the second wireless link may include feedback responsive to the transmitted first set of data units. In some cases, multiple wireless links may be synchronized in time.
Some examples of the methods, apparatus (devices) and non-transitory computer-readable media described herein may further include operations, features, devices or instructions for: the first radio frequency spectrum band punctures a plurality of wireless links, the first radio frequency spectrum band being different from each of a plurality of radio frequency spectrum bands corresponding to the plurality of wireless links of the multi-link session.
In some examples of the methods, apparatus (devices) and non-transitory computer-readable media described herein, the communicating may further include operations, features, means or instructions for: communication with a second wireless device over a first wireless link in the set of wireless links and communication with a third wireless device over a second wireless link in the set of wireless links.
Some examples of the methods, apparatus (devices) and non-transitory computer-readable media described herein may further include operations, features, devices or instructions for: the method includes receiving a first set of data units from a second wireless device on a first wireless link in the set of wireless links, receiving a second set of data units from the second wireless device on a second wireless link in the set of wireless links, and reordering the first set of data units and the second set of data units to generate a single data message for the second wireless device.
Some examples of the methods, apparatus (devices) and non-transitory computer-readable media described herein may further include operations, features, devices or instructions for: the first group of data units is aggregated into a first receive queue for a first wireless link and the second group of data units is aggregated into a second receive queue for a second wireless link.
A method of wireless communication is described. The method may include: establishing a multi-link session between the first wireless device and the second wireless device, the multi-link session comprising a plurality of wireless links for communicating in parallel between the first wireless device and the second wireless device; formatting data to be transmitted to the second wireless device into a plurality of data units, transmitting a first set of the plurality of data units to the second wireless device over a first one of the plurality of wireless links; and transmitting a second set of data units of the plurality of data units to the second wireless device over a second wireless link of the plurality of wireless links.
An apparatus for wireless communication is described. The apparatus may include: means for establishing a multi-link session between a first wireless device and a second wireless device, the multi-link session comprising a plurality of wireless links for communicating in parallel between the first wireless device and the second wireless device; means for formatting data to be transmitted to the second wireless device into a plurality of data units; means for transmitting a first set of data units of the plurality of data units to the second wireless device over a first wireless link of the plurality of wireless links; and means for transmitting a second set of the plurality of data units to a second wireless device over a second wireless link of the plurality of wireless links.
Another apparatus for wireless communication is described. The apparatus may include a processor, a memory in electronic communication with the processor, and instructions stored in the memory. The instructions are operable to cause the processor to: establishing a multi-link session between the first wireless device and the second wireless device, the multi-link session comprising a plurality of wireless links for communicating in parallel between the first wireless device and the second wireless device; formatting data to be transmitted to the second wireless device into a plurality of data units; transmitting a first set of data units of the plurality of data units to the second wireless device over a first wireless link of the plurality of wireless links; and transmitting a second set of data units of the plurality of data units to the second wireless device over a second wireless link of the plurality of wireless links.
A non-transitory computer-readable medium for wireless communication is described. The non-transitory computer readable medium may include instructions operable to cause a processor to: establishing a multi-link session between the first wireless device and the second wireless device, the multi-link session comprising a plurality of wireless links for communicating in parallel between the first wireless device and the second wireless device; formatting data to be transmitted to the second wireless device into a plurality of data units; transmitting a first set of data units of the plurality of data units to the second wireless device over a first wireless link of the plurality of wireless links; and transmitting a second set of data units of the plurality of data units to the second wireless device over a second wireless link of the plurality of wireless links.
Some examples of the methods, apparatus (devices) and non-transitory computer-readable media described herein may further include processes, features, devices or instructions for: a first set of data units is allocated to a first transmit queue for a first wireless link. Some examples of the methods, apparatus (devices) and non-transitory computer-readable media described herein may further include processes, features, devices or instructions for: a second set of data units is assigned to a second transmit queue for a second wireless link.
Some examples of the methods, apparatus (devices) and non-transitory computer-readable media described herein may further include processes, features, devices or instructions for: a respective sequence number in a sequence number set is assigned to each of a plurality of data units, the sequence number set indicating an order of the plurality of data units of the data.
Some examples of the methods, apparatus (devices) and non-transitory computer-readable media described herein may further include processes, features, devices or instructions for: a respective sequence number of the first set of sequence numbers is assigned to each data unit of the first set of data units to be transmitted over the first wireless link. Some examples of the methods, apparatus (devices) and non-transitory computer-readable media described herein may further include processes, features, devices or instructions for: a respective sequence number of the second set of sequence numbers is assigned to each data unit of the second set of data units to be transmitted over the second wireless link.
Some examples of the methods, apparatus (devices) and non-transitory computer-readable media described herein may further include processes, features, devices or instructions for: each sequence number of the third set of sequence numbers is assigned to a data unit of the first set of data units or the second set of data units, wherein each data unit of the first set of data units may be assigned one of the first set of sequence numbers and one of the third set of sequence numbers, and wherein each data unit of the second set of data units may be assigned one of the second set of sequence numbers and one of the third set of sequence numbers.
Some examples of the methods, apparatus (devices) and non-transitory computer-readable media described herein may further include processes, features, devices or instructions for: a plurality of data units are allocated to a common transmit queue for the first wireless link and the second wireless link.
Some examples of the methods, apparatus (devices) and non-transitory computer-readable media described herein may further include processes, features, devices or instructions for: a value of a parameter indicative of availability of the first wireless link or the second wireless link or both is determined for transmission to the second wireless device. Some examples of the methods, apparatus (devices) and non-transitory computer-readable media described herein may further include processes, features, devices or instructions for: one or more data units in a common transmit queue of the plurality of data units are allocated to one of the first wireless link or the second wireless link based at least in part on the value of the parameter.
Some examples of the methods, apparatus (devices) and non-transitory computer-readable media described herein may further include processes, features, devices or instructions for: a transmitter address, or receiver address, or traffic identifier, or a combination thereof, is assigned to each of the plurality of wireless links. Some examples of the methods, apparatus (devices) and non-transitory computer-readable media described herein may further include processes, features, devices or instructions for: a block acknowledgment session is established between the first wireless device and the second wireless device based at least in part on the assignment.
In some examples of the methods, apparatus (means) and non-transitory computer-readable media described herein, establishing the multi-link session between the first wireless device and the second wireless device further comprises: a common value of an operating parameter is assigned to the first wireless link and the second wireless link, the operating parameter including a sequence number, or a frame number, or a packet number, or a segment size, or a sender address, or a receiver address, or an encryption key, or a combination thereof.
In some examples of the methods, apparatus (means) and non-transitory computer-readable media described herein, assigning the common value of the operating parameter comprises: a first value for the operating parameter for the first wireless link is identified. Some examples of the methods, apparatus (devices) and non-transitory computer-readable media described herein may further include processes, features, devices or instructions for: a second value for the second wireless link for the operating parameter is identified. Some examples of the methods, apparatus (devices) and non-transitory computer-readable media described herein may further include processes, features, devices or instructions for: one of the first value or the second value of the operating parameter is assigned as a common value according to selection criteria for the operating parameter.
Some examples of the methods, apparatus (devices) and non-transitory computer-readable media described herein may further include processes, features, devices or instructions for: one or more data units of the plurality of data units are replicated prior to transmission, wherein at least one data unit of the first set of data units transmitted on the first wireless link comprises the one or more duplicate data units, and wherein at least one data unit of the second set of data units transmitted on the second wireless link comprises the one or more duplicate data units.
Some examples of the methods, apparatus (devices) and non-transitory computer-readable media described herein may further include processes, features, devices or instructions for: the data is encoded into a plurality of encoded symbols, which may be recovered at the second wireless device by decoding a subset of the plurality of encoded symbols. Some examples of the methods, apparatus (devices) and non-transitory computer-readable media described herein may further include processes, features, devices or instructions for: the plurality of encoded symbols is formatted into a plurality of data units.
In some examples of the methods, apparatus (devices) and non-transitory computer-readable media described herein, transmitting the first set of data units includes: a pseudo-random sequence known to both the first wireless device and the second wireless device is identified. Some examples of the methods, apparatus (devices) and non-transitory computer-readable media described herein may further include processes, features, devices or instructions for: a first set of data units is transmitted using a plurality of frequency resources of the multi-link session according to the identified pseudo-random sequence.
In some examples of the methods, apparatus (means) and non-transitory computer-readable media described herein, establishing the multi-link session between the first wireless device and the second wireless device includes: a first wireless link is established between a first lower Media Access Control (MAC) layer of a first wireless device and a first lower MAC layer of a second wireless device. Some examples of the methods, apparatus (devices) and non-transitory computer-readable media described herein may further include processes, features, devices or instructions for: a second wireless link is established between a second lower MAC layer of the first wireless device and a second lower MAC layer of the second wireless device, wherein the first lower MAC layer and the second lower MAC layer of the first wireless device may be in communication with a common higher MAC layer of the first wireless device.
A method of wireless communication is described. The method may include: establishing a multi-link session between the first wireless device and the second wireless device, the multi-link session comprising a plurality of wireless links for communicating in parallel between the first wireless device and the second wireless device; receiving a first set of data units from a second wireless device over a first wireless link of a plurality of wireless links; receiving a second set of data units from a second wireless device over a second wireless link of the plurality of wireless links; and reordering the first set of data units and the second set of data units to generate a single data message for the second wireless device.
An apparatus for wireless communication is described. The apparatus may include: means for establishing a multi-link session between a first wireless device and a second wireless device, the multi-link session comprising a plurality of wireless links for communicating in parallel between the first wireless device and the second wireless device; means for receiving a first set of data units from a second wireless device over a first wireless link of a plurality of wireless links; means for receiving a second set of data units from a second wireless device over a second wireless link of the plurality of wireless links; and means for reordering the first set of data units and the second set of data units to generate a single data message for the second wireless device.
Another apparatus for wireless communication is described. The apparatus may include a processor, a memory in electronic communication with the processor, and instructions stored in the memory. The instructions are operable to cause the processor to: establishing a multi-link session between the first wireless device and the second wireless device, the multi-link session comprising a plurality of wireless links for communicating in parallel between the first wireless device and the second wireless device; receiving a first set of data units from a second wireless device over a first wireless link of a plurality of wireless links; receiving a second set of data units from a second wireless device over a second wireless link of the plurality of wireless links; and reordering the first set of data units and the second set of data units to generate a single data message for the second wireless device.
A non-transitory computer-readable medium for wireless communication is described. The non-transitory computer readable medium may include instructions operable to cause a processor to: establishing a multi-link session between the first wireless device and the second wireless device, the multi-link session comprising a plurality of wireless links for communicating in parallel between the first wireless device and the second wireless device; receiving a first set of data units from a second wireless device over a first wireless link of a plurality of wireless links; receiving a second set of data units from a second wireless device over a second wireless link of the plurality of wireless links; and reordering the first set of data units and the second set of data units to generate a single data message for the second wireless device.
Some examples of the methods, apparatus (devices) and non-transitory computer-readable media described herein may further include processes, features, devices or instructions for: the first set of data units is aggregated into a first receive queue for the first wireless link. Some examples of the methods, apparatus (devices) and non-transitory computer-readable media described herein may further include processes, features, devices or instructions for: the second set of data units is aggregated into a second receive queue for a second wireless link.
In some examples of the methods, apparatus (means) and non-transitory computer-readable media described herein, reordering the first set of data units and the second set of data units to generate a single data message for the second wireless device includes: a sequence number in a sequence number set shared between the first group of data units and the second group of data units is identified for each data unit in the first group of data units and the second group of data units. Some examples of the methods, apparatus (devices) and non-transitory computer-readable media described herein may further include processes, features, devices or instructions for: the first set of data units and the second set of data units are reordered based at least in part on the identified sequence number set to generate a single data message.
In some examples of the methods, apparatus (means) and non-transitory computer-readable media described herein, reordering the first set of data units and the second set of data units to generate a single data message for the second wireless device includes: a sequence number for the first set of data units in the first set of sequence numbers is identified for each data unit in the first set of data units. Some examples of the methods, apparatus (devices) and non-transitory computer-readable media described herein may further include processes, features, devices or instructions for: a sequence number for the first set of data units in the second set of sequence numbers is identified for each data unit in the second set of data units. Some examples of the methods, apparatus (devices) and non-transitory computer-readable media described herein may further include processes, features, devices or instructions for: the first set of data units and the second set of data units are reordered based at least in part on the identified first set of sequence numbers and the identified second sequence numbers to generate a single data message.
Some examples of the methods, apparatus (devices) and non-transitory computer-readable media described herein may further include processes, features, devices or instructions for: replay checking is performed on the reordered first set of data units and the second set of data units. Some examples of the methods, apparatus (devices) and non-transitory computer-readable media described herein may further include processes, features, devices or instructions for: the reordered first set of data units and second set of data units are de-segmented.
Brief Description of Drawings
Fig. 1 illustrates an example of a WLAN supporting a packet-based link aggregation architecture in accordance with aspects of the present disclosure.
Fig. 2 illustrates an example of a WLAN supporting a packet-based link aggregation architecture in accordance with aspects of the present disclosure.
Fig. 3 illustrates an example of a process flow supporting a packet-based link aggregation architecture in accordance with aspects of the present disclosure.
Fig. 4 illustrates an example layer configuration supporting a packet-based link aggregation architecture in accordance with aspects of the present disclosure.
Fig. 5-7 illustrate example communication schemes supporting a packet-based link aggregation architecture in accordance with aspects of the present disclosure.
Fig. 8 illustrates an example transport format supporting a packet-based link aggregation architecture in accordance with aspects of the present disclosure.
Fig. 9A and 9B illustrate examples of network configurations supporting a packet-based link aggregation architecture in accordance with aspects of the present disclosure.
Fig. 10 illustrates an example of a transmission scheme supporting a packet-based link aggregation architecture in accordance with aspects of the present disclosure.
Fig. 11 illustrates an example of a receiving scheme supporting a packet-based link aggregation architecture in accordance with aspects of the present disclosure.
Fig. 12 and 13 illustrate example process flows supporting a packet-based link aggregation architecture in accordance with aspects of the present disclosure.
Fig. 14-16 illustrate block diagrams of devices supporting a packet-based link aggregation architecture, in accordance with aspects of the present disclosure.
Fig. 17 illustrates a block diagram of a system including a wireless device supporting a packet-based link aggregation architecture in accordance with aspects of the disclosure.
Fig. 18-25 illustrate methods for a packet-based link aggregation architecture in accordance with aspects of the present disclosure.
Detailed Description
Some wireless communication systems may support multiple parallel links between communication devices (e.g., to increase throughput, improve link efficiency, reduce latency, etc.). A wireless link may refer to a communication path between devices and each link may support one or more channels (e.g., logical entities) supporting data multiplexing such that transmissions or portions of transmissions may occur simultaneously on both links, either synchronously or asynchronously, during at least some time duration. These wireless links may be in the same or different Radio Frequency (RF) spectrum bands. Each link of the multi-link session may be associated with a respective physical component (e.g., antenna, amplifier (including power amplifier and low noise amplifier), etc.) and/or logical processing component (e.g., physical (PHY) layer, medium Access Control (MAC) layer, etc.) of a given wireless device, and these components may be configured to support multi-link communications. Multiple links may connect wireless devices at the MAC layer (e.g., each link may connect respective lower MAC components of a communication device). The MAC layer may aggregate data packets from multiple wireless links to be provided to or received from an upper layer of the device (in the case where the wireless device is a receiver) (e.g., using multiple connections from the MAC layer to the PHY layer). Such parallel communications, while benefiting the system in terms of throughput and spectrum utilization, may increase the complexity of the system. For example, these communications may require or benefit from an improved transmission architecture to facilitate successful decoding and reordering of received packets.
In some cases, a multi-link session may employ a packet-based aggregation architecture (e.g., where packets are dynamically assigned to links). Such architectures may improve key performance indicators, such as User Perceived Throughput (UPT), and reduce latency relative to non-aggregated communications. However, supporting parallel communications may increase the complexity of the wireless system. For example, a device may receive packets associated with a single traffic stream over multiple links and need to reorder the packets to successfully decode the transmitted information. Additionally or alternatively, some of these packets may be corrupted (e.g., may experience interference or signal attenuation) and need to be retransmitted during propagation across the wireless medium, which may introduce additional complexity. An improved packet-based link aggregation architecture may be desirable.
In a first set of examples, the transmitting wireless device may maintain a packet queue for each link of the multi-link session. Considerations for such architecture are described further below (e.g., with reference to fig. 5). In a second set of examples, the wireless device may maintain a common transmit queue for all links of the multi-link session (e.g., as further described with reference to fig. 6). In some cases, aspects of these architectures can be modified or combined to produce additional architectures. For example, an architecture may be used in which a first subset of links of a multi-link session uses a common transmit queue and a second subset of links of the multi-link session uses a transmit queue per link. Another set of example architectures includes considerations that separate operations that are common across all links from operations that are specific to a given link (e.g., as further described with reference to fig. 7). In some cases, each of these architectures may be performed by an AP that is not co-located, as described with reference to fig. 9A and 9B. For example, a STA may exchange aggregation capability information with multiple APs and identify a suitable set of APs for aggregation communication.
Aspects of the present disclosure are initially described in the context of a wireless communication system. Aspects of the disclosure are described subsequently with reference to process flow diagrams and packet allocation schemes. Aspects of the present disclosure are further illustrated and described by and with reference to apparatus diagrams, system diagrams, and flowcharts related to signaling for link aggregation setup and reconfiguration.
Fig. 1 illustrates a WLAN 100 (also referred to as a Wi-Fi network) configured in accordance with aspects of the present disclosure. WLAN 100 may include an AP 105 and a plurality of associated STAs 115, which may represent devices such as wireless communication terminals, including mobile stations, telephones, personal Digital Assistants (PDAs), other handheld devices, netbooks, notebook computers, tablet computers, laptop devices, display devices (e.g., TVs, computer monitors, etc.), printers, and the like. The AP 105 and associated STAs 115 may represent a Basic Service Set (BSS) or an Extended Service Set (ESS). Individual STAs 115 in the network are able to communicate with each other through the AP 105. Also shown is a coverage area 110 of AP 105, which may represent a Basic Service Area (BSA) of WLAN 100. The extended network stations associated with the WLAN 100 may be connected to a wired or wireless distribution system that may allow for the connection of multiple APs 105 in an ESS.
The STA 115 may be located at the intersection of more than one coverage area 110 and may be associated with more than one AP 105. A single AP 105 and associated set of STAs 115 may be referred to as a BSS. The ESS is a set of connected BSSs. The distribution system may be used to connect to the APs 105 in the ESS. In some cases, coverage area 110 of AP 105 may be divided into sectors. WLAN 100 may include APs 105 of different types (e.g., urban areas, home networks, etc.) having different and overlapping coverage areas 110. The two STAs 115 may also communicate directly via the direct wireless link 125, whether or not the two STAs 115 are in the same coverage area 110. Examples of the direct wireless link 125 may include Wi-Fi direct connection, wi-Fi Tunneling Direct Link Setup (TDLS) link, and other group connections. The STA 115 and AP 105 may communicate in accordance with WLAN radio and baseband protocols for the physical and MAC layers from IEEE 802.11 and its various versions (including but not limited to 802.11b, 802.11g, 802.11a, 802.11n, 802.11ac, 802.11ad, 802.11ah, 802.11ax, 802.11az, 802.11ba, etc.). In other implementations, a peer-to-peer connection or an ad hoc (ad hoc) network may be implemented within the WLAN 100. Devices in WLAN 100 may communicate over an unlicensed spectrum, which may be a portion of spectrum that includes frequency bands traditionally used by Wi-Fi technology, such as a 5GHz band, a 2.4GHz band, a 60GHz band, a 3.6GHz band, and/or a 900MHz band. Unlicensed spectrum may also include other frequency bands.
In some cases, the STA 115 (or AP 105) may be detected by the central AP 105, but may not be detected by other STAs 115 in the coverage area 110 of the central AP 105. For example, one STA 115 may be at one end of the coverage area 110 of the central AP 105, while another STA 115 may be at the other end. Thus, the two STAs 115 may communicate with the AP 105, but may not be able to receive each other's transmissions. This may result in conflicting transmissions (e.g., carrier Sense Multiple Access (CSMA)/Collision Avoidance (CA)) for two STAs 115 in a contention-based environment, because the STAs 115 may not refrain from transmitting on top of each other. STAs 115 whose transmissions cannot be identified but are within the same coverage area 110 may be referred to as hidden nodes. CSMA/CA may be supplemented by exchanging request-to-send (RTS) packets transmitted by the sender STA 115 (or AP 105) and clear-to-send (CTS) packets transmitted by the receiver STA 115 (or AP 105). The exchange may alert other devices within range of the sender and the receiver that no transmission is to be made for the duration of the primary transmission. Thus, the RTS/CTS handshake may help alleviate hidden node problems.
In systems supporting multi-link aggregation (which may also be referred to as multi-channel aggregation), some traffic associated with a single STA 115 may be transmitted across multiple parallel communication links 120 (which may also be referred to herein as "links" or "wireless links"). Thus, multilink aggregation may provide a means to increase network capacity and maximize utilization of available resources. In some cases, each communication link 120 for a given wireless device may be associated with a respective radio of that wireless device (e.g., where the radio includes a transmit/receive chain, a physical antenna, signal processing components, etc.). Multilink aggregation can be implemented in several ways. As a first example, the multilink aggregation may be packet-based. In packet-based aggregation, frames of a single traffic stream (e.g., all traffic associated with a given Traffic Identifier (TID)) may be sent in parallel across multiple communication links 120 (e.g., over multiple channels). In some cases, multiple communication links 120 may operate in the same RF frequency band (e.g., each link may be in the 5GHz band and use channels in the 5GHz band). In other cases, the plurality of communication links 120 may be in different RF bands (e.g., one may be in the 2.4GHz band and another in the 5GHz band). Each link may be associated with a different PHY layer and a lower MAC layer, as described with reference to fig. 4. In such implementations, management of the aggregation of the separate communication links 120 may be performed at a higher MAC layer. The multilink aggregation implemented at the lower MAC layer and PHY layer may be transparent to the upper layers of the wireless device.
As another example, the multilink aggregation may be flow-based. In flow-based aggregation, each traffic flow (e.g., all traffic associated with a given TID) may be transmitted using one of a plurality of available communication links 120. As an example, a single STA 115 may access a web browser while streaming video in parallel. Traffic associated with web browser access may be communicated on a first channel of the first communication link 120, while traffic associated with a video stream may be communicated in parallel on a second channel of the second communication link 120 (e.g., at least some data may be communicated on the first channel concurrently with communicating data on the second channel). In some examples, transmissions on the first communication link 120 and the second communication link 120 may be synchronized. In other examples, these transmissions may be asynchronous. As described herein, these channels may belong to the same RF band or different RF bands. In the case of three communication links 120 (e.g., or other number of communication links greater than two), all three communication links 120 may support operation on the same RF band (e.g., all three in the 5GHz RF band). In other cases, two communication links 120 may support operation on the same RF band, but a third one is not (e.g., two links in the 5GHz RF band and one link in the 2.4GHz RF band). Alternatively, in still other cases, each of the three communication links 120 may support operation for separate RF bands. In some cases, flow-based aggregation may not use cross-link packet scheduling and reordering (e.g., it may be used to support packet-based aggregation). Alternatively, in the case of a single stream (e.g., in the case where the STA 115 simply attempts to access a web browser), the aggregate gain may not be available.
In other embodiments, a mixture of flow-based aggregation and packet-based aggregation may be employed. As an example, a device may employ flow-based aggregation in a context of creating multiple traffic flows, and may employ packet-based aggregation in other contexts. The decision to switch between multilink aggregation techniques (e.g., modes) may additionally or alternatively be based on other metrics (e.g., time of day, traffic load within the network, available battery power of the wireless device, etc.). It will be appreciated that while the foregoing aspects are described in the context of a multilink session involving two (or more) communication links 120, the concepts described may be extended to multilink sessions involving multiple direct wireless links 125.
To support the described multi-link aggregation techniques, the AP 105 and STA 115 may exchange supported aggregation capability information (e.g., supported aggregation types, supported bands, etc.). In some cases, the information exchange may be via a beacon signal, a Fast Initial Link Setup (FILS) discovery (FD) frame, a broadcast probe response frame, a probe request, an association request, a probe response, an association response, a dedicated action frame, an Operation Mode Indicator (OMI), and so forth. In some cases, the AP 105 may designate a given channel in a given frequency band as an anchor link (e.g., a wireless link over which the AP 105 transmits beacons and other management frames, such as FD frames, broadcast probe responses, probe requests or responses, (re) association requests or response frames), which may also be referred to as an anchor channel in some instances. In this case, the AP 105 may transmit beacons on other channels or links for discovery purposes (e.g., it may contain less information). Although described as frequency-based, the anchor link may additionally or alternatively be time-based and refer to a point in time (e.g., the AP 105 may transmit its beacon on one or more links during a certain time interval). In some examples, the anchor link may be a link 125 and may have a narrower bandwidth than another active link 125 in the multi-link session. The wider bandwidth link may be used to transmit data based on communications over the narrow anchor link 125. In some cases, a lower frequency band may be used as an alternative or supplement to a narrow bandwidth, and a higher frequency band may be used as an alternative or supplement to a wide bandwidth. For example, the anchor link 125 may be a 2.4GHz band, while data may be transmitted over a 5GHz band. The narrow bandwidth or low frequency band may provide increased reliability and better range than the wider bandwidth or higher frequency band.
To support the described multilink aggregation techniques, the AP 105 and STA 115 may exchange or advertise their ability to support certain types of aggregation. For example, the ability to support certain types of aggregation may include: whether each link 125 may have a different size or bandwidth, the maximum bandwidth that the AP 105 and/or STA 115 can support on a particular link 125 (e.g., based on 40MHz if the link is on a particular frequency band (such as 2.4 GHz), whether the AP 105 and/or STA 115 supports puncturing of the wideband to support multiple links, whether the AP 105 and/or STA 115 supports FD on multiple links, whether the AP 105 and/or STA 115 supports in-band aggregation, whether the AP 105 and/or STA 115 supports independent links (i.e., multi-master) or a common PPDU (i.e., single master). In some examples, the AP 105 and STA 115 may exchange or advertise their capabilities through management signaling. The management signaling may include management frames carrying Information Elements (IEs), such as High Throughput (HT) capability elements, very High Throughput (VHT) capability elements, high Efficiency (HE) capability elements, extended capability elements, or new elements, such as very high throughput (EHT) capability elements or multilink aggregation capability elements. If support for certain types of aggregation is dynamic, the AP 105 and STA 115 may exchange or advertise their capabilities through an operation element, such as an HT operation element, a VHT operation element, a HE operation element, an EHT operation element, or a new element, such as a multilink aggregation operation element. In some examples, a single management frame may carry multiple elements, e.g., both HE capability elements and HE operation elements. In other examples, such elements may be carried in separate management frames. In some examples, the AP 105 and STA 115 may exchange or advertise their multilink capabilities via new elements (such as multilink aggregation elements) or via existing elements (such as multiband aggregation elements).
In some examples, in multilink aggregation, each link may use its own transmit queue. In other examples, a common transmit queue may be used across links. In some examples, each link may have a unique Transmitter Address (TA) and Receiver Address (RA). In other examples, the TA and RA may be shared across multiple links for multi-link aggregation. In other examples, one or more of a Sequence Number (SN), a Frame Number (FN), and/or a Packet Number (PN) may be shared across the communication links. Other items that may be common across two or more of the links include: encryption keys, MAC Packet Data Unit (MPDU) generation, aggregate MAC Service Data Unit (AMSDU) constraint, segment size, reordering, replay checking, and/or de-segmentation (de-segmentation) techniques. In other examples, the encryption key may be per link.
In various examples, a Block Acknowledgement (BA) may be sent in response to the multi-link transmission. The BA may refer to Acknowledgements (ACKs) (e.g., ACKs for MPDU blocks) for a plurality of MPDUs transmitted together. The transmitting device (e.g., the device requesting the BA) and the receiving device (e.g., the device transmitting the BA) may establish a BA session (also referred to as a BA agreement) during the setup phase, negotiating an agreement on terms and capabilities of the BA session (e.g., using an add BA request and response procedure). The transmitting device and the receiving device may exchange capability information, such as BA size, buffer size, window size (e.g., sliding window), and/or policy, and then agree on common parameters for use by each of the receiving device and the transmitting device. The BA agreement may be later revoked (e.g., using a delete BA (DELLA) request).
Both the transmitting device and the receiving device may maintain a sliding window (e.g., BA window), and may have previously negotiated the size of the BA. For example, the BA session may have a BA size of 64 MPDUs (e.g., other BA size examples may include 256 MPDUs, 1024 MPDUs, etc.). In such a scenario, the transmitting device may transmit 64 MPDUs followed by a Block Acknowledgement Request (BAR). In response to the BAR, the receiver device may transmit a BA to the transmitter device upon receiving the 64 MPDUs and the BAR. The BA may indicate whether all 64 MPDUs were received correctly, which MPDUs were missing, etc. In some cases, the BA may be used to indicate a longer BA window, or a capability exchange or agreement defining a longer BA window may also be sent. In other examples, a single SN may be used, but with multiple scoreboards (e.g., one scoreboard per channel or link), or with a common global scoreboard and scoreboard per link. Multilink aggregation (e.g., flow-based and/or packet-based) can increase network capacity by efficiently allocating utilization of multiple links (and multiple channels).
Fig. 2 illustrates an example of a WLAN 200 supporting a packet-based link aggregation architecture in accordance with aspects of the present disclosure. In some examples, WLAN 200 may implement aspects of WLAN 100. The wireless connection between the AP 105-a and the STA 115-a may be referred to as a link 205 or a communication link, and each link 205 may include one or more channels. As an example, WLAN 200 may support multilink aggregation so that AP 105-a and STA 115-a may communicate in parallel over two or more links (e.g., link 205-a and link 205-b). Thus, STA 115-a may receive packets (e.g., MPDUs) from AP 105-a over both link 205-a and link 205-b. Such parallel communications 210-a and 210-b on the two or more links may be synchronous or asynchronous, and may be uplink, or downlink, or a combination of uplink and downlink (e.g., full duplex) during a particular time duration. In an example of a full duplex configuration, one or more links may be used for uplink transmission, while during the same time, one or more links may be used for downlink transmission. As described herein, parallel communications 210-a and 210-b over the two or more links 205-a and 205-b may occur between two STAs 115 (e.g., which may be referred to as side-link communications) without departing from the scope of the present disclosure.
Such multi-link aggregation may provide a number of benefits to WLAN 200. For example, multi-link aggregation may improve UPT (e.g., by quickly refreshing per-user transmit queues). Similarly, multilink aggregation may improve the throughput of WLAN 200 by improving the utilization of the available channels (e.g., by increasing cluster gain). That is, multilink aggregation may increase spectrum utilization and may increase bandwidth-time product. Networks that do not support multilink aggregation may experience spectrum underutilization under non-uniform (e.g., bursty) traffic conditions. For example, the communication load on a given link 205 (e.g., link 205-a) may be low at any particular time, while the demand on another link 205 (e.g., link 205-b) may be high. By allowing a single traffic stream (e.g., a single Internet Protocol (IP) stream) to span different links 205, the overall capacity of the network may be increased.
Furthermore, multilink aggregation may enable smooth transitions between multiband radios (e.g., where each radio may be associated with a given RF band) and/or enable a framework for setting separation of control channels from data channels. Other benefits of multilink aggregation include reduced modem turn-on times, which may benefit wireless devices in terms of power consumption, but in some cases the resulting power saving gain may depend on other factors including processing requirements, RF bandwidth, etc. In the case of a single BSS, multilink aggregation also increases multiplexing opportunities. That is, the multilink aggregation may increase the number of users per multiplexed transmission served by the multilink AP 105-a.
In some cases, the multilink aggregation may be supported (including initiating) by signaling between the STA 115-a and the AP 105-a (or peer STA 115). As an example, STA 115-a may indicate to AP 105-a (or peer STA 115) whether it supports multi-link aggregation. For example, STA 115-a may indicate that it generally supports multi-link aggregation for a particular RF band, link 205 for a given RF band, and so on. Such signaling may be static (e.g., in the form of beacons, FD frames, probe, association or re-association frames, etc.), semi-static, or dynamic (e.g., via OMI or other similar operating parameters). In some cases, the AP 105-a (e.g., or peer STA 115) may decide whether to aggregate communications with STA 115-a based at least in part on the capabilities advertised by STA 115-a.
However, multilink aggregation may also have implementation challenges. For example, packets may be transmitted and/or received out of order across different links, a given link may experience degraded communication conditions (e.g., frequency-dependent fading, etc.) relative to another link in each aggregated link for a certain time duration, a given link or a channel of the link may experience high traffic for a certain time duration, and so on. The aggregation architecture discussed herein may address various implementation challenges.
In some example aggregation architectures, all TIDs (e.g., or flow IDs, or frame types) may be aggregated over links 205-a and 205-b (e.g., this may be an example of packet-based aggregation). That is, parallel communications 210-a and 210-b may each have at least one packet with a common TID. Packet-based aggregation may provide improvements in UPT and overall throughput (e.g., even for the case of a single traffic flow). In some cases, links 205-a and 205-b may have independent PHY and lower MAC operations (e.g., CSMA), while aggregation is performed at a higher MAC layer (e.g., as described further below).
In a first example of such an aggregation architecture, packet-based aggregation may be supported through the use of per-link transmit queues. That is, link 205-a may be associated with a first transmit queue at a transmitting device (such as STA 115-a) and link 205-b may be associated with a second transmit queue at STA 115-a. A packet controller (e.g., which may be located at a higher MAC layer, as described with reference to fig. 4) may assign MAC Service Data Units (MSDUs) to transmit queues for a given link 205. Aspects of the transmit queues per link are discussed further with reference to fig. 5.
In a second example of a packet-based aggregation architecture, aggregation may be supported by using a transmit queue that is common to links 205-a and 205-b. In some cases, the transmit queue may be common to all links 205 (e.g., links 205-a and 205-b may be the only aggregate links 205), or may be common to a subset of the aggregate links 205 (e.g., there may be a third link 205 associated with its own transmit queue per link). MSDUs may be dynamically allocated to each lower MAC layer from a common transmit queue, as described with reference to fig. 6.
In another example of packet-based aggregation, aspects of the shared and per-link transmit queue architecture may be combined. For example, such an aggregation architecture may introduce two sets of ordering numbers. That is, each MSDU may have both a common SN and an SN per link, as described with reference to fig. 7 and 8. In another example aggregation architecture, aggregation may be supported on non-co-located APs 105, aspects of which are described with reference to fig. 9A and 9B.
In some cases, the aggregation architecture may include a single primary channel or multiple primary channels. The single primary channel architecture may include a dependency between two links (e.g., link 205-a and link 205-b). For example, in a single primary scheme, the link 205-a may include a primary channel in which contention, backoff, and NAV are performed. The primary channel may perform Power Detection (PD). Power detection may be used to monitor whether a desired spectral band is being used by another device in WLAN 200. Additionally, once the PD is above a threshold (e.g., the band is clear), a second link (e.g., link 205-b) may be used to perform Energy Detection (ED) to monitor whether neighboring traffic would interfere with the link. If the energy detection is below a threshold (e.g., there is no significant interference), then synchronous aggregate communications may begin on both links 205-a and 205-b. If the PD indicates that the primary link is clear, but the ED indicates that the secondary link is busy, communications may not be aggregated across both links. In some examples, the primary channel may be static (e.g., always link 205-a) or the primary channel may float (e.g., the primary channel may dynamically switch between link 205-a and link 205-b). In contrast, multiple primary channels may contend for access to each link (e.g., links 205-a and 205-b) independently of each other. For example, a separate NAV may be performed on each link.
According to various aspects of the present disclosure, when parallel communications 210-a and 210-b are a combination of uplink and downlink during a particular time duration, this may be referred to herein as multi-link full duplex. For example, a full duplex capable STA115-a may transmit uplink and receive downlink simultaneously. Thus, there may be no contention between the uplink and downlink of STA 115-a. In some cases, the STA115-a may still contend for each link with other STAs (e.g., contend for links 205-a and 205-b independently or jointly). If both devices (e.g., STA115-a and AP 105-a) communicating via multiple links are full duplex capable, the communications 210-a and 210-b do not compete with each other. For example, communication 210-a may be a downlink data transmission and communication 210-b may be a response (e.g., an acknowledgement) to communication 210-a.
In some examples, parallel communications 210-a and 210-b are a combination of uplink and downlink on a single link (e.g., link 205-a) during a particular time duration, which may be referred to herein as full duplex on a single link. For example, full duplex capable STAs 115-a may transmit uplink and receive downlink simultaneously on a single link (e.g., link 205-a). In some cases, when a single link is using full duplex, it may appear to operate as two links due to uplink and downlink transmissions being made simultaneously. Full duplex on a single link may include each duplex link utilizing an entire operating bandwidth or on different sub-channels, or using different resource units within the operating bandwidth, e.g., depending on the radio frequency filtering capabilities of one or more wireless devices. In particular, where each wireless device has relatively better radio frequency filtering, the resources (e.g., subchannels or resource units) for the uplink may be closer together (or overlap) in frequency than the resources (e.g., subchannels or resource units) for the downlink transmission, while for relatively less efficient or less efficient radio frequency filtering, a more distant frequency interval may be required.
In some cases, parallel communications may be synchronized. For example, the AP105-a may coordinate the target latency to synchronize uplink transmissions and downlink transmissions of the full duplex communication. Such synchronization of parallel communications may be across links and may include offsets of communications on different links or the communications may overlap. For example, communications 210-a and 210-b may overlap in time. In situations where communication 210-a may be a downlink data transmission and communication 210-b may be a response (e.g., an acknowledgement) to communication 210-a, overlapping communications may provide a real-time feedback scheme. In some cases, feedback may be performed using a smaller link (which may also be referred to as a narrow link) to provide reliable transmission as well as extended transmission range.
According to various examples, if the AP105-a wins access to the link 205-a and the link 205-b, the AP105-a may transmit a downlink to the STA 115-a on the link 205-a while also transmitting a trigger frame or reverse direction grant on the link 205-b, which allows the STA 115-a to transmit an uplink (e.g., data and/or feedback) on the link 115-a. The AP105-a may adapt the transmission parameters on the link 205-a based on feedback from the STA 115-a on the link 205-b. In some full duplex cases, link 205-b may provide feedback (e.g., real-time feedback) (e.g., acknowledgement or Modulation Coding Scheme (MCS) and/or spatial stream (Nss) selection, etc.) for link 205-a while data is being transmitted on link 205-a (or during at least some of the same time). Thus, the link 205-a transmission parameters (e.g., MCS and/or Nss selection) may be quickly adapted based on real-time feedback received from the link 205-b. In some examples, link 205-b may have a smaller bandwidth than link 205-a and may be used for real-time feedback. Additionally or alternatively, the AP105-a may use a multi-link session to communicate with multiple STAs. For example, if the AP105-a wins access to a first link (e.g., in the 5GHz band) and a second link (e.g., in the 6GHz band), the AP105-a may transmit a downlink to the first station on the first link and a downlink to the second station on the second link. In another example, if the AP105-a wins access to a first link (e.g., in the 5GHz band) and a second link (e.g., in the 6GHz band), the AP105-a may transmit a trigger frame or an opposite grant to the first station over the first link and a trigger frame or an opposite grant to the second station over the second link. In yet another example, if the AP105-a wins access to a first link (e.g., in the 5GHz band) and a second link (e.g., in the 6GHz band), the AP105-a may transmit a trigger frame or the reverse direction to the first station on the first link and a downlink to the second station on the second link. In one or more of the above examples, the trigger frame or the reverse direction grant may be aggregated with the downlink from the AP 105-a.
Fig. 3 illustrates a process flow 300 supporting a packet-based link aggregation architecture in accordance with aspects of the disclosure. The process flow 300 may implement aspects of the WLAN 100. For example, the process flow 300 includes a wireless device 305-a and a wireless device 305-b, each of which may be an example of the STA115 or AP 105 described with reference to the WLAN 100.
At 310, the wireless device 305-a may identify its current aggregation capability. For example, in some cases, the aggregate capabilities may be dynamically or semi-statically determined (e.g., based on power level, communication load, interference metrics, location, etc.). Alternatively, in some cases, the aggregation capability may be preconfigured, in which case the wireless device 305-a may still be referred to as identifying its current aggregation capability. Examples of aggregate capability information include: one or more RF bands over which aggregation is supported, a maximum number of supported aggregation links, an aggregation type (e.g., packet-based or flow-based), a time duration over which the wireless device 305-a is willing to aggregate communications, etc.
At 315, the wireless device 305-a may optionally transmit an aggregate capability request to one or more neighboring wireless devices 305-b. For example, the wireless device 305-a may be the STA115 that queries the nearby APs 105 (e.g., or other STAs 115) for the aggregation capability. Alternatively, the wireless device 305-a may be the AP 105, which queries the STA115 for aggregation capabilities. Examples of aggregate capability requests may include: probe requests, association requests, special action frames, control fields in frames (e.g., high Efficiency (HE) control fields), etc. In some cases, the aggregate capability request may include a time duration that the wireless device 305-a wants to participate in an aggregate communication (e.g., in a multi-link session). That is, in some cases, the wireless device 305-a may include its own aggregated capability information in the request for the aggregated capability information of the wireless device 305-b.
At 320, the wireless device 305-b may transmit its own aggregated capability information. In some cases, the transmission may be in response to receiving the aggregate capability request at 315. Examples of such transmissions include: probe response, association response, special action frame, HE control field, etc. Alternatively, in some cases, the wireless device 305-b may transmit its own aggregated capability independent of receiving the aggregated capability request (e.g., the wireless device 305-b may advertise its aggregated capability). For example, the wireless device 305-b may identify its own aggregation capability (e.g., similar to 310 discussed with reference to the wireless device 305-a) and may broadcast the information (e.g., via a beacon, FD frame, or broadcast probe response frame). Examples of aggregate capability information include: aggregation type (e.g., based on packets), link identification information (e.g., TA, RA, TID, etc.), receive queue size, BA bitmap size, an indication of support for the segment, or a combination of these (e.g., < TA, RA, TID > tuple, < TA, RA > tuple, etc.). In some cases, the aggregation capability information may indicate a duration for which the wireless device 305-b is willing to aggregate communications.
At 325, wireless device 305-a and wireless device 305-b may establish a multilink session. In some cases, a first wireless link of a multi-link session may be in a first RF band (e.g., a 2.4GHz band) having a first path loss value, while a second wireless link of the multi-link session may be in a second RF band (e.g., a 5GHz band, a 6GHz band, or a 60GHz band) having a second path loss value that is greater than the first path loss value. Alternatively, in some cases, the first and second wireless links may be located in the same RF band. In some examples, at least one link of the multi-link session may include a channel in a shared RF spectrum band. During a multilink session, a first set of packets may be sent via a first wireless link and a second set of packets may be sent via a second wireless link. For example, the first set of packets and the second set of packets (e.g., or some subset thereof) may be associated with the same TID (e.g., in the case of packet-based aggregation). Additionally or alternatively, a first set of packets may be associated with a first TID, while a second set of packets may be associated with a second TID (e.g., in the case of flow-based aggregation).
In some cases, the first wireless link of the multi-link session may be a first size (e.g., 320MHz link or 80MHz link) and the second wireless link of the multi-link session may be a second size (e.g., 20MHz link, 80MHz link or 40MHz link). Thus, the first and second wireless links may be the same size, or may be different sizes. If the first and second wireless links are different sizes (e.g., 320MHz first link and 20MHz second link), the smaller link (e.g., 20MHz link) may be used for management frames (e.g., beacons, FD frames, broadcast probe response frames), as anchor points (e.g., to transmit control information), as feedback (e.g., real-time feedback such as acknowledgements or Modulation Coding Schemes (MCSs) and/or spatial stream (Nss) selections), as short frames, or as control response frames (e.g., acknowledgements). Smaller links may be more reliable and of greater range than larger links, but larger links may achieve greater throughput than smaller links. In some cases, the STA may use a smaller link during discovery and association before operation is extended to other links (e.g., larger links). In addition, the size of each link may be flexible or dynamic (e.g., based on available bandwidth, adjacent traffic). A change in link size may be explicitly signaled between wireless device 305-a and wireless device 305-b. In some cases, the two links may operate using full duplex.
Interference may be more likely to occur in a wide link (e.g., 320MHz link) than in a small link (e.g., 20MHz link) because the probability of communication between other devices is higher than the probability of communication between wireless device 305-a and wireless device 305-b over at least a portion of the wide link. Accordingly, wide links may be punctured resulting in disjoint or non-contiguous resource segments. A wireless link may span one or more non-contiguous or disjoint frequency segments (e.g., in a 320MHz link, two segments may be separated by 20MHz of unused bandwidth). Additionally or alternatively, 320MHz links may be contiguous, but overlap portions of multiple bands (e.g., covering portions of the lower 6GHz band and the upper 5GHz band). In a particular frequency band, a multi-link session may aggregate communications across contiguous resources, non-contiguous resources, or both. In some cases, different resource unit segments in the wide bandwidth may act as separate links between wireless device 305-a and wireless device 305-b (which may be, for example, peer devices).
In some cases, the wireless device 305-a (e.g., or the wireless device 305-b) may identify a transmission type of the set of packets to be transmitted, wherein the transmission type includes one of broadcast, multicast, or unicast; and determining a radio link for the packets based on the transmission type. Similarly, the wireless device 305-a may allocate data frames to a first wireless link and management (e.g., control) frames to a second wireless link. That is, the wireless device 305-a (e.g., or wireless device 305-b) may identify a frame type of the set of packets to be transmitted, wherein the frame type includes data, control, or management; and transmitting the set of packets over the given wireless link according to the identified frame type. As an example, broadcast streams, multicast streams, and/or control frames may be aggregated over links (e.g., 2.4GHz and 900MHz links) that all recipient devices may close. In some cases, the wireless device 305 may select a set of aggregatable wireless devices (e.g., the AP 105) within range under the same controller, as further described with reference to fig. 9A and 9B.
Fig. 4 illustrates an example layer configuration 400 supporting a packet-based link aggregation architecture in accordance with aspects of the present disclosure. The layer configuration 400 may be applied to the STA 115 or AP 105 and used for transmitting wireless devices or receiving wireless devices. It will be appreciated that aspects of layer configuration 400 may represent a logical structure (e.g., such that components of layer configuration 400 may share hardware components). The wireless device may support the layer configuration 400 using the various hardware configurations described herein.
As illustrated, the layer configuration 400 may include an upper layer 405, a MAC layer 410, and one or more PHY layers 435 (e.g., where each PHY layer 435 may be associated with a respective link or channel in some cases). The MAC layer 410 may be further divided into a higher MAC layer 415 and lower MAC layers 425-a, 425-b, and 425-c. Although three lower MAC layers 425 are illustrated, it will be appreciated that the higher MAC layer 415 may control (e.g., via the multi-link aggregation controller 420) any suitable number of lower MAC layers 425. Signaling between a given lower MAC (e.g., lower MAC layer 425-a) and higher MAC layer 415 may be carried by connection 445. Similarly, signaling between the lower MAC layer 425-a and the PHY layer 435-a may be carried by the connection 450 and signaling between the lower MAC layer 425-a and the lower MAC layer 425-b may be carried by the connection 440. As described herein, the signaling for the lower MAC 425-a, lower MAC layer 425-b, and lower MAC layer 425-c may be based on logic associated with the respective controllers 430-a, 430-b, and 430-c.
Referring to fig. 2, a lower MAC layer 425-a may be associated with link 205-a (e.g., via PHY layer 435-a), for example, and a lower MAC layer 425-b may be associated with link 205-b (e.g., via PHY layer 435-b), for example. That is, each link 205 may have an associated lower MAC layer 425 that performs link-specific features (e.g., channel access, UL triggered transmission procedure, multiple Input Multiple Output (MIMO) signaling, etc.). For example, the lower MAC layer 425-a and the lower MAC layer 425-b may independently perform Enhanced Distributed Channel Access (EDCA) countdown on the respective links 205-a and 205-b. Additionally or alternatively, the lower MAC layer 425 may perform an RTS/CTS procedure, perform a Clear Channel Assessment (CCA) procedure, apply a Modulation and Coding Scheme (MCS), control a Physical Packet Data Unit (PPDU) duration, transmit sounding reference signals, and so forth.
The higher MAC layer 415 may provide a single link interface to the upper layer 405. For example, the higher MAC layer 415 may perform management and security related operations. Such a design may allow a single beacon from the AP 105 on the primary band to control the multi-band STA 115. Additionally or alternatively, a single higher MAC layer 415 may allow a single association procedure to initiate a multi-link session. For example, the association procedure may be performed using a single link, but provide capability information about multiple links (which may include the link being used for the association procedure). In some cases, the higher MAC layer 415 may provide signaling (e.g., OMI signaling) that allows dynamic bandwidth control (e.g., expansion). Additionally or alternatively, the higher MAC layer 415 may provide a single BA space (e.g., a single BA scoreboard and sequence space) such that MPDUs may be dynamically scheduled on a per PPDU basis for each link (e.g., such that a given MPDU may be retransmitted on a different link than the link on which the MPDU was originally transmitted).
Fig. 5 illustrates an example of a communication scheme 500 supporting a packet-based link aggregation architecture in accordance with aspects of the disclosure. In some examples, communication scheme 500 may implement aspects of WLAN 100. For example, the communication scheme 500 may be implemented between a transmitting wireless device 545-a (e.g., STA 115 or AP 105) and a receiving wireless device 545-b (e.g., STA 115 or AP 105). While described in the context of a single transmitting device and a single receiving device, it will be appreciated that the following aspects may extend to communication with a non-co-located AP 105. Communication scheme 500 illustrates a packet-based transmit queue per link aggregation architecture.
The higher MAC 510 (which may be, for example, the example of the higher MAC 415 described with reference to fig. 4) may receive application data 505 as input. The higher MAC 510 may assign MSDUs to transmit queue 515-a and transmit queue 515-b. In some cases, the size of the allocated MSDUs may be determined dynamically (e.g., proportional to the throughput of a given link 525). Additionally or alternatively, the number of MSDUs allocated to a given link 525 may be a function of the quality of communication over that link 525 (e.g., such that links 525 that suffer from degradation in quality of communication may be allocated to fewer and/or smaller MSDUs in some cases). In some cases, the operations of the higher MAC 510 may be performed by a network controller, and each transmit queue 515 may be associated with a respective AP 105 (e.g., as described with reference to fig. 9A and 9B).
Each transmit queue 515 may be associated with a respective lower transmit (Tx) MAC 520 (e.g., which may be an example of a lower MAC 425 described with reference to fig. 4 or implementing aspects of the lower MAC 425). In some cases, lower Tx MAC 520-a and lower Tx MAC 520-b may communicate control signaling directly via connection 540 (which may be, for example, an example of connection 440 described with reference to fig. 4). For example, such control signaling may enable coordination of transmissions across links 525-a and 525-b (e.g., which may be used to reduce adjacent channel interference or otherwise benefit such communications). Each lower Tx MAC 520 may form MPDUs from the allocated MSDUs and transmit them on the corresponding link 525 (e.g., using CSMA).
The recipient device may include a lower receive (Rx) MAC 530-a and a lower Rx MAC 530-b, each of which may likewise be examples of the lower MAC 425 described with reference to fig. 4. Each of the lower Rx MAC 530-a and lower Rx MAC 530-b may forward the decoded MPDUs to the common receive queue 535. In some cases, the MPDUs may be reordered upon arrival at the common receive queue 535. The BAs may be sent per link 525 after each received PPDU based on the results in the common receive queue 535. Each transmit queue 515 may remove any successfully received MSDUs from the queue based on the BAs received on the corresponding link 525.
Fig. 6 illustrates an example of a communication scheme 600 supporting a packet-based link aggregation architecture in accordance with aspects of the disclosure. In some examples, communication scheme 600 may implement aspects of WLAN 100. For example, the communication scheme 600 may be implemented between a transmitting wireless device 655-a (e.g., STA 115 or AP 105) and a receiving wireless device 655-b (e.g., STA 115 or AP 105). Although described in the context of a single transmitting device and a single receiving device, it will be appreciated that the following aspects may extend to communication with non-co-located APs 105 (non-co-located APs 105). Communication scheme 600 illustrates a packet-based common transmit queue aggregation architecture.
In the example illustrated by the communication scheme 600, the higher MAC 610 (e.g., which may be the example of the higher MAC 415 described with reference to fig. 4) may receive application data 605 as input (e.g., in the form of an MSDU). In some cases, higher MAC 610 may attach a common SN to MSDUs at 615 and assign these MSDUs to a common transmit queue 620. In some cases, these MSDUs may be encrypted at 625 before being allocated from the common transmit queue 620 to one of the lower Tx MAC 630-a or the lower Tx MAC 630-b (e.g., they may each be an example of the lower MAC 425 described with reference to fig. 4 or implementing aspects thereof). In some examples, the transmitting device may include a plurality of common transmit queues 620, each of which is associated with a given access class. Alternatively, all access categories may share a single common transmit queue 620.
In aspects of communication scheme 600, packets associated with one or more traffic flows (packets per TID of a multi-link session) may be assigned to a common transmit queue 620 (i.e., a transmit queue common across all links 635) after being assigned a common SN at 615. Such an architecture may support on-demand MSDU allocation, where an MSDU is allocated to a given link 635 when that link is ready for transmission. As an example, when link 635-a is clear for transmission (e.g., as determined by a CCA procedure performed by lower Tx MAC 630-a), lower Tx MAC 630-a may receive enough (a) MSDUs from common transmit queue 620 to form an Aggregate MPDU (AMPDU).
In some cases, the lower Tx MAC 630-a and the lower Tx MAC 630-b may communicate control signaling. For example, such control signaling may enable coordination of transmissions across links 635-a and 635-b (e.g., which may be used to reduce adjacent channel interference or otherwise benefit such communications). Each lower Tx MAC 630 may form AMPDUs from the allocated MSDUs and transmit them on a corresponding link 635 (e.g., using CSMA).
The recipient device may include a lower Rx MAC 640-a and a lower Rx MAC 640-b, each of which may likewise be an example of a lower MAC 425 described with reference to fig. 4. Each of the lower Rx MAC 640-a and lower Rx MAC 640-b may forward the decoded MPDUs to a common receive queue 650. In some cases, the MPDUs may be reordered upon arrival at the common receive queue 650. The BAs may be sent per link 635 after each received PPDU based on the results in the common receive queue 650. Additionally or alternatively, a single BA may be sent back for both links 635 via a dedicated link (e.g., via an anchor link). After receiving the BA, the common transmit queue 620 may remove the acknowledged MSDU from the transmit buffer. Any failed (a) MSDUs may be retransmitted (e.g., on the same link 635 or another link 635), where such retransmissions may be immediate in some cases.
Communication scheme 600 may avoid MSDUs getting stuck in the transmit queue due to pre-allocation to given link 635. For example, if an MSDU set is pre-assigned to link 635-a and link 635-a suddenly suffers from a high Packet Error Rate (PER), a gap may be created in common receive queue 650, which may delay delivery of packets received after the gap (e.g., because corrupted packets may have to be retransmitted).
In some cases, multilink aggregation may additionally improve transmission reliability. Various schemes (e.g., or combinations thereof) may be employed for this purpose. For example, because broadcast communications are not acknowledged, they may be replicated across multiple links 635 in some situations. Additionally or alternatively, unicast traffic may be replicated over multiple links 635. For example, the same MPDU may be transmitted on link 635-a (which may be a 2.4GHz link, for example) and link 635-b (which may be a 5GHz link, for example). Because the BA is handled at the higher MAC 610 at the transmitting device, the MPDU may be considered to be successfully transmitted if it is delivered via one of the links 635. Such transmission schemes may take advantage of the fact that each RF band is associated with a different frequency band and radio characteristics. For example, higher RF bands typically have shorter transmission ranges (e.g., experience a greater degree of frequency-dependent degradation). Additionally or alternatively, each recipient device may experience different link conditions for each aggregated link (e.g., due to communication obstructions, movement of the recipient device during communication, etc.). These varying communication conditions can be exploited to improve transmission reliability.
As an example, in some cases, encryption at 625 may include applying encoding to the streams to be transmitted by the transmitting wireless device 655-a over these links, which may help improve reliability by enabling the receiving wireless device 655-b to decode the communication even if the receiving wireless device 655-b successfully receives only a subset of the streams. For example, the transmitting wireless device 655-a may replicate some or all of the packets to be transmitted over these links. In some examples, the original packet and the duplicate packet may be transmitted on the same wireless link 635 (e.g., the two sets of packets are transmitted on wireless link 635-a). In other examples, the original packet and the duplicate packet may be sent on different wireless links 635 (e.g., the original set of packets sent on wireless link 635-a and the duplicate set of packets sent on wireless link 635-b). In some examples, a combination of these approaches may be used, including transmitting the original packet and the duplicate packet on three or more different links. The wireless link 635 used may also be dynamically changed, for example, to account for changing link conditions.
Additionally or alternatively, transmission reliability may be improved by applying coding algorithms that increase the entropy of the data stream to enable decoding of the transmission even if only a subset of the transmitted data packets are received. As an example, a data stream comprising N bits of information may be encoded into a data stream comprising n+k bits, and the n+k bits may be formatted into a set of packets such that: even if only a subset of these packets were successfully received, the N bits of information may be decoded. For example, the encoding engine (e.g., implementing a Raptor code or other fountain code) after each TID queue (e.g., in the case of communication scheme 500) or common transmit queue 620 may increase the entropy of the data stream that may be formatted and transmitted across multiple links 635. Such a communication scheme may allow the recipient to reconstruct the original message even if only a portion of the packet stream is received. For example, if one link 635 suffers a temporary drop in communication quality such that packets transmitted during that time cannot be successfully received, the recipient device may still successfully decode the transmitted information based on packets received on the other link 635.
In some cases, the use of various encoding operations discussed herein may be supported through signaling between communication devices. For example, the transmitting device may indicate the encoding parameters (e.g., N, k, n+k, etc.) used to generate the encrypted packet. In some cases, these encoding parameters may be determined based at least in part on observed channel conditions. For example, in difficult communication conditions, the transmitting wireless device 655-a may select a more robust coding scheme (e.g., may increase k) or otherwise alter the data distribution across links 635 to improve transmission reliability (e.g., may allocate more data packets to links experiencing better channel conditions). In some examples, these encoding parameters may be signaled (e.g., via OMI) to allow dynamic adaptation. Additionally or alternatively, these encoding parameters may in some cases be indicated via control or management frames (e.g., beacons), where the AP indicates the encoding parameters it supports for aggregated communications. In some cases, these encoding parameters may be indicated directly (e.g., N may be indicated in a bit flag) or may be indicated by other means or implicitly (such as by reference to a lookup table). Additionally or alternatively, the wireless device may be able to determine these encoding parameters (e.g., based on channel conditions indicated by the OMI).
Some wireless systems may support a link-hopping (link-hopping) format in which transmissions on a particular link 635 are based on pseudo-random sequences that are well known to both the sender and the receiver. For example, the pseudo-random sequence may be known to a particular system (e.g., may be pre-configured), may be agreed upon during association, and so forth. Band-hopping (e.g., as a complement to fountain codes) can help make the system more robust to packet loss. Additionally or alternatively, the hopping band may extend use across several channels, thereby allowing several transmit/receive pairs to use the same RF band at the same time without excessive interference (e.g., multiplexing opportunities may be increased). The hop bands may be within a particular link or may occur across two or more links.
Fig. 7 illustrates an example of a communication scheme 700 supporting a packet-based link aggregation architecture in accordance with aspects of the disclosure. In some examples, communication scheme 700 may implement aspects of WLAN 100. For example, the communication scheme 700 may be implemented between a transmitting wireless device 735-a (e.g., STA 115 or AP 105) and a receiving wireless device 735-b (e.g., STA 115 or AP 105). While described in the context of a single transmitting device and a single receiving device, it will be appreciated that the following aspects may extend to communication with a non-co-located AP 105. Communication scheme 700 illustrates aspects of an aggregation architecture based on multiple sequence numbers. The aggregation architecture introduces two sets of packet sequence numbers. The operations required across all links 720 are based on a common SN, while per-link operations are based on per-link SNs. The common and/or per-link SN may be signaled using the techniques described with reference to fig. 8 (e.g., using over-the-air signaling per MPDU).
At the transmitting wireless device, shim 710 may assign a common SN to application data 705 (e.g., data messages received from an application layer or other higher layers, such as would be formatted into a number of MSDUs). For example, the operations of shim 710 may be performed by the higher MAC described herein. After assigning the common SN, shim 710 may allocate a packet to one of lower Tx MAC 715-a or lower Tx MAC 715-b. Each lower Tx MAC 715 may allocate a per-link SN for the allocated MSDUs and process the MSDUs independently of another lower Tx MAC 715. For example, a packet illustrated as "5 (3)" may have a common SN of 5 assigned by the shim 710 and a per-link SN of 3 assigned by the lower Tx MAC 715-a. These packets may be transmitted across the respective links 720-a and 720-b before being received by the lower Rx MAC 725-a and the lower Rx MAC 725-b. These lower Rx MACs 725 may feed received packets to the shim 730, which shim 730 may reorder packets from different links based on a common SN. In aspects, the BA procedure and per-link reordering may be based on the per-link SN.
More generally, shim 710 and each lower Tx MAC 715 may have a different set of sequence numbers (e.g., as may be used for the segmentation and encryption process of communication scheme 700 as well). For example, the set may include an MSDU SN, an MSDU Fragment Number (FN), and an MPDU Packet Number (PN). Operations at shim 710 (e.g., and shim 730) may be based on common SNs, FNs, and PNs across links 720. For example, on the receiver side, the shim 730 may reorder the decoded MPDUs based on the common SNs and FNs, may perform replay checking based on the common PNs, and may perform de-fragmentation based on the common SNs and FNs. Operations at the lower Tx MAC 715 (e.g., and lower Rx MAC 725) may be based on per-link SN, per-link FN, and per-link PN. For example, the BA procedure and per-link reordering at each lower Rx MAC 725 may be based on per-link SNs and FNs, while per-link encryption may be based on per-link PNs.
Fig. 8 illustrates an example of a transport format 800 supporting a packet-based link aggregation architecture in accordance with aspects of the present disclosure. In some examples, the transport format 800 may implement aspects of the WLAN 100. In some cases, transport format 800 may support aspects of communication scheme 500, communication scheme 600, and/or communication scheme 700.
In some wireless systems (e.g., systems supporting single link operation), a field may be defined in each MPDU for carrying a per-link sequence number. For example, the SN and FN may be included in the sequence control field, while the PN may be included in a counter mode cipher block chaining message authentication code protocol CCMP header. However, in the case of multiple SN-based aggregation (e.g., as described with reference to communication scheme 700), each MPDU may also carry a common sequence number (e.g., which will be used by a shim, such as shim 730). Various options for signaling a common SN are contemplated herein.
In general, the common SN may be signaled anywhere in the MPDU, or in the PPDU containing the MPDU. For example, the common SN may be included in a PPDU PHY header, MPDU MAC header, MPDU delimiter, packet extension field, and the like. In one example, a new control field (e.g., HE control field) may be introduced to carry a common SN per MPDU. For example, an HE common SN control field may be introduced in the MPDU header with subfields for carrying common SNs, FNs, and PNs.
Alternatively, the subframe header 805 may be modified to include a new common SN field 820, while the common FN and PN may be signaled in the new HE control field. Thus, transport format 800 illustrates subframe header 805 as including a Destination Address (DA) field 810 (which may also be referred to as a receiver address), a Sender Address (SA) field 815 (which may also be referred to as a sender address), a common SN field 820, and a length field 825. Transport format 800 additionally includes payload 830 (which may be, for example, an MSDU or a plurality of MSDUs received from an upper layer).
Fig. 9A illustrates an example of a network configuration 900 supporting a packet-based link aggregation architecture in accordance with aspects of the present disclosure. In some examples, network configuration 900 may implement aspects of WLAN 100. For example, the network configuration 900 may be implemented between one or more transmitting devices (e.g., STA 115 and/or AP 105) and one or more receiving devices (e.g., STA 115 and/or AP 105). The network configuration 900 illustrates aspects of an aggregation architecture in which a receiver device (e.g., STA 115-b) may concurrently receive traffic from multiple non-co-located APs 105 (e.g., AP 105-b and AP 105-c). These non-co-located APs 105, in turn, may be managed by one or more controllers 905 (e.g., controller 905-a) that distribute traffic across the APs 105.
As described with reference to fig. 3, each AP 105 may advertise (e.g., broadcast) its associated controller identifier and aggregation capability information. The STA 115-b may select a set of non-co-located aggregatable APs 105 (e.g., and controller 905) based on the advertised aggregation capability information. It will be appreciated that although the APs 105 are described as non-co-located in some examples, aspects of these examples may also be applicable to co-located APs 105.
The network configuration 900 illustrates an example in which the STA 115-b receives traffic concurrently from the AP 105-b and the AP 105-c. In some examples, AP 105-b is located remotely from AP 105-c. Alternatively, the AP 105-b and the AP 105-c may be co-located (e.g., may be separate radio heads of a wireless node, may be separate nodes connected via a substantially ideal (which may be assumed to be ideal) backhaul, etc.). The APs 105-b and 105-c may be managed by a controller 905-a that distributes traffic across the APs 105. That is, the controller 905-a may in some cases perform some operations of the higher MAC layer described herein (e.g., may allocate packets from a common transmit queue to one of the APs 105-b or 105-c). In some examples, the AP 105-b and/or the AP 105-c may further distribute packets across multiple available links (e.g., each AP 105 may include the higher MAC layer functionality described herein). In some cases, the controller 905-a may be another AP 105 (e.g., a remote node), or may be one of the APs 105 in the aggregate set (e.g., AP 105-b or AP 105-c).
Fig. 9B illustrates an example of a network configuration 950 supporting a packet-based link aggregation architecture in accordance with aspects of the disclosure. In some examples, the network configuration 950 may implement aspects of the WLAN 100. Aspects of network configuration 950 are similar to corresponding components of network configuration 900. For example, the network configuration 950 includes a plurality of APs 105 with which STAs 115 (e.g., STA 115-c) may communicate. Each AP 105 may be connected to one controller 905 (e.g., AP 105-d, AP 105-f, and AP 105-g) or to multiple controllers 905 (e.g., AP 105-e).
In some cases, the controller 905-b and the controller 905-c may have different aggregation capabilities. For example, they may support different aggregation types (e.g., controller 905-b may support both flow-based and packet-based aggregation, while controller 905-c may support only packet-based aggregation), may support different numbers of aggregatable links for a given type of aggregation (e.g., controller 905-b may support two parallel links for packet-based aggregation, while controller 905-c may support three parallel links for packet-based aggregation), may support different maximum aggregate throughput for a given type of aggregation, and so on. By way of example, the APs 105-d and 105-e may be managed by a controller 905-b that supports packet-based aggregation. Similarly, the APs 105-e, 105-f, and 105-g may be managed by a controller 905-c that supports flow-based aggregation. In this example, the AP 105-e may thus be able to support both packet-based aggregation and flow-based aggregation (e.g., by the fact that it is managed by both the controller 905-b and the controller 905-c).
In some examples, each AP 105 may support aggregation over different RF bands. For example, AP 105-d may support aggregation at 900MHz, AP 105-e may support aggregation at 2.4GHz, AP 105-f may support aggregation at 5GHz, and AP 105-g may support aggregation at 60 GHz. Such a configuration may support hierarchical distribution of APs 105 (e.g., because different RF bands support different communication ranges). That is, multiple APs 105 supporting aggregation at 60GHz may be deployed within the coverage area of a single AP 105 supporting aggregation at 900 MHz.
Each AP 105 may advertise aggregation capability information (e.g., in a broadcast transmission) to assist STAs 115 (e.g., STA 115-c) in selecting the AP 105. In some cases, the aggregate capability information may be transmitted in beacons, management frames, control frames, dedicated action frames, and the like (e.g., as described with reference to fig. 3). Examples of aggregation capability information that may be advertised by an AP 105 include an aggregation capability bit (e.g., a single bit indicating whether the AP 105 supports aggregation) and/or a list of connected controller identifiers (e.g., which may be the MAC address of the controller(s) 905 associated with the AP 105). For example, each controller identifier may include one or more of the following: the controller type (e.g., which may indicate whether the controller 905 is an AP 105 or a remote node), the supported aggregation type(s) (e.g., based on MAC level packets, based on MAC level flows, based on IP levels, based on transport levels, based on hypertext transfer protocol (HTTP) levels, etc.), the maximum number of supported links per aggregation type, the maximum supported throughput per aggregation type, any combination thereof, and so forth. As described with reference to fig. 3, the AP 105 may broadcast its aggregation capability information in some cases (e.g., as illustrated at 320), or may send its aggregation capability based on the received request (e.g., as illustrated at 315).
Based on the aggregation capability information, the STA 115-c may select a set of aggregatable APs 105 (e.g., AP 105-e and AP 105-f) within range of the same controller 905 (e.g., controller 905-c) that have the type of aggregation supported by the STA 115-c (e.g., flow-based aggregation or packet-based aggregation). In some cases, the set of aggregatable APs 105 may be selected under the constraint that the set size does not exceed the maximum number of supported links for the type of aggregation desired. For example, the controller 905-c may support a maximum of two aggregation links such that the STA 115-c is constrained from additionally aggregating communications with the AP 105-g.
Additionally or alternatively, each aggregation-capable AP 105 may broadcast aggregation capability information relative to the aggregation capabilities of neighboring APs 105 (e.g., to assist STA 115-c in selecting a set of aggregatable APs 105). For example, the AP 105-f may transmit beacons in the 5GHz band (e.g., on an anchor link), while the AP 105-g may operate in the 60GHz band and experience a correspondingly shorter communication range (e.g., or vice versa). The AP 105-f may include the aggregation capability information of the AP 105-g in its own beacon (e.g., may send its own aggregation capability information along with the aggregation capabilities of one or more neighboring APs 105 and the Target Beacon Transmission Time (TBTT). Upon receiving the aggregation capability information from the AP 105-f, the STA 115-c may search for beacons of neighboring aggregatable APs 105 (e.g., AP 105-g) operating under the same controller 905-c and having an aggregation type supported by the STA 115-c. Such operations may replace blind searches (which may be energy intensive or otherwise detrimental to STAs 115) for neighboring aggregatable APs 105.
Fig. 10 illustrates an example of a transmission scheme 1000 supporting a packet-based link aggregation architecture in accordance with aspects of the disclosure. In some examples, transmission scheme 1000 may implement aspects of WLAN 100. For example, the transmission scheme 1000 may be implemented between a transmitting device 1070 (e.g., STA 115 or AP 105) and a receiving device (e.g., STA 115 or AP 105). Although described in the context of a single transmitting device and a single receiving device, it will be appreciated that the following aspects may be extended to communication with a non-co-located AP 105, as described with reference to fig. 9A and 9B. Transmission scheme 1000 illustrates aspects of the packet-based common transmit queue aggregation architecture described with reference to fig. 6. It will be appreciated that aspects of the transmission scheme 1000 may also be applied to the packet-based transmit queue aggregation per link architecture described with reference to fig. 5.
The operations of transmission scheme 1000 include: generating common SNs, FNs, and PNs (across link 1065), negotiating common TAs and RAs, generating per-link PMDUs and MAC headers using common (e.g., or per-link) encryption keys, and determining AMSDU and MPDU lengths (e.g., based on the requirements of link 1065-a and link 1065-b).
In the example illustrated by transmission scheme 1000, a higher MAC 1010 (which may be, for example, the example of higher MAC 415 described with reference to fig. 4) may receive application data 1005 as input. In some cases, the higher MAC 1010 may attach the common SNs to the MSDUs at 1015 and assign these MSDUs to the higher common transmit queue 1020. In some cases, these MSDUs may be fragmented 1025 before being (e.g., dynamically) allocated from the upper common transmit queue 1020 to the lower common transmit queue 1030. Subsequently, the packet may be assigned to one of the lower Tx MAC 1035-a or the lower Tx MAC1035-b (e.g., they may each be an example of the lower MAC 425 described with reference to fig. 4 or implement aspects thereof). In some examples, a transmitting device may include a plurality of higher common transmit queues 1020 and a plurality of lower common transmit queues 1030, each of which is associated with a given access class. Alternatively, all access categories may share a single higher common transmit queue 1020 and a single lower common transmit queue 1030.
In some examples, transmission scheme 1000 may perform on-demand segmentation and packet allocation. For example, when link 1065 is ready for transmission (e.g., via a CCA procedure), the (a) MSDU from higher common transmit queue 1020 may be fragmented and passed to lower common transmit queue 1030 at 1025. In some cases, the segmentation at 1025 may be performed such that the data transferred to the lower common transmit queue 1030 meets the transmit opportunity (TXOP) of the available link 1065. These segments may be attached with shared FNs and PNs upon entering the lower shared transmit queue 1030 and assigned to the lower Tx MAC1035 corresponding to the available link 1065.
The lower Tx MAC 1035 may form a PPDU for transmission. For example, the lower Tx MAC 1035-a may replicate the lower common transmit queue 1030 in segmented form when the link 1065-a is available for transmission. That is, the lower Tx MAC 1035-a may replicate the common SN, FN, and PN associated with each segment and form a plaintext MPDU for each segment at 1040. The plaintext MPDU may, for example, include the common SN and FN in the MPDU header. At 1050, the MPDU may be further encrypted with the common PN in the CCMP header. In some cases, encryption may be followed by attachment of a Cyclic Redundancy Check (CRC) at 1055. Subsequently, at 1060, the MPDUs may be aggregated into AMPDUs, and a final PPDU may be created by adding PHY headers. The PPDU may then be transmitted (e.g., via CSMA) over link 1065-a. The lower Tx MAC 1035-b may perform a similar operation for transmissions on link 1065-b.
Various considerations are addressed by the operation of the transmission scheme 1000. For example, assigning a common SN at 1015 before assigning a packet to a given lower Tx MAC 1035 may support the replay check operation described with reference to fig. 11. The common SN may be in the form of an internal attribute in some cases, or may be a new field in the (a) MSDU. Similarly, performing segmentation at 1025 prior to allocation to the lower Tx MAC 1035 supports the various operations described herein. For example, a common PN (e.g., which may be in the form of an internal attribute, or (a) a new field in the MSDU) may have to be assigned after fragmentation, but should be common across links 1065 (e.g., because the PN should be incremented across MPDUs, regardless of which link 1065 carries the final PPDU). For example, assigning a PN after assigning to a given link 1065 may force the receiver device to perform a replay check per link 1065, which may reduce system throughput. In addition, if one of these links 1065 suddenly suffers from degraded communication quality, or if some of these segments cannot be accommodated in a TXOP (e.g., in which case they may have to be stored in a transmit queue per link for that communication link 1065), assigning a PN after assigning a packet to a given lower Tx MAC 1035 may in some cases result in throughput degradation. Similarly, assigning FNs (e.g., where the FNs may be in the form of internal attributes, or new fields) before assigning packets to a given link 1065 may perform the techniques described herein.
In some cases, a common TA and RA may be negotiated across all links 1065 for each aggregated TID. For example, such negotiations may support BA sessions per < TA, RA, TID > (e.g., where the symbol '< >' indicates a tuple). For example, the common TA and RA may be agreed upon during an aggregation setup, and/or may be based on a predefined configuration. Various options for selecting common TA and RA are included herein. For example, the communication device may use one original per link < TA, RA > for a given link 1065. Alternatively, the TA and RA may be generated as a function of certain inputs (e.g., original per link < TA, RA > for all aggregation links 1065). For example, the generation function may be based on negotiations or predefined rules. In some cases, the generating function may accept additional input, such as aggregating TIDs, and the like. As another option, the common TA and RA may be generated (e.g., during an aggregation setup) as random (e.g., or pseudo-random) numbers.
While negotiations of common TAs and RAs may support the operations described herein, the described techniques do not preclude selection of TAs and RAs per link. Similarly, transmission scheme 1000 may employ encryption keys that are common to all links 1065, or may employ encryption keys per link at 1050. For example, in the case of a common encryption key, the operation at 1050 may use a common temporary key (e.g., which may be issued from the higher MAC 1010). The common key identifier may be signaled in the CCMP header of the encrypted MPDU (e.g., to allow the receiving device to decrypt the MPDU using the same common temporary key). In the case of encryption keys per link, the encryption keys may be negotiated per link, which may increase the complexity of the transmission scheme 1000 in some cases.
It may be desirable to generate plaintext MPDUs at 1040 (e.g., after allocation of link 1065) because some MAC header fields may be link-specific so that they can only be determined after allocation. Examples of such fields include a Network Allocation Vector (NAV) field, an HE link adaptation field, a power headroom report field, and the like. As described above, to support MPDU generation at the lower Tx MAC 1035, the lower common transmit queue 1030 may down (a) the MSDU fragments together with their associated common SNs, FNs, and PNs (e.g., as may be required in MPDU headers and may be required in CCMP headers).
In some cases, constraints associated with link 1065-a and/or link 1065-b may inform the length of the (A) MSDU of application data 1005. For example, (a) the MSDU length (or (a) the number of MSDUs) may have to satisfy the constraints from all links 1065. Similarly, the fragmentation at 1025 may be performed in some cases to meet the maximum MPDU length constraint of all links 1065 (e.g., to enable the fragmentation to accommodate a single MPDU, regardless of which link 1065 the fragmentation is assigned to). As described herein, these operations may be performed per link in some cases (e.g., segmentation may be performed based on the constraints of link 1065-a, but not both links 1065-a and 1065-b), although at the expense of a corresponding increase in the complexity of transmission scheme 1000.
Fig. 11 illustrates an example of a receiving scheme 1100 supporting a packet-based link aggregation architecture in accordance with aspects of the disclosure. In some examples, the reception scheme 1100 may implement aspects of the WLAN 100. For example, the reception scheme 1100 may be implemented between a transmitting device (e.g., STA 115 or AP 105) and a receiving device 1155 (e.g., STA 115 or AP 105). Although described in the context of a single transmitting device and a single receiving device, it will be appreciated that the following aspects may be extended to communication with a non-co-located AP 105, as described with reference to fig. 9A and 9B. The receive scheme 1100 illustrates aspects of the packet-based common transmit queue aggregation architecture described with reference to fig. 6. It will be appreciated that aspects of the reception scheme 1100 may be additionally applied to the packet-based transmit queue per link aggregation architecture described with reference to fig. 5. The operations of the reception scheme 1100 may complement the operations of the transmission scheme 1000 (e.g., so that the reception scheme 1100 may perform operations similar to those described with respect to the transmission scheme 1000). The reception scheme 1100 may support common reordering across links 1105, replay checksums, and de-segmentation.
The lower Rx MAC 1110-a and the lower Rx MAC 1110-b may receive packets on links 1105-a and 1105-b, respectively. These lower Rx MACs 1110 may be examples of corresponding entities described herein. For example, the lower Rx MAC 1110-a may receive the PPDU over link 1105-a at 1115, may perform CRC validation at 1120, and may perform MPDU decryption (e.g., using a common decryption key or a decryption key dedicated to link 1105-a) at 1125. The lower Rx MAC 1110-b may perform similar operations for packets received on link 1105-b. Each lower Rx MAC 1110 may forward the decrypted MPDUs to a common receive queue 1135 associated with the higher MAC 1130 for reordering. The higher Rx MAC 1130 may be an example of the higher MAC described herein. Packet reordering may be performed by the shared receive queue 1135 (e.g., based on the shared SNs and FNs included in the decrypted MPDUs). In some cases, the BA may be sent based on the results in the shared receive queue 1135. For example, the BA may be sent per link 1105 or on a dedicated link 1105 (e.g., an anchor link). After receiving the BA, the lower common transmit queue of the transmitting device may remove the acknowledged segments.
The higher Rx MAC 1130 may perform replay checking based on the MPDU PN at 1140. That is, the received MPDU may be verified by a replay check based on the common MPDU PN. In some cases, replay checking may be performed after reordering by the common receive queue 1135 (e.g., because the replay checking is based on a common PN and MPDUs need to be ordered based on a common SN and FN). Similarly, de-fragmentation may be performed after replay checking (e.g., as it may be based on ordered and verified MPDUs). Accordingly, at 1145, an (a) MSDU fragment may be extracted from the verified MPDU to form a decoded (a) MSDU 1150.
Fig. 12 illustrates an example of a process flow 1200 supporting a packet-based link aggregation architecture in accordance with aspects of the disclosure. In some examples, the process flow 1200 may implement aspects of the WLAN 100. For example, process flow 1200 includes wireless device 1205-a and wireless device 1205-b, each of which may be examples of STA 115 or AP 105 described herein. In some cases, wireless device 1205-a may be an example of wireless device 305-a described with reference to FIG. 3, and wireless device 1205-b may be an example of wireless device 305-b. Alternatively, wireless device 1205-a may be an example of wireless device 305-b, and wireless device 1205-b may be an example of wireless device 305-a. Wireless device 1205-a and wireless device 1205-b may also each be examples of or implement aspects of wireless device 455 described with reference to fig. 4. For example, wireless device 1205-a and wireless device 1205-b may each include a higher MAC layer and a plurality of lower MAC layers to support aspects of the communication schemes described above. Further, while process flow 1200 is described in the context of two wireless devices 1205, it will be appreciated that in some cases, more than two wireless devices 1205 may perform the described techniques (e.g., as described with respect to fig. 9A and 9B).
At 1210, wireless device 1205-a and wireless device 1205-b may establish a multi-link session including a set of wireless links to support parallel communications between these wireless devices 1205. For example, the multilink session may be established based on the technique described with reference to fig. 3.
At 1215, wireless device 1205-a may format the data to be transmitted to wireless device 1205-b as a set of data units. For example, the formatting may be performed by the higher MAC layer described with reference to any of the communication schemes described herein. As an example, the formatting may include segmenting data to be transmitted into data units, the length of which is based at least in part on constraints associated with one or more links of the multi-link session.
At 1220, wireless device 1205-a may transmit (and wireless device 1205-b may receive) the set of data units. For example, wireless device 1205-a may transmit a first subset of data units on a first wireless link of a multi-link session and a second subset of data units on a second wireless link of the multi-link session. These data units may be transmitted according to any of the communication schemes described herein.
At 1225, the wireless device 1205-b may reorder the first and second groups of data units to generate a single data transmission. For example, wireless device 1205-b may perform aspects of the reception scheme 1100 described with reference to fig. 11.
Fig. 13 illustrates an example of a process flow 1300 supporting a packet-based link aggregation architecture in accordance with aspects of the disclosure. In some examples, the process flow 1300 may implement aspects of the WLAN 100. For example, process flow 1300 includes wireless device 1305-a and wireless device 1305-b, each of which may be examples of STA 115 or AP 105 described herein. In some cases, wireless device 1305-a may be an example of wireless device 305-a described with reference to FIG. 3, and wireless device 1305-b may be an example of wireless device 305-b. Alternatively, wireless device 1305-a may be an example of wireless device 305-b and wireless device 1305-b may be an example of wireless device 305-a. Similarly, each of wireless device 1305-a and wireless device 1305-b may be examples of any of wireless device 1205-a and wireless device 1205-b. Wireless device 1305-a and wireless device 1305-b may also each be examples of or implement aspects of wireless device 455 described with reference to fig. 4. For example, wireless device 1305-a and wireless device 1305-b may each include a higher MAC layer and multiple lower MAC layers to support aspects of the communication schemes described above. Further, while process flow 1300 is described in the context of two wireless devices 1305, it will be appreciated that in some cases, more than two wireless devices 1305 may perform the described techniques (e.g., as described with respect to fig. 9A and 9B).
At 1310, wireless device 1305-a and wireless device 1305-b may establish a multi-link session including a wireless link group to support parallel communications between these wireless devices 1305. For example, the multilink session may be established based on the technique described with reference to fig. 3. In some cases, establishing the multi-link session may include: TA, RA, TID or any combination thereof is assigned to each radio link in the group of radio links, and a BA session is established based at least in part on the assignment. Additionally or alternatively, establishing the multilink session may include: a first wireless link is established between a first lower MAC layer of wireless device 1305-a and a first lower MAC layer of wireless device 1305-b and a second wireless link is established between a second lower MAC layer of wireless device 1305-a and a second lower MAC layer of wireless device 1305-b, wherein each lower MAC layer of a given wireless device 1305 is in communication with a common higher MAC layer of the given wireless device 1305. In some examples, establishing the multi-link session includes: a common value of an operating parameter is assigned to the first wireless link and the second wireless link, the operating parameter including a sequence number, a frame number, a packet number, a segment size, a sender address, a receiver address, an encryption key, or any combination thereof. For example, assigning the common value of the operating parameter may include: the method includes identifying a first value of an operating parameter for a first wireless link, identifying a second value of the operating parameter for a second wireless link, and assigning one of the first value or the second value of the operating parameter as a common value according to a selection criterion for the operating parameter.
At 1315, wireless device 1305-a may format data to be transmitted to wireless device 1305-b into a group of data units. For example, the formatting may be performed by the higher MAC layer described with reference to any of the communication schemes described herein. As an example, the formatting may include assigning a respective sequence number in a single sequence number set to each of the data units in the group of data units, the sequence number set indicating an order of the group of data units of the data to be transmitted. Alternatively, the formatting may include assigning a respective sequence number in the first set of sequence numbers to each data unit in the first set of data units to be transmitted on the first wireless link of the multi-link session and assigning a respective sequence number in the second set of sequence numbers to each data unit in the second set of data units to be transmitted on the second wireless link of the multi-link session. In some such cases (e.g., where each set of data units is associated with a respective set of sequence numbers), the formatting may further include: each sequence number in the third set of sequence numbers is assigned to one of the first or second sets of data units, wherein each of the first set of data units is assigned one of the first set of sequence numbers and one of the third set of sequence numbers, and wherein each of the second set of data units is assigned one of the second set of sequence numbers and one of the third set of sequence numbers. An example is provided with reference to transmission scheme 1000, which provides techniques for assigning a common sequence number (e.g., which may correspond to a third set of sequence numbers) as well as per-link sequence numbers (e.g., which may correspond to a first set of sequence numbers or a second set of sequence numbers). In some cases, wireless device 1305-a may encode data into a group of encoded symbols such that the data may be recovered at wireless device 1305-b by decoding a subset of the group of encoded symbols. In such cases, the wireless device 1305-a may format the group of encoded symbols into a group of data units.
At 1320, wireless device 1305-a may allocate each data unit to one or more transmit queues. For example, wireless device 1305-a may allocate a first set of data units to a first transmit queue for a first wireless link and a second set of data units to a second transmit queue for a second wireless link. Alternatively, wireless device 1305-a may assign a group of data units to a common transmit queue for the first wireless link and the second wireless link. In some such cases, the wireless device 1305-a may determine a value of a parameter indicative of availability of the first wireless link or the second wireless link (or both) for transmission to the wireless device 1305-b and assign one or more of the data unit groups in the common transmit queue to one of the first wireless link or the second wireless link based at least in part on the value of the parameter.
At 1325, wireless device 1305-a may transmit (and wireless device 1305-b may receive) the set of data units. For example, the wireless device 1305-a may transmit a first set of data units on a first wireless link of a multi-link session and a second set of data units on a second wireless link of the multi-link session. These data units may be transmitted according to any of the communication schemes described herein. As an example, the wireless device 1305-a may replicate one or more data units in a group of data units prior to transmission, wherein at least one of a first set of data units transmitted on a first wireless link includes a first portion of the one or more replicated data units, and wherein at least one of a second set of data units transmitted on a second wireless link includes a second portion of the one or more replicated data units. In some cases, transmitting the first set of data units includes: a pseudo-random sequence known to both wireless device 305-a and wireless device 1305-b is identified and a first set of data units is transmitted over the first wireless link using a group of frequency resources, each frequency resource of the group of frequency resources being used for transmission according to the identified pseudo-random sequence.
At 1330, wireless device 1305-b may reorder the first set of data units and the second set of data units to generate a single data transmission. For example, wireless device 1305-b may aggregate a first set of data units into a first receive queue for a first wireless link and a second set of data units into a second receive queue for a second wireless link. In some cases, reordering the first set of data units and the second set of data units includes: the method includes identifying, for each data unit, a sequence number in a set of sequence numbers that is common between the first group of data units and the second group of data units, and reordering the first group of data units and the second group of data units based at least in part on the identified common set of sequence numbers. Additionally or alternatively, reordering the data packets may include: a sequence number is identified from the first set of sequence numbers for each packet in the first set of packets and a sequence number is identified from the second set of sequence numbers for each packet in the second set of packets. For example, the packets may be reordered (as described herein) based at least in part on the per-link sequence number associated with each data packet.
At 1335, wireless device 1305-b may transmit a BA based at least in part on a replay check (e.g., a lookup) of the reordered first set of data units and the second set of data units. For example, the replay check may identify the number of packets successfully received, identify corrupted packets, and so on. Additionally or alternatively, the wireless device 1305-b may de-segment the reordered first set of data units and the second set of data units (e.g., as described with reference to the reception scheme 1100). The BA may be transmitted over one or more links. For example, it may be transmitted over a designated link (e.g., a link in a lower portion of the RF spectrum that provides adequate coverage). In some cases, the BA may be sent over the wireless link(s) over which data is received in each wireless link. In some cases, the BA may include or be based on a common SN or per-link SN for each associated data packet.
Fig. 14 illustrates a block diagram 1400 of a wireless device 1405 supporting a packet-based link aggregation architecture in accordance with aspects of the disclosure. The wireless device 1405 may be an example of aspects of the STA 115 or AP 105 or any wireless device described herein. The wireless device 1405 may include a receiver 1410, a communication manager 1415, and a transmitter 1420. The wireless device 1405 may also include a processor. Each of these components may be in communication with each other (e.g., via one or more buses).
The receiver 1410 can receive information such as packets, user data, or control information associated with various information channels (e.g., control channels, data channels, and information related to packet-based link aggregation architecture, etc.). Information may be passed to other components of the device. Receiver 1410 may be an example of aspects of transceiver 1735 described with reference to fig. 17. The receiver 1410 can utilize a single antenna or a set of antennas.
The communication manager 1415 may be an example of aspects of the communication manager 1715 described with reference to fig. 17. The communication manager 1415 and/or at least some of its various subcomponents may be implemented in hardware, software executed by a processor, firmware, or any combination thereof. If implemented in software executed by a processor, the functions of the communication manager 1415 and/or at least some of its various sub-components may be performed by a general purpose processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described in this disclosure.
The communication manager 1415 and/or at least some of its various sub-components can be physically located at various locations, including being distributed such that portions of the functionality are implemented by one or more physical devices at different physical locations. In some examples, the communication manager 1415 and/or at least some of its various subcomponents may be separate and distinct components in accordance with various aspects of the present disclosure. In other examples, according to various aspects of the disclosure, communication manager 1415 and/or at least some of its various subcomponents may be combined with one or more other hardware components (including, but not limited to, an I/O component, a transceiver, a network server, another computing device, one or more other components described in the disclosure, or a combination thereof).
The communication manager 1415 may establish a multi-link session between the first wireless device and the second wireless device, the multi-link session including a set of wireless links for communicating in parallel between the first wireless device and the second wireless device. The communication manager 1415 may format the data to be transmitted to the second wireless device into a set of data units. The communication manager 1415 can transmit a first set of data units of the set of data units to a second wireless device over a first wireless link of the set of wireless links and a second set of data units of the set of data units to the second wireless device over a second wireless link of the set of wireless links. The communication manager 1415 may also receive a first set of data units from a second wireless device on a first wireless link in the set of wireless links, receive a second set of data units from the second wireless device on a second wireless link in the set of wireless links, and reorder the first set of data units and the second set of data units to generate a single data message for the second wireless device.
The communication manager 1415 may also establish a multi-link session between the first wireless device and the second wireless device, which may include a plurality of wireless links for communicating in parallel between the first wireless device and the second wireless device; and communicating parallel communications between the first wireless device and the second wireless device over the plurality of wireless links.
The transmitter 1420 may transmit signals generated by other components of the device. In some examples, transmitter 1420 may be co-located with receiver 1410 in a transceiver module. For example, the transmitter 1420 may be an example of aspects of the transceiver 1735 described with reference to fig. 17. Transmitter 1420 may utilize a single antenna or a set of antennas.
Fig. 15 illustrates a block diagram 1500 of a wireless device 1505 supporting a packet-based link aggregation architecture in accordance with aspects of the disclosure. Wireless device 1505 may be an example of aspects of STA 115 or AP 105 or any wireless device described herein. Wireless device 1505 may include a receiver 1510, a communication manager 1515, and a transmitter 1520. Wireless device 1505 may also include a processor. Each of these components may be in communication with each other (e.g., via one or more buses).
The receiver 1510 may receive information such as packets, user data, or control information associated with various information channels (e.g., control channels, data channels, and information related to packet-based link aggregation architectures, etc.). Information may be passed to other components of the device. The receiver 1510 may be an example of aspects of the transceiver 1735 described with reference to fig. 17. The receiver 1510 may utilize a single antenna or a set of antennas.
The communication manager 1515 may be an example of aspects of the communication manager 1715 described with reference to fig. 17. The communication manager 1515 may also include a multilink manager 1525, a data format manager 1530, a first link controller 1535, a second link controller 1540, and a reordering manager 1545.
The multilink manager 1525 may establish a multilink session between the first wireless device and the second wireless device, the multilink session including a set of wireless links for communicating in parallel between the first wireless device and the second wireless device. The multilink manager 1525 may assign a transmitter address, or a receiver address, or a traffic identifier, or a combination thereof, to each of the set of wireless links. The multilink manager 1525 may establish a block acknowledgment session between the first wireless device and the second wireless device based on the assignment. The multilink manager 1525 may identify a second value of the operating parameter for the second wireless link. The multilink manager 1525 may assign one of the first value or the second value of the operating parameter as a common value according to selection criteria for the operating parameter. The multilink manager 1525 may communicate parallel communications between the first wireless device and the second wireless device over multiple wireless links. In some examples, the plurality of wireless links are synchronized in time. Additionally or alternatively, the first radio frequency spectrum band may puncture a plurality of wireless links, the first radio frequency spectrum band being different from each of the plurality of radio frequency spectrum bands corresponding to the plurality of wireless links of the multi-link session.
In some cases, establishing the multi-link session between the first wireless device and the second wireless device includes establishing a first wireless link between a first lower MAC layer of the first wireless device and a first lower MAC layer of the second wireless device. The multilink manager 1525 may establish a second wireless link between a second lower MAC layer of the first wireless device and a second lower MAC layer of the second wireless device, wherein the first lower MAC layer and the second lower MAC layer of the first wireless device are in communication with a common higher MAC layer of the first wireless device. In some cases, establishing the multi-link session between the first wireless device and the second wireless device further includes assigning a common value of an operating parameter to the first wireless link and the second wireless link, the operating parameter including a sequence number, or a frame number, or a packet number, or a segment size, or a sender address, or a receiver address, or an encryption key, or a combination thereof. In some cases, assigning the common value of the operating parameter includes identifying a first value of the operating parameter for the first wireless link.
The data format manager 1530 can format data to be transmitted to the second wireless device as a set of data units. The first link controller 1535 may transmit a first group of data units of the set of data units to the second wireless device on a first radio link of the set of radio links. The first link controller 1535 may transmit the first set of data units using the set of frequency resources of the multi-link session according to the identified pseudo random sequence. The first link controller 1535 may receive a first set of data units from the second wireless device on a first wireless link in the set of wireless links. In some cases, transmitting the first set of data units includes identifying a pseudo-random sequence known to both the first wireless device and the second wireless device. The first link controller 1535 may communicate with the second wireless device over a first wireless link of the plurality of wireless links.
The second link controller 1540 may transmit a second set of data units of the set of data units to the second wireless device over a second wireless link of the set of wireless links and receive the second set of data units from the second wireless device over the second wireless link of the set of wireless links. Second link controller 1540 may receive a second set of data units of the plurality of data units from the second wireless device over a second wireless link of the plurality of wireless links. In some cases, the second wireless link may be a narrower bandwidth than the first wireless link or operate on a lower frequency band than the first wireless link. In some examples, the message received from the second wireless device over the second wireless link may include feedback responsive to the transmitted first set of data units. Second link controller 1540 may communicate with a third wireless device over a second wireless link of the plurality of wireless links.
The reorder manager 1545 may reorder the first set of data units and the second set of data units to generate a single data message for the second wireless device. The reorder manager 1545 may reorder the first and second groups of data units based on the identified sequence number set to generate a single data message. The reorder manager 1545 may identify a sequence number for the first set of data units in the second set of sequence numbers for each data unit in the second set of data units. The reorder manager 1545 may reorder the first set of data units and the second set of data units based on the identified first set of sequence numbers and the identified second set of sequence numbers to generate a single data message. The reorder manager 1545 may replay check the reordered first and second sets of data units. The reorder manager 1545 may defragmente the reordered first and second sets of data units. In some cases, reordering the first set of data units and the second set of data units to generate a single data message for the second wireless device includes: a sequence number in the sequence number set that is common between the first set of data units and the second set of data units is identified for each of the first set of data units and the second set of data units. In some cases, reordering the first set of data units and the second set of data units to generate a single data message for the second wireless device includes: a sequence number for the first set of data units in the first set of sequence numbers is identified for each data unit in the first set of data units.
The transmitter 1520 may transmit signals generated by other components of the device. In some examples, the transmitter 1520 may be co-located with the receiver 1510 in a transceiver module. For example, the transmitter 1520 may be an example of aspects of the transceiver 1735 described with reference to fig. 17. The transmitter 1520 may utilize a single antenna or a set of antennas.
Fig. 16 illustrates a block diagram 1600 of a communication manager 1615 supporting a packet-based link aggregation architecture in accordance with aspects of the disclosure. The communication manager 1615 may be an example of the communication manager 1415, the communication manager 1515, or aspects of the communication manager 1715 described with reference to fig. 14, 15, and 17. The communication manager 1615 can include a multi-link manager 1620, a data format manager 1625, a first link controller 1630, a second link controller 1635, a reordering manager 1640, a data allocation manager 1645, a sequence number manager 1650, and a data aggregation component 1655. Each of these modules may communicate with each other directly or indirectly (e.g., via one or more buses).
The multilink manager 1620 may establish a multilink session between the first wireless device and the second wireless device, the multilink session including a set of wireless links for communicating in parallel between the first wireless device and the second wireless device. The multi-link manager 1620 may assign a transmitter address, or receiver address, or traffic identifier, or a combination thereof, to each wireless link in the set of wireless links. The multi-link manager 1620 can establish a block acknowledgment session between the first wireless device and the second wireless device based on the assignment. The multi-link manager 1620 may identify a second value for the operating parameter for the second wireless link, assign one of the first value or the second value of the operating parameter as a common value according to a selection criterion for the operating parameter. The multi-link manager 1620 can communicate parallel communications between a first wireless device and a second wireless device over a plurality of wireless links. In some examples, the plurality of wireless links are synchronized in time. Additionally or alternatively, the first radio frequency spectrum band may puncture a plurality of wireless links, the first radio frequency spectrum band being different from each of the plurality of radio frequency spectrum bands corresponding to the plurality of wireless links of the multi-link session.
In some cases, establishing the multilink session between the first wireless device and the second wireless device includes: a first wireless link is established between a first lower MAC layer of a first wireless device and a first lower MAC layer of a second wireless device. The multi-link manager 1620 may establish a second wireless link between a second lower MAC layer of the first wireless device and a second lower MAC layer of the second wireless device, wherein the first lower MAC layer and the second lower MAC layer of the first wireless device are in communication with a common higher MAC layer of the first wireless device. In some cases, establishing the multi-link session between the first wireless device and the second wireless device further includes assigning a common value of an operating parameter to the first wireless link and the second wireless link, the operating parameter including a sequence number, or a frame number, or a packet number, or a segment size, or a sender address, or a receiver address, or an encryption key, or a combination thereof. In some cases, assigning the common value of the operating parameter includes identifying a first value of the operating parameter for the first wireless link.
The data format manager 1625 may format the data to be transmitted to the second wireless device into a set of data units. The data format manager 1625 may encode the data into groups of encoded symbols such that the data may be recovered at the second wireless device by decoding a subset of the plurality of encoded symbols; and formatting the coded symbol groups into a set of data units. The first link controller 1630 can transmit a first group of data units in the set of data units to the second wireless device over a first wireless link in the set of wireless links. The first link controller 1630 may transmit the first set of data units using the set of frequency resources of the multi-link session according to the identified pseudo-random sequence. The first link controller 1630 may receive a first set of data units from the second wireless device on a first wireless link in the set of wireless links. In some cases, transmitting the first set of data units includes identifying a pseudo-random sequence known to both the first wireless device and the second wireless device. The first link controller 1630 may communicate with the second wireless device over a first wireless link of the plurality of wireless links.
The second link controller 1635 may transmit a second set of data units in the set of data units to the second wireless device over a second wireless link in the set of wireless links and receive the second set of data units from the second wireless device over the second wireless link in the set of wireless links. The second link controller 1640 can receive a second set of data units of the plurality of data units from the second wireless device over a second wireless link of the plurality of wireless links. In some cases, the second wireless link may be a narrower bandwidth than the first wireless link or operate on a lower frequency band than the first wireless link. In some examples, the message received from the second wireless device over the second wireless link may include feedback (e.g., transmission parameters or acknowledgements) in response to the transmitted first set of data units. The feedback may be real-time feedback as described herein. The second link controller 1640 can communicate with a third wireless device over a second wireless link of the plurality of wireless links.
A reorder manager 1640 may reorder the first set of data units and the second set of data units to generate a single data message for the second wireless device. The reorder manager 1640 may reorder the first set of data units and the second set of data units based on the identified sequence number set to generate a single data message. Reorder manager 1640 may identify, for each data unit in the second set of data units, a sequence number for the first set of data units in the second set of sequence numbers. The reorder manager 1640 may reorder the first set of data units and the second set of data units based on the identified first set of sequence numbers and the identified second set of sequence numbers to generate a single data message. Reorder manager 1640 may replay check the reordered first set of data units and the second set of data units. Reorder manager 1640 may defragmente the reordered first set of data units and the second set of data units. In some cases, reordering the first set of data units and the second set of data units to generate a single data message for the second wireless device includes: a sequence number in the sequence number set that is common between the first set of data units and the second set of data units is identified for each of the first set of data units and the second set of data units. In some cases, reordering the first set of data units and the second set of data units to generate a single data message for the second wireless device includes: a sequence number for the first set of data units in the first set of sequence numbers is identified for each data unit in the first set of data units.
The data allocation manager 1645 may allocate a first set of data units to a first transmit queue for a first wireless link. The data allocation manager 1645 may allocate a set of data units to a common transmit queue for the first wireless link and the second wireless link. The data allocation manager 1645 may allocate a second set of data units to a second transmit queue for a second wireless link. The data allocation manager 1645 may determine a value of a parameter indicative of availability of the first wireless link or the second wireless link or both for transmission to the second wireless device. The data allocation manager 1645 may allocate one or more data units in the common transmit queue in the set of data units to one of the first wireless link or the second wireless link based on the value of the parameter. The data allocation manager 1645 may copy one or more data units of the set of data units prior to transmission, wherein at least one data unit of the first group of data units transmitted on the first wireless link comprises the one or more copied data units, and wherein at least one data unit of the second group of data units transmitted on the second wireless link comprises the one or more copied data units.
Sequence number manager 1650 can assign a respective sequence number in a sequence number set to each data unit in a set of data units, the sequence number set indicating an order of the set of data units of the data. Sequence number manager 1650 can assign a respective sequence number in the first set of sequence numbers to each data unit in the first set of data units to be transmitted over the first wireless link. Sequence number manager 1650 can assign a respective sequence number in the second set of sequence numbers to each data unit in the second set of data units to be transmitted over the second wireless link. Sequence number manager 1650 can assign each of the third set of sequence numbers to data units in the first set of data units or the second set of data units, wherein each of the first set of data units is assigned one of the first set of sequence numbers and one of the third set of sequence numbers, and wherein each of the second set of data units is assigned one of the second set of sequence numbers and one of the third set of sequence numbers.
The data aggregation component 1655 can aggregate a first set of data units into a first receive queue for a first wireless link and a second set of data units into a second receive queue for a second wireless link.
Fig. 17 illustrates a diagram of a system 1700 that includes a device 1705 that supports a packet-based link aggregation architecture in accordance with aspects of the disclosure. The device 1705 may be or include an example of the STA 115 or AP105 or any wireless device described herein. The device 1705 may include components for two-way voice and data communications, including components for transmitting and receiving communications, including a communications manager 1715, a processor 1720, memory 1725, software 1730, a transceiver 1735, an antenna 1740, and an I/O controller 1745. These components may be in electronic communication via one or more buses (e.g., bus 1710).
The processor 1720 may include an intelligent hardware device (e.g., a general purpose processor, a DSP, a Central Processing Unit (CPU), a microcontroller, an ASIC, an FPGA, a programmable logic device, discrete gate or transistor logic components, discrete hardware components, or any combination thereof). In some cases, processor 1720 may be configured to operate a memory array using a memory controller. In other cases, the memory controller may be integrated into the processor 1720. The processor 1720 may be configured to execute computer-readable instructions stored in the memory to perform various functions (e.g., support functions or tasks of a packet-based link aggregation architecture).
Memory 1725 may include Random Access Memory (RAM) and Read Only Memory (ROM). Memory 1725 may store computer-readable, computer-executable software 1730 comprising instructions that, when executed, cause a processor to perform the various functions described herein. In some cases, memory 1725 may include, among other things, a basic input/output system (BIOS) that can control basic hardware or software operations, such as interactions with peripheral components or devices.
Software 1730 may include code for implementing aspects of the present disclosure, including code for supporting a packet-based link aggregation architecture. The software 1730 may be stored in a non-transitory computer readable medium, such as a system memory or other memory. In some cases, software 1730 may not be directly executed by a processor, but (e.g., when compiled and executed) may cause a computer to perform the functions described herein.
Transceiver 1735 may communicate bi-directionally via one or more antennas, wired, or wireless links, as described herein. For example, transceiver 1735 may represent a wireless transceiver and may communicate bi-directionally with another wireless transceiver. Transceiver 1735 may also include a modem to modulate packets and provide the modulated packets to an antenna for transmission, as well as demodulate packets received from the antenna. In some cases, the wireless device may include a single antenna 1740. However, in some cases, the device may have more than one antenna 1740, which may be capable of transmitting or receiving multiple wireless transmissions concurrently.
I/O controller 1745 may manage input and output signals for device 1705. I/O controller 1745 also may manage peripherals not integrated into device 1705. In some cases, I/O controller 1745 may represent a physical connection or port to an external peripheral device. In some cases, I/O controller 1745 may utilize an operating system, such as Or another known operating system. In other cases, I/O controller 1745 may represent or interact with a modem, keyboard, mouse, touch screen, or similar device. In some cases, I/O controller 1745 may be implemented as part of a processor. In some cases, a user may interact with the device 1705 via the I/O controller 1745 or via hardware components controlled by the I/O controller 1745.
Fig. 18 illustrates a flow chart that describes a method 1800 for a packet-based link aggregation architecture in accordance with aspects of the present disclosure. The operations of method 1800 may be implemented by STA 115 or AP 105 or any wireless device described herein. For example, the operations of method 1800 may be performed by the communication manager described with reference to fig. 14-17. In some examples, the STA 115 or AP 105 or any wireless device described herein may execute a set of codes to control the functional elements of the device to perform the functions described herein. Additionally or alternatively, the STA 115 or AP 105 or any wireless device described herein may use dedicated hardware to perform aspects of the functions described herein.
At 1805, the STA 115 or AP 105 or any wireless device described herein may establish a multi-link session between the first wireless device and the second wireless device, the multi-link session including a plurality of wireless links for communicating in parallel between the first wireless device and the second wireless device. The operations of 1805 may be performed according to the methods described herein. In some examples, aspects of the operation of 1805 may be performed by the multilink manager described with reference to fig. 14-17.
At 1810, the STA 115 or AP 105 or any wireless device described herein may format the data to be transmitted to the second wireless device into a plurality of data units. 1810 may be performed according to methods described herein. In some examples, aspects of the operation of 1810 may be performed by a data format manager as described with reference to fig. 14-17.
At 1815, the STA 115 or the AP 105 or any wireless device described herein may transmit a first set of data units of the plurality of data units to the second wireless device over a first wireless link of the plurality of wireless links. The operations of 1815 may be performed according to the methods described herein. In some examples, aspects of the operation of 1815 may be performed by a first link controller as described with reference to fig. 14-17.
At 1820, the STA 115 or the AP 105 or any wireless device described herein may transmit a second set of the plurality of data units to a second wireless device over a second wireless link of the plurality of wireless links. The operations of 1820 may be performed in accordance with the methods described herein. In some examples, aspects of the operation of 1820 may be performed by the second link controller as described with reference to fig. 14-17.
Fig. 19 illustrates a flow chart that is an understanding of a method 1900 for a packet-based link aggregation architecture in accordance with aspects of the present disclosure. The operations of method 1900 may be implemented by STA 115 or AP 105 or any wireless device described herein, or components thereof described herein. For example, the operations of method 1900 may be performed by a communications manager as described with reference to fig. 14-17. In some examples, the STA 115 or AP 105 or any wireless device described herein may execute a set of codes to control the functional elements of the device to perform the functions described herein. Additionally or alternatively, the STA 115 or AP 105 or any wireless device described herein may use dedicated hardware to perform aspects of the functions described herein.
At 1905, the STA 115 or AP 105 or any wireless device described herein may establish a multi-link session between a first wireless device and a second wireless device, the multi-link session including a plurality of wireless links for communicating in parallel between the first wireless device and the second wireless device. The operations of 1905 may be performed according to the methods described herein. In some examples, aspects of the operation of 1905 may be performed by the multilink manager described with reference to fig. 14-17.
At 1910, the STA 115 or AP 105 or any wireless device described herein may format data to be transmitted to the second wireless device into a plurality of data units. 1910 may be performed according to the methods described herein. In some examples, aspects of the operation of 1910 may be performed by a data format manager as described with reference to fig. 14-17.
At 1915, the STA 115 or AP 105 or any wireless device described herein may allocate a first set of data units to a first transmit queue for a first wireless link. 1915 may be performed according to the methods described herein. In some examples, aspects of the operation of 1915 may be performed by a data allocation manager as described with reference to fig. 14-17.
At 1920, STA 115 or AP 105 or any wireless device described herein may allocate a second set of data units to a second transmit queue for a second wireless link. 1920 may be performed according to the methods described herein. In some examples, aspects of the operation of 1920 may be performed by a data allocation manager as described with reference to fig. 14-17.
At 1925, the STA 115 or the AP 105 or any wireless device described herein may transmit a first set of data units of the plurality of data units to the second wireless device over a first wireless link of the plurality of wireless links. 1925 may be performed according to the methods described herein. In certain examples, aspects of the operation of 1925 may be performed by the first link controller described with reference to fig. 14-17.
At 1930, the STA 115 or AP 105 or any wireless device described herein may transmit a second set of the plurality of data units to a second wireless device over a second wireless link of the plurality of wireless links. The operations of 1930 may be performed according to the methods described herein. In some examples, aspects of the operation of 1930 may be performed by a second link controller as described with reference to fig. 14-17.
Fig. 20 illustrates a flow chart that is an understanding of a method 2000 for a packet-based link aggregation architecture in accordance with aspects of the present disclosure. The operations of the method 2000 may be implemented by the STA 115 or AP 105 or any wireless device described herein, or components thereof described herein. For example, the operations of method 2000 may be performed by a communication manager as described with reference to fig. 14-17. In some examples, the STA 115 or AP 105 or any wireless device described herein may execute a set of codes to control the functional elements of the device to perform the functions described herein. Additionally or alternatively, the STA 115 or AP 105 or any wireless device described herein may use dedicated hardware to perform aspects of the functions described herein.
In 2005, the STA 115 or AP 105 or any wireless device described herein may establish a multi-link session between a first wireless device and a second wireless device, the multi-link session including a plurality of wireless links for communicating in parallel between the first wireless device and the second wireless device. 2005 may be performed according to the methods described herein. In some examples, aspects of the operation of 2005 may be performed by a multilink manager as described with reference to fig. 14-17.
At 2010, the STA 115 or AP 105 or any wireless device described herein may format the data to be transmitted to the second wireless device into a plurality of data units. Operations of 2010 may be performed according to methods described herein. In some examples, aspects of the operation of 2010 may be performed by a data format manager as described with reference to fig. 14-17.
At 2015, the STA 115 or AP 105 or any wireless device described herein may allocate multiple data units to a common transmit queue for the first wireless link and the second wireless link. 2015 may be performed according to the methods described herein. In some examples, aspects of the operation of 2015 may be performed by a data allocation manager as described with reference to fig. 14-17.
At 2020, the STA 115 or the AP 105 or any wireless device described herein may transmit a first set of data units of the plurality of data units to the second wireless device over a first wireless link of the plurality of wireless links. 2020 may be performed according to the methods described herein. In certain examples, aspects of the operation of 2020 may be performed by a first link controller as described with reference to fig. 14-17.
At 2025, the STA 115 or AP 105 or any wireless device described herein may transmit a second set of the plurality of data units to the second wireless device over a second wireless link of the plurality of wireless links. The operations of 2025 may be performed according to the methods described herein. In some examples, aspects of the operation of 2025 may be performed by the second link controller described with reference to fig. 14-17.
Fig. 21 illustrates a flow chart that is an understanding of a method 2100 for a packet-based link aggregation architecture in accordance with aspects of the present disclosure. The operations of method 2100 may be implemented by the STA 115 or AP 105 or any wireless device described herein, or components thereof described herein. For example, the operations of method 2100 may be performed by a communication manager as described with reference to fig. 14-17. In some examples, the STA 115 or AP 105 or any wireless device described herein may execute a set of codes to control the functional elements of the device to perform the functions described herein. Additionally or alternatively, the STA 115 or AP 105 or any wireless device described herein may use dedicated hardware to perform aspects of the functions described herein.
At 2105, the STA 115 or AP 105 or any wireless device described herein may establish a multi-link session between a first wireless device and a second wireless device, the multi-link session comprising a plurality of wireless links for communicating in parallel between the first wireless device and the second wireless device. The operations of 2105 may be performed according to the methods described herein. In some examples, aspects of the operation of 2105 may be performed by the multilink manager described with reference to fig. 14-17.
At 2110, the STA 115 or AP 105 or any wireless device described herein may receive a first set of data units from a second wireless device over a first wireless link of a plurality of wireless links. The operations of 2110 may be performed according to the methods described herein. In some examples, aspects of the operation of 2110 may be performed by the first link controller described with reference to fig. 14-17.
At 2115, the STA 115 or the AP 105 or any wireless device described herein may receive a second set of data units from a second wireless device over a second wireless link of the plurality of wireless links. The operations of 2115 may be performed according to the methods described herein. In some examples, aspects of the operation of 2115 may be performed by the second link controller described with reference to fig. 14-17.
At 2120, the STA 115 or AP 105 or any wireless device described herein may reorder the first set of data units and the second set of data units to generate a single data message for the second wireless device. The operations of 2120 may be performed according to the methods described herein. In some examples, aspects of the operation of 2120 may be performed by a reordering manager as described with reference to fig. 14-17.
Fig. 22 illustrates a flow chart that is an understanding of a method 2200 for a packet-based link aggregation architecture in accordance with aspects of the present disclosure. The operations of method 2200 may be implemented by STA 115 or AP 105 or any wireless device described herein, or components thereof described herein. For example, the operations of method 2200 may be performed by a communications manager as described with reference to fig. 14-17. In some examples, the STA 115 or AP 105 or any wireless device described herein may execute a set of codes to control the functional elements of the device to perform the functions described herein. Additionally or alternatively, the STA 115 or AP 105 or any wireless device described herein may use dedicated hardware to perform aspects of the functions described herein.
At 2205, the STA 115 or AP 105 or any wireless device described herein may establish a multi-link session between a first wireless device and a second wireless device, the multi-link session including a plurality of wireless links for communicating in parallel between the first wireless device and the second wireless device. The operations of 2205 may be performed according to the methods described herein. In some examples, aspects of the operation of 2205 may be performed by the multilink manager described with reference to fig. 14-17.
At 2210, the STA 115 or AP 105 or any wireless device described herein may receive a first set of data units from a second wireless device over a first wireless link of a plurality of wireless links. 2210 may be performed according to the methods described herein. In some examples, aspects of the operation of 2210 may be performed by the first link controller described with reference to fig. 14-17.
At 2215, the STA 115 or the AP 105 or any wireless device described herein may receive a second set of data units from a second wireless device over a second wireless link of the plurality of wireless links. 2215 may be performed according to the methods described herein. In some examples, aspects of the operation of 2215 may be performed by the second link controller described with reference to fig. 14-17.
At 2220, the STA 115 or AP 105 or any wireless device described herein may aggregate the first set of data units into a first receive queue for the first wireless link. 2220 may be performed according to the methods described herein. In some examples, aspects of the operation of 2220 may be performed by a data aggregation component as described with reference to fig. 14-17.
At 2225, the STA 115 or AP 105 or any wireless device described herein may aggregate the second set of data units into a second receive queue for the second wireless link. 2225 may be performed according to the methods described herein. In some examples, aspects of the operation of 2225 may be performed by a data aggregation component as described with reference to fig. 14-17.
At 2230, the STA 115 or AP 105 or any wireless device described herein may reorder the first set of data units and the second set of data units to generate a single data message for the second wireless device. 2230 may be performed in accordance with the methods described herein. In some examples, aspects of the operation of 2230 may be performed by a reorder manager as described with reference to fig. 14-17.
Fig. 23 illustrates a flow chart that describes a method 2300 for a packet-based link aggregation architecture in accordance with aspects of the present disclosure. The operations of method 2300 may be implemented by STA 115 or AP 105 or any wireless device described herein, or components thereof described herein. For example, the operations of method 2300 may be performed by a communication manager as described with reference to fig. 14-17. In some examples, the STA 115 or AP 105 or any wireless device described herein may execute a set of codes to control the functional elements of the device to perform the functions described herein. Additionally or alternatively, the STA 115 or AP 105 or any wireless device described herein may use dedicated hardware to perform aspects of the functions described herein.
At 2305, the STA 115 or AP 105 or any wireless device described herein may establish a multi-link session between a first wireless device and a second wireless device, the multi-link session comprising a plurality of wireless links for communicating in parallel between the first wireless device and the second wireless device. 2305 may be performed according to the methods described herein. In some examples, aspects of the operation of 2305 may be performed by the multilink manager described with reference to fig. 14-17.
At 2310, the STA 115 or AP 105 or any wireless device described herein may receive a first set of data units from a second wireless device over a first wireless link of a plurality of wireless links. Operations of 2310 may be performed according to the methods described herein. In some examples, aspects of the operation of 2310 may be performed by the first link controller described with reference to fig. 14-17.
At 2315, the STA 115 or AP 105 or any wireless device described herein may receive a second set of data units from a second wireless device over a second wireless link of the plurality of wireless links. 2315 may be performed according to the methods described herein. In some examples, aspects of the operation of 2315 may be performed by the second link controller described with reference to fig. 14-17.
At 2320, the STA 115 or AP 105 or any wireless device described herein may reorder the first set of data units and the second set of data units to generate a single data message for the second wireless device. The operations of 2320 may be performed in accordance with the methods described herein. In some examples, aspects of the operation of 2320 may be performed by a reordering manager as described with reference to fig. 14-17.
At 2325, STA 115 or AP 105 or any wireless device described herein may replay check the reordered first set of data units and second set of data units. 2325 may be performed in accordance with the methods described herein. In some examples, aspects of the operations of 2325 may be performed by a reordering manager as described with reference to fig. 14-17.
At 2330, the STA 115 or AP 105 or any wireless device described herein may de-segment the reordered first set of data units and the second set of data units. The operations of 2330 may be performed according to the methods described herein. In some examples, aspects of the operation of 2330 may be performed by a reordering manager as described with reference to fig. 14-17.
Fig. 24 illustrates a flow chart diagram that is known to illustrate a method 2400 of supporting a packet-based link aggregation architecture in accordance with aspects of the present disclosure. The operations of method 2400 may be implemented by a wireless device or components thereof as described herein. For example, the operations of method 2400 may be performed by a communication manager as described with reference to fig. 14-17. In some examples, a wireless device may execute a set of instructions to control functional elements of the wireless device to perform the functions described herein. Additionally or alternatively, the wireless device may use dedicated hardware to perform aspects of the functions described herein.
At 2405, the wireless device may establish a multi-link session between the first wireless device and the second wireless device, the multi-link session including a set of wireless links for communicating in parallel between the first wireless device and the second wireless device. 2405 may be performed according to the methods described herein. In some examples, aspects of the operation of 2405 may be performed by a multilink manager as described with reference to fig. 14-17.
At 2410, the wireless device can communicate parallel communications between the first wireless device and the second wireless device over a set of wireless links. 2410 may be performed according to the methods described herein. In some examples, aspects of the operation of 2410 may be performed by the multilink manager described with reference to fig. 14-17.
Fig. 25 illustrates a flow chart that is an understanding of a method 2500 of supporting a packet-based link aggregation architecture in accordance with aspects of the present disclosure. The operations of method 2500 may be implemented by a wireless device or components thereof as described herein. For example, the operations of method 2500 may be performed by a communications manager as described with reference to fig. 14-17. In some examples, a wireless device may execute a set of instructions to control functional elements of the wireless device to perform the functions described herein. Additionally or alternatively, the wireless device may use dedicated hardware to perform aspects of the functions described herein.
At 2505, a wireless device may establish a multi-link session between a first wireless device and a second wireless device, the multi-link session including a set of wireless links for communicating in parallel between the first wireless device and the second wireless device. 2505 may be performed according to the methods described herein. In some examples, aspects of the operations of 2505 may be performed by a multilink manager as described with reference to fig. 14-17.
At 2510, the wireless device may communicate parallel communications between the first wireless device and the second wireless device over a set of wireless links. The operations of 2510 may be performed according to the methods described herein. In some examples, aspects of the operation of 2510 may be performed by the multilink manager described with reference to fig. 14-17.
At 2515, the wireless device may format the data to be transmitted to the second wireless device into a set of data units. The operations of 2515 may be performed according to the methods described herein. In some examples, aspects of the operation of 2515 may be performed by the multilink manager described with reference to fig. 14-17.
At 2520, the wireless device may transmit a first group of data units of the set of data units to the second wireless device over a first wireless link of the set of wireless links. 2520 may be performed in accordance with the methods described herein. In some examples, aspects of the operation of 2520 may be performed by the multilink manager described with reference to fig. 14-17.
At 2525, the wireless device may receive a second group of data units of the set of data units from a second wireless device over a second wireless link of the set of wireless links. 2525 may be performed in accordance with the methods described herein. In some examples, aspects of the operations of 2525 may be performed by a multilink manager as described with reference to fig. 14-17.
It should be noted that the methods described herein describe possible implementations, and that the operations and steps may be rearranged or otherwise modified and other implementations are possible. Further, aspects from two or more methods may be combined.
The techniques described herein may be used for various wireless communication systems such as Code Division Multiple Access (CDMA), time Division Multiple Access (TDMA), frequency Division Multiple Access (FDMA), orthogonal Frequency Division Multiple Access (OFDMA), single carrier frequency division multiple access (SC-FDMA), and other systems. The terms "system" and "network" are often used interchangeably. A CDMA system may implement a radio technology such as CDMA2000, universal Terrestrial Radio Access (UTRA), and the like. CDMA2000 covers IS-2000, IS-95, and IS-856 standards. The IS-2000 version may be generally referred to as CDMA20001X, etc. IS-856 (TIA-856) IS commonly referred to as CDMA20001xEV-DO, high Rate Packet Data (HRPD), or the like. UTRA includes Wideband CDMA (WCDMA) and other variants of CDMA. TDMA systems may implement radio technologies such as global system for mobile communications (GSM). OFDMA systems may implement radio technologies such as Ultra Mobile Broadband (UMB), evolved UTRA (E-UTRA), IEEE 802.11 (Wi-Fi), IEEE 802.16 (WiMAX), IEEE 802.20, flash-OFDM, and the like.
One or more wireless communication systems described herein may support synchronous or asynchronous operation. For synchronous operation, stations may have similar frame timing, and transmissions from different stations may be approximately aligned in time. For asynchronous operation, stations may have different frame timings, and transmissions from different stations may not be aligned in time. The techniques described herein may be used for synchronous or asynchronous operation.
The downlink transmissions described herein may also be referred to as forward link transmissions, while the uplink transmissions may also be referred to as reverse link transmissions. Each communication link described herein, e.g., WLANs 100 and 200 including fig. 1 and 2, may include one or more carriers, where each carrier may be a signal (e.g., a waveform signal of a different frequency) composed of a plurality of subcarriers.
The description set forth herein in connection with the appended drawings describes example configurations and is not intended to represent all examples that may be implemented or fall within the scope of the claims. The term "exemplary" as used herein means "serving as an example, instance, or illustration," and does not mean "better than" or "over other examples. The detailed description includes specific details to provide an understanding of the described technology. However, the techniques may be practiced without these specific details. In some instances, well-known structures and devices are shown in block diagram form in order to avoid obscuring the concepts of the described examples.
In the drawings, similar components or features may have the same reference numerals. Further, individual components of the same type may be distinguished by following the reference label by a dash and a second label that distinguishes among the similar components. If only the first reference number is used in the specification, the description may be applied to any one of the similar components having the same first reference number regardless of the second reference number.
The information and signals described herein may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.
The various illustrative blocks and modules described in connection with the disclosure herein may be implemented or performed with a general-purpose processor, DSP, ASIC, FPGA or other programmable logic device, 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 the alternative, the processor may be any conventional 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, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration).
The functions described herein may be implemented in hardware, software executed by a processor, firmware, or any combination thereof. If implemented in software for execution by a processor, the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. Other examples and implementations are within the scope of the disclosure and the appended claims. For example, due to the nature of software, the functions described herein may be implemented using software executed by a processor, hardware, firmware, hardwired or any combination thereof. Features that implement the functions may also be physically located in various places including being distributed such that parts of the functions are implemented at different physical locations. In addition, as used herein (including in the claims), an "or" used in an item enumeration (e.g., an item enumeration accompanied by a phrase such as "at least one of" or "one or more of" indicates an inclusive enumeration, such that, for example, enumeration of at least one of A, B or C means a or B or C or AB or AC or BC or ABC (i.e., a and B and C). Also, as used herein, the phrase "based on" should not be construed as referring to a closed set of conditions. For example, exemplary steps described as "based on condition a" may be based on both condition a and condition B without departing from the scope of the present disclosure. In other words, as used herein, the phrase "based on" should be read in the same manner as the phrase "based at least in part on".
Computer-readable media includes both non-transitory computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. Non-transitory storage media may be any available media that can be accessed by a general purpose or special purpose computer. By way of example, and not limitation, non-transitory computer-readable media can comprise RAM, ROM, electrically erasable programmable read-only memory (EEPROM), compact Disk (CD) ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other non-transitory medium that can be used to carry or store desired program code means in the form of instructions or data structures and that can be accessed by a general-purpose or special-purpose computer, or a general-purpose or special-purpose processor. Any connection is properly termed a computer-readable medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital Subscriber Line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. Disk (disc) and disc (disc), as used herein, includes CD, laser disc, optical disc, digital Versatile Disc (DVD), floppy disk and blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above are also included within the scope of computer-readable media.
The description herein is provided to enable any person skilled in the art to make or use the disclosure. Various modifications to the disclosure will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other variations without departing from the scope of the disclosure. Thus, the disclosure is not intended to be limited to the examples and designs described herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims (28)
1. An apparatus for wireless communication at a first wireless device, comprising:
a processor;
a memory in electronic communication with the processor; and
instructions stored in the memory and executable by the processor to cause the apparatus to:
establishing a multi-link session between a first wireless device and a second wireless device, the multi-link session comprising a plurality of wireless links for communicating in parallel between the first wireless device and the second wireless device;
attaching the common sequence number SN to a group of media access control, MAC, service data units associated with a plurality of traffic streams;
assigning the group of MAC service data units to a common transmit queue, wherein the MAC service data units are allocated to the plurality of wireless links from the common transmit queue; and
Parallel communications are communicated between the first wireless device and the second wireless device over the plurality of wireless links, wherein a first traffic stream of the plurality of traffic streams is communicated over a first wireless link of the plurality of wireless links and a second traffic stream of the plurality of traffic streams is communicated over a second wireless link of the plurality of wireless links.
2. The apparatus of claim 1, wherein the instructions are further executable by the processor to cause the apparatus to:
formatting data to be transmitted to the second wireless device into a plurality of MAC service data units; and
a first set of the plurality of MAC service data units is transmitted to the second wireless device over the first wireless link.
3. The apparatus of claim 2, wherein the instructions are further executable by the processor to cause the apparatus to:
a second set of MAC service data units is received from the second wireless device over the second one of the plurality of wireless links.
4. The apparatus of claim 2, wherein the instructions are further executable by the processor to cause the apparatus to:
Assigning a first subset of MAC service data units to a first transmit queue for the first wireless link; and
a second subset of MAC service data units is allocated to a second transmit queue for a third wireless link.
5. The apparatus of claim 2, wherein the instructions are further executable by the processor to cause the apparatus to:
the plurality of MAC service data units are allocated to the common transmit queue for the first wireless link and the second wireless link.
6. The apparatus of claim 1, wherein:
the second wireless link includes a narrower bandwidth than the first wireless link.
7. The apparatus of claim 6, wherein the message received from the second wireless device over the second wireless link includes feedback responsive to a first set of MAC service data units transmitted to the second wireless device over the first wireless link.
8. The apparatus of claim 1, wherein the plurality of wireless links are synchronized in time.
9. The apparatus of claim 1, wherein a first radio frequency spectrum band punctures the plurality of wireless links, the first radio frequency spectrum band being different from each of a plurality of radio frequency spectrum bands corresponding to the plurality of wireless links of the multi-link session.
10. The apparatus of claim 1, wherein the instructions are further executable by the processor to cause the apparatus to:
receiving a first set of MAC service data units from the second wireless device over the second one of the plurality of wireless links;
receiving a second set of MAC service data units from the second wireless device on a third wireless link of the plurality of wireless links; and
the first set of MAC service data units and the second set of MAC service data units are reordered to generate a single data message for the second wireless device.
11. The apparatus of claim 10, wherein the instructions are further executable by the processor to cause the apparatus to:
aggregating the first set of MAC service data units into a first receive queue for the second wireless link; and
the second set of MAC service data units is aggregated into a second receive queue for the third wireless link.
12. A method for wireless communication at a first wireless device, comprising:
establishing a multi-link session between the first wireless device and a second wireless device, the multi-link session comprising a plurality of wireless links for communicating in parallel between the first wireless device and the second wireless device;
Attaching the common sequence number SN to a group of media access control, MAC, service data units associated with a plurality of traffic streams;
assigning the group of MAC service data units to a common transmit queue, wherein the MAC service data units are allocated to the plurality of wireless links from the common transmit queue; and
parallel communications are communicated between the first wireless device and the second wireless device over the plurality of wireless links, wherein a first traffic stream of the plurality of traffic streams is communicated over a first wireless link of the plurality of wireless links and a second traffic stream of the plurality of traffic streams is communicated over a second wireless link of the plurality of wireless links.
13. The method of claim 12, further comprising:
formatting data to be transmitted to the second wireless device into a plurality of MAC service data units; and
a first set of the plurality of MAC service data units is transmitted to the second wireless device over the first wireless link.
14. The method of claim 13, further comprising:
a second set of MAC service data units is received from the second wireless device over the second one of the plurality of wireless links.
15. The method of claim 13, further comprising:
assigning a first subset of MAC service data units to a first transmit queue for the first wireless link; and
a second subset of MAC service data units is allocated to a second transmit queue for a third wireless link.
16. The method of claim 13, further comprising:
the plurality of MAC service data units are allocated to the common transmit queue for the first wireless link and the second wireless link.
17. The method of claim 12, wherein:
the second wireless link includes a narrower bandwidth than the first wireless link.
18. The method of claim 17, wherein the message received from the second wireless device over the second wireless link includes feedback responsive to a first set of MAC service data units transmitted to the second wireless device over the first wireless link.
19. The method of claim 12, wherein the plurality of wireless links are synchronized in time.
20. The method of claim 12, wherein a first radio frequency spectrum band punctures the plurality of wireless links, the first radio frequency spectrum band being different from each of a plurality of radio frequency spectrum bands corresponding to the plurality of wireless links of the multi-link session.
21. The method of claim 12, further comprising:
receiving a first set of MAC service data units from the second wireless device over the second one of the plurality of wireless links;
receiving a second set of MAC service data units from the second wireless device on a third wireless link of the plurality of wireless links; and
the first set of MAC service data units and the second set of MAC service data units are reordered to generate a single data message for the second wireless device.
22. The method of claim 21, further comprising:
aggregating the first set of MAC service data units into a first receive queue for the second wireless link; and
the second set of MAC service data units is aggregated into a second receive queue for the third wireless link.
23. An apparatus for wireless communication at a first wireless device, comprising:
means for establishing a multi-link session between a first wireless device and a second wireless device, the multi-link session comprising a plurality of wireless links for communicating in parallel between the first wireless device and at least the second wireless device;
Means for attaching a common sequence number SN to a group of media access control, MAC, service data units associated with a plurality of traffic streams;
means for assigning the group of MAC service data units to a common transmit queue, wherein the MAC service data units are allocated from the common transmit queue to the plurality of wireless links; and
means for communicating parallel communications between the first wireless device and the second wireless device over the plurality of wireless links, wherein a first traffic stream of the plurality of traffic streams is communicated over a first wireless link of the plurality of wireless links and a second traffic stream of the plurality of traffic streams is communicated over a second wireless link of the plurality of wireless links.
24. The apparatus of claim 23, further comprising:
means for formatting data to be transmitted to the second wireless device into a plurality of MAC service data units;
means for transmitting a first set of the plurality of MAC service data units to the second wireless device over the first wireless link.
25. The apparatus of claim 24, further comprising:
Means for receiving a second set of MAC service data units from a second wireless device over a second wireless link of the plurality of wireless links.
26. The apparatus of claim 24, further comprising:
means for allocating a first subset of MAC service data units to a first transmit queue for the first wireless link; and
means for allocating the second subset of MAC service data units to a second transmit queue for a third wireless link.
27. The apparatus of claim 24, further comprising:
means for allocating the plurality of MAC service data units to the common transmit queue for the first wireless link and the second wireless link.
28. A non-transitory computer-readable medium storing code for wireless communication at a first wireless device, the code comprising instructions executable by a processor to:
establishing a multi-link session between a first wireless device and a second wireless device, the multi-link session comprising a plurality of wireless links for communicating in parallel between the first wireless device and the second wireless device;
attaching the common sequence number SN to a group of media access control, MAC, service data units associated with a plurality of traffic streams;
Assigning the group of MAC service data units to a common transmit queue, wherein the MAC service data units are allocated to the plurality of wireless links from the common transmit queue; and
parallel communications are communicated between the first wireless device and the second wireless device over the plurality of wireless links, wherein a first traffic stream of the plurality of traffic streams is communicated over a first wireless link of the plurality of wireless links and a second traffic stream of the plurality of traffic streams is communicated over a second wireless link of the plurality of wireless links.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/246,410 US11337263B2 (en) | 2017-01-19 | 2019-01-11 | Packet based link aggregation architectures |
US16/246,410 | 2019-01-11 | ||
PCT/US2020/012599 WO2020146401A1 (en) | 2019-01-11 | 2020-01-07 | Packet based link aggregation architectures |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113273308A CN113273308A (en) | 2021-08-17 |
CN113273308B true CN113273308B (en) | 2024-03-22 |
Family
ID=69528962
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080008064.XA Active CN113273308B (en) | 2019-01-11 | 2020-01-07 | Packet-based link aggregation architecture |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP3909389A1 (en) |
KR (1) | KR20210114403A (en) |
CN (1) | CN113273308B (en) |
TW (1) | TWI818142B (en) |
WO (1) | WO2020146401A1 (en) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110167073B (en) | 2018-02-13 | 2020-12-22 | 华为技术有限公司 | Method, equipment and wireless network system for transmitting data |
US11818799B1 (en) * | 2019-05-30 | 2023-11-14 | Marvell Asia Pte Ltd | Data unit aggregation in a wireless network with multiple channel segments |
CA3190080A1 (en) * | 2020-08-19 | 2022-02-24 | Oren Hencinski | Device and method for multi-link wireless transmissions |
EP4205350A4 (en) * | 2020-08-27 | 2024-07-17 | Hewlett Packard Entpr Dev Lp | Encryption enhancement for multi-link operation in 802.11 |
CN116472780A (en) | 2020-11-20 | 2023-07-21 | Lg电子株式会社 | Method and apparatus for requesting partial information about transmitting AP in MLD in wireless LAN system |
CN112911728B (en) * | 2021-01-29 | 2023-05-02 | 极米科技股份有限公司 | Method for searching peer-to-peer terminal in tunnel direct link establishment, terminal and medium |
WO2023277460A1 (en) * | 2021-06-30 | 2023-01-05 | Samsung Electronics Co., Ltd. | Tunneled direct-link setup channel switching with non simultaneous transmit and receive operation |
CN116918299A (en) * | 2021-07-15 | 2023-10-20 | 威睿公司 | Managing playback windows in a multi-path connection between gateways |
CN114501543A (en) * | 2022-01-10 | 2022-05-13 | 华为技术有限公司 | Method for multilink communication and multilink equipment |
TWI813262B (en) * | 2022-04-20 | 2023-08-21 | 瑞昱半導體股份有限公司 | Communications device and method for receiving aggregate packet |
WO2023245687A1 (en) * | 2022-06-24 | 2023-12-28 | Oppo广东移动通信有限公司 | Multi-link reconfiguration methods and apparatuses, and communication device |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6778495B1 (en) * | 2000-05-17 | 2004-08-17 | Cisco Technology, Inc. | Combining multilink and IP per-destination load balancing over a multilink bundle |
US8130699B2 (en) * | 2007-03-07 | 2012-03-06 | Wi-Lan, Inc. | Multi-band channel aggregation |
US8539296B2 (en) * | 2009-05-11 | 2013-09-17 | Empire Technology Development Llc | Coordination of packet and acknowledgment retransmissions |
US8705363B2 (en) * | 2011-04-05 | 2014-04-22 | Telefonaktiebolaget L M Ericsson (Publ) | Packet scheduling method and apparatus |
US9590792B2 (en) * | 2013-04-01 | 2017-03-07 | Marvell World Trade Ltd. | Termination of wireless communication uplink periods to facilitate reception of other wireless communications |
US9585048B2 (en) * | 2013-10-30 | 2017-02-28 | Qualcomm Incorporated | Techniques for aggregating data from WWAN and WLAN |
US9325622B2 (en) * | 2013-12-03 | 2016-04-26 | International Business Machines Corporation | Autonomic traffic load balancing in link aggregation groups |
US9930713B2 (en) * | 2016-08-19 | 2018-03-27 | Intel IP Corporation | Multi-band link aggregation setup frames |
US10856203B2 (en) * | 2017-01-19 | 2020-12-01 | Qualcomm Incorporated | Signaling for link aggregation setup and reconfiguration |
-
2020
- 2020-01-07 CN CN202080008064.XA patent/CN113273308B/en active Active
- 2020-01-07 KR KR1020217020798A patent/KR20210114403A/en unknown
- 2020-01-07 WO PCT/US2020/012599 patent/WO2020146401A1/en unknown
- 2020-01-07 EP EP20704641.8A patent/EP3909389A1/en active Pending
- 2020-01-08 TW TW109100570A patent/TWI818142B/en active
Also Published As
Publication number | Publication date |
---|---|
TW202040971A (en) | 2020-11-01 |
EP3909389A1 (en) | 2021-11-17 |
WO2020146401A1 (en) | 2020-07-16 |
TWI818142B (en) | 2023-10-11 |
CN113273308A (en) | 2021-08-17 |
KR20210114403A (en) | 2021-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11337263B2 (en) | Packet based link aggregation architectures | |
CN110199549B (en) | Packet-based link aggregation architecture | |
CN113273308B (en) | Packet-based link aggregation architecture | |
US10938454B2 (en) | Method and apparatus for uplink orthogonal frequency division multiple access | |
US11057258B2 (en) | Data channel and control/management channel separation | |
US9853791B2 (en) | Medium access protection and bandwidth negotiation in a wireless local area network | |
US11165544B2 (en) | Multi-user preamble format for a wireless local area network | |
CN107925514B (en) | Wireless communication method using trigger information, and wireless communication terminal | |
CN115664585A (en) | Wireless communication method and wireless communication terminal thereof | |
KR20220143846A (en) | Method and wireless communication terminal for transmitting and receiving data in a wireless communication system | |
US12082170B2 (en) | Methods and apparatus for supporting prioritized transmission opportunity (TXOP) sharing | |
CN108886710B (en) | Wireless communication method using segmentation and wireless communication terminal using the same | |
US12150075B2 (en) | Wireless communication method using multilink, and wireless communication terminal using same | |
US20240129866A1 (en) | Wireless communication method using multilink, and wireless communication terminal using same | |
KR20240155128A (en) | Coordinated spatial reuse and frequency utilization in overlapping basic service set environments | |
CN117356156A (en) | Wireless communication device using shared TXOP and method of operating the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |