CS 6543 Computer Networks - Homework 2: Implementing a Decentralized Peer-to-Peer Network , Assignments of Computer Science

Homework 2 for cs 6543 computer networks course taught by dr. Turgay korkmaz during spring 2009. Students are required to implement a simplified fully decentralized peer-to-peer network using sockets in c or java to share resources. Each peer should print its host-name and port number, ask for resources and neighbors, and flood queries when a requested resource is not available. Documentation, implementation, and execution are graded.

Typology: Assignments

Pre 2010

Uploaded on 07/30/2009

koofers-user-6iy
koofers-user-6iy 🇺🇸

10 documents

1 / 1

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
CS 6543 Computer Networks
Spring 2009
Instructor Dr. Turgay Korkmaz
Homework 2
Due date is Feb 13, 2009 (5:00pm)
In this assignment, you will use sockets in C or Java (or any other language) to implement a simplified fully
decentralized peer-to-peer network to share some resources (e.g., files) in the Internet.
You will implement a single peer program that will be run on several times on the same or different
computers.
Each peer will be identified by its host-name and port-number (you can give port-number as a parameter).
host-name> peer port-number
After executing a peer application,
1. it should print out its own host-name and port number
2. it should ask user to enter a list of resources/files that are stored on this peer (to simplify things, you
can just store the names within the program, there is no need to create actual files)
3. it should ask user to enter neighbor peers (their host-names and port-numbers) so that this peer can
connect to others to create a peer-to-peer network.
4. then in a infinite loop, it waits for other peers or user to make a request
a. other peers may initiate a connection to be neighbor, or send a query for a resource
b. a user usually asks for a resource. If the peer does not have it, it should flood a query through
the peer-to-peer network and download the resource from the peer that has it.
You are asked to design and implement the necessary peer.c application and protocols for peer-to-peer
communications.
If needed, you can make other assumptions; but, the core of this assignment is to show that your peers are
able to establish a peer-to-peer network and are able to find a resource in this network using flooding.
When implementing your program, please include extra printf statements so that I can follow your protocol
and how it works.
GRADING (Total grade will be 100 points.)
1. (20 points) Documentation (e.g., protocol design (msg formats, order, actions))
2. (50 points) Implementation (your source code and makefiles)
3. (30 points) Execution (give the output of your program for a few cases)
Please put all your documentation, source, output files under a directory called
LASTNAME-hw2, then ZIP this directory as a single file and submit it using WebCT.
Please after submission, DO NOT change or delete your soft copies, we might execute them later
together for grading.
Page 1 of 1CS 6543 Computer Networks
1/30/2009htt
p
://www.cs.utsa.edu/~korkmaz/teachin
g
/cs6543/assi
g
n/hw-02.htm

Partial preview of the text

Download CS 6543 Computer Networks - Homework 2: Implementing a Decentralized Peer-to-Peer Network and more Assignments Computer Science in PDF only on Docsity!

CS 6543 Computer Networks

Spring 2009 Instructor Dr. Turgay Korkmaz

Homework 2 Due date is Feb 13, 2009 (5:00pm)

In this assignment, you will use sockets in C or Java (or any other language) to implement a simplified fully decentralized peer-to-peer network to share some resources (e.g., files) in the Internet.

You will implement a single peer program that will be run on several times on the same or different computers.

Each peer will be identified by its host-name and port-number (you can give port-number as a parameter). host-name> peer port-number

After executing a peer application,

  1. it should print out its own host-name and port number
  2. it should ask user to enter a list of resources/files that are stored on this peer (to simplify things, you can just store the names within the program, there is no need to create actual files)
  3. it should ask user to enter neighbor peers (their host-names and port-numbers) so that this peer can connect to others to create a peer-to-peer network.
  4. then in a infinite loop, it waits for other peers or user to make a request a. other peers may initiate a connection to be neighbor, or send a query for a resource b. a user usually asks for a resource. If the peer does not have it, it should flood a query through the peer-to-peer network and download the resource from the peer that has it.

You are asked to design and implement the necessary peer.c application and protocols for peer-to-peer communications. If needed, you can make other assumptions; but, the core of this assignment is to show that your peers are able to establish a peer-to-peer network and are able to find a resource in this network using flooding.

When implementing your program, please include extra printf statements so that I can follow your protocol and how it works.

GRADING (Total grade will be 100 points.)

  1. (20 points) Documentation (e.g., protocol design (msg formats, order, actions))
  2. (50 points) Implementation (your source code and makefiles)
  3. (30 points) Execution (give the output of your program for a few cases)

Please put all your documentation, source, output files under a directory called LASTNAME-hw2, then ZIP this directory as a single file and submit it using WebCT.

Please after submission, DO NOT change or delete your soft copies, we might execute them later together for grading.

CS 6543 Computer Networks Page 1 of 1

http://www.cs.utsa.edu/~korkmaz/teaching/cs6543/assign/hw-02.htm 1/30/