210 likes | 345 Views
PROMISE: Peer-to-Peer Media Streaming Using CollectCast. Mohamed Hafeeda, Ahsan Habib et al. Presented By: Abhishek Gupta. Peer-to-Peer Systems. Definition: Sharing of information and computer resources through direct communication.
E N D
PROMISE: Peer-to-Peer Media Streaming Using CollectCast Mohamed Hafeeda, Ahsan Habib et al. Presented By: Abhishek Gupta
Peer-to-Peer Systems • Definition: Sharing of information and computer resources through direct communication. • Traditionally, files were shared using the Client-Server model (e.g. http). Not scalable since they are centralized services. • P2P file-sharing systems, such as Gnutella, Napster and Freenet realized a distributed infrastructure for sharing files. • P2P uncovers new advantages in simplicity of use, robustness, self organization and scalability.
Peer to Peer Content Distribution • Issues • A sender may stop contributing to a P2P streaming session. • Outbound bandwidth contributed by the sender may change. • The connection between the sender and the receiver may exhibit different end-to-end bandwidth loss and failure. • Underlying topology determines that the connections between the senders and the receiver are not independent of each other.
PROMISE: P2P Media Streaming Using CollectCast • Promise is based upon an application level P2P service known as CollectCast. • CollectCast : • Utilizes underlying network characteristics. • “one receiver collecting data from several senders”. • Two set of senders: active senders and standby senders.
PROMISE: An Overview • Peer Characterstics: Offered Rate Rp and Availability Ap. • CollectCast and PROMISE: • Selection of Best Peers • Inferring and Monitoring the characterstics of the underlying network. • Assigning streaming rates and data segments to the sending peers. • Deciding when a change of the sending peers is needed.
PROMISE: An Overview(Contd.) • PROMISE Operation: • Substrate selects a candidate set of peers suitable for streaming. • Protocol infers the topology and annotates it using network characterstics. • Using the annotated topology, an active set of peers is determined. • Transmission begins and is interrupted if an update in the set of active senders is required. • Sender receives control packets to adjust sending rate and determine the subset of data it is supposed to send.
Selecting Best Peers • Random Technique – Does not consider availability of peers and the possibility of path congestion due to sharing. • End-to-End Technique – Estimates the “goodness” of a path from each candidate peer to the receiver. • Topology aware Technique – Infers the underlying topology and its characterstics and considers the goodness of each segment of the path.
Topology-aware Selection • Goodness topology. • Peer goodness is estimated by using goodness topology. • Formulate the peer selection problem as an optimization problem and present an algorithm to solve it.
Goodness Topology • The goodness topology is built in two steps: • Topology Inference. • Transform the inferred topology to the goodness topology.
Segment Goodness • The segment goodness depends on the properties of the segment. • Segment properties may include loss rate, delay, jitter, and available bandwidth. • In PROMISE, the segment goodness is represented as a function of loss rate and available bandwidth.
Segment Goodness Calculation • The goodness of segment i j is defined as : gi j= w i jxi j • w i j is a weight that depends on the available bandwidth and level of sharing on segment i j. • xi j is a binary random variable that depends on the loss rate.
Segment Goodness Calculation • The weight of segment w i jfor a peer p is denoted by:
Peer Goodness • The goodness of a peer p is defined as a function of its availability and the goodness of all segments comprising the path p r. It is represented by Gp:
Topology Inference • Building the logical topology – traceroute. • Annotating the topology with available bandwidth. • Annotating the topology with loss rate – Bayesian Inference using Gibbs sampling method. • Overhead estimation – Communication and Processing overhead.
Rate and Data Assignment • Forward Error Correction in PROMISE: • FEC () to indicate that the system can tolerate up to ( -1) % packet loss rate where l ≤ ≤u. • Rate Assignment • After computing the appropriate aggregate rate (Ro), each peer is assigned an actual sending rate based proportional to its offered rate. • Data Assignment • Active peers send the media file segment by segment. Each peer is assigned a number of packets to send in proportion to its actual streaming rate.
Dynamic Switching • The need to switch: • Peer Failure • Network Fluctuations • γ = (R∑ - Ro)/Ro
Conclusion • Streaming from multiple failure-prone peers in a dynamic P2P environment is indeed feasible. • Full quality can be maintained in the presence of failures and losses. • Significant gain in streaming quality can be achieved by topology-aware peer selection technique.
Future Directions • PROMISE can be extended in several directions: • CollectCast can be tuned to compete fairly with TCP traffic and react to congestion in the network. • Large scale testing of PROMISE is needed to demonstrate its practicality and fine tune CollectCast functions. • CollectCast can be extended beyond network characteristics and streaming applications.