“…Producing a reliable multicast protocol that scales well with the number of receivers, in terms of network traffic and the processing required of the source and receivers, has proven to be a challenge, as demonstrated by the number of approaches taken in the past (e.g., [5,7,9,11,12,14,15,19,21,20,[27][28][29]). Moreover, as protocols for multicast error control are developed, mechanisms must also be developed for multicast congestion control [3,6,17], similar to those developed for such unicast reliable protocols as TCP [8].…”