service landscape example services · service landscape example services ... looking towards the...

111
Outline Service landscape Example services Including location-based services, IoT, and increasing personalization ... Service models and delivery architectures Client-server, p2p, one-to-many E.g., middleboxes/proxies, CDNs, cloud-based, SDN, multicast/broadcast (including loss recovery at AL and eMBMS) Also, p2p, peer-assisted, ... Example services E.g., mobile web and has/dash streaming 1

Upload: vancong

Post on 20-Apr-2018

218 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Outline

Service landscape

Example services Including location-based services, IoT, and

increasing personalization ...

Service models and delivery architectures Client-server, p2p, one-to-many

E.g., middleboxes/proxies, CDNs, cloud-based, SDN, multicast/broadcast (including loss recovery at AL and eMBMS)

Also, p2p, peer-assisted, ...

Example services E.g., mobile web and has/dash streaming

1

Page 2: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Service/company landscape include

1-2

Page 3: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Applications (3)

File transfer

Remote login (telnet, rlogin, ssh)

World Wide Web (WWW)

Instant Messaging (Internet chat, text messaging on cellular phones)

Peer-to-Peer file sharing

Internet Phone (Voice-Over-IP)

Video-on-demand

Distributed Games

3

Page 4: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Today’s end hosts …

Page 5: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Today’s end hosts …

… well, already have …

Page 6: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Today’s end hosts …

Page 7: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

… looking towards the future …

7

The 2020 vision Everything that can be connected will be connected

50B devices (perhaps more like 500B ...)

IoT and smart cities Machine-to-machine

High-definition 3D streaming to heterogeneous clients

Page 8: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Personalized service and personal footprints in a connected world …

Page 9: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

9

Page 10: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Client-server architecture

client/server

10

Client/server model has well-defined roles.

Page 11: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Pure P2P architecture

peer-peer

11

No fixed clients or servers: Each host can act as both client and server at any time

Page 12: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Proxies

12

Page 13: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Content Delivery Networks (CDNs) Challenging to stream large

files (e.g., video) from single origin server in real time

Solution: replicate content at hundreds of servers throughout Internet

content downloaded to CDN servers ahead of time

placing content “close” to user avoids impairments (loss, delay) of sending content over long paths

CDN server typically in edge/access network

origin server

in North America

CDN distribution node

CDN server

in S. America CDN server

in Europe

CDN server

in Asia

13

Page 14: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Proxies

… and middleboxes

14

Page 15: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Middleboxes + NF (and OpenNF)

15

Gember-Jacobson et al., ACM SIGCOMM 2014Sherry et al., ACM SIGCOMM 2012

Page 16: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Middleboxes + NF (and OpenNF)

16

Gember-Jacobson et al., ACM SIGCOMM 2014Sherry et al., ACM SIGCOMM 2012

Page 17: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Middleboxes + NF

17

“Network functions (NFs), or middleboxes, are systems that examine and modify packets and flows in sophisticated ways; e.g., intrusion detection systems (IDSs), load balancers, caching proxies, etc.“

“NFs play a critical role in ensuring security, improving performance, and providing other novel network functionality.”

Gember-Jacobson et al., ACM SIGCOMM 2014Sherry et al., ACM SIGCOMM 2012

Page 18: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Middleboxes + NF (and OpenNF)

18

“Network functions (NFs), or middleboxes, are systems that examine and modify packets and flows in sophisticated ways; e.g., intrusion detection systems (IDSs), load balancers, caching proxies, etc.“

“NFs play a critical role in ensuring security, improving performance, and providing other novel network functionality.”

Gember-Jacobson et al., ACM SIGCOMM 2014Sherry et al., ACM SIGCOMM 2012

Page 19: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Cloud also used to offload the clients themselves ...

19

Page 20: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

What is Mobile Cloud Computing?

Mobile cloud computing (MCC) at its simplest,refers to an infrastructure where both the datastorage and data processing happen outside ofthe mobile device.

Mobile cloud applications move the computingpower and data storage away from the mobiledevices and into powerful and centralizedcomputing platforms located in clouds, which arethen accessed over the wireless connectionbased on a thin native client.

Page 21: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Why Mobile Cloud Computing?

Mobile devices face many resource challenges (battery life, storage, bandwidth etc.)

Cloud computing offers advantages to users by allowing them to use infrastructure, platforms and software by cloud providers at low cost and

elastically in an on-demand fashion.

Mobile cloud computing provides mobile users with data storage and processing services in clouds, obviating the need to have a powerful device configuration (e.g. CPU speed, memory capacity etc), as all resource-intensive computing can be performed in the cloud.

Page 22: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

MCC Architecture

Page 23: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

23

Page 24: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

… cost-efficient delivery ...

Page 25: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Example problem Minimize content delivery costs

Bandwidth Cost

Cloud-based Elastic/flexible $$$

Dedicated servers Capped $

How to get the best of two worlds?

servers

cloud

[Dan and Carlsson, IEEE INFOCOM 2014]

Page 26: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

… and from who?[Carlsson et al., IFIP Performance 2014]

Page 27: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Additional Multimedia Support

R1

R2

R3 R4

(a)

R1

R2

R3 R4

(b)

duplicate

creation/transmissionduplicate

duplicate

Source-duplication versus in-network duplication.

(a) source duplication, (b) in-network duplication

Multicast/Broadcast

27

Also, application-layer multicast …

Page 28: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Evolved Multimedia Broadcast/Multicast Service (eMBMS) in LTE-advanced

28

Page 29: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Evolved Multimedia Broadcast/Multicast Service (eMBMS) in LTE-advanced

Separation of control plane and data plane

29

Image from: Lecompte and Gabin, Evolved Multimedia Broadcast/Multicast Service (eMBMS) in LTE-Advanced: Overview and Rel-11 Enhancements, IEEE Communications Magazine, Nov. 2012.

Page 30: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Evolved Multimedia Broadcast/Multicast Service (eMBMS) in LTE-advanced

MBMSFN and use of services areas

30

Image from: Lecompte and Gabin, Evolved Multimedia Broadcast/Multicast Service (eMBMS) in LTE-Advanced: Overview and Rel-11 Enhancements, IEEE Communications Magazine, Nov. 2012.

Page 31: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Packet Loss

network loss: IP datagram lost due to network congestion (router buffer overflow) or losses at wireless link(s)

delay loss: IP datagram arrives too late for playout at receiver (effectively the same as if it was lost) delays: processing, queueing in network; end-

system (sender, receiver) delays

Tolerable delay depends on the application

How can packet loss be handled?We will discuss this next …

31

Page 32: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Receiver-based Packet Loss Recovery

Generate replacement packet Packet repetition

Interpolation

Other sophisticated schemes

Works when audio/video streams exhibit short-term correlations (e.g., self-similarity)

Works for relatively low loss rates (e.g., < 5%)

Typically, breaks down on “bursty” losses

32

Page 33: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Forward Error Correction (FEC)

For every group of n actual media packets, generate k additional redundant packets

Send out n+k packets, which increases the bandwidth consumption by factor k/n.

Receiver can reconstruct the original n media packets provided at most k packets are lost from the group

Works well at high loss rates (for a proper choice of k)

Handles “bursty” packet losses

Cost: increase in transmission cost (bandwidth)

33

Page 34: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Another FEC Example

• “piggyback lower quality stream” • Example: send lower resolution audio stream as the redundant information•

• Whenever there is non-consecutive loss, thereceiver can conceal the loss. • Can also append (n-1)st and (n-2)nd low-bit ratechunk

34

Page 35: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Interleaving: Recovery from packet loss

Interleaving

Intentionally alter the sequence of packets before transmission

Better robustness against “burst” losses of packets

Results in increased playout delay from inter-leaving

35

Page 36: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Real-Time Protocol (RTP)

RTP specifies packet structure for packets carrying audio, video data

RFC 3550

RTP runs in end systems

RTP packets encapsulated in UDP segments

36

Page 37: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

RTP Header

Payload Type (7 bits): Indicates type of encoding currently being used. If sender changes encoding in middle of conference, sender informs receiver via payload type field.

•Payload type 0: PCM mu-law, 64 kbps•Payload type 3, GSM, 13 kbps•Payload type 7, LPC, 2.4 kbps•Payload type 26, Motion JPEG•Payload type 31. H.261•Payload type 33, MPEG2 video

Sequence Number (16 bits): Increments by one for each RTP packet sent, and may be used to detect packet loss and to restore packet sequence.

37

Page 38: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Real-time Control Protocol (RTCP)

38

RTCP attempts to limit its traffic to 5% of session bandwidth

Receiver report packets:

fraction of packets lost, last sequence number, average interarrival jitter

Sender report packets:

SSRC of RTP stream, current time, number of packets sent, number of bytes sent

Page 39: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

39

Page 40: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Mobile web (e.g., adaption and location-based services)

40

Page 41: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

HTTP-based streaming

HTTP-based streaming

Allows easy caching, NAT/firewall traversal, etc.

Use of TCP provides natural bandwidth adaptation

Split into fragments, download sequentially

Some support for interactive VoD 4

1

Page 42: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

HTTP-based adaptive streaming (HAS)

HTTP-based adaptive streaming

Multiple encodings of each fragment (defined in

manifest file)

Clients adapt quality encoding based on (buffer and

network) conditions

4

2

Page 43: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Chunk-based streaming

Chunks begin with keyframe so independent of other chunks Playing chunks in sequence gives seamless video Hybrid of streaming and progressive download:

Stream-like: sequence of small chunks requested as needed Progressive download-like: HTTP transfer mechanism, stateless

servers

43

Page 44: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Example

44

1,4

1,3

1,2

1,1

2,4

2,3

2,2

2,1

3,4

3,3

3,2

3,1

4,4

4,3

4,2

4,1

5,4

5,3

5,2

5,1

6,4

6,3

6,2

6,1

7,4

7,3

7,2

7,1

Client

1,4

1,3

1,2

1,1

2,4

2,3

2,2

2,1

3,4

3,3

3,2

3,1

4,4

4,3

4,2

4,1

5,4

5,3

5,2

5,1

6,4

6,3

6,2

6,1

7,4

7,3

7,2

7,1

Server

Page 45: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Example

45

1,4

1,3

1,2

1,1

2,4

2,3

2,2

2,1

3,4

3,3

3,2

3,1

4,4

4,3

4,2

4,1

5,4

5,3

5,2

5,1

6,4

6,3

6,2

6,1

7,4

7,3

7,2

7,1

Client

1,4

1,3

1,2

1,1

2,4

2,3

2,2

2,1

3,4

3,3

3,2

3,1

4,4

4,3

4,2

4,1

5,4

5,3

5,2

5,1

6,4

6,3

6,2

6,1

7,4

7,3

7,2

7,1

Server

Page 46: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Example

46

1,4

1,3

1,2

1,1

2,4

2,3

2,2

2,1

3,4

3,3

3,2

3,1

4,4

4,3

4,2

4,1

5,4

5,3

5,2

5,1

6,4

6,3

6,2

6,1

7,4

7,3

7,2

7,1

Client

1,4

1,3

1,2

1,1

2,4

2,3

2,2

2,1

3,4

3,3

3,2

3,1

4,4

4,3

4,2

4,1

5,4

5,3

5,2

5,1

6,4

6,3

6,2

6,1

7,4

7,3

7,2

7,1

Server

Page 47: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Example

47

1,4

1,3

1,2

1,1

2,4

2,3

2,2

2,1

3,4

3,3

3,2

3,1

4,4

4,3

4,2

4,1

5,4

5,3

5,2

5,1

6,4

6,3

6,2

6,1

7,4

7,3

7,2

7,1

Client

1,4

1,3

1,2

1,1

2,4

2,3

2,2

2,1

3,4

3,3

3,2

3,1

4,4

4,3

4,2

4,1

5,4

5,3

5,2

5,1

6,4

6,3

6,2

6,1

7,4

7,3

7,2

7,1

Server

Page 48: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Example

48

1,4

1,3

1,2

1,1

2,4

2,3

2,2

2,1

3,4

3,3

3,2

3,1

4,4

4,3

4,2

4,1

5,4

5,3

5,2

5,1

6,4

6,3

6,2

6,1

7,4

7,3

7,2

7,1

Client

1,4

1,3

1,2

1,1

2,4

2,3

2,2

2,1

3,4

3,3

3,2

3,1

4,4

4,3

4,2

4,1

5,4

5,3

5,2

5,1

6,4

6,3

6,2

6,1

7,4

7,3

7,2

7,1

Server

Page 49: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Example

49

1,4

1,3

1,2

1,1

2,4

2,3

2,2

2,1

3,4

3,3

3,2

3,1

4,4

4,3

4,2

4,1

5,4

5,3

5,2

5,1

6,4

6,3

6,2

6,1

7,4

7,3

7,2

7,1

Client

1,4

1,3

1,2

1,1

2,4

2,3

2,2

2,1

3,4

3,3

3,2

3,1

4,4

4,3

4,2

4,1

5,4

5,3

5,2

5,1

6,4

6,3

6,2

6,1

7,4

7,3

7,2

7,1

Server

Page 50: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Example

50

1,4

1,3

1,2

1,1

2,4

2,3

2,2

2,1

3,4

3,3

3,2

3,1

4,4

4,3

4,2

4,1

5,4

5,3

5,2

5,1

6,4

6,3

6,2

6,1

7,4

7,3

7,2

7,1

Client

1,4

1,3

1,2

1,1

2,4

2,3

2,2

2,1

3,4

3,3

3,2

3,1

4,4

4,3

4,2

4,1

5,4

5,3

5,2

5,1

6,4

6,3

6,2

6,1

7,4

7,3

7,2

7,1

Server

Page 51: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Example

51

1,4

1,3

1,2

1,1

2,4

2,3

2,2

2,1

3,4

3,3

3,2

3,1

4,4

4,3

4,2

4,1

5,4

5,3

5,2

5,1

6,4

6,3

6,2

6,1

7,4

7,3

7,2

7,1

Client

1,4

1,3

1,2

1,1

2,4

2,3

2,2

2,1

3,4

3,3

3,2

3,1

4,4

4,3

4,2

4,1

5,4

5,3

5,2

5,1

6,4

6,3

6,2

6,1

7,4

7,3

7,2

7,1

Server

Page 52: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

HTTP-based Adaptive Streaming (HAS) Other terms for similar concepts: Adaptive Streaming,

Smooth Streaming, HTTP Chunking, Dynamic Adaptive Streaming over HTTP (DASH)

Probably most important is return to stateless server and TCP basis of 1st generation

Actually a series of small progressive downloads of chunks (or range requests)

No standard protocol ...

52

Page 53: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

HTTP-based Adaptive Streaming (HAS) Other terms for similar concepts: Adaptive Streaming,

Smooth Streaming, HTTP Chunking, Dynamic Adaptive Streaming over HTTP (DASH)

Probably most important is return to stateless server and TCP basis of 1st generation

Actually a series of small progressive downloads of chunks (or range requests)

No standard protocol ... Apple HLS: HTTP Live Streaming Microsoft IIS Smooth Streaming: part of Silverlight (now

Ericsson owned) Adobe: Flash Dynamic Streaming DASH: Dynamic Adaptive Streaming over HTTP YouTube (Google) and Netflix have their own versions Some operators and service providers have their own versions

too (either based on above or completely own)...

53

Page 54: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Player Container Type OpenSource

Microsoft Smooth

Streaming

Silverlight Chunk

Netflix player

Silverlight Range

Apple HLS QuickTime Chunk

Adobe HDS Flash Chunk

Example players

54

Page 55: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Problem: Proxy-assisted HAS

55

High playback quality

Small stall times

Few buffer interruptions

Few quality switches

Clients’ want

Slides from: V. Krishnamoorthi et al."Helping Hand or Hidden Hurdle: Proxy-assisted HTTP-based Adaptive Streaming Performance", Proc. IEEE MASCOTS, 2013

Page 56: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Problem: Proxy-assisted HAS

56

High playback quality

Small stall times

Few buffer interruptions

Few quality switches

Clients’ want HAS is increasingly responsible for larger traffic volumesNetwork and service providers may consider integrating HAS-aware proxy policies

Slides from: V. Krishnamoorthi et al."Helping Hand or Hidden Hurdle: Proxy-assisted HTTP-based Adaptive Streaming Performance", Proc. IEEE MASCOTS, 2013

Page 57: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Problem: Proxy-assisted HAS

57

High playback quality

Small stall times

Few buffer interruptions

Few quality switches

• High QoE of customers/clients

Clients’ want Network providers’ want

Slides from: V. Krishnamoorthi et al."Helping Hand or Hidden Hurdle: Proxy-assisted HTTP-based Adaptive Streaming Performance", Proc. IEEE MASCOTS, 2013

Page 58: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Problem: Proxy-assisted HAS

58

High playback quality

Small stall times

Few buffer interruptions

Few quality switches

• High QoE of customers/clients

• Low bandwidth usage

Clients’ want Network providers’ want

Page 59: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Problem: Proxy-assisted HAS

59

High playback quality

Small stall times

Few buffer interruptions

Few quality switches

• High QoE of customers/clients

• Low bandwidth usage

• High hit rate

Clients’ want Network providers’ want

Page 60: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Problem: Proxy-assisted HAS

60

Evaluation of proxy-assisted HAS policies

In this paper …

Page 61: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Problem: Proxy-assisted HAS

61

Evaluation of proxy-assisted HAS policies

In this paper …

Page 62: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Problem: Proxy-assisted HAS

62

Evaluation of proxy-assisted HAS policies

In this paper …

Page 63: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Problem: Proxy-assisted HAS

63

Evaluation of proxy-assisted HAS policies

In this paper …

Page 64: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Problem: Proxy-assisted HAS

64

Evaluation of proxy-assisted HAS policies

In this paper …

Page 65: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Example: Default “best-effort”

65

Page 66: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Example: Default “best-effort”

66

1,4

1,3

1,2

1,1

2,4

2,3

2,2

2,1

3,4

3,3

3,2

3,1

4,4

4,3

4,2

4,1

5,4

5,3

5,2

5,1

6,4

6,3

6,2

6,1

7,4

7,3

7,2

7,1

1,4

1,3

1,2

1,1

2,4

2,3

2,2

2,1

3,4

3,3

3,2

3,1

4,4

4,3

4,2

4,1

5,4

5,3

5,2

5,1

6,4

6,3

6,2

6,1

7,4

7,3

7,2

7,1

Client Proxy

Page 67: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Example: Default “best-effort”

67

1,4

1,3

1,2

1,1

2,4

2,3

2,2

2,1

3,4

3,3

3,2

3,1

4,4

4,3

4,2

4,1

5,4

5,3

5,2

5,1

6,4

6,3

6,2

6,1

7,4

7,3

7,2

7,1

1,4

1,3

1,2

1,1

2,4

2,3

2,2

2,1

3,4

3,3

3,2

3,1

4,4

4,3

4,2

4,1

5,4

5,3

5,2

5,1

6,4

6,3

6,2

6,1

7,4

7,3

7,2

7,1

Client 1

Proxy before

1,4

1,3

1,2

1,1

2,4

2,3

2,2

2,1

3,4

3,3

3,2

3,1

4,4

4,3

4,2

4,1

5,4

5,3

5,2

5,1

6,4

6,3

6,2

6,1

7,4

7,3

7,2

7,1

Proxy after

Page 68: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Example: Default “best-effort”

68

1,4

1,3

1,2

1,1

2,4

2,3

2,2

2,1

3,4

3,3

3,2

3,1

4,4

4,3

4,2

4,1

5,4

5,3

5,2

5,1

6,4

6,3

6,2

6,1

7,4

7,3

7,2

7,1

1,4

1,3

1,2

1,1

2,4

2,3

2,2

2,1

3,4

3,3

3,2

3,1

4,4

4,3

4,2

4,1

5,4

5,3

5,2

5,1

6,4

6,3

6,2

6,1

7,4

7,3

7,2

7,1

Client 1

Proxy before

1,4

1,3

1,2

1,1

2,4

2,3

2,2

2,1

3,4

3,3

3,2

3,1

4,4

4,3

4,2

4,1

5,4

5,3

5,2

5,1

6,4

6,3

6,2

6,1

7,4

7,3

7,2

7,1

Proxy after

Page 69: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Example: Default “best-effort”

69

1,4

1,3

1,2

1,1

2,4

2,3

2,2

2,1

3,4

3,3

3,2

3,1

4,4

4,3

4,2

4,1

5,4

5,3

5,2

5,1

6,4

6,3

6,2

6,1

7,4

7,3

7,2

7,1

1,4

1,3

1,2

1,1

2,4

2,3

2,2

2,1

3,4

3,3

3,2

3,1

4,4

4,3

4,2

4,1

5,4

5,3

5,2

5,1

6,4

6,3

6,2

6,1

7,4

7,3

7,2

7,1

Client 2

Proxy before

1,4

1,3

1,2

1,1

2,4

2,3

2,2

2,1

3,4

3,3

3,2

3,1

4,4

4,3

4,2

4,1

5,4

5,3

5,2

5,1

6,4

6,3

6,2

6,1

7,4

7,3

7,2

7,1

Proxy after

Page 70: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Example: Default “best-effort”

70

1,4

1,3

1,2

1,1

2,4

2,3

2,2

2,1

3,4

3,3

3,2

3,1

4,4

4,3

4,2

4,1

5,4

5,3

5,2

5,1

6,4

6,3

6,2

6,1

7,4

7,3

7,2

7,1

1,4

1,3

1,2

1,1

2,4

2,3

2,2

2,1

3,4

3,3

3,2

3,1

4,4

4,3

4,2

4,1

5,4

5,3

5,2

5,1

6,4

6,3

6,2

6,1

7,4

7,3

7,2

7,1

Client 2

Proxy before

1,4

1,3

1,2

1,1

2,4

2,3

2,2

2,1

3,4

3,3

3,2

3,1

4,4

4,3

4,2

4,1

5,4

5,3

5,2

5,1

6,4

6,3

6,2

6,1

7,4

7,3

7,2

7,1

Proxy afterGood !

Page 71: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Example: Default “best-effort”

71

1,4

1,3

1,2

1,1

2,4

2,3

2,2

2,1

3,4

3,3

3,2

3,1

4,4

4,3

4,2

4,1

5,4

5,3

5,2

5,1

6,4

6,3

6,2

6,1

7,4

7,3

7,2

7,1

1,4

1,3

1,2

1,1

2,4

2,3

2,2

2,1

3,4

3,3

3,2

3,1

4,4

4,3

4,2

4,1

5,4

5,3

5,2

5,1

6,4

6,3

6,2

6,1

7,4

7,3

7,2

7,1

Client 3

Proxy before

1,4

1,3

1,2

1,1

2,4

2,3

2,2

2,1

3,4

3,3

3,2

3,1

4,4

4,3

4,2

4,1

5,4

5,3

5,2

5,1

6,4

6,3

6,2

6,1

7,4

7,3

7,2

7,1

Proxy after… but …

Page 72: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Example: Default “best-effort”

72

1,4

1,3

1,2

1,1

2,4

2,3

2,2

2,1

3,4

3,3

3,2

3,1

4,4

4,3

4,2

4,1

5,4

5,3

5,2

5,1

6,4

6,3

6,2

6,1

7,4

7,3

7,2

7,1

1,4

1,3

1,2

1,1

2,4

2,3

2,2

2,1

3,4

3,3

3,2

3,1

4,4

4,3

4,2

4,1

5,4

5,3

5,2

5,1

6,4

6,3

6,2

6,1

7,4

7,3

7,2

7,1

Client 3

Proxy before

1,4

1,3

1,2

1,1

2,4

2,3

2,2

2,1

3,4

3,3

3,2

3,1

4,4

4,3

4,2

4,1

5,4

5,3

5,2

5,1

6,4

6,3

6,2

6,1

7,4

7,3

7,2

7,1

Proxy after… sometimes bad !

Page 73: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

73

Page 74: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

More slides ...

74

Page 75: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

A protocol family for streaming

RTSP

RTP

RTCP

75

Page 76: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

RTSP Example

Scenario:

metafile communicated to web browser

browser launches player

player sets up an RTSP control connection, data connection to streaming server

76

Page 77: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

RTSP Operation

77

Page 78: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Real-Time Protocol (RTP)

RTP specifies packet structure for packets carrying audio, video data

RFC 3550

RTP runs in end systems

RTP packets encapsulated in UDP segments

78

Page 79: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

RTP Header

Payload Type (7 bits): Indicates type of encoding currently being used. If sender changes encoding in middle of conference, sender informs receiver via payload type field.

•Payload type 0: PCM mu-law, 64 kbps•Payload type 3, GSM, 13 kbps•Payload type 7, LPC, 2.4 kbps•Payload type 26, Motion JPEG•Payload type 31. H.261•Payload type 33, MPEG2 video

Sequence Number (16 bits): Increments by one for each RTP packet sent, and may be used to detect packet loss and to restore packet sequence.

79

Page 80: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Real-time Control Protocol (RTCP)

80

RTCP attempts to limit its traffic to 5% of session bandwidth

Receiver report packets:

fraction of packets lost, last sequence number, average interarrival jitter

Sender report packets:

SSRC of RTP stream, current time, number of packets sent, number of bytes sent

Page 81: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

81

Page 82: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Multimedia Over “Best Effort” Internet TCP/UDP/IP: no guarantees on delay, loss

Today’s multimedia applications implementfunctionality at the app. layer to mitigate(as best possible) effects of delay, loss

But you said multimedia apps requiresQoS and level of performance to be

effective!

?? ???

?

? ??

?

?

82

Page 83: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Summary: Internet MM “tricks of the trade”

UDP vs TCP

client-side adaptive playout delay: to compensate for delay

server side matches stream bandwidth to available client-to-server path bandwidth

chose among pre-encoded stream rates

dynamic server encoding rate

error recovery (on top of UDP) at the app layer

FEC, interleaving

retransmissions, time permitting

conceal errors: repeat nearby data

83

Page 84: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

84

Page 85: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

More slides …

85

Page 86: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Some more on QoS:Real-time traffic support

Hard real-time

Soft real-time

Guarantee bounded delay

Guarantee delay jitter

End-to-end delay = queuing delays + transmission delays + processing times + propagation delay (and any potential re-transmission delays at lower layers)

86

Page 87: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

How to provide better support for Multimedia? (1/4)

Integrated Services (IntServ) philosophy:

architecture for providing QoS guarantees in IP networks for individual flows

requires fundamental changes in Internet design so that apps can reserve end-to-end bandwidth

Components of this architecture are Reservation protocol (e.g., RSVP)

Admission control

Routing protocol (e.g., QoS-aware)

Packet classifier and route selection

Packet scheduler (e.g., priority, deadline-based)

87

Page 88: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

How to provide better support for Multimedia? (2/4)

Concerns with IntServ: Scalability: signaling, maintaining per-flow router

state difficult with thousands/millions of flows

Flexible Service Models: IntServ has only two classes. Desire “qualitative” service classes

E.g., Courier, ExpressPost, and normal mail

E.g., First, business, and economy class

Differentiated Services (DiffServ) approach:

simple functions in network core, relatively complex functions at edge routers (or hosts)

Don’t define the service classes, just provide functional components to build service classes

88

Page 89: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

89

Page 90: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

90

Page 91: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

91

Page 92: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Streaming Stored Multimedia (1/2)

1. videorecorded

2. videosent

3. video received,played out at client

streaming: at this time, client playing out early part of video, while server still sending laterpart of video

networkdelay

time

92

Page 93: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Streaming Stored Multimedia (2/2)

VCR-like functionality: client can start, stop, pause, rewind, replay, fast-forward, slow-motion, etc.

10 sec initial delay OK

1-2 sec until command effect OK

need a separate control protocol?

timing constraint for data that is yet to be transmitted: must arrive in time for playback

93

Page 94: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Streaming Live Multimedia

Examples:

Internet radio talk show

Live sporting event

Streaming

playback buffer

playback can lag tens of seconds after transmission

still have timing constraint

Interactivity

fast-forward is not possible

rewind and pause possible!94

Page 95: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Interactive, Real-time Multimedia

end-end delay requirements: audio: < 150 msec good, < 400 msec OK

• includes application-layer (packetization) and network delays

• higher delays noticeable, impair interactivity

session initialization callee must advertise its IP address, port number,

frame rate, encoding algorithms

applications: IP telephony, video conference, distributed interactive worlds

95

Page 96: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

96

Page 97: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

97

Page 98: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Why Study Multimedia Networking?

Majority of traffic …

Industry-relevant research topic

Multimedia is everywhere

Lots of open research problems

Exciting and fun!98

Page 99: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Scalable Content DeliveryMotivation

Use of Internet for content delivery is massive … and becoming more so (e.g., majority of all IP traffic is video content)

Variety of approaches: HTTP-based Adaptive Streaming (HAS), broadcast/multicast, batching, replication/caching (e.g. CDNs), P2P, peer-assisted, …

In these slides, we only provide a few high-level examples

99

Page 100: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Service models

100

Page 101: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

101

Page 102: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Multimedia Networking Applications

Classes of MM applications:

102

Page 103: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Multimedia Networking Applications

Classes of MM applications:

1) Streaming stored audio and video

2) Streaming live audio and video

3) Real-time interactive audio and video

103

Page 104: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

104

Page 105: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Multimedia Networking Applications

Fundamental characteristics:

105

Page 106: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Multimedia Networking Applications

Fundamental characteristics:

Inherent frame rate

Typically delay-sensitive end-to-end delay

delay jitter

But loss-tolerant: infrequent losses cause minor transient glitches

Unlike data apps, which are often delay-tolerant but loss-sensitive.

106

Page 107: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Multimedia Networking Applications

Fundamental characteristics:

Inherent frame rate

Typically delay-sensitive end-to-end delay

delay jitter

But loss-tolerant: infrequent losses cause minor transient glitches

Unlike data apps, which are often delay-tolerant but loss-sensitive.

Jitter is the variability of packet delays within the same packet stream

107

Page 108: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

constant bit rate video

transmission

time

variablenetwork

delay

client videoreception

constant bit rate video

playout at client

client playoutdelay

buf

fere

dvi

deo

Streaming Multimedia: Client Buffering

Client-side buffering, playout delay compensate for network-added delay, delay jitter

108

Page 109: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Streaming Multimedia: Client Buffering

bufferedvideo

variable fillrate, x(t)

constantdrain

rate, d

Client-side buffering, playout delay compensate for network-added delay, delay jitter

109

Page 110: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

110

Page 111: Service landscape Example services · Service landscape Example services ... looking towards the future ... Dynamic Adaptive Streaming over HTTP (DASH)

Streaming Multimedia: UDP or TCP?UDP server sends at rate appropriate for client

(oblivious to network congestion !)

often send rate = encoding rate = constant rate

then, fill rate = constant rate - packet loss

short playout delay (2-5 seconds) to compensate for network delay jitter

error recover: time permitting

TCP send at maximum possible rate under TCP

fill rate fluctuates due to TCP congestion control

larger playout delay: smooth TCP delivery rate

HTTP/TCP passes more easily through firewalls111