ECE 671 – Lecture 16 Content Distribution Networks

Slides:



Advertisements
Similar presentations
Chapter 7 Multimedia Networking
Advertisements

Chapter 7 Multimedia Networking Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A note on the use.
3-1 Dealing with (Internet) Scale : CDNs Recall: one single “mega-server” can’t possibly handle all requests for popular service  DNS  not enough bandwidth:
HyperText Transfer Protocol (HTTP)
EEC-484/584 Computer Networks Lecture 6 Wenbing Zhao
Cis e-commerce -- lecture #6: Content Distribution Networks and P2P (based on notes from Dr Peter McBurney © )
Application Layer  We will learn about protocols by examining popular application-level protocols  HTTP  FTP  SMTP / POP3 / IMAP  Focus on client-server.
Chapter 2: Application Layer
EEC-484/584 Computer Networks Discussion Session for HTTP and DNS Wenbing Zhao
HyperText Transfer Protocol (HTTP) Computer Networks Computer Networks Spring 2012 Spring 2012.
Web, HTTP and Web Caching
Application Layer  We will learn about protocols by examining popular application-level protocols  HTTP  FTP  SMTP / POP3 / IMAP  Focus on client-server.
Web Caching and CDNs March 3, Content Distribution Motivation –Network path from server to client is slow/congested –Web server is overloaded Web.
Application Layer  We will learn about protocols by examining popular application-level protocols  HTTP  FTP  SMTP / POP3 / IMAP  Focus on client-server.
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.
1 Caching  Temporary storage of frequently accessed data (duplicating original data stored somewhere else)  Reduces access time/latency for clients 
1. 1.Charting the CDNs(locating all their content and DNS servers). 2.Assessing their server availability. 3.Quantifying their world-wide delay performance.
{ Content Distribution Networks ECE544 Dhananjay Makwana Principal Software Engineer, Semandex Networks 5/2/14ECE544.
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
20-1 Last time □ NAT □ Application layer ♦ Intro ♦ Web / HTTP.
Week 11: Application Layer1 Web and HTTP First some jargon r Web page consists of objects r Object can be HTML file, JPEG image, Java applet, audio file,…
Introduction 1 Lecture 6 Application Layer (HTTP) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science & Engineering.
2: Application Layer1 Web and HTTP First some jargon Web page consists of base HTML-file which includes several referenced objects Object can be HTML file,
2: Application Layer1 Chapter 2 Application Layer Part 2: Web & HTTP These slides derived from Computer Networking: A Top Down Approach, 6 th edition.
1 Computer Communication & Networks Lecture 28 Application Layer: HTTP & WWW p Waleed Ejaz
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.
CDN: Content Distribution Networks  References:  CS613 textbook, “Computer Networking – A Top-Down Approach”, 6 th edition. Chapter  The text.
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 8 Omar Meqdadi Department of Computer Science and Software Engineering University of.
Application Layer 2-1 Chapter 2 Application Layer 2.2 Web and HTTP.
CIS679: Lecture 13 r Review of Last Lecture r More on HTTP.
Lecture 23 Application Layer ELEN E6761: Communication Networks Instructor: Javad Ghaderi Slides adapted from “Computer Networking: A Top Down Approach”
2: Application Layer 1 Chapter 2 Application Layer Computer Networking: A Top Down Approach, 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April.
Dr. Philip Cannata 1 The Web and HTTP. Dr. Philip Cannata 2 Application Layer 2-2 Chapter 2 Application Layer Computer Networking: A Top Down Approach.
Application Layer 2-1 Lecture 4: Web and HTTP. Web and HTTP First, a review… web page consists of objects object can be HTML file, JPEG image, Java applet,
IT 424 Networks2 IT 424 Networks2 Ack.: Slides are adapted from the slides of the book: “Computer Networking” – J. Kurose, K. Ross Chapter 2: Application.
Introduction 1-1 Lecture 5 Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 CS3516: These slides.
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
1 COMP 431 Internet Services & Protocols HTTP Persistence & Web Caching Jasleen Kaur February 11, 2016.
EEC-484/584 Computer Networks Lecture 4 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
Week 11: Application Layer 1 Web and HTTP r Web page consists of objects r Object can be HTML file, JPEG image, Java applet, audio file,… r Web page consists.
CSEN 404 Application Layer II Amr El Mougy Lamia Al Badrawy.
© Janice Regan, CMPT 128, Jan 2007 CMPT 371 Data Communications and Networking HTTP 0.
Lecture 5 Internet Core: Protocol layers. Application Layer  We will learn about protocols by examining popular application-level protocols  HTTP 
2: Application Layer 1 Chapter 2 Application Layer These ppt slides are originally from the Kurose and Ross’s book. But some slides are deleted and added.
A Quick Primer on CDN & Multimedia Networking
Introduction to Networks
Block 5: An application layer protocol: HTTP
Department of Computer Science University of Calgary
Content Distribution Networks
HTTP request message: general format
Caching Temporary storage of frequently accessed data (duplicating original data stored somewhere else) Reduces access time/latency for clients Reduces.
Introduction to Communication Networks
Administrative Things
Lecture 2 Dr. Richard Spillman Fall 2009
CS 1652 Jack Lange University of Pittsburgh
Session 4 INST 346 Technologies, Infrastructure and Architecture
Web Caching? Web Caching:.
Algorithmic Nuggets in Content Delivery
Department of Computer Science University of Calgary
Communication Networks
Computer Communication & Networks
Content Distribution Networks
University of Pittsburgh
EEC-484/584 Computer Networks
لایه ی کاربرد مظفر بگ محمدی 2: Application Layer.
EEC-484/584 Computer Networks
EEC-484/584 Computer Networks
Chapter 2 Application Layer
Chapter 2 Application Layer
Presentation transcript:

ECE 671 – Lecture 16 Content Distribution Networks Slides from Kurose, Ross, “Computer Networks: A Top-Down Approach”

HTTP Review HTTP request PC running Firefox browser HTTP response server running Apache Web iphone running Safari browser ECE 671

Web Caches (Proxy Server) Goal: Satisfy client request without involving origin server Browser configured to access web via cache All HTTP requests are directed to cache Object in cache: cache returns it Else cache requests object from origin server, potentially stores it and forwards it to clent HTTP response proxy server HTTP request client origin server HTTP request HTTP response client origin server ECE 671

Web Caching cache acts as both client and server server for original requesting client client to origin server typically cache is installed by ISP (university, company, residential ISP) why Web caching? reduce response time for client request reduce traffic on an institution’s access link Internet dense with caches: enables “poor” content providers to effectively deliver content (so too does P2P file sharing) ECE 671

Caching Example assumptions: consequences: avg object size: 1Mbits origin servers public Internet institutional network 100 Mbps LAN 15 Mbps access link assumptions: avg object size: 1Mbits avg request rate from browsers to origin servers:15/sec avg data rate to browsers: 150 Mbps RTT from institutional router to any origin server: 2 sec access link rate: 15 Mbps consequences: LAN utilization: 15% access link utilization = 100% total delay = Internet delay + access delay + LAN delay = 2 sec + minutes + usecs problem! ECE 671

Caching Example: fatter access link assumptions: avg object size: 1Mbits avg request rate from browsers to origin servers:15/sec avg data rate to browsers: 150 Mbps RTT from institutional router to any origin server: 2 sec access link rate: 15 Mbps consequences: LAN utilization: 15% access link utilization = 100% total delay = Internet delay + access delay + LAN delay = 2 sec + minutes + usecs origin servers public Internet 15 Mbps access link 100 Mbps 100 Mbps institutional network 100 Mbps LAN 15% msecs Cost: increased access link speed (not cheap!) ECE 671

Caching Example: install local cache institutional network 100 Mbps LAN origin servers 15 Mbps access link local web cache public Internet assumptions: avg object size: 1Mbits avg request rate from browsers to origin servers:15/sec avg data rate to browsers: 150 Mbps RTT from institutional router to any origin server: 2 sec access link rate: 15 Mbps consequences: LAN utilization: 15% access link utilization = ? total delay = ? Cost: web cache (cheap!) ECE 671

Caching Example: install local cache Calculating access link utilization, delay with cache: suppose cache hit rate is 0.4 40% requests satisfied at cache, 60% requests satisfied at origin access link utilization: 60% of requests use access link data rate to browsers over access link = 0.6*15 Mbps = 9 Mbps utilization = 9/15 = .6 total delay = 0.6 * (delay from origin servers) +0.4 * (delay when satisfied at cache) = 0.6 (2.01) + 0.4 (~msecs) = ~ 1.2 secs less than with 100 Mbps link (and cheaper too!) origin servers public Internet 15 Mbps access link institutional network 100 Mbps LAN local web cache ECE 671

If-modified-since: <date> If-modified-since: <date> Conditional GET client server Goal: don’t send object if cache has up-to-date cached version no object transmission delay lower link utilization cache: specify date of cached copy in HTTP request If-modified-since: <date> server: response contains no object if cached copy is up-to-date: HTTP/1.0 304 Not Modified HTTP request msg If-modified-since: <date> object not modified before <date> HTTP response HTTP/1.0 304 Not Modified HTTP request msg If-modified-since: <date> object modified after <date> HTTP response HTTP/1.0 200 OK <data> ECE 671

Content Distribution Networks challenge: how to stream content (selected from millions of videos) to hundreds of thousands of simultaneous users? option 1: single, large “mega-server” single point of failure point of network congestion long path to distant clients multiple copies of video sent over outgoing link ….quite simply: this solution doesn’t scale ECE 671

Content Distribution Networks challenge: how to stream content (selected from millions of videos) to hundreds of thousands of simultaneous users? option 2: store/serve multiple copies of videos at multiple geographically distributed sites (CDN) enter deep: push CDN servers deep into many access networks close to users used by Akamai, 1700 locations bring home: smaller number (10’s) of larger clusters in POPs near (but not within) access networks used by Limelight ECE 671

CDN: “simple” content access scenario Bob (client) requests video http://netcinema.com/6Y7B23V video stored in CDN at http://KingCDN.com/NetC6y&B23V 1. Bob gets URL for for video http://netcinema.com/6Y7B23V from netcinema.com web page 1 2. resolve http://netcinema.com/6Y7B23V via Bob’s local DNS 2 5 6. request video from KINGCDN server, streamed via HTTP netcinema.com 3. netcinema’s DNS returns URL http://KingCDN.com/NetC6y&B23V 4 3 netcinema’s authorative DNS KingCDN authoritative DNS KingCDN.com ECE 671

CDN cluster selection strategy challenge: how does CDN DNS select “good” CDN node to stream to client pick CDN node geographically closest to client pick CDN node with shortest delay (or min # hops) to client (CDN nodes periodically ping access ISPs, reporting results to CDN DNS) IP anycast alternative: let client decide - give client a list of several CDN servers client pings servers, picks “best” Netflix approach ECE 671

Case Study: Netflix 30% downstream US traffic in 2011 owns very little infrastructure, uses 3rd party services: own registration, payment servers Amazon (3rd party) cloud services: Netflix uploads studio master to Amazon cloud create multiple version of movie (different endodings) in cloud upload versions from cloud to CDNs Cloud hosts Netflix web pages for user browsing three 3rd party CDNs host/stream Netflix content: Akamai, Limelight, Level-3 ECE 671

Case Study: Netflix 1 1. Bob manages Netflix account Netflix registration, accounting servers Amazon cloud Akamai CDN Limelight CDN Level-3 CDN 2 2. Bob browses Netflix video 3 3. Manifest file returned for requested video 4. DASH streaming upload copies of multiple versions of video to CDNs ECE 671