NUS.SOC.CS5248 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

Presentation of M.Sc. Thesis Work Presented by: S. M. Farhad [ P] Department of Computer Science and Engineering, BUET Supervised by: Dr. Md. Mostofa.
NUS.SOC.CS5248 Ooi Wei Tsang 1 Adaptive Playout. NUS.SOC.CS5248 Ooi Wei Tsang 2 You are Here Network Encoder Sender Middlebox Receiver Decoder.
Optimization of Data Caching and Streaming Media Kristin Martin November 24, 2008.
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.
1 NUS.SOC.CS5248 OOI WEI TSANG Playout Buffer Management.
NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 1 Adaptive Playout.
A Peer-to-Peer On-Demand Streaming Service and Its Performance Evaluation Presenter: Nera Liu Author: Yang Guo, Kyoungwon Suh, Jim Kurose and Don Towsley.
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:
Peer-to-Peer Based Multimedia Distribution Service Zhe Xiang, Qian Zhang, Wenwu Zhu, Zhensheng Zhang IEEE Transactions on Multimedia, Vol. 6, No. 2, April.
Proxy Cache Management for Fine-Grained Scalable Video Streaming Jiangchuan Liu, Xiaowen Chu, and Jianliang Xu INFOCOM 2004.
Locality-Aware Request Distribution in Cluster-based Network Servers 1. Introduction and Motivation --- Why have this idea? 2. Strategies --- How to implement?
Analysis of Web Caching Architectures: Hierarchical and Distributed Caching Pablo Rodriguez, Christian Spanner, and Ernst W. Biersack IEEE/ACM TRANSACTIONS.
Prefix Caching assisted Periodic Broadcast for Streaming Popular Videos Yang Guo, Subhabrata Sen, and Don Towsley.
Adaptive Content Management in Structured P2P Communities Jussi Kangasharju Keith W. Ross David A. Turner.
1 Probabilistic Models for Web Caching David Starobinski, David Tse UC Berkeley Conference and Workshop on Stochastic Networks Madison, Wisconsin, June.
Optimal Proxy Cache Allocation for Efficient Streaming Media Distribution Bing Wang, Subhabrata Sen, Micah Adler, and Don Towsley INFOCOM 2002.
A Server-less Architecture for Building Scalable, Reliable, and Cost-Effective Video-on-demand Systems Presented by: Raymond Leung Wai Tak Supervisor:
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.
Multicast with Cache (Mcache): An Adaptive Zero-Delay Video-on-Demand Service Sridhar Ramesh, Injong Rhee, and Katherine Guo INFOCOM 2001.
A Hybrid Caching Strategy for Streaming Media Files Jussara M. Almeida Derek L. Eager Mary K. Vernon University of Wisconsin-Madison University of Saskatchewan.
1Bloom Filters Lookup questions: Does item “ x ” exist in a set or multiset? Data set may be very big or expensive to access. Filter lookup questions with.
Web Caching Schemes For The Internet – cont. By Jia Wang.
Peer-to-peer Multimedia Streaming and Caching Service by Won J. Jeon and Klara Nahrstedt University of Illinois at Urbana-Champaign, Urbana, USA.
Nus.soc.cs5248 Ooi Wei Tsang Recent Papers from conferences.
CS Spring 2012 CS 414 – Multimedia Systems Design Lecture 34 – Media Server (Part 3) Klara Nahrstedt Spring 2012.
NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Application-Level Multicast.
COCONET: Co-Operative Cache driven Overlay NETwork for p2p VoD streaming Abhishek Bhattacharya, Zhenyu Yang & Deng Pan.
Ali Saman Tosun Computer Science Department
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.
1 Multimedia Storage Issues. NUS.SOC.CS5248 OOI WEI TSANG 2 Media vs. Documents large file size write once, read many deadlines!
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..
Computer Architecture Memory organization. Types of Memory Cache Memory Serves as a buffer for frequently accessed data Small  High Cost RAM (Main Memory)
《 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.
Multimedia Information System Lab. Network Architecture Res. Group Cooperative Video Streaming Mechanisms with Video Quality Adjustment Naoki Wakamiya.
NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 1 Proxy Caching for Streaming Media.
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.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 Application-Level Multicast.
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”
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.
CS 414 – Multimedia Systems Design Lecture 31 – Media Server (Part 5)
Proxy Caching for Streaming Media
Rate Adaptations.
The Impact of Replacement Granularity on Video Caching
Application-Level Multicast
Rate Adaptations.
Adaptive Playout.
A Server-less Architecture for Building Scalable, Reliable, and Cost-Effective Video-on-demand Systems Raymond Leung and Jack Y.B. Lee Department of Information.
Video On Demand.
Distributed Systems CS
Presentation transcript:

NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media

NUS.SOC.CS5248 Ooi Wei Tsang 2 You Are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248 Ooi Wei Tsang 3 Cache Proxies for Web A

NUS.SOC.CS5248 Ooi Wei Tsang 4 Hierarchical Caching A B

NUS.SOC.CS5248 Ooi Wei Tsang 5 Cooperative Caching AB

NUS.SOC.CS5248 Ooi Wei Tsang 6 Distributed Caching AB

NUS.SOC.CS5248 Ooi Wei Tsang 7 Streaming Media vs. Webpage

NUS.SOC.CS5248 Ooi Wei Tsang 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

NUS.SOC.CS5248 Ooi Wei Tsang 9 Prefix Access Distribution

NUS.SOC.CS5248 Ooi Wei Tsang 10 Video Popularity Assume Zipf “Law” Probability of access to i-th most popular video is

NUS.SOC.CS5248 Ooi Wei Tsang 11 Benefits of Caching

NUS.SOC.CS5248 Ooi Wei Tsang 12 Reduce Access Latency :):(

NUS.SOC.CS5248 Ooi Wei Tsang 13 Reduce Server Load

NUS.SOC.CS5248 Ooi Wei Tsang 14 Reduce Start-up Latency

NUS.SOC.CS5248 Ooi Wei Tsang 15 Hide Network Congestion

NUS.SOC.CS5248 Ooi Wei Tsang 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?

NUS.SOC.CS5248 Ooi Wei Tsang 17 What to Cache?

NUS.SOC.CS5248 Ooi Wei Tsang 18 Segmentation Cache “all or none” is bad Divide media file into segments and consider each segment individually

NUS.SOC.CS5248 Ooi Wei Tsang 19 Effects of Size S Large S : Low utilization Small S : Lots of gaps

NUS.SOC.CS5248 Ooi Wei Tsang 20 Prefix Caching Policy 1 Chunk = k segments

NUS.SOC.CS5248 Ooi Wei Tsang 21 Caching Policy Basic unit of caching: segment Cache prefix in chunk Replace suffix in chunk Never replace segments in curr chunk

NUS.SOC.CS5248 Ooi Wei Tsang 22 Where To Fetch From?

NUS.SOC.CS5248 Ooi Wei Tsang 23 Cooperative Caching AB

NUS.SOC.CS5248 Ooi Wei Tsang 24 Fetch from server B A Server Client 2Client 1

NUS.SOC.CS5248 Ooi Wei Tsang 25 Fetch from fellow proxy B A Server Client 2Client 1

NUS.SOC.CS5248 Ooi Wei Tsang 26 Issues How to advertise? How to choose “helper”?

NUS.SOC.CS5248 Ooi Wei Tsang 27 How to Advertise? Balance between network load freshness of information

NUS.SOC.CS5248 Ooi Wei Tsang 28 Scalable Advertisement Expanding Ring Advertisement TTLPERIOD

NUS.SOC.CS5248 Ooi Wei Tsang 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

NUS.SOC.CS5248 Ooi Wei Tsang 30 Cost Function Cost for retrieving a segment from node X to node Y=

NUS.SOC.CS5248 Ooi Wei Tsang 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

NUS.SOC.CS5248 Ooi Wei Tsang 32 Distributed Caching Y. Chae et. al. JSAC 2000

NUS.SOC.CS5248 Ooi Wei Tsang 33 Cooperative vs Distributed Cooperative caching caches independently Distributed caching caches as a team

NUS.SOC.CS5248 Ooi Wei Tsang 34 Cold Start B A Server new clip!

NUS.SOC.CS5248 Ooi Wei Tsang 35 Segment Map Local segment map Which segment I should cache? Global segment map Who is suppose to cache what?

NUS.SOC.CS5248 Ooi Wei Tsang 36 Cache Hit B A Server

NUS.SOC.CS5248 Ooi Wei Tsang 37 Cache Miss B A Server

NUS.SOC.CS5248 Ooi Wei Tsang 38 Distributed Caching B A Server

NUS.SOC.CS5248 Ooi Wei Tsang 39 Problems Who should cache what? Which segment to kick out? How to adapt segment distribution?

NUS.SOC.CS5248 Ooi Wei Tsang 40 Who should cache what? RCache scheme Segment video into equal size segments A proxy will cache each segment with some probability

NUS.SOC.CS5248 Ooi Wei Tsang 41 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.CS5248 Ooi Wei Tsang 42 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.CS5248 Ooi Wei Tsang 43 RCache’s Segmentation Video is divided into segments of equal length Can we do better?

NUS.SOC.CS5248 Ooi Wei Tsang 44 Bimodal Distribution

NUS.SOC.CS5248 Ooi Wei Tsang 45 Silo segment size probability of storage

NUS.SOC.CS5248 Ooi Wei Tsang 46 Further Improvement segment size probability of storage

NUS.SOC.CS5248 Ooi Wei Tsang 47 Problems Who should cache what? Which segment to kick out? How to redistribute data?

NUS.SOC.CS5248 Ooi Wei Tsang 48 Segment “Popularity” For each video i For each segment j F(i,j) = Prob(i is accessed)*Prob(j is accessed)

NUS.SOC.CS5248 Ooi Wei Tsang 49 Rainbow Algorithm less popular

NUS.SOC.CS5248 Ooi Wei Tsang 50 Rainbow Algorithm Problem: Many large video – too many segments computationally expensive to sort Solution: Just approximate by quantizing popularity

NUS.SOC.CS5248 Ooi Wei Tsang 51 Rainbow Algorithm less popular

NUS.SOC.CS5248 Ooi Wei Tsang 52 Problems Who should cache what? Which segment to kick out? How to redistribute data?

NUS.SOC.CS5248 Ooi Wei Tsang 53 Data Redistribution When popularity changes, need to redistribute. Redistribute “on-demand” (lazy)

NUS.SOC.CS5248 Ooi Wei Tsang 54 Cache Token Each segment have two bits (T,C) T: I am suppose to have the segment C: I have the segment

NUS.SOC.CS5248 Ooi Wei Tsang 55 Data Redistribution (T=1,C=1) (T=0,C=0) (T=1,C=0) (T=0,C=1)

NUS.SOC.CS5248 Ooi Wei Tsang 56 Example IJ ACBD old new T=0,C=1 T=1,C=0

NUS.SOC.CS5248 Ooi Wei Tsang 57 Example IJ ACBD old new T=1,C=1 T=0,C=1 T=0,C=0T=1,C=0

NUS.SOC.CS5248 Ooi Wei Tsang 58 Example IJ ACBD old new T=1,C=1 T=0,C=0T=1,C=0 T=0,C=0

NUS.SOC.CS5248 Ooi Wei Tsang 59 Example IJ ACBD old new T=1,C=1 T=0,C=0T=1,C=1T=1,C=0T=0,C=0

NUS.SOC.CS5248 Ooi Wei Tsang 60 Quality Adaptive Caching Reza Rajaie et. al. INFOCOM 2000

NUS.SOC.CS5248 Ooi Wei Tsang 61 Scenario (10am) A Server Client 2

NUS.SOC.CS5248 Ooi Wei Tsang 62 Scenario (1am) A Server Client 2

NUS.SOC.CS5248 Ooi Wei Tsang 63 Problem: Cache interfere with congestion control algorithm Solution: Make cache aware of quality adaptation

NUS.SOC.CS5248 Ooi Wei Tsang 64 Solutions Making cache “quality-aware” Prefetch Replacement Algorithm

NUS.SOC.CS5248 Ooi Wei Tsang 65 Cache Miss A Server Client 2

NUS.SOC.CS5248 Ooi Wei Tsang 66 Cache Hit A Server Client 2 repair + prefetch

NUS.SOC.CS5248 Ooi Wei Tsang 67 Peeking Inside the Cache

NUS.SOC.CS5248 Ooi Wei Tsang 68 Cache Hit: Repair

NUS.SOC.CS5248 Ooi Wei Tsang 69 Cache Hit: Prefetch

NUS.SOC.CS5248 Ooi Wei Tsang 70 Prefetch Algorithm prefetch window playback point

NUS.SOC.CS5248 Ooi Wei Tsang 71 Proxy Request to Server Multiple requests (for different clients) are batched.

NUS.SOC.CS5248 Ooi Wei Tsang 72 Server Response Missing segments are sent in decreasing priority

NUS.SOC.CS5248 Ooi Wei Tsang 73 Server Response Send as many segments as possible until next prefetch request

NUS.SOC.CS5248 Ooi Wei Tsang 74 Trade-offs How far in the future should we prefetch?

NUS.SOC.CS5248 Ooi Wei Tsang 75 Solutions Making cache “quality-aware” Prefetch Replacement Algorithm

NUS.SOC.CS5248 Ooi Wei Tsang 76 Goal: converge to efficient state if a stream is popular average quality is high variation in quality is low Goal of Replacement

NUS.SOC.CS5248 Ooi Wei Tsang 77 The Algorithm

NUS.SOC.CS5248 Ooi Wei Tsang 78 Trashing and Locking

NUS.SOC.CS5248 Ooi Wei Tsang 79 Choosing Victim whit (weighted hit) = T play /T total Calculate whit for each layer in a stream over a popularity window

NUS.SOC.CS5248 Ooi Wei Tsang 80 Example WHITLock?NameLayer 5.91Nemo0 4.31Nemo1 4.00Matrix Matrix Gigli0

NUS.SOC.CS5248 Ooi Wei Tsang 81 Static Cache Cache segments in proxy do not changed over time Can we exploit further properties of streaming media?

NUS.SOC.CS5248 Ooi Wei Tsang 82 Dynamic Caching

NUS.SOC.CS5248 Ooi Wei Tsang 83 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.CS5248 Ooi Wei Tsang 84 needs to be “patched” share with R1 from cache

NUS.SOC.CS5248 Ooi Wei Tsang 85 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.CS5248 Ooi Wei Tsang 86 Extending to N Receivers