Reliable multicast algorithm