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