The QoS (Quality of Service) provided by the streaming system depends strongly on the topology of the cluster of peers. Some proposals, such as Overcast  and Scattercast , deﬁne a two-tier network structure where some (suppously high reliable) peers form a core network and the rest of peers are in an outer network. This architecture is, in essence, similar to a CDN because the outer peers do not contribute to the network and therefore, the scalability is quite limited. Additionally, if a core peer fails, several core and outer peers can experiment an interruption in the receiving of the stream.
Other approaches, such as PeerCast , Scribe , NICE , ZigZag  and BulkTree , distribute the peers in a tree (that in the end is a speciﬁc case of the star topology). It is well known that tree-push techniques are optimal respect to transmission delay, but only when the overlay structure matches the physical network structure. Besides, if a peer in the tree fails, then all the descendant peers will experiment an interruption in the streaming, eﬀect that becomes larger when the failed peer is closer to the tree root. Finally, the leaf peers do not send data and therefore, the scalability of the system is limited. This last drawback can be mitigated building multiple trees and conﬁguring leaf peers as root peers in other tree, approach that has been used in Zebra , CoopNet , SplitStream  and Orchard , albeit that the rest of problems remains.
In order to improve the robustness of the overlay, some protocols such as Narada , Yoid , PULSE  and Bullet  propose a tree/mesh-pull structure, similar to the one used in BitTorrent . This architecture has been also utilized in the PPSP . However, the signaling overhead that are necessary to maintain the dynamic structure of the mesh and the interchange of data between the peers (in order to perform the pull-operations) usually limites the size of the overlays, or at least, the neighbour-rate between the peers, a key aspect that usually helps to cope with the un-notiﬁed churn.
The proposal introduced in this document, the P2PSP, is an hybrid structure that can match any of the previously described topologies, depending on the user conﬁguration. A pure P2PSP overlay lies in one of the extremes of this spectrum of P2P streaming algorithms because it can be clasiﬃed as a mesh-push structure with the maximal neighbour-rate because each peer send chunks of data to the rest of peers of the cluster (in other words, the diameter of the cluster is always ). This provides to a P2PSP cluster a high error resilience, specially against churn. In the other extreme, a P2PSP overlay can consist of a large group of P2PSP teams which are interconnected with a star structure. A description of that idea has been depicted in Figure 1, where three diﬀerent conﬁgurations have been shown. On the left one, there is a pure C/S structure. In the center, some proxies have reduced their bandwidth requirements thanks to the creation of some P2PSP clusters. In the right, the content privider only sends a copy of the stream by means of a pure P2PSP structure.