130 likes | 379 Views
Host Server. Sprint. UUnet. Gloobix. QWest. Clients. Content Delivery Network (CDN). Slow Response. Huge Requests. @Home. Clients. PSINet. Server Crash. Mind Spring. Clients. Content Delivery Problems. http://www.akamai.com. Host Server. QWest.
E N D
Host Server Sprint UUnet Gloobix QWest Clients Content Delivery Network (CDN) Slow Response Huge Requests @Home Clients PSINet Server Crash MindSpring Clients Edward Chow Content Switch 1
Content Delivery Problems http://www.akamai.com Edward Chow Content Switch 2
Host Server QWest Use Client Cache/Client Side Cache Server Fewer Requests Clients @Home PSINet Fast Response Sprint UUnet Client Cache Gloobix MindSpring Client Side Cache Server Clients Clients Edward Chow Content Switch 3
Fewer Requests Host Server UUnet Sprint Server Gloobix QWest MirrorSite Use Mirror Sites Need improvement by guiding the selection of mirror servers with server load/network bandwidth measurement Mirror Site Clients @Home PSINet Clients MindSpring Fast Response Clients Edward Chow Content Switch 4
Cache Server Cache Server Cache Server Cache Server Fewer Requests Host Server Sprint UUnet Server Gloobix QWest MirrorSite Mirror Site Edge Network Cache Servers Fast Response Clients @Home PSINet Client Cache MindSpring Edge Network Cache Server Client Side Cache Server Clients Clients Edward Chow Content Switch 5
Content Delivery Problem • Cache Location Problem: Where to put cache servers? • How many are needed? • When/where/how to push/delivery the content? • How about dynamic content? Edward Chow Content Switch 6
Akamai Edge Delivery Service • Peering Bottleneck Problem: Access traffic evenly spread over 7400+ networks (no one over 5%; most << 1%) Need to put edge servers in many networks. • 11/2000, 4 billion bits/day for 2800 sites. • Source Http://www.akamai.com Edward Chow Content Switch 7
Caching Dynamic Content at Web Proxies • Active Cache Project : [PeiCao 98] Univ. Wisconsin • Cache Java applet to be executed at proxies • Choice of passing to server, delivery cached copy, or generate dynamically. • Edge Side Include (ESI): • XML tag to specify ESI fragment in a web page. • Each ESI fragment can have different cache requirements Edward Chow Content Switch 8
Edge Side Include Examplehttp://www.esi.org/ <table><tr><td colspan=“2”><esi:try> <esi:attempt> <esi:include src=http://www.myxyz.com/news/top.html onerror=“contineu” /> </esi:attempt> <esi:except> <!- -esi This spot is reserved for your company’s advertising. For more info <a href=www.myxyz.com> click here </a> - - > </esi:except></esi:try></td></tr></table> Edward Chow Content Switch 9
Solution to First Mile Problem • First Mile Problem: Hugh requests at web site of CDN • High Bandwidth Connection • Caching • End System Cache • Client Cache • Client Site Proxy Cache Server • Mirror Site Caches • Cache Servers in Internet • Hierarchical Cache Servers, e.g., Squid/Harvest/Adaptive Web • Edge Servers of Akamai • Faster Server/Server Farm (Server Side Caching+Cluster) • Layer4 Load balancer+Real Servers • Content Switch+Real Servers • Distributed Packet Rewrite Edward Chow Content Switch 10
Real Server Real Server Real Server Real Server Load Balancer or Content Switch Web Server Cluster • Load balancer can run at • Application Level — Reverse Proxy • Kernel level — Linux Virtual Server • Load balancer can distribute requests based on • Layer 3-4 info — fixe field/fast hash • Layer 3-7 info — var. length/slow parsing Edward Chow Content Switch 11