Traditional approaches for P2P streaming systems propose streaming on either structured or unstructured networks. In structured networks the information is push from parent node to its children while in unstructured networks each nodes pulls information acting as parent or child, depending on whether it satisfy or issue a pull request. The network topology gives both benefits and limitations, for instance in a tree structure a node failure is a problem that may affect the information flow of all subtree rooted at node failed. The scheduler is the main part of video streaming protocols, it selects both the target node (peer selection) and the data to transmit/request (piece selection).
We propose a new class of Push/Pull Protocols for video streaming systems which alternates push and pull operations for information distribution. The basic idea is to combine the capacity of both push and pull to speed up information distribution.
We call this class of protocol Alternate and we have implemented a module called P4S.
P4S is developed using PeerSim P2P network simulator at the Dipartimento di Ingegneria e Scienza dell'Informazione (DISI) of the University of Trento.
PeerSim is a Java based simulator that consists of many configurable components: it has two types of engines, cycle-based and event-driven, and different modules that manages separately, for instance, the overlay building process and the transport characteristics. For a more detailed description of PeerSim simulator please refer to this page.
P4S uses Alternate scheduler and is highly configurable with many parameters.
PeerSim does not implement any bandwidth management mechanism, for this reason we have implemented a module which uses the priority sharing bandwidth allocation: the first connection get as much resources as possible. This module is called Bandwidth Aware protocol.