Programming Assignment 5

Objective

The objective of this assignment is to extend the P2P network implemented in assignment 4. Your task is to propose an extension, implement it, and evaluate it.

Assignment: "X-P2P"

In this assignment you will use your P2P application from assignment 4 and extend it with additional functionality or modify it to follow a different model, etc. Your task is to propose such an extension (i.e., replace the 'X' in X-P2P with a topic of your choice, e.g., Secure P2P, Real-Time P2P, Multimedia P2P, ...), implement it, and possibly evaluate it. You are required to submit a proposal (at most one page) to the instructor (via email) by April 7 (11.59pm); the instructor will try to respond to each proposal within 24 hours. You are advised to submit a proposal as soon as possible. Your proposal has to specify the enhancement/modification/improvement you suggest, any relevant implementation details (protocols, language, or existing software used, algorithms, etc.), and how you will evaluate your implementation. If you have not successfully completed assignment 4, you can obtain working source code from one of your class mates.

Project Suggestions/Hints

The following list may help you in defining a suitable project that fits your interests:

Grading

The grading will be according to the grading policy on the course webpage. However, the difficulty will be taken into consideration. That is, for 'easier' assignments, errors will be graded stricter, for more difficult projects, the grading will be more lenient. The purpose is to encourage you to tackle trickier problems in your area of interest.

Submission

The due date for this assignment is April 25, 2005, 11.59pm EST. You will use the drop-off boxes (you will find a box with your login name). Make a directory called "project5" and place all required files into this directory (either individually or as one tar file). The required files are: all source files, a Makefile, a README file, and any other files you may consider relevant to the project (test files, etc.). The README file is of particular importance, use it to describe the project, all problems faced, the solutions used, any difficulties encountered, etc. This will help the instructor in judging the difficulty of a project. There is no page limit for the document. No late submissions will be accepted!