I. Field
The present disclosure relates generally to communication, and more specifically to techniques for sending and receiving data in a wireless communication system.
II. Background
Wireless communication systems are widely deployed to provide various communication services such as voice, video, packet data, messaging, broadcast, etc. These systems may be multiple-access systems capable of supporting multiple users by sharing the available system resources. Examples of such multiple-access systems include Code Division Multiple Access (CDMA) systems, Time Division Multiple Access (TDMA) systems, Frequency Division Multiple Access (FDMA) systems, Orthogonal FDMA (OFDMA) systems, and Single-Carrier FDMA (SC-FDMA) systems.
A wireless communication system may include a number of Node Bs, and each Node B may provide communication coverage for a particular geographic area. A user equipment (UE) may receive data from one Node B at any given moment. The UE may be mobile and may move out of the coverage of a first Node B and into the coverage of a second Node B. The UE may perform handover from the first Node B to the second Node B. The handover may entail exchanging signaling messages between various entities and may take some amount of time to complete. During the handover, some data may be lost if (i) one Node B sends data to the UE while the UE monitors another Node B or (ii) the UE decodes the data in error due to poor channel conditions. It may be desirable to reduce data loss during handover.
Techniques for buffering and resending data in order to reduce data loss during handover are described herein. In an aspect, a network controller may determine whether or not to buffer data for a UE. The network controller may continuously buffer a predetermined amount of latest data sent to a serving Node B for the UE if a decision is made to buffer the data for the UE.
In one design, the network controller may send data for the UE to a source Node B, perform handover of the UE from the source Node B to a target Node B, and resend to the target Node B a portion of the data sent previously to the source Node B. The resent data may include a predetermined amount of the latest data (e.g., a predetermined number of latest packets) sent previously to the source Node B. The network entity may send new data for the UE to the target Node B. e.g., after the resent data. The new data may comprise data not sent to the source Node B.
In one design, the network controller may maintain at least one data flow for the UE and may determine whether or not to buffer each data flow. The network controller may select each data flow carrying real-time data for buffering and/or may select data flows for buffering based on other criteria. The network controller may continuously buffer a predetermined amount of latest data for each data flow selected for buffering. The network controller may resend to the target Node B a portion of data for each data flow selected for buffering at handover of the UE.
In one design, the UE may receive data from the source Node B, perform handover from the source Node B to the target Node B, and receive resent data and new data from the target Node B. The UE may detect for duplicate data received from both the source and target Node Bs and may retain a single copy of the duplicate data.
Various aspects and features of the disclosure are described in further detail below.
The buffer and resend techniques described herein may be used for various wireless communication systems such as CDMA, TDMA, FDMA, OFDMA, SC-FDMA and other systems. The terms “system” and “network” are often used interchangeably. A CDMA system may implement a radio technology such as Universal Terrestrial Radio Access (UTRA), cdma2000, etc. UTRA includes Wideband CDMA (WCDMA) and other variants of CDMA. cdma2000 covers IS-2000, IS-95 and IS-856 standards. A TDMA system may implement a radio technology such as Global System for Mobile Communications (GSM). An OFDMA system may implement a radio technology such as Evolved UTRA (E-UTRA), Ultra Mobile Broadband (UMB), Flash-OFDM®, etc. UTRA and E-UTRA are part of Universal Mobile Telecommunication System (UMTS). 3GPP Long Term Evolution (LTE) is an upcoming release of UMTS that uses E-UTRA. UTRA, E-UTRA, UMTS, LTE and GSM are described in documents from an organization named “3rd Generation Partnership Project” (3GPP). cdma2000 and UMB are described in documents from an organization named “3rd Generation Partnership Project 2” (3GPP2). For clarity, certain aspects of the techniques are described below for WCDMA, and 3GPP terminology is used in much of the description below.
RNC 130 couples to Node Bs 120 and 122 and provides coordination and control for these Node Bs. RNC 130 may also communicate with network entities within core network 104. Core network 104 may include various network entities that support various functions and services for the UEs.
A UE 110 may communicate with Node B 120 and/or Node B 122 via the downlink and uplink. The downlink (or forward link) refers to the communication link from a Node B to a UE, and the uplink (or reverse link) refers to the communication link from the UE to the Node B. For the downlink, UE 110 may receive data from only one Node B at any given moment. For the uplink, UE 110 may send data to one or more Node Bs. Much of the description below is for data transmission on the downlink, and UE 110 may be assumed to be communicating with only one Node B at any given moment. UE 110 may be stationary or mobile and may also be referred to as a mobile station, a terminal, an access terminal, a subscriber unit, a station, etc. UE 110 may be a cellular phone, a personal digital assistant (PDA), a wireless modem, a wireless communication device, a handheld device, a laptop computer, a cordless phone, etc.
3GPP Release 5 and later supports High-Speed Downlink Packet Access (HSDPA), which is a set of channels and procedures that enables high-speed packet data transmission on the downlink. For HSDPA, a Node B may send data on a High Speed Downlink Shared Channel (HS-DSCH), which is a downlink transport channel that is shared by all UEs in both time and code. The HS-DSCH may carry data for one or more UEs in each transmission time interval (TTI). In WCDMA, a 10 millisecond (ms) radio frame is partitioned into five 2-ms subframes, each subframe includes three slots, and each slot has a duration of 0.667 ms. For HSDPA, a TTI is equal to one subframe and is the smallest unit of time in which a UE might be scheduled and served. The sharing of the HS-DSCH may change dynamically from TTI to TTI. A Node B may send control information on a Shared Control Channel for HS-DSCH (HS-SCCH). The control information may identify each UE being served in each TTI and may also provide parameters (e.g., coding and modulation) used by the scheduled UEs to receive their data from the HS-DSCH.
The protocol stack for UE 110 may include Radio Link Control (RLC) and Medium Access Control (MAC) for Layer 2 and an air-link interface (e.g., WCDMA) for Layer 1. RLC may provide reliability for data transmission and may perform automatic retransmission (ARQ) of data and duplicate detection. In RLC, data may be processed as belonging to logical channels. MAC may perform a number of functions such as mapping and/or multiplexing logical channels to transport channels. The physical layer (PHY) may provide a mechanism for transmitting data from MAC. The physical layer may perform a number of functions such as (i) mapping transport channels to physical channels, (ii) processing (e.g., coding, interleaving, and rate matching) of data for each transport channel, (iii) processing (e.g., spreading and scrambling) of data for each physical channel, and (iv) power control of each set of physical channels.
On the network side, RLC may be terminated at RNC 130. MAC may be partitioned into MAC-d and MAC-hs. MAC-d may perform multiplexing of logical channels from RLC to MAC-d flows. MAC-hs may perform a number of functions such as flow control, scheduling and priority handling, hybrid automatic repeat request (HARQ) transmission, and transport format combination indicator (TFRI) selection. MAC-d may terminate at RNC 130 whereas MAC-hs may terminate at the serving Node B. The air-link interface may terminate at the serving Node B. The serving Node B may communicate with RNC 130 via HS-DSCH FP (frame protocol) over Layer 2 and Layer 1. The various protocols for HSDPA are described in 3GPP TS 25.308, entitled “High Speed Downlink Packet Access (HSDPA); Overall description; Stage 2,” which is publicly available.
Referring back to
UE 110 may initially establish a call, which may be for Voice-over-Internet Protocol (VoIP), packet data, etc. For the downlink, RNC 130 may send data for UE 110 to source Node B 120 (step 1). Source Node B 120 may transmit the data on the HS-DSCH to UE 110 (step 2a). UE 110 may periodically measure the signal strength of different cells. UE 110 may determine that the signal strength of source Node B 120 is sufficiently low and that the signal strength of target Node B 122 is sufficiently high. UE 110 may then send a Radio Resource Control (RRC) Measurement Report message for an Event Id to indicate the detected condition (step 3). UE 110 may send this RRC message to source Node B 120 and/or target Node B 122, which may forward the RRC message to RNC 130.
RNC 130 may receive the RRC Measurement Report message from UE 110 and may make a decision to handover UE 110 to target Node B 122 (step 4). RNC 130 may then send a Radio Link Setup Request message to target Node B 122 to request setup of a new radio link for UE 110 (step 5). Target Node B 122 may set up the new radio link for UE 110 (step 6), begin transmission and reception on the new radio link, and return a Radio Link Setup Response message to RNC 130 (step 7).
RNC 130 may send an RRC Reconfiguration message via source Node B 120 to UE 110 (step 8). This RRC Reconfiguration message may be a Physical Channel Reconfiguration message, a Radio Bearer Reconfiguration message, a Transport Channel Reconfiguration message, a Cell Update Confirm message, some other message, or some other mechanism. The RRC Reconfiguration message may indicate the radio resources to use for the new radio link.
Upon receiving the RRC Reconfiguration message, UE 110 may terminate reception of the old radio link from source Node B 120. UE 110 may perform Layer 1 synchronization with target Node B 122 (step 9) and may establish Layer 2 link with RNC 130 (step 10). UE 110 may then send an RRC Reconfiguration Complete message to RNC 130 (step 11). This RRC Reconfiguration Complete message may be a Physical Channel Reconfiguration Complete message, a Radio Bearer Reconfiguration Complete message, a Transport Channel Reconfiguration Complete message, some other message, or some other mechanism.
Upon receiving the RRC Reconfiguration Complete message, RNC 130 may send a Radio Link Release Request message to source Node B 120 (step 12). Source Node B 120 may release the old radio link for UE 110 (step 13) and may return a Radio Link Release Response message to RNC 130 (step 14).
After step 9, UE 110 may periodically estimate the downlink channel quality for target Node B 122, generate channel quality indicator (CQI) information, and send the CQI information to the target Node B. UE 110 may also start monitoring the HS-SCCH from target Node B 122 for control information for possible data transmission on the HS-DSCH to the UE. After step 11, RNC 130 may send data for UE 110 to target Node B 120 (step 15). Target Node B 120 may transmit the data on the HS-DSCH to UE 110 (step 16).
For HSDPA, only one serving Node B transmits data on the downlink to a UE at any given moment. During handover, the UE and the UTRAN may communicate with each other to determine which Node B will serve the UE. As shown in
Some data for UE 110 may be lost during handover due to several reasons. First, source Node B 120 may continue to transmit data to UE 110 (e.g., step 2c in
In an aspect, data loss during handover may be reduced by resending to the target Node B some data that was sent previously to the source Node B. The target Node B may send this resent data, e.g., before any new data, to the UE. The UE may receive duplicate data from both the source and target Node Bs and may simply discard duplicate copy of the data. By resending some data from the target Node B during handover, data loss at the UE during handover may be reduced, and performance degradation may be avoided.
UE 110 may periodically measure the signal strength of different cells. Upon detecting sufficiently low signal strength for source Node B 120 and sufficiently high signal strength for target Node B 122, UE 110 may send an RRC Measurement Report message for an Event Id to RNC 130 (step 3). RNC 130 may make a decision to handover UE 110 to target Node B 122 (step 4) and may send a Radio Link Setup Request message to target Node B 122 (step 5). Target Node B 122 may set up the new radio link for UE 110 (step 6) and may return a Radio Link Setup Response message to RNC 130 (step 7).
RNC 130 may send an RRC Reconfiguration message via source Node B 120 to UE 110 (step 8). Upon receiving this message, UE 110 may perform Layer 1 synchronization with target Node B 122 (step 9) and may establish Layer 2 link with RNC 130 (step 10). UE 110 may then send an RRC Reconfiguration Complete message to RNC 130 (step 11). RNC 130 may send a Radio Link Release Request message to source Node B 120 (step 12). Source Node B 120 may release the old radio link for UE 110 (step 13) and may return a Radio Link Release Response message to RNC 130 (step 14).
After step 11, RNC 130 may resend to target Node B 122 some data that was sent previously to source Node B 120 (step B). Target Node B 120 may transmit this data on the HS-DSCH to UE 110 (step C). RNC 130 may also send new data for UE 110 to target Node B 122 (step 15). Target Node B 120 may transmit the new data on the HS-DSCH to UE 110 (step 16).
In the design shown in
In the design shown in
The buffer and resend feature may be implemented in various manners. In general, data at any layer in a protocol stack may be buffered and resent when needed. Each layer may process data as belonging to flows or channels. Data for some or all of the flows/channels at a selected layer may be buffered and resent when needed.
MAC-d may perform various functions such as mapping logical channels to MAC-d flows, multiplexing multiple logical channels onto a MAC-d flow as appropriate, ciphering, etc. In the example shown in
In the design shown in
In the example shown in
In general, any number of MAC-d flows and any MAC-d flow may be enabled with the buffer and resend feature. In one design, the buffer and resend feature may be enabled for only MAC-d flows carrying real-time data such as VoIP, video teleconference, etc. In another design, the buffer and resend feature may be enabled for MAC-d flows with a particular priority level or higher.
RRC may be responsible for controlling the configuration of Layers 1 and 2. RRC may provide RLC control to direct the operation of RLC. RRC may also provide MAC control to direct the operation of MAC-d. The MAC control may indicate which MAC-d flows to enable the buffer and resend feature and which MAC-d flows to disable the buffer and resend feature. At call setup and/or whenever triggered by an event, RRC may configure MAC-d to enable the buffer and resend feature for certain MAC-d flows.
When RRC receives an RRC Reconfiguration Complete message from the UE, RRC may inform MAC-d to start resending the buffered data to the target Node B. MAC-d may then resend the buffered data for each MAC-d flow with the buffer and resend feature enabled. In one design, MAC-d may resend all buffered data for a MAC-d flow first and may then start sending new data for that MAC-d flow to the target Node B. In another design, MAC-d may resend the buffered data and the new data concurrently or in any order to the target Node B. For both designs, the buffered data and the new data may be assigned sequence numbers, and the target Node B and the UE may be able to ascertain the order of the data. MAC-d may continue to buffer the new data before sending it to the target Node B. This way, MAC-d can always have the latest data that it sent to the node B in anticipation of another handover.
In another design, the buffer and resend feature may be selectively enabled or disabled for each logical channel from RLC. The buffer and resend feature may also be selectively enabled or disabled for channels or flows in other protocols and/or in other layers.
The amount of data to buffer for each MAC-d flow or each logical channel may be selected based on various criteria such as the expected amount of data to resend during handover, buffer requirements at the RNC, etc. For example, if a VoIP call sends a packet every 20 ms, and if the portion of handover in which data loss can occur covers about 200 ms, then the latest 10 packets may be continuously buffered and resent to the target Node B when handover occurs. Since a TTI is 2 ms for HSDPA and a packet arrives every 20 ms for VoIP, the target Node B may be able to transmit all of the resent packets to the UE in a fairly short amount of time so that the UE may not notice any delays. The amount of data to buffer and resend may also be configurable.
When handover occurs, data starting at resend pointer 616 may be provided to the target Node B. The resent data may include data between resend pointer 616 and start pointer 614. The new data may include data between start pointer 614 and end pointer 612.
The network controller may send data for the UE to a source Node B (block 716). The network controller may perform handover of the UE from the source Node B to a target Node B (block 718). Block 718 may include tasks performed by RNC 130 for handover in message flow 400 shown in
In one design, the network controller may maintain at least one data flow for the UE and may determine whether or not to buffer each data flow. The network controller may select each data flow carrying real-time data for buffering. The network controller may also select data flows for buffering based on other criteria. The at least one data flow may comprise data for at least one MAC-d flow, or data for at least one logical channel, or some other data. The network controller may continuously buffer a predetermined amount of the latest data for each data flow selected for buffering. The network controller may resend to the target Node B a portion of data for each data flow selected for buffering.
On the downlink, UE 110 may receive downlink signals transmitted by Node B 120 and/or Node B 122. A receiver (RCVR) 1026 may condition (e.g., filter, amplify, frequency downconvert, and digitize) a received signal and provide samples. A demodulator (Demod) 1016 may process (e.g., descramble, channelize, and demodulate) the samples and provide symbol estimates. A decoder 1018 may process (e.g., deinterleave and decode) the symbol estimates and provide decoded data and signaling messages sent to UE 110. Encoder 1012, modulator 1014, demodulator 1016, and decoder 1018 may be implemented by a modem processor 1010. These units may perform processing in accordance with the radio technology (e.g., WCDMA, cdma2000, etc.) used by the system. A controller/processor 1030 may direct the operation of various units at UE 110. Controller/processor 1030 may also perform or direct process 900 in
At each Node B, a transmitter/receiver 1038 may support radio communication with UE 110 and other UEs. A controller/processor 1040 may perform various functions for communication with the UEs. For the uplink, the uplink signal from UE 110 may be received and conditioned by receiver 1038 and further processed by controller/processor 1040 to recover the traffic data and signaling messages sent by the UE. For the downlink, traffic data and signaling messages may be processed by controller/processor 1040 and conditioned by transmitter 1038 to generate a downlink signal, which may be transmitted to UE 110 and other UEs. Controller/processor 1040 at target Node B 122 may also perform, direct or participate in process 800 in
At RNC 130, a controller/processor 1050 may perform various functions to support communication services for the UEs. Controller/processor 1050 may perform processing for RRC, RLC and MAC-d shown in
The buffer and resend techniques described herein may be used for any change in serving cell such as synchronized and unsynchronized serving cell changes. The techniques described herein may be advantageously used for an unsynchronized change in serving cell. For an unsynchronized serving cell change, a UE may switch to a target Node B based on a first trigger (e.g., reception of the RRC Reconfiguration message in step 8 in
The buffer and resend techniques may provide certain advantages. The techniques may allow a network entity such as an RNC to continuously buffer a predetermined amount of the latest data sent to a serving Node B. No trigger is needed to start buffering the data. A trigger to start resending the buffered data to a target Node B may result from handover or some other event. Only a small amount of data may be resent to the target Node B. This may save backhaul bandwidth over bi-casting and multi-casting schemes that send data to all Node Bs in an active set of a UE when triggered, e.g., by the RRC Measurement Report message in step 3 in
The buffer and resend techniques may be much more efficient in terms of saving backhaul costs and reducing complexity. The techniques may be implemented using existing interface between the RNC and Node Bs. The RNC may buffer data at MAC-d and may resend the data to the target Node B when there is a change in serving cell. In this case, there may be no behavior change at the Node B. The techniques may thus be readily implemented at the RNC without requiring changes to existing Node Bs.
Those of skill in the art would understand that information and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.
Those of skill would further appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the disclosure herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as 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 present disclosure.
The various illustrative logical blocks, modules, and circuits described in connection with the disclosure herein may be implemented or performed with a general-purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
The steps of a method or algorithm described in connection with the disclosure herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. The ASIC may reside in a user terminal. In the alternative, the processor and the storage medium may reside as discrete components in a user terminal.
In one or more exemplary designs, 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 general purpose or special purpose 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 means in the form of instructions or data structures and that can be accessed by a general-purpose or special-purpose computer, or a general-purpose or special-purpose processor. 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. Combinations of the above should also be included within the scope of computer-readable media.
The previous description of the disclosure is provided to enable any person skilled in the art to make or use the disclosure. Various modifications to the disclosure will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other variations without departing from the scope of the disclosure. Thus, the disclosure is not intended to be limited to the examples and designs described herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.