Language

Search

4.7 LRS (Lost chunks Recovery Set of rules)

The P2PSP relies on the UDP as the transport protocol and, obviously, packet losses canhappen. The impact of a packet loss in the QoS oﬀered by the team depends on wherethe packet is lost. If the packet is lost in its trip between the splitter and a peer, thispacket 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 thechunk.

Only monitor peers tell the splitter which chunks havenot been received on time. More speciﬁcally, a monitor peerPsends to the splittera [lost chunk index x]loss report message when a chunk with chunk-numberxhas been lost. Using this information, the splitter can enumerate thenumber of times that a chunk has been lost. In this framework, the LRSmodule deﬁnes that the splitter resend a lost chunk stored in the locationxmodMof itsbuﬀer of chunks if the number of losses is equal to the number of monitor peers. Theselected 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 losssome time before of that the rest of peers of the team send it to their players, in order tohave enough time to resend the lost chunk from the monitor peer to the rest ofpeers of the team. A simple technique that has been proven to work is to use inthe monitor peers a buﬀer size of half the size of the buﬀer size of the rest ofpeers. Thus, when a monitor peer realizes that a chunk has been lost, the restof peers are receiving those chunks that are approximately in the middle oftheir buﬀers. Now, if the buﬀer if large enought, the resent chunks should bereceived on time. This implies also that, if the LRS module is implemented, thebuﬀer sizes in (standard) peers should be doubled and therefore, it holds that