Current peer-to-peer streaming systems suffer from low video quality, and/or long startup delays and poor liveness. PeerLive addresses all of these shortcomings without relying on a centralised infrastructure through several novel techniques:
-
‣Local Tracking. Peers are tracked by the peers themselves. Participants in a given stream register with a nearby peer acting as a local tracker. The more popular a stream is, the more local trackers there will be. This is scalable as no peer needs to track all participants. It also improves efficiency as peers only discover and connect to local peers, optimising, thus, the data distribution paths, reducing delay, while also reducing the impact on the ISP’s network.
-
‣Distributed Overlay Anycast Table (DOAT) is the system that tracks the trackers and allows a peer to discover its local tracker for a particular stream. DOAT also resides in the peers and is designed to minimise startup delay each time a user decides to watch a new stream. It can search for and return the local tracker for a stream in the order of tens of milliseconds, which is particularly important when zapping.
-
‣Peers exchange data following the Delay-Optimised Swarming (DOS) protocol. The local selection of sender and receiver peers aims to optimise the global topology of peers in terms of end-to-end delay. DOS is a pull protocol (the receiver requests and the sender replies), and is thus more resilient to churn. The additional delay usually incurred by pull systems in discovering the data available at the senders, is eliminated in DOS by estimating data availability based on the stream playout point of each sender.
-
‣At any point in time only a small fraction of the total number of peers participating in the PeerLive system is likely to be viewing a particular stream. PeerLive employs Non-Consuming Participants (NCPs) - peers who are not actively viewing a stream - to increase the total upload capacity for those streams that require additional resources. We have shown that a small number of NCPs, intelligently chosen, can dramatically improve the total throughput and end-to-end delay for all receivers.
-
‣The system performance depends on the upload capacity contributed by the peers. To maximise it, peers need incentives, which come in the form of improving the quality experienced by the users. In a system where the scope for tit-for-tat is limited, due to asymmetric delay-optimised topologies and NCPs, it is critical to support Contribution Shifting. A peer contributing upload capacity to a set of peers in a particular stream at a given time can redeem its contribution from different peers, in a different stream, at a later time. This provides the motivation for otherwise inactive peers to act as NCPs. Contribution Shifting is designed to be immune to Sybil attacks.
-
‣In QoS-aware overlays deployed over the best effort Internet, it is difficult for peers to determine whether low quality episodes are due to network fluctuations or due to the actions of other peers. In order to deal with this, we have developed an Incentives structure based on the principal-agent model of economics and a first-principles probabilistic model of the interaction between the actions of peers, the conditions of the underlying network and the experienced QoS of an interaction.