Experiences with CoralCDN A Five-Year Operational View Michael J. Freedman Princeton University www.coralcdn.org.

Slides:



Advertisements
Similar presentations
Enabling Secure Internet Access with ISA Server
Advertisements

Justine Sherry*, Shaddi Hasan*, Colin Scott*, Arvind Krishnamurthy†,
Information-Centric Networks05c-1 Week 5 / Paper 3 Democratizing content publication with Coral –Michael J. Freedman, Eric Freudenthal, David Mazières.
Incentives Build Robustness in BitTorrent Bram Cohen.
Clayton Sullivan PEER-TO-PEER NETWORKS. INTRODUCTION What is a Peer-To-Peer Network A Peer Application Overlay Network Network Architecture and System.
Democratizing Content Publication with Coral Mike Freedman Eric Freudenthal David Mazières New York University NSDI 2004.
 The IP address and port combination at which the NetScaler appliance receives client requests for the associated web application.  A public endpoint.
1 Content Delivery Networks iBAND2 May 24, 1999 Dave Farber CTO Sandpiper Networks, Inc.
Web Caching Schemes1 A Survey of Web Caching Schemes for the Internet Jia Wang.
An Analysis of Internet Content Delivery Systems Stefan Saroiu, Krishna P. Gommadi, Richard J. Dunn, Steven D. Gribble, and Henry M. Levy Proceedings of.
P2P: Advanced Topics Filesystems over DHTs and P2P research Vyas Sekar.
CDNs & Replication Prof. Vern Paxson EE122 Fall 2007 TAs: Lisa Fowler, Daniel Killebrew, Jorge Ortiz.
Handling Web Hotspots at Dynamic Content Web Sites Using DotSlash Weibin Zhao Henning Schulzrinne Columbia University NYMAN’04.
Flash Crowds And Denial of Service Attacks: Characterization and Implications for CDNs and Web Sites Aaron Beach Cs395 network security.
Handling Web Hotspots at Dynamic Content Web Sites Using DotSlash Weibin Zhao Henning Schulzrinne Columbia University Dagstuhl.
Differentiated Multimedia Web Services Using Quality Aware Transcoding S. Chandra, C.Schlatter Ellis and A.Vahdat InfoCom 2000, IEEE Journal on Selected.
Squirrel: A decentralized peer- to-peer web cache Paul Burstein 10/27/2003.
1 Web Content Delivery Reading: Section and COS 461: Computer Networks Spring 2007 (MW 1:30-2:50 in Friend 004) Ioannis Avramopoulos Instructor:
7DS: Node Cooperation in Mostly Disconnected Networks Henning Schulzrinne (joint work with Arezu Moghadan, Maria Papadopouli, Suman Srinivasan and Andy.
Web Caching Schemes For The Internet – cont. By Jia Wang.
Capacity planning for web sites. Promoting a web site Thoughts on increasing web site traffic but… Two possible scenarios…
Web Caching and CDNs March 3, Content Distribution Motivation –Network path from server to client is slow/congested –Web server is overloaded Web.
Content Delivery Networks. History Early 1990s sees 100% growth in internet traffic per year 1994 o Netscape forms and releases their first browser.
Caching and Content Distribution Networks. Web Caching r As an example, we use the web to illustrate caching and other related issues browser Web Proxy.
Towards Autonomic Hosting of Multi-tier Internet Services Swaminathan Sivasubramanian, Guillaume Pierre and Maarten van Steen Vrije Universiteit, Amsterdam,
1 Enabling Secure Internet Access with ISA Server.
1 Content Distribution Networks. 2 Replication Issues Request distribution: how to transparently distribute requests for content among replication servers.
Distributed Computing COEN 317 DC2: Naming, part 1.
Justine Sherry*, Shaddi Hasan*, Colin Scott*, Arvind Krishnamurthy†,
WhoWas: A Platform for Measuring Web Deployments on IaaS Clouds Liang Wang *, Antonio Nappa +, Juan Caballero +, Thomas Ristenpart *, Aditya Akella * *
{ Content Distribution Networks ECE544 Dhananjay Makwana Principal Software Engineer, Semandex Networks 5/2/14ECE544.
Oasis: Anycast for Any Service Michael J. Freedman Karthik Lakshminarayanan David Mazières in NSDI 2006 Presented by: Sailesh Kumar.
Ao-Jan Su, David R. Choffnes, Fabián E. Bustamante and Aleksandar Kuzmanovic Department of EECS Northwestern University Relative Network Positioning via.
Infrastructure for Better Quality Internet Access & Web Publishing without Increasing Bandwidth Prof. Chi Chi Hung School of Computing, National University.
October 8, 2015 University of Tulsa - Center for Information Security Microsoft Windows 2000 DNS October 8, 2015.
2: Application Layer1 Chapter 2 outline r 2.1 Principles of app layer protocols r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail r 2.5 DNS r 2.6 Socket.
Distributed Computing COEN 317 DC2: Naming, part 1.
Bellwether: Surrogate Services for Popular Content Duane Wessels & Ted Hardie NANOG 19 June 12, 2000.
Application of Content Computing in Honeyfarm Introduction Overview of CDN (content delivery network) Overview of honeypot and honeyfarm New redirection.
Overview of Microsoft ISA Server. Introducing ISA Server New Product—Proxy Server In 1996, Netscape had begun to sell a web proxy product, which optimized.
How to create DNS rule that allow internal network clients DNS access Right click on Firewall Policy ->New- >Access Rule Right click on Firewall.
Overcast: Reliable Multicasting with an Overlay Network Paper authors: Jannotti, Gifford, Johnson, Kaashoek, O’Toole Jr. Slides by Chris Johnstone.
Adaptive Web Caching CS411 Dynamic Web-Based Systems Flying Pig Fei Teng/Long Zhao/Pallavi Shinde Computer Science Department.
Content-oriented Networking Platform: A Focus on DDoS Countermeasure ( In incremental deployment perspective) Authors: Junho Suh, Hoon-gyu Choi, Wonjun.
Integrating and Troubleshooting Citrix Access Gateway.
Sessions, Cookies, &.htaccess IT 210. Procedural Issues  Quiz #3 Today!  Homework #3 Due Friday at midnight UML for Lab 4  Withdraw Deadline is Wed,
ICP and the Squid Web Cache Duane Wessels and K. Claffy 산업공학과 조희권.
Setup and Management for the CacheRaQ. Confidential, Page 2 Cache Installation Outline – Setup & Wizard – Cache Configurations –ICP.
DotSlash – or how to deal with 15 minutes of fame Weibin Zhao Henning Schulzrinne Columbia University CATT/WICAT Annual Research Review November 14, 2003.
Information-Centric Networks Section # 5.3: Content Distribution Instructor: George Xylomenos Department: Informatics.
MiddleMan: A Video Caching Proxy Server NOSSDAV 2000 Brian Smith Department of Computer Science Cornell University Ithaca, NY Soam Acharya Inktomi Corporation.
Content Delivery Networks: Status and Trends Speaker: Shao-Fen Chou Advisor: Dr. Ho-Ting Wu 5/8/
09/13/04 CDA 6506 Network Architecture and Client/Server Computing Peer-to-Peer Computing and Content Distribution Networks by Zornitza Genova Prodanoff.
On the Placement of Web Server Replicas Yu Cai. Paper On the Placement of Web Server Replicas Lili Qiu, Venkata N. Padmanabhan, Geoffrey M. Voelker Infocom.
The Design and Implementation of a Next Generation Name Service for the Internet V. Ramasubramanian, E. Gun Sirer Cornell Univ. SIGCOMM 2004 Ciprian Tutu.
Overview on Web Caching COSC 513 Class Presentation Instructor: Prof. M. Anvari Student name: Wei Wei ID:
John S. Otto Mario A. Sánchez John P. Rula Fabián E. Bustamante Northwestern, EECS.
Multicast in Information-Centric Networking March 2012.
Lab A: Planning an Installation
Coral: A Peer-to-peer Content Distribution Network
Scalable Web Apps Target this solution to brand leaders responsible for customer engagement and roll-out of global marketing campaigns. Implement scenarios.
Scale and Performance in the CoBlitz Large-File Distribution Service
Scalable Web Apps Target this solution to brand leaders responsible for customer engagement and roll-out of global marketing campaigns. Implement scenarios.
Co* Projects : CoDNS, CoDeploy, CoMon
ECE 671 – Lecture 16 Content Distribution Networks
IS 4506 Server Configuration (HTTP Server)
DotSlash: An Automated Web Hotspot Rescue System
AWS Cloud Computing Masaki.
EE 122: Lecture 22 (Overlay Networks)
Q/ Compare between HTTP & HTTPS? HTTP HTTPS
Presentation transcript:

Experiences with CoralCDN A Five-Year Operational View Michael J. Freedman Princeton University

CoralCDN Goal: To make desired content widely available regardless of publisher’s own resources, by organizing and utilizing any cooperative resources CoralCDN DNS Server CoralCDN HTTP Proxy Coral index node CoralCDN HTTP Proxy CoralCDN DNS Server Coral index node CoralCDN HTTP Proxy Client Resolver CoralCDN DNS Server Coral index node CoralCDN HTTP Proxy A Cooperative, Self-Organizing CDN

Adopted by: Clients Servers Third-parties

Many of you have used CoralCDN

Daily Request Volume 2M clients – 2 TB content – 20K origin domains From PlanetLab servers

CoralCDN DNS Server CoralCDN HTTP Proxy Coral index node CoralCDN DNS Server Coral index node CoralCDN HTTP Proxy CoralCDN DNS Server CoralCDN HTTP Proxy CoralCDN HTTP Proxy Based on peer-to-peer DHT 1.Weakened consistency + algorithms that prevent tree saturation during lookup 2.Decentralized clustering for locality and hierarchical lookup 3.Cooperative HTTP / DNS that leverages locality Coral index node

CoralCDN DNS Server CoralCDN HTTP Proxy Coral index node CoralCDN DNS Server Coral index node CoralCDN HTTP Proxy CoralCDN DNS Server CoralCDN HTTP Proxy CoralCDN HTTP Proxy Based on peer-to-peer DHT 1.Weakened consistency + algorithms that prevent tree saturation during lookup 2.Decentralized clustering for locality and hierarchical lookup 3.Cooperative HTTP / DNS that leverages locality Coral index node

CoralCDN DNS Server CoralCDN HTTP Proxy Coral index node CoralCDN DNS Server Coral index node CoralCDN HTTP Proxy CoralCDN DNS Server CoralCDN HTTP Proxy Coral index node CoralCDN HTTP Proxy Coral index node Virtualization Layer ClientsOrigin Domains Interactions with the External Environment

1.Experiences – Naming – Fault Tolerance – Resource management 2.Revisit CoralCDN’s design

Naming x Flexible, open API Mismatch with domain-based access control policies

Rewrite rules in origin webservers RewriteEngine on RewriteCond %{HTTP_USER_AGENT} !^CoralWebPrx RewriteCond %{QUERY_STRING} !(^|&)coral-no-serve$ RewriteRule ^(.*)$ [R,L] CoralCDN’s Platform-as-a-Service API

Sites integrate with load/bandwidth monitoring Elastic Provisioning CoralCDN’s Platform-as-a-Service API Rewrite rules in origin webservers RewriteEngine on RewriteCond %{HTTP_USER_AGENT} !^CoralWebPrx RewriteCond %{QUERY_STRING} !(^|&)coral-no-serve$ RewriteCond %{HTTP_REFERER} slashdot\.org [NC] RewriteCond %{HTTP_REFERER} digg\.com [NC,OR] RewriteCond %{HTTP_REFERER} blogspot\.com [NC,OR] RewriteRule ^(.*)$ [R,L]

Naming Conflation 1.Location to retrieve content 2.Human-readable name for administrative entity 3.Security policies to govern objects’ interactions x x /path.service2.service1

Domain-based Security Policies evil.com target.com Cookies Web Page Document Object Model

Domain-based Security Policies evil.com target.com Cookies Web Page Document Object Model Defaults violate least privilege.nyud.net

Fault Tolerance: Failure Decoupling - Node failures - DHT / DHS / HTTP level - Management layer Couldn't decouple IPs from host x Internal failures: DHT nodes DNS servers, HTTP proxies Management service External failures: Decouple IPs from hosts Interactions with origin sites

happens! Origin Status 1.Unresponsive 2.Returns error code 3.Reply truncated CoralCDN Reaction Cache negative results Serve stale content Use whole-file overwrites

happens! Origin Status 1.Unresponsive 2.Returns error code 3.Reply truncated CoralCDN Reaction Cache negative results Serve stale content Use whole-file overwrites Maintain status quo unless improvements are possible

What is “failure”? Return values should have fail-safe defaults

Resource Management - Node failures - DHT / DHS / HTTP level - Management layer Couldn't decouple IPs from host x Control over bandwidth consumption Control and visibility into environment’s resources

Some timeline… Mar 2004 CoralCDN released on PlanetLab

Some timeline… Mar 2004 CoralCDN released on PlanetLab Aug 2004 Slashdotted

Some timeline… Mar 2004 CoralCDN released on PlanetLab Aug 2004 Slashdotted Dec 2004 Asian Tsunami 1.PlanetLab traffic jumps 2.Site threatens to yank PL 3.PL admin kills slice 4.Slice restored next day 5.Initiates discussion of resource limits for slices

? Avg MB per hour (d i ) Demand >> Supply: Enter Fair-Sharing Algorithms Domains with heaviest consumption Σ i d i ≤ S

Avg MB per hour (d i ) Demand >> Supply: Enter Fair-Sharing Algorithms λ find max λ, s.t. Σ i min (λ, d i ) ≤ S Domains with heaviest consumption

Demand >> Supply: Enter Fair-Sharing Algorithms find max λ, s.t. Σ i min (λ, d i ) ≤ S λ Domains with heaviest consumption

Admission Control under Fair-Sharing ~10 kB imgs 3.3% rejected ~10 kB imgs 3.3% rejected ~5 MB videos 89% rejected ~5 MB videos 89% rejected Demand > 10 TB Supply ≤ 2 TB

Some timeline… Mar 2004 CoralCDN released on PlanetLab Aug 2004 Slashdotted Dec 2004 Asian Tsunami 1.PlanetLab traffic jumps 2.Site threatens to yank PL 3.PL admin kills slice 4.Slice restored next day 5.Initiates discussion of resource limits for slices Mar 2006 PL deploys bandwidth throttling

Resource Management: Us vs. Them Application Hammer Track HTTP traffic If site > fair share rate, reject via HTTP 403 If total > peak rate, close server socket Platform Hammer Track all network traffic If total > 80% daily rate, BW shaping in kernel

Resource Management: Us vs. Them Track HTTP traffic If site > fair share rate, reject via HTTP 403 If total > peak rate, close server socket Track all network traffic If total > 80% daily rate, BW shaping in kernel Application HammerPlatform Hammer Lower layers should expose greater visibility and control over resources Lower layers should expose greater visibility and control over resources Result: HTTP traffic is 1/2 - 2/3 of all traffic

1.Experiences – Naming – Fault Tolerance – Resource management 2.Revisit CoralCDN’s design

Usage Scenarios 1.Resurrecting old content 2.Accessing unpopular content

Usage Scenarios 1.Resurrecting old content 2.Accessing unpopular content 3.Serving long-term popular content

Usage Scenarios 1.Resurrecting old content 2.Accessing unpopular content 3.Serving long-term popular content

Usage Scenarios 1.Resurrecting old content 2.Accessing unpopular content 3.Serving long-term popular content Top URLs% ReqsAgg Size (MB) 0.01 %49.1 % %71.8 % %84.8 % %92.2 %28734 ResultFrequency Local Cache70.4 % Origin Site9.9 % CoralCDN Proxy7.1 % 4xx/5xx Error12.6 %

Usage Scenarios 1.Resurrecting old content 2.Accessing unpopular content 3.Serving long-term popular content 4.Surviving flash crowds to content

Usage Scenarios 1.Resurrecting old content 2.Accessing unpopular content 3.Serving long-term popular content 4.Surviving flash crowds to content

Usage Scenarios 1.Resurrecting old content 2.Accessing unpopular content 3.Serving long-term popular content 4.Surviving flash crowds to content 24% epochs ≥ 1 domain with 10x incr 0.006% epochs≥ 1 domain with 100x incr 0 % epochs≥ 1 domain with 1000x incr 5 second epochs10 minute epochs 99.93% epochs ≥ 1 domain with 10x incr 28% epochs ≥ 1 domain with 100x incr 0.21% epochs≥ 1 domain with 1000x incr

Conclusions? Most requested content is long-term popular and already cached locally “Flash” crowds occur, but on order of minutes

Conclusions? Most requested content is long-term popular and already cached locally “Flash” crowds occur, but on order of minutes Focus on long-term popular Little / no HTTP cooperation Global discovery (e.g., DNS) Focus on long-term popular Little / no HTTP cooperation Global discovery (e.g., DNS) Focus on flash crowds Regional coop. as default Global coop. as failover Focus on flash crowds Regional coop. as default Global coop. as failover

Reconfiguring CoralCDN’s design Leverage Coral hierarchy for lookup Latency 90% Origin Load 5% Failover to global 0.5%

Reconfiguring CoralCDN’s design Leverage Coral hierarchy for lookup During admission control, bias against long-term use Σ i min (λ, d i ) < S heavily weight history in ewma λ

1.Experiences – Naming – Fault Tolerance – Resource management 2.Revisit CoralCDN’s design – Current design unnecessary for deployment / most use – Easy changes to promote flash-crowd mitigation Conclusions

Can we reach Internet scale? Initial beta-release of browser-based P2P web cache