multicast with cache (mcache): an adaptive zero-delay video-on-demand service
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
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
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.
patch
join
u-y u u+x
new
new
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
Patching
u-y u u+x
t
Time Playing
t C0: x
u C0: x+u-t, C1: 0
u+x C0: 2x+u-t, C1: x
C0
C1shareprefixpatch
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.
Algorithm at the server
SMcache with limited client disk space
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
Server channel usage vs request rate
Bursty arrivals
Server load vs prefix size
Partitioned SMcache: network load at server and cache
Selective Catching?
Main server and Regional cache costs
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.