Optimal Proxy Management for Multimedia Streaming in Content Distribution Networks

Optimal Proxy Management for Multimedia Streaming in Content Distribution Networks Chitra Venkatramani, Olivier Verscheure, Pascal Frossard and Kang-W...
Author: Roderick Newman
14 downloads 0 Views 217KB Size
Optimal Proxy Management for Multimedia Streaming in Content Distribution Networks Chitra Venkatramani, Olivier Verscheure, Pascal Frossard and Kang-Won Lee IBM T.J.Watson Research Center P.O.Box 218 Yorktown Heights, NY 10598.

fchitrav,ov1,frossard,[email protected] 1. INTRODUCTION

ABSTRACT

The widespread use of the Internet and the maturing digital video technology have led to an increase in various streaming media applications such as webcasts, distancelearning and corporate communications. Until the advent of broadband, the constrained last-mile bandwidth was the primary bottleneck in delivering quality streaming media over the Internet. As access providers roll out faster lastmile connections, the bottleneck is shifting upstream to the provider's backbone, peering links, and the best-e ort Internet. This problem can be partially addressed by \edge delivery" of streaming objects from a nearby proxy or via content distribution networks. While the edge delivery of streaming media objects will increase scale and reach of streaming media, handling streaming objects brings additional complexities at the proxies due to the large object size, long-lived nature of the objects, and isochronous delivery requirements from the users. A variety of techniques have been proposed in the literature to eÆciently utilize the backbone network bandwidth for streaming. Some of them use multicast as a means to reduce the backbone bandwidth usage: periodic broadcasting [4, 1, 5, 13], simple batching, batching with patching [6, 12, 14] and optimized patching with classes of service [9]. While these multicast-based schemes a ord very low backbone bandwidth usage, they are not in widespread use due to their dependency on network-level multicast, which Categories and Subject Descriptors is not widely available over the Internet except for limited C.2.4 [Computer Systems Organization]: Computer Com- instances such as on local area networks. Additional drawmunication Networks|Distributed Systems backs of the above approaches include the batching delays, and the need for clients to be able to receive multiple simulGeneral Terms taneous streams. With the recent proliferation of caching proxies, some of Algorithms Management Design these drawbacks can be masked by storing portions of the media object in the proxy to hide the startup latency, and Keywords by using application-level multicast when network-level mulMultimedia streaming, Video Server Scheduling, Proxy Cache, ticast is not available. Related work in this area [7], [8], partial video caching [11], [10], [15] combined scalable video delivery with proxy caching, where the focus was mostly on transmitting a single video. In [3], the authors studied batching and patching with pre x-caching at the proxy for multiple heterogeneous Permission to make digital or hard copies of all or part of this work for videos, but analyzed each scheme independently to deterpersonal or classroom use is granted without fee provided that copies are mine the optimal caching unit. This restricts all assets in not made or distributed for profit or commercial advantage and that copies the system to be managed using a single scheme irrespecbear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific tive of the di erence in their access patterns. In [7], we permission and/or a fee. have investigated the video streaming problem in the conNOSSDAV’02, May 12-14, 2002, Miami, Florida, USA. text of joint server scheduling and caching strategy at proxy Copyright 2002 ACM 1-58113-512-2/02/0005 ...$5.00. The widespread use of the Internet and the maturing of digital video technology have led to an increase in various streaming media applications. As broadband to the home becomes more prevalent, the bottleneck of delivering quality streaming media is shifting upstream to the backbone, peering links, and the best-e ort Internet. In this paper, we address the problem of eÆciently streaming video assets to the end clients over a distributed infrastructure consisting of origin servers and proxy caches. We build on earlier work and propose a uni ed mathematical framework under which various server scheduling and proxy cache management algorithms for video streaming can be analyzed. More precisely, we incorporate known server scheduling algorithms (batching/patching/batch-patching) and proxy caching algorithms (full/partial/no caching with or without caching patch bytes) in our framework and analyze the minimum backbone bandwidth consumption under the optimal joint scheduling and caching strategies. We start by studying the optimal policy for streaming a single video object and derive a simple gradient-descent-based cache allocation algorithm to enable management of multiple heterogeneous videos eÆciently. We then show that the performance of our heuristic is close to that of the optimal scheme, under a wide range of parameters.

147

Parameters related to video object ! 2

r! streaming rate T! playback duration ! average request rate (# of requests per second) d! admissible playback delay Parameters for scheduling and caching for object ! ! maximum network jitter (! = ) P! pre x duration b! virtual batching interval (b! = P! + d! ) W! patching window (W! = N!  b! ) ! binary indicator ( ! = 1 if proxy caches patch) I! interval between two regular channels

to minimize the aggregate backbone bandwidth usage. However, this work studied three di erent schemes in a disjoint framework, for a single asset only. In this paper, we build on earlier work and propose a uni ed mathematical framework under which various server scheduling and proxy cache management algorithms for video streaming can be analyzed. More precisely, we incorporate known server scheduling algorithms (batching, patching, and batch patching), and proxy management algorithms (full caching, partial caching, and no caching, with an option to cache patch bytes or not) in our framework and analyze the minimum backbone bandwidth consumption under the optimal joint scheduling/caching strategy. To this end, we rst study the case of streaming a single video object and analyze the minimum backbone bandwidth consumption to meet the user requests under the optimal scheduling/caching algorithm. In particular, we evaluate the impact of the following parameters: (i) user request rate, (ii) proxy-to-client bandwidth constraints, and (iii) patch caching at the proxy. We then study the case of streaming multiple, heterogeneous video objects under the optimal scheduling/caching algorithm. Finally, we derive a simple gradient-descent-based cache allocation algorithm that can be implemented at the proxy in practice. Using simulations, we validate our algorithm performs closely to the optimal algorithm under various resource constraints. The following section presents the problem formulation and builds the mathematical framework under which various schemes are analyzed. Section 3 analyzes the e ect of various parameters on the backbone rate for a single video. In Section 4, we present a simple one-dimensional gradientdescent based algorithm to perform cache allocation for multiple, heterogeneous videos. Experimental results are presented in Section 5 and nally, Section 6 presents the conclusions and future directions for the work. 2.

Table 1: Parameters used in this paper to describe the uni ed mathematical framework.

constraints encompass the limited capacity of the proxy in terms of storage S and bottleneck bandwidth B which may be the disk or the network bandwidth. We now propose a uni ed framework under which various joint scheduling and caching strategies may be analyzed. 2.2 Unified Framework

PROBLEM FORMULATION

We consider a video streaming architecture composed of an origin server, a proxy cache, and a nite set of media assets. We assume reliable transmissions with bounded delay over the backbone network, and assume that the access network (i.e., proxy-to-client cloud) is lossless and multicastenabled. We also assume that the origin server is a batchpatching server while the proxy serves clients with a batching interval not exceeding the acceptable playback delay. Finally, every stream from the origin server is constrained to go through the proxy for various reasons such as content adaptation purposes (e.g., adaptive FEC, rate control), unavailability of multicast on the backbone and accounting and billing in a CDN infrastructure. 2.1 Preliminaries

Let denote the nite set of media assets. An asset 2 is characterized by its CBR streaming rate r! , its duration T! , its average request rate (or popularity) ! , and its admissible playback delay d! speci ed in the Service Level Agreement (SLA). We consider the following problem: Given the set , nd the per-asset joint scheduling and caching strategy that minimizes the aggregate backbone rate R under the constraints imposed by the network service provider infrastructure. These !

148

We consider the following scenario illustrated in Figure 1. The proxy cache views its time axis divided into intervals [tk 1 ; tk ] of duration d! units of time which is the maximum admissible playback delay at the clients. All requests arriving in [tk 1 ; tk ) are batched together and a single stream is sent by the proxy to the clients in this interval. The proxy also batches these requests over a possibly larger interval we call the virtual batching interval denoted by b! , and indicated in Figure 1 by [t~i 1 ; t~i ]. At the end of virtual batching intervals, the proxy requests the origin server for the patch streams or the regular channel. The duration of b! depends on the cached pre x. If the proxy does not have any pre x cached (P! = 0), it must make a request to the origin server every interval of d! and forward the patch as well as the regular channel to the client. In this case, b! = d! . If the proxy has a pre x of duration P! cached, then it can start streaming the pre x to the clients and ideally continue batching requests until the client has played the pre x and is ready for the suÆx. Hence, in general, b! = P! + d! . For simplicity, we assume b! holds an integral number of d! , when d! > 0. As an example, consider a case when the proxy has a pre x of P! > 0 cached and is already serving some requests for the video. A new request arrives at time t1 in [tk 1 ; tk ), as shown in Figure 1. At time t = tk , the proxy starts streaming the pre x to the client. It continues to batch this client in the current virtual batching interval b! , until t~i , to either join the regular channel and request the origin server for the patch stream, which it then forwards to all the clients in the interval [t~i 1 ; t~i ]. Clearly, ensuring continuous playback (or lossless delivery over non-ideal backbone network) at the client requires sending requests to the origin server in advance to mask the e ect of the network jitter. Let ! denote this network jitter for asset !. For the simplicity of exposition, we set ! to the maximum network jitter  estimated from long-term measurements. Thus, the proxy must make the requests to the origin server  units of time ahead to mask the network jitter. That is, b! = P! + d! .

Required Patch

l

e nn

el

nn

a

h rC

la

gu

r

ula

Re

g Re

Wω Origin Server

a Ch

it

s

Proxy requests to server Proxy streams to Client

Request Patch Receive Patch

bω = Pω + d ω

i

i

ti-1 tk-1



ti

t1 tk

Forward Patch+RC to client Send request Time

Client Recv and play Prefix

Recv and buffer Patch+RC

Figure 1: Uni ed framework for joint scheduling and caching strategies. The timing diagrams indicate the origin server, proxy and client request/transmission schedules (with  = 0, for clarity). A client requests an asset at time t1 2 [tk 1 ; tk ). The proxy sends the pre x at time tk . At the end of the current b! interval, it requests a patch (of 2b! in this example). It forwards the patch and the regular channel started at t~s to all the clients in the current b! interval.

Now, assume the most recent regular channel (RC) for asset ! started at time t~s (where t~s < t1 ). Let W! denote a patching window of the server, whose duration also is an integral of b! , i.e., W! = N!  b! for some integer N! . Then we have two cases:  Case 1: When P! + tk < t~s + W! (i.e., patching can be applied), then the proxy cache starts forwarding the RC to the client at time t~i , which bu ers the stream while playing back the pre x. Also at time t~i , the proxy requests a patch of interval [t~s ; t~i ], forwards it to the client and optionally caches it for future requests within the same patching window. This case is illustrated in Figure 1.  Case 2: When P! + tk  t~s + W! (i.e., when patching cannot be applied), then the proxy requests the origin for a new regular channel (RC) of duration T! P! (i.e., the suÆx, since the pre x of duration P! is stored in the proxy), at time t~i , and forwards it to the clients. Note that this framework encompasses various existing server scheduling algorithms and proxy cache management algorithms developed for streaming media applications. More precisely, it can model the following caching strategies: (i) Full caching (P! = T! ). (ii) Partial caching (0 < P! < T! ). (iii) No pre x caching (P! = 0). At the same time, it models the following server scheduling schemes: (i) Batching

(b! > 0 and N! = 0). (ii) Patching (b! = 0 and N! > 0). (iii) Batch-patching (b! > 0 and N! > 0). In addition, we can model the case when the proxy either temporarily caches the patch bytes ( ! = 1) or not ( ! = 0). We now develop a set of equations for the aggregate backbone rate R! , the proxy storage S! and network bandwidth B! requirements for a media asset ! 2 , averaged over the interval I! . In the following we assume a Poisson request arrival distribution such that q = e ! b! is the probability to have an empty batch of duration b! units of time. The aggregate backbone rate at stationary state, R! , includes the transmission of patches (! ) during b! and the suÆx of duration (T! P! ) from the origin server, and is given by: R! = ! b! r! + I(T! ! P! )r! ;

(1) where ! denotes the average number of transmitted patches of asset !: (N! +1) (N! + 1)q + N! ! = ! q 1 q (2) +(1 ! )(1 q) N! (N2! + 1) ; and I! represents the interval duration between two regular 149

channels:

3.1 Backbone usage with cached prefix

Equation 1 shows that the backbone rate is determined by various parameters { the size of the cached pre x P! , the playback duration T! , the streaming rate r! and the popularity ! . Intuitively, we expect the size of the cached pre x must a ect the backbone rate the most. To simplify the analysis and understand this e ect, we set the value of , the network jitter, to zero and also set ! , the indicator to cache the patch bytes, to false.

I! = (N! + 1)b! + ! 1 :

(3) The derivation of ! is as follows: When the proxy caches the patch bytes ( ! = 1), if there is a request in batch i and none in the later batches in I! , the proxy fetches exactly ib! r! patch bytes from the server, for this interval. When the proxy does not cache the patch bytes ( ! = 0), then the proxy fetches up to P ib! r! patch bytes from the origin server. ! X ! X ( N i ) ! = ! (1 q)iq +(1 ! ) (1 q) i i=1;N i=1;N (4) This equation can be simpli ed to Equation 2. The proxy cache occupancy S! , averaged over I! , is given by: S! = P! r! +  r! (T! I! P! ) + ! b! r! [ ! N! b! + (1 ! ) ] : (5)

R [Mbps]

12

λ=0.0599 to 10 10

8

6

I!

λ=0.0167

The rst term indicates the storage for the pre x that stays for the entire duration, the second term represents the storage expended for the jitter-bu er associated with the suÆx stream and the third term represents the storage for the patch bytes | if the patches are cached, then a storage of ! b! r! is used for a duration of N! b! and if the patches are not cached, then a storage of r! is used for the period of ! b! . It can be noted that when the patches are not cached, the storage utilization simpli es to the pre x plus additional (r! ) bu ers for all the streams received from the origin and forwarded by the proxy, which is R! : S! = P! r! + R! when ! = 0 The proxy batches client requests in intervals of d! which is the maximum playback delay. The proxy streams the pre x for every batch of d! , and forwards the patch bytes (every b! ), and the regular channel (every I! ) received from the origin server, to the client. Thus the proxy network bandwidth, assuming a multicast-enabled network from the proxy server to the clients, B! , averaged over I! , is expressed as: 8 (1 e ! d! )(N! +1)b! P! r! > + R! if d! > 0 < I! d! B! = > b! P! r! + R : ! (N! +1) if d! = 0 ! I! (6) When the playback delay is non-zero, the rst term represents the total bytes of pre x (which is sent separately to each batch of clients in the interval d! ), the second term represents the total bytes of the suÆx (a single stream is sent to all the clients in the interval I! ) including the patch bytes forwarded to the clients in the interval I! . When d! = 0, then one pre x stream is sent to each client, besides the patches and the regular channel. 3.

4

2

λ=0.0013 0 0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Storage constraint S / Ω size

Figure 2: Normalized bandwidth usage vs. cached pre x size.

In Figure 2, we plot the value of the minimum backbone rate R! normalized over the streaming rate, against the size of the pre x cached at the proxy, for various values of ! in the range of 10 4 and 10 requests per second. Two signi cant observations can be made from this gure:  The normalized backbone rate R! decreases with the pre x size (P! ). Here, N! is chosen such that it minimizes R! for a chosen pre x size and is denoted by N!? 1 . This decrease in R! can be intuitively explained as follows. Setting N! = N!? implies that the backbone rate is minimized for a given asset (i.e., T! , r! , ! ) and a pre x size P! . In other words, it equivalently minimizes the streaming rate of a virtual asset !~ of duration T! P! , the other parameters staying unchanged. Increasing P! to P! + Æ (with Æ  0) is then equivalent to decreasing the size of the virtual asset !~ to a duration of T! P! Æ. Since the minimal streaming rate of an asset of duration T! P! Æ cannot be larger than the streaming rate of an asset of duration T! P! , the backbone bandwidth R! is always decreasing with the pre x size P! . This can also be formally proved by verifying that the derivative @@PR!! jN! =N!? is indeed negative 8P! 2 [0; T! ].  The popularity ! has a signi cant e ect on R. We observe that the plots are distinct for smaller values of ! , but have near-complete overlap beyond ! = 0:21 1 N ? minimizes R! and is obtained by setting @ R! = 0 and ! @P! solving for N! .

ANALYSIS

In this section we analyze the e ect of various parameters on the backbone bandwidth usage in order to determine the optimal server scheduling and proxy caching strategies that will jointly minimize the backbone usage. 150

requests per second. At this value, the probability of seeing at least one request per batching interval b! becomes close to 1. Beyond this, requests get clumped into batches at the proxy and this does not a ect the backbone rate any more. This threshold value depends on the batching interval b! of a video.

45

40

Normalized R

35

3.2 Proxy bandwidth constraint

30

25

4

20

3.5

15

α=1

10

3

α=0, α=opt

Normalized R

5

2.5 0

0

10

20

30

2

50

60

70

80

90

100

Storage constraint S / Ω size

1.5

Figure 4: Normalized backbone rate pre x size with: ! = 0 and ! = 1.

B = 25%

1

0.5

20

30

40

50

60

70

80

90

R vs. cached

simultaneous streams { pre x from the proxy, patch and regular channel from the origin server. In such cases, the proxy might be forced to cache the patch when the client cannot receive more than two simultaneous streams. In the remainder, we assume that the proxy does not cache the patch bytes (i.e., = 0). Thus far, we have studied the e ects of various scheduling and caching schemes on the usage of the backbone, in the context of a single asset. We found that the ideal scheduling policy at the origin server is batch-patching, with pre x caching performed at the proxy. The proxy can determine the patching window N!  b! based on the pre x size and request new regular channels from the origin server when this window is crossed.

B = 50% B=75%,100%

0 10

40

100

Storage constraint S / Ω size

Figure 3: Normalized backbone rate vs. cached pre x size (when the bandwidth out of the proxy is constrained).

In the above analysis, the bandwidth out of the proxy was unconstrained, leading to the minimal backbone bandwidth usage. In Figure 3, we study the e ect of constraining the network bandwidth out of the proxy. Once the proxy bandwidth is saturated the video cannot be streamed to the clients. The gure plots the region where the pre x is larger than 10% of the video. It shows that once the proxy bandwidth limit is reached, R! cannot be reduced further by increasing the pre x size. In Section 4, we analyze the e ect of constrained bandwidth in the case of multiple, heterogeneous videos.

4. MULTIPLE HETEROGENEOUS VIDEOS

In this section, we rst formulate and solve an optimization problem to determine the joint server-scheduling and proxy caching strategy that minimizes the backbone bandwidth usage for a given set of assets. We then use the ndings in the previous section such as the non-increasing property of R, to design a near-optimal gradient-descentbased cache allocation algorithm for multiple, heterogeneous videos.

3.3 Caching patch bytes at the proxy

Next, we examine the e ect of temporarily caching the patch bytes in the proxy. In Equation 1, this choice is indicated by the parameter ! . Figure 4 plots R! with respect to the pre x size for the following two cases: (i) patches are not cached ( ! = 0) and (ii) patches are always cached ( ! = 1), for all ! 2 . The gure clearly indicates that there is no savings in R by caching the patch bytes at the proxy. In other words, this implies that whenever space is available, it is more bene cial to use it to cache the pre x of the video rather than use it to cache patch bytes. This is because increasing the pre x increases the batching period and also reduces the suÆx stream, both of which contribute to savings in R. However, the need to cache patch bytes may arise when the client, such as a mobile client, has limited bandwidth capacity. As described in [7], if only the pre x is cached at the proxy, the client could end up receiving up to three

4.1 Preliminaries

We aim to solve the following non-linear optimization problem (P1): Problem P1 Given a set of media assets ! 2 characterized by their streaming rates r! , durations T! , access rates ! and admissible playback delays d! . Given also a proxy cache of storage capacity S and proxy network bandwidth B , and a backbone network with bounded jitter . Find the tuples (P! ; N! ; ! ) that minimize the aggregate backbone rate R such that (i) P!2 S!  S (ii)P!2 B!  B and (iii) max(0;  d!  P!  T! ) (iv) 0  N!  T!b!P! (v) ! 2 f0; 1g. Let A = j j denote the cardinality of the set . We are facing a non-linear optimization problem with 3A unknowns 151

([N! ; P! ; ! ] for each asset !) and 2 + 6A inequality constraints (proxy space and bandwidth constraints + upper and lower bounds on the values of [N! ; P! ; ! ] for each asset !). Note that the value of A may be as high as several thousands. Clearly, blindly applying a non-linear optimization technique to Problem P1 may not lead to a solution (i.e., no convergence), or at least not in a reasonable amount of time (i.e., slow convergence). Choosing a tool which exploits some property or structure of the problem usually yields a solution more eÆciently. We chose the LANCELOT optimization tool [2] to solve our problem, since it is designed for non-linear problems with a structure very similar to ours. Note that Problem P 1 may not have a solution. Recall that we made the assumption of a system where all streams to a client (i.e., pre x, patch and regular stream) are to pass through the proxy for various reasons such as the unavailability of multicast from the origin server to the clients, accounting/billing in a CDN infrastructure and content adaptation purposes (e.g., transcoding, ngerprinting). That is, setting all P! and N! to zero leads to P!2 B! > 0, which may exceed the proxy bandwidth constraint. Clearly, the solvability of P 1 depends on the constraint bounds. The selection of the most appropriate set such that P 1 has a solution, is beyond the scope of this work. In the following, experiments are performed with A = 50 media assets whose ! values follow the Zipf-distribution with  = 0:8, and uniformly distributed r! and T! in the discrete sets r! 2 [800; 1600; 2400] kbps and T! 2 [60; 90; 120] minutes. Using the earlier nding that caching the patch bytes is not bene cial in terms of backbone usage, we set = 0 in P1. Thus, Problem P1 reduces to 2A unknows and 2 + 4A inequality constraints. The remainder of this section is organized as follows: First, we propose a discrete 1-D gradient-descent technique provably optimal under the assumptions of null network jitter (i.e.,  = 0) and in nite proxy bandwidth (i.e., B = 1). We then progressively relax these assumptions and demonstrate the appropriateness of the proposed algorithm. Each analytic step is veri ed by comparing the results with the optimal solution given by LANCELOT.

PrefixAlloc(lambda)

f

g

Rgain[i][j] = getR(lambda[i],j*c) getR(lambda[i],(j-1)*c); // walk through the lists, determine prefix size // block[i]: index of the block to pick next // for asset i. for i=1 to NumVideos block[i] = 1; // initialize block[i] // while cache is not full. while (allocSpace 0) implies that the required cache space (Equation 5) now depends on N! since space needs to be expended for the jitter bu ers. Recall that Equation 5 may be written as S! = P! r! + R! . The dependence of S! on N! is re ected by R! . Note that the value N! de ned earlier

4.2 Gradient-descent based proxy allocation

Most of the research work in this area neglects the effect of the backbone jitter (i.e.,  = 0 is assumed). Also, proxy bandwidth is usually not limited (i.e., B = 1). We show that, under these assumptions, one can nd the optimal solution very eÆciently with a gradient-descent based algorithm. In this special case, the proxy cache size (Equation 5) reduces to S! = P! r! . That is, the pre x size is the only parameter that may in uence the required size of the cache. Moreover the proxy bandwidth is not a constraint here. Our objective is to minimize the aggregate backbone rate R, which depends on both P?! and N! . Therefore, among @R! = 0 clearly all possible values of N! , N! such that @N ! leads to the minimum backbone rate for any given P! under the storage constraint. We thus replace the unknown N! in Equation 1 by its optimal value N!? , which is a function of P! . The resulting problem consists of nding the pre x sizes P! that minimize P the backbone rate R, a function of P! only, such that !2 P! r!  S . We propose a simple optimal discrete gradient descentbased algorithm. The pseudocode of Algorithm A1 is pre152

4000 Gradientdescent method Optimal Prefix caching + batching

Gradientdescent method Optimal Prefix caching + batching

3500

3500

R [Mbps]

R [Mbps]

4000

3000

3000

2500

2500

2000

2000

1500

1500

1000

1000

500

500

0

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

0

1

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Storage constraint S / Ω size

Storage constraint S / Ω size

Figure 7: Aggregate backbone rate vs. proxy storage capacity for a heterogeneous set of A = 50 media assets,  = 2 seconds and d = 3 seconds, using Algorithm A1 and the optimal. The simpler method where N! = 0 for all ! 2 (pure pre x batching) is also shown.

Figure 6: Aggregate backbone rate vs. proxy storage capacity for a heterogeneous set of A = 50 media assets,  = 0 and d = 3 seconds, using Algorithm A1 and the optimal. The simpler algorithm where N! = 0 for all ! 2 (pure pre x batching) is also shown.

mal values of N with respect to both R and B are close 2 . In our experiments, we do not assume   1. Instead we show that the results from Algorithm A1 slightly diverge from the optimal solution when increasing the size of the proxy cache (i.e., increasing P! , in average). Figures 8 and 9 compare the results from Algorithm A1 with the optimal for a highly and moderately constrained proxy bandwidth B . The gures show the evolution of the aggregate backbone rate the ratio between proxy storage capacity S and P R Twith !2 ! r! , for B = 2:67 Gbps and B = 1:335 Gbps, respectively. The gradient-descent based algorithm stays close to optimal for low storage or bandwidth constraints. However, it then slightly diverges from the optimal. Nevertheless, the sub-optimal gradient-descent method stays a viable, and very simple solution to the proxy management problem.

minimizes the backbone rate for asset !, and thus minimizes the corresponding required storage as well (for any value of P! ). The summation over all assets in preserves the property such that Algorithm A1 is again asymptotically optimal with respect to the cache allocation unit c when a real network is considered. Figure 7 compares the solution from Algorithm A1 with the optimal when  = 2 and d = 3 seconds. As expected,  > 0 does not impact the quality of the solution given by A1. We observe that optimal batch patching again greatly reduces the backbone rate as compared to the pre x caching scheme with plain batching; especially when the proxy can store much less than the entire set . It is also interesting to note that the pre x caching scheme has no solution for small storage constraints (below 5%) because the jitter bu er needs to be accommodated.

6. CONCLUSIONS

In this paper, we address the problem of eÆciently streaming heterogeneous videos to clients over a distributed infrastructure consisting of origin servers and proxy caches. We build on earlier work and propose a uni ed mathematical framework under which various server scheduling and proxy cache management algorithms such as batching, patching, batch-patching with partial caching at the proxy, can be analyzed. We formulate an optimization problem to determine the optimal scheduling and caching strategies such that the proxy space and bandwidth constraints are respected. We also propose a simple one-dimensional gradient-descent algorithm to solve the problem and show that the results closely match the optimal solution obtained using the well-known 2 The assumption is true if the following condition is veri ed : 2 b2 r P (1 e  d )  (1 e  b ) ( b+1)+2 b 2 (T P ) : d (7)

5.2 Bounded Jitter and Constrained Proxy Bandwidth

Finally we add the constraint on the proxy bandwidth (i.e., B! < 1). The proxy bandwidth B! depends on N! in a more complicated way. Equation 6 shows that N! plays a role both in the rst and the second term. In a rst approximation, let 1=!  b! (N! + 1). If this approximation holds, then I! (denominator) cancels out the b! (N! + 1) factor (numerator) in Equation 6. Thus, the dependence on N! is re ected by the second term only (that is, R! ). Again, the value N! minimizes the proxy bandwidth for any value of P! . Given the summation over all assets in , Algorithm A1 stays close to optimal. From Equation 6, the approximation holds if either !  1 or P! is relatively small (which is the main multiplying factor of the error). In this case, it can be shown that opti153

2500

1000

R [Mbps]

Gradientdescent method Optimal Prefix caching + batching

R [Mbps]

2000

Gradientdescent method Optimal Prefix caching + batching

900

800

700

1500

600

500

1000

400

300

500

200

100

0

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

0

1

Storage constraint S / Ω size

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Storage constraint S / Ω size

Figure 8: Aggregate backbone rate vs. proxy storage capacity for a heterogeneous set of A = 50 media assets,  = 2 seconds, d = 3 seconds and B = 2:67 Gbps using Algorithm A1 and the optimal. The simpler method where N! = 0 for all ! 2 (pure pre x batching) is also shown.

Figure 9: Aggregate backbone rate vs. proxy storage capacity for a heterogeneous set of A = 50 media assets,  = 2 seconds, d = 3 seconds and B = 1:33 Gbps using Algorithm A1 and the optimal. The simpler method where N! = 0 for all ! 2 (pure pre x batching) is also shown.

optimization tool. From our experiments, we also determine that pre x caching at the proxy with batchpatching enabled at the origin server, is the most e ective strategy.

for Video Delivery. Computer Communications, Special Issue, 25, March 2002. P.Frossard and O.Verscheure. Batched Patch Caching for Streaming Media. IEEE Communications Letters, 6(4), April 2002. P.White and J.Crowcroft. Optimized Batch Patching with Classes of Service. ACM Communications Review, October 2000. S.-H. Gary Chan. Operation and Cost Optimization of a Distributed Servers Architecture for On-Demand Video Services. IEEE Communications Letters, 5(9), Sept. 2001. S.Ramesh, I.Rhee and K.Guo. Multicast with cache (mcache):An adaptive zero-delay video-on-demand service. Proceedings of IEEE Infocom, April 2001. S.Sen, L.Gao, J.Rexford and D.Towsley. Optimal patching scheme for eÆcient multimedia streaming. Proc. of IEEE International Conference on Multimedia Computing and Systems, June 1996. S.Viswanathan and T.Imielinski. Metropolitan Area Video-on-Demand Service using Pyramid Broadcasting. Multimedia Systems, 4, August 1996. Y.Cai, K.Hua and K.Vu. Optimizing Patching Performance. Proceedings of ACM/SPIE Multimedia Computing and Networking, Jan 1999. Y.Guo, S.Sen and D.Towsley. Pre x Caching assisted Periodic Broadcast: Framework and Techniques to Support Streaming for Popular Videos. Technical Report TR 01-22, UMass CMPSCI, 2001.

LANCELOT

[8] [9]

Acknowledgements

The authors would like to thank Andrew Conn from the I.B.M. T.J.Watson Research Center for his help with understanding the applicability of the LANCELOT optimization tool to solve our problem. 7.

[10]

REFERENCES

[11]

[1] A.Dan, D.Sitaram and P.Shahabuddin. Scheduling Policies for an On-Demand Video Server with Batching. Proceedings of ACM Multimedia, Oct. 1994. [2] A.R. Conn, N.I.M. Gould and Ph.L.Toint. LANCELOT: A Fortran Package for Large-Scale Nonlinear Optimization (Release A). Spinger-Verlag, 1992. [3] B.Wang, S.Sen, M.Adler and D.Towsley. Optimal Proxy Cache Allocation for EÆcient Streaming Media Distribution. To appear in Proceedings of IEEE Infocom, 2002. [4] C.C. Aggarwal, J.L. Wolf and P.S. Yu. A permutation based pyramid broadcasting scheme for Metropolitan VOD systems. Proc. of the IEEE International Conference on Multimedia Systems, June 1996. [5] K.A. Hua and S.Sheu. Skyscraper Broadcasting: A new Broadcasting Scheme for Metropolitan VOD systems. Proceedings of the ACM SIGCOMM, 1997. [6] K.A. Hua, Y.Cai and S.Sheu. Patching: A multicast technique for True On-Demand Services. Proceedings of ACM Multimedia, Sept. 1998. [7] O.Verscheure, C.Venkatramani, P.Frossard and L.Amini. Joint Server Scheduling and Proxy Caching

[12] [13] [14] [15]

154

Suggest Documents