Reliable Distributed SystemsRecall that Web Services won’t…How we do it nowWhy this isn’t good enoughContent Routing Principle (a.k.a. Content Distribution Network)Slide 6Slide 7Two basic types of CDN: cached and pushedCached CDNSlide 10Slide 11Slide 12Pushed CDNSlide 14CDN benefitsCDN costs and limitationsCDN example: AkamaiAkamai caching services ARL: Akamai Resource LocatorARL: Akamai Resource LocatorSlide 20Slide 21ARL Control PartARL Host PartSlide 24Akamai EdgesuiteSharper Image and EdgesuiteSlide 27What may be happening…Other content routing mechanismsSlide 30Slide 31How well do CDNs work?Slide 33Reduced latency can improve TCP performanceLets look at a studyMethodologyResponse Time Results (II) Including DNS Lookup TimeSlide 38CDNs out-performed non-CDNsEffectiveness of DNS load balancingSlide 41DNS load balancing not very effectiveOther findings of studyUltimately a frustrating studyAnother studyHistorical trend: Clear improvementPerformance breakdownEffect of CDN: Positive (but again, we don’t know why)Most web sites not using CDN (4-1)To wrap things upLayered NamingResearch challengesHomework (not to hand in)WS & RPC Connectivity Issues: Network Address TranslationReliable Distributed SystemsA glimpse into the world of Content Distribution NetworksBased on a slide set developed by Prof. Paul FrancisRecall that Web Services won’t…Allow the data center to control decisions the client makesAssist us in implementing naming and discovery in scalable cluster-style servicesHow to load balance? How to replicate data? What precisely happens if a node crashes or one is launched while the service is up?Help with dynamics. For example, best server for a given client can be a function of load but also affinity, recent tasks, etcHow we do it nowClient queries directory to find the serviceServer has several options:Web pages with dynamically created URLsServer can point to different places, by changing host namesContent hosting companies remap URLs on the fly. E.g. http://www.akamai.com/www.cs.cornell.edu (reroutes requests for www.cs.cornell.edu to Akamai)Server can control mapping from host to IP addr.Must use short-lived DNS records; overheads are very high!Can also intercept incoming requests and redirect on the flyWhy this isn’t good enoughThe mechanisms aren’t standard and are hard to implementAkamai, for example, does content hosting using all sorts of proprietary tricksAnd they are costlyThe DNS control mechanisms force DNS cache misses and hence many requests do RPC to the data centerWe lack a standard, well supported, solution!Content Routing Principle(a.k.a. Content Distribution Network)SISPBackboneISPIX IXS SSiteSISPS S SISPS SBackboneISPBackboneISPHostingCenterHostingCenterSitesContent Routing Principle(a.k.a. Content Distribution Network)SISPBackboneISPIX IXS SSiteSISPS S SISPS SBackboneISPBackboneISPHostingCenterHostingCenterSitesCSCS CSCSCSContent Origin hereat Origin ServerContent Servers distributed throughout the InternetOSContent Routing Principle(a.k.a. Content Distribution Network)SISPBackboneISPIX IXS SSiteSISPS S SISPS SBackboneISPBackboneISPHostingCenterHostingCenterSitesCSCS CSCSCSContent is served from content servers nearer to the clientCCOSTwo basic types of CDN: cached and pushedSISPBackboneISPIX IXS SSiteSISPS S SISPS SBackboneISPBackboneISPHostingCenterHostingCenterSitesCSCS CSCSCSC COSCached CDNSISPBackboneISPIX IXS SSiteSISPS S SISPS SBackboneISPBackboneISPHostingCenterHostingCenterSitesCSCS CSCSCS1. Client requests content.C COSCached CDNSISPBackboneISPIX IXS SSiteSISPS S SISPS SBackboneISPBackboneISPHostingCenterHostingCenterSitesCSCS CSCSCS1. Client requests content.2. CS checks cache, if miss gets content from origin server.C COSCached CDNSISPBackboneISPIX IXS SSiteSISPS S SISPS SBackboneISPBackboneISPHostingCenterHostingCenterSitesCSCS CSCSCS1. Client requests content.2. CS checks cache, if miss gets content from origin server.3. CS caches content, delivers to client.C COSCached CDNSISPBackboneISPIX IXS SSiteSISPS S SISPS SBackboneISPBackboneISPHostingCenterHostingCenterSitesCSCS CSCSCS1. Client requests content.2. CS checks cache, if miss gets content from origin server.3. CS caches content, delivers to client.4. Delivers content out of cache on subsequent requests.C COSPushed CDNSISPBackboneISPIX IXS SSiteSISPS S SISPS SBackboneISPBackboneISPHostingCenterHostingCenterSitesCSCS CSCSCS1. Origin Server pushes content out to all CSs.COSCPushed CDNSISPBackboneISPIX IXS SSiteSISPS S SISPS SBackboneISPBackboneISPHostingCenterHostingCenterSitesCSCS CSCSCS1. Origin Server pushes content out to all CSs.2. Request served from CSs.CCOSCDN benefitsContent served closer to clientLess latency, better performanceLoad spread over multiple distributed CSsMore robust (to ISP failure as well as other failures)Handle flashes better (load spread over ISPs)But well-connected, replicated Hosting Centers can do this tooCDN costs and limitationsCached CDNs can’t deal with dynamic/personalized contentMore and more content is dynamic“Classic” CDNs limited to imagesManaging content distribution is non-trivialTension between content lifetimes and cache performanceDynamic cache invalidationKeeping pushed content synchronized and currentCDN example: AkamaiWon huge market share of CDN business late 90’sCached approachNow offers full web hosting services in addition to caching servicesCalled edgesuiteAkamai caching servicesARL: Akamai Resource Locatorhttp://a620.g.akamai.net/7/620/16/259fdbf4ed29de/www.cnn.com/i/22.gif a620.g.akamai.net/Host Part Akamai Control Part Content URL/7/620/16/259fdbf4ed29de//www.cnn.com/i/22.gif Thanks to [email protected], “How Akamai Works”ARL: Akamai Resource Locatorhttp://a620.g.akamai.net/7/620/16/259fdbf4ed29de/www.cnn.com/i/22.gif a620.g.akamai.net//7/620/16/259fdbf4ed29de//www.cnn.com/i/22.gif Content Provider (CP) selects which content will be hosted by Akamai.Akamai provides a tool that transforms this CP URL into this ARLARL: Akamai Resource Locatorhttp://a620.g.akamai.net/7/620/16/259fdbf4ed29de/www.cnn.com/i/22.gif a620.g.akamai.net//7/620/16/259fdbf4ed29de//www.cnn.com/i/22.gif This in turn causes the client to access Akamai’s content server instead of the origin server.ARL: Akamai Resource Locatorhttp://a620.g.akamai.net/7/620/16/259fdbf4ed29de/www.cnn.com/i/22.gif
View Full Document