TOWARDS A UNIFIED MARKETPLACE FOR
FUNCTIONALITY-BASED CLOUD SERVICE DISCOVERY
Mohamed Sellami, Walid Gaaloul, Bruno Defude and Samir Tata
TELECOM SudParis, UMR CNRS 5157 Samovar, Evry, France
Keywords:
Cloud Marketplace, Service Publication and Discovery, Cloud Registry, Cloud Communities.
Abstract:
Cloud Computing brings an unparalleled shift to utility computing by providing unprecedented scalability
and flexibility to IT services. Indeed, the concept of Cloud computing is linked intimately those of IaaS,
PaaS, SaaS and collectively *aaS (Everything as a Service or Cloud services). This implies a service-oriented
architecture where registries play an important role. Registries, which can be as many as the large number of
Cloud services provider, compose the market where Cloud consumers and providers go to search and advertise
Web services. With the proliferation of Cloud consumers and providers, nding an adequate Cloud service
has become a complex task for a Cloud service consumer. In this paper we propose a functionality-driven
clustering approach for Cloud service registries. This clustering will be helpful for selecting an adequate
registry for service requesters. Since registries and communities are dynamic by nature, we also propose an
approach for managing registries and communities to reconcile conflicts resulting from the dynamic change
aspect of service registries. Experimental evaluation shows that our approach is usable in realistic situations.
1 INTRODUCTION
Cloud Computing is a new supplement, consumption,
and delivery model for IT services based on Inter-
net protocols. More and more companies are adopt-
ing the new economic model offered by Cloud Com-
puting. For instance, in a Mckinsey Quarterly sur-
vey (The Mckinsey Quarterly, 2010) conducted in
2010 on 332 companies, 75% believe that the use of
Cloud computing could drive value at their compa-
nies. Among these companies, 68% says that they
are currently adopting the Cloud to set up electronic
collaboration and 82% are planning to do it in the 18
coming months.
In the Cloud, services are the basis for achieving
electronic B2B transactions. For worries of compet-
itiveness and rentability, more and more companies
are using Web services to adapt to new demands and
expectations (Cliquet, 2011) by modeling resources
as Cloud services. In our work, we are interested in
Cloud service discovery. Finding a specific service in
a multi-Cloud service providers environment can be a
cumbersome task (for a Cloud service consumer), due
to the lack of a standardized model for service discov-
ery in this context. In fact, supposing that each Cloud
This work was partially funded by the French ANR
project PAIRSE.
provider owns its repositories of offered services, and
considering that each Cloud has its own access pol-
icy to these repositories, screening all these services
repositories, to discover a service, will be inconceiv-
able for a Cloud consumer and would dramatically
slow down the discovery process.
To face this issue, we propose in this paper to build
an overlay marketplace over the existing physical ser-
vices registries (i.e. repositories of Cloud services)
belonging to different Cloud providers. To address
the likely large number of service registries in such
a marketplace and their poorly organized network,
we propose to organize registries into communities
according to the functionalities of the services they
advertise. This organization allows an efficient ser-
vices requester’s query routing to potential registries
offering services with the needed functionality. We
use communities as a means for a functionality-driven
organization of a distributed Cloud registry environ-
ment. So, existing registries belonging to different
Cloud providers can be structured into communities
and each registry belongs to at least one community
with a certain extent. The registries organization in-
side this marketplace is built automatically, based on
the functional descriptions of the services offered by
a registry, and do not require any explicit intervention
from Cloud providers.
In addition, registries operate within a very dy-
252
Sellami M., Gaaloul W., Defude B. and Tata S..
TOWARDS A UNIFIED MARKETPLACE FOR FUNCTIONALITY-BASED CLOUD SERVICE DISCOVERY.
DOI: 10.5220/0003931402520257
In Proceedings of the 2nd International Conference on Cloud Computing and Services Science (CLOSER-2012), pages 252-257
ISBN: 978-989-8565-05-1
Copyright
c
2012 SCITEPRESS (Science and Technology Publications, Lda.)
namic environment where changes are frequent. In
fact, a new registry can join a Cloud and others can
leave at any time. To ensure the evolution of the inter-
nal organization of our marketplace, we define man-
agement operations to handle (i) new registry emer-
gence, and (ii) existing registry disappearing.
The paper is organized as follows. Section 2 intro-
duces the proposed architecture for our marketplace.
In Section 3, we present our automatic and implicit
approach for organizing Cloud services registries as
communities. Section 4 presents the defined man-
agement operations for handling the evolution of the
created organization. The implementation efforts are
shown in Section 5. Related works are discussed in
Section 6. We conclude this paper in Section 7.
2 OVERVIEW OF THE
PROPOSED MARKETPLACE
As defined by NIST (the National Institute of Stan-
dards and Technology), Cloud Computing is a model
for enabling convenient, on-demand network access
to a shared pool of configurable computing resources
defined, advertised and consumed as services that
can be rapidly provisioned, released, discovered with
minimal management effort or service provider or
consumer interaction. Indeed, the concept of Cloud
computing is linked intimately those of IaaS, PaaS,
SaaS and collectively *aaS (Everything as a Service
or Cloud services
2
). This implies a service-oriented
architecture where registries play an important role.
Cloud computing has particular characteristics that
distinguish it from classical service oriented environ-
ments: (1) currently the major Cloud providers had
already invested in large scale infrastructure ;(2) how-
ever little attention is given to Cloud service organi-
zation and discovery to exploit them; (3) as a conse-
quence the Cloud service registries are poorly orga-
nized heterogeneous, and without agreed and feder-
ated interfaces; (4) and there are concerns over service
availability and provision.
In this paper we describe a Cloud marketplace,
which represents a portal for existing registries in dif-
ferent Cloud network, in order to handle the above
challenges. As depicted in Figure 1, the marketplace
contains an overlay network (a P2P network for ex-
ample) over the physical network. Each node of the
overlay will act as a proxy for a Cloud service reg-
istry in the physical network. This overlay is orga-
nized as communities and each community represents
a set of registries offering services providing similar
2
We confuse the terms *aaS and Cloud service
functionalities. The general architecture of a unified
Cloud marketplace contains two main components:
the Marketplace Builder and Manager and the Cloud
services Discovery System. Just like countries’ elec-
tric networks are interconnected to facilitate market
trading across infrastructuresand thus reduce the risks
of shortage and increase efficiency, the service reg-
istry providers network would benefit from a feder-
ated organization.
Figure 1: Overview of the proposed marketplace.
The Marketplace Builder and Manager is used
to organize registries as communities, to deploy the
overlay network and manage the organizational evo-
lution of the overlay network. In our work, we pro-
pose to ensure this organization through a dynamic
clustering technique (see Section 3). So, the organi-
zation of the different registries will be done automat-
ically and does not require any intervention from the
Cloud registry providers. The Marketplace Builder
and Manager component also ensures the evolution
of the registries organization in the view of the differ-
ent possible changes in the network (see Section 4).
The Cloud services Discovery System component im-
plements the Cloud service discovery process. In our
work, we consider Cloud service discovery as a two
successive steps process: (i) discovering the adequate
Cloud service registries and (ii) discovering the ade-
quate Cloud service services inside these registries.
In the rest of this paper, we will focus on the first
component, the Marketplace Builder and Manager,
of our proposed marketplace due to space limitations.
Details on our work on the Cloud services Discovery
System will be given in further papers.
3 ORGANIZING REGISTRIES IN
THE MARKETPLACE
To organize registries into communities according to
their functionalities
3
, we associate a WSRD descrip-
3
Functionalities of a services registry and functionalities
of the services it advertise are interchangeably used.
TOWARDSAUNIFIEDMARKETPLACEFORFUNCTIONALITY-BASEDCLOUDSERVICEDISCOVERY
253
tion to each registry and we use these descriptions
as criterion for the organization. A registry’s WSRD
description is automatically computed based on
the services functional descriptions advertised by a
registry and do not require any explicit intervention
from a registry provider. Hence a WSRD description
gives an overview of the functional properties of
the services offered by a registry and his syntax
is inspired by the WSDL format. As we provide
a description of a registry (not of a service), we
are only interested in the abstract section of the
services description. In this work, we choose to
use semantic Web service descriptions written in
SAWSDL (Lausen and Farrell, 2007) to describe
Cloud services. Other semantic languages, such as
OWL-S (Martin et al., 2004) or WSMO (De Bruijn
et al., 2005) can be also adopted. Details about
the WSRD computing process can be found in our
previous paper (Sellami et al., 2011).
A community of service registries will bring
together registries offering similar functionalities.
Since a service registry generally offer services
proposing different functionalities, it is difficult to
properly define in advance classes categorizing the
functionalities of the different registries. To organize
service registries into communities, we use a cluster-
ing technique (where the different communities will
be deduced from the registry descriptions) rather than
a classification technique (where the different com-
munities have to be defined in advance). When using
a dynamic clustering technique, the different clusters
(i.e. the service registries communities) will be iden-
tified from the given input data (i.e. the WSRD de-
scriptions) and each data point (i.e. services registry)
will be assigned to one community.
Since a registry can belong to different communi-
ties at the same time, we use an overlapping cluster-
ing method, also known as fuzzy clustering, to orga-
nize our distributed registries into communities. Con-
cretely, we proceed in three steps to build registry
communities:
1. Step 1: WSRD descriptions are processed to map
to the term-document structure.
2. Step 2: we propose a method to measure the dis-
tance between two registry vectors as needed by
the fuzzy C-means Algorithm.
3. Step 3: using the results of the two previous steps
we apply a fuzzy clustering technique to build reg-
istry communities.
The reader is referred to (Sellami et al., 2011) for
details on our clustering approach. After these three
steps, we getC communities represented by their cen-
troids. These centroids represent the mean function-
ality f of these communities. In addition, to each
community c
j
are associated N membership vectors
U
j
(r
i
), i = 1. . . N indicating the degrees of member-
ship of the N registries to the community. These data
allow us to infer the membership degrees MEM of
the N registries to organize into communities. How-
ever, using this technique, the membership degree of
some registries to certain communities may be very
low. For this, we define a threshold
th
for member-
ship degrees. If the membership degree of a registry
to some community is lowerthan this threshold, it will
not be considered as a member.
Formally, we define the obtained communities as
couples c = ( f, M) where: f is a vector representing
the mean functionality of the community c and M is
the set of community members (i.e. registries).
Registries inside a community are defined as cou-
ples r = ( f, MEM) where: f is a vector representing
functionalities offered by the advertised Web services
within the registry and MEM represents the registry
membership degrees to the different communities in
the network. MEM is represented as a binary relation
defined as follows. MEM = {(c, d)|c C, d [0, 1]}
where: C is the community set and d is the member-
ship degree of the registry r to the community c.
4 MANAGING THE REGISTRIES
ORGANIZATION IN THE
MARKETPLACE
The obtained organization in the previous section will
be used to deploy the overlay network (a P2P network
for example) of our marketplace. Each node of the
overlay will act as a proxy for a Cloud services reg-
istry and the nodes will be organized in communities
according to the results given by our clustering tech-
nique. Technical details are given in Section 5.
However, in Cloud environments it is normal that
new registries may emerge and existing registries may
disappear for some reason. To maintain the organiza-
tion of the different registries according to their func-
tionalities and to guarantee its evolution after these
changes, we define operations for handling the fol-
lowing situations: Cloud services registries joining
the marketplace (Section 4.1) and Cloud services reg-
istries leaving the marketplace (Section 4.2).
4.1 Cloud Services Registries Joining
the Marketplace
When a new registry r is identified, first its WSRD
CLOSER2012-2ndInternationalConferenceonCloudComputingandServicesScience
254
description is computed. After that, the registry will
be guided to the adequate communities according
to its set of membership degrees MEM. MEM is
computed by the SelectCommunity algorithm (Algo-
rithm 1). This algorithm takes as input the current reg-
istry’s WSRD description. The membership degree
is computed using the function U
4
. This algorithm
outputs the set of membership MEM containing the
membership degrees of the current registry to the dif-
ferent communities in the marketplace. Taking into
account that the membership degree must be greater
than a certain threshold
th
(line 4), the registry will
be guided to the adequate communities ((line 5)).
Algorithm 1: SelectCommunity.
Require: r :registry
Ensure: r.MEM
1: for each community c C do
2: m U
i
(r)
3: r.MEM r.MEM {(c, m)}
4: if m >
th
then
5: M M {r}
6: end if
7: end for
When the membership degrees of a registry r to all
the existing communities are lower than the thresh-
old
th
, it provides necessarily a new functionality
inexistent in the network. In this case, a new com-
munity c
new
is established automatically. The com-
munity mean functionality c
new
. f will be the same
as the functionality r. f proposed by the registry that
triggered the community creation. Afterwards, some
members are recruited for the new community. In this
aim, the membership degrees of existing registries to
the new community are computed. Every registry
having a membership degree higher than the thresh-
old
th
will be a member of c
new
. The community cre-
ation as well as the necessary precondition and effects
are displayed in Algorithm 2.
Algorithm 2: CreateCommunity.
Require: r: the registry that triggers the community creation
Ensure: c
new
: the new community
1: precondition: d ran(r.MEM), d <
th
2: Community c
new
;
3: List members;
4: c
new
. f = r. f
5: for all communities c C do
6: for all registries r
c
c.M do
7: m U
new
(r
c
)
8: r
c
.MEM r
c
.MEM (c
new
, m)
9: if m >
th
then
10: members members {r
c
}
11: end if
12: end for
13: end for
14: effect: c
new
C c
new
. f = r. f c
new
.M = members
15: return c
new
4
The same function U is also used in our community
building approach (Sellami et al., 2011)
Also, when a registry r is assigned to a commu-
nity c, c may become sparse and thus may need to be
split into two or more sub-communities. The com-
munity sparsity describes a non density in the center
vicinity and a dispersion between members. In this
case, the Mcut method (Ding et al., 2001; Nie et al.,
2010) can be applied for splitting a community into
several sub-communities. Concretely, this method
allows to minimize the similarity between two sub-
communities, while maximizing the similarity within
each sub-community (details on how to split commu-
nities can be found in (Bouchaala et al., 2011)).
4.2 Cloud Services Registries Leaving
the Marketplace
When an existing registry r leaves the Cloud or is un-
available for some reason, its representing node in the
overlay network is to be removed from the market-
place. In this case, if a community c contains this reg-
istry, r has to be removed from it member set c.M.
If c does not contain any registry after removing r
(c.M = {}), c will be automatically dismantled. Oth-
erwise, we check whether c can be merged with an-
other community in the overlay network. If c cannot
be merged, the mean functionality f of c will be up-
dated. Finally, the membership degree of each reg-
istry in the different communities is recomputed.
Algorithm 3: MergeCommunity.
Require: c: a community
Ensure: true or false depending on whether c is merged with an-
other community or not
1: isMerged false
2: for all c
oth
C \ {c} do
3: if c.M * c
oth
.M then
4: continue
5: end if
6: isMerged true
7: C C \ {c}
8: break
9: end for
10: return isMerged
Next we introduce the MergeCommunity algo-
rithm. c represents the community to be merged. As
presented in Algorithm 3, if the members of c rep-
resent a subset of the members of another commu-
nity (i.e., c
oth
), c is removed from the overlay network
(lines 6-12).
5 IMPLEMENTATIONS
We have prototyped our approach in java. Cloud ser-
vices are described in a formatlike SAWSDL. We cre-
ated a test collection of semantic Web service descrip-
TOWARDSAUNIFIEDMARKETPLACEFORFUNCTIONALITY-BASEDCLOUDSERVICEDISCOVERY
255
tions written in SAWSDL. These service descriptions
are annotated using concepts from an ontology de-
scribed in OWL. For our experiments, we generated
a collection of 1400 SAWSDL descriptions. We split
up the generated SAWSDL descriptions into 7 Web
service registries r
j
, j = 1. . . 7. To organize these reg-
istries into communities, we calculate for each reg-
istry its WSRD description. We developed a tool,
WSRDCreator, to create WSRD descriptions from a
set of SAWSDL descriptions. WSRDCreator gener-
ates a vector representation of each registry’s created
WSRD description. This vector r
j
. f represents the
functionality f offered by a registry r
j
and serves
as input for our community building approach. We
use these WSRD vector representations to build the
communities of registries. For this, we developed
CommunityBuilder a tool implementing our commu-
nity building approach. Using CommunityBuilder, we
construct 4 communities for the 7 registries.
Based on this organization, we now deploy the
overlay network of our marketplace. The JXTA P2P
platform
5
is suitable to simulate an overlay network
organized as communities above the physical reg-
istries network that we have put in place at the pre-
vious steps. A registry community is then viewed as a
Peer Group
6
where each service registry is mandated
by a JXTA peer. We developed a CommunityConsole
to deploy our test-bed on the JXTA platform.
To test the feasibility of our registries organization
management approach, we implemented a Commu-
nity Manager. This tool graphically simulates a net-
work of registries organized as communities and im-
plements our algorithms for managing the registries
organization in the marketplace. We used this tool to
simulate a network of communities of registries and
introduce changes to test our managing operations.
6 RELATED WORKS
In this paper, we presented our approach for building
a unified marketplace for Cloud services by virtually
organizing Cloud service registries as registry com-
munities. We also specified the needed management
mechanisms to guarantee the evolution of a commu-
nity organization. As far as we know, this aspect has
not been studied before in Cloud environments. Thus
we provide in this section a state of the art study of
Web services registries organization in service ori-
ented environments. Several Web services discovery
systems rely on a distributed registry environment to
5
http://jxta.kenai.com/
6
Peer Group is a JXTA concept defined as a set of peers
offering a specific service.
overcome the problems related to single centralized
registry based discovery (bottlenecks, single point of
failure ...). Our literature review yielded a good num-
ber of research projects that used distributed registries
such as (Sivashanmugam et al., 2004; Pilioura and
Tsalgatidou, 2009; Ayorak and Bener, 2007; Du et al.,
2005), but as far as we know, none of them have pro-
moted the idea of using a functionalitybased semantic
description model to organize Web service registries.
MWSDI (Sivashanmugam et al., 2004) propose
a distributed Web services registry infrastructure for
Web services discovery. In this work, the registry net-
work is structured into federations using a specialized
ontology called the Registries Ontology. This ontol-
ogy allows grouping different Web service registries
based on their business domain as the authors map
each registry to one or several nodes in the Registries
Ontology. Associating with each registry a specific
domain or a group of domains from the Registries On-
tology enhances Web services discovery. In (Pilioura
and Tsalgatidou, 2009), the authors also propose a
distributed registry infrastructure called PYRAMID-
S, where Web service registries are categorized by
concepts token from a specialized ontology.
In (Ayorak and Bener, 2007), an hybrid architec-
ture for Web services discovery in distributed reg-
istry environment is proposed. Unlike previous ap-
proaches, the structure of the network is build based
on the business domain of the services advertised by
the registries: services operating in similar domains
are placed in the same group.
Authors in (Du et al., 2005) present Ad-UDDI; an
active and distributed infrastructure for organizing a
network of UDDI registries. The proposed infrastruc-
ture is formed by three layers: The root registry layer
contains an Ad-UDDI registry containing information
about the registries forming the network of registries,
the business service registry layer contains the net-
work of registries and the service layer contains the
services advertised by these registries. Authors orga-
nize statically their business service registry layer by
using a taxonomy (GICS
7
) classifying different real
industrial sectors, industries, sub-industries and in-
dustry groups.
To sum up, our literature review yielded a good
number of research projects that used distributed reg-
istries, but as far as we know, none of them have pro-
moted the idea of using a functionality-based seman-
tic description model to organize Web service reg-
istries. Compared to the above literature review, our
contributions can be summarized in three main points:
1. Our registry description and organization is based
only on implicit knowledge using existing adver-
7
GICS : Global Industry Classification Standard.
CLOSER2012-2ndInternationalConferenceonCloudComputingandServicesScience
256
tised service descriptions. Thus, our approach is
self-contained within the Cloud service discovery
process, independent from any explicit or human
centric or error prone knowledge.
2. Our approach proposes a functionally-based or-
ganization of service registries into communities.
Such an organization enhances the services dis-
covery process since the registries will be grouped
according to the functionalities proposed by their
advertised services, and thus a service requester’s
query can be guided to the adequate registry clus-
ter for his needs.
3. By fuzzy clustering service registries according to
their service descriptions, our approach has intrin-
sically the means for a dynamic, flexible and au-
tomatic management of service evolutions.
7 CONCLUSIONS
We presented an approach for building and manag-
ing a marketplace for Cloud services. In the pro-
posed marketplace, the Cloud services registries are
organized as communities. These communities are
implicitly and automatically created using the reg-
istries WSRD descriptions. Our registries organi-
zation approach uses a functionality-driven cluster-
ing and organizes registries according to the func-
tionalities of the Cloud services they advertise. This
functionality-driven organization of the marketplace
registries enhances services discovery. In fact, a ser-
vice requester’s search space can be reduced to the
registry community advertising services offering the
needed functionalities. We defined the required man-
agement operations to ensure the evolution of the reg-
istries organization. We also demonstrated and de-
ployed the proposed approach on top of a JXTA-based
distributed registries environment and implemented
our management operationto test the feasibility of our
management approach.
Our future research work will focus on *aaS ser-
vices specification and discovery. In this work, we
have used traditional Web service description in or-
der to specify the WSRD description of a Cloud ser-
vices registry. However, the Open Cloud Computing
Interface (OCCI) (Metsch et al., 2010) has emerged as
standard to describe *aaS services specific features.
Originally initiated to create a remote management
API for IaaS model based services, allowing for the
development of interoperable tools for common tasks
including deployment, autonomic scaling and moni-
toring, it now can be used to severe other *aaS ser-
vices as well. As part of our perspectives, we aim
in our future work to extend our approach in order to
take into account the OCCI specification.
We also plan to define the Cloud services discov-
ery system component to test the efficiency of our
functionality driven organization of the Cloud ser-
vices registries for services discovery. This discovery
system will use the functional requirements of a ser-
vices requester to reduce the search space by selecting
adequate communities and in a second time will com-
bine his functional and non-functional requirements
for an efficient services selection.
REFERENCES
Ayorak, E. and Bener, A. B. (2007). Super peer web service
discovery architecture. In ICDE, April 15-20, 2007,
Istanbul, Turkey, pages 1360–1364.
Bouchaala, O., Sellami, M., Gaaloul, W., Tata, S., and
Jmaiel, M. (2011). Modeling and managing commu-
nities of web service registries. In WEBIST, Noordwi-
jkerhout, The Netherlands, May 6-9, 2011.
Cliquet, G. (2011). Method of innovation in the era of Web
2.0. Phd thesis, Paris Institute of Technology.
De Bruijn, J. et al. (2005). Web service modeling ontology
(wsmo). Technical report.
Ding, C. H. Q., He, X., Zha, H., Gu, M., and Simon, H. D.
(2001). A min-max cut algorithm for graph partition-
ing and data clustering. In ICDM’01, San Jose, Cali-
fornia, USA.
Du, Z., Huai, J., and Liu, Y. (2005). Ad-uddi: An active and
distributed service registry. In TES, Trondheim, Nor-
way, September 2-3, 2005, Revised Selected Papers.
Lausen, H. and Farrell, J. (2007). Semantic annota-
tions for WSDL and XML schema. W3C recom-
mendation, W3C. http://www.w3.org/TR/2007/REC-
sawsdl-20070828/.
Martin, D. et al. (2004). Owl-s: Semantic markup for web
services. Technical report.
Metsch, T., Edmonds, A., and Bayon, V. (2010). Using
cloud standards for interoperability of cloud frame-
works. Technical report.
Nie, F., Ding, C., Luo, D., and Huang, H. (2010). Im-
proved minmax cut graph clustering with nonnegative
relaxation. In ECML PKDD 2010, Barcelona, Spain,
September 20-24, 2010.
Pilioura, T. and Tsalgatidou, A. (2009). Unified publication
and discovery of semantic web services. ACM Trans-
actions on the Web (TWEB), 3(3).
Sellami, M., Gaaloul, W., and Tata, S. (2011). An Implicit
Approach for Building Communities of Web Service
Registries. In iiWAS’2011, 5-7 December, 2011, Ho
Chi Minh City, Vietnam.
Sivashanmugam, K., Verma, K., and Sheth, A. P. (2004).
Discovery of web services in a federated registry en-
vironment. In ICWS’04, San Diego, California, USA.
The Mckinsey Quarterly (2010). How IT is managing new
demands: McKinsey Global Survey results.
TOWARDSAUNIFIEDMARKETPLACEFORFUNCTIONALITY-BASEDCLOUDSERVICEDISCOVERY
257