Title: Reza Rejaie
1Design Evaluations of Multimedia Proxy Caching
Mechanisms for the Internet
- Reza Rejaie
- ATT Labs Research
- Menlo Park
- http//www.research.att.com/reza
- In collaboration with
- Mark Handley(ACIRI at ICSI)
- Deborah Estrin and Haobo Yu (ISI/USC)
2Motivation
- Rapid growth in client-server media (audio/video)
streaming over the Internet - Delivered quality in client-server streaming
could be low and unstable - Deployment of client-server streaming in a large
scale imposes a heavy load on the network
3Goal
- Supporting unicast multimedia playback over the
Internet - High quality
- Large scale availability
- Low-latency VCR-functions
- Efficient async. access
4The Internet
- Todays Internet
- Best-effort service
- Resources are shared with TCP-traffic
- Unpredictable changes in available bandwidth
- Tomorrows Internet
- Different classes of service
- Resources are shared within a class
- Internet applications should be rate-adaptive
- Fairness Stability
5Client-server Internet Streaming
- Internet streaming applications should be quality
adaptive(QA) - QA is often needed in a shared environment, e.g.
- Diff-serve without per-flow admission control
- Shared reservation
- Streaming over best-effort class
- Quality adaptation
- Adjust the quality with long-term changes in BW
- Limited quality Limited scalability
6Client-Server Streaming An Example
Source
Encoder
Adaptation
Server
TCP
TCP
Internet
Buffer
Decoder
Display
7The Problem
- Designing an efficient effective QA mechanism
for client-server streaming? - Rapid changes in quality are disturbing
- Accommodating large-scale access to multimedia
content efficiently? - Focus on unicast playback
8Overview
- A client-server architecture
- Layered quality adaptation
- Extending the architecture
- Replication or Proxy Caching?
- Multimedia proxy caching (MCaching)
- Evaluation space
- MCaching design issues
- Pre-fetching
- Replacement
- Simulation results
9Mechanisms to Adjust Quality
- Adaptive encodingOrtega95, Tan98
- CPU-intensive
- Switching between multiple encoding
- High storage requirement
- Layered encodingMcCanne96, Lee98
- Inter-layer decoding dependency
10Layered QA The Idea
- Fine-grained adaptation
- short-term variations in bandwidth are absorbed
by receiver buffering - Coarse-grained adaptation
- Long-term variations in bandwidth result in layer
add/drop(i.e. quality adjustment) - Inter-layer buffer distribution is adjusted by
inter-layer bw distribution
11Client-Server Architecture
Decoder
bw (t)
Quality Adaptation
2
C
buf
2
bw (t)
ACK
bw (t)
2
BW(t)
Layer 2
1
BW(t)
C
Internet
buf
1
Acker
Rate Adaptation
bw (t)
bw (t)
1
Layer 1
0
C
buf
Data
0
bw (t)
0
Layer 0
BW(t)
Linear layered stream
Error Control
Display
12Effect of smoothing factor
(K 2)
KB/s
TX rate Quality
C 10
40 Time(sec)
Buf. L3(KB)
9.5
9.5
Buf. L2(KB)
9.5
Buf. L1(KB)
9.5
Buf. L0(KB)
40 Time(sec)
(K 4)
KB/s
TX rate Quality
C 10
40 Time(sec)
17.5
Buf. L3(KB)
Buf. L2(KB)
17.5
17.5
Buf. L1(KB)
17.5
Buf. L0(KB)
40 Time(sec)
13Issues with E2E Streaming
- Limited quality
- Limited scalability
- Load on the server/network
- Asynchronous access could be inefficient
- RTT could be high
- High delay VCR-functions
- Large startup delay
- Content should be close to interested clients
14Extending the Architecture
- Replications
- Proxy Caching
- Similar in nature
- Only applicable to playback streaming
- These mechanisms are complementary
15Replication
Campus
ISP
Internet
16Proxy Caching
Campus
ISP
Internet
17Replication vs Proxy Caching
- Location Proxy is often closer to clients
- No bottleneck
- Min RTT
- Higher locality of reference!
- Content management
- A proxy adaptively caches popular streams from
different servers based on clients interest - A mirror server statically replicates content of
a single server - Administration
- Replication Proxy Caching are complementary
18Multimedia Proxy Caching (MCaching)
- Assuming locality of reference exists
- Goal Cache popular streams with appropriate
quality - Load on the network/server could be minimized
- Delivered quality could be maximized
- Async. access can be supported efficiently
- Low-latency VCR-functions
- Appropriate quality is determined by
- Client bandwidth
- Popularity of streams
- Max. deliverable quality is not guaranteed
- Caching appropriate quality Higher performance
19Extending Existing Web Caches?
- Notion of quality for cached objects does not
exist in Web caching - Atomic delivery
- Atomic replacement
- Existing multimedia caches
- A web cache a media player
- Two possible extensions
- LQC Cache and replay low-quality streams
- HQC Pre-fetch max. quality of poplar streams
- Existing Web caches can not support Mcaching
efficiently
20Performance Evaluation
- Goal of Web caching
- to maximize Byte-Hit-Ratio
- Goal of MCaching
- to maximize Byte-Hit-Ratio, and
- to maximize delivered quality
- MCaching performance should be evaluated across
quality-BHR plan
21MCaching Evaluation Space
Maximum Quality
I
HQC
Quality
I
Max-deliverable Quality
O
O
MC
I
O
Bottleneck Quality
X
X
X
LQC
BHR
22MCaching The idea
- Exploit layered organization
- Relay on a cache miss
- Pre-fetch on a cache hit
- If higher quality is required
- Server should support fine-grained access
- Proxy is able to properly glue intranet
Internet transport
Client
Client
Client
Proxy
Internet
Server
23MCaching Design Issues
- Fine-grained pre-fetching
- Online vs offline
- Timing efficiency
- Sharing pre-fetching BW among concurrent sessions
- Fine-grained replacement
- What granularity is appropriate?
- Fine-grained popularity, e.g. per-segment
- Interactions between these mechanisms should
properly adjust quality of cached st.
24Pre-fetching An Example
- Missing pieces of the active layers are
pre-fetched on-demand - Required pieces are identified by QA
- Pre-fetching results in improvement of quality
- Pre-fetched data is always cached
L
4
L
Quality (no. active layers)
3
L
2
L
1
L
0
Time
25Fine-grained Online Pre-fetching
Pre-fetch
Playback
- Pre-fetching stream is congestion controlled
- Gradual improvement
- Pre-fetching can repair losses
- Pre-fetching playback should remain loosely
sync. - Trade-off (T)
- Sliding-window
- Batch of missing segments
- Prioritized delivery
- Should also incorporate utility of a segment
Client
Proxy
Server
Pre-fetching Window
L
4
Quality (layers)
L
3
L
2
L
1
L
0
Time
T
W
t
p
A Segment
26Fine-grained Replacement
- Allows fine-grained quality adjustment
- Avoids fragmentation of cache space
- Requires fine-grained popularity
27Popularity
- Clients level of interest (e.g. VCR-functions)
- Number of hits during a recent window
- Pipelining - Hit could be any value within
0..1 - Clients BW Potential usage of a layer for
quality adaptation during future sessions - Calculate whit on a per-layer basis
- Layered encoding guarantees monotonically
decrease in popularity of layers
whit weighted_hit PlaybackTime(sec)/StreamLeng
th(sec)
28Replacement Pattern
- Per-layer popularity
- Victim layer
- Granularity of replacement
- On a per-segment basis
- Demand-driven
- Victim segment?
- Utility of a segment?
- Locking is needed
Cached segment
Fine-grained
Coarse-grained
Quality(Layer)
Time
29Simulation Setup
HTTP-like Traffic
- No metric for quality ?
- Sequential delivery
- 10 streams with uniform random dist. 1..10min
- Cache size x of data set
- Evaluation space
- Effect of client bandwidth
- Distribution of requests between two clients
- Effect of popularity
- Stream popularity conforms to the Zipfs law
- Per-flow vs Aggregate
bw
1
Client 1
Proxy
Server
bw
bw
sp
Client 2
2
bw_sp bw2 bw_sp 56 Kbps bw1
1.5 Mbps bw2 56 Kbps
30Quality of Cached Streams
Per-layer completeness(most popular stream)
Per-layer completeness ()
Time(sec)
31Quality vs BHR
Average Cached Quality(layer)
Byte-Hit-Ratio
32Quality vs Network Load
Average Cached Quality(layer)
Network Load
33Status
- Prototyping a modular client-server architecture
for Internet streaming - Cong. Ctrl Quality Adaptation Error Ctrl
- Layered encoding
- Prototyping a MCache on top of Squid
34Future Directions
- Given utility function for a (encoding, content),
can we optimize - Quality adaptation
- Quality adaptation Error control
- Fine-grained replacement pre-fetching
- Multimedia traffic measurement and
characterization