I. Field
The following description relates generally to communication systems, and more particularly to a method and apparatus for seamless transitions of data transfer between radio links.
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).
In wireless communications systems, medium access (MAC) protocols are designed to operate to exploit several dimensions of freedom offered by the physical (PHY) layer air link medium. The most commonly exploited dimensions of freedom are time and frequency. For example, in the IEEE 802.11 MAC protocol, the “time” dimension of freedom is exploited through the CSMA (Carrier Sense Multiple Access). The CSMA protocol attempts to ensure that no more than one transmission occurs during a period of potential high interference. Similarly, the “frequency” dimension of freedom can be exploited by using different frequency channels.
Recent developments have led to space as a dimension being a viable option to be used to increase, or at least more efficiently use, existing capacity. Spatial Division Multiple Access (SDMA) can be used for improving utilization of the air link by scheduling multiple terminals for simultaneous transmission and reception. Data is sent to each of the terminals using spatial streams. For example, with SDMA, a transmitter forms orthogonal streams to individual receivers. Such orthogonal streams can be formed because the transmitter has several antennas and the transmit/receive channel consists of several paths. Receivers may also have one or more antennas (MIMO, SIMO). For this example, it is assumed that the transmitter is an access point (AP) and the receivers are stations (STAs). The streams are formed such that a stream targeted at STA-B, for example, is seen as low power interference at STA-C, STA-D, . . . , etc., and this will not cause significant interference and most likely be ignored.
In certain IEEE 802.11 devices being implemented, radio links of different rates may be used. By way of example, a device may use 2.4/5 GHz as well as 60 GHz radio links. Such devices may utilize the higher, 60 GHz radio link for short distance, high throughput file transfers. However, 60 GHZ links may lose connectivity rapidly due to deeper fades and tight directionality requirements of the 60 GHz band. Thus, applications such as streaming video and data file transfers may experience longer delays and poor user experience when these applications are required to re-establish the connection.
Consequently, it would be desirable to address one or more of the deficiencies described above.
The following presents a simplified summary of one or more aspects of a method and apparatus for method and apparatus for seamless transitions of data transfer between radio links in order to provide a basic understanding of such aspects. This summary is not an extensive overview of all contemplated aspects, and is intended to neither identify key or critical elements of all aspects nor delineate the scope of any or all aspects. Its sole purpose is to present some concepts of one or more aspects in a simplified form as a prelude to the more detailed description that is presented later.
According to various aspects, the subject innovation relates to apparatus and methods that provide wireless communications, where a method for wireless communications includes generating an index for a plurality of packets for use in a first radio link for transmission to an apparatus; transmitting the plurality of packets using a second radio link to the apparatus; determining transmission state information indicating whether each packet in the plurality of packets have been received by the apparatus; and transmitting additional packets based on the index and the transmission state information.
In another aspect, an apparatus for wireless communications is provided that includes a transmitter configured to transmit a plurality of packets using a second radio link to the other apparatus; and a processing system configured to generate an index for the plurality of packets for use in a first radio link for transmission to another apparatus; and determine transmission state information indicating whether each packet in the plurality of packets has been received by the other apparatus; wherein the transmitter is further configured to transmit additional packets based on the index and the transmission state information.
In yet another aspect, an apparatus for wireless communications is provided that includes means for generating an index for a plurality of packets for use in a first radio link for transmission to an apparatus; means for transmitting the plurality of packets using a second radio link to the apparatus; means for determining transmission state information indicating whether each packet in the plurality of packets have been received by the apparatus; and means for transmitting additional packets based on the index and the transmission state information.
In yet another aspect, a computer-program product for wireless communications is provided that includes a machine-readable medium including instructions executable to generate an index for a plurality of packets for use in a first radio link for transmission to an apparatus; transmit the plurality of packets using a second radio link to the apparatus; determine transmission state information indicating whether each packet in the plurality of packets have been received by the apparatus; and transmit additional packets based on the index and the transmission state information.
In yet another aspect, an access point is provided that includes one or more antennas; a processing system configured to generate an index for a plurality of packets for use in a first radio link for transmission to an apparatus; and a transmitter coupled to the one or more antennas and configured to transmit, via the one or more antennas, the plurality of packets using a second radio link to the apparatus; wherein the processing system is further configured to determine transmission state information indicating whether each packet in the plurality of packets have been received by the apparatus, and the transmitter is further configured to transmit additional packets based on the index and the transmission state information.
To the accomplishment of the foregoing and related ends, the one or more aspects comprise the features hereinafter fully described and particularly pointed out in the claims. The following description and the annexed drawings set forth in detail certain illustrative aspects of the one or more aspects. These aspects are indicative, however, of but a few of the various ways in which the principles of various aspects may be employed and the described aspects are intended to include all such aspects and their equivalents
These and other sample aspects of the disclosure 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 methods and apparatus are described more fully hereinafter with reference to the accompanying drawings. These methods and apparatus 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 these methods and apparatus to those skilled in the art. Based on the descriptions herein teachings herein one skilled in the art should appreciate that that the scope of the disclosure is intended to cover any aspect of the methods and apparatus disclosed herein, whether implemented independently of or combined with any other aspect of the disclosure. 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 disclosure 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 disclosure set forth herein. It should be understood that any aspect of the disclosure 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. It should be noted that although the term “precoding” is used herein, in general, the term “coding” may also be used to encompass the process of precoding, encoding, decoding and/or postcoding a data stream.
One or more access terminals 120 may be equipped with multiple antennas to enable certain functionality. With this configuration, for example, 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 disclosure 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 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 disclosure are not limited to any particular wireless technology and/or air interface standard.
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, a Medium Access Control (MAC) layer that coordinates access to the shared wireless channel, and an application layer that performs various data processing functions including, by way of example, speech and multimedia codecs and graphics processing. Additional protocol layers (e.g., network layer, transport layer) may be required for any particular application. In some configurations, the wireless node may act as a relay point between an access point and access terminal, or two access terminals, and therefore, may not require an application layer. Those skilled in the art will be readily able to implement the appropriate protocol for any wireless node depending on the particular application and the overall design constraints imposed on the overall system.
When the wireless node in a transmit mode, the application layer processes data, segments the data into packets, and provides the data packets to the MAC layer. The MAC layer assembles MAC packets with each data packet from the application layer being carried by the payload of a MAC packet. Alternatively, the payload for a MAC packet may carry a fragment of a data packet or multiple data packets from the application layer. Each MAC packet includes a MAC header and an error detection code. The MAC packet is sometimes referred to as a MAC Protocol Data Unit (MPDU), but may also be referred to as a frame, packet, timeslot, segment, or any other suitable nomenclature.
When the MAC decides to transmit, it provides a block of MAC packets to the PHY layer. The PHY layer assembles a PHY packet by assembling the block of MAC packets into a payload and adding a preamble. As will be discussed in greater detail later, the PHY layer is also responsible for providing various signal processing functions (e.g., modulating, coding, spatial processing, etc.). The preamble, which is sometimes referred to as Physical Layer Convergence Protocol (PLCP), is used by the receiving node to detect the start of the PHY packet and synchronize to the transmitter's node data clock. The PHY packet is sometimes referred to as a Physical Layer Protocol Data Unit (PLPDU), but may also be referred to as a frame, packet, timeslot, segment, or any other suitable nomenclature.
When the wireless node is in a receive mode, the process is reversed. That is, the PHY layer detects an incoming PHY packet from the wireless channel. The preamble allows the PHY layer to lock in on the PHY packet and perform various signal processing functions (e.g., demodulating, decoding, spatial processing, etc.). Once processed, the PHY layer recovers the block of MAC packets carried in the payload of the PHY packet and provides the MAC packets to the MAC layer.
The MAC layer checks the error detection code for each MAC packet to determine whether it was successfully decoded. If the error detection code for a MAC packet indicates that it was successfully decoded, then the payload for the MAC packet is provided to the application layer. If the error detection code for a MAC packet indicates that it was unsuccessfully decoded, the MAC packet is discarded. A Block ACKnowledgement (BACK) may be sent back to the transmitting node indicating which data packets were successfully decoded. The transmitting node uses the BACK to determine which data packets, if any, require retransmission.
In wireless nodes implementing OFDM, the modulation symbols from the TX data processor 202 may be provided to an OFDM modulator 204. The OFDM modulator 204 splits the modulation symbols into parallel streams. Each stream is then mapped to an OFDM subcarrier and then combined using an Inverse Fast Fourier Transform (IFFT) to produce a TX spatial processor 204 that performs spatial processing of the modulation symbols. This may be accomplished by spatially precoding the modulation symbols before providing them to an OFDM modulator 206.
The OFDM modulator 206 splits the modulation symbols into parallel streams. Each stream is then mapped to an OFDM subcarrier and then combined together using an Inverse Fast Fourier Transform (IFFT) to produce a time domain OFDM stream. Each spatially precoded OFDM stream is then provided to a different antenna 210a-210n via a respective transceiver 208a-208n. Each transceiver 208a-208n modulates an RF carrier with a respective precoded stream for transmission over the wireless channel.
In a receive mode, each transceiver 208a-208n receives a signal through its respective antenna 210a-210n. Each transceiver 208a-208n may be used to recover the information modulated onto an RF carrier and provide the information to an OFDM demodulator 220.
The RX spatial processor 220 performs spatial processing on the information to recover any spatial streams destined for the wireless node 200. 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 200, they may be combined by the RX spatial processor 222.
In wireless nodes implementing OFDM, the stream (or combined stream) from the transceiver 208a-208n is provided to an OFDM demodulator 220. The OFDM demodulator 220 converts the stream (or combined stream) from time-domain to the frequency domain using a Fast Fourier Transform (FFT). The frequency domain signal comprises a separate stream for each subcarrier of the OFDM signal. The OFDM demodulator 220 recovers the data (i.e., modulation symbols) carried on each subcarrier and multiplexes the data into a stream of modulation symbols before sending the stream to a RX spatial processor 222.
The RX spatial processor 222 performs spatial processing on the information to recover any spatial streams destined for the wireless node 200. 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 200, they may be combined by the RX spatial processor 222.
A RX data processor 224 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 224 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 224 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 304 is responsible for managing the bus and general processing, including the execution of software stored on the computer-readable media 308. The processor 308 may be implemented with one or more general-purpose and/or special-purpose processors. Examples include microprocessors, microcontrollers, digital signal processors (DSPs), field programmable gate arrays (FPGAs), programmable logic devices (PLDs), state machines, gated logic, discrete hardware circuits, and other suitable hardware configured to perform the various functionality described throughout this disclosure.
One or more processors in the processing system may execute software. Software shall be construed broadly to mean instructions, instruction sets, code, code segments, program code, programs, subprograms, software modules, applications, software applications, software packages, routines, subroutines, objects, executables, threads of execution, procedures, functions, etc., whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise.
In the hardware implementation illustrated in
Given IEEE 802.11 devices that are capable of communicating over a lower speed link, such as a 2.4/5 GHz radio link, and a higher speed link, such as a 60 GHz radio link, suffering degradation on the PHY layer connectivity at 60 GHz is more likely at 2.4/5 GHz. To improve communication robustness, the system disclosed herein is capable of preserving a connection over the lower speed link when the higher speed link drops. In one aspect of the disclosure, a MAC architecture allows the 2.4/5 GHz link to provide a robust backup to the 60 GHz link and therefor allow preservation of an application connection during failures on the 60 GHz link. By way of example, a TCP connection can be preserved based on the robustness. By way of another example, a video stream can continue to be maintained, albeit at lower quality.
In step 402, prior to traffic transmission between two STAs, the STAs negotiate a Block ACK policy for the lower speed radio link. For example, an STA 1 and an STA 2, STA 1 and STA 2 negotiate the Block Acknowledgement (BA) policy for the lower speed link, such as the 2.4/5 GHz radio link, operation.
In step 404, state machines required to process 802.11 ARQs are started at the transmit and receive sides.
In step 406, every MPDU is provided a sequence number according to 802.11n MAC operation.
In step 408, several MPDUs are aggregated to form A-MPDUs.
In step 410, it is determined whether the higher speed link such as the 60 GHz link is available. If so, operation continues with step 414, where the MAC packets are transmitted using the 60 GHz radio link, as further described below. Otherwise, if the 60 GHz link is not available, then operation will continue with in step 412, where the MAC packets are transmitted using the lower speed link such as the 2.4/5 GHz link, as described below.
In step 412, if it is determined that the higher speed link such as the 60 GHz PHY is not available in step 410, then the MAC layer begins transport of A-MPDUs on the lower speed link, such as the 2.4/5 GHz PHY. In one aspect of the disclosure, there are no requirements for a MAC layer connection set up for the transition, and no messages need to be communicated to indicate a transition between the higher speed and lower speed physical layers. When 60 GHz link improves, packets can continue on the 60 GHz radio link.
Referring back to step 410 and further referring to
In step 416, a 60 GHz PSDU is formed from several such A-MPDUs.
In step 418, the transmit and receive side 802.11 MAC ARQ states are updated to account for acknowledged A-MPDUs sent on the 60 GHz PHY
Several strategies might be utilized to ensure that the ARQ window size does not limit the size of the transmitted 60 GHz PSDU. For example, with IEEE 802.11n, the ARQ window size is restricted to 64 MPDUs since the BA only carries a 64 bit bitmap. The bitmap stores the transmission state information.
1. In 802.11, A-MSDU may be used to aggregate several MSDUs from the higher layers. Each A-MSDU is assigned a sequence number. Note that A-MSDUs can be up to 8000 bytes long. Therefore a single block ACK can acknowledge an aggregate that is 64×8000 bytes long.
2. Maintain loose BA state information. The transmitter sides updates the last in sequence received and a bitmap based on the transmissions on the 60 GHz link. Transmissions on the 60 GHz link are allowed to proceed beyond the current ARQ window. As soon as the 60 GHz link fails, several options are possible.
a. The transmitter begins transmissions on the 5 GHz link based on the current known Block ACK state. The receiver responds the data with a BA that can acknowledge MPDUs that were received previously on the 60 GHz link. Based on the BAs received the transmitter can skip ahead to sequence numbers beyond the current ARQ window.
b. The transmitter begins by sending a BAR (block ACK request) based on the current known BA state. Based on the response to the BAR, the transmitter updates the window. Note that in some cases several BAR may need to be sent before, the transmitter can determine which sequence numbers needs to be retransmitted.
The processing system described herein, or any part of the processing system, may provide the means for performing the functions recited herein. By way of example, the processing system executing code may provide the means for generating an index for a plurality of packets for use in a first radio link; means for transmitting the plurality of packets using a second radio link; determining transmission state information indicating whether each packet in the plurality of packets have been received; and means for transmitting additional packets based on the index and the transmission state information. By way of another example, the processing system executing code may provide the means for contending for access to a medium based on a request, by an apparatus, with a plurality of other apparatuses; receiving a message, the message comprising a resource allocation based on requests from the apparatus and the other apparatuses, wherein the resource allocation permits data transmission from the apparatus and some of the other apparatuses; and transmitting data by the apparatus based on the message. Alternatively, the code on the computer-readable medium may provide the means for performing the functions recited herein.
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 disclosure.
Those skilled in the art will recognize how best to implement the described functionality presented throughout this disclosure depending on the particular application and the overall design constraints imposed on the overall system.
In one or more exemplary embodiments, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A storage media may be any available media that can be accessed by a computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. Also, any connection is properly termed a computer-readable medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Thus, in some aspects computer readable medium may comprise non-transitory computer readable medium (e.g., tangible media). In addition, in some aspects computer readable medium may comprise transitory computer readable medium (e.g., a signal). Combinations of the above should also be included within the scope of computer-readable media.
The previous description is provided to enable any person skilled in the art to fully understand the full scope of the disclosure. 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 disclosure 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. A claim that recites at least one of a combination of elements (e.g., “at least one of A, B, or C”) refers to one or more of the recited elements (e.g., A, or B, or C, or any combination thereof). 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/263,265, entitled “Method and Apparatus for Seamless Transitions of Data Transfer Between Radio Links” filed Nov. 20, 2009; and to Provisional Application No. 61/300,936, entitled “Method and Apparatus for Seamless Transitions of Data Transfer Between Radio Links” filed Feb. 3, 2010, both of which are assigned to the assignee hereof and hereby expressly incorporated by reference herein.
Number | Date | Country | |
---|---|---|---|
61263265 | Nov 2009 | US | |
61300936 | Feb 2010 | US |