need to submit a request that follows a given protocol.
The intent of the OCCI working group is to foster the
convergence towards a widely adopted standard.
Both users and providers have an interest in the
existence of a standard, since its introduction usually
carries a development in the market as well as tech-
nology advances. The ideal place for its development
is not a private enterprise, since it is subject to pres-
sures from the market. A better result is expected
from an independent forum, where the suggestions
coming from industries may meet with the results of
independent research: the OGF, together with other
standardization bodies, played an important role on
this respect, and the OCCI working group is a branch
of it.
The OCCI interface is based on a server that op-
erates following the Representational State Tranfer
(REST) paradigm. According with it, the client and
server exchange messages that contain the descrip-
tion of resources: in this context, the resource is any
concept that admits a formal representation, and its is
not directly related with a computing resource, whose
monitoring is the matter of our investigation.
In a REST framework (Fielding and Taylor, 2002),
the client and the server exchange request and re-
sponse messages that contain representations of the
state of REST resources. In this respect the REST
framework defends a coherent utilization of the
HTTP protocol, against new communication tools
like WebSockets, by introducing four fundamentals
constraints:
• the communication between the client and the
server uses a uniform interface carrying the rep-
resentation of resources
• there is no session-related state in the server, and
each request-response pair is a self-contained op-
eration
• the existence of an intermediate processing of the
messages (like caching) is trasparent
• the client may provide code to extend server ca-
pabilities
The request message contains the indication of an
operation to be performed on the resource: the REST
paradigm indicates four operations that correspond to
the well known HTTP verbs: GET, PUT, POST and
DELETE.
The OCCI interface uses a REST interface to de-
scribe the interaction between the user and the service
provider aimed at the specification of the infrastruc-
ture the user wants to obtain from the server. A great
deal of attention is paid to the structure of the infor-
mation that may be included in the message, and that
describes the operation of infrastructure resources.
According with OCCI proposal, the representa-
tion of a cloud infrastructure is carried out by de-
scribing REST resources represented as instances of
an entity type. An entity instance is characterized by
a unique identifier, but it is otherwise left abstract: it
needs to be related with a kind and to one or more
mixins in order to be fully specified. The kind gives an
entity its basic features, described as attributes. Kinds
are arranged in a tree structure, where each kind is put
into relationship with another higher level one, in a
sub-typing hierarchy.
The OCCI working group has defined two core
kinds: the resource, here intended as an IT resource
2
,
and the link, that represents a relationship between re-
sources. Each core type can be sub-typed in its turn
to take into account the multitude of IT resources and
their relationships, thus generating the kinds hierar-
chy.
The association of a mixin to an entity instance
corresponds to a further characterization of it. A
mixin can be used to bind attributes already defined
by the kind, or to introduce new attributes, like a root
filesystem with a preconfigured OS. Mixins are re-
lated with a many-to-many relationship: in partico-
lar, a mixin can be defined as a tag with an associated
semantic, but no attributes. The UML class diagram
that describes the OCCI model is in figure 1, and its
exhaustive definition is in (OGF, 2011a).
The core ontology is in fact more general than
what strictly needed for the definition of an IaaS
cloud. In a distinct document (OGF, 2011b) the
OCCI working group defines a specialization of the
core model that addresses such task. In a nutshell,
three sub-kinds of the resource kind are defined that
model IaaS resources (Compute, Network and Stor-
age), and two sub-kinds of the Link kind to de-
scribe relationships among them (NetworkInterface
and StorageLink).
In the end, the task of describing a cloud infras-
tructure is carried out in a natural with the instan-
tiation of a number of Compute, Storage and Net-
work resources, configuring them with appropriate at-
tribute values, and interconnecting them using Stor-
ageLinks and NetworkInterfaces links. Appropriate
mixins are associated to those entities that need fur-
ther specification.
Note that the hierarchical nature of kinds and
mixins allows the user to discover the capabilities of
a provider: for instance, the availability of a Celeron
2
in this document the term resource is used in two quite
different but close meanings: one is the content addressed
with an URI, as defined in sec. 1.1 of (Berners-Lee et al.,
2005), the other is the representation of a cloud resource. To
disambiguate we use the term REST resource for the former
CLOSER2014-4thInternationalConferenceonCloudComputingandServicesScience
146