Collaborative Distributed Admission Control (CDAC) for Wireless Ad Hoc Networks

advertisement
Wireless Pers Commun
DOI 10.1007/s11277-008-9453-x
Collaborative Distributed Admission Control (CDAC)
for Wireless Ad Hoc Networks
Thinh Nguyen · Kien Nguyen · Mario E. Magaña ·
Linhai He
© Springer Science+Business Media, LLC. 2008
Abstract Admission control algorithms have been widely researched for many years to
guarantee the Quality of Service (QoS) for multimedia applications over the wired Internet.
With the recent surge of wireless home networks, it is increasingly important to employ the
admission control mechanisms in order to enhance the performance of the wireless multimedia applications. In this paper, we propose a framework for performing distributed admission
control in a collaborative wireless environment. In particular, a wireless device will not inject
a new flow into the wireless medium if it determines that by doing so, there is not enough
resources to support all the existing flows. Our contributions are threefold. First, we propose a modification to 802.11x based network in order to increase the bandwidth efficiency.
Specifically, doubling the contention window (CW) size after a collision is no longer necessary in the proposed wireless network. Second, we provide a performance analysis for the
modified 802.11x based wireless networks with multiple flows having different throughput
requirements. Third, using the theoretical analysis, we propose two distributed admission
control algorithms based on the transmission opportunity (TXOP) and the CW. Simulation
results confirm our theoretical predictions on the performance of the proposed admission
control algorithms.
Keywords
Wireless · Ad hoc · Networks · Admission control
T. Nguyen · K. Nguyen · M. E. Magaña (B)
School of Electrical and Computer Engineering, Oregon State University, Corvallis, OR, USA
e-mail: magana@eecs.orst.edu
T. Nguyen
e-mail: thinhq@eecs.orst.edu
K. Nguyen
e-mail: nguyenki@eecs.orst.edu
L. He
Boston Consulting Group, Boston, USA
e-mail: linhaihe@gmail.com
123
T. Nguyen et al.
1 Introduction
Recent years have witnessed an explosive growth in multimedia wireless applications such
as video streaming and conferencing. One of the reasons for this tremendous growth is the
deployment of IEEE 802.11x WLANs [1] in both private homes and enterprise networks.
Without a proper bandwidth allocation mechanism in a wireless network, a flow may experience a significant performance degradation during a session due to free admission of an
arbitrarily large number of flows. To alleviate this problem, the recent 802.11e standard
[2–4] specifies a mechanism for traffic differentiation. Traffic differentiation provides different priority levels for different flows. As a result, real-time applications such as video
streaming can use high priority class to obtain larger bandwidth and shorter delay. However,
traffic differentiation alone cannot guarantee the performances for individual flows sharing
the wireless medium. Instead, admission control mechanism is needed to ensure that a new
flow is admitted, only if there is enough resource to support the required throughputs of all the
existing flows. Presently, the 802.11x standards do not specify any mechanism for admission
control.
In a wired network, admission control is performed at the edge of a network [5]. The decision to admit or reject a new flow is easier to make, compared to that of a wireless network.
A simple admission control algorithm for wired networks can keep track of the total used
bandwidth. The available bandwidth is then equal to the difference between the network
capacity and used bandwidth. A new flow is admitted if its requested bandwidth is smaller than
the available bandwidth by some threshold, otherwise it is rejected. On the other hand, admission control for a wireless network is more complex. This complication is due to the channel
contention access, in which the interferences i.e., the collisions between the new flow and the
existing flows reduce the all the flow’s throughputs. The number of these collisions (resulting
in wasted bandwidth) increases nonlinearly with the number of competing flows, making it
harder for the admission control algorithm to decide whether or not to admit a new flow.
Many existing admission control algorithms for 802.11x based networks have been proposed [6–8]. Most of them assume an access point (AP) that runs the admission control
algorithm. The advantage of this approach is that the AP has complete information about the
network, and thus can allocate the resource efficiently. For example, Xiao and Li [6,9,10] use
the measurements to provide flow protection (isolation) in 802.11e network. Their algorithm
is simple, yet effective. The algorithm requires the AP to broadcast the necessary information
to other wireless stations. In particular, the AP announces the budget in terms of the remaining
transmission time for each traffic class (there are four classes in 802.11e) through the beacon
frames. When the time budget for a class is depleted, the new streams of this class will not
be admitted. Xiao and Li’s work set a fixed limit on the transmission time for the entire session, resulting in low bandwidth utilization when not every traffic class approaches its limit.
Recently, Bai et al. [11] improves the bandwidth utilization of Xiao and Li’s work by dynamically changing the transmission time of each class based on the current traffic condition.
Centralized admission control is not possible when multiple wireless devices form an ad
hoc network. Thus the devices must collaborate with each other to jointly satisfy their bandwidth requirements. In this paper, we propose a collaborative distributed admission control
(CDAC) algorithm in which, every device are assumed to be honest and collaborative. Specifically, a device will not start a new flow if by doing so, there is not sufficient resources to
support the existing flows. While our approach can be extended naturally to multi-hop wireless ad-hoc environment, for clarity, our discussion is limited to a one-hop wireless network,
e.g. the network of all the wireless devices within a home or a small building such that every
device can hear the transmissions of all other devices. Furthermore, we believe, wireless will
123
CDAC for Wireless Ad Hoc Networks
become the common mode of communication among many household devices in the future.
As such, admission control might be necessary to allow many devices to function optimally.
For example, a person may watch Internet TV program broadcast from a broadband router to
his or her room, while another person may listen to music via wireless speakers in a different
room. Yet, at the same time, another person may transfer files from one computer to another.
Because of the specific bandwidth requirements of different applications, an admission control algorithm may advise the file transfer application to reduce its bandwidth in order to
maintain the performance of other real-time flows associated with video or music applications. On a different note, while it is easier to perform admission control in a centralized
manner, if possible, we advocate a distributed admission control framework to reduce burden
to perform admission control related tasks on a centralized device (e.g., AP). In particular,
if every device is able to monitor certain parameters that are used to determine whether or
not there is sufficient bandwidth, then it can determine for itself whether or not it should
inject a new flow. We will discuss the protocol shortly. That said, our proposed admission
control framework along with the subsequent analysis will still be applicable to a centralized
admission control framework. The only difference between the distributed and centralized
admission control frameworks is the method used to obtain the admission control parameters.
Our contributions are the followings: first, we propose a modification to 802.11x based
network in order to increase the bandwidth efficiency. Specifically, doubling the contention
window (CW) size after a collision is no longer necessary in the proposed wireless network
with the new admission control. We argue that doubling of contention window size is not
optimal when a proper admission control is used. Using admission control, the traffic load at
any given time is known or highly predictable, and therefore the CW size and/or the TXOP
of each device can be precisely tuned (by the admission control algorithm) to achieve the
required throughput. Therefore, we expect higher performance from this approach than that
of blindly doubling the CW size after every unsuccessful retransmission attempt. Second,
we provide a performance analysis for the proposed wireless networks with multiple flows
having different throughput requirements. Third, using the theoretical analysis, we propose
two distributed admission control algorithms based on the transmission opportunity (TXOP)
and the CW. Specifically, each wireless device adjusts the TXOP or the CW size based on
the requested throughput of a new flow. Our paper is organized as follows. We first discuss
the background and a few related work in Sect. 2. Next, we describe the proposed CDAC
algorithms and the corresponding mathematical analysis in Sect. 3. Section 4 is devoted to
the discussion of the simulation results. Finally, we summarize our paper and provide the
future directions in Sect. 5.
2 Related Work
Contention based access enables multiple devices to compete for a shared wireless channel.
While there are many parameters in 802.11x standards, for simplicity, we focus our discussion
on the CW and TXOP. To access the channel, a device first senses the channel. If the channel
is idle for more than the Arbitration Interframe Space (AIFS) time, the device starts sending the data. Otherwise, it sets a back-off timer for a random number of time slots between
[0, CWmin ] where CWmin is the minimum CW size. The back-off timer is decremented by
one for each idle time slot after the AIFS time, and halts decrementing when a transmission
is detected. The decrementing resumes when the channel is sensed idle again for an AIFS
time. A device can begin transmission on the channel as soon as its back-off timer reaches
zero. If a collision occurs, i.e., no acknowledgment packet is received after a short period of
123
T. Nguyen et al.
time, the back-off timer is chosen randomly between [0, (CWmin + 1)2i − 1] where i is the
number of retransmission attempts. In effect, the CW size is doubled for each retransmission
in order to reduce the traffic in a heavily loaded network. Clearly, a flow uses a small CWmin
is likely to obtain the channel than a flow that uses a large CWmin . Therefore, different traffic
classes can employ different values of CWmin . In addition to CWmin , the device can control
its throughput by changing the TXOP. Every time a device obtains the channel successfully,
it can reserve the channel for some amount of time (TXOP). Thus, a high priority traffic can
set their TXOP to a large value to achieve higher throughput.
The CWmin and the TXOP are not only the tunable parameters for differentiating the traffic. The values of AIFS and CWmax are also used to provide service differentiation for flows
with different priorities. Many works on Quality of Service (QoS) schemes for IEEE 802.11
by setting these values statically for different flows have been proposed [12]. A detailed
survey of existing MAC scheme for traffic differentiation can be found in [13]. Some other
QoS schemes for IEEE 802.11 sets these parameters dynamically. For example Aad and Ni
propose to slowly decrease CW after each successful packet transmission to reduce collision
rate and retransmissions [14]. Also, Romdhani et al. [15] propose an adaptive framework for
setting the QoS parameter in EDCF in a wireless ad hoc network. QoS traffic differentiation
using priority scheduling for multi-hop wireless ad hoc network has also been proposed by
Kanodia et al. [16].
The traffic differentiation alone cannot guarantee QoS in a wireless network. As such,
several admission control schemes have been proposed to guarantee QoS in wireless LANs.
These schemes are implemented at different network layers. For example, Barry et al. [17]
propose to monitor the channel using virtual MAC frames and estimate the local service
level by measurement virtual frames. Shah et al. [18] propose an application layer admission
control based on MAC layer measurement using data packets. Valaee et al. [19] propose a
service curve based admission procedure using probe packets. Pong and Moors [20] propose
admission control strategy for QoS of flows in IEEE 802.11 by adjusting the CW size and
the transmission opportunity.
3 Collaborative Distributed Admission Control (CDAC)
One problem with contention based access in the 802.11 WLAN is the nonlinear throughput
reduction of the existing flows with the introduction of a new flow due to higher collision
rate. Thus, an effective admission control algorithm for WLAN must accurately calculate the
overall throughput resulting from an introduction of a new flow in order to decide whether or
not to admit the new flow. Bianchi [21] proposes an analytic model for calculating the WLAN
throughput. Based on this model, Pong and Moor propose an admission control algorithm
by varying the transmission parameters of a WLAN. Their admission control algorithm is
based on an approximated throughput model [20]. Our algorithm is similar to the Pong and
Moor’s algorithm in the sense that every device also adjusts its transmission parameters to
maintain their required throughputs in the presence of the new flow. However there are several fundamental + differences as follows: first, our proposed admission control algorithm
is based on a modified version from the traditional 802.11x based network. In our modified
version, the CW size is not doubled after every unsuccessful retransmission attempt. We
argue that when a proper admission control is employed, eliminating this doubling of the
CW size helps to increase the bandwidth efficiency by not reducing the sending rate of each
device unnecessarily. Because of this modification, we are able to calculate the exact resulted
throughput with the introduction of the new flow.
123
CDAC for Wireless Ad Hoc Networks
Before describing our CDAC in detail, we note that our proposed protocol can be
performed at an AP, although the proposed algorithm will be described in the context of
ad-hoc mode for the remaining of the paper. In particular, we consider a small wireless network in which every wireless device can hear each other’s transmissions such as a network of
all the wireless devices (without an AP) within a home. We also assume the use of reservation
packets RTS/CTS.
In our proposed scheme, each wireless device continuously monitors traffic in its neighborhood and estimates the following parameters:
• I : percentage of idle slots (denoted as type-I slots).
• Si : percentage of slots with a successful transmission of RTS/CTS packet (denoted as
type-S slots) of flow i.
• C: percentage of slots with collision (denoted as type-C slots).
• Di : throughput of flow i as a fraction of the channel capacity.
Note that I + C + i Si = 1. Also, if admission control is performed at the AP, these
parameters can be easily obtained.
Our analysis is based on time-slotted, reservation based protocols similar to Aloha protocol, where the time taken to make a reservation is a geometrically distributed random variable
with parameter p. To translate the transmission probability p back to the CW size used in
IEEE 802.11x protocol, W can be set to 1/p. We note that this is only an approximation
since W in IEEE 802.11x protocols are not reset at every time slot. Other approximations to
the IEEE 802.11 parameters will be discussed shortly.
Suppose a device wants to start a new flow of throughput x bps. It first needs to decide
whether the network has sufficient resources to support the new flow. If it does, how would
each device tune its transmission parameters (CW or TXOP) to take into account the new
traffic in order to maintain the required throughputs. Each device is assumed to be collaborative such that it will not inject a new flow if there is not enough bandwidth for the existing
flows. This is in contrast with the work by [22] in which, Li and Prabhakaran propose a
QoS guarantee scheme in non-cooperative wireless LANs. It is important to note that all the
admission control operations are done by the device that wants to inject a new flow. If and
only if the new flow is admitted by the admission control algorithm running locally on the
same device, then this device will broadcast the updated transmission parameters (CW or
TXOP) to other devices. This approach reduces the workload for other devices. In this paper,
we consider two parameters that can be tuned when a new flow joins the network: the size
of a data packet or the transmission opportunity (TXOP) and the CW size.
3.1 Theoretical Performance of N flows
To decide whether or not to start a new flow, the a device needs to estimate the additional
amount of interference that its new traffic will introduce, and how that would reduce the
throughputs of other flows. We first show how to compute the new percentages of different
slot types when a new flow joins, given the current percentages of different slot types.
To simplify the analysis, we assume that every device can start at most one flow at any
point in time. A straightforward generalization to support multiple flows per device is to consider all the flows from one device as one single large flow with the transmission probability
p. Whenever a device successfully obtains the channel, it selects a packet from one of its
flows to send. The probability of a packet selected from a particular flow then equals to the
ratio of that flow’s throughput to the total throughput of all the flows on the same device.
This approach would result in the correct average required throughputs for all the flows.
123
T. Nguyen et al.
We now show how to compute I , C, and Si ’s, given the transmission probabilities pi ’s.
Suppose the transmission probability for a new flow is p, then for the type-C slots, in which
collisions occur, the new traffic would have no impact on them. For the -S slots, with probability p, it may cause a collision in that slot. For any type-I slot, with probability p, it
would become a type-S slot. Otherwise it stays the same. Using the above argument, we can
calculate the percentages of C-type, I -type, and S-type slots after the new flow starts. In
particular, the new idle, collision, and successful slots can be calculated using the current I ,
C, S, and p as:
Here, we denote S =
Si as
i
Inew = Icurrent − Icurrent p
(1)
Cnew = Ccurrent + Scurrent p
(2)
Snew = Scurrent (1 − p) + Icurrent p.
(3)
Si . Similarly, we can calculate the percentages of successful slots
Si,new = Si,current (1 − p),
(4)
for any existing flow i, and the percentage of successful slots for the new flow as
SN = Icurrent p.
(5)
The following algorithm can be used to compute the I , C, Si ’s for N users with the transmission probabilities p1 , p2 , . . . , pN . For convenience, we denote p[ ] and S[ ] as arrays of
transmission probabilities and percentages of successful slots of all the flows, respectively.
Algorithm 1 Computing I , C, Si ’s given the transmission probabilities pi ’s
[I, C, S[]] = Compute_I _C_S(p[], N )
I =1
C=0
S=0
for j = 1 to N do
for i = 1 to j − 1 do
S[i] = S[i] × (1 − p[j ])
end for
S[j ] = I × p[j ]
C = C + S[j ] × p[j ]
S = S × (1 − p[j ]) + I × p[j ]
I = I − I × p[j ]
end for
return [I, C, S[]]
The description of Algorithm 1 implies that the devices start their flows one by one in
increasing order. However, the final results of I , C, and Si ’s remain the same regardless
of the order of the flow’s starting times. Clearly, if a new flow joins and the transmission
probabilities of the existing flows or their TXOPs do not change, their throughputs will be
reduced since the their percentages of successful slots decrease.
Algorithm 1 enables us to compute the successful transmission probabilities precisely
given the transmission probabilities. On the other hand, a device often does not know the
transmission probabilities of other devices, but can determine their successful transmission
123
CDAC for Wireless Ad Hoc Networks
probabilities (Si ’s) by monitoring the RTS/CTS packets. Thus, we would like to calculate
the transmission probabilities using Si ’s, I , and C.
In principle, Algorithm 1 for computing Si ’s in terms of pi ’s produces a set of N equations with N unknown variables p1 , p2 , . . . , pN . Hence, one can solve for pi ’s based on Si ’s.
Unfortunately, these equations are not linear, and therefore difficult to solve. We propose an
algorithm to find the pi ’s given Si ’s based on the following observation: when a flow i stops, I
will increase by Si . If flows i starts again with the same transmission probability pi as before,
its percentage of successful slots remains Si as before. Hence, the following equations hold:
(I + Si )pi = Si
Si
pi =
.
I + Si
(6)
This is true because I + Si is the percentage of idle slots without flow i. Hence, after the flow
i starts, its percentage of successful slots is (I + Si )pi which should also equals precisely to
Si , the successful percentage before it stops. Thus, we have N such equations corresponding
to N flows. We also have the constraint:
I + C + S = 1,
(7)
where C and S are the percentages of collision and successful slots for all the flows. We note
that I is the same for every equation since it is the percentage of idle slots when all flows are
active. Now, we can solve for N + 1 unknowns, i.e., N pi ’s and I . Solving this set of N + 1
equations is simple since each equation is linear except Eq. 7. Equation 7 is non-linear in pi
because C and S are polynomials in pi which are the results from Algorithm 1. However,
Eq. 7 will be used as a constraint. Since I ∈ [0, 1], one can systematically try different values
of I from small to large, e.g., 0–1. For each value of I , we compute pi ’s according to Eq. 6.
All the pi ’s are then input to Algorithm 1 to compute C and S. We then test to see whether or
not I + C + S approximately equals to 1. If so, we have an admissible set of solutions. If not,
we increase I by a small value and repeat the procedure. If the algorithm cannot find such I
for the entire range of I ∈ [0, 1], then the solution does not exist. This indicates invalid Si ’s.
Below is the algorithm for computing pi ’s given Si ’s.
Algorithm 2 Compute pi ’s given all Si ’s
[p[], success] = Compute_p(S[], N )
= 0.01
I =0
search_step = 0.01
success = 0
while I < 1 do
for i = 1 to N do
p[i] = S[i]/(I + S[i])
end for
{run Algorithm 1 to compute C}
[I, C, S ] = Compute_I _C_S(p[i], N )
{Note that below, we use the specified S not S to check the condition below}
total = I + C + S
{check for boundary condition smaller results in higher accuracy}
if (abs(total − 1) < ) then
success = 1
123
T. Nguyen et al.
return [p s, success]
end if
I = I + search_step
end while{fail to find p, success = 0}
return [p s, success]
3.2 Admission Control Using TXOP
We now show how to use Algorithms 1 and 2 to perform admission control by tunning
the TXOP in the modified IEEE 802.11 standard. To do so, we translate the parameters
in our proposed protocol into the equivalent parameters of the existing IEEE 802.11 standard. In our proposed protocol (an analysis), a time slot is equivalent to the duration of
RTS + SIFS + CTS + SIF in the IEEE 802.11 standard as shown in Fig. 1. Our TXOP is then
equivalent to DATA + SIFS + ACK + DIFS. The meanings and usages of these IEEE 802.11
parameters can be found in [21]. Since RTS, CTS, SIFS, DIFS, and ACK are typically fixed,
one can control the TXOP by varying the payload (DATA).
We first relate the throughput of a flow to its probability of successfully obtaining the
channel during the reservation phase. Instead of using the raw throughput in bps, it is more
convenient to calculate the throughput in terms of the number of time slots per unit time.
The throughput in bps can be easily obtained by multiplying the time slot throughput by the
number of bits per time slot. In addition, we assume that every device knows the maximum
capacity of the channel, e.g., 54 Mbps. Thus, all the calculations of throughput will be done
in terms of a fraction of the maximum channel capacity.
For convenience, we calculate the fractional throughput Di for each flow i, given all the
Si ’s as follows. Di is defined as the throughput sum of DATA, ACK, and DIFS. To compute
the data throughput only, one can subtract the percentages of ACK and DIFS throughput
easily since these have fixed durations. Suppose the capacity of a wireless network is T time
slots per unit time and a flow i uses TXOPi time slots. Let us denote Ki as the number of
successful slots (RTS–CTS pairs) per unit time for flow i and L as the total number of slots
that are not belonged to DATA or ACK or DIFS, per unit time. In other words, L is the sum of
all the idle, successful, and collision slots. Then by the definition of percentage of successful
slots, we have
Si =
Ki
,
L
L=T −
N
Kj × TXOPj ,
j =1
SIFS
Source
(host a)
Destination
(host b)
SIFS
SIFS
DATA
RTS
CTS
Fig. 1 Illustration of RTS/CTS mode of operations in the IEEE 802.11
123
DIFS
ACK
CDAC for Wireless Ad Hoc Networks
Ki × TXOPi
,
T
Ki /T
Di
,
=
Si =
N
N
1−
Kj × TXOPj /T
TXOPi × 1 −
Dj
Di =
j =1
(8)
j =1
which implies that
TXOPi =
Di
Si 1 −
N
j =1
(9)
Dj
We know from Algorithm 1 that Si decreases when a new traffic is introduced. Thus, to
keep the throughput Di the same before and after the new traffic is injected, the flow i can
increase its TXOP according to Eq. 8. To calculate TXOP for a flow i, both Si ’s and Di ’s are
needed. The device requesting to start the new flow knows the current Di ’s through monitoring. Furthermore, Di ’s do not change since it is the required throughput. The device also
knows the current Si , I , and C by monitoring. Thus, using Algorithm 2, it can compute the
current transmission probabilities pi ’s for other devices. Since the admission control algorithm assumes that when the new flow starts, only the TXOP (not the CW) changes, hence
the pi ’s remain the same. Therefore, it can calculate the new Si ’s based on the transmission
probability pi ’s of others and its own transmission probability using Algorithm 1. Once the
new Si ’s are determined, the TXOPi can be calculated according to Eq. (8).
The described algorithm produces the correct average throughput in the long run, however
it may introduce a large fluctuation in throughput/delay in a short time due to the bulk transfer
characteristics. In other words, a packet from a flow may wait for a long time (due to large
packets from other flows) before it get its chance to transmit. To overcome this, the 802.11x
standards restricts the maximum size of payload. Thus, we can propose an admission control
algorithm by changing the TXOP for N flows (including the new flow) subject to a maximum
data size as shown below.
Algorithm 3 Admission Control by Changing TXOP
Ad_Ctrl_T XOP (D[], S[], I, N, new_p)
{computing the p[i]’s of existing flows note that, success = 1 in this case since all S’s are
valid}
[p[], success] = Computing_p(S[], I, C, N − 1)
{transmission probability of the new flow}
p[N ] = new_p
{updated S[i]’s}
[I, C,
new_S[]] = Compute_I _C_S(p[], N )
D = i D[i]
for i = 1 to N do
T XOP [i] = T XOP [i]/(newS [i](1 − D))
if (T XOP [i] > Max_T XOP ) or (T XOP [i] < 1) then
reject new flow
exit
end if
end for
send updated TXOP[i]’s to other devices admit the new flow
123
T. Nguyen et al.
As seen, in order to keep the same transmission probability, each flow needs to change
its TXOP. One can simplify the admission control algorithm by having the device with
the new flow request ask for the transmission probabilities pi ’s from other devices. This
would allow it to skip the first step in Algorithm 3. However, by doing so, other devices
will have to be interrupted even though there may not be enough resource to support the new
flow.
We also note that in a distributed setting, a device cannot determine which flows are
involved in the collision since the information is garbled. However, it can determine the
whether there is a collision. On the other hand, the device can monitor Si of each flow easily
since the information is not garbled. Since our algorithm uses Si ’s, C, I , and Di , it can be
done distributedly.
One interesting to note that if the size of TXOP is not restricted to a maximum value, every
flows will be admitted provided that the sum of all their requested fraction throughputs are
smaller than 1. This is because the fraction of the bandwidth overhead in the reservation phase
can be made arbitrarily small by increasing the TXOP. However, this scenario is unrealistic
since a flow may wait for arbitrarily long before it gets a chance to transmit.
3.3 Admission Control Using Transmission Probability
Another way to perform admission control is by changing the transmission probabilities.
When an application requests a required throughput, it is the responsibility of the MAC layer
to determine the transmission probability p to achieve this throughput.
Assume a fixed TXOP, since we want to keep Di constant, Si can be computed in terms of
TXOP and Di using Eq. 8 for the existing flows and the new flow. Next, using Algorithm 2,
pi ’s can be computed given Si ’s. Below is the algorithm for computing pi ’s given Di , the
fraction of capacity for flow i.
Algorithm 4 Admission Control by Changing Transmission Probability
Ad_Ctrl_p(D[i],
T XOP , N )
D = i D[i]
for i = 1 to N do
S[i] = D[i]/(T XOP (1 − D))
end for
{computing p’s given S’s}
[p[], success] = Computing_p(S[], N )
if success = 0 then
new flow is rejected
else
admit the new flow
end if
When a device requests to start a new flow, it uses Algorithm 2 to determine whether or not
a set of pi ’s exists. If so, it broadcasts the updated pi ’s to other devices and starts sending its
data with its transmission probability calculated from Algorithm 2. Other devices can start
transmitting their flow with the new pi s. Otherwise, if no pi ’s exist, the new flow is rejected.
It is interesting to note that, unlike Algorithm 3, this algorithm may reject a flow (no solution)
even if there is no restriction on the CW size (1/p). This is because with a fixed TXOP, the
fraction of overhead bandwidth for reservation cannot be made arbitrarily small as compared
to the data bandwidth.
123
CDAC for Wireless Ad Hoc Networks
3.4 Throughput Jitter Analysis
The two proposed admission control algorithms guarantee that each flow will achieve its
required throughput when it is averaged over a long period of time. However, the throughputs of the flows may fluctuate within a short period of time. These fluctuations in throughput prevent smooth playback for many audio and video streaming applications. To alleviate
this problem, many streaming applications employ the prebuffering technique in which, the
receiver puts the received data into a buffer for a short period of time before starting to
playback. This method effectively averages the flow throughput over the length of the buffer
and reduces the jitter during the playback session. A longer buffer results in a smoother
playback session. On the other hand, using a larger buffer results in a larger initial delay and
required memory. Interactive applications such as video conferencing may not tolerate such
large delay, and the low power wireless devices may not have enough memory for buffering.
Thus, we would like to analyze the throughput jitter for different flows within a short period
of time. A device can estimate the throughput jitter of existing flows and use them as an
additional requirement to decide whether or not to inject its new flow.
We proceed to quantify the throughput jitter of a flow as the normalized standard deviation
of its fractional throughput within a number of time slots. Specifically,
Stdevn (Xi (T )) =
Stdev(Xi (T ))
,
Di
(10)
where Xi (T ) is a fraction of the data slots of the flow i measured within T time slots, and
Di is its average long term fractional throughput. Clearly, if the throughput is measured
within a small window of time (number of time slots), its variance will increase. Now, the
amount of data sent by a flow i within a number of time slots is proportional to the number of
successful transmissions of the RTS/CTS within that period of time. Thus, we can calculate
the variances of the number of successful transmission slots within a period of time. The
probability of successfultransmissionfor a flow i for a slot is Si . The number of non-data
slots in T time slots is T 1 − N
i Di where Di is the fractional throughput of flow i. Thus
the number of successful transmission
slots Yi within this period is binomially distributed
with the parameters Si and T 1 − N
i Di . Therefore, its variance is:
Var(Yi ) = T × 1 −
N
Di
× Si × (1 − Si ).
(11)
i
By definition,
Xi (T ) = Yi × TXOPi /T ,
(12)
Therefore, the variance of Xi (T ) is:
1− N
× Si × (1 − Si ) × TXOP2i
D
i
i
Var(Xi (T )) =
,
T
and the standard deviation of Xi (T ) is
Stdev(Xi (T )) = TXOPi ×
1 − N D × S × (1 − S )
i
i
i
i
T
(13)
.
(14)
123
T. Nguyen et al.
Finally, the normalized standard deviation of the fractional throughput equals to:
1− N
× Si × (1 − Si )
D
i
i
Stdevn (Xi (T )) = TXOPi ×
√
Di T
(15)
Depending on which admission control algorithms is used, a device can use the appropriate
monitored or computed parameters Si ’s, TXOPi , Di ’s, and T to compute the normalized
standard deviation for all the existing flows. As will be shown in Sect. 4, the admission
control algorithm based on changing the transmission probabilities generally results in lower
variances than that of changing TXOP.
4 Simulation Results and Discussion
In this section, we present the theoretical and simulation results for our proposed admission control algorithms. All our simulation results are based on a MAC protocol simulator
which was written in Matlab. The simulator simulates individual packets as they are sent and
received in time slots. Random generator is used to model the transmission probability. The
simulator does not model the transport protocol such as TCP. Since our protocol is slightly
different from that of the IEEE 802.11, we provide the following equivalent IEEE 802.11
system parameters in Table 1. These parameters are chosen to be in the reasonable range with
no gearing toward a specific technology [21].
As discussed in Section 3.2, a time slot in our protocol is equivalent to RTS + CTS +
2SIFS = 568 bits and a TXOP is equivalent to Packet payload + MAC + PHY + ACK +
DIFS = 11, 360 bits. Also, all simulation results will be interpreted in using fractional
throughputs, rather the absolute throughputs. For example, a fractional throughput Di = 0.2
for a channel capacity of 1 Mbps would equal an absolute throughput of 200 kbps. This
enables us to quickly scale up the protocol performance when the underlying channel capacity increases. We first show the accuracy of our theoretical prediction on the throughputs
(Algorithm 1).
4.1 Theoretical Verification
We simulate the following scenario. Five flows start in increasing order—with flows 1
and 5 being the first and the last in the network (note that the order is not important).
The transmission probabilities of flows 1–5 are 0.05, 0.1, 0.15, 0.2, and 0.25, respectively.
The TXOP (both data and associated header) for all the flows is set to the value in Table 1 and
Table 1 FHSS system
parameters
123
Packet payload
10592 bits
MAC header
256 bits
PHY header
128 bits
ACK
128 bits + PHY header
RTS
128 bits + PHY header
CTS
128 bits + PHY header
Channel bit rate
1 Mbits/s
SIFS
28 µs
DIFS
128 µs
CDAC for Wireless Ad Hoc Networks
remains constant throughout the simulation. Figure 2a shows the percentages of different slot
types as a function of the number of flows for both theory and simulation. As seen, the theory
and simulation results match each other almost exactly for different types of slots. As the
number of flows increases, the collision probability and the successful probability increase
while the idle probability decreases. It is intuitive to see an increase in collision probability
due to higher channel contention between the flows. The increase in successful probability is
mostly due to an increase in the number of successful slots introduced by the new flow, while
the successful slots of individual existing flows decreases due to the collisions. This increase
in the overall successful probability is plausible when the network load is still light. When
the network is heavy loaded, clearly an additional flow will reduce the overall successful
probability. Figure 2b shows the percentages of successful slots for different flows decreases
as the number of flows increases. This is because the new traffic turns some of the previously
successful slots into collision slots.
Finally, Fig. 2c shows the percentages of the total bandwidth taken by different types
of slots as the number of flows increases. As predicted, the idle slots decreases while the
collision and successful slots increases.
4.2 Admission Control Algorithms
To evaluate the performances of our admission control algorithms, we set up the following
simulation scenario. Two flows 1 and 2 are assumed to send data continuously at specified
rates while flow 3 requests to send data at different rates. flow 3 uses the proposed admission
control algorithm to find out whether or not there is enough bandwidth for it to send data. If
so, it determines the parameters for the existing flows 1 and 2, and sends these parameters
to all the flows. First, we consider the performance of the admission control algorithm by
changing the TXOP. With the exception of the payload which is changed according to the
traffic load, the system parameters shown in Table 1 are used in this simulation. At the start
of the simulation, the transmission probabilities of flows 1 and 2 are set to 0.01 and 0.02,
while their TXOPs are set to 16 and 20 time slots (by changing the payloads accordingly),
respectively. These settings results in their fractional throughputs D1 = 0.1 and D2 = 0.27.
When the flow 3 requests to send data at different rates, it sets its transmission probability to
0.01. The TXOPs of all the flows are changed according to the different requested rates from
flow 3, while their transmission probabilities remain constant. Figure 3a shows the necessary
TXOP to maintain the required throughputs for all three flows as a function of the fractional
throughput requested by the flow 3. As flow 3 requests a larger portion of the throughput
capacity, the TXOPs of all three flows increase to compensate for smaller probabilities of
successfully obtaining the channel. As seen, the TXOP of all flows increase exponentially
under heavy load.
Figure 3b shows the ratio of the measured throughput to the requested throughput for each
flow. As seen, these ratios fluctuate around 1, indicating that our admission control algorithm
performs reasonably well. It is interesting to note that for flow 2, its ratio fluctuates much
more than those of other flows. This is because the transmission probability of flow 2 is smallest, thus it must compensates by using relatively larger TXOP whenever it gets a chance, in
order to maintain its throughput. By doing so, its traffic is much more bursty, hence resulting
in high throughput fluctuation. This is one of the disadvantages of doing admission control
by changing the TXOP. Figure 3c shows the percentage of throughput taken by all the flows.
As seen, the throughputs of flows 1 and 2 remain relatively constant at the original values
with respect to the flow 3’s traffic, while the flow 3’s throughput increases as expected.
123
T. Nguyen et al.
1
Percentage of different types of slots
Fig. 2 Five flows joins the
network sequentially, each with
different transmission
probabilities; (a) The percentages
of successful, collision, and idle
slots versus the number of flows
from theory and simulation;
(b) Percentages of successful
slots of all flows as the number
of flows increases; (c) Percentage
of bandwidth taken by different
types of slots
success−simulation
success−theory
idle−simulation
idle−theory
collision−simulation
collision−theory
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
1
1.5
2
2.5
3
3.5
4
4.5
5
4
4.5
5
Number of flows
Percentage of successful slots for each flow
(a)
0.16
flow 1
flow 2
flow 3
flow 4
flow 5
0.14
0.12
0. 1
0.08
0.06
0.04
0.02
1
1.5
2
2.5
3
3.5
Number of flows
Percentage of bandwidth for each type of slots
(b)
0.9
0.8
success RTS bandwidth
idle bandwidth
collision bandwidth
data bandwidth
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
1
1.5
2
2.5
3
3.5
Number of flows
(c)
123
4
4.5
5
CDAC for Wireless Ad Hoc Networks
800
flow 1
flow 2
flow 3
700
TXOPs of all flows
600
500
400
300
200
100
0
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.6
0.7
0.6
0.7
Bandwidth requested by flow 3
Ratio between measured and desired bandwidth
(a)
1.1
1.05
1
0.95
flow 1
flow 2
flow 3
0.9
0.85
0
0.1
0.2
0.3
0.4
0.5
Bandwidth requested by flow 3
(b)
0.7
Percentage of measured bandwidth
Fig. 3 Admission control by
changing the TXOP; (a) New
TXOP, (b) ratio of measured to
requested throughput, and
(c) percentage of each flow’s
throughput as a function of
throughput requested by flow 3
flow 1
flow 2
flow 3
0.6
0.5
0.4
0.3
0.2
0.1
0
0
0.1
0.2
0.3
0.4
0.5
Bandwidth requested by flow 3
(c)
123
T. Nguyen et al.
We now present the simulation results for our proposed admission control algorithm by
changing the transmission probabilities. Similar to the previous simulation scenario, there are
two flows 1 and 2 with the original transmission probabilities of 0.01 and 0.02, respectively.
The system parameters, including the TXOPs of all the flows are set according to Table 1 and
remain constant throughout the simulations. As a result, D1 = 0.125 and D2 = 0.25. The
flow 3 requests different throughputs, ranging from 0.05 to 0.4 of the total capacity. Figure 4a
shows the new transmission probabilities to maintain the required throughputs for all three
flows. As flow 3 requests a larger portion of the throughput capacity, the transmission probabilities of all three flows increase to compensate for smaller probabilities of successfully
obtaining the channel. Figure 4b shows the ratio of the measured throughput to the requested
throughput for each flow. Similarly to using admission control using TXOP, these ratios fluctuate around 1, indicating that our admission control algorithm performs reasonably well.
Unlike Fig. 3b, the fluctuations of flow 2’s ratio is less, which indicates that this algorithm is
suitable for reducing the throughput fluctuations. Figure 4c shows the corresponding measured throughputs. As seen, the algorithm is able to maintain the throughputs of the existing
flows while providing the required throughput for the new flow. Finally, Fig. 4d shows the
reduced throughputs of the flows if no admission control is used.
We now compare the throughput jitter, i.e., the standard deviation of the fractional throughputs between the two proposed algorithms. For the TXOP based admission control, we consider three active flows with the requested fractional throughputs Di ’s = 0.1, 0.27, and 0.4,
respectively. The transmission probabilities pi ’s of the three flows are set to 0.01, 0.02, and
0.01, respectively. Their TXOPi ’s and Si ’s are then calculated in terms of Di ’s, and pi ’s. The
normalized standard deviation of the fractional throughputs are then computed using Eq. 15.
Similarly, for the transmission probability based admission control, the requested fractional
throughputs Di ’s are set to 0.1, 0.27, and 0.4, respectively. However, the TXOPi s of the
flows are set to the parameters as shown in Table 1. Si ’s are then calculated in terms of Di ’s
and fixed TXOP. The normalized standard deviation of the fractional throughputs are then
computed using Eq. 15. Although the final computation of the normalized standard deviation
(Eq. 15 for the two algorithms is the same, the intermediate steps and the assumptions are
different, thus the final standard deviations are very different.
Figure 5a,b show the normalized standard deviation as a function of the buffer size for
the TXOP based and transmission probability based algorithms, respectively. As expected,
as the buffer size increases, the normalized standard deviation decreases for both algorithms.
However, the transmission probability based algorithm exhibits a smaller standard deviation
than that of the TXOP based algorithm.
It is also interesting to study the throughput jitter as a function of network load. To do so,
instead of keeping the same required throughputs for all three flows, the required throughputs
of flow 3 are varied from 0.05 to 0.6 for the TXOP based algorithm, and from 0.05 to 0.4
for the transmission probability based algorithm. The reason for the different throughput
ranges of flow 3 is that the transmission probability based admission control rejects the new
flow 3 with the fractional throughput greater than 0.4. On the other hand, we would like to
observe the behavior of the TXOP based admission control algorithm under heavy load, i.e.,
under larger required throughput for flow 3. The throughputs of the other two flows are kept
constant at 0.1 and 0.27 as before. The buffer size is set to 100,000 time slots.
Figure 6a,b show the normalized standard deviation of throughputs as a function of the
throughput of flow 3 for the TXOP based admission control and the transmission probability based algorithm, respectively. As seen in Fig. 6a, using the TXOP based algorithm,
the normalized standard deviation of the throughputs for all the flows increase with larger
network load. On the other hand, using the transmission based algorithm, the standard
123
CDAC for Wireless Ad Hoc Networks
Updated transmission probabilities
0.1
flow 1
flow 2
flow 3
0.09
0.08
0.07
0.06
0.05
0.04
0.03
0.02
0.01
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
Bandwidth requested by flow 3
Ratio of measured to requested bandwidth
(a)
1.1
flow 1
flow 2
flow 3
1.05
1
0.95
0.9
0.85
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
Bandwidth requested by flow 3
(b)
Percentage of measured bandwidth
0.4
flow 1
flow 2
flow 3
0.35
0.3
0.25
0.2
0.15
0.1
0.05
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
Bandwidth requested by flow 3
(c)
0.9
Percentage of measured bandwidth
Fig. 4 Admission control by
changing the transmission
probabilities; (a) New
transmission probabilities,
(b) ratio of measured to requested
throughput, (c) percentage of
flow’s throughputs,
(d) percentage of flow’s
throughput without admission
control as a function of
throughput requested by the
flow 3
0.8
0.7
0.6
flow 1
flow 2
flow 3
0.5
0.4
0.3
0.2
0.1
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
Bandwidth requested by flow 3
(d)
123
T. Nguyen et al.
0.9
flow 1
flow 2
flow 3
0.8
Normalized standard deviation
Fig. 5 Normalized standard
deviation as a function of buffer
size for (a) TXOP based
admission control and
(b) transmission probability
based admission control
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0
1
2
3
4
5
6
7
8
9
10
Number of time slots used for throughput averaging x 104
(a)
0.45
flow 1
flow 2
flow 3
Normalized standard deviation
0.4
0.35
0.3
0.25
0.2
0.15
0.1
0.05
0
0
1
2
3
4
5
6
7
8
9
10
Number of time slots for throughput averaging x 104
(b)
deviation of a flow i depends only on its throughput, not the network load. Figure 6b shows
that the normalized standard deviations of flows 1 and 2 remain constant while the normalized standard deviation reduces as its throughput increases. Thus, the transmission probability
based algorithm is superior to the TXOP based algorithm. However, we note that when the
throughput of the flow 3 is small, its normalized standard deviation using transmission probability based algorithm is larger than that of using the TXOP based algorithm. Regarding the
throughput jitter of two algorithms, there are sweet operating points for each of them, but the
transmission probability based algorithm tends to perform better in general.
5 Conclusions
To summarize, we propose a distributed MAC-based admission control algorithm in a small
wireless network where every wireless device is assumed to be collaborative. Each device
will not start a new flow if it determines that by doing so, there are not sufficient resources to
guarantee performance of other existing flows. We provide a new performance analysis for
multiple flows with different bandwidth requirements in a improved 802.11x based wireless
123
CDAC for Wireless Ad Hoc Networks
0.14
Normalized standard deviation
Fig. 6 Normalized standard
deviation of throughputs as a
function of the throughput of
flow 3 for (a) TXOP based
admission control and
(b) transmission probability
based admission control
flow 1
flow 2
flow 3
0.12
0.1
0.08
0.06
0.04
0.02
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
Bandwidth requested by flow 3
(a)
0.065
flow 1
flow 2
flow 3
Normalized standard deviation
0.06
0.055
0.05
0.045
0.04
0.035
0.03
0.025
0.02
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
Bandwidth requested by flow 3
(b)
network. Based on this analysis, we propose two distributed admission control algorithms to
guarantee bandwidth for all the flows. Simulation results confirm our theoretical predictions
on the performance of the proposed admission control algorithm. We plan to extend this work
to include multi-hop wireless networks.
References
1. IEEE Std. 802.11. (1999). Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY)
Specifications, 1999.
2. Yang, X. (2004). Ieee 802.11e qos provisioning at the mac layer. IEEE Wireless Communication Magazine,
11(3), 72–79.
3. IEEE Std. 802.11e/D6.0. (2003). Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY)
Specifications: Medium Access Control (MAC) Quality of Service (QoS) Enhancements, 2003.
4. Mangold, S., et al. (2003). Analysis of ieee 802.11e for qos support in wireless lans. IEEE Wireless
Communication Magazine, 10(6), 40–50.
5. de Veciana, G., & Walrand, J. (1995). Effective bandwidths: Call admission, traffic policing and filter for
atm networks. Queuing Systems, 20, 37–59.
123
T. Nguyen et al.
6. Xiao, Y., & Li, H. (2004). Voice and video transmissions with global data parameter control for the ieee
802.11e enhanced distributed channel access. IEEE Transactions on Parallel and Distributed Systems,
15, 1041–1053.
7. Gao, Y.D., Cai, J., & Ngan, K. (2005). Admission control in ieee 802.11e wireless lans. IEEE Network,
19(4), 6–13.
8. Gu, D., & Zhang, J. (2003). A new measurement-based admission control method for ieee 802.11 wireless
local area networks. IEEE, 3, 2009–2013.
9. Xiao, Y., Li, H., & Choi, S. (2004). Protection and guarantee for voice and video traffic in ieee 802.11e
wireless lans. IEEE INFOCOMM.
10. Xiao, Y., & Li, H. (2004). Evaluation of distributed admission control for the ieee 802.11e edca. IEEE
Radio Communication, 42(9), 20–24.
11. Bai, A., Selvig, B., Skeie, T., & Engelstad, P. (2006). A class based dynamic admitted time limit admission control algorithm for 802.11e edca. In 6th International Workshop on Applications and Services in
Wireless Networks, Berlin, Germany, May 2006.
12. Lindgren, A., Almquist, A., & Schelen, O. (2001). Evaluation of quality of service schemes for ieee
802.11. In Local Computer Networks, 2001.
13. Zhu, H., Li, M., Chlamatac, I., & Prabhakaran, B. (2004). Survey of quality of service in IEEE 802.11
networks. IEEE Wireless Communications, Mobility and Resource Management, 11(4), 6–14.
14. Aad, I., Ni, Q., Castelluccia, C., & Turletti, T. (2002). Enhancing IEEE 802.11 performance with slow
cw decrease. IEEE 802.11e working group document 802.11-02/674r0, 2002.
15. Romdhani, L., Ni, Q., & Turletti, T. (2003). Adaptive edcf:enhanced service differentiation for ieee 802.11
wireless ad hoc networks. In IEEE WCNC, 2003.
16. Kanodia, V., Li, C., Sabharwal, A., Sadeghi, B., & Knightly, E. (2002). Distributed priority scheduling
and medium access in ad hoc networks. 8(5), 455–466.
17. Barry, M., Campell, A., & Veres, A. (2001). Distributed control algorithms for service differentiation in
wireless packet networks. In INFOCOMM, 2001.
18. Shah, S., Chen, K., & Nahrstedt, K. (2004). Dynamic bandwidth management for single-hop ad hoc wireless networks. ACM/Kluwer MONET: Algorithmic Solutions for Wireless, Mobile, Ad Hoc and Sensor
Networks, 10(1), 199-217.
19. Valaee, S., & Li, B. (2002). Distributed call admission control in wireless ad hoc networks. In IEEE VTC,
2002.
20. Pong, D., & Moors, T. (2003). Call admission control for ieee 802.11 contention access mechanism. In
Globecom, December 2003.
21. Bianchi, G. (2000). Performance analysis of the ieee 802.11 distributed coordination function. IEEE
JSAC, 18, 535–557.
22. Li, M., & Prabhakaran, B. (2005). Mac layer admission control and priority re-allocation for handling
qos guarantees in non-cooperative wireless lans. Mobile Networks and Applications, 10(6), 947–959.
Author Biographies
Thinh Nguyen is an Assistant Professor at the School of Electrical Engineering and Computer Science of
the Oregon State University. He received his Ph.D. from the University of California, Berkeley in 2003 and
his B.S. degree from the University of Washington in 1995. He has many years of experience working as an
engineer for a variety of high tech companies. He has served in many technical program committees. He is
an associate editor of the IEEE Transactions on Circuits and Systems for Video Technology, the Peer-to-Peer
Networking and Applications. His research interest include Multimedia Networking and Processing, Wireless
Networks, and Network Coding.
Kien Nguyen is a Ph.D. candidate in the School of Electrical Engineering and Computer Science at Oregon
State University. He received his M.E degree in electrical and computer engineering from the National University of Singapore, Singapore in 2006 and his B.E degree in electronics and telecommunications from Hanoi
University of Technology, Vietnam in 2000. Before joining OSU, he was a lecturer at Vietnam’s Post and
Telecommunications Institute of Technology, Vietnam. His research interests include Multimedia Networking
and Network Coding.
123
CDAC for Wireless Ad Hoc Networks
Dr. Mario E. Magaña is an Associate Professor in the School of Electrical Engineering and Computer Science at Oregon State University in
Corvallis, Oregon, USA. He received his BS degree in Electrical Engineering from Iowa State University in 1979, his MS degree in Electrical
Engineering from the Georgia Institute of Technology in 1980, and his
PhD in electrical engineering from Purdue University in 1987. Prior
to joining the faculty at Oregon State University in 1989 and before
starting his doctoral studies at Purdue University, he spent several years
working in the Analysis and Technology Group of the Communications
Systems Division at the Harris Corporation in Melbourne, Florida, and
in the Flight Control Systems Research Unit at the Boeing Company in
Seattle, Washington. He is a senior member of the IEEE, a NASA faculty fellow and a member of HKN, the electrical engineering honorary
society. Finally, he is the author of more than 70 technical and scientific
papers.
123
Download