CS 596: Client Server Programming
Room Service Project
[To Lecture Notes Index]
San Diego State University -- This page last updated May 12, 1995
In an attempt to reduce the amount of work required for the project, we
have modified the project for the course.
You are no longer required to implement the room scheduler.
You just have to produce a design document.
Read the modified assignment description. An expanded description
of the design document is available now.
State University Institute of Technology (SUIT) wishes to implement an on-line class
room scheduling system (Ross). A class room has the following attributes:
- Size - the number of chairs in the room
- Location - the building containing the room
- Special features - does the room contain a TV, windows, running water, or
an internet connection
- Desirability measure -
- 1: for administrators only
- 2: can be scheduled by administrators, staff and faculty but not by students
- 3: normal class room, anyone can schedule it
- 4: barely usable, who would want to use it?
Class rooms can be reserved for regular classes that meet all semester at the same
time, by extension courses, for department meetings and department seminars, by faculty
to meet with students and students for study groups. Only the Dean's secretary can
schedule regular classes and extension courses. Each college controls a fixed set of class
rooms. Some colleges share buildings, like BAM. All rooms are controlled by a college.
Anyone can schedule an empty room after the college that controls the room has
scheduled their regular courses. Only currently enrolled students, active faculty, and
current staff can reserve rooms. Anyone can query for the schedule of any room.
A user may request to schedule a room explicitly by giving
the room number and time required. A request may query for a list
of rooms that satisfy a list of parameters: need a room that holds
20 people with an Internet connection on next Friday afternoon for
an hour between 1 and 5 in BAM. The result would be a list all
rooms meeting the parameters. One can request a list of all rooms
available at a given time in a specific building or on the entire
campus. A user may wish to just give a list of parameters for a
room and have a room selected for them. Anyone on the internet
with a Ross client can request the room number, location and time
for a scheduled activity (class, seminar, study group, etc.)
For political reasons, each college maintains a Ross server
on a UNIX machine. Each college server maintains a list of its
students, faculty and staff. When you use a Ross client, it must
connect to your colleges server. A college server contacts other
college servers to handle request for rooms outside of its control.
The location of college servers can change. Everyone associated
with SUIT is issued a unique ID . As you are in charge of the Ross
system, you can determine the format of the ID and any password
that you might require.
Your are to design the protocol for Ross. Further more you
are to design server and client for Ross. You are to turn in a design
document. This document should contain: the protocol, high level
description of the system architecture, key abstractions,
scenarios that illustrate how the parts of the system will
operate. We have hired some off-shore programmers. Your design
document will be used by them to implement Ross.