A dynamic A-MSDU enabling method is disclosed. The method enables the recipient of an aggregate mac service data unit (A-MSDU) under a block ACK agreement to reject the A-MSDU. The method thus distinguishes between A-MSDU outside of the block ACK agreement, which is mandatory, from A-MSDU under the block ACK agreement, which is optional. The method thus complies with the 802.11n specification while enabling the recipient to intelligently allocate memory during block ACK operations.
|
1. A method, comprising:
notifying a recipient of an intention regarding an aggregate medium access controller (mac) service data unit (A-MSDU) by an originator of a block acknowledge agreement;
allocating one or more memory buffers for A-MSDU by the recipient if the originator intention is to use the A-MSDU; and
not allocating the memory buffer for A-MSDU by the recipient if the originator intention is to not use the A-MSDU.
13. A method, comprising:
sending a block acknowledge request (ADDBA) by an originator to a recipient, the ADDBA being part of a block acknowledge agreement;
sending a block acknowledge parameter bit to the recipient, wherein the bit indicates whether or not the originator is going to send an aggregate medium access controller (mac) service data unit (A-MSDU) and the A-MSDU on top of an aggregate mac protocol data unit (A-MPDU);
wherein the recipient selectively allocates buffer memory based on the value of the bit.
2. The method of
clearing a bit in a block acknowledge parameter set fixed field by the originator.
3. The method of
4. The method of
sending a “success” status code by the recipient in an add block acknowledge response frame;
setting the bit by the recipient; and
allocating the memory buffers by the recipient for MSDU size.
5. The method of
sending a “success” status code by the recipient in an add block acknowledge response frame;
clearing the bit by the recipient; and
allocating the memory buffers by the recipient for A-MSDU size.
6. The method of
sending a “request denied” status code by the recipient in an add block acknowledge response frame;
setting the bit by the recipient; and
not allocating the memory buffers by the recipient.
7. The method of
setting a bit in a block acknowledge parameter set fixed field by the originator.
8. The method of
9. The method of
sending a “success” status code by the recipient in an add block acknowledge response frame;
setting the bit by the recipient; and
allocating the memory buffers by the recipient for A-MSDU size.
10. The method of
sending a “success” status code by the recipient in an add block acknowledge response frame;
clearing the bit by the recipient; and
allocating the memory buffers by the recipient for A-MSDU size.
11. The method of
sending a “success” status code by the recipient in an add block acknowledge response frame;
clearing the bit by the recipient; and
allocating the memory buffers by the recipient for MSDU size.
12. The method of
sending a “request denied” status code by the recipient in an add block acknowledge response frame;
clearing the bit by the recipient; and
not allocating the memory buffers by the recipient.
14. The method of
receiving the block acknowledge parameter bit by the recipient; and
agreeing to support the A-MSDU and A-MSDU on top of A-MPDU by the recipient by allocating the buffer memory.
15. The method of
receiving the block acknowledge parameter bit by the recipient; and
refusing to support the A-MSDU and A-MSDU on top of A-MPDU by the recipient by not allocating the buffer memory.
16. The method of
17. The method of
|
This application relates to wireless transmission under 802.11 and, more particularly, to packet aggregation under this standard.
The Institute of Electrical and Electronics Engineers (IEEE) has adopted a set of standards for wireless local area networks (LANs), known as 802.11. Wireless products satisfying 802.11a, 802.11b, and 802.11g are currently on the market, for example.
Recently, an 802.11n standard, known also as the Enhancement for High Throughput wireless standard, has emerged. Under the 802.11n standard, transmitters and receivers each have multiple antennas for transmission and reception of data. As a multiple input, multiple output (MIMO) technology, 802.11n is designed to coordinate multiple simultaneous radio signals, and is expected to support a bandwidth of greater than 100 megabits per second (Mbps).
Under 802.11, a device (or client), also known as a station (STA), accesses a wireless LAN (WLAN) by following a communication protocol, essentially involving the transmission of frames to an access point (AP). The frames, or packets, may be data frames, control frames, or management frames. The frames convey information that enables the AP to “connect” the device to the WLAN. The APs and STAs in a WLAN constitute a wireless neighborhood.
The 802.11n specification defines two parallel types of packet aggregation: aggregate MAC service data unit (A-MSDU) and aggregate MAC protocol data unit (A-MPDU), where MAC is shorthand for medium access controller. The A-MSDU and A-MPDU may be used separately or together. A MAC service data unit (MSDU) is the frame entering or exiting the top of the MAC. A MAC protocol data unit (MPDU) is the frame entering or exiting the bottom of the MAC.
The aggregate MSDU, A-MSDU, aggregates data MSDUs into one MAC protocol data unit, or MPDU. Each such packet included in the MPDU contains a short header with the byte count, the destination address, and the source address. The aggregate MPDU, A-MPDU, aggregates MPDUs into one PHY protocol data unit, or PPDU, with PHY being shorthand for the physical layer of the stack.
A merger of both aggregation types, A-MSDU and A-MPDU, means that an MPDU containing A-MSDU is included in A-MPDU. Both types of aggregation are mandatory in the current draft of the 802.11n specification. The receiver, or recipient, is therefore expected to support both types of aggregation when prompted by the transmitter, or originator.
Under 802.11n, the maximum size, known as the maximum transmission unit, or MTU, of A-MSDU is approximately 4 Kilobytes (Kbytes). The MTU that can be sent by MPDU is 1500 bytes. To support A-MSDU, the recipient has to be able to receive the full-sized A-MSDU. In other words, the recipient must allocate memory to receive the A-MSDU packet.
There are two ways to transmit an A-MSDU packet. The packet may be sent under the normal acknowledge (ACK) protocol. Alternatively, the packet may be transmitted using a block ACK agreement. An A-MPDU, by contrast, mandates using a block ACK agreement.
To use or not use either type of aggregation, A-MSDU or A-MPDU, is entirely up to the originator, the station that transmits the data. The station that receives the data, or recipient, should be prepared to receive the data, whatever the aggregation types is. A station that receives an “add block ACK (ADDBA) request” should allocate a block ACK (BA) reordering buffer. ADDBA request is the name of the action frame that is used to establish the block ACK agreement. A BA reordering buffer contains several buffers, in which each one is of the MTU for A-MSDU size (e.g., ˜4 Kbytes). This must be done by the recipient station, even when the originator has no intent to merge A-MSDU into A-MPDU. Thus, even where the originator does not send the A-MSDU packets aggregated into an A-MPDU packet, the recipient has allocated the larger MTU size for each buffer in the BA reordering buffer. In such a situation, more than half of the memory allocation in the recipient buffer is wasted. That is, 4000 Kbytes−1500 Kbytes, or 2500 Kbytes, of each buffer is wasted.
Thus, there is a continuing need for a packet aggregation method that is efficient for the recipient while supporting the 802.11n specification.
The foregoing aspects and many of the attendant advantages of this document will become more readily appreciated as the same becomes better understood by reference to the following detailed description, when taken in conjunction with the accompanying drawings, wherein like reference numerals refer to like parts throughout the various views, unless otherwise specified.
In accordance with the embodiments described herein, a dynamic A-MSDU enabling method is disclosed. The method enables the recipient of an aggregate MAC service data unit (A-MSDU) under a block ACK agreement to reject the A-MSDU. The method thus distinguishes between A-MSDU outside of the block ACK agreement, which is mandatory, from A-MSDU under the block ACK agreement, which is optional. The method thus complies with the 802.11n specification while enabling the recipient to intelligently allocate memory during block ACK operations.
As described, above, support of A-MSDU outside of the block ACK agreement, that is, under the normal ACK agreement, is mandatory by the recipient. However, support of A-MSDU under the block ACK agreement is optional. This nuance of the 802.11n specification is exploited by the method described herein.
The method 100 employs two parameters used for communication between the originator and the recipient.
Also, the opposite non-backward compatible embodiment 60 may exist as depicted in
In the second embodiment 50 (
Returning to
Where the recipient does not support A-MSDU under the block ACK agreement (the “no” prong of block 106), the recipient sends a “request denied” status code in the ADDBA response frame body 30 and sets the bit, B0 (block 112). In either case, the recipient has control over whether memory is to be allocated, due to the designation of A-MSDU under block ACK as optional in the 802.11n specification. The next time, the originator may attempt to establish the block ACK agreement by setting the bit, B0.
The case where the originator does not intend to use A-MSDU under the block ACK agreement is next described (
Where the recipient does not understand that the originator does not use A-MSDU under the block ACK agreement (the “no” prong of block 126), the recipient sends a “success” status code in the ADDBA response frame body 30 and clears the bit, B0 (block 132). This is the legacy recipient situation. In this case, memory for A-MSDU need not be allocated, since the originator does not request it. For the non-legacy recipient, memory is not allocated. Nevertheless, for legacy systems, the memory will be allocated, as always (block 134).
Without the dynamic A-MSDU enabling method 100, the recipient is expected to always support A-MSDU, either under the block ACK agreement or under normal ACK, with no relation to what the originator intends. This is a waste of memory resources for the recipient. The method 100 empowers the recipient to extract information (from originators that support the method) so as to allocate its memory resource efficiently.
The dynamic A-MSDU enabling method 100 enables negotiation between the originator and the recipient during each and every block ACK agreement. Thus, the decision made takes in consideration the capabilities of both sides to utilize A-MSDU, depending on the current state of resources (memory and CPU utilization). Where the current approach is resource wasteful, the method 100 enables the recipient to intelligently allocate the resource.
In the MIMO basic service set (BSS), the dynamic A-MSDU enabling method 100 increases by more than twofold the number of block ACK agreements supported in parallel, while keeping the same amount of memory allocated for the buffering of the frame, in some embodiments. Thus, the method 100 may increase client throughput performance in MIMO BSSs by enabling more buffers in the reordering buffer space.
While the application has been described with respect to a limited number of embodiments, those skilled in the art will appreciate numerous modifications and variations therefrom. It is intended that the appended claims cover all such modifications and variations as fall within the true spirit and scope of the above description.
Patent | Priority | Assignee | Title |
8370546, | Aug 30 2007 | Intel Corporation | Communication station and method for communicating aggregate MAC service data units (A-MSDU) under a block acknowledge agreement |
8533373, | Aug 30 2007 | Intel Corporation | Wireless station and method for selecting A-MPDU transmission characteristics |
8705502, | Oct 20 2010 | Cisco Technology, Inc. | Using encapsulation to enable 802.1 bridging across 802.11 links |
8838855, | Aug 30 2007 | Intel Corporation | Wireless station and method for selecting A-MPDU transmission characteristics |
Patent | Priority | Assignee | Title |
7020822, | Aug 02 2001 | Texas Instruments Incorporated | Automatic repeat request for centralized channel access |
7477630, | Dec 27 2002 | Electronics and Telecommunications Research Institute | Transmission controller used in media access control processing apparatus and transmission controlling method thereof |
20040136390, | |||
20050094614, | |||
20060083233, | |||
20080181251, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Aug 30 2007 | Intel Corporation | (assignment on the face of the patent) | / | |||
Aug 30 2007 | TRAININ, SOLOMON | Intel Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 022458 | /0251 |
Date | Maintenance Fee Events |
Feb 11 2013 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Jan 26 2017 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Jan 27 2021 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Aug 11 2012 | 4 years fee payment window open |
Feb 11 2013 | 6 months grace period start (w surcharge) |
Aug 11 2013 | patent expiry (for year 4) |
Aug 11 2015 | 2 years to revive unintentionally abandoned end. (for year 4) |
Aug 11 2016 | 8 years fee payment window open |
Feb 11 2017 | 6 months grace period start (w surcharge) |
Aug 11 2017 | patent expiry (for year 8) |
Aug 11 2019 | 2 years to revive unintentionally abandoned end. (for year 8) |
Aug 11 2020 | 12 years fee payment window open |
Feb 11 2021 | 6 months grace period start (w surcharge) |
Aug 11 2021 | patent expiry (for year 12) |
Aug 11 2023 | 2 years to revive unintentionally abandoned end. (for year 12) |