Senior Fitness - Exercise and Nutrition for Aging Men and Women
FREE Article Feed for your website.
Bio-Medical Research Article Database
Informative Articles on Life, Love and Happiness
Tutorials on Business to Writing
Famous Quotes from Famous People
Song Lyric Information
New US Patent Information
Comprehensive List of Content by Category
Online Auctions and Shopping Related Articles
Article Search
Most Recent Articles

System and method for avoiding stall using timer for high-speed downlink packet access system Number:7,522,526 from the United States Patent and Trademark Office (PTO) owispatent

Home    Author Login    Submit Article    Article Search    Add Your Link    Edit Your Link    Contact Us    Advertising    Disclaimer

   

Google
 

Top Breaking News
     Al-Qaida Leader Voices Support for Syrian Uprising by VOA News
     Senegal Youth Mobilizes Before Elections by Nick Loomis
     Turkmenistan Holds Presidential Election by Jessica Golloher

Title: System and method for avoiding stall using timer for high-speed downlink packet access system

Abstract: At least one timer is used to prevent a stall condition. If a timer is not active, the timer is started for a data block that is correctly received. The data block has a sequence number higher than a sequence number of another data block that was first expected to be received. When the timer is stopped or expires, all correctly received data blocks among data blocks up to and including a data block having a sequence number that is immediately before the sequence number of the data block for which the timer was started is delivered to a higher layer. Further, all correctly received data blocks up to a first missing data block, including the data block for which the timer was started, is delivered to the higher layer.

Patent Number: 7,522,526 Issued on 04/21/2009 to Yi,   et al.


Inventors: Yi; Seung June (Seoul, KR), Yeo; Woon Young (Kyungki-Do, KR), Lee; So Young (Kyungki-Do, KR)
Assignee: LG Electronics Inc. (Seoul, KR)
Appl. No.: 10/331,631
Filed: December 31, 2002


Foreign Application Priority Data

Jan 05, 2002 [KR] 10-2002-0000632

Current U.S. Class: 370/236 ; 370/328; 370/394; 709/235; 714/748
Current International Class: H04L 12/28 (20060101)
Field of Search: 370/328,349,394,236 709/235 714/748


References Cited [Referenced By]

U.S. Patent Documents
5878041 March 1999 Yamanaka et al.
6687248 February 2004 Jiang
7203196 April 2007 Jiang
7254143 August 2007 Jiang
7284179 October 2007 Jiang
7436795 October 2008 Jiang
2003/0123403 July 2003 Jiang
Foreign Patent Documents
1 168 704 Jan., 2002 EP
10-0181152 Dec., 1998 KR
10-1999-0072648 Sep., 1999 KR
10-1999-0077891 Oct., 1999 KR
10-2002-0081954 Oct., 2002 KR
10-2002-0095125 Dec., 2002 KR
10-2003-0038020 May., 2003 KR

Other References

3GPP, "TS 25.308: UTRA High Speed Downlink Packet Access (HSDPA) Overall description", Sep. 2001, Release 5. cited by examiner .
Qualcomm, "Reordering with limited TSN space", 3GPP TSG-RAN Joint WG1/WG2 AH #32, Nov. 5-7, 2001, R2A-010028; Downloaded from www.3gpp.org-/ftp/tsg.sub.--ran/WG2.sub.--RL2/TSGR2.sub.--AHs/2001.sub.--- 11.sub.--WG1.sub.--HS/R2A010028.zip with post date of Nov. 5, 2001. cited by examiner .
"Timer based mechanism for HARQ stall avoidance" 3GPP TSG-RAN WG2 meeting #26, Jan. 7-11, 2002, Sophia-Antipolis, France, Agenda item 9.2.2, Source ASUSTek, R2-020081, pp. 1-4. cited by other .
"A pointer approach to avoid stalling of the h-ARQ protocol due to missing data blocks" TSG-RAN Working Group 2 (Radio layer 2 and Radio layer 3) Jan. 7-11, 2002, Sophia-Antipolis, France, Source: Philips, TSGR2#26(02)0132, pp. 1-8. cited by other .
"HARQ Stall Avoidance" 3GPP TSG-RAN WG2 meeting #24, Oct. 22-26, 2001, New York, USA, Agenda item 9.2.2, Source Ericsson, R2-012330, pp. 1-5. cited by other .
"Timer based Stall Avoidance mechanism" 3GPP TSG-RAN WG2 meeting #26, Jan. 7-11, 2002, Sophia-Antipolis, France, Agenda item 9.2.2, Source LG Electronics Inc., R2-020080, 4 pgs. cited by other .
"HARQ Stall Avoidance" 3GPP RAN TSG/WG2; No. Meeting 25, Nov. 26, 2001, pp. 1-5, XP002253923. cited by other .
"Window based mechanism for HARQ stall avoidance" 3GPP RAN TSG/WG2, No. Meeting 26, Jan. 7, 2002, pp. 1-6, XP002253921. cited by other .
European Search Report (Jun. 1, 2005). cited by other .
Japanese Office Action dated Feb. 9, 2007. cited by other .
Korean Search Report dated Mar. 6, 2003. cited by other .
3.sup.rd Generation Partnership Project; Technical Specification Group Radio Access Network; UTRA High Speed Downlink Packet Access (HSDPA); Overall Description; Stage 2 (Release 5); 3GPP TSG-RAN WG2 Meeting #25; Makuhari, Japan; Nov. 26-30, 2001; R2-012753. cited by other .
Chinese Office Action dated Feb. 9, 2007. cited by other .
Drafting Group; "HSDPA HARQ Protocol"; TSG-RAN Working Group 2 (Radio Layer 2 & 3RR); Helsinki, Finland; Aug. 27-31, 2001; pp. 1-4; TSGR2#23 R2-012151. cited by other .
3GPP Support Team; "Approved Report of the 23.sup.rd TSG-RAN WG2 Meeting (Helsinki, Finland; Aug. 27-31, 2001)"; TSG-RAN WG2 Meeting #24; New York, NY; Oct. 22-26, 2001; pp. 1-83; R2-012211. cited by other .
Ericsson; "Proposal for HARQ Signaling"; 3GPP TSG-RAN WG2 Meeting #24; New York, NY; Oct. 22-26, 2001; pp. 1-3; R2-012331. cited by other .
3GPP Support Team; "Approved Report of the 24.sup.th TSG-RAN WG2 Meeting (New York, NY, Oct. 22-26, 2001)"; TSG-RAN WG2 Meeting #25; Makuhari, Japan; Nov. 26-20, 2001; pp. 1-47; R2-012405. cited by other .
3GPP Support Team; "Approved Report of the 25.sup.th TSG-RAN WG2 Meeting (Makuhari, Japan; Nov. 26-20, 2001)"; TSG-RAN WG2 Meeting #26; Sophia Antipolis, France; Jan. 7-11, 2002; pp. 1-73; R2-020003. cited by other .
Ericsson; "HARQ Stall Avoidance"; 3GPP TSG-RAN WG2; Meeting No. 26; Sophia Antipolis, France; Jan. 7-11, 2002; pp. 1-5; R2-020087. cited by other .
Lucent Technologies; "Stall Avoidance with In-Band Signalling" 3GPP TSG-RAN WG2; Meeting No. 26; Sophia Antipolis, France; Jan. 7-11, 2002; pp. 1-4; R2-020105. cited by other .
Lucent Technologies; "Comparison of Stall Avoidance Schemes" 3GPP TSG-RAN WG2; Meeting No. 26, Sophia Antipolis, France; Jan. 7-11, 2002; pp. 1-2; R2-020147. cited by other .
Philips; "A Pointer Approach to Avoid Stalling of the h-ARQ Protocol Due to Missing Data Blocks"; TSG-RAN Working Group 2 (Radio layer 2 and Radio layer 3); Sophia-Antipolis, France; Jan. 7-1, 2002, pp. 1-11; TSGR2#26(02)0132. cited by other.

Primary Examiner: Kizou; Hassan
Assistant Examiner: O'Connor; Brian T
Attorney, Agent or Firm: KED & Associates, LLP

Claims



What is claimed is:

1. A method of processing data blocks including packet data in a receiver of a mobile communications system, the method comprising: if a timer is not active, starting the timer for a data block that is correctly received, the data block having a sequence number higher than a sequence number of another data block that was first expected to be received; and when the timer expires, delivering to a higher layer, all correctly received data blocks among data blocks up to and including a data block having a sequence number that is immediately before the sequence number of the data block for which the timer was started, delivering to the higher layer, all correctly received data blocks up to a next not received data block, including the data block for which the timer was started, and re-starting the timer for a data block with a highest sequence number among the received data blocks that cannot be delivered to the higher layer.

2. The method of claim 1, wherein no additional timers are started when the timer is active.

3. The method of claim 1, wherein the steps are implemented in a mobile terminal.

4. The method of claim 1, wherein the steps are implemented in a Node B.

5. The method of claim 1, wherein a period of the timer is less than or equal to N*(TTI/2), wherein N is the range of sequence numbers to be assigned to the data blocks, and TTI is the transmission time interval.

6. The method of claim 1, wherein the steps are performed at a medium access control layer.

7. The method of claim 1, wherein the data blocks are delivered to the higher layer in sequence.

8. The method of claim 1, wherein the data block is a MAC-hs protocol data unit.

9. The method of claim 1, wherein the higher layer is a MAC-d sub-layer.

10. The method of claim 1, wherein the higher layer is a radio link control layer.

11. The method of claim 1, wherein the steps are for high-speed data packet access technology.

12. The method of claim 1, wherein the next not received block is a first missing data block.

13. An apparatus for processing data blocks including packet data in a receiver of a mobile communications system, the apparatus comprising: a re-ordering buffer; a re-ordering release timer; and a medium access control entity connected with the re-ordering buffer and the re-ordering release timer, the medium access control entity adapted to, deliver to a higher layer, when the re-ordering release timer expires, all correctly received data blocks among data blocks up to and including a data block having a sequence number that is immediately before the sequence number of the data block for which the timer was started, and all correctly received data blocks up to a next not received data block; and re-start the re-ordering release timer for a data block with a highest sequence number among the received data blocks that cannot be delivered to the higher layer.

14. The apparatus of claim 13, wherein no additional timers are started when the re-ordering release timer is active.

15. The apparatus of claim 13, wherein the elements are part of a mobile terminal.

16. The apparatus of claim 13, wherein the elements are part of a Node B.

17. The apparatus of claim 13, wherein a period of the timer is less than or equal to N*(TTI/2), wherein N is the range of sequence numbers to be assigned to the data blocks, and TTI is the transmission time interval.

18. The apparatus of claim 13, wherein the data blocks are delivered to the higher layer in sequence.

19. The apparatus of claim 13, wherein the data block is a MAC-hs protocol data unit.

20. The apparatus of claim 13, wherein the higher layer is a MAC-d sub-layer.

21. The apparatus of claim 13, wherein the higher layer is a radio link control layer.

22. The apparatus of claim 13, wherein the components are for high-speed data packet access system.

23. The method of claim 13, wherein the next not received block is a first missing data block.
Description



BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention generally relates to wireless communications, and more particularly to a system and method for improving the transmission efficiency of packet data received by a receiver in a mobile radio communications system.

2. Background of the Related Art

A universal mobile telecommunications system (UMTS) is a third generation mobile communication system that has evolved from a standard known as Global System for Mobile communications (GSM). This standard is a European standard which aims to provide an improved mobile communication service based on a GSM core network and wideband code division multiple access (W-CDMA) technology. In December, 1998, the ETSI of Europe, the ARIB/TTC of Japan, the T1 of the United States, and the TTA of Korea formed a Third Generation Partnership Project (3GPP) for the purpose of creating the specification for standardizing the UMTS.

The work towards standardizing the UMTS performed by the 3GPP has resulted in the formation of five technical specification groups (TSG), each of which is directed to forming network elements having independent operations. More specifically, each TSG develops, approves, and manages a standard specification in a related region. Among them, a radio access network (RAN) group (TSG-RAN) develops a specification for the function, items desired, and interface of a UMTS terrestrial radio access network (UTRAN), which is a new RAN for supporting a W-CDMA access technology in the UMTS.

The TSG-RAN group includes a plenary group and four working groups. Working group 1 (WG1) develops a specification for a physical layer (a first layer). Working group 2 (WG2) specifies the functions of a data link layer (a second layer) and a network layer (a third layer). Working group 3 (WG3) defines a specification for an interface among a base station in the UTRAN, a radio network controller (RNC), and a core network. Finally, Working group 4 (WG4) discusses requirements desired for evaluation of radio link performance and items desired for radio resource management.

FIG. 1 shows a structure of a 3GPP UTRAN. This UTRAN 110 includes one or more radio network sub-systems (RNS) 120 and 130. Each RNS 120 and 130 includes a RNC 121 and 131 and one or more Nodes B 122 and 123 and 132 and 133 (e.g., a base station) managed by the RNCs. RNCs 121 and 131 are connected to a mobile switching center (MSC) 141 which performs circuit switched communications with the GSM network. The RNCs are also connected to a serving general packet radio service support node (SGSN) 142 which performs packet switched communications with a general packet radio service (GPRS) network.

Nodes B are managed by the RNCs, receive information sent by the physical layer of a terminal 150 (e.g., mobile station, user equipment and/or subscriber unit) through an uplink, and transmit data to a terminal 150 through a downlink. Nodes B, thus, operate as access points of the UTRAN for terminal 150.

The RNCs perform functions which include assigning and managing radio resources. An RNC that directly manages a Node B is referred to as a control RNC (CRNC). The CRNC manages common radio resources. A serving RNC (SRNC), on the other hand, manages dedicated radio resources assigned to the respective terminals. The CRNC can be the same as the SRNC. However, when the terminal deviates from the region of the SRNC and moves to the region of another RNC, the CRNC can be different from the SRNC. Because the physical positions of various elements in the UMTS network can vary, an interface for connecting the elements is necessary. Nodes B and the RNCs are connected to each other by an Iub interface. Two RNCs are connected to each other by an Iur interface. An interface between the RNC and a core network is referred to as Iu.

FIG. 2 shows a structure of a radio access interface protocol between a terminal which operates based on a 3GPP RAN specification and a UTRAN. The radio access interface protocol is horizontally formed of a physical layer (PHY), a data link layer, and a network layer and is vertically divided into a control plane for transmitting a control information and a user plane for transmitting data information. The user plane is a region to which traffic information of a user such as voice or an IP packet is transmitted. The control plane is a region to which control information such as an interface of a network or maintenance and management of a call is transmitted.

In FIG. 2, protocol layers can be divided into a first layer (L1), a second layer (L2), and a third layer (L3) based on three lower layers of an open system interconnection (OSI) standard model well known in a communication system.

The first layer (L1) operates as a physical layer (PHY) for a radio interface and is connected to an upper medium access control (MAC) layer through one or more transport channels. The physical layer transmits data delivered to the physical layer (PHY) through a transport channel to a receiver using various coding and modulating methods suitable for radio circumstances. The transport channel between the physical layer (PHY) and the MAC layer is divided into a dedicated transport channel and a common transport channel based on whether it is exclusively used by a single terminal or shared by several terminals.

The second layer L2 operates as a data link layer and lets various terminals share the radio resources of a W-CDMA network. The second layer L2 is divided into the MAC layer, a radio link control (RLC) layer, a packet data convergence protocol (PDCP) layer, and a broadcast/multicast control (BMC) layer.

The MAC layer delivers data through an appropriate mapping relationship between a logical channel and a transport channel. The logical channels connect an upper layer to the MAC layer. Various logical channels are provided according to the kind of transmitted information. In general, when information of the control plane is transmitted, a control channel is used. When information of the user plane is transmitted, a traffic channel is used. The MAC layer is divided two sub-layers according to performed functions. The two sub-layers are a MAC-d sub-layer that is positioned in the SRNC and manages the dedicated transport channel and a MAC-c/sh sub-layer that is positioned in the CRNC and manages the common transport channel.

The RLC layer forms an appropriate RLC protocol data unit (PDU) suitable for transmission by the segmentation and concatenation functions of an RLC service data unit (SDU) received from an upper layer. The RLC layer also performs an automatic repeat request (ARQ) function by which an RLC PDU lost during transmission is re-transmitted. The RLC layer operates in three modes, a transparent mode (TM), an unacknowledged mode (UM), and an acknowledged mode (AM). The mode selected depends upon the method used to process the RLC SDU received from the upper layer. An RLC buffer stores the RLC SDUs or the RLC PDUs received from the upper layer exists in the RLC layer.

The packet data convergence protocol (PDCP) layer is an upper layer of the RLC layer which allows data items to be transmitted through a network protocol such as the IPv4 or the IPv6. A header compression technique for compressing and transmitting the header information in a packet can be used for effective transmission of the IP packet.

The broadcast/multicast control (BMC) layer allows a message to be transmitted from a cell broadcast center (CBC) through the radio interface. The main function of the BMC layer is scheduling and transmitting a cell broadcast message to a terminal. In general, data is transmitted through the RLC layer operating in the unacknowledged mode.

The PDCP layer and the BMC layer are connected to the SGSN because a packet switching method is used, and are located only in the user plane because they transmit only user data. Unlike the PDCP layer and the BMC layer, the RLC layer can be included in the user plane and the control plane according to a layer connected to the upper layer. When the RLC layer belongs to the control plane, data is received from a radio resource control (RRC) layer. In the other cases, the RLC layer belongs to the user plane. In general, the transmission service of user data provided from the user plane to the upper layer by the second layer (L2) is referred to as a radio bearer (RB). The transmission service of control information provided from the control plane to the upper layer by the second layer (L2) is referred to as a signaling radio bearer (SRB). As shown in FIG. 2, a plurality of entities can exist in the RLC and PDCP layers. This is because a terminal has a plurality of RBs, and one or two RLC entities and only one PDCP entity are generally used for one RB. The entities of the RLC layer and the PDCP layer can perform an independent function in each layer.

The RRC layer positioned in the lowest portion of the third layer (L3) is defined only in the control plane and controls the logical channels, the transport channels, and the physical channels in relation to the setup, the reconfiguration, and the release of the RBs. At this time, setting up the RB means processes of stipulating the characteristics of a protocol layer and a channel, which are required for providing a specific service, and setting the respective detailed parameters and operation methods. It is possible to transmit control messages received from the upper layer through a RRC message.

The aforementioned W-CDMA system attempts to achieve a transmission speed of 2 Mbps indoors and in a pico-cell circumstance, and a transmission speed of 384 kbps in a general radio condition. However, as the wireless Internet becomes more widespread and the number of subscribers increases, more diverse services will be provided. In order to support these services, it is expected that higher transmission speeds will be necessary. In the current 3GPP consortium, research is being performed to provide high transmission speeds by developing the W-CDMA network. One representative system is known as the high-speed downlink packet access (HSDPA) system.

The HSDPA system is based on WCDMA. It supports a maximum speed of 10 Mbps to the downlink and is expected to provide shorter delay time and an improved capacity than existing systems. The following technologies have been applied to the HSDPA system in order to provide higher transmission speed and enlarged capacity: link adaptation (LA), hybrid automatic repeat request (HARQ), fast cell selection (FCS), and multiple input, multiple output (MIMO) antenna.

The LA uses a modulation and coding scheme (MCS) suitable for the condition of a channel. When the channel condition is good, high degree modulation such as 16QAM or 64QAM is used. When the channel condition is bad, low degree modulation such as QPSK is used.

In general, low degree modulation methods support a lesser amount of transmission traffic than high degree modulation methods. However, in low degree modulation methods, a transmission success ratio is high when a channel condition is not desirable and therefore, it is advantageous to use this form of modulation when the influences of fading or interference is large. On the other hand, frequency efficiency is better in high degree modulation methods than in low degree modulation methods. In the high degree modulation methods, it is possible, for example, to achieve a transmission speed of 10 Mbps using the 5 MHz bandwidth of W-CDMA. However, high degree modulation methods are very sensitive to noise and interference. Therefore, when a user terminal is located close to a Node B, it is possible to improve transmission efficiency using 16QAM or 64QAM. And, when the terminal is located on the boundary of the cell or when the influence of fading is large, low modulation method such as QPSK is useful.

The HARQ method is a re-transmission method which differs from existing re-transmission methods used in the RLC layer. The HARQ method is used in connection with the physical layer, and a higher decoding success ratio is guaranteed by combining retransmitted data with previously received data. That is, a packet that is not successfully transmitted is not discarded but stored. The stored packet is combined with a re-transmitted packet in a step before decoding and is decoded. Therefore, when the HARQ method is used together with the LA, it is possible to significantly increase the transmission efficiency of the packet.

The FCS method is similar to a related art soft handover. That is, the terminal can receive data from various cells. However, in consideration of the channel condition of each cell, the terminal receives data from a single cell which has the best channel condition. The related art soft handover methods increase the transmission success ratio using diversity, and more specifically, by receiving data from various cells. However, in the FCS method, data is received from a specific cell in order to reduce interference between cells.

Regarding the MIMO antenna system, the transmission speed of data is increased using various independent radio waves propagated in the dispersive channel condition. The MIMO antenna system usually consists of several transmission antennas and several reception antennas, so that diversity gain is obtained by reducing correlation between radio waves received by each antenna.

The HSDPA system, thus, to adopt a new technology based on a WCDMA network. However, in order to graft new technologies, modification is unavoidable. As a representative example, the function of Node B is improved. That is, though most control functions are located in the RNC in a WCDMA network, new technologies for the HSDPA system are managed by the Node B in order to achieve faster adjustment to the channel conditions and to reduce a delay time in the RNC. The enhanced function of the Node B, however, is not meant to replace the functions of the RNC but rather is intended to supplement these functions for high speed data transmission, from a point of view of the RNC.

Thus, in an HDSPA system, the Nodes B are modified to perform some of the MAC functions unlike in the WCDMA system. A modified layer which performs some of the MAC function is referred to as a MAC-hs sub-layer.

The MAC-hs sub-layer is positioned above the physical layer and can perform packet scheduling and LA functions. The MAC-hs sub-layer also manages a new transport channel known as HS-DSCH (High Speed-Downlink Shared Channel) which is used for HSDPA data transmission. The HS-DSCH channel is used when data is exchanged between the MAC-hs sub-layer and the physical layer.

FIG. 3 shows a radio interface protocol structure for supporting the HSDPA system. As shown, the MAC layer is divided into a MAC-d sub-layer, a MAC-c/sh sub-layer, and a MAC-hs sub-layer. The MAC-hs sub-layer is positioned above the physical layer (PHY) of a Node B. The MAC-c/sh and MAC-d sub-layers are located in the CRNC and the SRNC. A new transmission protocol referred to the HS-DSCH frame protocol (FP) is used between the RNC and the Node B or among the RNCs for the delivery of HSDPA data.

The MAC-c/sh sub-layer, the MAC-d sub-layer, and the RLC layer positioned above the MAC-hs sub-layer perform the same functions as the current system. Therefore, a slight modification of the current RNC can fully support the HSDPA system.

FIG. 4 shows the structure of a MAC layer used in the HSDPA system. The MAC layer is divided into a MAC-d sub-layer 161, a MAC-c/sh sub-layer 162, and a MAC-hs sub-layer 163. The MAC-d sub layer in the SRNC manages dedicated transport channels for a specific terminal. The MAC-c/sh sub-layer in the CRNC manages the common transport channels. The MAC-hs sub-layer in the Node B manages the HS-DSCH. In this arrangement, the functions performed by the MAC-c/sh sub-layer 162 in the HSDPA system are reduced. That is, the MAC-c/sh sub-layer assigns common resources shared by various terminals in the conventional system and processes the common resources. However, in the HSDPA system, the MAC-c/sh sub-layer simply performs a flow control function of the data delivery between the MAC-d sub-layer 161 and the MAC-hs sub-layer 163.

Referring to FIG. 4, it will be described how data received from the RLC layer is processed and delivered to the HS-DSCH in the MAC layer. First, the path of the RLC PDU delivered from the RLC layer through the dedicated logical channel, (i.e. a dedicated traffic channel (DTCH) or a dedicated control channel (DCCH)), is determined by a channel switching function in the MAC-d layer. When an RLC PDU is delivered to the dedicated channel (DCH), a related header is attached to the RLC PDU in the MAC-d sub-layer 161 and the RLC PDU is delivered to the physical layer through the DCH. When the HS-DSCH channel of the HSDPA system is used, the RLC PDU is delivered to the MAC-c/sh sub-layer 162 by a channel switching function. When a plurality of logical channels use one transport channel, the RLC PDU passes through a transport channel multiplexing block. The identification information (control/traffic (C/T) field) of the logical channel, to which each RLC PDU belongs, is added during this process. Also, each logical channel has a priority. Data of a logical channel has the same priority.

The MAC-d sub-layer 161 transmits the priority of a MAC-d PDU when the MAC-d PDU is transmitted. The MAC-c/sh sub-layer 162 that received the MAC-d PDU simply passes the data received from the MAC-d sub-layer 161 to the MAC-hs sub-layer 163. The MAC-d PDU delivered to the MAC-hs sub-layer 163 is stored in the transmission buffer in the scheduling block. One transmission buffer exists per each priority level. Each MAC-hs SDU (MAC-d PDU) is sequentially stored in the transmission buffer corresponding to its priority.

An appropriate data block size is selected by the scheduling function depending on the channel condition. Accordingly, a data block is formed by one or more MAC-hs SDUs.

A priority class identifier and a transmission sequence number are added to each data block and each data block is delivered to the HARQ block.

A maximum 8 HARQ processes exist in the HARQ block. The data block received from the scheduling block is delivered to an appropriate HARQ process. Each HARQ process operates in a stop and wait (SAW) ARQ. In this method, the next data block is not transmitted until a current data block is successfully transmitted. As mentioned above, because only one data block is transmitted in a TTI, only one HARQ process is activated in one TTI.

Another HARQ processes waits until its turn. Each HARQ process has a HARQ process identifier. A corresponding HARQ process identifier is previously known to the terminal through a downlink control signal, so that a specific data block passes through the same HARQ process in the transmitter (the UTRAN) and the receiver (the terminal). The HARQ process that transmitted the data block also stores the data block to provision the future re-transmission. The HARQ process, re-transmits the data block when NonACKnowledge (NACK) is received from the terminal.

When ACK is received from the terminal, the HARQ process deletes the corresponding data block and prepares the transmission of a new data block. When the data block is transmitted, a transport format and resource combination (TFRC) block selects an appropriate TFC for the HS-DSCH.

FIG. 5 shows a structure of the MAC layer of the terminal used in the HSDPA system. This MAC layer is divided into a MAC-d sub-layer 173, a MAC-c/sh sub-layer 172, and a MAC-hs sub-layer 171. Unlike the UTRAN, the above three layers are located in the same place. The MAC-d sub-layer and the MAC-c/sh sub-layer in the terminal are almost same as those in the UTRAN, but the MAC-hs sub-layer 171 is slightly different because the MAC-hs sub-layer in the UTRAN performs only transmission and the MAC-hs sub-layer in the terminal performs only reception.

The manner in which the MAC layer receives the data from the physical layer and delivers it to the RLC layer will now be described. The data block delivered to the MAC-hs sub-layer 171 through the HS-DSCH is first stored in one of the HARQ processes in the HARQ block. In which process the data block is stored can be known from the HARQ process identifier included in the downlink control signal.

The HARQ process, in which the data block is stored, transmits the NACK information to the UTRAN when there are errors in the data block and requests the re-transmission of the data block. When no errors exist, the HARQ process delivers the data block to a reordering buffer and transmits the ACK information to the UTRAN. A reordering buffer has a priority like the transmission buffer in the UTRAN. The HARQ process delivers the data block to the corresponding reordering buffer with the aid of a priority class identifier included in the data block. A significant characteristic of the reordering buffer is that it supports in-sequence delivery of data.

Data blocks are sequentially delivered to an upper layer based on a transmission sequence number (TSN). More specifically, when a data block is received while one or more previous data blocks are missing, the data block is stored in the reordering buffer and is not delivered to the upper layer. Rather, the stored data block is delivered to the upper layer only when all previous data blocks are received and delivered to the upper layer. Because several HARQ processes operate, a reordering buffer may receive data blocks out of sequence. Therefore, an in-sequence delivery function is used for the reordering buffer so that the data blocks can be delivered to the upper layer sequentially.

One difference between the reordering buffer of the terminal and the transmission buffer of the UTRAN is that the reordering buffer stores data in units of data block which is composed of one or more MAC-hs SDUs, while the transmission buffer stores data in units of MAC-hs SDU (=MAC-d PDU), Because the MAC-d sub-layer 173 processes data in units of MAC-d PDUs, when the reordering buffer of the terminal MAC-hs sub-layer 171 delivers the data block to the MAC-d sub-layer 173, the reordering buffer must first disassemble the data block into the MAC-d PDUs and then deliver them to the MAC-d sub-layer. The MAC-c/sh sub-layer 172 passes the MAC-d PDUs received from the MAC-hs sub-layer 171 to the MAC-d sub-layer. The MAC-d sub-layer 173 that received the MAC-d PDU checks the logical channel identifier (C/T field) included in each MAC-d PDU in the transport channel multiplexing block and delivers the MAC-d PDUs to the RLC through the corresponding logical channel.

FIG. 6 shows processes for transmitting and receiving a data block in an HSDPA system. The MAC-d PDUs are actually stored in a transmission buffer 180. However, for the sake of convenience, it is shown as a data block (=one or more MAC-d PDUs). The sizes of the respective data blocks can vary. However, the sizes are shown to be the same because the data blocks for illustrative purposes. Also, it is assumed that eight HARQ processes 181 through 188 exist.

The process includes transmitting data blocks to the receiver for data blocks having transmission sequence numbers from TSN=13 to TSN=22 in the transmission buffer. A data block with a lower TSN is served first to an empty HARQ process. For example, as shown, the data block TSN=13 is delivered to HARQ process #1 181, and data block TSN=14 is delivered to HARQ process #8. From this explanation, it is clear that the TSN is not related to the HARQ process number.

When the HARQ process receives an arbitrary data block, the HARQ process transmits the data block to the receiver in a specific TTI and stores the data block for re-transmission that might be performed later. Only one data block can be transmitted in a certain TTI. Accordingly, only one HARQ process is activated in a single TTI. The HARQ process that transmitted the data block informs the receiver of its process number through a downlink control signal which is transmitted through a different channel than that of the data block.

The reason why the HARQ process of the transmitter coincides with the HARQ process of the receiver is that a stop-and-wait ARQ method is used by each HARQ process pair. That is, HARQ process #1 181 that transmitted data block TSN=13 does not transmit another data block until the data block is successfully transmitted. Because a receiver HARQ process #1 191 can know that data is transmitted thereto for a corresponding TTI through the downlink control signal, the receiver HARQ process #1 transmits the NACK information to the transmitter through an uplink control signal when the data block is not successfully received within a defined transmission time interval (TTI). On the other hand, when a data block is successfully received, the receiver HARQ process #1 transmits the ACK information to the transmitter, and at the same time delivers the corresponding data block to the reordering buffer according to the priority.

The reordering buffer exists per priority level. The HARQ process checks the priority included in the header information of the data block and delivers the data block to the reordering buffer according to the priority. The data block delivered to the reordering buffer is then delivered to the upper layer when all of the previous data blocks are delivered to the upper layer. However, when one or more previous data blocks are not delivered to the upper layer, the data block is stored in the reordering buffer 190. That is, the reordering buffer must support in-sequence delivery of data blocks to the upper layer. A data block that is not delivered to the upper layer is stored in the reordering buffer.

To illustrate the foregoing, FIG. 6 shows that when data block TSN=14 is received but data block TSN=13 is not received, data block TSN=14 is stored in the reordering buffer until data block TSN=13 is received. When data block TSN=13 is received, both data blocks are delivered to the upper layer in the order of TSN=13 and TSN=14. When the data blocks are delivered to the upper layer, they are disassembled in units of MAC-d PDUs and are delivered as described above.

The reordering buffer delivery process is susceptible to a stall condition which may be described as follows. Because the reordering buffer supports in-sequence delivery of data blocks, when a specific data block is not received data blocks having later TSNs are not delivered to the upper layer but rather are stored in the reordering buffer. When a specific data block is not received for a long time or permanently, the data blocks in the reordering buffer are not delivered to the upper layer. Moreover, after a short period of time, additional data blocks cannot be received because the buffer becomes full, thereby resulting in a stall situation.

When stall occurs and a specific data block cannot be delivered for a long time or ever, the transmission efficiency of the HSDPA system deteriorates. More specifically, when a large number of data blocks are stored in the buffer of the MAC-hs for a long time due to a single missing data block, the entire data transmission efficiency of the system is reduced. This undermines many of the advantages of the HSDPA system, such as its ability to provide high-speed data communications.

In an attempt to overcome this problem, related methods take the following approach. When the receiver does not successfully receive a data block for a certain amount of time, the receiver stops waiting for the missing data block and delivers subsequently received data blocks to the upper layer. As a result, all the data blocks that were successfully received and stored in the reordering buffer are lost and consequently quality of communications and transmission efficiency is diminished.

Incidentally, it is noted that a data block may not be received permanently because of one of the following two reasons:

1) The UTRAN misinterprets the NACK signal sent by the terminal as an ACK signal; and

2) The HARQ process of the UTRAN discards the corresponding data block because the data block has been re-transmitted a maximum number of times allowable by the system or the transmission is not successfully performed for a defined tine.

In case 1), the UTRAN wrongly decodes status information sent by the terminal. In case 2), the UTRAN discards the specific data block because the transmission of the specific data block has not been successful for a long time. The UTRAN, however, does not inform the terminal of this fact. In this case, because the corresponding data block is not transmitted permanently, later data blocks are stored in the reordering buffer without being delivered to the upper layer. Therefore, a protocol is stalled, which is a big problem.

A need therefore exists for an improved method of increasing the efficiency and quality of voice and data transmissions in a mobile communications system, and more specifically one which is able to achieve these advantages while simultaneously correcting a stall condition in a reordering buffer of a communications receiver.

SUMMARY OF THE INVENTION

It is one object of the present invention to provide a system and method for improving the quality of communications in a mobile communications system.

It is another object of the present invention to achieve the aforementioned object by preventing a stall condition in a user terminal in a way that simultaneously improves the transmission efficiency of the system.

It is another object of the present invention to achieve the aforementioned object using a stall timer which limits the amount of time data blocks are stored in a reordering buffer of the receiver.

It is another object of the present invention to set a period of the stall timer to a value which prevents a wrap-around condition from occurring with respect to transmission sequence numbers assigned to data blocks stored in the buffer.

It is another object of the present invention to provide a system and method which prevents a stall condition in a reordering buffer and simultaneously prevents correctly received data blocks stored in the buffer from being lost.

These and other objects and advantages of the present invention are achieved by providing a method which prevents a stall condition in a user terminal by receiving a data block SN, detecting that a data block having a transmission sequence number which precedes a transmission sequence number of data block SN has not been received, storing data block SN in a reordering buffer, and outputting data block SN from the buffer when a first period of a timer expires. The user terminal may be configured to operate, for example, within a high-speed downlink packet-access (HSDPA) mobile communications system, and the reordering buffer is preferably implemented in a LAC layer of the terminal. If implemented in this manner, the buffer may receive data blocks from a physical layer via a HS-DSCH channel and may output data blocks to an upper layer such as an RLC layer.

Additional steps of the method include receiving the preceding data block during the first timer period and then delivering the preceding data block and data block SN to the upper layer. The preceding data block may be delivered in one of a variety of ways. In accordance with one embodiment, the preceding data block and data block SN may be delivered to the intended destination when the first timer period expires. Advantageously, this step may be performed even if at least one other data block having a preceding transmission sequence number has not been received.

In accordance with another embodiment, if the preceding data block is received before the first timer period expires and the preceding data block is the only missing data block preceding data block SN, the preceding data block and data block SN are delivered to the intended destination and the timer is stopped.

In accordance with another embodiment, a plurality of data blocks having preceding transmission sequence numbers are detected to be missing at a time when data block SN is received. In this case, when at least one of the preceding data blocks is received before the first timer period expires, the received preceding data block is immediately delivered to the intended destination if it has not anticipated missing data blocks preceding it. Otherwise, the received preceding data block is delivered with data block SN after the first timer period expires.

In accordance with another embodiment, a data block having a succeeding transmission sequence number is received during the first timer period. Data block SN and the succeeding data block are then delivered to an intended destination when the first timer period expires, but only if the succeeding data block and data block SN have consecutive transmission sequence numbers.

In accordance with another embodiment, a data block having a succeeding transmission sequence number is received during the first timer period. When this occurs, the preceding data block and data block SN are delivered to an intended destination when the first timer period expires, and the succeeding data block is also delivered when the first timer period expires but only if data block SN and the succeeding data block have consecutive transmission sequence numbers.

In accordance with another embodiment, a plurality of data blocks having succeeding transmission sequence numbers are received during the first timer period. When this occurs, the plurality of succeeding data blocks are delivered with data block SN to an intended destination when the first timer period expires but only if data block SN and the plurality of succeeding data blocks have consecutive transmission sequence numbers.

In accordance with another embodiment, a plurality of data blocks having succeeding transmission sequence numbers are received, and it is detected that there is at least one missing data block M in the plurality of succeeding data blocks. Data block SN and one or more of the succeeding blocks may have consecutive transmission sequence numbers, and missing data block M may have a transmission sequence number which comes after the transmission sequence numbers of the one or more succeeding data blocks that consecutively follow the transmission sequence number of data block SN. When this occurs, the one or more data blocks having transmission sequence numbers that consecutively follow the transmission sequence number of data block SN are delivered to an intended destination when the first timer period expires. The delivered data blocks are then discarded from the buffer and the remaining succeeding data blocks (i.e., ones having transmission sequence numbers that come after the transmission sequence number of data block M) are stored in the buffer.

In accordance with another embodiment, a second period of the timer may be started based on the remaining succeeding block having a highest transmission sequence number. When this occurs, each of the remaining succeeding data blocks is delivered to an intended destination after all the anticipated missing data blocks preceding it are received or after the second timer period expires.

The present invention is also a computer program having respective code sections which perform steps included in any of the embodiments of the method of the present invention discussed herein. The computer program may be written in any computer language supportable within a user terminal, and may be stored on a permanent or removable computer-readable medium within or interfaced to the terminal.

The present invention is also a method for controlling a reordering buffer. The buffer is preferably located within a communications receiver, but may also be implemented in other portions of a communications system if desired. The method includes providing a timer which controls storage of data blocks in the buffer, and setting a period of the timer to a value which prevents a wrap-around of transmission serial numbers assigned to the data blocks from occurring.

In accordance with another embodiment, a method for processing packet data in a receiver of a communications system receives a data block having a sequence number, stores the data block in a reordering buffer, and starts a timer for the reordering buffer if a data block of a preceding sequence number is missing. Here, the timer is the only timer provided for controlling the reordering buffer. Preferably, the timer is started only when the data block of the preceding sequence number is missing and the timer is not active.

Additional steps of the method include determining whether the data block can be immediately delivered to an upper layer. If yes, the data block is delivered to the upper layer without ever storing it in the reordering buffer. If not, the data block is stored in the reordering buffer. Also, the step of determining whether the time is active may be performed before the starting step. If the timer is active the starting step may not be performed.

Additional steps include receiving at least one additional data block after the timer has been started and storing the at least one additional data block in the reordering buffer. The additional data block may have a preceding sequence number. In this case, the additional block may be removed from the buffer and delivered to an upper layer when there is no anticipated missing data block preceding it or when the timer expires. The additional data block may have a succeeding sequence number. In this case, the additional block may be removed from the reordering buffer and delivered to an upper layer when the timer expires if the succeeding sequence number of the additional data block consecutively follows the data block having said sequence number. If the sequence number of the additional block does not consecutively follow, then the additional block may continue to be stored in the buffer after the timer expires. The timer may then be re-started for the data block stored in the buffer having the highest sequence number in the buffer.

In accordance with another embodiment, a method for processing packet data in a receiver of a communications system includes starting a timer for a reordering buffer, receiving a data block having a sequence number, storing the data block in the reordering buffer, and removing the data block from the reordering buffer when the timer expires if the sequence number of the data block precedes a sequence number of a data block received and stored in the reordering buffer at a time when the timer was started.

In accordance with another embodiment, the present invention provides a user terminal which includes a reordering buffer for storing a data block having a sequence number, a timer, and a controller which starts said timer for the reordering buffer if a data block of a preceding sequence number is missing, wherein said timer is the only timer provided for controlling the reordering buffer. The controller starts said timer if the data block of said preceding sequence number is missing and the timer is not active. The controller may also determine whether the data block of said preceding sequence number can be immediately delivered to an upper layer. The buffer will store the data block of said preceding sequence number in the reordering buffer if the data block cannot immediately be delivered to the upper layer. If the data block can be immediately delivered, the buffer outputs the block to an upper layer.

The reordering buffer also stores at least one additional data block in the reordering buffer at the timer has started. The additional data block may be the missing data block having said preceding sequence number. If so, the additional block is removed from the reordering buffer and delivered to the upper layer when the timer expires. The additional block may also be a succeeding sequence number. If so, the data block is removed from the reordering buffer and delivered to an upper layer when the timer expires if its succeeding sequence number consecutively follows the data block having said sequence number.

The reordering buffer will continue to store the additional data block in the reordering buffer after the timer expires if the succeeding sequence number of the additional data block does not consecutively follow the data block having said sequence number. In this case, the controller will determine a data block stored in the buffer having a highest sequence number and will then re-start the timer.

In accordance with another embodiment, a method for processing packet data in a receiver of a communications system includes receiving data blocks, storing the data blocks in a reordering buffer, starting a timer for the reordering buffer, and delivering the data blocks from the reordering buffer to an upper layer when the timer expires. In this embodiment, in the delivering step the data blocks are delivered sequentially but may not in-sequence manner. The difference of sequential delivery from the in-sequence delivery is that in this case the sequence numbers of two adjacently delivered data blocks can be not consecutive. That is, a missing data block is allowed between the delivered data blocks. For example, delivered data blocks have following sequence numbers 14, 15, 17, 19, 24, 25, 26, 28, . . . . Missing data block is allowed, but should be delivered sequentially. If we apply the in-sequence delivery to the above example, the data blocks of sequence number higher than 16 should not be delivered until the data block 16 is delivered. The sequence number of the delivered data blocks must be: 14, 15, 16, 17, 18, 19, . . . . Missing data block is not allowed, and should be delivered sequentially. On the contrary, a reordering buffer may receive data blocks out of sequence. In this case, the out-of-sequence reception means a reordering buffer may receive data blocks with upper TSN earlier than data blocks with lower TSN. For example, a reordering buffer receives data blocks like this: 15, 20, 14, 16, 23, 24, 17, 18, . . . .

The present invention represents a significant improvement over conventional methods of preventing a stall condition in a communication system. By delivering correctly received data blocks that would otherwise be lost in a conventional system, the invention improves transmission efficiency and the quality of communications at the receiver. The invention also removes the cumulative delay problem that tends to arise in a receiver as a result of a TSN wrap-around condition. Through these improvements, the invention will allow user terminals to meet or exceed the performance standards required by so-called next-generation wireless systems.

Additional advantages, objects, and features of the invention will be set forth in part in the description which follows and in part will become apparent to those having ordinary skill in the art upon examination of the following or may be learned from practice of the invention. The objects and advantages of the invention may be realized and attained as particularly pointed out in the appended claims.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention will be described in detail with reference to the following drawings in which like reference numerals refer to like elements wherein:

FIG. 1 shows a structure of a 3GPP UTRAN in a 3GPP communications system.

FIG. 2 shows a structure of a radio access interface protocol between a terminal which operates based on a 3GPP RAN specification and a UTRAN.

FIG. 3 shows a radio interface protocol structure for supporting the HSDPA system.

FIG. 4 shows the structure of a MAC layer used in the HSDPA system, which layer includes a MAC-d sub-layer, a MAC-c/sh sub-layer, and a MAC-hs sub-layer.

FIG. 5 shows a structure of the MAC layer of a user terminal in an HSDPA system.

FIG. 6 shows a process for transmitting and receiving a data block in an HSDPA system.

FIG. 7 shows a user terminal in accordance with a preferred embodiment of the invention.

FIGS. 8A-8C show steps included in a method for avoiding a stall condition in a reordering buffer in accordance with one embodiment of the present invention.

FIG. 9 shows a timing diagram illustrating a first control procedure in accordance with the present invention.

FIGS. 10A and 10B show another embodiment of the method of the present invention for avoiding a stall condition in an HSDPA system.

FIGS. 11A-11C illustrate how the maximum value of a stall timer period T1 may be calculated for a worst case scenario.

FIGS. 12A and 12B show an example of how the method of the present invention may operate a stall timer for managing the storage of data blocks in a reordering buffer in a way that avoids a stall condition.

FIG. 13 shows an example of how the method of the present invention is applied to a situation where the sequence numbers of data blocks stored in a reordering buffer begin to be reused.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

The present invention is a system and method for preventing a stall condition in a user terminal of a mobile communications system. The invention is preferably implemented in a mobile network such as the Universal Mobile Telecommunications System (UMTS) currently being developed by the third-generation partnership project (3GPP). Those skilled in the art can appreciate, however, that the invention may alternatively be adapted for use in communications systems which operate according to other standards. The present invention is also a user terminal which implements the method of the present invention for preventing a stall condition from occurring. The present invention is also a computer program which may be stored in the user terminal for implementing the method of the present invention. A detailed discussion of embodiments of the invention will now be provided

The invention is ideally suited for use in a high-speed downlink packet-access (HSDPA) mobile system. Systems of this type include user equipment which communicates with a UMTS Terrestrial Radio Access Network (UTRAN) through a wireless link. The user equipment may include, for example, a mobile telephone, a personal digital assistant, a so-called pocket PC, a laptop or notebook computer, or any other device which receives signals wirelessly transmitted over a mobile communications network. As previously discussed, these signals may be transmitted by a UTRAN and received by a user terminal operating in accordance with the protocol architecture shown, for example, in FIGS. 1-3, 5, and 6.

When implemented in this manner, the method of the present invention controls the storage of data blocks within and the subsequent transfer and deletion of data blocks from a reordering buffer operating within the medium access control (MAC) layer of the user terminal. More specifically, the reordering buffer may be located in a MAC-hs sub-layer, which receives data blocks from a lower-level physical layer and transfers those blocks to an upper layer such as the radio link control (RLC) layer through MAC-c/sh and MAC-d sub-layers respectively. These features were previously discussed at length with reference to, for example, FIG. 5 and therefore a detailed discussion of them will not be provided here.

FIG. 7 is a diagram showing a user terminal in accordance with a preferred embodiment of the invention. The terminal includes circuits/software for performing the method which will be described in greater detail below. At this point, it is sufficient to note that these circuits/software are preferably incorporated within a MAC-hs entity 300, which receives data blocks from a peer entity of a UTRAN through a plurality of high-speed downlink shared channels (HS-DSCHs) 302 and delivers those data blocks to a MAC-d sub-layer by way of a MAC-c/sh sub-layer through a series of dedicated transport channels (DCHs) 308. The MAC-hs entity and the peer entity of UTRAN exchange messages and other control forms of control information through downlink and uplink channels 304 and 306 respectively.

The MAC-hs entity includes a HARQ unit 310, a reordering queue distribution unit 320, one or more reordering buffers 330 preferably with an equal number of stall timers 340, a plurality of disassembly units 350, and an input for receiving control signals from a MAC layer controller 360 for managing the functions and operations performed in the MAC-hs entity.

The HARQ unit performs MAC functions relating to the HARQ protocol which include but are not limited to all tasks required for hybrid ARQ. The HARQ unit also transmits acknowledgment (ACK) and non-acknowledgment (NACK) signals indicating whether data blocks transmitted by the peer entity of the UTRAN have been received. The HARQ unit includes a plurality of HARQ processes 310-1 to 310-n which preferably operate in parallel. The number of HARQ processes may be determined by one or more of the upper layers of the protocol. In operation, each HARQ process transfer data blocks from an HS-DSCH channel to a reordering buffer based on priority class identification information in headers of the blocks. The data blocks include or may be in the form of MAC-hs protocol data units (PDUs) or service data units (SDUs).

The reordering queue distribution unit routes the data blocks to the correct reordering buffer based on queue identification (ID) information in the header of each block. This information provides, for example, an indication of the reordering queue that may be used to support independent buffer handling of data belonging to different reordering queues.

The r


Free Web Sudoku Puzzles.
Solve with your browser.
  8 5 6     4 3  
          7   5 8
    7 3          
        3     4  
  2 6       8 7  
  4     2        
          2 6    
6 5   1          
  7 4     8 2 1  
What is it?



Add Your Site · Terms Of Service · Privacy Policy


DISCLAIMER
Linkgrinder is a free service that searches the Internet and indexes all files found so that you may search quickly and easily for shared files. These files are created and made available individually by users whose identity we are not aware of and who we have no control over. In essence we function like a search engine tool; these files ARE NOT STORED OR SERVED BY OUR NETWORK. We are not responsible for any materials obtained by using our service. We do not monitor any of the contents of these files. These files may contain viruses, illegal materials, materials inappropriate for minors, offensive files and the like. BY USING OUR SERVICE, YOU ASSUME FULL RESPONSIBILITY FOR DOWNLOADING THESE MATERIALS AND WILL INDEMNIFY US FOR ANY DAMAGES THAT MAY BE INCURRED.

For More Specific Information VIEW OUR TERMS OF SERVICE.

Thank you and Enjoy!