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 serialization. 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 and Java files. We allow 3-4 afternoons for this project.
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 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. 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 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 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.