Mocha A quality Adaptive Multimedia Proxy Cache for
































- Slides: 32
Mocha: A quality Adaptive Multimedia Proxy Cache for Internet Streaming Reza Rejaie AT&T Labs – Research Menlo Park, CA Jussi Kangasharju Institut Eurocom France NOSSDAV 2001, New York June 25, 2001 http: //www. research. att. com/~reza Rejaie AT&T Labs - Research 1
Motivation Rapid growth in client-server multimedia streaming over the Internet Client-server architecture has two major limitations: • Limited and unstable quality • Limited scalability Reza Rejaie AT&T Labs - Research 2
Unicast Internet Streaming Multimedia streams are pipelined through the network Quality of stream should match available bandwidth Ø Internet streaming applications should be quality adaptive Quality. Adapt Encoder Cong. Ctrl Source Server TCP Reza Rejaie AT&T Labs - Research Internet TCP Buffer Decoder Display 3
Issues with Client-Server Streaming Limited & unstable quality Limited scalability Asynchronous access could be inefficient RTT could be high • High delay VCR-functions • Large startup delay Ø Multimedia proxy caching can address all these issues Reza Rejaie AT&T Labs - Research Client Client Proxy Internet Server 4
Multimedia Caches should be Quality Adaptive To maximize delivered quality to heterogeneous clients: • Multiple encodings/versions • Trans-coding • Layered encoding Design issues: • What streams to cache? • Which quality to cache? Ø Notion of “quality” affects Client 56 Kbps 2 Mbps Proxy Internet Server both design and evaluation Reza Rejaie AT&T Labs - Research 5
Previous Work Existing Web caches can not support Multimedia streams efficiently • Atomic delivery & Atomic replacement Multimedia caches = web cache + media player Caching only selected portions of streams • Prefix caching, Video Staging, etc Memory Caching, batching, etc Resource-based Caching Ø Previous work treat multimedia streams in an atomic fashion => Not Quality Adaptive Reza Rejaie AT&T Labs - Research 6
This Paper Design and implementation of Mocha, a quality adaptive proxy cache for multimedia streams, on top of Squid Preliminary evaluation (Sanity Checking) Reza Rejaie AT&T Labs - Research 7
Design Goal Assuming locality of reference exists Goal: Cache popular streams with appropriate quality Appropriate quality is determined by • Client bandwidth • Popularity of streams Max. deliverable quality is not guaranteed Ø Caching appropriate quality => Higher performance Reza Rejaie AT&T Labs - Research 8
The idea Exploit layered organization • Relay on a cache miss • Pre-fetch on a cache hit § If higher quality is required Client Proxy Two key components: • Fine-grained Prefetching • Fine-grained Replacement Internet Server Reza Rejaie AT&T Labs - Research 9
Client-Server Architecture Reza Rejaie AT&T Labs - Research 10
Mocha Internal Architecture Reza Rejaie AT&T Labs - Research 11
Mocha RTSP Signaling Cache Hit Cache Miss Reza Rejaie AT&T Labs - Research 12
Mocha Main Components Object Management Fine-grained Pre-fetching Fine-grained Replacement Reza Rejaie AT&T Labs - Research 13
Mocha/Main Components Object Management Cache RTP packets instead of raw payload Challenge: store and access partially received layers of a single streams • All layers should be collectively viewed as a single object by Squid Need to extend Squid’s data structures: • One file per layer, • Each layer consists of Chunks • A chunk contains a group of contiguous pkts • Chunks are treated in an atomic fashion Reza Rejaie AT&T Labs - Research 14
Mocha/Object Management Data Structure Reza Rejaie AT&T Labs - Research 15
Mocha/Main Components Fine-grained Online Pre-fetching Ø Sliding-window • Batch of missing segments • Prioritized delivery Client Pre-fetching Window L 4 4 5 6 L 3 L 2 3 2 L 1 L 0 1 Extending “Range” header field of RTSP tp Reza Rejaie AT&T Labs - Research Playback Proxy Quality (layers) Pre-fetching stream is Server congestion controlled Pre-fetching & playback should remain loosely sync. Pre-fetch T Time d A Segment 16
Mocha/Main Components Fine-grained Replacement Fine-grained popularity • Assign popularity to individual layers • Pipelining -> Hit could be any value within [0. . 1] whit = weighted_hit = Playback. Time(sec)/Stream. Length(sec) This definition of popularity captures: • Level of interest among clients • Available bandwidth to interested clients Within a single stream, layer popularity monotonically decreases Reza Rejaie AT&T Labs - Research 17
Mocha Replacement Pattern Per-layer popularity Cached chunk ØVictim layer Per-segment replacement Quality(Layer) • Demand-driven Reza Rejaie AT&T Labs - Research Time 18
Mocha Experiments (Sanity Check) Data set: • • • 6 layers per stream Layer BW = 6 Kbps random length within [30. . 180]sec bw 1 Server bwsp Client 1 Proxy bw 2 Client 2 Cache size: 30% of data set Popularity Win = Infinite 5000 requests • Zipf-like popularity dist Reza Rejaie AT&T Labs - Research 19
Fine-grained Replacement Single Client Pre-fetching Off 50 Streams bw_sp > 6 layers bw 1 = 4 layers Reza Rejaie AT&T Labs - Research 20
Fine-grained Pre-fetching Two Clients Pre-fetching On 20 streams 70% high bw request bw_sp > 6 layers bw 1 > 6 layers Bw 2 = 2 layers Reza Rejaie AT&T Labs - Research 21
Average Delivered Quality Two Clients Pre-fetching On 20 Streams bw_sp > 6 layers bw 1 > 6 layers Bw 2 = 2 layers Reza Rejaie AT&T Labs - Research 22
Summary Mocha is a quality adaptive multimedia proxy cache Features: • Able to manage layer-encoded streams • Fine-grained pre-fetching • Fine-grained replacement Reza Rejaie AT&T Labs - Research 23
Future Directions Developing a methodology for performance evaluation of multimedia proxy caches Examining various replacement and prefetching mechanisms Encoding/content specific replacement & pre-fetching Reza Rejaie AT&T Labs - Research 24
Mocha: A quality Adaptive Multimedia Proxy Cache for Internet Streaming Reza Rejaie AT&T Labs – Research Menlo Park, CA Jussi Kangasharju Institut Eurocom France NOSSDAV 2001, New York June 25, 2001 http: //www. research. att. com/~reza Rejaie AT&T Labs - Research 25
Evaluation Methodology Web caching evaluations are not sufficient Evaluation should be performed across Quality-Load plan Parameters of a request sequence • Popularity distribution (similar to Web) • Distribution of request among different classes of clients Reza Rejaie AT&T Labs - Research 26
Client-server Internet Streaming Internet streaming applications should be quality adaptive(QA) QA is often needed in a shared environment, e. g. • Diff-serve without per-flow admission control • Shared reservation • Streaming over best-effort class Quality adaptation • Adjust the quality with long-term changes in BW ü Limited quality & Limited scalability Reza Rejaie AT&T Labs - Research 27
Performance Evaluation Goal of Web caching: • to maximize Byte-Hit-Ratio Goal of MCaching: • to maximize Byte-Hit-Ratio, and • to maximize delivered quality ØMCaching performance should be evaluated across quality-BHR plan Reza Rejaie AT&T Labs - Research 28
Replication Campus Client Server 2 Client Server 1 ISP Client Internet Server 1 Client Reza Rejaie AT&T Labs - Research 29
Proxy Caching Campus Client Server 2 MCache Client ISP Client Internet Server 1 MCache Client Reza Rejaie AT&T Labs - Research 30
Replication vs Proxy Caching Location: Proxy is often closer to clients • No bottleneck • Min RTT • Higher locality of reference! Content management (Push vs Pull) • A proxy adaptively caches popular streams from different servers based on clients’ interest • A mirror server statically replicates content of a specific group of servers Administration Reza Rejaie AT&T Labs - Research 31
Mocha/Design Issues Pre-fetching: An Example Pre-fetched data Played back stream Stored stream Quality (no. active layers) Missing pieces of the active layers are prefetched on-demand Required pieces are identified by QA Pre-fetching results in improvement of quality Pre-fetched data is always cached L 4 L 3 L 2 L 1 L 0 Time Reza Rejaie AT&T Labs - Research 32