The P2PSP relies on the UDP as the transport protocol and, obviously, packet losses can happen. The impact of a packet loss in the QoS oﬀered by the team depends on where the packet is lost. If the packet is lost in its trip between the splitter and a peer, this packet will be missed by all the peers of the team, included the monitor peers. However, if the packet is loss in the trip between two peers, only the destination peer will loss the chunk.
Only monitor peers tell the splitter which chunks have not been received on time. More speciﬁcally, a monitor peer sends to the splitter a [lost chunk index ] loss report message when a chunk with chunk-number has been lost. Using this information, the splitter can enumerate the number of times that a chunk has been lost. In this framework, the LRS module deﬁnes that the splitter resend a lost chunk stored in the location of its buﬀer of chunks if the number of losses is equal to the number of monitor peers. The selected peer to resend this block will one of the monitor peers.
Notice also that, in this case, monitor peers should become aware of a chunk loss some time before of that the rest of peers of the team send it to their players, in order to have enough time to resend the lost chunk from the monitor peer to the rest of peers of the team. A simple technique that has been proven to work is to use in the monitor peers a buﬀer size of half the size of the buﬀer size of the rest of peers. Thus, when a monitor peer realizes that a chunk has been lost, the rest of peers are receiving those chunks that are approximately in the middle of their buﬀers. Now, if the buﬀer if large enought, the resent chunks should be received on time. This implies also that, if the LRS module is implemented, the buﬀer sizes in (standard) peers should be doubled and therefore, it holds that