15-744 computer networking lecture 18 – internet video delivery matt mukerjee slides: hui zhang,...

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

Upload: kerrie-conley

Post on 22-Dec-2015

215 views

Category:

Documents


3 download

TRANSCRIPT

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

15-744 Computer Networking

Lecture 18 – Internet Video DeliveryMatt Mukerjee

Slides: Hui Zhang, Peter Steenkiste, Athula Balachandran, Srini Seshan, et. al.

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

2

The Internet Today…

2014 1H – NA Fixed Access

VideoVideo

Could be VideoProbably Video

Encrypted Video?

DEFINITELY Video!Purchasing Videos?

Sharing Video!Video in the name!

Ads! (and Videos!)

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

3

The Internet Today…

2014 1H – NA Fixed Access

VideoVideo

Could be VideoProbably Video

Encrypted Video?

DEFINITELY Video!Purchasing Videos?

Sharing Video!Video in the name!

Ads! (and Videos!)It’s

all Video!

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

Demystifying Video Delivery

Video Source

Screen

Internet

Video Player

???What’s this?

Today’s lecture4

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

5

Outline

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

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

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

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

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 Delay Bandwidth Examples

2, N-way conference

< 200 ms

4 kbps audio only, 200 kbps – 5 Mbps video

Skype, Google hangout, Polycom, Cisco

Short form VoD

< 1-5s 300 kbps – 2 Mbps & higher

Youtube

Long form VoD

< 5-30s 500 kbps – 6 Mbps & higher

Netflix, Hulu, Qiyi, HBOGO

Live Broadcast

< 5-10s 500 kbps – 6 Mbps & higher

WatchESPN, MLB

Linear Channel

< 60s 500 kbps – 6 Mbps & higher

DirectTV Live 7

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

8

Avoid Buffering like the Plague!

Buffering… 51%

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

1990 – 2004: 1st 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

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

2005: Beginning of Internet Video Era

100M streams first year

Premium Sports Webcast on Line

10

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

2006 2007 2008 2009 2010 2011

2006 – 2015: Internet Video Going Prime Time

11

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

First Generation: HTTP Download

• Browser request the object(s) and after receiving them pass them to the player for display• No pipelining

12

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

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

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

Meta file requests

14

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

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

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

Streaming, Buffers and Timing

Time

Max Buffer Duration

= allowable jitter

File

Pos

ition

Max

Buf

fer

Siz

e

Smoo

th P

laybac

k Tim

e

Buffer almost empty

"Good" Region:smooth playback

"Bad": Buffer underflows and playback stops

"Bad": Buffer overflows

Buffer Duration

BufferSize

16

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

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

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

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

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

Example: Real Time Streaming Protocol (RTSP)

19

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

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

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

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

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

HTTP Chunking Protocol

HTTP Adaptive Player

Web browser Web server

HTTP

TCP

HTTP

TCP

A1 A1 A2

Cache

Client

Web server

…A1 A2

HTTP GET Manifest

Server

22

Manifest

Manifest

Manifest:A1, A2, …

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

HTTP Chunking Protocol

HTTP Adaptive Player

Web browser Web server

HTTP

TCP

HTTP

TCP

A1 A1 A2A1

Cache

Client

Web server

…A1 A2

HTTP GET A1

Server

HTTP GET A2

23

A2

Manifest:A1, A2, …

Manifest

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

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

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

HTTP Chunking Protocol

HTTP Adaptive Player

Web browser Web server

HTTP

TCP

HTTP

TCP

A1 A1 A2

B1 B2

A1B1

Cache

Client

Web server

A1 A2

B1 B2HTTP GET A1

Server

B2HTTP GET B2

25

Manifest:LQ: A1, A2, …HQ: B1, B2, ...

Manifest

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

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

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

Demystifying Video Delivery

Video Source

Screen

Internet

Video Player

???

27

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

Internet

???

Demystifying Video Delivery

Video Source

Encoders & Video

Servers

CMS and

Hosting

ISP & Home Net

Screen

Video Player

28

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

Demystifying Video Delivery

Video Source

Encoders & Video

Servers

CMS and

Hosting

Content Delivery Networks

(CDN)

ISP & Home Net

Screen

Video Player

29

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

30

Outline

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

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

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

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

32

How Akamai Works

End-user

cnn.com (content provider) DNS root server Akamai server

1 2 3

4

Akamai high-level DNS server

Akamai low-level DNS server

Akamai server

10

67

8

9

12

Get index.html

Get /cnn.com/foo.jpg

11

Get foo.jpg

5

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

33

Akamai – Subsequent Requests

End-user

cnn.com (content provider) DNS root server Akamai server

1 2 Akamai high-level DNS server

Akamai low-level DNS server

Akamai server

7

8

9

12

Get index.html

Get /cnn.com/foo.jpg

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

34

Outline

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

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

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!

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

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

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

Closing the Loop with Analytics

Video Source

Encoders & Video

Servers

CMS and

Hosting

Content Delivery Networks

(CDN)

ISP & Home Net

Screen

Video Player

37

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

38

Why Analytics?

• Analytics help judge users’Quality of Experience (QoE)

• Users’ perception of quality greatly impacts engagement • (and thus ad revenue)

Conviva

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

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

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

40

Conviva Architecture

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

41

Simple, Right?

• Turns out no single metric is a good indicator of QoE!

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

42

Commonly used Quality Metrics

Join Time

Average Bitrate

Buffering ratio

Rate of buffering

Rate of switching

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

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)

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

44

Challenge: Confounding Factors

Live and VOD sessions experience similar quality

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

45

Challenge: Confounding Factors

However, user viewing behavior is very different

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

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

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

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?

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

48

Identifying Key Confounding Factors

Factor Relative Information Gain

Decision TreeStructure

Tolerance Level

Type of video ✓ ✓ ✓Popularity ✗ ✗ ✗Location ✗ ✗ ✗Device ✗ ✓ ✓Connectivity ✗ ✗ ✓Time of day ✗ ✗ ✓Day of week ✗ ✗ ✗

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

49

Identifying Key Confounding Factors

Factor Relative Information Gain

Decision TreeStructure

Tolerance Level

Type of video ✓ ✓ ✓Popularity ✗ ✗ ✗Location ✗ ✗ ✗Device ✗ ✓ ✓Connectivity ✗ ✗ ✓Time of day ✗ ✗ ✓Day of week ✗ ✗ ✗

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

50

Results

• Use important confounding factors to create separate QoE estimator models (using ML)

• 20% increase in user engagement

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

51

Outline

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

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

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

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

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

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

CDN Live Video Delivery Background

VideoSources

InteriorClusters

Video Requests Channel 1

Channel 2

HTTP GET

EdgeClusters

Data Response

Distribution Trees

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

CDN Live Video Delivery Background

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

56

Questions?

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

15-744 Computer Networking

Lecture 18 – Internet Video DeliveryMatt Mukerjee

Slides: Hui Zhang, Peter Steenkiste, Athula Balachandran, Srini Seshan, et. al.