25
Scalable Live Video Streaming to Cooperative Clients Using Time Shifting and Video Patching Meng Guo and Mostafa H. A mmar INFOCOM 2004

Scalable Live Video Streaming to Cooperative Clients Using Time Shifting and Video Patching Meng Guo and Mostafa H. Ammar INFOCOM 2004

  • View
    219

  • Download
    0

Embed Size (px)

Citation preview

Scalable Live Video Streaming to Cooperative Clients Using Time Shifting and Video Patching

Meng Guo and Mostafa H. Ammar

INFOCOM 2004

Introduction (1/2) Overlay multicast

A client forwards the content it is receiving, and serves other client’s request as a server.

Problems Clients would leave or fail Rejoin latency implies data loss

CoopNet Multiple Description Code (MDC) Multicast different portions of MDC streams over several o

verlay multicast trees Disadvantage

Video quality fluctuation (client leave & join)

Introduction (2/2) Goals

Continuous streaming service Single description code Clients always receive full quality video streams

Solutions Provide time shifting streams at the server Using video patching to allow a client to catch up

with the progress of the live video program A buffering scheme that allows the clients to store

the video packets, and to playout when needed

Basic operations When a client first joins the multicast group, it alway

s joins a multicast tree of the original stream. If the server has free video channel available, the client con

nects to the server directly. Otherwise, the client joins the tree by connecting to a client

already in the tree who has both enough available bandwidth and the shortest overlay path to the server.

Use packet loss rate to detect service disconnection Node rejoin delay rc

The time interval between the moment when the client c is disconnected and the moment when the client is reconnected.

Definitions Viewing delay

(the playback time of the original stream) – (the playback time of the video stream that the client is watching)

Starving period The time interval that the client is not

receiving any video Freezing period

The time period when the client side play out is temporarily stopped.

Infinite shifting

In a live streaming service, is it essential to receive the missed part of the video stream?

S0 S1 S2 S3

d

time

playback time

Received stream

t1 t2 t3

Δ1 Δ2 Δ3

Starving period

Viewing delay = Freezing

period

Video patching in live streaming

S0 S1

dtime

playback time

Client playout

t1

Client receive rate

t1+r1

Δ1

t1+d

t1+r1: rejoin the original streamt1+Δ1: rejoin the patching streamt1+d: receive the patching stream

Δ2

t2

t2+r2 t2+d

t2+r2+d

t1+r1+d

Continuous video streaming There still some periods that the

client’s playback is halted.

Solution Initial access delay

Longer access latency can result in smoother video reception.

Continuous video streaming with initial delay

The example of system operations (1/2)

The example of system operations (2/2)

Design details

Time shifting video server Channel allocation Patching stream selection Node join algorithm Node leave

Video server design

1:1 channel allocation

Static multiplex channel allocation

Dynamic multiplexing with channel merging m: the number of live channels. Based on the lifetime:

A video program of length T At time t0, the lifetime of the original stream is T – t0. The lifetime for the patch stream is its time shifting value, i.e., th

e life time of Sk is d×k. The number of reserved patching channels

The number of allocated video channels

The number of patching channels |P| is monotonically increasing as the video program proceeds.

Patching stream selection Let a client disconnects from the multicast group a

t td, and it sends a node rejoin request to the server. When the server receives the rejoin requests, the live video playback time is t1.

The estimated connection set up time = t1 – td.

The stream si is selected, while i is caculated by the formula below:

Because of the server->client latency

Node join algorithm A “well shaped” overlay multicast tree

should be wide and short. Level Join

A newly arriving client joins the node whose overlay path distance to the server is shortest.

Bandwidth First Push the client with larger bandwidth up to

the higher level of the tree. Also consider the Level Join algorithm.

Failed node discovery process

Simulation environment

Bandwidth capacity of the end hosts Barrow bandwidth: 1.5 Mbps, 70% Medium bandwidth: 10 Mbps, 20% High bandwidth: 100 Mbps, 10%

The time shifting value = 4 seconds.

Video patching on client video reception

disconnect

Playout the video data received during the previous patching

Disconnect: consume the data stored in the buffer

Video patching on viewing performance

A larger life time implies shorter delay and less buffer usage.

Influence of video patching on tree structure

Patching increases the level of the multicast tree.

(reduce the number of live channels -> reduce the degree of root)

high bw with patchinghigh bw no patching

tree

heig

ht

Avera

ge

stre

tch

stretch = delay

Video server channel utilization

Client requests queuing delay