Distributed Systems: Concepts and Design
Edition 3

By George Coulouris, Jean Dollimore and Tim Kindberg
Addison-Wesley, ©Pearson Education 2001

Home | References | Instructors Guide | Contents | Preface | Authors | Errata | Additional Material |

Instructors' Guide: PROJECTS

The six projects currently offered here were designed as laboratory work for students studying various topics presented in the book. All of the projects have been tested in teaching at Queen Mary and Westfield College. We have attempted to remove any local dependencies, but cannot guarantee that they have all been eliminated.

Project 1. The design and implementation of RMI using Java

This project is intended to reinforce the material in Section 5.2.5 on the implementation of RMI and the material in Section 4.3 on marshalling and Java object serialisation. It also gives students experience in the use of the Java API to TCP sockets (Section 4.2.4) and of the use of reflection in Java.

This project is available as a set of Browsable pages on the book web site. It is also available as a downloadable Archive of html pages. We allow 3-4 afternoons for this project. This project was designed for third year undergraduates.

Note: the documentation for Project 1 was corrected on June 26 2001, when the file simpleregistry.java was found to be missing. To avoid confusing it with the file SimpleRegistry.java, it has been renamed SimpleRegistryServer.java. Corresponding changes have been made in the documentation.

Project 2. The design and implementation of a sequencer multicast protocol using Java

This project reinforces the material in Section 11.4.3 on how to achieve total ordering with a sequencer. It also gives students experience in the use of the Java API to IP multicast (Section 4.5.1). We allow 3-4 afternoons for this project. This project is available as a set of Browsable pages on the book web site. This project was designed for third year undergraduates.

Project 3. The design and implementation of a Task Bag server using CORBA or Java RMI

This project is loosely based on the Linda model for parallel computation and consolidates the knowledge from Chapter 12 about synchronization in servers. If the CORBA variant is chosen, it gives students experience in the use of CORBA which is presented in Chapter 17. This project is available as a single Browsable page on the book web site. We allow 3 half days for this project. This project was designed for masters degree students. Those using CORBA should be aware that Section 17.2.1 is described for Java 2 version 1.3 or earlier. For version 1.4 see Java CORBA with Java version 1.4.

Project 4. The use of the Unix interface to UDP sockets to implement a simple RPC framework in C++

This project consolidates the basic knowledge about RPC implementation in Chapters 4 and 5 and gives students experience in constructing programs that use Unix sockets with UDP. This project is available as a Browsable page on the book web site, together with a sample program and a downloadable PDF file containing notes on Sockets in Unix. We allow 3-4 afternoons for this project. This project was designed for third year undergraduates.

Project 5. Operating systems experiments

This project is designed to exemplify and explore some of the issues raised in Chapter 6. Ideally the experiments should be undertaken before the study of Chapter 6. They require an understanding of the basics of operating systems and interprocess communication. There are two sets of experiments, we allow two afternoons for each set. This project is available as a Browsable page on the book web site. This project was designed for masters degree students.

Project 6. A prototype for a stateless file server and its cache mechanisms

This project is designed by Kohei Honda of the Department of Computer Science at Queen Mary, London University. It illustrates the concepts about file servers and caching described in Chapter 8 by requiring the student to make a stateless file server and a client library that implements caching. This project is available as a set of Browsable Pages on the book web page. This project is designed to be carried out by individuals, taking about 3-4 afternoons. This project was designed for third year undergraduates.

Home | References | Instructors Guide | Contents | Preface | Authors | Errata | Additional Material |