Cloud Provider Service Engagement

Syntax and Semanics Relating to Initialising the Use of Cloud Service Providers

Final Community Group Report 22 April 2013

Latest editor's draft:

Russell Potter

Status of This Document

This specification was published by the Cloud Computing Community Group. It is not a W3C Standard nor is it on the W3C Standards Track. Please note that under the W3C Community Final Specification Agreement (FSA) other conditions apply. Learn more about W3C Community and Business Groups.

Table of Contents

1 Introduction
1.2 Namespaces
3 The Service Query
4 The Work Request
4.1 Computational "Style"
4.1.1 The "Availability" Property
4.2 Computation parameters

1 Introduction

This specification details the procedure required to "engage" (that is, to initialise the use of) a cloud service.

Generally, this procedure consists of:

  • A cloud consumer sends a "service query" to listening cloud services, asking for the charging regime of each
  • Each of these listening services then reach responds, in turn, with a rule-set supplying the requested information.
  • The consumer selects the desired service from those responding services, using whatever selection criteria is appropriate to that consumer
  • Once engaged, the consumer may then, as required, repeatedly send a "work request" (see below) to that service.

    2 Name-spaces

    This specification, code examples uses the following default namespace: "http://www.w3.org/ns/cloud" and RIF, the Rule interchange Format, used in the selection of services, uses the following namespace: "http://www.w3.org/2007/rif#"

    3 The Service Query

    A service Query is sent by a cloud consumer in an attempt to find an appropriate cloud service to which future work requests will be sent

    This query consists of an "all routers" multicast request, to which listening services send a response consisting of an XML document representing a rule-set, drawn from the Core sub-set of RIF [ RIF], which will, when implemented, yield the charging regime of the service, expressed in units of US cents per GHz-minute

    In this way, a consumer is able, in knowing the required amount of computation, to estimate the cost imposed by each service for the desired work

    the consumer, after receiving all responses from "interested" cloud services, may then choose from among those services using whatever selection policy is desired.

    Note that the charging regime provided by a cloud service is purely a guide: consumers are not required to implement a RIF processor in order to make a service selection

    4 The Work Request

    Once a cloud service has been engaged, the intention of a consumer to have that service perform some computational work is communicated in the form of a "work request",

    This request consists of an XML document (as shown in example 1), itself consisting of a single element consisting of an empty element with the tag "work_request", having the attributes named "params", containing a reference to the requested computation parameters, "style", containing the computational "style" of the task and "content" containing a reference to a model of the computational task to execute (all these attributes will be explained further below)

    4.1 Computation "style"

    The "style" with which a computation takes place consists of the minimum "availability" of the computation which, itself, consisting of a proportion of some period, expressed as a percentage, over which a computation is expected to be running and responsive.

    4.1.1 The "availability" style property

    The availability of a computation is calculated as follows, where "MTTF" is Mean Time to Failure and "MTTR" is Mean Time to Repair:

    Example 2

    This example lists the "style.css" from Example 1, which itself specifies that those elements (of the model given in that example) having a class of "abc" have a minimum availability of 99%, and the model element with ID "xyz" should have a minimum availability of 99.5%

    .abc {
        availability: 99%
    #xyz {
        availability: 99.5%

    4.2 Computation parameters

    the parameters to effect the model's execution appear in the form of a "params" element, the element children of which, each representing a parameter, containing a "name" attribute, the value of which contains the name of a parameter, and a "value" attribute, the value of which contains a reference to the value (the meaning of which is outside this specification) of the parameter value

    The following example illustrates the parameter list, containing two parameters named "x" and "y", referenced by the above work request

    <params xml:id="params">
        <a name="x" value="#a">
        <b name="y" value="#b">


    Michael Kifer; Harold Boley RIF Overview. 5 February 2013. W3C Working Group Note. URL: http://www.w3.org/TR/rif-overview/"