EE 382 N Vijay Garg Fall 2004
Term Paper
A term paper is required for EE 382N. The paper will be due on December 2. It should be approximately 10 pages. The source code for the project shoulb be attached as an appendix.

A project should be done by a team of two students. All projects must be done in Java. The list of projects given below is just suggestive; you can work on any other topic related to distributed systems.

Message Logging and Recovery

Implement a process recovery technique in a distributed system based on optimistic message logging.

P2P Systems

Study various algorithms available for P2P data sharing. Implement one of the algorithms.

Comparison of Internet Computing Techniques

The goal of this project is to compare various methods of distributed computing over the Internet. You need to choose three of the techniques available (Web Services, .NET, CORBA, Jini etc.) and implement a simple table service based on all three styles of programming. Compare these programming techniques based on the performance, ease of use and other metrics.

Grid Computing

Implement a toy grid computing system that can be deployed over a local area network. You may make simplifying assumptions such as all computers belong to the same domain and that security is not an issue.

Distributed Simulation

Implement a conservative or an optimistic distributed simulation algorithm.

Distributed Agreement

Implement various algorithms for agreement in asynchronous systems under crash failures. In particular implement Lamport's Paxos based algorithm, Input condition based consensus algorithm by Raynal et al. and Chandra and Toueg's failure detector based consensus algorithm.

Byzantine Agreement

Investigate algorithms for Byzantine agreement proposed in literature. Implement at least two alternative algorithms.