• 沒有找到結果。

A. Multi-Channel SAW HARQ Mechanism

The channel SAW HARQ is adopted in the HSDPA system [1]. The basic idea of the multi-channel SAW HARQ is to “keep the data pipe full”. Figure 1(a) illustrates an example of a dual-multi-channel SAW HARQ consisting of an even transmitter and an odd transmitter [32]. As shown in Fig. 1(b), after sending packet 0, the even transmitter waits for the acknowledgement from the receiver. Meanwhile, the odd transmitter starts sending packet 1. With two transmitters sending data alternatively, the dual-channel SAW HARQ can fully utilize the channel capacity, thereby achieving high throughput.

Process Fig. 1. The structure and timeline for the dual-channel SAW H-ARQ mechanism.

B. Definition of Type-I and Type-II Gaps

In this paper, a gap is defined as an idle space reserved for a lost packet in the reordering buffer of the receiver. We can further classify two types of gaps for the HARQ retransmission scheme. Type-I gap is defined as the lost packet that are possibly recovered in future retransmissions, while Type-II gap is the one that will never be sent again by the MAC retransmission scheme due to a NACK-to-ACK error.

Whenever a Type-II gap appears in the reordering buffer, the process of sending packets to the upper layer is stalled. Note that a regular HARQ process usually cannot distinguish a Type-II gap from a Type-I gap. Thus, it is necessary to design a stall avoidance scheme to detect the occurrence of a Type-II gap to expedite data forwarding to the RLC layer. After a Type-II gap is detected, the available packets in the reordering buffer as well as this Type-II gap must be flushed out to the RLC layer. Next an RLC retransmission request is initiated for the missing Type-II gap [22], [29], [30].

III. THE STALLAVOIDANCESCHEMES

Because a NACK control signal may be corrupted during transmissions in a wireless channel, many stall avoidance schemes are proposed to prevent a receiver from waiting for a missing packet due to a

Fig. 2. An example of the timer-based stall avoidance scheme.

NACK-to-ACK error. In this section, we discuss three current stall avoidance schemes, the timer-based [27], the window-based [28], and the indicator-based schemes [29], [30].

A. Timer-Based Scheme

The basic principles of the timer-based method in [27] are described as follows:

1) A timer is triggered when either a Type-I gap or a Type-II gap appears in the reordering buffer of the receiver.

2) As the timer expires, the receiver stops waiting for the lost packet and judge that the lost packet belongs to a Type-II gap.

3) The timer is reset if the missing packet is successfully retransmitted before the timer expires.

Figure 2 illustrates the operation principles of the timer-based stall avoidance scheme. When packet 2 successfully arrives at the receiver, it is aware that packets 0 and 1 are missing and thus a timer is triggered. Note that only one timer is triggered for the consecutive gaps. Assume that packets 3, 4, 6 and 8 reach the receiver, but packets 5 and 7 are damaged. Based on the timer-bases stall avoidance scheme, a new timer will not be initiated for additional gaps until the previous timer expires. Thus, in this example, only after the timer set for packets 0 and 1 expires, a new timer will be set for the missing packets 5 and 7. After that, the receiver sends packets 2 ∼ 4 to the upper layer and requests for retransmitting packets 0 and 1 in the RLC layer.

B. Window-Based Scheme

In [28], the window-based method was suggested to detect Type-II gaps in the reordering queue on top of the timer-based scheme. To explain the operation of the window-based stall avoidance scheme, we define the detection window. The detection window means a set of packets that are expected to arrive at the receiver. The detection window functions as a sliding window protocol. If a gap occurs, the detection window is initiated and two possible scenarios follows. For a Type-I gap, the detection window will shrink from the trailing edge after the gap is filled. For a Type-II gap, however, the trailing edge of the detection window is halted. Thus, the detection window expands from the leading edge when other subsequent packets arrive. In a long run, a pre-determined maximum threshold of the detection window size will be reached.

A fully-booked detection window means that all available slots/seats in the reordering buffer have been taken. The detection window size is usually designed large enough to guarantee a successful retransmission.

Thus, the gaps halting the trailing edge of a fully booked detection window usually belongs to Type-II gaps. As a consequence, when a new packet arrives and the detection window is fully booked, the window-based stall avoidance scheme forwards Type-II gaps and subsequent received in-sequence packets in the reorder buffer to the upper layer in regardless of timer expiration.

Figure 3 shows an example to illustrate the operation principles of the window-based stall avoidance scheme. Consider a detection window with a size of seven, which currently contains packets 2, 3, 4, and 6 and the gaps for missing packets 0, 1, and 5. Suppose that packets 0, 1, and 5 are Type-II gaps and new packets 7 and 8 arrive at this moment. Since the detection window is already fully-booked and its trailing edge is halted by packets 0 and 1, the window-based stall avoidance scheme can recognize that packets 0 and 1 are Type-II gaps. Accordingly, the receiver forwards packets 2, 3, 4 together with gaps of packet 1 and 2 to the upper layer. Now the detection window size becomes two and its trailing edge slides until the gap for packet 5. With more space available in the reordering buffer, packets 7 and 8 are accommodated and the detection window is reserved for packets 5 to 8.

C. Indicator-based Scheme

In [26], [29], [30], a new stall avoidance scheme is proposed by taking advantage of the new data indicator (NDI). The NDI (just a one-bit tag) is associated with every packet and is transmitted in the high speed downlink control channel [33]. The NDI is toggled for a new transmitted packet, but is not changed for a retransmitted old packet. By checking the NDI in the control channel and the transmission sequence number (TSN) in the traffic channel for each packet, the indicator-based stall avoidance scheme can determine whether the missing packet will be transmitted or not. If all HARQ processes are transmitting

Fig. 3. An example of the window-based stall avoidance scheme with the detection window size equal to seven.

new packets or other old packets except for the expected missing packet, then this gap in the reordering buffer can be judged to be a Type-II gap.

Table I illustrates the status of a 4-process SAW HARQ mechanism for a particular user in two cycles.

The cycle duration is defined as the sum of the transmission time interval (TTIs) with all different parallel processes transmitting one packet, e.g. the cycle duration is 4 TTIs in this case. The field in the table is filled with a triplet variable (TSN, Sc, NDI). Here SC ∈ {ACK, NACK, and N→A} denotes one of the three events: “receiving an ACK”, “receiving a N ACK”, and having a NACK-to-ACK error, respectively. The status N EW or OLD in the field N DI is equivalent to that the NDI is changed for a new packet or is unchanged for a retransmitted old packet, respectively. An empty field implies that this time slot is idle or assigned to other users. Assume that the target user requests to transmit five packets with TSN = 0 ∼ 4 from the RLC layer. The functions of the indicator-based stall avoidance scheme associated with Table I are explained as follows:

1) In cycle 1, the four parallel processes transmit packets 0 to 3, respectively. Assume that packet 3 passes the cyclic redundancy check (CRC), but packets 0 ∼ 2 fail. In the feedback channel, suppose that a NACK-to-ACK error occurs in process 1, and processes 2 and 3 successfully receive NACK for packets 1 and 2. The reordering buffer currently contains packet 3 together with the three gaps of packets 0 ∼ 2. At this moment, processes 1, 2, and 3 assumes that the missing packets 0 ∼ 2 will be retransmitted, but are unsure which packet will be received. The stall avoidance scheme starts monitoring the status of processes 1, 2, and 3 to check whether these gaps belong to Type-II gaps.

TABLE I

AN EXAMPLE OF THE STATUS IN A4-PROCESSSAW HARQMECHANISM FOR ATYPE-IIGAP BEING DETECTED BY RECEIVING NEW PACKETS IN THREE PROCESSES AND OLD PACKET IN ONE PROCESS.

Process ID in 4-process SAW HARQ

Process 1 Process 2 Process 3 Process 4

(TSN,Sc,NDI) (TSN,Sc,NDI) (TSN,Sc,NDI) (TSN,Sc,NDI) Cycle 1 (0,N→A,NEW) (1,NACK,NEW) (2,NACK,NEW) (3,ACK,NEW) Cycle 2 (4,ACK,NEW) (1,ACK,OLD) (2,ACK,OLD)

2) In cycle 2, processes 1, 2, and 3 receive a new packet 4, and old packets 1 and 2, respectively. Now the holes of packets 1 and 2 in the reordering buffer are filled. Since the NDI status of processes 1 and 4 are NEW and the TSNs of processes 2 and 3 indicate that packets 1 and 2 are received, the subsequent packets arriving at the receiver will have TSNs higher than 4. Thus, no process is responsible for sending the missing packet 0. Consequently, it can be confirmed that the gap of packet 0 is a Type-II gap. Hence, the available in-sequence packets 1 ∼ 4 are forwarded to the upper layer together with packet 0.

IV. PERFORMANCEMEASURE AND SYSTEMASSUMPTIONS

A. Gap-processing time

To measure the performance of the stall avoidance schemes, we define a new performance measure – gap-processing time (GPT). It is the duration from the occurrence of a Type II gap until a stall avoidance scheme recognizes the existence of nonrecoverable gaps. The gap-processing time is an important perfor-mance metric to evaluate the quality of service (QoS) for HSDPA. A short gap-processing time means the RLC retransmission can be initiated earlier, which is especially critical for the delay sensitive services.

Referring to the analytical model in [34], the packet delivery delay (denoted by Td) in the third-generation (3G) WCDMA with transport control protocol (TCP) can be decomposed as

Td= Qd+ Rd+ Nd , (1)

where Qd, Rd, and Ndare the queuing delay, reordering delay, and the wireline network delay, respectively.

However, the packet delivery delay of (1) does not cover the effect of NACK-to-ACK error. To incorporate the effect of NACK-to-ACK error into packet delivery delay, Td should be modified as

Td= Qd+ Rd+ Nd+ GP T . (2)

Note that the reordering delay Rd is caused by Type-I gaps while the GP T is caused by Type-II gaps.

Clearly, a longer period of gap-processing time causes longer packet delay because Type-II gaps halt the

procedure of forwarding the received packets to the upper layer. Consequently, the stall problem may seriously degrade the fluency of packet delivery. For the probability of a NACK-to-ACK error equal to 0.01, packet error rate of 0.3, and transmission time interval of 2 milli-seconds, a five seconds transmission of delay sensitive service may experience 5/0.002 × 0.3 × 0.01 = 7.5 times of the stall problem. If the stall problem can not be solved, the procedure of forwarding packet to the upper layer will be held up forever. As a result, the data delivery delay can be extremely long and the goodput can be seriously decreased. Therefore, how to solve the stall problem become an important issue, especially for the delay sensitive services. Furthermore, if the gap-processing time is longer than the RLC timeout, the excess gap-processing time may induce some additional RLC retransmission causing even longer packet delivery delay. In this paper, we assume that the RLC timeout is longer than the gap-processing time.

The longer period of gap-processing time also leads to more packets accumulated in the MAC layer.

Therefore, the overflow probability of the reordering buffer is increased. Moreover, as more received packets are forwarded to the RLC layer due to longer gap-processing time, a larger-sized buffer in the RLC layer is required to accommodate these packets. With large enough buffers of both MAC and RLC layers, the received packets can be accommodated in the receiver. In this paper, we focus on the analysis of GP T of the three stall avoidance schemes. Gap-processing time is influenced by the physical layer parameters, such as packet error rate (P ER) and the probability of a NACK becoming an ACK (PN →A), and the MAC layer parameters, e.g. the size of the reordering buffer and the number of processes in the parallel SAW HARQ mechanisms.

B. Assumptions

Being a function of both physical layer and MAC layer parameters, gap-processing time is difficult to be computed analytically. To make the analysis tractable, we make the following assumptions:

1) Because a NACK-to-ACK error usually occurs when a mobile terminal moves at high speeds, it is assumed that the fast changing channel is modelled by an independent Rayleigh fading channel from one packet to another packet.

2) All packets are assumed to have the same priority.

3) All transmit processes in the HARQ mechanism always have packets ready for transmission.

4) Effects of incremental redundancy and Chase combining are not considered. The provided analysis in the paper can be viewed as the worst-case analysis.

5) Assume the modulation and coding scheme and the packet length are not changed during the period of the gap-processing time.

6) The feedback delay is not taken into account of the gap-processing time.

V. ANALYSIS OFTIMER-BASED STALLAVOIDANCESCHEME

In Proposition 1, we derive the average gap-processing time for the timer-based stall avoidance scheme.

Proposition 1: Denote Ps and PN →A the probability of a packet being successfully received and that of having a NACK-to-ACK error, respectively. Then the probability with a Type-II gap (denoted by PG) is equal to

PG= (1 − Ps)PN →A . (3)

Let D be the expiry time of the timer normalized to the transmission time interval (TTI). In terms of PG

and Ps and D, the average gap-processing time for the timer-based stall avoidance scheme (denoted by GP Ttimer) in the single user case can be expressed as

GP Ttimer = XD

`=0

GP T (`) , (4)

where the average gap-processing time with ` Type-II gaps (denoted by GP T (`)) is

GP T (`) =

Proof: Assume that a timer is already initiated for a certain gap. We consider the following two scenarios:

(I) No new Type-II gap occurs in a period of D, ` = 0:

Referring to Figure 4(a), let gap 0 occur after the previous timer expires. Suppose that i TTIs later a packet with higher TSN than gap 0’s is successfully received. A new timer is then initiated for gap 0.

For this case, the gap-processing time of gap 0 is i plus the expiration time of the timer D. Because the probability of not having new Type-II gap within D TTIs is (1 − PG)D and the average time to start the timer for gap 0 is

Thus, the first part of Proposition 1 is proved.

(II) ` Type-II gaps occur before the timer expires, ` 6= 0:

Assume that ` new Type-II gaps occur before the timer expires, as shown in Fig. 4(b). For gap j, (j = 1, ..., `), a period of time (D − tj) is needed before its own timer starts. Recall that tj is defined as the elapsed time of the previous timer until the end of gap j. The total gap-processing time for gap

(a) No new Type-II gap occurs before the timer expires for a previous gap.

(b) Some new Type-II gaps occur before the timer expires for a previous gap.

Fig. 4. Two scenarios for the timer-based stall avoidance scheme to remove a Type-II gap.

j is equal to (2D − tj) in this case. As a consequence, given (t1, · · · , t`) of ` Type-II gaps, the average gap-processing time is equal to

Gap(`|t1, · · · , t`) = X`

j=1

2D − tj

` . (7)

The probability of having ` Type-II gaps conditioned on known t1, · · · , t` can be computed by

Prob{having ` Type-II gaps | t1, · · · , t`} = PG`(1 − PG)D−` . (8) By considering all the possible occurrence time of ` Type-II gaps in D TTIs, we have

Gap(`) = PG`(1 − PG)D−`

D−`+1X

t1=1

D−`+2X

t2=t1+1

...

XD t`=t`−1+1

X` j=1

2D − tj

` (9)

Hence, we prove the second part of Proposition 1.

¥

Fig. 5. An illustrative example of the seat allocation in a detection window for the window-based stall avoidance scheme.

VI. ANALYSIS OFWINDOW-BASED STALLAVOIDANCESCHEME

In this section, we first concisely derive the closed-form expression of the average gap-processing time for the window-based stall avoidance scheme in Proposition 2. Then, due to complexity, we separately derive its probability mass function (pmf ) of the gap-processing time.

A. Average Gap-processing time

Proposition 2: Let W be the detection window size of the window-based stall avoidance scheme for

an M -channel SAW HARQ mechanism. Denote Pnew and Pold the probability of receiving a new packet and that of receiving a retransmitted old packet, respectively. From the definitions of Ps and PN →A in Proposition 1, Pnew and Pold can be expressed as

Pnew = Ps+ (1 − Ps)PN →A , (10)

and

Pold = (1 − Ps)(1 − PN →A) . (11)

Then the average gap-processing time of the window-based stall avoidance scheme normalized to TTI can be computed in terms of parameters Pnew, Pold, W , and M as follows:

GP Twindow = M + XM m=1

"

(W − m) X n=1

nPnewPoldn−1

# µM − 1 m − 1

Pnewm−1PoldM −m . (12)

Proof: The gap-processing time for the window-based stall avoidance scheme is derived in two steps.

In the following, we will prove that

GP Twindow = cycle duration + residual detection time , (13) where the cycle duration is defined in Section III(C) and the residual detection time is defined as the extra time to detect a Type II gap in addition to one cycle duration.

1) cycle duration: The minimum gap-processing time for the window-based stall avoidance scheme is equal to one cycle duration (M TTIs). Consider the smallest detection window W = M . The detection window size (or equivalently the reordering buffer size) is usually larger than the number of parallel HARQ processes, i.e. W ≥ M . Suppose that a Type-II gap occurs in process P R in i-th cycle. If subsequent M − 1 processes transmit new packets successfully, process P R intends to send a new packet (P KT) in the (i + 1)-th cycle due to a NACK-to-ACK error. However, because the detection window is fully-booked, the gap in the i-th cycle for process P R can be judged to be a Type-II gap according the rule of the window-based stall avoidance scheme. In this situation, the gap-processing time is equal to one cycle duration (i.e. M TTIs).

2) residual detection time: The residual time is defined as the extra time after one cycle duration for the detection window becoming fully-booked. The residual detection time spans in the following two cases (a) W > M and (b) W = M with some of the M − 1 processes subsequent to process P R receiving old packets.

a) W > M : Now let’s examine the seat allocation of a detection window, as shown in Fig. 5.

Recall in step 1 that process P R produced a type-II gap (gap) in cycle i. Thus, process P R will transmit a new packet P KT in cycle i + 1. Without loss of generality, choose (m − 1) processes out of the total other (M − 1) processes to send new packets, and the remaining (M −m) processes to send old packets. Clearly, the probability of (m−1) processes transmitting new packets is Pnewm−1 and that of (M −m) processes retransmitting old packets is PoldM −m. Since there are ¡M −1

m−1

¢ choices, the probability of P KT and gap being separated by m seats is equal to

m=1PM(m) = 1. A Type-II gap will finally halt the trailing edge of a detection window and is seated at the first place of the detection window. Hence, P KT will be positioned at the (m + 1)-th seat. Accordingly, there will be another (W − m − 1) available seats remained in the detection window. Note that the detection window extends its leading edge only when receiving a new packet and the old packets just fill in the empty holes in

the reserved seats of the reordering buffer. Since the probability of a new packet arriving at the reordering buffer within n TTIs is equal to PnewPoldn−1, the average time for the detection window extending its leading edge by one seat (denoted by T0) can be computed by

To = X n=1

nPnewPoldn−1 . (15)

As a result, it takes extra (W − m − 1)To TTIs to have a fully-booked window in addition to

As a result, it takes extra (W − m − 1)To TTIs to have a fully-booked window in addition to

相關文件