21
Layered Range Multicast for Video On Demand Duc A. Tran Kien A. Hua Tai T. Do

Layered Range Multicast for Video On Demand Duc A. Tran Kien A. Hua Tai T. Do

  • View
    220

  • Download
    1

Embed Size (px)

Citation preview

Layered Range Multicast for Video On Demand

Duc A. Tran

Kien A. Hua

Tai T. Do

Agenda

Introduction Layered Range Multicast (LRM)

Network Model Quality of Service Overlay Cache Design Service Procedure

Performance Evaluation Conclusion

Introduction

Problems Clients requests arrive at different times cannot b

e batched to share a single multicast stream easily

VoD services to heterogeneous clients

Introduction

Layered Range Multicast (LRM) Layered video coding

Video streams are encoded into several layers Video quality improves by receiving more layers

“Range Multicast” Transmit a range of continuous frames to the participa

ting clients If requested play point is in the range, new clients can

still join a multicast group without additional server bandwidth

Layered Range Multicast (LRM)

Rationale Prolong the usefulness of a multicast stream

Overview Root node, non-Root nodes (application-level rout

ers) Clients receive video stream from root with QoS, t

hrough some non-root nodes Non-root nodes cache some video streams layers

Network Model LRM-enable nodes

Interconnected by unicast path Root nodes, non-Root nodes

Root Nodes Front-end node for video serve

r Store full quality (all layers) vid

eo streams Non-Root Nodes

Representatives of local community of clients, Rep(X)

Root

NR

NR

NR

client

client

client

client

client client

Quality of Service

Video Stream V is encoded into L layers Basic layer: v1

Enhancement layers: v2, v3, …,vL

Decode v1 and some enhancement layers according to the required QoS

QoS level j = Vj (={v1, v2, …,vj}) Clients request video stream by specifying j

Overlay Cache Design

Non-root nodes reserve an amount of local storage Divided into equally sized chunks C1, C2, …, CN

CK is divided into sub-chunks, CK1, CK

2, …, CKL

N depends on the capability of the node

.

.

.

C1L

C1L-1

C11

C1

.

.

.

C2L

C2L-1

C21

C2

.

.

.

CNL

CNL-1

CN1

CN

Caching Algorithm

When Vj arrives For each layer l of Vj (l ∈ {1, 2, …, j})

Find an empty sub-chunk of layer l for caching v l

Otherwise, select a sub-chunk of layer l that is in “free” state for the longest time

Otherwise, vl will not be cached

Caching Algorithm

Caching Algorithm

Service Procedure

Seeking Phase Client node X requests a video Vj (video V with qu

ality level j) to Rep(X) Rep(X) send request find(X, V, J) to all adjacent-

on-overlay nodes

Seeking Phase

On receiving find() Root node return found() Non-Root node

Compute list L = {vl1, vl2, …, vlj} ⊂ Vj s.t. it got L in cach

e If L is empty, forward find() to adjacent nodes, except

root If L is non-empty, send found(L) to Rep(X)

Rep(X) receives (R1, L1), (R2, L2), …, (Rn, Ln)

Seeking Phase Use the following greedy algorithm to select nodes:

Set L = EMPTY, i = 0 Put all the current found messages into Qx WHILE (L = Vj)

WHILE (Qx = EMPTY) Waiting Dequeue (Ri, Li) from Qx Send node Ri an ack message asking it to send the layers

specified in Li \ L to the client L = L L∪ i, i = i + 1 If there are more coming found messages to Rep(X), then p

ut them into Qx

Send each of the rest of nodes in Qx a nack message to deny its offer.

Transmission & Leaving Phase

Transmission Phase Each serving node transmits to client a stream co

nsisting of the layers specified in ack Delivery path is the reversal of the path that the s

erving node received find() from Rep(X) Leaving Phase

Client send quit() to Rep(X) Rep(X) send quit() to all serving nodes

Service Procedure

Performance Evaluation

Metrics Bandwidth Saving

System Throughput

Ratio of served requests to total simulated time

Data provided by intermediate nodesTotal amount of data provided

Performance Evaluation

Performance Evaluation

Conclusion

LRM provides: Better service latency Reduced server bandwidth demand Efficient and feasible implementation on Internet

Thought

Is layering existing video contents (e.g. DVD, VCD, …) feasible?

What is the performance impact when non-root nodes fail?