Tải bản đầy đủ (.pdf) (25 trang)

Tài liệu Mạng lưới giao thông và đánh giá hiệu suất P19 docx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (275.27 KB, 25 trang )

19
QUALITY OF SERVICE PROVISIONING
FOR LONG-RANGE-DEPENDENT
REAL-TIME TRAFFIC
ABDELNASER ADAS
Conexant, Inc., Newport Beach, CA 92660
AMARNATH MUKHERJEE
Knoltex Corporation, San Jose, CA 95157
19.1 INTRODUCTION
19.1.1 Overview
Network support for variable bit rate (VBR) video needs to consider (1) properties of
workload induced (e.g., signi®cant autocorrelations into far lags and heterogeneous
marginal distributions), and (2) application-speci®c bounds on delay-jitter and
statistical cell-loss probabilities. This chapter presents a quality-of-service (QoS)
solution for such traf®c at each multiplexing point in a network. Heterogeneity in
both-offered workload and quality-of-service requirements are considered. The
network is assumed to be cell-switched with virtual circuits (VCs) similar to that
in ATM networks. Chapter 16 discusses an alternative approach for provisioning for
long-range-dependent (LRD) traf®c. See also the work of Heyman and Lakshman
(Chapter 12) and Li and Li (Chapter 13).
19.1.2 Correlated Traf®c and Its Implications
Studies on a range of video applications indicate that there exists a slowly decaying
autocorrelation structure in the underlying stochastic processes [3, 7, 8, 12, 19, 21].
Self-Similar Network Traf®c and Performance Evaluation, Edited by Kihong Park and Walter Willinger
ISBN 0-471-31974-0 Copyright # 2000 by John Wiley & Sons, Inc.
481
Self-Similar Network Traf®c and Performance Evaluation, Edited by Kihong Park and Walter Willinger
Copyright # 2000 by John Wiley & Sons, Inc.
Print ISBN 0-471-31974-0 Electronic ISBN 0-471-20644-X
Providing guarantees on maximum-delay, delay-jitter, and cell-loss probabilities (or
some other measure of cell loss) in the presence of such traf®c is nontrivial,


especially if the coef®cient of variation of the marginal distribution (or the
distribution tail) is large. This is because such traf®c signi®cantly increases queue
length statistics at a multiplexer [2, 5, 8, 16±18, 20].
As an illustration, consider the performance of a ®nite-buffer queue. Let the
arrival process be a fractionally differenced autoregressive moving average process:
1 À f
1
BD
d
X
t
 E
t
;
where
 f
1
0 < f
1
< 1 represents an exponentially decaying autocorrelation compo-
nent;
 d 0 < d <
1
2
 represents a hyperbolically decaying autocorrelation component;
fE
t
g is white noise, that is, uncorrelated; and
 B is the backward shift operator, that is, BX
t

 X
tÀ1
.
The correlation structure of X
t
can be controlled by changing f
1
and d. Figure
19.1 shows the mean cell loss versus number of frame buffers for three input
correlation structures with approximately the same coef®cient of variation $0:24.
A frame buffer is the maximum number of cells that can be transmitted by the output
channel in a given time interval (frame time).
Fig. 19.1 Mean number of cells dropped for different dependency structures in the work-
load. (a) Mean utilization  0.9; (b) mean utilization  0.8. The model form used is a
fractionally differenced ARIMA1; d; 0 process [13]: 1 Àf
1
BD
d
X
t
 E
t
.
482
QUALITY OF SERVICE PROVISIONING FOR LRD REAL-TIME TRAFFIC
The solid line showing a slow decay is for a long-memory input traf®c sequence.
The dashed line in the middle is for traf®c with short memory. The line with the
smallest mean cell loss corresponds to a near white noise stream. Note that mean cell
loss decays very slowly with increasing buffer size for traf®c with a slowly decaying
autocorrelation function. Qualitatively similar observations have been reported

elsewhere [2, 5, 8, 16±18, 20].
19.1.3 Summary of the Proposed Architecture
This chapter introduces a per-virtual-circuit (per-VC) framing structure and a
pseudo-earliest-due-date cell dispatcher to provide guaranteed delay-jitter bounds.
Heterogeneous jitter bounds are supported through software-controlled frame sizes,
which may be independently set of each VC. The framing structure is a general-
ization of per-link framing introduced by Golestani. The proposed framing structure
eliminates correcting for phase mismatches between incoming frames and outgoing
frames, necessary in per-link framing. This results in reduction in end-to-end delay
bound and buffer requirements, and a simpler implementation.
Strong autocorrelations typically seen in video traf®c make equivalent bandwidth
computations for heterogeneous cell-loss bounds intractable. To address this, the
framing strategy is combined with an active cell-discard mechanism with prioritized
cell-dropping, the latter utilizing the history of dropped cells and target cell-loss
bounds for each VC. Upper bounds on the equivalent bandwidth needed to support a
given workload with a target quality of service are developed. These are validated
through numerical and simulation results from variable bit rate MPEG-I video
traces.
A high-level view of the proposed architecture is as follows.
1. A Framing Structure on a Per-VC Basis. To provide heterogeneous delay-jitter
bounds, a framing structure is induced on VCs, similar to that in Golestani [9±11].
(Differences between the two approaches are described later.) Consider a virtual
circuit (VC), i, with a desired delay-jitter bound M
i
. The frame structure splits time
for this VC into juxtaposed intervals of length M
i
at each multiplexing point. Cells
from VC i that arrive in a given frame at a multiplexer are buffered, and not
transmitted until the beginning of the next frame time. If suf®cient capacity is

available to transmit these cells in the next interval, all cells arrive at the next hop
within an interval of length M
i
. This way, they are guaranteed to meet a delay-jitter
bound of M
i
. Also, if H
i
is the number of hops for VC i, and D
i
is a bound on the
one-way propagation and processing delay, all cells that make it to the receiver are
guaranteed an end-to-end delay bound of H
i
M
i
 D
i
.
2. Priority Scheduling. Cells at an output queue that are ready to go contend for
bandwidth and have competing delay-jitter bounds and cell-loss probability
bounds. A priority scheduler addresses these concerns. For delay-jitter bounds, the
scheduler follows an earliest due-date principle with modi®cations to enhance
algorithmic ef®ciency. For cell-loss bounds, it uses a minimum guaranteed capacity,
19.1 INTRODUCTION 483
C
i
cells=frame for VC i, with the rest of the cells, if any, scheduled on a
nonguaranteed basis. C
i

is based on (i) marginal distribution of #cells=frame, (ii)
maximum acceptable probability of cell loss in a frame, and (iii) the equivalent
bandwidth of all VCs in this jitter class. The C
i
are computed by the equivalent-
bandwidth unit described in Item 4 below.
3. An Active Cell-Discard Unit. If there are excess cells left over from a frame at
the multiplexer after the corresponding frame time is over, it is likely that this is due
to persistence in the arrival process as suggested by the solid lines in Fig. 19.1. These
cells are likely to cause increased delay for cells in successive frames. Since buffering
does not reduce cell loss signi®cantly for persistent traf®c, we may elect to either toss
them right away or mark them as low-priority cells and discard them on demand.
The active cell-discard unit reclaims (or marks as old) cells that do not get
transmitted in their frame time. It is activated at the end of each frame.
An important side effect of using the active cell-discard unit is that it simpli®es
computation of equivalent bandwidth for correlated traf®c (especially for hetero-
geneous cell-loss bounds), while achieving high utilization through statistical
multiplexing.
4. Equivalent Bandwidth Computations. Algorithms for computing upper
bounds on equivalent bandwidths are developed. They address heterogeneous cell-
loss probabilities and heterogeneous jitter classes.
The computation decomposes traf®c by their jitter requirements. All connections
requiring a given delay-jitter are grouped into a class. For each jitter class, let
E
k
k  0; 1; 2;  be the desired mean cell-loss ratio of a subset of connections k.
An iterative algorithm approximates the total capacity needed to meet fE
k
g. Also,
virtual capacities C

k
k  0; 1; 2;  are computed. All groups of connections
specifying E
k
are guaranteed a bandwidth of C
k
in every frame time if they need it.
However, unused portions of virtual capacities are available to other connections.
5. Miscellaneous
 Frames may be implemented on a per-VC basis. Frames from different VCs
need not be synchronized.
 Per-VC framing and active cell-discard may be implemented ef®ciently
through associative matching of cell tags similar to that in processor pipelines
(Section 19.2.2).
 The frame size for each VC is software setable, so delay-jitter bounds may be
negotiated over a continuum (at the granularity of cell transmission time). Also,
unlike per-link framing (see Section 19.1.4), the frame size of a given VC is
not constrained by frame sizes of other active VCs.
 The minimum capacity guarantee per frame, C
i
for each VC i provides
protection from misbehaving or malfunctioning VCs.
 A call admission unit will use the equivalent bandwidth algorithms to
determine if a speci®c cell can be admitted without violating quality-of-service
guarantees of other calls (or if an important call must be admitted, which calls
to disconnect). The call-admission unit is beyond the scope of this chapter.
484 QUALITY OF SERVICE PROVISIONING FOR LRD REAL-TIME TRAFFIC
19.1.4 Relationship with Stop-and-Go Queueing
Per-VC framing has been derived from Stop-and-Go Queueing described in
Golestani [9±11]. The primary enhancements are as follows.

1. Framing is induced on a per-VC basis instead of a per-output-link basis; see
Figs. 19.2 and 19.3. Per-VC framing eliminates the need for correcting for
phase mismatches between incoming frames and outgoing frames at a multi-
plexer and signi®cantly simpli®es its implementation. As we shall see in
Section 19.3, per-VC framing also reduces the maximum queueing delay by
half and cuts buffer requirements by one-third at a switch, while retaining the
same delay-jitter bound per-link framing.
2. Once cells from a frame become active (i.e., not dormant, waiting for their
next frame time), they compete with active cells from other VCs for the output
link. The algorithms that decide on which active cells to transmit and when,
and which cells to drop, are necessitated by the need to meet heterogeneous
Fig. 19.3 Arriving and departing frames for VC i when framing is induced on a per-VC
basis. Frames of different VCs need not be synchronized.
Fig. 19.2 Arriving frames and departing frames when framing is induced in a per-link basis.
The phase mismatch between arriving and departing frames is corrected through delay
circuits.
19.1 INTRODUCTION 485
cell-loss bounds and heterogeneous delay-jitter bounds simultaneously. They
also provide a ®rewall across connections (protection from misbehaving
sources). These algorithms are new.
In Golestani [9], the objective was to support no-loss transmission with
heterogeneous delay-jitter bounds. The latter were integral multiples of the
smallest jitter bound supported. Golestani showed that a preemptive priority
scheduler with highest priority to the smallest jitter class could meet all jitter
bounds if suf®cient capacity was available. Golestani [11] also presented a
solution that allowed for cell losses for a single jitter class (®xed delay-jitter
bound).
In the general case of meeting heterogeneous delay-jitter bounds with
potential cell losses, however, the scheduler needs to follow (i) an earliest due-
date principle and (ii) a cell-drop policy that takes into account current

observations on dropped-cells per VC, and heterogeneous cell-loss bounds
across VCs. See Section 19.2.3.
3. The original Stop-and-Go Queueing requirements that a traf®c stream declare
its r; T-smooth
1
parameter is dropped. This trades off higher utilization for a
lossless network. For a long-memory input stream, the average rate over a
small interval, T , can be signi®cantly higher (or lower) that its overall average
rate, so r would need to be the peak rate for lossless transmission and would
result in signi®cantly low utilizations. In the current proposal, cell losses,
while allowed, will be reduced through statistical multiplexing across virtual
circuits and controlled through equivalent bandwidth computations.
4. No-loss transmission can be guaranteed in the proposed architecture if desired;
see Section 19.4.3. However, the emphasis is on ef®cient statistical multi-
plexing that can also guarantee speci®ed cell-loss bounds.
19.1.5 Outline
The rest of this chapter is organized as follows. Section 19.2 presents the proposed
architecture. It includes (1) per-VC framing with active cell-discard and (2) cell
dispatching to meet the heterogeneous delay-jitter and cell-loss guarantees for
heterogeneous VCs (with heterogeneous marginal distributions and autocorrelation
structures). Section 19.3 presents maximum-delay bound, delay-jitter bound, and
buffer requirements for per-VC framing and compares the results with per-link
framing. Section 19.4 addresses upper bounds on equivalent bandwidth needed to
meet heterogeneous delay-jitter requirements and heterogeneous cell-loss probability
bounds, presents numerical and simulation examples, and shows that loss-free
transmission may be achieved for desired VCs. Section 19.5 presents related
work. Section 19.6 presents our conclusions.
1
An r; T-smooth stream was de®ned as one where the average bit rate over a time interval T did not
exceed r. Equivalently, the number of bits over nT; n  1T did not exceed rT, for all integer n.

486 QUALITY OF SERVICE PROVISIONING FOR LRD REAL-TIME TRAFFIC
19.2 PROPOSED ARCHITECTURE
19.2.1 Framing on a Per-Virtual-Circuit Basis Versus Per-Link Basis
Enforcing framing on a per-link basis [9±11] results in a phase mismatch at a switch
between arriving frames on input links and departing frames on output links. This
phase mismatch is due to different propagation delays on different input links. As
shown in Fig. 19.2, the arriving frames on input link 1 and departing frames on the
output link have a phase mismatch of y
1d
, while the arriving frames on input link 2
have a phase mismatch with respect to the output link of y
2d
.
To correct for a phase mismatch, additional delay circuitry is necessary. Also, the
admissible set of frame sizes is constrained. For example, all frame sizes are
considered integer multiples of a base frame size in Golestani [9]. A simpler
approach is to adopt a per-VC framing, without concern for what the frame sizes are,
and whether or not the frames from different VCs are synchronized with respect to
each other; see Fig. 19.3. As we will show in Section 19.3, per-VC framing, in
conjunction with active cell-discard and an appropriate scheduler, retains the
advantages of per-link framing, while improving on performance bounds and
functional ¯exibility. For example, if VC i's frame size is M
i
, and the number of
hops is H
i
, per VC framing provides the same delay-jitter bound, M
i
, as per-link
framing, a reduction in maximum-delay bound by an amount H

i
M
i
, and a maximum
buffer requirement that is one-third lower. Also, in conjunction with the cell
dispatcher described in Section 19.2.3, it guarantees heterogeneous cell-loss
bounds for correlated traf®c. Functional ¯exibility includes ability to set and
modify admissible jitter classes at run time, and not be constrained to an integer
multiple of a base frame size.
Hardware support for ef®cient and ¯exible implementation of per-VC framing
with active cell-discard is discussed next.
19.2.2 Implementation of Per-Virtual-Circuit Framing with Active Cell
Discard
The objective is to induce a framing structure on top of cells of a given VC, and for
the multiplexer to actively discard (or mark as old) cells that are not served during
their assigned frame time.
In order to allow for ¯exibility of application-speci®ed jitter bounds, the
frametime should be software setable (e.g., it may be negotiated during connec-
tion-open). It should then be set to the connection's delay-jitter tolerance. One may
allow for adjusting the frame time during the lifetime of a VC, if desired.
Issues that need to be addressed for per-VC framing, and active cell-discard are as
follows.
1. Frame Identi®cation Across Nodes (where Nodes Refer to Switches and End
Points). Cells transmitted during the tth frame t  0; 1; 2;  by a node must be
recognized as belonging to frame t by the next downstream node. An alternating bit
19.2 PROPOSED ARCHITECTURE 487
sequence number distinguishing cells in adjacent frames is suf®cient if the sequence
number is generated at the transmitter. Old cells, if implemented, will be marked by
the ®rst multiplexer where a jitter deadline is missed.
2. Frame-clock Generation. For the ith VC, one needs a step-down counter,

initialized under software control, to the maximum number of cells that constitutes
its frame time. Let this number be M
i
. The counter is to be fed with a clock that runs
at the speed of cell transmission at the output link. On each clock cycle (at cell
granularity), the counter must count down one tick until it hits zero. At this point, it
will need to generate a frame-clock signal and reset itself to M
i
.
3. Cell Tagging. A cell arriving during frame t for VC i will not be eligible for
service until frame t 1 for the same VC. It is, therefore, assigned a state, dormant,
on arrival. See Fig. 19.4(a). When the next frame-clock signal arrives, the cell is
ready to be transmitted, so its state needs to be changed to active. If it still remains in
the queue when the following frame-clock signal arrives, it is old, and now there are
two possibilities. One strategy is simply to discard the cell and reclaim its buffer. A
second strategy is to change its state to old and keep it eligible for transmission on a
best-effort basis. In ATM networks, cells need to be delivered in sequence, so it
might be simplest to discard the old cells.
To simplify the discussion for what happens next, let us assume that active cells
that are not transmitted in their frame time are discarded. Then, at any given time,
cells belonging to frames t and t  2 will never be simultaneously present at the
multiplexer output queue, and all that is necessary is to distinguish between cells of
frames t and t  1. A single bit, therefore, suf®ces to distinguish between active and
dormant cells.
Fig. 19.4 Implementing per-VC framing with active cell-discard.
488
QUALITY OF SERVICE PROVISIONING FOR LRD REAL-TIME TRAFFIC
Assume that during frame t, dormant cells are represented by a 0 and active cells
have been marked 1 in the previous cycle. On a new cell arrival, the multiplexer
needs to attach to it a tag identifying its VC and its frame number (in this case 0), set

its valid bit to 1, and forward it to the output queue. See Fig. 19.4(b). The valid bit's
function is to help discard cells, similar to the action of ¯ushing a cache memory on
a context switch. In a fast cell-switched, VC network, a switch would implement a
tagging scheme for VC identi®ers anyway, so additional circuitry needed is small.
On the next frame clock, the entire output queue would be fed with two logical
signals, one to deactivate the active cells that did not get transmitted during their
allotted frame time (due to lack of available capacity), and one to activate the
dormant cells. See Fig. 19.4(c). Both of these can be achieved by associatively
matching cell tags with an identi®er representing the appropriate VC and its state.
The primary difference between this and off-the-shelf content-addressable memories
is that more than one match is likely, especially for dormant cells. On a match,
activie cells mark themselves invalid by setting their valid bits to 0; the dormant
cells move to the active state and are ready to be transmitted. At this point, they
move under the control of the cell dispatcher, which must decide on a strategy that is
consistent with the overall goals of delay-jitter and statistical cell-loss bounds.
A convenient model for the buffer memory organization is to view it as a set of
logical queues, one per VC, with a sequence number distinguishing active and
dormant cells. All old cells may potentially be grouped into one logical queue, as
discussed below.
19.2.3 Cell Dispatcher
The cell dispatcher is responsible for (1) scheduling and (2) transmitting active and
(potentially) old cells. Dormant cells are not within its purview. From the dispatch-
er's perspective, the active cells for each VC are assumed to be logically organized as
a queue (see Fig. 19.5(a)). The old cells (implemented optionally) are organized
either as separate queues or as a single queue. In either case, they are served on a
best-effort basis and may be reclaimed before they are served to accommodate new
cell arrivals.
The dispatcher consists of two concurrent units, a scheduler and a transmitter.
The scheduler allocates cell times to active cells of individual VCs and decides
which cells are to be dropped if contentions for capacity arise. The transmitter

transmits them (and old cells if all active queues are empty and old cells are waiting).
The scheduler will guarantee transmission of at least C
i
cells=frame for connection
i i  1; ; K, where K is the number of active VCs at the multiplexer. The
computation of the C
i
is based on cell-loss requirements for different VCs and their
marginal distributions, and is presented in Section 19.4. The scheduler and the
transmitter share a circular buffer that represents channel allocations in the future.
This circular buffer is presented below as a linear array for convenience of
exposition. Let this data-structure be called channel_image. Channel_image
n records the ID of one VC. If channel_imagen equals i, the transmitter will
19.2 PROPOSED ARCHITECTURE 489
transmit from the head of the active queue corresponding to VC i at time n. This will
be modi®ed below after the basic algorithm is presented.
The scheduler is activated on every new frame activation, that is, on a frame
clock. Let the new frame activation be at time n. (See Fig. 19.5(b).) Let the
corresponding VC be i, the frame length (jitter bound) be M
i
, the number of cells
in the current active frame be m
i
, and the minimum number of cells guaranteed to be
transmitted from this VC in this frame be C
i
. Channel_image records the action
to be taken by the transmitter in future slots. The scheduler either marks the slots in
channel_image with a VC identi®er or leaves them empty. If it does mark a slot,
it also records whether the transmission is to be guaranteed or not-guaranteed. If a

slot is marked not-guaranteed, it may be reclaimed at some point in the future to
serve a different VC (as described in Section 19.2.3.1).
The scheduler's task is as follows. Assume that it is activated on VC i's frame
clock. The time window in the future over which the m
i
active cells need to be
transmitted is n  1, n  M
i
]. (The nth slot is kept aside for the transmission to
begin transmitting.) The scheduler follows the following algorithm.
(a) Beginning with n M
i
, going down to n 1, the scheduler attempts to ®nd
the largest k
i
m
i
slots that are empty in channel_image n M
i

through channel_image n  1, and marks each with the current VC, i.
(b) If (k
i
C
i
){
guaranteed_cells[i]=k
i
;
not_guaranteed[i]=0;

}else{
guaranteed_cells[i]=C
i
;
not_guaranteed[i]=k
i
-C
i
;
}
Fig. 19.5 Cell dispatcher's view. (a) Queue of active cells for each VC plus a queue of old
cells. This is used by the transmitter unit. (b) Channel_image. This is shared by the
scheduler and the transmitter units.
490
QUALITY OF SERVICE PROVISIONING FOR LRD REAL-TIME TRAFFIC
(c) If k
i
 m
i
, the scheduler's allocation task for this frame is done. Else, it needs
to pick at most m
i
À k
i
 slots and at least C
i
À k
i
 slots in channel_
image n 1 through channel_image n M

i
 that are marked, but not
necessarily guaranteed, and overwrite them with i. Each slot overwritten
represents a cell loss for the corresponding VC. Since this would give priority
to some VCs over others when the number of active cells exceeds the
capacity available (for meeting deadlines), the policy used must balance
from fairness and cell-loss commitments. The dropping policy is described
below.
19.2.3.1 Dropping Policy Let the negotiated mean cell-loss ratio of VC i be E
i
,
and the estimated cell-loss ratio at time n be
^
E
i
n. Let S
i
nE
i
=
^
E
i
n. Yang and Pan
[24] have proposed a dropping policy where, if an incoming cell arrives to a full
buffer (in our case, full channel_image), the scheduler will search the buffer for
the VC j that has the largest S
j
n and discard one of its cells. If the arriving cell
belongs to VC j itself, then that cell will be dropped. The authors show that using

the largest S
j
n is optimal in bandwidth utilization among all stationary, space-
conserving loss-scheduling schemes. It is also optimal among all stationary
scheduling strategies when cell-loss requirements of all VCs are equal (see Yang
and Pan [24]).
We modify this strategy to guarantee a minimum C
i
cells=frame for individual
VCs and replace negotiated mean cell-loss ratio with negotiated over¯ow probability.
Continuing from the point just after (c) in the cell-dispatcher's algorithm:
(d) If k
1
< C
i
, the scheduler needs to overwrite at least C
i
À k
i
cells belonging to
other VCs in channel_image. It selects VCs fjg with
(not_guaranteed[j]> 0, starting with the largest S
j
n, and updating
S
j
n as described in Yang and Pan [24]. In all cases, the number of erased
cells is decremented from not_guaranteed[j]. guaranteed_-
cells[i] is incremented by the corresponding amount. The latter should
be equal to C

i
at the end of this step. This is because the equivalent bandwidth
algorithm described in Sectin 19.4.1.2 ensures that
P
i
C
i
is always less than
or equal to available capacity. Therefore, if a cell is to be dropped,
P
jTi
not guaranteedj!C
i
À k
i
:
(e) If m
i
> C
i
, then from the previous step, C
i
cells have been scheduled. An
additional l
i
cells 0 l
i
m
i
À C

i
 may be scheduled, in which case
not_guaranteed[i] will be set to l
i
. The scheduler schedules these
cells only if there exists a j such that (not_guaranteed[j]> 0) and
S
j
n > S
i
n.
(f) S
i
n is updated with the number of dropped cells in this fame, if any, that is,
with m
i
À C
i
À l
i
.
19.2 PROPOSED ARCHITECTURE 491
The above cell dispatcher guarantees a minimum capacity C
i
in each frame for
VC i. Extra capacity, if available, will be used by other VCs without interference
from the dispatcher's dropping policyÐuntil the sum of arrivals ®lls up chan-
nel_image, that is, exceeds the total output link capacity. This way, if the number
of arrivals in a frame for some VC is less than the allocated capacity for it, the extra
capacity may be used by other VCs on a nonguaranteed basis.

If the output link capacity is exceeded, however, the dropping policy prioritizes
the nonguaranteed cells of different VCs in accordance with their current S
j
Á values.
With upper-bound computations of equivalent bandwidths (Section 19.4), and
typical low cell-loss requirements expected, the dropping policy is not expected to
be called upon too frequently. Simulation results comparing it with one that drops
nonguaranteed cells on a last-in-®rst-out (LIFO) basis (i.e., newly active non-
guaranteed cells that ®nd a full channel-image) are given in Section 19.4.1.3.
19.2.3.2 Transmitter The transmitter works as follows. At time n,
1. If channel_imagen is not empty, let i  channel_image [n]. The
transmitter transmits an active cell from the queue corresponding to VC i, and
goes to Step 3.
2. If channel_imagen is empty, however, the transmitter proceeds to the
next nonempty slot n
H
> n. If no such n
H
exists, it proceeds to Step 4. Else it
transmits an active cell from the queue corresponding to VC recorded
in channel_imagen
H
 and marks this slot empty. Let this VC identi®er
be i.
3. If (guaranteed_cells[i] > 0)
guaranteed_cells [i] guaranteed_cells[i] 7 1;
else
not_guaranteed[i] not_guaranteed[i] 7 1;
4. If all future slots are empty, it transmits an old cell if such an option is
implemented. Note that this option cannot be implemented without additional

considerations in a network that requires cells to be transmitted in order.
19.2.3.3 Rationale The algorithms for ®lling and emptying the channel_
image[] data structure reduce the number of lost deadlines among current and
future active cells. For the discussion below, refer to Fig. 19.5(b).
Assume that the current time is n. The scheduler reserves slots beginning with
time n  M
i
down to n 1. This ensures that slots near time n are available for VCs
activated at some time in the future with deadlines earlier than n  M
i
, that is, having
smaller delay-jitter bounds. Since the objective is to ensure that active cells of VC i
are transmitted at or before time n M
i
, this strategy would meet more deadlines
than if its cells were allocated from time n 1 upward.
The transmitter scans channel_image[] in ascending slot order (making
necessary modulo arithmetic corrections for a circular buffer implementation). If slot
n is nonempty, it transmits a cell from the corresponding VC recorded in
492 QUALITY OF SERVICE PROVISIONING FOR LRD REAL-TIME TRAFFIC
channel_image[] (see Section 19.2.3.2, transmitter Step 1). If, however, it ®nds
this slot empty, it scans for the ®rst nonempty slot in channel_image[]. If one is
found, it transmits an active cell from the corresponding VC (see Section 19.2.3.2,
transmitter step 2). This ensures that bandwidth gets utilized if there are active cells
waiting in queue. The probability of contention for a future slotÐshould a new
frame clock arrive from another VCÐis lower as well. The scheduler's Steps (b)±(f)
and the transmitter's Step 3 ensure the following.
 Firewall Protection. A minimum capacity of C
i
is available to VC i in a frame

if it needs it. This is true regardless of other VCs sharing the output link.
 Ef®cient Capacity Utilization. If VC i needs less than C
i
slots in a frame, the
unused capacity is available to other VCs sharing that output link.
 Fairness. If cells must be dropped, selecting VCs fjg with larger S
j
balances
cell losses among connections equitably over timeÐat least as measured by
S
j
E
j
=
^
E
j
.
The scheduler±transmitter pair implements a pseudo-earliest-due-date schedule
with a minor difference: if the scheduler ®nds a slot n
H
marked with VC j when it is
allocating slots for VC i, it may allocate a cell n
HH
< n: for VC i, even though i
H
s
deadline is potentially greater than that of j. This does not violate the deadlines for
either of two VCs, but does increase the likelihood of dropping a cell from VC j. The
alternative is to shift j's slots to the left and allocate channel_imagen

H
 to i at a
higher implementation cost.
The reason for keeping slot n out of reach of the scheduler's view is to enable the
transmitter to schedule timely transmission during the current slot. Also, the
transmitter may need to have priority over the scheduler in its access=writing to
the channel_image[] data structure.
19.3 MAXIMUM DELAY, DELAY-JITTER, AND BUFFER
REQUIREMENTS
19.3.1 Maximum Delay and Delay-Jitter Performance
Cells that arrive in the ``arriving'' frame T
i
a
are transmitted on the output link in the
next ``departing'' frame, T
i1
d
, if capacity is available, as shown in Fig. 19.3. If
capacity is not available, they are either dropped or marked old. For per-VC framing,
T
i1
d
starts at the same time that T
i
a
ends.
Let the frame size for VC i be M
i
, and de®ne the end-to-end delay of a cell as the
time difference between its arrival at the destination node and its arrival at the source

node. The total end-to-end delay of a cell, W
i
may be expressed as
W
i
 D
i
 X ; 19:1
19.3 MAXIMUM DELAY, DELAY-JITTER, AND BUFFER REQUIREMENTS 493
where D
i
is a constant delay for all cells of VC i, and X is a random variable that
varies from cell to cell. The value of X corresponds to the delay-jitter [10]. The range
of X is the maximum delay-jitter [10] and is bounded by
ÀM
i
< X < M
i
: 19:2
The delay, D
i
, consists of two terms:
D
i
 t
i
 H
i
M
i

; 19:3
where H
i
is the total number of links between the source and the destination for VC
i, and t
i
is the end-to-end propagation and processing delay for VC i. Compare Eq.
(19.3) to the constant delay term of framing on a per-link basis given in Golestani
[10]:
D
i
 t
i
 H
i
à M
i

P
H
h1
y
i
h
;d
h
; 19:4
where y
i
h

;d
h
is the phase mismatch between incoming and outgoing links for VC i at
link h. This phase mismatch is due to different propagation delays among different
incoming links. It is bounded by 0 y
i
h
;d
h
< M
i
. Therefore, D
i
in per-link framing is
bounded by
D
i
t
i
 2H
i
M
i
: 19:5
Hence the maximum-delay bound in per-VC framing is reduced by H
i
M
i
. This is
half the maximum queueing delay of per-link framing. Delay-jitter bounds for both

are the same.
19.3.2 Buffer Requirements
Consider a VC i for which at most A
i
cells may arrive in a frame length M
i
.As
depicted in Fig. 19.6, the worst-case buffering scenario will occur if:
1. During the arriving frame T
i
a
, A
i
cells arrive;
2. A new frame clock arrives soon after that, at time t;and
3. Another A
i
cells arrive immediately following time t in frame T
i1
a
.
The framing structure guarantees that no more cells from VC i will arrive at the
multiplexer until the next frame clock at t  M
i
. Not counting old cells, a
maximum of 2A
i
cells, therefore, need to be buffered for VC i at each multiplexer.
For framing on a per-link basis, the corresponding buffer requirement is 3A
i

cells
[10], that is, 1.5 times larger than that for per-VC framing.
494 QUALITY OF SERVICE PROVISIONING FOR LRD REAL-TIME TRAFFIC
19.4 EQUIVALENT BANDWIDTH
We next compute upper bounds on the capacity needed for guaranteeing desired
over¯ow probabilities, fE
i
g, in the presence of per-VC framing with active cell-
discard. We also compute the minimum guaranteed capacity, fC
i
g, used by the cell
dispatcher in Section 19.2.3. The over¯ow probability, E
i
, is de®ned as
E
i
 Pfa cell from VC i is dropped in a frameg:
19.4.1 Equivalent Bandwidth for Homogeneous Delay-Jitter Bounds
In the presence of active cell-discard, homogeneous delay-jitter bounds imply that all
VCs have the same frame size. We consider the following two cases separately: (1)
homogeneous cell-loss guarantees and (2) heterogeneous cell-loss guarantees. For
the latter case, all virtual circuits with the same cell loss requirement are grouped
into the same class.
19.4.1.1 Scenario 1: Equal Cell-Loss Probability Requirements This is the
trivial case and is included for completeness. Let the number of connections be N,
and let E
i
 E for all i. Let all frames be synchronizedÐwhich is a worst-case
scenario for cell losses. Let X
1

; ; X
N
be the number of cell arrivals from
connections 1 through N, in a given frame. Let
S
N
 X
1
ÁÁÁX
N
:
Let f
x
x be the probability density function of X
k
, k  1; ; N. Let f
S
N
x be the
probability density function of S
N
. Assuming that traf®c across connections are
mutually independent, f
S
N
x is the convolution of the f
k
x terms:
f
S

N
xf
1
xf
2
xÁÁÁf
N
x: 19:6
Fig. 19.6 Worst-case scenario for number of cells that need to be buffered.
19.4 EQUIVALENT BANDWIDTH 495
The minimum bandwidth required is the 1 ÀEth quantile of the distribution of S
N
.
For large N , using the central limit theorem, f
S
N
x is approximated by
f
S
N
x%
1

2p
p
s
e
ÀxÀm
2
=2s

2
;
where m 
P
N
k1
m
k
and s
2

P
N
k1
s
2
k
. m
k
and s
k
are the mean and standard
deviation of X
k
, respectively. In this case (large N), since C is the 1 ÀEth quantile
of a normal distribution with mean m and standard deviation s, we may equivalently
set Z S
N
À m=s, and if z
1ÀE

is the 1 ÀEth quantile of a standard normal
distribution, C is given by
C  m z
1ÀE
s: 19:7
For small N, Eq. (19.6) needs to be used instead. Note that the value of C calculated
in Eqs. (19.6) and (19.7) represents the capacity needed such that the cell-loss
probability for the aggregate traf®c S
N
E. A dropping policy is needed to distribute
cell losses fairly among VCs so that the individual VCs meet their cell loss
requirements.
The following set of experiments compare the proposal cell-drop policy of
Section 19.2.3 with a simpler policy (described below). Rose's MPEG-I video
traces [22] were used to drive the simulations. Three video connections were
assumed to require an identical cell-loss probability bound E. The necessary
equivalent bandwidth for the aggregate was computed using Eq. (19.6), and
scheduling was performed either by the dropping policy described in Section
19.2.3 or by the last-in-®rst-out (LIFO) policy. In LIFO, newly active nonguaranteed
cells that found channel_image[] full were dropped. Table 19.1 shows the
results for two different values of E. Surprisingly, the dropping policy of Section
TABLE 19.1 Comparison of the Proposed Dispatcher and a Simple Last-In-First-Out
Cell Dispatcher for Distributing the Loss Fairly Among Individual VCs
a
Experiment
Number Video Trace E Desired
E Delivered
(Proposed Dispatcher)
E Delivered
(LIFO)

I Terminator 0.01 0.0099 0.0026
Gold®nger 0.01 0.0098 0.0121
Soccer 0.01 0.0097 0.0104
II Terminator 0.001 0.000923 0.00171
Gold®nger 0.001 0.000981 0.000931
Soccer 0.001 0.000926 0.000739
a
The numbers indicate that additional controls over a simple LIFO dispatcher is necessary.
496 QUALITY OF SERVICE PROVISIONING FOR LRD REAL-TIME TRAFFIC
19.2.3 is able to guarantee E for individual VCs while LIFO is not. Both dropping
policies dropped exactly the same total number of cells.
19.4.1.2 Scenario 2: Heterogeneous Cell-Loss Proabability Requirements Con-
sider two different classes of traf®c with desired upper bounds on cell-loss
probabilities, E
1
and E
2
, respectively. Multiple VCs with same delay-jitter bound
(frame size) and cell-loss probability requirement are considered part of the same
class. Let f
X
i
x
i
i  1; 2 be the density function for the number of bits=frame
transmitted by class i. The following two methods are upper-bound estimates, with
progressively tighter bounds and increased computational complexity. The algorithm
below generalizes to more than two classes.
Alternative 1 The simplest upper bound on equivalent bandwidth is the sum of
equivalent bandwidths for each E

i
i  1; 2, computed in isolation. The minimum
bandwidth required for class i is the 1 ÀEth quantile of X
i
, that is, the smallest C
i
that satis®es

I
C
i
f
X
i
x
i
 dx
i
E; 19:8
and the equivalent bandwidth is C 
P
i
C
i
. This approach does not consider the
statistical multiplexing gains across different classes and overestimates the true
equivalent bandwidth needed. The following algorithm gives a tighter upper bound.
Alternative 2 Let f
X
1

;X
2
x
1
; x
2
 be the joint density of f
X
1
x
1
 and f
X
2
x
2
. We assume
that traf®c classes are spatially independent, that is, f
X
1
;X
2
x
1
; x
2
f
X
1
x

1
f
X
2
x
2
.An
algorithm for computing a tighter equivalent bandwidth estimate as follows.
If there are K classes, the bandwidth needed for class k at iteration n is computed
as follows (compare this to Eq. (19.9)):
PX
k
C
n
k
PC
n
k
< X
k

P
i
C
i
À
P
iTk
X
i

!
! 1 À E
k
19:13
The second term in Eq. (19.13) considers only the case when the total arrivals of all
connections in a frame is less than the total capacity. It is possible to not drop any
cell from connection k, even if the total number of arrivals is greater than the total
capacity. Therefore, the equivalent bandwidth computation above is an upper bound.
19.4 EQUIVALENT BANDWIDTH 497
ALGORITHMÐALTERNATIVE 2
1. Initialize C
i
in accordance with Eq. (19.8). Let D be a (small) quantum of
capacity that may be subtracted from C
i
i  1; 2. Let C
0
i
 C
i
i  1; 2,
and let the iteration step n  1.
2. Set C
n
i
 C
nÀ1
i
À D i  1; 2. Set boolean variable tryagain to TRUE.
3. The probability that no cells will be dropped from class 1 is the probability

that the arrivals from class 1, X
1
, is less than C
1
OR X
1
is greater than C
1
but the total arrivals in the frame, X
1
 X
2
C
1
 C
2
. Therefore, we need
to check if
PX
1
< C
n
1
PC
n
1
< X
1
C
n

1
 C
n
2
À X
2
!1 ÀE
1
19:9
A F
X
1
C
n
1


C
n
2
0

C
n
1
C
n
2
Àx
2

C
n
1
f
X
1
x
1
 f
X
2
x
2
 dx
1
dx
2
! 1 À E
1
19:10
A

C
n
2
0
F
X
1
C

n
1
 C
n
2
À x
2
ÀF
X
1
C
n
1
 f
X
2
x
2
 dx
2
! 1 À E
1
À F
X
1
C
n
1

A


C
n
2
0
F
X
1
C
n
1
 C
n
2
À x
2
 f
X
2
x
2
 dx
2
! 1 À E
1
À F
X
1
C
n

1
1 ÀF
X
2
C
n
2

19:11
If inequality (19.11) is not satis®ed, mark tryagain FALSE.
4. Analogous to Eq. (19.11), check if the following is satis®ed:

C
n
1
0
F
X
2
C
n
1
 C
n
2
À x
1
 f
X
1

x
1
 dx
1
! 1 À E
2
À F
X
2
C
n
2
1 À F
X
1
C
n
1

19:12
If Eq. (19.12) is not satis®ed, mark tryagain FALSE.
5. If tryagain is TRUE go to Step 2. Else go to Step 6.
6. A tight upper bound on the equivalent bandwidth is C
nÀ1
1
 C
nÀ1
2
.
19.4.1.3 Numerical Results and Simulation

Equivalent Bandwidth Calculation Alternatives 1 and 2 were compared using the
MPEG-I video traces mentioned earlier. Table 19.2 shows the equivalent bandwidths
needed for three of the traces (Terminator, Gold®nger, and Soccer) with one VC per
connection when all of them belonged to the same jitter class (same frame size) and
needed different cell-loss probabilities. The marginal distribution of each trace
appeared to be a Gamma distribution, so a ®tted Gamma was used in the equivalent
bandwidth computations. The numerical integration was evaluated using Mathema-
tical Software package. Alternative 2 resulted in approximately 40% savings for
498 QUALITY OF SERVICE PROVISIONING FOR LRD REAL-TIME TRAFFIC
these experiments. Note that without framing and active cell-discard, developing a
solution for heterogeneous E
1
; E
2
; E
3
 is nontrivial.
Effectiveness of the Firewall fC
i
g and Dropping Policy The effectiveness of
guaranteeing a minimum capacity C
i
per frame for class i and the dropping policy is
evaluated next to the context of heterogeneous E values. This is achieved through
trace-driven simulation. The scenario was as follows.
 MPEG-I video traces shown in Table 19.3 were used as input to the simulations.
 Their C
i
were calculated using Alternative 2.
 The dispatcher was either the pseudo-earliest-due-date dispatcher described in

Section 19.2.3 or LIFO for comparison purposes.
In the experiments, each class had one connection. Also, the traces were phase-
shifted randomly to ensure that they were mutually unsynchronizedÐotherwise, one
would have to consider correlated streams.
Recall from Section 19.2.3, that when channel_image[] was full, the cell
dispatcher gave preference to classes fjg that had not yet received at least C
j
cell
allocations in the current frame, and among those that did receive C
j
, to those with
smaller current estimates of the ratio S
j
Á.
The performance of the algorithm is shown in Table 19.3. Results for a simple
last-in-®rst-out (LIFO) dropping policy is also shown for comparison purposes. In
TABLE 19.3 Performance of the Proposed Cell Dispatcher for Heterogeneous
Cell-Loss Probabilities, fE
i
g
Experiment E
i
Delivered E
i
Delivered
Number Video Trace E
i
Desired (LIFO) (Proposed Dispatcher)
I Terminator 0.01 0.0008 0.0039
Gold®nger 0.001 0.0012 0.00096

Soccer 0.0001 0.0011 0.00009
II Terminator 0.002 0.0014 0.0019
Gold®nger 0.003 0.0020 0.0029
Soccer 0.001 0.0018 0.0007
TABLE 19.2 Comparison of Alternatives 1 and 2
a
Cell-Loss Probabilities
a
E
1
; E
2
; E
3

Alternative 1 Capacity
(kbits=frame)
Alternative 2 Capacity
(kbits=frame)
Bandwidth
Reduction
1:5 Â 10
À2
; 2 Â10
À2
; 10
À2
 256 150 0.41%
2 Â 10
À3

; 3 Â10
À3
; 1 Â10
À3
 388 220 0.43%
10
À2
; 10
À3
; 1 Â10
À4
 460 280 0.39%
a
E
1
; E
2
, and E
3
represent the cell-loss probabilities for Terminator, Gold®nger, and Soccer, respectively.
19.4 EQUIVALENT BANDWIDTH
499
LIFO, newly active nonguaranteed cells that found the channel_image full were
dropped. The results show a need for the priority scheduler.
19.4.2 Equivalent Bandwidth for Heterogeneous Frames
Let there be L delay-jitter classes, each with a different delay-jitter bound and
corresponding frame size. Let n
l
l  1; ; L be the number of connections
belonging to class l. For class l in isolation, the aggregate capacity needed to meet

prescribed cell-loss probabilities may be computed in accordance with Section
19.4.1. Let C
l
be the capacity needed for class l traf®c. Then an upper bound on
capacity needed for all classes is
P
l
C
l
.
19.4.3 Loss-Free Transmission
Per-link framing was originally designed for loss-free transmission [9]. Per-VC
framing can achieve the same if desired.
To see this, consider ®rst a single jitter class, that is, let all VC have the same
frame size, T . The total output link capacity allocated in #cells=T will be
C
T
!
P
K
i1
C
i
, where K is the number of admitted VCs that have frame size T,
and C
i
is the number of cells guaranteed for VC i in each frame T.
Let j 1 j K be one of the admitted VCs. Let a new frame clock arrive for
VC j at time t. The scheduling algorithm described in Section 19.2.3 will ®nd at least
C

j
slots between t; t  T in its channel_image[] that are either empty or
marked as not guaranteed. This is because
 the total number of slots in channel_image[t+1] through channel_
image[t+T] is at least C
T
;
 C
T
!
P
K
i1
C
i
;
 Since VC jsnewframe clock just arrived, at least C
j
of the C
T
slots in
channel_image[t+1] through channel_image[t+T] are either
empty or marked as not guaranteed.
Therefore, the scheduler will not need to overwrite any entry in channel_
image[] that has already been scheduled as guaranteed for some other VC; that
is, if VC j transmits at most C
j
cells=T, all its cells will be transmitted.
This logic extends to multiple jitter classesÐthe capacity allocated to any VC is
guaranteed to be available to it in every frame if it needs it.

19.5 RELATED WORK
A number of algorithms for quality-of-service provisioning inside a network have
been proposed. Examples include Delay-Earliest-Due-Date (Delay-EDD) [6],
Hierarchical Round Robin [14], Jitter-Earliest-Due-Date (Jitter-EDD) [23], Stop-
and-Go Queueing [9, 10], Virtual Clock [25], and Weighted Fair Queueing [4].
500 QUALITY OF SERVICE PROVISIONING FOR LRD REAL-TIME TRAFFIC
Formulas for end-to-end delay bounds for Virtual Clock and Weighted Fair
Queueing when input traf®c is leaky-bucket constrained are given in Zhang [26].
Since video sources typically exhibit a slowly decaying autocorrelation function, the
leaky-bucket rate parameters will need to be close to peak rates in order to achieve
acceptable delay bounds. This will necessitate operating a network at low utilization
levels.
In Delay-EDD, each source declares three parameters: X
min
, X
av
, and I, where
X
min
is its smallest packet interarrival time, X
av
is its average packet interarrival time,
and I is the averaging interval. Delay-EDD uses the worst case X
min
to guaranteed a
deterministic end-to-end delay bound. This algorithm requires operating a network at
low utilization levels as well.
Virtual Clock, Weighted Fair Queueing, and Delay-EDD can bound end-to-end
delay but not delay-jitter.
Jitter-EDD, Hierarchical Round Robin, and Stop-and-Go Queueing can guarantee

both end-to-end delay bound and delay-jitter bound. Jitter-EDD uses the same traf®c
characterization X
min
, X
av
, I ) as Delay-EDD. Hierarchical Round Robin and Stop-
and-Go Queing characterizes traf®c using a rate r over a frame time T.
In this chapter, we have extended the framing strategy by:
1. Inducing frames on VCs instead of that on links. This reduces the end-to-end
delay and the buffer requirement at intermediate multiplexers. It also enables
the implementation of software setable heterogeneous jitter bounds.
2. Providing mechanisms for meeting heterogeneous cell-loss bounds through a
coupling between equivalent bandwidth computations and a pseudo-earliest-
due-date scheduler.
Implementing framing on a per-VC basis is simple and feasible and is described
in Section 19.2.2. It requires a tag per cell to identify its state (dormant, active,or
old),aframe clock to move cells among states, and mechanisms to prioritize and
transmit active cells and discard old cells.
Framing on a per-link basis is discussed in Golestani [9, 10]. Synchronizing
frames from multiple input links onto an outgoing frame requires some additional
delay circuitry.
Framing on a per-VC basis is simpler and more ¯exible because of the following:
 There is no need to ensure that frames from different connections be
synchronized in time.
 Frames do not need to be integer multiples of a base frame size.
 Frame sizes do not need to be etched in hardware. They can be set at connect-
time and may admit adjustments in software. It is expected that the frame times
would be determined by desired jitter bounds.
Is it feasible to provide the marginal distribution of every virtual circuit? This
largely depends on the effort undertaken to characterize different classes of traf®c.

19.5 RELATED WORK 501
Experience with current variable bit rate video traf®c suggests that marginals follow
a distribution that is approximately at Gamma=Pareto combination [8]. If this model
form holds in the general case, or if speci®c model forms apply to speci®c classes of
applications (e.g., all video-conferencing applications may belong to one class, all
basketball games may belong to another class), the multiplexer needs to be informed
of the parameter estimates and model forms for each VC. The accuracy of the model
form and parameter estimates would determine the accuracy of the C
i
computed.
19.6 CONCLUSION
Variable bit rate video traf®c exhibits a slowly decaying autocorrelation function
[3, 7, 8, 21]. The latter has been shown to signi®cantly increase queue-length
statistics at a multplexer, especially if the marginal distribution is heavy-tailed
[2, 5, 8]. Increasing buffer size also makes guaranteeing bounds on maximum-
delay, delay-jitter, and cell-loss probabilities dif®cult.
These observations motivate the need for per-VC framing with active cell-
discard. These, in conjunction with the priority cell-dispatcher and the equivalent
bandwidth computation unit proposed in this chapter, can provide the following
guarantees.
 They can provide guaranteed bounds on maximum-delay, delay-jitter, and cell-
loss probabilities at each multiplexer, even if the bound requirements are
different for different VCs.
 They can meet these bounds for heterogeneous traf®c types (different
autocorrelation structures and marginals).
The proposed architecture does not resort to strict reservations, as, for example, in
time-division-multiplexed systems, to achieve these goals. It exploits statistical
multiplexing across VCs to increase multiplexer utilization, while simultaneously
guaranteeing the quality-of-service bounds. In addition, it allows the delay-jitter
bound to be set over a continuum for each VC.

Per-VC framing, in conjunction with the priority cell dispatcher and active cell-
discard has the following properties:
 The framing structure guarantees a maximum end-to-end delay bound and a
delay-jitter bound for any network topology [10].
 Compared to per-link framing, it reduces the end-to-end delay bound by H
i
M
i
,
which is half the maximum queueing delay.
 It reduces the buffer requirement at each multiplexing point by one-third as
compared to per-link framing.
 It supports hetereogeneous delay-jitter bounds.
 It simpli®es computing upper bounds on equivalent bandwidth necessary for
guaranteeing heterogeneous cell-loss probabilities.
502 QUALITY OF SERVICE PROVISIONING FOR LRD REAL-TIME TRAFFIC
 It is able to exploit statistical multiplexing across different connections and yet
guard against large queue lengths caused by correlated traf®c. This is because
(1) the tail of the aggregate distribution of a sum of sources is smaller than the
tail of an individual source (standard advantage of packet switching), (2) the
framing structure protects packets in future frames from being delayed by
packets in previous ones even if the arrival process is correlated, and (3) the
dispatcher guarantees a minimum number of cell transmissions C
i
 for each
VC i, per frame, and C
i
takes into account the VCs required cell-loss ratio and
its marginal distribution.
 The implementation of framing with associative tags adds only a moderate

cost.
 Frames from different VCs need not be synchronized to meet desired quality-
of-service objectives.
The cell dispatcher implements:
 A pseudo-earliest-due-date priority discipline for scheduling active cells with
the help of the channel_image[] data-structure.
 A priority cell-drop mechanism that determines which active cells to drop in
case channel_image[] is full. It does so based on (1) the ratio S
j
Á  E
j
=
^
E
j
,
and (2) the minimum capacities C
i
to be provided to each VC per frame. The
C
i
are calculated by the equivalent bandwidth unit.
Cell-drop scheduling based on maximum S
j
Á has been shown to be optimal in band-
width utilization among stationary, space-conserving loss-scheduling mechanisms
by Yang and Pan [24]. In conjunction with the pseudo-earliest-due-date component,
it attempts also to provide a minimum number of lost deadlines. The minimal
capacity component, C
i

, has two functions:
 It provides a ®rewall for VCs from connections j,withlowS
j
Á. The latter can
result from long periods of small transmissions followed by a large surge of
arrivals. Note that this is possible for well-behaved long-memory traf®c that is
not necessarily misbehaving or malicious.
 It enables computation of tighter equivalent bandwidths. In Alternative 2 in
Section 19.4.1.2, Eq. (19.13), the tighter upper-bound computation assumes
that an amount C
i
will be available for VC i if it needs it.
ACKNOWLEDGMENTS
The authors wish to thank Jamal Golestani of Bell Laboratories and Biswanath
Mukherjee of the University of California at Davis for their suggestions.
ACKNOWLEDGMENTS 503
REFERENCES
1. A. Adas and A. Mukherjee. Providing heterogeneous quality of service bounds for
correlated video at a multiplexor. Perf. Eval., pp. 45±65, March 1999 (Preliminary version
presented at Proceedings of the SPIE, Performance and Control of Network Systems, pp.
155±167, Dallas, November 1997.)
2. A. Adas and A. Mukherjee. On resource management and QoS guarantees for long-range
dependent traf®c. In Proc. IEEE INFOCOM'95, pp. 779±787, April 1995.
3. J. Beeran, R. Sherman, M. S. Taqqu, and W. Willinger. Long-range dependence in variable-
bit-rate video traf®c. IEEE Trans. Commun., 43:1566±1579, 1995.
4. A. Demers, S. Keshav, and S. Shenker. Analysis and simulation of a fair queuing
algorithm. In Proc. ACM SIGCOMM'89, pp. 1±12, September 1989.
5. A. Erramilli, O. Narayan, and W. Willinger. Experimental queuing analysis with long-
range dependent traf®c. Preprint, September 28, 1994.
6. D. Ferrari and D. Verma. A scheme for real-time channel establishment in wide-area

networks. IEEE J. Select. Areas Commun., pp. 368±379, April 1990.
7. M. Garrett. Contributions toward real-time services on packet-switched networks. Ph.D.
Thesis, Columbia University, 1993.
8. M. Garrett and W. Willinger. Analysis, modeling and generation of self-similar VBR video
traf®c. In Proc. ACM SIGCOMM'94, pp. 269±280, 1994.
9. S. J. Golestani. A Stop-and-Go Queuing framework for congestion management. In Proc.
ACM SIGCOMM'90, pp. 8±18, September 1990.
10. S. J. Golestani. A framing strategy for congestion management. IEEE J. Select. Areas
Commun., pp. 1064±1077, September 1991.
11. S. J. Golestani. Duration-limited statistical multiplexing of delay-sensitive traf®c in packet
networks. In Proc. IEEE INFOCOM'91, pp. 323±332, 1991.
12. C. Huang, M. Devetsikiotis, I. Lambadaris, and A. Kayes. Self-similar modeling of
variable bit-rate compressed video: a uni®ed approach. In Proc. ACM SIGCOMM'95,Vol
25, Number 4, October 1995.
13. J. R. M. Hosking. Modeling persistent in hydrological time series using fractional
differencing. Water Resources Res., 20(12):1898±1908, 1984.
14. C. R. Kalmanek, H. Kanakia, and S. Keshav. Rate controlled servers for very high speed
networks. In Proc. IEEE GLOBECOM'90, 1990.
15. J. Kurose. On comuting per-session performance bounds in high-speed multihop computer
networks. In Proc. ACM SIGMETRICS'92, pp. 128±139, June 1992.
16. S. Q. Li and C. L. Hwang. Queue response to input correlation functions: discrete spectral
analysis. IEEE=ACM Trans. Networking, 1(5):522±533, October 1993.
17. S. Q. Li and C. L. Hwang. Queue response to input correlation functions: continuous
spectral analysis. IEEE=ACM Trans. Networking, 2(6): 678±692, December 1994.
18. M. Livny, B. Melamed, and A. K. Tsiolis. The impact of auto-correlation on queueing
systems. Manage. Sci., pp. 322±339, March 1993.
19. A. Mukherjee and A. Adas. An MPEG2 traf®c library and its properties.
http:==www.knoltex.com=papers=mpeg2Lib.html.
20. I. Norros. On the use of fractional Brownian motion in the theory of connectionless
networks. IEEE J. Select. Areas Communi. 13(6):August 1995.

504
QUALITY OF SERVICE PROVISIONING FOR LRD REAL-TIME TRAFFIC
21. P. Pancha and M. El Zarki. Variable bit rate video transmission. IEEE Commun. Mag.,
32(5):54±66, May 1994.
22. O. Rose. Statistical properties of MPEG video traf®c and their impact on traf®c modeling
in ATM systems. University of Wuerzburg, Institute of Computer Science Research Report
Series, Report No. 101, February 1995.
23. D. C. Verma, H. Zhang, and D. Ferrari. Delay jitter control for real-time communication in
a packet switching network. Technical Report 90±007, International Computer Science
Institute, University of California, Berkeley, January 1991.
24. T. Yang and J. Pan. Measurement-based loss scheduling scheme. In Proc. IEEE INFO-
COM'96, pp. 1062±1071, March 1996.
25. L. Zhang. A new architecture for packet switching network protocols. Ph.D. Thesis, MIT,
Department of Electrical Engineering and Computer Science, August 1989.
26. H. Zhang. Service disciplines for guaranteed performance service in packet-switching
networks. Proc. of IEEE, 83(10):October 1995.
27. H. Zhang and E. W. Knightly. Providing end-to-end statistical performance guarantees with
bounding interval dependent stochastic models. In Proc. ACM SIGMETRICS'94,
pp. 211±220, May 1994.
REFERENCES 505

×