| NetProg Spring 2004 HW6 |
|   Project Description | Deliverables | Grading | Notes |
Submit to WebCT drop box.Late Penalty: 100% No late submissions!Project DescriptionYour assignment is to design a non-trival network service, including the service architecture (peer-to-peer vs. client/server vs. hybrid), choice of transport protocol(s), application level protocol design, and possibly an application level API. You may include a proof-of-concept implementation with your design (although it is not required). If you do submit code, make sure it is in a language we can use to test your implementation on the CS Suns. Your submission must include an RFC type document. You are not restricted to the creation of something that "looks like" an RFC, you can use any format you want (feel free to include diagrams that are drawn with something other than ASCII art!). Your document must be either text, HTML or pdf. If you submit HTML you should make your document(s) available via a web server (submit a URL that will be available until we grade it!). The network service you are to design is a instant messaging system (like AIM, ICQ, MSN instant messanger, etc.). Your design can include the following kind of information:
IMPORTANT: Make sure that your application level protocol is described in a manner that would make it possible for a competent network programmer to build programs that interact with your system. Look at how other RFCs describe application-level protocols for ideas. DeliverablesSubmit your writeup (or URL to your writeup) to the HW6 webct dropbox. If you include a proof-of-conept implementation make sure you include instructions on how to build and run it!. GradingYour grade will be based on how significant your defined service is (don't pick the easiest model of service!), how complete your design is, and how well we think your design will meet whatever requirements you state are important to your system. If you provide an implemenation, this code can make up for some weaknesses in your writeup (a writeup is required, but we will also consider a working implementation as part of the documentation of your system). We won't grade any submissions that include only an implementation! NotesFor this project you have some options available:
Study existing systems (and reference them in your design!). The idea is to provide a design that is better than anything out there, not to design something without even looking at existing systems. If you work on an instant-messaging system, dig around and find out how others work (and try to improve on what exists)! |