Develop the simplified P2P file sharing system

Assignment Help JAVA Programming
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

Reference no: EM132308849

Questions Cloud

Discuss research utilization and evidence-based practice : Discuss the difference between research utilization and evidence-based practice. Must answer the discussion question and address the topic in the reply post.
Define ways you engage in interdisciplinary collaboration : Evidence-based care often calls for interdisciplinary collaboration. This is especially true in the current healthcare climate as diseases often progress more.
Discuss challenges you perceive in abolishing : There are many types of elder abuse. Choose two types and discuss challenges you perceive in abolishing them. Justify why you consider them as the most crucial.
What is the relationship between a and b for a parabola : What polar curve equation is most suitable for an omni-directional microphone? What is the name of the angle between the generator and the axis?
Develop the simplified P2P file sharing system : Peer overlay design and implementation - You are to develop the simplified P2P file sharing system. After implementation of the framework, prepare a document
Examining importance of professional associations in nursing : Choose a professional nursing organization that relates to your specialty area, or a specialty area in which you are interested. In a 750-1,000 word paper.
Do you feel leaders stick to the same leadership style : Do you feel leaders stick to the same leadership style over the span of their career, or does it change based on the environment and with new experiences?
Are you familiar with the affordable care act : You selected Barack Obama as a influential leader in your practice. His characteristics make him a great choice. What examples can you give from how he has.
Formulate first-order differential equation : MLK 510 - Further Analytical Methods for Engineers - Basingstoke College of Technology - BTEC Level 5 HND Diploma in Engineering - apply the Runge-Kutta method

Reviews

len2308849

5/20/2019 2:50:17 AM

Peeer-to-peer overlay file sharing, java, netbeans. Submission - You need to provide the following files in your submission. At least 3 peers in 3 individual folders, of which each folder contains: Files of Java source code of the implementation. The inline comments on the data structure and program structure in the programs are required. These source code files must be able to be compiled by the standard JDK (Java Development Kit) or NetBeans IDE from Oracle. The compiled Java class files of the source code. These Java classes must be runnable on the standard JRE (Java Runtime Environment) or NetBeans IDE from Oracle. At least 1 file for file sharing test.

len2308849

5/20/2019 2:50:07 AM

A Microsoft Word document to address the issues as specified in Part 2 above. All the required files must be compressed into a zip file for submission. You must submit your assignment via the online submission system from the unit Moodle site. Any hardcopy or email submission will not be accepted. After the marked assignments are returned, any late submissions will not be accepted.

len2308849

5/20/2019 2:49:59 AM

The Marking Criteria - Part 1: Peer overlay design and implementation - 1. Whether the peer is able to take the role of being both a client and a server 2 marks, Whether the general structure of peer is sound 2 marks, Whether the overlay in terms of 2 communication channels, one for multicast and the other for file transfer, is structured correctly 2 marks, Whether a peer is able to create and join the IP multicast group 2 marks, Whether a peer is able to multicast a file sharing request by using a UDP datagram 2 marks.

len2308849

5/20/2019 2:49:53 AM

Whether the request encapsulates a peer’s ID, TCP port and file name 3 marks, Whether the request from a peer itself is ignored 2 marks, Whether any type of files can be transferred between any peers 3 marks, Whether a service thread is used when concurrency is necessary 2 marks, Whether the application is compilable and runnable 2 marks, Whether the 3 test peers and their share files are provided 3 marks, Whether ‘file cannot be found’ can be confirmed in a certain period of time 2 marks, Whether the source code is readable and necessary inline comments are provided 2 marks.

len2308849

5/20/2019 2:49:46 AM

Part 2: Documentation - Whether the instruction covers compiling and starting of the application 2 marks, Whether the instruction covers the tests of file sharing 2 marks, Whether the key issues about upgrading a client and a server to a peer and overlay forming are addressed 2 marks. Total 35 marks.

Write a Review

JAVA Programming Questions & Answers

  Modify the homestead furniture store application

Design an application for the homestead furniture store that gets sales transaction data including an account number customer name and purchase price.

  Can swot be valuable on a departmental basis

Can SWOT be valuable on a departmental basis? Can the IT department get something out of their own SWOT analysis?

  Create a new project in ide named exceptionhandler

Write code to accept numbers as described above from the user. Your code should ensure that only numbers are accepted.

  Create class called cashregister based on information given

Create a class called CashRegister based on the information given (Create appropriate constructors, accessors and mutator methods).

  Implement a class in java named separatechaininghashmap

Implement a class in Java named SeparateChainingHashMap containing the following methods. We will use separate chaining to handle collisions.

  Solving programming problems

Write a computer program that will figure out the total of an order when given the amount of the order ($1000) and a sales tax rate of eight percent.

  Create a book class

Create a Book class. In addition to properties of author and isbn, with setters/getters, the Book should override Object's base method "boolean equals(Object)" and have a "boolean validate()" method.

  Create a class with so-called boundarycells

You are to create a class with so-called BoundaryCells. Methods in the class throw exceptions under certain conditions - The constructor has two logical

  Develop both an uml diagram and the corresponding java class

Develop both an uml diagram and the corresponding java class for a New York State Win 4 lottery ticket .

  Swing gui program to make the applet

Each button under Yes or No, when clicked, would respond with a corresponding statement printed in the South border to say

  How many employee objects exist in the heap

Assume you have a class called Employee whose constructor takes two arguments: the employee's name and id number

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd