The responsible technician of a university laboratory is in charge of assign-
ing available computers to the students who make requests for their use.
Usually the students pick a day and negotiate with the responsible person to
find a computer with given characteristics at a given time.
In practice such a discussion is time consuming and often has an unfair
outcome. Demanding students are more likely to see their requests accepted,
while shy students never get the PC they want at the time they need. In addi-
tion, the distribution of the students over time and over machines is not
uniform; there are time ranges where most of the students would like to
access the laboratory; top-performing computers are the most desired.
Using the service negotiation framework we have to develop a booking tool
that copes with this problem and finds the fairest solution. The students can
express their preferences, the responsible technician expresses constraints
to make the distribution of students as uniform as possible.
Students can express preferences with respect to the following service
the CPU power expressed in terms of operating frequency;
the size of the RAM; and
the time when the computer is needed.
The idea is to try to have demand distributed more or less uniformly
through all the days of the week, the hours of each day, and the PCs in the
We have to develop a service negotiation framework that can deal with the
laboratory reservation problem and similar problems. The framework must
support the definition of the problem characteristics, which are the base for
the negotiation process.
The laboratory reservation problem is a specific instance of a more
generic problem: the offering of services based on limited resources.
There are explicit requirements for the integration of this reservation
negotiation system into an already existing education portal. The reserva-
tion preferences are specified through the portal. We need to have a separate
negotiation server to ensure fairness. Therefore the resulting system is dis-
tributed: there is a negotiation server that manages a fair negotiation, and
two clients: the student portal and the laboratory server.
The negotiation process is based on a service specification that defines the
attributes that can be subject to negotiation and the values they can assume.