available bandwidth and the round trip delay. Higher
buffer occupancies require higher reductions in the
sending rate of the source, while for a short error
burst an excessive delay on the ACKs could be
unnecessary. This should also help to avoid
excessive delay spikes causing spurious TCP
timeouts.
It may be argued that a drawback of the ACK
delaying strategy is the Retransmission Time Out
(RTO) inflation caused by the increment on the
perceived RTT. The RTO inflation slows down the
reaction of the source upon the eventual loss of
consecutive packets. However, the higher delay of
the reverse path is compensated by a lower buffer
occupancy, which reduces the downlink packet
latency. In addition, a main goal of this algorithm is
the avoidance of buffer overflow, thus TCP timeouts
are expected to happen rarely.
The proposed ACK rate control algorithm is
detailed in Fig. 3. The algorithm relies in the use of a
single timer (id_timer), which delays ACKs assuring
that they are spaced by t
id
. The pseudocode identifies
two different events, the arrival of an ACK packet
(ack_arrival) and the expiration of the id_timer
(id_timer_expiration). Figure 4 illustrates the
operation of the algorithm.
3.1 Calculating the Inter-departure
Time
The original proposal for controlling the rate of the
reverse ACK flow relies on a fixed delay (Wu,
1999). This strategy may be enhanced using a
variable delay, e.g. setting a linear relation between
the delay and the downlink queue length.
In this paper we consider a more general function
(1) to estimate t
id
with BO, where maxd and mind are
the maximum and minimum values for t
id
, and maxth
is the buffer size.
ndmi
nthmixthma
nthmiBO
ndmixdmat
id
+
⎟
⎟
⎠
⎞
⎜
⎜
⎝
⎛
−
−
−=
α
)(
This function let us evaluate the effect of the
variation rate of t
id
respect BO. This variation rate,
which is related to the “aggressiveness” of the
algorithm, is determined by
α
(≥0). Lower values of
α
are tied to more aggressive delaying policies.
Figure 5 shows the shape of (1) for different values
of
α
. From now on, to reduce complexity, we
consider mind = 0 s. The shape of f(BO) with
mind > 0, can be approximated using f(BO) with
mind = 0 and a lower
α
. In consequence, in out tests,
the value of mind showed very little influence on
performance.
In (1) it is easy to see that, if
α
Æ 0, f(BO) tends
to the step function, i.e. t
id
is constant when
BO ≥ minth. On the other hand, if
α
= 1, f(BO) is a
linear function. Therefore, the step and the linear
functions are particular cases of (1). Moreover, the
absence of delay is also a particular case of this
function, when
α
Æ ∞. These cases are discussed
in Section 5.
3.2 Implementation Issues
An important advantage of the ACK delay control
algorithm compared to random or RED-like
mechanisms is that it does not need to generate
random numbers to compute the discarding
probability because of its deterministic operation.
This reduces the computational cost of the
algorithm, and makes it more feasible for its
implementation at the RLC level where the buffering
is done in a per-user basis.
The maintenance of a new timer, id_timer, does
not add too much complexity to the RLC operation,
which already handles several timers, e.g. Poll
Timer and Status Prohibit Timer (3GPP, 2005). The
RLC can synchronize id_timer to the Transmission
Time Interval (TTI), which is equivalent to a clock
signal with a granularity of 10 ms (similar to that of
other RLC timers).
The protocol could be further simplified in terms
of implementation with the use of pre-calculated t
id
values. Therefore, the buffer could be considered as
divided in gaps, each one having a corresponding t
id
value. In our implementation, the number of t
id
values equals the number of SDUs fitting in the
buffer space above minth.
Our implementation does not deal with ACK
identification, because the services considered to
benefit from our algorithm are assumed to be
strongly asymmetric, e.g. file downloading and web
browsing. Therefore, in our simulations, every
upcoming packet is an ACK. However, a simple
way to implement IP packets monitoring and ACK
filtering is described in (Wu 1999). It is a subject of
further research if, given the traffic profile of a 3G
user, an ACK filtering mechanism is justified.
4 SIMULATION ENVIRONMENT
The simulation environment for this research has
been developed in OMNeT++ (Varga, 2001) and
comprises a complete implementation of TCP and
RLC protocols. Similar simulators were described in
(Rossi, 2003) and (Bestak, 2002). The simulation
topology, shown in Fig. 6 consists of one or several
TCP sources connected to their respective receivers
in the user’s equipment (UE). The end-to-end
connection consists of two sections, the wired
ACK RATE CONTROL STRATEGY AT THE LINK LAYER TO ENHANCE TCP OVER 3G LINKS
37