GNUSTREAM: A P2P MEDIA STREAMING SYSTEM PROTOTYPE
Xuxian Jiang
Yu Dong Dongyan
Xu Bharat Bhargava
Department
of Computer Sciences
E-mail: {jiangx,dong,dxu,bb}@cs.purdue.edu
ABSTRACT
receiver-driven media streaming system.
top of Gnutella
integrates
*dynamic peer location and
*streaming capacity aggregation
*GnuStream
streaming session is controlled
by the
receiver peer
*dynamic set of peer senders
instead of one fixed sender
1. INTRODUCTION
[1] .On Peer-to-Peer Media
Streaming.
open-after-downloading.v .play-while-downloading.
peer
*online or offline
sender set members may change dynamically,
*sender: not be able to contribute full streaming bandwidth
set of peer senders
architectures for synchronous broadcast
Narada [3] and PeerCast [4]
þdynamic construction of a multicast
tree
ýnot consider the limited
contribution of bandwidth
CoopNet [5] builds
*multiple distribution
trees
*spanning a source and all peer receivers
*each tree transmitting a separate description of the media signal.
ý consults the source node for its upstream
peer senders
ZIGZAG [6]
*peer receivers hierarchy
of bounded-degree clusters
*multicast tree based on the hierarchy.
ýassumes that each peer only receives from one upstream peer sender.
GnuStream,
receiver-driven
media streaming system
top of Gnutella,
Features:
2. SYSTEM OVERVIEW
2.1. System Environment

P1:
2.2. System Features
(1) Integration with P2P
lookup substrate
readily deployable in the current Gnutella P2P network environment.
(2) Multi-sender aggregation
load allocation policies
*Suitable for a well-provisioned and homogeneous
environment
*proportion to the current capability of peer senders
*flexible and adaptive
*dynamic and heterogeneous environment
(3) Receiver data collection
receiver
*coordinates the arrival of different media
data segments,
*reconstructs media data in their original
and continuous order before *feeding them to the media player.
(4) Detection of peer
status change
periodic probing and soft states
detect any changes in the status of peer senders,
(5) Recovery from failure or
degradation:
*migrate all or part of its streaming load to another peer sender or a
standby peer sender
*active peer senders change dynamically
6) Buffer control:
accommodate
*dynamic set of peer senders
*end-to-end network congestion,
buffer control mechanisms
*more concurrency and scheduling complexity
3. DESIGN AND
IMPLEMENTATION
3.1. Three-layer
Architecture

(1) Network Abstraction Layer (NAL)
(2) Streaming Control Layer (SCL)
(3) Media Playback Layer (MPL):
based on the media data collected by SCL
double buffering between media decoder and player
·
efficiency
·
low switching overhead.
·
.plug-n-play.
3.2. GnuStream
Implementation
*Microsoft Visual C++ 6.0
*Gnutella client, namely Gnucleus.
buffer management.
core of buffer control
mechanisms
*speed up display
*reduce the synchronization overhead
between MPL and SCL.
*eliminate data overflow and
underflow
*smooth jitter in the presence of multiple senders.

*Inside the control
buffer
*coordinate
the multiple peer senders
*delicate buffer
model is implemented to enforce the real-time property of media streaming.
Buffer Model
*offset pointer: amount of data already consumed.
*End-of-data: trunk of continuous data available in buffer
*End-of-buffer indicates the end or maximum
size of buffer
*adjusts the data
feeding rate to the decoder
*display frame rate
is tunable
(according to current aggregated streaming bandwidth)
*monitor the streaming progress
*compute system parameters
-next frame needed and
-expected bit-rate
from each peer sender.
4. EXPERIMENTS
multiple desktop PCs
*configured as peer senders/recv
*ý maximum
streaming bandwidth=60KB/s
(1) P2P streaming session
setup
*Before session
starts

test media clip
resultant streaming bandwidth approximately
143 KBps
receiver
*contacts three peer senders
*discovered by Gnutella
lookup service
*each streaming bandwidth of 60KBps.
*initiates the streaming session
(2) Buffering for continuous
media playback
*continuous
and jitter-free media playback

if playback > arrival = 1/A – 1/P
else = 0
test video clip
during the initial buffering,
(3) Peer failure detection
and recovery
*replaced standby sender
*detection and recovery latency
*tradeoff
system reactivity v peer probing overhead
*no interruption to media playback
(buffer control)
5. CONCLUSIONS
http://www.cs.purdue.edu/homes/jiangx/GnuStream/
6. REFERENCES
[1] D. Xu,
M. Hefeeda, S. Hambrusch
and B. Bhargava, .On
Peer-to-Peer Media Streaming., IEEE ICDCS
2002, July
2002.
[2] T. Nguyen and A. Zakhor, .Distributed Video Streaming
Over Internet.,
SPIE/ACM MMCN 2002, Jan. 2002.
[3] Y. Chu,
S. Rao and H. Zhang, .A Case for End System
Multicast., ACM SIGMETRICS, June 2000.
[4] H. Deshpande,
M. Bawa and H. Garcia-Molina,
.Streaming Live Media over
a Peer-to-Peer Network.,
Stanford Database Group
Technical Report (2001-20),
Aug.
2001.
[5] V. N. Padmanabhan, H. J. Wang, P.A. Chou
and K.
Sripanijkulchai, .Distributing Streaming Media Content Using
Cooperative Networking., ACM NOSSDAV, May 2002.
[6] D. A. Tran, K. A. Hua and T. T Do .ZIGZAG: An
Efficient Peer-to-peer
Scheme for Media Streaming., IEEE
INFOCOM2003, April 2003.