Apparatus, system and method capable of aggregate compression in a wireless LAN

An embodiment of the present invention provides an apparatus, comprising a transmitter capable of compressing header information in an aggregate of Media Access Control Service Data Units (MSDUs) by using one or more flags fields to describe which address fields are present in said aggregate.

BACKGROUND

Wireless networks and wireless communication have become prevalent throughout society creating the need for increased capacity and faster and more reliable wireless communication techniques. TGn Sync is a multi-industry group working together to rapidly introduce a unified proposal for the next generation of high performance wireless networks.

A proposal to 802.11 TGn may dramatically improve the capabilities of wireless networks while supporting the antenna configurations, product designs and protocol requirements of hundreds of millions of cellular handsets, enterprise base stations, and Wi-Fi enabled computers already in use. Key Features of the TGn Sync Proposal may include: MIMO Spatial Division Multiplexing to support 315 Mbps reliably with two antennas, up to 630 Mbps with larger systems; Scalable Architecture for different spatial stream (2 to 4) and spectrum configurations (10, 20, 40 MHz); seamless interoperability between 802.11a/b/g and new modes of operation; timed receive mode switching and multiple receiver addressing to reduce power for battery-operated devices; and flexible architecture offering product compliance for all major regulatory domains while preserving interoperability.

In the TGnSync proposal, there is included a Media Access Control Service Data Units (A-MSDU) aggregation, which is a way of “batching together” multiple higher-layer packets (MSDUs) into a single transmission unit, such as Media Access Control Protocol Data Units (MPDU). However, the subframe header in this proposal may be a fixed length and may contain information that is redundant if the A-MSDU contains multiple MSDUs for the same destination address/source address (DAISA) pair.

Thus, a strong need exists for the ability to remove the redundant information by providing an apparatus, system and method capable of aggregate compression in a wireless local area network (WLAN).

It will be appreciated that for simplicity and clarity of illustration, elements illustrated in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements are exaggerated relative to other elements for clarity. Further, where considered appropriate, reference numerals have been repeated among the figures to indicate corresponding or analogous elements.

DETAILED DESCRIPTION

Some portions of the detailed description that follows are presented in terms of algorithms and symbolic representations of operations on data bits or binary digital signals within a computer memory. These algorithmic descriptions and representations may be the techniques used by those skilled in the data processing arts to convey the substance of their work to others skilled in the art.

Embodiments of the present invention may include apparatuses for performing the operations herein. An apparatus may be specially constructed for the desired purposes, or it may comprise a general purpose computing device selectively activated or reconfigured by a program stored in the device. Such a program may be stored on a storage medium, such as, but not limited to, any type of disk including floppy disks, optical disks, compact disc read only memories (CD-ROMs), magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), electrically programmable read-only memories (EPROMs), electrically erasable and programmable read only memories (EEPROMs), magnetic or optical cards, or any other type of media suitable for storing electronic instructions, and capable of being coupled to a system bus for a computing device.

The processes and displays presented herein are not inherently related to any particular computing device or other apparatus. Various general purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct a more specialized apparatus to perform the desired method. The desired structure for a variety of these systems will appear from the description below. In addition, embodiments of the present invention are not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the invention as described herein. In addition, it should be understood that operations, capabilities, and features described herein may be implemented with any combination of hardware (discrete or integrated circuits) and software.

It should be understood that embodiments of the present invention may be used in a variety of applications. Although the present invention is not limited in this respect, the devices disclosed herein may be used in many apparatuses such as in the transmitters and receivers of a radio system. Radio systems intended to be included within the scope of the present invention include, by way of example only, cellular radiotelephone communication systems, satellite communication systems, two-way radio communication systems, one-way pagers, two-way pagers, personal communication systems (PCS), personal digital assistants (PDA's), wireless local area networks (WLAN), personal area networks (PAN, and the like).

Turning now toFIG. 1, as shown generally at100, is an A-MSDU105aggregation, which is a way of “batching together” multiple higher layer packets (MSDUs) into a single transmission unit (MPDU). It batches multiple MSDUs as though there were a single MSDU from the higher layer. The resulting A-MSDU is transported in one (unfragmented) or more (fragmented) Data MPDUs. In order to compress the header information, the subframe header115may be replaced by a new structure that is variable in length. Two unnecessary bits from the length field125may be used to created a flags120field that defines the layout of the new structure. The two bits are unnecessary since the MSDU may be limited in length (2304B) so that 12 bits suffices to indicate the length. Further, there are actually 4 spare bits, and the present invention may use only 2 of them and leave 2 in an over-generous length field. The transmitter may use this feature to remove unnecessary address fields from the aggregate. As shown inFIG. 1, address 1 (127) may be 0 or 48 bits and address 2 (130) may also be 0 or 48 bits in one exemplary embodiment of the present invention. However, it is understood that the present invention is not limited in this respect. The following table is one illustration of the Flags and address presence or not of one embodiment of the present invention.

Further, one embodiment of the present invention as an option may provide for an optimum compression with the optimal compression technique requiring the transmitter to have Temp_DA (temporary destination address) and Temp_SA (temporary source address) variables that may contain a short range (wireless technique address, such as an Institute of Electrical and Electronic Engineers (IEEE) 802.11 MAC address.

The transceiver or transmitter may initialize these variables from the Address fields of the MPDU header according to the state of the TODS and FromDS bits in the MPDU header as shown below (although it is understood that this table is merely illustrative of one embodiment of the present invention).

Following this initialization, the temporary destination address (Temp_DA) and temporary source address (Temp_SA) variables either contain an address, or contain the value unspecified. An unspecified value will not match any address in the algorithm or process described below. Then, for each Media Access Control Service Data Units (MSDU) with requested destination address called Media Access Control Service Data Units Destination Address (MSDU_DA) and source address called Media Access Control Service Data Units Source Address (MSDU_SA) that the transmitter wishes to add, it may perform the following logic

if MSDU_DA matches Temp_DA and MSDU_SAmatches Temp_SAUse format with neither address presentelse if MSDU_DA matches Temp_DAUse format with only SA presentUpdate Temp_SA variable from MSDU_SAelse if MSDU_SA matches Temp_SAUse format with only DA presentUpdate Temp_DA variable from MSDU_DAelseUse format with both SA and DA presentUpdate Temp_SA and Temp_DA variablesfrom MSDU_SA andMSDU_DAend

An embodiment of the present invention provides Receiver support for this feature. The receiver may keep the temporary destination address (Temp_DA) and temporary source address (Temp_SA) variables that are initialized from the Media Access Control Protocol Data Units (MPDU) header as defined by the same table above. It then may perform the following steps for each MSDU in the aggregate in order to determine MSDU_DA and MSDU_SA which are the addresses it indicates to the higher layers with the MSDU.

In an embodiment of the present invention, the algorithm may be described as follows:

if format has both DA and SA presentTemp_DA = DA from subframe headerTemp_SA = SA from subframe headerelse if format has DA presentTemp_DA = DA from subframe headerelse if format has SA presentTemp_SA = SA from subframe headerend

Indicate MSDU to higher layers using Temp_SA as the source address and Temp_DA as the destination address

if form{dot over (a)}t has DA presentTemp_DA = DA from subframe headerend

Indicate MSDU to higher layers using Temp_SA as the source address and Temp_DA as the destination address.

Turning now toFIG. 2, shown generally as200, is a flowchart of the operation of the algorithm of one embodiment of the present invention. New Aggregate205is initialized as Temp_DA and Temp_SA from the MPDU header at210. At220, it is determined if another MSDU in Aggregate. If no, the process ends at215, and if Yes, at225, it is determined if the format contains a Destination Address (DA). If no at225, it is determined at240if the format contains SA immediately, but if yes, Temp_DA is set to DA from subframe header first at230and then determined if the format contains SA at240. If no at240, indicate MSDU to higher layers using Temp_SA and Temp_DA as source and destination addresses at255. If yes at240, Temp_SA is set to SA from subframe header at235and then indicates MSDU to higher layers using Temp_SA and Temp_DA as source and destination addresses at245. After245, the process returns to220to determine if there is another MSDU in Aggregate. Thus, by adding subframe header compression, it is possible to save12B per MSDU.