250 likes | 430 Views
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
E N D
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 overlay 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 always joins a multicast tree of the original stream. • If the server has free video channel available, the client connects 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.
S1 S2 S3 Received stream Viewing delay d Δ1 Δ2 Δ3 t1 t2 t3 Infinite shifting playback time S0 Starving period = Freezing period time In a live streaming service, is it essential to receive the missed part of the video stream?
Client playout Δ2 Δ1 t1 t1+d t2 t2+r2+d t1+r1 t1+r1+d t2+r2 t2+d Video patching in live streaming playback time S0 S1 Client receive rate t1+r1: rejoin the original stream t1+Δ1: rejoin the patching stream t1+d: receive the patching stream time 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.
Design details • Time shifting video server • Channel allocation • Patching stream selection • Node join algorithm • Node leave
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., the 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 at 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.
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 high bw with patching high bw no patching stretch = delay tree height Average stretch Patching increases the level of the multicast tree. (reduce the number of live channels -> reduce the degree of root)