Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
EFFICIENT TRANSMISSION OF LARGE DATAGRAMS IN WIRELESS SYSTEMS
Document Type and Number:
WIPO Patent Application WO/2018/147891
Kind Code:
A1
Abstract:
In various embodiments, data blocks that are too large to be feasibly transmitted wirelessly as a single unit may be segmented into smaller units before transmission, and reassembled by the receiving device. This segmentation and reassembly may be accomplished in the MAC layer by segmenting MSDUs into MPDUs. Techniques are shown to assure that any MPDUs received out of order can be reassembled in the correct order, even if they belong to different MSDUs. Specific formats are shown in the MPDU header to facilitate this process.

Inventors:
GLIK MICHAEL (IL)
TRAININ SOLOMON (IL)
CORDEIRO CARLOS (US)
KEDEM OREN (IL)
BRAINMAN IGOR (IL)
PAZ NIR (IL)
Application Number:
PCT/US2017/036025
Publication Date:
August 16, 2018
Filing Date:
June 06, 2017
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
INTEL IP CORP (US)
International Classes:
H04W28/06
Foreign References:
US20130051350A12013-02-28
US20120207087A12012-08-16
US8311040B22012-11-13
Other References:
MATTHEW FISCHER: "A-MSDU Fragmentation", IEEE 802.11-16/1409R3, 8 November 2016 (2016-11-08), Retrieved from the Internet
ALFRED ASTERJADHI; ET AL: "Fragmentation - 25.3.3 - Part I", IEEE 802.11-16/0828R0, 14 July 2016 (2016-07-14), XP055478432, Retrieved from the Internet
LAURENT CARIOU ET AL.: "Proposed Spec Text for fragmentation operation", IEEE 802.11-16/1381R2, 9 November 2016 (2016-11-09), XP068110763, Retrieved from the Internet
Attorney, Agent or Firm:
TRAVIS, John F. (US)
Download PDF:
Claims:
CLAIMS:

1. A method of wireless communication, comprising:

segmenting a MAC Service Data Unit (MSDU) into multiple MAC Protocol Data Units (MPDUs);

assigning consecutive sequence numbers to the multiple MPDUs;

creating a MAC header for each MPDU, the MAC header containing the assigned sequence number, an indicator of a first of the multiple MPDUs, and an indicator of a last of the multiple MPDUs; and

transmitting the multiple MPDUs.

2, The method of claim 1 , wherein the indicator of the first of the multiple MPDUs is a one- bit field and the indicator of the last of the multiple MPDUs is be a one-bit field. 3 , The method of claim 1 , wherein the header contains a field to indicate whether MSDU segmentation is supported.

4, A wireless communications device having a processor and a memory, the processor and memory adapted to:

segment a MAC Service Data Unit (MSDU) into multiple MAC Protocol Data Units

(MPDUs);

assign consecutive sequence numbers to the multiple MPDUs;

create a MAC header for each MPDU, the MAC header containing the assigned sequence number, an indicator of a first of the multiple MPDU s, and an indicator of a last of the multiple MPDUs; and transmit the multiple MPDUs.

5. The wireless communications device of claim 4, wherein the indicator of the first of the multiple MPDUs is to be a one-bit field and the indicator of the last of the multiple MPDUs is to be a one-bit field.

6. The wireless communications device of claim 4, wherein the header is to contain a fi eld to indicate whether MSDU segmentation is supported,

7. The wireless communications device of claim 4, further comprising a display.

8. A computer-readable non-transitory storage medium that contains instructions, which when executed by one or more processors result in performing operations comprising the operations of method claims 1-3.

9. A wireless communications device having means to perform the operations of method claims 1-3.

10. The wireless communications device of claim 9, further including means for displaying.

11. A method of wireless communications, comprising:

wirelessly receiving multiple MPDUs representing an MSDU, wherein each MPDU has a sequence number, a first segment indicator to indicate a first of the MPDUs, and a last segment indicator to indicate a last of the MPDUs; determining whether all MPDUs with sequence numbers between the first and last MPDUs have been received; and

reassembling the MPDUs into the MSDU, based on an order of the sequence numbers, responsive to said determining that all the MPDUs with sequence numbers between the first and last MPDU have been received.

12. The method of claim 11, wherein said determining includes determining whether the sequence numbers contain all consecutive numbers between a sequence number associated with the first MPDU and a sequence number associated with the last MPDU.

13. The method of claim 11, wherein the first segment indicator is a one-bit field and the last segment indicator is a one-bit field.

14. The method of claim 1 1, wherein the header contains a field to indicate whether MSDU segmentation is supported,

15. A computer-readable non-transitory storage medium that contains instructions, which when executed by one or more processors result in performing the operations of method claims 1 1 -14.

16. A wireless communications device having a processor and a memory, the processor and memory adapted to:

wirelessly receive multiple MPDUs representing an MSDU, wherein each MPDU has a sequence number, a first segment indicator to indicate a first of the MPDU s, and a last segment indicator to indicate a last of the MPDUs; determine whether all MPDUs with sequence numbers between the first and last MPDUs have been received; and

reassemble the MPDUs into the MSDU, based on an order of the sequence numbers, responsive to said determining that all the MPDUs with sequence numbers between the first and last MPDU have been received.

17. The wireless communications device of claim 16, wherein said determining is to include determining whether the sequence numbers contain all consecutive numbers between a sequence number associated with the first MPDU and a sequence number associated with the last MPDU.

18, The wireless communications device of claim 16, wherein the first segment indicator is to be a one-bit field and the last segment indicator is to be a one-bit field. 19, The wireless communications device of claim 16, wherein the header is to contain a field to indicate whether MSDU segmentation is supported.

20, The wireless communications device of claim 16, further comprising a display. 21. A wireless communications device comprising means for performing the operations of method claims 11-14.

Description:
[0001 j This application claims priority to U.S. provisional application serial no.

62/457,11 1 , filed 9 Februar' 2017, and claims priority to that date for ail applicable subject matter. It incorporates by reference all subject matter in that document.

TECHNICAL FIELD OF THE INVENTION

[0002] Various embodiments of the invention relate to wireless communications, in particular regarding ways to fragment large datagrams that are being wirelessly

communicated,

BACKGROUND

[0003] The Institute of Electrical and Electronic Engineers (IEEE) standard 802.11 defines various ways to format the data and supporting information that is communicated between wireless devices. Various iterations of this standard have been released over the years, covering different aspects of the field and covering advances in the technology. In particular, IEEE 802.11 protocol currently limits medium access control service data units (MSDU) to a specific maximum size - for example 8 kilobytes (KB) for 60 GigaHertz (GHz) communications. This definition implies that the maximum transmit unit (MTU) exposed to the upper layer in wireless local area network (WLAN) systems can be up to the MSDU maximum size. Any application/driver which uses bigger datagrams will need to use communication stack segmentation to deliver such datagrams between the data originator and the data consumer. This segmentation process may include splitting each datagram into up to MTU-size segments, adding new a new L3/L4 header, and calculating a new L3/L4 checksum for each segment. This process requires significant calculation power per packet from the device. In addition, the quantity of packets that the routing/communication stack needs to handle after fragmentation on both transmitter and receiver increases dramatically. The mobile device CPU frequency and power consumption may become very high, making some devices unable to am new applications, or significantly increasing the cost of those devices.

[0004] For some IP protocols, large segment offload (LSO) and large receive offload

(LRO) may attempt to reduce utilization of a mobile device CPU by offloading the functionality to the NIC. However, without changing the MSDU size, these mechanisms do not eliminate the need of L2 fragmentation before sending it over the air. They simply move the functionality from the device CPU subsystem to the NIC, which may increase NIC cost and power consumption.

[0005] Some embodiments of the invention may be better understood by referring to the following description and accompanying drawings that are used to illustrate embodiments of the invention. In the drawings:

[0006] Fig, 1 shows a diagram of a wireless communications device, according to an embodiment of the invention.

[0007] Fig. 2 shows a diagram of a communication between two wireless

communication devices in a wireless network, according to an embodiment of the invention.

[0008] Fig. 3 shows a format for indicating that Segmentation and Reassembly

Capability is supported by the Initiator, according to an embodiment of the invention [0009] Fig. 4 shows a format for indicating a Sequence Number field and a Segment

Index field, according to an embodiment of the invention.

[0010] Fig. 5 shows a fl ow diagram of a method of segmenting and transmitting an

MSDU, according to an embodiment of the invention.

1001 I f Fig. 6 shows a flow diagram of a method of receiving and reassembling an

MSDU, according to an embodiment of the invention.

DETAILED DESCRIPTION [0012] In the following description, numerous specific details are set forth. However, it is understood that embodiments of the invention may be practiced without these specific details. In other instances, well-known circuits, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.

[0013] References to "one embodiment", "an embodiment", "example embodiment", "various embodiments", etc., indicate that the embodiment(s) of the invention so described may include particular features, structures, or characteristics, but not every embodiment necessarily includes the particular features, structures, or characteristics. Further, some embodiments may have some, all, or none of the features described for other embodiments.

[0014] In the following description and claims, the terms "coupled" and "connected," along with their derivatives, may be used. It should be understood that these terms are not intended as synonyms for each other. Rather, in particular embodiments, "connected" is used to indicate that two or more elements are in direct physical or electrical contact with each other. "Coupled" is used to indicate that two or more elements co-operate or interact with each other, but they may or may not have intervening physical or electrical components between them. [0015] The term "wireless" may be used to describe circuits, devices, systems, methods, techniques, communications channels, etc., that communicate data by using modulated electromagnetic radiation through a non-solid medium. A wireless device may comprise at least one antenna, at least one radio, at least one memory, and at least one processor, where the radio(s) transmits signals through the antenna that represent data and receives signals through the antenna that represent data, while the processor(s) may process the data to be transmitted and the data that has been received. The processor(s) may also process other data which is neither transmitted nor received.

[0016] If used within this document, the term "AP" is intended to cover devices that schedule and control, at least partially, wireless communications by other devices in the network. An AP may also be known as a network controller (NC), base station (BS), access point (AP), central point (CP), PBSS Control Point (PCP) or any other term that may arise to describe the functionality of a network controller.

[0017] If used within this document, the term "ST A" is intended to cover those devices whose wireless communications are at least partially scheduled and controlled by an AP. A STA may also be known as a mobile station (MS), subscriber station (SS), user equipment (LIE), or any other term that may arise to describe the functionality of a STA. ST As may move during such communications, but movement is not required.

[0018] As used within this document, the term "communicate" is intended to include transmitting and/or receiving. This may be particularly useful in claims when describing the organization of data that is being transmitted by one device and received by another, but the claim can be interpreted to cover the functionality of either one of those devices. Similarly, the bidirectional exchange of data between two devices (both devices transmit and receive during the exchange) may be described as 'communicating', even if only the functionality of one of those devices is being claimed. [0019] Fig. 1 shows a diagram of a wireless communications device, according to an embodiment of the invention. The illustrated embodiment of device 100 may represent any of the wireless communication devices described elsewhere in this document. The elements of device embodiment 100 are shown as an example, but other wireless devices may have more, fewer, or different features. Device 100 is shown with one or more antennas 160, one or more radios 120, one or more processors 102, one or more memories 104 and/or 106, and other components. These components may be coupled together in any feasible manner.

[0020] Various embodiments of the invention may be implemented fully or partially in software and/or firmware. This software and/or firmware may take the form of instructions (e.g., instructions 124) contained in or on a non-transitory computer-readable storage medium (e.g., medium 122, main memory 104, and/or static memory 106). The medium may also be external to a device such as device 100, with the intention that the instructions will eventually be loaded into, and executed by, a device such as device 100. The instructions may be read and executed by the one or more processors to enable performance of the operations descri bed herein. The instructions may be in any suitable form, such as but not limited to source code, compiled code, interpreted code, executable code, static code, dynamic code, and the like. Such a computer-readable medium may include any tangible non-transitory medium for storing information in a form readable by one or more computers, such as but not limited to read only memory (ROM); random access memory (RAM);

magnetic disk storage media; optical storage media; flash memory, etc.

[0021] Fig. 2 shows a diagram of a communication between two wireless

communication devices in a wireless network, according to an embodiment of the invention. This communication might be between a STA and a ST A, an AP and a ST A, an AP and an AP, or between any other two wireless communication devices. However, the devices are labeled 'initiator' and 'responder' because the techniques described are applied to initiating a segmentation of a datagram in one device before transmitting that datagram, and reconstructing the segments back into the original datagram in a receiving device that may be expected to respond with an acknowledgment. The roles of initiator and responder may be alternated between two devices as they continue an ongoing exchange of messages with each other.

[0022] The flow of Fig. 2 may begin with a medium access control (MAC) service data unit (MAC SDU, or MSDU) being passed from an upper layer to the MAC layer in the Initiator device. In the example of Fig. 2, the first MSDU (MSDUO) has a payload size of 20,000 bytes, while the second MSDU (MSDU1) has a size of 31,000 bytes.

[0023] Referring to the first MSDU, the initiator MAC layer may segment the 20,000 bytes into three MAC Protocol Data Units (MPDUs) of size 7920 bytes, 7920 bytes, and 4160 bytes, which are shown as MPDU1, MPDU2, and MPDU3, respectively. These may be transmitted to the responder, which may transmit an acknowledgement back to the initiator if the MPDUs were all received correctly. Once the responder receives the MPDUs, its MAC layer may reassemble them into the original MSDU before passing that MSDU on to the responder' s upper layer.

[0024] In the embodiment of Fig. 2, each MPDU except the last MPDU of each

MSDU is shown as the same size, which may be the case if all but the last MPDUs are set to a pre-determined maximum size. However, in other embodiments, the MPDUs of one MSDU may have a different size than the MPDUs of another MSDU, and MPDU s for a single MSDU may also be of different sizes even if one of them is not the last.

[0025] Fig. 2 shows a single block acknowledgement indicating that all three MPDUs

(MPDU1, MPDU2, MPDU3) were received correctly. However, if one or more of the MPDUs was not received correctly, and the error(s) cannot be corrected at the receiver, various techniques are available for the initiator and responder to re-communicate the corrupted data. In some embodiments the responder may indicate which MPDU was not received correctly so it may be retransmitted. In some embodiments the responder may indicate the entire MSDU has been rejected, so the initiator may retransmit all the MPDUs in that MSDU. Other techniques may also be used,

[0026] In addition to the MAC layers shown, each device may also have a PHY layer that translates the digital data in the MAC layer to/from the physical signal that is

transmitted/received over the air interface. This layer is not considered relevant to the various embodiments of the invention and is not shown or discussed further.

[0027] Each MPDU may have several parameters associated with it. In the example of Fig. 2, these parameters may include the payload size of that MPDU, the sequence number (SN), an MSDU number to indicate which MSDU the MPDU is a part of, a first segment indicator to indicate whether the associated segment is the first MPDU in the relevant MSDU, and a last segment indicator to indicate whether the associated segment is the last MPDU in the relevant MSDU. Since this document deals with segmenting an MSDU into multiple MPDUs, the tenns 'MPDU' and 'segment' may both be used, depending on context, with each MPDU being conveyed by a different segment.

[0028] The sequence number may be an incrementing value associated with each

MPDU in the order the MSDU is segmented into those MPDUs, and the incrementing value may continue into the next MSDU, as shown in Fig, 2. In some embodiments, the sequence number has 12 bits, so it can continue incrementing through many MSDUs before it has to wrap around to 0. In other embodiments, its value may be reset to 0 for other reasons. The incrementing nature of the sequence number also allows the MPDUs at the receiver to be reassembled in the correct order if they are received out of order.

[0029] Various techniques may be used to permit the receiver to determine which MSDU each MPDU belongs to. In one embodiment, an incrementing value may be assigned to each MSDU, and this value included in a field within each MPDU. In another embodiment, the incrementing sequence number may be used to reconstruct ail MPDUs in order regardless of MSDU, and then the first and last segment indicators may be used to determine the beginning and ending MPDUs for each MSDU, with sequence numbers being used to place ail the intermediate MPDUs within that range.

[0030] Conveying the Segmentation and Reassembly information from the Initiator device to the Responder device may be incorporated into a pre-determined format in the communication between those two devices. In some embodiments, this format may be contained within various fields within the MAC header of each MPDU.

[0031] Fig. 3 shows a format for indicating that Segmentation and Reassembly

Capability is supported, according to an embodiment of the invention. In the example shown, the Segmentation and Reassembly Capability field may contain eight bits, of which 7 bits are currently reserved for other uses, and a single bit is shown indicating the capability. In another embodiment, this capability indication may be a bit in a 24-bit TSPEC element of the MAC header of a DMG communication. In either example, a preferred embodiment may contain a ' Γ in the indication bit to indicate that segmentation and reassembly capability is supported, and a '0' to indicate the capability is not supported. But the opposite convention may also be used. Support for segmentation and reassembly may be indicated by both the Initiator and Responder, before a negotiation on the maximum supported MSDU size begins.

[0032] Fig. 4 shows a format for indicating a Sequence Number field and a Segment

Index field, according to an embodiment of the invention. In the illustrated embodiment, a Sequence Control field may be used to contain a sequence number field and the segment index field, if Segmentation and Reassembly has been indicated as being supported by another field, such as the one bit field shown in Fig. 3. The Sequence Number field may be a 12-bit field containing the Sequence Number described previously for Fig. 2. Other quantities of bits may also be used in this field. In one embodiment, the Segment Index field may contain 4 bits. The illustrated embodiment contains a single bit to indicate this is the 1 st segment for this MSDU, and another single bit to indicate this is the last segment for this MSDU. In one embodiment a T in the First Segment sub-field indicate that this is the first segment of the MSDU, while a Ό' indicates it is not the first segment, while a T in the Last Segment sub-field indicates this is the last segment of the MSDU, while a '0' indicates it is not the last segment. The opposite convention may also be used for either or both of these bits. In some embodiments, the First Segment field and/or the Last Segment field may be given other labels, but the functionality may be the same.

[0033] In some embodiment, the remaining 2 bits in the Segment Index field may be used to indicate the MSDU number. This may be in the form of a rolling index that increments in value for each new MSDU until it either wraps around to '0' or is reset to 'Ο' . Since there may be far fewer total MSDUs than total MPDUs, this field can reasonably be expected to function effectively with fewer bits than the Sequence Number field, and the example in Fig. 4 shows 2 bits in the MSDU Number field compared to 12 bits in the Sequence Number field.

[0034] In an alternate embodiment, the MSDU Number field may not be used for this purpose at all, and in fact such a field may not be included. Instead, the First Segment and Last Segment indicators may be used in combination with their associated sequence numbers to indicate which sequence numbers mark the first and last MPDUs for that MSDU. Then all the consecutive sequence numbers between those first/last sequence numbers may also be associated with the same MSDU, allowing all the segments for that MSDU to be

reconstructed in order without the need for assigning a number to the MSDU as was done in the example of Fig. 2. [0035] Fig. 5 shows a flow diagram for a method of segmenting and transmitting an

MSDU, according to an embodiment of the invention. It should be noted that this flow diagram is intended to convey a functional understanding of the process to the reader. The actual software, firmware, or hardware may not use these exact techniques. In particular, flow diagram 500 involves values N, n, and X, which are useful in understanding the flow but may not be used in actual operation. N indicates the number of MPDUs that will be created when the MSDU is segmented. The variable n is a counter that starts at 1 for the first MPDU and increments for each new MPDU until it equals N, which indicates this is the last MPDU. X is the value of the sequence number, which also increments for each new MPDU, but may not start at 1.

[0036] Flow diagram 500 starts with segmenting an MSDU into a quantity of N

MPDUs at 505. The exact value of N may vary depending on circumstances, and a specific value is not considered important in understanding this operation. At 510, the next available sequence number is determined, and the value of X is set to this number. In some

embodiments, this sequence number may be the next sequential sequence number after the last sequence number from the last MPDU of the previous MSDU. At 515 the value of n is set to 1 and may be used to count the number of MPDUs that are being processed by this flow diagram.

[0037] Once these values have been established, at 520 the MAC header for the first MPDU may be prepared with a value of 1 for the 1 st Segment Indicator, a value of '0' for the Last Segment indicator, and the Sequence Number set to the previously determined value of X. Other operations may also be performed, but are not described here to avoid

unnecessarily complicating the description. At 525, this MPDUn may be transmitted. Since n is equal to 1 at this point, MPDUn indicates the first MPDU. [0038] Now preparations may be made for constructing the header of the second

MPDU, by incrementing n from 1 to 2 to indicate the second MPDU, and incrementing X to the next sequence number at 530. Since N represents the total number of MPDUs that make up this MSDU, n may be compared with N at 535 to determine if the next MPDU will be the last. If it is not, the next MPDU may set 1 st Seg = 0, Last Seg = 0, and SN = the recently incremented value of X. That MPDU may then be transmitted at 525.

[0039] The loop of 525 530, 535, and 540 may continue for each MPDU until the next MPDU to be transmitted is determined to be the last at 535, Then the MAC header may set 1 st Seg = 0, last Seg = 1, and SN = to the recently incremented value of X. Then the last MPDUn (with n = N) may be transmitted at 550. Assuming all MPDUs were received correctly by the responder, a block Ack may be received at 555.

[0040] Fig. 6 shows a flow diagram of a method of receiving and reassembling an

MSDU, according to an embodiment of the invention. It should be noted that this flow diagram is intended to convey a functional understanding of the process to the reader. The actual software, firmware, or hardware may not use these exact techniques,

[0041] In flow diagram 600, at 605 the responding device may receive an MPDU indicated in its header as the first segment of a segmented MSDU. At 610, the device may receive one or more additional segments that are indicated as neither the first nor the last segments. At 615, the device may receive a segment indicated as a last segment. At 620, the previously received segments from 605, 610, and 615 may be arranged in order by their respective sequence numbers. In some embodiments, the segments may be arranged in order as they are each received rather than waiting until a 'last' segment is received. It should be noted that the term 'arranged' may be implemented by simply indexing the MPDUs in the indicated order, without physically locating them in memory in that order. [0042] At 625, the sequence numbers of the received segments may be examined to see if all segments with consecutive sequence numbers between the first and last segments have been received, which would indicate that all MPDUs for a particular MSDU have been received. If this examination shows that there are any missing segments (which may happen if the segments are received out-of-order for some reason), the device may continue receiving additional segments at 630, arranging those additional segments with the previously received segments at 620, and examining again at 625 to see if there are any missing segments. This loop between 620, 625, and 630 may continue until all segments with consecutive sequence numbers between the first and last segments have been received. When they have, at 635 those segments may be reassembled in the MAC layer of the responder device into the original MSDU, before that MSDU is passed to the higher layers. The device may then transmit a Block Ack to the initiator device at 640 to inform the initiator device that all MPDUs for that MSDU have been received.

[0043] It should be noted that in some embodiments, each MPDU may contain a field that indicates which MSDU it belongs to. Although this may give the responder additional information that might be useful in reassembling the segments, it is not believed that it would significantly change the previous flow diagrams.

[0044] The following examples pertain to particular embodiments:

[0045] Example 1 includes a method of wireless communication, comprising: segmenting a MAC Service Data Unit (MSDU) into multiple MAC Protocol Data Units

(MPDUs), assigning consecutive sequence numbers to the multiple MPDUs; creating a M header for each MPDU, the MAC header containing the assigned sequence number, an indicator of a first of the multiple MPDUs, and an indicator of a last of the multiple MPDUs; and transmitting the multiple MPDUs.

[0046] Example 2 includes the method of example 1, wherein the indicator of the first of the multiple MPDUs is a one-bit field and the indicator of the last of the multiple MPDUs is be a one-bit field.

[0047] Example 3 includes the method of example 1, wherein the header contains a field to indicate whether MSDU segmentation is supported.

[0048] Example 4 includes a wireless communications device having a processor and a memor', the processor and memory adapted to: segment a MAC Service Data Unit (MSDU) into multiple MAC Protocol Data Units (MPDUs); assign consecutive sequence numbers to the multiple MPDUs; create a MAC header for each MPDU, the MAC header containing the assigned sequence number, an indicator of a first of the multiple MPDUs, and an indicator of a last of the multiple MPDUs; and transmit the multiple MPDU s.

[0049] Example 5 includes the wireless communications device of example 4, wherein the indicator of the first of the multiple MPDUs is to be a one-bit field and the indicator of the last of the multiple MPDUs is to be a one-bit field.

[0050] Example 6 includes the wireless communications device of example 4, wherein the header is to contain a field to indicate whether MSDU segmentation is supported.

[0051] Example 7 includes the wireless communications device of example 4, further comprising a display.

[0052] Example 8 includes a computer-readable non-transitory storage medium that contains instructions, which when executed by one or more processors result in performing operations comprising: segmenting a MAC Service Data Unit (MSDU) into multiple MAC Protocol Data Units (MPDUs); assigning consecutive sequence numbers to the multiple MPDUs; creating a MAC header for each MPDU, the MAC header containing the assigned sequence number, an indicator of a first of the multiple MPDUs, and an indicator of a last of the multiple MPDUs; and transmitting the multiple MPDUs.

[0053] Example 9 includes the medium of example 8, wherein the indicator of the first of the multiple MPDUs is a one-bit field and the indicator of the last of the multiple MPDUs is a one-bit field.

[0054] Example 10 includes the medium of example 8, wherein the header contains a field to indicate whether MSDU segmentation is supported.

[0055] Example 1 1 includes a wireless communications device having a processor and a memory, the device having means to: segment a MAC Service Data Unit (MSDU) into multiple MAC Protocol Data Units (MPDUs); assign consecutive sequence numbers to the multiple MPDUs; create a MAC header for each MPDU, the MAC header containing the assigned sequence number, an indicator of a first of the multiple MPDUs, and an indicator of a last of the multiple MPDUs; and transmit the multiple MPDU s.

[0056] Example 12 includes the wireless communications device of example 1 1, wherein the indicator of the first of the multiple MPDUs is to be a one-bit field and the indicator of the last of the multiple MPDUs is to be a one-bit field.

[0057] Example 13 includes the wireless communications device of example 1 1, wherein the header is to contain a field to indicate whether MSDU segmentation is supported.

[0058] Example 14 includes the wireless communications device of example 11 , further comprising a means for displaying.

[0059] Example 15 includes a method of wireless communications, comprising:

wirelessly receiving multiple MPDUs representing an MSDU, wherein each MPDU has a sequence number, a first segment indicator to indicate a first of the MPDUs, and a last segment indicator to indicate a last of the MPDUs; determining whether all MPDUs with sequence numbers between the first and last MPDUs have been received; and reassembling the MPDUs into the MSDU, based on an order of the sequence numbers, responsive to said determining that all the MPDUs with sequence numbers between the first and last MPDU have been received.

[0060] Example 16 includes the method of example 15, wherein said determining includes determining whether the sequence numbers contain all consecutive numbers between a sequence number associated with the first MPDU and a sequence number associated with the last MPDU,

[0061] Example 17 includes the method of example 15, wherein the first segment indicator is a one-bit field and the last segment indicator is a one-bit field.

[0062] Example 18 includes the method of example 15, wherein the header contains a field to indicate whether MSDU segmentation is supported.

[0063] Example 19 includes a computer-readable non-transitory storage medium that contains instructions, which when executed by one or more processors result in performing operations comprising: wirelessly receiving multiple MPDUs representing an MSDU, wherein each MPDU has a sequence number, a first segment indicator to indicate a first of the MPDUs, and a last segment indicator to indicate a last of the MPDUs; determining whether all MPDUs with sequence numbers between the first and last MPDUs have been received; and reassembling the MPDUs into the MSDU, based on an order of the sequence numbers, responsive to said determining that all the MPDUs with sequence numbers between the first and last MPDU have been received.

[0064] Example 20 includes the medium of example 19, wherein said determining includes determining whether the sequence numbers contain all consecutive numbers between a sequence number associated with the first MPDU and a sequence number associated with the last MPDU. [0065] Example 21 includes the medium of example 19, wherein the first segment indicator is a one-bit field and the last segment indicator is a one-bit field.

[0066] Example 22 includes the medium of example 19, wherein the header contains a field to indicate whether MSDU segmentation is supported.

[0067] Example 23 includes a wireless communications device having a processor and a memory, the processor and memory adapted to: wirelessly receive multiple MPDUs representing an MSDU, wherein each MPDU has a sequence number, a first segment indicator to indicate a first of the MPDUs, and a last segment indicator to indicate a last of the MPDUs; determine whether ail MPDUs with sequence numbers between the first and last MPDUs have been received; and reassemble the MPDUs into the MSDU, based on an order of the sequence numbers, responsive to said determining that all the MPDUs with sequence numbers between the first and last MPDU have been received.

[0068] Example 24 includes the wireless communications device of example 23, wherein said determining is to include determining whether the sequence numbers contain all consecutive numbers between a sequence number associated with the first MPDU and a sequence number associated with the last MPDU.

[0069] Example 25 includes the wireless communications device of example 23, wherein the first segment indicator is to be a one-bit field and the last segment indicator is to be a one-bit field.

[0070] Example 26 includes the wireless communications device of example 23, wherein the header is to contain a field to indicate whether MSDU segmentation is supported.

[0071] Example 27 includes the wireless communications device of example 23, further comprising a display.

[0072] Example 28 includes a wireless communications device having a processor and a memory, the device having means to: wirelessly receive multiple MPDUs representing an MSDU, wherein each MPDU has a sequence number, a first segment indicator to indicate a first of the MPDUs, and a last segment indicator to indicate a last of the MPDUs; determine whether all MPDUs with sequence numbers between the first and last MPDUs have been received; and reassemble the MPDUs into the M SDU, based on an order of the sequence numbers, responsive to said determining that all the MPDUs with sequence numbers between the first and last MPDU have been received.

[0073] Example 29 includes the wireless communications device of example 28, wherein said determining is to include determining whether the sequence numbers contain all consecutive numbers between a sequence number associated with the first MPDU and a sequence number associated with the last MPDU.

[0074] Example 30 includes the wireless communications device of example 28, wherein the first segment indicator is to be a one-bit field and the last segment indicator is to be a one-bit field.

[0075] Example 31 includes the wireless communications device of example 28, wherein the header is to contain a field to indicate whether MSDU segmentation is supported.

[0076] Example 32 includes the wireless communications device of example 28, further comprising means for displaying.

[0077] The foregoing description is intended to be illustrative and not limiting.

Variations will occur to those of skill in the art. Those variations are intended to be included in the various embodiments of the invention, which are limited only by the scope of the following claims.