updated after each packet drop. However, there can
be different kinds of congestion situations in real
networks, and these situations generate different
kinds of delay values for packet drop situations.
Thus, for example, the Exponentially Weighted
Moving Average (EWMA) could be used in the
calculation of the maximum delay value. The
EWMA process would average different kinds of
congestion situations.
With the help of the minimum and maximum
delay values, the delay space is divided into seven
rate adaptation areas. We could also say that the
queue of the router is divided into several parts. The
centremost delay area is called the targetDelay area.
The basic idea is that CVIHIS tries to keep the
queue level of the router at the level of this target.
Note that this target delay may be over the delay
demand of the application. If applications have delay
and jitter demands, these demands have to be
satisfied by Quality-of-Service mechanisms.
CVIHIS is a pure congestion control mechanism, not
a Quality-of- Service mechanism.
As shown in Figure 1, the target delay area is not
put in the middle of the delay space. Instead, this
area is shifted downwards a little so that queuing
delays can be kept short. The shiftng used in this
case is perhaps too modest for the normal situation.
But if the routers are equipped with active queue
management mechanisms, this shiftng may be
appropriate. The positioning factors for each delay
area are presented on the right side of this figure.
There are black arrows inside some delay areas.
These black arrows represent the direction of the
delay. Thus, delay gradients are also used by
CVIHIS for rate adaptation. With the help of delay
gradients the target delay area can be achieved
without significant oscillation. Using only delay
gradients for rate adaptation is not recommended
because delay gradients are often too sensitive to
second-order delay fluctuations (Wang, 1992).
These delay gradients are obtained by comparing
the delay values of two consecutive packets. If the
arrow is upwards, the delays are increasing and the
delay gradient is positive. This also means that the
queue is filling up. If the arrow is downwards, the
delays are decreasing and the delay gradient is
negative. Therefore, the queue is empting.
As can be seen, we have four delay areas with a
black delay gradient arrow. Inside these four areas,
the rate adaptation command is based on the actual
delay value and the value of the delay gradient. The
delay value assigns a certain delay area. Inside this
delay area, the delay gradient defines the actual rate
adaptation feedback. The two extreme delay areas
do not use delay gradients for rate adaptation
decisions.
This rate adaptation schema tries to achieve two
target values. It tries to drive the queue level to the
level of the target delay area. This is done with the
help of the actual delay values. The adaptation
schema also tries to adapt the sending rate to the
level of the bottleneck capacity. This is done with
the help of the delay gradients. Based on these two
targets, one extra rule can be defined. If there is a
conflict of interests between these two targets, the
sending rate target is favoured.
CVIHIS can adjust its sending rate through five
adjustment steps. Four of these steps are presented in
Figure 1 by ++, +, -, --. There are two different level
steps for both increasing and decreasing the sending
rate. These four adjustment steps are quite moderate
so that some kind of additive increase and additive
decrease behaviour is achieved. The fifth adjustment
step is a multiplicative decrease step which is used
after a packet drop. During one round-trip time only
one multiplicative decrease step is taken. To
simplify matters, we can say that CVIHIS imitates
AIMD behaviour (Chiu, 1989).
As stated above, the aim is for CVIHIS to be a
receiver-based congestion control mechanism.
Therefore all conclusion procedures presented in
Figure 1 are implemented on the receiver side. Only
the rate adaptation command, which is an integer
number, is transmitted to the sender. The values of
the commands are presented inside parentheses in
Figure 1. The sender increases or decreases its
sending rate based on these commands if the
measured delay is outside the target delay area.
3.3 Real-time Mode
The backward loading mode backs off when it
competes with TCP. This means that we must
modify the backward loading code so that it will
behave in a more aggressive way to be suitable for
the real-time mode. We will take an approach in
which we push the minimum delay value upwards in
a continuous manner. This approach means that the
delay areas, which are presented in Figure 1, are also
pushed upwards and therefore will CVIHIS behave
more aggressively.
As a matter of fact, CVIHIS competes harder and
harder during the pushing phase because the delay
areas move higher and higher all the time. This
upwards pushing is only done when the competing
behaviour is really needed. If the last measured
delay value is smaller than the pushed minimum
delay value, the minimum delay value is set to the
WEBIST2014-InternationalConferenceonWebInformationSystemsandTechnologies
130