Vicente Gonzlez Ruiz
November 24, 2013
Contents
1 What is the PPSP?
- The PPSP is an application-layer protocol for the real-time streaming of
media content between (usually networked) processes (peers), as well as
the delivery of content-on-demand.
- The PPSP comprises two different protocols:
- The PPSP-TP (PPSP Tracker Protocol): The tracker protocol
handles the initial and periodic exchange of meta information
between trackers and peers, such as which peers can provide
the content. A descentralized tracking mechanism has also been
developed.
- The PPSPP (PPS Peer Protocol): The peer protocol controls
the exchange of the content between the peers.
2 Basic operation
- When a peer wants to receive streaming of a selected content (leech
mode):
- Peer connects to a tracker and joins a swarm.
- Peer acquires a list of other peers in the swarm from the tracker.
- Peer exchanges its content availability with the peers on the obtained
peer list (peer protocol).
- Peer identifies the peers with desired content.
- Peer requests content from the identified peers (peer protocol).
3 Transport protocols
- Usually, the UDP is used for transport in the PPSPP. In this case, each
chunk is explicity acknowledged.
- The PPSP can use also the TCP.
4 Architecture
- The content is provided by seeder peers. Several seeder peers can be in
the same swarm (content-on-demand).
- The peers meet each other asking a tracker (the tracker does not handle
the content) or an other (connected) peers.
- Peers are “connected”
ramdomly, depending on the churn and the network behaviour.
5 Chunk delivery
- Peers annouce to the peers that are connected the chunks that it has
using “HAVE” messages. In general, HAVE messages are piggybacked onto
DATA (chunk) messages.
- Peers request chunks using “REQUEST” messges (pull scheme).
- Peers transmitt as much content as possible, depending on the requests
of the others peers, although a peer can “choke” (avoid to send data)
other peer for some reason (for example, because the upload capacity is
exhausted).
6 Freeriding prevention
- Freeriding (how to deal with peers that only download content byt never
upload) is optional (it is defined as an extension).
- Proposes to use the Tit-For-Tat Algorithm as used in BitTorrent (initially,
a peer A tries to upload as much as possible to another peer B and if
B does not recriprocate, A chokes B and try with a different randomly
selected peer).
7 Content integrity
- Peers receive a cryptographic hash for earch chunk of data which can
be used to check if the content has been modified in transit and allows
every peer to directly detect when a malicious peer tries to distribute fake
content.
- When a peer detects a malicious peer, it is placed on a blacklist and not
served anymore.
8 Swarms (channels)
- Peers can listen to multiple swarms when they desire to receive several
channels.