University of Helsinki Department of Computer Science
 

Department of Computer Science

Department information

 
University of Helsinki / Department of Computer Science / Copyright © 2003 Jan Lindström.

Course descripion


Lectures


Material


Exercises


Project

Implement distributed data management. The data may be something just as simple as an integer vector. You may also choose a different structure for your data.

The client takes read, write, rollback and commit commands from the user, and calls the services from a local txn coordinator. That is, the user's client program does not know about the distribution.

The local txn coordinator needs to know how the data is distributed to call the services of distributed resource managers. Use separate calls for locking and actually accessing the data items, e.g. first lock data item X and separately read or write X.

The distributed resource managers manage distributed locks and and data.

Implement 2PC for distributed commit. You do not need to implement durability or 2PC recovery. This means, in particular, that you do not need to write logs.

You can use the example LockManager implementation as a basis for your coursework and modify it to include the required features. Additional documentation is not required, if the source code is commented properly. However, include a README.txt file in your packet. In the README-file put all the required commands to compile and run your distributed data manager and include a "use scenario", which intuitively shows the functionality of your implementation. The use scenario should explain how many servers and clients are started (and the commands to start them) and the commands to be typed for the clients. Add System.out.priltln-commands to the client and server programs, which show what is going on in the programs (i.e. when locking and releasing objects or reading or updating data items).

Project work is due to 31.1.2004. Compress all your source files and the README.txt file to a single zip- or tar-packet and return the packet by email to Toni Strandell.

The coursework is an obligatory part of the course and is required to be returned by 31.1.2004 in order to pass the course. The project may raise your grade, but not lower it.


Exam



Jan Lindström (Jan.Lindstrom@cs.Helsinki.FI)