3 P2P architectures

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 [13] and Scattercast [5], define 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 [7], Scribe [4], NICE [2], ZigZag [24] and BulkTree [1], distribute the peers in a tree (that in the end is a specific 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, effect 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 configuring leaf peers as root peers in other tree, approach that has been used in Zebra [8], CoopNet [19], SplitStream [3] and Orchard [17], albeit that the rest of problems remains.

In order to improve the robustness of the overlay, some protocols such as Narada [26], Yoid [11], PULSE [21] and Bullet [14] propose a tree/mesh-pull structure, similar to the one used in BitTorrent [6]. This architecture has been also utilized in the PPSP [12]. 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-notified 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 configuration. A pure P2PSP overlay lies in one of the extremes of this spectrum of P2P streaming algorithms because it can be clasiffied 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 2). 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 different configurations 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.


PIC PIC PIC

Figure 1: Different usage levels of the P2PSP. On the left, a pure C/S system where the content provider sends 9 copies of the stream to six clients Cij by means of a server S and three proxies P1, P2 and P3. On the righ, a pure P2PSP system where the content provider sends 1 copy of the stream. In the middle, a mix of both models which requires to send 6 copies of the stream.