System Documentation for
the Distributed Database System
The Distributed Database program was developed as a fourth year project in the distributed systems course in the department of Computer Science at the University of British Columbia (www.ugrad.cs.ubc.ca/~cs416). This project was completed by Jennifer Fung and Philip Henderson. Some of the code was also provided by the professor for the course, for the IPC section. This application was written entirely in Java, and uses TCP/IP as the basis for other higher level communication protocols.
Overview of the design:
The distributed database system (DDS) is built using a remote procedure call (RPC) protocol for the remote invocation of methods on a remote database server by a remote client. The RPC protocol was developed on top of an IPC (inter-process communication) layer to handle reliable message passing between computers using "at-most-once" semantics.
When the system is running, there are actually three programs running in concert: a Database Server application, a Name Server application, and a Database Client application. Both the Database Server and the Database Client applications use the Name Server to register their classes and distributed objects for other remote machines to use.
All three of these applications use Java reflection technology to allow all
remote invocations to be handled by a parent proxy class (Client proxy or Server
Proxy) on generic objects.
The rest of the documentation for this project is organized as follows:
[PhilipHenderson.com Home][Portfolio index]