ࡱ> SRh(F / 00DTimes New Romantt@+ 0tDTahomaew Romantt@+ 0t" DWingdingsRomantt@+ 0t0DCenturysRomantt@+ 0h A.  @n?" dd@  @@`` DRt ((   &  0e0e A@A5%8c8c     ?1d0u0@Ty2 NP'p<'p@A)BCD|E? f@f8FlO ʚ;Sk8ʚ;g4PdPde 0(ppp@ <4!d!d@k 0t+<4dddd@k 0t+ <4BdBd@l 0tj0___PPT10 *___PPT9 z? +O =ACDN: A CDN for ApplicationsPPradnya Karbhari Michael Rabinovich Zhen Xiao Fred Douglis AT&T Labs -- Research(;;6 Content Distribution Networks(5Comprise surrogate servers that serve content on behalf of origin servers Can serve static pages, streaming content, applications Static pages can be served by client-side caches as well [Gadde et al. 2000] Same for streaming content Unique CDN value: Distributing applications Retaining control over contentpZhZZ9Z99u6ACDN Components(Replication framework Dynamically install and uninstall applications based on demand Maintain replica consistency Content placement algorithms Request distribution algorithms6_=_= Replication Framework(Inspired by work on software distribution (e.g., Marimba) Metafile for each application containing: A list of time-stamped files (data and executable files) An initialization script (or a pointer to it)*eheh8 Application Metafile( A metafile is a simple static Web page Having a metafile is sufficient to deploy the application Having the current metafile is sufficient to bring the application replica up-to-date. Consistency of application replicas => consistency of cached copies of the metafile   7Framework Tasks(ICreating a replica Obtaining a metafile Obtaining a tar file with all files listed in the metafile Running the initialization script Updating a replica Obtaining the diff of metafiles Obtaining files that are new Deleting a replica Retaining the deleted replica for some time to process residual requests before physical deletionzr=br=b  ( Algorithms  (Request distribution algorithm Load balancing among servers that have the requested application Proximity of servers to requesting clients Content placement algorithm Distributed decision - at each CDN server Total load on the server Percentage of requests from other regions Prediction of load after replication or migration Placement costs: bytes transferred during replication vs. bytes transferred during responsesZlZZ*ZZl*    9!Algorithmic Challenges(Convergence Moving replicas around Load oscillations Responsiveness and stability Distributed vs. Centralized Algorithms Interplay between request distribution and content placement L ) )<"Load Balancing Algorithm1Overview of the Prototype(/T X  0` 33PP` 3333` ___MMM` 13` 333fpKNāvI` j@v۩ῑ΂H` Q_{>?" dd@,?n<d@ `7 `2@`7``2 n?" dd@   @@``PR    @ ` ` p>>  H((  H  H 6  "U  T Click to edit Master title style! !$  H 0  "   RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S  H 6ؚ "@`   ^*  H 6؟ "`  ^*B H s *޽h ? 3333  Blends  0 ME@L(  L  L <R ?"pP  T Click to edit Master title style! !  L 0U " `    W#Click to edit Master subtitle style$ $ L 6Z "`p   `* L 6^ "`p   b* L 6lb "`  b*B L s *޽h ? 3333 0 `l((  l l N@kk }$   r*  J&&JJoo  l Nkk  F$  t*  J&&JJood l c $ ?VC  4 l Nkk  N  RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S l Tkk }   r*  J&&JJoo l Tkk  F  t*  J&&JJooH l 0c6ks ? ̙3380___PPT10.a ph(  h h N&kkk }$  k z* J&&JJoo h N)kkk  F$ k |* J&&JJoo h T;kkk }  k z* J&&JJoo h T0Fkkk  F k |* J&&JJooH h 0c6ks ? ̙3380___PPT10.v 0 00(  x  c $m L@@`  x  c $Tn L`    H  0޽h ? ̙33  0 0(  x  c $\ H@m   x  c $4 HP@`p  H  0޽h ? ̙33  0 $(  r  S  9 HU  9 r  S \ 9 H  9 H  0޽h ? 3333^   0  (   x  c $\9 Hp  9 x  c $ 9 H 9   Z ?? P XXFILE /home/applications/mapping/query_engine.cgi 1999.apr.14.08:46:12 FILE /home/applications/mapping/map_database 2000.oct.15.13:15:59 FILE /home/applications/mapping/user_preferences 2001.jan.30.18:00:05 SCRIPT mkdir /home/applications/mapping/access_stats setenv ACCESS_DIRECTORY /home/applications/mapping/access_stats ENDSCRIPTVG 20<2 2v0<2  2Y-@D-E|  T ??0`H  0޽h ? ̙33  0 $(  r  S d9 HP   9 r  S e9 H  9 H  0޽h ? 3333  0 $(  r  S t9 H` 0  9 r  S u9 Hp 9 H  0޽h ? 3333  0 $(  r  S t9 HP0  9 r  S L9 Hp 9 H  0޽h ? 3333  0 $$(  $r $ S 9 HU  9 r $ S 9 H  9 H $ 0޽h ? 3333  0 @X(  @r @ S . H    @  `0 ??0W Initial probabilities: Loop through the replicas in order of decreasing proximity if load(i) < LW prob(i) =1.0 else if LW <= load(i) < HW prob(i) = (HW  load(i)) / (HW  LW) else prob(i) = 0.0 Adjustments: remainder = 1.0 Loop through the replicas in order of decreasing proximity prob(i) = prob(i) * remainder remainder = remainder  prob(i) Final probabilities: prob(i) = prob(i) / sum of allD $H t3,n.H @ 0޽h ? 3333  0  /(  r  S 9 H P  9 2   fh9??0P  = Internet       fܥ9 ??6  8Client   Z9 ??   @DNS Redirector   Z9 ??p @Primary Server   Z9 ?? 9Server2   Zг9 ?? @  9Server3    f49 ??6  DCentral Replicator B  # lD?? B  # lD?? @ B  # lD??0B  # lD?? B   fD??0 PP B   `D??p @p B   `D??B   `D??p0 B @  `D??`B   `D??@ @0    f`9 ?? < Replicator     fx9 ?? @ < Replicator    Z9 ??p& < Replicator     p0e0e BC DELF$A@ 5%8c8c     ?1d0u0@Ty2 NP'p<'p@A)BCD|E?  @ c 3 P3kPQL%@      m 0X   00e0e B Ck DEFA@ 5%8c8c     ?1d0u0@Ty2 NP'p<'p@A)BCD|E?k   @  +X   00e0e B CDEFA@ 5%8c8c     ?1d0u0@Ty2 NP'p<'p@A)BCD|E?!Aa @   @.H  0޽h ? 3333 0 Pp((  p^ p S lVC    p c $l N    H p 0c6ks ? ̙33 0 P|((  |^ | S lVC   k | c $ kl N  k  H | 0c6ks ? ̙33 0 LDp(  ^  S lVC   k>  c $\kl N  k The replication framework is the mechanism we have set up in order to create replicas and maintain the consistency amongst them. We have introduced a metafile, which lists the files that comprise the application. When a request for creation of replica comes in, a tar-gz file of the application is sent to the new site. This file consists of the metafile, the initialization script for the application and all the other files in the application. We have also written a cgi-script for creating and updating the replicas, which resides on all the pre-configured replica sites. The advantage to this approach is that we do not need to modify the server., H  0c6ks ? ̙33r|57: p" /u(&ik l(7D1/O6@ 9KB_@#F<Hzq<1Oh+'0 hp ( H T `lt,Dynamic replication of Dynamic ApplicationspradnyaLC:\Program Files\Microsoft Office\Templates\Presentation Designs\Blends.pot Zhen Xiao145Microsoft PowerPoint@p@;@ >v@ G$g  1  y--$xx--'@"Tahoma-. 3312 !ACDN: A CDN for Applications."System9-@"Tahoma-. 2 69Pradnya Karbhari.-@"Tahoma-. "2 ?7Michael Rabinovich.-@"Tahoma-.  2 HCZhen.-@"Tahoma-.  2 HRXiao.-@"Tahoma-.  2 Q?Fred.-@"Tahoma-. 2 QLDouglis.-@"Tahoma-. 2 Z5 AT&T Labs .-@"Tahoma-.  2 ZU--.-@"Tahoma-. 2 Z[Research.-՜.+,0     dOn-screen Show AT&T Labs"r]  Times New RomanTahoma WingdingsCenturyBlendsACDN: A CDN for ApplicationsContent Distribution NetworksACDN Components Replication FrameworkApplication MetafileFramework Tasks AlgorithmsAlgorithmic ChallengesLoad Balancing AlgorithmOverview of the Prototype  Fonts UsedDesign Template Slide Titles !_q 0Zhen XiaoZhen Xiao  !"#$%&'()*+,-./0123456789;<=>?@ACDEFGHIKLMNOPQTRoot EntrydO)Current UserJSummaryInformation(:PowerPoint Document("rDocumentSummaryInformation8B