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

PROMISE: Peer-to-Peer Media Streaming Using CollectCast

Embed Size (px)

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

Page 1: PROMISE: Peer-to-Peer Media Streaming Using CollectCast

PROMISE: Peer-to-Peer PROMISE: Peer-to-Peer Media Streaming Using Media Streaming Using

CollectCastCollectCast

Mohamed Hafeeda, Ahsan Mohamed Hafeeda, Ahsan Habib et al.Habib et al.

Presented By: Abhishek GuptaPresented By: Abhishek Gupta

Page 2: PROMISE: Peer-to-Peer Media Streaming Using CollectCast

Peer-to-Peer SystemsPeer-to-Peer Systems

• Definition: Sharing of information and computer resources Definition: Sharing of information and computer resources through direct communication.through direct communication.

• Traditionally, files were shared using the Client-Server model Traditionally, files were shared using the Client-Server model (e.g. http). Not scalable since they are centralized services.(e.g. http). Not scalable since they are centralized services.

• P2P file-sharing systems, such as Gnutella, Napster and P2P file-sharing systems, such as Gnutella, Napster and Freenet realized a distributed infrastructure for sharing files.Freenet realized a distributed infrastructure for sharing files.

• P2P uncovers new advantages in simplicity of use, P2P uncovers new advantages in simplicity of use, robustness, self organization and scalability.robustness, self organization and scalability.

Page 3: PROMISE: Peer-to-Peer Media Streaming Using CollectCast

Peer to Peer Content Peer to Peer Content DistributionDistribution

• IssuesIssues• A sender may stop contributing to a P2P A sender may stop contributing to a P2P

streaming session.streaming session.• Outbound bandwidth contributed by the sender Outbound bandwidth contributed by the sender

may change.may change.• The connection between the sender and the The connection between the sender and the

receiver may exhibit different end-to-end receiver may exhibit different end-to-end bandwidth loss and failure.bandwidth loss and failure.

• Underlying topology determines that the Underlying topology determines that the connections between the senders and the connections between the senders and the receiver are not independent of each other.receiver are not independent of each other.

Page 4: PROMISE: Peer-to-Peer Media Streaming Using CollectCast

PROMISE: P2P Media Streaming PROMISE: P2P Media Streaming Using CollectCastUsing CollectCast

• Promise is based upon an application Promise is based upon an application level P2P service known as CollectCast.level P2P service known as CollectCast.

• CollectCast :CollectCast :• Utilizes underlying network characteristics.Utilizes underlying network characteristics.• ““one receiver collecting data from several one receiver collecting data from several

senders”.senders”.• Two set of senders: active senders and Two set of senders: active senders and

standby senders.standby senders.

Page 5: PROMISE: Peer-to-Peer Media Streaming Using CollectCast

PROMISE: An OverviewPROMISE: An Overview

• Peer Characterstics: Offered Rate RPeer Characterstics: Offered Rate Rp p and and Availability Availability AApp..

• CollectCast and PROMISE:CollectCast and PROMISE:• Selection of Best PeersSelection of Best Peers• Inferring and Monitoring the characterstics of Inferring and Monitoring the characterstics of

the underlying network.the underlying network.• Assigning streaming rates and data segments Assigning streaming rates and data segments

to the sending peers.to the sending peers.• Deciding when a change of the sending peers Deciding when a change of the sending peers

is needed.is needed.

Page 6: PROMISE: Peer-to-Peer Media Streaming Using CollectCast

PROMISE: An PROMISE: An Overview(Contd.)Overview(Contd.)

• PROMISE Operation:PROMISE Operation:• Substrate selects a candidate set of peers Substrate selects a candidate set of peers

suitable for streaming.suitable for streaming.• Protocol infers the topology and annotates it Protocol infers the topology and annotates it

using network characterstics.using network characterstics.• Using the annotated topology, an active set of Using the annotated topology, an active set of

peers is determined.peers is determined.• Transmission begins and is interrupted if an Transmission begins and is interrupted if an

update in the set of active senders is required.update in the set of active senders is required.• Sender receives control packets to adjust Sender receives control packets to adjust

sending rate and determine the subset of data sending rate and determine the subset of data it is supposed to send.it is supposed to send.

Page 7: PROMISE: Peer-to-Peer Media Streaming Using CollectCast

Selecting Best PeersSelecting Best Peers

• Random Technique – Does not consider Random Technique – Does not consider availability of peers and the possibility of availability of peers and the possibility of path congestion due to sharing.path congestion due to sharing.

• End-to-End Technique – Estimates the End-to-End Technique – Estimates the “goodness” of a path from each candidate “goodness” of a path from each candidate peer to the receiver. peer to the receiver.

• Topology aware Technique – Infers the Topology aware Technique – Infers the underlying topology and its characterstics underlying topology and its characterstics and considers the goodness of each and considers the goodness of each segment of the path.segment of the path.

Page 8: PROMISE: Peer-to-Peer Media Streaming Using CollectCast

Topology-aware SelectionTopology-aware Selection

• Goodness topology.Goodness topology.• Peer goodness is estimated by using Peer goodness is estimated by using

goodness topology.goodness topology.• Formulate the peer selection problem Formulate the peer selection problem

as an optimization problem and as an optimization problem and present an algorithm to solve it.present an algorithm to solve it.

Page 9: PROMISE: Peer-to-Peer Media Streaming Using CollectCast

Goodness TopologyGoodness Topology

• The goodness The goodness topology is built in topology is built in two steps:two steps:• Topology Inference.Topology Inference.• Transform the Transform the

inferred topology to inferred topology to the goodness the goodness topology.topology.

Page 10: PROMISE: Peer-to-Peer Media Streaming Using CollectCast

Segment GoodnessSegment Goodness

• The segment goodness depends on The segment goodness depends on the properties of the segment.the properties of the segment.

• Segment properties may include loss Segment properties may include loss rate, delay, jitter, and available rate, delay, jitter, and available bandwidth.bandwidth.

• In PROMISE, the segment goodness In PROMISE, the segment goodness is represented as a function of loss is represented as a function of loss rate and available bandwidth.rate and available bandwidth.

Page 11: PROMISE: Peer-to-Peer Media Streaming Using CollectCast

Segment Goodness Segment Goodness CalculationCalculation

• The goodness of segment The goodness of segment ii j j is is defined as : defined as : gg ii jj = w = w ii jj xx ii jj

• w w ii jj is a weight that depends on the is a weight that depends on the available bandwidth and level of available bandwidth and level of sharing on segment sharing on segment ii j. j.

• xx ii jj is a binary random variable that is a binary random variable that depends on the loss rate.depends on the loss rate.

Page 12: PROMISE: Peer-to-Peer Media Streaming Using CollectCast

Segment Goodness Segment Goodness CalculationCalculation

• The weight of segment w The weight of segment w ii jj for a for a peer peer pp is denoted by: is denoted by:

Page 13: PROMISE: Peer-to-Peer Media Streaming Using CollectCast

Peer GoodnessPeer Goodness

• The goodness of a peer The goodness of a peer pp is defined is defined as a function of its availability and as a function of its availability and the goodness of all segments the goodness of all segments comprising the path comprising the path pp rr. It is . It is represented by Grepresented by Gpp::

Page 14: PROMISE: Peer-to-Peer Media Streaming Using CollectCast

Best Active Peers SetBest Active Peers Set

Page 15: PROMISE: Peer-to-Peer Media Streaming Using CollectCast

Topology InferenceTopology Inference

• Building the logical topology – Building the logical topology – traceroute.traceroute.

• Annotating the topology with available Annotating the topology with available bandwidth.bandwidth.

• Annotating the topology with loss rate – Annotating the topology with loss rate – Bayesian Inference using Gibbs Bayesian Inference using Gibbs sampling method.sampling method.

• Overhead estimation – Communication Overhead estimation – Communication and Processing overhead.and Processing overhead.

Page 16: PROMISE: Peer-to-Peer Media Streaming Using CollectCast

• Forward Error Correction in PROMISE:Forward Error Correction in PROMISE:• FEC (FEC () to indicate that the system can tolerate ) to indicate that the system can tolerate

up to (up to ( -1) % packet loss rate where -1) % packet loss rate where l l ≤ ≤ ≤≤uu..

• Rate Assignment Rate Assignment • After computing the appropriate aggregate rate After computing the appropriate aggregate rate

((RRoo), each peer is assigned an actual sending ), each peer is assigned an actual sending rate based proportional to its offered rate.rate based proportional to its offered rate.

• Data Assignment Data Assignment • Active peers send the media file segment by Active peers send the media file segment by

segment. Each peer is assigned a number of segment. Each peer is assigned a number of packets to send in proportion to its actual packets to send in proportion to its actual streaming rate.streaming rate.

Rate and Data AssignmentRate and Data Assignment

Page 17: PROMISE: Peer-to-Peer Media Streaming Using CollectCast

Dynamic SwitchingDynamic Switching

• The need to switch:The need to switch:• Peer FailurePeer Failure• Network FluctuationsNetwork Fluctuations

• γ = (Rγ = (R∑ ∑ - R- Roo)/R)/Roo

Page 18: PROMISE: Peer-to-Peer Media Streaming Using CollectCast

EvaluationEvaluation

Page 19: PROMISE: Peer-to-Peer Media Streaming Using CollectCast

Evaluation (contd.)Evaluation (contd.)

Page 20: PROMISE: Peer-to-Peer Media Streaming Using CollectCast

ConclusionConclusion

• Streaming from multiple failure-Streaming from multiple failure-prone peers in a dynamic P2P prone peers in a dynamic P2P environment is indeed feasible.environment is indeed feasible.

• Full quality can be maintained in the Full quality can be maintained in the presence of failures and losses.presence of failures and losses.

• Significant gain in streaming quality Significant gain in streaming quality can be achieved by topology-aware can be achieved by topology-aware peer selection technique.peer selection technique.

Page 21: PROMISE: Peer-to-Peer Media Streaming Using CollectCast

Future DirectionsFuture Directions

• PROMISE can be extended in several PROMISE can be extended in several directions:directions:• CollectCast can be tuned to compete fairly with CollectCast can be tuned to compete fairly with

TCP traffic and react to congestion in the TCP traffic and react to congestion in the network.network.

• Large scale testing of PROMISE is needed to Large scale testing of PROMISE is needed to demonstrate its practicality and fine tune demonstrate its practicality and fine tune CollectCast functions.CollectCast functions.

• CollectCast can be extended beyond network CollectCast can be extended beyond network characteristics and streaming applications.characteristics and streaming applications.