http://sim.sagepub.com/
SIMULATION
http://sim.sagepub.com/content/81/8/587
The online version of this article can be found at:
DOI: 10.1177/0037549705060239
2005 81: 587
SIMULATION
Y.-C. Wang, Y.-C. Tseng and W.-T. Chen
MR-FQ: A Fair Scheduling Algorithm for Wireless Networks with Variable Transmission Rates
Published by:
http://www.sagepublications.com
On behalf of:
Society for Modeling and Simulation International (SCS)
can be found at:
SIMULATION
Additional services and information for
http://sim.sagepub.com/cgi/alerts Email Alerts: http://sim.sagepub.com/subscriptions Subscriptions: http://www.sagepub.com/journalsReprints.nav Reprints: http://www.sagepub.com/journalsPermissions.nav Permissions: http://sim.sagepub.com/content/81/8/587.refs.html Citations:
What is This?
- Nov 30, 2005
Version of Record
>>
Algorithm for Wireless Networks
with Variable Transmission Rates
You-Chiun WangYu-Chee Tseng
Department of Computer Science National Chiao-Tung University Hsin-Chu, 30010, Taiwan [email protected] Wen-Tsuen Chen
Department of Computer Science National Tsing-Hua University Hsin-Chu, 30043, Taiwan
Wireless networks are characterized by bursty and location-dependent errors. Although many fair scheduling algorithms have been proposed to address these issues, most of them assume a simple two-state channel model, where a channel can be either good or bad. In fact, the situation is not so pessimistic because different modulation techniques can be used to adapt to different channel conditions. Multirate transmission is a common technique for wireless networks nowadays. This leads to a dilemma: should fairness be built based on the amount of time that a user utilizes the medium or the amount of services that a user receives? In this work, the authors propose a multirate wire-less fair queueing (MR-FQ) algorithm that allows a flow to transmit at different rates according to its channel condition and lagging degree. MR-FQ takes both time and service fairness into account. They demonstrate that MR-FQ can guarantee fairness and bounded delays for packet flows by math-ematical modeling and analyses. Besides, simulation results show that MR-FQ can also increase the overall system throughput compared to other scheduling methods.
Keywords: Communication network, fair scheduling, multirate communication, quality of service (QoS), wireless network
1. Introduction
We have seen huge growth of wireless data services over the recent years. The increasing importance of real-time applications further demands provision of quality of ser-vice (QoS) and fair channel access among multiple packet flows over a shared, bandwidth-limited, error-prone wire-less channel. In wireline networks, many fair scheduling algorithms [1-6] have been proposed to bound delays of packet transmission. However, wireless channels are char-acterized by the following features that distinguish them-selves from wireline networks: (1) more serious bursty errors, (2) location-dependent errors, and (3) multirate communication capability. Bursty errors may break con-tinuous services of a flow, while location-dependent errors may allow error-free flows to receive more services than they deserve, thus violating the fairness and bounded-delay requirements. A wireless channel may provide
| | | |
SIMULATION, Vol. 81, Issue 8, August 2005 587-608
different transmission rates to different terminals depend-ing on channel qualities (e.g., IEEE 802.11a supports 16 rates, while 802.11b supports 4 rates1). Due to these
rea-sons, existing wireline solutions may not be suitable for the wireless networks [7-8].
Many fair scheduling algorithms have been proposed to address features (1) and (2) of wireless networks. In idealized wireless fair queueing (IWFQ) [9], each packet is associated with a finish tag computed by the principles of weight fair queueing (WFQ) [2], and the scheduler always serves the error-free packet with the smallest fin-ish tag. When a flow suffers from errors, all its packets keep their original tags. After the flow exits from errors, its packets are likely to have smaller finish tags. So the scheduler will serve this flow and thus compensates its lost services. In channel-condition independent fair queueing (CIF-Q) [10], fairness is achieved by transferring the ser-vices allocated to error flows to those error-free flows. Then compensation services are dispatched to the former
proportional to their weights. In server-based fairness ap-proach (SBFA) [11], a fraction of bandwidth is reserved particularly to compensate those error flows. A number of virtual servers, called long-term fairness servers (LTFS), are created for those flows that experienced errors. Later on, the reserved bandwidth is used to compensate these flows recorded in LTFS. Wireless fair service (WFS) [12] addresses the delay-weight coupling problem and allevi-ates the problem by assigning each flow with a rate weight and a delay weight. A flow is drained into the scheduler according to its rate weight but served according to its delay weight. In traffic-dependent wireless fair queueing (TD-FQ) [13], flows are separated into real-time flows and non-real-time flows. The scheduler gives higher priorities to real-time flows to reduce their queueing delays, while still maintaining fairness and bounded delays for all flows. Unfortunately, feature (3) of wireless networks has not been well addressed in the area of fair queueing. Most works assume that a wireless channel is either in a good (error-free) state or a bad (error) state. Transmissions in a good state will succeed but completely fail in a bad state. In fact, the situation is not so pessimistic because different modulation techniques can be used to adapt to different channel conditions. The PHY of IEEE 802.11a/b are well-known examples, which can provide multirate transmis-sion capabilities [14-15]. A simpler modulation (and thus a higher data rate) can be used when the signal-to-noise ratio (SNR) is sufficiently high, while a more complicated modulation (and thus a lower rate) can still be used under a bad channel [16]. Adopting multirate transmissions poses several challenges to fair queueing. First, there is a mis-match between the amount of service that a client receives and the amount of time that a server actually serves a client. To transmit the same amount of data, a client using a lower rate will take a longer time than one using a higher rate. So the concept of virtual time (such as finish tags) may need to be redefined. Second, when a flow that suffered from a bad channel exits from error, it may take a different amount of time for the system to compensate the flow, depending on its channel condition, thus making the design of com-pensation difficult. Third, the overall system performance may be degraded if there are too many low-rate flows.
In this work, we consider the fair scheduling problem in a wireless network with a TDMA medium access control (MAC) protocol and multirate communication capability. We propose a new algorithm called multirate wireless fair queueing (MR-FQ). MR-FQ can adjust a flow’s transmis-sion rate according to its channel condition and lagging degree. A flow is allowed to transmit at a lower rate to al-leviate its lags only if it is lagging up to a certain degree. More specifically, the more serious a flow is lagging, the lower rate the flow is allowed to use. Such differentiation can take care of both fairness and system performance. Lower rate flows thus will not prolong other flows’ delays. Besides, MR-FQ follows the idea in Wang, Ye, and Tseng [13] by separating real-time flows from non-real-time ones and compensates real-time lagging flows with higher
pri-orities than non-real-time lagging flows to reduce the for-mer flows’ delays. However, such a special treatment does not starve non-real-time flows. Thus, MR-FQ can satisfy the delay-sensitive property of real-time applications while still maintaining fairness and bounded delays for all flows. Several works have tried to differentiate flows’ error conditions by adjusting their weights, but they still do not address the multirate feature. Effort-limited fair (ELF) [17] suggests adjusting each flow’s weight in response to the er-ror rate of that flow, up to a maximum defined by that flow’s power factor. In channel state independent wireless fair queueing (CS-WFQ) [18], each flow i is associated with a fair shareφiand a time-varying factor fi(t ). The latter is used to adjust the former according to error rates. In channel-adaptive fair queueing (CAFQ) [19], the weight of each flow i is also adjusted by a factor M(Φi)a, where
M(Φi)reflects the channel states and 0 ≤ M(Φi) ≤ 1. Certain works [20-23] address the multirate issue, but the focus is on assigning codes or adjusting transmission pow-ers in code-division multiple access (CDMA) networks.
The remainder of this article is organized as follows. Section 2 presents our MR-FQ algorithm. In section 3, we demonstrate the properties of MR-FQ (such as fairness and bounded delays) by mathematical modeling and analyses. Section 4 presents some simulation results to verify the effectiveness and properties of MR-FQ. Conclusions are drawn in section 5.
2. The MR-FQ Algorithm 2.1 System Model
We consider a base station (BS) as in Figure 1. Packets ar-riving at the BS are classified into real-time traffic and non-real-time traffic and dispatched into different flow queues depending on their destination mobile stations. These traf-fic flows are sent to the MR-FQ packet scheduler, which is responsible for scheduling flows and transmitting the head-of-line (HOL) packet of the selected flow to the MAC and transmission (MT) module. The MT module can transmit at n rates ˆC1, ˆC2,· · · , and ˆCn, where ˆC1> ˆC2>· · · > ˆCn. It also measures the current channel condition to each mo-bile station and determines the most appropriate rate to communicate with the station (several works [16, 24-26] have addressed the rate selection problem, but this is out of the scope of this work). The information of the best rate is also reported to the scheduler for making a decision. For simplicity, we assume that the BS has immediate knowl-edge of the best rate for each station. Note that this also includes the worst case where the channel is too bad to be used, in which case we can regard the best rate to be zero.
2.2 Service Fairness vs. Time Fairness
With the emergence of multirate communication, the con-cept of fairness may be defined in two ways. One is service fairness, which means that the difference between services
Flow Queues Mobile Stations MAC and Transmission (MT) Module Real-time Flows Non-real-time Flows Wireless Link Base Station . . . . . . . . . . . . . . . . . . (Packet, Rate) Channel Condition MR-FQ Packet Scheduler
Figure 1. System architecture of multirate wireless fair queueing (MR-FQ)
received by any two flows should be bounded, and the other is time fairness, which means that the difference between the amounts of transmission time of any two flows should be bounded. Formally, let wibe the weight of flow i, and
Φs
i(t1, t2)andΦti(t1, t2)be the amount of services and the
amount of time that flow i receives/uses during the time interval[t1, t2), respectively. Then, for any two flows i and j, during any[t1, t2), Φsi(t1, t2) wi −Φ s j(t1, t2) wj ≤ σs (1)
holds if service fairness is desired, and
Φti(t1, t2) wi −Φ t j(t1, t2) wj ≤ σt (2)
holds if time fairness is desired, whereσsandσt are small, nonnegative numbers.
We observe that in a single-rate environment, equations (1) and (2) are equivalent. However, in a multirate envi-ronment, equations (1) and (2) may not be satisfied at the same time. If service fairness is desired, then flows us-ing lower rates will occupy more of the medium time. On the contrary, if time fairness is desired, then flows using higher rates will transmit more data. The concept is illus-trated in Figure 2. Furthermore, when the rates used by stations exhibit higher variation, the trade-off between ser-vice and time fairness is more significant (solid line in Fig. 2). When the variation is lower, the trade-off is less significant (dashed line in Fig. 2). When the variation is 0, this degenerates to the single-rate case (thick line in Fig. 2).
2.3 Scheduling Policy
Figure 2 leads to the following guidelines in the design of MR-FQ. First, the concept of virtual time is redefined based on the concept of time fairness. However, we differentiate flows according to their lagging degrees. A flow is allowed to use a lower transmission rate only if it is suffering from a higher lagging degree. In this way, we can take care of service fairness. So the system performance would not be hurt when there exist too many low-rate stations.
In MR-FQ, like traditional fair queueing works, each flow i is assigned a weight wito represent the ideal frac-tion of bandwidth that the system commits to it. For each flow i, we maintain a virtual time vi to record the nom-inal services received by it and a lagging index lagi to record its credits/debts. The former is used to compete with other flows for services, while the latter is used to arrange compensation services. The actual normalized service re-ceived by flow i is vi− lagi/wi. Flow i is called leading if
lagi<0, called lagging if lagi>0, and called satisfied if
lagi = 0. Furthermore, depending on its queue content, a flow is called backlogged if its queue is nonempty, called nonbacklogged if its queue is empty, and called active if it is backlogged or nonbacklogged but leading. Note that MR-FQ only selects active flows to serve. When a non-backlogged but leading flow (i.e., an active flow) is chosen, its service will actually be transferred to another flow for compensation purpose. Besides, whenever a flow i transits from nonbacklogged to backlogged, its virtual time vi is set to max{vi, minj∈A{vj}}, where A is the set of all active flows.
Figure 3 outlines the scheduling policy of MR-FQ. First, the active flow i with the smallest virtual time viis selected. If flow i is backlogged, the rate selection scheme is called to compute the best rate r to transmit for flow i. If the result is
r≤ 0, that means either flow i has a bad channel condition
or its current lagging degree does not allow it to transmit (refer to section 2.3.1 for details). Otherwise, if flow i is nonleading, the HOL packet of flow i will be served. Then we update the virtual time of flow i as follows:
vi= vi+ lp wi × ˆC1 r , (3)
where lpis the length of the packet. Note that the ratio ˆC1
r is to reflect the concept of time fairness. The amount of increase in viis inverse to the transmission rate r. So if a lower r is used, the less competitive flow i will be in the next round.
If flow i is overserved (i.e., leading), the graceful degra-dation scheme is activated to check if flow i is still eligible for the service (refer to section 2.3.2). In case that flow i
Time Fairness
Service Fairness Single-rate
(Flows with higher variation in transmission rates)
(Flows with lower variation in transmission rates) Multi-rate
Multi-rate
Figure 2. The trade-off between service fairness and time fairness
Is flow i backlogged? Yes Yes Yes No No j = NULL No j = i j i r> 0 lagi>_0 ? r< 0 Select the active flow i with the smallest virtual time vi
Compute a rate r for flow i by the Rate Selection Scheme
Skip this slot
Determine whether flow i can transmit by the Graceful Degradation Scheme
Send HOL packet of flow i and update vi
Send HOL packet of flow j and update vi, lagi, and lagj
Redistribute the lag of transmitting flow if it is lagging and non-backlogged Select another flow j to transmit
by the Compensation Scheme
Additional Services Start
has to give up its service due to an empty queue, a bad channel condition, or a rejection decision by the graceful degradation scheme, the service is transferred to the com-pensation scheme to select another flow j to serve (refer to section 2.3.3). If the scheme fails to select any flow, this service is just wasted. If the scheme still selects flow i to serve, then we send its HOL packet and update vi accord-ing to equation (3). If another flow j (= i) is selected, flow
j’s packet is sent, and the values of vi, lagi, and lagj are updated as follows:
vi = vi+ lp/wi, (4)
lagi = lagi+ lp, (5)
lagj = lagj− lp, (6)
where p is the packet being sent. Note that in this case, we “charge” to flow i by increasing its virtual time (i.e., equation (4)) but “credit” to lagiof flow i (i.e., equation (5)) and “debit” to lagj of flow j (i.e., equation (6)). Since flow i is not actually served, equation (4) is equivalent to equation (3) with r = ˆC1.
Whenever the scheduler serves any flow i, it has to check the queue size of flow i. If flow i’s queue state changes to nonbacklogged and it is still lagging, we distribute its credit to other flows that are in debt and reset its credit to zero. This is because the flow does not need the credit any more [27]. We give flow i’s credit to other flows in debt proportional to their weights; that is, for each flow k such that lagk<0, we set
lagk = lagk+ lagi×
rk
lagm<0rm
.
Then we reset lagi= 0.
Below, we introduce the three schemes: the rate se-lection scheme, the graceful degradation scheme, and the compensation scheme. Table 1 summarizes symbols used in MR-FQ.
2.3.1 Rate Selection Scheme
When a backlogged flow i is selected, the rate selection scheme is invoked to choose a suitable transmission rate for flow i according to its lagging degree and channel con-dition. The basic idea is to permit different ranges of trans-mission rates according to flow i’s normalized lag,lagi
wi . To help a seriously lagging flow to alleviate its huge lag, we allow it to use a larger range of rates. Specifically, we set up n−1 levels of lagging thresholds δ1,δ2,· · · , δn−1. A flow with a normalized lag exceedingδiis allowed to use a rate as low as ˆCi+1, i ≤ n − 1. Figure 4 shows the mapping of
lagging degrees to allowable transmission rates. If flow i’s current best rate falls within the allowable range, the rate is returned. Otherwise, a negative value is returned to indi-cate a failure. For example, if flow i satisfiesδ2<
lagi wi ≤ δ3 and its current best rate is ˆC2, then ˆC2 is returned. If the
current best rate is ˆC5, then a negative value is returned.
2.3.2 Graceful Degradation Scheme
When a leading flow i is selected for service, the grace-ful degradation scheme is triggered to check its leading amount. A leading flow is allowed to receive an amount of additional service proportional to its normal services. Specifically, when a flow i transits from lagging/satisfied to leading, we set up a parameter si = α · vi, where α (0 ≤ α ≤ 1) is a system-defined constant. Later on, flow
i’s virtual time is increased each time when it is selected by the scheduler (according to earlier discussion, “selected” does not mean that it is actually “served”). Let vibe flow
i’s current virtual time when it is selected. We allow flow
ito be served if si≤ αvi. If so, siis updated as si+ lp/ri, where lpis the length of the packet. Intuitively, flow i can enjoy approximatelyα(vi−vi)services when it is leading. Moreover, to distinguish real-time from non-real-time flows, we substitute the above α by a parameter αR for real-time flows and byαNfor non-real-time flows. We set
αR >αNto distinguish their priorities.
2.3.3 Compensation Scheme
When the selected flow i does not have a satisfactory channel condition or fails to pass the graceful degradation scheme, the compensation scheme is triggered (reflected by additional services in Fig. 3). Figure 5 shows how to dis-patch additional services. Flows are prioritized according to the following rules. First, lagging flows have a higher priority over nonlagging flows to receive such services. Second, flows that can use higher rates to transmit have a higher priority over flows that can use lower rates. Third, among lagging flows of the same best rate, real-time flows and non-real-time ones will share the services according to some ratio. Note that the third rule is not applied to leading flows because such flows suffer no lagging.
Next, we elaborate on the third rule. When dispatch-ing additional services to laggdispatch-ing flows (i.e., flows on the left-hand side in Fig. 5), we keep track of the services received by real-time ones and non-real-time ones. Let
LR = L1R∪ L
2
R∪ · · · ∪ L n
Rbe the set of real-time lagging flows and LN = L1
N∪ L
2
N∪ · · · ∪ L n
Nthe set of non-real-time lagging flows. To let real-non-real-time lagging flows receive more fraction of additional services without starving non-real-time lagging flows, we assign weights WR and WN (system parameters) to LRand LN, respectively, to control the fractions of additional services they already received, where WR > WN. A virtual time VR(respectively, VN) is used to record the normalized additional services received by LR (respectively, LN). Flows in Figure 5 are checked from left to right. When both Lk
R and L k
N are nonempty, 1 ≤ k ≤ n, the service is given to LR if VR ≤ VN and to
LNotherwise. When only one of LkRand L k
Nis nonempty, the service is given to that one, independent of the values of VR and VN. When a flow in LR receives the service, VR is updated as
Table 1. Summary of symbols used in multirate wireless fair queueing (MR-FQ)
Symbols Definition
ˆC1, ˆC2,· · ·, ˆCn All transmission rates
wi Weight of flowi
vi Virtual time of flowi
lagi Credits/debts of flowi
δ1,δ2,· · ·,δn−1 Thresholds to distinguish lagging degrees of flows
si Graceful degradation service index of flowiwhenlagi<0
αR,αN Graceful degradation ratios for real-time and non-real-time flows
LR,LN Real-time lagging flows and non-real-time lagging flows
WR,WN Weights ofLRandLN, respectively
VR,VN Normalized amounts of additional services received byLRandLN, respectively
B Bound of differences of services forLRandLN
ci Normalized amounts of additional services received by flowiwhenlagi>0
fi Normalized amount of additional services received by flowiwhenlagi≤ 0
Lagging degrees ˆC1 ˆC2 ˆC3 · · · ˆCn−2 ˆCn−1 ˆCn lagi wi ≤δ1 √ δ1< lagwii ≤δ2 √ √ δ2< lagwii ≤δ3 √ √ √ . . . ... δn−3< lagi wi ≤δn−2 √ √ √ · · · √ δn−2< lagi wi ≤δn−1 √ √ √ · · · √ √ δn−1≤ lagwii √ √ √ · · · √ √ √
Figure 4. The mapping of lagging degrees to allowable transmission rates (indicated by checkmarks) in the rate selection scheme
Lagging Flows
Additional Services
high priority low priorityC
1C
2C
n Non-lagging Flows . . . . . .C
1C
2 . . .C
n . . .high low Priority
R N R N R N R
N
Set of real-time lagging flows Set of non-real-time lagging flows
VR = min VR+ lp WR ,B+ VNWN WR , (7)
where lpis the length of the packet being transmitted, and
Bis a predefined value to bound the difference between VR and VN. Similarly, when a flow in LNreceives the service,
VNis updated as VN = min VN+ lp WN ,B+ VRWR WN . (8)
Note that to avoid VR VN (respectively, VN VR), which may cause flows in LR(respectively, LN) to starve, we set up a bound|VRWR− VNWN| ≤ B. This is reflected by the second term in the right-hand side of equations (7) and (8).
When the scheduler selects either Lk Ror L
k
N, it distributes additional services proportional to the weights of flows in that set. Specifically, for each flow i, we maintain a compensation virtual time cito keep track of the normal-ized amount of additional services received by flow i. The scheduler selects the flow i with the smallest ci to serve and then updates cias
ci = ci+ lp wi × ˆC1 ˆCk . (9)
Initially, when a flow i newly enters LRor LN, its ciis set to
ci= max{ci, min{cj | flow j belongs to the same set of flow i (LR or LN), j = i}}.
If there is no lagging flow in the previous stage, the service is returned back to the originally selected flow if it is a leading flow but rejected by the graceful degradation scheme. Otherwise, the service is given to a nonlagging flow that can use the highest rate. In case of a tie, MR-FQ dispatches the services proportional to some weights. Specifically, each flow i is assigned with an extra virtual time fito keep track of the normalized amount of additional services received by flow i when it is nonlagging (lagi≤ 0). Whenever a backlogged flow i that can send becomes nonlagging, fiis set to
fi= max{fi, min{fj | flow j is backlogged, nonlagging, and can send, j = i}}.
The scheduler selects the flow i with the smallest fi to serve. When flow i receives the service, fiis updated as
fi= fi+ lp wi × ˆC1 r , (10)
where r is the current best rate for flow i.
3. Fairness and Delay Analyses
In this section, we demonstrate that MR-FQ can guarantee fairness (including service fairness and time fairness) and bounded delays for packet flows by mathematical model-ing and analyses. Our analyses rely on the followmodel-ing as-sumptions: (1)αR >αN, (2) WR > WN, (3) B > ˆLmax, and (4) ri∈ { ˆC1,· · · , ˆCn}, where ˆLmaxis the maximum length of a packet and riis the transmission rate used by flow i. A flow is called allowed-to-send if the rate selection scheme returns a positive transmission rate to it, and it is called a candidate if it can use a higher rate compared to other flows such that the scheduler may choose it to receive additional services in the compensation scheme. Besides, we let rmin
i be the smallest transmission rate that flow i has ever used during the nearest time interval when flow i is active. The lemmas used in the proofs are contained in the appendix.
3.1 Service Fairness
Theorems 1 and 2 show the service fairness guaranteed by MR-FQ under some constraints. Theorem 1 is for flows that have the similar conditions, and theorem 2 provides some bounds on differences of services received by LRand LN. THEOREM1. For any two active flows i and j , assume that both flows are continuously backlogged and allowed-to-send and remain in the same state (leading, lagging, or satisfied) during a time interval[t1, t2). Let rRSCand rCSbe the transmission rates used by these flows in the rate selec-tion scheme and the compensaselec-tion scheme during[t1, t2),
respectively, where rRSCand rCSare both in{ ˆC1,· · · , ˆCn}, and their values do not change during[t1, t2). Then the
dif-ference between the normalized services received by flows
iand j during[t1, t2)satisfies the following inequality: Φsi(t1, t2) wi −Φ s j(t1, t2) wj ≤ β · ˆLmax wi + γ · ˆLmax wj , whereΦs
i(t1, t2)represents the services received by flow i
during[t1, t2), and (β, γ) = (rRSC rmin i + 1, rRSC rmin j + 1),
if both flows are lagging but not candidates
(rRSC+rCS rmin i + 1, rRSC+rCS rmin j + 1),
if both flows are lagging and candidates
(rRSC+rCS rmin i + 1, rRSC+rCS rmin j + 1),
if both flows are satisfied
(rCS+αRˆC1 rmin i + 2, rCS+αRˆC1 rmin j + 2),
if both flows are real-time leading flows
(rCS+αNˆC1 rmin i + 2, rCS+αNˆC1 rmin j + 2),
if both flows are non-real-time leading flows
(rCS rimin+ 2,
rCS+2αNˆC1
rminj + 2),
if i and j are real-time and non-real-time leading flows, respectively
Proof. A lagging flow that is allowed-to-send is not
nec-essarily a candidate since there may exist other lagging flows that can use higher rates to transmit. Thus, we have to consider the five cases: (1) flows i and j are both lagging but not candidates, (2) flows i and j are both lagging and candidates, (3) flows i and j are both satisfied, (4) flows
i and j are both leading and have the same traffic type, and (5) flow i is a real-time leading flow and flow j is a non-real-time leading flow during the entire time interval
[t1, t2).
Case (1): In this case, any flow i that is lagging but not a candidate can only receive services each time when it is selected by vi. Since vi is updated before a packet is transmitted, the services received by flow i may deviate from its virtual time by one packet. Besides, the services received by flow i is vi× rRSC ˆC1 . Thus, we have rRSC ˆC1 (vi(t2)− vi(t1))− ˆLmax wi ≤ Φsi(t1, t2) wi ≤ rRSC ˆC1 (vi(t2)− vi(t1))+ ˆLmax wi . (11)
Applying equation (11) to flows i and j , we have
rRSC ˆC1 (vi(t2)− vi(t1))− ˆLmax wi − rRSC ˆC1 (vj(t2)− vj(t1))+ ˆLmax wj ≤ Φsi(t1, t2) wi −Φ s j(t1, t2) wj ≤ rRSC ˆC1 (vi(t2)− vi(t1))+ ˆLmax wi − rRSC ˆC1 (vj(t2)− vj(t1))− ˆLmax wj .
By lemma 1, the leftmost term can be reduced to
rRSC ˆC1 (vi(t2)− vj(t2)− (vi(t1)− vj(t1))) − ˆLmax wi + ˆLmax wj ≥ − rRSC rmin i + 1 ˆLmax wi − rRSC rmin j + 1 ˆLmax wj .
Similarly, the rightmost term would be less than or equal to rRSC rmin i + 1 ˆLmax wi + rRSC rmin j + 1 ˆLmax wj , so Φsi(t1, t2) wi −Φ s j(t1, t2) wj ≤rRSC rmin i + 1 ˆLmax wi + rRSC rmin j + 1 ˆLmax wj .
Case (2): In this case, both flows can receive services each time when they are selected by vi/vjor receive addi-tional services from others by ci/cj. Since the additional services received by flow i are ci×
rCS ˆC1, we have rRSC ˆC1 (vi(t2)− vi(t1))+ rCS ˆC1 (ci(t2)− ci(t1)) − ˆLmax wi ≤ Φsi(t1, t2) wi ≤ rRSC ˆC1 (vi(t2)− vi(t1)) +rCS ˆC1 (ci(t2)− ci(t1))+ ˆLmax wi .
Similarly to case 1, by lemmas 1 and 2, we can obtain
Φsi(t1, t2) wi −Φ s j(t1, t2) wj ≤rRSC+ rCS rmin i + 1 ˆLmax wi + rRSC+ rCS rmin j + 1 ˆLmax wj .
Case (3): In this case, both flows can receive services each time when they are selected by vi/vj or when they receive additional services from another flow by fi/fj. Be-sides, since the additional services received by flow i are
fi× rCS ˆC1, we have rRSC ˆC1 (vi(t2)− vi(t1))+ rCS ˆC1 (fi(t2)− fi(t1))− ˆLmax wi ≤ Φsi(t1, t2) wi ≤ rRSC ˆC1 (vi(t2)− vi(t1))+ rCS ˆC1 (fi(t2) − fi(t1))+ ˆLmax wi .
Consequently, similar to case 1, by lemmas 1 and 3, we can obtain Φsi(t1, t2) wi −Φ s j(t1, t2) wj ≤rRSC+ rCS rmin i + 1 ˆLmax wi + rRSC+ rCS rmin j + 1 ˆLmax wj .
Case (4): An allowed-to-send, backlogged, leading flow
other flows by fi. So the total services received by flow i during[t1, t2)are bounded as
si(t2)− si(t1)+ rCS ˆC1 (fi(t2)− fi(t1))− ˆLmax wi ≤ Φi(t1, t2) wi ≤ si(t2)− si(t1)+ rCS ˆC1 (fi(t2)− fi(t1))+ ˆLmax wi .
Applying the previous inequality to flows i and j , we have
rCS ˆC1 (fi(t2)− fj(t2)− fi(t1)+ fj(t1))+ si(t2) − sj(t2)− si(t1)+ sj(t1)− ˆLmax wi − ˆLmax wj ≤ Φsi(t1, t2) wi −Φ s j(t1, t2) wj ≤ rCS ˆC1 (fi(t2) − fj(t2)− fi(t1)+ fj(t1))+ si(t2)− sj(t2) − si(t1)+ sj(t1)+ ˆLmax wi + ˆLmax wj . (12)
Applying lemma 4 twice to flows i and j and subtracting one by the other, we have
αvi(t )− vj(t ) + α ˆLmax wj − ˆLmax wi − ˆLmax wj ≤ si(t )− sj(t )≤ α vi(t )− vj(t ) + α ˆLmax wj − ˆLmax wi + ˆLmax wi .
By lemma 1, we can rewrite the inequality as
− α ˆC1 rmin j − α + 1 ˆLmax wj − αˆLmax wi ≤ si(t ) − sj(t )≤ α ˆC1 rmin i − α + 1 ˆLmax wi + αˆLmax wj . (13)
Applying equation (13) and lemma 3 to equation (12), we have Φi(t1, t2) wi −Φj(t1, t2) wj ≤ rCS+ α ˆC1 rmin i + 2 ˆLmax wi + rCS+ α ˆC1 rmin j + 2 ˆLmax wj ,
whereα = αRif these are real-time flows, andα = αNif they are non-real-time flows.
Case (5): Applying lemma 4 to flows i and j and taking a subtraction leads to αRvi(t )− αR ˆLmax wi − αNvj(t )− (αN− 1) ˆLmax wj ≤ si(t )− sj(t )≤ αRvi(t )− (αR− 1) ˆLmax wi − αNvj(t )− αN ˆLmax wj = Sright. (14)
By lemma 1 and theαR >αNprinciple, the left-hand side of equation (14) becomes αRvi(t )− αNvj(t )+ αN ˆLmax wj − αR ˆLmax wi − ˆLmax wj >αN(vi(t )− vj(t ))+ αN ˆLmax wj − αR ˆLmax wi − ˆLmax wj ≥ −αR ˆLmax wi − αN ˆC1 rmin j − αN+ 1 ˆLmax wj .
Consider the right-hand side of equation (14). There are two cases for the term αRvi(t )− αNvj(t ). If αRvi(t )−
αNvj(t )≥ 0, we have vi(t )≥ ααN Rvj(t ). By lemma 1, Sright≤ αN vj(t )− vi(t ) + αN ˆLmax wj − αR ˆLmax wi + ˆLmax wi ≤ αN ˆC1 rmin j + αN ˆLmax wj + (1 − αR) ˆLmax wi . IfαRvi(t )− αNvj(t ) <0, we have Sright≤ αN ˆLmax wj + (1 − αR) ˆLmax wi .
These two cases together imply Sright ≤
αN ˆC1 rmin j + αN ˆLmax wj + (1− αR) ˆLmax wi .So we have − αR ˆLmax wi − αN ˆC1 rmin j − αN+ 1 ˆLmax wj ≤ si(t ) − sj(t )≤ αN ˆC1 rmin j + αN ˆLmax wj + (1 − αR) ˆLmax wi . (15) By applying equation (15) and lemma 3 to equation (12), we have
Φsi(t1, t2) wi −Φ s j(t1, t2) wj ≤rCS rmin i + 2 ˆLmax wi + rCS+ 2αNˆC1 rmin j + 2 ˆLmax wj .
THEOREM2. The difference between normalized addi-tional services received by LRand LNin any time interval
[t1, t2)during which both sets remain active (i.e., there
ex-ists at least one candidate in each set) satisfies the following inequality: ΦR(t1, t2) WR −ΦN(t1, t2) WN ≤ B+ ˆLmax WR +B+ ˆLmax WN ,
whereΦR(t1, t2)andΦN(t1, t2)are additional services
re-ceived by LRand LNduring[t1, t2), respectively.
Proof. Since VRis updated before a packet is transmitted, it follows that the total additional services received by LR during[t1, t2)are bounded by
VR(t2)− VR(t1)− ˆLmax WR ≤ ΦR(t1, t2) WR ≤ VR(t2) − VR(t1)+ ˆLmax WR .
Similarly, for VN, we have
VN(t2)− VN(t1)− ˆLmax WN ≤ ΦN(t1, t2) WN ≤ VN(t2) − VN(t1)+ ˆLmax WN . Therefore, we have VR(t2)− VR(t1)− ˆLmax WR − VN(t2)− VN(t1)+ ˆLmax WN ≤ ΦR(t1, t2) WR −ΦN(t1, t2) WN ≤ VR(t2)− VR(t1) + ˆLmax WR − VN(t2)− VN(t1)− ˆLmax WN .
By lemma 5, we can rewrite the inequality as
− B+ ˆLmax WR +B+ ˆLmax WN ≤ ΦR(t1, t2) WR −ΦN(t1, t2) WN ≤ B+ ˆLmax WR +B+ ˆLmax WN ⇒ ΦR(t1, t2) WR −ΦN(t1, t2) WN ≤ B+ ˆLmax WR +B+ ˆLmax WN . 3.2 Time Fairness
Theorem 3 shows the time fairness guaranteed by MR-FQ. Since vi, ci, and fi reflect the transmission time used by flow i, the proof of theorem 3 is similar to that of theorem 1, except that we do not multiply vi, ci, and fiby
rRSC
ˆC1 or
rCS
ˆC1
factors. Thus, we omit the proof of theorem 3.
THEOREM3. For any two active flows i and j , the dif-ference between the normalized transmission time used by flows i and j in any time interval[t1, t2)during which
both flows are continuously backlogged and allowed-to-send and remain in the same state (leading, lagging, or satisfied) satisfies the following inequality:
Φti(t1, t2) wi −Φ t j(t1, t2) wj ≤ β · ˆLmax wi + γ · ˆLmax wj , whereΦt
i(t1, t2)represents the transmission time used by
flow i during[t1, t2), and
(β, γ) = ( ˆC1 rimin+ 1, ˆC1 rminj + 1),
if both flows are lagging but not candidates
(2 ˆC1
rimin+ 1,
2 ˆC1
rminj + 1),
if both flows are lagging and candidates
(2 ˆC1
rimin+ 1,
2 ˆC1
rminj + 1), if both flows are satisfied
((αR+1) ˆC1
rimin + 2, (αR+1) ˆC1
rjmin + 2),
if both flows are real-time leading flows
((αN+1) ˆC1 rmin i + 2, (αN+1) ˆC1 rmin j + 2),
if both flows are non-real-time leading flows
( ˆC1 rmin i + 2, (2αN+1) ˆC1 rmin j + 2),
if i and j are real-time and non-real-time leading flows, respectively.
3.3 Delay Bounds
Theorem 4 shows that if a lagging flow that has sufficient service demand becomes allowed-to-send and is always a candidate in the compensation scheme, it can get back all its lagging services within bounded time.
THEOREM4. If an active but lagging flow i that remains backlogged continuously becomes allowed-to-send and is always a candidate in the compensation scheme, it is guar-anteed that flow i will become nonlagging (i.e., lagi≤ 0) within time∆t, where
∆t < ϕ(Ψ + 2 ˆLmax) wmin(1− αR) ˆCn + ˆC1 ˆCn (m+ ϕ wmin )+ 1 ˆLmax ˆCn ;
mis the number of active flows; ϕ, ϕR, and ϕNare the ag-gregate weight of all flows, all real-time flows, and all non-real-time flows, respectively; wminis the minimum weight of all flows; and
Ψ = WR+WN WR ˆC1 ˆCn( ϕR·lagi(t ) wi + ( 2ϕR wi + m − 2) ˆLmax) + 2 ˆLmax+ B ,
if flow i is a real-time flow WR+WN WN ˆC1 ˆCn( ϕN·lagi(t ) wi + ( 2ϕN wi + m − 2) ˆLmax) + 2 ˆLmax+ B ,
if flow i is a non-real-time flow.
Proof. Assume that flow i is a real-time flow. Consider
the worst case: flow i has the maximum lag among all flows. Since flow i becomes allowed-to-send, lagiis never decreased after time t . Besides, because flow i is always a candidate in the compensation scheme, lagi is decreased each time when it receives additional services. Now let
ΦA(t, tN)be the total additional services received by all lagging flows during[t, t + ∆t).
To prove this theorem, observe that the largest value of∆t occurs when all flows in the system are allowed-to-send and there is only one leading flow, say k, that provides additional services such that flow k is a real-time flow and
wk= wmin. Flow k can receive a fractionαRof its services when it is leading, and it uses skto keep track of the amount of such services. So we have
ΦA(t, t+ ∆t)≥ wmin·
ˆC1 ˆC1
(vk(t+ ∆t)− vk(t ))
− wmin(sk(t+ ∆t)− sk(t ))− ˆLmax. (16) Note that the best rate of flow k must be ˆC1, or it is not
allowed to send. By lemma 1, for any active flow j during
[t, t + ∆t), we have vj(t+ ∆t)− vj(t )≤ vk(t+ ∆t)− vk(t )+ ˆC1 rmin j · ˆLmax wj + ˆC1 rmin k · ˆLmax wmin ≤ vk(t+ ∆t)− vk(t ) + ˆC1 ˆCn ˆLmax wj + ˆLmax wmin .
This inequality helps to derive the total amount of services provided by the system during[t, t + ∆t):
ˆCn· ∆t ≤ j∈A wj· ˆC1 ˆC1 (vj(t+ ∆t)− vj(t )) + ˆLmax ≤ j∈A wj(vk(t+ ∆t)− vk(t )+ ˆC1 ˆCn (ˆLmax wj + ˆLmax wmin )) + ˆLmax ≤ (vk(t+ ∆t)− vk(t )) j∈A wj + ˆC1 ˆCn m ˆLmax+ ˆLmax wmin j∈A wj + ˆLmax ≤ (vk(t+ ∆t)− vk(t )) ϕ + ˆC1 ˆCn (m+ ϕ wmin )+ 1 ˆLmax ⇒ vk(t+ ∆t)− vk(t ) ≥ 1 ϕ ˆCn· ∆t − ( ˆC1 ˆCn (m+ ϕ wmin )+ 1) ˆLmax . (17)
Applying lemma 4 to flow k at times t and t+∆tand taking a subtraction, we obtain sk(t+ ∆t)− sk(t )≤ αRvk(t+ ∆t)− αRvk(t )+ ˆLmax wmin . (18) By combining equations (17) and (18) into equation (16), we can obtain ΦA(t, t+∆t)≥ wmin vk(t+ ∆t)− vk(t )− αRvk(t+ ∆t) +αRvk(t )− ˆLmax wmin − ˆLmax = wmin(1− αR) (vk(t+ ∆t)− vk(t ))− 2 ˆLmax ≥ wmin(1− αR) ϕ ˆCn· ∆t− ( ˆC1 ˆCn (m+ ϕ wmin )+ 1) ˆLmax − 2 ˆLmax ⇒ ∆t ≤ ϕ(ΦA(t, t+ ∆t)+ 2 ˆLmax) wmin(1− αR) ˆCn + ˆC1 ˆCn (m+ ϕ wmin )+ 1 ˆLmax ˆCn . (19)
It remains to derive an upper bound forΦA(t, t+ ∆t) in equation (19). The worst case happens when these n− 1 lagging flows are candidates so that they are all allowed to share theΦA(t, t+ ∆t)services. Besides, exactly one
of these n− 1 flows remains in LN during [t, t + ∆t). In this case, LR can share at most a fraction WR
WR+WN of ΦA(t, t+ ∆t).
LetΦR(t, t+ ∆t)andΦN(t, t+ ∆t)be additional ser-vices received by LR and LN during[t, t + ∆t), respec-tively,ΦA(t, t+ ∆t)= ΦR(t, t+ ∆t)+ ΦN(t, t+ ∆t). By theorem 2, we have ΦN(t, t+ ∆t)≤ WN ΦR(t, t+ ∆t) WR +B+ ˆLmax WR +B+ ˆLmax WN ⇒ ΦA(t, t+ ∆t) ≤ WR+ WN WR ΦR(t, t+ ∆t)+ B + ˆLmax . (20)
By applying lemma 2 twice on flow i and any flow j ∈ LR, we have ΦR(t, t+ ∆t)≤ j∈LR wj· ˆC1 ˆC1 (cj(t+ ∆t)− cj(t )) + ˆLmax ≤ j∈LR wj ci(t+ ∆t)− ci(t )+ ˆC1 rmin i ·ˆLmax wi + ˆC1 rmin j · ˆLmax wj + ˆLmax≤ (ci(t+ ∆t) − ci(t )) j∈LR wj+ ˆC1 ˆCn · ˆLmax wi j∈LR wj + ˆC1 ˆCn j∈LR ˆLmax+ ˆLmax < ϕR(ci(t+ ∆t)− ci(t )) + ˆC1 ˆCn (ϕR wi + m − 2) + 1 ˆLmax. (21)
After time t+∆t, flow i becomes nonlagging, so− ˆLmax <
lag(t+ ∆t)≤ 0. Thus, we have
ˆCn ˆC1 (ci(t+ ∆t)− ci(t ))≤ |lagi(t+ ∆t)− lagi(t )| wi < lagi(t )+ ˆLmax wi ⇒ ci(t+ ∆t)− ci(t ) < ˆC1 ˆCn ·lagi(t )+ ˆLmax wi . (22)
By combining equations (21) and (22) into equation (20), we have ΦA(t, t+ ∆t) < WR+ WN WR ˆC1 ˆCn ϕR· lagi(t ) wi + 2ϕR wi + m − 2 ˆLmax + 2 ˆLmax+ B . (23) By combining equations (19) and (23), 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.
4. Simulation Results
In this section, we present some experimental results to verify the effectiveness and properties of the proposed al-gorithm. We have developed an event-driven simulator by using C++ programming language. Events, such as pack-ets’ arrival and change of channel states, are tagged with timestamps and enqueued into a priority queue. The sim-ulator then dequeues events from the priority queue and handles them by the principles of MR-FQ.
4.1 The Impact of the Multirate Environment
In the first experiment, we evaluate the impact of the mul-tirate environment for our MR-FQ method and other wire-less fair scheduling algorithms. We mix real-time and non-real-time flows together. We mainly observe the packet dropping ratios and the average queueing delays of real-time flows and the average throughput of non-real-real-time flows. We compare CIF-Q [10], TD-FQ [13], and the pro-posed MR-FQ. CIF-Q and TD-FQ are two wireless fair scheduling algorithms developed for a single-rate environ-ment. They both assume that the wireless channel is ei-ther in a good state or a bad state. We compare MR-FQ with these two algorithms because their basic schedul-ing policies (i.e., Fig. 3) are similar to that of MR-FQ. (The major differences among these three scheduling algo-rithms are the methods of the graceful degradation scheme and compensation scheme. Besides, only MR-FQ has the rate selection scheme.) We adopt the IEEE 802.11b as the MAC protocol, which provides 11-Mb/sec, 5.5-Mb/sec, 2-Mb/sec, and 1-Mb/sec transmission rates. Ten flows are used, as shown in Table 2. The first six flows are real-time flows, which represent three traffic models: voice, video, and constant bit rate (CBR) traffics. The voice traffic is modeled as an ON-OFF process, where the average dura-tions of ON and OFF periods are set to 2.5 and 0.5 sec-onds, respectively. During an ON period, packets are gen-erated with fixed intervals. No packet is gengen-erated during an OFF period. The video traffic is modeled as variable bit rate (VBR) traffic, where packets arrive in a Poisson fash-ion. The last four flows are non-real-time FTP flows, and their traffic is modeled as greedy sources whose queues are never empty. The weights of these 10 flows are set to 2 : 1 : 64 : 32 : 16 : 8 : 64 : 64 : 64 : 64 to reflect
Table 2. Traffic specification of the flows used in the first experiment
Guaranteed Average Error
Flow Bandwidth Packet Size Scenario
voice1 64 Kb/sec 2 Kb Tgood= 8 sec,Tbad= 1.5 sec
voice2 32 Kb/sec 1 Kb Tgood= 5 sec,Tbad= 1 sec
video1 2 Mb/sec 4 Kb Tgood= 8 sec,Tbad= 1.5 sec
video2 1 Mb/sec 2 Kb Tgood= 5 sec,Tbad= 1 sec
CBR1 512 Kb/sec 2 Kb Tgood= 8 sec,Tbad= 1.5 sec
CBR2 256 Kb/sec 1 Kb Tgood= 5 sec,Tbad= 1 sec
FTP1 2 Mb/sec 4 Kb Tgood= 9.5 sec,Tbad= 0.5 sec
FTP2 2 Mb/sec 4 Kb Tgood= 8 sec,Tbad= 1.5 sec
FTP3 2 Mb/sec 4 Kb Tgood= 5sec,Tbad= 1 sec
FTP4 2 Mb/sec 4 Kb Tgood= 3 sec,Tbad= 1 sec
their guaranteed bandwidth. As for error scenarios, we use two parameters, Tgoodand Tbad, to adjust the average time when a channel stays in good and bad states, respectively. When the channel is in the good state, the flow can use 11 Mb/sec to transmit. When the channel is in the bad state, the best transmission rate that a flow can use in MR-FQ is randomly selected from 5.5, 2, 1, and 0 Mb/sec. However, both CIF-Q and TD-FQ simply treat the channel as bad, and no packet can be transmitted. The total simulation time in this experiment is 30 minutes.
For CIF-Q, we set its parameter toα = 0.5, while for TD-FQ and MR-FQ, we set their parameters toαR = 0.8 andαN = 0.2, respectively. In TD-FQ, the weights as-signed to lagging sets are WR : WN = 3 : 1, WRS : W
M R = 3 : 1, and WS N : W M N = 3 : 1. In MR-FQ, since we do not distinguish lagging flows as seriously and moderately lagging ones, there is only one ratio WR : WN = 3 : 1. Besides, the values ofδ1,δ2,δ3, and B in MR-FQ are set
to 32, 64, 128, and 1024, respectively. Note that the units of packets are set to Kb when we compute the virtual time of flows.
The packet dropping ratios and the average queueing delays of real-time flows are shown in Figures 6 and 7, respectively, where the packet dropping ratio is defined as Number of packets dropped due to exceeding deadline
Number of packet generated ,
and the deadline of a packet is set to twice of the aver-age packet interarrival time. From Figures 6 and 7, we can observe that real-time flows have the highest packet dropping ratios and average queueing delays when we ap-ply CIF-Q to the scheduler. This is because CIF-Q does not separate real-time flows from non-real-time flows and treat all flows in the same way. Real-time flows then have to compete with non-real-time flows, thus causing higher dropping ratios and queueing delays. The packet dropping ratios and the average queueing delays of real-time flows in TD-FQ are smaller than those in CIF-Q. This is because TD-FQ gives higher priorities to real-time flows to reduce their queueing delays (and packet dropping ratios). MR-FQ adopts the idea of TD-FQ (which gives higher priorities to
real-time flows) and allows flows in a bad state to transmit packets using lower rates (if possible). So the packet drop-ping ratios and the average queueing delays of real-time flows in MR-FQ are smaller than those in CIF-Q and TD-FQ since the latter two methods do not allow packets to be transmitted if flows are in a bad state.
A similar effect can be observed in Figure 8, where the average throughput of non-real-time flows in MR-FQ is larger than that in CIF-Q and TD-FQ.
From this experiment, we can conclude that by con-sidering the multirate capability of a wireless channel, the proposed MR-FQ method can reduce the packet dropping ratios and average queueing delays of real-time flows and increase the overall system performance.
4.2 The Time Fairness Property
In the second experiment, we verify the time fairness prop-erty of the MR-FQ method. Recall that there are two parts in MR-FQ that address the time fairness issue. One is the rate selection scheme, which will choose a suitable trans-mission rate for the selected flow according to its lagging degree and channel condition. A flow is allowed to use a lower rate for transmission only if it is suffering from se-riously lagging. Another is the ratio ˆC1
r , used to update a flow’s virtual time (refer to equations (3), (9), and (10)), where r is the transmission rate used by the flow. To show that our MR-FQ method can satisfy the time fairness prop-erty, we design a modified version of MR-FQ that does not consider the time fairness property. This modified version removes the rate selection scheme and updates a flow i’s virtual time as follows:
vi = vi+ lp wi , ci = ci+ lp wi , fi = fi+ lp wi ,
where lpis the length of the packet being transmitted. We mainly observe the total services received by flows and the
24.4 49.1 25.9 30.0 33.9 36.1 35.8 33.3 46.7 21.7 23.9 25.6 30.5 41.2 19.3 32.6 21.8 22.1 10 15 20 25 30 35 40 45 50 55
voice1 voice2 video1 video2 CBR1 CBR2
P a cke t D ro p p in g R a ti o (% ) CIF-Q TD-FQ MR-FQ
Figure 6.Packet dropping ratios of real-time flows
33.0 38.6 4.7 5.7 3.5 2.4 5.1 4.3 3.3 1.9 37.1 31.1 4.9 3.9 2.9 1.8 35.6 29.4 0 5 10 15 20 25 30 35 40 45
voice1 voice2 video1 video2 CBR1 CBR2
A v er age Q ueui ng D e la y (m s ) CIF-Q TD-FQ MR-FQ
Figure 7. Average queueing delays of real-time flows
total medium time used by flows. Two FTP flows are used, as shown in Table 3. The weights of these two FTP flows are set to 1: 1. The total simulation time in this experiment is 100 seconds.
Figures 9 and 10 show the total services received and the total medium time used by these two FTP flows, re-spectively. Since the channel condition of the flow FTP1 is better than that of the flow FTP2, MR-FQ will let the
flow FTP1 receive more services than the flow FTP2, as shown in Figure 9(a). However, the medium time used by both flows is the same in MR-FQ, as shown in Figure 10(a). This reflects the fact that the proposed MR-FQ method can satisfy the time fairness property. On the contrary, although the modified version of MR-FQ can achieve better service fairness (as shown in Fig. 9(b)), it let the flow FTP2 oc-cupy too much medium time, as shown in Figure 10(b).
1.57 1.54 1.48 1.36 1.54 1.53 1.49 1.39 1.59 1.57 1.52 1.43 1.30 1.35 1.40 1.45 1.50 1.55 1.60 1.65 FTP1 FTP2 FTP3 FTP4 A v er age T h roughput (M b/ s ) CIF-Q TD-FQ MR-FQ
Figure 8. Average throughput of non-real-time flows
Table 3. Traffic specification of the flows used in the second experiment
Guaranteed Average Error
Flow Bandwidth Packet Size Scenario
FTP1 6 Mb/sec 8 Kb Tgood= 10 sec,Tbad= 1 sec
FTP2 6 Mb/sec 8 Kb Tgood= 4 sec,Tbad= 2.5 sec
0 100 200 300 400 500 600 0 10 20 30 40 50 60 70 80 90 100 Time (second) R ec e iv ed S e rv ic es (M b) FTP1 FTP2
(a) MR-FQ (b) MR-FQ without considering time fairness
0 100 200 300 400 500 600 0 10 20 30 40 50 60 70 80 90 100 Time (second) R e ce iv e S e rvi ce s (M b ) FTP1 FTP2
Figure 9. Total services received by the two FTP flows
(Note that since the flow FTP2 has a worse channel con-dition, it will often use lower transmission rates to send packets, thus causing longer transmission time.) By com-paring Figure 9(a) and 9(b), we can observe that the total services received by the flow FTP1 in the modified version of MR-FQ are quite lower than that in MR-FQ. This re-flects the fact that if we do not consider the time fairness
issue, the flows using lower transmission rates will de-grade the amount of services received by other flows (that use higher transmission rates), thus decreasing the overall system performance.
To show how bad the situation will be if we ignore the time fairness issue, we set up the third experiment. Six flows are used, as shown in Table 4. We mainly obverse
(a) MR-FQ (b) MR-FQ without considering time fairness 0 10 20 30 40 50 60 70 0 10 20 30 40 50 60 70 80 90 100 Time (second) T ranm is s ion T im e (s econd) FTP1 FTP2 0 10 20 30 40 50 60 70 0 10 20 30 40 50 60 70 80 90 100 Time (second) T ransm is s ion T im e (s econd) FTP1 FTP2
Figure 10. Total medium time used by the two FTP flows
Table 4. Traffic specification of the flows used in the third experiment
Guaranteed Average Error
Flow Bandwidth Packet Size Scenario
video1 2 Mb/sec 4 Kb Error-free
video2 1 Mb/sec 2 Kb Tgood= 5 sec,Tbad= 3 sec
CBR1 1 Mb/sec 4 Kb Tgood= 10 sec,Tbad= 1 sec
CBR2 512 Kb/sec 2 Kb Tgood= 4 sec,Tbad= 2.5 sec
FTP1 4 Mb/sec 8 Kb Tgood= 9.5 sec,Tbad= 0.5 sec
FTP2 2 Mb/sec 4 Kb Tgood= 3 sec,Tbad= 2 sec
the services received by each flow and the total services provided by the system. The weights of these six flows are set to 4 : 2 : 2 : 1 : 8 : 4 to reflect their guaranteed rates. Other parameters used in MR-FQ are same as those in section 4.1. The total simulation time is 100 seconds.
Figures 11 and 12 show the services received by each flow and the total services provided by the system, respec-tively. From Figure 11, we can observe that all flows can receive more services in MR-FQ than those in the modified version of MR-FQ (which does not consider time fairness), except for the flow video2. This will imply that the total services provided by the system in MR-FQ are more than that in the modified version of MR-FQ. From this experi-ment, we can conclude that by considering time fairness, the proposed MR-FQ method can increase the overall sys-tem performance.
4.3 The Effect of theαRValue on Real-Time Leading
Flows
In the last experiment, we discuss the effect of differentαR values on real-time leading flows in our MR-FQ method. Recall that with the graceful degradation scheme, a real-time leading flow i can reserve approximatelyαRvi ser-vices. (In other words, flow i has to give up approximately
(1− αR)vi services to compensate other lagging flows.)
These reserved services can help reduce the queueing de-lays of real-time leading flows.
To evaluate the effect of differentαR values, we set up four flows, as shown in Table 5. The first three flows are real-time flows, which represent three traffic models: voice, CBR, and video traffics. The last flow is a non-real-time FTP flow. The channel conditions of these three real-time flows are much better than that of the non-real-time FTP flow. So these real-time flows will become leading flows, while the non-real-time FTP flow will become a lagging flow in this experiment. Note that the major purpose of this non-real-time FTP flow is to receive compensation services from these three real-time flows so that we can observe the effect of differentαRvalues on these real-time flows. The weights of these four flows are set to 1 : 8 : 32 : 64 to reflect their guaranteed bandwidth. The total simulation time in this experiment is 30 minutes. We mainly observe the packet dropping ratios (which also reflect the queueing delays) of real-time flows in this experiment.
Figure 13 shows the packet dropping ratios of these three real-time leading flows under different αR values. The packet dropping ratios of real-time flows decrease broadly as the value ofαR increases. From Figure 13, we can observe that theαRvalue does not obviously affect the packet dropping ratio of the voice flow whenαR > 0.2. This is because the voice traffic is modeled as an ON-OFF
Flows using higher transmission rates
Flows using lower transmission rates
(a) video1
0 20 40 60 80 100 120 140 160 180 0 20 40 60 80 100 Time (second) R e c e iv e d S e rvic e s (M b ) 0 20 40 60 80 100 120 140 160 180 0 20 40 60 80 100 Time (second) R e c e iv e d S e rv ic e s (M b )(b) video2
0 20 40 60 80 100 120 140 160 180 0 20 40 60 80 100 Time (second) R e c e iv e d S e rvic e s (M b )(c) CBR1
0 20 40 60 80 100 120 140 160 180 0 20 40 60 80 100 Time (second) R e c ei v ed S e rv ic es (M b)(d) CBR2
0 50 100 150 200 250 300 350 400 0 20 40 60 80 100 Time (second) R e c e iv e d S e rvic e s (M b )(e) FTP1
0 20 40 60 80 100 120 140 160 180 0 20 40 60 80 100 Time (second) R e c e iv e d S e rvic e s (M b )(f) FTP2
MR-FQ
MR-FQ without considering time fairness
0 100 200 300 400 500 600 700 800 900 1000 0 10 20 30 40 50 60 70 80 90 100 Time (second) T o ta l S e rvi ce s (M b ) MR-FQ
MR-FQ without considering time fairness
Figure 12. Total services provided by the system
Table 5. Traffic specification of the flows used in the fourth experiment
Guaranteed Average Error
Flow Bandwidth Packet Size Scenario
voice 64 Kb/sec 2 Kb Tgood= 10 sec,Tbad= 1 sec
CBR 512 Kb/sec 2 Kb Tgood= 10 sec,Tbad= 1 sec
video 2 Mb/sec 4 Kb Tgood= 10 sec,Tbad= 1 sec
FTP 4 Mb/sec 8 Kb Tgood= 3 sec,Tbad= 2 sec
process, and packets are generated only during an ON pe-riod. So even when we give more services to the voice flow, its queue may be empty and cannot receive such services. The packet dropping ratio of the CBR flow decreases as the value ofαR increases whenαR ≤ 0.3. This is because the packet’s arrival rate is fixed in the CBR flow. When we setαR = 0.3 in this experiment, the CBR flow can exactly exhaust its queue content. So whenαR >0.3, the queue becomes empty and the packet dropping ratio of the CBR flow becomes steady. The value ofαR affects the packet dropping ratio of the video flow obviously whenαR≤ 0.6. This is because the video flow is modeled as VBR traf-fic, where packets arrive in a Poisson fashion, and thus its queue may contain more packets waiting for transmission. In summary, as we increase the value ofαRandαR≤ θ, whereθ is a threshold value and θ < 1, the packet drop-ping ratios of real-time leading flows can decrease. The threshold valueθ is different under various types of real-time flows. From this experiment, we can observe that
θvideo >θCBR >θvoice, whereθvideo,θCBR, andθvoice repre-sent the threshold valuesθ of video, CBR, and voice flows,
respectively. Besides, as the number of flows increases, the threshold valueθ also increases. This is because these real-time leading flows have to compete with more flows for transmission. If we allow them to reserve more services, then their packet dropping ratios can be reduced.
5. Conclusions
We have addressed the problem that has been ignored by many existing wireless fair scheduling algorithms that a lot of wireless networks are capable of transmitting data at multiple rates. A new algorithm, MR-FQ, is proposed to solve this problem. By taking both time fairness and ser-vice fairness into account, MR-FQ allows a flow to trans-mit at different rates according to its channel condition and lagging degree. It not only increases the overall sys-tem throughput but also guarantees fairness and bounded delays for flows. We have analytically derived the fairness properties and delay bounds of MR-FQ. Simulation results have also shown that MR-FQ incurs less packet dropping for real-time flows and has larger throughput for non-real-time flows when compared to CIF-Q and TD-FQ.
0 2 4 6 8 10 12 14 16 18 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 P a cket D roppi ng R a ti o (% ) voice CBR video R
α
Figure 13. Packet dropping ratios of real-time flows under differentαRvalues6. Appendix: Basic Lemmas
The following three lemmas give bounds on the differ-ences between virtual times (vis), compensation virtual times (cis), and extra virtual times (fis) of any two active flows.
LEMMA1. Let vi(t )be the virtual time of flow i at time
t. For any two active flows i and j such that t≥ 0,
−ˆLmax wj × ˆC1 rmin j ≤ vi(t )− vj(t )≤ ˆLmax wi × ˆC1 rmin i . (24)
Proof. This proof is by induction on t .
Basic step. When t = 0, all virtual times are 0, so equation
(24) holds trivially.
Induction step. Suppose that at time t , equation (24) holds.
Let t+ ∆t be the nearest time when any flow changes its virtual time. We want to prove equation (24) for time t+∆t. Observe that a flow’s virtual time may be updated in three cases: (1) it is selected by the scheduler and the service is indeed given to it, (2) it is selected by the scheduler but the service is given to another flow, and (3) it becomes active. In case (1), let flow i be selected by the scheduler and use transmission rate ri (≥ rmin
i ) to send. Then its virtual time becomes vi(t+ ∆t)= vi(t )+ lp wi × ˆC1 ri , where lp is the length of the packet being transmitted. By MR-FQ, it follows that vi(t ) ≤ vj(t ), for all j ∈ A. Since vi is increased, by the induction hypothesis, we have
− ˆLmax wj × ˆC1 rmin j ≤ vi(t+ ∆t)− vj(t )= vi(t+ ∆t) − vj(t+ ∆t).
Furthermore, since vi(t )≤ vj(t ), we have
vi(t+ ∆t)− vj(t+ ∆t)= vi(t )+ lp wi × ˆC1 ri − vj(t )≤ ˆLmax wi × ˆC1 rmin i . So equation (24) holds at t+ ∆t.
In equation (24), if flow j is selected by the scheduler and uses transmission rate rj(≥ rmin
j ) to send, then vi(t+
∆t)−vj(t+∆t)≤
ˆLmax wi ×
ˆC1
rmini holds trivially. Furthermore,
vi(t+ ∆t)− vj(t+ ∆t)= vi(t )− vj(t )+ lp wj × ˆC1 rj ≥ −ˆLmax wj × ˆC1 rmin j .
So equation (24) still holds at t+ ∆t.
Case (2) is similar to case (1), except that we need to replace riand rj by ˆC1in all inequalities.