I. Field
The following description relates generally to communication systems, and more particularly to multichannel communication systems.
II. Background
In order to address the issue of increasing bandwidth requirements that are demanded for wireless communications systems, different schemes are being developed to allow multiple user terminals to communicate with a single access point by sharing the channel resources while achieving high data throughputs. Multiple Input or Multiple Output (MIMO) technology represents one such approach that has recently emerged as a popular technique for the next generation communication systems. MIMO technology has been adopted in several emerging wireless communications standards such as the Institute of Electrical Engineers (IEEE) 802.11 standard. IEEE 802.11 denotes a set of Wireless Local Area Network (WLAN) air interface standards developed by the IEEE 802.11 committee for short-range communications (e.g., tens of meters to a few hundred meters).
Newly proposed VHT (Very High Throughput) networks are provided with the capability of using multiple channels for data transmission and reception. In order to enforce coexistence between VHT and 802.11 stations, whenever accessing any of the channels, VHT nodes are required to comply with the virtual carrier sensing mechanism specified by the 802.11 standard. Due to the limitations imposed by the physical layer design, VHT nodes might not be able to track a virtual carrier sensing status, as designated by a network allocation vector (NAV), on each channel. 802.11n defines a secondary channel access mechanism that only uses CCA (clear channel assessment) information before initiating a transmission on a secondary channel. This mechanism does not comply with the virtual carrier sensing specifications. Consequently, there is a need for a method and apparatus that allow for NAV detection in such circumstances.
According to an aspect of the disclosure, an apparatus for communications includes a processing system configured to send data to a node on a first channel and receive an acknowledgement to the data from the node, the processing system being further configured to determine whether a second channel is available from information contained in the acknowledgement.
According to another aspect of the disclosure, an apparatus for communications includes a processing system configured to receive data from a node on a first channel, the processing system being further configured to detect that a second channel is unavailable, and to provide information to the node indicating that the second channel is unavailable.
According to a further aspect of the disclosure, a method includes sending data to a node on a first channel, receiving an acknowledgement to the data from the node, and determining whether a second channel is available from information contained in the acknowledgement.
According to yet a further aspect of the disclosure, a method for communications includes receiving data from a node on a first channel, detecting that a second channel is unavailable, and providing information to the node indicating that the second channel is unavailable.
According to another aspect of the disclosure, an apparatus for communications includes means for sending data to a node on a first channel, means for receiving an acknowledgement to the data from the node, and means for determining whether a second channel is available from information contained in the acknowledgement.
According to yet another aspect of the disclosure, an apparatus for communications includes means for receiving data from a node on a first channel, means for detecting that a second channel is unavailable, and means for providing information to the node indicating that the second channel is unavailable.
According to yet a further aspect of the disclosure, a computer-program product for communications includes a machine-readable medium including instructions executable by a processing system to send data to a node on a first channel and receive an acknowledgement to the data from the node, and determine whether a second channel is available from information contained in the acknowledgement.
According to yet a further aspect of the disclosure, a computer-program product for communications, includes a machine-readable medium including instructions executable by a processing system to receive data from a node on a first channel, the processing system being further configured to detect that a second channel is unavailable, and provide information to the node indicating that the second channel is unavailable.
According to yet a further aspect of the disclosure, an access terminal, includes a processing system configured to send data to a node on a first channel and receive an acknowledgement to the data from the node, the processing system being further configured to determine whether a second channel is available from information contained in the acknowledgement, and a user interface supported by the processing system.
According to yet a further aspect of the disclosure, an access terminal, includes a processing system configured to receive data from a node on a first channel, the processing system being further configured to detect that a second channel is unavailable, and to provide information to the node indicating that the second channel is unavailable, and a user interface supported by the processing system.
According to yet a further aspect of the disclosure, an access point, includes a wireless network adapter configured to support a backhaul connection for a peer node to a network, and a processing system configured to send data to a node on a first channel and receive an acknowledgement to the data from the node, the processing system being further configured to determine whether a second channel is available from information contained in the acknowledgement.
According to yet a further aspect of the disclosure, an access point, includes a wireless network adapter configured to support a backhaul connection for a peer node to a network, and a processing system configured to receive data from a node on a first channel, the processing system being further configured to detect that a second channel is unavailable, and to provide information to the node indicating that the second channel is unavailable.
These and other sample aspects of the invention will be described in the detailed description that follow, and in the accompanying drawings, wherein
In accordance with common practice, some of the drawings may be simplified for clarity. Thus, the drawings may not depict all of the components of a given apparatus (e.g., device) or method. Finally, like reference numerals may be used to denote like features throughout the specification and figures.
Various aspects of the invention are described more fully hereinafter with reference to the accompanying drawings. This invention may, however, be embodied in many different forms and should not be construed as limited to any specific structure or function presented throughout this disclosure. Rather, these aspects are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Based on the teachings herein one skilled in the art should appreciate that the scope of the invention is intended to cover any aspect of the invention disclosed herein, whether implemented independently of or combined with any other aspect of the invention. For example, an apparatus may be implemented or a method may be practiced using any number of the aspects set forth herein. In addition, the scope of the invention is intended to cover such an apparatus or method which is practiced using other structure, functionality, or structure and functionality in addition to or other than the various aspects of the invention set forth herein. It should be understood that any aspect of the invention disclosed herein may be embodied by one or more elements of a claim.
Several aspects of a wireless network will now be presented with reference to
The wireless network 100 may support any number of access points distributed throughout a geographic region to provide coverage for access terminals 120. A system controller 130 may be used to provide coordination and control of the access points, as well as access to other networks (e.g., Internet) for the access terminals 120. For simplicity, one access point 110 is shown. An access point is generally a fixed terminal that provides backhaul services to access terminals in the geographic region of coverage, however, the access point may be mobile in some applications. An access terminal, which may be fixed or mobile, utilizes the backhaul services of an access point or engages in peer-to-peer communications with other access terminals. Examples of access terminals include a telephone (e.g., cellular telephone), a laptop computer, a desktop computer, a Personal Digital Assistant (PDA), a digital audio player (e.g., MP3 player), a camera, a game console, or any other suitable wireless node.
The wireless network 100 may support MIMO technology. Using MIMO technology, an access point 110 may communicate with multiple access terminals 120 simultaneously using Spatial Division Multiple Access (SDMA). SDMA is a multiple access scheme which enables multiple streams transmitted to different receivers at the same time to share the same frequency channel and, as a result, provide higher user capacity. This is achieved by spatially precoding each data stream and then transmitting each spatially precoded stream through a different transmit antenna on the downlink. The spatially precoded data streams arrive at the access terminals with different spatial signatures, which enables each access terminal 120 to recover the data stream destined for that access terminal 120. On the uplink, each access terminal 120 transmits a spatially precoded data stream, which enables the access point 110 to identify the source of each spatially precoded data stream.
One or more access terminals 120 may be equipped with multiple antennas to enable certain functionality. With this configuration, multiple antennas at the access point 110 may be used to communicate with a multiple antenna access point to improve data throughput without additional bandwidth or transmit power. This may be achieved by splitting a high data rate signal at the transmitter into multiple lower rate data streams with different spatial signatures, thus enabling the receiver to separate these streams into multiple channels and properly combine the streams to recover the high rate data signal.
While portions of the following disclosure will describe access terminals that also support MIMO technology, the access point 110 may also be configured to support access terminals that do not support MIMO technology. This approach may allow older versions of access terminals (i.e., “legacy” terminals) to remain deployed in a wireless network, extending their useful lifetime, while allowing newer MIMO access terminals to be introduced as appropriate.
In the detailed description that follows, various aspects of the invention will be described with reference to a MIMO system supporting any suitable wireless technology, such as Orthogonal Frequency Division Multiplexing (OFDM). OFDM is a spread-spectrum technique that distributes data over a number of subcarriers spaced apart at precise frequencies. The spacing provides “orthogonality” that enables a receiver to recover the data from the subcarriers. An OFDM system may implement IEEE 802.11, or some other air interface standard. Other suitable wireless technologies include, by way of example, Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), or any other suitable wireless technology, or any combination of suitable wireless technologies. A CDMA system may implement with IS-2000, IS-95, IS-856, Wideband-CDMA (WCDMA), or some other suitable air interface standard. A TDMA system may implement Global System for Mobile Communications (GSM) or some other suitable air interface standard. As those skilled in the art will readily appreciate, the various aspects of this invention are not limited to any particular wireless technology and/or air interface standard.
The AP may correspond to the AP 110 in
The access terminal AT1 may initiate communication by transmitting a message indicating to the AP that it is preparing to transmit data to the AP across channel CH1. This message may be referred to as a ready-to-send (RTS) message or some other nomenclature. For example, as shown in
Upon receipt of the RTS AT1202 message, the AP is triggered to determine whether channel CH1 is available for communication. Once the AP determines that the channel CH1 is available, it transmits a message indicating to the access terminal AT1 that it is free to transmit a response across the channel CH1. This message may be referred to as a clear-to-send (CTS) message or some other nomenclature. For example, as shown in
Once the access terminal AT1 receives the CTS AP 204 message, it begins the transmission of a data block DATA 206 to the AP across channel CH1. During this transmission, however, another access terminal AT2 may perform some communication on channel CH2 and set a NAV duration on channel CH2.
It should be noted that the transmission of various messages, such as RTS and CTS messages, from either the AP or any access terminal may trigger a response in access terminals or devices that are within range of the transmission, but for which the specific message was not intended. This response protects the transmitting device on the respective channel for a predetermined duration and may be referred to as a NAV response or some other nomenclature. The predetermined duration of the NAV response may likewise be referred to as a NAV duration. NAV is the mechanism provided for virtual carrier sensing in 802.11. As shown in
Because access terminal AT1 is transmitting data block DATA 206 across channel CH1 at the time the NAV duration is set on channel CH2, the access terminal AT1 may not be able to detect the initiation of the NAV duration. The AP, however, may be set to detect the initiation of any NAV durations on channels CH2 and CH3 whenever it itself is not transmitting any data. Accordingly, during the data block DATA 206 transmission by access terminal AT1, the AP may detect the initiation of the NAV duration on CH2. The AP may then determine which of the channels is available for transmission of data. For example, the AP may determine that channel CH2 is not available because of the set NAV duration by access terminal AT2, but that channel CH3 is available as it is free of any communication activity.
After the access terminal AT1 completes the transmission of data block DATA, and the AP receives the data block DATA 206, the AP transmits an acknowledgement message ACK AP 208 indicating to the access terminal AT1 the successful receipt of the data block DATA 206. The ACK AP 208 message may also include information indicating channel availability. For example, in the NAV detection mechanism 200, the ACK AP 208 may include information indicating to the access terminal AT1 that channel CH2 is unavailable and channel CH3 is available.
After receipt of the ACK AP 208 message, the access terminal AT1 may determine whether channel CH1 is still available for transmission so as to avoid contention with nay other access terminals. If the access terminal AT1 determines that channel CH1 is available, it may initiate a random “backoff” time period to minimize the probability of a potential collision on channel CH1. This time period may be implemented by a distributed coordination function (DCF), which is a fundamental MAC technique of the 802.11 standard. Based on the information provided in the ACK AP 208, access terminal AT1 proceeds to transmit a RTS AT1230 message across channel CH3 to the AP. The access terminal AT1 may also proceed to transmit a RTS AT1210 message across channel CH1 to the AP for preparation of additional data transmission. Again, in response to the RTS AT1210 and 230 messages, the AP transmits CTS AP 212 and 232 messages to access terminal AT1 across channels CH1 and CH3, respectively. Upon receipt of the CTS AP 212 and 232 messages, the access terminal AT1 transmits data blocks DATA 214 and 234 to the AP across channels CH1 and CH3, respectively. As before, during the transmission of the data blocks DATA 214 and 234, the AP listens for any NAV initiations on the other channels not in use by the AP and AT1. In the example of
Once the AP receives the data blocks DATA 214 and 234, it transmits acknowledgement messages ACK 216 and 236 to the access terminal AT1 across channels CH1 and CH3, respectively. Only one of the messages ACK AP 216 and 236 needs to include the information required to inform access terminal AT1 of the channel availability status. The ACK message used to bear the channel availability information may depend on the status of the channel over which it is being transmitted, such as channel condition, bandwidth, or whether the channel is a primary channel. In the example of
After the access terminal AT1 determines the availability of channel CH2, it may also independently confirm that channels CH1 and CH3 are still available. Again, in order to minimize any potential collisions, the access terminal AT1 may initiate a random “backoff” time period on channels CH1, CH2, and CH3. The access terminal AT1 may then proceed to transmit messages RTS 218, 224, and 238 to the AP across all three channels CH1, CH2, and CH3, respectively, indicating that it is ready to transmit. The AP responds to the access terminal AT1 with messages CTS 220, 226, and 240 across channels CH1, CH2, and CH3, respectively, authorizing the access terminal AT1 to transmit its data. The access terminal receives the authorization messages and transmits the data blocks 222, 228, and 242 to the AP across channels CH1, CH2, and CH3, respectively.
Although in the example of
It should be noted that between each message exchanged between the AP and the access terminal AT1, there exists a period of time during which no information is transmitted. This period of time may be referred to as a short interframe space (SIFS) or some other nomenclature. The purpose of the SIFS is to increase the speed of data exchange between the AP and the access terminal AT1 by limiting the amount of time the AP or the access terminal can take to respond, and by limiting the amount of time the AP and the access terminal must remain in the receiving mode when awaiting receipt of the response.
The mechanism of transmitting RTS, CTS DATA, and ACK messages 302-342 of
In this case, the access terminal AT1 does not have access to channel CH1 after it receives message ACK AP 408 from the AP. As the channel CH2 is also unavailable, the access terminal AT1 may initiate a “backoff” via the DCF technique on channel CH3 in order to minimize any potential collisions on the channel.
The mechanism of transmitting RTS, CTS DATA, and ACK messages 402-408 and 418-344 of
It should be noted that the AP may transmit a monitoring request (not shown) to all access terminals prior to a transmission to receive a NAV status response from the access terminals so as to determine which channels are available.
The wireless node, whether an access point or access terminal, may be implemented with a protocol that utilizes a layered structure that includes a physical (PHY) layer that implements all the physical and electrical specifications to interface the wireless node to the shared wireless channel.
In wireless nodes implementing OFDM, the modulation symbols from the TX data processor 502 may be provided to an OFDM modulator 504. The OFDM modulator splits the modulation symbols into parallel streams. Each stream is then mapped to an OFDM subcarrrier and then combined together using an Inverse Fast Fourier Transform (IFFT) to produce a time domain OFDM stream.
A TX spatial processor 506 performs spatial processing on the OFDM stream. This may be accomplished by spatially preceding each OFDM and then providing each spatially precoded stream to a different antenna 508 via a transceiver 506. Each transmitter 506 modulates an RF carrier with a respective precoded stream for transmission over the wireless channel.
In a receive mode, each transceiver 506 receives a signal through its respective antenna 508. Each transceiver 506 may be used to recover the information modulated onto an RF carrier and provide the information to a RX spatial processor 510.
The RX spatial processor 510 performs spatial processing on the information to recover any spatial streams destined for the wireless node 500. The spatial processing may be performed in accordance with Channel Correlation Matrix Inversion (CCMI), Minimum Mean Square Error (MMSE), Soft Interference Cancellation (SIC), or some other suitable technique. If multiple spatial streams are destined for the wireless node 500, they may be combined by the RX spatial processor 510.
In wireless nodes implementing OFDM, the stream (or combined stream) from the RX spatial processor 510 is provided to an OFDM demodulator 512. The OFDM demodulator 512 converts the stream (or combined stream) from time-domain to the frequency domain using a Fast Fourier Transfer (FFT). The frequency domain signal comprises a separate stream for each subcarrrier of the OFDM signal. The OFDM demodulator 512 recovers the data (i.e., modulation symbols) carried on each subcarrier and multiplexes the data into a stream of modulation symbols.
A RX data processor 514 may be used to translate the modulation symbols back to the correct point in the signal constellation. Because of noise and other disturbances in the wireless channel, the modulation symbols may not correspond to an exact location of a point in the original signal constellation. The RX data processor 514 detects which modulation symbol was most likely transmitted by finding the smallest distance between the received point and the location of a valid symbol in the signal constellation. These soft decisions may be used, in the case of Turbo codes, for example, to compute a Log-Likelihood Ratio (LLR) of the code symbols associated with the given modulation symbols. The RX data processor 514 then uses the sequence of code symbol LLRs in order to decode the data that was originally transmitted before providing the data to the MAC layer.
The processor 604 is responsible for managing the bus and general processing, including the execution of software stored on the machine-readable media 606. The processor 604 may be implemented with one or more general-purpose and/or special-purpose processors. Examples include microprocessors, microcontrollers, DSP processors, and other circuitry that can execute software. Software shall be construed broadly to mean instructions, data, or any combination thereof, whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise. Machine-readable media may include, by way of example, RAM (Random Access Memory), flash memory, ROM (Read Only Memory), PROM (Programmable Read-Only Memory), EPROM (Erasable Programmable Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), registers, magnetic disks, optical disks, hard drives, or any other suitable storage medium, or any combination thereof. The machine-readable may be embodied in a computer-program product. The computer-program product may comprise packaging materials.
In the hardware implementation illustrated in
The processing system 600 may be configured as a general-purpose processing system with one or more microprocessors providing the processor functionality and external memory providing at least a portion of the machine-readable media 606, all linked together with other supporting circuitry through an external bus architecture. Alternatively, the processing system 600 may be implemented with an ASIC (Application Specific Integrated Circuit) with the processor 604, the bus interface 608, the user interface 612 in the case of an access terminal), supporting circuitry (not shown), and at least a portion of the machine-readable media 606 integrated into a single chip, or with one or more FPGAs (Field Programmable Gate Array), PLDs (Programmable Logic Device), controllers, state machines, gated logic, discrete hardware components, or any other suitable circuitry, or any combination of circuits that can perform the various functionality described throughout this disclosure. Those skilled in the art will recognize how best to implement the described functionality for the processing system 600 depending on the particular application and the overall design constraints imposed on the overall system.
The machine-readable media 606 is shown with a number of software modules. The software modules include instructions that when executed by the processor 604 cause the processing system 600 to perform various functions. Each software module may reside in a single storage device or distributed across multiple storage devices. By way of example, a software module may be loaded into RAM from a hard drive when a triggering event occurs. During execution of the software module, the processor 604 may load some of the instructions into cache to increase access speed. One or more cache lines may then be loaded into a general register file for execution by the processor 604. When referring to the functionality of a software module below, it will be understood that such functionality is implemented by the processor 604 when executing instructions from that software module.
In this implementation, the machine-readable media 606 may include modules for performing the functions of all layers above the physical layer; however, in order to avoid obscuring the implementation, only a NAV detection module 614 and a data transfer module 616 are shown. The NAV detection module 614 may be used to implement all or part of a NAV detection process at the wireless nodes, such as the AP 110 and the various access terminals AT 120 and AT1, for example. The data transfer module 616 may be used to control the transfer of data blocks (e.g., DATA) and acknowledgement messages (e.g., ACK AP) between the wireless nodes.
An example of the NAV detection and data transfer process 700, such as that which may be implemented via the combination of the channel allocation module 614 and the data transfer module 616, will now be described with respect to the flow chart illustrated in
As shown in
In block 704, the availability of other channels is detected during the receipt of the data. For example, while the AP is receiving the data block from the access terminal AT, it may detect whether there was a NAV initiation on a second channel.
In block 706, channel availability information is transmitted to the node. For example, the AP may transmit the channel availability information as part of an acknowledgement message ACK to the access terminal AT across the first channel.
Another example of a channel allocation process 800, such as that which may also be implemented via the combination of the NAV detection module 614 and the data transfer module 616, will now be described with respect to the flow chart illustrated in
As shown in
In block 804, an acknowledgement is received from the node. For example, the AT may receive from the AP an acknowledgment message ACK including channel availability information.
In block 806, channel availability is determined from the information in the acknowledgement. For example, the access terminal may extract the embedded channel availability from the acknowledgement message ACK and determine which channels are available for communication.
In block 808, data is transmitted based on the channel availability information. For example, the AT may transmit data to the AP only across those channels that were designated as available for communication in the channel availability information.
It is understood that any specific order or hierarchy of steps described in the context of a software module is being presented to provide an examples of a wireless node. Based upon design preferences, it is understood that the specific order or hierarchy of steps may be rearranged while remaining within the scope of the invention.
Although various aspects of the present invention have been described as software implementations, those skilled in the art will readily appreciate that the various software modules presented throughout this disclosure may be implemented in hardware, or any combination of software and hardware. Whether these aspects are implemented in hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the invention.
The previous description is provided to enable any person skilled in the art to fully understand the full scope of the invention. Modifications to the various configurations disclosed herein will be readily apparent to those skilled in the art. Thus, the claims are not intended to be limited to the various aspects of the invention described herein, but is to be accorded the full scope consistent with the language of claims, wherein reference to an element in the singular is not intended to mean “one and only one” unless specifically so stated, but rather “one or more.” Unless specifically stated otherwise, the term “some” refers to one or more. All structural and functional equivalents to the elements of the various aspects described throughout this disclosure that are known or later come to be known to those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be encompassed by the claims. Moreover, nothing disclosed herein is intended to be dedicated to the public regardless of whether such disclosure is explicitly recited in the claims. No claim element is to be construed under the provisions of 35 U.S.C. §112, sixth paragraph, unless the element is expressly recited using the phrase “means for” or, in the case of a method claim, the element is recited using the phrase “step for.”
The present Application for Patent claims priority to Provisional Application No. 61/090,531 entitled “A METHOD FOR ACCESSING MULTIPLE CHANNELS AND RECOVERY LOST NAV INFORMATION IN HYBRID 802.11/VHT WIRELESS NETWORKS” filed Aug. 20, 2008, and assigned to the assignee hereof and hereby expressly incorporated by reference herein.
Number | Date | Country | |
---|---|---|---|
61090531 | Aug 2008 | US |