An example of service specifications for the computer assignment problem is
shown in Table 20.1. In order to simplify the automatic negotiation process,
attributes assume discrete values only. For example, the CPU frequency of a
computer might assume the following values: 500 MHz, 1 GHz, 2 GHz. The
usage period (time) specifies predefined intervals expressed in hours.
The result of a negotiation process is a contract between the service
provider and the service consumer, which defines unique values for each
service configuration attribute. Table 20.2 provides three examples of possi-
ble contracts. The first contract assigns the best computer configuration to a
student during the most popular period; this contract satisfies the student's
preferences maximally. The second contract assigns the worst computer
configuration to a student during a less popular period; this contract satisfies
the provider's constraints maximally. The third contract is a fair tradeoff
proposed by the automatic negotiation tool.
The negotiation process is carried out by a pair of negotiator agents that
act on behalf of the service provider and the service consumer, taking into
account their preferences and constraints.
The negotiation is based on the exchange of contract proposals between
the parties involved. Each party evaluates proposals it receives according to
its own criteria and formulates a counter proposal. The negotiators alter-
natively evaluate proposals until an agreement is reached or a given number
of proposals have been exchanged.
The evaluation of a proposal is based on a table of preferences
such as the one in Table 20.3. The values that are not of interest to the user
or not available are excluded from the list of preferences (this is the case of
the period before 10, between 12 and 13 and after 15).
Each parameter value is mapped to a numerical value (between 1 and the
inverse of the number of values) that corresponds to the rank of the partici-
pant for that value, 1 being associated with the best ranked attribute value.
For example, the provider might order the CPU frequency values as follows:
2 GHz (0.66), 1 GHz (1.00), 500 MHz (0.33). This means that the preferred
CPU frequency (most available) is 1 GHz; a higher frequency is better than
Table 20.1 Attributes and values of the computer allocation service
500 MHz, 1 GHz, 2 GHz
256 MB, 500 MB, 1 GB
Table 20.2 Attributes and values of the computer allocation service
10 - 11
14 - 15
14 - 15