A generalized hierarchical fair service curve algorithm for high network utilization and link-sharing



Similar documents
An Alternative Way to Measure Private Equity Performance

1 Example 1: Axis-aligned rectangles

PAS: A Packet Accounting System to Limit the Effects of DoS & DDoS. Debish Fesehaye & Klara Naherstedt University of Illinois-Urbana Champaign

Enabling P2P One-view Multi-party Video Conferencing

Network Services Definition and Deployment in a Differentiated Services Architecture

Recurrence. 1 Definitions and main statements

The Development of Web Log Mining Based on Improve-K-Means Clustering Analysis

Computer Networks 55 (2011) Contents lists available at ScienceDirect. Computer Networks. journal homepage:

Luby s Alg. for Maximal Independent Sets using Pairwise Independence

Module 2 LOSSLESS IMAGE COMPRESSION SYSTEMS. Version 2 ECE IIT, Kharagpur

benefit is 2, paid if the policyholder dies within the year, and probability of death within the year is ).

Lecture 3: Force of Interest, Real Interest Rate, Annuity

Schedulability Bound of Weighted Round Robin Schedulers for Hard Real-Time Systems

Efficient On-Demand Data Service Delivery to High-Speed Trains in Cellular/Infostation Integrated Networks

How To Understand The Results Of The German Meris Cloud And Water Vapour Product

Period and Deadline Selection for Schedulability in Real-Time Systems

DEFINING %COMPLETE IN MICROSOFT PROJECT

8 Algorithm for Binary Searching in Trees

J. Parallel Distrib. Comput.

BERNSTEIN POLYNOMIALS

Calculation of Sampling Weights

ANALYZING THE RELATIONSHIPS BETWEEN QUALITY, TIME, AND COST IN PROJECT MANAGEMENT DECISION MAKING

Network Aware Load-Balancing via Parallel VM Migration for Data Centers

"Research Note" APPLICATION OF CHARGE SIMULATION METHOD TO ELECTRIC FIELD CALCULATION IN THE POWER CABLES *

Chapter 4 ECONOMIC DISPATCH AND UNIT COMMITMENT

An MILP model for planning of batch plants operating in a campaign-mode

Efficient Bandwidth Management in Broadband Wireless Access Systems Using CAC-based Dynamic Pricing

Performance Analysis of Energy Consumption of Smartphone Running Mobile Hotspot Application

Answer: A). There is a flatter IS curve in the high MPC economy. Original LM LM after increase in M. IS curve for low MPC economy

What is Candidate Sampling

Project Networks With Mixed-Time Constraints

Traffic State Estimation in the Traffic Management Center of Berlin

Distributed Optimal Contention Window Control for Elastic Traffic in Wireless LANs

A Novel Methodology of Working Capital Management for Large. Public Constructions by Using Fuzzy S-curve Regression

Power-of-Two Policies for Single- Warehouse Multi-Retailer Inventory Systems with Order Frequency Discounts

Rate Monotonic (RM) Disadvantages of cyclic. TDDB47 Real Time Systems. Lecture 2: RM & EDF. Priority-based scheduling. States of a process

Performance Analysis and Comparison of QoS Provisioning Mechanisms for CBR Traffic in Noisy IEEE e WLANs Environments

Simple Interest Loans (Section 5.1) :

Efficient Striping Techniques for Variable Bit Rate Continuous Media File Servers æ

Relay Secrecy in Wireless Networks with Eavesdropper

To manage leave, meeting institutional requirements and treating individual staff members fairly and consistently.

Survey on Virtual Machine Placement Techniques in Cloud Computing Environment

SPEE Recommended Evaluation Practice #6 Definition of Decline Curve Parameters Background:

The Greedy Method. Introduction. 0/1 Knapsack Problem

VoIP over Multiple IEEE Wireless LANs

Software project management with GAs

How Sets of Coherent Probabilities May Serve as Models for Degrees of Incoherence

Data Broadcast on a Multi-System Heterogeneous Overlayed Wireless Network *

Real-Time Process Scheduling

Multi-Resource Fair Allocation in Heterogeneous Cloud Computing Systems

A Secure Password-Authenticated Key Agreement Using Smart Cards

Dynamic Pricing for Smart Grid with Reinforcement Learning

AN APPOINTMENT ORDER OUTPATIENT SCHEDULING SYSTEM THAT IMPROVES OUTPATIENT EXPERIENCE

QoS-based Scheduling of Workflow Applications on Service Grids

APPLICATION OF PROBE DATA COLLECTED VIA INFRARED BEACONS TO TRAFFIC MANEGEMENT

Conferencing protocols and Petri net analysis

Analysis of Energy-Conserving Access Protocols for Wireless Identification Networks

Availability-Based Path Selection and Network Vulnerability Assessment

denote the location of a node, and suppose node X . This transmission causes a successful reception by node X for any other node

Brigid Mullany, Ph.D University of North Carolina, Charlotte

Extending Probabilistic Dynamic Epistemic Logic

On the Optimal Control of a Cascade of Hydro-Electric Power Stations

Optimal Pricing for Integrated-Services Networks. with Guaranteed Quality of Service &

8.5 UNITARY AND HERMITIAN MATRICES. The conjugate transpose of a complex matrix A, denoted by A*, is given by

A Lyapunov Optimization Approach to Repeated Stochastic Games

Fast degree elevation and knot insertion for B-spline curves

An Adaptive Cross-layer Bandwidth Scheduling Strategy for the Speed-Sensitive Strategy in Hierarchical Cellular Networks

SMART: Scalable, Bandwidth-Aware Monitoring of Continuous Aggregation Queries

Combinatorial Agency of Threshold Functions

CHOLESTEROL REFERENCE METHOD LABORATORY NETWORK. Sample Stability Protocol

Reporting Forms ARF 113.0A, ARF 113.0B, ARF 113.0C and ARF 113.0D FIRB Corporate (including SME Corporate), Sovereign and Bank Instruction Guide

Joint Scheduling of Processing and Shuffle Phases in MapReduce Systems

On the Interaction between Load Balancing and Speed Scaling

When Network Effect Meets Congestion Effect: Leveraging Social Services for Wireless Services

A Replication-Based and Fault Tolerant Allocation Algorithm for Cloud Computing

Support Vector Machines

VRT012 User s guide V0.1. Address: Žirmūnų g. 27, Vilnius LT-09105, Phone: (370-5) , Fax: (370-5) , info@teltonika.

Politecnico di Torino. Porto Institutional Repository

1. Fundamentals of probability theory 2. Emergence of communication traffic 3. Stochastic & Markovian Processes (SP & MP)

Frequency Selective IQ Phase and IQ Amplitude Imbalance Adjustments for OFDM Direct Conversion Transmitters

A Performance Analysis of View Maintenance Techniques for Data Warehouses

A New Quality of Service Metric for Hard/Soft Real-Time Applications

On the Interaction between Load Balancing and Speed Scaling

Open Access A Load Balancing Strategy with Bandwidth Constraint in Cloud Computing. Jing Deng 1,*, Ping Guo 2, Qi Li 3, Haizhu Chen 1

RequIn, a tool for fast web traffic inference

Financial Mathemetics

ivoip: an Intelligent Bandwidth Management Scheme for VoIP in WLANs

Activity Scheduling for Cost-Time Investment Optimization in Project Management

Little s Law & Bottleneck Law

Solution: Let i = 10% and d = 5%. By definition, the respective forces of interest on funds A and B are. i 1 + it. S A (t) = d (1 dt) 2 1. = d 1 dt.

In some supply chains, materials are ordered periodically according to local information. This paper investigates

How To Plan A Network Wide Load Balancing Route For A Network Wde Network (Network)

Efficient Project Portfolio as a tool for Enterprise Risk Management

Multi-Source Video Multicast in Peer-to-Peer Networks

This circuit than can be reduced to a planar circuit

Calculating the high frequency transmission line parameters of power cables

Checkng and Testng in Nokia RMS Process

Analysis of the Delay and Jitter of Voice Traffic Over the Internet

How To Solve An Onlne Control Polcy On A Vrtualzed Data Center

QoS in the Linux Operating System. Technical Report

Transcription:

Computer Networks 43 (2003) 669 694 www.elsever.com/locate/comnet A generalzed herarchcal far servce curve algorthm for hgh network utlzaton and lnk-sharng Khyun Pyun *, Junehwa Song, Heung-Kyu Lee Department of Electrcal Engneerng and Computer Scence, KAIST, 373-1 Kusong-dong, Yusong-gu, Taejon 305-701, South Korea Receved 27 September 2002; receved n revsed form 8 Aprl 2003; accepted 27 June 2003 Responsble Edtor: N. Fonseca Abstract The number of real-tme applcatons, such as vdeo-on-demand and vdeo conferencng, s rapdly ncreasng. Realtme data now occupes a sgnfcant porton of network traffc. These applcatons requre real-tme servce; as such, they need to bound end-to-end delays. Generally, real-tme servce s provded by reservng bandwdth n advance. Thus, to admt a large number of real-tme applcatons, bandwdth needs to be reserved effcently. In addton, to share lmted bandwdth effectvely among multple agences, a lnk-sharng servce s requred. A lnk-sharng servce provdes a guaranteed share of lnk bandwdth to each agency. To provde both real-tme and lnk-sharng servces smultaneously, several herarchcal lnk-sharng schemes have been proposed. However, exstng herarchcal schemes stll have problems n achevng a hgh level of network utlzaton, especally when varable-bt-rate (VBR) vdeo sessons partcpate n a herarchy. The problem s serous snce a large porton of real-tme applcatons transmt MPEG-coded VBR data. We propose a new schedulng algorthm that can acheve a hgh level of network utlzaton even wth VBR vdeo sessons. The proposed schedulng algorthm s a herarchcal lnk-sharng scheme; t s an extenson of the H-FSC generalzed wth a new bandwdth reservaton scheme. The new scheme provdes tght bandwdth reservatons for VBR vdeo sessons. Even wth the advantage n network utlzaton, the generalzed H-FSC does not requre hgh overhead for schedulng; the schedulng complexty remans the same as that of the H-FSC. Ó 2003 Elsever B.V. All rghts reserved. Keywords: Packet schedulng; Guaranteed servce; Qualty-of-servce; Servce curve 1. Introducton * Correspondng author. E-mal addresses: khpyun@rtlab.kast.ac.kr (K. Pyun), junesong@nclab.kast.ac.kr (J. Song), hklee@rtlab.kast.ac.kr (H.-K. Lee). The number of real-tme applcatons, such as vdeo-on-demand and vdeo conferencng, s rapdly ncreasng. Real-tme data now occupes a sgnfcant porton of network traffc. These applcatons requre real-tme servce; as such, they need to bound end-to-end delays. Generally, realtme servce s provded by reservng bandwdth n advance [19]. Thus, to admt a large number of real-tme applcatons, bandwdth needs to be reserved effcently. In addton, to share lmted bandwdth effectvely among multple agences, a lnk-sharng servce s requred [6]. A lnk-sharng 1389-1286/$ - see front matter Ó 2003 Elsever B.V. All rghts reserved. do:10.1016/s1389-1286(03)00335-9

670 K. Pyun et al. / Computer Networks 43 (2003) 669 694 servce provdes a guaranteed share of lnk bandwdth to each agency. An agency can represent data traffc from an organzaton, those usng a protocol such as IP or SNA, or a specfc traffc type such as FTP traffc or telnet traffc. To provde both real-tme and lnk-sharng servces smultaneously, several herarchcal lnksharng schemes have been proposed, ncludng class-based queueng (CBQ) [6], herarchcal packet far queueng (H-PFQ) [1] and herarchcal far servce curve (H-FSC) [22]. In herarchcal schemes, bandwdth sharng among dfferent agences s represented va a herarchy. Fg. 1 provdes an example of ths. In the herarchy, each node represents an agency. A herarchy specfes the bandwdth share for each node, whch should be guaranteed for each agency, and further represents how remanng bandwdth, f any, s shared among dfferent agences. If a share of bandwdth s specfed for each node, herarchcal schemes guarantee the specfed bandwdths f there s suffcent demand. In addton, f nodes do not fully use ther share of bandwdth, the excess bandwdth s dstrbuted to other nodes by the specfed bandwdth ratos n the herarchy. Although exstng herarchcal schemes satsfy both requrements of real-tme and lnk-sharng servces, they stll have problems n achevng a hgh level of network utlzaton. (Here, network utlzaton ndcates how many real-tme sessons can be admtted.) Ths s partcularly true when varable-bt-rate (VBR) vdeo sessons partcpate n a herarchy. Ths problem s serous snce a large porton of real-tme applcatons transmt MPEGcoded VBR data. In ths paper, we propose a new schedulng algorthm that can acheve a hgh level of network utlzaton even wth VBR vdeo sessons. The proposed schedulng algorthm s a herarchcal lnk-sharng scheme; t s an extenson of the H-FSC generalzed wth a new bandwdth reservaton scheme. The new scheme provdes tght bandwdth reservatons for VBR vdeo sessons. Even wth ths advantage n network utlzaton, the generalzed H-FSC does not requre hgh Fg. 1. An example of a lnk-sharng herarchy: In the fgure, two organzatons, KAIST and ETRI, share a 155 Mbps lnk. All data traffc from applcatons n KAIST are guaranteed to receve 100 Mbps f there s suffcent demand. Real-tme traffc from KAIST s guaranteed to consume bandwdth up to 30 Mbps. Non-real-tme traffc from KAIST, FTP, WWW, and other traffc types are guaranteed to receve 30, 30, and 10 Mbps, respectvely. If applcatons from ETRI do not fully use the specfed bandwdth, the remanng bandwdth s dstrbuted to real-tme and non-real-tme traffc from KAIST n a rato of 3 7. Smlarly, f there s no FTP traffc from KAIST, the remanng bandwdth s dstrbuted to WWW and other traffc from KAIST n a rato of 3 1.

K. Pyun et al. / Computer Networks 43 (2003) 669 694 671 overhead for schedulng; the schedulng complexty remans the same as that of the H-FSC. Among the varous herarchcal lnk-sharng schemes, H-FSC can acheve hgher network utlzaton than other schemes such as H-PFQ and CBQ. Two reasons account for the hgher network utlzaton. Frst, H-FSC can reserve bandwdth for each sesson ndependently of the delay bound for the sesson. Second, H-FSC gves preference to real-tme applcatons. That s, whenever there s a potental danger to volate the delay bounds of some real-tme packets, the real-tme packets are transmtted wth hgher prorty. Wthn a short nterval, ths may result n a volaton of guaranteeng a specfed bandwdth. However, for long ntervals, the volaton dsappears. On the contrary, H-PFQ gves prorty to guaranteeng the specfed bandwdth. In ths case, however, delay bounds for real-tme applcatons are ncreased accordng to the depth of the lnk-sharng herarchy [1,22]. Ths problem does not occur n H-FSC. Unfortunately, H-FSC cannot provde tght reservatons for VBR vdeo sessons manly due to naccurate traffc characterzaton. H-FSC assumes that each sesson characterzes ts traffc only wth a burstness and an average rate, and reserves bandwdth for each sesson wth those two dfferent rates,.e., the servce rate clearng the burstness wthn the delay bound and the average rate. However, ths characterzaton s not effectve for VBR vdeos due to a hgh varablty of frame szes. If ths scheme s appled for VBR vdeo sessons, an excessve amount of bandwdth s unnecessarly reserved. Ths over-reservaton results n a low level of network utlzaton for VBR vdeo sessons. Our scheme provdes tght bandwdth reservaton even for VBR vdeo sessons. Ths s made possble by usng accurate traffc characterzaton for VBR sessons. For ths, a VBR vdeo sesson s characterzed by multple traffc rates [16,23]. Each sesson s characterzed by dfferent rates on dfferent tme ntervals. Then, our scheme reserves those multple rates for each sesson consderng a delay bound for the respectve sessons. Note that by consderng delay bounds n reservatons, the servce for each sesson can be maxmally deferred n favor of other sessons. Ths scheme can reserve bandwdth tghtly for VBR sessons, thus achevng a hgh level of network utlzaton. Although the generalzed H-FSC provdes tght bandwdth reservaton, t does not ntroduce any addtonal complexty n computaton. That s, compared to H-FSC, the generalzed H-FSC has the same schedulng complexty. The total complexty s Oðlog NÞ for transmttng a packet wth the smallest prorty where N s the number of sessons. We note that ths complexty can be reduced to Oð1Þ wth specal hardware such as a sequencer [10] or a systolc array [11]. The generalzed H-FSC has advantages over other algorthms that can utlze multple traffc rates, e.g., the rate-controlled (RC) algorthm adoptng the earlest deadlne frst (EDF) scheduler [8] and the multrate algorthm [16]. Frst, they are not herarchcal lnk-sharng schemes. Thus, they cannot guarantee a share of bandwdth accordng to organzatons, protocols, and applcaton types. In addton, the generalzed H-FSC has advantages n mplementaton cost and network utlzaton. Compared to the RC algorthm, the generalzed H-FSC does not need any regulators. A regulator n an EDF algorthm regulates sesson traffc enterng a queue. Note that each sesson requres multple regulators for multple traffc rates to acheve a hgh level of network utlzaton [8]. Compared to the multrate algorthm, the generalzed H-FSC s superor n network utlzaton. The multrate algorthm reserves bandwdth wth multple traffc rates. However, t does not consder delay bound for each sesson n reservatons. Thus, the multrate algorthm results n a lower level of network utlzaton. In Secton 2, we present some background helpful to understand H-FSC. In Secton 3, we revew H-FSC scheme. In Secton 4, we propose our new bandwdth reservaton scheme and dscuss the network utlzaton achevable by the scheme. In Secton 5, we dscuss the schedulng complexty of the new scheme. In Secton 6, we present smulaton experments and show that our scheme can acheve a hgh level of network utlzaton compared wth other algorthms. In Secton 7, we descrbe related works. Lastly, the paper s concluded n Secton 8.

672 K. Pyun et al. / Computer Networks 43 (2003) 669 694 2. Background Ths secton provdes some background useful to understand how the proposed algorthm can guarantee delay bounds for real-tme sessons. In Secton 2.1, we present the network modelng and traffc characterzatons used n ths paper. In Secton 2.2, we ntroduce the defnton of a guaranteed servce curve, whch represents bandwdth reservaton n H-FSC. We present three theorems, whch are the bass of servce curve allocaton. Our proposng allocaton scheme s descrbed n Secton 4.1. 2.1. Network modelng and traffc characterzatons We model a network by a seres of routers. Transmsson lnks are gnored for the convenence of dscusson. We denote the amount of data receved from sesson to a router durng a tme nterval ðs; tš by A ðs; tþ and the transmtted amount by W ðs; tþ. We defne A ðs; tþ ¼W ðs; tþ ¼0 f s P t. For notatonal convenence, we denote A ð0; tþ and W ð0; tþ by A ðtþ and W ðtþ, respectvely. We dvde W ðtþ nto two parts, W RT ðtþ and W ES ðtþ. ðþ denotes the amount of data transmtted to W RT meet the delay bound for sesson. Smlarly, W ES ðþ denotes the amount transmtted usng extra capacty whch remans after meetng all the delay bounds. When we consder multple routers, we approprately superscrbe each notaton to dstngush dfferent routers. For example, W m;rt ðtþ denotes W RT ðtþ at the mth router that a sesson passes through. It s sad that sesson s n a backlogged perod n a router f there exsts a packet to serve from sesson. Each real-tme sesson characterzes ts traffc by a rate functon b ðþ. Intutvely, b ðtþ ndcates the maxmum amount of traffc that s allowed to be transmtted from sesson durng a tme nterval of length t. Thus, b ðþ must be a non-decreasng functon and we defne that b ðuþ ¼0 for all u 6 0. We say that sesson s b -smooth or sesson Õs traffc envelope functon s b ðþ f the amount of data traffc ncomng from sesson to the network durng the nterval ðs; tš s not greater than b ðt sþ. Also, sesson s expected to be b -smooth f b ðþ s specfed n the traffc specfcaton gven to the network. As a specal case of b, we say that sesson s ðr; qþ-smooth f b ðtþ ¼r þ qt. r represents the burstness allowed to sesson. q s the average traffc rate. We also say that sesson s Kðr; qþ-smooth or sesson Õs traffc envelope functon s Kðr; qþ f b ðtþ ¼mn k¼1k fr k þ q k tg. Wthout loss of generalty, we assume that r 1 6 6 rk and q 1 P P q K. By usng a Kðr; qþ as the traffc envelope functon, we can accurately characterze the traffc and ts varablty of a VBR vdeo [16,23]. Fg. 2 llustrates how the traffc s characterzed when a sesson transmts an MPEG-coded vdeo. An MPEG encoder produces three types of encoded frames: I (ntra-coded), P (predcted), and B (bdrectonal). We can use the knowledge of the encodng pattern of frames, say IBBPBB, and the sze of the largest frames of each type,.e., I, B, and P to characterze the vdeo traffc. In the fgure, the traffc s characterzed by ether a ðr; qþ functon or a 3ðr; qþ functon. Usng a 3ðr; qþ functon, the traffc can be characterzed more accurately than usng a ðr; qþ functon. 2.2. Servce curves, delay bound, and backlog bound Let S ðþ be a non-decreasng functon wth S ðuþ ¼0 for all u 6 0. We say that a servce curve S ðþ s guaranteed 1 for sesson by a router f, for 1 Our defnton s the same as n [22]. However, our defnton s dfferent from that n [18], whch s applcable only to a fxed-szed packet envronment. In [18], t s sad that a servce curve S ðþ s guaranteed for sesson by a router f, for any tme t, there exsts a tme s, s 6 t, that satsfes Eq. (1). Although both defntons use the same equaton, the respectve schedulng algorthms have dfferent mplementaton mplcatons due to dfferent condtons for the varables s and t. The schedulng algorthm whch guarantees servce curves usng the defnton n [18] should check Eq. (1) whenever a packet arrves. In a varable-szed packet envronment such as the Internet, the number of packet arrval tmes can be extraordnarly large even wthn a short nterval. (A packet may arrve at any tme snce we cannot put any restrcton on packet arrval tmes.) On the contrary, the schedulng algorthm usng our defnton has only to check the equaton whenever each sesson becomes newly backlogged, not every packet arrval tme. Note that the number of backlogged tmes s sgnfcantly smaller than that of packet arrval tmes.

K. Pyun et al. / Computer Networks 43 (2003) 669 694 673 Fg. 2. Two ways to characterze the traffc of an MPEG-coded vdeo. Usng a 3ðr; qþ functon, the traffc can be characterzed more accurately than usng a ðr; qþ functon. a packet departure tme t of sesson, there exsts a tme s, s < t, such that s s the begnnng of one of the sessonõs backlogged perods and W ðtþ P A ðsþþs ðt sþ: ð1þ Intutvely, S ðtþ ndcates the mnmum amount of servce,.e., mnmum amount of data transmtted, by the router for sesson durng an nterval t startng from the begnnng of a sesson Õs backlogged perod. We further say that a servce curve S ðþ s strctly guaranteed for sesson f sesson s guaranteed S ðþ wthout relyng on extra capacty for ts servce. More formally, S ðþ s strctly guaranteed for sesson by a router f, for any packet departure tme t, there exsts a tme s, s < t, such that s s the begnnng of one of the sessonõs backlogged perods and W RT ðtþ P W RT ðsþþs ðt sþ: ð2þ Eq. (2) can be equvalently expressed as follows: W RT ðtþ P mn fw RT ðsþþs ðt sþg; ð3þ s2b ðtþ where B ðtþ s the set of the start tme ponts of the sesson Õs backlogged perods that s not greater than the packet departure tme t. We can see that a servce curve S ðþ s always guaranteed for a sesson f t s strctly guaranteed. Ths s so snce, from Eq. (2), W RT ðtþ s equal to W ðtþ W ES ðtþ. However, n general, the reverse s not true. Now, consder multple routers whch a sesson passes through. Gven servce curves whch are strctly guaranteed n each of those routers, we can derve a sngle servce curve whch s guaranteed by those multple routers as a whole. In other words, the multple routers can be reduced to a sngle composte router (or a network) whch guarantees the derved servce curve. The dervaton s presented n Theorem 1. Intutvely, the theorem tells that network servce curve S net ðþ s constructed by concatenatng, n an ncreasng order of slopes, the lne segments of the strctly guaranteed servce curves. Note, however, that the network servce curve S net ðþ constructed as such s not strctly guaranteed by the network. (Theorems smlar to the followng three can be found n [18], however, they are applcable only to a fxed-szed packet envronment.) Theorem 1 (Network servce curve theorem). Suppose that sesson passes through M routers n tandem and the mth router, 1 6 m 6 M, strctly guarantees S m ðþ to sesson. Then, the M routers guarantee S net ðþ to sesson where ( X M S net ðtþ, mn S m ðd m Þ: D m > 0 m¼1 and XM m¼1 Proof. See Appendx A. ) D m ¼ t : ð4þ Fg. 3 llustrates the dervaton when two routers are gven. In the fgure, S 1ðÞ and S2 ðþ are the strctly guaranteed servce curves at the frst and second routers, respectvely. S 1ðÞ has slope s 1, that s less than s 2, durng the nterval ð0; t 1 Š. S 2ðÞ has slope zero untl tme t 2. The two curves have the same slope s 2 from the tmes t 1 and t 2, respectvely. By Theorem 1, the network servce curve S net ðþ has slope zero untl the tme t 2, slope s 1 untl the tme ðt 1 þ t 2 Þ, and slope s 2 afterwards. When a router guarantees a servce curve for sesson, the delay and backlog bound for sesson can be derved.

674 K. Pyun et al. / Computer Networks 43 (2003) 669 694 Fg. 4. The graphcal nterpretaton of the delay and backlog bounds. The maxmal horzontal dstance denoted by Dðb ks Þ becomes the delay bound. The vertcal dstance between b ðþ and S ðþ becomes the maxmum at tme t 0. The backlog bound s the maxmal vertcal dstance plus the maxmum packet sze. Fg. 3. Example dervaton of a network servce curve gven two routers: (a) servce curves strctly guaranteed by each router and (b) derved network servce curve. Theorem 2 (Delay bound theorem). Let b ðþ be the traffc envelope functon of sesson. When a router guarantees S ðþ to sesson, the delay at the router s not greater than max mnfd: D > 0 and b ðkþ 6 S ðk þ DÞg: ð5þ k:k>0 Proof. See Appendx A. Theorem 3 (Backlog bound theorem). Let b ðþ the traffc envelope functon of sesson. If a router guarantees S ðþ to sesson, at any moment, the backlog s not greater than max fb ðkþ S ðkþg þ l max ; ð6þ k:k>0 where l max s the maxmum packet sze. Proof. See Appendx A. Fg. 4 graphcally llustrates the delay and backlog bound. In the fgure, b ðtþ s the maxmum amount of traffc from sesson for nterval ð0; tš and S ðtþ, the mnmum servce amount. It can be easly understood that the maxmum horzontal dstance from b ðþ to S ðþ, denoted by Dðb ks Þ, becomes the delay bound as descrbed n Theorem 2. Smlarly, the backlog bound descrbed n Theorem 3 comes from the maxmum vertcal dstance between b ðþ and S ðþ. In the fgure, the vertcal dstance becomes the maxmum at tme t 0. In the theorem, the backlog bound ncludes the term l max snce each packet s cleared n the backlog after the last bt of the packet s served. 3. Revew of H-FSC In ths secton, we revew H-FSC proposed n [22]. H-FSC provdes both real-tme and herarchcal lnk-sharng servces smultaneously. A realtme servce s provded based on servce curves descrbed n the prevous secton. We frst overvew how H-FSC provdes both servces. Then, we present how each servce s provded. 3.1. Overvew of H-FSC To provde real-tme and herarchcal lnksharng servces smultaneously, H-FSC mantans a sngle herarchy n whch each node represents a dfferent entty such as a specfc traffc type or data traffc from an organzaton. Nodes are constructed n advance to provde the herarchcal lnk-sharng servce except those for real-tme applcatons. In the case of real-tme applcatons, one leaf node s constructed for each applcaton when the applcaton s admtted to provde the real-tme servce. Snce one node s constructed for each real-tme applcaton, the servce for the node s solely gven to the applcaton. The servce for a node constructed n advance s shared by multple non-real-tme applcatons. The servce amount for

K. Pyun et al. / Computer Networks 43 (2003) 669 694 675 each node s determned by a servce curve allocated to acheve ether real-tme or lnk-sharng servce. Fg. 5 llustrates an example herarhcy. The herarchy s constructed n advance except for the area wthn the box. The root node represents the lnk. In the example, the lnk capacty s 100 Mbps. Thus, the servce curve for the root node, S Root ðþ, becomes a straght lne wth a slope of 100 Mbps. In the next level, H-FSC allocates the servce curves S RT ðþ and S nonrt ðþ wth slopes of 30 and 70 Mbps to guarantee those bandwdths, respectvely. For FTP, WWW, and other non-real-tme applcatons, H-FSC guarantees 30, 30, and 10 Mbps, respectvely, out of the 70 Mbps assgned for the non-real-tme node. It allocates S FTP ðþ, S WWW ðþ, and S other ðþ as ther servce curves. The leaf nodes, vdeo1 and vdeo2, are constructed when each vdeo applcaton s admtted. The servce curves, S vdeo1 ðþ and S vdeo2 ðþ, are allocated to guarantee delay bounds of vdeo1 and vdeo2 real-tme applcatons. (In Secton 4.1, we descrbe how the servce curves for such real-tme applcatons are allocated.) H-FSC provdes real-tme and herarchcal lnksharng servces by ntegratng two separate algorthms sharng a sngle herarchy. In the herarchy, only leaf nodes can be used for real-tme applcatons, whereas, for lnk-sharng servces, both nternal and leaf nodes are used. Snce the real-tme servce and the lnk-sharng servce have dfferent goals, H-FSC mantans dfferent data structures for leaf nodes and nternal nodes. For a leaf node, H-FSC mantans three varables for each head packet: a deadlne, an elgble tme, and a vrtual tme. Deadlnes are used to satsfy the real-tme goal. A deadlne s assgned n such a way that f the deadlnes of all packets are met, delay bounds for all sessons are guaranteed. Vrtual tmes are used to meet the herarchcal lnk-sharng goal. A vrtual tme ndcates a normalzed amount of servce to the allocated servce curve for the node. Elgble tmes are used to medate both goals gvng preference to the real-tme goal. An elgble tme s assgned n such a way that even though no servce s provded to ths node untl the elgble tme, there s no danger to volate a deadlne. Thus, f all the elgble tmes are greater than the current tme, there s no danger to volate any deadlnes at all. For an nternal node, H-FSC mantans only the vrtual tme snce the node s not used for a real-tme servce. H-FSC transmts a packet wth the earlest deadlne f the smallest elgble tme s not greater than the current tme. Otherwse, a packet wth the smallest vrtual tme s transmtted. Fg. 5. An example herarchy.

676 K. Pyun et al. / Computer Networks 43 (2003) 669 694 In the followng subsectons, we revew the ndvdual algorthms of H-FSC. We focus on explanng how to compute varables, namely, deadlnes, elgble tmes, and vrtual tmes. Throughout those subsectons, we consder a leaf node for a real-tme sesson snce the leaf node nvolves above mentoned three types of varables. We focus on the head packet of the node, denoted by p, whch arrves durng the mth backlogged perod of the sesson, denoted by b m. 3.2. Servce curve algorthm for the real-tme servce To satsfy the real-tme servce, H-FSC uses a servce curve algorthm. The servce curve algorthm transmts a packet wth the earlest deadlne non-pre-emptvely. Tes are broken arbtrarly. Let us see how the deadlne of each packet s computed. For ths, gven a leaf node, the algorthm keeps a deadlne curve D ðþ, whch s defned as D ðtþ ¼ mn fw RT ðsþþs ðt sþg: ð7þ s2b ðtþ Ths D ðtþ s derved from Eq. (3) and ndcates the mnmum amount of servce to receve for the servce curve S ðþ to be strctly guaranteed. Then, gven a head packet p and the accumulated amount of data ncludng the packet p, denoted by w, the deadlne of the packet p becomes the smallest t such that D ðtþ ¼w. D ðþ s ntalzed to S ðþ when the sesson becomes backlogged for the frst tme. Subsequently, t s suffcent to update D ðþ only when the sesson becomes newly backlogged. We denote the updated deadlne curve at each backlogged pont b m by D ðb m ; Þ. Then, D ðb m ; tþ can be recursvely computed as follows: D ðb m ; tþ 8 >< ¼ >: mnfd ðb m 1 for t P b m ; D ðb m 1 ; tþ; otherwse: ; tþ; W RT ðb m ÞþS ðt b m Þg ð8þ Note that D ðb m ; tþ ¼D ðtþ f b m s the last backlogged tme pont. Through an admsson test, the servce curve algorthm accepts real-tme applcatons. All the packets are transmtted untl ther deadlnes plus l max =C where l max s the maxmum packet sze and C s the lnk capacty f the followng equaton s satsfed [22]: X L ¼1 S ðtþ 6 Ct; ð9þ where S ðtþ s the allocated servce curve for a leaf node and L s the number of leaf nodes. A complete and lengthy proof for ths result can be found n [21]. In addton, to satsfy the herarchcal lnk-sharng, we allocate servce curves n such a way that the followng equaton s satsfed: X S j ðtþ 6 S p ðtþ; ð10þ j where S p ðþ and S j ðþ are the servce curves for the node p and j, respectvely, and the node j s a chld of the node p. That s, the sum of the servce curves of chldren does not exceed the parentõs servce curve. The servce curve for the root S root ðtþ s Ct. From Eqs. (9) and (10), we can derve a suffcent admsson condton for real-tme applcatons. Suppose that H-FSC uses an nternal node k wth a servce curve S k ðþ for real-tme applcatons. (A node for each real-tme applcaton s constructed as a chld node of the node k f the applcaton s admtted.) Consder each leaf node for ¼ 1;...; N to be constructed for the respectve real-tme applcatons. Let leaf node requre a servce curve S ðþ be allocated to meet the delay bound for the applcaton. (How to allocate such servce curves s deferred to Secton 4.1.) Then, from Eqs. (9) and (10), those applcatons are admtted f X N ¼1 S ðtþ 6 S k ðtþ: ð11þ Note that snce the admsson condton n Eq. (11) s gven, how to allocate a servce curve determnes the level of network utlzaton. It s worth mentonng that the servce curve algorthm does not guarantee the servce curves for nternal nodes although the short-term dscrepancy between the servced traffc amount for an nternal node and the amount specfed by the servce curve s mnmzed. In fact, as mentoned n [22], t s mpossble to guarantee all the servce curves for both leaf and nternal nodes smulta-

K. Pyun et al. / Computer Networks 43 (2003) 669 694 677 neously. Thus, the H-FSC guarantees the servce curves for leaf nodes snce those nodes are allocated to real-tme sessons. 3.3. Herarchcal far algorthm for the herarchcal lnk-sharng servce To acheve the herarchcal lnk-sharng servce, H-FSC uses a herarchcal far algorthm. The far algorthm mantans a vrtual tme curve V ðþ for each node. V ðvþ represents the amount of servce for the node to be receved by the vrtual tme v. In the specal case that the node s an nternal node, V ðþ ndcates the aggregated amount of servce for all the descendants of the node to be receved. In addton, the parent of the node, denoted by pðþ, mantans a system vrtual tme curve V s pðþ ðþ for the node and ts sblngs. V s pðþ ðvþ represents the expected amount of servce for any chld to be receved by the vrtual tme v. When a chld of the node pðþ becomes newly backlogged, V s pðþ ðþ s used to ncrease the vrtual tmes of the chld to catch up wth other sblngs wthout penalzng them. In the H-FSC, V s pðþðþ s set to ðv ;max ðþ þ V ;mn ðþþ=2 where V ;max ðþ and V ;mn ðþ ndcate the maxmum and the mnmum vrtual tme curve among the node and ts sblngs, respectvely, for mnmzng the dscrepancy between the vrtual tmes of any two sblngs. Specfcally, smlar to deadlne curves, the vrtual tme curve V ðþ for the node s defned as follows [22]: V ðb m ; vþ ¼mnfV ðb m 1 ; vþ; W ðb m Þ þ S ðv V s pðþ Þg for v P V s pðþ ðbm Þ: ð12þ Note that V ðb m ; vþ ¼V ðvþ f b m s the last backlogged tme pont. Gven a head packet, ts vrtual tme s computed from the nverse of V ðþ. The herarchcal far algorthm dstrbutes bandwdth farly to each node accordng to the herarchy by transmttng a packet wth the smallest vrtual tme. (Sometmes a packet wth no smallest vrtual tme may be transmtted by the servce curve algorthm. However, ths devaton dsappears n long ntervals f the servce curve algorthm transmts a packet only when there s a danger to volate deadlnes.) 3.4. Medatng real-tme and lnk-sharng servces Snce t s not possble to guarantee both realtme and lnk-sharng servces all the tme [22], the H-FSC gves enough bandwdth for the real-tme servce not to volate deadlnes n the future. The excess bandwdth can be safely dstrbuted for the lnk-sharng servce. However, ths preference to the real-tme servce may result n devaton from the deal lnk-sharng servce whenever a packet wth no smallest vrtual tme s transmtted by the servce curve algorthm. Thus, to mnmze the devaton n just a short perod, the H-FSC tres to transmt a packet by the servce curve algorthm only when there s a danger to volate deadlnes n the future. Let us see how the H-FSC can determne whether a packet can be safely transmtted for the lnksharng servce wthout the danger of volatng deadlnes. Consder the current tme t. Let us denote by AðtÞ and PðtÞ the set of backlogged and non-backlogged sessons at the tme t, respectvely. In the worst-case, for a future tme t 0, all the sessons n AðtÞ reman backlogged up to the tme t 0. In addton, all the sessons n PðtÞ also become mmedately backlogged at the tme t and reman backlogged durng the tme nterval ðt; t 0 Š. In ths case, the maxmum amount of servce over the nterval ðt; t 0 Š requred by AðtÞ and PðtÞ becomes P 2AðtÞ ðd ðb m ; t0 Þ D ðb m ; tþþ and P 2PðtÞ ðd ðt; t 0 Þ W RT ðtþþ, respectvely. Untl the tme t, AðtÞ has receved at least P 2AðtÞ D ðb m ; tþ to guarantee ther servce curves. Smlarly, both AðtÞ and PðtÞ can together receve at most C ðt 0 tþ durng the nterval ðt; t 0 Š. Now let us denote the mnmum servce amount requred by the servce curve algorthm untl the tme t to guarantee all the servce curves for leaf nodes n the future by the system elgble curve EðtÞ. Then, EðtÞ s defned as follows [22]: EðtÞ ¼ X D ðb m ; tþ 2AðtÞ þ " þ X max t 0 >t 2PðtÞ X ðd ðb m ; t0 Þ D ðb m ; tþþ 2AðtÞ ðd ðt; t 0 Þ W RT ðtþþ C ðt 0 tþ!# þ ; ð13þ

678 K. Pyun et al. / Computer Networks 43 (2003) 669 694 where b m s the last backlogged tme pont of the sesson and ½xŠ þ s defned as maxðx; 0Þ. If the total servce amount transmtted by the servce curve algorthm s no less than EðtÞ at the tme t, there s no danger to volate any deadlne at all. However, mantanng EðtÞ s not practcal snce t depends on all sessons. Whenever a sesson becomes ether backlogged or empty, EðtÞ s updated usng all the deadlne curves. Thus, each updatng requres OðN Þ complexty where N s the number of sessons. In addton, each updaetd EðtÞ can be arbtrarly many pecewse lnear even f all deadlne curves are two pecewse lnear. Thus, t s dffcult to mantan and mplement EðtÞ effcently. Due to the mplementaton dffculty n EðÞ, the H-FSC keeps an elgble tme curve E ðþ for each leaf node nstead of EðÞ. E ðtþ represents the mnmum amount of servce for leaf node to receve untl tme t to prevent any deadlne volatons. If the node receves less servce untl t, there exsts potental danger to volate the deadlnes of some packets n the node. On the contrary, t s superfluous to provde more servce than E ðtþ untl t not to volate the deadlnes. In [22], t s shown that P 2AðtÞ E ðtþ P EðtÞ. That s, P E ðþ overestmates EðÞ slghtly. However, E ðþ has a bg advantage on mantenance and mplementaton. E ðþ does not depend on other sessons at all. As wth the deadlne curve D ðtþ, E ðþ s updated whenever the sesson s newly backlogged. For ths update, H-FSC mantans E ðb m ; Þ at the latest backlogged tme pont b m as follows [22]: E ðb m ; tþ ¼D ðb m ; tþþ max ðd ðb m t 0 ; >t t0 Þ D ðb m ; tþ þ S ðt 0 tþþ for t P b m : ð14þ Note that E ðþ ¼ E ðb m ; Þ f bm s the last backlogged tme pont. Gven a head packet p, ts elgble tme s computed from the nverse of E ðþ. Then, f all the elgble tmes are greater than the current tme, a packet can be safely served for the lnk-sharng servce. Thus, f the smallest elgble tme s not greater than the current tme, the servce curve algorthm s selected. Otherwse, the herarchcal far algorthm s selected. Fg. 6. An llustratve example of the deadlne curve D ðþ, the elgble tme curve E ðþ, and the work amount curve W ðþ. 3.5. An llustraton of the deadlne, the elgble tme and the vrtual tme curve The lnk bandwdth s commonly used to provde the real-tme and the lnk-sharng servce wth dfferent goals. In the H-FSC, both requrements are specfed by servce curves. That s, a sessonõs real-tme and bandwdth requrement s expressed by a sngle servce curve, not a separate curve for ether requrement. However, each curve uses the common servce curve n dfferent ways to satsfy ts goal. Fg. 6 llustrates an example of the deadlne curve D ðþ, the elgble tme curve E ðþ, and the work amount curve W ðþ of the sesson when the last backlogged tme pont s b m. In the fgure, when the current tme s t c, the head packet of the sesson s transmtted by the far algorthm usng the vrtual tme curve V ðþ snce ts elgble tme e s greater than t c. The vrtual tme curve V ðþ s not llustrated explctly snce the functon s based on a dfferent tme doman,.e., the vrtual tme. Although a vrtual tme curve s ntally set by a curve based on the real tme, both tmes are not synchronzed. For example, f a sesson receves more servce than ts specfed servce curve, ts vrtual tme goes faster than the real tme. Note that for the far servce, only the relatve tme values of sessons are meanngful, not ther absolute values. 4. Proposed servce curve allocaton scheme In Secton 4.1, we propose a scheme to allocate a servce curve gven a traffc characterzaton and a delay bound for each sesson. The servce curve

K. Pyun et al. / Computer Networks 43 (2003) 669 694 679 algorthm revewed n the prevous secton can use any non-decreasng functons. The servce curve allocated by our scheme s a specalzaton of a servce curve whch results n tght bandwdth reservaton and acheves a hgh level of network utlzaton. 4.1. Servce curve allocaton Gven a guaranteed servce curve for a real-tme sesson, we can nduce the delay bound for the sesson by Theorem 2. We use ths theorem as the bass of our servce curve allocaton scheme. When a servce curve s allocated for a sesson, the curve cannot be guaranteed by the H-FSC. Ths s so snce packets are transmtted nonpre-emptvely. The followng theorem tells that to guarantee a servce curve S ðþ, the H-FSC needs to allocate S ðþ shfted left by l max =C to the sesson where l max s the maxmum packet sze and C s the lnk capacty. (The followng theorem was also touched n [22], but very lghtly wthout a formal proof.) Theorem 4. Suppose that each leaf node has been allocated a servce curve S ðþ for a real-tme sesson and has passed the admsson test. Then, H-FSC strctly guarantees the followng servce curve bs ðþ for the sesson: bs ðtþ ¼ 0; t 6 lmax =C; S ðt l max =CÞ; t > l max ð15þ =C; where l max s the maxmum packet sze and C s the lnk capacty. Proof. See Appendx A. We frst derve an deal servce curve allocaton scheme usng Theorems 2 and 4. Consder a sesson whch requres a ðd þ l max =CÞ delay bound to be guaranteed, where C s the lnk capacty and l max s the maxmum packet sze. Let the traffc envelope functon b ðtþ for sesson be mn k¼1k fr k þ q k tg where rk and q k are greater than 0. In ths case, we can see that H-FSC can guarantee the delay bound for sesson f the followng servce curve T ðþ s allocated to sesson by the theorems: T ðtþ ¼ 0; 0 6 t 6 d ; mn k¼1k fr k þ q k ðt d Þg; t > d : ð16þ However, f T ðþ s allocated as a servce curve, deadlne computaton becomes dffcult. As an example, Fg. 7 llustrates an ntal deadlne curve for sesson n the case that T ðþ s allocated as the servce curve for sesson. In the fgure, D ðþ s the deadlne curve ntalzed to T ðþ when sesson s backlogged at the frst tme. Consder a packet wth sze l whch becomes head at a tme t c durng the frst backlogged perod. The deadlne of the packet s the frst tme pont at whch the accumulated nput amount ðw RT ðt c ÞþlÞ becomes equal to DðÞ. In the context of mathematcs, such a tme pont exsts. However, we cannot express the exact value due to the dscontnuty of D ðþ at the tme d. Thus, deadlne computaton usng servce curve n Eq. (16) s dffcult. To overcome the dffculty n deadlne computaton, we allocate a concave servce curve 2 based on T ðþ. Fg. 8 graphcally llustrates how to construct a servce curve S ðþ from T ðþ. In the fgure, for t > d, S ðtþ s dentcal to T ðtþ. However, to make S ðþ concave, we allocate the frst non-zero slope n S ðþ to q max whch s the maxmum rate we set up manually such that q max P q k for all and k. Due to q max, the frst non-zero lne segment n S ðþ starts from ðd r 1 =qmax ; 0Þ and ends at ðd ; r 1 Þ. The servce curve S ðþ constructed n the fgure can be represented by an equaton. For a smple representaton, let r 0 and q 0 be equal to r 1 and q max, respectvely. In addton, let us denote ðd r 1 =qmax Þ by x. Then, the servce curve S ðþ becomes as follows: S ðtþ ¼ 0; 0 6 t 6 x ; mn k¼0k fr k þ q k ðt d Þg; t > x : ð17þ Note that servce curve n Eq. (17) s contnuous. Ths contnuty results n deadlne curve wthout dscontnuty. Thus, deadlne computaton be- 2 A servce curve S ðtþ s sad to be concave f for any two tmes, t 1 and t 2, and for any a 2ð0; 1Þ, we have S ðat 1 þð1 aþt 2 Þ P as ðt 1 Þþð1 aþs ðt 2 Þ.

680 K. Pyun et al. / Computer Networks 43 (2003) 669 694 how to allocate a servce curve n that scheme. In the fgure, the allocaton scheme s dvded n two cases. Note that n both cases, a two pecewse lnear servce curve s allocated. On the contrary, f our scheme s used, a three pecewse lnear curve wll be allocated for a ðr; qþ-smooth sesson. We wll see n the next secton that our servce curve s tghter due to the frst non-zero slope q max. Fg. 7. An ntal deadlne curve for sesson. Gven a packet wth sze l whch becomes head at a tme t c, t s dffcult to determne the deadlne of the packet snce the deadlne curve jumps at the tme d. Fg. 8. The allocated servce curve S ðþ for sesson n our scheme when sesson s expected to have the traffc envelope functon b ðþ (x ¼ d r 1 =qmax ). comes easer than that usng servce curve n Eq. (16). Let us compare the servce curve allocaton scheme proposed n [22] wth our scheme. Whle our scheme consders general Kðr; qþ-smooth sessons, the scheme proposed n [22] consders only ðr; qþ-smooth sessons. Fg. 9 graphcally llustrates 4.2. Network utlzaton In [15], t s shown that f the deal servce curve allocaton scheme explaned n the prevous secton s used, H-FSC can acheve the same network utlzaton as the EDF wth regulators. The EDF wth regulators can acheve a very hgh level of network utlzaton [8,7,25]. The servce curves allocated by our scheme are very close to those by the deal scheme. Whle the deal scheme allocates T ðþ for sesson, our scheme allocates S ðþ for the sesson. Note that f q max!1, S ðþ! T ðþ. Thus, f we set up q max to a suffcently large value, our scheme can acheve the same level of network utlzaton as the EDF wth regulators. Thus, our scheme can acheve a very hgh level of network utlzaton. Our scheme can acheve hgher level of network utlzaton than the scheme proposed n [22] for VBR sessons. Ths s because the servce curves allocated by the scheme n [22] s not tght for VBR sessons compared to those by our scheme. Fg. 10 llustrates two dfferent servce curves allocated by both schemes to meet a delay bound for a VBR sesson. The delay bound s ðd þ l max =CÞ where C Fg. 9. The servce curve allocaton proposed n [22] for ðr; qþ-smooth sesson wth ðd þ l max =CÞ delay bound: (a) allocated servce curve when r=d > q and (b) allocated servce curve n other cases.

K. Pyun et al. / Computer Networks 43 (2003) 669 694 681 Fg. 10. Dfferent servce curves to guarantee the same delay bound for a VBR sesson. S1ðÞ s a two pecewse lnear curve. S2ðÞ s a fve pecewse lnear curve. Note that S2ðÞ s much tghter. s the lnk capacty and l max s the maxmum packet sze. In the fgure, b ðþ s the expected traffc envelope functon for the VBR sesson. The servce curves, S1ðÞ and S2ðÞ, are pecewse lnear curves whch have two and fve lne segments, and are allocated by the scheme n [22] and our scheme, respectvely. Snce Dðb ks1þ and Dðb ks2þ are all equal to d, the two servce curves can guarantee the same delay bound d. However, the servce curve S1ðÞ s less tght than S2ðÞ. Even for constant-bt-rate (CBR) sessons, our scheme can acheve a hgher level of network utlzaton. We show ths network utlzaton advantage of our scheme by an example. Consder two sessons, sessons 1 and 2. Let both sessons be expected to have the same traffc envelope functon ðr; qþ, but wth dfferent delay bounds, ðr=c þ l max =CÞ and ðr=q þ l max =CÞ, respectvely, where l max s the maxmum packet sze. Let us denote the servce curves for sessons 1 and 2 allocated by our scheme by S1 new ðþ and S2 new ðþ, respectvely. We denote the curves for sessons 1 and 2 allocated by the scheme proposed n [22] by S1 old ðþ and S2 old ðþ, respectvely. Fg. 11 llustrates those servce curves n the case that we set up q max to C. In the fgure, n the case of sesson 1, both schemes allocate the same servce curve. However, for sesson 2, dfferent servce curves are allocated. Note that both sessons are admtted f H-FSC adopts our scheme. However, f H-FSC adopts the scheme proposed n [22], ether sessons 1 or 2 s rejected. (If we add the servce curves S1 old ðþ and S2 old ðþ n the fgure, the added curve exceeds the lnk capacty curve durng the nterval ½0; r=cš.) 5. Schedulng complexty Fg. 11. Servce curves for CBR sessons allocated by our scheme and the scheme proposed n [22]. The servce curves allocated by the proposed scheme are pecewse lnear. If pecewse curves are allocated wthout any restrcton, computaton of tme-stamps for ncomng packets,.e., deadlnes, elgble tmes and vrtual tmes, requres hgh complexty. In [22], a specal type of servce curves,.e., only two pecewse lnear curves, are allocated to avod such a hgh complexty. However, we show that the pecewse lnear servce curves allocated by our scheme requre just a constant tme for computng the tme-stamps. That s, compared to the servce curve allocaton scheme proposed n [22], our scheme has better network utlzaton whle havng the same schedulng complexty. The schedulng complexty of H-FSC conssts of two parts, computng tme-stamps for ncomng packets and transmttng those packets. For packet transmsson, three sorted prorty queues are mantaned, one for deadlnes, another for vrtual tmes, and the thrd for elgble tmes. The mantenance cost for a sorted prorty queue s Oðlog N Þ where N s the number of leaf nodes. Ths cost can be further reduced to Oð1Þ wth a specal hardware such as a sequencer [10] or a systolc array [11]. Note that whatever servce curves are used, ths cost for packet transmsson remans unchanged. However, computng the tme-stamps has dfferent complextes dependng on allocated servce curves. To compute the tme-stamps, each leaf node mantans three curves,.e., a deadlne curve,

682 K. Pyun et al. / Computer Networks 43 (2003) 669 694 an elgble curve, and a vrtual tme curve, whch depend on the allocated servce curve. The deadlne, the elgble tme, and the vrtual tme of a head packet are calculated from the nverse of those curves. In the subsequent subsectons, we show that each tme stamp can be computed n a constant tme f a servce curve s allocated by our scheme. In Secton 5.1, we show that the mantenance cost for a deadlne curve s constant. We also show that the deadlne of a head packet can be calculated from the deadlne curve n a constant tme. Smlarly, n Secton 5.2, we show that the cost to mantan an elgble tme curve and that to calculate an elgble tme are constants. The same results apply to the mantenance of a vrtual tme curve and the calculaton of a vrtual tme. However, we do not present the case of the vrtual tme snce a vrtual tme curve s very smlar to a deadlne curve [22]. Detaled steps can be easly nferred from the case of a deadlne curve. 5.1. The costs related to the deadlne curve and the deadlne As mentoned n Secton 3.2, gven an allocated servce curve S ðþ and the last backlogged tme pont b m, the deadlne curve D ðb m ; Þ s updated as follows: D ðb m ; tþ ¼mnfD ðb m 1 ; tþ; W RT ðb m Þ þ S ðt b m Þg for t P bm : ð18þ From Eq. (18), we can see that f the allocated servce curve s complex, the update cost for the Fg. 12. The two pecewse servce curve S ðþ allocated by our scheme n the case that q max s equal to q for smplcty of dscusson. deadlne curve becomes hgh. We show by an example that even wth a smple servce curve, whch s two pecewse lnear, updatng the deadlne curve ncurs hgh complexty. However, we show that, at each update step, we can reduce the mantenance range of the deadlne curve. Mantanng the deadlne curve on ths reduced range s suffcent to compute the subsequent deadlnes. Further, the complexty of the computaton s sgnfcantly reduced; the update cost for the deadlne curve becomes constant snce unnecessary tme ponts are trmmed out at each update step. In addton, the deadlne calculaton can also be done n a constant tme. Consder a leaf node whch s constructed for a real-tme sesson. Suppose that the real-tme sesson requres a delay bound of ðd þ l max =CÞ to be guaranteed, where C s the lnk capacty and l max s the maxmum packet sze. Assume that a two pecewse lnear servce curve S ðþ has been allocated as shown n Fg. 12. Ths two pecewse curve has been allocated by settng up q max to q for smplcty of dscusson. Then, from Eq. (18), when D ðþ s secondly updated, D ðþ becomes as follows: D ðb 2 ; tþ ¼mnfS ðt b 1 Þ; S ðt b 2 Þ þ W RT ðb 2 Þg for t P b2 : ð19þ Fg. 13 llustrates an example of D ðb 2 ; Þ gven the two pecewse servce curve S ðþ. In fgure (a), the two curves used to update D ðþ,.e., S ðt b 1 Þ and S ðt b 2 RT ÞþW ðb 2 Þ, are llustrated. In ths case, the two curves cross each other. In fgure (b), the resultng deadlne curve D ðþ updated usng the curves n fgure (a) s llustrated. Note that, n the fgure (b), the updated D ðtþ s not lnear for t P b 2. Thus, at the mth backlogged tme pont bm, updatng D ðb m ; tþ for t P bm may requre a very hgh complexty. Fortunately, the followng lemma tells that, at each mth backlogged tme pont b m, to compute subsequent deadlnes, t s suffcent to mantan D ðb m ; tþ only for t P bm þ x. Here, x s the frst tme pont at whch the allocated servce curve S ðþ has a non-zero value. (An example of x s represented n Fg. 12.)

K. Pyun et al. / Computer Networks 43 (2003) 669 694 683 Fg. 13. An example of updatng D ðþ when the sesson s secondly backlogged gven the two pecewse servce curve S ðþ: (a) two curves for updatng D ðþ and (b) updated D ðþ. Lemma 1. Suppose that a servce curve S ðþ s allocated to leaf node for a real-tme sesson. Let x be the frst tme pont at whch S ðþ has a non-zero value. Consder the packets from the sesson whch arrve after the last backlogged tme pont b m. Then, the deadlnes of those packets are always greater than b m þ x. Proof. Consder a packet p whch becomes the head packet after the last backlogged tme pont b m. Let us denote the length and the deadlne of the packet p by l and d, respectvely. We also denote the tme the packet p becomes head by t c. In ths case, the accumulated amount of data ncludng the packet p to be transmtted untl the deadlne d becomes ðw RT ðt c ÞþlÞ, whch we denote by w for notatonal convenence. Then, d ¼ mnft: D ðb m ; tþ ¼wg ð20þ ¼ mnft: mnfd ðb m 1 ; tþ; W RT ðb m ÞþS ðt b m Þg ¼ wg ð21þ ¼ maxfmnft: D ðb m 1 ; tþ ¼wg; mnft: W RT ðb m ÞþS ðt b m Þ¼wgg ð22þ P mnft: W RT ðb m ÞþS ðt b m Þ¼wg ð23þ P mnft: S ðt b m Þ¼lg ðsnce W RT ðt c Þ P W RT ðb m ÞÞ ð24þ P b m þ x : ð25þ For the reduced mantenance range, the deadlne curve n Fg. 13(b) can be mantaned n a constant tme. In the fgure, the updated D ðþ remans lnear after the tme ðb 2 þ x Þ. To mantan a lnear curve, t s suffcent to keep the startng tme pont and the slope. Now we formally show n the followng lemma that f we allocate a servce curve usng our scheme, at each backlogged tme pont, the updated deadlne curve s reduced to a smple curve whch s K pecewse lnear for the reduced mantenance range. Lemma 2. Consder a leaf node whch s constructed for a real-tme sesson. Suppose that the real-tme sesson s expected to have the traffc envelope functon mn k¼1k fr k þ q k tg and requres the delay bound of ðd þ l max =CÞ to be guaranteed, where C s the lnk capacty and l max s the maxmum packet sze. Further assume that a servce curve to the leaf node s allocated usng Eq. (17). Then, when the sesson becomes backlogged at the mth tme, the updated D ðb m ; Þ becomes a K pecewse lnear curve as follows: D ðb m ; tþ ¼ mn k¼0k fcm;k þ q k tg for t P bm þ x ; ð26þ where q 0 ¼ q max, r 0 ¼ r 1, x ¼ d r 1 =qmax, and 8 < r k C m;k q k ðb1 þ d Þ; m ¼ 1; ¼ mnfc m 1;k ; r k q k ðbm þ d ÞþW RT ðb : m Þg; m P 2: ð27þ Proof. Usng Eq. (17), the leaf node s allocated the followng servce curve S ðþ for the sesson:

684 K. Pyun et al. / Computer Networks 43 (2003) 669 694 S ðtþ ¼ 0; 0 6 t 6 x ; mn k¼0k fr k þ q k ðt d Þg; t > x : ð28þ Gven the servce curve S ðþ, the deadlne curve D ðþ s updated at each backlogged tme pont b m as follows: D ðb m ; tþ ¼mnfD ðb m 1 ; tþ; W RT ðb m Þ þ S ðt b m Þg for t P bm þ x : ð29þ Note that n Eq. (29), by Lemma 1, D ðb m ; tþ s mantaned only for t P b m þ x, not for t P b m. Then, we prove the lemma by structural nducton on the number of backlogged tmes. As the base step, for t P b 1 þ x, D ðb 1 ; tþ ¼S ðt b 1 Þ¼ mn k¼0k frk þ q k ðt b1 d Þg ¼ mn k¼0k fc1;k þ q k tg: By the nducton hypothess, for t P b m þ x, D ðb m ; tþ ¼ mn k¼0k fcm;k þ q k tg: ð30þ Then, as the nducton step, for t P b mþ1 þ x, D ðb mþ1 ; tþ ¼mnfD ðb m ; tþ; S ðt b mþ1 ÞþW RT ¼ mnf mn k¼0k fcm;k þ q k tg; mn k¼0k frk þ q k ðt bmþ1 d Þg þ W RT ðb mþ1 Þg ¼ mn k¼0k fmnfcm;k ; r k q k ðbmþ1 þ W RT ðb mþ1 Þg þ q k tg ¼ mn k¼0k fcmþ1;k þ q k tg: þ d Þ ðb mþ1 Þg Proof. Frst, we prove that updatng each deadlne curve can be done n a constant tme. It s suffcent to show that the deadlne curve D ðb m ; Þ presented n Lemma 2 can be updated n a constant tme. By Lemma 2, at the mth backlogged tme pont b m, D ðþ s updated as follows: D ðb m ; tþ ¼ mn k¼0k fcm;k þ q k tg for t P bm þ x : ð31þ From Eq. (31), to update D ðb m ; Þ, we need to calculate C m;k for k ¼ 0;...; K. If we save C m 1;k for k ¼ 0;...; K at the prevous update, mnfc m 1;k ; r k q k ðbm þ d ÞþW RT ðb m Þg can be done n Oð1Þ snce both r k q k ðbm þ d Þ and W RT ðb m Þ are fxed at the tme bm. Thus, each Cm;k can be calculated n Oð1Þ. Snce each fc m;k þ q k tg s a lnear curve, D ðb m ; Þ becomes a concave pecewse lnear for the range. For mantanng ths concave curve, we need to keep K þ 1 number of startng tme ponts and slopes. Ths operaton can be done n OðKÞ. In most cases, K s restrcted to a small number [16]. Thus, the updatng cost s constant. Next, we show that deadlne calculatons can be done n a constant tme. The deadlne of each packet s calculated from the nverse of D ðb m ; Þ f b m s the last backlogged tme pont. Recall that D ðb m ; Þ s a concave pecewse lnear for the range. Thus, the deadlne of each packet can be calculated from the nverse of the deadlne curve n OðKÞ where K s the number of lne peces of the deadlne curve. As mentoned, usually K s a small number. So, the deadlne calculaton cost s constant. Fnally, usng Lemma 2, we show n the followng theorem that, at each update step, the cost to update a deadlne curve as well as that to calculate deadlnes become all constant. Theorem 5. Gven a servce curve allocated by Eq. (17) for a real-tme sesson, at each backlogged tme pont, the deadlne curve can be updated n a constant tme. In addton, subsequent deadlne calculatons from the nverse of the deadlne curve can also be done n a constant tme. 5.2. The costs related to the elgble tme curve and the elgble tme In ths subsecton, we show that gven a servce curve allocated by our scheme, the mantenance cost for the elgble tme curve s constant, and the elgble tme of the head packet can be calculated n a constant tme. As mentoned n Secton 3.4, f a servce curve S ðþ s allocated, at the last backlogged tme pont b m, the elgble curve E ðþ s updated as follows:

K. Pyun et al. / Computer Networks 43 (2003) 669 694 685 E ðb m ; tþ ¼D ðb m ; tþþ½max ðd ðb m t 0 ; >t t0 Þ D ðb m ; tþ S ðt 0 tþþš þ for t P b m : ð32þ E ðþ n Eq. (32) s complcated. Moreover, consderng the complexty of the curve D ðb m ; Þ n Eq. (18), the update cost for the elgble tme curve can be extremely hgh. However, we show that gven a servce curve allocated by our scheme, the elgble tme curve can be reduced to a smple one whch s concave pecewse lnear. In realty, the update of the elgble curve can be done usng the updated deadlne curve D ðb m ; Þ by a smple shftng. Thus, the complexty of mantanng the elgble curve becomes that of a deadlne curve. By the Lemmas 3 5, we frst show that the elgble curve can be reduced to a smple curve, whch s a shfted deadlne curve. Then, n Theorem 6, we show that the updatng cost for the smple curve and the cost for calculatng the elgble tme become constants. Lemma 3. Consder a concave pecewse lnear functon f ðþ. Let t 1 and t 2 be x-coordnates such that t 1 6 t 2. Then, gven an nterval of length I, f ðt 2 þ IÞ f ðt 2 Þ 6 f ðt 1 þ IÞ f ðt 1 Þ: ð33þ Proof. Trval. Lemma 4. Assume that a servce curve S ðþ s allocated usng Eq. (17) for a Kðr; qþ sesson. Let x be the frst tme pont at whch the servce curve S ðþ has a non-zero value. Then, gven the servce curve S ðþ, at the mth backlogged tme pont b m, the updated deadlne curve satsfy the followng nequalty: D ðb m ; t þ DÞ D ðb m ; tþ 6 S ðx þ DÞ; ð34þ where t P b m þ x and D > 0. Proof. Consder a Kðr; qþ sesson whch requres a delay bound of ðd þ l max =CÞ to be guaranteed, where C s the lnk capacty and l max s the maxmum packet sze. Usng Eq. (17), for the Kðr; qþ sesson, the followng servce curve S ðþ s allocated: S ðtþ ¼ 0; 0 6 t 6 x ; mn k¼0k fr k þ q k ðt d Þg; t > x ; ð35þ where r 0 ¼ r 1, q0 ¼ q max, and x ¼ d r 1 =qmax. From Eq. (35), S ðx þ DÞ ¼ mn r k k¼0k þ q k r1 q þ D : max ð36þ Gven the servce curve S ðþ, at the mth backlogged tme pont, the deadlne curve s updated, as shown n Lemma 2, as follows: D ðb m where C m;k ; tþ ¼ mn k¼0k fcm;k þ q k tg for t P bm þ x ; ð37þ 8 < r k q k ðb1 þ d Þ; m ¼ 1; ¼ mnfc m 1;k ; r k q k ðbm þ d ÞþW RT ðb : m Þg; m P 2: ð38þ Now we prove the lemma by structural nducton on the number of backlogged tmes. As the base step, consder the frst backlogged tme pont b 1. In ths case, t P b1 þ x. Let t be equal to b 1 þ x þ h where h s a non-negatve number. Then, D ðb 1 ; t þ DÞ D ðb 1 ; tþ ¼D ðb 1 ; b1 þ x þ h þ DÞ D ðb 1 ; b1 þ x þ hþ: ð39þ Snce the deadlne curve D ðþ s a concave pecewse lnear curve, f we apply Lemma 3 to Eq. (39), D ðb 1 ; b1 þ x þ h þ DÞ D ðb 1 ; b1 þ x þ hþ 6 D ðb 1 ; b1 þ x þ DÞ D ðb 1 ; b1 þ x Þ: ð40þ In Eq. (37), f we replace t by ðb 1 þ x þ DÞ and ðb 1 þ x Þ, D ðb 1 ; b1 þ x þ DÞ D ðb 1 ; b1 þ x Þ becomes as follows:

686 K. Pyun et al. / Computer Networks 43 (2003) 669 694 mn k¼0k fc1;k þ q k ðb1 þ x þ DÞg mn k¼0k fcm;k þ q k ðb1 þ x Þg ¼ mn k¼0k frk q k ðb1 þ d Þþq k ðb1 þ x þ DÞg mn k¼0k frk q k ðb1 þ d Þþq k ðb1 þ x Þg ¼ mn r k þ q k r1 k¼0k q þ D max mn r k qk k¼0k q max r1 ðsnce x ¼ d r 1 =qmax Þ ¼ S ðx þ DÞ mn k¼0k ðfrom Eq: ð36þþ: mn k¼0k r k qk q max r1 r k In Eq. (41), snce r 1 6 rk k ¼ 0;...; K, P 0: From Eqs. (41) and (42), S ðx þ DÞ mn k¼0k r k qk q max r1 qk q max r1 ð41þ and q k =qmax 6 1 for 6 S ðx þ DÞ: ð42þ ð43þ Thus, D ðb 1 ; t þ DÞ D ðb 1 ; tþ 6 S ðx þ DÞ: ð44þ By the nducton hypothess, for t P b m þ x, D ðb m ; t þ DÞ D ðb m ; tþ ¼ mn k¼0k fcm;k þ q k ðbm þ x þ DÞg mn k¼0k fcm;k þ q k ðbm þ x Þg 6 S ðx þ DÞ: ð45þ As the nducton step, consder the ðm þ 1Þth backlogged tme pont b mþ1. In ths case, t P b mþ1 þ x. Let t be equal to b mþ1 þ x þ h where h s a non-negatve number. Then, D ðb mþ1 ; t þ DÞ D ðb mþ1 ; tþ ¼ D ðb mþ1 ; b mþ1 þ x þ h þ DÞ D ðb mþ1 ; b mþ1 þ x þ hþ 6 D ðb mþ1 ; b mþ1 þ x þ DÞ D ðb mþ1 ; b mþ1 þ x Þ ðby Lemma 3Þ: In Eq. (37), f we replace t by ðb mþ1 ðb mþ1 þ x Þ, D ðb mþ1 ; b mþ1 þ x Þ becomes as follows: þ x þ DÞ and ; b mþ1 þ x þ DÞ D ðb mþ1 mn k¼0k fcmþ1;k þ q k ðbmþ1 þ x þ DÞg mn k¼0k fcmþ1;k þ q k ðbmþ1 þ x Þg: ð46þ Snce C mþ1;k ¼ mnfc m;k ; r k q k ðbmþ1 we can rewrte Eq. (46) as follows: þ d ÞþW RT mn k¼0k fmnfcm;k þ q k ðbmþ1 þ x þ DÞ; r k þ q k ðx d þ DÞþW RT ðb mþ1 Þgg mn k¼0k fmnfcm;k þ q k ðbmþ1 þ x Þ; r k ðb mþ1 Þg; þ q k ðx d ÞþW RT ðb mþ1 Þgg: ð47þ For notatonal convenence, let us denote, for each k, C m;k þ q k ðbmþ1 þ x Þ and r k þ q k ðx d Þþ W RT ðb mþ1 Þ by V k and W k, respectvely. Then, Eq. (47) becomes as follows: mn fmnfv k þ q k D; W k þ q k Dgg k¼0k mn fmnfv k ; W k gg k¼0k ¼ mnf mn fv k þ q k Dg; mn fw k þ q k Dgg k¼0k k¼0k mnf mn fv k g; mn fw k gg: ð48þ k¼0k k¼0k Frst, consder the case that mn k¼0k fv k g P mn k¼0k fw k g. In ths case, Eq. (48) becomes as follows: mnf mn fv k þ q k Dg; mn fw k þ q k Dgg k¼0k k¼0k mn fw k g 6 mn fw k þ q k Dg mn fw k g k¼0k k¼0k k¼0k ¼ mn r k þ q k D r1 þ W RT k¼0k q max ðb mþ1 Þ mn r k qk k¼0k q max r1 þ W RT ðb mþ1 Þ 6 mn r k þ q k D r1 þ W RT k¼0k q max ðb mþ1 Þ W RT ðb mþ1 Þðfrom Eq: ð42þþ

¼ mn r k k¼0k þ q k D r1 q max ¼ S ðd þ x Þðfrom Eq: ð36þþ: Next, consder the other case that mn k¼0k fv k g < mn k¼0k fw k g. In ths case, Eq. (48) becomes as follows: mnf mn fv k þ q k Dg; mn fw k þ q k Dgg k¼0k k¼0k mn fv k g 6 mn fv k þ q k Dg mn fv k g k¼0k k¼0k k¼0k ¼ mn k¼0k fcm;k mn k¼0k fcm;k þ q k ðbmþ1 þ q k ðbmþ1 þ x þ DÞg þ x Þg 6 mn k¼0k fcm;k þ q k ðbm þ x þ DÞg mn k¼0k fcm;k þ q k ðbm þ x Þg ðby Lemma 3Þ 6 S ðd þ x Þðfrom Eq: ð45þþ: Lemma 5. Assume that a servce curve S ðþ s allocated by Eq. (17) for a Kðr; qþ sesson. Let x be the frst tme pont at whch the servce curve S ðþ has a non-zero value. At the mth backlogged tme pont b m, consder an updated deadlne curve D ðb m ; Þ. Then, E ðb m ; Þ s reduced as follows: E ðb m ; tþ ¼D ðb m ; t þ x Þ for t P b m : ð49þ K. Pyun et al. / Computer Networks 43 (2003) 669 694 687 D ðb m ; t þ x Þ D ðb m ; tþ. In addton, S ðt 0 tþ ¼0 snce t 0 t < x and for u < x, S ðuþ ¼0. Thus, for t 0 2ðt; t þ x Š, D ðb m ; t0 Þ D ðb m ; tþ S ðt 0 tþ 6 D ðb m ; t þ x Þ D ðb m ; tþ: ð52þ Next, consder the other case that t 0 s greater than t þ x. Let t 0 be equal to ðt þ x þ hþ where h s a postve number. Then, D ðb m ; t0 Þ D ðb m ; tþ S ðt 0 tþ ¼ D ðb m ; t þ x þ hþ D ðb m ; tþ S ðx þ hþ: ð53þ Snce t P b m and h > 0, by Lemma 4, D ðb m ; t þ x þ hþ D ðb m ; t þ x Þ 6 S ðx þ hþ: ð54þ From Eqs. (53) and (54), D ðb m ; t þ x þ hþ D ðb m ; tþ S ðx þ hþ 6 D ðb m ; t þ x Þ D ðb m ; tþ: ð55þ Thus, for t 0 > t þ x, D ðb m ; t0 Þ D ðb m ; tþ S ðt 0 tþ 6 D ðb m ; t þ x Þ D ðb m ; tþ: ð56þ Proof. Gven the servce curve S ðþ, at the mth backlogged tme pont b m, the elgble tme curve s updated as follows: E ðb m ; tþ ¼D ðb m ; tþ þ½max ðd ðb m t 0 ; >t t0 Þ D ðb m ; tþ S ðt 0 tþþš þ for t P b m : ð50þ For notatonal convenence, let us defne F ðb m ; Þ as follows: F ðb m ; tþ ¼½max ðd ðb m t 0 ; >t t0 Þ D ðb m ; tþ S ðt 0 tþþš þ for t P b m : ð51þ To prove the lemma, we show that F ðb m ; tþ becomes equal to D ðb m ; t þ x Þ D ðb m ; tþ. Frst, consder the case that t 0 2ðt; t þ x Š. (Skp ths case f x s zero.) Snce D ðþ s a non-decreasng functon, D ðb m ; t0 Þ D ðb m ; tþ s less than or equal to Fnally, usng Lemma 5, we show n the followng theorem that the cost to update each elgble tme curve and that to calculate an elgble tme become all constant. Theorem 6. Gven a servce curve allocated by Eq. (17) for a real-tme sesson, at each backlogged tme pont, the elgble tme curve can be updated n a constant tme. In addton, subsequent elgble tme calculatons from the nverse of the elgble tme curve can also be done n a constant tme. Proof. Frst, we prove that updatng each elgble tme curve can be done n a constant tme. It s suffcent to show that the elgble tme curve E ðb m ; Þ presented n Lemma 5 can be updated n a constant tme. By Lemma 5, at the mth backlogged tme pont b m, E ðþ s updated as follows: E ðb m ; tþ ¼D ðb m ; t þ x Þ for t P b m : ð57þ

688 K. Pyun et al. / Computer Networks 43 (2003) 669 694 To update E ðb m ; Þ n Eq. (57), we have only to shft D ðb m ; tþ for t P bm þ x to the left by x.as mentoned earler, D ðb m ; tþ for t P bm þ x s a concave pecewse lnear curve, whch requres to mantan a fxed number of changng tme ponts and slopes. Shftng such a curve can be done n a constant tme. Next, we show that elgble tme calculatons can be done n a constant tme. The elgble tme of each packet s calculated from the nverse of E ðb m ; Þ f bm s the last backlogged tme pont. Note that snce E ðb m ; Þ s obtaned by shftng a concave pecewse lnear curve D ðb m ; Þ, E ðb m ; Þ s also concave pecewse lnear. So, the cost for computng elgble tmes s constant. 6. Smulaton experments In ths secton, we show, through a smulaton study, that f H-FSC adopts our servce curve allocaton scheme, t can acheve a hgh level of network utlzaton. We consder three schedulng algorthms,.e., the generalzed H-FSC whch adopts our allocaton scheme, the H-FSC wth the scheme proposed n [22], and the multrate algorthm proposed n [16] whch uses multple servce rates lke our scheme. To compare the level of network utlzaton, we measure and compare the number of sessons admtted by the three algorthms. We consder varous MPEG-coded vdeo traces 3 for the experments. Table 1 presents the characterzed traffc envelope functons for the MPEG vdeos. In the table, the frst three vdeos are move, the next three are sports, and the last two are news and talk vdeos. Each frame s of 384 288 pxels. The frame rate s 25 frames per second. Each vdeo conssts of 40,000 frames whch s equvalent to approxmately half an hour. We have measured the maxmum szes of I, B, and P frames. The encodng pattern of all the MPEG vdeos s IBBPBBPBBPBB. We have characterzed all the vdeos wth 3ðr; qþ envelope 3 These traces can be found n ftp-nfo3.nformatk.unwuerzburg.de/pub/mpeg. functons usng the maxmum szes of each frame type. We have measured the number of vdeos each algorthm can admt wth varous delay bound requrements. The lnk bandwdth s fxed to 100 Mbps. The maxmum packet sze s assumed to be 1500 bytes. 4 Fg. 14 llustrates the number of the Jurassc Park vdeos each algorthm can admt wth 11, 22, 45, and 90 ms delay bound requrements. We do not present the results wth other vdeos snce they show smlar results. In Fg. 14, the generalzed H-FSC outperforms both the H-FSC and the multrate algorthm. In the fgure, the shorter the delay bound requrement becomes, the more vdeos the generalzed H-FSC can admt compared to the H- FSC. For example, when the delay bound s 11 ms, the generalzed H-FSC can admt about three tmes that the H-FSC can. Thus, the advantage of the generalzed H-FSC becomes very clear for on-lne real-tme applcatons, e.g., vdeo phone and vdeo conferencng. Such onlne applcatons usually requre a very short end-to-end delay bound. Stored applcatons such as vdeo-on-demand may tolerate a longer end-to-end delay. The generalzed H-FSC s much benefcal even for stored applcatons. Even though a long delay can be tolerated for such applcatons, the delay whch should be met n a router becomes qute tght snce there are multple routers n a wde-area network and the gven end-to-end delay bound should be dstrbuted over multple routers. Comparng the H- FSC and the multrate algorthm, one s better than the other dependng on the dfferent delay bound requrements. If the delay bound requrement s short, the multrate algorthm outperforms the H-FSC, whle wth a long delay bound requrement, the H-FSC s better than the multrate algorthm. 4 The multrate algorthm was studed n the ATM network n whch all packets have the same sze of 53 bytes. Thus, n the case of the multrate algorthm, all packets are assumed to have the sze of 53 bytes.