• 沒有找到結果。

A fair scheduling algorithm with traffic classification for wireless networks

N/A
N/A
Protected

Academic year: 2021

Share "A fair scheduling algorithm with traffic classification for wireless networks"

Copied!
15
0
0

加載中.... (立即查看全文)

全文

(1)

A fair scheduling algorithm with traffic classification

for wireless networks

You-Chiun Wang, Shiang-Rung Ye, Yu-Chee Tseng*

Department of Computer Science and Information Engineering, National Chiao Tung University, Hsin-Chu, 30050 Taiwan, ROC Received 21 July 2004; accepted 21 July 2004

Available online 11 September 2004

Abstract

Wireless channels are characterized by more serious bursty and location-dependent errors. Many packet scheduling algorithms have been proposed for wireless networks to guarantee fairness and delay bounds. However, most existing schemes do not consider the difference of traffic natures among packet flows. This will cause the delay-weight coupling problem. In particular, serious queuing delays may be incurred for real-time flows. To resolve this problem, we propose a traffic-dependent wireless fair queuing (TD-FQ) algorithm that takes traffic types of flows into consideration when scheduling packets. The proposed TD-FQ algorithm not only alleviates queuing delay of real-time flows, but also guarantees bounded delays and fairness for all flows.

q2004 Elsevier B.V. All rights reserved.

Keywords: Data communication; Fair queuing; Mobile communication system; Scheduling; Wireless network

1. Introduction

To meet QoS requirements, many packet scheduling algorithms[1–6]have been proposed for wireline networks to guarantee fairness and delay bounds. However, it is not a trivial task to directly apply these algorithms to wireless domain. In particular, wireless channels are characterized by more serious bursty and location-dependent errors[7,8]. Bursty errors may break a flow’s continuous services, while location-dependent errors are likely to allow error-free flows to receive more services than they deserve, thus violating the fairness and delay bound properties.

To solve these problems, several wireless packet scheduling algorithms have been proposed [9–14]. In idealized wireless fair queuing (IWFQ)[9], each packet is associated with a finish tag, which is computed according to the principles of weight fair queuing (WFQ) [2]. The scheduler always selects the error-free packet with

the smallest finish tag to serve. When a flow suffers from channel errors, all its packets will keep their old tags. Therefore, when the flow exits from errors, its packets are likely to have smaller finish tags, thus achieving the compensation purpose. In channel-condition independent fair queuing (CIF-Q) [10], fairness is achieved by transferring the time allocated to those error flows to those error-free flows. Later on, compensation services (CS) will be dispatched to the former proportional to their weights. However, as Ref.[13]shows, an inherent limitation of fluid fair queuing is that the delay observed by a flow is tightly coupled with the fraction of bandwidth given to that flow among all backlogged flows. Since the fraction is in turn coupled with the weight assigned to the flow, we call this the delay-weight coupling problem. Both IWFQ and CIF-Q may suffer from this problem.

In this work, we consider the fair scheduling problem in a wireless network whose input includes both real-time and non-real-time traffics. This problem is especially important with the recently emerging multi-media services (MMS) in next-generation wireless networks. Real-time applications are typically delay-sensitive. If wireless fair scheduling is 0140-3664/$ - see front matter q 2004 Elsevier B.V. All rights reserved.

doi:10.1016/j.comcom.2004.07.025

www.elsevier.com/locate/comcom

* Corresponding author. Tel.: C886 3 513 1366; fax: C886 3 572 4176. E-mail address: [email protected] (Y.-C. Tseng).

(2)

supported without special consideration for real-time flows, the delay-weight dilemma would either hurt real-time flows or the system performance. Several wireless scheduling algorithms have been proposed to address this concern

[11–14]. However, they still suffer from certain weaknesses (Ref. to Section 2).

In this work, we propose a new algorithm called Traffic-Dependent wireless Fair Queuing (TD-FQ). Traffics arriving at a base station (BS) are mixed with real-time and non-real-time flows. TD-FQ is developed based on CIF-Q

[10], but it adds extra mechanisms to reduce queuing delays of real-time flows by giving them higher priorities. Nevertheless, TD-FQ guarantees that the special treatment of real-time flows will not starve non-real-time flows. Thus, it still maintains fairness and bounded delays for all flows. The rest of this paper is organized as follows. Related work is discussed in Section 2. Section 3 presents our TD-FQ algorithm. Section 4 formally proves several properties of TD-FQ. Simulation results are presented in Section 5. Conclusions are drawn in Section 6.

2. Related work

In server based fairness approach (SBFA)[11], a fraction of bandwidth is reserved particularly for compensation purpose. A number of virtual servers called long-term fairness servers (LTFS) are created for those flows that experienced errors. Then the reserved bandwidth will be used to compensate those LTFS flows. However, since the erroneous flows are compensated in a first-come-first-served manner, real-time lagging flows may still suffer from long queuing delay.

Effort-limited fair (ELF) [12] suggests to adjust each flow’s weight in response to the error rate of that flow, up to a maximum defined by that flow’s power factor. However, since the scheduler does not have immediate knowledge about the error rates of a flow, there could be some delay in adjusting its weight to respond to its channel and queue condition. Besides, when a real-time flow just exits from errors, it is emergent to deliver packets for the flow, or these packets may be dropped. Unfortunately, adjusting weights cannot guarantee higher priorities for such flows.

Wireless fair service (WFS)[13]assigns each flow i with a rate weight riand a delay weight Fi, and associates every packet pki with a start tag SðpkiÞ and a finish tag Fðpk

iÞ; SðpkiÞ Z maxfVðAðp k iÞÞ; Sðp kK1 i Þ C L kK1 i =rig; FðpkiÞ Z Sðp k iÞ C L k i=Fi;

where Lki is the length of the kth packet of flow i, AðpkiÞ is the

arrival time of the packet, and V(t) is the virtual time at time t. Essentially, flow i is drained into the scheduler according to the rate weight ri, but served according to the delay weight Fi. The flow with the smallest finish tag will be picked by the scheduler. By introducing the delay weight, WFS decouples delay and bandwidth to a certain degree. However, since the computation of start tags is still based on rate weights, real-time flows may not get much benefit. Besides, WFS adopts a compensation mechanism based on a weighted round robin approach, where the lagging degree of a flow is used as its weight. Without distinguishing real-time and non-real-time flows, this algorithm may still cause serious queuing delays for real-time flows.

Lee et al. [14] classify flows into four groups: poor, poorer, rich, and normal. A flow is said poor if it receives less service than it expects. When a poor flow transmitting real-time traffic is about to drop packets due to long waiting real-time, this flow is changed to a poorer flow. When there are CSs available, the poorer flows always have the highest priority to receive such services. However, this behavior may cause other poor flows to starve if there are many poorer flows.

3. The TD-FQ algorithm

Below, we first introduce the system model and basic operations of TD-FQ, followed by some special designs of TD-FQ, including graceful degradation, compensation, and lag redistribution.

3.1. System model

We consider a packet-cellular network as in Fig. 1. Packets arriving at a BS are classified into real-time traffic

(3)

and non-real-time traffic and dispatched into different queues depending on their destination mobile stations. These traffic flows are sent to the TD-FQ scheduler, which is responsible for scheduling flows and transmitting their head-of-line (HOL) packets via the MAC protocol. The Channel state monitor provides information about the channel state of each mobile station (there are different alternatives to achieve this, but this is out of the scope of this work). For simplicity, we assume that BS has immediate and accurate knowledge of each channel’s state.

In this paper, we focus on the design of TD-FQ scheduler. Mobile stations may suffer from bursty and location-dependent channel errors. However, error periods are assumed to be sporadic and short relative to the whole lifetime of flows so that long-term unfairness would not happen.

3.2. Basic operations

Following most fair queuing works, each flow i is assigned a weight ri to represent the ideal fraction of bandwidth that the system commits to it. However, the real services received by flow i may not match exactly its assigned weight. So we maintain a virtual time vito record the nominal services received by it, and a lagging level lagi

to record its credits/debits. The former is to compete with other flows for services, while the latter is to arrange CSs. The actual normalized service received by flow i is viKlagi/ri. Flow i is called leading if lagi!0, called lagging if lagiO0, and called satisfied if lagiZ0. Further, depending on its queue content, a flow is called backlogged if its queue is nonempty, called unbacklogged if its queue is empty, and called active if it is backlogged or unbacklogged but leading. Note that TD-FQ will only choose active flows to serve. When an unbacklogged but leading flow (i.e. an active flow) is chosen, its service will actually be transferred to another flow for compensation purpose. Also, following the principle of CIF-Q, whenever a flow i transits from unbacklogged to backlogged, its virtual time vi is set to max{vi, minj2A{vj}}, where A is the set of all active flows.

Fig. 2outlines the scheduling policy of TD-FQ. TD-FQ follows the design principle of CIF-Q. First, the active flow i with the smallest virtual time vi is selected. If flow i is backlogged and its channel condition is good, the HOL packet of flow i can be served if flow i is non-leading, in which case the service is called a normal service (NS). Then we update the virtual time vi as (viClp/ri), where lpis the length of the packet. In case that flow i has to give up its service due to an empty queue or a bad channel condition, the service will become an extra service (ES). On the other

(4)

hand, if flow i is over-served (i.e. leading), the Graceful Degradation Scheme will be activated to check if flow i is still eligible for the service. If flow i has to give up its service, the service will be transferred to a CS. In both cases of CS and ES, the Compensation Scheme will be triggered, trying to select another flow j to serve. If the scheme fails to select any flow, this service is wasted, called a lost service (LS). If the scheme still selects flow i to serve, then we update vi and send its HOL packet. If a flow j (si) is selected, flow j’s packet will be sent and the values of vi, lagi, and lagjare updated as follows:

viZ viClp0=ri; (1)

lagiZ lagiClp0; (2)

lagjZ lagjKlp0; (3)

where p0is the packet being sent. Note that in this case we ‘charge’ to flow i by increasing its virtual time, but ‘credit’ (resp., debit) to lagi(resp., lagj) of flow i (resp., j).

Whenever the scheduler serves the HOL packet of any flow i, it has to check the queue size of flow i. If it finds that flow i’s queue is empty, it will invoke the Lag Redistribut-ing Scheme to adjust flow i’s lag, if necessary.

Below, we introduce the three schemes, Graceful Degradation Scheme, Compensation Scheme, and Lag Redistributing Scheme, in TD-FQ. Table 1 summarizes notations used in TD-FQ.

3.3. Graceful degradation scheme

When a leading flow i is selected for service, the Graceful Degradation Scheme will be triggered to check its

leading amount. Here we adopt the idea in CIF-Q to limit the amount of such services a leading flow may enjoy. The scheme in CIF-Q works as follows. A leading flow is allowed to receive an amount of additional service proportional to its NSs. Specifically, when a flow i transits from lagging/satisfied to leading, we set up a parameter siZavi, where a (0%a%1) is a system-defined constant. Later on, flow i’s virtual time will be increased each time when it is selected by the scheduler (note that ‘selected’ does not mean that it is actually ‘served’). Let v0ibe flow i’s current virtual time when it is selected. We will allow flow i to be served if si%av0i. If so, siis updated as siClp/ri, where lpis the length of the packet. Intuitively, flow i can enjoy approximately a(v0iKvi) services, and this is called ‘graceful degradation’.

TD-FQ adopts the above idea. Further, to distinguish real-time from non-real time flows, we substitute a by a parameter aR for real-time flows, and by aNfor non-real-time flows. We set aROaNto distinguish their priorities.

3.4. Compensation scheme

When the selected flow i has a bad channel or fails to satisfy the graceful degradation condition, the Compen-sation Scheme will be triggered (reflected by ES and CS in

Fig. 2). In this case, lagging flows should always have a higher priority over non-lagging flows to receive such additional services. Section 3.4.1 discusses how to choose a lagging flow. Section 3.4.2 deals with the case when all lagging flows are experiencing error.

3.4.1. Dispatching ES and CS to lagging flows

The Compensation Scheme first tries to dispatch ES/CS to lagging flows. We propose a class-based weight compensation (CWC) mechanism, as shown in Fig. 3. CWC first divides lagging flows into a real-time set LRand a non-real-time set LN. These sets are each further divided into a seriously lagging set and a moderately lagging set. Individual flows are at the bottom. The concept of weight is used to dispatch services to these sets.

To dispatch ES/CS to LRand LN, we assign weights WR and WN to them, respectively. (Normally, we would set WRRWN.) Also, a variable GR(resp., GN) is used to record the normalized ES/CS received by LR (resp., LN). When both LR and LN have error-free flows, the service will be given to LRif GR%GN, and to LNotherwise. When only one of LRand LNhas error-free flows, the service will be given to that one, independent of the values of GRand GN. When LRreceives the service, GRis updated as

GRZ min GRC lp WR ;B C GNWN WR   ; (4)

where lpis the length of the transmitted packet, and B is a predefined value to bound the difference between GR and GN. Similarly, when LN receives the service, GN is

Table 1

Summary of symbols used in TD-FQ Symbols Definition

vi Virtual time of flow i lagi The credits/debits of flow i

ri Weight of flow i

si Graceful degradation service index of flow i when lagi!0

aR, aN Graceful degradation ratios for real-time and non-real-time flows

d The threshold to distinguish seriously/moderately lagging flows

LR, LN, LSR, LMR,

LS N, LMN

Lagging flows (defined in CWC) WR, WN, WRS,

WM R, WNS, WNM

Weights of lagging flows LR, LN, LSR, L M R, L S N, and L M N, respectively GR, GN, GSR, GMR, G S N, G M N

Normalized amounts of ES/CS received by LR, LN, LSR,

LMR, L S N,

and LMN, respectively

B Bound of differences of services (used in CWC) cS

i; cMi Normalized amounts of ES/CS received by flow i when

lagi/riRd and 0!lagi/ri!d, respectively fi Normalized amount of ES received

(5)

updated as GNZ min GNC lp WN ;B C GRWR WN   : (5)

Note that to avoid the cases of GR[GNor GN[GR, which may cause LR or LNto starve when the other set recovers from error, we set up a bound jGRWRKGNWNj%B. This gives the second term in the right-hand side of Eqs. (4) and (5).

The flows in LR are further divided into a seriously lagging set LSRand a moderately lagging set LMR. We assign a

real-time lagging flow i to LSR if lagi/riRd, where d is a predefined value. Otherwise, flow i is assigned to LMR.

Similarly, the flows in LN are divided into a seriously lagging set LSN and a moderately lagging set LMN. Again,

services are dispatched to sets LSR, LMR LSNand LMN according

their weights WRS WRM WNS, and WNM, respectively. To favor

seriously lagging flows, we suggest that WS

RRWRM and

WS

NRWNM. Services are dispatched to these sets similar to

the earlier case (i.e. the service distribution to LRand LN). We use GSR GMR GSNand GMN to record the services received by these sets. Again a bound B is set to limit the differences between GSRand GMR and between GSNand G

M N.

At the bottom of CWC are four groups of individual flows of the same properties (traffic types and lagging degrees). Here the scheduler dispatches ES/CS proportional to flows’ weights. Specifically, for each flow i, we maintain two compensation virtual times cSi and cMi ; which keep track

of the normalized amount of ES/CS received by flow i when lagi/riRd and 0!lagi/ri!d, respectively. When the sche-duler chooses the seriously lagging set (LSRor LSN), it selects

the error-free flow i with the smallest cSi in the set to serve.

Similarly, when the scheduler chooses the moderately lagging set (LM

R or LMN), it selects the error-free flow i

with the smallest cMi in the set to serve. When a lagging

flow i receives such a service, its compensation virtual times are updated as

cSi Z cSiClp=ri; if lagi=riRd

cMi Z cMi Clp=ri; otherwise

: (

When a flow i newly enters one of the sets LSR, LMR, LSN, and

LMNor transits from one set to another, we have to assign its

cSi or cMi as follows. If flow i is seriously lagging

(i.e. lagi/riRd), we set cSi Z

maxfcSi; cSRming; if flow i is real–time

maxfcSi; cSNming; if flow i is non–real–time

: (

Otherwise, we set cMi Z

maxfcMi ; cMRming; if flow i is real–time

maxfcMi ; cMNming; if flow i is non–real–time

; (

where cSR

min(resp., cSNmin) is the minimum value of cSj such that

j 2LSR(resp., j 2L S N), and c MR min(resp., c MN

min) is the minimum

value of cMj such that j 2LMR (resp., j 2L M

N). One exception

is when the set LSR=LSN=LMR=LMN is empty, in which case cSRmin= cSNmin=cMRmin=cMNminis undefined. If so, we set cminSR=cSNmin=cMRmin=cMNminto the value of cSj=cMj of the ‘last flow’ j that left the set

LSR=LSN=LMR=LMN.

The main contribution of CWC is that it compensates more services for real-time flows and for seriously lagging flows, thus alleviating these flows’ queuing delays. Besides, CWC does not starve other lagging flows because these flows can still share a fraction of ES/CS.

3.4.2. Dispatching ES to non-lagging flows

If there is no lagging flow selected in the previous stage (due to errors), the service will be dispatched according to its original type. If the service comes from CS, it will be Fig. 3. Structure of the class-based weight compensation (CWC) scheme.

(6)

returned back to the originally selected flow. Otherwise, the (ES) service will be given to a non-lagging flow. Just like CIF-Q, TD-FQ also dispatches ES proportional to those non-lagging flows’ weights. That is, each flow i is assigned with an extra virtual time fito keep track of the normalized amount of ES received by flow i when it is non-lagging (lagi%0). Whenever a backlogged flow i becomes error-free and non-lagging, fiis set to

fiZ maxffi; minffjjflow j is error–free;

backlogged; and non – lagging; jsigg:

The scheduler selects the flow i with the smallest fi value among all error-free, backlogged, and non-lagging flows to serve. When flow i receives the service, fi is updated as (fiClp/ri). An exception occurs when there is no selectable non-lagging flow, in which case this time slot will simply be wasted.

3.5. Lag redistributing scheme

After a flow is served, if its queue state changes to unbacklogged and it is still lagging, we will distribute its credit to other flows that are in debet and reset its credit to zero. This is because the flow does not need the credit any more[15]. This is done by the Lag Redistribution Scheme. The scheme examines the flow i that is actually served in this round. After the service, if flow i’s queue becomes empty and lagiO0, we will give its credit to other flows in debet proportional to their weights, i.e. for each flow k such that lagk!0, we set

lagkZ lagkClagi! rk

P

lagm!0rm :

Then we reset lagiZ0. Our redistribution rule is slightly different from CIF-Q (where all flows, including lagging ones, will share the credit). We feel that it makes sense to give these credits to only those flows in need of services.

Table 2 summarizes the major differences between TD-FQ and CIF-Q.

4. Theoretical analyses

In this section, we analyze the fairness and delay properties of TD-FQ. Our proof relies on the following assumptions: (i) aRRaN, (ii) WRRWN, (iii) WRSRW

M R,

(iv) WNSRWNM, and (v) BR ^Lmax; where ^Lmax is the

maximum length of a packet. 4.1. Fairness properties

Lemmas 1–3 give bounds on the differences between virtual times (vi’s), extra virtual times (fi’s), and compensation virtual times (cSi’s and cMi ’s) of any two active flows.

Lemma 1. Let vi(t) be the virtual time of flow i at time t. For any two active flows i and j such that tR0, we have

K ^ Lmax rj %viðtÞ K vjðtÞ% ^ Lmax ri : (6)

Proof. This proof is by induction on t.

Basic step. When tZ0, all virtual times are 0, so Eq. (6) holds trivially.

Induction step. Suppose that at time t, Eq. (6) holds. Let tCDtbe the nearest time when any flow changes its virtual time. We want to prove Eq. (6) for time tCDt. Observe that a flow’s virtual time may be updated in two cases: (1) it is selected by the scheduler and the service does not become a LS, and (2) it becomes active.

In Case (1), let flow i be selected by the scheduler. Then its virtual time becomes

viðt C DtÞ Z viðtÞ C

lp

ri

;

where lpis the length of the packet being transmitted (not necessarily flow i’s). By TD-FQ, it follows that vi(t)%vj(t), for all j2A. Since viis increased, by induction hypothesis, we have K ^ Lmax rj %viðt C DtÞ K vjðtÞ Z viðt C DtÞ K vjðt C DtÞ:

Further, since vi(t)%vj(t), we have viðtCDtÞKvjðtCDtÞZ viðtÞC lp ri   KvjðtÞ% lp ri % ^ Lmax ri : So Eq. (6) holds at tCDt.

In Eq. (6), if flow j is selected by the scheduler, then viðtC DtÞK vjðtC DtÞ% ^Lmax=riholds trivially. Further,

viðtCDtÞKvjðtCDtÞ ZviðtÞK vjðtÞC lp rj   RKlp rj RKL^max rj :

So Eq. (6) still holds at tCDt.

Table 2

The major differences between TD-FQ and CIF-Q

Schemes TD-FQ CIF-Q

Graceful degra-dation scheme

Real-time leading flows can receive more additional services

Each leading flow receives the same ratio of additional services Compensation

scheme

Dispatch ES/CS to lagging flows by CWC, which treats real-time and non-real-time flows in different ways Dispatch ES/CS to lagging flows propositional to their weights Lag redistributing scheme

Distribute the lag of an unbacklogged lagging flow to all other leading flows

Distribute the lag of an unbacklogged lagging flow to all other flows

(7)

In Case (2), suppose that flow i becomes active at tCDt. By TD-FQ, vi(tCDt) is set to max{vi(t), mink2AK{i}{vk(tC Dt)}}. If vifðtC DtÞZ mink2AKfigfvkðtC DtÞg; then Eq. (6)

holds trivially. Otherwise, vi(tCDt)Zvi(t), which means that vi(t)Rmink2AK{vk(tCDt)}. So we have

viðt C DtÞ K vjðt C DtÞR mink2AKfigfvkðt C DtÞg Kvjðt C DtÞRK ^ Lmax rj :

Since the virtual time is non-decreasing, we have viðt C DtÞ K vjðt C DtÞ% viðtÞ K vjðtÞ%

^ Lmax

ri

:

So Eq. (6) holds at tCDt. When flow j (instead of i) becomes active, the proof is similar, so we can conclude the proof. , Because TD-FQ updates fi, cSi; and cMi similarly to that of

the vi, proofs of Lemmas 2 and 3 are similar to that of Lemma 1. So we omit the proofs.

Lemma 2. Let fi(t) be the extra virtual time of flow i at time t. For any two active flows i and j such that tR0, we have

K ^ Lmax rj %fiðtÞ K fjðtÞ% ^ Lmax ri :

Lemma 3. Let cSiðtÞ and cMi ðtÞ be the compensation virtual

times of flow i at time t. For any two active flows i and j which have the same traffic type (real-time or non-real-time) such that tR0, we have

K ^ Lmax rj %cSiðtÞKcSjðtÞ% ^ Lmax ri

if both flows are seriously lagging K ^ Lmax rj %cMi ðtÞKcMjðtÞ% ^ Lmax ri

if both flows are moderately lagging : 8 > > > < > > > :

Lemma 4 gives bounds on the difference between the normalized services received by a leading flow i (i.e. si) and the maximum amount that it can receive (i.e. aivi). Lemma 4. Let si(t) be the value of siat time t. For any flow i that is error-free, backlogged, and leading during the time interval t2[t1, t2), we have ða K 1ÞL^max ri %aviðtÞ K siðtÞ% a ^ Lmax ri ; (7)

where aZaR if flow i is a real-time flow, and aZaN otherwise.

Proof. The proof is by induction on time t2[t1, t2). Basic step. When tZt1, flow i just becomes leading, and the Graceful Degradation Scheme will set si(t)Zavi(t), so the lemma is trivially true.

Induction step. Suppose that at time t, the lemma holds. Observe that viand/or sichange only when flow i is selected. So we consider two cases: (1) flow i is actually served,

and (2) another flow jsi is served. Let tCDt%t2be the nearest time that viand/or siare updated. We want to prove that the lemma still holds at tCDt.

According to TD-FQ, Case (1) occurs only when si(t)%avi(t), so we have aviðt C DtÞ K siðt C DtÞ Z a viðtÞ C lp ri   K siðtÞ C lp ri   Z ða K 1Þ lp ri CaviðtÞ K siðtÞR ða K 1Þ ^ Lmax ri ;

where lp represents the length of the packet being transmitted.

Case (2) implies si(t)Oavi(t). Also, viis updated but siis not. So we have aviðtCDtÞKsiðtCDtÞZa viðtÞC lp ri   KsiðtÞ!a lp ri %a ^ Lmax ri : ,

Theorems 1–3 show the fairness property guaranteed by TD-FQ. Theorem 1 is for flows of the same traffic type, while Theorem 2 is for flows of different types. Theorem 3 provides some bounds on differences of services received by LR, LN, LSR, LMR, LSNand LMN.

Theorem 1. For any two active flows i and j of the same traffic type, the difference between the normalized services received by flows i and j in any time interval [t1, t2) during which both flows are continuously backlogged, error-free, and remain in the same state (leading, seriously lagging, moderately lagging, or satisfied) satisfies the inequality:

Fiðt1;t2Þ ri K Fjðt1;t2Þ rj %3 ^ Lmax ri C ^ Lmax rj   ;

where Fi(t1, t2) represents the services received by flow i during [t1, t2), 3Z3 if both flows belong to the same lagging set (LS

R, LMR, LSN, or LMN) or both flows are satisfied, 3Z3CaR if both flows are real-time leading flows, and 3Z3CaN if both flows are non-real-time leading flows.

Proof. We consider the four cases: flows i and j are both (1) seriously lagging, (2) moderately lagging, (3) satisfied, and (4) leading and backlogged during the entire time interval [t1, t2).

Case (1): In this case, any flow i that is seriously lagging can receive services each time when it is selected (by vi), or when it receives ES/CS from another flow (by cSi). Since vi and cSi are updated before a packet is transmitted, the

services received by flow i may deviate from what really reflects by its virtual times by one packet, so

viðt2Þ K viðt1Þ C c S iðt2Þ K c S iðt1Þ K ^ Lmax ri %Fiðt1; t2Þ ri %viðt2Þ K viðt1Þ C c S iðt2Þ K c S iðt1Þ C ^ Lmax ri : (8)

(8)

Applying Eq. (8) to flows i and j, we have viðt2Þ K viðt1Þ C c S iðt2Þ K c S iðt1Þ K ^ Lmax ri K vjðt2Þ K vjðt1Þ C c S jðt2Þ K c S jðt1Þ C ^ Lmax rj   %Fiðt1; t2Þ ri K Fjðt1; t2Þ rj %viðt2Þ K viðt1Þ C c S iðt2Þ K cSiðt1Þ C ^ Lmax ri K vjðt2Þ K vjðt1Þ C c S jðt2Þ K c S jðt1Þ K ^ Lmax rj   :

By Lemmas 1 and 3, the leftmost term can be reduced to viðt2Þ K vjðt2Þ K ðviðt1Þ K vjðt1ÞÞ C c S iðt2Þ K c S jðt2Þ K ðc S iðt1Þ KcSjðt1ÞÞ K ^ Lmax ri C ^ Lmax rj   RK3 ^ Lmax ri C ^ Lmax rj   : Similarly, the right-most term would be less than or equal to 3ð ^Lmax=riC ^Lmax=rjÞ; which leads to

Fiðt1; t2Þ ri K Fjðt1; t2Þ rj %3 ^ Lmax ri C ^ Lmax rj   :

Case (2): This case is similar to Case (1). So we can replace cSi

and cSj by cMi and cMj , respectively, and obtain an inequality

similar to Eq. (8). This will lead to a 3Z3 too.

Case (3): In this case, both flows can receive services each time when they are selected (by vi), or when they receive ES from another flow (by fi). So we have viðt2Þ K viðt1Þ C fiðt2Þ K fiðt1Þ K ^ Lmax ri %Fiðt1; t2Þ ri %viðt2Þ Kviðt1Þ C fiðt2Þ K fiðt1Þ C ^ Lmax ri :

Consequently, similar to Case (1), by Lemmas 1 and 2, we can obtain Fiðt1; t2Þ ri K Fjðt1; t2Þ rj %3 ^ Lmax ri C ^ Lmax rj   :

Case (4): An error-free, backlogged, and leading flow i can receive NS (by si) and ES from other flows (by fi). So the total services received by the flow i during [t1, t2) is bounded as

siðt2Þ K siðt1Þ C fiðt2Þ K fiðt1Þ K ^ Lmax ri %Fiðt1; t2Þ ri %siðt2Þ K siðt1Þ C fiðt2Þ K fiðt1Þ C ^ Lmax ri : (9)

Applying Lemma 4 twice to flows i and j and subtracting one by the other, we have

aðviðtÞ K vjðtÞÞ C a ^ Lmax rj K ^ Lmax ri   K ^ Lmax rj %siðtÞ K sjðtÞ %aðviðtÞ K vjðtÞÞ C a ^ Lmax rj K ^ Lmax ri   C ^ Lmax ri : By Lemma 1, we can rewrite the inequality as

Ka ^ Lmax ri K ^ Lmax rj %siðtÞ K sjðtÞ% a ^ Lmax rj C ^ Lmax ri : (10)

Applying Eq. (10) and Lemma 2 to Eq. (9), we have Fiðt1; t2Þ ri K Fjðt1; t2Þ rj %ð3 C aÞ ^ Lmax ri C ^ Lmax rj   ;

where aZaRif these flows are real-time, and aZaNif they are non-real-time. ,

Theorem 2. For any real-time flow i and non-real-time flow j, the difference between the normalized services received by flows i and j in any time interval [t1, t2) during which both flows are continuously backlogged, error-free, and remain leading satisfies the inequality: Fiðt1; t2Þ ri K Fjðt1; t2Þ rj %3 ^ Lmax ri C ^ Lmax rj   C2aN ^ Lmax rj : (11) Proof. Applying Lemma 4 to flows i and j and taking a subtract leads to aRviðtÞ K aR ^ Lmax ri K aNvjðtÞ K ðaNK1Þ ^ Lmax rj   %siðtÞ KsjðtÞ% aRviðtÞ K ðaRK1Þ ^ Lmax ri K aNvjðtÞ K aN ^ Lmax rj   Z T: ð12Þ

By Lemma 1 and the aRRaNprinciple, the left-hand side of Eq. (12) becomes aRviðtÞ K aNvjðtÞ C aN ^ Lmax rj KaR ^ Lmax ri K ^ Lmax rj RaNðviðtÞ K vjðtÞÞ C aN ^ Lmax rj KaR ^ Lmax ri K ^ Lmax rj RKaR ^ Lmax ri K ^ Lmax rj :

(9)

Consider the right-hand side of Eq. (12). There are two cases for the term aRvi(t)KaNvj(t). If aRvi(t)KaNvj(t)R0, we have viðtÞR aN=aRvjðtÞ. By Lemma 1, T % aNðvjðtÞ K viðtÞÞ C aN ^ Lmax rj KaR ^ Lmax ri C ^ Lmax ri %2aN ^ Lmax rj KaR ^ Lmax ri C ^ Lmax ri : If aRvi(t)KaNvj(t)!0, we have T % aN ^ Lmax rj KaR ^ Lmax ri C ^ Lmax ri : These two cases together imply

T % 2aN ^ Lmax rj KaR ^ Lmax ri C ^ Lmax ri : So we have KaRL^max ri K ^ Lmax rj %siðtÞKsjðtÞ%2aN ^ Lmax rj Cð1KaRÞ ^ Lmax ri : Similar to the proof of Theorem 1, the service received by any leading flow i during [t1, t2) satisfies Eq. (9). Subtracting Eq. (9) of flow i by Eq. (9) of flow j leads to siðt2ÞKsiðt1ÞCfiðt2ÞKfiðt1ÞK ^ Lmax ri K sjðt2ÞKsjðt1ÞCfjðt2ÞKfjðt1ÞC ^ Lmax rj   %Fiðt1;t2Þ ri K Fjðt1;t2Þ rj %siðt2ÞKsiðt1ÞCfiðt2ÞKfiðt1ÞC ^ Lmax ri K sjðt2ÞKsjðt1ÞCfjðt2ÞKfjðt1ÞK ^ Lmax rj   ; The leftmost term can be reduced to

siðt2ÞKsjðt2ÞKðsiðt1ÞKsjðt1ÞÞCfiðt2ÞKfjðt2ÞKðfiðt1Þ Kfjðt1ÞÞK ^ Lmax ri C ^ Lmax rj   RKaR ^ Lmax ri K ^ Lmax rj K2aN ^ Lmax rj CðaRK1Þ ^ Lmax ri K2 L^max ri C ^ Lmax rj   ZK3 ^ Lmax ri C ^ Lmax rj   K2aN ^ Lmax rj :

Similarly, the right-most term would be less than or equal to 3 L^max ri C ^ Lmax rj   C2aN ^ Lmax rj : Thus, Eq. (11) holds. ,

Lemma 5. Let GR(t), GN(t), GSRðtÞ, G M RðtÞ, G S NðtÞ and G M NðtÞ be the value of GR, GN, GSR, G M R, G S N, and G M N at time t,

respectively. For tR0, we have

K B WN %GRðtÞ K GNðtÞ% B WR K B WM R %GSRðtÞ K GMRðtÞ% B WS R K B WM N %GSNðtÞ K GMNðtÞ% B WS N 8 > > > > > > < > > > > > > :

Proof. This proof is by induction on time tR0.

Basic step. When tZ0, GR(t)ZGN(t)Z0, so the lemma is trivially true.

Induction step. Assume that the lemma holds at time t. GR(resp., GN) is updated only when LRor LNis non-empty. We consider two cases: (1) only one set is non-empty, and (2) two sets are non-empty. Let tCDt be the nearest time that GRor GNis updated. We want to prove the lemma to be true at time tCDt.

In Case (1), if LRis active, then ES/CS will be given to LR. In TD-FQ, we bound the total difference of ES/CS received by LRand LNat any time by jWRGRKWNGNj%B. So at time tCDt, WRGR(tCDt)KWNGN(tCDt)%B. Since WRRWN, we have WRGRðtCDtÞKWRGNðtCDtÞ%WRGRðtCDtÞ KWNGNðtCDtÞ%B0GRðtCDtÞKGNðtCDtÞ% B WR : On the other hand, if LNis active, we can similarly derive that

GRðtCDtÞKGNðtCDtÞRK

B WN:

So the first inequality in the lemma holds at tCDt. In Case (2), since both sets are non-empty, the scheduler gives ES/CS to LR if GR(t)%GN(t). Let lp represent the length of the packet being transmitted. We have

GRðt C DtÞ K GNðt C DtÞ Z GRðtÞ C lp WR   KGNðtÞ% lp WR %L^max WR % B WR :

Note that it is trivially true that KB=WN%GRðtC DtÞK

GNðtC DtÞ: Similarly, if GR(t)OGN(t), the service is given to LN, so we have GRðt C DtÞ K GNðt C DtÞ Z GRðtÞ K GNðtÞ C lp WN   OK lp WN RKL^max WN RK B WN :

(10)

Note that it is trivially true that GRðtC DtÞK GNðtC DtÞ%

B=WR: Therefore, the first inequality in this lemma still holds at tCDt. The other two inequalities in this lemma can be proved in a similar way. ,

Theorem 3. The difference between normalized ES/CS received by any two lagging sets in any time interval [t1, t2) during which both sets remain active satisfies the inequal-ities: ð1Þ for LRand LN: FRðt1;t2Þ WR K FNðt1;t2Þ WN % BC ^Lmax WR C BC ^Lmax WN ; ð2Þ for LS Rand LMR: FS Rðt1;t2Þ WS R K FM Rðt1;t2Þ WM R % BC ^Lmax WS R C BC ^Lmax WM R ; ð3Þ for LS Nand L M N: FSNðt1;t2Þ WS N K FMNðt1;t2Þ WM N %BC ^WLSmax N C BC ^Lmax WM N ; where FR(t1, t2), FN(t1, t2), FSRðt1;t2Þ, FMRðt1;t2Þ, FSNðt1;t2Þ,

and FMNðt1;t2Þ represents ES/CS received by LR, LN, LSR, LMR,

LSNand LNM during [t1, t2), respectively.

Proof. Since GRis updated before a packet is transmitted, it follows that the total ES/CS received by LRduring [t1, t2) is bounded by GRðt2ÞKGRðt1ÞK ^ Lmax WR %FRðt1;t2Þ WR %GRðt2ÞKGRðt1ÞC ^ Lmax WR : Similarly, for GN, we have

GNðt2ÞKGNðt1ÞK ^ Lmax WN %FNðt1;t2Þ WN %GNðt2ÞKGNðt1ÞC ^ Lmax WN : Therefore, we have GRðt2ÞKGRðt1ÞK ^ Lmax WR K GNðt2ÞKGNðt1ÞC ^ Lmax WN   %FRðt1;t2Þ WR K FNðt1;t2Þ WN %GRðt2ÞKGRðt1ÞC ^ Lmax WR K GNðt2ÞKGNðt1ÞK ^ Lmax WN   :

By Lemma 5, we can rewrite the inequality as

K BC ^Lmax WR C BC ^Lmax WN   %FRðt1;t2Þ WR K FNðt1;t2Þ WN %BC ^Lmax WR C BC ^Lmax WN 0 FRðt1;t2Þ WR K FNðt1;t2Þ WN %BC ^Lmax WR C BC ^Lmax WN :

This concludes the first inequality. The other two inequal-ities in this theorem can be proved similarly. ,

4.2. Delay bounds

When a backlogged flow suffers from errors, it becomes lagging. Theorem 4 shows that if a lagging flow becomes error-free and has sufficient service demand, it can get back all its lagging services within bounded time.

Theorem 4. If an active but lagging flow i becomes error-free at time t and remains backlogged continuously after time t, it is guaranteed that flow i will become non-lagging (i.e. lagi%0) within time Dt, where

Dt% 4ðJ C 2 ^LmaxÞ rminð1 K aRÞ ^C C n C 1 C 4 rmin  L^ max ^ C ;

n is the number of active flows, ^C is the channel capacity, 4 is the aggregate weight of all flows, 4R is the aggregate weight of all real-time flows, 4Nis the aggregate weight of all non-real-time flows, rminis the minimum weight of all flows, and JZðWRCWNÞðW S RCWRMÞ WRWRS lagiðtÞ ri 4RC 4R ri CnK2   ^ LmaxCB   C WRCWN WR d4RC 24R ri CnK1   ^ LmaxCB  

if flow i is real-time, and

JZðWRCWNÞðW S NCWNMÞ WNWNS lagiðtÞ ri 4NC 4N ri CnK2   ^ LmaxCB   C WRCWN WN d4NC 24N ri CnK1   ^ LmaxCB   if flow i is non-real-time.

Proof. Assume that flow i is a real-time flow. Consider the worst case: flow i has the maximum lag among all flows and lagi/riRd at time t. Since flow i becomes error-free after time t, lagi is decreased each time when it receives CS. Now let flow i becomes moderately lagging at time tM, and further become non-lagging at time tN, t!tM!tN, i.e. i 2LSRduring [t, tM) and i 2LMR during [tM, tN). Also, let FC(t, tN) be the total CS received by all lagging flows during [t, tN).

To prove Theorem 4, observe that Dtshould be an upper bound of tNKt. The largest value of tNoccurs when all flows in the system are error-free (i.e. no ES) and there is only one leading flow, say k, who provides CS such that flow k is a real-time flow and rkZrmin. Since flow k can still receive a fraction aRof its NS when it is leading and flow k uses skto keep track of the amount of such NS when it is leading, this leads to

FCðt;tNÞRrminðvkðtNÞKvkðtÞÞKrminðskðtNÞKskðtÞÞK ^Lmax:

(11)

By Lemma 1, for any active flow j during [t, tN), we have vjðtNÞKvjðtÞ%vkðtNÞKvkðtÞC ^ Lmax rj C ^ Lmax rmin :

This inequality helps to derive the total amount of services provided by the system during [t, tN):

^ CðtNKtÞ% X j2A rjðvjðtNÞKvjðtÞÞ ! C ^Lmax % X j2A rj vkðtNÞKvkðtÞC ^ Lmax rj C ^ Lmax rmin  ! C ^Lmax %ðvkðtNÞKvkðtÞÞ X j2A rjCn ^LmaxC ^ Lmax rmin X j2A rjC ^Lmax %ðvkðtNÞKvkðtÞÞ4C nC1C 4 rmin   ^ Lmax0vkðtNÞKvkðtÞ R1 4 Cðt^ NKtÞK nC1C 4 rmin   ^ Lmax   : ð14Þ

Applying Lemma 4 to flow k at times t and tN and taking a subtract, we obtain skðtNÞKskðtÞ%aRvkðtNÞKaRvkðtÞC ^ Lmax rmin : (15)

By combining Eqs. (14) and (15) into Eq. (13), we can obtain

FCðt;tNÞRrminðvkðtNÞKvkðtÞKðskðtNÞKskðtÞÞÞK ^Lmax

Rrmin vkðtNÞKvkðtÞKaRvkðtNÞCaRvkðtÞK

^ Lmax

rmin

 

K ^Lmax

Zrminð1KaRÞðvkðtNÞKvkðtÞÞK2 ^Lmax

Rrminð1KaRÞ 4 ^ CðtNKtÞK nC1C 4 rmin   ^ Lmax   K2 ^Lmax 0tNKt% 4ðFCðt;tNÞC2 ^LmaxÞ rminð1KaRÞ ^C C nC1C 4 rmin  L^ max ^ C : (16) It remains to derive an upper bound for FC(t, tN) in Eq. (16). Note that there are nK1 lagging flows who are allowed to share the FC(t, tN) services. The worst case happens when (1) exactly one of the nK1 flows remains in LN during [t, tN), (2) exactly nK3 flows remain in LSR

and 1 flow remains in LMR during [t, tM), and (3) no flow remains in LSR and exactly nK2 flows remain in LMR during

[tM, tN). Note that in this case LR can share at most a fraction WR=ðWRCWNÞ of FC(t, tN) during [t, tN), and LSR

can share at most a fraction WRS=ðWRSCWRMÞ of CS

received by LR during [t, tM).

Let FR(t, tN) and FN(t, tN) be CS received by LRand LN during [t, tN), respectively, FC(t, tN)ZFR(t, tN)CFN(t, tN).

According to the first inequality of Theorem 3, we have FNðt; tNÞ% WN FRðt; tNÞ WR C B C ^Lmax WR C B C ^Lmax WN   0FCðt; tNÞ% WRCWN WR ðFRðt; tNÞ C B C ^LmaxÞ: (17)

Next we derive the FR(t, tN) in Eq. (17). It can be divided into two terms,

FRðt; tNÞ Z FRðt; tMÞ C FRðtM; tNÞ: (18)

Let FSRðt; tMÞ and FMRðt; tMÞ be CS received by LSR and LMR

during [t, tM), respectively. Again, by Theorem 3, we have FRðt;tMÞZFSRðt;tMÞCFMRðt;tMÞ%FSRðt;tMÞ CWRM FSRðt;tMÞ WS R C BC ^Lmax WS R C BC ^Lmax WM R   ZW M RCWRS WS R ðFS Rðt;tMÞCBC ^LmaxÞ: (19)

We further expand the term FSRðt; tMÞ in Eq. (19) as follows:

FSRðt; tMÞ% X j2LS Rðt;tMÞ rjðc S jðtMÞ K c S jðtÞÞ % X j2LS Rðt;tMÞ rj cSiðtMÞ K cSiðtÞ C ^ Lmax ri C ^ Lmax rj   Z ðcSiðtMÞ K c S iðtÞÞ X j2LS Rðt;tMÞ rjC ^ Lmax ri X j2LS Rðt;tMÞ rj C X j2LS Rðt;tMÞ ^ Lmax!4Rðc S iðtMÞ K c S iðtÞÞ C 4R ri Cn K 3   ^ Lmax: ð20Þ

Note that the fourth term in Eq. (20) is obtained by applying Lemma 3 twice on flow i and any flow j 2LS

R cSjðtMÞ K c S jðtÞ% c S iðtMÞ K c S iðtÞ C ^ Lmax ri C ^ Lmax rj :

Since LSRis empty during [tM, tN), FRðtM; tNÞZ FMRðtM; tNÞ.

Similarly to the derivation of Eq. (20), we have FRðtM; tNÞ Z FMRðtM; tNÞ% X j2LM RðtM;tNÞ rjðcMj ðtNÞ K cMj ðtMÞÞ %4Rðc M i ðtNÞ K c M i ðtMÞÞ C 4R ri Cn K 2   ^ Lmax: (21) By Eqs. (19) and (20), we have

FRðt;tMÞ !W M R CW S R WS R 4Rðc S iðtMÞ Kc S iðtÞÞ C 4R ri Cn K2   ^ LmaxCB   : (22)

(12)

Furthermore, by combining Eqs. (21) and (22) into Eq. (18), we have FRðt;tNÞ %W M RCW S R WS R 4RðcS iðtMÞKc S iðtÞÞC 4R ri CnK2   ^ LmaxCB   C4Rðc M i ðtNÞKc M i ðtMÞÞC 4R ri CnK2   ^ Lmax Z4R WRSCWRM WRS ðc S iðtMÞKc S iðtÞÞCc M i ðtNÞKc M i ðtMÞ   C 2WRSCWRM WS R 4R ri CnK2   ^ LmaxC ðWS RCWRMÞB WS R : ð23Þ By combining Eqs. (17) and (23), we have

FCðt;tNÞ% WRCWN WRWRS ð4RððWRSCWRMÞðcSiðtMÞKcSiðtÞÞ CWRSðc M i ðtNÞKc M i ðtMÞÞÞ C ð2WRSCW M RÞ 4R ri CnK2   CWRS   ^ Lmax Cð2WRSCWRMÞBÞ: ð24Þ

Since flow i is still lagging after time tM, it means that 0!lagi(tM)!lagi(t). So cSiðtMÞKcSiðtÞZ jlagiðtMÞKlagiðtÞj ri ZlagiðtÞKlagiðtM Þ ri !lagiðtÞ ri : (25)

After time tN, flow i becomes non-lagging, so K ^Lmax!

lagiðtNÞ%0: Besides, 0!lagi(tM)!rid since flow i becomes moderately lagging after time tM, so we have

cMi ðtNÞKcMi ðtMÞZ jlagiðtNÞKlagiðtMÞj ri ZlagiðtMÞKlagiðtN Þ ri !dC ^ Lmax ri : (26)

By combining Eqs. (25) and (26) into Eq. (24), we have

FCðt;tNÞ !ðWRCWNÞðW S RCWRMÞ WRWRS lagiðtÞ ri 4RC 4R ri CnK2   ^ LmaxCB   C WRCWN WR d4RC 24R ri CnK1   ^ LmaxCB   : (27)

By combining Eqs. (16) and (27), the first part of this theorem is proved. When flow i is a non-real-time flow, the proof is similar and we omit the details. ,

5. Simulation results

In this section, we present some experimental results to verify the effectiveness of the proposed algorithm. The first one observes the packet dropping ratios and queuing delays of real-time flows in TD-FQ and CIF-Q, respectively. The second one compares the throughput of flows in these two algorithms. The last one gives a comparison on different compensation strategies for lagging flows.

5.1. Experiment 1: dropping ratios and delays for real-time flows

In this experiment, we mix real-time and non-real-time traffics together. We observe the packet dropping ratios and queuing delays of real-time flows in TD-FQ and CIF-Q, respectively. Eight flows are used, as shown inTable 3. The first six flows are real-time flows, which have two traffic models: constant-bit-rate (CBR) and ON–OFF model. The latter is to model voice communication. The average durations of ON and OFF states are set to 2.5 and 0.5 s, respectively. During ON period, packets are generated with fixed intervals. No packet is generated during OFF period. The last two flows are non-real-time FTP flows, and their traffics are modeled as greedy sources whose queues are never empty. As for error scenarios, we use two parameters Pgoodand Pbadto control the average time when the channel stays in error-free and error states, respectively. The total channel capacity is set to 5 MB/s. The total simulation time in this experiment is 100 s.

For CIF-Q, we set aZ0.5, while for TD-FQ we set aRZ0.8 and aNZ0.2, respectively. The weights assigned to lagging sets are WR:WNZ3:1, WRS: W

M

RZ 3 : 1, and

WNS : WNMZ 3 : 1. The packet dropping ratios and queuing delays of real-time flows are shown in Figs. 4 and 5, respectively, where the packet dropping ratio is defined as Number of packets dropped due to exceeding deadline

Number of packet generated ;

where the deadline of a packet is set to twice of the packet interarrival time. From Figs. 4 and 5, we can observe that the packet dropping ratios and queuing delays of real-time flows in TD-FQ are smaller than those in CIF-Q, especially Table 3

Traffic specification of the flows used in experiment 1

Flow Guaranteed

bandwidth

Packet size (kB)

Error scenario

Voice1 64 kB/s 2 No error occurs

Voice2 32 kB/s 1 PgoodZ6 s, PbadZ1.5 s Voice3 32 kB/s 1 PgoodZ5 s, PbadZ0.5 s

CBR1 512 kB/s 2 No error occurs

CBR2 256 kB/s 1 PgoodZ6 s, PbadZ1.5 s CBR3 256 kB/s 1 PgoodZ5 s, PbadZ0.5 s

FTP1 2 MB/s 4 No error occurs

(13)

when the flows are voice traffic. This is because TD-FQ not only lets real-time flows give up less services to compensate other lagging flows, but also gives more services to real-time lagging flows for compensation. From this observation, we conclude that TD-FQ can alleviate the packet dropping ratios and queuing delays of real-time flows as compared to CIF-Q.

5.2. Experiment 2: throughputs of flows

In this experiment, we observe the throughputs of flows in TD-FQ and CIF-Q. Four flows are used, as shown in

Table 4. The first two flows are real-time CBR flows, and the last two flows are non-real-time FTP flows. Suffering from channel errors during [0, 15) period, flows

CBR2 and FTP2 will become active but lagging after the 15th second. The other flows are all leading in this experiment. For CIF-Q, we set aZ0.5, while for TD-FQ we set aRZ0.8, aNZ0.2, WRZ3, and WNZ1. The channel capacity in this experiment is set to 2 MB/s.

Table 4

Traffic specification of the flows used in experiment 2 Flow Guaranteed

band-width (MB/s)

Packet size (kB)

Error scenario

CBR1 1.25 4 No error occurs

CBR2 1.25 4 Error occurs during [0,15) s

FTP1 2 8 No error occurs

FTP2 2 8 Error occurs during

[10,15) s Fig. 5. Average queuing delays of real-time flows.

(14)

Fig. 6 shows the throughput of flows after the 16th second. We see that real-time flows can receive more services in TD-FQ as compared to CIF-Q. This is because TD-FQ favors real-time flows over non-real-time flows. However, the cost, as shown in Fig. 6(b), is at lower throughputs for non-real-time flows.

5.3. Experiment 3: effect of compensation

We compare three compensation strategies for lagging flows: (1) TD-FQ, (2) CIF-Q (which dispatches services proportional to flows’ weights), and (3) Max-lag (which always selects the error-free flow with the maximum normalized lag to serve).

Six FTP flows are used. Table 5 shows the traffic specification of these flows. Each flows has unlimited data to transmit and each packet is of size 1 kB. The bandwidth of the BS is set to 1 MB/s. From Table 5, it is clear that flow 1 will become a leading flow after the 15th second. Flow 2 and 3 are treated as seriously lagging flows in TD-FQ, while other flows are treated moderately lagging. To let Fig. 6. Throughputs of (a) real-time flows CBR1 and CBR2 and (b) non-real-time flows FTP1 and FTP2.

Fig. 7. Received compensation services (CS) by (a) the seriously lagging flow 2, (b) seriously lagging flow 3, and (c) moderately lagging flows 4–6. Table 5

Traffic specification of the flows used in experiment 3 Flow no. Traffic type Guaranteed

bandwidth (MB/s) Error scenario 1 FTP 1 No error occurs 2 FTP 1 Error occurs during [0,15) s 3 FTP 1 Error occurs during [5,15) s 4–6 FTP 1 Error occurs during [10,15) s

(15)

lagging flows receive the maximum CSs, we set aZ0 for both CIF-Q and TD-FQ. In TD-FQ, we assign weights WS

NZ

2 and WNMZ 1.

Fig. 7(a) shows the total CSs that flow 2 receives after the 15th second. We see that flow 2 enjoys the most CSs in the Max-lag scheme. This remains true until flow 2’s lag lowers down to the lags of other lagging flows. On the contrary, CIF-Q gives the least CSs to flow 2 because it dispatches CSs proportional to flows’ weights. So flow 2 may suffer from more serious queuing delays during this period. TD-FQ performs in between what CIF-Q and Max-lag perform because it separates seriously lagging flows from moderately lagging flows. Note that after the 32th second, the behavior of flow 2 in TD-FQ is similar to that in CIF-Q. This is because after the 32th second, flows 4–6 have become non-lagging both in TD-FQ and CIF-Q (Ref. to

Fig. 7(c)), and flows 2 and 3 become moderately lagging in TD-FQ. So in this case, TD-FQ works similarly to CIF-Q.

Fig. 7(b) shows the behavior of flow 3, which is also seriously lagging but has less lag compared to flow 2. From

Fig. 7(b), we can observe that even flow 3 is seriously lagging, it is starved until the 20th second in the Max-lag scheme.Fig. 7(c) shows our observation for flows 4–6. The result does verify that CIF-Q favors moderately lagging flows over seriously lagging flows. Besides,Fig. 7(c) shows that moderately lagging flows will be starved for longer time when Max-lag is used.

From this experiment, we conclude that CIF-Q addresses the fairness issues purely based on weights to dispatch CSs. So it may incur higher queuing delays for seriously lagging flows. The Max-lag scheme can alleviate the queuing delays of seriously lagging flows, but it violates the fairness principle and may starve other lagging flows when compensating the former. The proposed TD-FQ not only provides fairness in dispatching CSs, but also alleviates the queuing delays of seriously lagging flows.

6. Conclusions

We have addressed the delay-weight coupling problem that exists in many existing fair-queuing schemes. A new algorithm, TD-FQ, is proposed to solve this problem. By taking traffic types of flows into consideration when scheduling packets, TD-FQ not only alleviates queuing delay of real-time flows, but also guarantees bounded delays and fairness for all flows. We have derived analytically the fairness properties and delay bounds of TD-FQ. Simulation results have also shown that TD-FQ incurs less packet dropping and queuing delay for real-time flows when compared to CIF-Q.

Acknowledgements

Y. C. Tseng’s research is co-sponsored by the NSC Program for Promoting Academic Excellence of Univer-sities, by Computer and Communications Research Labs., ITRI, Taiwan, by Intel Inc., by the Institute for Information Industry and MOEA, R.O.C, under the Handheld Device Embedded System Software Technology Development Project, and by Chung-Shan Institute of Science and Technology under contract number BC93B12P.

References

[1] A.K. Parekh, R.G. Gallager, A generalized processor sharing approach to flow control in integrated services networks: the single-node case, IEEE/ACM Transactions on Networking 1 (1993) 344–357.

[2] A. Demers, S. Keshav, S. Shenker, Analysis and simulation of a fair queueing algorithm, Journal of Internetworking Research and Experience 1 (1990) 3–26.

[3] P. Goyal, H.M. Vin, H. Chen, Start-time fair queueing: a scheduling algorithm for integrated services packet switching networks, Con-ference on Applications, Technologies, Architectures, and Protocols for Computer Communications 1996; 157–168.

[4] S.J. Golestani, A self-clocked fair queueing scheme for broadband applications, INFOCOM 1994; 12–16.

[5] J.C.R. Bennett, H. Zhang, WF2Q: worst-case fair weighted fair queueing, INFOCOM 1996; 120–128.

[6] J.C.R. Bennett, H. Zhang, Hierarchical packet fair queueing algorithms, Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications 1996; 143–156.

[7] V. Bharghavan, S. Lu, T. Nandagopal, Fair queuing in wireless networks: issues and approaches, IEEE Personal Communications 6 (1999) 44–53.

[8] Y. Cao, V.O.K. Li, Scheduling algorithms in broadband wireless networks, IEEE Proceedings of the IEEE 89 (2001) 76–87. [9] S. Lu, V. Bharghavan, R. Srikant, Fair scheduling in wireless

packet networks, IEEE/ACM Transactions on Networking 7 (1999) 473–489.

[10] T.S.E. Ng, I. Stoica, H. Zhang, Packet fair queueing algorithms for wireless networks with location-dependent errors, INFOCOM 3 (1998) 1103–1111.

[11] P. Ramanathan, P. Agrawal, Adapting packet fair queuing algorithms to wireless networks, ACM/IEEE International Conference on Mobile Computing and Networking 1998; 1–9.

[12] D.A. Eckhardt, P. Steenkiste, Effort-limited fair (ELF) scheduling for wireless networks, INFOCOM 3 (2000) 1097–1106.

[13] S. Lu, T. Nandagopal, V. Bharghavan, A wireless fair service algorithm for packet cellular networks, ACM/IEEE International Conference on Mobile Computing and Networking 1998; 10–20. [14] S. Lee, K. Kim, A. Ahmad, Channel error and handoff compensation

scheme for fair queuing algorithms in wireless networks, IEEE ICC 5 (2002) 3128–3132.

[15] Y. Yi, Y. Seok, T. Kwon, Y. Choi, J. Park, W2F2Q packet fair queuing in wireless packet networks, Proceedings of the Third ACM International Workshop on Wireless Mobile Multimedia 2000; 2–10.

數據

Fig. 1. System architecture of TD-FQ.
Fig. 2 outlines the scheduling policy of TD-FQ. TD-FQ follows the design principle of CIF-Q
Fig. 2 ). In this case, lagging flows should always have a higher priority over non-lagging flows to receive such additional services
Table 2 summarizes the major differences between TD-FQ and CIF-Q.
+3

參考文獻

相關文件

This is especially important if the play incorporates the use of (a) flashbacks to an earlier time in the history of the characters (not the main focus of the play, but perhaps the

Now, nearly all of the current flows through wire S since it has a much lower resistance than the light bulb. The light bulb does not glow because the current flowing through it

Currency risk is the risk that the fair value or future cash flows of a financial instrument will fluctuate due to changes in currency exchange rates. The Fund’s

Currency risk is the risk that the fair value or future cash flows of a financial instrument will fluctuate due to changes in currency exchange rates. The Fund’s

 Teacher extends the discussion of a series of cash flows to uneven cash flows and explains the calculations of future and present value of a series of uneven cash flows. PPT#56

(2007) gave a new algorithm which will only require less than 1GB memory at peak time f or constructing the BWT of human genome.. • This algorithm is implemented in BWT-SW (Lam e

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005..

• If we want analysis with amortized costs to show that in the worst cast the average cost per operation is small, the total amortized cost of a sequence of operations must be