NUS.SOC.CS5248-2009 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Media Compression.
NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.
-
Upload
theresa-kelley-watts -
Category
Documents
-
view
221 -
download
1
Transcript of NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.
![Page 1: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/1.jpg)
1
NUS.SOC.CS5248Ooi Wei Tsang
Proxy Caching for Streaming Media
![Page 2: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/2.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
2
You Are Here
Network
Encoder
Sender
Middlebox
Receiver
Decoder
![Page 3: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/3.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
3
Cache Proxies for Web
A
![Page 4: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/4.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
4
Hierarchical Caching
A
B
![Page 5: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/5.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
5
Cooperative Caching
A B
![Page 6: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/6.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
6
Distributed Caching
A B
![Page 7: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/7.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
7
Streaming Media vs. Webpage
![Page 8: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/8.jpg)
NUS.SOC.CS5248Ooi 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
![Page 9: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/9.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
9
Prefix Access Distribution
10 30 50 70 90
% Played
![Page 10: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/10.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
10
Video Popularity
Assume Zipf “Law”Probability of access to i-th most popular video is
![Page 11: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/11.jpg)
11
NUS.SOC.CS5248Ooi Wei Tsang
Benefits of Caching
![Page 12: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/12.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
12
Reduce Access Latency
:) :(
![Page 13: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/13.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
13
Reduce Server Load
![Page 14: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/14.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
14
Reduce Start-up Latency
![Page 15: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/15.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
15
Hide Network Congestion
![Page 16: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/16.jpg)
NUS.SOC.CS5248Ooi 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?
![Page 17: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/17.jpg)
17
NUS.SOC.CS5248Ooi Wei Tsang
What to Cache?
![Page 18: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/18.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
18
Segmentation
Cache “all or none” is badDivide media file into segments and consider each segment individually
![Page 19: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/19.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
19
Effects of Size S
Large S : Low utilizationSmall S : Lots of gaps
![Page 20: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/20.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
20
Prefix Caching Policy
1 Chunk = k segments
![Page 21: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/21.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
21
Caching Policy
Basic unit of caching: segmentCache prefix in chunkReplace suffix in chunkNever replace segments in curr chunk
![Page 22: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/22.jpg)
22
NUS.SOC.CS5248Ooi Wei Tsang
Where To Fetch From?
![Page 23: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/23.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
23
Cooperative Caching
A B
![Page 24: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/24.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
24
Fetch from server
B
A
Server
Client 2Client 1
![Page 25: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/25.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
25
Fetch from fellow proxy
B
A
Server
Client 2Client 1
![Page 26: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/26.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
26
Issues
How to advertise?How to choose “helper”?
![Page 27: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/27.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
27
How to Advertise?
Balance betweennetwork loadfreshness of information
![Page 28: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/28.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
28
Scalable Advertisement
Expanding Ring Advertisement
16 132 264 4128 8
TTL PERIOD
![Page 29: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/29.jpg)
NUS.SOC.CS5248Ooi 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
![Page 30: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/30.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
30
Cost Function
Cost for retrieving a segment from node X to node Y=
![Page 31: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/31.jpg)
NUS.SOC.CS5248Ooi 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
![Page 32: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/32.jpg)
32
NUS.SOC.CS5248Ooi Wei Tsang
Distributed Caching
Y. Chae et. al.JSAC 2000
![Page 33: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/33.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
33
Cooperative vs DistributedCooperative caching caches independently
Distributed caching caches as a team
![Page 34: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/34.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
34
Cold Start
B
A
Server
new clip!
![Page 35: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/35.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
35
Segment Map
Local segment mapWhich segment I should cache?
Global segment mapWho is suppose to cache what?
![Page 36: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/36.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
36
Cache Hit
B
A
Server
![Page 37: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/37.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
37
Cache Miss
B
A
Server
![Page 38: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/38.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
38
Distributed Caching
B
A
Server
![Page 39: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/39.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
39
Problems
Who should cache what?
Which segment to kick out?
How to adapt segment distribution?
![Page 40: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/40.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
40
Who should cache what?
RCache schemeSegment video into equal size segments
A proxy will cache each segment with some probability
![Page 41: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/41.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
41
RCache
Np proxies
video of length Lv
divide into Ns equal segments
Each proxy caches each segment with a/Np probability
![Page 42: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/42.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
42
Analysis
Probability that whole video is cached is
Ns:: num of segmentsNp: num of proxiesa/Np: prob of caching 1 segment
![Page 43: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/43.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
43
RCache’s Segmentation
Video is divided into segments of equal length
Can we do better?
![Page 44: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/44.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
44
Bimodal Distribution
10 30 50 70 90
% Played
![Page 45: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/45.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
45
Silo
segment size probabilityof storage
![Page 46: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/46.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
46
Further Improvement
segment size probabilityof storage
![Page 47: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/47.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
47
Problems
Who should cache what?
Which segment to kick out?
How to redistribute data?
![Page 48: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/48.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
48
Segment “Popularity”
For each video iFor each segment j
F(i,j) = Prob(i is accessed)*Prob(j is accessed)
![Page 49: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/49.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
49
Rainbow Algorithm
less popular
![Page 50: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/50.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
50
Rainbow Algorithm
Problem: Many large video – too many segments
computationally expensive to sort
Solution: Just approximate by quantizing popularity
![Page 51: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/51.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
51
Rainbow Algorithm
less popular
![Page 52: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/52.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
52
Problems
Who should cache what?
Which segment to kick out?
How to redistribute data?
![Page 53: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/53.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
53
Data Redistribution
When popularity changes, need to redistribute.
Redistribute “on-demand” (lazy)
![Page 54: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/54.jpg)
NUS.SOC.CS5248Ooi 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
![Page 55: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/55.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
55
Data Redistribution
(T=1,C=1)(T=0,C=0)(T=1,C=0) (T=0,C=1)
![Page 56: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/56.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
56
Example
I J
A CB D
old
new
T=0,C=1 T=0,C=1
T=1,C=0 T=1,C=0 T=1,C=0 T=1,C=0
![Page 57: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/57.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
57
Example
I J
A CB D
old
new
T=1,C=1 T=0,C=1
T=0,C=0 T=1,C=0 T=1,C=0 T=1,C=0
![Page 58: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/58.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
58
Example
I J
A CB D
old
new
T=1,C=1 T=1,C=1
T=0,C=0 T=1,C=0 T=1,C=0 T=0,C=0
![Page 59: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/59.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
59
Example
I J
A CB D
old
new
T=1,C=1 T=1,C=1
T=0,C=0 T=1,C=1 T=1,C=0 T=0,C=0
![Page 60: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/60.jpg)
60
NUS.SOC.CS5248Ooi Wei Tsang
Quality Adaptive Caching
Reza Rajaie et. al.INFOCOM 2000
![Page 61: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/61.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
61
Scenario (10am)
A
Server
Client 2
![Page 62: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/62.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
62
Scenario (1am)
A
Server
Client 2
![Page 63: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/63.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
63
Problem:Cache interfere with congestion control algorithm
Solution:Make cache aware of quality adaptation
![Page 64: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/64.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
64
Solutions
Making cache “quality-aware”PrefetchReplacement Algorithm
![Page 65: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/65.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
65
Cache Miss
A
Server
Client 2
![Page 66: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/66.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
66
Cache Hit
A
Server
Client 2
repair +prefetch
![Page 67: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/67.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
67
Peeking Inside the Cache
![Page 68: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/68.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
68
Cache Hit: Repair
![Page 69: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/69.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
69
Cache Hit: Prefetch
![Page 70: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/70.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
70
Prefetch Algorithm
prefetchwindow
playbackpoint
![Page 71: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/71.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
71
Proxy Request to Server
Multiple requests (for different clients) are batched.
![Page 72: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/72.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
72
Server Response
Missing segments are sent in decreasing priority
1
2
3 4
![Page 73: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/73.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
73
Server Response
Send as many segments as possible until next prefetch request
![Page 74: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/74.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
74
Trade-offs
How far in the future should we prefetch?
![Page 75: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/75.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
75
Solutions
Making cache “quality-aware”PrefetchReplacement Algorithm
![Page 76: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/76.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
76
Goal: converge to efficient state
if a stream is popularaverage quality is highvariation in quality is low
Goal of Replacement
![Page 77: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/77.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
77
The Algorithm
![Page 78: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/78.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
78
Trashing and Locking
![Page 79: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/79.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
79
Choosing Victim
whit (weighted hit) =Tplay/Ttotal
Calculate whit for each layer in a stream over a popularity window
![Page 80: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/80.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
80
Example
WHIT Lock? Name Layer
5.9 1 Nemo 0
4.3 1 Nemo 1
4.0 0 Matrix 2 0
3.9 0 Matrix 2 1
1.1 0 Gigli 0
![Page 81: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/81.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
81
Static Cache
Cache segments in proxy do not changed over time
Can we exploit further properties of streaming media?
![Page 82: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/82.jpg)
82
NUS.SOC.CS5248Ooi Wei Tsang
Dynamic Caching
![Page 83: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/83.jpg)
NUS.SOC.CS5248Ooi 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
![Page 84: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/84.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
84
needs to be“patched”
share withR1 from cache
![Page 85: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/85.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
85
Using Dynamic Cache
R2 request stream MProxy allocate a ring bufferCache the most recent -seconds of M sent to R1
R2 get prefix of M from other places, and rest from proxy
![Page 86: NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.](https://reader035.fdocuments.us/reader035/viewer/2022062409/5697bff81a28abf838cbeff1/html5/thumbnails/86.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
86
Extending to N Receivers