JOURNAL OF UBIQUITOUS CONVERGENCE TECHNOLOGY, VOL.1, NO.1, OCTOBER, 2007 Manuscript received March 10, 2007; revised Aug. 15, 2007. * 601 M.L.King Jr Dr, Department of Computer Science, Winston- Salem State University, Winston-Salem, NC 27110, USA ** 708-113 Anyang 5-Dong, Manan-Gu, Anyang-Shi, Kyeonngi-Do, Major in Digital Media Engineering Dept., Anyang University, South Korea *** 660 Woosan-dong, Wonju-Shi, Kangwon-Do, Department of Computer Science, Sangji University, South Korea Packet Loss Patterns Adaptive Feedback Scheduling for Reliable Multicast Jinsuk Baek*, Cheonshik Kim**, and You-Sik Hong*** Abstract—Tree-based reliable multicast protocols provide scalability by distributing error-recovery tasks among several repair nodes. These repair nodes perform local error recovery for their receiver nodes using the data stored in their buffers. We propose a packet loss patterns adaptive feedback scheduling scheme to manage these buffers in an efficient manner. Under our scheme, receiver nodes send NAKs to repair nodes to request packet retransmissions only when the packet losses are independent events from other nodes. At dynamic and infrequent intervals, they also send ACKs to indicate which packets can be safely discarded from the repair node’s buffer. Our scheme reduces delay in error recovery because the requested packets are almost always available in the repair node’s buffers. It also reduces the repair node’s workload because (a) each receiver node sends infrequent ACKs with non-fixed intervals and (b) their sending times are fairly distributed among all the receiver nodes. Index Terms—Reliable Multicast, Temporal locality, Spatial locality, Feedback schedule 1 Introduction This A growing number of network applications, such as bulk data transfer, distance learning, video- conferencing, data feeds, Internet TV, Web cache update, and distributed interactive gaming, require a sender to distribute the same data to a large group of receivers. These applications fall in the category of group communication as opposed to traditional one-to-one communication. Multicasting, that is the delivery of a single message to multiple recipients using the same IP address, is the only efficient and scalable solution to support this kind of application. One of the most difficult issues in end-to-end multicasting is that of providing an error-free transmission mechanism [4]. IP multicast does not guarantee reliable packet delivery as it uses best efforts transmission mechanism. Hence, lost or damaged packets should be retransmitted from the sender or some other node. This process can be performed at the transport layer. The standard method for providing reliable unicast is positive acknowledgements (ACKs). It requires the receiver to send an ACK for each packet that it has received. The sender keeps track of these ACKs and retransmits all packets that have not been properly acknowledged within a given time window [3]. TCP [13] is a well-known protocol using positive ACKs to provide reliable unicast. The same approach fails when applied to reliable multicasts because of the ACK implosion [1]–[12], [14] it creates. Since each receiver has to acknowledge each packet it has correctly received, the sender’s ability to handle these ACKs limits the number of nodes participating in a reliable multicast. Among the many protocols [1]–[12], [14], most recently, overlay reliable multicast protocols, controlling and maintaining an efficient overlay for data transmission, have been proposed. However, there are still many issues to be considered including addressing and advertisement, path quality measurement, tree refinement, and failure recovery. In this paper, we focus on the tree-based protocol that has been known to provide high scalability and reliability. They construct a logical tree at the transport layer for error recovery. This logical tree comprises of three types of nodes: a sender node, repair nodes, and receiver nodes. The sender node is the root of the tree and controls the overall tree construction. Each repair node maintains, in its buffer, all the packets it has recently received and performs local error recovery for all its group member nodes. As a result, tree-based protocols achieve scalability by distributing the server retransmission workload among the repair nodes. In the tree-based protocols, one of the most important open issues is when and how frequently the receiver nodes have to send ACKs to their repair node in a local group. The ACK for every successfully received packet causes ACK implosion at the repair node while the ACK with a long interval definitely delays the repair node’s buffer refreshment timing. On the other hand,