1 / 86

Proxy Caching for Streaming Media

Explore caching techniques for streaming media, benefits of caching, policies for caching, fetching strategies, cooperative vs. distributed caching, addressing issues, and innovative algorithms for optimization.

oriley
Download Presentation

Proxy Caching for Streaming Media

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Proxy Caching for Streaming Media

  2. Encoder Decoder Middlebox Receiver Sender Network You Are Here

  3. Cache Proxies for Web A

  4. Hierarchical Caching B A

  5. Cooperative Caching A B

  6. Distributed Caching A B

  7. Streaming Media vs. Webpage

  8. Video Access Pattern • by S. Acharya and B. Smith in 1999 • Study at Lulea University, Sweden • 55% complete, 45% stop very early • High temporal locality

  9. Prefix Access Distribution

  10. Video Popularity • Assume Zipf “Law” • Probability of access to i-th most popular video is

  11. Benefits of Caching

  12. Reduce Access Latency :) :(

  13. Reduce Server Load

  14. Reduce Start-up Latency

  15. Hide Network Congestion

  16. Other Issues • What to cache? • Who to fetch from? • When cache is full, who to kick out? • How to measure popularity? • Can cache adapt to popularity?

  17. What to Cache?

  18. Segmentation • Cache “all or none” is bad • Divide media file into segments and consider each segment individually

  19. Effects of Size S • Large S : Low utilization • Small S : Lots of gaps

  20. Prefix Caching Policy • 1 Chunk = k segments

  21. Caching Policy • Basic unit of caching: segment • Cache prefix in chunk • Replace suffix in chunk • Never replace segments in curr chunk

  22. Where To Fetch From?

  23. Cooperative Caching A B

  24. Fetch from server Server B A Client 1 Client 2

  25. Fetch from fellow proxy Server B A Client 1 Client 2

  26. Issues • How to advertise? • How to choose “helper”?

  27. How to Advertise? • Balance between • network load • freshness of information

  28. Scalable Advertisement • Expanding Ring Advertisement TTL PERIOD 16 1 32 2 64 4 128 8

  29. How to Choose Helper? • Consideration for Static Cache • network distance (1,2,3,4) • number of streams being served • avoid frequent switches • Build a cost function, integrating the metrics

  30. Cost Function • Cost for retrieving a segment from node X to node Y=

  31. Algorithm • Consider the next gap in local caches • Find the next helper with minimum cost, and can fill in at least k segments in gaps

  32. Distributed Caching Y. Chae et. al. JSAC 2000

  33. Cooperative vs Distributed • Cooperative caching caches independently • Distributed caching caches as a team

  34. Cold Start Server B A new clip!

  35. Segment Map • Local segment map • Which segment I should cache? • Global segment map • Who is suppose to cache what?

  36. Cache Hit Server B A

  37. Cache Miss Server B A

  38. Distributed Caching Server B A

  39. Problems • Who should cache what? • Which segment to kick out? • How to adapt segment distribution?

  40. Who should cache what? • RCache scheme • Segment video into equal size segments • A proxy will cache each segment with some probability

  41. RCache • Np proxies • video of length Lv • divide into Ns equal segments • Each proxy caches each segment with a/Np probability

  42. Analysis • Probability that whole video is cached is Ns:: num of segments Np: num of proxies a/Np: prob of caching 1 segment

  43. RCache’s Segmentation • Video is divided into segments of equal length • Can we do better?

  44. Bimodal Distribution

  45. Silo probability of storage segment size

  46. Further Improvement probability of storage segment size

  47. Problems • Who should cache what? • Which segment to kick out? • How to redistribute data?

  48. Segment “Popularity” • For each video i • For each segment j F(i,j) = Prob(i is accessed)*Prob(j is accessed)

  49. Rainbow Algorithm less popular

  50. Rainbow Algorithm • Problem: • Many large video – too many segments • computationally expensive to sort • Solution: • Just approximate by quantizing popularity

More Related