Title: PROMISE: PeertoPeer Media Streaming Using CollectCast
1PROMISE Peer-to-Peer Media Streaming Using
CollectCast
- Mohamed Hefeeda, Ahsan Habib, Boyan Botev,
Dongyan Xu, Bharat Bhargava - Department of Computer Sciences
- Purdue University, West Lafayette, IN 47907
2Outline
- Abstract
- Introduction
- PROMISE An overview
- Select best peers
- Rate and data assignment
- Dynamic switching
- Evaluation/Internet experiments
- Conclusion and future work
3Abstract
- We present PROMISE
- A novel peer-to-peer media streaming system
- Design
- Implementation
- Evaluation
- Key functions of PROMISE
- Peer lookup
- Peer-based aggregated streaming
- Dynamic adaptations to network and peer conditions
4Abstract cont.
- PROMISE is based on a new application level P2P
service called CollectCast - Selection of sender
- Inferring and leveraging the underlying network
topology and performance information - Monitoring the status of peers and connections
- Reacting to peer/connection failure or
degradation with low overhead - Dynamically switching
- active senders
- standby senders
5Introduction
- In a P2P system, peers communicate directly with
each other for the sharing and exchange of - Data
- Storage
- CPU capacity
6Introduction cont.
- This paper focus on
- P2P real-time media streaming
- Involve multiple sending peers in one streaming
session
7Introduction cont.
- The dynamic and diversity are reflected in both
peers and network connections between peers - A sender may stop contributing at any time
- The outbound bandwidth contributed by a sender
may change - The connection may exhibit different end-to-end
bandwidth, loss, and failure rate - The underlying network topology that determines
the connections are not independent of each other
8PROMISE An overview
- Consists of a set of peers interconnected through
a P2P substrate - Operations are independent of the underlying P2P
substrate - Modified Pastry to return multiple peers for each
lookup request
9PROMISE architecture
10PROMISE Notations
- Ap availability
- 1.0 available for streaming
- 0.0 - otherwise
- R0 playback rate
11CollectCast and PROMISE
- The design of PROMISE relies on a novel
application level P2P service called CollectCast - The receiver plays the leading role in
CollectCast - Selecting the best sending peers
- Inferring and monitoring the underlying network
- Assigning streaming rate and data segment to the
sending peers - Deciding when a change of the sending peers is
needed
12PROMISE Operation
- Two connections are established with each peer
- A UDP connection for sending the stream packets
- A TCP connection for sending control packets
13CollectCast Receiver side
14CollectCast Sender side
15Selecting best peers
- Three selection techniques are possible
- Random
- End-to-end
- Topology-aware
16Random Selection
- Randomly chooses a number of peers that can
full-fill the aggregate rate requirement - these peers may have low availability and share a
congested path
17End-to-end Selection
- Estimates the goodness of the path from each
candidate peer to the receiver - Based on the quality of the individual paths and
on the availability of each other
18End-to-end Selection cont.
19End-to-end Selection cont.
20End-to-end Selection cont.
- Ex.
- P3, P5, P6
- 1 .8 1 .8 1 .9 2.5
- The best one
- P3, P5, P6 and P1, P2, P3, P6
- 2.5
21Topology-aware selection
- Infers the underlying topology and its
characteristics - Considers the goodness of each segment of the
path - Make a judicious selection by avoiding peers
whose paths are sharing a tight segment
22Topology-aware selection cont.
23Topology-aware selection cont.
24Topology-aware selection cont.
- Ex.
- P3, P5, P6
- 1 .8 1 .8 .25/.50 .9 2.05
- The best one
- P2, P3, P6
- 2.4
25Selection Algorithm
26Rate and Data Assignment
- Forward Error Correction (FEC)
- Use erasure codes to tolerate packet losses
- FEC(a)
- The system can tolerate up to (a-1) packet loss
rate - A segment of ? packets
- encoded into ? /(2-a)
27Rate and Data Assignment cont.
28Rate and Data Assignment cont.
- Ex.
- RP1 R0/2, RP2 R0/4, RP3 R0/2
- al 1.0625, au 1.25, a 1.125
- Result.
- RP1 .45, RP2 .225, P3 .45
- DP1 55, DP2 38, DP3 55
29Dynamic Switching
- Peer failure detected
- From the TCP control channel (eq. connection
reset) - The rate coming from this peer is degraded
- Actions
- Assigning new rates for he currently active peer
set - Adjusting the active set by adding or replacing
peers
30Evaluation
- R0 1Mb/s
- Streaming session lasts for 60 mins
- AP .5, .9
- RP .125R0, .5R0
31Aggregated loss rateno peer failure
32Aggregated streaming rate no peer failure
33Aggregated loss ratewith peer failure
34Aggregated streaming ratewith peer failure
35Size of the candidate peers set required /
availability values
36Conclusion
- The most salient features of PROMISE
- Accounts for peer heterogeneity, reliability, and
limited capacity - Matches a requesting peer with a set of supplying
peers that are likely to achieve the best
streaming quality - Dynamically adapts to network fluctuations and
peer failure - Inferring and leveraging the underlying network
conditions