The goal was to create a fault tolerant and efficient distributed file sharing system. We did feasibility studies with RMI, P2P, TCP and UDP sockets and finally chose P2P over TCP sockets for all communications. The application consisted of 3 actors – Peers, Trackers and Registries.

Peer – Search and download and upload files

Tracker – Trackers index all the files in the system and keeps track of Peer workloads

Registry – Registry keeps track of all the active Trackers in the system and their workloads

The professor praised how close we came to building a fully functional P2P system in the given time. The project received an A+