Homework Assignment 4
Tomohiro Oda
- Initial Project Idea
ChooChooMessenger is a communication tool for a comunity. Users (or clients) of a community form a circle and documents are passed around the circle. For example, assuming that there are 4 participants in a community, namely A, B, C, and D, a document X is posted by A, then the document X is passed to B. If B want to edit it, B can edit it and passes X' to C. Or, B can just pass X as it is. It looks like messages traveling around a circle of a community.
- Project Goal
- Provide a communication media which
- does not disturb participant by conflicts
- actively delivers shared artifacts
- Integrate with EDC as communication tool in personal space;
for example, every participant in EDC has PDA and ChooChooMessenger carries with questionaries, checklist, or memorandum.
- Comparison to other communication tools
In most of communication tools, documents or messages are stored in a server and users share them. When you edit a document, you will (1) make a copy of a document and overwrite the old document(e.g. Swiki), or (2) directly edit a shared document(e.g. Whiteboard systems). Problem of this style of communication mechanism is syncronization and conflict solving. ChooChooMessenger does not have this issue by its nature; a message can be held by only one user at most.
E-mail takes another form of mechanism as a communication tool. It just distribute a copy of message to every participant. This arises another issue; which copy is the true copy? Suppose that you submit your paper to your reviewers and each of them edits your document and return it to you. You will have to solve conflicts among corrections. In ChooChooMessenger, you have the only one copy of a document.
- Design and implementation issues
Design decision of ChooChooMessenger has to be made in the following points.
- central server v.s. peer to peer connection
If you make a connection directly to the next participant, reliability issue will arise. What if a client program suddenly dies? What if your client lose network connection while you hold a messsage? Central server can solve those reliability issues, but it will make redundant overheads and may cause a heavy traffic.
- How to handle various kinds of documents
MIME-like encoding protocol is one possibility.
|