Reference no: EM132308849
Assignment - Peer-to-Peer Overlay and File Sharing
In distributed computing, a peer is both a client and a server at the same time, being able to request services from other peers or providing services to other peers. For the general knowledge about Peer-to-Peer (P2P) systems, you can read the following academic article.
Rodrigues, R., Druschel, P., 2010. Peer-to-Peer Systems, Communications of the ACM. 53(10), 72- 82.
In this assignment, you are to develop programming skills of peer via a particular application - Peer-to-Peer Overlay and File Sharing. Among many P2P applications, file sharing is a typical application to share available files across all peers of an overlay. In this assignment, you will need to upgrade a client and a server into a peer. The peers are to form an overlay by IP multicast and the files of a peer can be shared by any other peers. When a peer needs a file, it will multicast the file name to the peer overlay and the peer that has the file will upload the file to the requester peer. To search for a file, a UDP datagram via IP multicast is used. Once the file is found, upload/download of the file is to use TCP streaming to fit for any possible type and length of the file. To complete this assignment, you need to complete the following 2 parts.
Part 1: Peer overlay design and implementation
In this part, you are to develop the simplified P2P file sharing system. The assumptions on the system are specified as follows.
1. Peers form a networking overlay by IP multicast (reference to Chapter 4.4 of the textbook, Week 5 lecture slides, Week 6 lab projects, and search for other academic articles about IP multicast if necessary).
2. Each peer has a unique ID.
3. Each peer has a number of files that can be shared by other peers.
4. Each peer can multicast a file sharing request to all other peers in the overlay. To simplify the problem, we assume that the request file can always be found and can only be found from a single peer.
5. Once the file is found, the requester peer (the one who requests the file) will download the file from the supplier peer (the one who possesses the file).
6. The shared files can be in any type and any length.
7. A peer needs to ignore the requests from itself because by default IP multicast sends a message to every peer on the overlay.
Part 2: Documentation
After the implementation of the framework, prepare a document to include:
1. An end user' instruction about how to compile, run and test your system.
2. The key issues about upgrading a client and a server to a peer and overlay forming.
Attachment:- Assignment File.pdf.rar