multimedia information system lab. network architecture res. group cooperative video streaming...
TRANSCRIPT
MultimediaInformationSystem Lab.
NetworkArchitectureRes. Group
Cooperative Video Streaming Mechanismswith Video Quality Adjustment
Naoki Wakamiya
Osaka University, Japan
2001/11/07 N. Wakamiya 2
MultimediaInformationSystem Lab.
NetworkArchitectureRes. Group
Video streaming system with proxies
• To provide low-delay and high-quality streaming service
Video Server
Proxy Cache
HeterogeneousClients
2001/11/07 N. Wakamiya 3
MultimediaInformationSystem Lab.
NetworkArchitectureRes. Group
Issues
• Segmentation of video streams• Video quality adjustment• Locating the appropriate server• Cache management• Prefetching
2001/11/07 N. Wakamiya 4
MultimediaInformationSystem Lab.
NetworkArchitectureRes. Group
Protocols
• Each system entity communicates with each other
Video Server
Proxy Cache
Client
2001/11/07 N. Wakamiya 5
MultimediaInformationSystem Lab.
NetworkArchitectureRes. Group
Video block transfer
Video ServerNeighboring Proxy
Proxy Cache Server
Client
PLAY messagewith QoS
Cache Hit1. Read block from cache
2. Quality adjustment
Play outInitial buffering 1/fps
Prefetching1. Check cache
2. Request block transfer3. Cache
Cache Miss1. Determine helper server2. Request block transfer
3. Quality adjustment & cache
Freeze tim
e
2001/11/07 N. Wakamiya 6
MultimediaInformationSystem Lab.
NetworkArchitectureRes. Group
Cache table
• Cache table is used to maintain information of locally cached blocks– block number – quality of cached block– marker
• Marker is used to imply the possibility that the block will be required by the other proxies
• Range of marking is limited by inquiry window• QUERY and REPLY messages are exchanged to
update markers
i)(iq
)(iM
I
2001/11/07 N. Wakamiya 7
MultimediaInformationSystem Lab.
NetworkArchitectureRes. Group
Remote table
• Remote table is used to maintain information of blocks cached at the other servers (video server, proxies)– estimated one way delay– estimated throughput– quality of offerable block
• Delay and throughput are estimated using measurement tools or TCP-friendly control mechanisms
• QUERY and REPLY messages are exchanged to update remote tables
Skd
Skr
)(iOk
2001/11/07 N. Wakamiya 8
MultimediaInformationSystem Lab.
NetworkArchitectureRes. Group
Block retrieval algorithm
• the proxy determines the quality of block to offer to client based on– request – cache and remote tables– estimations , – the number of blocks in the client’s prefetch
buffer– parameter
• If the quality of block offerable using cache satisfies , it is regarded as “cache hit”
)(iq j
Cjd
Cjr
ji
jp
j
)()( iqiq jjPj
)(iqPj
2001/11/07 N. Wakamiya 9
MultimediaInformationSystem Lab.
NetworkArchitectureRes. Group
Block prefetching algorithm
• The proxy retrieves the block preparing for the future cache miss
high quality
med quality
low quality
uncached
case 1
case 2
block number
request
request
PrefetchingWindowP
prefetch
prefetch
2001/11/07 N. Wakamiya 10
MultimediaInformationSystem Lab.
NetworkArchitectureRes. Group
Cache replacement algorithm
• Some blocks might be replaced with a newly retrieved block
start end
Inquirywindow
client 1
Inquirywindow
Inquirywindow
client 2
marker
Qualityadjustment
Removal
victim
2001/11/07 N. Wakamiya 11
MultimediaInformationSystem Lab.
NetworkArchitectureRes. Group
Evaluation
• Measurements
– average freeze time
– required buffer size
– degree of satisfactionratio of provided quality to requested quality
• 1 sec block
• P=10, I=20
• initial wait 4 sec
• parameter
• 35 Gbit buffer
Video Server
Proxy Cache
10 Clients
10 Clients
10 Clients
8 Mbps10 msec
5 Mbps20 msec
2 Mbps100 msec
6.0j
2001/11/07 N. Wakamiya 12
MultimediaInformationSystem Lab.
NetworkArchitectureRes. Group
Comparison
• Four mechanisms are compared
0.001
0.01
0.1
1
10
100
1 2 3 4 5 6 7 8 9 10
Ave
rage
Fre
eze
Tim
e [s
ec]
Client
Independent w/o PrefetchIndependent c/w PrefetchCooperative w/o PrefetchCooperative c/w Prefetch
0.6
0.65
0.7
0.75
0.8
0.85
0.9
0.95
1
1 2 3 4 5 6 7 8 9 10
Qua
lity
rat
io
Client
Independent w/o PrefetchIndependent c/w PrefetchCooperative w/o PrefetchCooperative c/w Prefetch