140 likes | 296 Views
Proxy Prefix Caching for Multimedia Streams. S. Sen, J. Rexford and D. Towsley {sen,towsley}@cs.umass.edu, UMass Amherst jrex@research.att.com, AT&T Labs Presented by : Shubho Sen. Outline. Motivation Proxy Prefix Caching Prefix Caching in conjunction with VBR video smoothing
E N D
Proxy Prefix Caching for Multimedia Streams S. Sen, J. Rexford and D. Towsley {sen,towsley}@cs.umass.edu, UMass Amherst jrex@research.att.com, AT&T Labs Presented by : Shubho Sen
Outline • Motivation • Proxy Prefix Caching • Prefix Caching in conjunction with VBR video smoothing • Performance evaluation using MPEG traces • Conclusions
Streaming Video across Network Video Server Problem Setting Streaming prerecorded multimedia High bandwidth, multi-timescale burstiness Poor Internet delay, loss, and throughput Protocol Delay: 3-4 end-end roundtrips to start receiving video Goal: Efficient transmission of low latency, high quality streaming video Client
Proxy Prefix Caching Central Idea Proxy caches initial part of popular streams • starts satisfying client request more quickly • requests remainder of stream from server Path from proxy to client has low latency, and better QoS control Benefits • reduces client delay - masks server-proxy delay • aids bandwidth smoothing • better QoS at client Video Server Proxy Client
Smoothing at Proxy (Review) Goal:Reduce peak and variability on path from proxy to client • Controlled transmission to client - do workahead transmission proxy client Si Ai bc Di bs streaming video Aibits arrive by time i bsbits staging buffer at proxy Si bits sent by proxy by time i bcbits playout buffer at client Dibits playout by time i
No smoothing or prefix caching Smoothing, No prefix caching D A S A Cum. bytes Cum. bytes shifted D d d w+d Smoothing Reduces Variability • Delay client playback for smoothing • w frames smoothing window (playout delay) • Server delay d, client startup latency L = w + d • Smoothing reduces peak rate and rate variability • Larger w greater smoothing gains
Prefix Caching and Smoothing Use prefix caching to mask smoothing delay bp: Prefix cache at proxy Total proxy buffer becomes B = bs + bp Step1: Transmit content of bp Step2: Transmit from bs proxy client Ai Step 2 bs Si bc Di-L bp new Step 1 • Smoothing gains determined by: bs, bp, bc
Prefix Caching hides delay d • Cache first d frames • At time d, frame (d + 1) arrives at proxy • Can shift D to left client startup delay L reduces to smoothing window w First d frames new A new D A Cum. bytes Cum. bytes D d 2d w+d w+d w d No prefix cache d-frame prefix
First (d + w) frames new A new D A Cum. bytes D Cum. bytes w+d w+d d d w w Prefix Caching to hide delay w+d • Cache first (d + w) frames • At time d, frame (d + w + 1) arrives at proxy • Can shift D further left - no client delay d-frame prefix (d+w)-frame prefix • Decouple client delay L from window w • For delay L, prefix = d + w - L frames
Performance Evaluation • Pro: can have large window and small start-up delay • Pro: performance is virtually indistinguishable from model without prefix • Con: storing prefix nearly doubles buffer requirement • Con: may be difficult to smooth at beginning of video Trace based evaluations: • 17 min MPEG-2 Blues Brothers - peak 44.5 Mbps, mean 1.48 Mbps • 23 min MPEG-1 Wizard of Oz - peak 10.9 Mbps, mean 1.25 Mbps
Effect of Proxy Buffer Size B B = bs + bp Blues Brothers, 8 MB client buffer, client startup L = 1 sec A few MB of proxy buffer yields most benefits
Allocation of prefix and staging buffers Small prefix buffer limits w, large prefix buffer limits staging buffer Symmetric allocation works best Wizard of Oz, 32 MB client buffer, L = 1 sec, d = 5 sec • Convex, cup-shaped curve of peak rate vs. buffer • Utilize for resource allocation among multiple streams
Prefix Caching Issues • Caching initial frames of the video • Server replication of the prefix • Proxy prefetching of the prefix • Proxy caching of prefix after first request • Transparent retrieval of remaining frames • Range request operation in HTTP 1.1 • Absolute positioning in RTSP
Conclusions • Prefix caching at a proxy • Prefix caching in conjunction with video smoothing • Hides playback startup delay for smoothing • With moderate proxy buffer, substantial smoothing gains Ongoing Work • Effective resource allocation schemes at the proxy • Multiplexing proxy staging buffer between different clients • Potential for masking poor QOS between server and proxy • Retransmission of lost packets • TCP-like congestion control