Thesis 2016 Chen
Thesis 2016 Chen
by
Zhenyu Chen
A Doctoral Thesis
Doctor of Philosophy
of
Loughborough University
The Internet has been more and more intensively used in recent years. Al-
though network infrastructure has been regularly upgraded, and the ability
to manage heavy traffic greatly increased, especially on the core networks,
congestion never ceases to appear, as the amount of traffic that flow on the
Internet seems to be increasing at an even faster rate. Thus, congestion con-
trol mechanisms play a vital role in the functioning of the Internet. Active
Queue Management (AQM) is a popular type of congestion control mech-
anism that is implemented on gateways (most notably routers), which can
predict and avoid the congestion before it happens. When properly con-
figured, AQMs can effectively reduce the congestion, and alleviate some of
the problems such as global synchronisation and unfairness to bursty traffic.
However, there are still many problems regarding AQMs. Most of the
AQM schemes are quite sensitive to their parameters setting, and these para-
meters may be heavily dependent on the network traffic profile, which the
administrator may not have intensive knowledge of, and is likely to change
over time. When poorly configured, many AQMs perform no better than
the basic drop-tail queue. There is currently no effective method to com-
pare the performance of these AQM algorithms, caused by the parameter
configuration problem.
In this research, the aim is to propose a new analytical model, which
mainly uses discrete-time queueing theory. A novel transient modification to
the conventional equilibrium-based method is proposed, and it is utilised to
further develop a dynamic interactive model of responsive traffic and bottle-
neck queues. Using step-by-step analysis, it represents the bursty traffic and
2
oscillating queue length behaviour in practical network more accurately. It
also provides an effective way of predicting the behaviour of a TCP-AQM
system, allowing easier parameter optimisation for AQM schemes. Numer-
ical solution using MATLAB and software simulation using NS-2 are used to
extensively validate the proposed models, theories and conclusions.
I want to thank Dr Lin Guan for being a very patient and helpful supervisor
for this research in the past few years, and Dr Olaf Maennel for offering my
some help on some TCP related challenges, as well as kindly be my first and
second year reviewer. Dr Paul Bell, who was my third year reviewer, offered
me some insightful help, regarding my ability of presenting my research to
others. I would also like to thank Dr Vasilis Michopoulos to offering me his
valuable PhD experience, which greatly help me to adapt to this new style
of research and study in my first year. Dr Peter Bull, who is my acting
supervisor while Dr Lin Guan was on leave, offered great help during my
third year of research, especially on the subjects of research methodology,
thesis chapter construction, as well as language improvement in general.
I would like to extend my gratitude to the supporting staff in the Com-
puter Science Department for their help in facilitating my research. I would
like to thank Mr Gurbinder Samra for his assistance in computer equipments
and software management, Mr Jeff Pitchers for his help in maintaining on
the virtual Linux server, which I used to run various experiments, Mr Kip
Sahnsi and Mr Richard Mee for help with computer equipments, especially
for trying to restore data on a hard drive of a crashed computer. I would like
to thank Ms Christine Bagley and Mrs Judith Poulton for their help in their
respective administrative jobs. I would like to thank Ms Jo McOuat for her
help with my conference trips.
Finally, I would like to thank my family members for their unwavering
support, as well as keeping me motivated during this unforgettable journey.
4
Publications
Zhenyu Chen, Lin Guan, Peter Bull. The Time-dependent Behaviour of the
Discrete-time M/M/1/J Queue in Communication Network Systems, In Pro-
ceeding of 29th Annual UK Performance Engineering Workshop (UKPEW
2013), Loughborough, UK, July 4, 2013
Zhenyu Chen, Lin Guan, Peter Bull. Dynamic Arrival Process for TCP Using
a Novel Time-dependent Statistical Calculation Approach, In Proceeding of
2014 IEEE International Conference on Future Internet of Things and Cloud
(FiCloud), Barcelona, Spain, August 27-29, 2014
Submitted:
Zhenyu Chen, Lin Guan, Xingang Wang. Interactive Behaviour Between Dy-
namic Arrival Process of Complex Traffic Source and the Bottleneck Queue,
ACM Transactions on Modelling and Performance Evaluation of Computing
Systems (submitted)
Zhenyu Chen, Lin Guan, Xingang Wang, Jinting Wang. Interactive Beha-
viour Between Dynamic Arrival Process of a Complex Traffic Source and
Tandem Queueing Networks, Performance Evaluation (submitted)
5
Contents
1 Introduction 16
1.1 Aims and objectives . . . . . . . . . . . . . . . . . . . . . . . 18
1.2 Original contributions . . . . . . . . . . . . . . . . . . . . . . 20
1.3 Outline of the thesis . . . . . . . . . . . . . . . . . . . . . . . 21
6
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.2 Classification and characteristics . . . . . . . . . . . . . . . . . 58
3.2.1 Continuous-time and Discrete-time queueing model . . 61
3.2.2 Markov process and Markov chain . . . . . . . . . . . . 62
3.3 Performance measures and Little’s result . . . . . . . . . . . . 65
3.4 Geo/Geo/1 queue . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.5 Time slot definition . . . . . . . . . . . . . . . . . . . . . . . . 71
3.6 Geo/Geo/1/J queue with classic RED drop . . . . . . . . . . . 73
3.7 MATLAB numerical solutions and analysis . . . . . . . . . . . 77
3.8 Queueing networks . . . . . . . . . . . . . . . . . . . . . . . . 82
3.9 Summary and discussion . . . . . . . . . . . . . . . . . . . . . 85
References 271
List of Figures
10
5.8 Instantaneous Queue Length NS-2 . . . . . . . . . . . . . . . . 135
5.9 Instantaneous Delay NS-2 . . . . . . . . . . . . . . . . . . . . 136
5.10 Instantaneous Throughput NS-2 . . . . . . . . . . . . . . . . . 137
5.11 Drop Rate NS-2 . . . . . . . . . . . . . . . . . . . . . . . . . . 138
13
Glossary of Acronyms
ACK Acknowledgement
AIMD Additive Increase Multiplicative Decrease
AQM Active Queue Management
AVQ Adaptive Virtual Queue
bps bits per second
CBR Constant Bit Rate
CWND Congestion Window
DSL Digital Subscriber Line
DT Drop Tail
E2E End-to-End
EAS Early Arrival System
EWMA Exponential Weighted Moving Average
FCFS First Come First Serve
ECN Explicit Congestion Notification
FIFO First In First Out
GREEN Generalised Random Early Evasion Network
IEEE Institute of Electrical and Electronic Engineering
IETF Internet Engineering Task Force
IP Internet Protocol
ISP Internet Service Provider
kbps kilo bits per second
14
15
Introduction
16
CHAPTER 1. INTRODUCTION 17
wasted bandwidth resources due to packet losses, and in extreme cases even
congestion collapse, for which there is essentially no data transfer through
the network for a period of time, and the throughput of the network drops
to zero and the response time increases dramatically.
As a result, it is imperative that network congestion has to be quickly
resolved, or preferably avoided completely. The most important congestion
control mechanism in the network is achieved by the use of Transmission
Control Protocol (TCP) [2] at the end-systems. Surveys such as [81] show
that TCP traffic flows are the single largest portion of the current Internet
traffic. TCP is a transport layer protocol that provides reliable data trans-
mission and congestion control at an end-to-end level. When TCP starts a
new transmitting session, the transmission rate is relatively slow at the begin-
ning. If no congestion is detected, and all packets are successfully delivered
within the acceptable time, TCP increases the transmission window size,
which leads to a faster transmission rate. This continues, and the transmis-
sion rate gradually reaches the maximal value that the network can handle
(along with many other traffic sources) [67].
Currently in the Internet, the most commonly used versions of TCP im-
plementations detect congestion only after packets have been dropped, indic-
ated by the duplication of Acknowledgement packet (ACK). In some imple-
mentations of TCP, Explicit Congestion Notification (ECN) is also enabled
by default, and can detect congestion if the received packet has its Conges-
tion Encountered (CE) flag marked [42]. In either way, without additional
form of congestion notification, the basic congestion avoidance feature of the
TCP can never prevent the network congestion, as there is no congestion
notification until the congestion has already occurred.
At the same time, while the TCP attempts to transmit data packets as
fast as possible to keep the link utilisation rate high, this would also cause the
queue length at the bottleneck queue high as the arriving rate getting close or
even exceeding the departure rate at the queue. Having large queues that are
full much of the time within the gateways is clearly undesirable, as it would
significantly increase the latency in the network. Therefore, with increasingly
CHAPTER 1. INTRODUCTION 18
method
2.1 Introduction
This chapter presents a comprehensive literature review on the current re-
search related to network congestion control utilising Active Queue Man-
agement (AQM) Schemes. Their research methodologies, advantages and
drawbacks are summarised. With these summaries, motivations and contri-
butions of this thesis are further explained.
In the absence of explicit feedback from the gateway (such as the usage
of Explicit Congestion Notification — ECN), transport-layer protocols at
the end terminal could only recognise network congestion with a limited set
of methods, such as estimating bottleneck gateway service time, analysing
changes in throughput and/or changes in end-to-end delay, detecting packet
drops, etc. Nevertheless, as the result of the time-variant nature of con-
nections, the traffic patterns, the lack of knowledge regarding the number
of congested gateways, the possibilities of routing changes and some other
difficulties, the perspective for an individual connection is relatively limited
in order to distinguishing propagation delay from persistent queueing delay
[45].
By comparison, a more effective place to detect congestion is the gateway
itself, especially the bottleneck gateway. The gateway can reliably distinguish
between propagation delay and persistent queueing delay, and has a unified
24
CHAPTER 2. LITERATURE REVIEW 25
• Processing Delay (dproc ):This mostly includes the time required for a
host machine to check for bit-level error that may occur to the packet
during transmission, and the time required to check for packet’s next
destination. Processing delay varies depending on the processing load
and the network devices’ processing speed of each individual host ma-
chine. In high-speed routers, processing delays is typically in the order
of microseconds.
• Propagation Delay (dprop ): This includes the time required for a packet
to be transmitted or propagated over the communication medium from
one end to the other. It is calculated as the distance d between two
nodes divided by the propagation speed s of the medium, as shown in
the following equation
d
dprop = (2.1)
s
CHAPTER 2. LITERATURE REVIEW 27
N
dtrans = (2.2)
R
This type of delay is generally a very small value in the most common
communication system. It is usually also a relatively fixed value, under
the assumption that packets of the same size are transmitted by the
host machine.
• Queueing Delay (dqueue ): This includes the waiting time for a packet
in a queue before it is processed and transmitted. Traffic intensity,
congestion, system throughput, processing load and processing speed
are major causes of queuing delay.
following equation
n
X
de2e = (dproc(i) + dprop(i) + dtrans(i) + dqueue(i) ) (2.3)
(i=1)
proper queue management must constrain the queue length in order to limit
the queueing delay [31].
Each router or other network node has an interface queue (IFQ) that
holds data packets scheduled to go out on that network interface. Before the
introduction of AQM, the mostly used queue management is known as drop-
tail queue (DT). It is one of the first schemes that has been proposed in the
area of queue management [22]. It follows a simple and intuitive discipline:
arriving packet is allowed into the queue as long as the current queue length
is shorter than the fixed maximal length threshold; arrival packet is dropped
otherwise. In other words, data packets are dropped only if a queue is full.
Although this scheme has been widely used in the Internet for many years,
this mechanism results in large queuing delay if the queue size is large. In
addition, this kind of queue has two other major limits: the tendency to
penalise bursty flows [97], and causing global synchronisation between flows
[107].
Comparing with traffic flows more constant bit rate in nature, packets
transmitted by bursty flows usually concentrated in separated smaller time
periods. If during this period the queue happens to be considered full, it
would mean much higher percentage of packets dropped for flow. This may
result in a higher packets dropping probability for a burst flow of a very low
average throughput than a steady flow of much higher throughput. This is
considered to be unfair to bursty flows [46].
As for global synchronisation, due to the nature of bursty traffic, it is
much more likely to exceed the maximal length of the queue, even with a
relatively low average flow rate. When the network traffic is heavy, and the
queue length reaches maximal, the following arriving traffic, which contains
many different TCP flows, will be dropped at the same time, resulting the
transmit rate decreasing action of all affecting TCP sources, all of them will
slow-start at a similar rate, during which period the network will be relatively
idle. After that, all these flows will increase speed at a similar rate, which
will likely to cause the congestion again, and the synchronised oscillating
cycle continues [42].
There are two other passive queue management schemes with similar
CHAPTER 2. LITERATURE REVIEW 30
the dropping probability usually varies with the network performance. With
this method, devices running these schemes are able to “actively” manage
the queue, which is indicated by the name of their classification.
There are a number of ways to classify and compare different AQM
schemes. Based on their mechanism of operation, namely, the type of conges-
tion indicator used, AQM schemes can be classified into five broad categories:
queue-based, rate-based, load-based, packet-loss-based or a combination of
these [102][24]. The average (usually exponential weighted moving average
(EWMA)) or instantaneous samples were used as the congestion indicator.
There are some proposals that update the EWMA on each packet arrival,
whereas others perform the update at constant, predetermined intervals. For
a queue-based scheme, the dropping probability is derived from the instant-
aneous or average queue length. The core of this type of schemes is to keep
the queue length in a relatively stable and desirable state [55][79]. The aim of
rate-based AQM is to keep the packet arrival rate at the queue at a targeted
optimal value, usually at some preferred percentage of the link capacity. By
this method, queue length is indirectly controlled [87]. For a load-based
scheme, dropping probability usually depends on the scheme’s capability of
accurately predicting the link utilisation (traffic load). It usually aggress-
ive dropping or marking data packets when the link utilisation exceeds the
desired level and less aggressive when it is below this level [77]. This type
of schemes generally focus less about the queue length than the previous
types, but more on the balanced relationship between arrival rate and de-
parture rate of the links in question. Finally, there are some schemes employ
a combination of these different indicators [33][8], in hopes of maximising
the advantages of both queue length based and load rate based mechanisms,
namely the low delay and high throughput.
2.4.1 Queue-based
• Classic RED
ful AQM scheme. It establishes a relatively easy but effective way to achieve
the goal of queue length based AQM. It inspired many later research, and it
has been used as a framework for many other studies and new AQM schemes.
Classic RED works as follow: the queue length (q) is constantly mon-
itored; an average queue length (avg) is calculated based on a weight para-
meter (wq ) of instant queue length and average queue length of last calcula-
tion (avg 0 ). The function used for the calculation is
When the average queue length is low and smaller than the lower threshold
(thmin ), all incoming packets are accepted and allowed into the queue; when
the average queue length exceeds the lower threshold (thmin ) but not the
upper threshold (thmax ), incoming packets will be dropped with a linear
probability based on the relationship between average queue length, a para-
meter that defines the maximal dropping rate (pmax ) and the upper and lower
thresholds (thmax , thmin ); when the average queue length exceeds the upper
threshold, all incoming packets will be dropped. The dropping probability
function can be written as:
0
avg < thmin ;
avg−thmin
pd = th −th
pmax thmin ≤ avg ≤ thmax ; (2.5)
max min
1 avg > thmax .
RED has been shown to be effective to counter against both the global syn-
chronisation problem and the burst-bias problem [85]. However, the perform-
ance of RED is still a heated on-going debate. Most researchers acknowledged
that RED gateway shows some advantages over drop-tail gateway but it is
not perfect, mainly due to one or more of the following problems:
• Severe queue oscillation is observed while using RED when the traffic
load changes [13]; severe oscillation usually indicates varying perform-
ance level, and more importantly, a lower link utilisation ratio.
Despite these difficulties with classic RED, its prowess and potential still
mostly overshadow them. As a result, it has been extensively analysed,
extended, or modified in many different ways. Some of the most influential,
innovative and popular ones are introduced in the following paragraphs.
• Gentle-RED
One of the problems of the classic RED is relatively low throughput. The
packet dropping probability directly jumps to 1 when the average queue size
is greater than the upper threshold (thmax ). This was later considered to
be too aggressive and cause some instability of the system related to the
discontinuity of the drop function [44]. The dropping probability of arrival
packets when the average queue length is just under the upper threshold
(thmax ) would be close to the maximal dropping rate pmax , which is usually a
value smaller than 0.2. However, if the average queue length increase a little
just enough to exceed the upper threshold (thmax ), this dropping probability
for the newly arrival packets would suddenly become 1. This discontinued
aggressive drop causes a decreased link utilisation ratio.
CHAPTER 2. LITERATURE REVIEW 34
To make things worse, due to the way average queue length is calcu-
lated and the heavier proportion of previous queue length (as wq is usually
a value smaller than 0.2), even if the overall transmission rate has already
been slowed down enough due to previous drops and the instantaneous queue
length is already decreasing, the average queue length calculation may still
indicate a value exceeds the upper threshold, and thus, overaggressive drop-
ping action is taken. As a result, the transmission rate decreases even further
and further, and eventually, the average queue length will get below the up-
per threshold and allowing new arriving packet inside the queue. But due to
the previous heavy drop, the transmission rate is usually extremely low at
this point, thus the link will be idle. Idle link with a heavy TCP traffic and
classic RED queue is quite easily observed.
With this consideration, a gentle version of RED (GRED) was proposed
[44] by the original researcher group not long after the initial RED was an-
nounced. In GRED, the packet dropping probability increases linearly from
pmax to 1 when avg increases from thmax to 2thmax . The dropping probability
of GRED can be discribed as:
0 avg < thmin ;
avg−thmin p
thmin ≤ avg ≤ thmax ;
thmax −thmin max
pd = avg−thmax
(2.6)
thmax
(1 − p max ) + p max thmax < avg < 2thmax ;
1 avg > thmax .
Although this seems only a very minor modification to the classic RED al-
gorithm, the effectiveness is rather noticeable. As a result, this concept can
be identified in almost every version of the later RED modification proposal,
even though many of them have made drastic change over the classic scheme.
• Adaptive RED
It was showed by Feng etc. [37] that the effectiveness of dropping packets
to control source rate is affected by the number of sources. As a result,
combining with the sensitive to the parameters issue of RED, there is no
single set of RED parameters that can work well under different congestion
CHAPTER 2. LITERATURE REVIEW 35
code:
• Non-linear RED
The classic RED (and its gentle and adaptive modification) uses a linear
function to calculate the dropping probability between thresholds. Some
researchers proposed to substitute this dropping function with a specially
designed non-linear function, and the rest of the classic RED algorithm re-
mains unchanged. One of such examples is the modification proposed by
Zhou etc. [120] in which they use a non-linear quadric function to calculate
the dropping probability. Its underlying idea is that with their proposed
non-linear packet dropping function, the packet dropping rate is gentler than
classic RED at light traffic load but more aggressive at heavy load. As a res-
ult, at light traffic load, connecting flows is encouraged by the relatively low
dropping rate of NL-RED to operate at a higher transmitting rate so that
the queue length of the gateway can be in an appropriate range of average
queue sizes which represent a higher throughput and better resource utiliz-
ation. When the load is heavy and the average queue size approaches the
maximum threshold thmax — an indicator that the queue size may soon get
out of preferred range, the relatively higher dropping rate of NL-RED gives
a more aggressive feedback to the connecting flows which in turns allows the
queue length to quickly return into the more appropriate state.
In their version of non-linear RED, when average queue length exceeds the
minimum threshold, NLRED uses the nonlinear quadratic that they designed
to drop packets, and the dropping probability function can be described as:
0
2
avg < thmin ;
avg−thmin
pd = thmax −thmin
pmax thmin ≤ avg ≤ thmax ; (2.7)
1 avg > thmax .
By using software simulation (NS-2), they believed that their new algorithm
shows advantage over the classic one in turns of less sensitive to parameter
settings, average queue size more predictable and higher throughput potential
[120]. Another advantage of this kind of modification is their relatively small
change against the classic RED, thus inherent its simplicity, and should be an
easy modification for gateways that already running on or compatible with
CHAPTER 2. LITERATURE REVIEW 38
classic RED.
The difference between classic RED, with gentle modification and a non-
linear dropping function is better demonstrated in Figure 2.1
RED
Gentle
Non−linear
1
drop rate
pmax
Figure 2.1: Drop Rate Comparison between RED and Gentle RED
2.4.2 Rate-based
• GREEN
• SFED
to accommodate the new token bucket; Otherwise, the height of all the other
token buckets are increased when a flow becomes inactive. The dropping
probability function can be represented as
xi
0 λ1 < LN
< 1;
x
λ1 − L i xi
pd = pmax λ1 −λ2 N
λ2 < LN
< λ1 ; (2.9)
x
λ1 − L i xi
pmax + (1 − pmax )
λ2
N
0< LN
< λ2 .
• Rb-RIO
T EAR − SR
pd1 = (2.10)
EAR1
If however, the sum of the estimated arrival rates for the two higher priority
classes is greater than the service rate but the estimated arrival rate of the
CHAPTER 2. LITERATURE REVIEW 41
highest priority class is less than the service rate, all packets for the highest
priority class are accepted, the packets of the second-highest priority class
are dropped with probability
EAR2 + EAR3 − SR
pd2 = (2.11)
EAR2
but all packets of the lowest priority are dropped. Finally, if the estimated
arrival rate of the highest priority class is greater than the service rate, all
packets of the lower priority classes are dropped with probability one, but
the packets of the highest priority are dropped with probability
EAR2 − SR
pd3 = (2.12)
EAR3
Rb-RIO attempts to improve fairness over Drop-Tail and RED, while sig-
nificantly improving MPEG video frame loss as perceived by the user, while
improving. It also identifies how Rb-RIO can be configured to outperform
Drop-Tail and RED on traffic with both TCP and video streams.
2.4.3 Load-based
• AVQ
code:
where R is the capacity of a link, B is the buffer size, b is the number of bytes
in current packet, α is the smoothing parameter, γ is the desired utilisation
of the link, R is the virtual queue capacity, t is the current time, s is the
arrival time of previous packet, V Q is the number of bytes currently in the
virtual queue.
AVQ attempts to achieve stability of the system in the presence of feed-
back delays, as well as the ability to maintain small queue lengths and its
robustness in the presence of extremely short flows. It is also design in a way
that can be easily implemented within only a few lines of code.
• YELLOW
This algorithm, YELLOW [87], uses the load factor (link utilization) as a
main merit to manage congestion. To improve congestion control perform-
ance, a queue control function (QCF) is introduced as a secondary merit,
providing an early controlling queuing delay maintaining the main load merit.
It attempts to predict incipient congestion timely and accurately with con-
trolled queuing delays, stability, and robustness to variation in traffic load.
CHAPTER 2. LITERATURE REVIEW 43
where q is the queue length, qref is the reference queue length, QDLF is
the queue drain limit factor, γ is the link utilisation rate, α and β are two
parameters providing the trade-off between responsiveness and stability of
the algorithm.
YELLOW algorithm uses load factor as the congestion indicator, which
is calculated by
where f (q)R is the calculated available virtual link capacity. The dropping
probability function is given as a recursive form:
z∆
p+
R
z ≥ 1 + δ;
∆
pd = p− zR
z < 1; (2.15)
p otherwise.
ure [8]. Since the average queue size reflects the change in traffic load, unless
the parameter is perfectly set, it is difficult for RED to maintain perform-
ance within the target zone regardless of the number of users. This algorithm,
Random Exponential Marking (REM), on the other hand, aims to achieve
high throughput, low loss rate and low queuing delay under varying traffic
loads by independently using congestion measure and the performance meas-
ure.
Congestion measure represents the excess demand for bandwidth or re-
source. The key of REM is to determine the marking probability by using
price as congestion measure. Price is based on rate mismatch and queue
mismatch. Rate mismatch is a measurement of things such as difference
between input rate and link capacity, while queue mismatch is a measure-
ment of things such as difference between queue size and target. With both
of them, price reflects not only current congestion but also the change in
congestion. At a queue l, the price pricel (t) is updated in every period t as
follows:
pricel (t + 1) = [pricel (t) + γ(αl (ql (t) − qref,l ) + xl (t) − Cl (t))] (2.16)
Where xl (t) is the aggregate input rate at queue l, Cl (t) is the available
bandwidth at queue l. The constant αl is a small positive number. It can
be set individually at each queue to trade off utilization and queuing delay
during transient period. The constant γ is a small positive number. It
controls the responsiveness of REM to changes in network scenarios.
If the target queue size qref,l is not zero and there are packets in the
buffer, then xl (t) − Cl (t) is change of queue size in time. In this case, it can
be substituted by ql (t + 1) − ql (t). Thus the price is updated based only on
the current and previous queue sizes as follows
L
Y X
1 − (1 − pl (t)) = 1 − φ−Σl pricel (t) ≈ (loge φ pricel (t)) (2.19)
l=1 l
• BLUE
BLUE aims to reduce packet loss rate and buffer size requirement in a simpler
way, rather than constant tuning of its parameters to achieve acceptable
performance under varying network conditions, like the classic RED. The
key idea behind BLUE is to perform queue management directly based on
packet loss and link utilization rather than on the instantaneous or average
queue size [37].
BLUE directly uses packet loss and link utilization as congestion measure
to set marking probability. In principle, BLUE maintains a single probab-
ility p, which it uses to mark (or drop) packets when they are queued. If
the queue is continually dropping packets due to the buffer overflow, BLUE
increments, thus increasing the rate at which it sends back congestion noti-
fication. Conversely, if the queue becomes empty or if the link is idle, BLUE
decreases its marking probability. This effectively allows BLUE to learn the
correct rate that it needs to send back congestion notification. The use of the
threshold provides room to accommodate transient bursts. The algorithm of
BLUE is described as follows
the marking probability to take effect before the value is updated again, and
it can also be used to control the responsiveness of the algorithm when dealing
with changing traffic rate. It should be set based on the effective round-trip
times of connections sharing the link in order to allow any changes in the
marking probability to reflect back on to the end sources before additional
changes are made, and should be randomized to avoid global synchronization.
δ1 needs to be set much greater than δ2 . This is because link idle occurs
when congestion management is either too conservative or too aggressive,
but packet loss occurs only when congestion management is too conservative.
Also, the event of traffic overflow is usually considered to be a much worse
scenario than relatively low throughput. By weighting heavily against packet
loss, BLUE can quickly respond to a significant increase in traffic load. On
the other hand, δ1 and δ2 should be set in conjunction with f reeze time to
allow p to be able to range from 0 to 1 in an order of minutes for links where
extremely large changes in load occur only in such a short time.
BLUE can use a smaller buffer size to keep lower loss rate than RED. How-
ever, BLUE has a relatively sluggish response because many steps (f reeze time)
are needed in order to correct p to get its optimal value and to stabilize the
queue. In addition, BLUE has difficulty in stabilizing the queue under vari-
ous round-trip times and link capacity [37]. If δ1 and δ2 are set to a relatively
large value in order to achieve a faster stabilizing process, and δ1 is set to
be much larger than δ2 as suggested, then after a packet loss event, BLUE
will increase the packet dropping probability relatively large, which produces
a continuous packet dropping. As a result, it leads TCP into timeout, and
reduces the link utilization rather seriously. The same dilemma exists for the
setting of the f reeze time parameters. If the f reeze time is too small, it will
result in p changing too frequently, which makes the congestion management
very radical; on the other hand, if the f reeze time is too big, which means
the changing of p is very slow, and makes the congestion management very
conservative.
CHAPTER 2. LITERATURE REVIEW 48
Z t
p(t) = kp e(t) + ki e(t) (2.20)
0
is queue length error, q(t) is the instantaneous queue length, qref is the
target queue length, kp and ki are proportional coefficient and integral coef-
ficient, respectively. In the implementation of the algorithm, drop probab-
ility is calculated periodically, namely drop probability is recalculated every
fixed-length sampling interval of size ∆T So, the PI AQM algorithm can be
expressed in a discrete form as follows
ter of RED that results in sluggish response of the system. In addition, the
integral part can eliminate the steady-state error and make the queue con-
verge to its reference value. It calculates the packet drop probability directly
and thus provides faster responses than RED. On the other hand, removing
the threshold of RED may results in a higher loss rate. This is why the PI
controller performs better with ECN than without ECN. It seems that the
sampling interval corresponding to changed scenarios is not as severe as that
of RED, but in order to guarantee the stability of the TCP-AQM system and
maintain a stable queue length over a wide range of network dynamics, the
PI controllers with fixed-gain parameters are set for the worst case scenario,
namely, they are set quite conservatively. However, this causes sluggish re-
sponse when the network traffic conditions change. This also means that the
choice of its parameters is still the result of a trade-off between fast response
and stability of the system under extensively varying network conditions,
thus parameter setting is sensitive and difficult configuration under different
environments.
• Proportional Derivative
where q is the average queue length during sampling interval i, qref is the
target queue length. The PD controller algorithm follows:
threshold, for each service profile is needed, so the router will understand
when to apply the linear dropping function. pmax is replaced by mark probab-
ility denominator, which is the fraction of packets dropped when the average
queue depth is at the maximum threshold. It is the reverse of pmax in value.
When the average queue length is greater than the maximum threshold for
one service profile, all the incoming packets of this profile will be dropped.
The router also allows the administrator to change some parameters in
a slightly modified version of the average queue length calculation formula.
When the parameter is set, the router will automatically calculate the average
queue length using the following formula:
best parameter is selected for one algorithm, and a parameter that only 60%
effective is selected for another, then it is really not reasonable to reach the
conclusion that the first one works better than the second one.
Beside this, only a handful of work, notably those using control theory
design approach, thoroughly considered the reaction of the TCP, comparing
the large number of total researches. AQM is ’active’, and it is designed
to predict and avoid the congestion before it happens. As a result, the
dropping behaviour in AQM is not a mean to directly prevent the queue
size reaching the maximal size, but a mean to send the notification, control
the incoming traffic flows, and try to maintain the queueing delay within
the most preferable range. For those works that actually considered TCP
reaction, they are generally limited by the accuracy current TCP models,
most notably the fluid model [110][93]. Significant simplifications are made
during the development of common fluid models, usually by linearising the
non-linear TCP system around an operating point and assuming that the
system is time-invariant [58]. TCP is essentially non-stationary due to the
frequent change of network conditions. This limits the accuracy of the TCP
modelling, and consequently degrades the precision for the theoretical design
utilising this approach.
As there is currently no efficient way of calculating the best parameter
setting for different AQM schemes, even under a known network environment,
one can only continuously try different sets of parameters and comparing the
performance. This is not only time-consuming, but also very unlikely to
actually find the best setting because each parameter in the set can change
individually, thus vast number of parameter combination needs to be tested.
Also, the test is usually performed by software simulation, which is also a
time-consuming process since the proper test needs to be run on the correct
setup for enough long time duration so that generalized result can be reached.
By using the discrete-time queueing model, it is possible to find a math-
ematical way of calculating these parameters and analysing the behaviour of
specific AQM scheme directly, instead of waiting for the lengthy simulation
and checking the complex result of numerous instances of simulation tests,
which in many cases is difficult to reach a definitive conclusion. The con-
CHAPTER 2. LITERATURE REVIEW 55
3.1 Introduction
This chapter presents a review of the conventional queueing model for net-
work performance modelling. Relevant theories, useful background inform-
ation, and the conventional equilibrium-based calculation method are intro-
duced, which is followed by a classic RED queue modelled and analysed
using one of the most typical queueing models in order to demonstrate the
advantage and drawback of the conventional model and methods.
A model of a physical system is a mathematically precise representation
of the interaction of several variables and functions governing the original
system [31]. It would be desirable that the mathematical representation du-
plicates the operations of the original system as closely as the understanding
of the system and mathematics permitted. At the same time, this mathemat-
ical representation should also be simple enough to allow analysing and eval-
uating the required performance characteristics. As a result, in most cases,
these precise mathematical models are approximations of the real character-
istics of the systems which are modelled [17].
56
CHAPTER 3. CONVENTIONAL METHOD 57
of routers, and the queues are the waiting buffers on these routers. By using
appropriate stochastic processes to represent the behaviour of data packets
enqueue, being processed by the device, and dequeue, the performance of the
system, such as queueing delay and throughput, can be estimated [74].
The remaining content of this chapter is organised as follows: Section 3.2
presents various classifications of queueing model, based on different aspects
of their characteristics; Section 3.3 defines the performance measures in a
queueing system, and studies some important theories about their relation-
ship; Section 3.4 reviews the conventional method of analysing the funda-
mental Geo/Geo/1 queue; Section 3.5 makes detailed demonstration for the
definition of discrete-time time slot used in this research; Section 3.6 analyses
a Bernoulli/RED queue with the conventional method, and uses MATLAB
numerical solution to evaluate the modelling result in Section 3.7; Section
3.8 performs a review of the current research on larger scale queueing net-
works, especially the tandem queueing network; Section 3.9 concludes the
chapter by summarising the research method, advantages and limitation of
the conventional discrete-time queueing method.
• The arrival process of the customers. The most basic model usually
assumes that the interarrival times are independent and have a common
distribution. In many practical situations, customers arrival rate can
be roughly represented by a Poisson process (exponential interarrival
times) for a Continuous-time system, or equivalently a Bernoulli process
for a Discrete-time system [90]. Customers may arrive one by one, or
in batches, which is the inspiration of many batched traffic arriving
process model.
network modelling generally fits into this category as data packets in-
side a waiting buffer do not spontaneously leave the queue. However,
in some other applications, customers may be impatient and will leave
after exceeding certain amount of waiting time. One such example
would be when the customer are human individuals and they are wait-
ing inside a queue for a optional service.
– first come first served (first in first out), which means in order of
their arrival;
– random order;
– last come first served (last in first out), which means in a stack-like
service system;
– priorities, weighted service with different profile classes, such as
VIP customers receive prioritised service in a bank;
– processor sharing, which can be some kind of multiplexing mech-
anism.
• The waiting room, or the capacity of the queue. There can be a limit-
ation for the size of the buffer (waiting room), which will in turn limit
the number of customers allowed in the system. In a computer network
queueing model, as the size of the device’s memory buffer is limited,
there can never be more packet inside the waiting queue that exceeds
that limit.
ginal three-letter version. The fourth letter, K, is the capacity of the queue.
It is assumed that “K = ∞” if K is absent in the notation. The fifth letter,
N, is the size of the population of customers. It is also assumed to be of in-
finite if omitted. The final letter, D, is the queueing discipline. The default
value for this is FIFO (first in first out).
process has random outcomes [35]. There is always a certain degree of in-
determinacy in such system, so that even if the starting condition or the
initial state of the system is known, there are multiple, sometimes infinitely
many directions in which it may evolve. A generic stochastic process can
be very abstract and very complicated. In certain instances, it may be very
difficult to describe a generic stochastic process with a analysable mathemat-
ical model. However, many practical systems involving some part which can
be well modelled by considerably more simple class of stochastic processes,
which is called Markov process. It is named after the Mathematician Andrei
Andreyovich Markov, who originally defined and studied this property [116].
A Markov process is a special type of stochastic process which has the
so called Markov property, or memoryless property. It means that only the
most recent known observation affects the future distributions, while the
earlier observations do not [36]. If X = (X(t), t ∈ T ) is a stochastic process,
and T is a totally ordered index set of time, then
the first time is positive only after certain numbers of time slots, written as
i1 , · · · , in . If these set of positive integers i1 , · · · , in has the highest common
factor m and m > 1, then state A is a periodic state with period m. If m = 1,
then the state is aperiodic. For an irreducible Markov chain, if one state is
periodic with a period of m, then all other states are also periodic with
the same period value. The similar statement is also true for an irreducible
Markov chain with an aperiodic state. [31]
Another relevant definition regarding Markov chain is transient and recur-
rent states. In a chain, starting from state A, if the probability of eventually
returning to itself is less than one, then state A is call a transient state.
Otherwise, if the probability is exactly one, it is called a recurrent state.
In an irreducible chain, all states share the same transient/recurrent status,
and the chain with transient/recurrent states is called a transient/recurrent
chain. For any discrete-time Markov chain, exactly one of the following three
statements is true:
2. all the states are null recurrent, which means that it requires an infinite
amount of time slots before any state is revisited the first time;
3. all the states are positive recurrent, which means that time slots re-
quired for the first revisit to be a finite value.
enters the system to the time the customer leaves, excluding the time spent
in service. In a queueing model with stochastic arrival or departure process,
this is usually calculated as the mean waiting time, which is also usually
written as W .
The throughput S of a queueing system is defined as the number of cus-
tomers passing through the system per time unit (time slot). A variant of
this is the normalised throughput, which is usually given the same symbol S,
is defined as the number of customers passing through the system per mean
customer service time.
A secondary performance measure is the probability of blocking, Pb , which
is defined as the fraction of customers that arrive to find no waiting room
available to accommodate them. Clearly, this measure requires the waiting
room in the system to be finite, as it would otherwise be meaningless.
One of the most important and useful performance measures in any
queueing system is the mean waiting time, as it corresponds to the queueing
delay in a model for computer network. Little’s result [86] specifies a relation
between the mean waiting time W , the mean arrival rate of customers into
the systems λ and the mean number of customers stored in the system L, as
L = λW (3.2)
this queue is usually the basic form of others as well. More importantly, the
equilibrium-based method demonstrated with Geo/Geo/1 queue is essential
for the conventional queueing method.
In a homogeneous Geo/Geo/1 queue, arrivals form an independent Bernoulli
process, with an ∈ {0, 1}, n = 1, 2, 3, · · · ,, specifying either a customer ar-
rived in that time slot or not, and there is unlimited waiting room. The
queueing discipline is first-in first-out (FIFO). Let the probability of an ar-
rival in a slot be α and the probability of a departure in a slot be β. Using
the conventional method, assuming that the queueing system is in equilib-
rium (where the states probability distribution is stationary), then the state
transition diagram is shown in Figure 3.1, and the queue length process
{xn , n = 0, 1, 2, · · · } (where subscript n represents the number of packet in-
side the queue) is a Markov chain with infinite state space. It is not difficult
to show that this Markov chain is irreducible, aperiodic and positive recur-
rent, and thus has a unique stationary probability distribution, provided that
the mean rate of arrival per slot α is strictly less than the mean rate at which
packets can be served per slot β [116]. This should be intuitively obvious in
that if α > β, the queue length process will become unstable and the number
of customers in the system will build up to infinity, and the chain become
transient as longer numbered states can no longer be reached. If α = β, it
would seems that the queue may still remain stable and not toward infinity.
With α = β, this would mean that the service must never be inactive, and
only then it may keep up with the arrival, and statistically, the queue length
may only remain, never reduce. However, consider that in any queueing sys-
tem, the service of the queue is not active when the queue is empty. This
translate to the utilisation of the queue is strictly smaller than one. The lost
of service power leads to the increasing queue length, which is not possible to
reduce. Eventually, the queue length has not way to reduce, but is possible
to increase, and it will still build up to infinity, although the rate at which
the queue length is increasing is also infinitely small, and the chain is null
recurrent. From now on, and in this chapter, only the positive recurrent
chain which means α < β will be discussed.
Balance equation represents the characteristics that probability of trans-
CHAPTER 3. CONVENTIONAL METHOD 68
iting into any state is equal to the probability of transiting out of that state
when the system is at equilibrium. Under the assumption that α < β, balance
equations of the discrete-time M/M/1 queue can be expressed as follows:
in general,
α
Π1 = Π0 (3.7)
β(1 − α)
α2 (1 − β)
Π2 = Π0 2 (3.8)
β (1 − α)2
α3 (1 − β)2
Π3 = Π0 3 (3.9)
β (1 − α)3
or in general,
αk (1 − β)k−1
Πk = Π0 , k = 1, 2, 3, · · · (3.10)
β k (1 − α)k
CHAPTER 3. CONVENTIONAL METHOD 69
writing
α(1 − β)
γ= (3.11)
β(1 − α)
then
γk
Πk = Π0 , k = 1, 2, 3, · · · (3.12)
1−β
thus Π0 is obtained as
(1 − β)(1 − γ)
Π0 = (3.15)
1 − β(1 − γ)
the final result for the equilibrium distribution is thus obtained from 3.12
and 3.15 as
(1 − γ)γ k
Πk = , k = 1, 2, 3, · · · (3.16)
1 − β(1 − γ)
γ
S= (3.18)
1 − β(1 − γ)
α
S= (3.19)
β
S=α (3.20)
This means that with the α < β restriction and the system in equilibrium,
the mean rate per slot at which customers pass through the system is equal
to the mean rate of customer arrivals per slot.
The mean waiting time can be found directly from Little’s result as
∞
P
kΠk
k=0
W = (3.21)
α
This gives
∞
hX
k−1
i γ(1 − γ)
W = kγ
k=1
[1 − β(1 − γ)]α
γ
=
α(1 − γ)[1 − β(1 − γ)]
1
= (3.22)
(1 − γ)β
1
W = (3.23)
1−γ
This method to calculate throughput and waiting time is the same for any
CHAPTER 3. CONVENTIONAL METHOD 71
There are two logical choices for observations the customer behaviour
within a time slot. One is at the edge between different slots, and the other
is at the centre of the slot. However, there are different observational results
in customer numbers between these two methods. At the slot edge, any
departure is guaranteed to have completely left the system, and no arrivals
have begun entering the system. At the slot centre, the result in reverse can
be observed. Consequently, the state transition probabilities are different
with these two observations.
Considering a simple Geo/Geo/1/2 queue, with the arrival rate of α and
the service rate of β. If observed at the centre of the slot, the state transition
diagram will be showed in Figure 3.2
However, if the same system is observed at the slot edge, the transition
diagram will become as in Figure 3.3
If given example values to α,β such as 0.3 and 0.6 respectively, then the
transition probability matrix for centre observation is given by:
0.70 0.30 0.00
p1 = 0.42 0.46 0.12 (3.24)
while the transition probability matrix for edge observation is given by:
0.88 0.12 0.00
p2 = 0.42 0.46 0.12 (3.25)
The queueing model of the previous section uses the centre observation, as
is all the other models in this research unless specified otherwise.
the state probability distribution of the network is stable, and the previous
queue length that used to calculate average queue length will always equal to
current queue length, thus, current queue length is the average queue length,
and can be directly used to calculate the dropping probability. Due to the
classic RED policy of 100% drop rate after the upper threshold, it is obvious
that the queue length will never be longer than thmax + 1, providing that
the thmax + 1 is smaller than the waiting room buffer size B, which is to be
expected for a reasonable RED parameter configuration.
Writing lower threshold L and upper threshold J, then according to the
policy of the classic RED, when the average queue length is larger than L,
dropping action begins. At the state of L, based on the classic RED dropping
probability calculation formula
it will be 0, and the arrival rate will not change; for any states between L
(excluded) andJ (included), the dropping rate follow the above formula, and
has a value between 0 (excluded) and pmax (included). In classic RED setup,
pmax should be a value smaller than 1, thus, in the state J, the arrival rate
is small but not 0. However, after thmax , the drop rate is set at 1 constantly,
thus, J+1 is the last possible state, and the arrival rate at this state is 0.
The state transition diagram can be drawn as in Figure 3.4.
The queue length process is a Markov chain with a finite state space. It
is irreducible, aperiodic and positive recurrent and clearly satisfies the con-
ditions to have a unique stationary probability distribution, which is arrival
rate is always smaller than departure rate. The balance equation of this
queue is expressed as follows:
k−L
αk = α(1 − pk ) = α(1 − pmax ),
J −L
k = L + 1, L + 2, L + 3, · · · , J (3.32)
αk (1 − β)k−1
Πk = Π0 k , k = 1, 2, 3, · · · , L (3.33)
β (1 − α)k
αL+1 (1 − β)L
ΠL+1 = Π0 L+1 (3.34)
β (1 − α)L (1 − αL+1 )
αL+1 αL+1 (1 − β)L+1
ΠL+2 = Π0 L+2 (3.35)
β (1 − α)L (1 − αL+1 )(1 − αL+2 )
αL+1 αL+1 αL+2 (1 − β)L+2
ΠL+3 = Π0 L+3 (3.36)
β (1 − α)L (1 − αL+1 )(1 − αL+2 )(1 − αL+3 )
CHAPTER 3. CONVENTIONAL METHOD 76
so in general,
Π0 k=0
αk (1−β)k−1
Π0 β k (1−α)k
k ∈ [1, L]
L+1 L
Πk = Π0 β L+1α(1−α)(1−β)
L (1−α
L+1 )
k =L+1 (3.37)
αL+1 αL+1 (1−β)L+1
Π0 β L+2 (1−α)L (1−αL+1 )(1−αL+2 ) k =L+2
Π αL+1 αL+1 ···αk−1 (1−β)L+2
k ∈ [L + 3, J + 1]
0 β k (1−α)L (1−αL+1 )···(1−αk )
j+1
X
Πk = 1 (3.38)
k=0
j+1
X
Πk = Π0 + (Π1 + · · · + ΠL ) + (ΠL+1 + · · · + ΠJ+1 ) = 1 (3.39)
k=0
L
γk
P
αL+1 (1 − β)L
Π0 + Π0 k=1 + Π0
1−β (1 − α)L (1 − αL+1 )(1 − αL+2 ) · · · (1 − αJ+1 )
[(1 − αL+2 )(1 − αL+3 ) · · · β J−L + αL+1 (1 − αL+3 ) · · · β J−L−1 (1 − β)
+ · · · + αL+1 αL+2 · · · αJ (1 − β)J−L ] = 1 (3.40)
All the coefficient of Π0 in Equation (3.40) are β and αi , which can be cal-
culated directly by using the dropping probability function and the original
α. The equation is relatively complex, as the arriving rates of every state
between the two thresholds are different than each other. However, con-
siderable patterns can be identified. Thus, it is possible to use a computer
programme to easily solve this calculation. Some MATLAB functions are
created for this purpose, which will be used for numerical solution validation
in Section 3.7.
CHAPTER 3. CONVENTIONAL METHOD 77
0.7
0.6
0.5
Probability
0.4
0.3
0.2
0.1
0
0 1 2 3 4 5 6 7 8 9
State (Πk)
0.1
0.08
Rate
0.06
0.04
0.02
0
0 1 2 3 4 5 6 7 8 9
αk
J
X
S= Πk = 1 − Π0 ≈ 0.4995 (3.41)
k=1
The mean normalised waiting time can be solved using Little’s equation, then
CHAPTER 3. CONVENTIONAL METHOD 79
J
P
β kΠk
k=0
W = ≈ 1.7845 (3.42)
α
Comparing to the basic Geo/Geo/1 queue with the same α and β using the
equations from Section 3.4,
α
S= = 0.5 (3.43)
β
and
1
W = = 1.8. (3.44)
1−γ
This means that at a low traffic rate and a low pmax setting in RED para-
meter, only very few packet are actually affected by drop, because of the
very low probability that the queue length actually get over the thmin ,thus,
probabilistically speaking, the pd remains as a number very close to 0 during
the experiment.
As it was demonstrated that states before thmin has the following rela-
tionship with each other
α(1 − β)
Πk+1 =Πk
β(1 − α)
=Πk γ, k = 1, 2, 3, · · · , L − 1 (3.45)
this means that γ is always a value smaller than 1. Together with Equation
CHAPTER 3. CONVENTIONAL METHOD 80
As for the distribution relationship within range between thmin and thmin ,
because the RED active dropping operation is applied here, which means
that the actual arrival rate will be even smaller than before, and the previous
conclusion in Equation (3.46) remains. As for their relationship between Π0
and Π1 , because
α
Π1 = Π0 (3.47)
β(1 − α)
and
β
this means that in the situation of α > 1−β , Π1 will be greater than Π0 , thus
becoming the highest value in the distribution. Another scenario is designed
to verified this conclusion. Assuming that a queue with α = 0.18, β =
β
0.2, thmin = 5, thmax = 8, pmax = 0.2 (notice that α = 0.18 > 1+β = 0.2
1.2
≈
1.667), then the distribution is shown in Figure 3.7
It is obvious that the probability that the queue in larger queue length
states is much greater than the previous one. For this queueing system, the
mean normalised throughput becomes
S = 1 − Π0 = 0.8537, (3.49)
0.18
0.16
0.14
0.12
Probability
0.1
0.08
0.06
0.04
0.02
0 1 2 3 4 5 6 7 8 9
State (Πk)
8.2 respectively. The difference here between the two groups of values is
because of the RED active dropping mechanism, and the difference is already
quite significant, especially for the mean waiting time, which represents the
queueing delay in a equivalent network system. The reason for the basic
Geo/Geo/1 has a much larger waiting time value is because of its queue is
modelled as with infinite size, and thus the possibility of a very large queue
means the possibility of a very large waiting time, which will significantly
bring up the weighted waiting time as a result, just like long queue will
usually cause large network delay in real computer communication network.
The results from these two scenarios lead to the following conclusions: the
higher arrival rate α is, relative to the service rate β, the higher probability
the system will be in a larger queue length state. In addition, when α gets
close to β, the overall dropping probability of the queueing system increase,
and this increase is very dramatic when α becomes very close to β.
Unfortunately, the conventional equilibrium-based queueing method can-
not be used to analyse the performance of a queueing system if the queue is
not expected to reach equilibrium state, or the parameter variation is signi-
ficant and the queue never converge on the equilibrium state. This can be
observed even with a basic Geometric arrival process, if the parameter α is
CHAPTER 3. CONVENTIONAL METHOD 82
• All jobs at each node are served on a first-in, first-out basis. In other
words, there is no priority in serving the jobs.
• All jobs at each node belong to a single “category”. Jobs must follow
CHAPTER 3. CONVENTIONAL METHOD 83
λni
p(Yi = n) = p(Yi = 0) · (3.51)
Mi (n)
where
n
Y
Mi (n) = µi (j) (3.52)
J=1
If
∞
X λni
<∞ (3.53)
n=1
Mi (n)
∞
!−1
X λni
p(Yi = 0) = 1+ (3.54)
n=1
Mi (n)
then the equilibrium distribution of the open Jackson network has the fol-
lowing product form:
j
Y
π(X) = p(Yi = Xi ), where X ∈ Z+j (3.55)
i=1
it into many small time periods. If the time period is small enough com-
paring to the processing speed of network interface, then without the upper
layer’s control, the packet transmission process can be easily represented by
a memoryless process, and the basic model introduced in this chapter can be
still used. When every time period ends, it may have a probability to trans-
form into different states, which is determined by the state where the upper
layer protocol is currently. In practical TCP/RED system, this is mostly
determined by the congestion window size. By stochastic representation of
congestion window size based on queueing performance of previous time slots,
performance over a large number of time slots with varying parameters can
be precisely calculated.
Consider a scenario with a single TCP source sending to through a RED
gateway. In the first time period, TCP sending packets very slowly, and the
queue is likely to be relatively empty. This can be represented by a queueing
model where α β, and the distribution will weigh heavily on state 0. The
higher numbered states that within dropping range has a probability very
close to zero. When this time period is over, most likely, it will jump into
a different state where TCP transmitting packets at a faster rate, where a
balancing model with more probability density on the higher numbered states
can be established. With each transmission rate increase, the chance that a
packet been dropped during the period will increase, and so does the change
that it will change into a lower speed in the following time period. Putting all
these time periods together, each of them represented by different parameters,
then it actually represents the dynamic behaviour of the TCP/RED during
the entire time, and performance can be calculated.
By simply change the active dropping probability calculation method, this
model can be easily modified to other AQM schemes that drops packet with
a certain dropping function. Other schemes, which uses adaptive measures,
is actually using different dropping function (caused by changes of other
parameters such as the threshold or pmax ) in different time period, so by
using their according function during different time period, this model can
also apply to them as well.
When the traffic flow contains more than one TCP source, or even some
CHAPTER 3. CONVENTIONAL METHOD 87
4.1 Introduction
This chapter presents the analysis on the drawback and limitation of the
conventional discrete-time modelling and calculation method in a practical
dynamic network scenario. A new modelling and calculation method is
demonstrated in detail, which is validated by results comparison with the
conventional method in a typical queueing scenario.
Considering a Geo/Geo/1 queue (discrete-time M/M/1 queue) to be the
most basic and fundamental model of the discrete-time queueing family, there
is much research that aims to extend the queueing model [105][5]. Most of
the extension efforts focuses on replacing the basic arrival and departure
model with a more complicated and more accurate ones[118][47]. Almost
all of the derived models still use a similar method for calculation, which
assumes the queueing system is in the equilibrium state and solves the balance
equations to acquire the queue length state probability distribution for the
queueing system. However, requiring the equilibrium assumption is a severe
limitation for this method, since the practical network system is unlikely to
88
CHAPTER 4. PROPOSED TRANSIENT MODIFICATION 89
where pik is the transition probability from state i to state k. For a Geo/Geo/1/J
CHAPTER 4. PROPOSED TRANSIENT MODIFICATION 91
J
X
Πk = Πi pik , (4.2)
i=0
J
X
Πk (t + 1) = Πi (t)pik (4.3)
i=0
where variables t + 1 and t represent the time slot index. This equation is
known as the Chapman-Kolmogorov equation, named after the British sci-
entist Sydney Chapman and the Russian mathematician Andrey Nikolaevich
Kolmogorov[31]. When the system is in equilibrium state, state probability
distribution from different time slots are the identical, thus the time slot
index t + 1 or t is no longer relevant in the equation. Replacing both hand
sides of the Chapman-Kolmogorov equation with a common equilibrium state
probability Πk , and it can be rewritten as a similar form presented in Chapter
3. When the system is not in equilibrium state, a set of equations with a
similar formality with the balance equations can still be written, where the
state probability distribution for the queue in the next time slot would be
derived from the distribution values in the current time slot.
Based on the type of the queue used in the modelling, certain states of
the system can only be reached by transiting from a limited number of states
from the previous time slot, with a probability that is positive and usually cal-
culable. For example, in a Geo/Geo/1/J queue, state 0 can only be reached
by transiting from state 0 or 1 from the previous time slot, with the prob-
ability of no departure no arrival and one departure no arrival respectively.
In this way, the summation operation in the original Chapman-Kolmogorov
equation can be simplified as transitions with non-positive probability can
CHAPTER 4. PROPOSED TRANSIENT MODIFICATION 92
the queue is likely to be empty, as the hardware for storing data packet in the
queueing buffer generally losses any information inside when powering down.
The empty-queue initial state has a defined state probability distribution
(Π0 = 1). Starting from an empty queue state, and because at most 1 arrival
can occur in each time slot, it would be relatively straightforward to calculate
the state probability distribution for the few time slots at the beginning since
there are less possible states and transition with positive probability at this
point. The notation of Πi (j) will be used in the following demonstration
to represent the probability of the system in state i at time slot j. Let the
probability of an arrival in a slot be α and the probability of a departure
in a slot be β. The state probability distribution for slot 1, observed at the
centre of that slot with EAS, is
Π0 (1) = Π0 (0)(1 − α) = 1 − α
Π1 (1) = Π0 (0)α = α (4.5)
and it would be similar for the slots afterwards. After the Jth slot, as the
probabilities for the queue in all possible states (Π0 , Π1 , · · · , ΠJ ) are now
CHAPTER 4. PROPOSED TRANSIENT MODIFICATION 94
where P (t) is the state probability distribution of the queue at time slot
t [Π1 , Π2 , · · · , ΠJ ], and p(t) is the state transition matrix for the queue at
time slot t. For a homogeneous Geo/Geo/1/J queue with arrival rate α and
departure rate β, p(t) always equals to
1−α α 0 ··· 0
β(1 − α) αβ + (1 − α)(1 − β) α(1 − β) ··· 0
p=
0 β(1 − α) αβ + (1 − α)(1 − β) ··· 0
.
.. .
.. .. .. ..
. . .
0 0 0 ··· αβ + (1 − β)
(4.10)
In this special case, the state probability distribution k time slots after the
queue is empty can be represented as
where p is the homogeneous state transition matrix for the queue, which is
represented in 4.10. This is a special form for the so called n-step transition
probabilities equation [31].
With Equation (4.9), there is no special requirements needed, such as the
equilibrium assumption which limits the efficiency of conventional method
in a dynamic scenario. More importantly, the state transition matrix for
each time slot does not require to be the same value. Even using the same
Geo/Geo/1/J model, it is possible to simply vary the arrival and/or depar-
ture rate parameter(s) α and β in each time slot, and the calculation is still
straightforward. This property allows the development of a dynamic inter-
active model to represent the TCP-AQM source-queue dynamic interactivity
in Chapter 5.
As all of the other important performance measures of a queueing net-
work, such as throughput, mean queue length, delay, can be calculated dir-
ectly using the state probability distribution, which is explained in Section
3.3, it is reasonable to consider that obtaining the state probability distribu-
tion to be the single most important objective during the calculation phase.
With the proposed method which may work with a queue not in equilibrium
state, all the other performance measures can still be calculated using state
probability distribution exactly the same way if α is no greater than β, and it
has a unique stationary probability distribution, as demonstrated in Chapter
3. In case of α > β, a slight change is needed for the calculation of delay.
Little’s Law is used for the calculation of delay, and is usually written as
L = λW (4.12)
L
W = (4.13)
β
S = (1 − Π0 )β (4.14)
this calculation does not require equilibrium state. As a result, the waiting
time for a customer can always be represented as
L L
W = = (4.15)
S (1 − Π0 )β
Π0 (0) = 1 (4.16)
State probability distribution for time slot 2 can be derived from that of time
slot 1, which means
Π0 Π1 Π2 Π3 Π4
Proposed Method (20th slot) 0.5002 0.4167 0.0693 0.0115 0.0019
Conventional Method (equilibrium) 0.5 0.4167 0.0694 0.0116 0.001
Table 4.1: Data for State Probability Distribution with Different Methods
Keep calculating to 20th slot, and the result of the first 5 states (Π0 to Π4 )
is presented in the first data row in table 4.1. As in this case α is much
smaller than β, the probability that the queueing system in large length is
very small, and that is the reason the probability of any state after the first
few ones will be a very small number.
Now comparing this result with that of the conventional method. Ac-
cording to the equations 3.15 and 3.16, at equilibrium state, probability for
the first 5 states (Π0 to Π4 ) is presented in the second data row of table
4.1. It is clear that even starting at an empty queue state and only after
20 time slots (20 possible arrival and departure events) the result calculated
by 2 different method are already extremely close to each other. The small
different between the two is due to the fact that the queueing system has not
yet reach the equilibrium state at 20th time slot, after 20 possible arrival and
departure events, but it is already very close with the equilibrium probability
CHAPTER 4. PROPOSED TRANSIENT MODIFICATION 99
0.7
2nd slot
4th slot
0.6 8th slot
steady state
Probability Distribution
0.5
0.4
0.3
0.2
0.1
0
0 5 10 15
State
In this figure, the semi-doted line with triangle marking represents the
state probability distribution for the queue at equilibrium state, and the three
other lines represent the state probability distribution before equilibrium, at
2nd, 4th, 8th time slot respectively. As the probabilities for the system
in high numbered states are very small during all of the time due to the
relationship between parameters, the difference is more observable from the
lower numbered states. As more and more time slot pass by, the data points
get close to the balance distribution, and eventually the difference is hardly
noticeable.
CHAPTER 4. PROPOSED TRANSIENT MODIFICATION 100
0.25
20th slot
40th slot
60th slot
80th slot
0.2
800th slot
Probability Distribution
0.15
0.1
0.05
0
0 5 10 15
State (Πk)
It can be observed that as the number of time slot increases, so does the
probability of the system in high length states increase, until finally all of
the non-empty states have a same probability. If this is a Geo/Geo/1 queue
which has no upper limit, it means that the queue length will eventually
build up to infinity. This agrees with the null recurrent characteristic which
has been briefly discussed in Chapter 3.
In the next experiment, average queueing delays of Geo/Geo/1/J queues
with same service rate (β = 0.6) but different arrival rate (α = {0.2, 0.4, 0.6, 0.8})
are compared and the result is shown in Figure 4.3.
As is shown in this figure, when α = 0.2 and 0.4, the queueing delays
CHAPTER 4. PROPOSED TRANSIENT MODIFICATION 101
16
α=0.2
14 α=0.4
α=0.6
α=0.8
12
10
delay(slot)
0
0 5 10 15 20 25 30 35 40
slot
stay the same after roughly about 20 time slots, which means that both
queues have reached the equilibrium state (more precisely, are extremely
close to reaching the equilibrium state), and with a doubled arrival rate, the
queueing system with α = 0.4 has a higher queueing delay than its α = 0.2
counterpart. It can also be observed a slight increase of queueing delay time
for the α = 0.4 line, where the α = 0.2 line is almost horizontal after that
time slot. This means that the α = 0.4 scenario require longer to reach the
equilibrium state than the α = 0.2 one. In case of α = β = 0.6, the queueing
delay keeps rising, but the increasing rate is becoming much slower as time
goes by. However, this is not the case for the α = 0.8 queue, as the queueing
delay keeps rising at apparently a fixed rate before the queue is completely
full.
5.1 Introduction
This chapter presents a dynamic arrival process which behaves like a TCP
traffic source and interacts with the bottleneck queue. The dynamic and
responsive behaviour of a typical TCP traffic source is thoroughly analysed,
and a new model is proposed utilising the transient characteristics of the
extension for the conventional queueing method presented in Chapter 4.
One of the most important reasons for the difficulty of representing the
Internet traffic with a stochastic source model is that these models are usually
based on steady state analysis [94]. In a practical network system with
dynamic traffic flows, steady state, or equilibrium, is often not an appropriate
assumption. This is particularly important if the research objective is to use
queueing model to analyse AQM performance, as one of the main purposes
of AQM is to manage the burstiness of the traffic, and burstiness usually
indicates an unsteady packet transmission process. However, if the proposed
103
CHAPTER 5. DYNAMIC INTERACTIVE MODEL 104
typical technology involved here are various versions of DSL[20], various ver-
sions of T-carrier[32], coaxial cable[19], and more recently, optical fibre[108].
Except for optical fibre, which is still quite expensive despite its rapid devel-
opment, the popular version of all other technology only offer no more than
10Mbps of connection speed, which is much slower than the local connection
speed.
Due to the fact that the traffic profile of many network based applica-
tions are bursty in nature, most commonly, web browser with its underlining
HTTP protocol, only in a small fraction of time the bandwidth resource
would be utilised. Considering that if a client terminal only use the network
resource 1% of the time, a core router with the same network bandwidth as
the terminal client can easily serve 10 such clients, with the probability that
any of the two requiring network service at the exact same time, such may
result in congestion, can be calculated by
P =1−P
100 × 99 × 98 × · · · × 91
=1−
10010
≈ 1 − 0.6282
= 0.3718 = 37.18% (5.1)
While this seems to be a large enough probability, the majority of the collision
considered here are only two within ten users collide on a single instance, and
under the assumption of the core bandwidth are the same as that of every
user, which is not a likely scenario in a practical network system. With this
justification in mind, it can be easily concluded that a core link can easily
accommodate bursty users with several times larger combined bandwidth by
simply employ a small buffer with the capacity larger than 2 or 3 (which
allows data packets from 2 or 3 user arriving at approximately the same time
without the side effect of collision). This is another important reason why the
core link bandwidth are generally much smaller compared to the combined
user bandwidth. Under those configurations, the system should still be able
to provide a mostly congestion-free network service for the users the majority
CHAPTER 5. DYNAMIC INTERACTIVE MODEL 106
of time.
However, because the combined user bandwidth is larger, there is the
possibility of congestion, especially during peak traffic hours where more
users are likely to require network resources at a similar time. In these
scenarios, it is likely that too many traffic sources will transmitting packets
too fast and overwhelming the service capability, and the queue length and
queueing delay will increase, until finally loss event, either by active dropping
on an AQM enabled device, or due to the actual congestion where all the
mechanisms failed to prevent it from happening.
As TCP traffic is the single largest portion of the Internet traffic [81][57],
and the fact that it is the only type of traffic that responds to the congestion
feedback from AQM or any drop-tail gateway, it is crucial to construct a
dynamic interactive model of a single TCP traffic source which interacts
with the feedback from the queue.
The remaining content of this chapter is organised as follows: Section
5.2 performs detailed study of dynamic behaviour between the TCP traffic
source and the bottleneck queue, and presents an interactive model utilising
the new transient modification introduced in Chapter 4; Section 5.3 performs
MATLAB numerical solution to a typical scenario between a TCP source and
a bottleneck queue using the step-by-step analysis of the queueing system;
Section 5.4 performs NS-2 simulation using equivalent parameter configur-
ation with the previous MATLAB numerical solution, and their results is
compared with similarities and differences explained; Section 5.5 performs
additional evaluation of the proposed model with numerous scenarios with
varying parameters; Finally, Section 5.6 concludes the chapter by summar-
ising the characteristics of the proposed dynamic interactive model, as well
as the well-matched results from MATLAB numerical solutions and NS-2
simulations.
CHAPTER 5. DYNAMIC INTERACTIVE MODEL 107
and reach the destination which sends an ACK back to the source. It would
take t1 for the packet to reach the queue after it was transmitted by the
source, and it needs to wait d before departing the queue, followed by t2 to
reach the destination. After this, it would take t3 for the ACK to eventually
return to the traffic source. Assuming all delay are represented with time slot,
the round-trip time for this packet can be represented as D = t1 + d + t2 + t3 .
If the packet reaches the queue at time slot i, from the perspective of
the queue, the packet must have been transmitted a number of time slots
before i. It is not necessary for the queue to have the exact information of
when this particular packet was transmitted. If for some reason the incoming
packet must be dropped, then this event would take d + t2 + t3 before it was
detected by the source if the packet following packet is not dropped so that
duplicate ACK may be detected. After the source responded to the loss event,
the newly transmitted packet requires an additional t1 time slots before it
reaches the queue. This means that any event happens in the queue needs at
least RTT (D) time slot before the observed arrival rate at the queue changes
as a response. Similarly for the source, as any changes in RTT or duplicate
ACK must wait at least RTT time slot before it may be detected. This leads
to the conclusion that the individual values of t1 , t2 , t3 does not matter, only
their sum (RTT) does.
For the following research, all time slot index are that observed at the
queue, as the performance measures of the bottleneck queue are the focus of
the research, and the queueing delay can only be observed at the queue, while
CHAPTER 5. DYNAMIC INTERACTIVE MODEL 111
the source cannot differentiate queueing delay from other kinds of delay.
remains busy.
In a modern computer network system, it is highly likely that the system
processing speed is faster than the network transmitting speed. This means
that the transmission stage that a source is in is determined by its congestion
window size, and the stage in turn determine the higher level packet arrival
rate for the bottleneck queue. This makes congestion window size modelling
one of the most critical components. Assuming the congestion window size of
a TCP source with the following specification (modelled after the TCP-Reno
[4]):
CHAPTER 5. DYNAMIC INTERACTIVE MODEL 113
·At the start of the connection, the window size will be s number of
packets.
·During the slow-start stage and when window size is smaller than
the slow start threshold SSth , it increases the window size by 1
with every ACK received, effectively doubled with every round-
trip time (RTT)
·When window size exceeds SSth , it enters congestion avoidance
stage, and the window size is increased by 1 packet for every
RTT.
·After a timeout event is detected, it sets SSth to half of current
window size, and sets window size to 1 and re-enters the slow
start stage.
·After a triple duplicate ACK event is detected, it performs a fast
recovery. If any missing ack is detected during fast recovery [3],
it will be considered a timeout event and the source responds
accordingly.
·If the maximal window size smax is reached, the window size will no
longer increase, but will still be cut in half if a loss event is
detected.
(5.2)
s
t1 = (5.3)
α
CHAPTER 5. DYNAMIC INTERACTIVE MODEL 114
time slots. At this point, according to the specification of TCP, the source
stops the transmission and wait for acknowledgement packets from the des-
tination. The duration of this depends on the round-trip time (RTT) of the
data packets. Because of the assumption that the queue and gateway under
this study is the bottleneck of the connection, and only its performance is
inside the scope of research at the moment, it is reasonable to divide the
round-trip time into two different parts: queueing delay at this gateway d1 ,
and all the other delays, such as propagation delay, processing delay, trans-
mission delay, and queueing delay at other gateways d0 . As the performance
issue of the bottleneck gateway is the only focus here, it is logical to assume
them d0 to be time-invariant during the whole connection. Representing all
of the other delays with d0 , then the round-trip time can be represented as
D = d1 + d0 , where d1 here is the queueing delay of the first packets in the
bottleneck queue in question, which can be easily derived by calculating the
state probability distribution using the modified method proposed in Chapter
4.
Assuming there is no loss in other places of the connection (which can
be easily modify it to be a fixed positive value as well, but for simple initial
demonstration of the new dynamic TCP model this is not necessary and may
cause unnecessary complication) and the basic drop-tail queue management
scheme is deployed, acknowledgement packet for the first data packet arrives
at the source d1 + d0 time slot after it was transmitted, at which point the
congestion window size increases and this source returns to the active trans-
mission stage. This behaviour with slow start during the early stage of the
connection is relatively straightforward, as the queue starts from an empty
state and the window sizes are relatively small at this point. After several
time slots, the probability of the full queue capacity becomes positive, which
means that the arriving packets are dropped if the buffer is full at that mo-
ment. As the probability of the each packet been transmitted in a certain
time slot can be determined by the active transmission rate and its transmis-
sion stage, it is possible to represent the probability of the acknowledgement
of this packet arriving back at the source in d1 + d0 time slot after this one
by αpnot dropped assuming that time slot is in active transmission stage. The
CHAPTER 5. DYNAMIC INTERACTIVE MODEL 115
pd = 1 − pd = 1 − (pf + pa ) (5.4)
where pdc and pic are the probability for congestion window size decrease
and increase, respectively, SDV and SIV are the congestion window size de-
creasing and increasing value respectively, should the appropriate condition
is satisfied. S(T +1) and S(T ) are statistical congestion window size, where
{T, T + 1, · · · } are batches of time slots divided by RTT. These batches are
of similar size if the RTT of the packets are not oscillating heavily and no
CHAPTER 5. DYNAMIC INTERACTIVE MODEL 116
loss event of any kind are detected. However, the loss event may be detec-
ted at any random point inside or on the edge of a time slots batch, which
will end this batch immediately and change the congestion window size, and
restart the RTT count. According to the TCP specification defined in this
model, congestion window size increases by 1 MSS for every RTT with no
loss event of any form. RTT is represented by di + d0 . This leads to the
following conclusions:
SIV = ST (5.8)
In this figure, the horizontal axis with evenly space small ticks represents
the discrete-time time slot in the model. Above the time slot axis, the “1”
and “0” represents the source is in the “active transmission stage” and “idle
stage”, respectively. The “a” and “d” just above and below the time slot axis
depict the packet arrival and packet drop in that time slot. Departure is not
shown here. As mentioned before, for either the most common AQM imple-
mentation or the basic drop-tail scheme, arriving packets are only dropped
before they may enter the queue. If the queueing is at full capacity, or the
specific AQM active dropping criteria is satisfied, the packet is dropped im-
mediately as it attempts to enter the waiting queue. Thus, as it can be
observed in the figure, all dropping event happens immediately after the ar-
rival event, and in the same time slot. For the same reason, all packets that
have successfully enter the waiting queue are guaranteed to eventually re-
ceive the service and leave the queue. In this particular scenario, this would
represent an ACK would eventually be received by the source. Below the
dropping event indicator is the timer at the source for the timeout event. It
corresponds with the first dropped packet (assumed to be the first packet lost
in recent time slots), which is right after the source received the duplicated
ACK for the previous packet.
In this scenario, it is assumed that all subsequent packets up to timeout
are dropped. In reality, up to two packets may not be dropped, thus, the
source would received only up to two duplicate ACKs before the timeout
timer signal that event. The probability for triple duplicate ACKs can be
calculated as the following:
where
From Figure 5.2 shown above, it can be observed that from the time slot
CHAPTER 5. DYNAMIC INTERACTIVE MODEL 118
when the initial drop happens to the time slot which corresponds to when
the internal timer of the traffic source detects a timeout event, the number of
time slots equals to 2RT T , thus can be represented as 2(di +d0 ). For p0 received ,
which is the probability that none of the packet following the initial drop is
able to reach the destination and result in duplicate ACK being sent back to
the source, it can be calculated as the following in this scenario
where pe (t + 1) are the probability that no packet from the source enter the
queue in the time slot following the initial drop, and α(t + i) is the observed
arrival rate at the queue in that time slot i, ΠJ (t + i) are the probability that
the queue is full (in maximal queue capacity state J) in that same time slot
i. Writing
2(dt +d0 )
Y
δ = p0 received = [α(t + i)ΠJ (t + i) + (1 − α(t + i)] (5.12)
i=1
then the probability that only one of the packet following the initial drop
CHAPTER 5. DYNAMIC INTERACTIVE MODEL 119
Similarly, the probability that only two of the packets following the initial
drop reaches the destination can be calculated as
CHAPTER 5. DYNAMIC INTERACTIVE MODEL 120
p2 received
= (1 − pe (t + 1))(1 − pe (t + 2))pe (t + 3)pe (t + 4) · · · pe (t + 2RT T )
+ (1 − pe (t + 1))pe (t + 2)(1 − pe (t + 3))pe (t + 4) · · · pe (t + 2RT T )
+ (1 − pe (t + 1))pe (t + 2)pe (t + 3)(1 − pe (t + 4)) · · · pe (t + 2RT T )
..
.
+ (1 − pe (t + 1))pe (t + 2)pe (t + 3)pe (t + 4) · · · (1 − pe (t + 2RT T ))
+ pe (t + 1)(1 − pe (t + 2))(1 − pe (t + 3))pe (t + 4) · · · pe (t + 2RT T )
+ pe (t + 1)(1 − pe (t + 2))pe (t + 3)(1 − pe (t + 4)) · · · pe (t + 2RT T )
..
.
+ pe (t + 1)pe (t + 2)pe (t + 3) · · · (1 − pe (t + 2RT T − 1))(1 − pe (t + 2RT T ))
2RT
XT δα(t + 1)(1 − ΠJ (t + 1))α(t + k)(1 − ΠJ (t + k))
=
k=2
[α(t + 1)ΠJ (t + 1) + (1 − α(t + 1))][α(t + k)ΠJ (t + k) + (1 − α(t + k))]
2RT
XT δα(t + 2)(1 − ΠJ (t + 2))α(t + k)(1 − ΠJ (t + k))
+
k=3
[α(t + 2)ΠJ (t + 2) + (1 − α(t + 2))][α(t + k)ΠJ (t + k) + (1 − α(t + k))]
..
.
2RT
XT δα(t + 2RT T − 1)(1 − ΠJ(t+2RT T −1) )α(t + k)(1 − ΠJ (t + k))
+
k=2RT T
[α(t + 2RT T − 1)ΠJ(t+2RT T −1) + (1 − α(t + 2RT T − 1))][α(t + k)ΠJ (t + k) + (1 − α(t + k))]
2RT
XT 2RT
XT δα(t + m − 1)(1 − ΠJ (t + m − 1))α(t + k)(1 − ΠJ (t + k))
=
m=2 k=m
[α(t + m − 1)ΠJ (t + m − 1) + (1 − α(t + m − 1))][α(t + k)ΠJ (t + k) + (1 − α(t + k))]
(5.14)
From Figure 5.2, it can be deduced that during the time from the initial
packet drop to the time slot when timeout is detected at the traffic source,
the source goes through at least two full “idle stage” and at least one full
“active transmission stage”, if the initial drop happens in the middle of an
“active transmission stage”, or two full “active transmission stage” if that
initial drop happens at the edge of one. This is due to the fact that without
CHAPTER 5. DYNAMIC INTERACTIVE MODEL 121
a dropping event detected, the congestion window size of the source can only
change every RTT, thus, the duration of an “active transmission stage” and
the following “idle stage” is the same as that of a RTT. Analysing the form
of Equation (5.11), each factor represents the probability that packet from
that particular traffic source do not enter the queue. It is the addition of
a packet arrives the queue from the source and subsequently dropped due
to full capacity, and no packet arrives at all. During the “idle stage”, the
observed arrival rate α ≡ 0, thus that probability
During the “active transmission stage”, the observed arrival rate 0 < α < 1.
In order for the factors corresponding this stage to be reasonably large, the
value for “ΠJ ” must remain high. However, due to the service of the queue is
still active during the “idle stage” while the arrival rate is zero, packets depart
and freeing up space in the queueing buffer. The queue would no longer be in
full capacity. As soon as the system returns to “active transmission stage”,
a packet arrivals the queue, and it will be able to enter the queue, eventually
resulting in the duplicated ACK being detected. The probability that in all
of the following x time slots no packet arrives can be calculated as (1 − α)x .
From the analysis in the previous paragraph, it can be deduced that the
power index x ≥ RT T . Under the assumptions in this model that the active
transmission rate is larger than the service departure rate and RTT is not very
small for a common for a modern system, this would means p0 received → 0.
Similar conclusion can be drawn for Equations (5.13) and (5.14).
With a closer look at this system, under the drop-tail queueing manage-
ment scheme, the only possible dropping in the system occurs if the maximal
queueing capacity is reached and a new packet arrives. This leads to the
conclusion that dropping probability is 100% for any incoming packet if the
current maximal queueing capacity is reached. Consider the assumption that
the arrival rate during active transmission stage is greater than that of de-
parture rate, the queue length increases when the traffic burst entering the
queue at a faster rate than they are leaving. If the congestion window size is
CHAPTER 5. DYNAMIC INTERACTIVE MODEL 122
large enough, which means that this burst of traffic is long enough that the
maximal queueing capacity can be reached, then all the exceeding packets
in that burst would be lost. For example, if the active transmission rate of
a source is four times larger than that of service rate, then after the queue
is full, 75% of the remaining packets in the same burst would be dropping,
while the other 25% of them would enters the queue as packets depart from
the queue through service and thus freeing up additional waiting space. This
would mean that in a single TCP source model, unless the RTT is very small
which means that the timeout (usually 2RTT) would be reached very fast,
which is not likely in a practical modern internet connection model as long fat
network [67] are consider one of its common characteristics, there is always
a way for 3 data packets to go through thus allowing the triple duplicate
ACKs to be detected, given there is large enough amount of data waiting to
be transmitted.
In this case, it is logical to assume that every loss event is a triple duplicate
ACKs event. In every time slot, the source would react with the probability
of
pdc = pd = ΠJ + pa (5.16)
S(T )
SDV = − (5.17)
2
S(T )
SSth = (5.18)
2
Then, it will retransmit the missing packet, pause the transmission and wait
for its ACK. Slow start would only be require if this one times out as well. For
the retransmitted packet to timeout, it must be either dropped, or its RTT
must increase to double of the previous RTT value. In a drop-tail queue,
packets are only dropped if the maximal queue capacity is already reached.
CHAPTER 5. DYNAMIC INTERACTIVE MODEL 123
This would mean that the queueing delay is already at its maximal possible
value for the previous packet whose RTT is used to determine whether the
retransmitted packet timeout. Under the assumption that all other delay
contributing to RTT is fixed, it is not possible for the retransmitted packet
to have a RTT value which is two times larger than the previous RTT. As
a result, this retransmitted packet must be dropped if the source detects
its timeout, which means that there is a probability of pd = ΠJ that the
retransmission leads to a timeout, and thus the source re-enters the slow
start stage.
With the window size defined, the transmission status (either the source
is in the “active transmission stage” or the “idle stage”) during each time
slot can be calculated by comparing the sum of the size of un-acknowledged
packets and the current congestion window size, and thus the model for
an entire TCP connection becomes a combination of many stages, each of
that stage can be represented by a simple Geo/Geo/1/J queueing model
with different parameters (most importantly, α), and the transitions between
different stages are determined by the status of the congestion window size,
which is in turn affected by the performance measure (namely, the packet
drop rate) of the queue, quite similar to the way TCP source behaves in
practical systems. In this way, the model is able to capture the Additive
Increase Multiplicative Decrease (AIMD) characteristics of a dynamic TCP
source behaviour while still be simple enough to for calculation and analysis
with the modified queueing model proposed in Chapter 4.
Finally, with this model, it is possible to obtain the statistical perform-
ance measures of the system at every time point by using the generalised
Little’s Result presented in Chapter 4 as Equation (4.15) and throughput
as (1 − Π0 )β, while the dropping rate is already used during the calculation
of congestion window size by pd = ΠJ + pa . All three of the performance
measures require the state probability distribution of the queue at the time
slot, which can be obtain by the generic state probability distribution calcu-
lation equation presented in Chapter 4 as Equation (4.9). Although it is a
dynamic model, every time slot is still a basic Geo/Geo/1/J queue only with
a varying α value. Thus, all of the state transition matrix used in Equation
CHAPTER 5. DYNAMIC INTERACTIVE MODEL 124
(4.9) can still be presented with matrix (4.10). The α value is determined by
the different transmission stages in which the source is in at the particular
time slot, which is in turn derived by comparing the sum of the size of trans-
mitted and n-acknowledged packets with the congestion window size which
is calculated in Equations (5.5), (5.6), (5.7), (5.8), (5.17), (5.16) and (5.18).
In order to validate this new proposed model, and further demonstrate its
calculation process, MATLAB numerical solution is performed based on the
equations deduced here. Then this result is compared to NS-2 [1] simulation
with the identical scenario parameters.
One of the major reason for the difficulty with performance measure com-
parison is that with discrete-time queueing model, the size of the time slot
is not generally associated with the physical time unit seconds (s) or mil-
liseconds (ms). Most of the performance measures, with the exception of
dropping probability, depends on the size of the time slot. The throughput
and waiting time in discrete-time queueing model are both associated with
the unit of time slot, which means that with the identical physical system,
if different sizes of time slot are selected during two different modelling pro-
cess, the throughput and waiting time value calculated would be different.
Assuming the time slot size of the first model is two times as large as that
of the second one, then the numerical value for both throughput and waiting
time for the first model would be only half of that for the second model in
units of time slot. Dropping rate is represented as a probability value, not
generally associated with units of time slot, but for a dynamic model where
dropping rate is variant over time, a time slot value which can be easily con-
verted into the physical time unit of seconds (s) or microseconds (ms) is also
crucial so that the calculated dropping probability within the mathematical
model can be compared with that measured in the physical system.
For the above mention reasons, in order to identify a better way to com-
pare the theoretical calculation result with the physical one, the first step
must be the definition of size of time slot. As this model is used to represent
a measurable duration of TCP connection activity instead of an unspecified
duration as in the conventional equilibrium state calculation method, time
slot must have a specific value, which will in turn affect the entire calculation
process. The size of the time slot must be determined carefully, as a bigger
value can make the calculation significantly less complex, while a smaller
value can provide extra accuracy, up to a point where it is already smaller
than the size of hardware time clock. As the simple Bernoulli process is used
to model the arrival process, the time slot value must be sufficiently small so
that the dynamic behaviour of TCP traffic source, including the transmission
speed increase and decrease in response to the dropping event in the queue,
can be accurately modelled by Bernoulli process inside each time slot.
A reasonable choice would be making both α and β a value of smaller than
CHAPTER 5. DYNAMIC INTERACTIVE MODEL 126
1. Physically, it would represent a time slot with a size that is no larger than
the time required for the source hardware to transmit a single data packet
during the “active transmission stage” while also no larger than the time
required for the bottleneck service hardware to processing and forwarding a
single data packet. In this way, the maximal arriving packets and maximal
departing packets in every time slot is both one, and thus it would become
extremely similar to the basic Geo/Geo/1/J queue. As the size time slot
is small enough, as long as the source is in the “active transmission stage”,
the behaviour of this system can be very well modelled by the Geo/Geo/1/J
queue. When the condition of congestion window size dictates that the source
enters the “idle stage”, the same Geo/Geo/1/J queueing model can simply
change the arrival rate parameter α into zero, and it would still be a accurate
representation of the physical system.
As the arrival rate α varied almost constantly, it would be more logical to
define the size of the time slot base on the processing speed and bandwidth
of the link leaving the gateway while preventing the calculated arrival rate
during active transmission stage exceeding 1. In practice, a appropriate value
can be assigned to β first based on the relative bandwidth value of incoming
and exiting link, then the time represented by each time slot can be calculated
by
β × Spkt
Ts = (5.19)
B
where Ts is the physical time represented by each time slot, Spkt is the packet
size, and B is the exiting bandwidth of the bottleneck gateway (assuming it
is smaller than the physical processing rate of service, which is highly likely
in the modern practical network system). As the gateway which the model
represents are most likely to be routers in practical systems which is a network
layer device, IP packet size should be used in this equation. For simplicity
reason, IP packet size is fixed to the maximal value that can be inserted in a
single Ethernet frame in a regular Ethernet network, as many LAN doesn’t
support segmentation of IP packet. It is also reasonable to assume that
this is also the maximal segment size (MSS) used in the congestion window
CHAPTER 5. DYNAMIC INTERACTIVE MODEL 127
Te
nt = (5.20)
Ts
• Calculate other factors for delay of the connection in unit of time slot
CHAPTER 5. DYNAMIC INTERACTIVE MODEL 128
Ds0 by
D0
Ds0 = (5.21)
Ts
After the parameter conversion, the programme starts to calculate the con-
nection and the queueing behaviour of the bottleneck gateway slot by slot,
using functions similar to the ones in Chapter 4. However, beside the queue
length process calculation, the programme now keeps records of every packet
that has been transmitted, and put them into a transmission window, so
that it can be compared with the congestion window and determine whether
or not it has been exceeded. This determines which transmission stage the
source will be in during the following time slot. A record of every packet
that has departed from the queue or dropped in the queueing process due to
various reasons is also kept by the programme to represent the transmission
and receive of acknowledgement, respectively. Because of the delays from
the queue D, and other factors represented as Ds0 , a packet that was trans-
mitted on time slot i will receive its acknowledgement at i + D + Ds0 time
slot assuming it is not dropped. When acknowledgement packet arrives, the
corresponding packet will be considered as successfully transmitted and re-
ceived, so that it will be removed from the transmission window and allowing
additional un-acknowledged packet to be transmitted. The state distribution
of the queue in every time slot during the experiment are also recorded so that
the performance measures such as mean queue length, delay and throughput
can be calculated for each slot based on the state of the queue during that
time. Additionally, the programme will keep assessing the network situation
and calculate the statistical congestion window size based on Equation (5.5),
(5.6), (5.7), (5.8), (5.17), (5.16) and (5.18).
CHAPTER 5. DYNAMIC INTERACTIVE MODEL 129
18
16
14
Mean Queue Length (packets)
12
10
0
0 10 20 30 40 50 60
Time (s)
to the slow-start stage when the transmitting window size increases expo-
nentially. Upon closer investigation, the value of mean queue length peaks
at the beginning of the experimentation, corresponding to about the 220th
time slot, when it almost reaches the maximal buffer size 20, before starting
to decrease. This represents that it is most likely that the first packet loss
event has been detected, while the source decrease its congestion window size
while perform the fast recovery. During most of the time, the TCP source
increases and decreases the congestion window size as it is receiving correct
ACK or duplicate ACKs. As a result, the mean queue length also fluctuates
within a certain range. The average queue length of the entire duration of
this experiment is 9.6787.
After the mean queue length of this experiment is calculated from state
distribution of the queue, the queueing delay is calculated and presented in
Figure 5.4.
200
Average Queueing Delay (ms)
150
100
50
0
0 10 20 30 40 50 60
Time (s)
0.9
0.8
Normalised Throughput (Mbps)
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0 10 20 30 40 50 60
Time (s)
0.35
0.3
0.25
Average Drop Rate
0.2
0.15
0.1
0.05
0
0 10 20 30 40 50 60
Time (s)
likely to be dropped during that time. However, in order for a actual packet
dropping event, an arrival is needed. Thus, the final representation of a
packet dropped in any time slot is αΠJ . As it has been discussed during the
queue length paragraph before, it is statistical highly likely that the queue
length is high during the time that congestion window is already very large
and the first packet loss event is about to be detected by the source. During
this time, the queue also has the highest possible of being in the full capacity
state. As a result, the dropping rate is at its highest value during around
220th time slot. After this, because the congestion window is increasing much
slower, and decreasing very fast if a loss event is detected, probability of queue
being full is much less likely. Overall, the average dropping probability value
of the entire experiment is 0.45%.
80ms. If the processing delay and transmission delay are considered negligible
is this case, this type of connection setup provides a 200ms round-trip delay
other than the queueing delay, identical to our assumption in the MATLAB
experiment. The queue in R1 utilises the drop-tail scheme, and the buffer size
is 20 packets. All data packets in the simulation are 1500 bytes in size. The
connection simulation runs for 60 seconds, and the queue length, queueing
delay, throughput is captured through NS-2 build-in script functions.
The instantaneous queue length presented in Figure 5.8 is captured through
the queue monitor function in the NS-2 scenario TCL script.
It checks the number of packets inside the queue of R1 frequently (in
this case, every 0.05 second) and record the data into a file on the hard
drive. It can be easily concluded that the TCP source behaved the way it is
expected. Because the maximal buffer size of the queue is 20, the packet size
is 1500 byte, they represent 30000 byte in buffer which is smaller than the
maximal congestion window size of N1 which is 65535 bytes. As a result, the
maximal window size will never be reached, and the connection will never
reach a steady state. This figure may seem to have a little bit different shape
CHAPTER 5. DYNAMIC INTERACTIVE MODEL 135
20
18
16
14
Queue Length (packets)
12
10
0
0 10 20 30 40 50 60
Time (s)
than that of the MATLAB figure. The reason for this is because the queue
length measured here is instantaneous queue length, and the one calculated
in previous section is mean queue length, which is a weighted expectation
value of different instances. Despite this, the average queue length of this
NS-2 experiment over 60 seconds is 9.6592 which is very close to MATLAB
average of 9.5669. The approximately less than 1% difference between then is
partially because of the occasionality of a single instance of a connection, and
also due to some necessary assumption made during the the TCP behaviour
modelled process, such as completely ignore the probability of any initial
drop leads to a timeout.
The instantaneous delay of this TCP connection simulation is presented
in Figure 5.9.
This value is captured by using the awk script to analyse the simulation
trace file which contains every single event in the simulation. The script will
locate the time stamps of every packet arriving at node R1 queue, comparing
CHAPTER 5. DYNAMIC INTERACTIVE MODEL 136
250
200
Queueing Delay (ms)
150
100
50
0
0 10 20 30 40 50 60
Time (s)
them with the time stamps of they leaving node R1 queue. Considering that
the link speed is relatively low and the processing and transmitting delay is
negligible, this time difference will be the instantaneous queueing delay at
node R1 for each packet. Overall, the instantaneous delay share most of the
property of instantaneous queue length, same as the relationship between the
mean queue length and average queueing delay in the equivalent MATLAB
experiment. This value here has a average of 127.1405ms over the 60 seconds.
It has a similar very small difference with the average in MATLAB which is
123.5741ms.
Following the delay figure, the throughput of the connection is presented
in Figure 5.10.
This performance is measured by a function in the simulation scenario
TCL script, similar to the way of instantaneous queue length measurement.
The function checks regularly (in this case, every 0.05 second) how many
packets have passed through the queue in question. Multiplied by the size
CHAPTER 5. DYNAMIC INTERACTIVE MODEL 137
1.2
1
Throughput (Mbps)
0.8
0.6
0.4
0.2
0
0 10 20 30 40 50 60
Time (s)
of each packet, then the result is the throughput of the queue, and thus,
the throughput of this connection. It is worth mentioning that while it may
seem erroneous that some data point is above 1.2Mbps as the link capacity
is only 1Mbps. This is because the way this value is calculated. Packets
on both edges of the 0.05 time slot may be considered inside the slot while
they are only partially inside, and the majority of them actually located in
other time slot. This will cause certain slot to be considered with higher
number of packets passing through, which causes the spike point in the fig-
ure. The average throughput value of the entire simulation of 60 seconds
is 0.9356Mbps, very similar to that of MATLAB calculation which has an
average of 0.9327Mbps.
Finally, the packet dropping figure is presented in 5.11.
Due to the characteristics of the drop-tail queue, the dropping rate in a
physical system can only be 0 or 1, where as long as the queue is not at its
full capacity state, any arrival packet is accepted, thus the dropping rate of
CHAPTER 5. DYNAMIC INTERACTIVE MODEL 138
0.8
Drop Rate
0.6
0.4
0.2
0
0 10 20 30 40 50 60
Time (s)
0, and all new arrival packets are dropping if the queue is at its full capacity
state. Compare this figure with that of queue length, it can be observed
that all dropping corresponding exactly with the time where queue length is
at its highest possible value. Of all the transmitted data packets, the rate
of which are dropped is 0.31%. It seems a little small comparing to the
MATLAB value of 0.45%, but this is mostly due to the fact that only very
few number of packets has been dropped in the short time of 60 seconds,
and the sample space is very small for such a small probability event to be
correctly compared to its statistical value.
Generally speaking, this instance of NS-2 simulation has a relatively close
performance measurements to the MATLAB calculation of the model with
equivalent parameters. The differences experienced here are considered the
difference of a single instance over a statistical result which would hopefully
be alleviated by performing more instances of simulation and calculation,
and difference between some TCP technical details of the TCP used in the
CHAPTER 5. DYNAMIC INTERACTIVE MODEL 139
Buffer Size 10 20 30 40 50
Method Mean Queue Length (packets)
MATLAB 2.147593 9.566885 24.593914 24.641096 24.642103
NS2 2.170407 9.659185 24.688279 24.688279 24.688279
Method Average Queueing Delay (ms)
MATLAB 29.909851 123.573614 317.742117 318.351921 318.364713
NS2 38.085 127.14 307.31 307.31 307.31
Method Average Throughput (Mbps)
MATLAB 0.701372 0.932729 0.985815 0.986427 0.986503
NS2 0.703771 0.935629 0.987039 0.987039 0.987039
Method Average Drop Rate
MATLAB 0.014239 0.004435 0.000502 0.000118 0.000019
NS2 0.009513 0.003055 0 0 0
rate also decreases, and this is directly linked to the throughput, which also
decreases in this case. This can be observed from the first two columns of
data sets in table 5.1.
When the buffer size increases, however, similar conclusion may not be
draw directly in reverse. In this case, because the maximal window size of
the TCP source is 65535 byte, and the size of each packet is 1500 byte, this
means there can be no more than 43 ( 655351500
= 43.679) packets in the wire and
buffer altogether even with the maximal window size reached. The result is
when the buffer size is 30, the queue length will reach a stable value at 26. As
there is no loss at all, the entire connection will be a steady flow of 1Mbps for
about 59s of the simulation. It can be observed that the performance with
buffer size 40 is almost exactly the same as buffer size 30, as it is confirmed
again with the 50 buffer size results.
In all four types of performance measures, the delay from two different
methods appears to more different than any others. This is mainly because
that in MATLAB numerical solution, delay is calculated using the generic
Little’s Law, derived directly from queue length, while in NS-2, delay is
calculated by subtracting the departing time with arriving time for packets
that are not dropped. However, packets that not dropped are not evenly
distributed over time, and the numerical solution one is calculated for every
time slot, and time slot is fixed size. However, the most important fact is
that despite in some of the scenario the different is larger, the increasing and
decreasing trend are the same and they match the expectation.
Overall, the result from simulation and calculation matches very well in
all the scenario. Difference is slightly larger with 10 buffer size set, as with
the very small buffer size, the result of queue length from NS-2 simulation
oscillates heavily, thus difference between statistic calculation from queueing
theory and deterministic simulation result become greater. It would be ex-
pected that if the buffer size is set to 2 (which is not very reasonable but still
possible) this difference will become even greater. Difference is much smaller
with 30, 40 and 50 buffer size, as all of them reach a steady connection status
with very little dynamic behaviour. Another difference is the absence of drop
in NS-2 simulations at buffer size 30 to 50, while the small but positive values
CHAPTER 5. DYNAMIC INTERACTIVE MODEL 142
mean queue length as well as other lower throughput. With the arrival rate
increasing beyond 2Mbps, because the arrival rate is large enough relatively
to the service rate, the queue length can increase steadily. The maximal
buffer size are the same for all of these scenarios, which means their queue
length are just different sets of linear increase from 0 to 20 then back to 0
at a slightly differed rate. Observing from the NS-2 performance figures in
previous sections, and according to rudimentary mathematical knowledge,
they should share a similar average value around 10 which is half of the
maximal queue length value. It can also be predicted that with this linear
growing mechanism, it is extremely unlikely that average queue length can
be much larger than 10.
Overall, the 2 groups of data match quite well with each other, with it
better on the higher arrival rate end. There are still some difference with
delay on the low arrival rate end, but it mostly diminished at the high arrival
rate end. With higher arrival rate, the traffic source simply has to spend a
larger ratio of time in its “idle stage” instead of “active transmission stage”.
Ultimately, the congestion window size increasing speed depends on RTT,
as during congestion avoidance stage, window size can only increase 1 MSS
for every RTT. According to the analysis from Section 5.2 this chapter, the
congestion window size is the deciding factor for the transmission speed,
which is the arrival rate of the queue. As the RTT from other source is the
same for all experiments, the overall RTT is also going to be very similar due
to the similarity of queue length in all higher rate scenarios.
size has limit the future increase of transmission speed, and thus a steady
flow are reached. In these two scenarios, the exiting bandwidth is much
higher, and with its delay remains the same, it bandwidth-delay product is
much higher, and eventually resulting that the queue length cannot increase
more.
Another major difference of this group comparing to the others are, with
various departure rate, the queueing delay with the same queue length is
different. In the first group of scenarios with 0.4Mbps departing rate, the
queueing delay is even higher than that in the buffer size experiments when
the buffer size is increased over 30 packets. This also explains that why both
the third group of scenarios with 1Mbps departure rate and the last group
of scenarios with 1.9Mbps departure rate has a similar average queue length
of around 9.6 packets, but their queueing delay values are vastly different.
Overall, the values from numerical solutions match well with those from
NS-2 simulations. This, along with two previous groups of scenarios with
various buffer sizes and various arrival rates, provide potent validation for
the proposed modification to the conventional equilibrium-based method and
dynamic interactive model of TCP-Queue.
behaviour during any time period, rather than the conventional method that
ignore all of the stages where arrival rate is larger than the service rate, which
is more than likely to happen in a practical network system, and assuming
the system can somehow reach the equilibrium state and perform analysis
based on that.
The model system has been evaluated quite extensively, with very prom-
ising result. However, at this point, the model only represents a single TCP
source, and no active queue management scheme is present in the queue
rather than the basic drop-tail mechanism. Some crucial extensions of this
model will be introduce within the Chapter 6, 7 and 8.
Chapter 6
6.1 Introduction
This chapter presents the multiple-source extension for the proposed dynamic
interactive model. The relationship between different responsive sources con-
necting to their respective destination through a common bottleneck queue
is analysed statistically, after which a two-source basic extension is validated
with MATLAB numerical solutions and NS-2 simulations. It is then further
extended to include a larger amount of sources, including non-responsive
traffic sources similar to the UDP traffic in the practical network.
In Chapter 5, a dynamic interactive model representing the responsive
AIMD behaviour of TCP source is designed and its performance evaluated
by comparing the MATLAB numerical solution of the model and NS-2 sim-
ulation of equivalent parameters. According to the results of experiments
performed, the results from two different method match very well with each
other in a basic single source scenario with a drop-tail queue.
However, in a practical network system, especially if studying the AQMs
is the goal, only being able to model and analyse a single TCP source is
far from adequate. It is most unlikely that any gateway queue under the
scope of this study is operating only to receive data packets originated from
148
CHAPTER 6. MULTI-SOURCE EXTENSION 149
a single TCP source. Rarely would any single TCP source may overwhelm
the gateway which is generally fast and powerful in the modern system. As
a result, it is reasonable to derive the multi-source extension of the basic
version of the model. With a sufficiently large number of TCP traffic sources
and other unresponsive traffic sources connecting through a single queue,
the model would be a good representation of Internet traffic profile in the
practical system.
The remaining content of this chapter is organised as follows: Section 6.2
presents the mathematical derivation process for the multi-source extension;
Section 6.3 performs a demonstration of MATLAB numerical solution im-
plementation and calculation process; Section 6.4 compares NS-2 simulation
of an equivalent scenario and analyses the results; Section 6.5 introduces the
model with larger number of different types of sources, with a more soph-
isticated and elegant modelling and calculation approach; Finally, Section
6.6 concludes the chapter by summarising the efforts of the multiple-source
extension, reiterates the contributions.
already full at the point of its arrival or it meets the active dropping criteria
determined by AQM configuration. This means that once the “ownership”
ratio of packets is determined by the time they enters the queue, it will not
change any more until they are processed by the service and exit the queue.
Thus, calculating the probability that a packets originated from a particular
traffic source is as simple as comparing the transmission rate ratio between
the competing traffic source at the time this packet attempts to enter the
queue. If all traffic source can be modelled with a Bernoulli model , then
there is
α(t, i)
p(t, i) = P
n (6.1)
α(t, k)
k=1
where p(t, i) is the probability that a packets originated from a traffic source
i in time slot t, α(t, i), α(t, k) are arrival rate for traffic source i and k in time
slot t specifically, and n is the total number of traffic sources connecting to
this bottleneck gateway. According to the analysis performed in the Section
5.2, dropped packet always leads to the detection of a loss event, either a
triple duplicate ACKs or a timeout, depending on the network condition
after the drop. As a result, p(t, i) is also the probability of that traffic source
i will detect and respond to the loss event that occurs in time slot t, if that
packet is dropped by the queue, either because of the full buffer, or by the
active dropping mechanism.
As there are more than one traffic sources that transmitting data packets
through the bottleneck gateway queue in question, it is necessary to differen-
tiate certain variables between different source. At the same time, the model
remains time-variant, thus, it is heterogeneous in nature, and the parameters
may vary over the time slot. Thus, variables are followed by two additional
subscripts such as α(t, i), which represents the probability of the packet from
traffic source i arrives at the queue in time slot t.
In a scenario where two TCP sources with the same parameters and
specifications are connected through a single drop-tail gateway to the same
destination, assume both sources start to transmit at the same time, and
CHAPTER 6. MULTI-SOURCE EXTENSION 152
the queue is empty. In a practical system, both sources will start transmit
slowly in the slow start stage, and due to the identical specification, they
gradually increase their transmission rate at the same pace. Comparing with
a scenario of only a single traffic source with identical specification, the com-
bined transmission rate from the two traffic sources would increase twice
as fast. If it takes the time of t for a single source to approach the max-
imal network capacity, detecting the first loss event and entering congestion
avoidance stage, then it would take approximately 2t with two sources assum-
ing the slow start threshold SSth is either larger than the bandwidth delay
product (in both scenarios the sources are in slow start stage when conges-
tion happens), or smaller than half of the bandwidth delay product (in both
scenarios the sources are in congestion avoidance stage when congestion hap-
pens). When approaching this point, with the increasing transmission rate
from both sources, the combined traffic arrival rate will gradually approach
and eventually exceed the service rate of the gateway, which means that more
and more packets queue up in the buffer, and eventually the buffer will be
full, and the very next incoming packets will be dropped as soon as it reaches
and attempts to enter the queue.
As the two sources have the same parameters and specifications, the trans-
mission rates of the two sources at this moment are the same. According to
Equation (6.1), there is an equal chance that this first packet dropped was
transmitted from either sources. At this point, after detecting this loss event
either by triple duplicate ACKs or timeout, only the source that transmit-
ted this packet will respond to this event, decreasing the congestion window
size, and depending on the type of the loss event, either enters congestion
avoidance and perform fast recovery, or enters the slow start stage. At the
same time, the other source remains unaffected by this drop and continues
to increase its transmission rate due to the increased congestion window. It
is possible that this can last as long as another 2t , so long as packets from
this source is “lucky” enough to not be dropped (all packet drops are from
only one traffic source). However, in this case, as the similar packet ratio
from both sources is exactly the same, the possibility that packets from one
source do not get “picked” and dropped for a consecutively n times will be
CHAPTER 6. MULTI-SOURCE EXTENSION 153
( 21 )n , and it drops rapidly below 1% for only six “picks”. In reality, it is even
less likely, as the transmission speed from one traffic source is decreasing due
to frequently being dropped, according to Equation (6.1), the traffic ratio of
the traffic source that has not been dropped keeps increasing, and thus, the
probability of it been dropped increases with time.
After this point, both sources detect loss event associated with their trans-
mitted packets, and respond to those events accordingly. Separately, they
continue to slowly increase transmission rate when the network utilisation is
low enough and no drop happens, and decrease rate when network resource is
close to full utilisation and drop event is detected. This is still true even with
two traffic source with different parameters and active transmission rate, as
there is a very high probability that the high speed source detect its loss
event first due to the high percentage of packets and more likely be “picked”
and dropped, and as it decreasing speed, the previous low speed source will
gradually become the new relatively high speed source, and thus its packet
percentage goes up and is likely to detect its own loss event and enters the
speed decreasing stage shortly after. In this sense, a small scale of “global
synchronisation” can be observed with an only two sources scenario.
Now using the similar step-by-step analysis approach introduced in Chapter
5 to represent this observation. In this case, the standard TCP model as es-
tablished in Section 5.2 would be used, and the two TCP sources have the
same parameters except their active transmission rate. Let the arrival rate of
two TCP traffic sources when working independently in active transmitting
states be α(a, 1) and α(a, 2), assuming
and
and considering a new connection is starting and all the handshake protocols
have been completed, then both sources enter active transmitting state at the
CHAPTER 6. MULTI-SOURCE EXTENSION 154
same time, starting to transmit at the rate α(a, 1) and α(a, 2) until s packets
have been sent with no acknowledgement packets received. This would take
s
t1 = (6.4)
α(a, 1)
s
t2 = (6.5)
α(a, 2)
time slots for source 2. After reaching this point, according to the specific-
ation of TCP, both of the traffic sources stop the transmission and wait for
acknowledgement packets from the destination, with source 1 slightly earlier
than source 2 due to faster transmission rate during the “active transmission
stage”. The duration of this waiting period depends on the round-trip time
(RTT) of the connections. Similarly as before, the round-trip time can be
divided into two different parts: queueing delay at this gateway for packet
i: di , and all the other delays, such as propagation delay, processing delay,
transmission delay, and queueing delay at other gateways d0 . As only the
single bottleneck queue is studied here, it is reasonable to assume that all
other delay D0 remaining a fixed value during the whole time. The round-
trip time can be represented as d = di + d0 , where di can be derived after
the state probability distribution is calculated. As the two sources share the
same gateway, the queueing delay at each time slot is the same for both of
them. As it has been assumed that all other parameters are the same for the
two sources except for the active transmission rate, as the result, they will
have the same round-trip time (RTT) in this scenario.
In the practical network, unless flow control is considered, most of the
gateway systems do not distinguish packets from different traffic source. The
most important advantage when different packets origination is ignored is
that it can save a huge amount of processing power due to less complex
calculation requirements. The biggest drawback of that is concern for fairness
and the loss ability of micromanage different flows. There are many studies
[113] argue about the concern when certain extremely fast connection and
CHAPTER 6. MULTI-SOURCE EXTENSION 155
aggressive TCP configuration deprive the network resources from the others.
However, in most non-extreme case, the packets ratio in the traffic link can
ensure fairness as their possibility of encountering full buffer or been dropped
are proportional, and the higher percentage of traffic one source contribute,
the more it will be affected by queue management schemes. Sources that are
not responsive to queue management schemes, such as any UDP traffic, will
be discussed in Section 6.5 of this chapter.
Similar to the situation in the practical network, when using stochastic
modelling tool to study multiple TCP sources interaction, ignoring different
packet origination at the queue side can avoid a large amount of complexity
and still achieve adequate result. In this scenario, the packets in the queue
are considered to be uniform, such as P P P P P P P , instead of consisting of
packets of two distinct types (origins), such as ABAABBA. In this model,
each packet in the queue has a certain probability of being originated from
any traffic source, which can be derived by the packet ratio from different
traffic sources, which is in turn derived from the transmission rate ratio
of sources at that moment, presented in Equation (6.1). In this way, the
selective response to its own loss event for the traffic source can be represented
without considering the seemingly endless possibility of different types of
packets arriving in various orders.
Assuming there is no loss in other places of the connection, and the basic
drop-tail queue management scheme is deployed, acknowledgement packets
for the first packet, no matter which source it originates from, arrives at
that particular source d1 + d0 time slot after it was initially transmitted, at
which point the congestion window size is doubled and this source resumes
to active transmission stage. The queue is relatively empty at this early
stage, and both of the sources begin the handshakes protocols and data
packet transmission at the same time statistically. With little to no chance
that their data packets collide and are dropped due to full queue capacity,
their transmission cycle (from “active transmission stage” to “idle stage” and
start again) are mostly synchronised. This behaviour with slow start during
the early stage of the connection is relatively straightforward, as the queue
starts from an empty state and the window sizes are relatively small at this
CHAPTER 6. MULTI-SOURCE EXTENSION 156
point. After several cycles, the probability of the full queue capacity becomes
positive, which means that the arriving packets are dropped if the buffer is
full at that moment. The probability of the a packet been transmitted by its
source i in a certain time slot can be determined by the active transmission
rate of that source i and the transmission status of source i. Similarly, it is
possible to represent the probability of the acknowledgement of any packet
arriving back at its source (may or may not be source i) in d1 + d0 time
slot after this one by αpnot dropped assuming that in that time slot the source
that transmitted this packet is in active transmission stage, where α is the
overall observed packet arrival rate from the perspective of the queue. The
pnot dropped here can be easily calculated by
pd = 1 − pd = 1 − (pf + pa ) (6.6)
α(t, 1)
p(t, 1) =
α(t, 1) + α(t, 2)
α(t, 2)
p(t, 2) = (6.7)
α(t, 1) + α(t, 2)
Where (t, 1), (t, 2) represents the value for source 1 and source 2 in time slot
t, respectively.
Similar to the modelling process of the single source model illustrated,
with the probability of both sources receiving the acknowledgement packets in
a certain time slot calculated, all that remains to determine the performance
of the system is managing to represent the transmission window size, or
more precisely, the congestion window size, which is affected by whether or
not the acknowledgement packets is received in time, for both of the traffic
sources, respectively. The congestion windows still behave similarly in the
previous list (5.2), and the congestion window can be represented recursively
over batches of time slots with size of RTT (which may be overridden by
dropping events) as
where the (1) (2) parameters describe the different variables for source 1
and 2, respectively. For SDV (T, 1), SIV (T, 1) and SDV (T, 2), SIV (T 2), with
the assumption that both of the traffic sources have the same specification
except the active transmission rate, they would be in the same form as the
single source variant. The pdc (T, 1), pic (T, 1) and pdc (T, 2), pic (T, 2) are the
congestion window decrease and increase probability for traffic source 1 and
2, respectively. Considering that the packet ratio can be derived from the
transmission rate ratio, demonstrated previously with Equation (6.7), they
will only be a fraction of the value if a single traffic source was to transmit all
CHAPTER 6. MULTI-SOURCE EXTENSION 158
the packets and detect all the loss event. In the event of congestion window
increase, the behaviour with multiple traffic source would be identical with
that of a single source, and according the analysis in the Section 5.2, as well
as Equation (6.7) in this chapter, there is
sources, the probability that the initial packet drop leads to timeout event
detected by the queue is negligible for the calculation of performance meas-
ures of the queue. However, the probability that during fast recovery phase,
the retransmitted packet was dropped and thus cause the source re-initiate
the slow start cannot be ignore. Similar to the single scenario, it depends on
the dropping probability and queueing status when the retransmitted packet
arrive.
Thus, the congestion window size changes when a loss event, which stat-
istically speaking is almost always a triple duplicate ACKs event, can be
identified. In every time slot, the source would react with the probability of
S(T, k)
SDV (T, k) = − (6.15)
2
S(T, k)
SSth = (6.16)
2
With the window size of both sources defined, the transmission status (either
the source is in the “active transmission stage” or the “idle stage”) during
each time slot can be calculated by comparing the sum of the size of un-
acknowledged packets and the current congestion window size, similar to
that in the single source variant. Thus, the model for these two TCP con-
nection become two independent sets of combination of many stages, each
of that stage can be represented by a simple Geo/Geo/1/J queueing model
with different parameters (most importantly, α), and the transitions between
different stages are determined by the status of the congestion window size,
which is in turn affected by the performance measure (namely, the packet
dropping rate) of the queue affecting independently on two sources, quite
CHAPTER 6. MULTI-SOURCE EXTENSION 160
the size of the time slot base on the processing speed and bandwidth of the
link leaving the gateway while preventing the calculated overall arrival rate
P n
α(a,k) during active transmission stage exceeding 1, as the arrival rate
k=1
α(t,k) varied almost constantly.
The first step of the modelling calculation is identical to the single source
calculation. An appropriate probability value needs to be assigned to the
service rate β first based on the relative bandwidth value of incoming and
exiting link, then the time represented by each time slot can be calculated
by
β × Spkt
Ts = (6.17)
B
T
nt = (6.18)
Ts
• Calculate other factors for delay of the connection in unit of time slot
Ds0 by
D0
Ds0 = (6.19)
Ts
After the parameter conversion, the programme starts to calculate the con-
nection and the queueing behaviour of the gateway based on the combined
traffic arrival rate from all involving TCP traffic sources and other relevant
parameters slot by slot, using functions similar to the ones used in Chapter
4 and Chapter 5. However, because of multiple traffic sources in the system,
beside the queue length process calculation, the programme now keeps re-
cords of packet transmission probability for each traffic source in any time
slot and put them into many independent transmission window, so that they
can be compared with the congestion window of each source and determine
whether or not any particular source’s congestion window has been exceeded.
This way, it can determine which transmission stage any of the source will
CHAPTER 6. MULTI-SOURCE EXTENSION 163
be in during the following time slot. Records of every packet from different
sources that has departed from the queue or dropped in the queueing process
due to various reasons are also kept by the programme, sorted by their origin-
ating sources, to represent the transmission and receive of acknowledgement,
respectively. Because of the delays from the queue D, and other factors rep-
resented as Ds0 , a packet that was transmitted on time slot i will receive its
acknowledgement at i + D + Ds0 time slot assuming it is not dropped. As
the packets on the queueing side are not distinguished by their origination,
the probability that packets from each source enters the queue, and thus
eventually reach their destination and lead to ACK packet coming back to
the source, can be simply calculated by the production of the arrival rate
from that source and the dropping probability of the queue at that time, as
shown in Equation (6.10). As the queue is the bottleneck for all of the TCP
connections, its speed determines the overall ACK receiving speed of all the
sources. The overall rate that ACK packet arrives at any traffic source is the
same as that of packet from any source depart from the queue, which can be
calculated as the throughput of the queue as (1 − Π0 )β, assuming that there
is no other drop in the connections.
In this particular multi-source experiment performed here, parameters
used by the programme are 1Mbps for both of the entering link bandwidth,
1Mbps for the bandwidth of exiting link, 200ms delay from all other factors,
and the experiment duration is 60 seconds. The queueing discipline is first
in first out and there are no other queueing management schemes other than
the basic drop-tail queue with a maximal buffer capacity of 20 packets. The
maximal congestion window sizes for both TCP sources are 65535 bytes, and
the packet size is 1500 bytes. The initial transmission window size is 3000
byte (2 packets). Some of the parameter values, especially the packet size and
window size, are selected so that they are easily comparable with a similarly
configured NS-2 simulation.
First the mean queue length is calculated and presented in Figure 6.1.
Comparing with the single source demonstration performed in Section
5.3, even though the sum of transmission rate of both source is exactly the
same as that single traffic source in the previous demonstration, it would
CHAPTER 6. MULTI-SOURCE EXTENSION 164
20
18
16
14
Mean Queue Length (packets)
12
10
0
0 10 20 30 40 50 60
Time (s)
take roughly half of the time for the queue to be full in this two-source
scenario. This is a confirmation of the analysis performed earlier in Section
6.2 regarding the behaviour of multiple source. During most of the time,
both of the TCP sources increase and decrease their congestion window sizes
as it is receiving correct ACK or duplicate ACKs. As a result, the mean
queue length of the queue in question also fluctuates within a certain range.
The average queue length of the entire duration of this experiment is 9.2472.
After the mean queue length of this experiment is calculated from state
probability distribution of the queue, the queueing delay is calculated and
presented in Figure 6.2.
Similarly to what has been demonstrated during the single source ex-
periment, delay or wait time of a customer (specifically, packet, in case of
computer network) in a queue is derived with the generic Little’s Result/Law
from the mean queue length. As a result, these two are directly related, so
the result of the delay shares most of the features of the mean queue length
CHAPTER 6. MULTI-SOURCE EXTENSION 165
200
Average Queueing Delay (ms)
150
100
50
0
0 10 20 30 40 50 60
Time (s)
process. The average queueing delay for the whole experiment is 112.3837ms.
Following the average queueing delay, throughput of the bottleneck queue
is calculated and presented in Figure 6.3.
In these experiments, as a 100% utilised exiting link represents a through-
put of 1Mbps, the actually throughput of the connection can be calculated
by (1 − Π0 ) × 1M bps. The average throughput for the entire experiment is
0.9086Mbps.
Finally, the average dropping rate of the system is also calculated and
presented in Figure 6.4.
The average drop rate for the entire experiment duration is 1.71%, which
is much higher than the value in the single source demonstration. Heavy
traffic oscillation is a main contributing factor for this. Comparing the drop
rate with the mean queue length and delay figures before, it can be observed
that they are mostly synchronised in terms of increasing and decreasing trend.
Because a drop-tail queue is used in this scenario, which means that the
CHAPTER 6. MULTI-SOURCE EXTENSION 166
0.9
0.8
Normalised Throughput (Mbps)
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0 10 20 30 40 50 60
Time (s)
dropping probability is directly derived from the probability that the queue
is in its maximal capacity state, the only source of packet drop in the system.
Similar to that of single source demonstration, the probability of a packet
dropped in the system is the combination of two independent event: packet
arrives and the queue is at its maximal capacity state. As a result, it is
calculated by αi,t ΠJ .
It can be observed that the performance of the system represented by the
proposed extension of model shows expected result according the the analysis
performed above.
0.3
0.25
Average Drop Rate
0.2
0.15
0.1
0.05
0
0 10 20 30 40 50 60
Time (s)
Figure 6.5.
Both N1 and N3 are TCP sources using the “Reno” version of TCP [4],
with a maximal transmission window size of 65535 bytes, R1 is the bottleneck
router, and N2 is a TCP traffic sink and will send an acknowledgement packet
to N1 and N3 respectively for every successfully received TCP packet from
that source. The link between N1 and R1 has a bandwidth of 1Mbps and a
propagation delay of 20 ms, the link between N3 and R1 has a bandwidth of
1Mbps and a propagation delay of 20ms, while the link between R1 and N2
has a bandwidth of 1Mbps and a propagation delay of 80ms. If the processing
delay and transmission delay are considered negligible is this case, this type of
connection setup provides a 200ms round-trip delay other than the queueing
delay, identical to our assumption in the MATLAB experiment. The queue
in R1 utilises the drop-tail scheme, and the buffer size is 20 packets, same
as that in the numerical solution before. All data packets in the simulation
are 1500 bytes in size. The connection simulation runs for 60 seconds, and
CHAPTER 6. MULTI-SOURCE EXTENSION 168
the queue length, queueing delay, throughput, drop rate is captured through
NS-2 build-in script functions.
The instantaneous queue length presented in Figure 6.6 is captured through
the queue monitor function in the NS-2 scenario TCL script.
The average queue length of this NS-2 experiment over 60 seconds is
8.7390 which is reasonably close to the MATLAB average of 9.2472. The
larger difference between then than that from single-source demonstration is
mostly due to the heavier oscillation of the traffic profile here, and oscillation
leads to larger possible discrepancy between an individual instance and the
weighted expectation value of statistical calculation.
The instantaneous delay of this TCP connection simulation is presented
in Figure 6.7.
The average queueing delay in this scenario is 119.4321ms. It has a small
difference with the average in MATLAB which is 112.3837ms. While it may
initial appear strange that the delay from NS-2 simulation is larger than that
of numerical solution, while the queue length is smaller.
Following the delay figure, the throughput of the connection is presented
CHAPTER 6. MULTI-SOURCE EXTENSION 169
20
18
16
14
Queue Length (packets)
12
10
0
0 10 20 30 40 50 60
Time (s)
in Figure 6.8.
The average throughput value of the entire simulation of 60 seconds is
0.8988Mbps, very similar to that of MATLAB numerical solution which has
an average of 0.9086Mbps.
Finally, the packet dropping figure is presented in 6.9.
Due to the characteristics of the drop-tail queue, the dropping rate in a
physical system can only be 0 or 1, where as long as the queue is not at its
full capacity state, any arrival packet is accepted, thus the dropping rate of
0, and all new arrival packets are dropping if the queue is at its full capacity
state. Compare this figure with that of queue length, it can be observed that
all dropping corresponding exactly with the time where queue length is at
its highest possible value. The overall packet drop rate is 1.53%, which is
relatively close to the MATLAB numerical solution result of 1.71%.
Generally speaking, this instance of NS-2 simulation has a relatively close
performance measurements to the MATLAB calculation of the model with
CHAPTER 6. MULTI-SOURCE EXTENSION 170
250
200
Queueing Delay (ms)
150
100
50
0
0 10 20 30 40 50 60
Time (s)
equivalent parameters, and all reasons of noticeable difference can be well ex-
plained. Comparing with the single source demonstration, the queue length
and delay average values are slightly smaller, so does the average throughput.
All of these are expected, and can be explained as the much higher overall
congestion window size increase and decrease speed, which reflects a heavier
oscillated traffic profile. Among the four performance measures under eval-
uation, there is generally a greater difference in the drop rate between the
numerical solutions and simulation. NS-2 delay value is based on individual
packets, while the one in the numerical solution is calculated using the gen-
eric Little’s Law, derived directly from queue length. In this scenario with
heavily oscillating traffic profile, packet is not evenly distributed over time,
while numerical calculated delay is for every time slot, and evenly distributed
over time as the time slots are of fixed size. Imagine at some point where
queue length is very high, but at the same time, no arriving packets enters
the queue, this would not be reflected by the NS-2 delay calculation method.
CHAPTER 6. MULTI-SOURCE EXTENSION 171
1.2
1
Throughput (Mbps)
0.8
0.6
0.4
0.2
0
0 10 20 30 40 50 60
Time (s)
On the other hand, the numerical calculation matter calculate queueing delay
in every time slot, no matter how many packets may arrive. This leads to
potential numerical difference even with an identical system status.
0.8
Drop Rate
0.6
0.4
0.2
0
0 10 20 30 40 50 60
Time (s)
ture model previous used can still represent this characteristics, however, the
size of time slot must be sufficiently small comparing to the interval of the
packet within each batched arrivals. Extremely small window size increase
the computational cost significantly, in addition, with the small window size,
the probability of various events occur within the small time frame is very
small and has a numerical value close to zero. Thus, it would be very difficult
to keep the precision when the probability value very small or very large are
heavily involved.
An alternative solution is to use a multiple arrival model. The size of
the time slot can be defined as similar to the service rate to keep the one
departure model effective. Queueing model like this is usually labelled as
M an /M/1 model [116], and it is sometimes used in conjunction with the
conventional equilibrium state method. The queue length state transitional
diagram can be drawn as in Figure 6.10.
that packet depart from the queue in a time slot to be β, this means
where n is the total number of traffic sources transmitting through this queue.
In order for queue length to remains over the time length, there can be either
one arrival and one departure, or no arrival and no departure. This translates
to
pr =p0a0d + p1a1d
Yn
p0a0d =(1 − β) (1 − αk )
k=1
As for the probability that queue length increase to a certain higher valued
state, all of them can be either no departure and that many packets arrive,
or one departure and one extra many packets arrive. If α1 = α2 = α3 =
· · · = αn = α, this arrival can be described as a binomial distribution [111],
and its probability can be easily deduced as
If all the arrival rates are different, it becomes the so-called Poisson binomial
distribution [114]. The probability mass function (pmf) of having k success-
ful trials out of a total of n with the Poisson binomial distribution can be
generally written as
X Y Y
P (K = k) = pi (1 − pj ) (6.23)
A∈Xk i∈A j∈Ac
where Xk is the set of all subsets of k integers that can be selected from
{1, 2, 3, · · · , n}, and Ac is the complement of A.
Although the above Equations of (6.23) gives a precise solution for the
Probability Mass Function (pmf ) required, it is practically infeasible to
compute even if the number n is of moderate size, as the set Xk contains
n!/[(n − k)!k!] elements. Fortunately, it is still possible to use Probability
Generating Function (pgf ) to calculate even with a larger number of sources.
As in the model, in every time slot, each arrival process can be con-
sidered to satisfy a Bernoulli distribution, and because individual TCP traffic
source is oblivious about any other sources even though they are connec-
tion through the same queue, each of the Bernoulli distribution describing
each source can be considered independent. Let Xi ∼ Bernoulli(pi ), where
i = {1, 2, 3, · · · , n} with the pgf of
pgf S =E[tS ]
=E[tX1 ]E[tX2 ]E[tX3 ] · · · E[tXn ]
Yn
= [(1 − pi ) + pi z] (6.26)
i=1
The probability of k packets arrives in a time slot are given by the pmf , and
according to the properties of pgf function, pmf can also be recovered by
taking derivatives of pgf .
In this way, the probability that k packets arrives in a time slot can be
calculated by
Gk (0) dk pgf S
pka = = |z=0 (6.27)
k! k!dz k
This would produces the exact symbolic solution for the required probab-
ility as a function of the pi . In the model, pi is determined by the arrival
rate of source i in that particular time slot, which is determined by other
related factors such as congestion window size and their active transmission
rate. Because of the relatively simple form of Bernoulli distribution pgf ,
it is not very computationally expensive as long as the number of source is
manageable.
Thus, the state transition probability for queue length increase k from
normal state is
As the model utilises the early arrival system (EAS) and centre observation
CHAPTER 6. MULTI-SOURCE EXTENSION 177
dk pgf S
pi(k)f irst =pka = |z=0
k!dz k
n
Y
pr f irst = (1 − αi ) (6.29)
i=1
Similarly, let the maximal queue capacity to be J, then the state transitional
probability starting from state J is
dpgf S
pr last =(1 − β) + β |z=0
dz
n
Y
pd last =β (1 − αi ) (6.30)
i=1
With the state transitional probability originating from every possible state
defined, the state transitional matrix P can be easily generated as
pr f irst pi(1)f irst pi(2)f irst pi(2)f irst · · · pi(J−1)f irst pi(J)f irst
pd
pr pi(1) pi(2) ··· pi(J−2) pi(J−1)
0
P = pd pr pi(1) ··· pi(J−3) pi(J−2)
. .. .. .. .. .. ..
.. . . . . . .
0 0 0 0 ··· pd last pr last
(6.31)
This way, the state probability distribution of queue length during any suc-
cessive time slot, and therefore, any performance measures derived from state
probability distribution can be derived using Equation (4.9), presented in
Chapter 4.
It is also necessary to include some background traffic that is unresponsive
to the dropping action performed in the queue, simulating traffic which do
not normally control the transmission speed based on the dropping event in
the network, such as that originated from UDP source. This can be easily
done by adding a traffic source that is always in “active transmission stage”.
A basic Geometric arrival process would satisfy this task with ease.
CHAPTER 6. MULTI-SOURCE EXTENSION 178
30
25
Mean Queue Length (packets)
20
15
10
0
0 10 20 30 40 50 60
Time (s)
350
300
Average Queueing Delay (ms)
250
200
150
100
50
0
0 10 20 30 40 50 60
Time (s)
0.9
0.8
Normalised Throughput (Mbps)
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0 10 20 30 40 50 60
Time (s)
0.3
0.25
0.2
Average Drop Rate
0.15
0.1
0.05
0
0 10 20 30 40 50 60
Time (s)
30
25
Queue Length (packets)
20
15
10
0
0 10 20 30 40 50 60
Time (s)
350
300
250
Queueing Delay (ms)
200
150
100
50
0
0 10 20 30 40 50 60
Time (s)
1.2
1
Throughput (Mbps)
0.8
0.6
0.4
0.2
0
0 10 20 30 40 50 60
Time (s)
0.8
Drop Rate
0.6
0.4
0.2
0
0 10 20 30 40 50 60
Time (s)
mostly the same, which would result in all responsive TCP-like source would
increase and decrease their transmission rate at a similar rate. From the per-
spective of the queue, the overall arrival rate would increase and decrease over
the time slot at a much faster rate than that with only one or a few sources.
As it is widely known, with a drop-tail queueing management scheme, it is
impossible to avoid synchronisation between the traffic sources. This can be
perfectly observed in this scenario, where the queue length and other related
performance measures oscillate, increases and decreases many times in the
short 60 seconds of experiments.
In the NS-2 figures, this can be clearly observed as the instantaneous
queue length and resultant queueing delay increases to the higher point and
decreases to a very lower level shortly after that. Similarly, in the MATLAB
numerical solution figures, several points where the statistical value signific-
antly lower than the average can be observed periodically. The throughput
values gathered from both method indicate a very high utilisation percent-
age. Only certain points where queue length experience severe oscillation
do the utilisation rate fall under 100%. This is because the combined ar-
rival rate is much higher than that of the departure rate, and at the same
time, the queue length is sufficiently large, so that even with the arrival rate
during some time period experiences heavy decrease, it would only drop to
partially full, and rarely becomes empty. According to the characteristics of
the single service queue, as long as the queue is not completely empty, the
service would be fully utilised during that time. The constant background
traffic which would single-handedly guaranteed a 50% link utilisation also
greatly contribute to this.
In the average value comparison presented in the Table 6.1, the MATLAB
numerical solution of the complex traffic model achieves a very close overall
performance measures in all aspects comparing to the NS-2 simulation of the
equivalent scenarios.
CHAPTER 6. MULTI-SOURCE EXTENSION 185
• Buffer size
In this group, the buffer size of the queue is changed between 20, 30, 40, 50,
while all other parameters remain the same as in the previous demonstrative
scenario. The results are presented in Table 6.2.
When the buffer size varies, queue length is the first to be affected. It
CHAPTER 6. MULTI-SOURCE EXTENSION 186
Buffer Size 20 30 40 50
Method Mean Queue Length (packets)
MATLAB 12.4266 24.3658 29.9699 36.7924
NS2 11.7380 23.9551 29.2252 35.9327
Method Average Queueing Delay (ms)
MATLAB 149.2167 292.5818 359.8756 441.7985
NS2 144.9269 295.7691 360.8383 443.6534
Method Average Throughput (Mbps)
MATLAB 0.9092 0.9991 0.9994 0.9997
NS2 0.9044 0.9940 0.9979 0.9985
Method Average Drop Rate
MATLAB 0.096539 0.077231 0.073370 0.067191
NS2 0.089605 0.072262 0.067926 0.061420
would be intuitively obvious that when the maximal buffer size increases,
so will the average queue length, as the dropping event will happen much
later for the TCP sources. Higher queue length means larger queueing delay.
However, as the queue are now less likely to be empty, the service utilisation
rate also increases, and this is directly linked to the throughput, in which an
increasing trend can also be observed. Overall, the results from simulation
matches very well in all of the scenarios.
• Arrival rate
In this group, the effect of different arrival rates is analysed. The overall
combined arrival rate (entering link bandwidth) of all the traffic sources is
changed between 2Mbps, 3Mbps, 4Mbps, 5Mbps and 6Mbps, with bandwidth
ratio of the traffic sources unmodified. All other parameters remains as that
in the demonstrative scenario. The results are presented in Table 6.3.
With the increasing overall arrival rate, a steady increasing trend of queue
length can be observed, as well as other associated performance measures,
such as queueing delay and throughput. The dropping rate also increases
as a direct result of heavier traffic load on the bottleneck gateway. Overall,
the two groups of data match quite well with each other. At higher overall
arrival rate, the traffic sources simply have to spend a larger ratio of time in
its “idle stage” instead of “active transmission stage’. Ultimately, the con-
gestion window size increasing speed depends on RTT, as during congestion
avoidance stage, window size can only increase one MSS for every RTT. Ac-
cording to the analysis performed in section 3, the congestion window size is
the deciding factor for the transmission speed, which is the arrival rate of the
queue. As the combined RTT from other sources is the same for all experi-
ments, the overall RTT is also going to be very similar due to the similarity
of queue length in all higher rate scenarios.
• Departure rate
In this final group of experiments, the service rate (exiting link bandwidth)
is changed between 0.4Mbps, 0.7Mbps, 1Mbps, 1.3Mbps and 1.6Mbps, while
CHAPTER 6. MULTI-SOURCE EXTENSION 188
Arrival Rate 2 3 4 5 6
Method Mean Queue Length (packets)
MATLAB 23.1475 23.6348 24.3658 25.0968 25.5841
NS2 22.2782 22.9969 23.9551 24.9133 25.6320
Method Average Queueing Delay (ms)
MATLAB 277.9527 283.8043 292.5818 301.3593 307.2109
NS2 275.0653 283.9383 295.7691 307.5999 316.4729
Method Average Throughput (Mbps)
MATLAB 0.9691 0.9891 0.9991 0.9994 0.9994
NS2 0.9541 0.9741 0.9940 0.9558 0.9558
Method Average Drop Rate
MATLAB 0.073369 0.074914 0.077231 0.079548 0.081093
NS2 0.067204 0.069372 0.072262 0.075152 0.077320
all other parameters remain the same as the previous demonstrative scenario.
The results are represented in Table 6.4.
With the increasing departure rate, and generally decreasing trend of
queue length, as well as other associated performance measures, namely,
queueing delay and throughput. The dropping rate also decreases slightly.
There is a similar trend in reverse that was observed in the increasing overall
arrival rate scenarios. It can be concluded that the values from numerical
solutions match well with those from NS-2 simulations. This, along with buf-
fer sizes and arrival rates groups, provide potent validation for the proposed
calculation method and dynamic traffic source model.
CHAPTER 6. MULTI-SOURCE EXTENSION 190
7.1 Introduction
This chapter presents the active-drop extension for the proposed dynamic
interactive model. The stochastic representation of active drop behaviour is
demonstrated, followed by the validation with MATLAB numerical solutions
and NS-2 simulations. Additionally, analysis is performed regarding the effect
of active drop on the change of traffic rate on responsive traffic sources,
which offers additional insight into the optimisation of AQM parameters for
different traffic profiles.
In all of the scenarios presented in earlier chapters, both MATLAB nu-
merical solutions and NS-2 simulations, only the basic drop-tail passive queue
management scheme is used. According to the investigation performed on
the current research and practical utilisation situation in Section 2.4 and
Section 2.5, drop-tail scheme provides poor performance under a heavy-load
network scenario, and thus can no longer satisfy the requirements for an es-
sential core router or even regional traffic hubs. Instead, different versions of
AQM schemes are widely used.
Although it has been widely agreed that AQM algorithms, such as classic
RED, have the potential to greatly reduce the queueing delay while main-
191
CHAPTER 7. ACTIVE DROP EXTENSION 192
vice capacity is much larger than the network resource requirement, enough
to manage heaviest possible traffic. This, however, would usually lead to a
very low bandwidth and service utilisation rate, due to the burstiness nature
of most Internet traffic.
One of another major issues of the drop-tail schemes is the so called
“global synchronisation” phenomenon, which is briefly simulated and dis-
cussed during the derivation process for 2-source traffic model.
This phenomenon is easily observed by the gateways and core routers,
but almost impossible to detect by the TCP sources connecting through
edge network independently due to lack of the information on the entire
network. At the same time, core routers and gateways have no easy method
to “inform” TCP sources of this situation.
The introduction of active queue management schemes greatly alleviate
these issues. With active dropping, core routers and gateways are now in
possession of an efficient tool to “inform” the edge traffic source of the net-
work situation, and is able to reshape the network traffic for better per-
formance. Although almost 20 years has passed since the original random
early detection (RED) was announced, and many researchers have proposed
modifications, even criticism to the algorithm, it is still considered to be one
of the most important AQM schemes, and has become the building block
of many newer modifications. In this section, classic RED will be analysed
and integrated into the dynamic TCP and transient queueing model. As the
principle for most AQMs which utilise the active drop is mostly the same,
the only main difference is the method dropping probability is determined.
After the classic RED algorithm is integrated into the model, it can then be
easily modified to represent many other types of AQM algorithms as well.
The core mechanism of classic RED has been briefly mentioned in earlier
chapters. In this section, the change to the interaction between TCP source
and queue will be analysed with the help of newly developed transient meth-
ods. When the drop-tail queue is used, packets are only dropped if a fixed
threshold of queue length is reached, and this threshold is not possible to ex-
ceed, as all packets are immediately dropped beyond this point. In queueing
theory, this means that the probability of packet being dropped pd is the
CHAPTER 7. ACTIVE DROP EXTENSION 195
pd =pa + (1 − pa ) × pf
=pa + (1 − pa ) × ΠJ (7.1)
With classic RED, this means that checking the weighted queue length with
changes through time and the equilibrium state may not have been reached.
As a result, the mean queue length in each time slot may be different from the
previous one or the next one, which can be observed from numerous experi-
ments performed in Chapter 5 and 6. Thus, weighted calculation function is
still required in the model.
Most aspects of the active drop model would be similar to the versions
already introduced in the previous chapters. Comparing with a queueing
system with a basic drop-tail queue, the active dropping function only results
in additional dropping probability that allows random packet loss before the
queue reach certain capacity limit, which is represented and calculated as ΠJ .
The active dropping has obvious effect on the probability that packets enter
the queue, which can be easily calculated by add the new active dropping
with ΠJ , and has already been written in many previous equations such
as Equation (5.4), (5.7) and (6.10). However, the most significant changes
is the probability for fast recovery and re-initiate slow start phase. The
conclusion from previous analysis with fast recovery probability in Equation
(5.9), (5.10), (5.11), (5.13), (5.14), and their multi-source variants are all
drawn under the drop-tail assumption.
As it can be observed from the derivation process of the single-source
version of the model, the overall dropping probability of the queue is simply
replaced as the probability that the queue is in full capacity state, and no
other form of dropping probability is considered. It has been concluded for
both the single-source and multi-source version that the probability of ini-
tial drop of packet leads to the timeout event is extremely small and can be
neglected during the calculation of queueing performance measures. With
fast recovery, the lost packet would be immediately retransmitted after that
triple duplicate ACKs is received. However, under the drop-tail queue man-
agement scheme, by the time that retransmitted packet reach the queue, due
to the result of accumulated queue length from the fast transmission rate
leading to the loss, the queue is highly likely in the almost full state. As a
result, the probability that this retransmitted packet is lost is also very high,
leading to the source detecting timeout for the fast recovery, and re-initiate
the slow start.
CHAPTER 7. ACTIVE DROP EXTENSION 197
9:1, which is approximately the same as that in the practical network system
[57]. The exiting link bandwidth for the bottleneck queue is 1Mbps, and there
is 200ms delay from all other factors which contributing to packet RTT, apart
from the queueing delay at the bottleneck queue. The experiment duration
is 60 seconds.
The queueing discipline for the bottleneck queue is first in first out and
there is a classic version of RED configured with the upper, lower threshold of
15 and 5 respectively. The maximal dropping rate at high threshold is 10%.
This parameter configuration follows the recommendation from Floyd [43],
which is considered to be generally efficient. The “gentle” modification of
the RED is not applied, which means that the algorithm drops any incoming
packets once the calculated weighted average queue length is larger than the
upper threshold, 15 in this case. The maximal buffer size of 30 IP packets.
The maximal window size for all of the TCP source is 65535 bytes, and the
packet size is 1500 bytes. The initial transmission window size is 3000 byte
(2 packets). Some of the parameter values, especially the packet size and
window size, are selected so that they are easily comparable with a similarly
configured NS-2 simulation.
First the mean queue length is calculated and presented in Figure 7.1.
Examining the figure more closely, it can be observed that the mean
queue length reaches a peak at about the 40th time slot, before starting to
decrease. This represents that it is most likely that many of the TCP traffic
sources will enter the congestion avoidance stage around this time due to a
loss event has been detected. Notice that unlike that can be observed with a
drop-tail queue, this “peak” queue length does not reach the buffer size limit,
which is 30 packets in this case, but rather, the packet loss happened earlier,
around with about 15 packets. This is consistent with the upper threshold
of 15 packets in the RED configuration. In the congestion avoidance stage,
the TCP sources increase and decrease the window size as it is receiving or
missing acknowledgement for the packets that have been transmitted. As a
result, the mean queue length of the queue in question also fluctuates but
ultimately remains within a relatively steady range. Due to the presence
of the active dropping mechanism, the average queue length of the entire
CHAPTER 7. ACTIVE DROP EXTENSION 200
14
12
Mean Queue Length (packets)
10
0
0 10 20 30 40 50 60
Time (s)
180
160
140
Average Queueing Delay (ms)
120
100
80
60
40
20
0
0 10 20 30 40 50 60
Time (s)
0.9
0.8
Normalised Throughput (Mbps)
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0 10 20 30 40 50 60
Time (s)
0.6
0.5
Average Drop Rate
0.4
0.3
0.2
0.1
0
0 10 20 30 40 50 60
Time (s)
the sharply increased packet drop rate. That is one of the main reasons why
balancing and managing trade-offs between more aggressive drop and smal-
ler queueing delay is extremely important when deploying active dropping
algorithms on a bottleneck queue with heavy traffic load.
profile. R1 is the bottleneck router, and N20 is the destination of all traffic
sources, with various TCP traffic sink and UDP traffic sink. It will send an
acknowledgement packet to the corresponding TCP source for every success-
fully received TCP packet. The sum of the active transmission rate of those
TCP traffic sources are 3.6Mbps, with each of them valued from 0.12Mbps to
0.28Mbps with an increment of 0.01Mbps with another one valued 0.2Mbps
(there are two sources with the value of 0.2Mbps). The UDP source is send-
ing with CBR traffic of 0.4Mbps. With those parameters, the ratio between
the responsive TCP traffic and unresponsive UDP traffic is 9:1, which is ap-
proximately the same as that in the practical network system [57]. All the
link from traffic sources to R1 have the delay of 20 ms. The link between
R1 and N20 has a bandwidth of 1Mbps and a propagation delay of 80ms.
This makes the RTT from all the delay factors (which can be simplified as
all propagation delay) aside from the queueing delay to be 200ms, equalling
to that from the numerical solution. The queue in R1 utilises the classic
CHAPTER 7. ACTIVE DROP EXTENSION 205
RED scheme, which has been already implemented into NS-2, and it has
been configured to has the upper, lower threshold, maximal drop probability
and queue weight of 15, 5, 10% and 0.002 respectively, same as that in the
MATLAB calculation. All data packets in the simulation are 1500 bytes in
size. The connection simulation runs for 60 seconds, and the queue length,
queueing delay, throughput, drop rate is captured through NS-2 build-in
script functions.
The instantaneous queue length presented in Figure 7.6 is captured through
the queue monitor function in the NS-2 scenario TCL script.
18
16
14
Queue Length (packets)
12
10
0
0 10 20 30 40 50 60
Time (s)
As it can be clearly observed from this figure, the queue length fluctuates
through time, but largely stayed within the lower end of the queue length
space. The fluctuation of queue length is still quite significant. This would
indicate that the current parameters of RED is not likely to be the most
optimised ones. The average queue length of this NS-2 experiment is 5.0490,
which is reasonably close to the MATLAB average of 5.1782, considering this
CHAPTER 7. ACTIVE DROP EXTENSION 206
is only one instance over the statistical calculation of the stochastic model.
The instantaneous delay of this TCP connection simulation is presented
in Figure 7.7.
200
150
Queueing Delay (ms)
100
50
0
0 10 20 30 40 50 60
Time (s)
1.2
1
Throughput (Mbps)
0.8
0.6
0.4
0.2
0
0 10 20 30 40 50 60
Time (s)
This drop rate data is also captured by using another awk script file to
analyse the simulation trace file. As the queue length has never exceeded
the upper threshold of RED parameter, which is smaller than the queue size,
all drop are active drop, performed by RED. As a result, all data point at
the y marker 1 indicates packet drop at that time, against all packets that
successfully reach the destination, which is at the y marker 0. Compare this
figure with that of queue length, it can be observed that packet are dropped
much more frequently slightly after the time when the queue length is at
a very high level. The overall packet drop rate is 10.9855%, which closely
matches to the MATLAB numerical solution result performed in Section 7.3
with 10.4333%.
Generally speaking, this instance of NS-2 simulation has a relatively close
performance measures to the MATLAB calculation of the model with equi-
valent parameters, and all reasons of noticeable discrepancies can be well
explained. The most important factors for them can be considered the dif-
CHAPTER 7. ACTIVE DROP EXTENSION 208
0.8
Drop Rate
0.6
0.4
0.2
0
0 10 20 30 40 50 60
Time (s)
the active drop of that previous packet effectively slow down the source trans-
mission rate by about 50%. However, this decrease of traffic arrival rate can
only be observed at the bottleneck queue after approximately RTT time has
passed.
Additionally, due to the delayed feedback effect, at the time that the TCP
traffic source responds to the loss event caused by the active dropping, its
congestion window size has become larger than when this active dropping ac-
tion happens (assuming the maximal window size is not reached). Therefore,
when the congestion window is decreased by 50% of the size at that moment,
effectively, it has decreased less than a half comparing to the congestion win-
dow size corresponding to the traffic arrival rate when the drop happened.
It is logical to assume that the maximal window size is not a restriction in
the previous analysis, as this is under the general condition of the queue
length first exceed the lower threshold, and the queue length is still relat-
ively small, which means that the average speed of the bursty traffic barely
begin to become larger than the service speed. If the maximal window size
is already reached, then this traffic source won’t transmit faster than this,
thus even without the active queue management, traffic of this intensity is
unlikely to overwhelm the bottleneck queue. All of the experiment scenario
in this research assume that the bursty traffic source is intensive enough to
overwhelm the bottleneck queue if uncontrolled.
Let the delay from all other factors other than the queueing delay in the
bottleneck queue be d0 , then, statistically, RTT (in time slots) for packets
enter the queue during time slot i can be represented as
RT T = di + d0 (7.4)
where di is the queueing delay during time slot i, which can be calculated
using Equation (4.15) presented in Chapter 4. If all other delay factors from
the traffic source to the bottleneck queue is t1 , then according to the analysis
performed before, when a packet is dropped, either actively due to AQM
mechanism or passively due to full queue capacity, then this loss event would
CHAPTER 7. ACTIVE DROP EXTENSION 212
t2 = RT T − t1 = di + d0 − t1 (7.5)
δt
X
tri+di +k ≥ 3 (7.6)
k=1
CHAPTER 7. ACTIVE DROP EXTENSION 213
With the timeout in most form of TCP configured as double RTT amount,
the δt value calculated in Equation (7.6) is only meaningful if it is smal-
ler than RTT, as one RTT has already pass since this dropped packet was
transmitted. Otherwise, the traffic source will simply recognise the timeout
as a severe congestion indicator, and respond accordingly, mostly involving
a much step decreasing of immediate packet transmission rate.
For the purpose of managing queue length into the targeted optimal range,
the queue management scheme needs to determine the intensity of current
arrival traffic rate. Using the conventional queueing theory method with a
basic homogeneous Geo/Geo/1/J queue, it is possible to calculate the arrival
rate which would generate the queue length process with the mean queue
length within the targeted optimal range. This can then compared to the
current overall traffic arrival rate, and whether or not it needs to decrease
can then be decided.
In the proposed dynamic interactive TCP model, the single bursty traffic
is described using an on-off model with the transition between different trans-
mission state determined by the congestion window size. This is an improve-
ment over other on-off model where the transition probability between differ-
ent transmission state is usually predetermined, as the proposed model can
easily represent the responsive behaviour of congestion window size over the
events of receiving ACKs and duplicated ACKs. With the bursting speed,
which is described as “active transmission stage” in the proposed model,
usually defined and remained the same value, the arrival rate of such bursty
traffic forms a determinable relationship with the queueing behaviour which
determines the ACK receiving rate. As a result, it is possible to examine and
predict the bursting traffic using purely information available to the bottle-
neck queue, and comparing the bursting traffic overall arrival rate with the
optimal arrival rate.
From the perspective of the bottleneck queue, the bursting arrival rate for
the traffic can be easily captured. Using the proposed model, this is the same
as the transmission rate for “active transmission stage”. It is relatively easy
for the bottleneck queue to determine whether a batch of arriving packets
is transmitted during the “active transmission stage”. If the connection is
CHAPTER 7. ACTIVE DROP EXTENSION 214
newly established and the queue is in empty state, then the traffic will always
arrive in exponentially increased batch sizes, as the TCP traffic source always
begin the transmission in “slow start” stage, during which time it increases
its congestion window size by 1 MSS for every successfully received ACK,
effectively double it for every RTT. The first two packets can always be used
for this determination of bursting rate, as it is guaranteed that the source
does not need to wait for any time in order to transmit the second packet.
If the arrival interval for them is ∆i (second), then the bursting rate can be
represented as
Ts
αa = (7.7)
∆i
where Ts is the physical time represented by each time slot. With this in-
formation, then the queue can determine if the traffic source is in the “active
transmission stage” by simply compare the current arrival rate with this peak
bursting rate.
In the single source scenario, as the source may only be “active trans-
mission stage”, during which it transmits packets in the peak bursting rate
calculated above, or the “idle stage”, during which it transmits packets at
the rate of zero, then the overall transmission rate over a period of time can
be predicted with
α o = α a pa (7.8)
In order for this to be observed, the required current congestion window size
is
B × RT T
Smax = (7.9)
Spkt
where B is the bursting bandwidth. For any window size greater than Smax ,
no different will be observed, as the traffic source is already bursting at
highest possible rate.
It is worth mentioning that from the perspective of bottleneck queue,
the bursting bandwidth B and the peak bursting rate αa are not necessarily
determine by the immediate local link bandwidth from the traffic source. For
example, if a home PC is connecting to the home gateway with a 100Mbps
Ethernet link, and the gateway is connected with the ISP core router with a
20Mbps coaxial cable, then if the ISP core router is the bottleneck routers,
from its perspective, even if traffic sources on the home PC is bursting at the
rate of 100Mbps, the observed bursting bandwidth is actually 20Mbps.
Representing the bursting bandwidth B with known variables in the
model, there is
αa × Spkt
B= (7.10)
Ts
Then combining Equation (7.9) and (7.10), the minimal window size for
non-bursting arrival Smax can be derived with all known variables from the
model. If the window size is smaller than Smax , then the traffic source has to
spend time in “idle stage” and wait for ACK to decrease the unacknowledged
packet count, thus allowing active transmission to resume. As the traffic
source always bursts at the rate of B, if the current window size is S, then
before receiving ACK and with no unacknowledged packet, a traffic source
can burst for
S
tb =
B
STs
= (7.11)
αa
CHAPTER 7. ACTIVE DROP EXTENSION 216
The ratio of tb and non-bursting minimal time of RTT is the probability that
the source is in the “active transmission stage” pa , thus
tb
pa =
RT T
S
= (7.12)
αa (di + d0 )
This equation, combined with Equation (7.8), and the overall transmission
rate prediction over a period of time can be written as
S
αo = (7.13)
di + d0
S0 S+1
αo0 = 0
= (7.14)
di + d di + d0
1
∆αo = αo0 − αo = (7.15)
di + d0
If a packet is dropped at the beginning of that RTT, then by its end, the
new overall transmission rate would become
S0 S+1
αo0 = = (7.16)
di + d0 2(di + d0 )
S+1 S+1
αo0 =(1 − pd ) 0
+ pd
di + d 2(di + d0 )
(2 − pd )(S + 1)
=
2(di + d0 )
(2 − pd )(αo (di + d0 ) + 1)
= (7.17)
2(di + d0 )
With is equation, it is possible for the bottleneck queue to predict the overall
transmission rate RTT time slot later with the current overall transmission
rate αo and packet dropping probability pd . The current overall transmission
rate αo here can be estimated by the bottleneck queue. Estimated over a
CHAPTER 7. ACTIVE DROP EXTENSION 218
longer period of time, the overall traffic arrival rate αo allows larger amount of
burstiness, and the prediction of traffic rate changes would be more accurate.
∆Ao =Ao0 − Ao
pd Spkt pd
=(1 − ) − Ao (n)
2 RT T 2
⇓
2(Spkt − ∆Ao RT T )
pd = (7.20)
Spkt + Ao (n)RT T
In a special case, the dropping probability required for maintaining the same
overall traffic arrival rate can be calculated as
2Spkt
pd = (7.21)
Spkt + Ao (n)RT T
In Equation (7.19), (7.20) and (7.21), Spkt is the size of data packet, which
is easily accessible information for the queue. RT T is the round trip time,
specifically, that for the traffic source whose packet has just been dropped by
CHAPTER 7. ACTIVE DROP EXTENSION 221
2Spkt
pd = ≈ 9.77% (7.22)
Spkt + Ao (n)RT T
CHAPTER 7. ACTIVE DROP EXTENSION 223
Similarly, the optimal drop rate before the equilibrium state can be calcu-
lated, and then used as the active drop rate during the connection calculation.
The results is presented in figures 7.10 to 7.13, and the comparison between
the optimised dropping performance and the classic RED with default para-
meter configuration is presented in Table 7.2.
As it can be observed from the performance measures using the optimised
active drop rate, the mean queue length stayed relatively steady and close
to the targeted value of 4 packets. Similarly, the average queueing delay and
throughput are also more steady comparing to the classic RED equivalent.
The average drop rate is actually lower than the comparing value, as more
precise and targeted active dropping result in a more favourable traffic ar-
rival rate, which is overall closer to the calculated targeted traffic arrival rate
presented in Table 7.1. There is a slight drop in the throughput, which is a
direct consequence of a lower overall traffic arrival rate. However, the differ-
ence is negligible, as it can be observed in the third data column, considering
the much more significant performance improvement in other areas.
In practical systems, the effectiveness of this optimisation method greatly
depends on the precision of the estimated RT T and Ao0 (n). The significant
optimisation improvement observed in the previous scenario is achieved due
to the facts that all these variable are accurately accessible to the bottle-
neck queue in the numerical solution, which is indicated by the very steady
queue length under the complex traffic source which is actually very bursty
in nature, as it can be observed by many other experiments with both numer-
ical solutions and NS-2 simulations. This would be much harder to achieve
CHAPTER 7. ACTIVE DROP EXTENSION 224
10
8
Mean Queue Length (packets)
0
0 10 20 30 40 50 60
Time (s)
140
120
Average Queueing Delay (ms)
100
80
60
40
20
0
0 10 20 30 40 50 60
Time (s)
0.9
0.8
Normalised Throughput (Mbps)
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0 10 20 30 40 50 60
Time (s)
0.45
0.4
0.35
0.3
Average Drop Rate
0.25
0.2
0.15
0.1
0.05
0
0 10 20 30 40 50 60
Time (s)
as in a practical scenario the RT T and Ao0 (n) may be variant over time.
8.1 Introduction
In this chapter, the tandem queueing networks is studied using the dynamic
interactive queueing model. It utilises the transient queueing model proposed
in Chapter 4 and the complex traffic source model proposed in Chapter 6,
and presents a multiple-source multiple-queue interactive model which allows
performance measure calculation before the queue reaches equilibrium.
In all of the scenarios presented in earlier chapters, both MATLAB nu-
merical solutions and NS-2 simulations, only one queue was considered to be
the bottleneck of the connection, and targeted as the research object. While
this is an efficient way to simplify the model and analysis several particu-
lar elements of the queue, such as modelling the complex multiple-TCP and
UDP network traffic, or ascertain the relationship between active dropping
function used by AQM schemes and calculate the performance measures of
the system, an important yet not necessary valid assumption is made: there
is only one queue with variable performance in question, and the effect of the
performance measures from the other queues are negligible or maintaining
at the same values during the experiments. As it can be observed from the
derivation process in previous chapters, it is generally assumed that variable
227
CHAPTER 8. MULTI-QUEUE EXTENSION 228
queueing delay and packet drop rate is only allowed in the single bottleneck
queue, while delays from any other queue is considered to be a fixed value
and the drop from them is non-existent.
In most practical system, however, this single bottleneck queue assump-
tion is not always appropriate. As most of the networks are smaller autonom-
ous systems connecting together, it is possible to observe bottleneck queueing
behaviour at different locations. With a bursty traffic profile, it is also pos-
sible that the primary bottleneck queue of a connection changes over time.
Furthermore, as using queueing theory to studying AQM performance in a
practical environment is one of the key motivations in this research, being
able to analysis multiple queues is crucial, as the effect of multiple AQM run-
ning on different nodes could be accumulative. Packets actively dropped by
any queue will result in the change of congestion windows, thus the optimal
dropping rate for each queue is different than that in a single bottleneck
queue scenario. Some algorithms, notably REM, are actually designed to
work with a network of queues, where each step along the connection the
queue drops packet in particular ways so that the collective dropping effect
may shape the traffic into a more desirable profile [8].
Queueing networks have already been proposed as a research area for
some time now. Specifically, for tandem queueing networks, which is mod-
elled in this chapter, describes queues line up one behind the other. There
are already some calculation methods which can perform certain analysis, as
described in the following Section 8.2. However, these methods are all based
on the conventional queueing calculation method with equilibrium require-
ment. This requires all queues in the tandem queueing networks satisfying
the conditions to reach the equilibrium, which is a poor assumption for core
network routers with heavy bursty traffic. With the proposed dynamic in-
teractive method, this is no longer required, and thus can perform analysis
on scenarios where queue length oscillates heavily over time.
The remaining content of this chapter is organised as follows: Section
8.2 describes the tandem queueing networks that is modelled in this chapter,
and introduces the two conventional method to analysis tandem queues that
utilises the equilibrium-based method; Section 8.3 performs statistical ana-
CHAPTER 8. MULTI-QUEUE EXTENSION 229
lysis for the tandem queues using the transient queueing method and ex-
tends the dynamic interactive model to represent the tandem queues; Sec-
tion 8.4 performs MATLAB numerical solution to a typical small scale tan-
dem queueing networks, and analyses the calculated performance measures;
Section 8.5 performs NS-2 simulation using equivalent parameter configur-
ation with the previous MATLAB numerical solution, and their results is
compared with similarities and discrepancies explained; Section 8.6 performs
additional evaluation of the proposed model with large scale scenarios and
varying parameters; Finally, Section 8.7 concludes the chapter by summar-
ising the statistical analysis and dynamic model for the tandem queues and
reiterates the contributions.
p(n1 , · · · , ni , ni+1 , · · · , nK )
=λ(n1 − 1)p(n1 − 1, · · · , ni , ni+1 , · · · , nK )
+ µK (nK + 1)p(n1 , · · · , ni , ni+1 , · · · , nK + 1)
K−1
X
+ µi (ni + 1, ni+1 − 1)
i=1
1, i + 2, · · · , K as
Mj
X X
p(ni , ni+1 ) = p(n1 , · · · , ni , ni+1 , · · · , nK ) (8.2)
j6=i,i+1 nj =0
Mj
P P
µi−1 (ni , ni+1 )Prob{n1 , · · · , nK |ni , ni+1 },
j6=i,i+1 nj =0
ai (ni , ni+1 ) =
i = 2, · · · , K − 1.
λ(ni ), i = 1.
(8.3)
and
Mj
P P
µi+1 (ni+1 , ni+2 )Prob{n1 , · · · , nK |ni , ni+1 },
j6=i,i+1 nj =0
ui+1 (ni , ni+1 ) =
i = 2, · · · , K − 2.
µK (ni+1 ), i = K − 1.
(8.4)
8.2.2 Decomposition
On the contrary, in the decomposition method, the other general method
based on the conventional steady state/equilibrium queueing method, the
network system is considered to be the composition of several subsystems,
CHAPTER 8. MULTI-QUEUE EXTENSION 232
and each of these subsystems are analysed and there performance issues
solved one by one, and thus the performance of the entire system can be
derived from there [49].
A typical tandem Geo/Geo/1/J queues with that k queues lined up one
after another is showed in Figure 8.1. J is a finite buffer size (and in this
demonstrative case, same for all of the queues), including the customer that is
currently under service, and k is the number of nodes that form this tandem
networks of queues. When a packet arrives at a queue, it will only enter the
queue if the buffer is not full, and will be dropped if the buffer is full. In
other words, an ordinary drop-tail queueing scheme is activated for all of the
queues. The service discipline is FIFO.
If the decomposition method is used to analyse this model, then the key
for the solution is to determine the departure processes of the queues inside
the system, as the departure process of a node is effectively the arriving
CHAPTER 8. MULTI-QUEUE EXTENSION 233
process for the next node. In this fashion, the end-to-end performance matrix
from the incoming node of the tandem queueing networks to the outgoing
node can be calculated and analysed. The principle idea of decomposition is
to decompose the system into several subsystems, ideally to the individual
queue, thus the subsequent calculation process would be much easier for
a single queue. As can be observed from Figure 8.2, the system can be
divided into k independent subsystems (basic single queue in this case) and
the departure of the previous node forms the arriving process of this node
as no other traffic is coming into the system aside from the original income
from the first node. In this scenario, the queueing model for every subsystem
(queue) is a Geo/Geo/1/J model, the departure process is the same as the
arriving process (Bernoulli process).
For a tandem queueing networks composed exclusively of Geo/Geo/1/J
queue, the throughput for Queue 1 can be calculated with
S1 = (1 − Π0 ) × β1 (8.5)
α2 = S1 = (1 − Π0 ) × β1 (8.6)
and for Queue 3 which directly follows Queue 2, the arrival rate can be
represented in a similar fashion
α3 = S2 = (1 − Π00 ) × β2 (8.7)
and it would be same for any queue that follows. The Π00 here merely indicates
that the distribution of Queue 2 is used here, different from the one of Queue
1.
In this research, the decomposition method is selected, as the transient
calculation method, as well as the dynamic multi-source complex traffic ar-
rival model would be utilised. Considerate efforts have already been made
CHAPTER 8. MULTI-QUEUE EXTENSION 234
α2 = S1 = (1 − Π0 ) × β1 (8.8)
CHAPTER 8. MULTI-QUEUE EXTENSION 235
with a responsive traffic source and the incoming traffic rate could poten-
tially dropped to be slower than the service rate, the Π0 remains a positive
value, which means that the incoming rate of Queue 2 α2 is always smal-
ler than the service rate of Queue 1 β1 . Due to the previous assumption of
identical queue parameters, which leads to β1 = β2 . This means that for
Queue 2, the incoming traffic rate is always smaller than the service rate.
This would be a scenario which can be solved with the conventional steady
state queueing method, thus, there is no reason to use the computationally
expensive transient queueing method.
The same conclusion can be draw if β2 > β1 . The case of β2 < β1 is best
for using the dynamic model in a tandem queueing system. In this scenario,
as long as the throughput from queue one is high enough, the arrival rate for
Queue 2 can potentially be higher than the departure rate, and the transient
queueing model can be used to calculate both queue.
With a proper parameter setting, in a scenario where α1 > β1 > β2 ,
it is possible to observe bottleneck queueing behaviour occurring at both
Queue 1 and Queue 2. During the active transmission period of the traffic
source, due to the large active transmission rate comparing to the service
rate of the first queue, an intense queue length increase can be observed at
queue 1. During this time, Queue 1 can be considered the bottleneck of
this connection. As packets are dropped at Queue 1, the transmission rate
decreases, and eventually, it may enter a speed which is smaller than the
service rate of Queue 1 which is still larger than that of Queue 2. During
this time, queue length from queue 1 is expected to decrease due to smaller
arrival rate. However, an intense queue length increase can be observed at
Queue 2 due to large arrival rate from the output of Queue 1, Queue 2 will
become the bottleneck of the connection.
A system only required more complicated performance analysis like the
tandem queueing networks analysis, if no single queue can be identified as
constantly been the bottleneck of the connection. Otherwise, the perform-
ance of the connection is only closely related by that bottleneck queue, and a
single queue model analysis would be sufficient. In order to observe signific-
ant queueing build up in all of the queue in the tandem networks, it requires
CHAPTER 8. MULTI-QUEUE EXTENSION 236
later at time t + 2s. However, if only the queues in the tandem networks
is considered to be the subject of research, the delay on the connecting link
between them may be logically assumed to be of a fixed value over the course
of the experiment. Under this condition, it is possible to use the same time
slot index to describe events in each queue. For the same data packet, there
is a physical time difference for the moments it enters a queue in any tandem
networks (assuming that it is not dropped for any reason during the queueing
process all of the preceding queue), which can be written as
i−1
X
∆Ti = (dk + d0k(k+1) ) (8.10)
k=1
where ∆Ti describes the physical time difference between Queue i and the
first queue in the tandem networks Queue 1, dk is the queueing delay in Queue
k, and d0k(k+1) is the all other delay (mostly transmission delay) between
Queue k and the following queue in the tandem networks Queue (k + 1).
Assuming all other delay between two adjacent queues in the tandem net-
works to be a fixed value over the course of the modelling and experimenta-
tion is logical and similar to the assumption made in Chapter 5 regarding all
other factor contributing to the RTT of the packet, as only the performance
measures of the bottleneck queue(s) are the research focus. If the order in
which the queues form the tandem networks also does not change, which is
i−1
P 0
generally a valid assumption for the core network router, then the dk(k+1)
k=1
part in Equation (8.10) can be consider invariant over time for any queue in
question.
In this case, all other delays between queues in the tandem networks may
be ignored for the purpose of time slot index identification. Same amount
of delay needs to be added in other places of the connection, so that the
overall RTT for the connection remains the same, which may be crucial to
the modelling of TCP like traffic sources. This would mean that
i−1
X
∆Ti0 = dk (8.11)
k=1
CHAPTER 8. MULTI-QUEUE EXTENSION 238
where ∆Ti0 is the revised time difference which is only affected by the sum
of queueing delay from all the queue preceding to this one. This would be
expected to be different over time as the dynamic behaviour of the TCP
traffic source leads to a dynamic mean queue length.
In the following modelling process, the time slot index of the entire tan-
dem queueing networks is defined as the same as the time slot index of the
first queue in the system.
where pd represents the probability that the queue length decrease by one,
which is the only decreasing transition with a positive probability in a mul-
CHAPTER 8. MULTI-QUEUE EXTENSION 239
tiple arrival single service model, pr represents the probability that the queue
length remains the same after a transition period, and pi(k) is the probability
that the queue length increase by k. The occasional f irst and last subscript
is the indication that special probability calculation for first (queue length
zero) and last (queue length full) state is required.
Additionally, for each of the probability represented in the matrix, there
is
dk pgf S
pi (k) =(1 − β) |z=0
k!dz k
d(k+1) pgf S
+β |z=0 (8.13)
(k + 1)!dz (k+1)
for decrease transition probability. For EAS system with centre observation
mode, there is
dk pgf S
pi(k)f irst = |z=0
k!dz k
Yn
pr f irst = (1 − αi ) (8.16)
i=1
CHAPTER 8. MULTI-QUEUE EXTENSION 240
dpgf S
pr last =(1 − β) + β |z=0
dz
n
Y
pd last =β (1 − αi ) (8.17)
i=1
to the single dynamic TCP source queueing model, which was discussed in
great detail in Chapter 5. Both of them are memory-less process regulated by
high level mechanism, namely, the congestion window mechanism of the TCP
sources, which is not a memory-less process. In this sense, it is appropriate
to utilise the model developed in Chapter 5 to represent each of the queue
in the system.
When a complex multi-source connection is established through this tan-
dem networks with its destinations, bursty traffic would arrive at Queue 1
and attempt to enter the queue. This is identified as time slot 1, as it is
the first batch of data packet in the experiment. Using the state transitional
matrix P demonstrated in Matrix 8.12 and Equations 8.13 8.14 8.15 8.16
8.17, the average queueing delay and dropping probability during this time
slot for Queue 1 can be derived, and is represented as d1(1) and p1(1) . The
first subscript number indicates the queue index, and the second one indic-
ates the time slot index. During this first time slot, however, none of the
other queue has any data packets in their waiting queue, due to the empty-
queue initial condition. As the EAS with centre observation method is used
in the modelling process, it is not possible to observe any arrival at Queue 2
during the observation of time slot 1, as the possible departure process from
the preceding queue has yet to occur.
At the observation time of time slot 2, the state probability distribution
for Queue 1 changes, transiting from that of the previous time slot depend-
ing on the probabilities in the state transitional matrix, and the new average
queueing delay and dropping probability d1(2) and p1(2) can be derived. As
there is possible departure process from Queue 1, and it is assumed that
there is no other delay between the queues, which means that the departure
process from the preceding queue is immediately considered the arrival pro-
cess for the following queue. As a result, arrival can be observed at Queue 2
during the observation for this time slot. Due to the geometrically distrib-
uted service time of the preceding queue, Queue 2 can be represented with
both geometrically distributed arrival and geometrically distributed depar-
ture, with the parameters of S1(1) for arrival and β2 for departure where S1(1)
is the throughput from the preceding queue Queue 1 from the time slot 1,
CHAPTER 8. MULTI-QUEUE EXTENSION 242
and the average queueing delay and dropping probability during this time
slot for Queue 2 can be derived, and is represented as d2(2) and p2(2) .
The reason for using the throughput from the previous time slot as the
arrival for the current time slot is because in the early arrival system (EAS),
any possible arrival process happens just after the slot edge, and any possible
departure process happens right before the slot edge. With centre observation
method, when the observation occurs, the departure in the current time slot
cannot be observed. Between two adjacent observations, only the departure
process occurred right before the edge of the previous time slot may be
observed.
Similarly, at time slot i (i < N ), the first arrival process can be observed
at Queue i, as the departure process of its preceding queue Queue (i −
1) from time slot (i − 1) becomes its arrival process, and all its relevant
performance measures can be derived. Eventually, packet arrival reaches the
last queue in the tandem networks Queue N . As it is assumed that there
is no other delay over the connection, which means that the throughput for
Queue N also represents the overall rate at which all destination received data
packets, and is also the overall rate at which ACK packets are transmitted
back to the source. When these ACK packets eventually returned to its
corresponding source, the traffic sources will modify their congestion window
sizes correspondingly. This is process is identical to any single queue scenario,
and has been thoroughly discussed in Chapter 5 and 6.
Over the course of experiment, the complex traffic changes its overall
transmission rate and all of the relevant performance measures can be derived
from the queue length state probability distribution of the previous time
slot as well as the throughput of preceding queue of previous time slot as
parameter, with the first queue derived its performance measures directly
from the queue length state probability distribution of previous time slot
and the status of the complex traffic source. As a result, the performance
measures of all queues can be derived over time slot and each other, and
the performance for the connections can be derived from the combination of
them as well.
In order to validate this new important extension of the proposed model,
CHAPTER 8. MULTI-QUEUE EXTENSION 243
service rate β1 and β2 of both queues based on the relative bandwidth value
of incoming and exiting links. It is most preferable to set both service rate
to be a large enough value that is at the same time smaller than 1. After
this step the time represented by each time slot can be calculated by
β1 × Spkt
Ts = (8.18)
B1
instance by
T
nt = (8.19)
Ts
• Calculate other factors for delay of the connection in unit of time slot
Ds0 by
D0
Ds0 = (8.20)
Ts
After the parameter conversion, the programme starts to calculate the con-
nection and the queueing behaviour of each queue based on the overall traffic
arrival rate from all involving TCP traffic sources (for Queue 1) or through-
put rate of the preceding queue (for any other queue) and other relevant
parameters slot by slot, using functions similar to the ones used in Chapter
4, Chapter 5 and Chapter 6. However, because of multiple possible bottle-
neck queues in the system, the programme now keeps records of the queue
length process and performance measures such as mean queue length, aver-
age queueing delay, normalised throughput, average dropping probability for
all of the queue, so that the performance for the entire connections may be
derived later.
In this particular multi-queue experiment performed here, the complex
traffic source is used, with the parameters of 4Mbps for the combining enter-
ing link bandwidth, which includes 18 TCP traffic sources of various active
transmission rate. The sum of the active transmission rate of those TCP
traffic sources are 3.6Mbps, with each of them valued from 0.12Mbps to
CHAPTER 8. MULTI-QUEUE EXTENSION 246
Queue 1
Queue 2
30
25
Mean Queue Length (packets)
20
15
10
0
0 10 20 30 40 50 60
Time (s)
limitation. This is expected and can be easily deduced by the analysis for
Queue 1. The average queue length of the entire duration of this experiment
is 10.9654 for Queue 1 and 20.9582 for Queue 2.
After the mean queue length of this experiment is calculated from state
probability distribution of the queue, the queueing delay is calculated and
presented in Figure 8.4.
The average queueing delay for the whole experiment is 131.6073ms for
Queue 1, and 251.6275ms for Queue 2.
Following the average queueing delay, throughput of the tandem queues
is calculated and presented in Figure 8.5.
In these experiments, as a 100% utilised exiting link represents a through-
put of 1.1Mbps for Queue 1 and 1Mbps for Queue 2, the actually throughput
of the connection can be calculated by (1−Π0 )×1.1M bps or (1−Π0 )×1M bps.
The average throughput for the entire experiment is 1.0394Mbps for Queue
1, and 0.9998Mbps for Queue 2. It can be observed that Queue 1 has a
CHAPTER 8. MULTI-QUEUE EXTENSION 248
400
Queue 1
Queue 2
350
300
Average Queueing Delay (ms)
250
200
150
100
50
0
0 10 20 30 40 50 60
Time (s)
1.2
Queue 1
Queue 2
1
Normalised Throughput (Mbps)
0.8
0.6
0.4
0.2
0
0 10 20 30 40 50 60
Time (s)
Queue 1
0.25 Queue 2
0.2
Average Drop Rate
0.15
0.1
0.05
0
0 10 20 30 40 50 60
Time (s)
traffic sink and UDP traffic sink. It will send an acknowledgement packet to
the corresponding TCP source for every successfully received TCP packet.
The sum of the active transmission rate of those TCP traffic sources are
3.6Mbps, with each of them valued from 0.12Mbps to 0.28Mbps with an in-
crement of 0.01Mbps with another one valued 0.2Mbps (there are two sources
with the value of 0.2Mbps). The UDP source is sending with CBR traffic
of 0.4Mbps. With those parameters, the ratio between the responsive TCP
traffic and unresponsive UDP traffic is 9:1, which is approximately the same
as that in the practical network system [57]. All the link from traffic sources
to R1 have the delay of 10 ms. The link bandwidth between R1 and R2 has
a bandwidth of 1.1Mbps and a propagation delay of 10 ms, while the link
between R2 and N21 has a bandwidth of 1Mbps and a propagation delay of
80ms. This makes the RTT from all the delay factors (which can be simplified
as all propagation delay) aside from the queueing delay within the tandem
queues to be 200ms, equalling to that from MATLAB numerical solution.
CHAPTER 8. MULTI-QUEUE EXTENSION 251
Both queues in R1 and R2 utilises the drop-tail scheme, and the buffer sizes
for them are 30 packets, same as those in the numerical solution. All data
packets in the simulation are 1500 bytes in size. The connection simulation
runs for 60 seconds, and the queue length, queueing delay, throughput, drop
rate is captured through NS-2 build-in script functions.
The instantaneous queue length presented in Figure 8.8 is captured through
the queue monitor function in the NS-2 scenario TCL script.
As it can be clearly observed from this figure, the queue length for both
queue fluctuate through time, with that from R2 much larger than R1 in
general. Traffic spikes always pass through R1 first, before all that remains
may enter the queue of R2, which is indicated by a similar increasing and
decreasing trend and observable delay for the peaking of queue size between
R1 and R2. Due to the fact that R1 has a slightly larger service rate than
R2, the latter is the bottleneck for the connection most of the time. This
results in the fact that queue length for R1 frequently drop to an almost
empty level, which queue length for R2 rarely drops below 10 packets for
CHAPTER 8. MULTI-QUEUE EXTENSION 252
Queue 1
30 Queue 2
25
Queue Length (packets)
20
15
10
0
0 10 20 30 40 50 60
Time (s)
most of the time. The average queue length of this NS-2 experiment over 60
seconds is 11.4372 for R1 and 20.4539 for R2, which is reasonably close to
the MATLAB average of 10.9654 and 20.9582, considering this is only one
instance over the statistical calculation of the stochastic model.
The instantaneous delay of this TCP connection simulation is presented
in Figure 8.9.
The average queueing delay in this scenario is 125.3466ms for R1 and
274.3006ms for R2. It has a small difference with the average in MATLAB
which is 131.6073ms and 251.6275ms.
Following the delay figure, the throughput of the connection is presented
in Figure 8.10.
The average throughput value of the entire simulation of 60 seconds is
1.0342Mbps for R1 and 0.9949Mbps for R2, very similar to that of MATLAB
numerical solution which has an average of 1.0394Mbps and 0.9998Mbps.
Finally, the packet dropping figure is presented in 8.11.
CHAPTER 8. MULTI-QUEUE EXTENSION 253
400
Queue 1
Queue 2
350
300
Queueing Delay (ms)
250
200
150
100
50
0
0 10 20 30 40 50 60
Time (s)
1.4
Queue 1
Queue 2
1.2
1
Throughput (Mbps)
0.8
0.6
0.4
0.2
0
0 10 20 30 40 50 60
Time (s)
only R2 is considered bottleneck most of the time, which also confirms the
analysis performed in Section 8.3 regarding the relationship between the ser-
vice rate of queues in tandem networks.
Queue 1
Queue 2
1
0.8
Drop Rate
0.6
0.4
0.2
0
0 10 20 30 40 50 60
Time (s)
changed dramatically, and with a only slightly changed arrival process for
them, there is also only a slight degree of change in the resulting queueing
behaviours. There is a larger change for Queue 4, as its service rate is barely
larger than Queue 5, and can be considered having the second most important
bottleneck effect on the connection. This, along with the changes for Queue
5 is expected and can be easily explained with the relationship between a
bottleneck queue and heavy traffic source.
Table 8.5: Data for 4Mbps Arrival and 0.5 to 0.9Mbps Departure
CHAPTER 8. MULTI-QUEUE EXTENSION 264
is much less comparing to that in the third scenario, and with a smoother
traffic, the packet dropping rate from Queue 1 is also lower.
Most importantly, the results from MATLAB numerical solution and NS-
2 simulation are closely matched in most scenarios, which validates the ana-
lysis of tandem queueing behaviour, as well as the extension of tandem queue
for the interactive behaviour between dynamic arrival process of complex
traffic source and bottleneck queue(s).
9.1 Conclusions
With the development of computer and network technology, increasing amount
of people use the computer network for various activities, and significant por-
tion of telecommunicated information are transmitted over the Internet. As
the need for congestion-free and low-delayed network rises, so does the ne-
cessity for effective mechanisms that prevent congestion and alleviate delay.
Active Queue Management (AQM) is a popular method for decreasing the
probability of congestion failure and reducing queueing delay in the network.
Most AQM schemes achieve this by probabilistically dropping or marking
data packets arriving at a gateway queue. This action sends useful congestion
feedback to the traffic source, and if the source is responsive to such feed-
back, such as TCP, then it can modify the transmission rate, and hopefully,
congestion would be prevented, or queueing delay be reduced. It is generally
agreed that AQM schemes are effective when properly configured according
to the current incoming traffic profile and network condition. Unfortunately,
266
CHAPTER 9. CONCLUSIONS AND FUTURE WORK 267
ive source and the bottleneck queue is developed in Chapter 5. The traffic
source in the proposed model increases and decreases its transmission rate
by responding to the performance feedback of the bottleneck queue. It is a
model to better represents the responsive Additive Increase Multiplicative
Decrease (AIMD) characteristics of TCP congestion window size. The ac-
curacy of the proposed model is validated by extensive results comparison
between MATLAB numerical solutions and NS-2 simulation experiments.
The proposed dynamic interactive model is then extended in various dir-
ections. First of all, the multiple-source extension is presented in Chapter
6. With the increased number of traffic sources in the arrival process, and
the time-variant nature of the proposed method, a batched arrival process is
introduced, in the form of Poisson Binomial distribution. An elegant method
of calculating the probability mass function (pmf ) of the complicated Pois-
son Binomial distribution utilising the probability generating function (pgf )
is presented. This allows a much larger number of sources to be repres-
ented, even with unresponsive source representing the UDP traffic. Similar
extensive validation with MATLAB numerical solutions and NS-2 simulation
experiments is performed, which shows the effectiveness of the new extension.
In Chapter 7, the proposed dynamic interactive model is further extended
with an active dropping mechanism implemented. AQM dropping function
and parameter optimisation is introduced, by perform a statistic analysis on
the dropping behaviour. Utilising the proposed model, traffic transmission
rate can be more accurately predicted as a response to the previous drop-
ping behaviour on the bottleneck queue. This allows the optimal dropping
probability to be determined, which allows the optimisation of parameter
configuration.
Finally, another extension for the proposed dynamic interactive model
is presented in Chapter 8, in form of tandem queueing networks. Using the
decomposition method and with the proposed model, the dynamic behaviour
of tandem queueing networks can be analysed. This allows the performance
modelling of a network system where bottleneck queues cannot be isolated.
This also demonstrates the adaptability and strong extension potential for
the proposed model, in order to fulfil various requirements.
CHAPTER 9. CONCLUSIONS AND FUTURE WORK 269
[3] Rfc: 2001, TCP slow start, congestion avoidance, fast retransmit, and
fast recovery algorithms. http://tools.ietf.org/html/rfc2001, January
1997.
[4] Rfc: 6582, the newreno modification to TCP’s fast recovery algorithm.
http://www.rfc-editor.org/rfc/rfc6582.txt, April 2012.
[6] Søren Asmussen and Jozef L Teugels. Convergence rates for M/G/1
queues and ruin problems with heavy tails. Journal of applied probab-
ility, pages 1181–1190, 1996.
271
REFERENCES 272
[10] Deepak Bansal, Hari Balakrishnan, Sally Floyd, and Scott Shenker.
Dynamic behavior of slowly-responsive congestion control algorithm.
In SIGCOMM, 2001.
[13] T. Bonald, M. May, and J.C. Bolot. Analytic evaluation of RED per-
formance. In Nineteenth Annual Joint Conference of the IEEE Com-
puter and Communications Societies (INFOCOM-2000), Tel Aviv, Is-
rael, pages 1415–1424, March 2000.
[19] Martin J. Van Der Burgt. Coaxial Cables and Applications. Belden.
[25] Jae Chung and Mark Claypool. Rate-based active queue management
with priority classes for better video transmission. In Computers and
Communications, 2002. Proceedings. ISCC 2002. Seventh International
Symposium on, pages 99–105. IEEE, 2002.
[33] Xidong Deng, Sungwon Yi, George Kesidis, and Chita R Das. Sta-
bilized virtual buffer (SVB)-an active queue management scheme for
internet quality-of-service. In Global Telecommunications Conference,
2002. GLOBECOM’02. IEEE, volume 2, pages 1628–1632. IEEE, 2002.
[34] Wilfrid Joseph Dixon, Frank Jones Massey, et al. Introduction to stat-
istical analysis, volume 344. McGraw-Hill New York, 1969.
[35] Joseph L Doob. Stochastic processes, volume 101. New York Wiley,
1953.
[38] W.C. Feng, D.D. Kandlur, and D. Saha. A self-configuring RED gate-
way. In Eighteenth Annual Joint Conference of the IEEE Computer
and Communications Societies, (INFOCOM’99), New York, NY, USA,
pages 1320–1328, March 1999.
REFERENCES 275
[39] Wu-chun Feng, Apu Kapadia, and Sunil Thulasidasan. GREEN: pro-
active queue management over a best-effort network. In Global Tele-
communications Conference, 2002. GLOBECOM’02. IEEE, volume 2,
pages 1774–1778. IEEE, 2002.
[40] Victor Firoiu and Marty Borden. A study of active queue manage-
ment for congestion control. In INFOCOM 2000. Nineteenth Annual
Joint Conference of the IEEE Computer and Communications Societ-
ies. Proceedings. IEEE, volume 3, pages 1435–1444. IEEE, 2000.
[42] Sally Floyd. TCP and explicit congestion notification. ACM SIG-
COMM Computer Communication Review, 24(5):8–23, 1994.
[45] Sally Floyd and Van Jacobson. Random early detection gateways for
congestion avoidance. IEEE/ACM Transactions on Networking, Au-
gust 1993.
[46] Sally Floyd and Eddie Kohler. Internet research needs better mod-
els. ACM SIGCOMM Computer Communication Review, 33(1):29–34,
2003.
[48] Silvano Gai and Keith McCloghrie. Method and apparatus for defin-
ing and implementing high-level quality of service policies in computer
networks, December 26 2000. US Patent 6,167,445.
[50] William J Gordon and Gordon F Newell. Closed queuing systems with
exponential servers. Operations research, 15(2):254–265, 1967.
[52] Donald Gross and Carl Harris. Fundamentals of queueing theory. 1998.
[54] Liang Guo and Ibrahim Matta. The war between mice and elephants.
In Network Protocols, 2001. Ninth International Conference on, pages
180–188. IEEE, 2001.
[55] Huaizhong Han, CV Hollot, Yossi Chait, and Vishal Misra. TCP net-
works stabilized by buffer-based AQMs. In INFOCOM 2004. Twenty-
third AnnualJoint Conference of the IEEE Computer and Communic-
ations Societies, volume 2, pages 964–974. IEEE, 2004.
[56] Mahbub Hassan and Raj Jain. High Performance TCP/IP Networking.
Pearson Education, 2004.
[57] Martin Hilbert and Priscila Lopez. The world’s technological ca-
pacity to store, communicate and compute information. Science,
332(6025):60–65, June 2011.
REFERENCES 277
[59] C.V. Hollot, V. Misra, and D. Towsley. Analysis and design of control-
lers for AQM routers supporting TCP flows. IEEE Transactions on
Automatic Control, 49:945–959, 2002.
[61] Donald L Iglehart and Ward Whitt. Multiple channel queues in heavy
traffic. i. Advances in Applied Probability, 2(1):150–177, 1970.
[62] Donald L Iglehart and Ward Whitt. Multiple channel queues in heavy
traffic. ii: Sequences, networks, and batches. Advances in Applied Prob-
ability, 2(2):355–369, 1970.
[66] Abhinav Kamra, Sundeep Kapila, Varun Khurana, Vikas Yadav, Ra-
jeev Shorey, Huzur Saran, and Sandeep Juneja. SFED: a rate control
based active queue management discipline. IBM India Research Labor-
atory Research Report, 2000.
REFERENCES 278
[67] Dina Katabi, Mark Handley, and Charlie Rohrs. Congestion control for
high bandwidth-delay product networks. In SIGCOMM, pages 89–102,
2002.
[70] W David Kelton and Averill M Law. The transient behavior of the
M/M/s queue, with implications for steady-state simulation. Opera-
tions Research, 33(2):378–396, 1985.
[72] K. Kim, A. Tang, and S. Low. Design of AQM in supporting TCP based
on the well-known aimd model. In IEEE Global Telecommunications
Conference (GLOBECOM 03), pages 3226–3230, 2003.
[73] JFC Kingman. On queues in heavy traffic. Journal of the Royal Stat-
istical Society. Series B (Methodological), pages 383–392, 1962.
[75] Jahon Koo, Byunghun Song, Kwangsue Chung, Hyukjoon Lee, and
Hyunkook Kahng. MRED: a new approach to random early detection.
In Information Networking, 2001. Proceedings. 15th International Con-
ference on, pages 347–352. IEEE, 2001.
[79] Minseok Kwon and Sonia Fahmy. Comparison of load-based and queue-
based active queue management algorithms. In ITCom 2002: The
Convergence of Information Technologies and Communications, pages
35–46. International Society for Optics and Photonics, 2002.
[80] L. Le, J. Aikat, K. Jeffay, and F. Smith. The effects of active queue
management on web performance. In 9th International Symposium on
Computers and Communications (ISCC 2004), pages 748–754, 2004.
[81] DongJin Lee, Brian E. Carpenter, and Nevil Brown lee. Observations of
udp to TCP ratio and port numbers. In Fifth International Conference
on Internet Monitoring and Protection (ICIMP 2010), Barcelona, May
2010.
[83] Wolter Lemstra, Vic Hayes, and John Groenewegen. The innovation
journey of Wi-Fi: the road to global success. Cambridge University
Press, 2010.
[85] Dong Lin and Robert Morris. Dynamics of random early detection. In
SIGCOMM ’97, Cannes, France, pages 127–137, 1997.
REFERENCES 280
[87] Chengnian Long, Bin Zhao, Xinping Guan, and Jun Yang. The yellow
active queue management algorithm. Computer Networks, 47(4):525–
550, 2005.
[89] Michael May, Jean Bolot, Christophe Diot, and Bryan Lyles. Reasons
not to deploy RED. In Quality of Service, 1999. IWQoS’99. 1999
Seventh International Workshop on, pages 260–262. IEEE, 1999.
[91] Sean P Meyn and Richard L Tweedie. Markov chains and stochastic
stability. Springer Science & Business Media, 2012.
[93] Vishal Misra, Wei-Bo Gong, and Don Towsley. Fluid-based analysis of
a network of AQM routers supporting TCP flows with an application
to RED. In ACM SIGCOMM, pages 151–160, 2000.
[99] T.J. Ott, T.V. Lakshman, and L.H. Wong. SRED: stabilized RED. In
Eighteenth Annual Joint Conference of the Ieee Computer and Com-
munications Societies, (INFOCOM’99), New York, NY, USA, pages
1346–1355, March 1999.
[106] Jinsheng Sun, King-Tim Ko, Guanrong Chen, Sammy Chan, and
Moshe Zukerman. Pd-RED: to improve the performance of RED. IEEE
Communications letters, 7(8):406–408, 2003.
[107] Tim Szigeti and Christina Hattingh. End-to-End QoS Network Design:
Quality of Service in LANs, WANs, and VPNs. Cisco Press, November
2004.
[109] Nico M Van Dijk. Queueing networks and product forms: a systems
approach, volume 4. John Wiley & Son Limited, 1993.
[110] Nicky van Foreest, Michel Mandjes, and Werner Scheinhardt. Analysis
of a feedback fluid model for heterogeneous TCP sources. Stochastic
Models, (3):299–324, 2003.
[112] J. Wang, M. Zhou, and Y. Li. Survey on the end-to-end internet delay
measurements.
[113] Ping Wang, Hong Chen, Xiaoping Yang, and Xiaohui Lu. Active queue
management of delay network based on constrained model predictive
control. In Chinese Control and Decision Conference (CCDC), pages
814–818, 2011.
[117] Dave Worthington and A. Wall. Using the discrete time modelling ap-
proach to evaluate the time-dependent behaviour of queueing systems.
Journal of the Operational Research Society, pages 777–788, 1999.
[118] Yong Xiong and Zhiyong Bu. Density evolution method for discrete
feedback fractal M/M/1 traffic models. In 2005 International Confer-
ence on Communications, Circuits and Systems, May 2005.
[119] Cui-Qing Yang and Alapati VS Reddy. A taxonomy for congestion con-
trol algorithms in packet switching networks. Network, IEEE, 9(4):34–
45, 1995.
[120] Kaiyu Zhou, Kwan L. Yeung, and Victor O.K. Li. Nonlinear RED:
A simple yet efficient active queue management scheme. Computer
Networks, 50:3784–3794, 2006.
[121] L. Zhu and N. Ansari. Local stability of a new adaptive queue man-
agement (AQM) scheme. IEEE Communications Letters, 8:406–408,
2004.