Multimedia Proxy Caching Mechanism for Quality Adaptive Streaming Applications in the Internet Reza Rejaie Haobo Yu Mark Handley Deborah Estrin Presented.
Published byModified over 4 years ago
Presentation on theme: "Multimedia Proxy Caching Mechanism for Quality Adaptive Streaming Applications in the Internet Reza Rejaie Haobo Yu Mark Handley Deborah Estrin Presented."— Presentation transcript:
Multimedia Proxy Caching Mechanism for Quality Adaptive Streaming Applications in the Internet Reza Rejaie Haobo Yu Mark Handley Deborah Estrin Presented by Di Ma
Overview Internet multimedia streaming apps using proxy better delivered quality faster startup more adaptive than mirroring Multimedia proxy caching TCP-friendly congestion control is preferred Quality of steaming is adaptive
Architecture Rate Adaptation Protocol (RAP) for CC Hierarchical encoding for quality adaptation If BW PC is high, popular streams can have higher quality by prefectching s p c1 c2 Assumptions All streams perform congestion control bottleneck is the link SP
Delivering Procedure Relaying on a cache miss Connections between proxy and client, server and proxy are established Quality is limited by bandwidth between proxy and server Replacement algorithm is used if cache space is exhausted The first client does not observe quality improvement form the presence of proxy cache
Delivering Procedure Prefetching on a cache hit Prefetching is demand-driven Quality adaptation may attempt to send some missing segments in cache Playback AvgBw <= Stored AvgBw Playback AvgBw < Stored AvgBw
Delivering Procedure Challenge Predict a missing segment that may be required by quality adaptation Sliding Window Mechanism Record playout time t p for each session scan [t p +T, t p +T+ ] for missing segments segments in new layer should be also included prefetching be synced with playout rate server side: new prefetching request preempts the previous one
Replacement Algorithm Goals average quality is directly proportional to popularity quality variations is inversely to popularity Replacement Pattern Stream: Layer and segments Victim layer, drop with granularity of segments segments are flushed from end of layers
Replacement Algorithm Popularity Function Weighted hit (per-layer) Popularity : how many past sessions are considered t: total sessions played so far
Replacement Algorithm Popularity table: record popularity per layer for streams Algorithm: once the cache space is exhausted, the proxy flushed the last segments of the least popular layer until sufficient space becomes available.
Simulations Goals qualitatively evaluate the correctness of this mechanism verify if the mechanism satisfies design goals and how Evaluation metrics Completeness (per-layer) Continuity (per-layer)
Simulations Request sequence generation Mth popular stream have requests where R: number of total requests N: total number of streams Assume different requests are served sequentially by proxy
Simulations Results Prefetching goal: verify quality convergence set cache to infinity (to disable cache replacement) single client and single stream bandwidth sp =56Mpbs, bandwidth pc1 =1.5Mbps 15 completed sessions
Simulations Results Goal: state of cache converges to an efficient one Two factors: Stream popularity ( BW sp <=BW pc ) BW between client and proxy (BW sp > BW pc ) 10 streams with lengths uniformly dist. bet. [1..10] min. Popularity decreases with their index. (stream 0 is most popular) cache size = (total size of 10 streams) / 2 Replacement
Simulations Results Replacement Effects of popularity 95% of requests to high bandwidth client 1 5% to low bandwidth client 2 Effects of client-side bandwidth 95% of requests to low bandwidth client 2 5% to high bandwidth client 1 Mixing together 50% of requests to low bandwidth client 2 50% to high bandwidth client 1 Note: impact of bandwidth may be less than str. popu.
Conclusion Simulation-based evaluation of our mechanism reveals that interaction between the replacement and prefetching mechanism causes the state of cache to converge to an efficient state, in which the quality of every cached stream is directly determined by its popularity, and its upper limit is defined by the average available bandwidth between the proxy and its clients.