Skip to Main Content
Tree-based reliable multicast protocols provide scalability by distributing error-recovery tasks among several repair nodes. These repair nodes keep in their buffers all packets that are likely to be requested by any of its receiver nodes. We address the issue of deciding how long these packets should be retained and present a buffer management scheme taking into account the fact that most packet losses happen during short error bursts. Under our scheme, receiver nodes do not normally acknowledge correctly received packets and repair nodes routinely discard packets after a reasonable time interval. Whenever a receiver node detects a transmission error, its send a negative acknowledgement to its repair node and start acknowledging up to k correctly received packets. Whenever a repair node receives a retransmission request, it stops discarding packets that have not been properly acknowledged until it has received k consecutive acknowledgements from each node that had requested a packet retransmission.