2 RELATED WORK
A lot of research and protocols have been done as
far as Service Level Agreements (SLA) and the SLA
Management are concerned.
SLA schemas are XML schemas that represent
the content of an SLA. Some existing approaches for
SLA schemas and the corresponding languages to
define service description terms are: SLAng
(Lamanna et al., 2003), WS-Agreement (Andrieux et
al., n.d.), WSLA (Dan et al., 2004), WSOL (Tosic et
al., 2003), and SWAPS (Oldham et al., 2006).
However, weaknesses exist. SWAPS is quite
complex and the implementation is not publicly
available. WSLA and SLAng have not further
development at least since 2009. Apart from this,
SLAng does not permit to define management
information such as financial terms and WSLA has
not formal definition of metrics semantics. WSOL
lacks SLA related functionalities, such as the capture
of the relationship between service provider and
infrastructure provider.
The WS Agreement (Web Services Agreement)
is a Web Services protocol for establishing
agreement between two parties using an extensible
XML language for specifying the nature of the
agreement, and agreement templates to facilitate
discovery of compatible agreement parties. It allows
arbitrary term languages to be plugged-in for
creating domain-specific service description terms.
A challenge research issue is the proactive
violation detection. Many proposals have been done,
but very little for cloud environments, e.g. authors of
GRIA SLAs (Boniface et al., 2007) suggest a
solution for avoiding violations but concerns only
Grid environments. In DesVi (Emeakaroha et al.,
2011), an architecture is proposed for preventing
SLA violations based on knowledge database and
case-based reasoning.
3 SLA SCHEMA
The Service Level Agreement is encapsulated in an
SLA schema. The basic element is the SLA element,
which defines what data can be contained in an SLA
(e.g. cost, contract dates, user requirements, fines,
etc) and in which format. The language that is used
for the SLA schema is XSD (XML Schema
Document).
3.1 Basic Elements
The SLA element is the outermost element, which
encapsulates the entire SLA. An SLA is created by
filling an SLA template. In the SLA Template there
is the choice to determine the content term that will
concern the SLA.
The proposed SLA schema consists of the
following basic elements:
SLA: this element represents the SLA.
SLATemplate: this element represents the SLA
template, that is, the template that the user should
fill out in order to create an SLA.
ContentTerm: this element represents the content
term that concerns the SLA (e.g. media,
enterprise, healthcare, telco, video, scientific
paper etc.).
TermAttribute: this element represents the QoS
metrics (e.g. availability, jitter, ingest rate,
geographic constraints etc.).
Requirement: this element represents the SLOs
that the user poses. The requirements are an
expression of the term attributes of the concerned
SLA content term. Assuming that the user wants
to use the termAttribute ''availability'', then an
expression could be: ''availability>0.999''. (Note:
the requirements must be something that can be
measured).
Responsibility: this element represents the
responsibilities that the user or the provider
should have (e.g. the provider should send him
monthly reports and notify the user for an SLA
violation).
Cost: this element represents the cost (e.g. the
user should pay 10 cents per 1GB upload).
Penalty: this element represents the fines that the
provider should pay in case the user's
requirements are violated.
Figure 1 and 2 displays the schema of the SLA
and the content term element respectively.
3.2 SLA Properties
An SLA contains, based on the WS agreement, a
name element, a context element and a terms
element, the latter containing a collection of SLA
terms. The context element contains the metadata of
the agreement (e.g. participants and dates) and the
terms element contain the SLOs, the content term,
the responsibilities, and the billing rules.
More specifically, the SLA consists of the
following properties (see Figure 1):
Name
o id: the SLA's identifier Context (contains
metadata)
Context (SLA metadata)
CLOSER2013-3rdInternationalConferenceonCloudComputingandServicesScience
72