NUS.SOC.CS5248-2014 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 1 Proxy Caching for Streaming Media.

Slides:



Advertisements
Similar presentations
Cost-Based Cache Replacement and Server Selection for Multimedia Proxy Across Wireless Internet Qian Zhang Zhe Xiang Wenwu Zhu Lixin Gao IEEE Transactions.
Advertisements

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Peer-to-Peer Streaming.
Optimization of Data Caching and Streaming Media Kristin Martin November 24, 2008.
NUS.SOC.CS Roger Zimmermann (based on slides by Ooi Wei Tsang) MPEG + RTP.
Scalable On-demand Media Streaming with Packet Loss Recovery Anirban Mahanti Department of Computer Science University of Calgary Calgary, AB T2N 1N4 Canada.
Design and Implementation of a Caching System for Streaming Media over the Internet Ethendranath Bommaiah, Katherine Guo, Markus Hofmann,and Sanjoy Paul.
Dynamic Adaptive Streaming over HTTP2.0. What’s in store ▪ All about – MPEG DASH, pipelining, persistent connections and caching ▪ Google SPDY - Past,
NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 1 Adaptive Playout.
1 Content Delivery Networks iBAND2 May 24, 1999 Dave Farber CTO Sandpiper Networks, Inc.
1 Routing and Scheduling in Web Server Clusters. 2 Reference The State of the Art in Locally Distributed Web-server Systems Valeria Cardellini, Emiliano.
Web Caching Schemes1 A Survey of Web Caching Schemes for the Internet Jia Wang.
Multimedia Proxy Caching Mechanism for Quality Adaptive Streaming Applications in the Internet Reza Rejaie Haobo Yu Mark Handley Deborah Estrin Presented.
Peer-to-peer Multimedia Streaming and Caching Service Jie WEI, Zhen MA May. 29.
Multimedia Proxy Caching Mechanism for Quality Adaptive Streaming Applications in the Internet R. Rejaie, H. Yu, M. Handley, D. Estrin.
Scalable and Continuous Media Streaming on Peer-to-Peer Networks M. Sasabe, N. Wakamiya, M. Murata, H. Miyahara Osaka University, Japan Presented By Tsz.
Analysis of Using Broadcast and Proxy for Streaming Layered Encoded Videos Wilson, Wing-Fai Poon and Kwok-Tung Lo.
Lecture 17 I/O Optimization. Disk Organization Tracks: concentric rings around disk surface Sectors: arc of track, minimum unit of transfer Cylinder:
NUS.SOC.CS Roger Zimmermann (based on slides by Ooi Wei Tsang) Systems Support for Continuous Media.
Peer-to-Peer Based Multimedia Distribution Service Zhe Xiang, Qian Zhang, Wenwu Zhu, Zhensheng Zhang IEEE Transactions on Multimedia, Vol. 6, No. 2, April.
Prefix Caching assisted Periodic Broadcast for Streaming Popular Videos Yang Guo, Subhabrata Sen, and Don Towsley.
Optimal Proxy Cache Allocation for Efficient Streaming Media Distribution Bing Wang, Subhabrata Sen, Micah Adler, and Don Towsley INFOCOM 2002.
An Overlay Multicast Infrastructure for Live/Stored Video Streaming Visual Communication Laboratory Department of Computer Science National Tsing Hua University.
Reza Rejaie AT&T Labs - Research1 Reza Rejaie AT&T Labs – Research Menlo Park, CA Jussi Kangasharju Institut Eurocom France NOSSDAV 2001, New York June.
1 USC INFORMATION SCIENCES INSTITUTE Proxy Caching Mechanism for Multimedia Playback Streams in the Internet R. Rejaie, M. Handley, H. Yu, D. Estrin USC/ISI.
A Hybrid Caching Strategy for Streaming Media Files Jussara M. Almeida Derek L. Eager Mary K. Vernon University of Wisconsin-Madison University of Saskatchewan.
Caching And Prefetching For Web Content Distribution Presented By:- Harpreet Singh Sidong Zeng ECE Fall 2007.
Web Caching and CDNs March 3, Content Distribution Motivation –Network path from server to client is slow/congested –Web server is overloaded Web.
Peer-to-peer Multimedia Streaming and Caching Service by Won J. Jeon and Klara Nahrstedt University of Illinois at Urbana-Champaign, Urbana, USA.
Content Networking - CON Content Overlay Network Vishal Kumar Singh Eilon Yardeni April, 28 th 2005.
CS Spring 2012 CS 414 – Multimedia Systems Design Lecture 34 – Media Server (Part 3) Klara Nahrstedt Spring 2012.
Web Caching and Content Delivery. Caching for a Better Web Performance is a major concern in the Web Proxy caching is the most widely used method to improve.
1 Content Distribution Networks. 2 Replication Issues Request distribution: how to transparently distribute requests for content among replication servers.
NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Application-Level Multicast.
{ Content Distribution Networks ECE544 Dhananjay Makwana Principal Software Engineer, Semandex Networks 5/2/14ECE544.
COCONET: Co-Operative Cache driven Overlay NETwork for p2p VoD streaming Abhishek Bhattacharya, Zhenyu Yang & Deng Pan.
1 Cache Me If You Can. NUS.SOC.CS5248 OOI WEI TSANG 2 You Are Here Network Encoder Sender Middlebox Receiver Decoder.
Distributed Multimedia March 19, Distributed Multimedia What is Distributed Multimedia?  Large quantities of distributed data  Typically streamed.
CPSC 441: Multimedia Networking1 Outline r Scalable Streaming Techniques r Content Distribution Networks.
Segment-Based Proxy Caching of Multimedia Streams Authors: Kun-Lung Wu, Philip S. Yu, and Joel L. Wolf IBM T.J. Watson Research Center Proceedings of The.
Scalable Web Server on Heterogeneous Cluster CHEN Ge.
NUS.SOC.CS5248 Ooi Wei Tsang Previously, on CS5248..
NUS.SOC.CS Roger Zimmermann (based on slides by Ooi Wei Tsang) Systems Support for Continuous Media.
《 Hierarchical Caching Management for Software Defined Content Network based on Node Value 》 Reporter : Jing Liu , China Affiliation : University of Science.
PROP: A Scalable and Reliable P2P Assisted Proxy Streaming System Computer Science Department College of William and Mary Lei Guo, Songqing Chen, and Xiaodong.
Multimedia Proxy Caching Mechanism for Quality Adaptive Streaming Applications in The Internet Reza Rejaie, Haobo Yu, Mark Handley, and Deborah Estrin.
NUS.SOC.CS5248 Ooi Wei Tsang Course Matters. NUS.SOC.CS5248 Ooi Wei Tsang Deadlines 11 Oct: Survey Paper Due 18 Oct: Paper Reviews Due.
NUS.SOC.CS Roger Zimmermann (based on slides by Ooi Wei Tsang) Systems Support for Continuous Media.
NUS.SOC.CS5248 Ooi Wei Tsang Rate Adaptations. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder.
NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.
Globally Distributed Content Delivery Presenter: Baoning Wu 03/25/2003.
NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Rate Adaptations.
NUS.SOC.CS5248 Ooi Wei Tsang 1 Course Matters. NUS.SOC.CS5248 Ooi Wei Tsang 2 Make-Up Lecture This Saturday, 23 October TR7, 1-3pm Topic: “CPU scheduling”
Video Caching in Radio Access network: Impact on Delay and Capacity
NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Application-Level Multicast.
NUS.SOC.CS5248 OOI WEI TSANG 1 Previously, on CS5248..
A Practical Performance Analysis of Stream Reuse Techniques in Peer-to-Peer VoD Systems Leonardo B. Pinho and Claudio L. Amorim Parallel Computing Laboratory.
NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Rate Adaptations.
CS5248: Systems Support for Continuous Media
Proxy Caching for Streaming Media
Rate Adaptations.
The Impact of Replacement Granularity on Video Caching
Application-Level Multicast
CSC 4250 Computer Architectures
Error Recovery.
Rate Adaptations.
MPEG + RTP.
Adaptive Playout.
Video On Demand.
Distributed Systems CS
Presentation transcript:

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 1 Proxy Caching for Streaming Media

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 2 You Are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 3 Types of Caches Browser cache For one user Proxy cache Shared cache between clients and server Gateway cache Content Delivery Networks (CDN) “Scale” server

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 4 Gateway Caches Deployed (or hired) by web site owners Makes sites more scalable and reliable Content is pushed out to caching nodes around the world Use DNS redirection to find closest cache Commercial CDNs: Akamai, Amazon CloudFront, …

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 5 Cache Proxies for Web A

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 6 Hierarchical Caching A B

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 7 Cooperative Caching AB

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 8 Distributed Caching AB

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 9 Streaming Media vs. Webpage

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 10 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

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 11 Prefix Access Distribution

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 12 Video Popularity For modeling of video popularity (Note: this is not a measurement) Curve fitting to Zipf “Law” Probability of access to i-th most popular video can be approximated as:

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 13 Benefits of Caching

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 14 Reduce Access Latency :):(

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 15 Reduce Server Load

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 16 Reduce Start-up Latency

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 17 Hide Network Congestion

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 18 Other Issues What to cache? Who to fetch from? When cache is full, what to kick out? How to measure popularity? Can cache adapt to popularity?

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 19 What to Cache?

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 20 Segmentation Cache “all or none” is bad Divide media file into segments S and consider each segment individually

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 21 Effects of Segment Size S Large S : Low utilization Small S : Lots of gaps (fragmentation)

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 22 Prefix Caching Policy 1 Chunk = k segments

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 23 Caching Policy Basic unit of caching: segment Cache prefix in chunk Replace suffix in chunk Never replace segments in currently accessed chunk

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 24 Where To Fetch From?

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 25 Cooperative Caching AB

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 26 Fetch from Server B A Server Client 2Client 1

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 27 Fetch from Fellow Proxy B A Server Client 2Client 1

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 28 Issues How to advertise? How to choose “helper”?

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 29 How to Advertise? Balance between network load freshness of information

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 30 Scalable Advertisement Expanding Ring Advertisement TTLPERIOD

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 31 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

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 32 Cost Function Cost for retrieving a segment from node X to node Y=

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 33 Algorithm Consider the next gap in local caches Find the next helper with minimum cost, which can fill in at least k segments in gaps

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 34 Distributed Caching Y. Chae et al. JSAC 2002

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 35 Cooperative vs. Distributed Cooperative caching caches independently Distributed caching caches as a team

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 36 Cold Start B A Server new clip!

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 37 Segment Map Local segment map Which segment should I cache? Global segment map Who is supposed to cache what?

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 38 Cache Hit B A Server

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 39 Cache Miss B A Server

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 40 Distributed Caching B A Server

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 41 Problems Who should cache what? Which segment to kick out? How to adapt segment distribution?

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 42 Who Should Cache What? RCache scheme Segment video into equal size segments A proxy will cache each segment with some probability

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 43 RCache N p proxies video of length L v divide into N s equal segments Each proxy caches each segment with a/N p probability

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 44 Analysis Probability that whole video is cached is N s: : num of segments N p: num of proxies a/N p: prob of caching 1 segment

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 45 RCache’s Segmentation Video is divided into segments of equal length Can we do better?

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 46 Bimodal Distribution

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 47 Silo segment size probability of storage

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 48 Further Improvement segment size probability of storage

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 49 Problems Who should cache what? Which segment to kick out? How to redistribute data?

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 50 Segment “Popularity” For each video i For each segment j F(i,j) = Prob(i is accessed)*Prob(j is accessed)

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 51 Rainbow Algorithm less popular Segment Number

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 52 Rainbow Algorithm Problem: Many large video – too many segments computationally expensive to sort Solution: Just approximate by quantizing popularity

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 53 Rainbow Algorithm less popular

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 54 Problems Who should cache what? Which segment to kick out? How to redistribute data?

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 55 Data Redistribution When popularity changes, need to redistribute. Redistribute “on-demand” (lazy)

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 56 Cache Token Each segment have two bits (T,C) T: I am suppose to have the segment C: I have the segment

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 57 Data Redistribution (T=1,C=1) (T=0,C=0) (T=1,C=0) (T=0,C=1)

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 58 Example IJ ACBD old new T=0,C=1 T=1,C=0

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 59 Example IJ ACBD old new T=1,C=1 T=0,C=1 T=0,C=0T=1,C=0

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 60 Example IJ ACBD old new T=1,C=1 T=0,C=0T=1,C=0 T=0,C=0

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 61 Example IJ ACBD old new T=1,C=1 T=0,C=0T=1,C=1T=1,C=0T=0,C=0

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 62 Quality Adaptive Caching Reza Rajaie et al. INFOCOM 2000

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 63 Objective Quality adaptive streaming Use Scalable Video Coding (SVC) How to integrate with proxy caching?

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 64 Scenario (10am) A Server Client 2

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 65 Scenario (1am) A Server Client 2

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 66 Problem: Caches interfere with congestion control algorithm Solution: Make cache aware of quality adaptation

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 67 Solutions Making cache “quality-aware” Prefetch Replacement Algorithm

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 68 Cache Miss A Server Client 2

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 69 Cache Hit A Server Client 2 repair + prefetch

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 70 Peeking Inside the Cache

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 71 Cache Hit: Repair

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 72 Cache Hit: Prefetch

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 73 Prefetch Algorithm prefetch window playback point

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 74 Proxy Request to Server Multiple requests (for different clients) are batched

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 75 Server Response Missing segments are sent in decreasing priority

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 76 Server Response Send as many segments as possible until next prefetch request

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 77 Trade-offs How far in the future should we prefetch?

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 78 Solutions Making cache “quality-aware” Prefetch Replacement Algorithm

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 79 Goal: converge to efficient state If a stream is popular average quality is high variation in quality is low Goal of Replacement

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 80 The Algorithm

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 81 Thrashing and Locking

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 82 Choosing Victim whit (weighted hit) = T play /T total Calculate whit for each layer in a stream over a popularity window

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 83 Example WHITLock?NameLayer 5.91Nemo0 4.31Nemo1 4.00Matrix Matrix Gigli0

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 84 Static Cache Cache segments in proxy do not change over time Can we exploit further properties of streaming media?

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 85 Dynamic Caching

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 86 Motivating Scenario t = 0, R1 requests for stream M t = , R2 requests for stream M Ideally, R1 and R2 should share a multicast of M

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 87 needs to be “patched” share with R1 from cache

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 88 Using Dynamic Cache R2 request stream M Proxy allocate a ring buffer Cache the most recent  -seconds of M sent to R1 R2 get prefix of M from other places, and rest from proxy

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 89 Extending to N Receivers

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 90 Rules of Thumb Simple rules that should be considered in the design of caching architectures Cache must be large enough to hold “working set”, otherwise thrashing will happen Unified caches perform better than partitioned caches