4.7 LRS (Lost chunks Recovery Set of rules)

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 offered 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 specifically, a monitor peer P sends to the splitter a [lost chunk index x] loss report message when a chunk with chunk-number x 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 defines that the splitter resend a lost chunk stored in the location xmodM of its buffer 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 buffer size of half the size of the buffer 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 buffers. Now, if the buffer if large enought, the resent chunks should be received on time. This implies also that, if the LRS module is implemented, the buffer sizes in (standard) peers should be doubled and therefore, it holds that

B 2|T|. (6)