IEEE TRANSACTIONS ON VEHICULAR TECHNOLOGY, VOL. 57, NO. 2, MARCH 2008 1077 Enhanced Per-Flow Admission Control and QoS Provisioning in IEEE 802.11e Wireless LANs Chadi M. Assi, Member, IEEE, Anjali Agarwal, Senior Member, IEEE, and Yi Liu, Student Member, IEEE Abstract—The emerging IEEE 802.11e standard is expected to provide service differentiation and resource allocation for realtime traffic. To support the transmission of voice and multimedia data with performance guarantees, it is crucial to design efficient algorithms for admission control and resource allocation (particularly under heavy load), and several methods have been proposed to date. However, most of these proposed methods may not be efficient, because they assign channel access parameters (CAPs) according to the access category into which a flow is mapped rather than the absolute quality-of-service (QoS) requirements of the flow. Using simulations, we highlight the shortcomings of current admission control methods, and accordingly, we propose a flow-based service differentiation mechanism. We introduce the proper “per-flow” selection of CAPs based on the QoS requirements of traffic flows. Furthermore, the new flow-based admission can control and adjust CAPs with the channel condition variations. We validate our reasoning through extensive simulations and a thorough comparison with other schemes. Index Terms—Admission control, IEEE 802.11e, wireless networks. I. I NTRODUCTION T HE INCREASING popularity of wireless local area networks (WLANs) based on the IEEE 802.11 [1] technology is pushing operators to deploy WLANs as the access technology for their services, including those with various qualityof-service (QoS) requirements. To support QoS in the access network, one needs, in addition to service differentiation, an admission control algorithm, which makes the decision on whether to admit a real-time stream based on its requirements and the channel usage condition [7]. Moreover, an effective resource allocation algorithm is also required to decide which stream and what frame in that stream should be transmitted, such that the required QoS can be guaranteed [7]. Two medium access control (MAC) functions have been defined for the IEEE 802.11. The first is a contention-based channel access function called distributed coordination function (DCF) that uses a carrier sense multiple access with Manuscript received May 4, 2006; revised January 23, 2007, May 18, 2007, and June 16, 2007. The review of this paper was coordinated by Prof. T. Hou. C. M. Assi is with the Concordia Institute for Information Systems Engineering, Concordia University, Montreal, QC H3G 1M8, Canada (e-mail: assi@ciise.concordia.ca). A. Agarwal is with the Department of Electrical and Computer Engineering, Concordia University, Montreal, QC H3G 1M8, Canada (e-mail: aagarwal@ ece.concordia.ca). Y. Liu is with the Nortel, Ottawa, ON K2H 8E9, Canada (e-mail: y_liu49@ ece.concordia.ca). Color versions of one or more of the figures in this paper are available online at http://ieeexplore.ieee.org. Digital Object Identifier 10.1109/TVT.2007.906368 collision avoidance and binary exponential backoff procedure to decrease the probability of collisions. The second is a controlled channel access function called point coordination function (PCF) that uses a polling scheme to provide medium access. PCF is an optional function due to its complexity and inefficiency for normal data transmissions, even though it has some limited QoS support [5]. DCF is currently unsuitable for multimedia applications (e.g., voice over IP, video conferencing, etc.) [3], [4]. Under DCF, a station might have to wait an arbitrarily long time to transmit a frame, and accordingly, real-time applications may suffer. That is, with DCF, all stations compete for the channel with the same priority; there is no specified differentiation mechanism to provide differential access [6] for different traffic classes. Various priority schemes have been designed for DCF [4], [6] to provide QoS support. To provide MAC-level QoS support, the IEEE 802.11 Working Group has proposed a new standard, i.e., the IEEE 802.11e [2]. A hybrid coordination function (HCF) is proposed, in which two medium access mechanisms are further developed: 1) a contention-based channel access, referred to as enhanced distributed channel access (EDCA), and 2) centrally controlled channel access, referred to as HCF controlled channel access (HCCA). The EDCA works with four access categories (ACs), and each AC achieves a differential channel access. This differentiation is achieved through varying the amount of time that a station would sense the channel to be idle and the length of the contention window for a backoff. In particular, EDCA supports eight different priorities, which are further mapped into the four ACs, and the different ACs are assigned different channel access parameters (CAPs) to provide service differentiation. It is assumed here that a payload from a higher layer is labeled with a priority value. The different CAPs include a different arbitration interframe space AIF S, a different initial contention window size CWmin , and a different maximum contention window size CWmax . For the ACi (i = 0, . . . , 3), the initial backoff window size is CWmin [i], the maximum backoff window size is CWmax [i], and the arbitration interframe space is AIF S[i]. For 0 ≤ i < j < 3, we have CWmin [i] ≥ CWmin [j], CWmax [i] ≥ CWmax [j], and AIF S[i] ≥ AIF S[j], and at least one of the inequalities must be “not equal to” [8]. In other words, the EDCA employs AIF S[i], CWmin [i], and CWmax [i], instead of DIFS, CWmin , and CWmax , respectively. Accordingly, if one AC has a smaller AIF S, CWmin , or CWmax , the traffic of this particular stream will have a better chance to access the wireless channel. Finally, these parameters are announced by the access point (AP) via periodically transmitted beacon frames. The AP can also adaptively adjust these parameters 0018-9545/$25.00 © 2008 IEEE 1078 IEEE TRANSACTIONS ON VEHICULAR TECHNOLOGY, VOL. 57, NO. 2, MARCH 2008 based on the network condition. Resource reservation is another major improvement for 802.11e. It is achieved by allocating a transmission opportunity (TXOP) to different ACs, and each TXOP is obtained in the beacon frames from the AP. A TXOP is a time period wherein a station has the right to access the channel and is denoted by a starting time and a maximum duration of transmission. A station can get a TXOP either through EDCA or HCCA. When a station has the right to access the channel, it is allowed to transmit more than one packet from a particular AC during its TXOP period. Additionally, the concept of surplus bandwidth allowance (SBA) is introduced in the new standard to compensate for the traffic loss caused by packet error and collision and to meet the traffic throughput requirements. SBA is a ratio representing the total allocated time period over the time period stated by the application and required for a successful transmission. However, how to obtain the precise value of SBA has not been specified in IEEE 802.11e yet. Although both EDCA and HCCA can provide limited service differentiation and certain resource reservation through the new MAC functions, they both cannot provide any guaranteed QoS. In this paper, we propose an admission control policy wherein the control parameters [such as retry limit and maximum tolerable collision rate (CR)] are derived from the QoS requirements specified by higher layers. Furthermore, the CAPs for each stream are dynamically incremented or decremented based on the measurement of the current channel conditions. The rest of this paper is organized as follows: In Section II, we present some background and the related work on admission control and motivate our research. In Section III, we analyze the system parameters and derive appropriate parameters. The admission control and congestion control systems are presented in Section IV. In Section V, we evaluate the performance of the proposed schemes, and finally, we conclude in Section VI. II. B ACKGROUND AND M OTIVATIONS A. Background Information Several admission schemes for WLANs have been proposed [7]–[12]. Although the methods of these mechanisms are different, they all share the same fundamental principle. Through providing more precise service differentiation and more accurate resource reservation, these mechanisms intend to achieve two goals: 1) Maximize the usage of the wireless medium resources, and 2) efficiently admit new traffic while not compromising the QoS level of admitted traffic. In general, admission control schemes can be classified into two categories: 1) measurement-based [7]–[10] and 2) model-based [11], [12] schemes. Measurement-based schemes make admission decisions based on measured network conditions such as throughput and delay, whereas model-based schemes rely on certain performance metrics to evaluate the network status. For example, Xiao and Li [8] proposed a measurement-based distributed admission control (DAC). In DAC, the AP measures the amount of time occupied by the transmission of each AC during each beacon interval. Based on this, the AP announces a TXOP budget at the end of each beacon interval, which is the partial available bandwidth to each AC. Each station further determines an internal transmission limit per AC for each beacon interval based on the successfully used transmission time during the previous beacon period and the transmission budget announced from the AP. When the AP transmission budget is lower than a certain level, new flows cannot be admitted. The drawback of DAC [13] is its lack of direct relationships between the TXOP parameters and the QoS requirements from the application. A threshold-based admission control is proposed in [11], where each station measures either the relative occupied bandwidth or the channel average collision and compares them with predefined thresholds to make admission decisions. Although the system is easy to implement, it is difficult to select the threshold values. Other measurement-based admission controls such as HARMONICA [10] and virtual MAC and virtual source algorithms are also proposed [13], [17]. Alternatively, Pong and Moors [12] proposed a simple admission control wherein the AP estimates the throughput that existing flows would achieve if a new flow with certain parameters was admitted. The AP has the responsibility of collision monitoring and throughput estimation, and the algorithm indicates whether a new flow can be admitted while preserving the QoS of existing flows. Recently, a distributed airtime allocation and admission control to support the transmission of multimedia data with performance guarantees is presented in [7]. Here, admission decision is made according to both the admission policies and QoS requirements supplied by the application layer itself. However, the authors noted that one of the biggest challenges in providing parameterized QoS is that a quantitative control over the stations’ medium occupancy (airtime usage) cannot be achieved via the current EDCA. Furthermore, the airtime control becomes more difficult due to the link adaptation in IEEE 802.11, which allows stations to vary their transmission rates based on the link condition. Their admission relies on an effective airtime (EA) ratio parameter, which is the percentage of airtime allocated to wireless stations. This EA parameter is not easily specified and is only obtained from simulation results. For example, if the EA parameter is selected to be too small, then the channel utilization is degraded, and if it is too large, then the QoS of existing and newly admitted flows cannot be guaranteed. In summary, measurement-based admission control schemes rely mainly on measured channel conditions to adjust the CAPs assigned for each AC. The admission decision for a new stream is based on the measured available system resources for the AC that this stream belongs to. Modelbased schemes mainly use either predefined criteria values to compare against the measured values or an analytical model to calculate achievable throughput. The admission decision for a new stream is based on the comparison of those predefined values with the achievable throughput and/or service rate. B. Motivations Although EDCA differentiates between traffic belonging to different access categories by assigning them different access parameters, EDCA and current admission control systems cannot differentiate between streams belonging to the same AC but have different QoS requirements. Without such differentiation ASSI et al.: PER-FLOW ADMISSION CONTROL AND QoS PROVISIONING IN IEEE 802.11e WIRELESS LANs Fig. 1. 1079 Voice traffic CR. (a) Voice Traffic A (128 Kbps). (b) Voice Traffic B (64 Kbps). (c) Voice Traffic C (16 Kbps). and a direct relation with the traffic QoS requirements, admission control schemes do not perform well. For example, in [8], the system parameters are specified for each AC; an important parameter, i.e., surplus factor, is used to compensate for the traffic loss caused by packet collisions or channel error. The value of the surplus factor is chosen for each AC and does not depend on the QoS of individual streams inside the same AC. To elaborate, consider that three voice traffic (A, B, and C) with the same payload size of 80 B but with different data rates (128, 64, and 16 kb/s, respectively) are requesting admission. With the DAC scheme, if these voice requests are admitted, they will be mapped into the same AC and will therefore transmit their packets using the same CAP set. Fig. 1 (the simulation results presented in this figure correspond to the traffic pattern presented in Section V-A) shows that, when all voice traffic are using the same CAP set, the CR that these streams encounter will be different, because their data rates are different. The lower rate voice stream suffers a higher collision than the higher rate stream, because collisions are mainly caused by the packets from the same AC. With DAC, these three requests will be assigned the same SBA value. To guarantee the throughput requirement of each request, this surplus factor will be assigned a relatively larger value for all the voice streams to compensate for the throughput loss of the lower rate stream (since it suffers more collisions). Hence, some of the medium resource is wasted in the process. It is clear that, to improve the channel utilization, these different requests should be assigned different SBA values according to their specific CRs. Therefore, SBA values should be chosen based on the traffic QoS requirements instead of the AC QoS requirements. The same argument applies to traffic delay and dropping requirements. The delay requirement, for example, from different types of voice traffic may be different. Under the currently proposed schemes, this differential treatment of packets belonging to the same AC but for different traffic streams does not exist. In WLANs, to design a good admission control scheme, the following rules should be followed: First, the thresholds used in the admission control policy should be obtained based on flow QoS requirements. Second, the CAPs should relate to the QoS requirements of a particular stream and not to the particular AC where it belongs. Third, the CAPs should be dynamically adjusted based on the channel conditions. III. A NALYSIS OF S YSTEM P ARAMETERS The QoS requirements for real-time applications are mainly throughput, delay, jitter, and dropping rate. In IEEE 802.11e WLANs, these characteristics are either included in the Traffic Specifications (TSPEC) table [4] or specified by the application. When the admission control unit (ACU) receives a traffic request, followed by its QoS requirements, it should decide whether this traffic should be admitted or not based on a predefined admission control policy. By combining the TSPEC table and traffic QoS requirements with the channel condition, the ACU achieves two objectives: 1) Obtain variable threshold values, which can be used in the admission control policy, and 2) obtain variable CAPs, which can be used to optimally utilize the medium resources. Next, we explain how the ACU achieves these two goals through a differential access for traffic with different QoS requirements. A. Per-Flow Delay Requirement versus Retry Limit Real-time traffic such as voice and video streams have strict delay requirements; if packets of real-time streams are not delivered within their delay requirements, they are considered to be lost. In WLANs, when a packet is sent from its corresponding application, the packet is first placed in a transmission queue, and once it reaches the head of the queue, it starts contending for channel access until it is successfully transmitted or ultimately dropped. The packet delay caused by waiting in the transmission queue is referred to as the queuing delay, and the delay associated with the medium access is referred to as the medium access delay. Engelstad and Østerbø [18] and Vassis and Kormentzas [19] analyzed the total delay for a system under finite load conditions. The mean access delay, for both saturated and nonsaturated networks, for priority class i is estimated as [18] dai = 1− piRi +1 pi Ts + Tc 1 − pi + Ri dsi pj (Wij − 1) 2 j=0 i (1) where Ri is the retry limit for priority class i, Wij denotes the contention window size in the jth backoff stage for stream i 1080 IEEE TRANSACTIONS ON VEHICULAR TECHNOLOGY, VOL. 57, NO. 2, MARCH 2008 (e.g., Wij = 2j CWmin,i , CWmin,i is the initial backoff window size of priority class i), and Ts and Tc are the duration of a slot containing a successful transmission and a collision, respectively. dsi is the countdown delay given by ps pi ps s Ts + 1 − (2) Tc di = σ + pb pb 1 − pi where σ is the duration of an idle slot, and pi is the probability of unsuccessful transmission when a station is transmitting traffic of more than one AC (i.e., virtual collision among queues), which is given by pi = 1 − i 1 − pb c=0 (1 − τc ) (3) and pb denotes the probability that the channel is sensed to be busy, i.e., pb = 1 − N −1 (1 − τi )ni (4) a certain approximation may be needed; we first note that the retry limit is bounded, i.e., 0 ≤ Ri ≤ Rimax . For instance, Ri = 0 corresponds to the case where the queuing delay is very high and the system cannot guarantee the delay requirement of the arriving stream. Here, a packet is not allowed any retransmission, and it is dropped upon the first collision. Alternatively, if the queuing delay is negligible (e.g., when the load is light), then Ri converges toward its limit Rimax , for which an exact expression may be derived. Note that, in the latter case, the system is considered to be nonsaturated, and the mean access delay is given by (1); Rimax can be derived by setting dai = Di . Clearly, it is still not simple to obtain an expression for Rimax . Therefore, we analyze the network parameters under saturated network conditions. First, note that a packet is dropped when it reaches the last backoff stage and experiences another collision; therefore, the average time to drop a packet is estimated [14] as i=0 max where N is the total number of priority classes, ni is the number of stations in priority class i, and τi denotes the transmission probability. ps is the probability that a time slot contains a successful transmission, i.e., ps = N −1 ni τi (1 − pi ). (5) i=0 To derive the mean queuing delay dqi , Engelstad and Østerbø [18] considered the medium access delay as the service time for a packet in a single server queue (M/G/1), i.e., a(2) λi di − dai (6) dqi = 2(1 − ρi ) where λi is the packet arrival rate for AC i; ρi is the utilization a(2) factor, i.e., ρi = min(1, λi dai ); and di is the second-order moment of the access delay. Then, the mean total delay that a packet from AC i experiences is simply dti = dai + dqi . (7) Clearly, in the expression of the total delay, the two parameters CWmin,i and Ri can be used to control the delay. To satisfy the traffic delay requirements (Di is the delay bound specified in the TSPEC table, dti ≤ Di ), we can either choose a fixed Ri and dynamically adjust the value of CWmin,i or select a fixed CWmin,i to assign different retry limits to the traffic. In our scheme, we choose a relatively fixed CWmin,i and calculate Ri for a traffic stream to meet its delay requirements. We choose, however, to vary CWmin,i in the congestion control policy instead. To determine the retry limit that satisfies the delay requirement Di for the arriving stream (whose arrival rate λi is assumed to be given), one can solve for Ri when dti = Di . Clearly, it is not easy to solve for an exact expression for Ri , and numerical analysis is helpful but not practical. Therefore, (8) E[Tdrop ] = CWmin,i (2Ri +1 − 1) + (Rimax + 1) E[slot] 2 (9) where E[slot] is the average slot time whose value can be measured by a station. A node periodically keeps track of the slots (whether an idle slot and a busy slot with a successful or a failed transmission, i.e., collision), counts their number per period of measurement (e.g., Ni idle slots, Ns successful slots, and Nc failed slots), and measures the total idle period (e.g., Γi = Ni × σ), the total successful period Γs , and collision period Γc . E[slot] is then estimated as (Γi + Γs + Γc )/(Ni + Ns + Nc ). This measurement is adaptively corrected using a simple moving average scheme. This estimation is performed for every priority class [e.g., constant bit rate (CBR) or variable bit rate (VBR)]. By setting E[Tdrop ] = Di , one can solve for the maximum retry limit 2Di max Ri +1 −1 . (10) = log2 CWmin,i E[slot] It can be shown through simple numerical analysis that, for a priority class i with delay bound Di , (10) yields a very good approximation (slightly lower) to that obtained by solving (1). It is to be noted that, when the load is light, the queuing delay is relatively negligible (for example, it has been shown in [18] that only when the traffic per AC [3] (and AC [2]) per station exceeds 2 Mb/s does the queuing delays start to get considerably large), and the retry limit is very close to Rimax ; otherwise, the retry limit is upper bounded by Rimax . B. Per-Flow Dropping Rate Requirement versus CR For real-time transmissions, a certain fraction of dropped or lost packets is tolerable and will appear as noise, but to maintain an acceptable level of service, this fraction must be less than a desired level within a certain period of time. Different realtime services can tolerate different packet dropping rates. In ASSI et al.: PER-FLOW ADMISSION CONTROL AND QoS PROVISIONING IN IEEE 802.11e WIRELESS LANs IEEE 802.11e, the dropping rate of a traffic flow is not specified in the TSPEC table, but it may be obtained from the traffic request and is related to the packet retransmission. For instance, a packet retransmission is allowed if previous transmission of the packet has collided or is received with error, and the delay limit or allowed retry limit has not been reached. When a packet retransmission limit is reached, retransmission is no longer allowed, and consequently, the packet should be dropped. The total dropping rate of a traffic should not exceed its desired packet dropping rate to maintain the desired QoS requirement. The probability that a given packet of traffic i is dropped after Ri times of retransmissions is estimated as follows: Ri +1 Pidrop = 1 − (1 − Pierror ) 1 − Picol_cur (11) where Pidrop is the dropping rate for stream i, and we get its error limit value Pidrop _limit from the application if it is specified. Pi is the packet error rate that depends on the channel condition (signal-to-noise ratio, interference, etc.), and its value can be estimated from the physical layer through acknowledgment frames or measured. Picol_cur is the current channel CR for traffic i, whose value can be measured by the station. Since the value of Picol_cur is always less than or equal to 1, we can use the value of the retry limit Ri (if known) and the limit value of dropping rate Pidrop _limit to obtain the maximum tolerable CR of the incoming stream, i.e., Picol_ max (Ri +1) = error Pidrop _limit − Pi 1 − Pierror . (12) When the ACU receives an admission request, the ACU calculates Picol_ max for the arriving stream. If the calculated Picol_ max of the traffic is less than Picol_cur , this traffic will encounter a higher packet dropping rate than its desired level. In other words, the required dropping rate limit cannot be guaranteed for the stream under the current channel conditions. Hence, the traffic request should be rejected since admitting it may only lead to wasting system resources and causing more collisions. Alternatively, if the maximum tolerable CR of the stream is higher than that of the channel, then the network conditions are sufficiently good to admit the flow and guarantee its QoS requirements. As we mentioned earlier, the retry limit is bounded; if Ri = 0, the maximum tolerable CR becomes very small, and the network conditions should be near perfect for the arriving stream to be admitted. Alternatively, when Ri converges toward Rimax , there corresponds a larger maximum CR that a stream can tolerate (Picol_ max is an increasing function with Ri ); this means that the network is less restrictive in admitting the flow (as long as Picol_ max > Picol_cur ). Since we do not have an exact expression for the actual retry limit allowed for a stream to meet its delay requirement, one can use the maximum retry limit instead to derive Picol_ max . Accordingly, this yields a slightly aggressive admission control method, which will provide an upper bound on the stream delay performance. We therefore make this assumption in the rest of this paper. 1081 C. Per-Flow Throughput Requirement versus SBA To satisfy the throughput requirement of a stream, the ACU needs to consider two aspects: 1) the traffic throughput requirement specified by the application and 2) the predicted extra bandwidth needed to compensate for the traffic loss caused by error or collisions on the channel. For CBR traffic, the admission decision can be simply made when the system has enough resources to support the mean data rate of the traffic stream. For VBR traffic, the admission decision is relatively difficult to be made. For example, a typical VBR video traffic can have a peak data rate of 11.75 Mb/s and a mean data rate of 3.0 Mb/s. If the VBR traffic is admitted only when its peak rate is guaranteed, the system resources cannot be fully utilized. On the other hand, if we simply admit the VBR traffic as long as its mean data rate is guaranteed, the throughput of the VBR traffic can barely be supported. In [7], a dual-token bucket filter for VBR traffic policing was presented. The traffic can be shaped and rescheduled as traffic-shaped CBR traffic with a guaranteed service rate. This guaranteed rate is a function of the mean data rate, the peak data rate, the delay bound, and the maximum burst size. We use this method to treat VBR traffic in our scheme. The reasons of choosing a dual-token bucket filter in our scheme are given as follows: 1) to increase the channel utilization and 2) to decrease the oscillation of the CR. The guaranteed rate for VBR can be derived as follows [7]: i Bi = (Pi − Gi ) × L Pi (13) Bi Di = G i where Bi , Pi , Gi , Li , and Di are the bucket size, peak data rate, guaranteed service rate, maximum burst size, and delay bound of VBR traffic i, respectively. Since the values of Pi , Li , and Di can be obtained from the TSPEC table, we can obtain the value of the guaranteed rate as follows: Gi = (Pi × Li ) . (Di × Pi + Li ) (14) Now, when the ACU receives a real-time traffic request with its throughput requirements, the ACU first classifies the traffic into CBR or VBR. The ACU then calculates a TXOP period, which will be assigned to the traffic later if the traffic is admitted, based on either the traffic mean data rate (CBR) or its guaranteed rate (VBR). This TXOP period includes not only the required period but also a surplus time period for retransmissions caused either by packet errors or collisions on the channel. The procedure of the calculation for this TXOP period is illustrated next. First, the ACU calculates the traffic throughput requirement parameter Tirequired given by ρi p = i (Si ×8) × SI T required = g × d + (2 × g − 1) × T + g × T i i i i sifs i ack (15) where SI is the length of the service interval, which meets the traffic end-to-end delay requirement, and its value is the minimum value of end-to-end delay requirements for all admitted 1082 IEEE TRANSACTIONS ON VEHICULAR TECHNOLOGY, VOL. 57, NO. 2, MARCH 2008 streams [2]; ρi is the mean data rate for CBR traffic or the guaranteed rate for VBR traffic; Si is the nominal packet size of traffic i; di is the duration of the packet transmission time based on Si and the PHY data rate used; Tsifs is the a short interframe space period; gi is the number of packets per SI for traffic i; and Tack is the duration to transmit an acknowledgment frame. To include the surplus time period to compensate for the error or collision, the total assigned TXOP period for traffic i is computed as follows: TXOPi = Tirequired × SBAi . (16) Now, the ACU decides whether to admit the stream or not according to the TXOPi period and whether it can be supported by the system. If the system has enough available resources to assign TXOPi , the traffic request will be admitted. Note that this assigned period will also be periodically updated at the beginning of each beacon interval according to the channel conditions. Dynamically adjusting this assigned TXOPi period can maximally utilize the system resources. In (16), since the value of Tirequired is a statistical constant coming from the traffic throughput requirement, SBAi becomes the only variable to influence the value of TXOPi . Therefore, to admit more flows, we need to keep the total assigned TXOPi for each flow as small as possible, and hence, it is essential to find the optimal value of SBAi . Although finding a precise value for SBA has not been specified by the IEEE 802.11e, it is still a subject of research. In [8], the SBA is measured by the AP for each AC. However, in WLANs, the AP does not know how many packets have collided and from which stations they have originated. In contrast, the station knows exactly how many packets have been sent out from its interface and how many packets have been received from its upper layer, and thus, the difference is the extra bandwidth that should be compensated for by the SBA. In our scheme, we use the following procedure to calculate the optimal SBA value. First, all stations calculate the SBA value at the end of each beacon interval as follows: SBAji = j j (Ni,transmitted (n)/Ni,received (n)), where i is the ID of the flow, j j is the ID of the station, and Ni,transmitted (n) is the total number of packets transmitted from station j during the nth j (n) is the total number of packets beacon interval. Ni,received of flow i received from the corresponding application. Note that packets dropped due to buffer overflow are neglected in our scheme. Every station reports its SBAji to the AP. When the AP receives SBAji at the end of the nth beacon interval, it j records the cumulative value SBAi = N j=1 SBAi /N (where N is the total number of stations with the same flow i) and broadcasts it with TSPEC table to all stations at the beginning of the next beacon interval. In our scheme, SBAi is also used as an indicator for the current channel conditions as well as a parameter to determine the current CR as follows: Picol_cur = 1 − 1 . SBAi (17) Note that SBAi actually accounts for packets that are dropped either due to collision or due to other sources of errors; therefore, (17) assumes that the channel error rate is negligible. Alternatively, if the frame error rate is known (e.g., using measurement and estimation methods), then the right-hand side of (17) would be equal to 1 − (1 − Pierror )(1 − Picol_cur ), and the collision probability can be determined. IV. A DMISSION AND C ONGESTION C ONTROL S CHEME A. Admission Control Policy The station first classifies the arriving request and then calculates the admission control parameters for the traffic stream based on its QoS requirements. These parameters include Picol_ max , Ri , and TXOPi . The station then makes an admission decision whether to reject this new traffic by comparing its maximum tolerable CR Picol_ max with the current channel CR. When Picol_ max is less than the current channel CR, the trafficrequired delay bound and dropping rate cannot be satisfied under the current channel conditions, and accordingly, the traffic request should be rejected. If the request can be admitted at the station level, the station will further forward this request to the AP. When the AP receives the request from the station, it further uses another procedure to decide whether it should accept this request based on the current available medium resources. The current available medium resource is the difference between the SI and the period that is currently utilized or occupied by currently existing streams. The current medium resources used by real-time streams can be calculated by the product of the TXOP requirement of each admitted flow and its current corresponding SBA. If the available medium resource is larger than TXOPi (the requirement of the new request computed by the AP), the traffic will be finally admitted. Otherwise, the traffic is rejected. To restate, a new flow is admitted if the following inequality holds: required × SBAk+1 + Tk+1 k Tirequired × SBAi ≤ µ × SI i=1 (18) where k is the total number of existing flows, i is the index for existing flows, and µ is a user-defined utilization target for realtime traffic. The remaining parts of SI (i.e., (1 − µ) × SI) are used for best effort (BE) traffic. Note that, when the AP receives a new request and it cannot find its corresponding SBA and Picol_cur , the AP always chooses the current maximum value to calculate the admission control parameters for the new flow to guarantee its QoS requirements. When the flow is finally admitted by the AP, the AP will assign a set of particular CAPs and a TXOP period. Note that BE traffic is always admitted. However, when the system is overloaded, too many data transmission inside the channel can eventually degrade the performance of the whole system. As a result, the QoS of existing real-time flows will be affected. In our scheme, we use the parameter µ in (18) to guarantee a minimal portion of SI for BE. When the system is overloaded, real-time traffic will be rejected due to shortage of resources. In such a case, the BE traffic will continue to be admitted and will share the same resources with other existing BE traffic. As a result, the BE throughput per station will ASSI et al.: PER-FLOW ADMISSION CONTROL AND QoS PROVISIONING IN IEEE 802.11e WIRELESS LANs be reduced since the total bandwidth occupied by BE traffic before and after the system goes into the overload state remains the same, and accordingly, the QoS level of existing real-time traffic will not be sacrificed. 1083 TABLE I APPLICATION QoS PERFORMANCE TARGETS B. Congestion Control Policy In our model, the values of the CAPs are dynamically assigned to newly admitted streams based on their QoS requirements; these values are periodically updated according to the current channel condition at the beginning of each beacon interval. Accordingly, the channel collision probability can be dramatically decreased, and the channel utilization can be noticeably improved. This has been previously demonstrated in many papers [8], [15]. Nevertheless, how to find a proper index to dynamically adjust these parameters has been a popular research topic. In our scheme, we use SBAi to be such an indicator, because its value represents the current channel condition, as we discussed earlier. The AP uses its SBAi value to assign CAP values to a newly admitted traffic stream of priority class i: CWmin ji = CWmin ji (0) × rand(1, SBAi ) (19) AIF Sij = β × AIF Sij (0) × rand(1, SBAi ) where CWminj (0) and AIF Sij (0) are the default values of i traffic class i, and β is a constant used to make AIF Sij fall within the range specified by the standard. Note that, when the newly admitted flow cannot find its corresponding SBA, the AP uses the default values of this priority class to assign for the stream, which means that the value of SBAi is equal to one in this case. Now, each station will use the SBAi value to periodically update CAP values at the beginning of the nth beacon interval as follows: CWmin ji (n) = CWmin ji (n−1)×rand (1, 1+∆SBAi (n)) AIF Sij (n) = β ×AIF Sij (n−1)×rand (1, 1+∆SBAi (n)) (20) where ∆SBAi (n) is the difference between SBAi (n) and SBAi (n − 1). As more streams are admitted, the network may get congested, and higher CRs may be observed (e.g., SBAji constantly higher than 1). Accordingly, the system responds to this congestion by deploying a multiplicative increase of the access parameters to reduce the transmission (and, hence, the contention) on the wireless channel. The selection of the access parameters is further randomized to ensure that various streams select different parameters, which will, in turn, yield lower collisions. On the other hand, when the system becomes less congested (e.g., SBAi (n) < 0), each station will respond by reducing the values of its access parameters. We have adopted the following conservative linear decrease approach (with δ = 0.5): CWmin ji (n) = max CWmin ji (0), δ × CWmin ji (n − 1) AIF S j (n) = max AIF S j (0), δ × AIF S j (n − 1) . i i i (21) V. P ERFORMANCE E VALUATION We study the performance of the proposed admission and congestion control schemes using network simulator NS-2 [16]. We present the simulation performance of the following three systems: 1) no admission control (N-AC), which follows the default parameter sets given in IEEE 802.11e; 2) DAC [8], wherein all the system parameters used in the admission control policy are class based and congestion control is mainly used for controlling the BE traffic; and 3) flow-based DAC (F-DAC), in which the ACU assigns different access parameters based on the QoS requirements and the congestion control policy is applied to all traffic streams. A. Simulation Scenario We set up our model with fifteen stations and one AP. We assume that all stations are within transmission range with a clear channel (no channel error). All traffic streams flow from the stations to the AP. Each station carries three flows from three ACs (voice, video, and data). For voice traffic, we consider three types (A, B, and C), all with 80-B payload size. For video traffic, three types are considered (A, B, and C) with the same mean payload size of 500 B. Data traffic are generated with an exponential on/off distribution, with a mean data rate of 1024 kb/s, and with a fixed payload size of 1024 B. The QoS performance targets of each traffic types are shown in Table I. We use the following as initial CAPs for each AC: AIF S[voice] = 25 µs, CW min[voice] = 15, AIF S[video] = 25 µs, CW min[video] = 31, AIF S[data] = 34 µs, and CW min[data] = 63. The other system parameters used in our simulation are given as follows: channel rate of 36 Mb/s, the physical layer convergence procedure header length of 40 bits, preamble length of 96 bits, SIF S = 16 µs, slot time = 9 µs, SI = 120 ms, and beacon interval = 2 s. The traffic profile is given as follows: At the beginning of the simulation, voice traffic starts, and a new voice traffic arrives for each 30 s with the sequence of A, B, and C. Video traffic starts arriving at 10 s, and for each 30 s thereafter, a new video traffic arrives at the system with the sequence of A, B, and C, respectively. Data traffic starts at 20 s and arrives at the system every 30 s until the end of the simulation. The total simulation time is 450 s. To quantitatively evaluate the performance of our scheme, the following metrics are used: overall system throughput, per-flow throughput, packet mean delay, jitter, and CR. 1084 IEEE TRANSACTIONS ON VEHICULAR TECHNOLOGY, VOL. 57, NO. 2, MARCH 2008 Fig. 2. System throughput comparison. B. Analysis of Simulation Results 1) System Performance: Fig. 2 shows the system throughput comparison for the three schemes. The results show that, without admission control, the overall system throughput can only reach 10.783 Mb/s, whereas, with admission control, the overall system throughput presents noticeable improvement. For instance, with DAC, the overall system throughput reaches 12.189 Mb/s (i.e., an improvement of 13%), and with F-DAC, the throughput can be further increased to 13.205 Mb/s (i.e., an improvement of 22.46%). We can also see that all schemes achieve similar throughput performance before 170 s. After 170 s, the system begins to enter the heavy-load state, and the total throughput begins to vary with different schemes. The reason for this is that, without any admission control, all arriving flows are admitted, and therefore, the collision among packets of different flows will be high. When collision on the channel is high, the transmission efficiency is reduced due to multiple failed transmissions and retransmissions, which ultimately impacts the system throughput. With admission control, the number of admitted flows and, consequently, the collision are controlled; therefore, we can clearly see the improvement in the system throughput between DAC, F-DAC, and N-AC. Moreover, F-DAC outperforms DAC in terms of total system throughput. This is because F-DAC calculates admission control parameters based on the flow QoS requirements and not based on requirements of the AC of the flow. For example, SBA is used to compensate for the packet loss caused by collisions. In DAC, all flows belonging to the same AC will be assigned the same SBA, regardless of their QoS requirements, whereas, in F-DAC, the AP calculates the SBA for each flow; two flows within the same AC but with different data rates will be assigned different SBAs, because they experience different collisions. This will result in better utilization of the bandwidth resources. Another metric that we used to compare DAC and F-DAC is the total number of flows admitted. Without admission control, all streams are allowed in the system; with DAC, ten voice and nine video flows can be admitted, and with F-DAC, 13 voice and 13 video flows are admitted. This increase is mainly due to the fact that SBA and other CAPs are computed/selected according to each flow. In summary, when admission control is applied, the system throughput can be improved. However, with per-flow admission control, not only can the overall system throughput be improved but also the total number of admitted flows is increased. 2) Per-Flow Throughput: Fig. 3 shows that the per-voicestream throughput can be satisfied before 180 s under the different models. When the simulation time reaches 180 s and without admission control, the throughput of voice traffic begins to degrade as the system load continues to increase and become unacceptable at the end of the simulation. For example, for voice A, the throughput degrades to 121 kb/s at the end of the simulation, which is below the acceptable level (see Table I). Alternatively, with DAC and F-DAC, the throughput of voice traffic slightly decreases but remains guaranteed within its requirement range. However, we can clearly see that DAC performs slightly better in terms of per-flow throughput than F-DAC. This is because DAC always selects a larger SBA value (assigned to the lower rate streams) to compensate for the loss that all voice traffic experience. Clearly, this will waste system resources. Alternatively, F-DAC chooses the SBA value corresponding to each flow type, which means that the channel bandwidth is more effectively utilized by competing flows, and therefore, more flows will be admitted. Similar results are also observed for video traffic throughput. 3) Mean Delay: Fig. 4 shows that, without admission control, when the traffic load gets higher, the average packet delay for voice traffic (A, B, and C) quickly increases and cannot be bounded (i.e., in the 5-ms delay requirement). This is because all arriving streams are admitted, regardless of the channel conditions and the resource availability. On the other hand, when admission schemes are implemented (DAC or F-DAC), the average packet delay is controlled according to the admission policy. We can see that both schemes are capable of bounding the delays of voice traffic within their delay requirements. Fig. 5 shows the mean delay performance of video traffic under the three models; the figure shows a similar behavior as seen for voice traffic. Before 180 s, all the video streams under three different models have almost the same average delay. After 180 s, although the mean delay of video streams begins to diverge, their delay requirements can still be satisfied (refer to Table I) until 400 s. After 400 s and without any admission control, the mean delay of video traffic is not controlled and does not satisfy the stream delay requirement. When admission control is implemented, the mean delays of video traffic can be bounded inside their desired range. From Fig. 4, we can see that all voice streams exhibit almost the same mean delay with both DAC and F-DAC. This is because all voice streams have the same delay requirement. However, from Fig. 5, the results show that the different video classes (A, B, and C) exhibit almost the same mean delay under the DAC scheme while showing different mean delays with F-DAC. This is mainly because each traffic class under F-DAC, and unlike the DAC scheme, is assigned its own retry limit according to its delay requirement. In summary, our results show that, without admission control, the delay requirements of real-time traffic cannot be guaranteed and bounded. On the other hand, when admission control is applied, the mean delay of all traffic can be controlled. We have ASSI et al.: PER-FLOW ADMISSION CONTROL AND QoS PROVISIONING IN IEEE 802.11e WIRELESS LANs Fig. 3. Voice traffic throughput comparison. (a) Voice Traffic A. (b) Voice Traffic B. (c) Voice Traffic C. Fig. 4. Voice traffic delay comparison. (a) Voice Traffic A. (b) Voice Traffic B. (c) Voice Traffic C. Fig. 5. Video traffic delay comparison. (a) Video Traffic A. (b) Video Traffic B. (c) Video Traffic C. Fig. 6. Voice traffic latency standard deviation with N-AC. (a) Voice Traffic A. (b) Voice Traffic B. (c) Voice Traffic C. also shown that, by providing a better service differentiation (i.e., the assignment of different CAPs) among traffic streams of the same class, we can still guarantee the delay requirements while admitting more flows in the network and, hence, achieve better channel utilization. 4) Latency Standard Deviation: We only include the jitter requirement for the voice traffic (Table I). The jitter performance (under N-AC, DAC, and F-DAC) as the system load changes is shown in Figs. 6–8, respectively. As can be seen, the jitter of N-AC is very close to DAC and F-DAC when the traffic load is light. However, when the traffic load becomes high, the jitter of N-AC rapidly increases (Fig. 6) and becomes close to 1085 3 ms, whereas the jitter bound is 1 ms (Table I). This is mainly because of the unpredictable collisions and congestion on the wireless channel. On the other hand, with DAC and F-DAC, the jitter has a much smaller value (with F-DAC slightly better) and can be controlled. For example, when the system load gets higher, the jitter under DAC can almost be kept at less than 1 ms, and toward the end of the simulation, the value of the jitter fluctuates around 1 ms. 5) Throughput of BE Traffic: We choose µ = 0.75, which means that 25% of the service interval SI is used for sending BE traffic. Fig. 9 shows that, without admission control, as the load increases, the throughput for BE traffic increases, but 1086 IEEE TRANSACTIONS ON VEHICULAR TECHNOLOGY, VOL. 57, NO. 2, MARCH 2008 Fig. 7. Voice traffic latency standard deviation with DAC. (a) Voice Traffic A. (b) Voice Traffic B. (c) Voice Traffic C. Fig. 8. Voice traffic latency standard deviation with F-DAC. (a) Voice Traffic A. (b) Voice Traffic B. (c) Voice Traffic C. Fig. 9. BE traffic throughput comparison. as the system load further increases (e.g., at 180 s), the BE throughput starts to decrease and ultimately reaches a very small value. It is because, without admission control, all traffic is admitted, and voice and video streams always have a better chance of accessing the channel. At this heavy load, only traffic from those voice and video streams can be transmitted, and hence, the overall throughput for BE reaches an unacceptable low value (200 kb/s). This clearly shows the unfairness that BE traffic experiences. When the admission control scheme is applied and at higher loads, the throughput of BE slightly decreases but still maintains a much better overall throughput performance. That is due to the fact that many arriving real-time streams (voice or video) will be rejected, because their QoS requirements cannot be guaranteed; therefore, BE traffic will have some available resources to transmit their packets. More- over, with admission control, the system through its resource reservation maintains a guaranteed minimal bandwidth for BE traffic, as shown in Fig. 9. We can see that the DAC can achieve better throughput for BE traffic than the F-DAC at higher loads. This is mainly because, in DAC, all real-time traffic will be assigned a relatively larger TXOP value than desired. BE traffic will contend to utilize the unused period of TXOP value from real-time traffic for its transmission. However, this higher throughput for BE is obtained by sacrificing the total number of admitted real-time streams. The purpose of admission control is to provide a guaranteed minimal throughput for BE traffic while increasing the total number of admitted real-time streams. We can see that, in F-DAC, the throughput of the BE traffic is guaranteed around its desired minimal bandwidth, and the total number of admitted real-time flows is also improved. 6) CR: In this section, we examine how the CR will affect the performance of different traffic streams. Figs. 10 and 11 compare the average CR of voice and video streams. The CR is measured as the ratio between the number of packets collided and the number of packets transmitted per flow. First, without admission control, the CR cannot be controlled since all streams are admitted. Fig. 10 shows that, as the load increases, the CR also increases. At some point, however, the CR exhibits no further increase as the load continues to increase, and this is attributed to the fact that many flows are contending for channel access; hence, a station will have less chance of accessing the channel and transmitting packets of a particular stream. Alternatively, Fig. 11 shows a similar trend for the CR when the system does not implement any admission control. However, interestingly, as the load increases (e.g., after 315 s for video traffic A), the CR starts decreasing. This is due to the fact that the more flows we have in the system, the less chance there will be for a station to capture the channel and transmit its packets and, hence, the less chance there is for a ASSI et al.: PER-FLOW ADMISSION CONTROL AND QoS PROVISIONING IN IEEE 802.11e WIRELESS LANs 1087 Fig. 10. Voice traffic CR comparison. (a) Voice Traffic A. (b) Voice Traffic B. (c) Voice Traffic C. Fig. 11. Video traffic CR comparison. (a) Video Traffic A. (b) Video Traffic B. (c) Video Traffic C. collision. With admission control, fewer flows are admitted, and hence, the CR is better controlled, particularly under heavy load. Fig. 10 shows that the CR under DAC at heavy load becomes constant. However, the CR is only slightly better than the N-AC case, because DAC does only congestion control (i.e., the selection of AIF S and CWmin values) for BE traffic. A similar performance is exhibited for video traffic. Under F-DAC, however, the CR is limited to a much smaller value (both for video and voice). This is because fewer flows are allowed in the system, and better congestion control is applied for all types of traffic. In summary, our results show that, to decrease the CR, we need to apply congestion control. With congestion control, the CR of real-time traffic can be significantly decreased, and system performance can be dramatically improved. VI. C ONCLUSION We demonstrated that, although the IEEE 802.11e standard provides differential access for traffic with various QoSs, it does not provide any form of protection for existing traffic. This is because every arriving flow is admitted, regardless of the channel conditions. This lack of admission control will degrade the services offered by the network. Although admission control schemes have been recently proposed to provide such protection, they have their limitations. We proposed an F-DAC in which the admission parameters are derived according to the QoS requirements of the flow and not to that of the AC, where the flow belongs. Furthermore, these admission parameters consider both the QoS requirements of the arriving stream and the current channel conditions. We compared the proposed admission control scheme with another DAC. The results have shown that, although both schemes could provide the desired QoS for admitted streams, the flow-based scheme achieved better channel utilization in terms of the total number of admitted flows and the overall system throughput. R EFERENCES [1] Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications, IEEE 802.11 WG, 1999. [2] Draft Supplement to Part 11: Wireless LAN Media Access Control (MAC) and Physical Layer (PHY) Specifications: MAC Enhancements for Quality of Service (QoS), IEEE 802.11 WG, Jan. 2005. [3] S. Choi, J. del Prado, S. Shankar, and S. Mangold, “IEEE 802.11e contention-based channel access (EDCF) performance evaluation,” in Proc. IEEE ICC, May 2003, vol. 2, pp. 1151–1156. [4] Y. Xiao, “Performance analysis of priority schemes for IEEE 802.11 and IEEE 802.11e wireless LANs,” IEEE Trans. Wireless Commun., vol. 4, no. 4, pp. 1506–1515, Jul. 2005. [5] Y. Xiao, “IEEE 802.11e: QoS provisioning at the MAC layer,” IEEE Wirel. Commun., vol. 11, no. 3, pp. 72–79, Jun. 2004. [6] Q. Ni, “Performance analysis and enhancements for IEEE 802.11e wireless networks,” IEEE Netw., vol. 19, no. 4, pp. 21–27, Jul./ Aug. 2005. [7] C. Chou, S. N. Shankar, and K. Shin, “Achieving per-stream QoS with distributed airtime allocation and admission control in IEEE 802.11e wireless LANs,” in Proc. INFOCOM, Mar. 2005, pp. 1584–1595. [8] Y. Xiao and H. Li, “Voice and video transmissions with global data parameter control for the IEEE 802.11e enhance distributed channel access,” IEEE Trans. Parallel Distrib. Syst., vol. 15, no. 11, pp. 1041–1053, Nov. 2004. [9] W.-Y. Choi, “A centralized MAC-level admission control algorithm for traffic stream services in IEEE 802.11e wireless LANs,” Int. J. Electron. Commun., vol. 58, no. 4, pp. 305–309, Jul. 2004. [10] L. Zhang and S. Zeadally, “HARMONICA: Enhanced QoS support with admission control for IEEE 802.11 contention-based access,” in Proc. IEEE RTAS, Toronto, ON, Canada, May 2004, pp. 64–71. [11] D. Gu and J. Zhang, “A new measurement-based admission control method for IEEE 802.11 wireless local area networks,” in Proc. 14th Int. Symp. Pers., Indoor, Mobile Radio Commun., 2003, pp. 2009–2013. [12] D. Pong and T. Moors, “Call admission control for IEEE 802.11 contention access mechanism,” in Proc. IEEE GLOBECOM, San Francisco, CA, Dec. 2003, vol. 1, pp. 174–178. [13] D. Gao, J. Cai, and K. N. Ngan, “Admission control in IEEE 802.11e wireless LANs,” IEEE Netw., vol. 19, no. 4, pp. 6–13, Jul./Aug. 2005. [14] P. Chatzimisios, A. C. Boucouvalas, and V. Vitsas, “IEEE 802.11 packet delay—A finite retry limit analysis,” in Proc. GLOBECOM, Dec. 2003, vol. 2, pp. 950–954. [15] H.-W. Ferng, C.-F. Lee, J.-J. Huang, and G.-M. Chiu, “Designing a fair scheduling mechanism for IEEE 802.11 wireless LANs,” IEEE Commun. Lett., vol. 9, no. 4, pp. 301–303, Apr. 2005. [16] NS-2, NS-2 Network Simulator. [Online]. Available: http://www.isi. edu/nsnam/ns/ 1088 IEEE TRANSACTIONS ON VEHICULAR TECHNOLOGY, VOL. 57, NO. 2, MARCH 2008 [17] A. Veres, A. T. Campbell, M. Barry, and L. Sun, “Supporting service differentiation in wireless packet networks using distributed control,” IEEE J. Sel. Areas Commun., vol. 19, no. 10, pp. 2081–2093, Oct. 2001. [18] P. E. Engelstad and O. N. Østerbø, “Analysis of the total delay of IEEE 802.11e EDCA and 802.11 DCF,” in Proc. IEEE ICC, Istanbul, Turkey, Jun. 11–15, 2006, pp. 552–559. [19] D. Vassis and G. Kormentzas, “Delay performance analysis and evaluation of IEEE 802.11e EDCA in finite load conditions,” Wirel. Pers. Commun., vol. 34, no. 1/2, pp. 29–43, Jul. 2005. Chadi M. Assi (M’03) received the B.S. degree in engineering from Lebanese University, Beirut, Lebanon, in 1997 and the Ph.D. degree from the Graduate Center, City University of New York, in April 2003. In August 2003, he joined the Concordia Institute for Information Systems Engineering, Concordia University, Montreal, QC, Canada, where he is currently an Associate Professor. His current research interests are wireless networks, optical networks, and network security. Dr. Assi was the recipient of the prestigious Mina Rees Dissertation Award from the City University of New York for his research on wavelength-divisionmultiplexing optical networks in August 2002. Anjali Agarwal (SM’03) received the B.E. degree in electronics and communication engineering from Delhi College of Engineering, Delhi, India, in 1983, the M.Sc. degree in electrical engineering from University of Calgary, Calgary, AB, Canada, in 1986, and the Ph.D. degree in electrical engineering from Concordia University, Montreal, QC, Canada, in 1996. She is currently an Associate Professor with the Department of Electrical and Computer Engineering, Concordia University. Prior to joining the faculty at Concordia University, she was a Protocol Design Engineer and a Software Engineer in industry, where she was involved in providing specifications and design issues for TCP/IP and Voice-over-IP support and in the software development life cycle of real-time embedded software. Her current research interests are the various aspects of real-time and multimedia communication over the Internet and over access networks. Yi Liu (S’05) received the B.Eng. degree from Nanjing University of Posts and Technology, Nanjing, China, and the M.E. degree from Concordia University, Montreal, QC, Canada. He is currently a System Engineer with Nortel, Ottawa, ON, Canada. His research interests are wireless networks and WiMax.