CS 4953 Special Studies in Computer Science:
Advanced Topics in Concurrency and Communication Fall 2003

Each student will do a term project that counts 40% of the grade for the course.

No two students will work on the same project.

Some proposed projects are listed below, but students are encouraged to propose their own projects.

Project proposals must be approved by the instructor even if they are chosen from the list below.

Projects must be related to concurrency or communication, preferably both.

  1. Simple remote procedure call (RPC) based on UDP.
    It must at least be able to handle int and string parameters and return values of type void, int and string.
    For some (outdated) background on RPC, see PUP, Chapter 14.
  2. Server performance (USP Chapter 22).
  3. Threaded file synchronization.
    Synchronize the regular files on directories (and subdirectories) of two machines so that they contain the same files with older files replaced by newer one.
  4. A simple threaded web server.
  5. A stateless file server using UDP (USP Section 20.11).
  6. Internet radio (USP Chapter 21).
  7. Distributed make.
    You may assume that all machines share a filesystem.
    The input does not have to be in the form of a makefile.
    Assume that the components of a target already exist except for the last target.
  8. WWW Redirection (USP Chapter 19).
    The scope will depend on whether you did some of this in OS.
Schedule: Project assignments as of 10/2/03: Final Presentations

The following will present on Thursday, November 20:

The following have to be ready with their final presentations on Tuesday, November 25: The following have to be ready with their final presentations on Tuesday, December 2: Everyone who does not get to present before the final exam time will give their presentation on Tuesday, December 9 between 10:30 AM and 1:15 PM.

What to hand in and when
By December 9 at 10:30 AM you must hand in to me the following: