Dynamic adjustment of reordering release timer

Aspects describe dynamically adjusting a reordering release timer to mitigate latency in a MAC-hs queue. Information already available at a mobile device is utilized for current packets and for missing packets to dynamically adjust the value of the T1 timer in an effort to mitigate latency. Further, the network might provide information regarding HARQ attempts, which mobile device can utilize for computing the dynamic value of the T1 timer. The network might signal the amount of time the mobile device should subtract from timer T1 for every HARQ transmission. Further, the T1 timer might only be dynamically adjusted for a subset of radio bearers.

BACKGROUND

The following description relates generally to wireless communications and more particularly to dynamically adjusting a reordering release timer.

Wireless communication systems are widely deployed to provide various types of communication and to communicate information regardless of where a user is located (e.g., inside or outside a structure) and whether a user is stationary or moving (e.g., in a vehicle, walking). For example, voice, data, video, and so forth can be provided through wireless communication systems. A typical wireless communication system, or network, can provide multiple users access to one or more shared resources. A system can use a variety of multiple access techniques such as Frequency Division Multiplexing (FDM), Time Division Multiplexing (TDM), Code Division Multiplexing (CDM), Orthogonal Frequency Division Multiplexing (OFDM), Third Generation Partnership Project (3GPP) Long Term Evolution (LTE), and others.

Generally, wireless multiple-access communication systems can simultaneously support communication for multiple mobile devices. Each mobile device can communicate with one or more base stations through transmissions on forward and reverse links. The forward link (or downlink) refers to the communication link from base stations to mobile devices, and the reverse link (or uplink) refers to the communication link from mobile devices to base stations. Further, communications between mobile devices and base stations can be established through single-input single-output (SISO) systems, multiple-input single-output (MISO) systems, multiple-input multiple-output (MIMO) systems, and so forth. In addition, mobile devices can communicate with other mobile devices (and/or base stations with other base stations) in peer-to-peer wireless network configurations.

Packets, identified by a sequence number, can be sent from a network to a mobile device. If a packet is dropped (e.g., not received by mobile device), the drop is recognized by mobile device because there is a hole (or missing portion) in the sequence. However, this dropped packet is not detected until a next packet is received and decoded, which is when a reordering release timer is started. After expiration of the reordering release timer, if the lost packet is not successfully received and decoded, the next packet or packets that was/were received and decoded (which triggered the timer) is sent to the upper layers. Waiting for expiration of the reordering release timer in this manner can create delays, which can negatively influence a user experience.

SUMMARY

In accordance with one or more aspects and corresponding disclosure thereof, various aspects are described in connection with dynamic adjustment of a high-speed medium access control reordering release timer. In an aspect, a reordering release timer interval can be shortened as a function of a number of hybrid automatic repeat request transmissions.

An aspect relates to a method that includes determining a first packet was not received, wherein the determining comprises receiving and decoding a second packet (or subsequent packets). Method also includes ascertaining a transmission attempt number for second packet and calculating a timer value as a function of a minimum Inter Transmission Time Interval signaled through a Radio Resource Configuration message, a parameter (which can be signaled through a Radio Resource Configuration message), and the transmission attempt number. Further, method includes passing second packet (or subsequent packets) to upper layers based on the timer value. In accordance with some aspects, method includes reading the parameter signaled though the Radio Resource Configuration message before calculating the timer value, wherein the parameter signaled is a static timer value.

Another aspect relates to a wireless communications apparatus comprising a memory and a processor. Memory retains instructions related to deciding a first packet has been lost in a network and determining a Hybrid Automatic Repeat Request transmission number for a second packet. Memory retains further instructions related to adjusting a reordering release timer value as a function of the Hybrid Automatic Repeat Request transmission number and releasing second packet to upper layers based on the reordering release timer value. Processor is coupled to memory and is configured to execute instructions retained in memory.

Still another aspect relates to a wireless communications apparatus that includes means for ascertaining a first packet has not been successfully received and means for adjusting a reordering release timer value as a function of a transmission attempt number a second packet (or subsequent packets) decoded. Wireless communications apparatus also includes means for calculating a new timer value based on at least the transmission attempt number and means for selectively conveying second packet (or subsequent packets) to the upper layer based on the new timer value.

In accordance with some aspects, means for ascertaining can include means for determining the second packet was received out of order based on an ordering sequence. Additionally or alternatively, means for calculating can include means for evaluating a parameter signaled by a network to calculate the new timer value, wherein the parameter is signaled through a Radio Resource Configuration message. According to some aspects, means for selectively conveying can include means for waiting for expiration of the new timer value to convey the second packet (or subsequent packets) if the new timer value is greater than zero or means for sending the second packet (or subsequent packets) immediately or substantially immediately if the new timer value is less than or equal to zero.

Yet another aspect relates to a computer program product comprising a computer-readable medium. Included in computer-readable medium is a first set of codes for causing a computer to determine that a first packet was not received. First set of codes can include causing the computer to receive and decode a second packet. Computer-readable medium also includes a second set of codes for causing computer to ascertain a transmission attempt number for subsequent packets (e.g., second and future (e.g., third, fourth, and so on) packets). Also included is a third set of codes for causing computer to calculate a reordering release timer value as a function of a minimum Inter Transmission Time Interval, a parameter signaled through a Radio Resource Configuration message, and the transmission attempt number. Further, computer-readable medium includes a fourth set of codes for causing computer to release second packet to upper layers based on reordering release timer value.

Another aspect relates to at least one processor that includes a first module that ascertains a first packet has not been successfully received and a second module that adjusts a reordering release timer value as a function of a transmission attempt number of a second or future packet decoded. The at least one processor also includes a third module that calculates a new timer value based on at least the transmission attempt number and a fourth module that conveys the second and future packets based on the new timer value.

To the accomplishment of the foregoing and related ends, one or more aspects comprise features hereinafter fully described and particularly pointed out in the claims. The following description and annexed drawings set forth in detail certain illustrative features of one or more aspects. These features are indicative, however, of but a few of various ways in which principles of various aspects may be employed. Other advantages and novel features will become apparent from the following detailed description when considered in conjunction with the drawings and the disclosed aspects are intended to include all such aspects and their equivalents.

DETAILED DESCRIPTION

Disclosed herein are aspects related to dynamically adjusting a reordering release timer in an attempt to mitigate unnecessary latency in a high-speed medium access control (MAC-hs) queue. This latency can critically affect delay sensitive real time applications. In some cases, such as Voice over Internet Protocol (VoIP) or Circuit Switched (CS) voice over High-Speed Packet Access (HSPA), a de-jitter buffer might be operational. A de-jitter buffer can be utilized to offset jitter that might be introduced by queuing in packet switched networks. This offset is provided so that a more continuous stream of information transmitted over the network can be experienced. If a de-jitter buffer is operational, the additional delay introduced by the MAC-hs queue through a reordering release timer can not only affect the delay of packets that were delayed but can affect the delay of all packets since the de-jitter buffer parameters are normally configured for the maximum delayed packets. Using a dynamic “smart” reordering release timer can reduce an overall operational delay of the de-jitter buffer for real time applications.

Further, the disclosed aspects can provide benefits for non real time applications. A large value of a reordering release timer can limit the ability to operate a system with lower Radio Link Control (RLC) Timer Status Prohibit (TSP), which affects throughput and capacity. Timer Status Prohibit controls the flow of status reports from a receiver (e.g., mobile device) to a transmitter (e.g., base station). If Timer Status Prohibit is active, receiver cannot transmit status reports until the timer has expired. Mitigating the length of time associated with the reordering release timer, according to the disclosed aspects, enables systems to operate at lower RLC TSP settings, as well as providing other benefits.

With reference toFIG. 1, illustrated is a system100that utilizes a MAC-hs reordering release timer. System100can be utilized in a wireless communication network102that includes a transmitter104and a receiver106. Although a number of transmitter(s)104and receiver(s)106can be included in system100, as will be appreciated, a single transmitter104that transmits communication data signals to a single receiver106is illustrated for purposes of simplicity.

Receiver106includes a timer108(e.g., MAC-hs reordering release timer T1). In 3GPP High Speed Downlink Packet Access (HSDPA), for example, timer108is utilized to release decoded Protocol Data Units (PDUs)110(e.g., MAC-hs PDUs) retained in a queue112(e.g., MAC-hs queue) from MAC-hs114to upper layers116(e.g., Radio Link Control (RLC)) after expiration of timer108. These decoded PDUs110are released even though there might be outstanding undecoded PDUs118in queue112that are not released to upper layers116.

Timer108starts at about the same time as a sequence number hole is detected in queue112(e.g., after successfully decoding a first subsequent packet after a missing packet). A primary use of timer108is to stall avoidance in queue112. A timer value120, in units of seconds or milliseconds, is signaled from transmitter104to receiver106. Transmitter104signals timer value120per MAC-hs reordering queue112utilizing a Radio Resource Configuration (RRC) message (e.g., Radio Bearer Setup, and so on). The signaled timer value120is static per MAC-hs reordering queue112. Under some scenarios, the amount of time the MAC-hs waits before passing the packet (e.g., decoded PDU110) to upper layers116(e.g., RLC layer) affects the latency requirements. This is a factor in all applications, however, this latency can have a substantial impact for a real time delay sensitive application, such as Voice over Internet Protocol (VoIP). The disclosed aspects allow for a dynamic timer, instead of the static timer described with reference toFIG. 1. A dynamic timer can reduce overall latency experienced by applications.

FIG. 2illustrates a time line200representing operation of a MAC-hs reordering release timer without utilization of the disclosed aspects. As discussed with reference to the above figure, a timer value120is signaled to receiver106from transmitter104. Transmitter104sends packets to receiver106only in a certain order (or sequence) for a first transmission identified by sequence numbers. If a packet is dropped (e.g., is not successfully decoded by receiver106), the next packets with higher sequence numbers might be received. Receiver106identifies that a packet was dropped when the one or more subsequent packets are successfully decoded (out of sequence). When receiver106identifies there is a dropped packet, receiver106starts timer108. The length of timer108is such that it allows time for the dropped packet to be received through Hybrid Automatic Repeat Request (HARQ) retransmissions. If timer108expires, and the dropped packet has not been decoded, the subsequent packets that were successfully decoded are passed to upper layers116. Thus decoded PDUs110(e.g., decoded packets) are only passed to upper layers116(e.g., RLC) if either (1) timer108expires or (2) the missing sequence number (packet) is decoded through Hybrid Automatic Repeat Request (HARQ).

Timer108is oblivious to how many HARQs the current packet (e.g., the decoded packet that led to detection of a hole (e.g., missing packet(s) in the sequence)) has gone through. In this circumstance, timer108(which is static) unnecessarily increases the delay experienced by decoded packets and affects application performance. This scenario is further explained with reference toFIG. 2, which describes a scenario for VoIP where voice frames are generated every 20 ms (however, it should be understood that the disclosed aspects can be utilized with other time sensitive or non-time sensitive applications).

Assuming NobeB (e.g., transmitter104ofFIG. 1) can retransmit immediately or substantially immediately and a mobile device (e.g., receiver106ofFIG. 1) category allows interTTI (Transmission Time Interval) of one, retransmissions are spaced twelve ms apart (e.g., “T+14”, “T+26”, “T+38”, and “T+50”). As illustrated in time line200, first packet202(PKT#1) is transmitted at time T in milliseconds (Tms204) and second packet206(PKT#2) is transmitted at time T+20 ms208.

A maximum number of HARQ transmissions has been configured to five and the T1 timer210has been configured to 50 ms. As illustrated by time “T+50”212, all HARQs for first packet202have been exhausted (as illustrated at “T+14”, “T+26”, “T+38”, and “T+50”). Thus, first packet202was a decode failure. Second packet206, does not decode for a number of HARQ transmissions (decoding failures illustrated at “T+22”, “T+34”, “T+46”, and “T+58”). However, second packet206successfully decodes at the last transmission (at “T+70”214), which is the last HARQ transmission for second packet206.

The T1 timer210for first packet202, in this case, is only started at “T+70”214(when second packet206decoded and it was realized that there is a missing packet) and T1 timer210expires at “T+120”216. Thus, second packet206is unnecessarily delayed by 50 ms (e.g., the duration of T1 timer). However, according to the disclosed aspects, which will be described in detail below, second packet206could have been passed to RLC as soon as second packet206was decoded (at “T+70”212). Second packet206could have been passed earlier since all HARQs for first packet202had been exhausted (at “T+50”) and there is no chance that first packet202will be received (if received after expiration of timer, first packet202will be automatically dropped).

Thus, having a static timer as described with reference to the above figures can cause increased delay since the timer has to expire before the successfully decoded packet can be passed to the upper layers. In this example, there is an unnecessary delay of 50 ms. The disclosed aspects can dynamically adjust (e.g., reduce) the timer value as a function of HARQ transmissions, according to an aspect. In accordance with some aspects, timer is adjusted utilizing information already available to a receiver. In accordance with other aspects, timer is adjusted utilizing information that can be signaled to receiver (from transmitter) and/or estimated by receiver.

FIG. 3illustrates a system300that utilizes a dynamic MAC-hs reordering release Timer T1, according to an aspect. System300can be utilized in a wireless communication network302that includes a network entity304(e.g., base station) and a wireless communications apparatus306(e.g., mobile device). Although a number of network entity(s)304and wireless communications apparatus(s)306can be included in wireless communication network302, as will be appreciated, a single network entity304that transmits communication data signals to a single wireless communications apparatus306is illustrated for purposes of simplicity.

System300can utilize information already available to wireless communications apparatus306(such as High Speed Shared Control Channel (HS-SCCH) decode data for current packets and for missing packets) to dynamically adjust a value of timer308(timer value310). This dynamic adjustment of timer value310can help reduce latency in wireless communication network302. In accordance with some aspects, network entity304might provide information regarding HARQ attempts, such as by signaling a maximum number of transmissions per MAC-hs queue, which is information wireless communications apparatus306can utilize to dynamically adjust timer value310. According to some aspects, wireless communications apparatus306can estimate the maximum number of transmissions based on historical information.

In accordance with some aspects, network entity304might signal an amount of time wireless communications apparatus306should subtract from timer value310(e.g., from static reordering release timer) for every HARQ transmission, which is a parameter that can be utilized by wireless communications apparatus306to dynamically adjust timer value310.

Wireless communications apparatus306holds PDUs312in a queue314if a sequence number hole is detected. The sequence number hole indicates a packet was received out of order (e.g., a first packet316(e.g., missing packet), sent before a second packet318(e.g., received packet or decoded packet) was sent, has not been successfully received). It should be noted that a plurality of packets can be transmitted from network entity304to wireless communications apparatus306and a subset of those packets might be successfully received and another subset of those packets might not be successfully received. However, for purposes of explanation, the disclosed aspects are described with reference to a first packet316and a second packet318.

MAC-hs320cannot transmit packets to the upper layers322out of order (e.g., MAC-hs cannot transmit MAC-hs Transmit Sequence Number (TSN) of 2 before TSN of 1). The transmit time between contiguous TSN's can be as little as one TTI even though packet arrival rate may be lower (e.g., 20 ms for VoIP). Therefore, designing for inter arrival rate of one TTI (2 ms) handles the worst-case scenario.

Wireless communications apparatus306includes a detection component324that is configured to determine there is a hole in MAC-hs queue314based on decoding of a packet sent later in the sequence before decoding of a packet sent earlier in the sequence. For example, detection component324determines a first packet316was not received based on receipt and decoding of a second packet318when first packet316was not received and decoded.

An assessment component326is configured to ascertain a transmission attempt number328for second packet318(e.g., the successfully decoded packet). Transmission attempt number328can be the number of HARQs that were used (for second packet318) before second packet318was successfully decoded.

Also included in wireless communications apparatus306is a computation component330that is configured to calculate a new timer value332. The new timer value332can be calculated as a function of a minimum Inter Transmission Time Interval (InterTTI334), a parameter336signaled through an RRC message338(from network entity304), and transmission attempt number328. InterTTI334is the minimum spacing between scheduling instance and can be based on a category of wireless communications apparatus306. Thus, if wireless communications apparatus306is of high performance, it might be able to reschedule every TTI (e.g., every 2 ms). However, if wireless communications apparatus306is of lower performance, it might only be able to reschedule every 4 ms (or longer).

In accordance with some aspects, parameter336is a T1 timer value (T1_signalled). According to some aspects, parameter336is a maximum number of transmissions parameter value (max_trans_signalled). In accordance with some aspects, max_trans_signalled is not conveyed to wireless communications apparatus306by network entity304. In this case, wireless communications apparatus306estimates max_trans_signalled based on historical data. For example, wireless communications apparatus306can use historical HARQ transmission information to find the maximum number of HARQ attempts that should be utilized to adjust timer value. This maximum HARQ transmission information estimated then can be utilized to adjust timer value.

Timer value310is adjusted differently depending on the type of parameter336signaled in RRC message338. There are at least two equations that can be utilized by computation component330as a function of parameter336, which will now be explained.

If parameter336is a timer value310(which might already be known to wireless communications apparatus306), computation component330calculates new timer value332by taking the timer value310(T1 signalled) and subtracting the transmit attempt number328(Num_Tx) less one (Num_Tx—1). This value is multiplied by ten plus the minimum Inter TTI (InterTTI) multiplied by two (10+InterTTI*2). See Equation 1 below.

As a function of the modified or new timer value332, evaluation component340selectively passes second packet318(or its PDU312) to the upper layers322. For example, if the new timer value332is greater than zero, evaluation component340waits until expiration of that new timer value332before releasing second packet318to the upper layers322to allow time for additional HARQ transmission and potential receipt of the missing packet(s). However, if the new timer value332is less than or equal to zero, evaluation component340zeros all negatives and immediately, or substantially immediately, releases second packet318to the upper layers322. In such a manner, second packet318can be released to the upper layers322quicker than second packet318might have been released utilizing a static timer (as discussed with reference toFIG. 1andFIG. 2).

In accordance with some aspects, a new timer value332might only be calculated for a subset of radio bearers, wherein network has selectability when deciding how a timer should be adjusted for each application. For example, network entity304may signal only for CS over HSPA radio bearers. Alternatively, in accordance with some aspects, different timer values can be assigned to different subsets of radio bearers.

System300can include memory342operatively coupled to wireless communications apparatus306. Memory342can be external to wireless communications apparatus306or can reside within wireless communications apparatus306. Memory342retains instructions related to deciding first packet316has been lost in a network and determining a Hybrid Automatic Repeat Request transmission number for second packet318. The instructions related to deciding first packet316has been lost in the network can include further instructions related to receiving and decoding second packet318out of sequence (e.g., second packet318was received before first packet316although first packet316was earlier in the sequence). In accordance with some aspects, the instructions related to determining the Hybrid Automatic Repeat Request transmission number for second packet318can include further instructions related to decoding a High Speed Shared Control Channel of second packet318.

Memory342retains further instructions related to adjusting a reordering release timer value as a function of the Hybrid Automatic Repeat Request transmission number. According to some aspects, instructions related to adjusting the reordering release timer value as the function of a Hybrid Automatic Repeat Request transmission number further adjusts the reordering release timer value based on a minimum Inter Transmission Time Interval and a parameter signaled through a Radio Resource Configuration message. In accordance with some aspects, instructions related to adjusting the reordering release timer value as the function of the Hybrid Automatic Repeat Request transmission number adjusts the reordering release timer value for identified radio bearers.

Further, memory342retains instructions related to releasing the second and future packets to upper layers based on the reordering release timer value. In accordance with some aspects, instructions related to releasing the second and future packets to upper layers based on the reordering release timer value further releases the second and future packets immediately (or substantially immediately) if the reordering release timer value is less than or equal to zero. According to some aspects, instructions related to releasing the second and future packets to upper layers based on the reordering release timer value further releases the second packet after expiration of the timer, if the reordering release timer value is greater than zero.

At least one processor344can be operatively connected to wireless communications apparatus306(and/or memory342) to facilitate analysis of information related to data sample rearrangement in a communication network. Processor344can be a processor dedicated to analyzing and/or generating information received by wireless communications apparatus306, a processor that controls one or more components of system300, and/or a processor that both analyzes and generates information received by wireless communications apparatus306and controls one or more components of system300.

In accordance with some aspects, processor344is configured to dynamically adjust a reordering release timer. Processor344can include a first module that ascertains a first packet has not been successfully received and a second module that adjusts a reordering release timer value as a function of a transmission attempt number a second packet decoded. Processor344can also include a third module that calculates a new timer value based on at least the transmission attempt number and a fourth module that conveys the second packet based on the new timer value. In accordance with some aspects, first module further determines the second packet was received out of order based on an ordering sequence.

In view of exemplary systems shown and described above, methodologies that may be implemented in accordance with the disclosed subject matter, will be better appreciated with reference to various flow charts. While, for purposes of simplicity of explanation, methodologies are shown and described as a series of blocks, it is to be understood and appreciated that the claimed subject matter is not limited by the number or order of blocks, as some blocks may occur in different orders and/or at substantially the same time with other blocks from what is depicted and described herein. Moreover, not all illustrated blocks may be required to implement methodologies described herein. It is to be appreciated that functionality associated with blocks may be implemented by software, hardware, a combination thereof or any other suitable means (e.g. device, system, process, component). Additionally, it should be further appreciated that methodologies disclosed throughout this specification are capable of being stored on an article of manufacture to facilitate transporting and transferring such methodologies to various devices. Those skilled in the art will understand and appreciate that a methodology could alternatively be represented as a series of interrelated states or events, such as in a state diagram.

FIG. 4illustrates a method400for calculating a new value for a reordering release timer as a function of a number of HARQ attempts, according to an aspect. Method400starts, at402, by detecting a first packet was not received (e.g., missing packet). This detection can be a function of receiving and decoding a second packet. Method400continues, at404, by ascertaining a transmission attempt number for the second packet. Transmission attempt number can be the current HARQ retransmission number for the second packet, wherein the ascertaining includes utilizing decoded information from a High Speed Shared Control Channel of the second packet.

A timer value is calculated, at406, as a function of a minimum Inter Transmission Time Interval, a parameter (which can be signaled through a RRC message), and the transmission attempt number. In accordance with some aspects, the minimum Inter Transmission Time Interval is determined as a function of at least one device capability. The parameter can be read before calculating the timer value, where the parameter is signaled from a base station. In accordance with some aspects, the parameter is a static timer value. According to some aspects, the parameter is a maximum number of transmissions parameter value. In some aspects, the parameter is a value for each transmission attempt and the value is subtracted from the timer value for each transmission attempt.

At408, the second packet is released to the upper layers as a function of the timer value. Second packet can be released immediately (or substantially immediately) if the new timer value is less than or equal to zero. If the new timer value is greater than zero, second packet is passed to the upper layers after expiration of the new timer value. In accordance with some aspects, the timer value might only be adjusted for a subset of identified radio bearers.

FIG. 5illustrates a method500for dynamically adjusting a reordering release timer T1, according to an aspect. Through dynamic adjustment of the reordering release timer T1, unnecessary latency in a MAC-hs queue can be reduced. The latency can critically affect delay sensitive real time applications, such as VoIP. If a de jitter buffer is operational the additional delay introduced by the MAC-hs queue through the T1 timer can affect the delay of all packets since the de jitter buffer parameters might be configured for the maximum delayed packets. Thus, dynamically adjusting the reordering release timer can reduce an overall operations delay of the de jitter buffer (if used). Further, for non-real time applications, a large value of T1 timer can limit the ability to operate with lower RLC Timer Status Prohibit (TSP), which can affect throughput and capacity. Thus dynamically adjusting the reordering release timer T1 can enable operations at lower RLC TSP settings.

Method500starts, at502, when a hole in a MAC-hs queue is detected. This detection can occur when a packet is received out of sequence. For example, a first packet, identified as Sequence Number One, is transmitted and a second packet, identified as Sequence Number Two, is transmitted. During transmission, Sequence Number One (e.g., first packet) was lost between transmitter and receiver. However, Sequence Number Two (e.g., second packet) was received at, and decoded by, receiver. The receipt of Sequence Number Two (e.g., second packet) is out of sequence because Sequence Number One (e.g., first packet) was not received.

MAC-hs cannot transmit packets out of order (e.g., MAC-hs Transmit Sequence Number (TSN) of 2 before TSN of 1). The transmit time between contiguous TSN's can be as little as one TTI, even though the packet arrival rate may be lower (for example, 20 ms for VoIP). Therefore, designing for inter-arrival rate of one TTI (2 ms) handles the worst-case scenario.

At504, a Minimum Inter TTI interval (min InterTTI) is read. The InterTTI can be a function of at least the category of the mobile device. For example, some mobile devices (e.g., a high performance device) can reschedule every TTI (e.g., every 2 ms). However, other mobile devices cannot reschedule as quickly and might take longer to reschedule (e.g., every 4 ms, every 6 ms, and so on). This information can be known to both network and mobile device.

The T1 timer value is read, at506. The T1 timer value can be signaled through a relevant RRC message (e.g., T1_signalled). At508, the transmission attempt number the current packet decoded (Num_Tx) is found. This can be found using HS-SCCH decode information of the current packet (e.g., HARQ process ID, NDI bit). For example, the number of HS-PDSCH decode failures for a particular HARQ process ID can be used to find Num_Tx.

A new timer value T1 is calculated, at510. This value can be calculated by taking the T1 timer value read, at506and subtracting the value of the transmission attempt number, found at508, less one. This is multiplied by the value 10 plus the InterTTI multiplied by two. In accordance with some aspects, instead of using the sum of(10+InterTTI×2), a different value can be utilized, such as 12 ms, for example The equation for this is as follows:
T1=T1_signalled−(Num—Tx−1)×(10+InterTTI×2)  Equation 1.

Method500continues, at512, with a determination whether the result calculated, at510, is less than or equal to zero. If the result is equal to zero or less than zero (“YES”), at514, the packet is passed immediately to the upper layers. If the result is more than zero (“NO”), at516, the packet is passed after expiration of the new timer value calculated, at510, to allow time for further HARQ transmissions of the missing packet(s).

FIG. 6illustrates a method600for dynamically adjusting a reordering release timer T1 as a function of parameter values signaled though an RRC message, according to an aspect. A network could signal a maximum number of transmission parameter through an RRC message per MAC-hs queue indicating the maximum HARQ attempts for a MAC-hs PDU. In accordance with some aspects, this can be designed for an inter arrival rate of one TTI (2 ms) for handling the worst-case situation.

Method600starts, at602, when a hole in MAC-hs queue is detected. This can be detected based on receiving packets out of order (e.g., a second packet in a sequence is received but a first packet (or earlier packet in the sequence) is not received). At604, a minimum InterTTI interval (min InterTTI) is read. The minimum InterTTI interval can be a function of the category of the mobile device.

At606, a maximum number of transmissions parameter value (max_trans_signalled) signaled through a relevant RRC message is read. The transmission attempt number (Num_Tx) the current packet decoded is read, at608. This can be found using HS-SCCH decode information of the current packet (e.g., HARQ process ID, NDI bit). For example, the number of HS-PDSCH decode failures for a particular HARQ process ID can be used to find Num_Tx.

A new timer Value T1 is calculated, at610. Value T1 can be calculated by taking the maximum number of transmissions signaled and read, at606, and subtracting the transmission attempt number found, at608. This value is multiplied by the value of ten plus the InterTTI read, at604, multiplied by 2. The sum is subtracted by two. In accordance with some aspects, instead of using the sum of(10+InterTTI×2), a different value can be utilized, such as 12 ms, for example. The equation for this is as follows:
T1=(max_trans_signalled−Num—Tx)×(10+InterTTI×2)−2  Equation 2.

In accordance with some aspects, the network can also signal the above parameters to adjust T1 only for certain Radio Bearers (e.g., network may signal only for CS over HSPA radio bearers). Additionally or alternatively, the disclosed methods can apply a dynamic adjustment to the T1 timer only for certain radio bearers.

According to some aspects, the max_trans_signalled value can be estimated by a mobile device based on past HARQ attempts, if the max_trans_signalled value is not explicitly signaled. For example, the mobile device can use a history of previous HARQ transmissions and estimate the maximum number of HARQ attempts. Based on this history, the mobile device can use this estimate to be the max_trans_signalled parameter if such a parameter is not already explicitly signaled by the network. In this aspect, method600includes estimating a value for each transmission attempt based on historical transmission attempts and subtracting the estimated value for each transmission attempt from a static reordering release timer.

In accordance with some aspects, a computer program product can include a computer-readable medium that comprises codes for carrying out various aspects of various methods. Computer-readable medium can include a first set of codes for causing a computer to determine that a first packet was not received. The first set of codes can include causing the computer to receive and decode a second packet. Also included is a second set of codes for causing the computer to ascertain a transmission attempt number for second packet. Computer-readable medium also includes a third set of codes for causing the computer to calculate a reordering release timer value as a function of a minimum Inter Transmission Time Interval, a parameter signaled through a Radio Resource Configuration message, and the transmission attempt number. Further, computer-readable medium includes a fourth set of codes for causing the computer to release second packet to upper layers based on the reordering release timer value. In accordance with some aspects, fourth set of codes releases second packet immediately, or substantially immediately, if the reordering release timer value is less than or equal to zero.

With reference now toFIG. 7, illustrated is a system700that facilitates a reordering release timer adjustment in accordance with one or more of the disclosed aspects. System700can reside in a user device. System700comprises a receiver component702that can receive a signal from, for example, a receiver antenna. Receiver component702can perform typical actions thereon, such as filtering, amplifying, downconverting, etc. the received signal. Receiver component702can also digitize the conditioned signal to obtain samples. A demodulator704can obtain received symbols for each symbol period, as well as provide received symbols to a processor706.

Processor706can be a processor dedicated to analyzing information received by receiver component702and/or generating information for transmission by a transmitter708. In addition or alternatively, processor706can control one or more components of system700, analyze information received by receiver component702, generate information for transmission by transmitter708, and/or control one or more components of system700. Processor706may include a controller component capable of coordinating communications with additional user devices.

System700can additionally comprise memory710operatively coupled to processor706. Memory710can store information related to coordinating communications and any other suitable information. Memory710can additionally store protocols associated with dynamically adjusting a timer. System700can further comprise a symbol modulator712, wherein transmitter708transmits the modulated signal.

Receiver component702is further operatively coupled to a timer adjustment component714that is configured to dynamically adjust a reordering release timer as a function of a number of HARQ attempts. The reordering release timer can also be adjusted as a function of a signaled timer value and an InterTTI. Further, the reordering release timer can be adjusted as a function of a maximum number of transmissions parameter value and an InterTTI. In accordance with some aspects, reordering release timer is adjusted for a subset of radio bearers. According to some aspects, the parameter signaled is a value that should be subtracted from a timer value for every HARQ attempt.

FIG. 8is an illustration of a system800that conveys information that can be used to adjust a reordering release timer in accordance with various aspects presented herein. System800comprises a base station or access point802. As illustrated, base station802receives signal(s) from one or more communication devices804(e.g., user device) by a receive antenna806, and transmits to the one or more communication devices804through a transmit antenna808.

Base station802comprises a receiver810that receives information from receive antenna806and is operatively associated with a demodulator812that demodulates received information. Demodulated symbols are analyzed by a processor814that is coupled to a memory816that stores information related to a signaling information to facilitate adjustment to a reordering release timer. A modulator818can multiplex the signal for transmission by a transmitter820through transmit antenna808to communication devices804.

Processor814is further coupled to a parameter signaler822that is configured to signal various parameters over the air to allow a mobile device to dynamically adjust a reordering release timer. The parameters signaled can include a T1 timer value and a maximum number of transmissions parameter value. In accordance with some aspects, the parameter signaled relates to at least a subset of radio bearers.

With reference toFIG. 9, illustrated is an example system900that dynamically adjusts a reordering release timer as a function of various parameters, including a number of HARQ attempts, according to an aspect. System900may reside at least partially within a mobile device. It is to be appreciated that system900is represented as including functional blocks, which may be functional blocks that represent functions implemented by a processor, software, or combination thereof (e.g., firmware).

System900includes a logical grouping902of electrical components that can act separately or in conjunction. Logical grouping902includes an electrical component904for ascertaining a first packet has not been successfully received. In accordance with some aspects, electrical component904includes an electrical component for determining the second packet was received out of order based on an ordering sequence.

Also included in logical grouping902is an electrical component906for adjusting a reordering release timer value as a function of a transmission attempt number needed to decode a second packet. In accordance with some aspects, electrical component906uses a High Speed Shared Control Channel decode information of the second packet to determine the transmission attempt number for the second packet decoded. According to some aspects, electrical component906includes an electrical component for determining the transmission attempt number for the decoded second packet based on a High Speed Shared Control Channel decode information of the second packet.

Further, logical grouping902includes an electrical component908for calculating a new timer value based on at least the transmission attempt number. In accordance with some aspects, electrical component908includes an electrical component for evaluating a parameter signaled by a network to calculate the new timer value, wherein the parameter is signaled through a Radio Resource Configuration message.

Logical grouping902also includes an electrical component910for selectively conveying the second packet based on the new timer value. In accordance with some aspects, electrical component910includes an electrical component that waits for expiration of the new timer value to convey second packet if new timer value is greater than zero. According to some aspects, electrical component910includes an electrical component for sending second packet immediately (or substantially immediately) if new timer value is less than or equal to zero.

Additionally, system900can include a memory912that retains instructions for executing functions associated with electrical components904,906,908, and910or other components. While shown as being external to memory912, it is to be understood that one or more of electrical components904,906,908, and910may exist within memory912.

Referring now toFIG. 10, a multiple access wireless communication system1000according to one or more aspects is illustrated. A wireless communication system1000can include one or more base stations in contact with one or more user devices. Each base station provides coverage for a plurality of sectors. A three-sector base station1002is illustrated that includes multiple antenna groups, one including antennas1004and1006, another including antennas1008and1010, and a third including antennas1012and1014. According to the figure, only two antennas are shown for each antenna group, however, more or fewer antennas may be utilized for each antenna group. Mobile device1016is in communication with antennas1012and1014, where antennas1012and1014transmit information to mobile device1016over forward link1018and receive information from mobile device1016over reverse link1020. Forward link (or downlink) refers to communication link from base stations to mobile devices, and reverse link (or uplink) refers to communication link from mobile devices to base stations. Mobile device1022is in communication with antennas1004and1006, where antennas1004and1006transmit information to mobile device1022over forward link1024and receive information from mobile device1022over reverse link1026. In a FDD system, for example, communication links1018,1020,1024, and1026might utilize different frequencies for communication. For example, forward link1018might use a different frequency than the frequency utilized by reverse link1020.

Each group of antennas and/or the area in which they are designated to communicate may be referred to as a sector of base station1002. In one or more aspects, antenna groups each are designed to communicate to mobile devices in a sector or the areas covered by base station1002. A base station may be a fixed station used for communicating with mobile devices.

In communication over forward links1018and1024, transmitting antennas of base station1002can utilize beamforming in order to improve a signal-to-noise ratio of forward links for different mobile devices1016and1022. Also, a base station utilizing beamforming to transmit to mobile devices scattered randomly through its coverage area might cause less interference to mobile devices in neighboring cells than the interference that can be caused by a base station transmitting through a single antenna to all mobile devices in its coverage area.

FIG. 11illustrates an example wireless communication system1100, according to an aspect. The wireless communication system1100depicts one base station1102and one mobile device1104for sake of brevity. However, it is to be appreciated that system1100can include more than one base station and/or more than one mobile device, wherein additional base stations and/or mobile devices can be substantially similar or different from example base station1102and mobile device1104described below. In addition, it is to be appreciated that base station1102and/or mobile device1104can employ the systems and/or methods described herein to facilitate wireless communication there between.

At base station1102, traffic data for a number of data streams is provided from a data source1106to a transmit (TX) data processor1108. According to an example, each data stream can be transmitted over a respective antenna. TX data processor1108formats, codes, and interleaves the traffic data stream based on a particular coding scheme selected for that data stream to provide coded data.

The modulation symbols for the data streams can be provided to a TX MIMO processor1112, which can further process the modulation symbols (e.g., for OFDM). TX MIMO processor1112then provides NTmodulation symbol streams to NTtransmitters (TMTR)1114athrough1114t. In various embodiments, TX MIMO processor1112applies beamforming weights to the symbols of the data streams and to the antenna from which the symbol is being transmitted.

Each transmitter1114receives and processes a respective symbol stream to provide one or more analog signals, and further conditions (e.g., amplifies, filters, and upconverts) the analog signals to provide a modulated signal suitable for transmission over the MIMO channel. Further, NTmodulated signals from transmitters1114athrough1114tare transmitted from NTantennas1116athrough1116t, respectively.

At mobile device1104, the transmitted modulated signals are received by NRantennas1118athrough1118rand the received signal from each antenna1118is provided to a respective receiver (RCVR)1120athrough1120r. Each receiver1120conditions (e.g., filters, amplifies, and downconverts) a respective signal, digitizes the conditioned signal to provide samples, and further processes the samples to provide a corresponding “received” symbol stream.

An RX data processor1122can receive and process the NRreceived symbol streams from NRreceivers1120based on a particular receiver processing technique to provide NT“detected” symbol streams. RX data processor1122can demodulate, deinterleave, and decode each detected symbol stream to recover the traffic data for the data stream. The processing by RX data processor1122is complementary to that performed by TX MIMO processor1112and TX data processor1108at base station1102.

A processor1124can periodically determine which precoding matrix to utilize as discussed above. Further, processor1124can formulate a reverse link message comprising a matrix index portion and a rank value portion.

The reverse link message can comprise various types of information regarding the communication link and/or the received data stream. The reverse link message can be processed by a TX data processor1126, which also receives traffic data for a number of data streams from a data source1128, modulated by a modulator1130, conditioned by transmitters1132athrough1132r, and transmitted back to base station1102.

At base station1102, the modulated signals from mobile device1104are received by antennas1116, conditioned by receivers1134athough1134t, demodulated by a demodulator1136, and processed by a RX data processor1138to extract the reverse link message transmitted by mobile device1104. Further, processor1110can process the extracted message to determine which precoding matrix to use for determining the beamforming weights.

Processors1110and1124can direct (e.g., control, coordinate, manage, etc.) operation at base station1102and mobile device1104, respectively. Respective processors1110and1124can be associated with memory1140and1142that store program codes and data. Processors1110and1124can also perform computations to derive frequency and impulse response estimates for the uplink and downlink, respectively.

It is to be understood that aspects described herein may be implemented by hardware, software, firmware, middleware, microcode, or any combination thereof. When t implemented in software, firmware, middleware or microcode, program code or code segments, they can be stored in a machine-readable medium, such as a storage component. A code segment can represent a procedure, a function, a subprogram, a program, a routine, a subroutine, a module, a software package, a class, or any combination of instructions, data structures, or program statements. A code segment can be coupled to another code segment or a hardware circuit by passing and/or receiving information, data, arguments, parameters, or memory contents. Information, arguments, parameters, data, etc. can be passed, forwarded, or transmitted using any suitable means including memory sharing, message passing, token passing, network transmission, etc.

Various illustrative logics, logical blocks, modules, and circuits described in connection with aspects disclosed 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), a digital signal processing device (DSPD), programmable logic device (PLD), or other logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform functions described herein. A general-purpose processor may be a microprocessor, but, in the alternative, processor may be any conventional processor, controller, microcontroller, state machine, other electronic units designed to perform the functions described herein, or a combination thereof. A processor may also be implemented as a combination of computing devices, for example, 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. Additionally, at least one processor may comprise one or more modules operable to perform one or more of the steps and/or actions described herein.

For a software implementation, techniques described herein may be implemented with modules (e.g., procedures, functions, and so on) that perform functions described herein. Software codes may be stored in memory units and executed by processors. Memory unit may be implemented within processor or external to processor, in which case memory unit can be communicatively coupled to processor through various means as is known in the art. Further, at least one processor may include one or more modules operable to perform functions described herein.

Single carrier frequency division multiple access (SC-FDMA), which utilizes single carrier modulation and frequency domain equalization is a technique that can be utilized with the disclosed aspects. SC-FDMA has similar performance and essentially a similar overall complexity as those of OFDMA system. SC-FDMA signal has lower peak-to-average power ratio (PAPR) because of its inherent single carrier structure. SC-FDMA can be utilized in uplink communications where lower PAPR can benefit a mobile terminal in terms of transmit power efficiency.

Further, the steps and/or actions of a method or algorithm described in connection with aspects disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or a combination thereof. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium may be coupled to processor, such that processor can read information from, and write information to, storage medium. In the alternative, storage medium may be integral to processor. Further, in some aspects, processor and storage medium may reside in an ASIC. Additionally, ASIC may reside in a user terminal. In the alternative, processor and storage medium may reside as discrete components in a user terminal. Additionally, in some aspects, the steps and/or actions of a method or algorithm may reside as one or any combination or set of codes and/or instructions on a machine-readable medium and/or computer readable medium, which may be incorporated into a computer program product.

To the extent that the term “includes” is used in either the detailed description or the claims, such term is intended to be inclusive in a manner similar to the term “comprising” as “comprising” is interpreted when employed as a transitional word in a claim. Furthermore, the term “or” as used in either the detailed description or the claims is intended to mean an inclusive “or” rather than an exclusive “or”. That is, unless specified otherwise, or clear from the context, the phrase “X employs A or B” is intended to mean any of the natural inclusive permutations. That is, the phrase “X employs A or B” is satisfied by any of the following instances: X employs A; X employs B; or X employs both A and B. In addition, the articles “a” and “an” as used in this application and the appended claims should generally be construed to mean “one or more” unless specified otherwise or clear from the context to be directed to a singular form.

Furthermore, various aspects are described herein in connection with a mobile device. A mobile device can also be called, and may contain some or all of the functionality of a system, subscriber unit, subscriber station, mobile station, mobile, wireless terminal, node, device, remote station, remote terminal, access terminal, user terminal, terminal, wireless communication device, wireless communication apparatus, user agent, user device, or user equipment (UE), and the like. A mobile device can be a cellular telephone, a cordless telephone, a Session Initiation Protocol (SIP) phone, a smart phone, a wireless local loop (WLL) station, a personal digital assistant (PDA), a laptop, a handheld communication device, a handheld computing device, a satellite radio, a wireless modem card and/or another processing device for communicating over a wireless system. Moreover, various aspects are described herein in connection with a base station. A base station may be utilized for communicating with wireless terminal(s) and can also be called, and may contain some or all of the functionality of, an access point, node, Node B, e-NodeB, e-NB, or some other network entity.

Various aspects or features are presented in terms of systems that may include a number of devices, components, modules, and the like. It is to be understood and appreciated that various systems may include additional devices, components, modules, and so forth, and/or may not include all devices, components, modules, and so on, discussed in connection with the figures. A combination of these approaches may also be used.

Additionally, in the subject description, the word “exemplary” (and variants thereof) is used to mean serving as an example, instance, or illustration. Any aspect or design described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects or designs. Rather, use of the word “exemplary” is intended to present concepts in a concrete manner.