develop Peer-to-Peer application - content distribution

Assignment Help JAVA Programming
Reference no: EM133228882

Assignment - Team-based Project of Peer-to-Peer Content Distribution and Distributed Query

The application background -

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 provide services to other peers. For general knowledge about peers, 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 a particular Peer-to-Peer (P2P) application - content distribution and distributed query. The application allows peers to form an overlay and share information on the entire peer overlay. In this assignment, you will need to upgrade a client and a server to a peer. The peers are to form an overlay by IP multicast and the information held by a peer can be shared by any other peers. When a peer (requester) queries a question, it multicasts a request including the question to the peer overlay. Any peers (repliers) that have an answer to the question will respond to the requester. To query a question, a UDP datagram via IP multicast is used.

Once the answer is found, replying the answer is to use another separate UDP communication between the requester and the replier. To complete this assignment, you need to complete the following 2 parts. In addition to multithreading and UDP packets, IP multicast must be used to form the peer overlay. Thus, you will need to review 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) before starting the assignment. Client/server model is also useful for this assignment as a peer is a client and a server at the same time.

The assignment specification is as follows.

Part 1 - Software Development and Documentation

In this part, you are to develop a simplified system of Content Distribution and Distributed Query.

The assumptions on the system are specified as follows.

1. Each peer has a unique ID.

2. Peers form a networking overlay by IP multicast.

3. Each peer has answers to some questions that can be shared by other peers.

4. Once a peer has a question, it needs to compose a request, including the question and communication information such as the reply IP address and port number.

5. Each peer can multicast a query request to all other peers in the overlay. After that, the peer is waiting on the reply port for answers.

6. To simplify the problem, we assume that the answer to a query question can always be found from at least one peer.

7. Once the answer to the question is found, the replier peer (the one who has the answer) will use a UDP datagram to send the answer to the requester peer (the one who asks the question).

8. A peer needs to ignore the requests from itself because by default IP multicast sends a message to every peer on the overlay.

The aforementioned rules have shown the equity between peers, that is, every peer is both a client and a server to share contents by distributed processing. Your implementation must satisfy all the aforementioned requirements in order to get a full mark.

On completion of 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. Description of key potential problems with IP multicast.

Part 2 - Teamwork Report

A student, who completes the whole project as a member of a productive team, is to prepare a document in the following format and address the following questions.

Template A

1. Team Details

a. Team Name (optional):

b. Your Name and Student ID:

c. Team Leader (Name and Student ID):

d. Other Team Members (Name and Student ID):

2. Teamwork Report

a. Describe team forming, task assigning and your role and responsibility, and the project timeline

b. Describe how the teamwork is conducted for the project

c. Describe a collaborative problem in the teamwork and how the problem is negotiated and solved by the team.

A student, who separates/quits a team in the middle of project, is to prepare a document in the following format and address the following questions.

Template B -

1. Team Details

a. Team Name (optional):

b. Your Name and Student ID:

c. Team Leader (Name and Student ID):

d. Team Members (Name and Student ID):

2. Teamwork Report

a. Describe team forming, task assigning and your role and responsibility, and the project timeline

b. Describe why the teamwork has failed.

c. Describe and justify the impact on you and other team members caused by the failure of teamwork.

Attachment:- Project of Peer-to-Peer Content Files.rar

Reference no: EM133228882

Questions Cloud

Write an essay about Turkmenistan : Write an essay about Turkmenistan. Please use the word file as guide and the both presentations to the analysis and use them as tools
Insightful personal viewpoints on article success : What are the Insightful personal viewpoints on the article's success (or lack thereof) and its findings in this passage?
Estimate the number of apples produced per year : Estimate the mass of food and water that a team of six astronauts would need for a standard two-year mission to Mars. (Note: the two years includes the round tr
What is the angular separation of the sirius a and b : If you googled it, you have already learned that Sirius is in fact two stars, though that's not why it looks so bright. Its companion star is actually very fain
develop Peer-to-Peer application - content distribution : In this assignment, you are to develop a particular Peer-to-Peer (P2P) application - content distribution and distributed query
Why is the size of the terrestrial worlds key here : So why is the size of the terrestrial worlds key here? Also what do I mean by size and why is it important to be specific here?
Tacitus implies that germanicus : Tacitus implies that Germanicus would have been able to win a much fuller victory over the Germans had he been allowed to continue there
Relationship in environmental-political and economic factor : How did the relationship between environmental, political, and economic factors
Indian caste system : In what ways is the Indian Caste System is similar to our understanding of social classes in America today?

Reviews

Write a Review

JAVA Programming Questions & Answers

  Recursive factorial program

Write a class Array that encapsulates an array and provides bounds-checked access. Create a recursive factorial program that prompts the user for an integer N and writes out a series of equations representing the calculation of N!.

  Hunt the wumpus game

Reprot on Hunt the Wumpus Game has Source Code listing, screen captures and UML design here and also, may include Javadoc source here.

  Create a gui interface

Create GUI Interface in java programing with these function: Sort by last name and print all employees info, Sort by job title and print all employees info, Sort by weekly salary and print all employees info, search by job title and print that emp..

  Plot pois on a graph

Write a JAVA program that would get the locations of all the POIs from the file and plot them on a map.

  Write a university grading system in java

University grading system maintains number of tables to store, retrieve and manipulate student marks. Write a JAVA program that would simulate a number of cars.

  Wolves and sheep: design a game

This project is designed a game in java. you choose whether you'd like to write a wolf or a sheep agent. Then, you are assigned to either a "sheep" or a "wolf" team.

  Build a graphical user interface for displaying the image

Build a graphical user interface for displaying the image groups (= cluster) in JMJRST. Design and implement using a Swing interface.

  Determine the day of the week for new year''s day

This assignment contains a java project. Project evaluates the day of the week for New Year's Day.

  Write a java windowed application

Write a Java windowed application to do online quiz on general knowledge and the application also displays the quiz result.

  Input pairs of natural numbers

Java program to input pairs of natural numbers.

  Create classes implement java interface

Interface that contains a generic type. Create two classes that implement this interface.

  Java class, array, link list , generic class

These 14 questions covers java class, Array, link list , generic class.

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