Distributed Systems: Concepts and Design
|
Home | | | References | | | Instructors Guide | | | Contents | | | Preface | | | Authors | | | Errata | | | Additional Material | | |
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.
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.
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.
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.
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.
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.
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 | | |