GnuStream: a P2P Media Streaming Prototype Xuxian Jiang, Yu Dong, Dongyan Xu, and

Download Report

Transcript GnuStream: a P2P Media Streaming Prototype Xuxian Jiang, Yu Dong, Dongyan Xu, and

GnuStream: a P2P Media
Streaming Prototype
Xuxian Jiang, Yu Dong,
Dongyan Xu, and
Bharat Bhargava
Outline






Introduction
System Overview
Design and Implementation
Experiments
Conclusions and Comments
Q&A
Introduction
Video retrieving over P2P:
 Traditional way: open-after-downloading
 Streaming (Goal): play-while-downloading
 Challenges:



Stringent timing constraint
Involve a set of peer senders
P2P dynamic nature: online/offline
Recent Works

Narada and PeerCast



CoopNet



Synchronous broadcast of live media
Not consider the limited contribution of bandwidth from
individual peers
Builds multiple distribution trees
Each receiver is required to consult the source node for
upstream senders
ZIGZAG


Builds multicast tree based on hierarchy
Assumes each peer only receives from one sender
System Environment
(bandwidth indicated by
the edge thickness)
Gnutella lookup service locates
4 candidate senders (P2-P5)
P1 is looking
for media file X
Standby
sender
System Features


Integration with P2P lookup substrate
Multi-sender aggregation






Even allocation
Proportional allocation
Receiver data collection
Detection of peer status change
Recovery from failure or degradation
Buffer control
Design Architecture

Network Abstraction Layer (NAL)


Streaming Control Layer (SCL)




Provides generic and uniform
interface of P2P lookup
substrate
Deals with the dynamics and
heterogeneity of P2P networks
Bandwidth aggregation, data
collection, status change
detection and recovery, etc
Buffer management
Media Playback Layer (MPL)

Media quality adaptation
Implementation



Using Microsoft Visual C++ 6.0
Build from Gnucleus, a open source
Gnutella client
Buffer management is the most
challenging aspect
Implementation
Double buffering
SCL adjusts feeding
rate to Decoder and
thus the display
frame rate is tunable
MPL
SCL
Eliminate data overflow
and underflow and
smooth the arrival jitter
Maintains some
pointers to
enforce the realtime property of
media streaming
Experiments



Local experimental
testbed
Desktop PCs with
XEON CPU 2GHz, 1G
Ram, 100Mbps Ethernet
controller
Limit the maximum
upstream bandwidth to
60KB/s
P2P streaming session setup
Frame size
playback
rate
YUV
sampling
352 * 240
30 fps
4:2:0
= 143KBps
i.e. 3 peer senders of 60KBps
Bits per pixel Compression
Rate
8
26:1
Buffering for continuous media
playback


Suppose AFR=25fps, No. of Frames=1680,
then Initial Delay=11.2sec.
In addition, if the aggregate bandwidth
(3*60KBps) is greater than the playback rate
(143KBps), each sender will exploit the
residual bandwidth to pre-transmit
Peer failure detection and
recovery
Turn off peer 3
at 27th second
Take approx. 1
sec to detect
and recovery
Replaced by
peer 4
No interruption
to playback due
to buffer control
Conclusions

GnuStream is a P2P and receiver-driven media
streaming system






Deployable in Gnutella network
Open source
Aggregate streaming capacity of individual peer
senders
Self-monitoring and adjustment in peer failure and
bandwidth degradation
The effectiveness of buffer control in maintaining
both continuity and quality
Experiments on LAN
Comments


The first streaming implementation on an
existing P2P network
However, important details are not
mentioned


E.g. how the senders coordinate?
Experiments only in a small, local and
homogenous network



Bandwidth variation?
Share bottleneck?
More vigorous change in the sender set?
Questions and Answers
Thank you
Reference


Xuxian Jiang, Yu Dong, Dongyan Xu, Bharat
Bhargava "GnuStream: a P2P Media Streaming
Prototype" Proceedings of IEEE International
Conference on Multimedia & Expo (ICME 2003),
July 2003
http://www.cs.purdue.edu/homes/jiangx/GnuStream