To implement the VCR-like interactive features, a cache manager is required that is able to buffer a large amount of data and supply it to the decoder in real-time. Since the memory requirement can be huge, a main-memory-only buffering approach may be prohibitively costly. The alternative is using a memory-disk integrated cache (MEDIC) . Since the per-byte disk cost is about one hundredth of the per-byte memory cost, MEDIC is economically attractive.
MEDIC carefully allocates a limited amount of memory to competing tasks, i.e. to receiving new data from network channels, to writing data to disk as memory fills up, to reading data from disk as needed, and to holding data for decoding and playback. Since data is concurrently written to the disk cache and read from the disk cache, MEDIC must intelligently issue IOs to maximize throughput and to avoid undue conflicts.
With less than 8 MB of RAM our video buffer can support
the interactive operations discussed above without causing any ``jitter''.
This result confirms the theoretical study . The Figure
above shows an application of video buffering for implementing a Virtual