1 / 21

Layered Range Multicast for Video On Demand

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

Télécharger la présentation

Layered Range Multicast for Video On Demand

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Agenda • Introduction • Layered Range Multicast (LRM) • Network Model • Quality of Service • Overlay Cache Design • Service Procedure • Performance Evaluation • Conclusion

  3. Introduction • Problems • Clients requests arrive at different times cannot be batched to share a single multicast stream easily • VoD services to heterogeneous clients

  4. 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 participating clients • If requested play point is in the range, new clients can still join a multicast group without additional server bandwidth

  5. Layered Range Multicast (LRM) • Rationale • Prolong the usefulness of a multicast stream • Overview • Root node, non-Root nodes (application-level routers) • Clients receive video stream from root with QoS, through some non-root nodes • Non-root nodes cache some video streams layers

  6. Root NR NR NR client client client client client client Network Model • LRM-enable nodes • Interconnected by unicast path • Root nodes, non-Root nodes • Root Nodes • Front-end node for video server • Store full quality (all layers) video streams • Non-Root Nodes • Representatives of local community of clients, Rep(X)

  7. 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

  8. C2L . . . C1L . . . . . . CNL C2L-1 CNL-1 C1L-1 CN1 C11 C21 CN C1 C2 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, CK2, …, CKL • N depends on the capability of the node

  9. 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 vl • Otherwise, select a sub-chunk of layer l that is in “free” state for the longest time • Otherwise, vl will not be cached

  10. Caching Algorithm

  11. Caching Algorithm

  12. Service Procedure • Seeking Phase • Client node X requests a video Vj (video V with quality level j) to Rep(X) • Rep(X) send request find(X, V, J) to all adjacent-on-overlay nodes

  13. Seeking Phase • On receiving find() • Root node return found() • Non-Root node • Compute list L = {vl1, vl2, …, vlj} ⊂ Vjs.t. it got L in cache • 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)

  14. Seeking Phase • Use the following greedy algorithm to select nodes: • Set L = EMPTY, i = 0 • Put all the current foundmessages into Qx • WHILE (L = Vj) • WHILE (Qx = EMPTY) Waiting • Dequeue (Ri, Li) from Qx • Send node Ri an ackmessage asking it to send the layers specified in Li \ L to the client • L = L ∪ Li, i = i + 1 • If there are more coming foundmessages to Rep(X), then put them into Qx • Send each of the rest of nodes in Qx a nackmessage to deny its offer.

  15. Transmission & Leaving Phase • Transmission Phase • Each serving node transmits to client a stream consisting of the layers specified in ack • Delivery path is the reversal of the path that the serving node received find() from Rep(X) • Leaving Phase • Client send quit() to Rep(X) • Rep(X) send quit() to all serving nodes

  16. Service Procedure

  17. Data provided by intermediate nodes Total amount of data provided Performance Evaluation • Metrics • Bandwidth Saving • System Throughput • Ratio of served requests to total simulated time

  18. Performance Evaluation

  19. Performance Evaluation

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

  21. Thought • Is layering existing video contents (e.g. DVD, VCD, …) feasible? • What is the performance impact when non-root nodes fail?

More Related