Presentation is loading. Please wait.

Presentation is loading. Please wait.

15-744 Computer Networking Lecture 18 – Internet Video Delivery Matt Mukerjee Slides: Hui Zhang, Peter Steenkiste, Athula Balachandran, Srini Seshan, et.

Similar presentations


Presentation on theme: "15-744 Computer Networking Lecture 18 – Internet Video Delivery Matt Mukerjee Slides: Hui Zhang, Peter Steenkiste, Athula Balachandran, Srini Seshan, et."— Presentation transcript:

1 15-744 Computer Networking Lecture 18 – Internet Video Delivery Matt Mukerjee Slides: Hui Zhang, Peter Steenkiste, Athula Balachandran, Srini Seshan, et. al.

2 The Internet Today… 2 2014 1H – NA Fixed Access Video Could be Video Probably Video Encrypted Video? DEFINITELY Video! Purchasing Videos? Sharing Video! Video in the name! Ads! (and Videos!)

3 The Internet Today… 3 2014 1H – 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!

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

5 Outline Background on Video History of Internet Video Delivery CDNs & the World Today Content Brokers & Quality of Experience Live Video Delivery 5

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

7 Internet Video Requirements Smooth/continuous playback Elasticity to startup delay: need to think in terms of RTTs Elasticity to throughput Multiple encodings: 200Kbps, 1Mbps, 2 Mbps, 6 Mbps, 30Mbps Multiple classes of applications with different requirements 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 Linear Channel< 60s500 kbps – 6 Mbps & higherDirectTV Live 7

8 Avoid Buffering like the Plague! 8

9 1990 – 2004: 1 st Generation Commercial PC/Packet Video Technologies Simple video playback, no support for rich app Not well integrated with Web browser No critical mass of compelling content over Internet No enough broadband penetration 9

10 2005: Beginning of Internet Video Era 100M streams first year Premium Sports Webcast on Line 10

11 200620072008200920102011 2006 – 2015: Internet Video Going Prime Time 11

12 First Generation: HTTP Download Browser request the object(s) and after receiving them pass them to the player for display No pipelining 12

13 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 (a file describing the object) instead of receiving the file itself; Browser launches the appropriate player and passes it the Meta File; Player sets up a connection with Web Server and downloads or streams the file 13

14 Meta file requests 14

15 Buffering Continuous Media Jitter = variation from ideal timing Media delivery must have very low jitter Video frames every 30ms or so Audio: ultimately samples need <1ns jitter But network packets have much more jitter that that! Solution: buffers Fill buffer over the network with best effort service Drain buffer via low-latency, local access 15

16 Streaming, 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 16

17 Drawbacks of HTTP Progressive Download HTTP connection keeps data flowing as fast as possible to user's local buffer May download lots of extra data if user does not watch the entire video TCP file transfer can use more bandwidth than necessary Mismatch between whole file transfer and stop/start/seek playback controls. However: player can use file range requests to seek to video position Cannot change video quality (bit rate) to adapt to network congestion 17

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

19 Example: Real Time Streaming Protocol (RTSP) 19

20 Drawbacks of Real-Time Streaming Per-client state! Streaming protocols often blocked by routers HTTP delivery can use ordinary proxies and caches Conclusion: rather than adapt Internet to streaming, adapt media delivery to the Internet 20

21 3rd Generation: HTTP Streaming Client-centric architecture with stateful client and stateless server Standard server: Web servers Standard Protocol: HTTP Session state and logic maintained at client 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 21

22 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 22 Manifest Manifest: A1, A2, …

23 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 23 A2A2 Manifest: A1, A2, … Manifest

24 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 24

25 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 25 Manifest: LQ: A1, A2, … HQ: B1, B2,... Manifest

26 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 Many small files Small with respect to the movie size Large with respect to TCP 5-10 seconds of 1Mbps – 3Mbps  0.5MB – 4MB per chunk 26

27 Demystifying Video Delivery Video Source Screen Internet Video Player ??? 27

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

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

30 Outline Background on Video History of Internet Video Delivery CDNs & the World Today Content Brokers & Quality of Experience Live Video Delivery 30

31 Content Delivery Networks (CDNs) Goal: deliver content from optimal locations (Generally: users in Pittsburgh go to Pittsburgh server, users in Tokyo go to Tokyo server, …) Customers (e.g., CNN, ESPN, …) pay CDN to deliver their content Variety of companies: Akamai, Limelight, Level 3, … Akamai is one of the most well known 170,000+ servers in 102 countries 15-30% of internet traffic 31

32 32 How Akamai Works End-user cnn.com (content provider)DNS root serverAkamai server 123 4 Akamai high-level DNS server Akamai low-level DNS server Akamai server 10 6 7 8 9 12 Get index. html Get /cnn.com/foo.jpg 11 Get foo.jpg 5

33 33 Akamai – Subsequent Requests End-user cnn.com (content provider)DNS root serverAkamai server 12 Akamai high-level DNS server Akamai low-level DNS server Akamai server 7 8 9 12 Get index. html Get /cnn.com/foo.jpg

34 Outline Background on Video History of Internet Video Delivery CDNs & the World Today Content Brokers & Quality of Experience Live Video Delivery 34

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

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

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

38 Why Analytics? Analytics help judge users’ Quality of Experience (QoE) Users’ perception of quality greatly impacts engagement (and thus ad revenue) 38 Conviva

39 How can Conviva Help increase QoE? Runs code directly in clients browser, from customer website (e.g., CNN, ESPN, …) Gathers historic and real-time data from each client Predict which CDN will provide the best QoE for a given client (and send the client there) Find the optimal time to switch bitrates 39

40 Conviva Architecture 40

41 Simple, Right? Turns out no single metric is a good indicator of QoE!  41

42 42 Commonly used Quality Metrics Join Time Average Bitrate Buffering ratio Rate of buffering Rate of switching

43 Commonly used Quality Metrics Need some function that maps metrics to QoE Use machine learning? ✓ Biggest problem… confounding factors! (e.g., live video and VoD behave very differently) 43

44 Challenge: Confounding Factors 44 Live and VOD sessions experience similar quality

45 Challenge: Confounding Factors 45 However, user viewing behavior is very different

46 Confounding Factors 46 Type of Video Connectivity Device Location Popularity Time of day Day of week Need systematic approach to identify and incorporate confounding factors Need systematic approach to identify and incorporate confounding factors

47 How to Rank Confounding Factors? Relative information gain ML for “how key is a particular factor” Decision tree structure Does this factor drastically change the DT structure? Tolerance Do users tolerate changes in this factor more easily? 47

48 Identifying Key Confounding Factors 48 Factor Relative Information Gain Decision Tree Structure Tolerance Level Type of video ✓✓✓ Popularity ✗✗✗ Location ✗✗✗ Device ✗✓✓ Connectivity ✗✗✓ Time of day ✗✗✓ Day of week ✗✗✗

49 Identifying Key Confounding Factors 49 Factor Relative Information Gain Decision Tree Structure Tolerance Level Type of video ✓✓✓ Popularity ✗✗✗ Location ✗✗✗ Device ✗✓✓ Connectivity ✗✗✓ Time of day ✗✗✓ Day of week ✗✗✗

50 Results Use important confounding factors to create separate QoE estimator models (using ML) 20% increase in user engagement 50

51 Outline Background on Video History of Internet Video Delivery CDNs & the World Today Content Brokers & Quality of Experience Live Video Delivery 51

52 Live Video Live video is becoming immensely popular Demand increases 4-5x every three years Expected to reach 50 Tbps this year Amazon buys Twitch for ~$1Billion Users watch 150b min of live video per month Single World Cup stream = 40% of Internet traffic 52

53 Live Video Challenges Amount of Demand Can’t Cache Workload Variety (e.g. mega-events / longtail) Users want: Good QoE (good bitrate, buffering ratio, join time) CDNs want: meet user demand, minimize delivery cost WAN imposes: latency, packet drops, failures, … 53

54 CDN Live Video Delivery Background Video Sources Interior Clusters Video Requests Channel 1 Channel 2 HTTP GET Edge Clusters Data Response Distribution Trees

55 CDN Live Video Delivery Background

56 Questions? 56

57 15-744 Computer Networking Lecture 18 – Internet Video Delivery Matt Mukerjee Slides: Hui Zhang, Peter Steenkiste, Athula Balachandran, Srini Seshan, et. al.


Download ppt "15-744 Computer Networking Lecture 18 – Internet Video Delivery Matt Mukerjee Slides: Hui Zhang, Peter Steenkiste, Athula Balachandran, Srini Seshan, et."

Similar presentations


Ads by Google