1. Field of the Invention
A method, apparatus, system and computer program product implementing a reverse direction protocol arranged to transfer data in reverse direction without initiating a new medium access contention procedure by a responder.
2. Discussion of the Background
Presently, 802.11a/b/g Wireless Local Area Networks (WLANs) provide adequate performance for today's wireless networking applications. However, as wireless multimedia and other new applications emerge, higher WLAN data throughput will be required. Key considerations in architecting the next generation of WLAN are costs and robust performance. In addition to new Physical (PHY) technologies, new Medium Access Control (MAC) features maximizing throughput will be required to reliably meet the higher throughput requirements.
The Upcoming IEEE standard 802.11e defines a channel access mechanism called Hybrid Coordination Function (HCF). The latest draft of the standard is IEEE 802.11e draft/D13.0, Part 11: Wireless Medium Access Control (MAC) and physical layer (PHY) specifications: Medium Access Control (MAC) Quality of Service Enhancements, January 2005, the entire contents of which are incorporated herein by reference. The HCF uses both a contention-based channel access method, called the enhanced distributed channel access (EDCA) mechanism for contention based transfer and a controlled channel access, referred to as HCF Controlled Channel Access (HCCA) mechanism, for contention free transfer. Stations (STAs) may obtain transmission opportunities (TXOPs) using one or both of the channel access mechanisms. A STA defined in this invention can be a wireless communication terminal or an access point (AP) of the WLAN.
A STA that owns the TXOP may start an exchange of data frames. This STA is called the initiator. The STA, which receives the frames from and responds to an initiator in a frame exchange sequence, is called responder. In the legacy IEEE802.11 standards such as 802.11a/b/g/e, the data frames are transmitted one by one from initiator to responder in one direction in a given TXOP. There is no mechanism for responder to do reverse data transmission during the TXOP owned by initiator. However, there are so many applications that require real-time bidirectional communication such as VoIP. Furthermore, many transmission protocols including IEEE802.11, TCP etc require acknowledgements (Acks) continuously during the transmission. It is shown that the performance can get at least 10% better when the reverse direction protocol is incorporated.
To address these problems, an industrial alliance called TGnSync has been formed to develop a unified proposal for next-generation high throughput WLAN called IEEE802.11n. The TGnSync has proposed the protocol shown in
As shown in
The Initiator sets the granted Reverse Direction Grant (RDG) duration long enough to include the duration of reverse data plus any expected responses. The duration granted by the RDG for reverse data may be less than the requested duration, in which case the responder must reduce the amount of data it sends. The responder can also itself reduce the amount of reverse data it sends. Any response duration no longer than the RDG duration is valid. Thus, the reverse direction protocol shown in
A fundamental problem with TGnSync proposal is that it introduces two new control frames that are IAC and RAC respectively for reverse direction data transmission. Even though these new frames are used for multi-purposes, the cost they bring on is very high and not tolerable in terms of implementation practices due to their complexities. Moreover, these new control frames are longer than the legacy control frames so they cause more overhead in the transmission.
The present invention is directed a reverse direction data exchange protocol that is simpler and more efficient than what has been proposed by the TGnSync alliance. This protocol does not require the two new control frames, IAC and RAC proposed by the TGnSync alliance. Instead, the legacy control frames, Request to Send (RTS) and Clear to Send (CTS), are used in a novel manner so as to provide a capability for reverse direction data transmission. The proposed scheme is much simpler compared to the TGnSync proposal. In addition, it does not put any burden on the upcoming IEEE 802.11n standard. Furthermore, the performance of the proposed protocol is the same as TGnSync's protocol, and even better in some scenarios.
As noted previously, when a device is granted permission to transmit, the duration of this transmission period is called a transmit opportunity (TXOP). The present invention makes more efficient use of this TXOP by intelligently allocating the TXOP for both forward (FWD) and reverse path communications. That is, any remaining TXOP of an initiator is granted by the initiator to a corresponding responder upon the reception of responder's request to send if the requested duration of the responder's desired transmission is less than the remaining TXOP. Grant is given only when a BA (BlockAck) response is expected from the responder. Reverse direction data is either piggybacked with, or separated by a small interval from, the BA of the responder. The initiator grants its remaining TXOP when it has no more data to send. The responder only transmits reverse direction data with the same TID (Traffic ID) or AC (Access Category) so as not to violate the existing rules.
The responder can request a grant inside a Long Network Allocation Vector (LongNAV) duration. In other words, usage may be limited to LongNAV protection. Moreover, the initiator maintains channel ownership during the transmission. That is, the channel is never assigned/reassigned to the responder. This provides simplicity in implementation by not involving the responder with an external or internal time scheduler. Also, the TXOP of the initiator is protected by way of the exchange of RTS/CTS with the responder.
Also, the responder is preferably allowed to transmit only one data frame so that the return of TXOP to initiator is simplified. If the initiator fails to decode the signal field in the responder's transmission, the initiator then reverts to CCA (Clear Channel Assessment) mechanism. The initiator gets the channel back at the conclusion of a SIFS (Short Inter Frame Space) after the end of energy detection.
Due to the modification of duration value in CTS associated with the embodiment described in
The Reverse Direction (RD) data duration in CTS is decided upon the receipt of RTS from initiator that includes only the address of initiator and the duration of TXOP. Therefore, there is no indication in RTS to show which AC the data from initiator belongs to. The responder has to wait until the reception of the data packet from the initiator to know that the AC of the data that has been sent. By the rule of not violating the TXOP usage, the AC of RD data should be the same as the AC of the data from initiator. So, there is some concern that the responder may not have enough time to pack a data unit with the same AC to transmit. The solution is to insert an SIFS interval between the responder's BA and data as shown in
In alternative embodiments, the responder does not include a request for permission to transmit in/with the CTS signal. Instead, the initiator merely grants any remaining time in the initiator's TxOP to the responder, granting permission for the responder to transmit its data. The data from the responder can be piggybacked (concatenated) with the BA the responder sends upon receipt of the initiator's data. Alternatively, the data from responder can be separated from the BA the responder sends upon receipt of the initiator's data.
While the embodiment of
This embodiment takes advantage of the fact that there are 7 unused reserved bits in Frame Control field of RTS. Since there are total 4 ACs available, one variant to choose 2 bits of the unused bits to advertise the AC of the data from initiator. In other variants, additional bits can be used. With the bits properly selected, the responder will be able to identify the AC of the data from initiator from RTS frame at the very beginning. Thus, the responder will have enough time to pack the RD data with the same AC type before transmission. Therefore, this embodiment provides the same benefits as the embodiment shown in
As discussed previously, duration value in the CTS from responder does not reflect the real NAV duration stated in the legacy IEEE 802 standard. First, the NAVs that are set by the CTS are updated by the upcoming frames from the responder. Secondly, the STAs which received the RTS from the initiator will not update their NAVs because the new duration values in both CTS and upcoming frames from responder are smaller than the previous one. This is true for STAs within the same BSS. The present inventors have discovered that it is better to have a smaller unprotected period for overlapping BSSs in case the frames following the CTS are erroneous. Hence, in the embodiment shown in
Granting RD transmission can be done through one bit signaling in data or BAR (Block Ack Request) from the initiator. One bit in the QoS control field in the data frame can be used for this purpose with the one bit set to 1 for grant and 0 for rejection. In the upcoming IEEE 802.11e standard protocol, Bit 7 is unused in the QoS control field in a data frame. Thus, in one variant, bit 7 can be used to identify grant or rejection. Alternatively, it is possible to use a new QoS data subtype called QoS Data+Request-AccepteD (RAD). In this alternative, the frame control field, if b3b2 is set to 10, the frame control field indicates QoS data. A 1101 value of b7b6b5b4 is reserved in IEEE 802.11e standard protocol. Thus, this variant uses for RAD.
In yet another variant, one may use the BAR frame for indicating grant or rejection to the responder. The first 12 bits in the BAR control field have been reserved in IEEE 802.11e standard. Thus, one of these bits can be used for signaling purposes. Also, there are 7 bits that are not used in the frame control field in the BAR frame so, in yet another variant, at least one of these 7 bits can be used for this signaling purpose. For example, the “Order” bit can be used for this purpose.
For each of the embodiments, and all the variants therein, the reverse direction protocol does not require any change in existing hardware. Thus, reverse direction communications can be achieved much more easily as the previously described embodiments only require software changes regarding the use of existing control frames. Also, performance is enhanced relative to existing protocols, with improved flexibility and simplicity in terms of the flow control.
In summary, the present invention is directed to a novel reverse direction protocol to transfer data in reverse direction without initiating a new medium access contention procedure by a responder. The invention allows a responder to aggregate its data in the reverse direction in response to an initiating station transmission. This scheme eliminates the channel contention time incurred by conventional protocols and procedures. The invention also minimizes turnaround times between the initiator and the responder while ensuring channel protection.
The computer system 1201 also includes a disk controller 1206 coupled to the bus 1202 to control one or more storage devices for storing information and instructions, such as a magnetic hard disk 1207, and a removable media drive 1208 (e.g., floppy disk drive, read-only compact disc drive, read/write compact disc drive, compact disc jukebox, tape drive, and removable magneto-optical drive). The storage devices may be added to the computer system 1201 using an appropriate device interface (e.g., small computer system interface (SCSI), integrated device electronics (IDE), enhanced-IDE (E-IDE), direct memory access (DMA), or ultra-DMA).
The computer system 1201 may also include special purpose logic devices (e.g., application specific integrated circuits (ASICs)) or configurable logic devices (e.g., simple programmable logic devices (SPLDs), complex programmable logic devices (CPLDs), and field programmable gate arrays (FPGAs)).
The computer system 1201 may also include a display controller 1209 coupled to the bus 1202 to control a display 1210, such as a cathode ray tube (CRT), for displaying information to a computer user. The computer system includes input devices, such as a keyboard 1211 and a pointing device 1212, for interacting with a computer user and providing information to the processor 1203. The pointing device 1212, for example, may be a mouse, a trackball, or a pointing stick for communicating direction information and command selections to the processor 1203 and for controlling cursor movement on the display 1210. In addition, a printer may provide printed listings of data stored and/or generated by the computer system 1201.
The computer system 1201 performs a portion or all of the processing steps of the invention in response to the processor 1203 executing one or more sequences of one or more instructions contained in a memory, such as the main memory 1204. Such instructions may be read into the main memory 1204 from another computer readable medium, such as a hard disk 1207 or a removable media drive 1208. One or more processors in a multi-processing arrangement may also be employed to execute the sequences of instructions contained in main memory 1204. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions. Thus, embodiments are not limited to any specific combination of hardware circuitry and software.
As stated above, the computer system 1201 includes at least one computer readable medium or memory for holding instructions programmed according to the teachings of the invention and for containing data structures, tables, records, or other data described herein. Examples of computer readable media are compact discs, hard disks, floppy disks, tape, magneto-optical disks, PROMs (EPROM, EEPROM, flash EPROM), DRAM, SRAM, SDRAM, or any other magnetic medium, compact discs (e.g., CD-ROM), or any other optical medium, punch cards, paper tape, or other physical medium with patterns of holes, a carrier wave (described below), or any other medium from which a computer can read.
Stored on any one or on a combination of computer readable media, the present invention includes software for controlling the computer system 1201, for driving a device or devices for implementing the invention, and for enabling the computer system 1201 to interact with a human user (e.g., print production personnel). Such software may include, but is not limited to, device drivers, operating systems, development tools, and applications software. Such computer readable media further includes the computer program product of the present invention for performing all or a portion (if processing is distributed) of the processing performed in implementing the invention.
The computer code devices of the present invention may be any interpretable or executable code mechanism, including but not limited to scripts, interpretable programs, dynamic link libraries (DLLs), Java classes, and complete executable programs. Moreover, parts of the processing of the present invention may be distributed for better performance, reliability, and/or cost.
The term “computer readable medium” as used herein refers to any medium that participates in providing instructions to the processor 1203 for execution. A computer readable medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media includes, for example, optical, magnetic disks, and magneto-optical disks, such as the hard disk 1207 or the removable media drive 1208. Volatile media includes dynamic memory, such as the main memory 1204. Transmission media includes coaxial cables, copper wire and fiber optics, including the wires that make up the bus 1202. Transmission media also may also take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications.
Various forms of computer readable media may be involved in carrying out one or more sequences of one or more instructions to processor 1203 for execution. For example, the instructions may initially be carried on a magnetic disk of a remote computer. The remote computer can load the instructions for implementing all or a portion of the present invention remotely into a dynamic memory and send the instructions over a telephone line using a modem. A modem local to the computer system 1201 may receive the data on the telephone line and use an infrared transmitter to convert the data to an infrared signal. An infrared detector coupled to the bus 1202 can receive the data carried in the infrared signal and place the data on the bus 1202. The bus 1202 carries the data to the main memory 1204, from which the processor 1203 retrieves and executes the instructions. The instructions received by the main memory 1204 may optionally be stored on storage device 1207 or 1208 either before or after execution by processor 1203.
The computer system 1201 also includes a communication interface 1213 coupled to the bus 1202. The communication interface 1213 provides a two-way data communication coupling to a network link 1214 that is connected to, for example, a local area network (LAN) 1215, or to another communications network 1216 such as the Internet. For example, the communication interface 1213 may be a network interface card to attach to any packet switched LAN. As another example, the communication interface 1213 may be an asymmetrical digital subscriber line (ADSL) card, an integrated services digital network (ISDN) card or a modem to provide a data communication connection to a corresponding type of communications line. Wireless links may also be implemented. In any such implementation, the communication interface 1213 sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.
The network link 1214 typically provides data communication through one or more networks to other data devices. For example, the network link 1214 may provide a connection to another computer through a local network 1215 (e.g., a LAN) or through equipment operated by a service provider, which provides communication services through a communications network 1216. The local network 1214 and the communications network 1216 use, for example, electrical, electromagnetic, or optical signals that carry digital data streams, and the associated physical layer (e.g., CAT 5 cable, coaxial cable, optical fiber, etc). The signals through the various networks and the signals on the network link 1214 and through the communication interface 1213, which carry the digital data to and from the computer system 1201 maybe implemented in baseband signals, or carrier wave based signals. The baseband signals convey the digital data as unmodulated electrical pulses that are descriptive of a stream of digital data bits, where the term “bits” is to be construed broadly to mean symbol, where each symbol conveys at least one or more information bits. The digital data may also be used to modulate a carrier wave, such as with amplitude, phase and/or frequency shift keyed signals that are propagated over a conductive media, or transmitted as electromagnetic waves through a propagation medium. Thus, the digital data may be sent as unmodulated baseband data through a “wired” communication channel and/or sent within a predetermined frequency band, different than baseband, by modulating a carrier wave. The computer system 1201 can transmit and receive data, including program code, through the network(s) 1215 and 1216, the network link 1214 and the communication interface 1213. Moreover, the network link 1214 may provide a connection through a LAN 1215 to a mobile device 1217 such as a personal digital assistant (PDA) laptop computer, or cellular telephone.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/US05/21670 | 6/20/2005 | WO | 00 | 3/30/2010 |