Grid Computing allows users to share resources in both commercial and scientific
environments. This dependency on Grid systems accelerated the need for replacing the
"best-effort" approach used in most Grid environments with a more controlled and reliable method of achieving the high levels of Quality of Service (QoS) necessary to potential users. Service Level Agreements (SLAs) are electronic contracts between the service
provider and service consumer, which depict the provided service explicitly in terms of
the requirements, guarantee terms and the responsibilities of each party.
The WS-Agreement is a Web Service protocol used to establish an agreement between
service providers and service consumers; the definition of the protocol is very general and
does not contemplate the possibility of changing an agreement at runtime. The state of
the SLA may be an important reason for reducing the reliability and trustworthiness of
parties if an unexpected event occurs at runtime. Therefore, it is not possible to adapt
the terms or the (negotiated) QoS parameters of the agreement to accommodate this new
state. The challenge is to make agreements more long-lived and robust to individual term
violations.
This research shows extensions of the WS-Agreement specification to support the dynamic nature of SLAs by allowing the possibility of SLA renegotiation at runtime. Modifying the ~greement at runtime to accommodate the most recent QoS level required by
both parties (service provider and service requester) gives more flexibility and provides
better services in optimistic scenarios, and at least prevents violations and SLA failures
in pessimistic scenarios. In this research, we have extended the WS-Agreement specification to support the SLA renegotiation and make it possible at runtime.
The extended WS-Agreement specification with the renegotiation possibility have
been implemented and tested in this research. Within this implementation, the concept
of renegotiation has been proved through the ability to create more than one SLA at runtime. Moreover, a number of experiments have been designed to calculate the possible
profit the service provider can gain in optimistic scenarios, or the saving which can result from rescuing the SLA from violations and paying penalties. A comparison between
static SLA and the new, proposed, dynamic SLA shows an improvement in the application
performance through lowering the risk and reducing the execution time .