15-744: Computer Networking L-17 CDN, Video Streaming.

Slides:



Advertisements
Similar presentations
1 Server Selection & Content Distribution Networks (slides by Srini Seshan, CS CMU)
Advertisements

19 – Multimedia Networking. Multimedia Networking7-2 Multimedia and Quality of Service: What is it? multimedia applications: network audio and video (“continuous.
Hui Zhang, Fall Computer Networking Internet Video Delivery.
Dynamic Adaptive Streaming over HTTP2.0. What’s in store ▪ All about – MPEG DASH, pipelining, persistent connections and caching ▪ Google SPDY - Past,
1 Content Delivery Networks iBAND2 May 24, 1999 Dave Farber CTO Sandpiper Networks, Inc.
An Engineering Approach to Computer Networking
EEC-484/584 Computer Networks Lecture 6 Wenbing Zhao
Web Caching Schemes1 A Survey of Web Caching Schemes for the Internet Jia Wang.
Internet Networking Spring 2006 Tutorial 12 Web Caching Protocols ICP, CARP.
Application layer (continued) Week 4 – Lecture 2.
Cis e-commerce -- lecture #6: Content Distribution Networks and P2P (based on notes from Dr Peter McBurney © )
An Analysis of Internet Content Delivery Systems Stefan Saroiu, Krishna P. Gommadi, Richard J. Dunn, Steven D. Gribble, and Henry M. Levy Proceedings of.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #13 Web Caching Protocols ICP, CARP.
1 Web Proxies Dr. Rocky K. C. Chang 6 November 2005.
Anycast Jennifer Rexford Advanced Computer Networks Tuesdays/Thursdays 1:30pm-2:50pm.
An Overlay Multicast Infrastructure for Live/Stored Video Streaming Visual Communication Laboratory Department of Computer Science National Tsing Hua University.
Multimedia Applications r Multimedia requirements r Streaming r Phone over IP r Recovering from Jitter and Loss r RTP r Diff-serv, Int-serv, RSVP.
Domain Name System: DNS
1 Web Content Delivery Reading: Section and COS 461: Computer Networks Spring 2007 (MW 1:30-2:50 in Friend 004) Ioannis Avramopoulos Instructor:
5/12/05CS118/Spring051 A Day in the Life of an HTTP Query 1.HTTP Brower application Socket interface 3.TCP 4.IP 5.Ethernet 2.DNS query 6.IP router 7.Running.
Content Delivery Networks. History Early 1990s sees 100% growth in internet traffic per year 1994 o Netscape forms and releases their first browser.
Computer Networking Lecture 18 – Internet Video Delivery Matt Mukerjee Slides: Hui Zhang, Peter Steenkiste, Athula Balachandran, Srini Seshan, et.
AKAMAI Content Delivery Services AKAMAI Content Delivery Services CIS726 : PRESENTATION Avinash Ponugoti Avinash Ponugoti Nagarjuna Nagulapati Sathish.
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.
Content Distribution Networks (CDNs) Mike Freedman COS 461: Computer Networks Lectures: MW 10-10:50am in Architecture N101
1 Content Distribution Networks. 2 Replication Issues Request distribution: how to transparently distribute requests for content among replication servers.
CS640: Introduction to Computer Networks
P2P Games Conference “Attributes of the Gaming Cloud?” Norman Henderson ASANKYA
P2P File Sharing Systems
Content Distribution March 8, : Application Layer1.
Using Multimedia on the Web
CS 218 F 2003 Nov 3 lecture:  Streaming video/audio  Adaptive encoding (eg, layered encoding)  TCP friendliness References: r J. Padhye, V.Firoiu, D.
RTSP Real Time Streaming Protocol
1 CMSCD1011 Introduction to Computer Audio Lecture 10: Streaming audio for Internet transmission Dr David England School of Computing and Mathematical.
CIS679: RTP and RTCP r Review of Last Lecture r Streaming from Web Server r RTP and RTCP.
{ Content Distribution Networks ECE544 Dhananjay Makwana Principal Software Engineer, Semandex Networks 5/2/14ECE544.
EE616 Technical Project Video Hosting Architecture By Phillip Sutton.
Lecturer: Ghadah Aldehim
Copyright © 2002 Pearson Education, Inc. Slide 3-1 CHAPTER 3 Created by, David Zolzer, Northwestern State University—Louisiana The Internet and World Wide.
Overcast: Reliable Multicasting with an Overlay Network CS294 Paul Burstein 9/15/2003.
Network Technologies essentials Week 9: Distributed file sharing & multimedia Compilation made by Tim Moors, UNSW Australia Original slides by David Wetherall,
CPSC 441: Multimedia Networking1 Outline r Scalable Streaming Techniques r Content Distribution Networks.
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.
1 How Streaming Media Works Bilguun Ginjbaatar IT 665 Nov 14, 2006.
Outline Introduction Overview of the Akamai platform Akamai HD network
Streaming Media A technique for transferring data on the Internet so it can be processed as a steady and continuous stream.
Making the Best of the Best-Effort Service (2) Advanced Multimedia University of Palestine University of Palestine Eng. Wisam Zaqoot Eng. Wisam Zaqoot.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
03/11/2015 Michael Chai; Behrouz Forouzan Staffordshire University School of Computing Streaming 1.
Lab Assignment 15/ INF5060: Multimedia data communication using network processors.
PROP: A Scalable and Reliable P2P Assisted Proxy Streaming System Computer Science Department College of William and Mary Lei Guo, Songqing Chen, and Xiaodong.
Internet multimedia: simplest approach audio, video not streamed: r no, “pipelining,” long delays until playout! r audio or video stored in file r files.
Streaming and Content Delivery SECTIONS 7.4 AND 7.5.
Lecture 7: Video Streaming (II) 2-1. Outline  Network basics:  HTTP protocols  Studies on HTTP performance from different views:  Browser types [NSDI.
CS 6401 Overlay Networks Outline Overlay networks overview Routing overlays Resilient Overlay Networks Content Distribution Networks.
P2P Search COP P2P Search Techniques Centralized P2P systems  e.g. Napster, Decentralized & unstructured P2P systems  e.g. Gnutella.
09/13/04 CDA 6506 Network Architecture and Client/Server Computing Peer-to-Peer Computing and Content Distribution Networks by Zornitza Genova Prodanoff.
Content Distribution Networks (CDNs)
John S. Otto Mario A. Sánchez John P. Rula Fabián E. Bustamante Northwestern, EECS.
Multicast in Information-Centric Networking March 2012.
19 – Multimedia Networking
Content Distribution Networks
Content Distribution Networks
15-744: Computer Networking
Vocabulary Prototype: A preliminary sketch of an idea or model for something new. It’s the original drawing from which something real might be built or.
Vocabulary Prototype: A preliminary sketch of an idea or model for something new. It’s the original drawing from which something real might be built or.
Distributed Systems CS
Content Distribution Networks
AWS Cloud Computing Masaki.
15-744: Computer Networking
Presentation transcript:

15-744: Computer Networking L-17 CDN, Video Streaming

This lecture Content Delivery Networks (CDN) Internet video streaming 2

Readings The Akamai Network: A Platform for High- Performance Internet Applications Improving fairness, efficiency, and stability in HTTP-based adaptive video streaming with FESTIVE 3

CDN 4

Overview CDN architecture DNS-based redirection EDNS 5

HTTP (Quick review) Stateless request/response protocol Completely TCP-based Fetching URL: Resolve DNS of Setup TCP Send HTTP request: GET /~junchenj/index.html Wait for HTTP response, execute embedded code Most content is cacheable (for some TTL) Dynamic content, Live videos, etc are not cacheable 6

Background: Web More popular contents, websites Client-to-Client  Server-to-Client Content providers: Vested interest in performance, reliability, scalability ISPs: Dramatic increase of peering traffic 7

Key Characteristics of Web Traffic Rank of content/ISP # of appearance K-th item popularity = 1/k Two implications: Skewness: Popular content need to be optimized. Long tail: Improving a few top ISPs is not enough. Zipf or power law on both content popularity & access ISP population 8

Why Not Single Server? Internet Poor performance/reliability/scalability: Single point of failure Easy to be overloaded Long latency Suboptimal WAN (BGP) performance Huge peering traffic! Client Server 9

Internet Access ISP Why Not ISP Proxy Caching? Client Server Proxy Pros: Reduced RTT of cached content Reduced peering traffic & server load Cons: Security/authentication Content providers want fine- grained control on when/where to cache its content Cold start 10 Cache HTTP responses

Internet CDN CDN Architecture EU Clients Origin server Edge servers CDNs Content providers contract with CDNs Better coordination across replicas (controlled content refresh/removal) Proactive content replication on many edge servers Win-win for ISPs and content providers Asia 11

Internet CDN CDN Challenges & Design Space EU Clients Origin server Edge servers Asia How/where to replicate content? How to direct client towards replica? 12

Case Study: Akamai Distributed servers 60,000~ servers 1,000~ networks 70~ countries Client requests 10^8~ requests per day 20% web, majority video Major customers BBC, FOX, Apple, NBC, Facebook, Vevo, NFL, etc 13

Internet CDN Design Choices of Akamai (1) EU Clients Origin server Edge servers Asia Multipath overlay routing to reduce loss Recover packet losses by redundancy Two-layer cache structure Cache miss handled by an intermediate layer Consistent hashing for replica placement Replace < N/k items when one server is down. How/where to replicate content? High performance, fault tolerance 14

Internet CDN Design Choices of Akamai (2) EU Clients Origin server Edge servers Asia Mapping system How to find replicated content? 15

Mapping System Map a client IP to a server Pick server of the best performance Equivalence classes of IP addresses IP addresses experiencing similar performance Data-Driven: Collect and combine measurements Traceroute, BGP feeds, server logs Latency, loss rate, cluster health Big data: 100 TB per day, update every minute 16

Mapping System Client  Cluster Based on client-to-cluster performance Updated every minute Cluster  Server Load balancing Maximizes cache hit rate (hashing) 17

Internet CDN Design Choices of Akamai (2) EU Clients Origin server Edge servers Asia HTTP redirection (rewriting URL) No redirection transparency Anycast No direct control on replica selection DNS-based redirection How to direct client towards a replica? 18

DNS-based Redirection Source: Jannifer Rexford ( 19

DNS-based Redirection Source: Jannifer Rexford ( 20

DNS-based Redirection Source: Jannifer Rexford ( 21

DNS-based Redirection Source: Jannifer Rexford ( 22

DNS-based Redirection Source: Jannifer Rexford ( 23

DNS-based Redirection Source: Jannifer Rexford ( 24

DNS-based Redirection Source: Jannifer Rexford ( 25

Subsequent Requests Source: Jannifer Rexford ( 26

Tradeoff: Anycast vs. DNS-based Internet CDN EU Clients Origin server Edge servers Asia DNS-based redirection vs. Anycast Anycast: Simplicity, reduce latency (less DNS lookup) DNS-based redirection: Fine-grained server selection 27

EDNS 28

Problem of DNS-based Redirection? Third-party DNS resolvers become popular OpenDNS, Google DNS Better security (firewalls), less maintenance cost Third-party DNS totally breaks the assumption of DNS-based redirection 29

Problem of DNS-based Redirection Source: Jannifer Rexford ( DNS server no longer in client’s domain. CDN DNS server don’t see client’s IP. Picks servers near DNS resolver Third-party DNS resolver 30

Problem of DNS-based Redirection Source: Jannifer Rexford ( DNS server no longer in client’s domain. CDN DNS server don’t see client’s IP. Picked servers = F(DNS resolver) EDNS: include client IP prefix in DNS requests 31 Google DNS, Open DNS

Benefit of EDNS DNS resolver Picked servers = F(Client IP) Why is Akamai lukewarm about switching to EDNS? 32

VIDEO STREAMING Slides: Matthew Mukerjee, Hui Zhang 33

Overview Background/Terminology Client-server protocol: HTTP chunking Video quality analytics 34

The Internet Today… H – NA Fixed Access Video Could be Video Probably Video Encrypted Video? DEFINITELY Video! Purchasing Videos? Sharing Video! Video in the name! Ads! (and Videos!) It’s all Video!

Demystifying Video Delivery Video Source Screen Internet Video Player ??? What’s this? Today’s lecture 36 Source:

Terminology Frame FPS (frames per second) 24, 25, 30, or 60 Resolution Number of pixels per frame 160x120 to 1920x1080 (1080p) to 4096x2160 (4K) Bitrate Information stored/transmitted per unit time Usually measured in kbps to mbps Ranges from 200Kbps to 30 Mbps 37

Requirements What’s video quality? Smooth/continuous playback High bitrate Short start-up time What they mean depends on the type of videos DelayBandwidthExamples 2, N-way conference < 200 ms4 kbps audio only, 200 kbps – 5 Mbps video Skype, Google hangout, Polycom, Cisco Short form VoD< 1-5s300 kbps – 2 Mbps & higherYoutube Long form VoD< 5-30s500 kbps – 6 Mbps & higherNetflix, Hulu, Qiyi, HBOGO Live Broadcast< 5-10s500 kbps – 6 Mbps & higherWatchESPN, MLB 38

Client-Server Protocol Video Source Screen Internet Video Player ??? What protocol? Source: 39

1 st Gen: HTTP Download Browser requests the video (file), stores it locally, and gives the file to the player to display. 40

First Gen: HTTP Progressive Download (2) Alternative: set up connection between server and player; player takes over Web browser requests and receives a Meta File (which describes the object) instead of receiving the file itself; Browser launches the player and passes it the Meta File; Player sets up a connection with Web Server and downloads or streams the file by HTTP 41

Streaming Model: Buffers and Timing Time Max Buffer Duration = allowable jitter File Position Max Buffer Size Smooth Playback Time Buffer almost empty "Good" Region: smooth playback "Bad": Buffer underflows and playback stops "Bad": Buffer overflows Buffer Duration Buffer Size 42

Drawbacks of HTTP Progressive Download HTTP connection keeps data flowing as fast as possible to user's local buffer May waste bandwidth if user does not watch the entire video TCP file transfer can use more bandwidth than necessary Cannot change video quality (bit rate) to adapt to network congestion Mismatch between whole file transfer and stop/start/seek playback controls. However: player can use file range requests to seek to video position Takeaways of 1 st generation: General-purpose protocols don’t work 43

2nd Generation: Real-Time Streaming Build our own protocol! This gets us around HTTP; app layer protocol can be better tailored to Streaming 44 Example: Real-time Streaming Protocol

Example: Real Time Streaming Protocol (RTSP) 45

Drawbacks of Real-Time Streaming Per-client state! Streaming protocols often blocked by routers HTTP delivery can use ordinary proxies and caches Takeaways of 1 st & 2 nd generations: 1 st gen: General-purpose protocols (HTTP) don’t work 2 nd gen: Rather than adapt Internet to streaming, adapt media delivery to the Internet 46

3rd Generation: HTTP Streaming Reusing HTTP: Client-centric architecture with stateful client and stateless server Standard server: Web servers Standard Protocol: HTTP Session state and logic maintained at client HTTP Chunking: Video is broken into multiple chunks (like with bittorrent) Each chunk can be played independent of other chunks Playing chunks in sequence gives seamless video Meta-file (manifest) provides chunk file names 47

HTTP Chunking Protocol HTTP Adaptive Player Web browser Web server HTTP TCP … HTTP TCP A1A1 A1A1 A2A2 Cache Client Web server … A1A1 A2A2 HTTP GET Manifest Server 48 Manifest Manifest: A1, A2, …

HTTP Chunking Protocol HTTP Adaptive Player Web browser Web server HTTP TCP … HTTP TCP A1A1 A1A1 A2A2 A1A1 Cache Client Web server … A1A1 A2A2 HTTP GET A 1 Server HTTP GET A2 49 A2A2 Manifest: A1, A2, … Manifest

Adaptive Bitrate with HTTP Streaming Encode video at different quality/bitrate levels Client can adapt by requesting chunks at different bitrate levels Chunks of different bitrates must be synchronized All encodings have the same chunk boundaries and all chunks can be played independently, so you can make smooth splices to chunks of higher or lower bit rates 50

HTTP Chunking Protocol HTTP Adaptive Player Web browser Web server HTTP TCP … HTTP TCP … A1A1 A1A1 A2A2 B1B1 B2B2 A1A1 B1B1 Cache Client Web server … … A1A1 A2A2 B1B1 B2B2 HTTP GET A 1 Server B2B2 HTTP GET B 2 51 Manifest: LQ: A1, A2, … HQ: B1, B2,... Manifest

Advantages of HTTP Streaming Easy to deploy: it's just HTTP! Work with existing caches/proxies/Webservers/Firewall Fast startup by downloading lowest quality/smallest chunk Bitrate switching is seamless Can switch bitrate and server (even CDN) during playback Tradeoff 1: fixed chunk length. Small with respect to the movie size Large with respect to TCP 5-10 seconds of 1Mbps – 3Mbps  0.5MB – 4MB per chunk Tradeoff 2: predetermined bitrate levels Can only switch between predetermined bitrate levels. 52

Demystifying Video Delivery Video Source Screen Internet Video Player ??? 53 Source:

Internet ??? Demystifying Video Delivery Video Source Encoders & Video Servers CMS and Hosting ISP & Home Net Screen Video Player 54 Source:

Demystifying Video Delivery Video Source Encoders & Video Servers CMS and Hosting Content Delivery Networks (CDN) ISP & Home Net Screen Video Player 55 Source:

Overview Background/Terminology Client-server protocol: HTTP chunking Video quality analytics 56

What’s wrong with this picture? Video Source Encoders & Video Servers CMS and Hosting Content Delivery Networks (CDN) ISP & Home Net Screen Video Player 57 No Feedback! Source:

Closing the Loop with Quality Analytics Video Source Encoders & Video Servers CMS and Hosting Content Delivery Networks (CDN) ISP & Home Net Screen Video Player 58 Content Broker Why feedback from clients? - Only client can measure video quality accurately Source:

Closing the Loop with Quality Analytics Video Source Encoders & Video Servers CMS and Hosting Content Delivery Networks (CDN) ISP & Home Net Screen Video Player 59 Source:

Why Quality Analytics is Challenging? (1) Spatial Diversity of Performance Performance of CDNs have large spatial diversity. Need to choose CDN (servers) for different clients. 60

Why Quality Analytics is Challenging? (2) Temporal Diversity of Performance Performance of CDNs have large temporal variance. Need to choose CDN (servers) dynamically. 61

Conviva Architecture 62 How to scale up? C3: Internet-Scale Control Platform for Video QoE Optimization

Next Lecture Wireless 63

Discussion Centralized (Level3, Limelight) vs. Decentralized (Akamai) A few well-connected clusters vs. More edge clusters Low maintenance cost vs. Better performance Difference between CDN and Cloud Content delivery (caching) vs. computation More locations vs. few locations with beefy machines How to handle video streaming? Since caching saves traffic for ISPs, should CDN charge ISPs? 64

65 DNS Message Format Identification No. of Questions No. of Authority RRs Questions (variable number of answers) Answers (variable number of resource records) Authority (variable number of resource records) Additional Info (variable number of resource records) Flags No. of Answer RRs No. of Additional RRs Name, type fields for a query RRs in response to query Records for authoritative servers Additional “helpful info that may be used 12 bytes Client IP prefix is included here No change on the format Backward compatibility

Example of EDNS 66

Demystifying Video Delivery Video Source Encoders & Video Servers CMS and Hosting Content Delivery Networks (CDN) ISP & Home Net Screen Video Player 67