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
![Page 1: Multicast with Cache (Mcache): An Adaptive Zero-Delay Video-on-Demand Service](https://reader035.vdocuments.us/reader035/viewer/2022070401/56813659550346895d9de409/html5/thumbnails/1.jpg)
Multicast with Cache (Mcache): An Adaptive Zero-Delay Video-on-Demand Service
Sridhar Ramesh, Injong Rhee, and Katherine Guo
INFOCOM 2001
![Page 2: Multicast with Cache (Mcache): An Adaptive Zero-Delay Video-on-Demand Service](https://reader035.vdocuments.us/reader035/viewer/2022070401/56813659550346895d9de409/html5/thumbnails/2.jpg)
Abstract A demand-driven approach
towards VoD services is proposed. Techniques
Prefix-caching Batching Patching
![Page 3: Multicast with Cache (Mcache): An Adaptive Zero-Delay Video-on-Demand Service](https://reader035.vdocuments.us/reader035/viewer/2022070401/56813659550346895d9de409/html5/thumbnails/3.jpg)
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.
![Page 4: Multicast with Cache (Mcache): An Adaptive Zero-Delay Video-on-Demand Service](https://reader035.vdocuments.us/reader035/viewer/2022070401/56813659550346895d9de409/html5/thumbnails/4.jpg)
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.
![Page 5: Multicast with Cache (Mcache): An Adaptive Zero-Delay Video-on-Demand Service](https://reader035.vdocuments.us/reader035/viewer/2022070401/56813659550346895d9de409/html5/thumbnails/5.jpg)
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
![Page 6: Multicast with Cache (Mcache): An Adaptive Zero-Delay Video-on-Demand Service](https://reader035.vdocuments.us/reader035/viewer/2022070401/56813659550346895d9de409/html5/thumbnails/6.jpg)
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
![Page 7: Multicast with Cache (Mcache): An Adaptive Zero-Delay Video-on-Demand Service](https://reader035.vdocuments.us/reader035/viewer/2022070401/56813659550346895d9de409/html5/thumbnails/7.jpg)
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.
![Page 8: Multicast with Cache (Mcache): An Adaptive Zero-Delay Video-on-Demand Service](https://reader035.vdocuments.us/reader035/viewer/2022070401/56813659550346895d9de409/html5/thumbnails/8.jpg)
Mcache (u, x, y, L) Constants
u – the request time x – the prefix length y – the cutoff threshold L – the length of movie body
![Page 9: Multicast with Cache (Mcache): An Adaptive Zero-Delay Video-on-Demand Service](https://reader035.vdocuments.us/reader035/viewer/2022070401/56813659550346895d9de409/html5/thumbnails/9.jpg)
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
![Page 10: Multicast with Cache (Mcache): An Adaptive Zero-Delay Video-on-Demand Service](https://reader035.vdocuments.us/reader035/viewer/2022070401/56813659550346895d9de409/html5/thumbnails/10.jpg)
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.
![Page 11: Multicast with Cache (Mcache): An Adaptive Zero-Delay Video-on-Demand Service](https://reader035.vdocuments.us/reader035/viewer/2022070401/56813659550346895d9de409/html5/thumbnails/11.jpg)
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
![Page 12: Multicast with Cache (Mcache): An Adaptive Zero-Delay Video-on-Demand Service](https://reader035.vdocuments.us/reader035/viewer/2022070401/56813659550346895d9de409/html5/thumbnails/12.jpg)
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
![Page 13: Multicast with Cache (Mcache): An Adaptive Zero-Delay Video-on-Demand Service](https://reader035.vdocuments.us/reader035/viewer/2022070401/56813659550346895d9de409/html5/thumbnails/13.jpg)
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.
![Page 14: Multicast with Cache (Mcache): An Adaptive Zero-Delay Video-on-Demand Service](https://reader035.vdocuments.us/reader035/viewer/2022070401/56813659550346895d9de409/html5/thumbnails/14.jpg)
Algorithm at the server
![Page 15: Multicast with Cache (Mcache): An Adaptive Zero-Delay Video-on-Demand Service](https://reader035.vdocuments.us/reader035/viewer/2022070401/56813659550346895d9de409/html5/thumbnails/15.jpg)
SMcache with limited client disk space
![Page 16: Multicast with Cache (Mcache): An Adaptive Zero-Delay Video-on-Demand Service](https://reader035.vdocuments.us/reader035/viewer/2022070401/56813659550346895d9de409/html5/thumbnails/16.jpg)
Partitioned SMcache Each regional cache stores the first n
segments of the body. The main server stores the remaining N-
n segments.
![Page 17: Multicast with Cache (Mcache): An Adaptive Zero-Delay Video-on-Demand Service](https://reader035.vdocuments.us/reader035/viewer/2022070401/56813659550346895d9de409/html5/thumbnails/17.jpg)
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.
![Page 18: Multicast with Cache (Mcache): An Adaptive Zero-Delay Video-on-Demand Service](https://reader035.vdocuments.us/reader035/viewer/2022070401/56813659550346895d9de409/html5/thumbnails/18.jpg)
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
![Page 19: Multicast with Cache (Mcache): An Adaptive Zero-Delay Video-on-Demand Service](https://reader035.vdocuments.us/reader035/viewer/2022070401/56813659550346895d9de409/html5/thumbnails/19.jpg)
Server channel usage vs request rate
![Page 20: Multicast with Cache (Mcache): An Adaptive Zero-Delay Video-on-Demand Service](https://reader035.vdocuments.us/reader035/viewer/2022070401/56813659550346895d9de409/html5/thumbnails/20.jpg)
Bursty arrivals
![Page 21: Multicast with Cache (Mcache): An Adaptive Zero-Delay Video-on-Demand Service](https://reader035.vdocuments.us/reader035/viewer/2022070401/56813659550346895d9de409/html5/thumbnails/21.jpg)
Server load vs prefix size
![Page 22: Multicast with Cache (Mcache): An Adaptive Zero-Delay Video-on-Demand Service](https://reader035.vdocuments.us/reader035/viewer/2022070401/56813659550346895d9de409/html5/thumbnails/22.jpg)
Partitioned SMcache: network load at server and cache
Selective Catching?
![Page 23: Multicast with Cache (Mcache): An Adaptive Zero-Delay Video-on-Demand Service](https://reader035.vdocuments.us/reader035/viewer/2022070401/56813659550346895d9de409/html5/thumbnails/23.jpg)
Main server and Regional cache costs
![Page 24: Multicast with Cache (Mcache): An Adaptive Zero-Delay Video-on-Demand Service](https://reader035.vdocuments.us/reader035/viewer/2022070401/56813659550346895d9de409/html5/thumbnails/24.jpg)
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.