PAPER
Design and Evaluation of a Weighted Sacrificing Fair Queueing
Algorithm for Wireless Packet Networks
Sheng-Tzong CHENG†a), Member and Ming-Hung TAO†, Nonmember
SUMMARY Fair scheduling algorithms have been proposed to tackle the problem of bursty and location-dependent errors in wireless packet net-works. Most of those algorithms ensure the fairness property and guaran-tee the QoS of all sessions in a large-scale cellular network such as GSM or GPRS. In this paper, we propose the Weighted-Sacrificing Fair Queue-ing (WSFQ) schedulQueue-ing algorithm for small-area and device-limited wire-less networks. WSFQ slows down the growth of queue length in limited-buffer devices, still maintains the properties of fairness, and guarantees the throughputs of the system. Moreover, WSFQ can easily adapt itself to var-ious kinds of traffic load. We also implement a packet-based scheduling algorithm, the Packetized Weighted Sacrificing Fair Queueing (PWSFQ), to approach the WSFQ. WSFQ and PWSFQ are evaluated by comparing with other algorithms by mathematical analysis and simulations.
key words: fair scheduling, weighted-sacrificing fair queueing, packetized
weighted sacrificing fair queueing
1. Introduction
Many Packet Fair Queueing algorithms (PFQ) have been de-veloped for providing fairness and bounded delay access in wireline networks. PFQ algorithms are first proposed in the context of wired networks to approximate the idealized Gen-eralized Processor Sharing (GPS) policy [1], [2]. GPS has been proven to have two important properties:
• It provides end-to-end delay-bounded services to leaky-bucket constrained sessions; and
• It ensures fair allocation of bandwidth among all back-logged sessions regardless of whether or not their traf-fic is constrained.
While GPS is a fluid model that cannot be imple-mented, various packet approximation algorithms are de-signed to provide services that are nearly identical to GPS.
However, it is inappropriate to directly apply GPS and the corresponding algorithms to wireless networks because of bursty channel errors and location-dependent channel ca-pacity and errors. Bursty channel errors make the host un-able to receive continuous services. Location-dependent channel capacity and errors make other error-free sessions receive more services. Lu et al. [3] and Ng et al. [4] noticed the unfairness problem and presented the Idealized Wireless Fair-Queueing (IWFQ) and the Channel-condition Indepen-dent Packet Fair Queueing (CIF-Q) solutions respectively.
Manuscript received March 26, 2004.
†The authors are with the Department of Computer Science
and Information Engineering, National Cheng Kung University, Tainan, Taiwan, R.O.C.
a) E-mail: [email protected] DOI: 10.1093/ietcom/e88–b.4.1568
IWFS and CIF-Q tried to solve the problem by compensat-ing the prone flows by uscompensat-ing the service share of error-free flows. Thus, if the network becomes heavily loaded when a flow is being compensated, the services of error-free flows may be deteriorated. In order to prevent the service degradation of error-free flows during compensation, Jeong et al. [5] presented the Packetized Wireless General Proces-sor Sharing (PWGPS) algorithm which used pre-allocated service shares for compensation.
In most wireless PFQ algorithms, the amount of com-pensation services from a leading session is proportional to its weight (i.e. the service share). If the traffic is not heavy and is steady, most of the wireless PFQ algorithms work correctly and efficiently. However, in a small-area WLAN, the traffic is heavy and varied, the queue length of each ses-sion that has limited buffer size grows rapidly and hence the packet loss occurs frequently, especially for a high weighted session. Thus the adaptability to the traffic load becomes a new requirement of wireless PFQ algorithms. In this paper we develop a Weighted-Sacrificing Fair Queueing (WSFQ) algorithm. It dynamically adjusts the sacrificing rates of leading sessions according to their weights and the traffic load. In WSFQ, the ability of adaptation to network traffic is observed. It achieves better performance in packet loss rate and queueing delay.
The rest of the paper is organized as follows. In Sect. 2, we introduce WSFQ, examine its fairness, and compare with other PFQ policies by the queue length of high weighted leading sessions. Section 3 implements PWSFQ that ap-proaches WSFQ. Section 4 discusses the simulation results of PWSFQ and CIF-Q.
2. Weighted Sacrificing Fair Queueing
2.1 Model Definitions
In order to tackle the high variance in traffic, a fair schedul-ing model with Weighted Sacrificschedul-ing (WS) is proposed for wireless network in this paper. WSFQ performs well in terms of packet loss, and still retains the following prop-erties that are addressed by the well-known CIF-Q:
• Delay bound and throughput guarantees, • Long-term fairness,
• Short-term fairness, and
• Graceful degradation in quality of services.
In order to measure fairness, Weighted Sacrificing Fair Copyright c 2005 The Institute of Electronics, Information and Communication Engineers
Fig. 1 Illustration of the checking points and the steady period.
Queueing (WSFQ) associates to each system S a reference error-free system Sr.WSFQ checks the states of all sessions
by Srat the checking points for every Tctime units, where Tcis the checking period of the WSFQ and assigned a con-stant value. The period between the checking point i-1 and i is called the steady period i (Fig. 1). At the checking points, a session is leading if it has received more services in S than it would have received in Sr, lagging if it has received less,
and synchronizing if it has received the same amount of ser-vices. The reference system of WSFQ satisfies the Start-time Fair Queueing (SFQ) model [6] and is described by re-ferring to the work of Jeong et al. [5]. The details are shown as follows.
Let Fi(t0, t) be the amount of services for session i in Srin a time interval (t0, t]. Fi(t0, t) is given by
∂Fi(t0, t) ∂t = ri·
∂V
∂t, (1)
in which riis the given weight (as well as the service share
in GPS) of session i, and V is the virtual time of Sr, which
is defined as follows. ∂V ∂t = A j rj if j rj 0 0 otherwise , (2)
in which A is the total service rate of the system.
In WSFQ, the lagging services caused by the channel errors are compensated by the weights of all sessions. But it is important that not only the fairness properties need to be satisfied, but also the problems of crowded queue caused by high traffic load to each session need to be overcome, es-pecially for high weighted sessions. Thus, a leading session should be postponed by the normalized amount of services according to its weight, compensation services should be distributed to lagging sessions in proportion to the weights of lagging sessions, and the services from suspended ses-sions should be distributed to all the available sesses-sions in proportion to their weights.
For the reasons described above, WSFQ uses time-varying weight v(t) instead of constant weight r to make ser-vices allocation for each session. The time-varying weight vi(t) of session i is defined as follows.
vi(t)= ri if i∈ C(t) ri· (1 − Φi) if i∈ N(t) 0 otherwise , (3)
in which C(t) is the set of sessions that are backlogged and
in the lagging state, N(t) is the set of sessions that are back-logged and not in the lagging state (i.e. leading or synchro-nizing). Let n=| N(t) |. Define Φi to be the sacrificing ratio of session i. The value ofΦi is set according to session i’s weight, i.e. Φ i = Φmax ifΘ > Φmax 0 ifΘ < 0 Θ otherwise , Θ = Φ + j∈N(t) rj/n − ri · ∆, (4)
in whichΦ is the default ratio of sacrificing services and is set within the range of 0 toΦmax, whereΦmaxis the
maxi-mum sacrificing ratio.∆ in (4) is the degree of the influence of the weight. In other words, the larger the value of∆ is, the more influence ri has onΦi. Therefore WSFQ can be
adapted to different traffic density by controlling the value of ∆. For example, if the traffic is heavy, the value of ∆ needs to be increased; if the traffic is low, the value of ∆ needs to be decreased.
With the time-varying weight v(t), the services served for session i in WSFQ in a time interval (t0, t] can be de-fined as follows (the state for each session in WSFQ is not changed in (t0, t]).
∂Wi(t0, t)
∂t = vi(t)·
∂V
∂t , (5)
where Vis the virtual time of WSFQ system, and satisfies ∂V ∂t = A j∈G(t)vj(t) if j∈G(t) vj(t) 0 0 otherwise , (6)
Each session in WSFQ is associated with a parameter
delay to measure the difference between the services that
a session should receive in a referenced error-free network and the services it has received in the WSFQ. If the value of
delayi is positive, then we say session i is in lagging state.
If the value is negative, then session i is in leading state. If the value is exactly zero, then the session is in synchronizing state.
In WSFQ, if a non-lagging session i has a high weight (higher than the average weight of all non-lagging sessions), the value of (j∈N(t)rj/n − ri)· ∆ is negative, thus the value
ofΦi is smaller than the default ratioΦ. On the other hand, if a non-lagging session has a low weight (lower than the average weight of all non-lagging sessions), the value ofΦi is larger than the default ratio Φ. We can easily find that the sacrificing ratio of a high weighted non-lagging session is lower than that of a low weighted non-lagging session. Thus a high weighted non-lagging session has better service rate at the low cost of less service rate associated to low weighted sessions. The problem of crowded queue in high weighted sessions is improved with little influence on other sessions. Moreover, since the sacrificing ratio is limited to be smaller thanΦmax, all non-lagging sessions have graceful
degradation in quality of services while it is sacrificed for compensation.
2.2 Fairness and Delay Analysis
In this subsection, we investigate the fairness property of WSFQ in Theorem 1 by proving the bounded difference in the services served to arbitrary two sessions. The arbi-trary two sessions can be both in non-lagging states or one is in lagging state and the other is not. In Theorem 2 we show that within this fairness property, high weighted ses-sions have shorter queue length and smaller queueing delay in WSFQ than in other PFQ algorithms. At last in Theorem 3, the growth speed of queue length in WSFQ is proved to be slower than that in other PFQ algorithms.
Theorem 1: Let t0 and t1 be any two instants in the same
steady period and t0< t1. Assume that session i and session
j are two servable sessions of the WSFQ.∀t ∈ (t0, t1), the
value of|Wi(t0,t) ri − Wj(t0,t) rj | satisfies: • If i ∈ C(t) or j ∈ N(t), then Wi(t0, t) ri − Wj(t0, t) rj ≤ Φmax· (V(t1)− V(t0)). (7) • If i, j ∈ N(t), then Wi(t0, t) ri − Wj(t0, t) rj ≤|∆ · (ri−rj)| · (V(t1)−V(t0)). (8) • If i, j ∈ C(t), then Wi(t0, t) ri − Wj(t0, t) rj = 0 (9)
Theorem 1 shows that WSFQ is fair between two ses-sions if both of them are being compensated. If both of the sessions are in the non-lagging state, or only a session is be-ing compensated, the services difference is bounded in (7) and (8) respectively. The details of the proof are shown in Appendix A.
Theorem 2: In WSFQ, if a non-lagging session whose weight is higher than the average weight of all non-lagging sessions, then it has shorter queue length and smaller queue-ing delay compared to CIF-Q-like queuequeue-ing policies.
The briefs about the proof of Theorem 2 are described as follows. Let session l be the high weighted session,
Ewl[N] be the expected queue length of session l in WSFQ, and Ec
l[N] be the expected queue length of session l in
CIF-Q. Then a M/D/1 queueing model is employed to prove that
Ewl[N] < Ec
l[N]. The details of the proof are shown in
Ap-pendix B.
Theorem 3: In WSFQ, if a non-lagging session whose weight is higher than the average weight of all non-lagging sessions, then it grows more gently in queue length com-paring to CIF-Q-like queueing policies while increasing the arrival rate of this session.
This proof follows the proof of Theorem 2. We de-note with Ewl [N] as the derivative of Elw[N] and Ecl [N] as the derivative of Ec
l[N]. After that we prove that Elw[N] < Ecl [N]. The details of the proof are shown in Appendix C.
Theorem 1 shows the property of short-term fairness between all sessions in the WSFQ. Moreover, Theorem 2 and 3 illustrate that the high weighted sessions have bet-ter performance in WSFQ than in other PFQ algorithms in terms of queue length. These theorems claim the sig-nificance of WSFQ while performing scheduling in buffer-limited devices since the packet loss is mainly caused by the overflow of the high weighted sessions.
3. Packized WSFQ Algorithm
In this section, we investigate a packetized weighted sac-rificing fair queueing algorithm (PWSFQ) that realized WSFQ by practical packet-by-packet scheduling.
The procedure of the PWSFQ algorithm is described as follows:
• Initially, all sessions are synchronized. But soon some of them change their states to become leading, lagging, or synchronizing due to the channel failures.
• The SFQ scheduler that is implemented by the refer-ence system Sr schedules the packets from each
ses-sion and outputs the sequence of the packets. This pro-cedure is shown in Fig. 2.
• With the inputs of the sequence of backlogged ses-sions and the information of the states of all sesses-sions, PWSFQ perform the fair scheduling. The sequence of backlogged sessions is decided by the sequence of the packets in the previous step.
• The fair scheduling of the PWSFQ includes the follow-ing procedures: the procedure of non-laggfollow-ing sessions, the procedure of compensation, the procedure of extra services, and the procedure of lagging sessions. The details are described in the subsections of 3.1 and 3.2. In order to account for the service lost or gained by a session due to errors, we associate with PWSFQ a reference error-free system Sr that has been described in the
previ-ous section. PWSFQ determines the states of all sessions according to the service difference of each session between the real system and the reference system. All parameters used in PWSFQ algorithm are summarized in Table 1.
The parameter Leadirepresents the amount of services
that a leading session i leads by comparing it to Sr. The
Table 1 Parameters used in PWSFQ. Parameter Definition
Ri Service count of a leading session i.
Ci Sacrificing testing of a non-lagging session i.
Cmin Lower bound of Ci.
Leadi Amount of leading services of leading session i.
Lagi Amount of lagging services of lagging session i.
Oi The priority of a lagging session i.
Omax Upper bound of Oi.
Li The packet length of the head-of-line packet in a session i.
parameter Lagirepresents the amount of services that a
lag-ging session i lags by comparing it to Sr. At any time, if
the value of Leadibecomes a negative integer, session i
be-comes lagging and the parameter Lagiis assigned the value
of|Leadi|. On the other hand, if the value of Lagibecomes a
negative integer, session i becomes leading and the parame-ter Leadiis assigned the value of|Lagi|. Parameters Ciand Riare both configured for leading sessions. The parameter
Ciis the checking flag to determine the time when a non-lagging session i is about to do the sacrificing; Riis a count
which keeps the amount of services that the session i has al-ready received. If the value of Riexceeds Ci, the sacrificing
process takes place and the value of Ri is reset to be zero.
The Ciis configured according to
Ci= k1+ r1− j∈N(t) rj/n · k2. (10)
Ci is bounded by Cmin, k1 and k2 are constant values that implement the values of∆ and Φ in (4).
For a lagging session i, we use parameter Oito indicate
its priority to receive compensation services. Let Oi= Lagi· ri. The value of Oiis bounded by Omax.
3.1 Non-Lagging Sessions
The procedure that tackles the packets of a non-lagging ses-sion is shown in Fig. 3. At first the parameter Riis increased
by the value of Li, then the value of Ri is checked to see
if it exceeds Ci. If it exceeds, Ri is reset to be zero, Leadi
is subtracted by Li, and the procedure of compensation is
performed. If it does not exceed, this packet is allowed to be transmitted. However, if the packet cannot be sent be-cause of the channel errors, PWSFQ subtracts Lifrom Leadi
and the procedure of compensation is performed. Since the value of Ci is bounded by Cmin, even if a session leads
by a large amount of services, the penalty it would pay is bounded. With the upper bound, the property of graceful degradation is observed.
Figure 4 depicts the procedure of compensation. At first the PWSFQ checks the numbers of lagging sessions in the system. If there is at least one lagging session, PWSFQ continues with the current procedure. After that PWSFQ picks the session k with the maximum Ok among all
lag-ging sessions and checks whether the channel state is good enough for this session. If it is good, the head-of-line (HOL)
Fig. 3 The procedure of non-lagging sessions.
Fig. 4 The procedure of compensation.
packet of the session is transferred and Lagk is subtracted
by Lk, but if the session k is not servable due to the channel
errors, PWSFQ picks the next lagging session that has max-imum priority except the session k until there is no lagging session. This procedure terminates and another procedure called “the procedure of extra services” starts if no lagging session passes the check.
The procedure of extra services is almost the same as the procedure of compensation. This time PWSFQ picks the session m whose Leadmis the minimum among all
avail-able sessions, transfers the packet of session m, and adds the value of Lmto Leadm. Figure 5 depicts the whole procedure
Fig. 5 The procedure of extra services.
Fig. 6 The procedure of lagging sessions.
3.2 Lagging Sessions
The procedure of lagging sessions is depicted in Fig. 6. PWSFQ only needs to check whether the current session i is servable. If it is, the PWSFQ transfers the HOL packet of the session i; if it is not, PWSFQ adds Lagithe value of Li
and starts the procedure of extra services.
4. Performance Analysis
In this section, we present the simulation results obtained by the Stochastic Petri Net (SPN) to demonstrate the queueing behaviors of various kinds of sessions thorough PWSFQ and CIF-Q. We discuss two scenarios of the simulation in the following. One is the full-length simulation and the other one is focusing on the period of an error-free circumstance in which all sessions are backlogged.
4.1 Scenario A: Full-Length Simulation
Consider the scenario with three sessions: one text session and two image sessions in the system. The default proper-ties of each session are listed in Table 2. We assign the text
Table 2 Properties of three sessions in scenario A. Weight Session mode Error
Text session 1 Poisson None
Image session A 2 Poisson None Image session B 2 Poisson 30% of
channel error
Fig. 7 SPN model of each session in scenario A.
Table 3 Definitions of places and transitions. Image A Text Image B Descriptions
p1 p4 p7 Numbers of packets queued
in buffer. p2 p5 p8 Lagging count. p3 p6 p9 Leading count. t0 t7 t14 Arrival of a packet. t1 t8 t15 An occurrence of channel errors. t2 t9 t16 Transmitting a packet.
t3 t10 t17 Transmitting a packet by the
procedure of extra services.
t4 t11 t18 Transmitting a packet by the
procedure of compensation.
t5 t12 t19 Sacrificing a transmission
for compensation.
t6 t13 t20 An occurrence of
channel errors.
session with the weight of 1 and the image sessions with the weight of 2. This implies that the amount of services needs to be served in the image sessions is twice as much as that in the text session. For the purpose of simulation, we assume the channel of the image session B has the probability of 0.3 to have errors and the other channels have no error, and the packet sizes of all packets are identical. The SPN model of each session in this scenario is depicted in Fig. 7. In sce-nario A, three sessions are considered. Therefore, three SPN models are required. Notice that the three models are iden-tical except the identifiers of the places and transitions. The complete legends of places and transitions in three sessions are given in Table 3. The multiplicity inhibitor arc from p1 to t0defines the buffer capacity of a session. The value m is the maximum numbers of packets that a buffer can restore, if the numbers of packets exceed the value of m, the packet
Fig. 8 Queue length of image session A.
Fig. 9 Packet loss of image session A.
Fig. 10 Queue length of the text session.
Fig. 11 Packet loss of the text session.
loss occurs.
To compare the performance of PWSFQ with that of CIF-Q, we approximate the CIF-Q algorithm by using the same SPN model. The major difference is the firing rates of the transitions t2, t3, and t5. Thus we reassign these far-ing rates accordfar-ing to the policy of CIF-Q. Moreover, the value of the system parameter α in full version CIF-Q is set
Fig. 12 Queue length performance of PWSFQ with various values of k2.
to be 0.5 in order to approximate the configurations of the PWSFQ.
We run the SPN to solve the corresponding Markov chain with the minimum precision of 10−6, and analyze the transient results of the simulation. The performance of queue length and packet loss (for m=6) for each session un-der different packet arrival rates is shown from Figs. 8 to 11. Here the packet loss is caused only by the limited buffer size. The performance of queue length of all sessions in the PWSFQ when the network-adaptive parameter k2(in (10)) is assigned with the value from 0.1 to 0.7 is shown in Fig. 12.
Our main conclusions from the simulation results are described as follows.
By Comparing PWSFQ with approximated CIF-Q by the increasing arrival rate of the image session A, the PWSFQ performs better on the queue length and the packet loss than the approximated CIF-Q does. Oppositely, the approximated CIF-Q has shorter queue length and smaller packet-loss rate than the PWSFQ does in the case of text ses-sion. However, the difference between PWSFQ and CIFQ of the high weighted sessions (Image A) is more obvious than the difference of the low weighted sessions (the Text ses-sion). This is because that the traffic circumstance has more influence on high weighted sessions than on low weighted sessions, and PSWSFQ has the agency for adapting the heavy traffic, especially for high weighted sessions.
In the case of lagging sessions, the performance of queue length and packet loss in CIF-Q is better than that in PWSFQ. This is because that there is only one low weighted session in the scenario. We will discuss this issue father at the next scenario.
4.2 Scenario B: Simulation of an Error-Free Period In this scenario, we would like to focus on the period in which no channel error occurs to any session, and to ana-lyze the simulation results about the queueing behaviors of the leading sessions. Seven sessions are considered for sim-ulation: four are leading sessions and the others are lagging sessions. Among these leading sessions, one is an image session and the other three are text sessions. Among lagging sessions, two are image sessions and one is a text session.
The SPN model of each leading session in this scenario is depicted in Fig. 13. In scenario B, four leading sessions
Fig. 13 SPN model of each leading session in scenario B. Table 4 Definitions of places and transitions of Fig. 13.
Descriptions
p1 Number of packets queued in buffer
p2 Leading count
t0 Arrival of a packet
t1 Sacrificing a transmission of
packet for the lagging sessions
t2 Transmitting a packet
t3 Sacrificing a transmission of packet for the lagging
sessions while there is no packet queued in buffer
Fig. 14 Queue length of the text sessions.
Fig. 15 Packet loss of the text sessions.
are considered. Therefore, four SPN models are required. The complete legends of places and transitions in the four leading sessions are given in Table 4. The multiplicity in-hibitor arc from p1to t0defines the buffer capacity of a ses-sion.
We run the SPN of each leading session independently to solve the corresponding Markov chain with the mini-mum precision of 10−6, and analyze the transient results of the simulation. Each leading session is assumed to have 20 leading packets. The performance of queue length and packet loss (for m=12) for each leading session under dif-ferent packet arrival rates is shown from Figs. 14 to 17. The
Fig. 16 Queue length of the image sessions.
Fig. 17 Packet loss of the image sessions.
Fig. 18 Total amounts of compensation services per time unit versus var-ious values of k2.
total amount of sacrificed services per time unit of all lead-ing sessions with various values of k2is shown in Fig. 18.
The simulation results shown from Figs. 14 to 17 are similar to the results in the scenario A, but more obvi-ously the difference between high weighted sessions and low weighted sessions is. Figure 18 shows that the com-pensation services per time unit in PWSFQ increase when the value of k2becomes bigger.
5. Conclusions
In this paper, we have developed the WSFQ algorithm to im-prove the performance of queue length and queueing delay of the high weighted sessions exposed to high traffic den-sity. We also implement the packetized fair scheduling algo-rithm that approaches the WSFQ. The mathematical analy-sis shows the fairness property and within this property, the
high weighted sessions have better performance in WSFQ than in other PFQ algorithms. The simulation results show that the PWSFQ performs well on the high weighted ses-sions at low cost of queueing delay of other low weighted leading sessions. Moreover, WSFQ can easily adapt itself to various kinds of traffic load. Thus applying the WSFQ into the device-limited wireless networks is more suitable than applying the others.
References
[1] A. Demers, S. Keshav, and S. Shenker, “Analysis and simulation of a fair queueing algorithm,” J. Internetworking Research and Experi-ence, pp.3–26, Oct. 1990.
[2] A. Parekh and R. Gallager, “A generalized processor sharing ap-proach to flow control—The single node case,” ACM/IEEE Trans. Netw., vol.1, no.3, pp.344–357, June 1993.
[3] S. Lu, V. Bharghavan, and R. Srikant, “Fair scheduling in wireless packet networks,” IEEE/ACM Trans. Netw., vol.7, no.4, pp.473– 489, Aug. 1999.
[4] T.S. Eugene Ng, Ion Stoica, and Hui Zhang, “Packet fair queueing algorithms for wireless networks with location-dependent errors,” Proc. IEEE INFOCOM, 1998.
[5] M. Jeong, H. Morikawa, and T. Aoyama, “A fair scheduling algo-rithm for wireless packet networks,” IEICE Trans. Fundamentals, vol.E84-A, no.7, pp.1624–1635, July 2001.
[6] P. Goyal, H.M Vin, and H. Chen, “Start-time fair queueing: A scheduling algorithm for integrated services,” Proc. ACM-SIGCOMM’96, pp.157–168, Palo Alto, CA, Aug. 1996.
[7] P. Ramanathan and P. Agrawal, “Adapting packet fair queueing al-gorithms to wireless Networks,” Proc. ACM/IEEE Mob/Com’96, pp.1–9, 1996.
[8] K. Wang and Y.-L. Chin, “A fair scheduling algorithm with adaptive compensation in wireless networks,” Global Telecommunications Conference, GLOBECOM ’0, IEEE, vol.6, pp.25–29, Nov. 2001. [9] J.C.R. Bennett and H. Zhang, “WF2Q: Worst-case fair weighted fair
queueing,” IEEE INFOCOM’96, San Francisco, CA, 1996. [10] B. Bensaou, D.H.K. Tsang, and K.T. Chan, “Credit-based fair
queueing (CBFQ): A simple service-scheduling algorithm for packet-switched network,” IEEE/ACM Trans. Netw., vol.9, no.5, pp.591–604, Oct. 2001.
[11] P. Lin, B. Bensaou, Q.L. Ding, and K.C. Chua, “A wireless fair scheduling algorithm for error-prone wireless channels,” Proc. 3rd ACM International Workshop on Wireless Mobile Multimedia, Aug. 2000.
[12] T. Nandagopal, S. Lu, and V. Bharghavan, “A unified architecture for the design and evaluation of wireless fair queueing algorithms,” Wirel. Netw., vol.8, no.2/3, pp.231–247, March 2002.
Appendix A: Proof of Theorem 1
[Proof ] If i∈ C(t), j ∈ N(t), the time-varying weight vi(t)= ri, and vj(t) = rj(1− Φj). By applying the time-varying
weight into (5),
Wi(t0, t) = ri· (V(t) − V(t0))
Wj(t0, t) = rj· (1 − Φj)(V(t)− V(t0)) , (A· 1)
Normalizing Wiand Wjby the life-time weight riand rj, we
have Wi(t0, t) ri = (V(t) − V(t0)) Wj(t0, t) rj = (1 − Φ j)(V(t)− V(t0)) , (A· 2)
Subtracting Wj(t0, t)/rjfrom Wi(t0, t)/rithen we have Wi(t0, t) ri − Wj(t0, t) rj = Φ j· (V(t) − V(t0)) = Φ + m∈N(t) rm/(n − rj) · ∆ · (V(t) − V(t0))
≤ Φmax· (V(t) − V(t0))≤ Φmax· (V(t1)− V(t0)). (A· 3)
Considering the case of i ∈ N(t), j ∈ C(t), we get (7). If
i, j ∈ N(t) , the (A·3) is modified as follows:
Wi(t0, t) ri − Wj(t0, t) rj = |Φ j− Φi| · (V(t) − V(t0)) ≤ |ri− rj| · ∆ · (V(t1)− V(t0)). (A· 4)
If i, j∈ C(t), there is no difference between Wj(t0, t)/rjand Wi(t0, t)/ri, therefore we get (9).
Appendix B: Proof of Theorem 2
[Proof ] Each session is considered to be a single server with individual arrival rate and service rate. All sessions connect to a main server (Fig. A· 1). The arrival rate of the main server is equal to the summation of all sessions’ service rates, and the service rate of the main server is equal to the system capacity. The total arrival rates and system capacity are limited to satisfy
i
λi= λtotal≤ A, (A· 5)
in which A is the system capacity (total service rate). In an error-free system, neither compensation nor sac-rificing takes place. Thus the service rate of each session depends on its own weight. That is, if the system capacity is presented as A, the service rate of session i is equal to
A· ri/ jrj. However, in an error-prone system, the lagging
session k is compensated by increasing its service rate to be more than A· rk/ jrj when it becomes servable, and the
non-lagging session l is sacrificed by decreasing its service rate to be less than A· rl/ jrj. Assume that the service rate
of the non-lagging session l is (A·rl/ jrj)−αl. The value of
αlis determined according to the PFQ algorithm employed.
In IWFQ and CIF-Q, due to the bound of leading services of each session, the value of αl of non-lagging session l is
proportional to its weight. Thus αlis presented as follows in
the CIF-Q or in the IWFQ.
αl= rl· αl αl < A/ i ri . (A· 6)
In the WSFQ, the denotation of αl is different from (A·6)
and is expressed as follows.
αl= rl· (αl+ βl), (A· 7)
where βlis expressed as follows:
βl= i∈N(t) ri/(n − rl) · ∆. (A· 8)
If a non-lagging session whose weight is higher than the av-erage weight of all non-lagging sessions (rl > j∈N(t)rj/n),
the value of βl is negative. By comparing rl · αl with rl· (αl + βl), we find that rl· (αl+ βl) < rl· αl. Thus the
following relationship is derived.
A·rl/ i ri−rl·(αl+βl) > A·rl/ i ri−rl· αl. (A· 9)
Let µwl be the service rate of session l in WSFQ and µcl be the service rate of session l in CIF-Q, we have
µw
l > µ c
l. (A· 10)
Considering the session l as a single server with M/D/1 queueing model, its arrival rate is λl. Let ρwl and ρ
c l be the traffic intensity in WSFQ and in CIF-Q such that ρwl = λl/µwl
and ρc
l = λl/µcl. By applying (A·10), we have
ρw
l < ρ c
l. (A· 11)
Notice that the expected value of queue length for M/D/1 queue is given by
E[N]= ρ + ρ
2
2(1− ρ). (A· 12)
Therefore, let Ewl[N] be the expected queue length of ses-sion l in WSFQ and Ec
l[N] be the expected queue length of
session l in CIF-Q. Then Ewl[N] and Ec
l[N] satisfy: E w l[N]= ρ w l + ρw2 l 2(1−ρw l) Ec l[N]= ρ c l + ρc2 l 2(1−ρc l) . (A· 13)
By applying (A· 11) into (A· 13), we have
Elw[N] < E c
l[N]. (A· 14)
Thus queue length of session l (high weighted session) in WSFQ is shorter than that in CIF-Q. According to Little’s
Formulas, if the mean of the queue length in WSFQ is
smaller than that in CIF-Q, the mean of the queueing delay in WSFQ is also smaller than which in CIF-Q.
Appendix C: Proof of Theorem 3
[Proof ] The derivative of E[N] is presented as E[N], which represents the growth-gradient of the queue length in a
queue and is derived as follows.
E[N]=dE[N]
dρ = 1 +
ρ
2(2− ρ)(1 − ρ)
−2. (A· 15)
Let Elw[N] and Elc[N] be the growth-gradient of the queue length in the session l by applying WSFQ and CIF-Q respec-tively. In order to get the relationship between Elw[N] and
Ec
l [N], we denote with the derivative of E[N] with E[N]
as follows.
E[N]=dE [N]
dρ =(1−ρ)
−1+(2ρ−ρ2)(1−ρ)−3. (A· 16) Since the value of ρ is less than 1(0 < ρ ≤ 1), the value of
E[N] is always positive. It implies that E[N] is an incre-mental function. Since E[N] is an incremental function and ρw
l < ρ c
l, we find the relationship that E
w
l [N] < E c l [N] by
substituting (A· 11) to (A· 16).Which means WSFQ grows gently in queue length by comparing that in CIF-Q while the arrival rate of the high weighted sessions are increased.
Sheng-Tzong Cheng received the B.S. (1985) and M.S. (1987) in Electrical Engineer-ing form the National Taiwan University, Taipei, Taiwan. He received the M.S. (1993) and Ph.D. (1995) in Computer Science from the Univer-sity of Maryland, College Park, Md. He was an Assistant Professor of Computer Science and Information Engineering at National Dong Hwa University, Hualien, Taiwan, in 1995, and be-came an Associate Professor in 1996. He is cur-rently a Professor in the Department of Com-puter Science and Information Engineering, National Cheng Kung Univer-sity, Tainan, Taiwan. His research interests are in design and performance analysis of mobile computing, wireless communications, multimedia, and real-time systems.
Ming-Hung Tao received the B.S. degree from National Cheng Kung University in 2001. He is working toward the Ph.D. degree in the Department of Computer Science and Informa-tion Engineering at the NaInforma-tional Cheng Kung University. His current research is focus on the QoS issues of wireless networks and quantum information theory.