2012 IEEE Eighth World Congress on Services
A Cloud Repository and Discovery Framework Based on a Unified Business and Cloud Service Ontology Amirreza Tahamtan, Seyed Amir Beheshti, Amin Anjomshoaa and A Min Tjoa Institute of Software Technology and Interactive Systems Information & Software Engineering Group Vienna University of Technology Vienna, Austria Email: {tahamtan, anjomshoaa, amin}@ifs.tuwien.ac.at,
[email protected]
Abstract—Cloud computing introduces a fundamental shift in service delivery. A market registry, flexibility, exchangeability and integration of services are important issues for its success. In this work we introduce a unified Cloud and business service ontology with querying capabilities. Our framework addresses two aspects: on the one hand it gives answer to leading question how we can structure the term Cloud computing (as a question of basic research) and how we can enable a matching between offered Cloud services and demand. It closes the gap how we can summarize and describe Cloud services in a standardized way. On the other hand, it particularly addresses the demand for flexibility and exchangeability by the Cloud Computing paradigm and can serves as a repository of services.
application integration and support for enterprizes [4], [5] and efficiency, agility and innovation for the public sector [6]. Cloud Computing has the potential to fulfill the dream of computing utilities. Nicholas Carr draws an analogy between Cloud services and how electricity is delivered as a utility [7]. Several challenges need to be addressed, among others integration and interoperability of services [8] and a market registry for publishing and discovering Cloud service providers and their services [9]. The Cloud market is not exclusive to big players such as Amazon, Google or Microsoft, rather the list of Cloud providers is being constantly enlarged by newcomers. The availability of many Cloud providers on the one hand promotes competition and democratization in the Cloud market and gives end users more freedom to choose the best Cloud provider. On the other hand it became a tedious and time-consuming task for organizations to evaluate and compare the available Cloud offerings in the market. Imagine a European organization that considers to migrate its customer relationship management (CRM) and its billing and accounting applications onto the Cloud. Because of regulatory guidelines, the Cloud provider must be located within the borders of the European Union. Cloud providers must be searched according to their geographical location, offered services, deployment model, security mechanisms, pricing, etc. Manual discovery of compliant Cloud services is a tedious, error-prone and time-consuming task. When one Cloud provider goes out of business again a compliant Cloud provider according to the requirements must be chosen and it must be ensured that services are interoperable. The main contribution of this paper is the introduction of a unified business service and Cloud ontology with service querying capabilities. The proposed ontology captures the required business services in an organization and provides a mapping between business functions and the offered services in the Cloud landscape. It closes the gap between on premise and Cloud services. Moreover, it includes the essential characteristics of Cloud providers. It unifies both the Cloud
Keywords-Cloud Computing, Business Service, Ontology, Classification, Integration, Repository, Discovery
I. I NTRODUCTION Cloud Computing is a fundamental shift in service delivery. It adds elasticity and scalability to IT-systems. Organizations instead of determining their demand in advance, can use computing resources as such a need arises. There are many definitions available for Cloud Computing [1]. The Authors in [1] define the Cloud as ”a large pool of easily usable and accessible virtualized resources (such as hardware, development platforms and/or services). These resources can be dynamically re-configured to adjust to a variable load (scale), allowing also for an optimum resource utilization. This pool of resources is typically exploited by a pay-per-use model in which guarantees are offered by the Infrastructure provider by means of customized SLAs”. Cloud Computing is also defined by Foster et al. in [2] as ”a large-scale distributed computing paradigm that is driven by economies of scale, in which a pool of abstracted virtualized, dynamically-scalable, managed computing power, storage, platforms, and services are delivered on demand to external customers over the Internet.” Whatever definition is considered, Cloud provides features such as virtualization, scalability and on-demand service. Cloud Computing offers several advantages for different groups such as mobility and collaboration for end users [3], availability, flexibility and 978-0-7695-4756-5/12 $26.00 © 2012 IEEE DOI 10.1109/SERVICES.2012.42
207 203
Figure 1: The decision framework for finding Cloud services and providers
services and the Cloud providers in an integrated ontology. The ontology is described in section 3. The ontology serves also as a repository for Cloud services and providers. Cloud providers can publish their services in the repository and users can query the ontology to discover the services or providers that match their requirements. The paper gives answer to leading question how we can structure the term ”Cloud Computing” (as a question of basic research) and how we can enable a matching between offered Cloud services and demand. It closes the gap in how we can summarize and describe Cloud services in a standardized way. An ontology could be a first step. Particularly the demand for flexibility and exchangeability addressed by the Cloud Computing paradigm could be answered by this research. We used different classification frameworks for processes to allow integration in a real business environment and also for enterprize modeling.
technology or fault tolerance. After querying the ontology, the user receives the list of compliant Cloud services. The list of Cloud providers together with their offered Cloud services are parts of this ontology. Consequently the organization can choose one of the compliant Cloud providers for negotiation and contracting. This choice may depend on other factors such as cost model and the associated risks of the specific Cloud providers. Energy efficiency of the Cloud provider also plays a role in order to reduce the total carbon foot print of the organization’s operations. Note that the energy efficiency does not only depend on how green a data center operates [10] but also on data communications between the user and the Cloud [11]. It must be noted that in some situations using on premise services is more energy efficient than Cloud services due to the fact that data communication is minimized. III. T HE O NTOLOGY
II. T HE D ECISION F RAMEWORK FOR C LOUD S ERVICES
Fig. 2 depicts an overview of the Cloud ontology. The ontology unifies several aspects needed for finding the right service of the right provider. The unified Cloud ontology has two major aspects: required business functions/processes and characteristics of the Cloud provider. These two aspects together facilitate discovering the appropriate Cloud provider for the organization. The class ”CloudServiceName” includes the Cloud service providers in the market.
Fig. 1 demonstrates the overall decision framework for choosing the right Cloud service. The user can query the ontology based on its requirements in order to extract the compliant Cloud services. The user’s requirements may include many aspects such as geographical location of the service provider, deployment model, security mechanisms or even more detailed technical aspects e.g. used virtualization
204 208
Figure 2: An overview of the Cloud ontology The classes ”AvailableServices Inthe Cloud” and ”BusinessFunctions and Processes” provide a mapping between required services in an organization and the available services in the Cloud market. Other classes are used to define characteristics of the Cloud providers. These classes are described in more detail in the following subsections.
Figure 3: Subclasses of ”BusinessFunctions and Processes”
are defined as a functional area of an enterprize such as human resource management. The ActivityOrSteps presents a far more detailed level of abstraction. ActivityOrStep is actually a supplementary to the functions structure in BFO. The functions tree of Business Functions Ontology consists of 40 concepts (14 of them top-level). However the ActivityOrStep consists of 920 concepts. eTOM has been defined by The Telemanagement Forum (TMF) and consists of the map of communication operation processes [17]. It defines TMN-fashion like processes. eTOM business process model is a standard for business processes in telecommunication industries and consists of 4 levels of processes [13]. Each level expands further to more detailed processes. The eTOM model is actually a taxonomy of available business processes in an enterprize. Its classification framework consists of rows (horizontal functional process groupings) and columns (vertical end-toend process groupings). The intersections of each row and column forms the matrix structure of eTOM which are the specific business processes required in an enterprize. The highest level includes three basic process areas: operations, strategy, infrastructure & product and enterprize management [17]. Another business process classification has been defined by the American Productivity and Quality Center (APQC). APQC business process framework classifies business processes into two main categories: operating processes and management and support processes. According to this classification, business processes could be grouped into 12 different business process categories [14]. Based on the three above classifications twelve different business classes have been defined in our ontology. Each class is further divided into subclasses. Fig. 3 illustrates these classes. Because of space limitation, subclasses are not further detailed. Fig. 4 exemplary
A. The Cloud and Business Service Ontology The Cloud and business service ontology covers the required services for different purposes in the public sector as well as enterprizes. Since it is not possible to have a one-to-one mapping of business processes to all Cloud services, there is a need for making a combination of available business process frameworks and the real ecosystem of the Cloud. We used different classification frameworks for processes to allow integration in a real business environment and also for enterprize modeling. We considered three frameworks for classification of the business functions and their related processes: Business Function Ontology (BFO) [12], eTOM [13] and APQC process classification framework [14]. The reason for choosing these frameworks is their acceptance and widespread implementation in different domains. Considering the frameworks already in use assist organizations that use these frameworks to move onto Cloud. Each of these frameworks is briefly described in this subsection. BFO is a concept developed within the European project SUPER [15] to present a comprehensive terminology for available functions and their relative activities. This terminology can be used for describing a process in organizations [12]. The business function ontology is based on the Web Services Modeling Toolkit (WSMT), which is a toolkit designed for semantic web and building of ontologies with concentration on WSMO engineering [16]. BFO proposes a comprehensive structure of generic business functions in enterprizes using modeling technologies. It can also be used for classifying business processes. According to BFO, business functions in an organization consist of two parallel structures: Function and ActivityOrStep. Business functions
205 209
Figure 5: Cloud providers in the market B. The Cloud Ontology The Cloud ontology captures different aspects of Cloud providers. The class CloudProvider Type (see Fig 2) identifies the type of the Cloud service model: Software as a Service (Saas), Platform as a Service (PaaS) and Infrastructure as s Service (Iaas). Other research works e.g. [18] classify the Cloud provider types also in Communication as a Service (CaaS), Data as a Service (DaaS), Network as a Service (NaaS) and Hardware as a Service (HaaS). In this work we rely on the classification of The National Institute of Standard and Technology (NIST) [19] as the standardization body. CloudserviceName includes the service providers in the market. At this stage, data on Cloud providers is collected by a market research during the period of November 2010May 2011. Our market research is partially presented in fig. 5. The column on the left depicts (parts of ) the ontology and the row on the top the Cloud providers. It
Figure 4: Subclasses of ”Customer Management”
illustrates subclasses of the class ”Customer Management”. ”BusinessFunctions and Processes” includes in total 162 subclasses.
206 210
Figure 6: Some subclasses of Cloud Taxonomy
can be seen for example which Cloud provider offers a service that supports a specific programming language. The whole matrix including other aspects such as virtualization technology, security mechanisms, etc. can be found [20]. We performed the market research in order to have enough data to validate our approach. In the next step and as future work , we plan to provide a platform such that Cloud providers are able to directly publish their services in the system. This platform will serve as a repository of Cloud services and Cloud providers. Users can search for suitable Cloud providers according to their requirements. Some subclasses of Cloud Taxonomy are depicted in fig. 6. These classes are in turn divided into several other subclasses. Because of space limitation we illustrate only some of the subclasses. The Cloud taxonomy comprises in total 157 subclasses. Cloud Delivery Model and its subclasses are used for classification of the available Cloud service providers using a semantic reasoner. This is done by declaring type of the delivery model as a restriction and using an object property (deliveredBy) in the description field of the class. Cloud Core Services (see fig. 7) is divided into several subclasses: Cloud Development Tool, Cloud Management and Tools, Cloud Programming Languages, Cloud Programming Model, Cloud Security, Discovery, Replication and Resource Management. As its name suggests, the Cloud core services include major characteristics of Cloud services. Cloud Development Tool includes Command Line, Eclipse-IDE, Netbeans-Karmasphere Hadoop, SDK, Userinterface Creation Tools, Visual Studio and Web Wizard. Cloud Management and Tools is divided into two subclasses: Cloud Vendor Management and Management Tools. Cloud Vendor Management consists of four subclasses:
Figure 7: Parts of the subclasses of Cloud Core Services
Hybrid Cloud Management, Multi Cloud Management, Private Cloud Management, and Public Cloud Management. Each of these identifies different types of available Cloud management solutions. For example AppScale, Eucalyptus, WMware, Cohesive ft and Elastra are among Cloud providers which provide private Cloud management platforms. Rightscale and Enstratus provide public and multiCloud management platforms respectively. The class Management Tools is, in turn, divided into several subclasses such as snapshot and Checkpoint/cloning. Snapshot supports snapshot of running Virtual Dedicated Server (VDS). This feature is very useful since it increases the fault tolerance of the system in case of failure but it is offered by very few providers such as Amazon, joynet, GridLayer and Mediatemple. Another subclass of the class Management Tools is Cloud Performance testing tool. Soasta.com is an example of such a service. Disaster Cloud recovery, Dynamic Monitoring and Reporting, Loadbalancing, Autoscaling, Service Level Agreements (SLA) and other tools are among the available services of Cloud management tools.
207 211
IV. P ROTOTYPICAL I MPLEMENTATION The ontology described in the previous sections has been implemented using Prot´eg´e 4.1 ontology editor and knowledge acquisition system [22]. A. Object Properties In Prot´eg´e object properties are used for describing the relationship between classes in the ontology. The semantic reasoner uses these specifications for classifying different classes of the ontology hierarchy. For the Cloud ontology the following 18 object properties have been defined: deliveredBy, developedByUsingTool, hasCloudFaultTolerence, hasCloudMode, hasIaaSServices, hasLoadBalancing, hasPaaSServices, hasPaaSType, hasPaaSUsage, hasServerLocation, hasVirtualizationManagement, isCloudOS, supportBusinessProcess, supportHostingServices, supportProgrammingLanguage, supportProgrammingModel, useManagementService, useSecurity. B. Semantic Reasoner
Figure 8: Parts of the IaaS ontology
One of the major benefits of using the Web Ontology Language (OWL) for coding our ontology is the possibility to use a corresponding semantic reasoner, which makes it possible to infer information that is not explicitly indicated in the ontology. Reasoners can be used to check for desirable properties like consistency, subsumption, and equivalence. Prot´eg´e 4.1 has a built-in semantic reasoner (HermiT 1.3.3). The Reasoner checks if a specific class is a subclass of another class, if a class consists of any instances, checks the consistency of the ontology and computes the inferred ontology class hierarchy [23]. In Prot´eg´e, it is possible to view the class hierarchy in two different modes: the asserted class hierarchy and the inferred class hierarchy. The asserted class hierarchy is the class hierarchy constructed manually by the developer before compiling the reasoner. The inferred class hierarchy is the hierarchy constructed by the reasoner. The reasoner classifies the Cloud providers (subclasses of the class CloudServiceName) according to their attributes. To see how the reasoner works consider the Cloud provider Avalara, which provides sales and tax management solutions in form of Software as a Service. After defining Avalara as a subclass of CloudServiceName, the appropriate object properties have to be defined. In this case we solely define restrictions on deliveredBy and supportBusinessProcess properties : • deliveredBy some SaaS: declares that Avalara delivers its services using the SaaS delivery model. • SupportBusinessProcess some Integration with other Systems: declares that Avalara provides integration with other financial systems. • SupportBusinessProcess some Invoice Sales Ordering: declares that Avalara provides invoice, sales and ordering services.
Cloud Programming Languages is another subclass of Cloud Core Services and includes supported programming languages in Cloud platforms. Cloud Data Governance, Cloud Deployment Modes, Cloud Fault Tolerance are among other important concepts in Cloud taxonomy. In addition to these classes, Cloud Virtualization Management (virtualized resources) is defined as a subclass of Cloud Taxonomy. It consists of the following subclasses: Application Virtualization, Desktop Virtualization, Hardware Virtualization, Memory Virtualization, Network Virtualization-VLAN, Presentation Virtualization, Resizing Virtual Machine and Storage Virtualization. The class PaaS Services in the ontology classifies the PaaS services [21] as AppVersioning, Autoscaling, Availibility/Continuity Management, Billing Management, Content Management, Identity Management, Integration, Mashups, Mobile Application Delivery, PaaS Metering and Queue Metering. Paas types are categorized into four subclasses: Business Application Platform (e.g. Force.com), Web Application Platform (e.g. Google AppEngine), Raw Computing Platform (e.g. Amazon Web Services) and Social Application Platform (e.g. Facebook). The class Hosting Services is used for classification of different Cloud providers regarding the type of hosting services they provide. The IaaS concept consists of several subclasses, it covers broad range of items from network, power, virtualization to issues like data storage, kernel OS or Content Delivery Network (CDN), cooling and electricity. Fi.g 8 shows parts of the Iaas ontology. The whole Ontology can be found on our homepage [20].
208 212
in [8]. The authors of [24] propose an ontology-enhanced Cloud service discovery system. The system enables users to select Cloud providers based on the provided ontology. Our work extends this work by unifying the Cloud ontology with the business function ontology and by providing a mapping between business functions and Cloud services. Additionally, our Cloud ontology has more depth. Ma et al. in [25] propose an ontology for resource management of Cloud computing. Whilst this work focuses on ontologybased resource management of Cloud providers we focus on ontology based discovery of Cloud providers. VI. C ONCLUSION AND F UTURE W ORK A repository for publishing and discovering Cloud services is a prerequisite for Cloud computing for moving towards utility computing. In this work we have provided an integrated ontology for both business functions and Cloud providers that helps users to find Cloud services according to their functional and non-functional requirements. The provided framework not only can serve as a service repository but also it addresses issues such as description of Cloud services and their flexibility and exchangeability. At this stage the provided data on Cloud providers is based on a market research. We plan to extend our work by providing a framework for Cloud providers to enable them to publish their services directly. In addition we plan to consider QoS parameters such as response time, reliability, availability as well as an automatic reasoning on SLA of Cloud providers.
Figure 9: SPARQL query for discovering European Cloud providers with billing, accounting and CRM services
SupportBusinessProcess some TAX and VAT: declares that Avalara provides TAX and VAT services. Using an example we show how the ontology assists organizations to find Cloud providers according to their requirements. Imagine an exemplary company, called here company A, that considers to migrate its customer relationship management (CRM) and its billing and accounting applications onto the Cloud. In addition the organization is required to use the services of European Cloud providers. Using our prototype, the company is able to query the ontology according to its requirements. The SPARQL query is depicted in Fig 9. This listing declares that the Cloud provider must have a SaaS model, be located in Europe or UK and offer billing, accounting and CRM. Fig 10 depicts a snapshot of the prototype. As it can be seen the list of compliant Cloud providers includes only one provider. In a straightforward manner other requirements can be defined and compliant Cloud services discovered. •
ACKNOWLEDGMENT This work has been supported by Klimafonds within the Austrian project CLOUD-PIONEER. R EFERENCES [1] L. Vaquero, L. Rodero-Merino, J. Cceres, and M. Lindner, “A break in the clouds: Towards a cloud definition,” SIGCOMM Comput. Commun. Rev., vol. 39(1), pp. 50–55, 2009. [2] I. Foster, Y. Zhao, I. Raicu, and S. Lu, “Cloud computing and grid computing 360-degree compared,” in Proc. of IEEE Grid Computing Environments Workshop, 2008.
V. R ELATED W ORK Authors in [18] provide a high-level ontology for Cloud service. They categorize Cloud services as Hardware as a Service (Haas), software kernel, Cloud software infrastructure comprised of Iaas, DaaS and CaaS, Cloud software Environment (PaaS) and Cloud Application (SaaS). This work covers only the delivery model of our ontology with the difference that we adapted the model from the definition of NIST. Our ontology is much more comprehensive and provides querying possibilities. Dastjerdi, Tabatabaei, and Buyya in [8] provide an ontology-based discovery for QoSaware deployment of appliances on IaaS providers. Our work is complementary to this work in the sense that we consider PaaS and SaaS Providers as well. In addition, our proposed ontology is more comprehensive than the one
[3] B. Hayes, “Cloud computing,” Communications of the ACM, vol. 51(7), pp. 9–11, 2008. [4] N. Leavitt, “Is cloud computing really ready for prime time?” Computer, vol. 42(1), pp. 15–20, 2009. [5] A. Anjomshoaa and A. Tjoa, “How the cloud computing paradigm could shape the future of enterprise information processing,” in Proc. of the 13th International Conference on Information Integration and Web-based Applications and Services, 2011. [6] V. Kundra, “Federal cloud computing strategy,” http://www.cio.gov/documents/Federal-Cloud-ComputingStrategy.pdf, February 2011.
209 213
Figure 10: Selected European Cloud provider which provide accounting, billing and CRM Cloud services
[7] N. Carr, The big switch: Rewiring the world, from Edison to Google. WW Norton & Company, 2008.
[16] M. Kerrigan, A.Mocan, M. Tanler, and D. Fensel, “The web service modeling toolkit - an integrated development environment for semantic web services,” in Proc. of the 4th European conference on The Semantic Web: Research and Applications, 2007.
[8] A. Dastjerdi, S. Tabatabaei, and R. Buyya, “An effective architecture for automated appliance management system applying ontology-based cloud discovery,” in Proc. of the 10th IEEE/ACM International Conference on Cluster, Cloud and Grid Computing, 2010.
[17] M. Kelly, “The telemanagement forum’s enhanced telecom operations map (etom),” Journal of Network and Systems Management, vol. 11(1), pp. 109–119, 2003.
[9] R. Buyya, C. Yeo, and S. Venugopal, “Market-oriented cloud computing: Vision, hype, and reality for delivering it services as computing utilities,” in Proc. of the 10th IEEE International Conference on High Performance Computing and Communications, 2008.
[18] L. Youseff, M. Butrico, and D. D. Silva, “Toward a unified ontology of cloud computing,” in Proc. of Proc. GCE, 2008. [19] “National institute of standards http://www.nist.gov/itl/cloud.cfm.
[10] A. Berl, E. Gelenbe, M. di Girolamo, G. Giuliani, H. de Meer, M. Dang, and K. Pentikousis, “Energy-efficient cloud computing,” The Computer Journal, vol. 53(7), pp. 1045–1051, 2010.
and
technology,”
[20] http://www.ifs.tuwien.ac.at/ tahamtan/CloudOntology/. [21] W. Chang, H. Abu-Amara, and J. Sanford, Transforming Enterprise Cloud Services. Springer, 2010.
[11] J. Baliga, R. Ayre, K. Hinton, and R. Tucker, “Green cloud computing: Balancing energy in processing, storage, and transport,” Proc. of the IEEE, vol. 99(1), pp. 149–167, 2010.
[22] “Protege,” http://protege.stanford.edu/. [23] M. Horridge, “A practical guide to building owl ontologies using protege 4 and co-ode tools. edition 1.2,” The University Of Manchester, Tech. Rep., 2009.
[12] M. Born, A. Filipowska, M. Kaczmarek, I. Markovic, M. Starzecka, and A. Walczak, “Business functions ontology and its application in semantic business process modelling,” in Proc. of Proc. of ACIS, 2008.
[24] T. Han and K. Sim, “An ontology-enhanced cloud service discovery system,” in Proc. of IMECS, 2010.
[13] TelemanagementForum, “Enhanced telecom operations map (etom), the business process framework ,for the information and communications services industry, version 4.0,” 2004.
[25] Y. Ma, S. Jang, and J. Lee, “Ontology-based resource management for cloud computing,” in Proc. of the Third international conference on Intelligent information and database systems, 2010.
[14] “Process classification framework,” http://www.apqc.org/. [15] “Semantics utilised for process management within and between enterprises (super),” http://www.ip-super.org/.
210 214