Presentation is loading. Please wait.

Presentation is loading. Please wait.

PROMISE: Peer-to-Peer Media Streaming Using CollectCast Mohamed Hafeeda, Ahsan Habib et al. Presented By: Abhishek Gupta.

Similar presentations


Presentation on theme: "PROMISE: Peer-to-Peer Media Streaming Using CollectCast Mohamed Hafeeda, Ahsan Habib et al. Presented By: Abhishek Gupta."— Presentation transcript:

1 PROMISE: Peer-to-Peer Media Streaming Using CollectCast Mohamed Hafeeda, Ahsan Habib et al. Presented By: Abhishek Gupta

2 Peer-to-Peer Systems Definition: Sharing of information and computer resources through direct communication. 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. 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 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. P2P uncovers new advantages in simplicity of use, robustness, self organization and scalability.

3 Peer to Peer Content Distribution Issues Issues A sender may stop contributing to a P2P streaming session. A sender may stop contributing to a P2P streaming session. Outbound bandwidth contributed by the sender may change. 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. 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. Underlying topology determines that the connections between the senders and the receiver are not independent of each other.

4 PROMISE: P2P Media Streaming Using CollectCast Promise is based upon an application level P2P service known as CollectCast. Promise is based upon an application level P2P service known as CollectCast. CollectCast : CollectCast : Utilizes underlying network characteristics. Utilizes underlying network characteristics. “one receiver collecting data from several senders”. “one receiver collecting data from several senders”. Two set of senders: active senders and standby senders. Two set of senders: active senders and standby senders.

5 PROMISE: An Overview Peer Characterstics: Offered Rate R p and Availability A p. Peer Characterstics: Offered Rate R p and Availability A p. CollectCast and PROMISE: CollectCast and PROMISE: Selection of Best Peers Selection of Best Peers Inferring and Monitoring the characterstics of the underlying network. Inferring and Monitoring the characterstics of the underlying network. Assigning streaming rates and data segments to the sending peers. Assigning streaming rates and data segments to the sending peers. Deciding when a change of the sending peers is needed. Deciding when a change of the sending peers is needed.

6 PROMISE: An Overview(Contd.) PROMISE Operation: PROMISE Operation: Substrate selects a candidate set of peers suitable for streaming. Substrate selects a candidate set of peers suitable for streaming. Protocol infers the topology and annotates it using network characterstics. Protocol infers the topology and annotates it using network characterstics. Using the annotated topology, an active set of peers is determined. 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. 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. Sender receives control packets to adjust sending rate and determine the subset of data it is supposed to send.

7 Selecting Best Peers Random Technique – Does not consider availability of peers and the possibility of path congestion due to sharing. 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. 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 Technique – Infers the underlying topology and its characterstics and considers the goodness of each segment of the path.

8 Topology-aware Selection Goodness topology. Goodness topology. Peer goodness is estimated by using 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. Formulate the peer selection problem as an optimization problem and present an algorithm to solve it.

9 Goodness Topology The goodness topology is built in two steps: The goodness topology is built in two steps: Topology Inference. Topology Inference. Transform the inferred topology to the goodness topology. Transform the inferred topology to the goodness topology.

10 Segment Goodness The segment goodness depends on the properties of the segment. The segment goodness depends on the properties of the segment. Segment properties may include loss rate, delay, jitter, and available bandwidth. 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. In PROMISE, the segment goodness is represented as a function of loss rate and available bandwidth.

11 Segment Goodness Calculation The goodness of segment i  j is defined as : g i  j = w i  j x i  j The goodness of segment i  j is defined as : g i  j = w i  j x i  j w i  j is a weight that depends on the available bandwidth and level of sharing on segment i  j. w i  j is a weight that depends on the available bandwidth and level of sharing on segment i  j. x i  j is a binary random variable that depends on the loss rate. x i  j is a binary random variable that depends on the loss rate.

12 Segment Goodness Calculation The weight of segment w i  j for a peer p is denoted by: The weight of segment w i  j for a peer p is denoted by:

13 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 G p : 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 G p :

14 Best Active Peers Set

15 Topology Inference Building the logical topology – traceroute. Building the logical topology – traceroute. Annotating the topology with available bandwidth. Annotating the topology with available bandwidth. Annotating the topology with loss rate – Bayesian Inference using Gibbs sampling method. Annotating the topology with loss rate – Bayesian Inference using Gibbs sampling method. Overhead estimation – Communication and Processing overhead. Overhead estimation – Communication and Processing overhead.

16 Forward Error Correction in PROMISE: Forward Error Correction in PROMISE: FEC (  ) to indicate that the system can tolerate up to (  -1) % packet loss rate where  l ≤  ≤  u. FEC (  ) to indicate that the system can tolerate up to (  -1) % packet loss rate where  l ≤  ≤  u. Rate Assignment Rate Assignment After computing the appropriate aggregate rate (  R o ), each peer is assigned an actual sending rate based proportional to its offered rate. After computing the appropriate aggregate rate (  R o ), each peer is assigned an actual sending rate based proportional to its offered rate. Data Assignment 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. 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. Rate and Data Assignment

17 Dynamic Switching The need to switch: The need to switch: Peer Failure Peer Failure Network Fluctuations Network Fluctuations γ = (R ∑ - R o )/R o γ = (R ∑ - R o )/R o

18 Evaluation

19 Evaluation (contd.)

20 Conclusion Streaming from multiple failure-prone peers in a dynamic P2P environment is indeed feasible. 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. 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. Significant gain in streaming quality can be achieved by topology-aware peer selection technique.

21 Future Directions PROMISE can be extended in several 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. 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. 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. CollectCast can be extended beyond network characteristics and streaming applications.


Download ppt "PROMISE: Peer-to-Peer Media Streaming Using CollectCast Mohamed Hafeeda, Ahsan Habib et al. Presented By: Abhishek Gupta."

Similar presentations


Ads by Google