I. Introduction
Peer-To-Peer (P2P) video streaming represents a mature area of research with several successful examples to date [1], [2]. The combination of P2P and network coding (NC) has recently received a great deal of attention from the research community as an effective mechanism to aggregate user capacities and to increase system throughput [3]–[5]. In NC-based architectures, the content is organized in independently decodable data units (chunks or generations) and each chunk is further partitioned in blocks. The network nodes create linear combinations of suck blocks and produce coded packets that are transmitted to the network. The packets can be spread in the overlay network using a push approach, where at each transmission opportunity a new coded packet is generated by a peer and forwarded to a neighbor. On the receiver side, a chunk can be decoded as soon as enough coded packets have been collected by solving the system of linear equations corresponding to the collected packets.