240 likes | 354 Views
Multicast with Cache (Mcache): An Adaptive Zero-Delay Video-on-Demand Service. Sridhar Ramesh, Injong Rhee, and Katherine Guo INFOCOM 2001. Abstract. A demand-driven approach towards VoD services is proposed. Techniques Prefix-caching Batching Patching. Categories of VoD schemes.
E N D
Multicast with Cache (Mcache): An Adaptive Zero-Delay Video-on-Demand Service Sridhar Ramesh, Injong Rhee, and Katherine Guo INFOCOM 2001
Abstract • A demand-driven approach towards VoD services is proposed. • Techniques • Prefix-caching • Batching • Patching
Categories of VoD schemes • Closed-loop • Demand-driven approach • The server allocates channels and schedules transmission of video streams based on client requests. • Open-loop • The server bandwidth usage is independent of the request arrival rate. • An open-loop approach wastes bandwidth when the request frequency is low.
Multicast Cache (Mcache) • Properties • Closed-loop scheme • Clients do not experience any playout delay. • The amount of disk space at clients and at caches has less impact on its performance. • It does not require any priori knowledge about client request rates or client disk space.
System environment • Video • Prefix – the first few minutes of each video • Body - The clip after the prefix • Server • Store video clips • Transmit the body to the client upon request • Cache – store the prefix of each video • Proxy • Local prefix cache • Client – receive transmissions from at most two channels
Mcache scheme • Transmissions • Object transmission – multicast the entire body • Patch transmission – multicast portions of the clip right after the prefix • Client actions • Request the prefix from the cache • Request the clip body from the video server
Mcache scheme (Cont’d) • Server schedule • Schedule a patch transmission and instruct the client to join both the existing object transmission and the patch transmission • Schedule a new object transmission • Cutoff threshold (y) • If the existing transmission has been running more than y time units, then a new object transmission is created. • Otherwise, a patch is used.
Mcache (u, x, y, L) • Constants • u – the request time • x – the prefix length • y – the cutoff threshold • L – the length of movie body
new patch join new u-y u u+x Algorithm • Batching • If there is an object transmission scheduled to start in [u, u+x), then the client simply joins this multicast when it starts. • If there is no object transmission that hast started in [u-y, u), or is scheduled to start in [u, u+x), then the server schedules a new object transmission at the latest possible time u+x.
Algorithm (Cont’d) • Patching • When there is an object transmission that started at t[u-y, u), the client joins it at u+x instead of u. (to facilitate batching together requests for the same patch) • The client needs a patch for the first u+x-t units of the clip body. • Schedule patch transmission • If there is a patch transmission scheduled to start before the client finishes receiving the prefix at the cache, then the client can join that patch channel when it starts.
Algorithm (Cont’d) • Otherwise, the server has to schedule one patch transmission to start before u+x. • Because the existing object transmission was started at t, this patch should start no later than t+y. (y is the cutoff threshold) • So, the starting time s of the patch is set to min{y+t, u+x}. • The patch length is u+x-t
C0 C1 share prefix patch Patching u-y t u u+x
Segmented Mcache (SMcache) • The body of the video clip is broken down into N segments. • L1, L2, …, LN are the lengths of segments 1, 2, …, N respectively. • Let x1 be the length of the prefix, and y1 be the cutoff parameter of segment 1. • Virtual prefix • After the patch transmission, the client virtually make the request for the next segment. • The server can delay serving the request for the second segment for up to L1-y1.
Partitioned SMcache • Each regional cache stores the first n segments of the body. • The main server stores the remaining N-n segments.
Other schemes • Greedy Disk-conserving Broadcasting (GDB) • GDB requires less resources than Skyscraper Broadcasting while guaranteeing the same quality. • Both the server resource and the client storage space required in GDB is close to the minimum achievable by any disk-conserving broadcast scheme. • Controlled multicast • Threshold-based multicast • The most efficient “client-pull” technique in delivering “cold” video objects.
Other schemes (Cont’d) • Catching • Clients catch up with the current broadcast cycle by retrieving the missing frames from the server via a unicast channel. • Selective catching • Determining when to apply catching and when to apply controlled-multicast. • Dynamic skyscraper
Partitioned SMcache: network load at server and cache Selective Catching?
Conclusions • A closed-loop scheme, called Mcache, for providing zero-delay video-on-demand services is proposed. • The SMcache is a generalized and improved version of Mcache where the clip is partitioned into several segments. • SMcache has significantly better performance than dynamic skyscraper when the prefix is very small.