A Cooperative Reliable Multicast Protocol (CRMP) has been developed to improve real-time data transmission onthe Internet Multicast Backbone (MBone) by adding a retransmit server and some repair servers to the multicastsession in order to recover lost packets. This paper describes a design and implementation of CRMP with Localrecovery (L-CRMP), an extension to the original CRMP. In L-CRMP, each repair server can work as a local serverthat retransmits packets to other repair servers that do not receive them from the source. Our goal in L-CRMP is toreduce the network overhead caused by retransmission packets while keeping the effective loss rate at the receiversapproximately the same.Keywords: MBone, Reliable Multicast, Local recovery 1. INTRODUCTION Real-time multicast applications are transmitted over the Internet through MBone (Multicast Backbone), a logicalnetwork running on top of the IP layer.1'2 Many of them, such as vat (Visual Audio Tool) or nv (Network Video),are based on RTP (Real-time Protocol) that does not support reliability. These applications may often experiencepoor quality due to large packet loss.3'4 A protocol, Cooperative Reliable Multicast Protocol (CRMP), is proposedin reference5 to alleviate the problem. A unique feature of CRMP is that it can be used with the current MBoneapplications without changing the operation of the source or receivers. Receivers that participate in CRMP coexistwith those that do not, but enjoys a better quality.Most reliable multicast protocols are designed for data transmission which requires perfect reliability but isresilient to delay, e.g.,6'7 and references therein. CRMP is however designed for real-time applications and exploitsthe fact that they do not require perfect reliability and, due to their stream nature, do not need acknowledgementfor every packet. In a large heterogeneous network, the delay between the retransmit server and some of the repairservers may be excessive. This motivates our extension of the original CRMP to include local recovery. It exploitsthe fact that loss at different repair servers is not synchronized, and therefore, a retransmission request of a repairserver may be fulfilled by a nearby repair server that has received the packet. In this paper we present a designand implementation of CRMP with local recovery (LCRMP), and evaluate its performance. In addition to local