1
To appear in Computer Networks and ISDN Systems, 1993
Performance of Inter-Media Synchronization in Distributed and Heterogeneous Multimedia Systems P. Venkat Rangan, Srinivas Ramanathan, and Thomas Kaeppner Multimedia Laboratory Department of Computer Science and Engineering University of California at San Diego La Jolla, CA 92093-0114 E-mail:
[email protected] Phone: (619) 534-5419 Fax: (619) 534-7029
1 Introduction 1.1 Multimedia On-Demand Services The past decade has witnessed phenomenal advances in networking technologies; With the implementation of packet switching in hardware, the 10 Mbps Ethernet of yesteryears has paved way for ATM and other broadband networks that promise to offer bandwidths ranging from several hundred Mbps to several Gbps [17]. Progress in the networking sphere has been paralleled by equally impressive strides in storage technologies; disk arrays with Terabyte capacities are beginning to emerge. These advances are motivating the design of a wide spectrum of sophisticated multimedia services such as multimedia mail, news distribution, entertainment, distance learning, and digital libraries [2, 6, 14], all of which involve recording of digitized media information onto multimedia servers and subsequent retrieval of this information on demand by clients over integrated networks to their display sites. The development of multimedia services over integrated networks offers many research challenges in the areas of storage architectures [14] and communication protocols [11, 19]. One such problem, that owes its origin mainly to the presence of multiple media components (such as video and audio) is inter-media synchronization [15]; the quintessential requirement for synchronization is “lip-sync” in movies. The design of techniques for synchronous access to multimedia services over integrated networks is the subject matter of this paper.
2
1.2 Problem of Inter-Media Synchronization In order to ensure inter-media synchronization, the temporal relationships that existed among different media components of a multimedia object at the time of recording must be preserved at the time of playback. These temporal relationships may either be implicit, as in the simultaneity of recording of the different media components at their respective capture sites, or may be explicitly specified, as in the case of a multimedia document consisting of video images and textual subtitles. Whereas, Intrinsic or Continuous synchronization refers to preserving implicit temporal relationships among continuously generated media components, Extrinsic or Discrete Event synchronization refers to enforcing explicitly specified relationships at discrete points. Our efforts in this paper focus on techniques for continuous synchronization during recording and retrieval of multimedia objects at multimedia servers accessed over networks. Continuous synchronization can be easily ensured when synchronous channels are used for media communication (as in television broadcasts, for instance) and there are no rate mismatches between the media capture and display sites. Neither of these conditions may hold in digital multimedia systems that are distributed and heterogeneous. Take the simple case of retrieval of a multimedia object from a multimedia server to several destinations on a network, with each destination possibly playing back one of the media components (see Figure 1). The network may impose widely differing communication delays between the server and different destinations. Even the communication delays between the server and the same destination may vary non-deterministically as a result of dynamic changes in network characteristics. There may be also be variations in recording and playback rates owing to heterogeneity in clients’ media capture and display sites: clients’ media sites may range from full-fledged multimedia workstations that can run sophisticated software, to simple videophones and audiophones (both of which we will, henceforth, refer to as Mediaphones) that have the bare minimum functionality of analog/digital conversion but lack the sophistication to run elaborate global clock synchronization protocols [7]. In the face of all such variations, at the time of retrieval of a multimedia object from a multimedia servers, the media components may fall out of synchrony soon after the start of their playback. Hence, additional techniques are essential for preserving inter-media synchronization in such distributed and heterogeneous environments, which we explore in this paper.
1.3 Relation to Previous Work The problems in media synchronization are just being recognized. Steinmetz [16] presents a set of programming constructs for expressing inter-media relationships. Little et al. [9] present Petri net based models for formally describing synchronization requirements among media streams. Both these efforts address the problem of media synchronization at a much higher level than what we have addressed in this paper. Anderson et al. [1] describe algorithms for recovering from loss of synchronization between interrupt-driven media I/O devices, which are mainly applicable to single-site multimedia workstations. Escobar et al. [4] present media synchronization protocols that adapt to dynamic changes in network delays, but assume that the destinations run globally synchronized clocks.
3
.
Multimedia Server
ATM Switch
Multimedia workstation
Videophones
Figure 1: A multimedia server connected to clients’ workstations and ISDN mediaphones by an integrated metropolitan area network
In comparison, in this paper, we focus on techniques for inter-media synchronization during on-demand multimedia retrieval from a server to multiple destinations over integrated networks. These techniques differ from the clock synchronization techniques of Mills [10] in that media synchronization does not require the clocks of the recording and playback mediaphones to be synchronized, but only requires that the temporal relationships that existed at the time of recording be enforced at the time of playback. When a multimedia object has been recorded at different mediaphones, at different times, synchronization of the clocks of the mediaphones used for playback is not sufficient for ensuring synchronous multimedia retrieval, and may, in fact, be counterproductive. An in-depth comparison of the problems of media synchronization and clock synchronization is presented in Reference [12].
1.4 Our Contributions In the synchronization techniques we devise, at the time of recording of a multimedia object, the multimedia server determines temporal relationships between the media components of the object. In order to do so, the multimedia server creates a Relative Time System in which media units digitized and transmitted by various media capture sites are assigned relative time stamps (RTSs) indicating their temporal position relative to media units of a master media component. (All other media components take on the roles of slaves). For enforcing synchronization at the time of playback, we propose a technique in which the multimedia server uses light-weight periodic messages (called feedback units) transmitted back to it by the display sites to track their respective playbacks. Upon detection of asynchrony amongst the display sites, the multimedia server initiates corrective action, by deleting or duplicating media units of the slave streams. There are various resynchronization policies ranging from conservative, which reacts only when playback is guaranteed to be asynchronous, to aggressive, which reacts as soon as there is even a slight chance that
4
playback is asynchronous, that the multimedia server can employ to detect and correct asynchrony. Between the extremes of conservative and aggressive policies, there are predictive resynchronization policies that exploit the periodicity of media recording and playback to determine RTS values more accurately, and thereby to detect and correct playback asynchronies more precisely. Alternatively, when statistical distributions of network delays are known, probabilistic resynchronization policies can be employed. We present these policies and compare their performance for video-audio playback in various environments. These studies reveal that probabilistic policies perform consistently better at all levels of asynchrony, unlike aggressive policies which exhibit high reactivity and oscillatory behavior at low levels of asynchrony, and conservative policies which decline in effectiveness at high levels of asynchrony. Interestingly, predictive policies match probabilistic policies in their effectiveness when clock drifts are low (as is usually the case in practice), without imposing the same computational demands as probabilistic policies. The rest of the paper is organized as follows: Section 2 describes the system architecture of a multimedia service. Section 3 presents techniques by which a multimedia server can compute RTS intervals of media units being recorded. Section 4 presents the feedback mechanism which enables the multimedia server to detect asynchronies during media playback. Section 5 evaluates the performance of various resynchronization that the multimedia server can employ. A casual reader may skip the formal theory associated with the development of probabilistic policies in Section 4, and focus on the extensive performance results of Section 5, without loss of continuity. Finally, Section 6 concludes the paper.
2 System Architecture For purposes of this paper, we abstract the system architecture of a multimedia service to consist of a multimedia server and ISDN mediaphones P1 , P2 ,..., Pm , all of which are connected by an integrated broadband network. Let
denote the nominal period of each media unit being recorded or played back at any mediaphone, and denote its maximum fractional drift relative to the multimedia server. These drifts are small enough for us to neglect higher powers of and thereby approximate
? to (1 + ) and 1+ to (1 ? ). As a result, the actual period (n) 1
1
1
of a media unit n (the value n denotes the sequence number assigned to a media unit depending upon its position
in the media stream) varies between (1 ? ) and (1 + ).
Asynchronous Transfer Mode (ATM) networks, which are emerging as the preferred means for multimedia transmission, can guarantee bounds on the variations in network delays [5, 8, 18]. Therefore, we assume that the broadband network interconnecting the multimedia server with the mediaphones imposes non-deterministic communication delays bounded between ∆min and ∆max . Consequently, a media unit nm that is recorded and transmitted by a mediaphone Pm at time tr (nm ) experiences a network delay of ∆r (nm ) (∆min
∆r (nm )
tr (nm ) + ∆r (nm ) (see Figure 2(a)). Similarly, during playback, a media unit nm which is transmitted by the multimedia server at time tp (nm ) and which experiences a network delay of ∆p (nm ) (∆min ∆p (nm ) ∆max ) reaches a mediaphone at time p (nm ), where p (nm ) = tp (nm ) + ∆p (nm ). As a convention, all time measurements are assumed to have been mapped ∆max ) and reaches the multimedia server at time r (nm ), where r (nm )
=
5
onto the clock of the multimedia server, with subscripts
r and p denoting values at the time of recording and
playback, respectively. For time measurements for which there may be uncertainties in exact values (usually, arising out of variations in network delays and recording/playback rates), superscripts e and l are used to denote their earliest and latest estimates. Table 1 summarizes all of the above definitions and conventions. Symbol
tr (n) tp (n) ∆(n)
∆min ∆max
r (n) p (n) sr (n) sp (n) a
Z
A Probthresh
Explanation Recording time of a media unit n at a mediaphone Playback time of a media unit n at a microphone Network delay of media unit n between a mediaphone and the multimedia server Minimum network delay of a media unit Maximum network delay of a media unit Arrival time at the multimedia server of media unit n recorded and transmitted by a mediaphone Arrival time at the multimedia server of a feedback unit transmitted concurrently with playback of media unit n at a mediaphone Nominal period of recording or playback of media units Fractional drift in recording or playback period RTS associated with media unit n during recording RTS associated with media unit n during playback Asynchrony between master and slave mediaphones during playback (in the presence of network jitter) Zero-jitter asynchrony: Asynchrony between master and slave mediaphones if the network jitter were to be zero a ? Z : Difference between asynchrony in the presence and absence of jitter Maximum tolerable asynchrony between master and slave mediaphones during playback Threshold probability of existence of asynchrony during playback
Unit sec sec sec sec sec sec sec sec sec fraction media unit media unit sec sec sec sec fraction
Table 1: Symbols used in this paper
3 Computation of RTS During Recording Consider the recording of a multimedia object at the mediaphones and its subsequent transmission on the network for storage at the multimedia server. Since the media components may be recorded at different sites, possibly at different times (e.g. audio dubbing), but may be required to be retrieved synchronously, the multimedia server represents the temporal relationships amongst these media components in the form of Relative Time Stamps (RTSs), where the RTS of a media unit ns is the media unit of a master component that could possibly
ns . From the above definition, it follows that the RTS of any master media unit nm is its sequence number, nm itself. Assigning RTSs to slave media units is, however, not
have been recorded concurrently with
as straightforward. Owing to the presence of non-deterministic network delays and rate mismatches amongst mediaphones, the multimedia server may not be able to precisely determine the recording times of media units at
6
the mediaphones, and hence, may only be able to assign RTS intervals (rather than unique RTS values) to slave media units. For doing so, whenever the multimedia server receives a media unit ns from a slave mediaphone
Ps, the server attempts to determine the possible temporal interval of recording of ns (relative to the master media component), by comparing the arrival time, r (ns ) of ns with the arrival time r (nm ) of the most recently received master media unit nm (from the master mediaphone Pm ) (see Figure 2(a)). Taking into account network delays, the multimedia server can estimate the earliest and latest possible recording times (ter and tlr ) of nm to be (see Figure 2(b)):
ter (nm ) = r (nm ) ? ∆max
(1)
tlr (nm ) = r (nm ) ? ∆min
(2)
Similarly, the earliest and latest possible recording times of ns can be determined to be:
ter (ns ) = r (ns ) ? ∆max
(3)
tlr (ns ) = r (ns ) ? ∆min
(4)
.
Multimedia server τ r (n s)
τ r (n ) m nm
e t r(n m)
ns
l t r(n m)
t r(n s)
t (nm) r
τr(nm) ∆min
Time
∆ max Master mediaphone
Slave mediaphone
(a)
(b)
Figure 2: (a) Recording of media units nm and ns from master and slave mediaphones, respectively, at the multimedia server; (b) Estimation of the earliest and latest possible recording times, ter (nm ) and tlr (nm ) of media unit nm , based on its arrival time r (nm ) at the multimedia server
Determination of the RTS interval of ns will be based on the above estimates of the earliest and latest
recording times of ns and nm . For the case when the range of recording times are non-overlapping (as in Figure 3(a)), the earliest master media unit, nm (see Figure 3(b)): and, the latest master media unit nm Figure 3(c)):
+
e that could have been recorded concurrently with ns must satisfy tlr (nm + e) = ter (ns )
+
(5)
l that could have been recorded concurrently with ns must satisfy (see ter (nm + l ) = tlr (ns )
(6 )
7 both of which together go to define ns’s RTS interval1 .
In order to solve for e and l , observe that the bounds on the variation in recording period of media units
can be used to estimate tlr (nm + e) and ter (nm + l ) from tlr (nm ) and ter (nm ), respectively, as follows:
ter (nm + e) = ter (nm ) + e (1 ? )
(7)
tlr (nm + l ) = tlr (nm ) + l (1 + )
(8)
Substituting these in Equations (5) and (6), and solving for e and l, we obtain:
e = tr (ns)(?1 +tr (n)m )
(9)
l = tr (ns)(?1 ?tr (n)m )
(10)
e
l
The RTS interval of ns is given by: e t r (nm)
l
e
ser (ns ); slr (ns )] with ser (ns ) = nm + e and slr (ns ) = nm + l .
[
l t r (nm)
(a)
e t r (n s)
e t r (n s)
l t r (n s)
e t (n + ν l ) r m (c)
Time
l t (nm+ νe) r
e t (nm+ νe ) r (b)
l t r (n s)
e t r (ns)
l t (n + νl ) r m l t r (ns)
Figure 3: Assignment of RTS interval [nm + e; nm + l ] for a slave media unit ns , based on a master media unit nm . (a) Relative positions of recording intervals of nm and ns ; (b) Determination of e; (c) Determination of l
4 Synchronous Playback At the time of playback, each of the media components of a multimedia object may be routed to different mediaphones on the network: the audio component may be played at an audiophone and the video component at a videophone. Owing to playback rate variations at the mediaphones, the temporal relationships that existed among media units at the time of their recording may not be automatically maintained during playback and must therefore be explicitly enforced [13]. For doing so, during playback of the multimedia object, the multimedia server recomputes the RTS interval of each slave media unit as manifested in its playback relative to the master. In order
1 The
assignment of RTS intervals when the ranges of recording times are overlapping is similar.
8
to enable the multimedia server to compute playback RTS intervals, the mediaphones transmit periodic messages (called feedback units) back to the server at the time of playback of each media unit. Since feedback transmission is concurrent with playback initiation of media units, upon receiving a feedback unit, the multimedia server can estimate the playback time of the corresponding media unit (using equations similar to (1)-(4)). Applying the very same techniques described in Section 3 (specifically, Equations (9) and (10)) on these playback time estimates, the multimedia server can compute the playback RTS intervals of slave media units. Mismatch between the recorded and playback RTSs of any slave media unit ns is symptomatic of asynchrony
between the master and slave mediaphones, at the time of playback of ns . The multimedia server restores synchrony
by deleting media units destined for transmission to a slower slave by the amount it lags behind the master, or by duplicating media units destined for a faster slave by the amount by which it leads the master. Consequently, slower slaves catch up with the master, and faster slaves are forced to wait for the master, with playback at the master always proceeding at its natural rate. Interestingly, since the multimedia server only maintains RTS intervals, rather than unique values, asynchrony may exist (but is not detectable) even if the recording and playback RTS intervals are equal. However, asynchrony is guaranteed to exist only when the two RTS intervals are non-overlapping. Resynchronization may be enforced either when there is certainty or when there is even a slightly detectable chance of asynchrony. Between these two extremes are a whole range of policies that are possible, both deterministic and probabilistic, which we explore in the next two sections.
4.1 Deterministic Policies for Resynchronization
ser (ns); slr (ns )] and [sep (ns); slp (ns)] denote the recorded and playback RTS intervals, respectively, of a slave media unit ns . The larger of the absolute differences, jslr (ns ) ? sep (ns )j and jser (ns ) ? slp (ns )j denotes the maximum possible asynchrony of the slave relative to the master, at the time of playback of ns. Given a tolerable
Let
[
A, the slave’s asynchrony is guaranteed not to exceed this limit only if neither of the absolute differences, jslr (ns ) ? sep (ns )j or jser (ns ) ? slp (ns)j exceeds A. On the other hand, an asynchrony in excess of A is guaranteed to exist if the playback RTS interval of the slave leads or lags its recorded RTS interval by at least A, i.e. ser (ns ) ? slp (ns ) > A, or sep (ns ) ? slr (ns ) > A. limit on the asynchrony
4.1.1 Conservative and Aggressive Policies A conservative policy takes remedial resynchronization action (such as deleting or duplicating media units destined for a slave mediaphone) only when asynchrony is guaranteed to exceed the tolerable limit. In order to steer the slave back to synchrony, the conservative policy adopts a "no risk" approach, in which the multimedia server deletes only that many media units of the slave so as to guarantee not to accentuate asynchrony. In a scenario in which the slave lags the master (see Figure 4), the number of media units deleted corresponds to the difference,
sep (ns) ? slr (ns ).
Analogously, when the slave leads the master, the multimedia server duplicates media units
corresponding to an RTS difference of ser (ns ) ? slp (ns ) in the transmission queue of the slave.
9
.
Recorded RTS interval se(ns ) r
Playback RTS interval sl (ns ) r
s e (ns ) p
s l (n ) p s
Figure 4: Recorded and playback RTS intervals of a slave media unit ns when the slave lags the master during playback
On the other hand, an aggressive policy tries to resynchronize a slave even if there is a slight chance that the
asynchrony exceeds the permissible limit A, i.e., either jslr (ns ) ? sep (ns )j > A or jser (ns ) ? slp (ns )j > A, which is equivalent to the condition:
max(jslr (ns ) ? sep (ns)j; jser (ns ) ? slp (ns )j) > A
(11)
A potential advantage of the aggressive policy is that it may detect asynchrony at the earliest instant, yielding a much lower asynchrony than the conservative policy, on an average. However, note that the real asynchrony may actually be within the tolerable limit whenever the recorded and playback RTS intervals are overlapping, even though Equation (11) is satisfied. Consequently, when adopting the aggressive policy, the multimedia server may trigger unnecessary resynchronizations of mediaphones. In many situations, it may even falsely conclude that asynchrony exists when it actually does not, in which case the resynchronization action it takes will accentuate the asynchrony. This is a "high risk" policy, in contrast to the "no risk" conservative policy, since the conservative policy initiates only those resynchronizations that are guaranteed not to accentuate asynchrony. The dual policies of conservative and aggressive resynchronization arise because the recorded and playback RTSs form intervals, as opposed to unique values. The ranges of these RTS intervals are dependent on the network delays and rate mismatches; greater the jitter in network delay and rate mismatches, greater are the ranges of RTS intervals and lesser the accuracy in detecting asynchrony. In the next section, we present a predictive technique that exploits the periodicity of media recording and playback to reduce the ranges of RTS intervals, thereby enabling asynchrony in playback to be detected with greater precision.
4.1.2 Predictive Policies As illustrated in Section 3, at the time of recording, when the multimedia server receives a media unit it can estimate the recording interval of any future media unit, say nm
+
nm ,
(using Equations (7) and (8)); let
Inm (nm + ) denote the estimate thus obtained (the subscript denotes that this estimate is based on media unit nm ). At any later time, when the multimedia server receives a new media unit nm + , , it can recompute the recording interval of nm + , based on the arrival time of nm + ; let this new estimate be Inm + (nm + ). The actual recording time of nm + is guaranteed to be in both Inm (nm + ) and Inm + (nm + ), and hence, in Inm (nm + ) \ Inm + (nm + ), which yields a revised and possibly more precise estimate for the recording interval of nm + (see Figure 5).
10
.
I n (n m+ ν ) m
Time τ (n m )
τ(n + η ) m
In +η (n m+ ν ) m
Figure 5: Improving the precision of estimates of recording times of media units: The multimedia server predicts the recording time of media unit nm + based on the arrival times of media units nm and nm + , < . The intersection of these two intervals represents a possibly more precise estimate of the recording time of nm + .
In order to quantify the performance gains that may accrue from this predictive technique, assume that the
actual drift in the recording period at the master mediaphone is m , 0 m
of nm + is:
. In this case, the recording time
tr (nm + ) = tr (nm ) + (1 + m )
(12)
Based on the bounds on network delays and recording periods, the multimedia server can estimate, based on the arrival time of nm , r (nm ) that the recording time of media unit nm lies in the interval:
I (nm ) = [r (nm ) ? ∆max ; r (nm ) ? ∆min ] and that of nm + lies in the interval:
I (nm + ) = [r (nm + ) ? ∆max ; r (nm + ) ? ∆min ] Now, using Equations (7) and (8), the multimedia server’s estimate of the recording interval of nm + , obtained based on the recording interval of nm , is obtained as:
Inm (nm + )
=
r (nm ) ? ∆max + (1 ? ); r (nm ) ? ∆min + (1 + )]
[
(13)
Similarly, the recording interval of nm + , based on the recording interval of nm + is:
Inm + (nm + )
=
r (nm + ) ? ∆max + ( ? ) (1 ? ); r (nm + ) ? ∆max + ( ? ) (1 + )]
[
Substituting for r (nm + ) in terms of tr (nm + ) and simplifying the resulting expression, using Equation (12), we get:
Inm + (nm + )
=
tr (nm ) + ∆r (nm + ) ? ∆max + (1 ? ) + ( + m ) tr (nm ) + ∆r (nm + ) ? ∆min + (1 + ) ? ( ? m )]
[
(14)
The predictive estimation technique yields a more precise estimate of the recording interval of nm + iff the intersection of Inm (nm + ) and Inm + (nm + ) is less than Inm (nm + ), that is iff either of the following conditions holds:
11
The earliest estimated recording time in Equation (14) is greater than that in Equation (13) (see Figure 5). Substituting for r (nm ) in terms of tr (nm ) and simplifying the resulting expression, yields the condition: ∆r (nm + ) + ( + m ) > ∆r (nm )
(15)
The latest estimated recording time in Equation (14) is less than that in Equation (13), while implies that ∆r (nm + ) ? ( ? m ) < ∆r (nm )
(16)
From Equations (15) and (16), we deduce that if the fractional drifts, and m are small enough, then the condition that the predictive estimation technique yields a better estimate of the recording interval of nm + is: ∆r (nm + ) 6= ∆r (nm ) Alternatively, even if both nm
and nm undergo the same network delays, the predictive technique yields a better estimate of the recording interval of nm + if ( + m ) > 0 or ( ? m ) > 0, which reduces to the condition that jj > jm j. In the ideal scenario, it is even possible that the estimates obtained based on arrival times of nm and nm + converge to such an extent that the multimedia server can precisely determine the recording time of nm + . This is the case iff the intersection of Inm (nm + ) and Inm + (nm + ) is a single point, which is true iff either of the +
following conditions holds:
The earliest estimated recording time in Equation (14) is exactly equal to the latest estimated recording time in Equation (13), which yields the condition: ∆r (nm + ) ? ∆r (nm ) + ( + m ) = ∆max ? ∆min + 2
(17)
Equation (17) is valid if: – –
= m = 0, ∆r (nm + ) = ∆max , and ∆r (nm ) = ∆min ; or = , m = , ∆r (nm + ) = ∆max , and ∆r (nm ) = ∆min .
The latest estimated recording time in Equation (14) is equal to the earliest estimated time in Equation (13), which implies that ∆r (nm ) ? ∆r (nm + ) + ( ? m ) = ∆max ? ∆min + 2
(18)
The conditions under which Equation (18) can be deduced similar to the case above. Interestingly, as indicated above, this prediction technique performs best (i.e. yields an exact estimate of the recording time of nm + ) when the variance in network delays is maximum, i.e. one of the units used as the basis for prediction undergoes the maximum delay, and the other the minimum delay. Importantly, once the multimedia server knows the precise recording time of any media unit nm + , it can iteratively apply this prediction technique
12
to obtain accurate estimates of future media units as well. In fact, while doing so, the recording time intervals of later units, nm + + , > 0 will depend upon the lower of the two variations: the net drift in recording period, 2 , and the network delay jitter, ∆max ? ∆min . Typically, is small enough for the effect of delay jitter to be insignificant for small values of ; for all such media units, the prediction technique will yield a better estimate. As
increases, the accumulation in drift may exceed delay jitter, in which case, the recording time estimates
will once again be based upon the arrival times of media units. Observe, however, that if the network delay characteristics are such that within any window of b ∆max ?∆min c media units, at least one media unit undergoes 2
minimum delay and another maximum delay, then the recording interval estimates obtained by this predictive technique will always be more precise than that obtained using the delay jitter bounds. Consequently, in all such cases, resynchronization based on predictive estimation will always be more accurate than the conservative and aggressive policies discussed in the previous section. The attractive feature of this predictive technique is the simplicity of its implementation. The multimedia server can apply this technique iteratively for estimating the recording intervals of all media units of both the master and the slaves (with ns replacing nm for a slave). The computational overheads of this simple technique are minimal: whenever a new media unit arrives, the server need only recompute its estimate of the recording time of that media unit (applying Equations (14) and (13), and use this new estimate to predict all future recording times. Moreover, since media playback, like recording, is also periodic, the multimedia server can also apply this very technique to determine precisely the playback times (and thereby RTSs) of media units. Incorporating this technique into conservative and aggressive policies yields predictive conservative and predictive aggressive policies for resynchronization. The performance benefits of predictive resynchronization are highlightedin Section 5, which presents a comparison of the different resynchronization policies under various conditions.
4.2 Probabilistic Policies for Resynchronization Between the extremes of conservative and aggressive resynchronization, probabilistic resynchronization can be employed when the statistical distributions of the network delays are known [3]. Potentially, probabilistic policies, since they take into account the delay characteristics of networks, can be more effective than purely deterministic ones. Consider a pair of media units, nm and ns of the master and slave components, that are recorded almost
simultaneously. The asynchrony that exists when ns is played back is the difference between the relative recording
times of nm and ns , denoted by tr (ns), and their relative playback times, denoted by tp (ns ), and is given by:
a = tr (ns ) ? tp (ns ) where the relative recording time, tr (ns ) is
tr (ns ) = tr (ns ) ? tr (nm )
(19)
tp (ns ) = tp (ns) ? tp (nm )
(20)
and the relative playback time, tp (ns ) is
13
Owing to network jitter and rate mismatches, neither the relative recording nor the relative playback times are known to the multimedia server. Consequently, the multimedia server’s estimate of asynchrony will be based upon the relative arrival time of ns with respect to nm , at the time of recording, and the relative arrival time of the corresponding feedback units, at the time of playback. Whereas the former is given by
the latter is given by:
r (ns) = r (ns ) ? r (nm );
(21)
p (ns ) = p (ns ) ? p (nm )
(22)
Therefore, the multimedia server’s estimate of asynchrony is:
Z = p (ns ) ? r (ns ) This value,
Z , since it represents the asynchrony that would have existed if all network delays were equal, is
termed zero-jitter asynchrony. The goal of a probabilistic policy is, given a threshold probability
Probthres and a maximum tolerable
A, to enable the multimedia server to decide, using the observed zero-jitter asynchrony Z and network delay distributions, whether the actual asynchrony a has exceeded A with a probability of Probthres or
asynchrony
more. In order to do so, consider the difference,
between the actual and zero-jitter asynchronies:
= a ? Z = (tr (ns ) ? tp (ns)) ? (r (ns ) ? p (ns )) i:e:; = (tr (ns) ? r (ns )) ? (tp (ns ) ? p (ns )) Substituting for tr (ns ),
r (ns ), tp (ns ), and p (ns ) from Equations (19), (21), (20), and (22), respectively,
and simplifying the resulting expression, we obtain that:
= ∆r (nm ) ? ∆r (ns ) ? ∆p (nm ) + ∆p (ns )
(23)
Assuming that the network delays experienced by media units at the time of recording and by feedback units at the time of playback are independent, the probability density function (pdf) of can be constructed from its
Pr;m (), Pr;s (), Pp;m (), and Pp;s () denote the pdfs of network delays ∆r (nm ), ∆r (ns), ∆p (nm ) and ∆p (ns ), respectively, the pdf, P () is
relation to the network delays (as given by Equation (23)) using convolution. If given by:
P () =
Z 1Z 1Z 1
?1 ?1 ?1
Pr;m ( + u + v ? w) Pr;s (u) Pp;m (v) Pp;s (w) du dv dw
We are now fully equipped to compute the probability that the actual asynchrony exceeds a maximum
tolerable value A, i.e.
Prob(jaj > A). Since = a ? Z , we obtain that:
Prob(jaj > A) = Prob(j + Zj > A) = Prob( + Z > A) + Prob( + Z < ?A)
14 For a given value of the maximum tolerable asynchrony A, the probability that playback is asynchronous, given by the right hand side of the above equation, is a function of the observed zero-jitter asynchrony
Z.
Whereas
A (Z ), the second the first term represents the probability of the slave leading the master and is denoted by flead term represents the probability of the slave lagging the master and is denoted by f A (Z ), both as functions of the lag
observed zero-jitter asynchrony. Thus,
A (Z ) + f A (Z ) Prob(jaj A) = flead lag where, if we use P to represent the probability distribution function of , we obtain:
and
A (Z ) = Prob( + Z A) = Prob( A ? Z ) = 1 ? P(A ? Z ) flead
(24)
A (Z ) = Prob( + Z ?A) = Prob( ?A ? Z ) = P(?A ? Z ) flag
(25)
A with Z when the maximum tolerable asynchrony A is fixed at zero, Figure 6 shows the variation of flead A can be obtained similarly.) From assuming exponential distributions for network delays. (The curve for flag
A=0 (Z ), the curve for f A=A (Z ) for any other value A = A1 can be obtained by a straightforward right shifting flead lead A=0 (Z ). To see this, from Equation (24), of the curve for flead 1
A=A (Z ) = 1 ? P(A1 ? Z ) = 1 ? P(0 ? Z 0 ) = f A=0 (Z 0 ) flead lead 1
A=A (Z ) is same as the value of the function Z 0 = Z 0 ? A1. Hence, the value of the function flead A=0 (Z ? A1 ), which is nothing but the function f A=0 (Z ) right shifted by A1 . A similar derivation can be flead lead A = A carried out for flag (Z ), except that the shifting would be towards the left. 1
where
Probability
1
1.00
0.50
-4
-3
-2
-1
0
1
2
3
4
Zero jitter asynchrony, Z (in ms)
A=0 (Z ). The dotted line, which represents the curve for Figure 6: The solid line represents the curve for flead A = A flead 1 (Z ), can be obtained by right shifting the solid line by A1 . In practice, the maximum tolerable asynchrony
A is specified by the multimedia application prior to the
commencement of playback. In addition, the application also specifies the threshold probability, Probthres (i.e.
1 ? Probthresh being the maximum probability of asynchrony exceeding the tolerable limit). The multimedia
15
A (Z ) and f A (Z ) using the procedure outlined above, and from those curves, server constructs the curves for flead lag
trig and Zlead trig , respectively, as abscissae corresponding to the ordinate Prob A (Z ) Zlag thres (see Figure 7). The curve for flag A (Z )’s curve about the Y-axis, and Z trig = ?Z trig . The multimedia server triggers will be a reflection of flead lag lead trig or goes below Z trig . resynchronization action whenever the observed zero-jitter asynchrony either exceeds Zlead lag Probability
obtains the values of observed zero-jitter lead and lag asynchronies that will trigger resynchronization:
1.00
0.50
-4
-3
-2
-1
0
1
2
3
4
Zero jitter asynchrony, Z (in ms)
Figure 7: Obtaining the trigger values of observed lead and lag asynchronies A (Z ) and f A (Z ), respectively. corresponding to Probthres in the curves for flead lag
trig Zlead
and
trig Zlag
as abscissae
5 Experience and Performance Evaluation In order to experimentally evaluate the performance of the synchronization mechanisms, we are developing a prototype multimedia service at the UCSD Multimedia laboratory, in an environment of multimedia stations interconnected by fiber-optic networks. The multimedia server is being implemented on a 486-PC with multiple gigabytes of storage. Each multimedia station consists of a computing workstation, a PC-AT equipped with digital video and audio processing hardware are used as video and audiophones. We have carried out preliminary performance simulations of the resynchronization policies with the audiophone serving as the master and the videophone as the slave. A hypothetical omniscient policy which uses the exact recording times of the master audio and slave video units to resynchronize the moment intolerable asynchrony manifests itself, is used as the yardstick for measuring effectiveness. The performance of the aggressive, conservative, predictive2, and probabilistic policies (with threshold probabilities of 0:95 and 0:99) are compared with that of the omniscient policy. In the simulation, 100,000 media units, each with a period
=
33ms (for recording of video frames at
30 frames/sec and their associated audio packets) are recorded by the master and slave media mediaphones, and transmitted to the multimedia server on a network, whose network delays are assumed to be exponentially
2 Can
be either predictive aggressive or predictive conservative - both show similar performance
16
distributed between 50 and 60 ms. During retrieval, media units are transmitted by the multimedia server on the network and played back by the mediaphones. The maximum fractional drift in recording and playback rates at the mediaphones is assumed to be:
= 10?4.
Three different scenarios are simulated: (1) an ideal scenario in which the rates of recording and playback at the master and slave mediaphones are identical (and hence, there is no real asynchrony), (2) an extreme scenario in which media units are recorded by the master and slave mediaphones at the fastest and slowest possible rates but played back at the slowest and fastest rates, respectively, and (3) a moderate scenario in which the recording and playback rates vary sinusoidally but with a phase difference. Several measures of effectiveness of resynchronization are reported by the simulations for the various policies: (1) the maximum, minimum, and average asynchronies, (2) number of duplications or deletions of slave media units that were incurred to slow down or speed up the slave mediaphone when it leads or lags the master, respectively, each of which causes breaks in the playback, (3) the hit ratio, which is the number of correct resynchronization decisions taken as a fraction of the number of instances of actual asynchrony, and the misfire ratio, which is the number of incorrect resynchronization decisions as a fraction of the total number of resynchronization decisions taken. (These ratios take values of one and zero for the omniscient policy.) Tables 2 to 8 summarize the results of the simulations. In the ideal scenario, none of the policies except the aggressive policy trigger any resynchronization (see Table 2, which, therefore, contains only the aggressive policy). This is because, in the absence of rate mismatches among mediaphones, the RTS intervals computed at the time of recording and at the time of playback will always be overlapping, and hence, the conservative policy will never take any action. In case of probabilistic policies, the maximum range of asynchrony will be twice the network delay jitter, 2 (∆max
? ∆min ), which is only slightly
larger than the smallest tolerable asynchrony A = 2 for our simulation environment. Consequently, the probability of media units separated by larger than the tolerable asynchrony is considerably smaller than the high threshold probabilities (0:95 and 0:99) employed by our probabilistic policies, and hence, neither of the probabilistic policies will trigger any resynchronization. The aggressive policy, on the other hand, triggers resynchronization whenever the maximum difference between RTS intervals computed at the time of recording and playback exceeds
A; in
this case, the maximum difference can be twice the network delay jitter plus the contributions due to drifts, which together may exceed , but do not exceed for A
=
3
in our simulation environment. Hence, the aggressive policy reacts 2
and A = , but not for A = 3 (see Table 2). The variation in its behavior from A = and A = 2 2 2
for the ideal scenario follows the same pattern as for other scenarios, and is explained below. In the moderate and extreme scenarios, the effectiveness of a policy, indicated by the average asynchrony, the hit ratio, and the misfire ratio that it entails, is dependent on (i) the extent of its reactivity, and on (ii) the fraction of its resynchronization actions that actually alleviate the asynchrony. In the aggressive policy, at smaller values
of tolerable asynchrony A, greater are the number of instances in which the network jitter may, by itself, falsely trigger resynchronization. In such cases, the aggressive policy over-reacts, and introduces excessive deletions and duplications (of media units) that tend to have an oscillatory impact on the asynchrony (see Figure 8), thereby increasing both the average asynchrony and the misfire ratio, and decreasing the hit ratio. Such a deleterious effect of the aggressive policy is much more marked when there is little or no real asynchrony (ideal and moderate
17
A = 2 A = A = 32 Average asynchrony (ms) Maximum asynchrony (ms) Minimum asynchrony (ms) Media units deleted (#) Media units duplicated (#) Hit ratio (%) Misfire ratio (%)
30.09 33.00 -33.00 22406 22401 89.03 91.41
0.32 33.00 -33.00 275 275 98.20 50.27
0 0 0 0 0 100 0
Table 2: Performance of aggressive policy in the ideal scenario; None of the other policies trigger any resynchronization in this scenario. scenarios), and less when, in fact, there is a significant real asynchrony (extreme scenario). In summary, the aggressive policy performs best in the extreme scenario when
A = 32 (see Table 8), in which case, it yields
the least average asynchrony. This is mainly due to frequent resynchronizations that it triggers even when the
A but is nevertheless close to A minus the network jitter and drifts, and the consequent reduction in the real asynchrony. (Of course, at low levels of A, this very same resynchronization of real asynchrony does not exceed
the aggressive policy becomes an overkill, and instead of reducing the asynchrony, it causes the asynchrony to
Asynchrony (ms)
oscillate from lag to lead and vice versa). 10 5 0 -5
500
1000
1500
Media units played back
-10 -15 -20 -25 -30 -35
Figure 8: Variation of asynchrony with playback for the aggressive policy in the moderate scenario, when A =
The conservative policy, on the other hand, reacts only when asynchrony is guaranteed to exceed A. However, network jitter and drifts may increase the ranges of RTS intervals and the extent of their overlap, thereby reducing the separation between recorded and playback RTS intervals to less than exceeds
A.
A, even when the real asynchrony
Consequently, in the worst case, the conservative policy may force the multimedia server to delay
resynchronization until the real asynchrony builds up to sufficiently large levels so as to surpass twice the jitter plus drifts (which sum up to the lengths of recorded and playback RTS intervals) plus
A.
Thus, the average
asynchrony entailed by the conservative policy increases directly with A, and with the increase in rampancy of
18
the real asynchrony as we go from ideal to moderate to the extreme scenario. However, since it never triggers resynchronization unless the asynchrony is guaranteed to exceed
A, its misfire ratio is always zero, and its
reactivity (in terms of duplications and deletions) is much smaller compared to the aggressive policy. The probabilistic policies show moderate reactivity, and their performance is very close to the omnisicient policy (see Figure 9). Higher the threshold, greater is the certainty of asynchrony, lower is the misfire ratio, and
lower the reactivity. At lower A, network jitter causes the misfire ratio to go a little high, but higher thresholds reduce the possibility of such wrong decisions, and hence, perform slightly better. On the other hand, at higher
A, lower thresholds cause much more frequent resynchronizations, thereby restricting average asynchrony to low values. Probabilistic policies adapt best to changing values of A, and their average asynchrony shows very little variation from that of the omnisicent policy for both lower and higher values of A, and for both moderate and Asynchrony (ms)
extreme scenarios. Their hit ratios are also uniformly high. 50
99% Probabilistic 95% Probabilistic Omniscient
40 30 20 10 0 -10
5000
10000
15000
20000
25000
Media units played back
-20 -30 -40 -50
Figure 9: Variation of asynchrony with playback for probabilistic policies and their comparison with omniscient policy, in the moderate scenario, when A =
Policies Average asynchrony (ms) Maximum asynchrony (ms) Minimum asynchrony (ms) Media units deleted (#) Media units duplicated (#) Hit ratio (%) Misfire ratio (%)
Aggressive
95% Prob
99% Prob
Conservative
Predictive
Omniscient
21.35 48.70 -50.60 15988 15990 64.79 49.45
8.3 22.38 -26.13 397 400 94.9 50
8.26 21.21 -21.40 70 73 96.20 50
10.81 32.26 -31.11 9 12 77.72 0
8.36 21.29 -20.63 9 12 94.40 0
8.176 16.53 -16.53 9 12 100 0
Table 3: Performance of various resynchronization policies at A = 2 for the moderate scenario Tables 2-8 illustrate that the predictive policy bypasses most of the disadvantages of both aggressive and conservative policies, and for our target environment, resembles the omniscient policy in performance. This is a direct consequence of a large reduction in the lengths of RTS intervals resulting from prediction, which, in turn,
19
Policies Average asynchrony (ms) Maximum asynchrony (ms) Minimum asynchrony (ms) Media units deleted (#) Media units duplicated (#) Hit ratio (%) Misfire ratio (%)
Aggressive
95% Prob
99% Prob
Conservative
Predictive
Omniscient
10.50 35.45 -38.00 6544 6547 57.80 50.04
11.93 32.83 -32.60 9 12 99.98 0
13.43 34.25 -34.97 9 12 99.31 0
21.06 45.55 -44.68 6 9 85.15 0
17.70 38.52 -36.75 6 9 95.4 0
15.68 33.04 -33.05 7 10 100 0
Table 4: Performance of various resynchronization policies at A = for the moderate scenario
Policies Average asynchrony (ms) Maximum asynchrony (ms) Minimum asynchrony (ms) Media units deleted (#) Media units duplicated (#) Hit ratio (%) Misfire ratio (%)
Aggressive
95% Prob
99% Prob
Conservative
Predictive
Omniscient
8.29 20.77 -20.30 14 17 99.96 25
22.45 47.78 -47.10 6 9 99.98 0
24.04 50.61 -49.30 6 9 99.87 0
31.81 62.9 -62.4 3 5 90.81 0
29.51 53.9 -52.9 3 5 97.80 0
28.79 49.54 -49.54 3 5 100 0
Table 5: Performance of various resynchronization policies at A =
Policies Average asynchrony (ms) Maximum asynchrony (ms) Minimum asynchrony (ms) Media units deleted (#) Media units duplicated (#) Hit ratio (%) Misfire ratio (%)
3
for the moderate scenario 2
Aggressive
95% Prob
99% Prob
Conservative
Predictive
Omniscient
21.13 49.39 -48.92 15798 15838 64.11 48.80
8.34 21.69 -26.15 333 372 95.39 50
8.30 20.99 -23.03 37 76 96.15 37.50
12.20 30.91 -9.79 0 39 65.93 0
8.58 21.69 -15.53 0 39 90.37 0
8.23 16.54 -16.45 0 39 100 0
Table 6: Performance of various resynchronization policies at A = 2 for the extreme scenario
20
Policies Average asynchrony (ms) Maximum asynchrony (ms) Minimum asynchrony (ms) Media units deleted (#) Media units duplicated (#) Hit ratio (%) Misfire ratio (%)
Aggressive
95% Prob
99% Prob
Conservative
Predictive
Omniscient
10.62 36.77 -36.70 6573 6613 58.00 50.05
13.40 32.97 -9.60 0 39 99.95 0
16.15 35.81 -4.50 0 39 98.70 0
26.87 47.11 0 0 39 68.30 0
19.24 38.67 0 0 39 91.51 0
16.44 33.04 0 0 39 100 0
Table 7: Performance of various resynchronization policies at A = for the extreme scenario
Policies Average asynchrony (ms) Maximum asynchrony (ms) Minimum asynchrony (ms) Media units deleted (#) Media units duplicated (#) Hit ratio (%) Misfire ratio (%)
Aggressive
95% Prob
99% Prob
Conservative
Predictive
Omniscient
8.30 21.54 -23.03 64 103 99.81 8.33
25.72 45.80 0 0 39 99.96 0
29.01 48.86 0 0 39 98.78 0
40.55 61.83 0 0 38 67.30 0
32.80 51.92 0 0 38 90.89 0
29.80 46.54 0 0 38 100 0
Table 8: Performance of various resynchronization policies at A =
3
for the extreme scenario 2
21
is made possible by the periodicity of media recording and playback. Furthermore, owing to their simplicity of implementation compared to the probabilistic policies, predictive policies appear best suited for our environment. However, as alluded to in Section 4.1, the performance gains of predictive resynchronization will depend, to a great extent, upon the relative values of the net drift in recording/playback periods and the network delay jitter; smaller the net drift compared to the delay jitter, greater will be the effectiveness of predictive resynchronization, as is the case in our target environment. Since clock drifts are usually in the order of few tens of seconds per day (yielding a fractional drift,
in the order of 10?4 ) [3], it is likely that in many practical environments,
predictive resynchronization will stay effective. However, in environments in which clock drifts are more dominant, predictive resynchronization may, potentially, drop in effectiveness, as compared to probabilistic policies (As observed in Section 4.1, predictive policies always perform at least as well as their aggressive and conservative counterparts). Table 9, which compares the effectiveness of the predictive policies with probabilistic and omniscient policies3 for the case when = 10?2 , corroborates our expectation. Policies Average asynchrony (ms) Maximum asynchrony (ms) Minimum asynchrony (ms) Media units deleted (#) Media units duplicated (#) Hit ratio (%) Misfire ratio (%)
95% Prob
Predictive
Omniscient
25.15 47.60 -2.77 0 3979 81.7 0
37.37 62.46 0 0 3978 48.9 0
20.79 37.96 0 0 3979 100 0
Table 9: Performance of probabilistic, predictive, and omniscient resynchronization policies at extreme scenario, when is changed to 10?2 .
A = for the
6 Concluding Remarks We have addressed the problem of media synchronization in future distributed multimedia environments in which non-deterministic variations exist, both in network delays and in the rates of recording and playback. We have developed techniques by which, at the time of recording of a multimedia object, a multimedia server computes the relative temporal positions of all the media units constituting the object, and later, during playback, the server detects lagging or leading asynchronies with the help of feedback units transmitted back to it by clients’ mediaphones. We have presented various resynchronization strategies such as conservative, aggressive, predictive, and probabilistic, and compared their performance for video/audio playback with that of a hypothetical omniscient strategy. Aggressive strategies exhibit high reactivity and oscillatory behavior at lower asynchronies but show the best performance at higher asynchronies. The performance of conservative strategies is exactly reversed: they
3 The
performance of the aggressive and probabilistic policies was similar to those observed when
= 10?4, and is hence, not illustrated.
22
perform reasonably well at lower asynchronies but become considerably less effective at higher asynchronies. In sharp contrast, in our target environment, predictive and probabilistic policies perform uniformly well at all levels of asynchrony, and closely resemble the omniscient policy in their behaviour. Since the performance of the synchronization policies is dependent only upon the relative values of tolerable asynchrony and network jitter, the simulation results we have presented for a target local-area multimedia environment, for various asynchrony tolerances, are valid even in larger networks that may impose larger delay and jitter.
REFERENCES [1] D. P. Anderson and George Homsy. A Continuous Media I/O Server and Its Synchronization Mechanism. IEEE Computer, Special Issue on Multimedia Information Systems, 24(10):51–57, October 1991. [2] P. B. Berra, C. Y. R. Chen, A. Ghafoor, C. C. Lin, T. D. C. Little, and D. Shin. An Architecture for Distributed Multimedia Database Systems. Computer Communications, 8(3):413–427, April 1990. [3] F. Cristian. Probabilistic Clock Synchronization. Distributed Computing, 3:146–158, 1989. [4] J. Escobar, D. Deutsch, and C. Partridge. A Multi-Service Flow Synchronization Protocol. BBN Systems and Technologies Division, March 1991. [5] D. Ferrari. Client Requirements for Real-Time Communication Services. IEEE Communications Magazine, pages 65–72, November 1990. [6] E.A. Fox. Advances in Interactive Digital Multimedia Systems. IEEE Computer - Special Issue on Multimedia Information Systems, 24(11):9–19, October 1991. [7] M. Hayter and D. McAuley. The Desk Area Network. ACM Operating Systems Review, 25(4):14–21, October 1991. [8] J. M. Hyman, A. A. Lazar, and G. Pacifici. Joint Scheduling and Admission Control for ATS-based Switching Nodes. In Proceedings of ACM SIGCOMM, pages 223–234, August 1992. [9] T.D.C. Little and A. Ghafoor. Synchronization and Storage Models for Multimedia Objects. IEEE Journal on Selected Areas in Communications, 8(3):413–427, April 1990. [10] D.L. Mills. Internet Time Synchronization: The Network Protocol. IEEE Transactions on Communications, 39(10):1482–1493, 1991. [11] L. Orozco-Barbosa, A. Karmouch, N.D. Georganas, and M. Goldberg. A multimedia interhospital communications system for medical consultations. IEEE Journal on Selected Areas in Communications, 10(7):1145– 1157, September 1992. [12] Srinivas Ramanathan and P. Venkat Rangan. Continuous Media Synchronization in Distributed Multimedia Systems. In Proceedings of the Third International Workshop on Network and Operating Systems Support for Digital Video and Audio, San Diego, November 12-13 1992. [13] Srinivas Ramanathan and P. Venkat Rangan. Adaptive Feedback Techniques for Synchronized Multimedia Retrieval over Integrated Networks. IEEE/ACM Transactions on Networking, 1(2):246–260, April 1993. [14] P. Venkat Rangan, Harrick M. Vin, and Srinivas Ramanathan. Designing an On-Demand Multimedia Service. IEEE Communications Magazine, 30(7):56–65, July 1992. [15] Doug Shepherd and M. Salmony. Extending OSI to support synchronization required by multimedia applications. Computer Communications, 7(13):399–406, September 1990.
23
[16] R. Steinmetz. Synchronization Properties in Multimedia Systems. IEEE Journal on Selected Areas in Communications, 8(3):401–412, April 1990. [17] F. Tobagi. Fast Packet Switch Architectures for Broad-band Integrated Services Digital Networks. Proceedings of IEEE, 78(1):133–167, January 1990. [18] G.M. Woodruff and R. Kostpaiboon. Multimedia Traffic Management Principles for Guaranteed ATM Network Performance. IEEE Journal on Selected Areas in Communication, 8(3):437–446, April 1990. [19] Q. Zheng and K.G. Shin. Synchronous Bandwidth Allocation in FDDI Networks. In Proceedings of ACM Multimedia’93, Anaheim, CA, pages 31–38, August 1993.