U.S. patent application number 15/872825 was filed with the patent office on 2018-07-19 for multi-link block acknowledgement management.
The applicant listed for this patent is QUALCOMM Incorporated. Invention is credited to Alfred Asterjadhi, George Cherian, Simone Merlin, Abhishek Pramod Patil, Venkata Ramanan Venkatachalam Jayaraman, Yan Zhou.
Application Number | 20180205502 15/872825 |
Document ID | / |
Family ID | 62838314 |
Filed Date | 2018-07-19 |
United States Patent
Application |
20180205502 |
Kind Code |
A1 |
Merlin; Simone ; et
al. |
July 19, 2018 |
MULTI-LINK BLOCK ACKNOWLEDGEMENT MANAGEMENT
Abstract
Methods, systems, and devices for multi-link wireless
communication are described. A block acknowledgment (BA) agreement
(e.g., a multi-link BA session) may be established based on
exchanged multi-link capability information (e.g., a BA window
size, BA scoreboarding information, one or more wireless link
identifiers, etc.). In some cases, a BA agreement may be
established across some or all of the multiple links. In other
cases, a BA agreement may be established on a per-link basis. The
BA agreement may further establish one or more sets of sequence
numbers, as well as scoreboarding techniques used by the
transmitting wireless device for the BA session. The wireless
device may then transmit packets to another wireless device using
multiple links, and receive a BA with acknowledgement information
accounting for the transmitted packets according to the established
BA agreement. BAs may be transmitted on one link or on multiple
links by the receiving device.
Inventors: |
Merlin; Simone; (San Diego,
CA) ; Zhou; Yan; (San Diego, CA) ; Cherian;
George; (San Diego, CA) ; Patil; Abhishek Pramod;
(San Diego, CA) ; Asterjadhi; Alfred; (San Diego,
CA) ; Venkatachalam Jayaraman; Venkata Ramanan; (San
Diego, CA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
QUALCOMM Incorporated |
San Diego |
CA |
US |
|
|
Family ID: |
62838314 |
Appl. No.: |
15/872825 |
Filed: |
January 16, 2018 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
62448326 |
Jan 19, 2017 |
|
|
|
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
H04B 1/0483 20130101;
H04W 28/06 20130101; H04L 67/14 20130101; H04W 88/10 20130101; H04W
76/15 20180201; H04L 1/1628 20130101; H04W 52/0216 20130101; H04L
47/34 20130101; H04L 1/1621 20130101; H04W 28/0221 20130101; H04W
72/085 20130101; Y02D 30/70 20200801; H04L 1/1887 20130101; H04W
48/16 20130101; H04L 5/00 20130101; H04L 5/0055 20130101; H04W
84/12 20130101; H04L 5/0053 20130101; H04W 76/14 20180201; H04L
65/607 20130101; H04B 1/1615 20130101; H04W 8/22 20130101; H04W
40/02 20130101; H04L 45/245 20130101; H04L 47/41 20130101; H04W
28/0215 20130101; H04W 52/0229 20130101; H04L 61/6022 20130101 |
International
Class: |
H04L 1/16 20060101
H04L001/16; H04L 5/00 20060101 H04L005/00; H04W 76/15 20180101
H04W076/15 |
Claims
1. An apparatus for wireless communication, comprising: a
processor; memory in electronic communication with the processor;
and instructions stored in the memory and executable by the
processor to cause the apparatus to: establish a block
acknowledgement agreement for a plurality of wireless links used
for communications in parallel between the apparatus and a second
wireless device; format data to be transmitted to the wireless
device into a plurality of data units; assign, to each of the
plurality of data units, a respective one of a set of sequence
numbers common to the plurality of wireless links; transmit the
plurality of data units to the wireless device over one or more of
the plurality of wireless links; and receive a plurality of block
acknowledgements, each of the plurality of block acknowledgements
indicating one or more of the set of common sequence numbers.
2. The apparatus of claim 1, wherein the instructions to transmit
the plurality of data units to the wireless device over one or more
of the plurality of wireless data links are executable by the
processor to cause the apparatus to: transmit a first set of data
units of the plurality of data units to the wireless device over a
first wireless link of the plurality of wireless links; and
transmit a second set of data units of the plurality of data units
to the wireless device over a second wireless link of the plurality
of wireless links.
3. The apparatus of claim 2, wherein the instructions to receive
the plurality of block acknowledgements are executable by the
processor to cause the apparatus to: receive a first set of the
plurality of block acknowledgement over the first wireless link,
wherein the first set of the plurality of block acknowledgements is
for the first set of the plurality of data units; and receive a
second set of the plurality of block acknowledgement over the
second wireless link, wherein the second set of the plurality of
block acknowledgements is for the second set of the plurality of
data units.
4. The apparatus of claim 2, wherein the instructions are further
executable by the processor to cause the apparatus to: receive the
plurality block acknowledgements over the first wireless link, the
plurality of block acknowledgements for both the first set of the
plurality of data units and the second set of the plurality of data
units.
5. The apparatus of claim 1, wherein the instructions are further
executable by the processor to cause the apparatus to: update,
based at least in part on one or more of the plurality of received
block acknowledgements, a scoreboard to track data units
acknowledged or not acknowledged by the wireless device for the
plurality of wireless links.
6. The apparatus of claim 1, wherein the instructions are further
executable by the processor to cause the apparatus to: update,
based at least in part on the received plurality of block
acknowledgements, a first scoreboard to track data units
acknowledged or not acknowledged by the wireless device for a first
wireless link of the plurality of wireless links, and a second
scoreboard to track data units acknowledged or not acknowledged by
the wireless device for a second wireless link of the plurality of
wireless links.
7. The apparatus of claim 1, wherein the instructions are further
executable by the processor to cause the apparatus to: assign a
respective sequence number of a second set of sequence numbers to
each of a first set of data units of the plurality of data units to
be transmitted over a first wireless link of the plurality of
wireless links; and assign a respective sequence number of a third
set of sequence numbers to each of a second set of data units of
the plurality of data units to be transmitted over a second
wireless link of the plurality of wireless links.
8. The apparatus of claim 4, wherein the received plurality of
block acknowledgements further indicate one or more sequence
numbers of the second set of sequence numbers for the first set of
data units, or one or more sequence numbers of the third set of
sequence numbers for the second set of data units, or a combination
thereof.
9. The apparatus of claim 1, wherein the instructions are further
executable by the processor to cause the apparatus to: decompress a
block acknowledgement bitmap of the received plurality of block
acknowledgements to identify the one or more of the set of common
sequence numbers.
10. The apparatus of claim 1, wherein a block acknowledgement of
the plurality of block acknowledgements comprises a multi-traffic
identifier (TID) block acknowledgement to acknowledge or not
acknowledge a single TID or a single station.
11. The apparatus of claim 10, wherein the instructions to receive
the plurality of block acknowledgements are executable by the
processor to cause the apparatus to: receive, in the multi-TID
block acknowledgement, a first portion associated with a first
starting sequence number and a second portion associated with a
second starting sequence number, wherein the first portion and the
second portion are for the single TID or the single station.
12. The apparatus of claim 1, wherein the received plurality of
block acknowledgements in aggregate span a block acknowledgement
window.
13. The apparatus of claim 1, wherein the instructions are further
executable by the processor to cause the apparatus to: exchange
block acknowledgement capability information with the wireless
device, wherein the block acknowledgement agreement is established
based at least in part on the exchanged block acknowledgement
capability information.
14. The apparatus of claim 13, wherein the block acknowledgement
capability information comprises a block acknowledgement window
size, or a wireless link identifier, or a combination thereof.
15. The apparatus of claim 13, wherein the instructions are further
executable by the processor to cause the apparatus to: determine a
first block acknowledgement window size for the plurality of
wireless links based at least in part on the exchanged block
acknowledgement capability information; and establish a second
block acknowledgement window size for a first wireless link of the
plurality of wireless links, the second block acknowledgement
window size less than the first block acknowledgement window
size.
16. The apparatus of claim 1, wherein: the instructions to receive
the plurality of block acknowledgements are executable by the
processor to cause the apparatus to: receive the plurality of block
acknowledgements over at least one wireless link of the one or more
of the plurality of wireless links; and the instructions to
transmit the plurality of data units are executable by the
processor to cause the apparatus to: transmit at least a portion of
the plurality of data units to the wireless device over a second
wireless link of the plurality of wireless links, the second
wireless link a unidirectional wireless link that is exclusive of
the at least one wireless link used to receive the plurality of
block acknowledgements.
17. An apparatus for wireless communication, comprising: a
processor; memory in electronic communication with the processor;
and instructions stored in the memory and executable by the
processor to cause the apparatus to: establish a block
acknowledgement agreement for a plurality of wireless links used
for communications in parallel between the apparatus and a wireless
device; receive a plurality of data units from the wireless device
over one or more of the plurality of wireless links, each data unit
of the plurality of data units associated with one of a set of
sequence numbers common to the plurality of wireless links; and
transmit a plurality of block acknowledgements in response to the
plurality of data units, each of the plurality of block
acknowledgements indicating one or more of the set of common
sequence numbers.
18. The apparatus of claim 17, wherein the instructions to receive
the plurality of data units from the wireless device over the one
or more of the plurality of wireless links are executable by the
processor to cause the apparatus to: receive a first set of a
plurality of data units from the wireless device over a first
wireless link of the plurality of wireless links, each data unit of
the first set associated with one of the set of common sequence
numbers; receive a second set of the plurality of data units from
the wireless device over a second wireless link of the plurality of
wireless links, each data unit of the second set associated with
one of the set of common sequence numbers.
19. The apparatus of claim 18, wherein each of the plurality of
block acknowledgements further indicate: one or more of a first set
of sequence numbers for the received first set of data units; or
one or more of a second set of sequence numbers for the received
second set of data units.
20. A method for wireless communication at a first wireless device,
comprising: establishing a block acknowledgement agreement for a
plurality of wireless links used for communications in parallel
between the first wireless device and a second wireless device;
formatting data to be transmitted to the second wireless device
into a plurality of data units; assigning, to each of the plurality
of data units, a respective one of a set of sequence numbers common
to the plurality of wireless links; transmitting the plurality of
data units to the second wireless device over one or more of the
plurality of wireless links; and receiving a plurality of block
acknowledgements, each of the plurality of block acknowledgements
indicating one or more of the set of common sequence numbers.
Description
CROSS REFERENCES
[0001] The present Application for patent claims priority to U.S.
Provisional Patent Application No. 62/448,326 to Zhou et. al.,
titled "WI-FI MULTICHANNEL AGGREGATION", filed Jan. 19, 2017,
assigned to the assignee hereof, which is hereby incorporated by
reference in its entirety.
BACKGROUND
[0002] The following relates generally to wireless communication,
and more specifically to multi-link block acknowledgement (BA)
management.
[0003] Wireless communications 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, for example
a wireless local area network (WLAN), such as a 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 a mobile
device to communicate via the network (or communicate with other
devices coupled to the access point). A wireless device may
communicate with a network device bi-directionally. For example, in
a WLAN, a STA may communicate with an associated AP via downlink
and uplink. The downlink (or forward link) may refer to the
communication link from the AP to the station, and the uplink (or
reverse link) may refer to the communication link from the station
to the AP.
[0004] Devices in a WLAN may communicate over unlicensed spectrum,
which may be a portion of spectrum that includes frequency bands
traditionally used by Wi-Fi technology, such as the 5 GHz band, the
2.4 GHz band, the 60 GHz band, the 3.6 GHz band, and/or the 900 MHz
band. The unlicensed spectrum may also include other frequency
bands. The wireless connection between an AP and 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
band (e.g., the 5 GHz band) may contain multiple channels (e.g.,
each spanning 20 MHz in frequency), each of which may be usable by
an AP or STA. A channel may support multiple connections (e.g.,
between multiple STAs and the AP) in a multiple access
configuration (e.g., code division multiple access (CDMA)). Some
wireless communications systems may thus support multi-link
aggregation, where transmissions may be transmitted and/or received
over two or more links between two wireless devices (e.g., an AP
and a STA). Different link quality or transmission performance
across different links may result in transmission latency (e.g.,
due to delays in acknowledgement procedures) and reduced system
performance. Improved techniques for multi-link block
acknowledgement (BA) management in wireless communications systems
supporting multi-link operation may thus be desired.
SUMMARY
[0005] The described techniques relate to improved methods,
systems, devices, or apparatuses that support techniques for
multichannel block acknowledgements (BAs). For example, a wireless
device may establish a BA agreement for the multiple links
supported by the wireless device for multi-link aggregation (e.g.,
a multi-link BA session). A BA agreement may be established based
on exchanged multi-link capability information (e.g., a BA window
size, one or more wireless link identifiers, etc.). In some cases,
a BA agreement may be established across some or all of the
multiple links. In other cases, a BA agreement may be established
on a per-link basis. For example, a BA agreement may establish a
transmitter address (TA), receiver address (RA), and/or traffic
identifier (TID) for one or more indicated links. The wireless
device may then transmit packets to another wireless device using
multiple links, and receive a BA with acknowledgement information
accounting for the transmitted packets according to the established
BA agreement. The BA agreement may use one, or multiple, of the
links to transmit BAs in response to the transmitted packets.
[0006] In cases where the BA agreement is established across
multiple links, a transmitting device (e.g., a device transmitting
packets or data units and receiving subsequent BAs) may assign each
of the data units one of a single set of sequence numbers (SNs)
(e.g., a global set of SNs), and the data units may be sent over
any of the wireless links. The receiving device (e.g., a device
receiving data units and transmitting BAs in response) may receive
data units (e.g., associated with a single set of SNs) over any of
the multiple links, and transmit a BA in response. In such cases,
the established BA agreement may include a longer BA window size
(e.g., a multi-link BA window), to accommodate the increased number
of packets sent per round-trip-time (e.g., due to multi-link
aggregation techniques). A multi-link BA window may, for example,
be increased to accommodate the larger single set of SNs necessary
for all data units transmitted across the multiple links (e.g.,
increased from 256 bits to 1024 bits). Therefore, a single
scoreboard may be maintained and updated.
[0007] In other cases, the BA agreement is established on a
per-link basis and a transmitting device may assign SNs to data
units on a per-link basis. That is, The BA agreement may call for
both a global set of SNs (e.g., associated with all the links used
for multi-link aggregation), as well as a local set of SNs (e.g.,
associated with each link used for multi-link aggregation). In such
cases, data units (e.g., media access control (MAC) protocol data
units (MPDUs)) may indicate or carry both a per-link SN as well as
a global SN (e.g., in an enhanced MAC header). Data units may then
be acknowledged or accounted for on a per-link basis, and mapped to
a global scoreboard at the transmitting device. That is, the
transmitter may maintain a local scoreboard for each wireless link
associated with its own BA agreement, and the local scoreboard may
be mapped to a global scoreboard.
[0008] In either case above, a BA window size may be increased to
accommodate the increased number of packets communicable in a given
period of time due to multi-link operation (e.g., and thus the
increased number of SNs needed for BAs). In some cases, the BA
window (e.g., the multi-link BA window) may be divided into
segments or smaller BA agreements (e.g., covering different
portions or ranges of the SNs) for different links. In some
examples, a new BA format (e.g., a multi-link BA format) may be
defined to indicate a longer bitmap associated with the increased
number of SNs (e.g., in cases where a BA agreement is established
across multiple links and a single or global set of SNs are used).
Alternatively, existing BA formats may be repurposed to implement
multi-link BA techniques described herein. For example, a
multi-user BA (M-BA) may be repurposed to act as a BA for multiple
links for a single user rather than for multiple users. In other
examples, single user/single-TID BA formats may be combined or
aggregated (e.g., on a single link) to span the increased BA window
size.
[0009] A method of wireless communication is described. The method
may include establishing a block acknowledgement agreement for a
plurality of wireless links used for communications in parallel
between the first wireless device and a second wireless device,
formatting data to be transmitted to the second wireless device
into a plurality of data units, assigning, to each of the plurality
of data units, a respective one of a set of sequence numbers common
to the plurality of wireless links, transmitting the plurality of
data units to the second wireless device over one or more of the
plurality of wireless links, and receiving a plurality of block
acknowledgements, each of the plurality of block acknowledgements
indicating one or more of the set of common sequence numbers.
[0010] An apparatus for wireless communication is described. The
apparatus may include means for establishing a block
acknowledgement agreement for a plurality of wireless links used
for communications in parallel between the first wireless device
and a second wireless device, means for formatting data to be
transmitted to the second wireless device into a plurality of data
units, means for assigning, to each of the plurality of data units,
a respective one of a set of sequence numbers common to the
plurality of wireless links, means for transmitting the plurality
of data units to the second wireless device over one or more of the
plurality of wireless links, and means for receiving a plurality of
block acknowledgements, each of the plurality of block
acknowledgements indicating one or more of the set of common
sequence numbers.
[0011] Another apparatus for wireless communication is described.
The apparatus may include a processor, memory in electronic
communication with the processor, and instructions stored in the
memory. The instructions may be operable to cause the processor to
establish a block acknowledgement agreement for a plurality of
wireless links used for communications in parallel between the
first wireless device and a second wireless device, format data to
be transmitted to the second wireless device into a plurality of
data units, assign, to each of the plurality of data units, a
respective one of a set of sequence numbers common to the plurality
of wireless links, transmit the plurality of data units to the
second wireless device over one or more of the plurality of
wireless links, and receive a plurality of block acknowledgements,
each of the plurality of block acknowledgements indicating one or
more of the set of common sequence numbers.
[0012] 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
establish a block acknowledgement agreement for a plurality of
wireless links used for communications in parallel between the
first wireless device and a second wireless device, format data to
be transmitted to the second wireless device into a plurality of
data units, assign, to each of the plurality of data units, a
respective one of a set of sequence numbers common to the plurality
of wireless links, transmit the plurality of data units to the
second wireless device over one or more of the plurality of
wireless links, and receive a plurality of block acknowledgements,
each of the plurality of block acknowledgements indicating one or
more of the set of common sequence numbers.
[0013] In some examples of the method, apparatus, and
non-transitory computer-readable medium described above,
transmitting the plurality of data units to the second wireless
device over one or more of the plurality of wireless data links
further comprises: 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. Some examples of
the method, apparatus, and non-transitory computer-readable medium
described above may further include processes, features, means, or
instructions for 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.
[0014] In some examples of the method, apparatus, and
non-transitory computer-readable medium described above, receiving
the plurality of block acknowledgements further comprises:
receiving a first set of the plurality of block acknowledgement
over the first wireless link, wherein the first set of the
plurality of block acknowledgements may be for the first set of the
plurality of data units. Some examples of the method, apparatus,
and non-transitory computer-readable medium described above may
further include processes, features, means, or instructions for
receiving a second set of the plurality of block acknowledgement
over the second wireless link, wherein the second set of the
plurality of block acknowledgements may be for the second set of
the plurality of data units.
[0015] Some examples of the method, apparatus, and non-transitory
computer-readable medium described above may further include
processes, features, means, or instructions for receiving the
plurality block acknowledgements over the first wireless link, the
plurality of block acknowledgements for both the first set of the
plurality of data units and the second set of the plurality of data
units.
[0016] In some examples of the method, apparatus, and
non-transitory computer-readable medium described above, the
received plurality of block acknowledgements further indicate one
or more sequence numbers of the second set of sequence numbers for
the first set of data units, or one or more sequence numbers of the
third set of sequence numbers for the second set of data units, or
a combination thereof.
[0017] Some examples of the method, apparatus, and non-transitory
computer-readable medium described above may further include
processes, features, means, or instructions for updating, based at
least in part on one or more of the plurality of received block
acknowledgments, a scoreboard to track data units acknowledged or
not acknowledged by the second wireless device for the plurality of
wireless links.
[0018] Some examples of the method, apparatus, and non-transitory
computer-readable medium described above may further include
processes, features, means, or instructions for updating, based at
least in part on the received plurality of block acknowledgments, a
first scoreboard to track data units acknowledged or not
acknowledged by the second wireless device for a first wireless
link of the plurality of wireless links, and a second scoreboard to
track data units acknowledged or not acknowledged by the second
wireless device for a second wireless link of the plurality of
wireless links.
[0019] Some examples of the method, apparatus, and non-transitory
computer-readable medium described above may further include
processes, features, means, or instructions for assigning a
respective sequence number of a second set of sequence numbers to
each of a first set of data units of the plurality of data units to
be transmitted over a first wireless link of the plurality of
wireless links. Some examples of the method, apparatus, and
non-transitory computer-readable medium described above may further
include processes, features, means, or instructions for assigning a
respective sequence number of a third set of sequence numbers to
each of a second set of data units of the plurality of data units
to be transmitted over a second wireless link of the plurality of
wireless links.
[0020] Some examples of the method, apparatus, and non-transitory
computer-readable medium described above may further include
processes, features, means, or instructions for decompressing a
block acknowledgement bitmap of the received plurality of block
acknowledgements to identify the one or more of the set of common
sequence numbers.
[0021] In some examples of the method, apparatus, and
non-transitory computer-readable medium described above, a block
acknowledgement of the plurality of block acknowledgements
comprises a multi-TID block acknowledgement to acknowledge or not
acknowledge a single TID or a single station.
[0022] In some examples of the method, apparatus, and
non-transitory computer-readable medium described above, receiving
the plurality of block acknowledgements comprises: receiving, in
the multi-TID block acknowledgement, a first portion associated
with a first starting sequence number and a second portion
associated with a second starting sequence number, wherein the
first portion and the second portion may be for the single TID or
the single station.
[0023] Some examples of the method, apparatus, and non-transitory
computer-readable medium described above may further include
processes, features, means, or instructions for receiving plurality
of block acknowledgements in aggregate span a block acknowledgement
window.
[0024] Some examples of the method, apparatus, and non-transitory
computer-readable medium described above may further include
processes, features, means, or instructions for exchanging block
acknowledgement capability information with the second wireless
device, wherein the block acknowledgement agreement may be
established based at least in part on the exchanged block
acknowledgement capability information.
[0025] In some examples of the method, apparatus, and
non-transitory computer-readable medium described above, the block
acknowledgement capability information comprises a block
acknowledgement window size, or a wireless link identifier, or a
combination thereof.
[0026] Some examples of the method, apparatus, and non-transitory
computer-readable medium described above may further include
processes, features, means, or instructions for determining a first
block acknowledgement window size for the plurality of wireless
links based at least in part on the exchanged block acknowledgement
capability information. Some examples of the method, apparatus, and
non-transitory computer-readable medium described above may further
include processes, features, means, or instructions for
establishing a second block acknowledgement window size for a first
wireless link of the plurality of wireless links, the second block
acknowledgement window size less than the first block
acknowledgement window size.
[0027] A method of wireless communication is described. The method
may include establishing a block acknowledgement agreement for a
plurality of wireless links used for communications in parallel
between the first wireless device and a second wireless device,
receiving a plurality of data units from the second wireless device
over one or more of the plurality of wireless links, each data unit
of the plurality of data units associated with one of a set of
sequence numbers common to the plurality of wireless links, and
transmitting a plurality of block acknowledgements in response to
the plurality of data units, each of the plurality of block
acknowledgements indicating one or more of the set of common
sequence numbers.
[0028] An apparatus for wireless communication is described. The
apparatus may include means for establishing a block
acknowledgement agreement for a plurality of wireless links used
for communications in parallel between the first wireless device
and a second wireless device, means for receiving a plurality of
data units from the second wireless device over one or more of the
plurality of wireless links, each data unit of the plurality of
data units associated with one of a set of sequence numbers common
to the plurality of wireless links, and means for transmitting a
plurality of block acknowledgements in response to the plurality of
data units, each of the plurality of block acknowledgements
indicating one or more of the set of common sequence numbers.
[0029] Another apparatus for wireless communication is described.
The apparatus may include a processor, memory in electronic
communication with the processor, and instructions stored in the
memory. The instructions may be operable to cause the processor to
establish a block acknowledgement agreement for a plurality of
wireless links used for communications in parallel between the
first wireless device and a second wireless device, receive a
plurality of data units from the second wireless device over one or
more of the plurality of wireless links, each data unit of the
plurality of data units associated with one of a set of sequence
numbers common to the plurality of wireless links, and transmit a
plurality of block acknowledgements in response to the plurality of
data units, each of the plurality of block acknowledgements
indicating one or more of the set of common sequence numbers.
[0030] 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
establish a block acknowledgement agreement for a plurality of
wireless links used for communications in parallel between the
first wireless device and a second wireless device, receive a
plurality of data units from the second wireless device over one or
more of the plurality of wireless links, each data unit of the
plurality of data units associated with one of a set of sequence
numbers common to the plurality of wireless links, and transmit a
plurality of block acknowledgements in response to the plurality of
data units, each of the plurality of block acknowledgements
indicating one or more of the set of common sequence numbers.
[0031] In some examples of the method, apparatus, and
non-transitory computer-readable medium described above, receiving
the plurality of data units from the second wireless device over
the one or more of the plurality of wireless links further
comprises: receiving a first set of a plurality of data units from
the wireless device over a first wireless link of the plurality of
wireless links, each data unit of the first set associated with one
of the set of common sequence numbers. Some examples of the method,
apparatus, and non-transitory computer-readable medium described
above may further include processes, features, means, or
instructions for receiving a second set of the plurality of data
units from the wireless device over a second wireless link of the
plurality of wireless links, each data unit of the second set
associated with one of the set of common sequence numbers.
[0032] In some examples of the method, apparatus, and
non-transitory computer-readable medium described above, each of
the plurality of block acknowledgements further indicate: one or
more of a first set of sequence numbers for the received first set
of data units; or one or more of a second set of sequence numbers
for the received second set of data units.
[0033] In some examples of the method, apparatus, and
non-transitory computer-readable medium described above,
transmitting the plurality of block acknowledgements further
comprises: transmitting a multi-TID block acknowledgement to
acknowledge or not acknowledge a single TID or a single station,
the multi-TID block acknowledgement comprising a first portion
associated with a first starting sequence number and a second
portion associated with a second starting sequence number, wherein
the first portion and the second portion may be for the single TID
or the single station.
BRIEF DESCRIPTION OF THE DRAWINGS
[0034] FIG. 1 illustrates an example of a system for wireless
communication that supports multi-link block acknowledgement (BA)
management in accordance with aspects of the present
disclosure.
[0035] FIG. 2 illustrates an example of a wireless communications
system that supports multi-link BA management in accordance with
aspects of the present disclosure.
[0036] FIGS. 3 through 5 illustrate examples of layer
configurations that support multi-link BA management in accordance
with aspects of the present disclosure.
[0037] FIGS. 6A and 6B illustrate an example of global-local
scoreboard mapping for multi-link BAs in accordance with aspects of
the present disclosure.
[0038] FIGS. 7 and 8 illustrate examples of process flows that
support multi-link BA management in accordance with aspects of the
present disclosure.
[0039] FIGS. 9 through 11 show block diagrams of a device that
supports multi-link BA management in accordance with aspects of the
present disclosure.
[0040] FIG. 12 illustrates a block diagram of a system including a
wireless device that supports multi-link BA management in
accordance with aspects of the present disclosure.
[0041] FIGS. 13 through 17 illustrate methods for multi-link BA
management in accordance with aspects of the present
disclosure.
DETAILED DESCRIPTION
[0042] Some wireless communications systems may support multiple
parallel links between communicating devices, for example, to
increase throughput, to improve link efficiency, to 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) that support multiplexing of data, such that
during at least some duration of time, transmissions or portions of
transmissions may occur in parallel, for example over both links at
the same time, either synchronously, or asynchronously. The
wireless links may be in the same or different radio frequency (RF)
spectrum bands. Each link of a multi-link session may be associated
with respective physical components (e.g., antennas, amplifiers,
including power amplifiers and low noise amplifiers, etc.) and/or
logical processing components (e.g., physical (PHY) layers, media
access control (MAC) layers, etc.) of a given wireless device, and
these components may be configured to support multi-link
communications. The multiple links may connect wireless devices at
the MAC layer (e.g., each link may connect respective lower MAC
components of communicating devices). The MAC layer may aggregate
data packets from the multiple wireless links to provide to upper
layers (if the wireless device is receiving) or receive from upper
layers (if the wireless devices is transmitting) of the device
(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 spectral utilization, may increase the
complexity of the system.
[0043] Multi-link aggregation may also have implementation
challenges. For example, packets may be transmitted and/or received
across different links out of order, a given link may suffer
degraded communication conditions relative to another of the
aggregated links (e.g., frequency-dependent fading, etc.) for some
duration of time, a given link or a channel of the link may
experience a high traffic volume for some duration of time, etc.
which may, for example, result in inefficient block acknowledgement
(BA) procedures. Further, increased channel and bandwidth usage, as
well as increased peak throughput in a given time period, may
result in the need to increase BA windows (e.g., allowed windows or
spans of unacknowledged MAC packet data unit (MPDU) sequence
numbers (SNs)). In scenarios where multi-link aggregation systems
use independent BA procedures for each link, problems may arise at
higher layers during aggregation (e.g., when there is a weak or
slow link, which may stall a BA window and delay operation of or
throttle a second link). Further, sequence numbering and
scoreboarding techniques (e.g., techniques for a transmitting
device to account for which data units are correctly received as
indicated via BAs from a receiving device) may need to be modified
to account for an increased number of data units being transmitted
over the multiple links. As such, wireless communications systems
supporting multi-link aggregation may employ multi-link BA
management techniques described herein.
[0044] Wireless communications systems capable of multi-link
aggregation may require or benefit from improved multi-link BA
management techniques. The described techniques relate to improved
methods, systems, devices, or apparatuses that support techniques
for multichannel or multi-link BAs. For example, a wireless device
may establish a BA agreement (e.g., a multi-link BA session) for
the multiple links supported by the wireless device for multi-link
aggregation. A BA agreement may be established based on exchanged
multi-link capability information (e.g., a BA window size, one or
more wireless link identifiers, etc.). In some cases, a BA
agreement may be established across some or all of the multiple
links. In other cases, a BA agreement may be established on a
per-link basis.
[0045] In some cases (e.g., for single link operation) each link
may be associated with a unique transmitter address (TA), or a
unique receiver (RA), or a unique (TID), or a combination of unique
TA, RA, and/or TID. For example, for acknowledgment procedures in
such cases, a TA, RA, and TID tuple (e.g., <TA, RA, TID>) may
correspond to a BA agreement on that particular link. That is, a BA
agreement may be set up or established on a per TID basis. For
example, an add BA (ADDBA) frame may be per <RA, TA> and per
TID (e.g., per access category). However, in some wireless
communications systems supporting multi-link operation, each TID
may be aggregated across multiple links. Therefore, if each
aggregated TID is associated with a common BA agreement across
multiple links, predefined mapping between <TA, RA, TID> and
the BA agreement may be violated (e.g., in cases where each link
keeps a unique <TA, RA>). Thus, a BA agreement may establish
a TA, RA, and/or TID for one or more indicated links. The wireless
device may then transmit packets to another wireless device using
multiple links, and receive a BA with acknowledgement information
accounting for the transmitted packets according to the established
BA agreement. The BA agreement may use one, or multiple, of the
links to transmit BAs in response to the transmitted packets.
Further, sequence numbering and scoreboarding techniques may be
modified according to the one or more established BA agreements to
account for such data units being transmitted over the multiple
links, as described in more detail below.
[0046] Aspects of the disclosure are initially described in the
context of a wireless communications system. Aspects of the
disclosure are then described with reference to example layer
configurations as well as example process flow diagrams
implementing discussed BA techniques. Aspects of the disclosure are
further illustrated by and described with reference to apparatus
diagrams, system diagrams, and flowcharts that relate to multi-link
BA management
[0047] FIG. 1 illustrates a WLAN 100 (also known as a Wi-Fi
network) configured in accordance with various aspects of the
present disclosure. The WLAN 100 may include an AP 105 and multiple
associated STAs 115, which may represent devices such as wireless
communication terminals, including mobile stations, phones,
personal digital assistant (PDAs), other handheld devices,
netbooks, notebook computers, tablet computers, laptops, display
devices (e.g., TVs, computer monitors, etc.), printers, etc. The AP
105 and the associated STAs 115 may represent a basic service set
(BSS) or an extended service set (ESS). The various STAs 115 in the
network are able to communicate with one another through the AP
105. Also shown is a coverage area 110 of the AP 105, which may
represent a basic service area (BSA) of the WLAN 100. An extended
network station associated with the WLAN 100 may be connected to a
wired or wireless distribution system that may allow multiple APs
105 to be connected in an ESS.
[0048] A STA 115 may be located in the intersection of more than
one coverage area 110 and may associate with more than one AP 105.
A single AP 105 and an associated set of STAs 115 may be referred
to as a BSS. An ESS is a set of connected BSSs. A distribution
system may be used to connect APs 105 in an ESS. In some cases, the
coverage area 110 of an AP 105 may be divided into sectors. The
WLAN 100 may include APs 105 of different types (e.g., metropolitan
area, home network, etc.), with varying and overlapping coverage
areas 110. Two STAs 115 may also communicate directly via a direct
wireless link 125 regardless of whether both STAs 115 are in the
same coverage area 110. Examples of direct wireless links 125 may
include Wi-Fi Direct connections, Wi-Fi Tunneled Direct Link Setup
(TDLS) links, and other group connections. STAs 115 and APs 105 may
communicate according to the WLAN radio and baseband protocol for
physical and MAC layers from IEEE 802.11 and versions including,
but not limited to, 802.11b, 802.11g, 802.11a, 802.11n, 802.11ac,
802.11ad, 802.11ah, 802.11ax, 802.11ay, 802.11ba, etc. In other
implementations, peer-to-peer connections or ad hoc networks may be
implemented within WLAN 100. Devices in WLAN 100 may communicate
over unlicensed spectrum, which may be a portion of spectrum that
includes frequency bands traditionally used by Wi-Fi technology,
such as the 5 GHz band, the 2.4 GHz band, the 60 GHz band, the 3.6
GHz band, and/or the 900 MHz band. The unlicensed spectrum may also
include other frequency bands.
[0049] In some cases, a STA 115 (or an AP 105) may be detectable by
a central AP 105, but not 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, both STAs 115 may
communicate with the AP 105, but may not receive the transmissions
of the other. This may result in colliding transmissions for the
two STAs 115 in a contention based environment (e.g., carrier-sense
multiple access (CSMA)/collision avoidance (CA)) because the STAs
115 may not refrain from transmitting on top of each other. A STA
115 whose transmissions are not identifiable, but that is within
the same coverage area 110 may be known as a hidden node. CSMA/CA
may be supplemented by the exchange of a request-to-send (RTS)
packet transmitted by a sending STA 115 (or AP 105) and a
clear-to-send (CTS) packet transmitted by the receiving STA 115 (or
AP 105). This exchange may alert other devices within range of the
sender and receiver not to transmit for the duration of the primary
transmission. Thus, RTS/CTS handshake may help mitigate a hidden
node problem.
[0050] In a system supporting multi-link aggregation (which may
also be referred to as multi-channel aggregation), some of the
traffic associated with a single STA 115 may be transmitted across
multiple parallel communication links 120 (which may also be
referred to as "links" or "wireless links" herein). Multi-link
aggregation may thus provide a means to increase network capacity
and maximize the utilization of available resources. In some cases,
each communication link 120 for a given wireless device may be
associated with a respective radio of the wireless device (e.g.,
where a radio comprises transmit/receive chains, physical antennas,
signal processing components, etc.). Multi-link aggregation may be
implemented in a number of ways. As a first example, the multi-link
aggregation may be packet-based. In packet-based aggregation,
frames of a single traffic flow (e.g., all traffic associated with
a given TID) may be sent in parallel across multiple communication
links 120 (e.g., on multiple channels). In some cases, the multiple
communication links 120 may operate in the same RF spectrum band
(e.g., each link may be in the 5 GHz band, and use channels in the
5 GHz band). In other cases, the multiple communication links 120
may be in different RF spectrum bands (e.g., one may be in the 2.4
GHz band while another is in the 5 GHz band). Each link may be
associated with a different PHY layer and lower MAC layer as
described with reference to FIG. 4. In such an implementation,
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 layers and PHY layers may
be transparent to the upper layers of the wireless device.
[0051] As another example, the multi-link aggregation may be
flow-based. In flow-based aggregation, each traffic flow (e.g., all
traffic associated with a given TID) may be sent using one of
multiple available communication links 120. As an example, a single
STA 115 may access a web browser while streaming a video in
parallel. The traffic associated with the web browser access may be
communicated over a first channel of a first communication link 120
while the traffic associated with the video stream may be
communicated over a second channel of a second communication link
120 in parallel (e.g., at least some of the data may be transmitted
on the first channel concurrent with data transmitted on the second
channel). In some examples, the transmissions on the first
communication link 120 and the second communication link 120 may be
synchronized. In other examples, the transmissions may be
asynchronous. As described above, the channels may belong to the
same RF band or to different RF bands. In the case of three
communication links 120 (e.g., or other numbers of communication
links greater than two), all three communication links 120 may
support operation over the same RF band (e.g., all three in the 5
GHz RF band). In other cases, two communication links 120, but not
the third, may support operation over the same RF band (e.g., two
links in the 5 GHz RF band, and one link in the 2.4 GHz RF band).
Or, in still other cases each of the three communication links 120
may support operation for a separate RF band. In some cases,
flow-based aggregation may not use cross-link packet scheduling and
reordering (e.g., which may be used to support packet-based
aggregation). Alternatively, in the case of a single flow (e.g., in
the case that the STA 115 simply attempts to access a web browser),
aggregation gain may not be available.
[0052] In some cases, an AP 105 may designate a given channel or
link among communication links 120 as an anchor link (e.g., the
wireless link on which it transmits beacons, management frames,
control information, association information, etc., to support the
discovery, establishment, and/or maintenance of wireless links used
for multi-link aggregation, such as during a multi-link session
between wireless devices). Although described as being
frequency-based, the anchor link could additionally or
alternatively be time based, and refer to a point in time. For
example, the AP 105 may designate a time period for transmission of
control information over one or more links and may employ various
techniques to provide improved reliability to the control
information in the time interval (e.g., may use a more robust
modulation and coding scheme (MCS), may increase a transmission
power, etc.). Outside of the time interval, the AP 105 may employ
techniques that prioritize data throughput over the one or more
links.
[0053] In some examples, one or more of the links (e.g., an anchor
link) may operate in a lower RF frequency band than the other links
used in the multi-link session. For example, a link may operate in
a 2.4 GHz or 900 MHz band to increase the range, power, or signal
quality associated with transmissions on another link, relative to
other wireless links that may operate at a 5 GHz or 60 GHz band
associated with higher data throughputs, but relatively shorter
ranges. For example, links in a higher RF band (e.g., the 60 GHz
band) may be susceptible to the directionality of the antennas at
the communicating devices on both sides of the links. The
performance of such links may degrade if either device moves (even
slightly). Responsive to such degradations, the devices may perform
beam training to realign the link between the devices. During such
beam training, the link may be unavailable. In some cases, the 60
GHz link may provide higher throughput (e.g., under certain
communication conditions) while the 2.4 GHz link provides a stable
link for discovery, link setup, exchange of control and management
information, exchange of data traffic (e.g., at a lower data rate
than provided by the auxiliary link), etc. Similar techniques may
be employed for technologies other than RF communications such as
light communications, which may work over short distances and/or
concentrate energy in a small focused beam. Light communications
(e.g., and other similar technologies) may benefit from auxiliary
communications over a secondary link that rely on a reliable anchor
link.
[0054] In other embodiments, a hybrid of flow-based and
packet-based aggregation may be employed. As an example, a device
may employ flow-based aggregation in situations in which multiple
traffic flows are created and may employ packet-based aggregation
in other situations. The decision to switch between multi-link
aggregation techniques (e.g., modes) may additionally or
alternatively be based on other metrics (e.g., a time of day,
traffic load within the network, available battery power for a
wireless device, etc.). It is to be understood that while aspects
of the preceding are described in the context of a multi-link
session involving two (or more) communication links 120, the
described concepts may be extended to a multi-link session
involving multiple direct wireless links 125.
[0055] To support the described multi-link aggregation techniques,
APs 105 and STAs 115 may exchange supported aggregation capability
information (e.g. supported aggregation type, supported frequency
bands, etc.). In some cases, the exchange of information may occur
via a beacon signal, a probe association request or a probe
association response, dedicated action frames, an operating mode
indicator (OMI), etc. In some cases, an AP 105 may designate a
given channel in a given band as an anchor link, and transmit
beacons (e.g., which may contain less information) on other
channels or links for discovery purposes. The anchor link could
additionally or alternatively be time based, and refer to a point
in time (e.g., such that an AP 105 may transmit its beacon during a
certain time interval on one or more links).
[0056] In some examples, in multi-link aggregation, each link may
use its own transmit queue. In other examples, a common transmit
queue may be used across the links. In some examples, each link may
have a unique TA and RA. In other examples, the TA and RA may be
common across the multiple links used for multi-link aggregation.
In other examples, one or more of a SN, frame number (FN), and/or
packet number (PN) may be common across the communication links.
Other items that may be common (or different) across two or more of
the links include encryption keys, MPDU generation, aggregated MAC
service data unit (AMSDU) constraints, fragment size, reordering,
replay check, and/or de-fragmentation techniques. In other
examples, encryption keys may be per-link.
[0057] In various examples, BAs may be sent in response to
multi-link transmissions. A BA may refer to an acknowledgment (ACK)
for multiple MPDUs sent together (e.g., an ACK for a block of
MPDUs). 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 known as a BA agreement) for
during a setup phase, negotiating an agreement regarding the terms
and capabilities for the BA session (e.g., using an ADDBA request
and response procedure). The transmitting device and receiving
device may exchange capability information such as BA size, buffer
size, window size (e.g., a sliding window), and/or policy, and then
agree on the common parameters for each of the receiving device and
the transmitter device to use. The BA agreement may be later torn
down (e.g., using a delete BA (DELBA) request).
[0058] Both the transmitting device and the receiving device may
maintain a sliding window (e.g., a BA window), and may have
previously negotiated the size of the BA. For example, a BA
agreement may have a BA size of 64 MPDUs (e.g., other BA size
examples may include 256 MPDUs, 1024 MPDUs, etc.). In such cases, a
transmitting device may transmit 64 MPDUs followed by a block
acknowledgement request (BAR). In response to the BAR, the
receiving device may, upon reception of the 64 MPDUs and the BAR,
transmit a BA to the transmitting device. The BA may indicate
whether all 64 MPDUs were received correctly, which MPDUs are
missing, etc. In some cases, a BA may be used to indicate the
longer BA window, or a capability exchange or agreement defining
the larger 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 as well
as per-link scoreboards. Multi-link aggregation (e.g., flow-based
and/or packet-based) may increase network capacity by efficiently
allocating utilization of multiple links (and multiple
channels).
[0059] A block acknowledgment (BA) agreement or a multi-link BA
session may be established based on exchanged multi-link capability
information. Such multi-link capability information may include one
or more of a BA window size, BA scoreboarding information, one or
more wireless link identifiers, etc. In some cases, a BA agreement
may be established across some or all of the multiple links. In
other cases, a BA agreement may be established on a per-link basis.
The BA agreement may further establish one or more sets of sequence
numbers, as well as scoreboarding techniques used by the
transmitting wireless device for the BA session. Sequence numbers
may be assigned globally, such that a common set of sequence
numbers may be used for MPDUs for all the links. Sequence numbers
may also be per-link, with sequence numbers used for each link. A
combination of common and per-link sequence numbers may also be
used. The wireless device may then transmit packets to another
wireless device using the multiple links, and receive a BA with
acknowledgement information accounting for the transmitted packets
according to the established BA agreement. The BAs may indicate the
sequence numbers associated with one or more MPDUs. BAs may then be
transmitted on one link or on multiple links by the receiving
device.
[0060] FIG. 2 illustrates an example of a WLAN 200 that supports
multi-link BA management in accordance with various aspects of the
present disclosure. In some examples, WLAN 200 may implement
aspects of WLAN 100. A wireless connection between AP 105-a and 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 multi-link aggregation such 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). STA 115-a may thus receive packets
(e.g., MPDUs) over both link 205-a and link 205-b from AP 105-a.
Such parallel communications 210-a and 210-b over the two or more
links may be synchronized or asynchronous, and may be uplink, or
downlink, or a combination of uplink and downlink during a
particular duration of time. As described above, the 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 sidelink communication) without deviating from the scope of
the present disclosure.
[0061] Such multi-link aggregation may provide multiple benefits to
WLAN 200. For example, multi-link aggregation may improve
user-perceived throughput (UPT) (e.g., by quickly flushing per-user
transmit queues). Similarly, multi-link aggregation may improve
throughput for WLAN 200 by improving utilization of available
channels (e.g., by increasing trunking gains). That is, multi-link
aggregation may increase spectral utilization and may increase the
bandwidth-time product. Networks that do not support multi-link
aggregation may experience under-utilization of spectrum in
non-uniform (e.g., bursty) traffic conditions. For example the
communication load over a given link 205 (e.g., link 205-a) may be
low at any particular instant, whereas the demand may be high for
another link 205 (e.g., link 205-b). By allowing a single traffic
flow (e.g., a single internet protocol (IP) flow) to span across
different links 205, the overall network capacity may be
increased.
[0062] Further, multi-link aggregation may enable smooth
transitions between multi-band radios (e.g., where each radio may
be associated with a given RF band) and/or enable a framework to
setup separation of control channels and data channels. Other
benefits of multi-link aggregation include reducing the ON time of
a modem, which may benefit a wireless device in terms of power
consumption though the final power-saving gains may in some cases
depend on other factors including processing requirements, RF
bandwidth, etc. Multi-link aggregation additionally increases
multiplexing opportunities in the case of a single BSS. That is,
multi-link aggregation may increase the number of users per
multiplexed transmission served by the multi-link AP 105-a.
[0063] In some cases, multi-link aggregation may be supported
(including initiated) through signaling between STA 115-a and AP
105-a (or a peer STA 115). As an example, STA 115-a may indicate to
AP 105-a (or the peer STA 115) whether it supports multi-link
aggregation. For example, STA 115-a may indicate that it supports
multi-link aggregation in general, for a particular RF spectrum
band, for a link 205 of a given RF spectrum band, etc. Such
signaling could be static (e.g., in the form of beacons, probes,
association or re-association frames, etc.), semi-static, or
dynamic (e.g., via OMI or other similar operational parameters). In
some cases, AP 105-a (e.g., or the 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.
[0064] However, multi-link aggregation may also have implementation
challenges. For example, packets may be transmitted and/or received
across different links out of order, a given link may suffer
degraded communication conditions relative to another of the
aggregated links (e.g., frequency-dependent fading, etc.) for some
duration of time, a given link or a channel of the link may
experience a high traffic volume for some duration of time, etc.
which may, for example, result in inefficient BA procedures.
Further, increased channel and bandwidth usage, as well as
increased peak throughput in a given time period, may result in the
need to increase BA windows (e.g., allowed windows or spans of
unacknowledged MPDU SNs). In scenarios where multi-link aggregation
systems use independent BA procedures for each link, problems may
arise at higher layers during aggregation (e.g., when there is a
weak or slow link, which may stall a BA window and delay operation
of or throttle a second link). As such, wireless communications
systems supporting multi-link aggregation may employ multi-link BA
management techniques described herein.
[0065] Improved multi-link BA management techniques are discussed
below. For example, BA agreements, BA formats, transmitting device
scoreboarding, etc., may be modified to support improved BA
sessions or BA procedures in wireless communications systems
capable of multi-link aggregation. A transmitting device and
receiving device may exchange capability information such as BA
bitmap size, BA buffer size, BA scoreboarding information, BA
window size (e.g., a sliding window), and/or policy, and then agree
on the common parameters for each of the receiving device and the
transmitter device to use. For example, a new BA format may be
defined to indicate a longer bitmap which may allow for a larger BA
window (e.g., a new multi-link BA window for the multiple links) to
be spanned. Further, a transmitting device may maintain a single SN
set (e.g., a global SN set) across all links while maintaining a
single global scoreboard. Additionally or alternatively, a
transmitting device may maintain a global SN set in addition to
local SN sets for each link. In such cases, the transmitting device
may maintain a local scoreboard for each link. In yet other cases,
the transmitting device may maintain a global scoreboard as well as
local scoreboards.
[0066] In some example aggregation architectures, all TIDs (e.g.,
or flow IDs or frame types) may be aggregated over link 205-a and
link 205-b (e.g., which may be an example of packet-based
aggregation). That is, parallel communications 210-a and 210-b may
each have at least one packet having a common TID. Packet-based
aggregation may provide improvements in UPT and total 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 an upper
MAC layer (e.g., as described further below, with reference to
FIGS. 3 through 5).
[0067] In cases where a single SN set is used across all links
(e.g., a global SN set), a single scoreboard may be maintained.
That is, the SN set and scoreboard used by the transmitting device
may be common across all the links or channels. In such cases, BA
procedures may be performed across all links (e.g., not on an
individual, per-link basis). In such cases, a new BA format may be
defined to indicate a longer bitmap, which may allow a new maximum
BA window to be spanned. For example, in wireless communications
systems supporting three link aggregation, three times as many
packets may be communicated in a given round trip time. As such,
the new BA format supporting the longer bit map may be used to
acknowledge the additional packets, as BA window typical of single
link systems may be too short given the increased number of packets
to account for. A BA frame format may also allow for compression
methods (e.g., TIM compression mechanisms) that may be used to
reduce the BA bitmap length actually sent over the air. The BA may
be sent by a receiving device on any channel or, in some cases, on
a designated channel (e.g., a control channel). Alternative to
using a new BA format, multi user BAs (M-BAs) may be repurposed for
multiple links or channels associated with one receiving device.
Each per-TID or per-STA portion of the M-BA may be repurposed to
acknowledge a same STA/TID, but with a different starting SN. The
repurposed M-BA may be sent by the receiving device on any of the
channels or, in some cases, only on a designated channel (e.g., a
control channel). Further, single user (SU)/single-TID BA formats
may be repurposed for multi-link BA management techniques. A
receiving device may send multiple SU/single-TID BAs in order to
span the extended multi-link BA window. The multiple SU/single-TID
BAs may be sent on a same channel (e.g., a designated channel) or
may be sent individually on any of the channels.
[0068] In some examples, a single BA agreement may be defined
across all links or bands. The BA agreement may indicate a longer
BA window (e.g., a multi-link BA window). In such examples, any SN
may be sent on any channel and may acknowledged in any manner as
discussed above. In other examples, a capability exchange/agreement
may define the larger BA window (e.g., a multi-link BA window).
Additionally, multiple existing BA agreements may be setup on
shorter BA windows. For example, a transmitter and receiver may
agree to use a 1024 bit BA window, but then setup four 256 bit BA
agreements, each of the BA agreements may be used (e.g., at the
discretion of the transmitting device) to cover different portions
of the SN, subject to the overall BA window limitation. The
multiple agreements may be used to artificially enable the use of
multiple BAs to expand the equivalent BA bitmap. An indicator
(e.g., a TID-link indicator) may be used to distinguish between the
multiple agreements. That is, multiple BA agreements may be reused
or repurposed on the same SN to enable a larger overall BA
window.
[0069] In some cases, a transmitting device may use a single SN set
across all bands or links, however multiple scoreboards may be
maintained (e.g., one for each link). Each BA agreement, as well as
each BA scoreboard, may be tied to a channel or link. Therefore,
each interference may reuse existing per-channel MAC and BA
scoreboarding procedures with minimal or zero change. A limitation
may be established that keeps the SN within the overall BA window.
A BA agreement per-link may be instantiated, and a capability or
agreement for the overall BA window may be in place.
[0070] Further, additional SN sets may be used (e.g., on a per-link
basis) in addition to a global SN set. In such cases, both a global
scoreboard as well as per-link scoreboards may be maintained by a
transmitting device. MPDUs may thus carry both a per-link SN as
well as a global SN (e.g., which may both be carried in a
multi-link or enhanced MAC header). On each link, BAs may be used
to acknowledge MPDUs based on the per-link SN. Scoreboarding may be
maintained on a per-link basis (e.g., acting on the per-link SN,
instead of the global SN) and single link BA mechanisms may be
reused. A BA agreement per-link may be setup to define the allowed
window of per-link SN, which may be of limited size. A management
layer common across all links may map the per-link scoreboard with
the global scoreboard based on a global SN set. Additionally, the
receiving device may use the global SN for reordering. In such
cases, existing BA formats may be used for each individual link.
Such implementation details discussed above are now described in
more detail below with reference to FIGS. 3 through 8.
[0071] In some examples, some links 205 may be reserved for uplink
only or downlink only communication (e.g., link 205-a may be a
downlink directional link and link 205-b may be an uplink
directional link). In such examples STA 115-a may receive downlink
communications via links supporting downlink communications (e.g.,
including link 205-a), and may pass ACK information (e.g., received
SNs) to other lower MAC entities (e.g., associated with link 205-b)
which may accumulate and transmit the associated BAs to the
transmitting device (e.g., AP 105-a). Therefore, link 205-b may
transmit BAs associated with the downlink data. In some cases, the
receiving device may not manage a separate upper MAC entity for BA
management purposes. By analogy, AP 105-a may accumulate and manage
SNs via link 205-b.
[0072] Similar techniques may be employed for technologies other
than RF communications, such as light communications, which may
work over short distances and/or concentrate energy in a small
focused beam and/or may support a wireless link that may
communicate between wireless devices in only one direction (e.g.,
only uplink, or only downlink, or only one direction between peer
devices). Light communications (e.g., visible light communication
(VLC)) and other similar technologies may benefit from auxiliary
communications over a secondary link that rely on a reliable anchor
link. For example, light communication (or similar communications)
may be transmitted from an overhead light to a wireless device
(e.g., downlink communication using a light emitting diode (LED)
lamp, etc., to a mobile device) but may not support uplink
communication from the wireless device to the overhead light (e.g.
the LED lamp may be able to receive RF transmissions, but not VLC
transmissions). Such communications may benefit from an anchor link
(e.g., a 2.4 GHz link or 5 GHz link), which serves as the uplink
(reverse link) to the downlink light communications. For example,
the anchor link may carry acknowledgements, including block
acknowledgements, on the uplink in response to the data transmitted
by the overhead light on the downlink. In other examples, the
anchor link may carry scheduling information, etc., for the
transmissions using light communication from the overhead
light.
[0073] As discussed above, unidirectional communications (e.g., VLC
communications) where a reverse link may be absent or where a link
in one direction may be unreliable or intermittent, another link
(e.g., a Wi-Fi link) may serve as the reverse link for response
frames (e.g., such as ACKs or block ACKs for the unidirectional
communications). In such scenarios, a common queue (e.g., a common
or global scoreboard) may be used such that ACKs may be received on
any suitable links, and ACK scoreboarding may not necessarily be
performed on a per-link basis.
[0074] Further, some links in a wireless communications system
supporting multi-link aggregation may be stronger or more stable
than others. In some cases, such links may be identified via BA
procedures contemplated herein. In cases where weak links or more
stable links are identified, stable links may be selected for BA
transmission, discovery, link setup, exchange of control and
management information, exchange of data traffic (e.g., at a lower
data rate than provided by the auxiliary link), etc., while the
weaker or less stable link may be reserved for data transmissions
(e.g., high-throughput data transmissions).
[0075] FIG. 3 illustrates an example of a layer configuration 300
that supports multi-link BA management in accordance with various
aspects of the present disclosure. In some examples, layer
configuration 300 may implement aspects of WLAN 100 and/or WLAN
200. Layer configuration 300 may apply to a STA 115 or an AP 105,
and be for a transmitting wireless device or a receiving wireless
device. It is to be understood that aspects of layer configuration
300 may represent logical constructs (e.g., such that components of
layer configuration 300 may share hardware components). A wireless
device may support layer configuration 300 through the use of
various hardware configurations described herein.
[0076] As illustrated, layer configuration 300 may include upper
layers 305, a MAC layer 310, and one or more PHY layers 335 (e.g.,
where each PHY layer 335 may in some cases be associated with a
respective link or channel). MAC layer 310 may be further divided
into upper MAC layer 315 and lower MAC layer 325-a, lower MAC layer
325-b, and lower MAC layer 325-c. While three lower MAC layers 325
are illustrated, it is to be understood that upper MAC layer 315
may control (e.g., via multi-link aggregation controller 320) any
suitable number of lower MAC layers 325. Signaling between a given
lower MAC (e.g., lower MAC layer 325-a) and upper MAC layer 315 may
be carried by connection 345. Similarly, signaling between lower
MAC layer 325-a and PHY layer 335-a may be carried by connection
350 and signaling between lower MAC layer 325-a and lower MAC layer
325-b may be carried by connection 340. As described below, the
signaling for lower MAC 325-a, lower MAC layer 325-b, and lower MAC
layer 325-c may be based on logic associated with respective
controller 330-a, controller 330-b, and controller 330-c.
[0077] With reference to FIG. 2, lower MAC layer 325-a may be
associated, for example, with link 205-a (e.g., via PHY layer
335-a) and lower MAC layer 325-b may be associated, for example,
with link 205-b (e.g., via PHY layer 335-b). That is, each link 205
may have an associated lower MAC layer 325 that performs
link-specific features (e.g., channel access, UL triggered
transmission procedures, multiple-input, multiple-output (MIMO)
signaling, etc.) For example, lower MAC layer 325-a and lower MAC
layer 325-b may independently perform enhanced distributed channel
access (EDCA) countdowns on respective links 205-a and 205-b.
Additionally or alternatively, lower MAC layers 325 may perform
RTS/CTS procedures, perform clear channel assessment (CCA)
procedures, apply a modulation and coding scheme (MCS), control a
physical packet data unit (PPDU) duration, transmit sounding
reference signals, etc.
[0078] Upper MAC layer 315 may provide a single-link interface to
upper layers 305. For example, upper MAC layer 315 may perform
management and security-related operations. Such a design may allow
a single beacon from an AP 105 on a primary band to control
multi-band STAs 115. Additionally or alternatively, the single
upper MAC layer 315 may allow for a single association procedure to
initiate the multi-link session. For example, an association
procedure may be performed using a single link, but provide for
capability information for multiple links, which may include the
link that is being used for the association procedure. In some
cases, the upper MAC layer 315 may provide signaling (e.g., OMI
signaling) that allows for dynamic bandwidth control (e.g.,
expansion). The upper MAC layer 315 may additionally or
alternatively provide a single BA space (e.g., a single BA
scoreboard and sequence space) such that MPDUs may be scheduled
dynamically on a per-PPDU basis for each link (e.g., such that a
given MPDU may be retransmitted on a different link from that on
which it was originally transmitted).
[0079] FIG. 3 may illustrate single or global scoreboard management
for multi-link BA procedures. For example, upper MAC layer 315 may
handle processing and management of SNs identified in BAs received
via one or more lower MAC layers 325. That is, upper MAC layer 315
may update a scoreboard 355 to identify which MPDUs have been
successfully received as well as identify which MPDUs have been
unsuccessfully received. Scoreboard 355 may be associated with a
global set of SNs. In some cases, the SN set associated with
scoreboard 355 may be divided into different portions or different
ranges of the set of SNs, and each portion or range of the set of
SNs may be associated with the different links used for
transmission of the MPDUs. Thus each link may be associated with a
particular range of the global set of SNs, and BAs associated with
such ranges may be aggregated at scoreboard 355 such that the
transmitting device may account for data units successfully or
unsuccessfully transmitted to the receiving device. In other cases
(e.g., for VLC or other unidirectional communications), a global
scoreboard may be used such that some links may be used for
unidirectional communications, while other links may be used as the
reverse link (e.g., for response frames) for such unidirectional
links. For example, a global scoreboard 555-a may be used to
account for unidirectional communications sent via Link 1, by
managing ACKs received via Link 2. In such an example, a global set
of SNs may be used for unidirectional Link 1 communications, and
ACKs corresponding to SNs used for such unidirectional
communications may be received over other links (e.g., Link 2,
etc.) and accounted for (e.g., by the multi-link aggregation
controller 320).
[0080] In some examples, the transmitting device may use
information of scoreboard 355 to identify links performing strongly
(e.g., by identifying per-link SN ranges of scoreboard 355
associated with several successful transmissions) and/or links
performing weakly (e.g., by identifying per-link SN ranges of
scoreboard 355 associated with several unsuccessful
transmissions).
[0081] FIG. 4 illustrates an example of a layer configuration 400
that supports multi-link BA management in accordance with various
aspects of the present disclosure. In some examples, layer
configuration 400 may implement aspects of WLAN 100 and/or WLAN
200. Layer configuration 400 may apply to a STA 115 or an AP 105,
and be for a transmitting wireless device or a receiving wireless
device. It is to be understood that aspects of layer configuration
400 may represent logical constructs (e.g., such that components of
layer configuration 400 may share hardware components). A wireless
device may support layer configuration 400 through the use of
various hardware configurations described herein.
[0082] As illustrated, layer configuration 400 may include upper
layers 405, a MAC layer 410, and one or more PHY layers 435 (e.g.,
where each PHY layer 435 may in some cases be associated with a
respective link or channel). MAC layer 410 may be further divided
into upper MAC layer 415 and lower MAC layer 425-a, lower MAC layer
425-b, and lower MAC layer 425-c. While three lower MAC layers 425
are illustrated, it is to be understood that upper MAC layer 415
may control (e.g., via 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 upper MAC layer 415 may
be carried by connection 445. Similarly, signaling between lower
MAC layer 425-a and PHY layer 435-a may be carried by connection
450 and signaling between lower MAC layer 425-a and lower MAC layer
425-b may be carried by connection 440. As described below, the
signaling for lower MAC 425-a, lower MAC layer 425-b, and lower MAC
layer 425-c may be based on logic associated with respective
controller 430-a, controller 430-b, and controller 430-c.
[0083] With reference to FIG. 2, lower MAC layer 425-a may be
associated, for example, with link 205-a (e.g., via PHY layer
435-a) and lower MAC layer 425-b may be associated, for example,
with link 205-b (e.g., via PHY layer 435-b). 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 procedures, multiple-input, multiple-output (MIMO)
signaling, etc.) For example, lower MAC layer 425-a and lower MAC
layer 425-b may independently perform enhanced distributed channel
access (EDCA) countdowns on respective links 205-a and 205-b.
Additionally or alternatively, lower MAC layers 425 may perform
RTS/CTS procedures, perform clear channel assessment (CCA)
procedures, apply a modulation and coding scheme (MCS), control a
physical packet data unit (PPDU) duration, transmit sounding
reference signals, etc.
[0084] Upper MAC layer 415 may provide a single-link interface to
upper layers 405. For example, upper MAC layer 415 may perform
management and security-related operations. Such a design may allow
a single beacon from an AP 105 on a primary band to control
multi-band STAs 115. Additionally or alternatively, the single
upper MAC layer 415 may allow for a single association procedure to
initiate the multi-link session. For example, an association
procedure may be performed using a single link, but provide for
capability information for multiple links, which may include the
link that is being used for the association procedure. In some
cases, the upper MAC layer 415 may provide signaling (e.g., OMI
signaling) that allows for dynamic bandwidth control (e.g.,
expansion). The upper MAC layer 415 may additionally or
alternatively provide a single BA space (e.g., a single BA
scoreboard and sequence space) such that MPDUs may be scheduled
dynamically on a per-PPDU basis for each link (e.g., such that a
given MPDU may be retransmitted on a different link from that on
which it was originally transmitted).
[0085] FIG. 4 may illustrate per-link (e.g., local) scoreboard
management for multi-link BA procedures. For example, lower MAC
layers 425 may handle processing and management of SNs identified
in per-link BAs received. That is, each lower MAC layer 425 may
update a scoreboard 455 to identify which MPDUs have been
successfully received as well as identify which MPDUs have been
unsuccessfully received. Each scoreboard 455 may be associated with
a per-link set of SNs. In some examples, the transmitting device
may use information of each scoreboard 455 to identify links
performing strongly (e.g., by identifying scoreboards 455
indicating many successful MPDU transmissions) and/or links
performing weak (e.g., by identifying scoreboards 455 indicating a
few or several unsuccessful MPDU transmissions). In such cases, a
receiving device (e.g., a STA receiving multi-link communications
via layer configuration 400) may not necessarily maintain or manage
a separate upper MAC layer 415 or an upper MAC entity, as the
receiving device may not maintain a common or global scoreboard for
BAs.
[0086] In some examples, some links may be reserved for uplink only
or downlink only communication (e.g., Link 1 may be a downlink
directional link and Link 2 may be an uplink directional link). In
cases where a receiving device is receiving multi-link
communications via layer configuration 400, the receiving device
may, for example, receive multi-link downlink communications via
links supporting downlink communications (e.g., including Link 1),
and may pass ACK information (e.g., received SNs may be passed via
connections 440) to lower MAC entity 425-b (e.g., Link 2) which may
accumulate and transmit the associated BAs to the transmitting
device. Therefore, Link 2 may transmit BAs associated with the
multi-link downlink data (e.g., the receiving device may not manage
a separate upper MAC 415). By analogy, transmitting devices may
accumulate and manage SNs via link 2.
[0087] FIG. 5 illustrates an example of a layer configuration 500
that supports multi-link BA management in accordance with various
aspects of the present disclosure. In some examples, layer
configuration 500 may implement aspects of WLAN 100 and/or WLAN
200. Layer configuration 500 may apply to a STA 115 or an AP 105,
and be for a transmitting wireless device or a receiving wireless
device. It is to be understood that aspects of layer configuration
500 may represent logical constructs (e.g., such that components of
layer configuration 500 may share hardware components). A wireless
device may support layer configuration 500 through the use of
various hardware configurations described herein.
[0088] As illustrated, layer configuration 500 may include upper
layers 505, a MAC layer 510, and one or more PHY layers 535 (e.g.,
where each PHY layer 535 may in some cases be associated with a
respective link or channel). MAC layer 510 may be further divided
into upper MAC layer 515 and lower MAC layer 525-a, lower MAC layer
525-b, and lower MAC layer 525-c. While three lower MAC layers 525
are illustrated, it is to be understood that upper MAC layer 515
may control (e.g., via multi-link aggregation controller 520) any
suitable number of lower MAC layers 525. Signaling between a given
lower MAC (e.g., lower MAC layer 525-a) and upper MAC layer 515 may
be carried by connection 545. Similarly, signaling between lower
MAC layer 525-a and PHY layer 535-a may be carried by connection
550 and signaling between lower MAC layer 525-a and lower MAC layer
525-b may be carried by connection 540. As described below, the
signaling for lower MAC 525-a, lower MAC layer 525-b, and lower MAC
layer 525-c may be based on logic associated with respective
controller 530-a, controller 530-b, and controller 530-c.
[0089] With reference to FIG. 2, lower MAC layer 525-a may be
associated, for example, with link 205-a (e.g., via PHY layer
535-a) and lower MAC layer 525-b may be associated, for example,
with link 205-b (e.g., via PHY layer 535-b). That is, each link 205
may have an associated lower MAC layer 525 that performs
link-specific features (e.g., channel access, UL triggered
transmission procedures, multiple-input, multiple-output (MIMO)
signaling, etc.) For example, lower MAC layer 525-a and lower MAC
layer 525-b may independently perform enhanced distributed channel
access (EDCA) countdowns on respective links 205-a and 205-b.
Additionally or alternatively, lower MAC layers 525 may perform
RTS/CTS procedures, perform clear channel assessment (CCA)
procedures, apply a modulation and coding scheme (MCS), control a
physical packet data unit (PPDU) duration, transmit sounding
reference signals, etc.
[0090] Upper MAC layer 515 may provide a single-link interface to
upper layers 505. For example, upper MAC layer 515 may perform
management and security-related operations. Such a design may allow
a single beacon from an AP 105 on a primary band to control
multi-band STAs 115. Additionally or alternatively, the single
upper MAC layer 515 may allow for a single association procedure to
initiate the multi-link session. For example, an association
procedure may be performed using a single link, but provide for
capability information for multiple links, which may include the
link that is being used for the association procedure. In some
cases, the upper MAC layer 515 may provide signaling (e.g., OMI
signaling) that allows for dynamic bandwidth control (e.g.,
expansion). The upper MAC layer 515 may additionally or
alternatively provide a single BA space (e.g., a single BA
scoreboard and sequence space) such that MPDUs may be scheduled
dynamically on a per-PPDU basis for each link (e.g., such that a
given MPDU may be retransmitted on a different link from that on
which it was originally transmitted).
[0091] FIG. 5 may illustrate both global scoreboard and per-link
scoreboard management for multi-link BA procedures. For example,
upper MAC layer 515 may handle processing and management of SNs
identified in BAs received via one or more lower MAC layers 525.
That is, upper MAC layer 515 may update a global scoreboard 555-a
to identify which MPDUs have been successfully received as well as
identify which MPDUs have been unsuccessfully received. Scoreboard
555-a may be associated with a global set of SNs. Additionally,
lower MAC layers 525 may handle processing and management of SNs
identified in per-link BAs received. That is, each lower MAC layer
525 may update a scoreboard 555 (e.g., scoreboard 555-b, scoreboard
555-c, and scoreboard 555-d) to identify which MPDUs have been
successfully received as well as identify which MPDUs have been
unsuccessfully received. Scoreboard 555-b, scoreboard 555-c, and
scoreboard 555-d may be associated with a local or per-link set of
SNs (e.g., a set of SNs for Link 1, Link 2, and so on to Link N
respectively). In some examples, the transmitting device may use
information of each per-link scoreboards 555 to identify links
performing strongly (e.g., by identifying per-link scoreboards 555
indicating many successful MPDU transmissions) and/or links
performing weakly (e.g., by identifying per-link scoreboards 555
indicating a few or several unsuccessful MPDU transmissions).
Further, a transmitting device may map per-link scoreboards 555-b,
555-c, and 555-d to global scoreboard 555-a in order to determine
which transmitted MPDUs were successfully and/or unsuccessfully
received on a global level (e.g., as opposed to a per-link level),
as discussed in more detail below.
[0092] FIG. 6A illustrates an example of a multi-link transmission
600 and FIG. 6B illustrates an example of global-local scoreboard
mapping 601 that supports multi-link BA management in accordance
with various aspects of the present disclosure. In some examples,
multi-link transmission 600 and global-local scoreboard mapping 601
may implement aspects of WLAN 100 and/or WLAN 200.
[0093] As discussed above, a transmitting device may map per-link
scoreboards to a global scoreboard in order to determine which
transmitted MPDUs were successfully and/or unsuccessfully received
on a global level. That is, MPDUs may either be associated with
both a local (e.g., per-link) SN as well as a global SN or, in
other cases, the MPDUs may be associated with either a local SN or
a global SN. In cases where each MPDU is associated with both a
local SN and a global SN, or in cases where each MPDU is only
associated with a global SN, such local scoreboard to global
scoreboard mapping may not be necessary, as the global SN is
already included. However, in cases where MPDUs are only associated
with a local SN, such a mapping may be performed.
[0094] In cases where a single BA agreement is established across
two or more links associated with multi-link operation between a
transmitting device and a receiving device, data units or packets
(e.g., MPDUs) associated with sequential SNs may be sent on any
link. The transmitting device may sequentially number the data
units according to a single set of SNs (e.g., a global set of SNs),
which may then be transmitted to wireless device 805-b via the one
or more links. As such, a multi-link BA window size (e.g., a longer
BA window) may be used as discussed above. The subsequent BAs may
be associated with a BA format the allows for an extended bit map
to compensate for the increased number of SNs associated with
received, or not received, MPDUs (e.g., at the receiving device).
The transmitting device may then update a global scoreboard based
on the received BAs.
[0095] In cases where a BA agreement is established per-link, each
link may, in some cases, be associated with a per-link (local) set
of SNs. In such cases, each data unit may be associated with both a
global SN as well as a local SN. The additional information (e.g.,
associated with the additional SN) may be conveyed in the MPDU via,
for example, and extended MAC header. Again, as a global SN is
included, the BAs may be mapped directly to a global
scoreboard.
[0096] However, in some scenarios, as illustrated in FIG. 6,
transmitted MPDUs may only be associated with local SNs. In such
cases, both a global scoreboard and per-link scoreboards (e.g., as
described in more detail with reference to FIG. 5) may be
maintained. FIG. 6A shows an example multi-link transmission 600.
Each number of FIG. 6A may illustrate a global MPDU number, even
though MPDUs on each link may be associated with SNs ordered
sequentially. FIG. 6B shows an example scoreboard mapping 601 that
further illustrates the corresponding per-link SNs for MPDUs of
example multi-link transmission 600. For example, a third MPDU to
be transmitted by a transmitting device is illustrated as `3` on
Link 2 in FIG. 6A and may correspond with the Link 2 SN value of
`1` in FIG. 6B, as the third global MPDU (Global SN value of `3`)
is the first MPDU transmitted on `Link 2.`
[0097] As an example, each MPDU may be associated with one or more
BAs. As shown in FIG. 6A, MPDU 4 (e.g., MPDU associated with Link 2
SN value of `2`) and MPDU 5 (e.g., MPDU associated with Link 2 SN
value of `2`, having Global SN value of `5`) may be unsuccessfully
transmitted. FIG. 6B illustrates local or per-link scoreboard
mapping to the global scoreboard mapping. For example, an MPDU with
a local SN of `2` may be indicated as unsuccessfully received on
Link 2 via a BA. The transmitting device may map the value to a
global scoreboard, and identify the fourth transmitted MPDU (e.g.,
MPDU associated with global SN value of `4`) was unsuccessfully
transmitted. As such, the transmitting device may transmit the
fourth MPDU on another link (e.g., `Link 1`). Further, the
retransmitted MPDU with a local SN of `3` may be indicated as
successfully received on Link 1 via a BA. The transmitting device
may map the value to a global scoreboard, and identify the fourth
transmitted MPDU (e.g., MPDU associated with global SN `4`) was
successfully retransmitted.
[0098] FIG. 7 illustrates an example of a process flow 700 that
supports multi-link BA management in accordance with various
aspects of the present disclosure. In some examples, process flow
700 may implement aspects of WLAN 100 and/or WLAN 200. Process flow
700 may include a wireless device 705-a (e.g., a transmitting
device) and a wireless device 705-b (e.g., a receiving device),
each of which may represent a STA 115 and/or an AP 105 as described
with reference to FIGS. 1 and 2.
[0099] At 710, wireless device 705-a may establish a BA agreement
(which may include multiple BA agreements on a per-link basis) with
wireless device 705-b. In some cases, establishing a BA agreement
may include exchanging BA capability information. BA capability
information may include a BA window size, a wireless link
identifier, etc. For example, establishing a BA agreement may
include defining or indicating a longer BA window (e.g., a 1024 bit
BA window). Such a longer BA window for multi-link BAs may allow
for improved BA procedures due to the increased number of packets
that may be received in a given time period due to multi-link
operation. In some cases, a BA agreement may be established across
multiple bands or links (e.g., via wireless link identifiers). In
other cases, as described in more detail above, a BA agreement may
be established on a per-link basis.
[0100] At 715, wireless device 705-a may format data to be
transmitted to wireless device 705-b into one or more data units.
For example, data from an upper layer (e.g., an application layer,
etc.) may be formatted into MPDUs (e.g., at the upper MAC
layer).
[0101] At 720, wireless device 705-a may assign SNs to the one or
more data units. The SNs may be assigned to the data units in
accordance with one or more BA agreements established at 710. That
is, whether a global set of SNs are applied to the data units, or
different sets of SNs are applied to data units depending on which
lower MAC layer entity or link will be used to transmit the data
units, may be determined based at least in part on the BA agreement
established.
[0102] At 725, the wireless device 705-a may transmit the data
units to wireless device 705-b via multiple links and multiple MAC
entities. For example, a first set of data units may be transmitted
over a first wireless link, and a second set of data units may be
transmitted over a second wireless link. As discussed above, at
720, the first and second set of data units may be associated with
a single set of global SNs or, in other cases, may be associated
with a per-link (local) set of SNs, or may be associated with both
global SNs and per-link SNs.
[0103] At 730, wireless device 705-b may transmit one or more BAs
in response to the transmissions received at 725. The one or more
BAs may indicate SNs associated with data units (e.g., MPDUs) that
were successfully received (e.g., via a BA bitmap). For example, at
730, wireless device 705-a may decompress a BA bitmap of the one or
more BAs (transmitted by wireless device 705-b) to identify SNs of
data units (transmitted by wireless device 705-a at 725) that were
correctly received. In some cases, BAs may include a multi-TID BA
to acknowledge or not acknowledge a single TID or a single station.
In such cases, wireless device 705-a may further receive (e.g., in
the multi-TID BA) a first portion of the single TID or the single
station (e.g., starting with a first starting SN) and a second
portion of the single TID or the single station (e.g., starting
with a second starting SN). The one or more BAs may, in aggregate,
span a BA window (e.g., established at 710).
[0104] In some examples, the BAs received by wireless device 705-a
at 730 may be received over one (e.g., a first) wireless link and
the BAs may be associated with data units sent, by the wireless
device 705-a at 725, over both the first and second wireless links.
In other examples, wireless device 705-a may receive a first set of
BAs over the first link for data units sent, by the wireless device
705-a at 725, over the first link, and receive a second set of BAs
over the second link for data units sent, by the wireless device
705-a at 725, over the second link. That is, BAs at 730 may be sent
over a single link for data units sent over multiple links or may
be sent over the respective links over which the data units were
sent (e.g., which may be determined or established at 710). In
other cases, BAs at 730 may be sent over multiple links for data
units sent over multiple links (which may be a different set of
multiple links than for transmission of the data units, where some
or all of the links may be different).
[0105] FIG. 8 illustrates an example of a process flow 800 that
supports multi-link BA management in accordance with various
aspects of the present disclosure. In some examples, process flow
800 may implement aspects of WLAN 100 and/or WLAN 200. Process flow
800 may include a wireless device 805-a and a wireless device
805-b, each of which may represent a STA 115 and/or an AP 105 as
described with reference to FIGS. 1 and 2.
[0106] At 810, wireless device 805-a and wireless device 805-b may
exchange BA capability information. BA capability information may
include a BA window size, a wireless link identifier, etc. In some
cases, a first BA window size for the multiple wireless links may
be determined based on the exchanged BA capability information.
Additionally, in some cases, a second BA window size may be
established for one or more of the multiple wireless links, where
the second BA window size is less than the first BA window
size.
[0107] At 815, wireless device 805-a may establish a BA agreement
with wireless device 805-b (e.g., based on BA capability
information exchanged at 810). For example, establishing a BA
agreement may include defining a BA agreement across bands or links
(e.g., via wireless link identifiers), and may further indicate or
define a longer BA window (e.g., a 1024 bit BA window). In some
cases, the BA agreement may further define the multi-link BA
window. In some examples, the larger overall BA window may be
further defined or divided into multiple existing agreements on
shorter BA windows. For example, the wireless device 805-a and the
wireless device 805-b may agree to use a 1024 bit BA window, and
additionally set up four 256 bit BA agreements, each of which may
be used (e.g., at the discretion of wireless device 805-a) to cover
different portions of the SN, subject to the overall BA window
limitation. Such a longer BA window for multi-link BAs may allow
for improved BA procedures due to the increased number of packets
that may be received in a given time period due to multi-link
operation. In other cases, as described in more detail above, a BA
agreement may be established on a per-link basis.
[0108] At 820, wireless device 805-a may format data to be
transmitted to wireless device 805-b into one or more data units.
For example, data from an upper layer (e.g., an application layer,
etc.) may be formatted into MPDUs (e.g., at the upper MAC
layer).
[0109] At 825, wireless device 805-a may assign SNs to the one or
more data units. The SNs may be assigned to the data units in
accordance with one or more BA agreements established at 815. That
is, whether a global set of SNs are applied to the data units, or
different sets of SNs are applied to data units depending on which
lower MAC layer entity or link will be used to transmit the data
units, may be determined based at least in part on the BA agreement
established.
[0110] At 830, the wireless device 805-a may transmit the data
units to wireless device 805-b via multiple links and multiple MAC
entities. For example, a first set of data units may be transmitted
over a first wireless link, and a second set of data units may be
transmitted over a second wireless link. As discussed above, at
825, the first and second set of data units may be associated with
a single set of global SNs or, in other cases, may be associated
with a per-link (local) set of SNs, or may be associated with both
global SNs and per-link SNs.
[0111] At 835, wireless device 805-b may transmit one or more BAs
in response to the transmissions received at 830. The one or more
BAs may indicate SNs associated with data units (e.g., MPDUs) that
were successfully received (e.g., via a BA bitmap). For example, at
835, wireless device 805-a may decompress a BA bitmap of the one or
more BAs (transmitted by wireless device 805-b) to identify SNs of
data units (transmitted by wireless device 805-a at 830) that were
correctly received. In some cases, BAs may include a multi-TID BA
to acknowledge or not acknowledge a single TID or a single station.
In such cases, wireless device 805-a may further receive (e.g., in
the multi-TID BA) a first portion of the single TID or the single
station (e.g., starting with a first starting SN) and a second
portion of the single TID or the single station (e.g., starting
with a second starting SN). The one or more BAs may, in aggregate,
span a BA window (e.g., established at 815).
[0112] At 840, wireless device 805-a (e.g., at 840) may update one
or more scoreboards based on the one or more BAs received at 835.
For example, wireless device 805-a may update and maintain a single
global scoreboard, and a controller of the upper MAC layer may
update the single global scoreboard. In other examples, wireless
device 805-a may update and maintain local scoreboards on a
per-link basis, and a controller of each lower MAC layer may update
their respective local scoreboard. In yet other examples, a
controller of the upper MAC layer may update both a global
scoreboard and respective local scoreboards. In another example, a
controller of the upper MAC layer may update a global scoreboard
while controllers of the lower MAC layers may up their respective
local scoreboards. Such updating is also described in more detail
with reference to FIGS. 3-5.
[0113] At 845, wireless device 805-a may retransmit any necessary
packets (e.g., MPDUs) based on the scoreboard updated at 840.
Retransmission of the packets may be over the same wireless links
as the original transmission, or may be over different wireless
links. In some examples, all retransmissions may occur over a
particular wireless link, and the original transmission may or may
not have occurred over the same link.
[0114] FIG. 9 shows a block diagram 900 of a wireless device 905
that supports multi-link BA management in accordance with aspects
of the present disclosure. Wireless device 905 may be an example of
aspects of a STA 115 or an AP 105 as described herein. Wireless
device 905 may include receiver 910, communications manager 915,
and transmitter 920. Wireless device 905 may also include a
processor. Each of these components may be in communication with
one another (e.g., via one or more buses).
[0115] Receiver 910 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 multi-link BA management, etc.). Information may be
passed on to other components of the device. The receiver 910 may
be an example of aspects of the transceiver 1235 described with
reference to FIG. 12. The receiver 910 may utilize a single antenna
or a set of antennas.
[0116] Communications manager 915 may be an example of aspects of
the communications manager 1215 described with reference to FIG.
12. Communications manager 915 and/or at least some of its various
sub-components 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
communications manager 915 and/or at least some of its various
sub-components may be executed by a general-purpose processor, a
digital signal processor (DSP), an application-specific integrated
circuit (ASIC), an 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 the present disclosure. The
communications manager 915 and/or at least some of its various
sub-components may be physically located at various positions,
including being distributed such that portions of functions are
implemented at different physical locations by one or more physical
devices. In some examples, communications manager 915 and/or at
least some of its various sub-components may be a separate and
distinct component in accordance with various aspects of the
present disclosure. In other examples, communications manager 915
and/or at least some of its various sub-components 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 present disclosure, or a combination thereof in accordance with
various aspects of the present disclosure.
[0117] In cases where communications manager 915 is within a device
transmitting multi-link communications (e.g., a first wireless
device), communications manager 915 may establish a block
acknowledgement agreement for a set of wireless links used for
communications in parallel between the first wireless device (e.g.,
the device transmitting multi-link communications) and a second
wireless device (e.g., a device receiving multi-link communications
and transmitting corresponding block acknowledgements).
Communications manager 915 may format data to be transmitted to the
second wireless device into a set of data units and assign, to each
of the set of data units, a respective one of a set of sequence
numbers common to the set of wireless links. Communications manager
915 may then transmit the set of data units to the second wireless
device over one or more of the set of wireless links, and receive a
set of block acknowledgements, each of the set of block
acknowledgements indicating one or more of the set of common
sequence numbers.
[0118] In cases where communications manager 915 is within a device
receiving multi-link communications (e.g., a first wireless
device), communications manager 915 may establish a block
acknowledgement agreement for a set of wireless links used for
communications in parallel between the first wireless device (e.g.,
the device receiving multi-link communications and transmitting
corresponding block acknowledgements) and a second wireless device
(e.g., a device transmitting multi-link communications).
Communications manager 915 may receive a set of data units from the
second wireless device over one or more of the set of wireless
links, each data unit of the set of data units associated with one
of a set of sequence numbers common to the set of wireless links.
Communications manager 915 may then transmit a set of block
acknowledgements in response to the set of data units, each of the
set of block acknowledgements indicating one or more of the set of
common sequence numbers.
[0119] Transmitter 920 may transmit signals generated by other
components of the device. In some examples, the transmitter 920 may
be collocated with a receiver 910 in a transceiver module. For
example, the transmitter 920 may be an example of aspects of the
transceiver 1235 described with reference to FIG. 12. The
transmitter 920 may utilize a single antenna or a set of
antennas.
[0120] FIG. 10 shows a block diagram 1000 of a wireless device 1005
that supports multi-link BA management in accordance with aspects
of the present disclosure. Wireless device 1005 may be an example
of aspects of a wireless device 905 or a STA 115 or an AP 105 as
described with reference to FIG. 9. Wireless device 1005 may
include receiver 1010, communications manager 1015, and transmitter
1020. Wireless device 1005 may also include a processor. Each of
these components may be in communication with one another (e.g.,
via one or more buses).
[0121] Receiver 1010 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 multi-link BA management, etc.). Information may be
passed on to other components of the device. The receiver 1010 may
be an example of aspects of the transceiver 1235 described with
reference to FIG. 12. The receiver 1010 may utilize a single
antenna or a set of antennas.
[0122] Communications manager 1015 may be an example of aspects of
the communications manager 1215 described with reference to FIG.
12. Communications manager 1015 may also include BA agreement
manager 1025, data unit manager 1030, SN manager 1035, multi-link
manager 1040, and BA manager 1045.
[0123] BA agreement manager 1025 may establish a block
acknowledgement agreement for a set of wireless links used for
communications in parallel between a transmitting wireless device
and a receiving wireless device.
[0124] Data unit manager 1030 may format data, at a transmitting
device, to be transmitted to the receiving wireless device into a
set of data units.
[0125] SN manager 1035 may assign, to each of the set of data
units, a respective one of a set of sequence numbers common to the
set of wireless links. In some cases, SN manager 1035 may assign a
respective sequence number of a second set of sequence numbers to
each of a first set of data units of the set of data units to be
transmitted over a first wireless link of the set of wireless
links, and assign a respective sequence number of a third set of
sequence numbers to each of a second set of data units of the set
of data units to be transmitted over a second wireless link of the
set of wireless links. In some cases, a received set of block
acknowledgements may further indicate one or more sequence numbers
of the second set of sequence numbers for the first set of data
units, or one or more sequence numbers of the third set of sequence
numbers for the second set of data units, or a combination
thereof.
[0126] Multi-link manager 1040 may transmit the set of data units
to the second wireless device over one or more of the set of
wireless links, 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 a set of data units
from the second wireless device over one or more of the set of
wireless links, each data unit of the set of data units associated
with one of a set of sequence numbers common to the set of wireless
links. In some cases, transmitting the set of data units to the
second wireless device over one or more of the set of wireless data
links further includes: transmitting a first set 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.
[0127] BA manager 1045 may receive a set of block acknowledgements,
each of the set of block acknowledgements indicating one or more of
the set of common sequence numbers, receive a second set of the set
of block acknowledgement over the second wireless link, where the
second set of the set of block acknowledgements is for the second
set of the set of data units, receive the set block
acknowledgements over the first wireless link, the set of block
acknowledgements for both the first set of the set of data units
and the second set of the set of data units, transmit a set of
block acknowledgements in response to the set of data units, each
of the set of block acknowledgements indicating one or more of the
set of common sequence numbers, exchange block acknowledgement
capability information with the second wireless device, where the
block acknowledgement agreement is established based on the
exchanged block acknowledgement capability information, decompress
a block acknowledgement bitmap of the received set of block
acknowledgements to identify the one or more of the set of common
sequence numbers, receive a second set of the set of data units
from the wireless device over a second wireless link of the set of
wireless links, each data unit of the second set associated with
one of the set of common sequence numbers, and received set of
block acknowledgements in aggregate span a block acknowledgement
window. In some cases, receiving the set of block acknowledgements
further includes: receiving a first set of the set of block
acknowledgement over the first wireless link, where the first set
of the set of block acknowledgements is for the first set of the
set of data units. In some cases, a block acknowledgement of the
set of block acknowledgements includes a multi-traffic identifier
(TID) block acknowledgement to acknowledge or not acknowledge a
single TID or a single station. In some cases, receiving the set of
block acknowledgements includes: receiving, in the multi-TID block
acknowledgement, a first portion associated with a first starting
sequence number and a second portion associated with a second
starting sequence number, where the first portion and the second
portion are for the single TID or the single station. In some
cases, transmitting the set of block acknowledgements further
includes: transmitting a multi-traffic identifier (TID) block
acknowledgement to acknowledge or not acknowledge a single TID or a
single station, the multi-TID block acknowledgement including a
first portion associated with a first starting sequence number and
a second portion associated with a second starting sequence number,
where the first portion and the second portion are for the single
TID or the single station. In some cases, receiving the set of data
units from the second wireless device over the one or more of the
set of wireless links further includes: receiving a first set of a
set of data units from the wireless device over a first wireless
link of the set of wireless links, each data unit of the first set
associated with one of the set of common sequence numbers. In some
cases, each of the set of block acknowledgements further indicate:
one or more of a first set of sequence numbers for the received
first set of data units; or one or more of a second set of sequence
numbers for the received second set of data units.
[0128] Transmitter 1020 may transmit signals generated by other
components of the device. In some examples, the transmitter 1020
may be collocated with a receiver 1010 in a transceiver module. For
example, the transmitter 1020 may be an example of aspects of the
transceiver 1235 described with reference to FIG. 12. The
transmitter 1020 may utilize a single antenna or a set of
antennas.
[0129] FIG. 11 shows a block diagram 1100 of a communications
manager 1115 that supports multi-link BA management in accordance
with aspects of the present disclosure. The communications manager
1115 may be an example of aspects of a communications manager 915,
a communications manager 1015, or a communications manager 1215
described with reference to FIGS. 9, 10, and 12. The communications
manager 1115 may include BA agreement manager 1120, data unit
manager 1125, SN manager 1130, multi-link manager 1135, BA manager
1140, BA scoreboard manager 1145, and BA capabilities manager 1150.
Each of these modules may communicate, directly or indirectly, with
one another (e.g., via one or more buses).
[0130] BA agreement manager 1120 may establish a block
acknowledgement agreement for a set of wireless links used for
communications in parallel between the first wireless device and a
second wireless device.
[0131] Data unit manager 1125 may format data to be transmitted to
the second wireless device into a set of data units.
[0132] SN manager 1130 may assign, to each of the set of data
units, a respective one of a set of sequence numbers common to the
set of wireless links, assign a respective sequence number of a
second set of sequence numbers to each of a first set of data units
of the set of data units to be transmitted over a first wireless
link of the set of wireless links, and assign a respective sequence
number of a third set of sequence numbers to each of a second set
of data units of the set of data units to be transmitted over a
second wireless link of the set of wireless links. In some cases,
the received set of block acknowledgements further indicate one or
more sequence numbers of the second set of sequence numbers for the
first set of data units, or one or more sequence numbers of the
third set of sequence numbers for the second set of data units, or
a combination thereof.
[0133] In a transmitting device (e.g., in a first device),
multi-link manager 1135 may transmit the set of data units to a
second wireless device (e.g., a receiving device) over one or more
of the set of wireless links, and 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. In some cases,
transmitting the set of data units to the second wireless device
over one or more of the set of wireless data links further includes
transmitting a first set 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.
[0134] In a receiving device (e.g., a first device) multi-link
manager 1135 may receive a set of data units from a second wireless
device (e.g., a transmitting device) over one or more of the set of
wireless links, each data unit of the set of data units associated
with one of a set of sequence numbers common to the set of wireless
links.
[0135] In a transmitting device (e.g., a first device), BA manager
1140 may receive a set of block acknowledgements, each of the set
of block acknowledgements indicating one or more of the set of
common sequence numbers. BA manager 1140 may receive a second set
of the set of block acknowledgement over the second wireless link,
where the second set of the set of block acknowledgements is for
the second set of the set of data units. BA manager 1140 may
receive the set block acknowledgements over the first wireless
link, the set of block acknowledgements for both the first set of
the set of data units and the second set of the set of data units.
In some cases, BA manager 1140 may decompress a block
acknowledgement bitmap of the received set of block
acknowledgements to identify the one or more of the set of common
sequence numbers. In some cases, BA manager 1140 may receive a
second set of the set of data units from the second wireless device
over a second wireless link of the set of wireless links, each data
unit of the second set associated with one of the set of common
sequence numbers. BA manager 1140 may receive a set of block
acknowledgements in aggregate span a block acknowledgement window.
In some cases, receiving the set of block acknowledgements further
includes receiving a first set of the set of block acknowledgement
over the first wireless link, where the first set of the set of
block acknowledgements is for the first set of the set of data
units. In some cases, a block acknowledgement of the set of block
acknowledgements includes a multi-TID block acknowledgement to
acknowledge or not acknowledge a single TID or a single station. In
some cases, receiving the set of block acknowledgements includes
receiving, in the multi-TID block acknowledgement, a first portion
associated with a first starting sequence number and a second
portion associated with a second starting sequence number, where
the first portion and the second portion are for the single TID or
the single station.
[0136] In some cases, BA manager 1140 may exchange block
acknowledgement capability information with a second wireless
device (e.g., a receiving device), where the block acknowledgement
agreement is established based on the exchanged block
acknowledgement capability information. In some cases, the block
acknowledgement capability information includes a block
acknowledgement window size, or a wireless link identifier, or a
combination thereof.
[0137] In a receiving device (e.g., a first device), BA manager
1140 may transmit a set of block acknowledgements in response to
the set of data units, each of the set of block acknowledgements
may indicate one or more of the set of common sequence numbers. In
some cases, BA manager 1140 may exchange block acknowledgement
capability information with a second wireless device (e.g., a
transmitting device), where the block acknowledgement agreement is
established based on the exchanged block acknowledgement capability
information. In some cases, transmitting the set of block
acknowledgements further includes transmitting a multi-TID block
acknowledgement to acknowledge or not acknowledge a single TID or a
single station, the multi-TID block acknowledgement including a
first portion associated with a first starting sequence number and
a second portion associated with a second starting sequence number,
where the first portion and the second portion are for the single
TID or the single station. In some cases, receiving the set of data
units from the second wireless device over the one or more of the
set of wireless links further includes receiving a first set of a
set of data units from the second wireless device over a first
wireless link of the set of wireless links, each data unit of the
first set associated with one of the set of common sequence
numbers. In some cases, each of the set of block acknowledgements
further indicate one or more of a first set of sequence numbers for
the received first set of data units or one or more of a second set
of sequence numbers for the received second set of data units.
[0138] In some cases, BA manager 1140 may exchange block
acknowledgement capability information with a second wireless
device (e.g., a transmitting device), where the block
acknowledgement agreement is established based on the exchanged
block acknowledgement capability information. In some cases, the
block acknowledgement capability information includes a block
acknowledgement window size, or a wireless link identifier, or a
combination thereof.
[0139] In some cases, BA manager 1140 may receive a plurality of
block acknowledgements (in response to multiple data units) over at
least one wireless link of one or more of multiple wireless links
used for communications in parallel between two wireless devices,
and the multi-link manager 1135 may transmit at least a portion of
the multiple data units to the wireless device over a second
wireless link of the multiple wireless links, the second wireless
link a unidirectional wireless link that is exclusive of the at
least one wireless link used to receive the block
acknowledgements.
[0140] BA scoreboard manager 1145 may update, based on one or more
of the set of received block acknowledgments, a scoreboard to track
data units acknowledged or not acknowledged by the second wireless
device for the set of wireless links and update, based on the
received set of block acknowledgments, a first scoreboard to track
data units acknowledged or not acknowledged by the second wireless
device for a first wireless link of the set of wireless links, and
a second scoreboard to track data units acknowledged or not
acknowledged by the second wireless device for a second wireless
link of the set of wireless links.
[0141] BA capabilities manager 1150 may determine a first block
acknowledgement window size for the set of wireless links based on
the exchanged block acknowledgement capability information and
establish a second block acknowledgement window size for a first
wireless link of the set of wireless links, the second block
acknowledgement window size less than the first block
acknowledgement window size.
[0142] FIG. 12 shows a diagram of a system 1200 including a device
1205 that supports multi-link BA management in accordance with
aspects of the present disclosure. Device 1205 may be an example of
or include the components of wireless device 905, wireless device
1005, or a STA 115 or an AP 105 as described above, e.g., with
reference to FIGS. 9 and 10. Device 1205 may include components for
bi-directional voice and data communications including components
for transmitting and receiving communications, including
communications manager 1215, processor 1220, memory 1225, software
1230, transceiver 1235, antenna 1240, and I/O controller 1245.
These components may be in electronic communication via one or more
buses (e.g., bus 1210).
[0143] Processor 1220 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, a discrete gate or transistor logic component, a
discrete hardware component, or any combination thereof). In some
cases, processor 1220 may be configured to operate a memory array
using a memory controller. In other cases, a memory controller may
be integrated into processor 1220. Processor 1220 may be configured
to execute computer-readable instructions stored in a memory to
perform various functions (e.g., functions or tasks supporting
multi-link BA management).
[0144] Memory 1225 may include random access memory (RAM) and read
only memory (ROM). The memory 1225 may store computer-readable,
computer-executable software 1230 including instructions that, when
executed, cause the processor to perform various functions
described herein. In some cases, the memory 1225 may contain, among
other things, a basic input/output system (BIOS) which may control
basic hardware or software operation such as the interaction with
peripheral components or devices.
[0145] Software 1230 may include code to implement aspects of the
present disclosure, including code to support multi-link BA
management. Software 1230 may be stored in a non-transitory
computer-readable medium such as system memory or other memory. In
some cases, the software 1230 may not be directly executable by the
processor but may cause a computer (e.g., when compiled and
executed) to perform functions described herein.
[0146] Transceiver 1235 may communicate bi-directionally, via one
or more antennas, wired, or wireless links as described above. For
example, the transceiver 1235 may represent a wireless transceiver
and may communicate bi-directionally with another wireless
transceiver. The transceiver 1235 may also include a modem to
modulate the packets and provide the modulated packets to the
antennas for transmission, and to demodulate packets received from
the antennas.
[0147] In some cases, the wireless device may include a single
antenna 1240. However, in some cases the device may have more than
one antenna 1240, which may be capable of concurrently transmitting
or receiving multiple wireless transmissions.
[0148] I/O controller 1245 may manage input and output signals for
device 1205. I/O controller 1245 may also manage peripherals not
integrated into device 1205. In some cases, I/O controller 1245 may
represent a physical connection or port to an external peripheral.
In some cases, I/O controller 1245 may utilize an operating system
such as iOS.RTM., ANDROID.RTM., MS-DOS.RTM., MS-WINDOWS.RTM.,
OS/2.RTM., UNIX.RTM., LINUX.RTM., or another known operating
system. In other cases, I/O controller 1245 may represent or
interact with a modem, a keyboard, a mouse, a touchscreen, or a
similar device. In some cases, I/O controller 1245 may be
implemented as part of a processor. In some cases, a user may
interact with device 1205 via I/O controller 1245 or via hardware
components controlled by I/O controller 1245.
[0149] FIG. 13 shows a flowchart illustrating a method 1300 for
multi-link BA management in accordance with aspects of the present
disclosure. The operations of method 1300 may be implemented by a
STA 115 or an AP 105 or its components as described herein. For
example, the operations of method 1300 may be performed by a
communications manager as described with reference to FIGS. 9
through 12. In some examples, a STA 115 or an AP 105 may execute a
set of codes to control the functional elements of the device to
perform the functions described below. Additionally or
alternatively, the STA 115 or an AP 105 may perform aspects of the
functions described below using special-purpose hardware.
[0150] At 1305 the STA 115 (or an AP 105) may establish a block
acknowledgement agreement for a plurality of wireless links used
for communications in parallel between the STA 115 or the AP 105
(e.g., the first wireless device) and a second wireless device
(e.g., some other receiving STA 115 or AP 105). The operations of
1305 may be performed according to the methods described herein. In
certain examples, aspects of the operations of 1305 may be
performed by a BA agreement manager as described with reference to
FIGS. 9 through 12.
[0151] At 1310 the STA 115 (or the AP 105) may format data to be
transmitted to the second wireless device (e.g., a receiving
device) into a plurality of data units. The operations of 1310 may
be performed according to the methods described herein. In certain
examples, aspects of the operations of 1310 may be performed by a
data unit manager as described with reference to FIGS. 9 through
12.
[0152] At 1315 the STA 115 (or the AP 105) may assign, to each of
the plurality of data units, a respective one of a set of sequence
numbers common to the plurality of wireless links. The operations
of 1315 may be performed according to the methods described herein.
In certain examples, aspects of the operations of 1315 may be
performed by a SN manager as described with reference to FIGS. 9
through 12.
[0153] At 1320 the STA 115 (or the AP 105) may transmit the
plurality of data units to the second wireless device (e.g., the
receiving device) over one or more of the plurality of wireless
links. The operations of 1320 may be performed according to the
methods described herein. In certain examples, aspects of the
operations of 1320 may be performed by a multi-link manager as
described with reference to FIGS. 9 through 12.
[0154] At 1325 the STA 115 (or the AP 105) may receive a plurality
of block acknowledgements, each of the plurality of block
acknowledgements indicating one or more of the set of common
sequence numbers. The operations of 1325 may be performed according
to the methods described herein. In certain examples, aspects of
the operations of 1325 may be performed by a BA manager as
described with reference to FIGS. 9 through 12.
[0155] FIG. 14 shows a flowchart illustrating a method 1400 for
multi-link BA management in accordance with aspects of the present
disclosure. The operations of method 1400 may be implemented by a
STA 115 or an AP 105 or its components as described herein. For
example, the operations of method 1400 may be performed by a
communications manager as described with reference to FIGS. 9
through 12. In some examples, a STA 115 or an AP 105 may execute a
set of codes to control the functional elements of the device to
perform the functions described below. Additionally or
alternatively, the STA 115 or an AP 105 may perform aspects of the
functions described below using special-purpose hardware.
[0156] At 1405 the STA 115 (or an AP 105) may establish a block
acknowledgement agreement for a plurality of wireless links used
for communications in parallel between the STA 115 or the AP 105
(e.g., the first wireless device) and a second wireless device
(e.g., a receiving device). The operations of 1405 may be performed
according to the methods described herein. In certain examples,
aspects of the operations of 1405 may be performed by a BA
agreement manager as described with reference to FIGS. 9 through
12.
[0157] At 1410 the STA 115 (or the AP 105) may format data to be
transmitted to the second wireless device (e.g., the receiving
device) into a plurality of data units. The operations of 1410 may
be performed according to the methods described herein. In certain
examples, aspects of the operations of 1410 may be performed by a
data unit manager as described with reference to FIGS. 9 through
12.
[0158] At 1415 the STA 115 (or the AP 105) may assign, to each of
the plurality of data units, a respective one of a set of sequence
numbers common to the plurality of wireless links. The operations
of 1415 may be performed according to the methods described herein.
In certain examples, aspects of the operations of 1415 may be
performed by a SN manager as described with reference to FIGS. 9
through 12.
[0159] At 1420 the STA 115 (or the AP 105) may transmit the
plurality of data units to the second wireless device (e.g., the
receiving device) over one or more of the plurality of wireless
links. The operations of 1420 may be performed according to the
methods described herein. In certain examples, aspects of the
operations of 1420 may be performed by a multi-link manager as
described with reference to FIGS. 9 through 12.
[0160] At 1425 the STA 115 (or the AP 105) may receive a plurality
of block acknowledgements, each of the plurality of block
acknowledgements indicating one or more of the set of common
sequence numbers. The operations of 1425 may be performed according
to the methods described herein. In certain examples, aspects of
the operations of 1425 may be performed by a BA manager as
described with reference to FIGS. 9 through 12.
[0161] At 1430 the STA 115 (or the AP 105) may update, based at
least in part on one or more of the plurality of received block
acknowledgments, a scoreboard to track data units acknowledged or
not acknowledged by the second wireless device (e.g., the receiving
device) for the plurality of wireless links. The operations of 1430
may be performed according to the methods described herein. In
certain examples, aspects of the operations of 1430 may be
performed by a BA scoreboard manager as described with reference to
FIGS. 9 through 12.
[0162] FIG. 15 shows a flowchart illustrating a method 1500 for
multi-link BA management in accordance with aspects of the present
disclosure. The operations of method 1500 may be implemented by a
STA 115 or an AP 105 or its components as described herein. For
example, the operations of method 1500 may be performed by a
communications manager as described with reference to FIGS. 9
through 12. In some examples, a STA 115 or an AP 105 may execute a
set of codes to control the functional elements of the device to
perform the functions described below. Additionally or
alternatively, the STA 115 or an AP 105 may perform aspects of the
functions described below using special-purpose hardware.
[0163] At 1505 the STA 115 (or an AP 105) may establish a block
acknowledgement agreement for a plurality of wireless links used
for communications in parallel between the STA 115 or the AP 105
(e.g., the first wireless device) and a second wireless device
(e.g., a receiving device). The operations of 1505 may be performed
according to the methods described herein. In certain examples,
aspects of the operations of 1505 may be performed by a BA
agreement manager as described with reference to FIGS. 9 through
12.
[0164] At 1510 the STA 115 (or the AP 105) may format data to be
transmitted to the second wireless device (e.g., the receiving
device) into a plurality of data units. The operations of 1510 may
be performed according to the methods described herein. In certain
examples, aspects of the operations of 1510 may be performed by a
data unit manager as described with reference to FIGS. 9 through
12.
[0165] At 1515 the STA 115 (or the AP 105) may assign, to each of
the plurality of data units, a respective one of a set of sequence
numbers common to the plurality of wireless links. The operations
of 1515 may be performed according to the methods described herein.
In certain examples, aspects of the operations of 1515 may be
performed by a SN manager as described with reference to FIGS. 9
through 12.
[0166] At 1520 the STA 115 (or the AP 105) may transmit the
plurality of data units to the second wireless device (e.g., the
receiving device) over one or more of the plurality of wireless
links. The operations of 1520 may be performed according to the
methods described herein. In certain examples, aspects of the
operations of 1520 may be performed by a multi-link manager as
described with reference to FIGS. 9 through 12.
[0167] At 1525 the STA 115 (or the AP 105) may receive a plurality
of block acknowledgements, each of the plurality of block
acknowledgements indicating one or more of the set of common
sequence numbers. The operations of 1525 may be performed according
to the methods described herein. In certain examples, aspects of
the operations of 1525 may be performed by a BA manager as
described with reference to FIGS. 9 through 12.
[0168] At 1530 the STA 115 (or the AP 105) may update, based at
least in part on the received plurality of block acknowledgments, a
first scoreboard to track data units acknowledged or not
acknowledged by the second wireless device (e.g., the receiving
device) for a first wireless link of the plurality of wireless
links, and a second scoreboard to track data units acknowledged or
not acknowledged by the second wireless device (e.g., the receiving
device) for a second wireless link of the plurality of wireless
links. The operations of 1530 may be performed according to the
methods described herein. In certain examples, aspects of the
operations of 1530 may be performed by a BA scoreboard manager as
described with reference to FIGS. 9 through 12.
[0169] FIG. 16 shows a flowchart illustrating a method 1600 for
multi-link BA management in accordance with aspects of the present
disclosure. The operations of method 1600 may be implemented by a
STA 115 or an AP 105 or its components as described herein. For
example, the operations of method 1600 may be performed by a
communications manager as described with reference to FIGS. 9
through 12. In some examples, a STA 115 or an AP 105 may execute a
set of codes to control the functional elements of the device to
perform the functions described below. Additionally or
alternatively, the STA 115 or an AP 105 may perform aspects of the
functions described below using special-purpose hardware.
[0170] At 1605 the STA 115 (or an AP 105) may establish a block
acknowledgement agreement for a plurality of wireless links used
for communications in parallel between the STA 115 or the AP 105
(e.g., the first wireless device) and a second wireless device
(e.g., a multi-link receiving device). The operations of 1605 may
be performed according to the methods described herein. In certain
examples, aspects of the operations of 1605 may be performed by a
BA agreement manager as described with reference to FIGS. 9 through
12.
[0171] At 1610 the STA 115 (or the AP 105) may format data to be
transmitted to the second wireless device (e.g., the receiving
device) into a plurality of data units. The operations of 1610 may
be performed according to the methods described herein. In certain
examples, aspects of the operations of 1610 may be performed by a
data unit manager as described with reference to FIGS. 9 through
12.
[0172] At 1615 the STA 115 (or the AP 105) may assign, to each of
the plurality of data units, a respective one of a set of sequence
numbers common to the plurality of wireless links. The operations
of 1615 may be performed according to the methods described herein.
In certain examples, aspects of the operations of 1615 may be
performed by a SN manager as described with reference to FIGS. 9
through 12.
[0173] At 1620 the STA 115 (or the AP 105) may assign a respective
sequence number of a second set of sequence numbers to each of a
first set of data units of the plurality of data units to be
transmitted over a first wireless link of the plurality of wireless
links. The operations of 1620 may be performed according to the
methods described herein. In certain examples, aspects of the
operations of 1620 may be performed by a SN manager as described
with reference to FIGS. 9 through 12.
[0174] At 1625 the STA 115 (or the AP 105) may assign a respective
sequence number of a third set of sequence numbers to each of a
second set of data units of the plurality of data units to be
transmitted over a second wireless link of the plurality of
wireless links. The operations of 1625 may be performed according
to the methods described herein. In certain examples, aspects of
the operations of 1625 may be performed by a SN manager as
described with reference to FIGS. 9 through 12.
[0175] At 1630 the STA 115 (or the AP 105) may transmit the
plurality of data units to the second wireless device over one or
more of the plurality of wireless links. The operations of 1630 may
be performed according to the methods described herein. In certain
examples, aspects of the operations of 1630 may be performed by a
multi-link manager as described with reference to FIGS. 9 through
12.
[0176] At 1635 the STA 115 (or the AP 105) may receive a plurality
of block acknowledgements, each of the plurality of block
acknowledgements indicating one or more of the set of common
sequence numbers. The operations of 1635 may be performed according
to the methods described herein. In certain examples, aspects of
the operations of 1635 may be performed by a BA manager as
described with reference to FIGS. 9 through 12.
[0177] FIG. 17 shows a flowchart illustrating a method 1700 for
multi-link BA management in accordance with aspects of the present
disclosure. The operations of method 1700 may be implemented by a
STA 115 or an AP 105 or its components as described herein. For
example, the operations of method 1700 may be performed by a
communications manager as described with reference to FIGS. 9
through 12. In some examples, a STA 115 or an AP 105 may execute a
set of codes to control the functional elements of the device to
perform the functions described below. Additionally or
alternatively, the STA 115 or an AP 105 may perform aspects of the
functions described below using special-purpose hardware.
[0178] At 1705 the STA 115 (or an AP 105) may establish a block
acknowledgement agreement for a plurality of wireless links used
for communications in parallel between the STA 115 or the AP 105
(e.g., the first wireless device) and a second wireless device
(e.g., a device transmitting multi-link communications). The
operations of 1705 may be performed according to the methods
described herein. In certain examples, aspects of the operations of
1705 may be performed by a BA agreement manager as described with
reference to FIGS. 9 through 12.
[0179] At 1710 the STA 115 (or the AP 105) may receive a plurality
of data units from the second wireless device (e.g., the
transmitting device) over one or more of the plurality of wireless
links, each data unit of the plurality of data units associated
with one of a set of sequence numbers common to the plurality of
wireless links. The operations of 1710 may be performed according
to the methods described herein. In certain examples, aspects of
the operations of 1710 may be performed by a multi-link manager as
described with reference to FIGS. 9 through 12.
[0180] At 1715 the STA 115 (or the AP 105) may transmit a plurality
of block acknowledgements in response to the plurality of data
units, each of the plurality of block acknowledgements indicating
one or more of the set of common sequence numbers. The operations
of 1715 may be performed according to the methods described herein.
In certain examples, aspects of the operations of 1715 may be
performed by a BA manager as described with reference to FIGS. 9
through 12.
[0181] It should be noted that the methods described above describe
possible implementations, and that the operations and the steps may
be rearranged or otherwise modified and that other implementations
are possible. Furthermore, aspects from two or more of the methods
may be combined.
[0182] Techniques described herein may be used for various wireless
communications 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 code division multiple access (CDMA)
system may implement a radio technology such as CDMA2000, Universal
Terrestrial Radio Access (UTRA), etc. CDMA2000 covers IS-2000,
IS-95, and IS-856 standards. IS-2000 Releases may be commonly
referred to as CDMA2000 1.times., 1.times., etc. IS-856 (TIA-856)
is commonly referred to as CDMA2000 1.times.EV-DO, High Rate Packet
Data (HRPD), etc. UTRA includes Wideband CDMA (WCDMA) and other
variants of CDMA. A time division multiple access (TDMA) system may
implement a radio technology such as Global System for Mobile
Communications (GSM). An orthogonal frequency division multiple
access (OFDMA) system may implement a radio technology such as
Ultra Mobile Broadband (UMB), Evolved UTRA (E-UTRA), IEEE 802.11
(Wi-Fi), IEEE 802.16 (WiMAX), IEEE 802.20, Flash-OFDM, etc.
[0183] The wireless communications system or systems described
herein may support synchronous or asynchronous operation. For
synchronous operation, the stations may have similar frame timing,
and transmissions from different stations may be approximately
aligned in time. For asynchronous operation, the stations may have
different frame timing, and transmissions from different stations
may not be aligned in time. The techniques described herein may be
used for either synchronous or asynchronous operations.
[0184] The downlink transmissions described herein may also be
called forward link transmissions while the uplink transmissions
may also be called reverse link transmissions. Each communication
link described herein--including, for example, wireless
communications system 100 and 200 of FIGS. 1 and 2--may include one
or more carriers, where each carrier may be a signal made up of
multiple sub-carriers (e.g., waveform signals of different
frequencies).
[0185] The description set forth herein, in connection with the
appended drawings, describes example configurations and does not
represent all the examples that may be implemented or that are
within the scope of the claims. The term "exemplary" used herein
means "serving as an example, instance, or illustration," and not
"preferred" or "advantageous over other examples." The detailed
description includes specific details for the purpose of providing
an understanding of the described techniques. These techniques,
however, 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.
[0186] In the appended figures, similar components or features may
have the same reference label. Further, various 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 just the first reference label is used in the
specification, the description is applicable to any one of the
similar components having the same first reference label
irrespective of the second reference label.
[0187] 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.
[0188] The various illustrative blocks and modules described in
connection with the disclosure herein may be implemented or
performed with a general-purpose processor, a DSP, an ASIC, an 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, multiple
microprocessors, one or more microprocessors in conjunction with a
DSP core, or any other such configuration).
[0189] The functions described herein 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 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 appended claims. For example, due to the nature of
software, functions described above may be implemented using
software executed by a processor, hardware, firmware, hardwiring,
or combinations of any of these. Features implementing functions
may also be physically located at various positions, including
being distributed such that portions of functions are implemented
at different physical locations. Also, as used herein, including in
the claims, "or" as used in a list of items (for example, a list of
items prefaced by a phrase such as "at least one of" or "one or
more of") indicates an inclusive list such that, for example, a
list 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" shall not be construed as a reference to a closed set of
conditions. For example, an exemplary step that is described as
"based on condition A" may be based on both a condition A and a
condition B without departing from the scope of the present
disclosure. In other words, as used herein, the phrase "based on"
shall be construed in the same manner as the phrase "based at least
in part on."
[0190] 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. A non-transitory storage medium may be any available
medium 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. Also, 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,
digital subscriber line (DSL), or wireless technologies such as
infrared, radio, and microwave are included in the definition of
medium. Disk and disc, as used herein, include 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.
[0191] The description herein is provided to enable a 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 limited to the examples
and designs described herein, but is to be accorded the broadest
scope consistent with the principles and novel features disclosed
herein.
* * * * *