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.
f
chitrav,ov1,frossard,kangwon
g@us.ibm.com
ABSTRACT
The widespread use of the Internet and the maturing of digital videotechnology have ledto anincrease invarious streaming mediaapplications. Asbroadbandto the home becomesmore prevalent,the bottleneck ofdelivering qual-ity streaming media is shifting upstreamto the backbone, peeringlinks,andthebest-eortInternet.Inthispaper,we addresstheproblemofeÆcientlystreamingvideoassetsto the endclients overa distributed infrastructureconsisting oforiginserversandproxycaches. Webuildonearlierwork andproposeauniedmathematicalframeworkunderwhich various serverschedulingand proxycachemanagement al-gorithms for video streaming can be analyzed. More pre-cisely, we incorporate known server scheduling algorithms (batching/patching/batch-patching) and proxycaching al-gorithms (full/partial/no caching with or without caching patch bytes)in our framework and analyze the minimum backbone bandwidthconsumptionunderthe optimal joint schedulingandcachingstrategies. Westartbystudyingthe optimalpolicyforstreamingasinglevideoobjectandderive asimplegradient-descent-basedcacheallocationalgorithm toenablemanagementofmultipleheterogeneousvideos eÆ-ciently.Wethenshowthattheperformanceofourheuristic isclose to thatof theoptimalscheme,underawiderange ofparameters.
Categories and Subject Descriptors
C.2.4[ComputerSystemsOrganization]: Computer Com-municationNetworks|DistributedSystems
General Terms
AlgorithmsManagementDesign
Keywords
Multimediastreaming,VideoServerScheduling,ProxyCache, partialvideocaching
Permission to make digital or hard copies of all or part of this work for
personal or classroom use is granted without fee provided that copies are
not made or distributed for profit or commercial advantage and that copies
bear 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
permission and/or a fee.
NOSSDAV’02, May 12-14, 2002, Miami, Florida, USA.
Copyright 2002 ACM 1-58113-512-2/02/0005 ...
$5.00.
1.
INTRODUCTION
The widespread use of the Internet and the maturing digital video technology have ledto anincreaseinvarious streaming media applications such as webcasts, distance-learning and corporate communications. Untilthe advent ofbroadband,theconstrainedlast-mile bandwidthwas the primary bottleneck in delivering quality streaming media overthe Internet. Asaccess providersroll outfaster last-mileconnections,thebottleneckisshiftingupstreamtothe provider'sbackbone,peeringlinks,andthebest-eort Inter-net. Thisproblemcanbepartiallyaddressedby\edge deliv-ery"ofstreamingobjectsfromanearbyproxyorviacontent distributionnetworks.Whiletheedgedeliveryofstreaming mediaobjectswillincreasescaleandreachofstreaming me-dia, handlingstreamingobjectsbringsadditional complex-ities atthe proxiesdue to thelarge objectsize, long-lived natureoftheobjects,andisochronousdeliveryrequirements fromtheusers.
Avarietyoftechniqueshavebeenproposedinthe litera-tureto eÆcientlyutilize the backbonenetworkbandwidth for streaming. Some of themuse multicast as ameans to reducethebackbonebandwidthusage: periodic broadcast-ing [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 aord very low backbonebandwidthusage,theyarenotinwidespreaduse duetotheir dependencyonnetwork-levelmulticast, which is notwidelyavailable overthe Internet exceptfor limited instancessuchas onlocalareanetworks. Additional draw-backsoftheaboveapproachesincludethebatchingdelays, andtheneedforclientstobeabletoreceivemultiple simul-taneousstreams.
Withtherecent proliferationofcachingproxies, someof these drawbacks canbe maskedby storing portions of the mediaobjectinthe proxytohide thestartuplatency,and byusingapplication-levelmulticastwhennetwork-level mul-ticast is not available. Related work in this area [7], [8], [11], [10], [15]combinedscalablevideodeliverywithproxy caching,wherethefocus was mostlyontransmittinga sin-glevideo. In[3],theauthorsstudiedbatchingandpatching withprex-cachingattheproxyformultipleheterogeneous videos, but analyzedeach schemeindependentlyto deter-mine the optimal caching unit. Thisrestricts all assetsin the system to be managed usinga singlescheme irrespec-tive of the dierence in their access patterns. In [7], we have investigatedthe videostreaming problem inthe con-textofjointserverschedulingandcachingstrategyatproxy
CORE
Metadata, citation and similar papers at core.ac.uk
tominimizetheaggregatebackbonebandwidthusage. How-ever,thisworkstudiedthreedierentschemesinadisjoint framework, forasingleassetonly.
In this paper, we build on earlier work and propose a uniedmathematicalframeworkunderwhichvariousserver schedulingandproxycachemanagementalgorithmsforvideo streaming can be analyzed. More precisely, we incorpo-rateknownserverschedulingalgorithms(batching,patching, andbatchpatching),andproxymanagementalgorithms(full caching, partialcaching,andnocaching, withanoptionto cachepatchbytesornot)inourframeworkandanalyzethe minimumbackbonebandwidthconsumptionunderthe op-timaljointscheduling/cachingstrategy.
Tothisend,werststudythecase ofstreamingasingle videoobjectandanalyzetheminimumbackbonebandwidth consumptionto meet the user requests underthe optimal scheduling/cachingalgorithm. Inparticular,weevaluatethe impactof 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 stream-ingmultiple,heterogeneousvideoobjectsundertheoptimal scheduling/caching algorithm. Finally, we derive a simple gradient-descent-basedcacheallocation algorithmthat can beimplementedattheproxyinpractice. Usingsimulations, wevalidateouralgorithmperformscloselytotheoptimal al-gorithmundervariousresourceconstraints.
The following section presents the problem formulation and buildsthe mathematical framework underwhich vari-ousschemes are analyzed. Section3analyzes the eectof variousparametersonthebackboneratefor asinglevideo. InSection4,wepresentasimpleone-dimensional gradient-descentbasedalgorithmtoperformcacheallocationfor mul-tiple, heterogeneous videos. Experimental results are pre-sentedinSection5andnally, Section6 presentsthe con-clusionsandfuturedirectionsfor thework.
2.
PROBLEM FORMULATION
We consideravideostreaming architecturecomposedof an origin server, a proxycache, and a nite set of media assets. Weassumereliabletransmissionswithbounded de-layoverthebackbonenetwork,andassumethattheaccess network(i.e.,proxy-to-clientcloud)islosslessand multicast-enabled. Wealsoassumethat theorigin serverisa batch-patchingserverwhiletheproxyservesclientswitha batch-ing interval not exceeding the acceptable playback delay. Finally, everystream fromthe origin serveris constrained to go through the proxy for various reasons such as con-tentadaptationpurposes(e.g.,adaptiveFEC,ratecontrol), unavailabilityofmulticastonthebackboneandaccounting andbillinginaCDNinfrastructure.
2.1
Preliminaries
Let denote the nite set of media assets. An asset ! 2 is characterized by itsCBR streaming rate r!, its duration T!, its average request rate (or popularity) !, anditsadmissibleplaybackdelayd
!
speciedintheService LevelAgreement(SLA).
Weconsiderthefollowingproblem: Giventheset,nd theper-assetjointschedulingandcachingstrategythat min-imizestheaggregatebackbonerateRundertheconstraints imposedbythenetworkserviceproviderinfrastructure. These
r !
streamingrate
T! playbackduration
! averagerequestrate(#ofrequestspersecond) d
!
admissibleplaybackdelay
Parametersforscheduling andcachingforobject!
! maximumnetworkjitter(!=) P! prexduration
b !
virtualbatchinginterval(b ! =P ! +d ! ) W ! patchingwindow(W ! =N ! b ! )
! binaryindicator(!=1ifproxycachespatch) I! intervalbetweentworegularchannels
Table 1: Parametersused in this paper to describe
the uniedmathematical framework.
constraintsencompassthe limitedcapacityof theproxyin termsofstorageS andbottleneckbandwidthBwhichmay bethediskorthenetworkbandwidth.
Wenowproposeauniedframeworkunderwhichvarious jointschedulingandcachingstrategiesmaybeanalyzed.
2.2
Unified Framework
WeconsiderthefollowingscenarioillustratedinFigure1. The proxy cache views itstime axis divided into intervals [t
k 1 ;t
k
]ofdurationd!unitsoftimewhichisthemaximum admissibleplaybackdelayattheclients. Allrequests arriv-ingin[t
k 1 ;t
k
)arebatchedtogetherandasinglestreamis sentbytheproxytotheclientsinthisinterval. Theproxy alsobatchestheserequestsoverapossiblylargerintervalwe call the virtual batching intervaldenoted by b
! , and indi-catedinFigure1by[ ~ t i 1 ; ~ t i
]. Attheendofvirtualbatching intervals,theproxyrequeststhe originserverfor thepatch streamsortheregularchannel. Thedurationofb!depends onthe cachedprex. If the proxydoesnot have any pre-x cached (P! =0), it mustmake arequest to theorigin servereveryintervalofd!andforwardthepatchaswellas the regularchanneltothe client. Inthis case,b
! =d
! . If the proxyhas a prexof duration P! cached, thenit can startstreamingtheprextotheclientsandideallycontinue batchingrequestsuntilthe clienthasplayedthe prexand isreadyforthesuÆx.Hence,ingeneral,b!=P!+d!. For simplicity, we assume b! holdsan integral numberof d!, whend
! >0.
Asanexample,consideracasewhentheproxyhasaprex of P! >0cachedandis alreadyserving somerequestsfor the video. A new request arrives at time t1 in [tk
1 ;tk), as shown in Figure 1. At time t = t
k
, the proxy starts streamingtheprextotheclient. Itcontinuestobatchthis clientinthecurrentvirtualbatchingintervalb!,until
~ ti,to eitherjointheregularchannelandrequesttheoriginserver forthepatchstream,whichitthenforwardstoalltheclients intheinterval[ ~ ti 1 ; ~ ti].
Clearly, ensuring continuous playback (or lossless deliv-eryovernon-idealbackbonenetwork)attheclientrequires sendingrequeststotheoriginserverinadvancetomaskthe eectofthenetworkjitter. Let
!
denotethisnetwork jit-terfor asset!. Forthesimplicityofexposition,weset
! tothemaximumnetworkjitterestimatedfromlong-term measurements. Thus,theproxymustmaketherequeststo theoriginserverunitsoftimeaheadtomaskthenetwork jitter. Thatis,b!=P!+d! .
Origin Server
Proxy requests
to server
Proxy streams
to Client
Client
t
s
Recv and play Prefix
Send request
Request Patch
Receive Patch
Forward Patch+RC to client
Recv and buffer Patch+RC
Regular Channel
Required Patch
b
d
ω
ω
W
ω
t
k-1
t
k
t
1
Regular Channel
i
i
t
i-1
i
t
i
= P + d
ω
ω
Time
Figure 1: Unied frameworkfor joint scheduling and caching strategies. The timing diagrams indicate the originserver, proxyand client request/transmissionschedules(with =0,for clarity). A client requestsan assetat time t1 2[t
k 1 ;t
k
). The proxy sends the prex at time t k
. At the end of the current b! interval, it requestsa patch (of 2b! in this example). It forwards the patch and the regular channelstarted at
~ ts to all theclients inthe currentb
!
interval.
Now, assume the most recent regular channel (RC) for asset!started attime
~ t s (where ~ t s <t 1 ). LetW ! denote apatchingwindowoftheserver, whosedurationalsois an integralofb!,i.e.,W!=N!b!forsomeintegerN!. Then wehavetwocases:
Case1:WhenP ! +t k < ~ t s +W !
(i.e.,patchingcanbe applied), thenthe proxycache starts forwarding the RCto theclientat time
~
ti,whichbuers the stream while playing back the prex. Also at time
~ ti, the proxyrequests a patch ofinterval [
~ t s ; ~ t i ], forwards it to the client and optionally caches it for future re-questswithinthesamepatchingwindow. Thiscaseis illustrated inFigure1. Case2: WhenP ! +t k ~ t s +W !
(i.e.,whenpatching cannotbeapplied),thentheproxyrequeststheorigin for a new regular channel (RC) of duration T
! P
! (i.e.,thesuÆx,sincetheprexofdurationP
!
isstored intheproxy),attime
~
ti,andforwardsittotheclients.
Note that this framework encompasses various existing serverscheduling algorithmsand proxycachemanagement algorithmsdevelopedforstreamingmediaapplications. More precisely, itcanmodelthefollowing caching strategies: (i) Fullcaching(P
! =T
!
). (ii)Partialcaching(0<P !
<T !
). (iii)Noprexcaching(P
!
=0). Atthesametime,it mod-els the following server scheduling schemes: (i) Batching
(b!>0andN! =0). (ii) Patching(b!=0and N! >0). (iii) Batch-patching (b
!
> 0 and N !
> 0). In addition, we canmodelthe case whenthe proxyeithertemporarily cachesthepatchbytes(! =1)ornot(!=0).
Wenowdevelopasetofequationsfortheaggregate back-bonerateR
!
,theproxystorageS !
andnetworkbandwidth B! requirementsforamediaasset!2,averagedoverthe intervalI!. Inthe following we assume aPoisson request arrivaldistributionsuchthatq=e
!b!
istheprobability tohaveanemptybatchofdurationb! unitsoftime.
Theaggregate backbone rateat stationary state,R!, in-cludes thetransmission of patches(
!
) during b !
and the suÆx ofduration (T! P!) fromthe origin server, and is givenby:
R!=
!b!r!+(T! P!)r!
I!
; (1)
where!denotestheaveragenumberoftransmittedpatches ofasset!: ! = ! q (N ! +1) (N ! +1)q+N ! 1 q +(1 ! )(1 q) N!(N!+1) 2 ; (2)
channels: I!=(N!+1)b!+! 1 : (3) Thederivationof !
isas follows: Whentheproxycaches thepatchbytes(!=1),ifthereisarequestinbatchiand none in the later batches in I!, the proxy fetches exactly ib
! r
!
patchbytesfrom theserver, for thisinterval. When the proxy does notcache the patchbytes (
!
= 0), then theproxyfetchesupto
P
ib!r!patchbytesfromtheorigin server. !=! X i=1;N (1 q)iq (N i) ! +(1 !) (1 q) X i=1;N i ! (4) ThisequationcanbesimpliedtoEquation2.
TheproxycacheoccupancyS!,averagedoverI!,isgiven by: S ! = P ! r ! +r ! (T! P!) I! + ! b ! r ! [ ! N ! b ! +(1 ! )] I! : (5)
Thersttermindicatesthestoragefortheprexthatstays fortheentireduration,thesecondtermrepresentsthe stor-ageexpendedforthejitter-buerassociatedwiththesuÆx stream and the third term represents the storage for the patchbytes|ifthe patches arecached, thenastorageof !b!r! is used for a duration of N!b! and ifthe patches arenotcached,thenastorageofr! isusedfortheperiod of
! b
!
. It can be noted that when the patches are not cached, the storageutilization simplies to the prex plus additional (r!) buersfor all the streams received from theoriginandforwardedbytheproxy,whichisR
! : S ! =P ! r ! +R ! when ! =0
Theproxybatchesclientrequestsinintervalsofd !
which is the maximum playback delay. The proxy streams the prexfor every batchof d!, andforwards the patchbytes (everyb
!
),andtheregularchannel(everyI !
)receivedfrom the origin server, to the client. Thus the proxy network bandwidth,assuming amulticast-enabled networkfromthe proxyservertotheclients,B
! ,averagedoverI ! ,isexpressed as: B!= 8 > < > : (1 e !d! )(N ! +1)b ! P ! r ! I ! d ! +R! if d!>0 ! (N ! +1)b ! P ! r ! I ! +R! if d!=0 (6) Whentheplaybackdelay isnon-zero, therstterm rep-resentsthetotalbytesofprex(whichissentseparatelyto eachbatchofclientsintheintervald
!
),thesecondterm rep-resentsthetotal bytesofthe suÆx(asinglestreamissent toalltheclientsintheintervalI!)includingthepatchbytes forwardedto theclientsinthe intervalI!. Whend! =0, then one prex stream is sent to each client, besides the patchesandtheregularchannel.
3.
ANALYSIS
Inthissectionweanalyzetheeectofvariousparameters onthebackbonebandwidthusageinordertodeterminethe optimalserverschedulingandproxycachingstrategiesthat willjointlyminimizethebackboneusage.
3.1
Backbone usage with cached prefix
Equation 1shows that the backbonerate is determined by various parameters { the size of the cached prex P!, the playback duration T
!
, the streaming rate r !
and the popularity
!
. Intuitively,weexpectthesize ofthecached prexmustaectthebackboneratethemost. Tosimplify theanalysis andunderstandthiseect,we setthe value of ,thenetworkjitter,tozeroandalsoset
!
,theindicator tocachethepatchbytes,tofalse.
0
2
4
6
8
10
12
λ=0.0599 to 10
λ=0.0167
λ=0.0013
R [Mbps]
Storage constraint S /
Ω size
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Figure 2: Normalized bandwidth usage vs. cached
prex size.
InFigure2,weplotthevalueoftheminimumbackbone rateR
!
normalizedoverthestreamingrate,againstthesize oftheprexcachedattheproxy,forvariousvaluesof!in therangeof10
4
and10requestspersecond.
Twosignicantobservationscanbemadefromthisgure:
ThenormalizedbackbonerateR! decreaseswiththe prexsize(P
!
). Here,N !
is chosensuchthatit min-imizesR! for achosenprex size and is denotedby N
? ! 1
. ThisdecreaseinR!canbeintuitivelyexplained as follows. Setting N
!
=N
? !
implies that the back-bonerateisminimized foragivenasset(i.e., T!,r!, !) and a prex size P!. In otherwords, it equiva-lentlyminimizesthestreaming rateofavirtual asset ~
!of duration T! P!,theotherparameters staying unchanged. Increasing P! to P!+Æ (withÆ 0) is then equivalent to decreasing the size of the virtual asset!~ toadurationofT
! P
!
Æ. Sincethe mini-malstreamingrateofanassetofdurationT! P! Æ cannotbe larger than thestreaming rate ofan asset of duration T
! P
!
, thebackbonebandwidthR !
is always decreasing with the prex size P!. This can alsobeformally provedby verifying that the deriva-tive @R! @P! j N!=N ? ! isindeednegative8P ! 2[0;T ! ].
Thepopularity ! has a signicant eect onR . We observethattheplotsaredistinctforsmallervaluesof
!
,buthavenear-completeoverlapbeyond ! =0:21 1 N ? !
minimizesR!andisobtainedbysetting @R
! @P!
=0and
requestspersecond. Atthis value, theprobabilityof seeing at least one request per batching interval b
! becomescloseto1. Beyondthis,requestsgetclumped into batchesattheproxyand thisdoesnotaectthe backbonerateanymore. Thisthresholdvaluedepends onthebatchingintervalb!ofavideo.
3.2
Proxy bandwidth constraint
10
20
30
40
50
60
70
80
90
100
0
0.5
1
1.5
2
2.5
3
3.5
4
Normalized R
Storage constraint S / Ω size
B = 25%
B = 50%
B=75%,100%
Figure3: Normalizedbackboneratevs. cached
pre-x size (when the bandwidth out of the proxy is
constrained).
In the above analysis, the bandwidth out of the proxy wasunconstrained, leadingtotheminimalbackbone band-widthusage. InFigure3,westudytheeectofconstraining the networkbandwidth outof the proxy. Oncethe proxy bandwidthissaturatedthevideocannotbestreamedtothe clients. Thegureplotstheregionwheretheprexislarger than10%ofthevideo. Itshowsthatoncetheproxy band-width limit is reached, R
!
cannot be reduced further by increasingtheprexsize. InSection4,weanalyzetheeect ofconstrained bandwidthinthecaseofmultiple, heteroge-neousvideos.
3.3
Caching patch bytes at the proxy
Next, we examinethe eect of temporarily caching the patchbytesintheproxy. InEquation1,thischoiceis indi-catedbytheparameter
!
. Figure4plotsR !
withrespect to the prex size for the following two cases: (i) patches arenotcached(!=0)and(ii)patchesarealwayscached (
!
=1), for all ! 2. The gureclearly indicates that thereisnosavingsinRby caching thepatchbytes atthe proxy. Inother words, this impliesthat wheneverspace is available,it ismore benecialto useit to cache theprex ofthevideoratherthanuseittocachepatchbytes. Thisis becauseincreasing theprexincreases thebatchingperiod andalsoreducesthesuÆxstream,bothofwhichcontribute tosavingsinR.
However, theneedto cachepatchbytes may arisewhen the client, such as a mobile client, has limited bandwidth capacity. As described in [7], if only the prex is cached atthe proxy,theclientcould endup receivingup to three
0
10
20
30
40
50
60
70
80
90
100
0
5
10
15
20
25
30
35
40
45
Storage constraint S / Ω size
Nor
maliz
ed R
α = 1
α=0, α=opt
Figure 4: Normalized backbone rate R vs. cached
prex sizewith: !
=0and !
=1.
simultaneous streams { prex from the proxy, patch and regular channel from the origin server. Insuch cases, the proxymight be forced to cache the patchwhenthe client cannotreceivemorethantwosimultaneousstreams. Inthe remainder, we assume that the proxy does not cache the patchbytes(i.e.,=0).
Thusfar,wehavestudiedtheeectsofvariousscheduling and cachingschemes onthe usageof the backbone, inthe contextofasingleasset. Wefound thattheideal schedul-ingpolicyattheoriginserverisbatch-patching,withprex cachingperformedat theproxy. Theproxycandetermine the patchingwindowN!b! basedonthe prex size and request new regular channels from the origin serverwhen thiswindowiscrossed.
4.
MULTIPLE HETEROGENEOUS VIDEOS
Inthis section,we rstformulateandsolvean optimiza-tion problem to determine the joint server-scheduling and proxycachingstrategythat minimizesthebackbone band-width usage for a given set of assets. We then use the ndings intheprevious section suchas the non-increasing property of R, to design a near-optimal gradient-descent-basedcacheallocationalgorithmformultiple,heterogeneous videos.
4.1
Preliminaries
We aim to solve the following non-linear optimization problem(P1):
Problem P1Givenasetofmediaassets!2 character-izedbytheirstreamingratesr
!
,durationsT !
,accessrates ! and admissibleplayback delaysd!. Givenalso aproxy cacheof storage capacity S andproxynetworkbandwidth B,andabackbonenetworkwithboundedjitter. Findthe tuples (P!;N!;!)that minimize theaggregate backbone rate Rsuchthat (i)
P !2 S! S (ii) P !2 B! B and
(iii) max(0; d!P!T!) (iv)0 N! T ! P ! b ! (v) ! 2f0;1g.
LetA=jj denotethecardinality oftheset. Weare facinganon-linearoptimizationproblemwith3Aunknowns
! ! !
straints (proxy space and bandwidthconstraints + upper andlowerboundsonthevaluesof[N!;P!;!]foreach as-set!). NotethatthevalueofA maybeashighas several thousands. Clearly,blindlyapplyinganon-linear optimiza-tiontechniquetoProblemP1maynotleadtoasolution(i.e., noconvergence),orat leastnotinareasonableamountof time(i.e.,slowconvergence). Choosingatoolwhichexploits somepropertyorstructureof theproblemusuallyyieldsa solutionmore eÆciently. We chose the LANCELOT opti-mizationtool[2] to solve ourproblem, sinceit is designed fornon-linearproblemswithastructureverysimilartoours. Note that ProblemP1maynot have asolution. Recall thatwemadetheassumptionofasystemwhereallstreams toaclient(i.e.,prex,patchandregularstream)aretopass throughtheproxyfor variousreasonssuchas the unavail-abilityofmulticastfromtheoriginservertotheclients, ac-counting/billinginaCDNinfrastructureandcontent adap-tationpurposes(e.g.,transcoding,ngerprinting). Thatis, settingallP!andN! tozeroleadsto
P !2
B!>0,which may exceed the proxy bandwidthconstraint. Clearly, the solvability of P1 depends on the constraint bounds. The selectionofthemost appropriatesetsuchthatP1hasa solution,isbeyondthescopeofthiswork.
Inthefollowing,experimentsareperformedwithA=50 media assets whose ! values follow the Zipf-distribution with=0:8,anduniformlydistributedr!andT!inthe dis-cretesetsr
!
2[800;1600;2400]kbpsand T !
2[60;90;120] minutes. Using the earlier nding that caching the patch bytes is not benecial in termsof backbone usage, we set =0inP1. Thus,ProblemP1reducesto2Aunknowsand 2+4Ainequalityconstraints.
Theremainderofthissectionisorganizedasfollows: First, wepropose adiscrete1-Dgradient-descenttechnique prov-ablyoptimal under the assumptions of null networkjitter (i.e., =0) and inniteproxybandwidth(i.e., B =1). Wethenprogressively relaxtheseassumptionsand demon-stratetheappropriatenessoftheproposedalgorithm. Each analyticstep isveried by comparing the results withthe optimalsolutiongivenbyLANCELOT.
4.2
Gradient-descent based proxy allocation
Most of the research work in this area neglects the ef-fectof thebackbonejitter (i.e., =0is assumed). Also, proxybandwidthisusuallynot limited(i.e.,B =1). We showthat,undertheseassumptions,onecanndthe opti-mal solutionveryeÆciently withagradient-descent based algorithm.
Inthisspecialcase,theproxycachesize(Equation5) re-duces to S! = P!r!. That is, the prex size is the only parameterthatmayin uencetherequiredsizeofthecache. Moreover the proxy bandwidth is not a constraint here. Our objective is to minimizethe aggregate backbonerate R, whichdepends onbothP! andN!. Therefore,among all possible values of N
! , N ? ! such that @R! @N! = 0 clearly leadstotheminimumbackbonerateforanygivenP!under the storage constraint. We thus replace the unknownN! inEquation1byitsoptimal value N
? !
,whichisafunction ofP
!
. Theresulting problemconsists ofndingtheprex sizesP! that minimizethe backbonerateR, a functionof P
!
only,suchthat P !2 P ! r ! S.
We propose a simple optimal discrete gradient descent-basedalgorithm. Thepseudocodeof AlgorithmA1 is
pre-PrefixAlloc(lambda) f
Rgain[i][j] =getR(lambda[i],j*c) -getR(lambda[i],(j-1)*c);
// walk throughthelists, determine prefix size // block[i]: indexof theblock topick next // forasseti.
fori=1 toNumVideos
block[i]=1; //initializeblock[i] // whilecache isnotfull.
while(allocSpace <= cacheSize)f // findthe blockwith maximumbenefit fori=1to NumVideos
forj=2to numBlocks
video=find max(Rgain[i][block[i]]) RgainTotal+= Rgain[video][block[video]]; block[video]++; Prefix[video]+=c; allocSpace+= blockSize; g g
Figure 5: Algorithm A1: Proxy PrexAllocation.
sentedinFigure5. Letusassumectobethesmallestunit ofcacheallocationandallallocationsareinmultiplesofthis unit. The algorithm rstcomputes the value R! for each incrementoftheprexsizeinunitsofc. Itthendetermines theincrementalsavingsinR
!
ongrowingtheprexby incre-mentsofc. Oncethisisdetermined,thealgorithmgreedily llsupthe cachebygrowingprexessuchthat thegainin R
!
ismaximized. SinceR !
decreasesmonotonicallyasthe prexsizeincreasesasshowninFigure2,theabovegreedy algorithm results in the asymptotically-optimal allocation wheretheaccuracydependsonthecachinggranularityc.
5.
EXPERIMENTAL RESULTS
Inthis section, we examine the impact of and B on the quality ofthe solutionprovidedbyAlgorithmA1. We comparethe experimentalresults fromAlgorithmA1 with theoptimalsolutionobtainedusingLANCELOT.
5.1
Bounded Jitter and
Unconstrained Proxy Bandwidth
We rst consider the case where = 0 and B = 1. Figure 6 rst shows the solutionfrom Algorithm A1 with the optimal for aset ofA =50 mediaassets withvarious ! , r ! and T !
as described earlier. The gure shows the evolution ofthe aggregate backbonerateRwith the ratio betweenproxystoragecapacitySand
P !2
T!r!. Itshows thatAlgorithmA1oersthesameperformanceasthe opti-malobtainedusingLANCELOT.Asexpected,the gradient-descent based method is near-optimal under the previous assumptions. We canalsoseethat afullyoptimized proxy management oers asignicant backbone bandwidth gain comparedtoasimpleprexcachingscheme(withbatching overtheprex).Theprexcachingschemeparametershave beenoptimizedunderaproblemformulationsimilartoP1, byimposingN! =0;8!2. Thisimplies thattheserver doesnotperformbatch-patching.
Movingfromanull-jitternetworktoarealnetwork(i.e.,
!
>0)impliesthattherequiredcachespace(Equation5) now depends onN! since space needs to be expended for the jitter buers. 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
!
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0
500
1000
1500
2000
2500
3000
3500
4000
R [Mbps]
Gradientdescent method
Optimal
Prefix caching + batching
Storage constraint S /
Ω size
Figure 6: Aggregate backbone rate vs. proxy stor-agecapacityforaheterogeneoussetofA=50media
assets, = 0 and d = 3 seconds, using Algorithm
A1 and the optimal. The simpler algorithm where
N !
=0 for all ! 2 (pure prex batching) is also shown.
minimizesthebackbonerateforasset!,andthusminimizes the corresponding required storage as well (for any value of P!). The summationoverall assets in preservesthe property such that Algorithm A1 is again asymptotically optimalwithrespecttothecacheallocationunitcwhena realnetworkisconsidered.
Figure7 comparesthe solutionfrom AlgorithmA1 with theoptimalwhen =2and d=3seconds. Asexpected, >0doesnotimpactthequalityofthesolutiongivenby A1. We observethat optimalbatchpatchingagaingreatly reducesthebackbonerateascomparedtotheprexcaching schemewithplainbatching;especiallywhentheproxycan store muchless than the entire set . It is also interest-ingto note thatthe prexcachingschemehas nosolution forsmall storage constraints (below5%)becausethe jitter buerneedstobeaccommodated.
5.2
Bounded Jitter and
Constrained Proxy Bandwidth
Finally we add the constraint on the proxy bandwidth (i.e.,B! <1). TheproxybandwidthB! dependsonN! inamorecomplicatedway.Equation6showsthatN
! plays aroleboth inthe rstandthe secondterm. Inarst ap-proximation,let1=!b!(N!+1). Ifthisapproximation holds, then I
!
(denominator) cancels out the b !
(N !
+1) factor(numerator)inEquation6. Thus,thedependenceon N!isre ectedbythesecondtermonly(thatis,R!). Again, thevalueN
!
minimizestheproxybandwidthforanyvalue ofP
!
. Giventhesummationoverallassetsin,Algorithm A1staysclosetooptimal.
FromEquation6,theapproximationholdsifeither !
1or P
!
is relatively small(whichis the main multiplying factoroftheerror). Inthiscase,itcanbeshownthat
opti-0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0
500
1000
1500
2000
2500
3000
3500
4000
R [Mbps]
Gradientdescent method
Optimal
Prefix caching + batching
Storage constraint S / Ω size
Figure 7: Aggregate backbone rate vs. proxy stor-agecapacityforaheterogeneoussetofA=50media assets, =2 seconds and d=3 seconds, using
Al-gorithm A1 and the optimal. The simpler method
whereN
!
=0for all !2 (pureprex batching) is also shown.
malvaluesofNwithrespecttobothRandBareclose 2
.In ourexperiments,wedonotassume1. Insteadweshow that the results from Algorithm A1 slightly diverge from the optimalsolutionwhenincreasing the size ofthe proxy cache(i.e.,increasingP!,inaverage). Figures8and9 com-pare the results from Algorithm A1 with the optimal for a highly and moderately constrained proxybandwidth B. The gures show the evolution of the aggregate backbone rateRwiththeratiobetweenproxystoragecapacityS and P !2 T ! r !
, for B =2:67 Gbpsand B =1:335 Gbps, re-spectively. Thegradient-descentbasedalgorithmstaysclose tooptimal forlowstorage orbandwidthconstraints. How-ever, it thenslightlydivergesfromthe optimal. Neverthe-less,thesub-optimalgradient-descentmethodstaysaviable, andverysimplesolutiontotheproxymanagementproblem.
6.
CONCLUSIONS
Inthispaper,weaddresstheproblemofeÆciently stream-ingheterogeneousvideostoclientsoveradistributed infras-tructure consistingof origin serversand proxycaches. We build onearlier workand propose a unied mathematical frameworkunderwhichvariousserverschedulingandproxy cache management algorithms suchas batching, patching, batch-patchingwithpartialcachingattheproxy,canbe an-alyzed. Weformulateanoptimizationproblemtodetermine theoptimalschedulingandcachingstrategiessuchthatthe proxyspace andbandwidthconstraints are respected. We alsoproposeasimpleone-dimensionalgradient-descent algo-rithmtosolvetheproblemandshowthattheresultsclosely matchthe optimalsolutionobtained usingthe well-known
2
Theassumptionistrueifthefollowingconditionisveried:
2 b 2 rP (1 e d ) d (1 e b )(b+1)+2b 2 (T P): (7)
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0
500
1000
1500
2000
2500
R [Mbps]
Gradientdescent method
Optimal
Prefix caching + batching
Storage constraint S / Ω size
Figure 8: Aggregate backbone rate vs. proxy stor-agecapacityforaheterogeneoussetofA=50media 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
prexbatching) isalso shown.
LANCELOToptimization tool. Fromourexperiments,we alsodeterminethatprexcachingattheproxywith batch-patching enabledat the origin server, isthe most eective strategy.
Acknowledgements
Theauthors wouldliketothankAndrew Connfromthe I.B.M.T.J.WatsonResearchCenterforhishelpwith under-standingtheapplicability oftheLANCELOToptimization tooltosolveourproblem.
7.
REFERENCES
[1] A.Dan,D.SitaramandP.Shahabuddin.Scheduling PoliciesforanOn-DemandVideoServerwith Batching.ProceedingsofACMMultimedia,Oct.1994.
[2] A.R.Conn,N.I.M.GouldandPh.L.Toint. LANCELOT:AFortranPackageforLarge-Scale NonlinearOptimization(ReleaseA).Spinger-Verlag, 1992.
[3] B.Wang,S.Sen,M.AdlerandD.Towsley.Optimal ProxyCacheAllocationforEÆcientStreamingMedia Distribution.ToappearinProceedings ofIEEE Infocom,2002.
[4] C.C.Aggarwal,J.L. WolfandP.S.Yu.Apermutation basedpyramidbroadcastingschemeforMetropolitan VODsystems.Proc.of theIEEEInternational ConferenceonMultimedia Systems,June1996.
[5] K.A.HuaandS.Sheu.SkyscraperBroadcasting: A newBroadcastingSchemeforMetropolitanVOD systems.Proceedings oftheACMSIGCOMM,1997.
[6] K.A.Hua,Y.CaiandS.Sheu.Patching: Amulticast techniqueforTrueOn-DemandServices.Proceedings ofACMMultimedia,Sept.1998.
[7] O.Verscheure,C.Venkatramani,P.Frossardand L.Amini.JointServerSchedulingandProxyCaching
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0
100
200
300
400
500
600
700
800
900
1000
R [Mbps]
Gradientdescent method
Optimal
Prefix caching + batching
Storage constraint S / Ω size
Figure 9: Aggregate backbone rate vs. proxy stor-agecapacityforaheterogeneoussetofA=50media 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
prex batching)isalso shown.
for VideoDelivery.ComputerCommunications, SpecialIssue,25,March2002.
[8] P.FrossardandO.Verscheure.BatchedPatchCaching for StreamingMedia.IEEE Communications Letters, 6(4),April2002.
[9] P.WhiteandJ.Crowcroft.OptimizedBatchPatching withClassesofService. ACMCommunications Review,October2000.
[10] S.-H.GaryChan.OperationandCostOptimizationof aDistributedServersArchitectureforOn-Demand VideoServices.IEEECommunicationsLetters,5(9), Sept.2001.
[11] S.Ramesh,I.RheeandK.Guo.Multicastwithcache (mcache):Anadaptivezero-delayvideo-on-demand service.ProceedingsofIEEE Infocom,April2001.
[12] S.Sen,L.Gao,J.RexfordandD.Towsley. Optimal patchingschemeforeÆcientmultimediastreaming. Proc.ofIEEEInternationalConference on MultimediaComputingandSystems, June1996.
[13] S.ViswanathanandT.Imielinski.MetropolitanArea Video-on-DemandServiceusingPyramid
Broadcasting. MultimediaSystems, 4,August1996.
[14] Y.Cai,K.HuaandK.Vu.OptimizingPatching Performance.ProceedingsofACM/SPIEMultimedia ComputingandNetworking,Jan1999.
[15] Y.Guo, S.SenandD.Towsley.PrexCachingassisted PeriodicBroadcast: FrameworkandTechniquesto SupportStreamingforPopularVideos.Technical ReportTR01-22,UMassCMPSCI,2001.