This application is a Submission Under 35 U.S.C. §371 for U.S. National Stage Patent Application of International Application Number: PCT/US2010/033524, filed May 10, 2010 entitled “USING A VARIABLE TIMER FOR SENDING AN ERROR INDICATION,” which claims priority to U.S. Provisional Application Ser. No. 61/175,092, filed May 4, 2009, the entirety of both which are incorporated herein by reference.
Various wireless access technologies have been proposed or implemented to enable mobile stations to perform communications with other mobile stations or with wired terminals coupled to wired networks. Examples of wireless access technologies include GSM (Global System for Mobile communications) and UMTS (Universal Mobile Telecommunications System) technologies, defined by the Third Generation Partnership Project (3GPP); and CDMA 2000 (Code Division Multiple Access 2000) technologies, defined by 3GPP2. CDMA 2000 defines one type of packet-switched wireless access network, referred to as the HRPD (High Rate Packet Data) wireless access network.
Other more recent standards that provides packet-switched wireless access networks include the following, as examples: 802.16 (WiMAX) standard from the IEEE (Institute of Electrical and Electronics Engineers); and the Long Term Evolution (LTE) standard from 3GPP, which seeks to enhance the UMTS technology. The LTE standard is also referred to as the EUTRA (Evolved Universal Terrestrial Radio Access) standard.
In general, according to some embodiments, a receiving layer of a wireless device receives a particular data unit. The receiving layer detects that a previous data unit earlier in sequence to the particular data unit has not yet been received. In response to the detecting, a timer is started, where the timer has a timeout period that is variable dependent upon a parameter associated with receipt of the particular data unit. Upon expiration of the timer based on the timeout period, the receiving layer generates an error indication.
Other or alternative features will become apparent from the following description, from the drawings, and from the claims.
Some embodiments are described with respect to the following figures:
In wireless devices that are able to communicate with each other over a wireless access network, various layers are defined to implement various protocols associated with the wireless communications. As shown in
In the example depicted in
The base station 104 similarly includes a physical layer 114, an MAC layer 116, an RLC layer 118, and upper layers 120.
The mobile station 102 further includes one or multiple processors 122, which is (are) connected to storage media 124. Similarly, the base station 104 includes one or multiple processors 126, which is (are) connected to storage media 128. The storage media 124 or 128 can be implemented with disk-based storage media and/or integrated circuit or semiconductor storage media.
The RLC layer 110 or 118 can be configured to perform data transfer in various modes, including a transparent mode, unacknowledged mode, or acknowledged mode. In acknowledged mode, the receiving RLC layer can provide status control packets back to the transmitting RLC layer to indicate that errors have occurred in the receipt of packets over the wireless link. A “packet” is intended to refer to any data unit that can be communicated between the base station 104 and mobile station 102, where the data unit can include control information or bearer data. In this discussion, a “packet” and “data unit” are used interchangeably.
An RLC layer implementing the acknowledged mode can perform ARQ (automatic repeat request) retransmission, in which the receiving RLC layer informs the transmitting RLC layer of an error in data unit receipt. HARQ (hybrid ARQ) differs from ARQ in that HARQ adds forward error correction (FEC) bits to data that is to be transmitted.
An issue associated with acknowledged mode operation is that there can be increased end-to-end latency in transmission of packets between the wireless devices due to ARQ retransmissions. Conventionally, a receiving RLC layer is provided with a reordering timer to allow the receiving RLC layer to wait a fixed amount of time for a missing packet before the receiving RLC layer generates a status report back to the transmitting RLC layer that a particular packet has not been received. However, because conventional reordering timers employ fixed timeout periods, performance may suffer when the reordering timer may cause the receiving RLC layer to wait too long to send a status report back to the transmitting RLC layer.
In accordance with some embodiments, as shown in
The general operation of a reorder timer is discussed in connection with the example of
In the example of
In the example of
Reorder Timer=K*Maximum Number of HARQ Transmissions, (Eq. 1)
where K is the number of HARQ processes supported by the MAC layer, and Maximum Number of HARQ Transmissions represents the maximum number of transmissions that can be performed by the HARQ mechanism. Assuming K=8, and the Maximum Number of HARQ Transmissions is equal to 6, then the static timeout period for the reordering timer is set at 48 TTIs. With the conventional static setting of the reordering timer, if the packet SN1 is not received correctly after all further retransmissions from the transmitting MAC layer (at TTI 16, TTI 24, TTI 32, and TTI 40 in the example of
In the example of
In accordance with some embodiments, instead of using a static reordering timer that is set with a static timeout period, a dynamic reordering timer having dynamically settable timeout periods is employed. Effectively, the timeout period of a reordering timer can be dynamically adjusted based on predetermined condition(s) to reduce reporting latency in case of error in receiving a packet. In some implementations, this predetermined condition is represented by a parameter that corresponds to a number of HARQ transmissions at the MAC layer of a packet before successful receipt by a receiving RLC layer.
Generally, if an RLC packet SNx is received with N transmissions (N≧1), any previous packet SNx-1, that is not yet received must have undergone at least N transmissions. This statement is true for any system that uses synchronous transmission at the MAC layer. For example, consider the case of
However, the algorithm according to some embodiments is not limited to just synchronous systems. The principle can also be applied to systems using asynchronous HARQ, where packet retransmissions are scheduled in a first in first out (FIFO) basis.
To dynamically adjust the timeout period of the reordering timer (130 or 134 in
Reorder Timer=K*(Maximum Number of HARQ Transmissions−SNx
The number of bits used to represent SNx
An explanation regarding the operation of the dynamic reordering timer (130 or 134) is explained in connection with
Reorder Timer=8*(6−2)=32 TTIs.
The reordering timer is started at TTI 9 (upon receipt of the packet SN2 by the receiving RLC layer. If the packet SN1 is not received correctly after all transmissions, the dynamic reordering timer will expire at TTI 9+TTI 32=TTI 41, since the last transmission of SN1 is at TTI 40. When the reordering timer expires at TTI 41, the receiving RLC layer can immediately trigger the error report that is sent back to the transmitting RLC layer, where the error report indicates that packet SN1 has not been successfully received.
With the example given in
Another example is shown in
As a result, the receiving RLC layer restarts the dynamic reordering timer, with the receiving RLC layer computing the dynamic timeout period using Eq. 2, as follows:
Reorder Timer=8*(6−2)=32 TTIs.
In this case, the SNx
However, if it is determined that the received data unit is out of sequence, then the receiving RLC layer determines (at 406) if a reordering timer is already running. If not, the reordering timer is started (at 408) with a dynamically set timeout period, such as according to Eq. 2 above.
If a reordering timer is already running, as determined at 406, the receiving RLC layer determines (at 410) if a missing data unit was received. If not, the process returns. However, if the receiving RLC layer determines that a missing data unit was received, then the reordering timer is stopped (at 412).
The receiving RLC layer next determines (at 506) if another data unit is missing. If not, the reordering timer is stopped (at 508). However, if another data unit is missing, such as in the scenario depicted in
As further optimizations, it may be possible to send a status report even earlier in the case of multiple gaps, such as depicted in
In some implementations, the receiving RLC layer can record the absolute time based on an internal clock of the receiving wireless device. Using the absolute time of the successfully received packets as reference, the dynamic timer can be adjusted to enable earlier failed packet detection.
In other implementations, relative offsets are used rather than absolute arrival time. One way to compute relative offsets is as follows. The receiving RLC layer can record SNx
In this case, the dynamic timeout period is given by:
Reorder Timer=[K*(Maximum Number of HARQ Transmissions−SNx
Using the example of
Reorder Timer=8*(6−2)−(21−0)=11 TTIs.
The timer for the SN3 gap is started at TTI 41, if the SN3 packet is not received correctly after all transmissions, then the reordering timer for the SN3 gap would expire at TTI 41+TTI 11=TTI 52. The last transmission of packet SN3 is at TTI 47—hence, the receiving RLC layer can immediately trigger the error report at TTI 52.
If packet SN1 had arrived at TTI 24, the reorder time left would have been 17. Hence SN4
Reorder Timer=8*(6−2)−(21−17)=28 TTIs.
Since the SN1 packet has arrived, the dynamic timer will be restarted for the SN3 gap at TTI 24. If the SN3 packet is not received correctly after all transmissions, then the reordering timer for the SN3 gap would expire at TTI 24+TTI 28=TTI 52. The last transmission of packet SN3 is at TTI 47—hence, the receiving RLC layer can immediately trigger the error report at TTI 52.
In the example in
Instructions of various modules described above (including the RLC layer 110 or 118 or other layers of
Data and instructions are stored in respective storage devices, which are implemented as one or more computer-readable or machine-readable storage media. The storage media include different forms of memory including semiconductor memory devices such as dynamic or static random access memories (DRAMs or SRAMs), erasable and programmable read-only memories (EPROMs), electrically erasable and programmable read-only memories (EEPROMs) and flash memories; magnetic disks such as fixed, floppy and removable disks; other magnetic media including tape; optical media such as compact disks (CDs) or digital video disks (DVDs); or other types of storage devices. Note that the instructions discussed above can be provided on one computer-readable or machine-readable storage medium, or alternatively, can be provided on multiple computer-readable or machine-readable storage media distributed in a large system having possibly plural nodes. Such computer-readable or machine-readable storage medium or media is (are) considered to be part of an article (or article of manufacture). An article or article of manufacture can refer to any manufactured single component or multiple components.
In the foregoing description, numerous details are set forth to provide an understanding of the subject disclosed herein. However, implementations may be practiced without some or all of these details. Other implementations may include modifications and variations from the details discussed above. It is intended that the appended claims cover such modifications and variations.
| Filing Document | Filing Date | Country | Kind | 371c Date |
|---|---|---|---|---|
| PCT/US2010/033524 | 5/4/2010 | WO | 00 | 10/24/2011 |
| Publishing Document | Publishing Date | Country | Kind |
|---|---|---|---|
| WO2010/129533 | 11/11/2010 | WO | A |
| Number | Name | Date | Kind |
|---|---|---|---|
| 5721733 | Wang et al. | Feb 1998 | A |
| 6005853 | Wang et al. | Dec 1999 | A |
| 7127654 | Jalali et al. | Oct 2006 | B2 |
| 7411903 | Jang et al. | Aug 2008 | B2 |
| 7839813 | Kim et al. | Nov 2010 | B2 |
| 8098664 | Umesh et al. | Jan 2012 | B2 |
| 8180917 | Yan et al. | May 2012 | B1 |
| 8184561 | Maheshwari et al. | May 2012 | B2 |
| 8208489 | Hong et al. | Jun 2012 | B2 |
| 20020191544 | Cheng et al. | Dec 2002 | A1 |
| 20030210669 | Vayanos et al. | Nov 2003 | A1 |
| 20060013257 | Vayanos | Jan 2006 | A1 |
| 20060062223 | Manuel et al. | Mar 2006 | A1 |
| 20060092973 | Petrovic et al. | May 2006 | A1 |
| 20080107053 | Kim et al. | May 2008 | A1 |
| 20080209297 | Chandra et al. | Aug 2008 | A1 |
| Number | Date | Country |
|---|---|---|
| 1385021 | Dec 2002 | CN |
| 1429441 | Jul 2003 | CN |
| 1326388 | Sep 2003 | EP |
| 1617584 | Jan 2006 | EP |
| 2005295558 | Oct 2005 | JP |
| 2009084919 | Apr 2009 | JP |
| 10-2004-0067657 | Jul 2004 | KR |
| 2210868 | Aug 2003 | RU |
| 2251219 | Apr 2005 | RU |
| 2005048503 | May 2005 | WO |
| 2007050231 | May 2007 | WO |
| 2007079085 | Jul 2007 | WO |
| 2008074771 | Jun 2008 | WO |
| Entry |
|---|
| International Search Report in related Application No. PCT/US2010/033524, Dec. 17, 2010, pp. 1-2. |
| Office Action from Chinese Application No. 2010800287961, mailed Feb. 8, 2014, English and Chinese versions, pp. 1-118. |
| Decision on Grant of a Patent for Invention for Application No. 2011144162, dated Jan. 4, 2014, Apple Inc., pp. 1-17. |
| Office Action from Japanese Patent Application No. 2012-509896, mailed Apr. 10, 2014, English and Japanese versions, pp. 1-17. |
| Number | Date | Country | |
|---|---|---|---|
| 20120047407 A1 | Feb 2012 | US |
| Number | Date | Country | |
|---|---|---|---|
| 61175092 | May 2009 | US |