Skip to main content
Department of Information Technology

Lab stuff

The teaching assistant for this lab is Ahmed Rezine (mailbox 145 in building 1, 4th floor)

News

  • I am back in my office. You can drop by both Wednesday and Friday afternoon 15.30-17.00. You can of course send mails any time !
  • If your system complains about not finding the nameserver, just start one of your own ! to do so start a database named "nameserver"; don't forget to export NS_NAME and NS_PORT !
  • To test the Atomicity requirement, I check if there were changes in the databases after a transaction containg an error (e.g reading a non existing variable) in some operation.

Lab instructions

You can have a look at this presentation. The slides are a bit outdated, in the case where information present there contradicts information found on this page, the latter is the relevant one.

This is a desciption of the lab. Don't forget to fill in a front page for each submission.
You may want to have a look at the online documentation of the skeletton.

Deadlines

First report: March 4th
Second report + implementation: April 9th

It is very important that you submit your final solution (i.e. second report+implementation) on the indicated deadline. Late submissions will be corrected at the end of the academic year, with little chance to submit completions.
When submitting your second report, please join your first report with your TA's comments.

Files

Latest version of the skeletton: 32
The basic startup program: startup.c
A library that might be missing on your system: gdbm.tar.gz, usefull if you plan to work at home.

"Help! I don't know where to start!!!"

If you are lost and overwhelmed by the size of the assignment, I advise you to follow these steps:

  • First, you should be able to run the skeleton using one middleware and one database.
  • Next, you can try to improve the skeleton so that several databases can be used.
  • Implement atomicity (using logs or private workspace)
  • Modify to get several middlewares to cooperate. Each middleware will probably need to know how to contact/communicate with other middlewares.
  • Implement isolation.
  • When you reach this step, you are done. Congratulations!

Updated  2007-04-03 09:29:15 by Ahmed Rezine.