Bandwidth-aware Prefetching for Proactive Multi-video Preloading and - - PowerPoint PPT Presentation

bandwidth aware prefetching for proactive
SMART_READER_LITE
LIVE PREVIEW

Bandwidth-aware Prefetching for Proactive Multi-video Preloading and - - PowerPoint PPT Presentation

Bandwidth-aware Prefetching for Proactive Multi-video Preloading and Improved HAS Performance Vengatanathan Krishnamoorthi 1 , Niklas Carlsson 1 , Derek Eager 2 , Anirban Mahanti 3 , Nahid Shahmehri 1 1 Linkping university, Sweden 2 University


slide-1
SLIDE 1

Bandwidth-aware Prefetching for Proactive Multi-video Preloading and Improved HAS Performance

Vengatanathan Krishnamoorthi1, Niklas Carlsson1, Derek Eager2, Anirban Mahanti3, Nahid Shahmehri1

1 Linköping university, Sweden 2 University of Saskatchewan, Canada 3 NICTA, Australia

  • Proc. ACM Multimedia, Brisbane, Australia, Oct. 2015
slide-2
SLIDE 2

2

Users of the Web are very impatient and want instantaneous response for every action ...

slide-3
SLIDE 3

3

Users of the Web are very impatient and want instantaneous response for every action …

– Loading a web page

slide-4
SLIDE 4

4

Users of the Web are very impatient and want instantaneous response for every action ...

– Loading a web page – Response to search query

slide-5
SLIDE 5

5

Users of the Web are very impatient and want instantaneous response for every action ...

– Loading a web page – Start playing a video – Response to search query

slide-6
SLIDE 6

Users of the Web are very impatient and want instantaneous response for every action ... Delays in executing these actions leads to ...

– Annoyed users – Loading a web page – Start playing a video – Response to search query

slide-7
SLIDE 7

7

Users of the Web are very impatient and want instantaneous response for every action ...

– Dissatisfaction with the service and service providers

Delays in executing these actions leads to ...

– Annoyed users – Loading a web page – Start playing a video – Response to search query

slide-8
SLIDE 8

8

Users of the Web are very impatient and want instantaneous response for every action ...

– Terminated sessions Lost revenue!!

Delays in executing these actions leads to ...

– Dissatisfaction with the service and service providers – Annoyed users – Loading a web page – Start playing a video – Response to search query

slide-9
SLIDE 9

9

Users of the on-demand video streaming services ...

watch the beginning of several videos (~5 seconds) before actually watching a video until the end1.

1- L. Chen, Y. Zhou and D. Chiu. A study of user behavior in online vod services. Computer Communications, 2014.

slide-10
SLIDE 10

10

Users of the on-demand video streaming services ...

watch the beginning of several videos (~5 seconds) before actually watching a video until the end1.

1- L. Chen, Y. Zhou and D. Chiu. A study of user behavior in online vod services. Computer Communications, 2014.

  • Knowing these patterns, popular streaming services
  • ffer several related videos to chose from, based on

– current video choice – user viewing history – popular videos in the geographical area – many other information sources ...

slide-11
SLIDE 11

11

However, there is a startup time associated with every new video ...

slide-12
SLIDE 12

12

However, there is a startup time associated with every new video ... and we all know that it is annoying to wait

slide-13
SLIDE 13

13

However, there is a startup time associated with every new video ... and we all know that it is annoying to wait

slide-14
SLIDE 14

14

In order to reduce startup times and improve user retention

slide-15
SLIDE 15

15

In order to reduce startup times and improve user retention

  • Effective prefetching strategies are required
slide-16
SLIDE 16

16

In order to reduce startup times and improve user retention

  • Effective prefetching strategies are required
  • Alternate videos must be readily available for

playback and played instantaneously

slide-17
SLIDE 17

17

  • Effective prefetching strategies are required
  • Alternate videos must be readily available for

playback and played instantaneously

  • Prefetching must be quality-adaptive and

have no negative effects on the current video’s playback

In order to reduce startup times and improve user retention

slide-18
SLIDE 18

18

  • Effective prefetching strategies are required
  • Alternate videos must be readily available for

playback and played instantaneously

  • Prefetching must be quality-adaptive and

have no negative effects on the current video’s playback

  • These goals need to be achieved with the

current state-of-the-art

In order to reduce startup times and improve user retention

slide-19
SLIDE 19

19

Contributions

  • We present a HAS-based solution that:
  • enables quality adaptive prefetching and instantaneous

playback of alternative videos

slide-20
SLIDE 20

20

Contributions

  • We present a HAS-based solution that:
  • enables quality adaptive prefetching and instantaneous

playback of alternative videos

  • improves the playback quality of the current video, by

addressing the well known on-off problem in HAS

slide-21
SLIDE 21

21

Contributions

  • We present a HAS-based solution that:
  • enables quality adaptive prefetching and instantaneous

playback of alternative videos

  • improves the playback quality of the current video, by

addressing the well known on-off problem in HAS

  • ensures stall free playback of the current video with

improved playback experience

slide-22
SLIDE 22

22

Contributions

  • We present a HAS-based solution that:
  • enables quality adaptive prefetching and instantaneous

playback of alternative videos

  • improves the playback quality of the current video, by

addressing the well known on-off problem in HAS

  • ensures stall free playback of the current video with

improved playback experience

  • Our policy classes captures a diverse set of use cases
slide-23
SLIDE 23

23

Contributions

  • We present a HAS-based solution that:
  • enables quality adaptive prefetching and instantaneous

playback of alternative videos

  • improves the playback quality of the current video, by

addressing the well known on-off problem in HAS

  • ensures stall free playback of the current video with

improved playback experience

  • Our policy classes captures a diverse set of use cases
  • We characterize and show the benefits of our prefetching policies

through our proof-of-concept implementation

slide-24
SLIDE 24

24

HTTP-based Adaptive Streaming (HAS)

  • HTTP-based streaming
slide-25
SLIDE 25

25

HTTP-based Adaptive Streaming (HAS)

  • HTTP-based streaming

– Video is split into chunks

slide-26
SLIDE 26

26

HTTP-based Adaptive Streaming (HAS)

  • HTTP-based streaming

– Video is split into chunks – Easy firewall traversal and caching

slide-27
SLIDE 27

27

HTTP-based Adaptive Streaming (HAS)

  • HTTP-based streaming

– Video is split into chunks – Easy firewall traversal and caching

  • HTTP-based adaptive streaming

– Clients adapt quality encoding based on buffer/network conditions

Chunk1 Chunk2 Chunk4 Chunk3 Chunk5

slide-28
SLIDE 28

28

HTTP-based Adaptive Streaming (HAS)

  • HTTP-based streaming

– Video is split into chunks – Easy firewall traversal and caching

  • HTTP-based adaptive streaming

– Clients adapt quality encoding based on buffer/network conditions – Support for interactive VoD

Chunk1 Chunk2 Chunk4 Chunk3 Chunk5

slide-29
SLIDE 29

29

On-off switching in HAS

  • Most HAS players perform ON-OFF switching

based on two buffer thresholds: Tmin and Tmax

slide-30
SLIDE 30

On-off switching in HAS

30

  • Most HAS players perform ON-OFF switching

based on two buffer thresholds: Tmin and Tmax

  • If buffer > Tmax

– Suspend download

slide-31
SLIDE 31

On-off switching in HAS

buffer > Tmax

31

  • Most HAS players perform ON-OFF switching

based on two buffer thresholds: Tmin and Tmax

  • If buffer > Tmax

– Suspend download

slide-32
SLIDE 32

On-off switching in HAS

buffer > Tmax

32

  • Most HAS players perform ON-OFF switching

based on two buffer thresholds: Tmin and Tmax

  • If buffer > Tmax

– Suspend download

slide-33
SLIDE 33

On-off switching in HAS

buffer < Tmin

33

  • Most HAS players perform ON-OFF switching

based on two buffer thresholds: Tmin and Tmax

  • If buffer > Tmax

– Suspend download

  • If buffer < Tmin

– Resume download

slide-34
SLIDE 34

On-off switching in HAS

34

buffer < Tmin

  • Most HAS players perform ON-OFF switching

based on two buffer thresholds: Tmin and Tmax

  • If buffer > Tmax

– Suspend download

  • If buffer < Tmin

– Resume download

slide-35
SLIDE 35

Issues with on-off switching in HAS

35

  • Although thresholds on the buffer is beneficial, on-off

switching has been shown to lead to:

slide-36
SLIDE 36

Issues with on-off switching in HAS

36

  • Although thresholds on the buffer is beneficial, on-off

switching has been shown to lead to: – Unfair bandwidth allocation – Under utilization of bandwidth – Unnecessary fluctuations in quality adaptation

slide-37
SLIDE 37

Prefetch alternative videos during off periods

37

  • Allow instantaneous playback of alternative videos
  • In addition, prefetching during off periods:
slide-38
SLIDE 38

38

Off period

Slow-start and ramp up

Prefetch alternative videos during off periods

  • Allow instantaneous playback of alternative videos
  • In addition, prefetching during off periods:

– Avoids the need to ramp-up from slow-start

slide-39
SLIDE 39

39

With prefetching, data is downloaded faster and the next off period is reached sooner

Prefetch alternative videos during off periods

  • Allow instantaneous playback of alternative videos
  • In addition, prefetching during off periods:

– Avoids the need to ramp-up from slow-start – Client remains active throughout the duration

slide-40
SLIDE 40

40

  • Allow instantaneous playback of alternative videos
  • In addition, prefetching during off periods:

– Avoids the need to ramp-up from slow-start is – Client remains active throughout the duration

Prefetch alternative videos during off periods

Greater slope  faster download

With prefetching, data is downloaded faster and the next off period is reached sooner

slide-41
SLIDE 41

Prefetching policies

41

  • In order to control the number of prefetched chunks and the

time at which alternate videos will be available for playback, we consider three broad classes of prefetching policies: – Best-effort – Token-based – Deadline-based

slide-42
SLIDE 42

Prefetching policy: Best-effort

42

  • Prefetching rules:

– Prefetch alternative chunks when T ≥ Tmax and r(T – Tmin) > prefetchedchunk size

1 2 4 5 6 7 8

Best effort

1 2 3 1 2 1 2 Tmin T0 Tmax 9 10 1 2 1 Alt.1 1 Alt.2 1 Alt.3 1 Alt.4

slide-43
SLIDE 43

Prefetching policy: Best-effort

43

  • Prefetching rules:

– Prefetch alternative chunks when T ≥ Tmax and r(T – Tmin) > prefetchedchunk size – Number of chunks per alternate video is controlled by parameter ‘n’

1 2 4 5 6 7 8

Best effort

1 2 3 1 2 1 2 Tmin T0 Tmax 9 10 1 2 1 Alt.1 1 Alt.2 1 Alt.3 1 Alt.4

slide-44
SLIDE 44

Prefetching policy: Token-based

44

  • Prefetching rules:

– Prefetch alternative chunks when T ≥ Tmax and r(T – Tmin) > prefetchedchunk size

1 Alt.1 Tmin T0 Tmax 1 Alt.2 1 Alt.3 1 Alt.4 1 2 4 5 6 7 8

Token- based

1 2 3 3 4 1 2

Token alt:1 Token alt:2

9 10 3 4

slide-45
SLIDE 45

Prefetching policy: Token-based

45

  • Prefetching rules:

– Prefetch alternative chunks when T ≥ Tmax and r(T – Tmin) > prefetchedchunk size – Token determines which alternative video to prefetch

1 Alt.1 Tmin T0 Tmax 1 Alt.2 1 Alt.3 1 Alt.4 1 2 4 5 6 7 8

Token- based

1 2 3 3 4 1 2

Token alt:1 Token alt:2

9 10 3 4

slide-46
SLIDE 46

Prefetching policy: Token-based

46

  • Prefetching rules:

– Prefetch alternative chunks when T ≥ Tmax and r(T – Tmin) > prefetchedchunk size – Token determines which alternative video to prefetch – Time Δ determines time between prefetching of alternative videos

1 Alt.1 Tmin T0 Tmax 1 Alt.2 1 Alt.3 1 Alt.4 1 2 4 5 6 7 8

Token- based

1 2 3 3 4 1 2

Token alt:1 Token alt:2

9 10 3 4

slide-47
SLIDE 47

Prefetching policy: Deadline-based

47

  • Prefetching rules:

– Strict deadlines by which ‘n’ chunks of alternative videos (and ‘m’ chunks of current video) must be downloaded

Time 1 Alt.1 Tmin T0 Tmax 1 2 4 5 6 7

Deadline- based

1 2 3 1 2 3

Deadline alt:1

4 8 9 1 2

Deadline alt:2

1 Alt.2 1 Alt.3 1 Alt.4

slide-48
SLIDE 48

Prefetching policy: Deadline-based

48

  • Prefetching rules:

– Strict deadlines by which ‘n’ chunks of alternative videos (and ‘m’ chunks of current video) must be downloaded – Quality of the streaming video is adapted to satisfy the deadlines based on an optimization framework

Time 1 Alt.1 Tmin T0 Tmax 1 2 4 5 6 7

Deadline- based

1 2 3 1 2 3

Deadline alt:1

4 8 9 1 2

Deadline alt:2

1 Alt.2 1 Alt.3 1 Alt.4

slide-49
SLIDE 49

Prefetching policy: Deadline-based

  • Prefetching rules:

– Strict deadlines by which ‘n’ chunks of alternative videos (and ‘m’ chunks of current video) must be downloaded – Quality of the streaming video is adapted to satisfy the deadlines based on an optimization framework

Playback quality of streamed video Playback quality alternative video chunks

The optimization formulation above originally appeared in our ACM MM 2014 paper . Quality-adaptive Prefetching for Interactive Branched Video using HTTP-based Adaptive Streaming In Proceedings of the ACM International Conference on Multimedia (ACM Multimedia),Orlando, FL, Nov. 2014.

slide-50
SLIDE 50

Policy characterization

50

  • All experiments performed with at least one competing flow
  • Generated from a large file download from a second server
  • Results are averages over 20 experiments
slide-51
SLIDE 51

Policy characterization

51

  • All experiments performed with at least one competing flow
  • Generated from a large file download from a second server
  • Results are averages over 20 experiments
  • Example results
  • 4 Mbps (shared) link
  • 1 competing flow
  • 150ms RTT
  • Tmin/ Tmax = 8/12
  • n (chunks to prefetchper alternative video) = 2
slide-52
SLIDE 52

Policy characterization: Number of alternative videos

52

  • Best-effort policy

– Moves to the next alternative video after 2 chunks of the previous alternative video is completed

Figures: Download completion time of the n=2 chunks of each alternative video

slide-53
SLIDE 53

Policy characterization: Number of alternative videos

53

Figures: Download completion time of the n=2 chunks of each alternative video

  • Token-based policy

– Moves to the next alternative video only when the next token is released

slide-54
SLIDE 54

Policy characterization: Number of alternative videos

54

  • Token-based policy

– Moves to the next alternative video only when the next token is released – Prefetches more chunks of alternative videos in the absence of new tokens

Figures: Download completion time of the n=2 chunks of each alternative video

slide-55
SLIDE 55

Policy characterization: Number of alternative videos

55

  • Deadline-based policy

– Deadlines every 20s

Figures: Download completion time of the n=2 chunks of each alternative video

slide-56
SLIDE 56

Policy characterization: Number of alternative videos

56

  • Deadline-based policy

– Deadlines every 20s – Evenly spaced download completions, respecting their download deadlines

Figures: Download completion time of the n=2 chunks of each alternative video

slide-57
SLIDE 57

Policy characterization: Number of alternative videos

57

Figures: Download completion time of the n=2 chunks of each alternative video

  • Deadline-based policy

– Deadlines every 20s – Evenly spaced download completions, respecting their download deadlines – When the deadline is satisfied, the player moves ahead with the next deadline

slide-58
SLIDE 58

Policy characterization: Playback quality of streamed video chunks

58

slide-59
SLIDE 59

Policy characterization: Playback quality of streamed video chunks

59

Medium quality

slide-60
SLIDE 60

Policy characterization: Playback quality of streamed video chunks

60

  • Best-effort policy achieves better playback rates than the

naïve player

High quality

slide-61
SLIDE 61

Policy characterization: Playback quality of streamed video chunks

61

  • Best-effort policy achieves better playback rates than the

naïve player

  • Token-based policy also achieves better playback rates

than the naïve player

High quality

slide-62
SLIDE 62

Policy characterization: Playback quality of streamed video chunks

62

  • Best-effort policy achieves better playback rates than the

naïve player

  • Token-based policy also achieves better playback rates

than the naïve player

  • Comparatively, deadline-based policies achieve lower

playback qualities due to deadline constraints

slide-63
SLIDE 63

63

  • Lowest-quality prefetching always chooses the lowest

encoding available

Policy characterization: Playback quality of alternate video chunks

slide-64
SLIDE 64

64

  • Lowest-quality prefetching always chooses the lowest

encoding available

  • Deadline-based policy trades-off quality of both streamed

and alternate videos to achieve the deadlines

Policy characterization: Playback quality of alternate video chunks

slide-65
SLIDE 65

Impact of network conditions: Bandwidth

65

  • All policies adapt playback quality based on bandwidth

Quality of streamed video Quality of alternate video Stall probabilities

slide-66
SLIDE 66

Impact of network conditions: Bandwidth

66

  • All policies adapt playback quality based on bandwidth
  • Deadline-based policy consistently trades-off playback

quality in order to meet deadlines

Quality of streamed video Quality of alternate video Stall probabilities

slide-67
SLIDE 67

Impact of network conditions: Bandwidth

67

  • All policies adapt playback quality based on bandwidth
  • Deadline-based policy consistently trades-off playback

quality in order to meet deadlines

  • Best-effort and token-based policies perform slightly better

than the naïve player at low bandwidths

Quality of streamed video Quality of alternate video Stall probabilities

slide-68
SLIDE 68

Impact of network conditions: RTT

68

  • The video flow experiences increasing RTTs while the

competing flows RTT remains constant at 50ms

Quality of streamed video Quality of alternate video Stall probabilities

slide-69
SLIDE 69

Impact of network conditions: RTT

69

  • In general, TCP throughput decreases with increasing RTTs,

as shown by playback qualities

Quality of streamed video Quality of alternate video Stall probabilities

slide-70
SLIDE 70

Impact of network conditions: RTT

70

  • In general, TCP throughput decreases with increasing RTTs,

as shown by playback qualities

  • Playback stalls experienced at high RTTs, although all three

policies out perform the naïve player

Quality of streamed video Quality of alternate video Stall probabilities

slide-71
SLIDE 71

71

Startup times

  • With prefetching, startup times are low and independent of

throughput or RTT

  • Fetch time of the chunk from cache ~0.1 second, the

additional time is required to change player states

Startup time/SD (seconds) Prefetched chunk 0.6/0.15 No prefetching, 2000 Kb/s, 150ms RTT 10/4.1 No prefetching, 4000 Kb/s, 150ms RTT 5.8/2.3 No prefetching, 6000 Kb/s, 150ms RTT 4.0/1.2 No prefetching, 8000 Kb/s, 150ms RTT 3.6/1.4

slide-72
SLIDE 72

72

Startup times

  • With prefetching, startup times are low and independent of

throughput or RTT

  • Fetch time of the chunk from cache ~0.1 second, the

additional time is required to change player states

  • Startup times decrease with increasing bandwidth, but are

always constrained by the larger RTT and network conditions to reach the server

Startup time/SD (seconds) Prefetched chunk 0.6/0.15 No prefetching, 2000 Kb/s, 150ms RTT 10/4.1 No prefetching, 4000 Kb/s, 150ms RTT 5.8/2.3 No prefetching, 6000 Kb/s, 150ms RTT 4.0/1.2 No prefetching, 8000 Kb/s, 150ms RTT 3.6/1.4

slide-73
SLIDE 73

Other experimental results

  • Also performed experiments under wide range of other

scenarios, including – different buffer sizes (4/6, 8/16, 12/24, 12/30 seconds) – different real-world bandwidth traces – different number of competing flows – different OSes running different TCP versions

  • Our conclusions and relative performance across policies

remain consistent in all scenarios

slide-74
SLIDE 74

Conclusions

74

  • We have designed, implemented and evaluated a HAS-based

solution, which: – enables quality-adaptive prefetching and instantaneous playback of alternative videos – leads to perceptible gains for the streamed video in terms of stall-free playback and better playback quality

  • Considered three different policy classes and two quality

adaptation methods to cater for different real-world use cases

  • Overall, our solutions improve the bandwidth utilization and

playback experience by leveraging off periods to download alternative videos that are most likely to be watched

slide-75
SLIDE 75

Say

Bandwidth-aware Prefetching for Proactive Multi-video Preloading and Improved HAS Performance

Our source codes are available for download here: http://www.ida.liu.se/~nikca/papers/mm15.html