CSCI-4220 Network Programming

Spring 1999

 

Project 5 - Multiuser Chat System
Due Date: April 19th

Submission Instructions


Chat

This project involves the design and implementation of a "chat" system capable of supporting multiple users. You need to design the system, including the architecture (could be client/server peer-to-peer or some combination) and the application protocol. There are a few general things to keep in mind when designing the system:

There are many tradeoffs involved, and there is no "best" design. You should decide what you want to focus on and build your system to optimize those parameters. For example, you could decide that system response time is the most critical issue and design your system to minimize response time even though you might sacrifice scalability or perhaps robustness. You decide what is important and design your system accordingly.

Your design is a large part of the project. If you are agressive with your design (you decide to build the absolute best system), then I don't expect you to be able to complete the implementation. If you are more interested in doing a complete implementation, you should settle for a system design that is sub-optimal.

Please contact Dave if you have ideas you want to discuss, or aren't sure which way to go. The general idea is that you get some experience designing and implementing your own system, as there are numerous issues that you won't ever be exposed to when implementing existing protocols.

Some Ideas: Below are some ideas on non-typical systems you might want to consider. There is no problem with developing a simple system, these are just some fancy ideas...

If you would like to take on a large project and want to team up in a small group - send Dave email with a (brief) proposal of your project and the number of people involved. You must get approval to work on a team project.