View
220
Download
1
Tags:
Embed Size (px)
Citation preview
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
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
Performance Evaluation
Metrics Bandwidth Saving
System Throughput
Ratio of served requests to total simulated time
Data provided by intermediate nodesTotal amount of data provided
Conclusion
LRM provides: Better service latency Reduced server bandwidth demand Efficient and feasible implementation on Internet