IBM Skip to main contentUnited States
     Home  |  Products & services  |  Support & downloads  |  My account
 Select a country
 
WSLA Home
About
Getting started
Publications
Examples
Download
Members
   
Related links:
  IBM developerWorks Web Services Zone
  IBM Alphaworks Web Services
  IBM Autonomic Computing
  IBM e-business on demand
  W3C: WSDL

 

Web Service Level Agreements (WSLA) Project

What is WSLA?

WSLA in a Nutshell

WSLA is a novel framework for specifying and monitoring Service Level Agreements (SLA) for Web Services. SLA monitoring and enforcement become increasingly important in a Web Service environment where enterprises rely on services that may be subscribed dynamically and on demand. For economic and practical reasons, we want an automated provisioning process for both the service itself as well as the SLA management system. It measures and monitors the QoS parameters, checks the agreed-upon service levels, and reports violations to the authorized parties involved in the SLA management process.
The Web Service Level Agreement (WSLA) framework, our approach to these issues, is targeted at defining and monitoring SLAs for Web Services. Although WSLA has been designed for a Web Services environment, it is applicable as well to any inter-domain management scenario such as business process and service management or the management of networks, systems and applications in general. The WSLA framework consists of a flexible and extensible language based on XML Schema and a run-time architecture comprising several SLA monitoring services, which may be outsourced to third parties to ensure a maximum of objectivity. WSLA enables service customers and providers to unambiguously define a wide variety of SLAs, specify the SLA parameters and the way how they are measured, and relate them to managed resource instrumentations. Upon receipt of an SLA specification, the WSLA monitoring services are automatically configured to enforce the SLA.

Relationship of WSLA to WSDL

A Web Service Level Agreement definition complements a service definition. While a service description, e.g. in WSDL defines a Web Service interface, the WSLA specification defines the agreed-upon performance characteristics and the way to evaluate and measure them. Thus, WSLA complements service description languages, such as WSDL. A WSLA specification provides input to the measurement and management system in charge of monitoring the compliance of an SLA. See the Figure below.
Annotating Service Descriptions with SLA-related information
Both service provider and service customer may run their own measurement infrastructure and/or management systems. Each party may access measured metrics from various sources, e.g. server side metrics from the service provider and client-side Quality-of-Service (QoS) parameters from the customer. In addition, third parties may be involved in the SLA monitoring and enforcement process.

Delegation of SLA-Monitoring Tasks to Third Parties

One or both signatory parties (the customer and service provider that negotiate and sign the SLA) may choose to delegate all or a part of the SLA-monitoring activities to third parties. They come into play when either a function needs to be carried out that neither service provider nor customer wants to do, or if one signatory party does not trust the other to perform a function correctly. These third parties are called supporting parties and are defined in the WSLA along with the signatory parties of the SLA. Supporting parties are sponsored by either signatory party or by both of them. Supporting parties can act in any combination of the following roles:
  • A Measurement Service implements a part or all of the measurement functionality required by one or both signatory parties.
  • A Condition Evaluation Service implements functionality to compare actual values against the agreed-upon thresholds for all or a part of the obligations defined in an SLA.
  • A Management Service implements functionality to carry out the management actions of a signatory party once an obligation has been violated.

Delegating Monitoring Tasks to third Parties
The above Figure outlines an example configuration of these services, which are implemented by the WSLA runtime environment (cf. the Implementation Page).

Structure of a Web Service Level Agreement

The Figure below illustrates the typical elements of an SLA with signatory and supporting parties. There are many variations of what types of information and which rules are to be included and, hence, enforced in a specific SLA.
The parties section, consisting of the signatory parties and supporting parties fields identify all the contractual parties. Signatory party descriptions contain the identification and the technical properties of a party, i.e., their interface definition and their addresses. The definitions of the supporting parties contain, in addition to the information contained in the signatory party descriptions, an attribute indicating the sponsor(s) of the party.
WSLA Structure
The service description section of the SLA specifies the characteristics of the service and its observable parameters as follows: For every service operation, one or more bindings, i.e., the transport encoding for the messages to be exchanged, may be specified. In addition, one or more SLA Parameters of the service are specified here. Examples of such SLA parameters are “service availability”, “service throughput”, or “service response time”. SLA parameters are composed of (composite) Metrics, which, in turn, aggregate one or more other (composite or resource) metrics, according to a measurement directive or a function. Examples of composite metrics are “maximum response time of a service”, “average availability of a service”, or “minimum throughput of a service”. Examples of resource metrics are “system uptime”, “service outage period”, “number of service invocations”. Measurement Directives specify how an individual metric can be accessed. Typical examples of measurement directives are the uniform resource identifier of a hosted computer program, a protocol message, or the command for invoking scripts or compiled computer programs. Functions specify how a composite metric is computed. Examples of functions are formulas of arbitrary length containing average, sum, minimum, maximum, and various other arithmetic operators, or time series constructors. For every function, an evaluation period is specified. It defines the time intervals during which the functions are executed to compute the metrics. These time intervals are specified by means of “start time”, “duration”, and “frequency”. Examples of the latter are “weekly”, “daily”, “hourly”, or “every minute”.
Obligations, the last section of an SLA, define various guarantees and constraints that may be imposed on the SLA parameters: First, the validity period is specified; it indicates the time intervals for which a given SLA parameter is valid, i.e., whether it is allowed to apply constraints at all. Examples of validity periods are “business days”, “regular working hours” or “maintenance periods. We deliberately chose that validity periods are always specified with respect to a single SLA parameter, and thus only indirectly applicable to the scope of the overall SLA. The predicate specifies the threshold and the comparison operator (greater than, equal, less than, etc.) against which a computed SLA parameter is to be compared. The result of the predicate is either “true” or “false”. Actions, finally, are triggered whenever a predicate evaluates to “true”, i.e., a violation of a guarantee has occurred. Actions are e.g., “sending an event to zero or more signatory and supporting parties”, “opening a trouble ticket or problem report”, “payment of penalty”, or “payment of premium”.

  About IBM  |  Privacy  |  Legal  |  Contact