The lack of deployment in today's Internet limited the utilization of the IP-layer multicast in group communication applications. End-system multicast systems, or application layer multicast systems, use the multi-hop IP unicast links among end-system nodes to carry group communication payload and have been widely accepted as the substitution of the IP-layer multicast.
However, designers of end-system multicast systems are facing a few issues, i.e. the multicast group membership management and the system efficiency in utilizing the network resources.
Peer-to-peer networks provide an effective way to discover and exchange information among large number of end-systems. Using the peer-to-peer protocols, loosely-coupled end-system nodes can be organized into a fault-tolerant overlay network, over which various multicast services can be deployed.
The goal of this project is to help you understand the art-of-date research works in this area and the practical issues in designing and implementing a real multicast system. This project can be done in 1 or 2 phases.
In the first phase, you will read a list of papers about peer-to-peer networks and end-system multicast systems. The reading will help you understand the issues in designing and evaluating end-system multicast protocols, and the approaches adopted by those projects solving those problems. You will be requested to submit a survey report.
In the second phase, you will use Java and Java RMI to implement an end-system multicast protocol over an open-source P2P network system. As the deliverable, you will be requested to give a demo of your system or the evaluation results of the performance of your system over the Planet lab.
No prior knowledge about P2P network or End System Multicast is required for Phase 1.
Java and Java RMI programming skill will be extensively used for Phase 2
References for Phase 1
 A. Rowstron and P. Druschel. Pastry: Scalable, decentralized object location, and routing for large-scale peer-to-peer systems. Lecture Notes in Computer Science, 2218, 2001.
 M. Castro, P. Druschel, A. Kermarrec, and A. Rowstron. SCRIBE: A large-scale and decentralized application-level multicast infrastructure. IEEE Journal on Selected Areas in communications (JSAC), 2002
 Gnutella protocol specification v 0.4 http://www9.limewire.com/developer/gnutella_protocol_0.4.pdf
 Y.-H. Chu, S. G. Rao, and H. Zhang. A case for end system multicast. In ACM SIGMETRICS. ACM, 2000.
 S. Banerjee, B. Bhattacharjee, and C. Kommareddy. Scalable application layer multicast. In Proc. of ACM SIGCOMM, 2002.References for Phase 2
Planet Lab, http://www.planet-lab.org/