User level negotiation protocols allow the SP a possible negotiation mechanism for price/quality tradeoffs. Resource-Price negotiation protocols may be (a) user initiated by users interested in compromising quality for cost or (b) SP initiated, where the system calculates service alternatives, possibly to admit more requests.
In Figure 6, we describe a simple SP initiated negotiation protocol. The protocol is SP initiated since the service options that represent possible trading choices are sent to the user by the SP. In a user initiated protocol, the user would present the SP with a list of possible service request options. Modifications of this simple protocol for more complex conditions are currently being studied.
Figure 6: A User-level Negotiation Protocol
Note that there is a concurrency issue in the simple protocol.
The availability of the resource-price structure
promised in the service-choice list must be ensured till the user
returns with a choice.
This implies that sufficient resources must be made available for any
of the options to be executed.
There are two factors of non-determinism that affect the timing:
(i) the communication delay between the SP and user to
communicate choices;
(ii) the time taken by the user to respond to the choice.
This can affect the availability of resources for other requests that
arrive at the SP in the meantime.
A simple solution would reserve the maximum amount of each resource
required under any service choice for a specified period of time
The user response is expected to arrive back to the
SP within this specified interval.