Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

A Policy-Based Approach to Smart Cloud Services

Preprint: Karuna P Joshi, Tim Finin, Yelena Yesha, Anupam Joshi, Navid Golpayegani and Nabil R. Adam, A Policy-based Approach to Smart Cloud Services, Annual Service Research and Innovation Institute Global Conference, San Jose, July 2012. A Policy-based Approach to Smart Cloud Services Karuna P Joshi, Tim Finin, Yelena Yesha, Anupam Joshi, Navid Golpayegani Nabil R. Adam Computer Science and Electrical Engineering University of Maryland, Baltimore County Baltimore, MD, USA {kjoshi1, finin, yeyesha, joshi, golpa1}@umbc.edu Abstract— Virtualized service models are now emerging and redefining the way information technology is delivered. Managing these services efficiently over the cloud is an open challenge. We are developing a policy-based integrated framework for automating acquisition and consumption of Cloud services. We have developed a tool, Smart Cloud Services tool, to automatically discover, negotiate and consume services from the cloud for a specific use case described by NIST around storage services. This tool incorporates NIST specific definitions for cloud services. The tool makes use of Semantic Web technologies including SPARQL, RDF and OWL to represent and reason about services and service requirements. It is built upon the service lifecycle ontology that we have developed. In this paper, we describe this Smart Cloud Services tool in detail along with the technical challenges we faced in developing it and identify limitations in the current open source cloud computing software. Keywords-cloud semantic web services; I. cloud computing; policies; INTRODUCTION Organizations are increasingly adopting an Information Technology (IT) delivery model where components of IT like software, hardware or network bandwidth can be purchased as services from providers based anywhere in the world. Typically the service is hosted on a Cloud and is delivered to the organization via the Internet or mobile devices. The service is acquired on an as needed basis and can be described as service on demand. In such an environment, multiple providers often collaborate to create a single service for an organization. In some cases, businesses utilize multiple service providers to mitigate risks that may be associated with a single provider. In others, a business may use a single provider who in turn utilizes the services of other providers. In either case, the delivery of IT service is moving away from a single provider mode, and is increasingly based on the composition of multiple services and assets (technological, human, or process) that may be supplied by one or more providers distributed across the network – in the cloud. Moreover, a single service can be a part of many composite services as needed. The service, in effect, is virtualized on the cloud. This is becoming the preferred method to deliver services ranging from helpdesk and back-office functions to Infrastructure as a Service CIMIC Rutgers University Newark, NJ, USA adam@adam.rutgers.edu (IaaS). The virtualized model of service delivery also extends to IT Enabled Services (ITeS), which typically include a large human element. A key barrier preventing organizations from successfully using services on the cloud is that the they have complex internal policies, as well as legal and statutory constraints that require compliance. Such policies are today enforced on internal resources controlled by the organization. When acquiring remote services, it requires significant human intervention and negotiation -- people have to check whether a provider’s service attributes ensure compliance with their organization’s constraints. This can get very complex if the provider is composing services, some of which it gets from other providers. A related issue is the lack of an integrated methodology for service creation and deployment that provides a holistic view of the service lifecycle on a cloud. We are developing a methodology [6] to address the lifecycle issue for virtualized services delivered from the cloud and describe it briefly in section III. This lifecycle provides ontologies to describe services and their attributes. In particular, we used semantically rich descriptions of the requirements, constraints, and capabilities that are needed at each phase of the lifecycle. Policies can be described using the same ontology terms so that compliance checks can be automated. This methodology is complementary to previous work on ontologies, e.g., OWL-S [10], for service descriptions in that it is focused on automating processes needed to procure services on the cloud. The methodology will enable practitioners to plan, create and deploy virtualized services successfully. We have developed and implemented a cloud storage service prototype to demonstrate and evaluate our methodology. The prototype allows cloud consumers to discover and acquire disk storage on the cloud by specifying the service constraints, security policies and compliance policies via a simple user interface. This prototype was developed as part of our collaboration with National Institute of Standards and Technology (NIST). We used W3C standard Semantic Web technologies, such as OWL [12], RDF [9], and SPARQL [18], to develop our prototype system since they enable us to build the vocabulary (or ontology) of our service lifecycle using standardized languages that support our design requirements, which include interoperability, sound semantics, Web integration, and the availability of tools and system components. Our most fundamental requirement is for a representation that supports interoperability at both the syntactic and semantic levels. The OWL [12] language has a well-defined semantics that is grounded in first order logic and model theory. This allows programs to draw inferences from OWL expressions with the assurance that the subsequent interpretation is sound. An important advantage for OWL over many other knowledge-based systems languages is that there are well defined subsets (or profiles, as they are called in OWL 2) that guarantee sound and complete reasoning with various levels of completely (e.g., N2ExpTime for OWL 2 DL). Moreover, there are also profiles that are tuned to work well with popular implementation technologies, e.g., OWL QL for databases and OWL RL for rule-based systems. A second design requirement is for a language that is designed to integrate well with the Web, which has become the dominant technology for today's distributed information systems. OWL is built on basic Web standards and protocols and is evolving to remain compatible with them. It is possible to embed RDF and OWL knowledge in HTML pages and several search engines (including Google) will find and process some embedded RDF. RDF is also compatible with Microdata, a Web Hypertext Application Technology Working Group HTML specification that is used to nest semantic statements within existing content on web pages. Microdata has been adopted by Schema.org, a collaboration by Google, Microsoft, and Yahoo!, and has been used to define a number of basic ontologies that are being supported by search engines. Finally, there are a wide variety of both commercial and open sourced tools that support Semantic Web languages and systems including knowledge base editors, reasoners, triple stores, SPARQL query engines (including some that support federated queries), ontology mapping, etc. Several database vendors, including Oracle and IBM, have sophisticated support for representing RDF and OWL, including reasoning. II. RELATED WORK Since cloud computing is a nascent field, there is lack of standardization and there seems to be a need to clearly define its key elements. NIST has released a special publication 800-145 [13] defining cloud computing as a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. One of the key characteristics identified by NIST is that a cloud service should have the capability of on-demand selfservice whereby a consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with each service provider. This capability of automatically acquiring a service is currently either missing, or very limited, in most cloud based services. Our methodology aims to make it possible to automatically discover, negotiate/acquire and consume cloud based services. In addition to the standard definition of Cloud Computing, NIST has also released the Cloud Computing Reference Architecture document [14] that describes a reference architecture for cloud computing and also the key roles and responsibilities of stakeholders. The authors of this paper were part of the NIST cloud computing reference architecture and taxonomy working group that participated in developing the standard. Our ontology, described in the next section, makes use of the NIST cloud computing standards.. Current research on cloud or web services so far has been limited to exploring a single aspect of the lifecycle such as service discovery, service composition, or service quality. There is no integrated methodology for the entire service lifecycle - covering service planning, development and deployment in the Cloud. In addition, most of the work is limited to the software component of the service and does not cover the service processes or human agents which are a critical component of IT Services. Papazoglou and Heuvel [16] have proposed a methodology for developing and deploying web services using service oriented architecture (SOA). Their approach, however, is limited to the creation and deployment of web services and does not account for virtualized environment where services are composed on demand. Providers may need to combine their services with other resources or providers’ services to meet consumer needs. Other methodologies, like that proposed by Bianchini et al. [1], do not provide this flexibility and are limited to cases where a single service provider provides one service. Zeng et al. [28] address the quality based selection of composite services via a global planning approach but do not cover the human factors in quality metrics used for selecting the components. Maximilien and Singh [11] propose an ontology to capture quality of a web service so that quality attributes can be used while selecting a service. While their ontology can serve as a key building block in our system, it is limited by the fact that it considers single web services, rather than service compositions. Black et al. [2] have proposed an integrated model for IT service management. Their model is limited to managing the service from the service provider’s perspective. Paurobally et al. [17] have described a framework for negotiation of web services using the iterated Contract Net Protocol (CNP) [21]. However their implementation is limited to pre-existing web services and doesn’t extend to virtualized services that are composed on demand. Our negotiation protocol detailed in next section accounts for the fact that the service will be composed only after the contract/SLA listing the constraints is finalized. GoodRelations [3] is an ontology developed for E-commerce to describe products. While this ontology is useful for describing service components that already exist on the cloud, it is difficult to describe composite virtualized services being provided by multiple vendors using this ontology. Cardoso et al. [24] have described a Unified Service Description Language (USDL) a specification language to describe services from a business, operational and technical perspective. The Information Technology Infrastructure Library (ITIL) is a set of concepts and policies for managing IT infrastructure, development and operations that has wide acceptance in the industry. The latest version of ITIL lists policies for managing IT services [23] that cover aspects of service strategy, service design, service transition, service operation and continual service improvement. However, it is limited to interpreting “IT services” as products and applications that are offered by in-house IT department or IT consulting companies to an organization. This framework in its present form does not extend to the service cloud or a virtualized environment that consists of one or more composite services generated on demand. We use Semantic Web techniques for our services lifecycle and prototype development. The Semantic Web deals primarily with data instead of documents. It enables data to be annotated with machine understandable meta-data, allowing the automation of their retrieval and their usage in correct contexts. Semantic Web technologies include languages such as Resource Description Framework (RDF) [9] and Web Ontology Language (OWL) [12] for defining ontologies and describing meta-data using these ontologies as well as tools for reasoning over these descriptions. These technologies can be used to provide common semantics of Service information and policies enabling all agents who understand basic Semantic Web technologies to communicate and use each other’s data and Services effectively. The Ontology Web Language for Services (OWL-S) [10] was developed to provide a vocabulary for describing the properties and capabilities of Web Services in unambiguous, computer-interpretable form. OWL-S allows Service providers or brokers to define their Services based on agreed upon ontologies that describe the functions they provide. We have integrated the OWL-S ontology into our ontology. SPARQL Protocol and RDF Query Language (SPARQL) is the query language for RDF that has been standardized by W3C [18]. SPARQL can be used to express queries across diverse data sources, whether the data is stored natively as RDF or viewed as RDF via middleware. It has capabilities for querying required and optional graph patterns and their conjunctions and/or disjunctions. SPARQL also supports value testing and altering of results. The results of queries can be results sets or RDF graphs. A SPARQL abstract query is defined in [18] as a tuple (E, DS, R) where E is a SPARQL algebra expression, DS is an RDF Dataset and R is a query form. A SPARQL endpoint is a conformant SPARQL protocol service as defined in the SPARQL Protocol for RDF (SPROT) specification [22]. It enables users (human or other) to query a knowledge base via the SPARQL language. Results are typically returned in one or more machineprocessable formats. Therefore, a SPARQL endpoint is mostly conceived as a machine-friendly interface towards a knowledge base. Both the formulation of the queries and the human-readable presentation of the results should typically be implemented by the calling software, and not be done manually by human users. We have used the Joseki [5] server to simulate the SPARQL endpoint for our tool. III. LIFECYCLE OF CLOUD SERVICES We have developed a methodology that integrates all the processes and data flows that are needed to automatically acquire, consume, and manage services on the cloud. We divide this IT service lifecycle on a cloud into five phases. In sequential order of execution, they are requirements, discovery, negotiation, composition, and consumption; and are illustrated in figure 1. We have described these phases in detail along with the associated metrics in [6]. We have developed the ontology for the entire lifecycle in OWL 2 DL profile, [7]. This ontology has been used in the development of the Smart Cloud Services tool described in the next section. Figure 1: The IT service lifecycle on a virtualized cloud comprises five main phases: requirements, discovery, negotiation, composition and consumption A. Service Requirements Phase In this phase, the consumer details the technical and functional specifications that a service needs to fulfill along with the organizational policies for the providing agent, data quality policy and security policies for the service. Service compliance policies such as required certifications standards to be adhered to, etc. are also identified. Depending on the service cost and availability, a consumer may be amenable to compromise on the service quality. Functional specification describe in detail what functions/tasks should a service help automate. The technical specifications lay down the hardware, software, application standards, and language support policies to which a service should adhere. Once the consumers have identified and classified their service needs, they issue a Request for Service (RFS). This request could be made by directly contacting a few service providers for their quotes. Alternatively, consumers can use a service discovery engine or service broker on the cloud to procure the service. B. Service Discovery Phase Service providers are discovered by comparing the specifications listed in the RFS. The discovery is constrained by functional and technical attributes defined, and also by the budgetary, security, compliance, data quality, and agent policies of the consumer. While searching the cloud, service brokers can be employed. The broker engine queries the service providers to match the service domain, data type, compliance needs, functional, and technical specifications; and returns the result with the service providers in priority order. Sbodio et al. [20] and Paliwal et al. [25] have presented semantic approaches for service discovery which can be incorporated in our methodology. One critical part of this phase is service certification, in which the consumers will contact a central registry, such as UDDI [19], to get references for providers that they narrow down to. If a consumer finds the exact service within their budgets, s/he can begin consuming the service immediately upon payment. However, often the consumer will get a list of providers who will need to compose a service to meet the consumer’s specifications. The consumer will then have to begin negotiations with the service providers. Each search result will return the primary provider who will be negotiating with the consumer. C. Service Negotiation phase The service negotiation phase covers the discussion and agreement that the service provider and consumer have regarding the service delivered and its acceptance criteria. The service delivered is determined by the specifications laid down in the RFS. Service acceptance is usually guided by the Service Level Agreements (SLA) that the service provider and consumer agree upon. SLAs define the service data, delivery mode, agent details, quality metrics, and cost of the service. While negotiating the service levels with potential service providers, consumers can explicitly specify service quality constraints (data quality, cost, security policies, response time, etc.) that they require. At times, the service provider will need to combine a set of services or compose a service from various components delivered by distinct service providers in order to meet the consumer’s requirements. The negotiation phase also includes the discussions that the main service provider has with the other component providers. When the services are provided by multiple providers (composite service), the primary provider interfacing with the consumer is responsible for composition of the service. The primary provider will also have to negotiate the Quality of Service (QoS) with the secondary service providers to ensure that SLA metrics are met. The key deliverable of this phase is the service contract between the service consumer and service provider. The SLA is a key part of this service contract and will be used in the subsequent phases to compose and monitor the service. Another deliverable of this phase are the service sub contracts between the service provider and component (or dependent services) providers. The QoS are the essential part of the service sub-contracts and are used in the consumption phase to monitor service performance. D. Service Composition phase In this phase one or more services provided by one or more providers are combined and delivered as a single service. Service orchestration determines the sequence of the service components. E. Service Consumption/Monitoring phase The service is delivered to the consumer based on the delivery mode (synchronous/asynchronous, real-time, batch mode etc.) agreed upon in the negotiation phase. After the service is delivered to the consumer, payment is made and the consumer then begins consuming the service. In a cloud environment, the service usually resides on remote machines managed by the service providers. The provider is responsible for managing and monitoring the service. In this phase, consumer will require tools that enable service quality monitoring and service termination if needed. This will involve alerts to humans or automatic termination based on policies defined using the quality related ontologies. The Service Monitor measures the service quality and compares it with the quality levels defined in the SLA. This phase spans both the consumer and cloud areas as performance monitoring is a joint responsibility. If the consumer is not satisfied with the service quality, s/he should have the option to terminate the service and stop service payment. The composite service is made up of human agents providing the service, the service software, and dependent service components. All the three elements, agents, software, and dependent services, must be monitored to manage the overall service quality. For the service, software providers have to track its performance, reliability, assurance, and presentation as they will influence customer’s satisfaction rating (CSATs). Since the dependent services/components will be at the backend and will not interface directly with the consumers, the service provider only needs to monitor their performance. We have proposed a framework to manage quality based on fuzzy-logic for such composed services delivered on the cloud in [8]. IV. SMART CLOUD SERVICES TOOL In this section we describe the prototype that we have constructed in collaboration with NIST for automatically acquiring cloud based services. This tool is based on our proposed lifecycle that we described in the previous section and uses the ontology that we have developed for the same. It demonstrates the capability that cloud users will have in the future to automatically acquire Cloud services. This tool allows users to define a range of values for their constraints and so accommodates for scenarios where the users may not have finalized their requirements. For the prototype we considered a simple Storage service, as a representative scenario for Infrastructure as a Service (IaaS), whereby users can store their files/data on the cloud. It consists of a web interface (Figure 2) that enables cloud users to easily define the service policies and constraints by choosing predefined values from dropdown fields. The tool then discovers the services that will match the specified policies. A Cloud-provider end server process interprets the policies specified by the user(s) and establishes Service Level Agreements (SLAs) by the process of negotiation. Each field in the interface has an associated ‘Help’ description that describes the attributes and enables users to determine which option to select. The fields in each section are placed in descending order of priority. This tool allows users to define a range of values for their constraints and so accommodates for scenarios where the users may not have finalized their requirements. A. Prototype Description We used Semantic Web technologies to build the front end of our prototype as they are platform independent and inter-operable. We used SPARQL, Jena Semantic Web framework [4] and the Joseki software [5], which is an HTTP engine that supports the SPARQL Protocol and the SPARQL RDF Query language, to develop the prototype. After defining our service, we created a SPARQL endpoint using Joseki to simulate a service provider providing the service. Since the Joseki server allows multiple service definitions, we used it to simulate both multiple services provided by the provider as well as multiple instances of a same service. The Joseki service database contained the service description along with the provider policies endpoint. For the cloud-end processes, we used the Eucalyptus Cloud [15] which is an open source cloud platform that we have installed in our research lab. We are using our service lifecycle ontology that we described in the previous section and the OWL-S ontology to develop the tool. In addition to these two ontologies, we also created an OWL ontology to describe the technical and security policies for our prototype. We have incorporated actual enterprise policies related to data storage and security that are practiced by large organizations. We have used the policies defined in the use case 3.9 [26] identified by the NIST cloud computing initiative. While requesting the storage service, users will specify the four categories of service attributes –core service attributes, data/security policy attributes, compliancy policy attributes and Cloud instance attributes. 1) CORE Attributes The Core attributes include the mandatory attributes that the service provider should meet. The attributes in this section are listed below. a) Storage size This attribute defines the storage size (in Giga Bytes / Tera Bytes units) that the consumer wishes to procure on the cloud. To enable consumers to easily determine their storage needs, the field in the tool consists of a drop down list with a range of values – ‘less than 2GB’, ‘2GB to 10GB’, ‘10GB to 50 GB’, ‘50 GB to 100 GB’, ‘100 GB to 1TB’ and ‘more than 1TB’ . We referenced existing cloud storage solutions to determine the storage ranges offered in the market today. b) Service Cost This attribute refers to the price consumers are willing to pay for the service. The options listed in this field provide a sample of the pricing models used currently by storage service providers. These can be modified based on service domain. The service cost will vary depending on the other attributes specified by the cloud user and so the service is searched on a range of costs as opposed to a specified price. The ranges provided in the tool are ‘Free / no cost’, ‘$0 to $10 per month’, ‘$10.01 to $20 per month’ and ‘$20.01 to $30 per month’. For simplicity we have adopted the subscription based pricing model in the tool. c) Data Preservation/Backup This attribute specifies the data backup requirements. The consumers select the Daily or Hot backup options if they want the cloud provider to backup their data often. For instance, if users are constantly updating the files stored on the cloud, then the ‘hot backup’ option will better suit their needs. The tool cautions consumers that the service cost attribute will be higher if more frequent backup options are selected. The ranges provided in the tool are ‘Daily’, ‘Weekly’ and ‘Hot backup’. d) Service Availability This field specifies the minimum level of service availability consumers expect from the service provider. Consumers are advised to select higher availability options if they expect the service will be heavily used. The tool cautions consumers that the service cost attribute will be higher if service availability is set high. The ranges provided in the tool are ‘95%’, ‘99%’ and ’99.9%’. 2) DATA/SECURITY POLICY Attributes The data and security policy attributes specify the policies of the consumer organization with regards to their data on the cloud. The policies that we selected are specific to the NIST cloud computing User case 3.9 [26]. The priority of each policy was determined by our NIST collaborators and the fields were positioned in the tool in decreasing order of their priority. The attributes in this section are listed below. a) User authentication mechanism NIST issued FIPS (Federal Information Processing Standard - Publication 140-2) is a U.S. government computer security standard used to accredit cryptographic modules. This attribute specifies whether FIPS 140-2 is to be supported by the cloud provider or not. b) Data Encryption This attribute specifies if the consumer wants the data to be encrypted when stored on the cloud. The tool cautions consumers that the Cloud providers will charge more for the service if data is stored encrypted. c) Data Location This attribute specifies the constraint the consumer may have regarding the location of the cloud. The options available in the tool are ‘Anywhere in the world’, ‘Restricted to US jurisdiction’ and ‘Restricted to EU jurisdiction’. Restricted to US jurisdiction includes all the locations in the world where US laws specific to cloud computing can be enforced. Restricted to European Union (EU) jurisdiction includes all the locations in the world where EU laws specific to cloud computing can be enforced. For instance, EU mandates that the cloud infrastructure should exist within EU countries. d) Data Deletion This attribute helps consumer specify their data deletion policies for the cloud – whether the data is deleted or merely made inaccessible, secure wipe is supported or not. While in the cloud environment it may be difficult to ensure the intended data deletion; adding this policy to the Service SLA will make the cloud provider liable if the deletion method specified is not followed. So the onus to ensure appropriate data deletion procedure will be on the cloud provider and not the cloud user. e) Virtual Machine (VM) separation This attribute specifies whether the cloud provider supports separate Virtual Machines to store consumer’s data on the cloud. Some organizations may desire separate Virtual Machines on the cloud to ensure more security. f) Interface for a storage specification. The consumer can specify in their requirements whether they want SOAP protocol or REST (Representational state transfer) interface support. 3) COMPLIANCE POLICY Attributes In the tool we have included two compliance policies specified by NIST and majority of the US federal agencies. They are listed below. The compliance policy constraints have lower priority than the data/security policy constraints and hence are relaxed after cloud instance constraints, but before the data/security constraints during service negotiation. a) Trusted Internet Connection (TIC) Trusted Internet Connection initiative is mandated in an OMB (Office of Management and Budget) Memorandum (M-08-05) meant to optimize individual external connections, including internet points of presence currently in use by the Federal government of the United States. b) CC Evaluation Assurance Level (EAL) levels The Evaluation Assurance Level (EAL1 through EAL7) of an IT product or system is a numerical grade assigned following the completion of a Common Criteria security evaluation, an international standard in effect since 1999. This attribute accepts EAL number from 1 to 7. 4) CLOUD INSTANCE Attributes If consumers have specific requirements of the Cloud instance, they can specify the RAM size, CPU speed and number of cores dedicated to the requested service. The Cloud Instance policy constraints have the lowest priority and hence are relaxed first during service negotiation. B. Prototype Workflow The prototype mirrors the service lifecycle described in section III. After selecting the values of their core attributes, security policies, compliance policies and cloud instance, the consumers can press the ‘Request for Service (RFS)’ button to generate a RDF document that contains the RFS. Figure 2 illustrates the RFS in a RDF/XML format. After generating the RFS, users press the ‘Discover Services’ button to search for services that match the RFS constraints. The tool generates federated SPARQL queries based on the selections on the screen. This query runs across multiple SPARQL endpoints and retrieves a list of matching services residing on that endpoint. If a query matching all the constraints is found, it is displayed on the screen. Otherwise, the user is advised to begin service negotiation by selecting the Negotiation button. The users press the ‘Negotiate and Finalize SLA’ button to begin service negotiation. The tool iteratively relaxes the requirements one by one and generates a new SPARQL query to search the service endpoints. The order of constraint relaxation for this prototype was determined by the NIST team that was collaborating with us who specified the priority of each constraint in the RFS. After each constraint relaxation, the tool executes the new SPARQL query to discover services that match the new constraint set. When a service match is found, the tool returns the service details of that service along with a list of constraints not met (illustrated in figures 3, 4 after the reference section). The consumer can finalize the SLA by accepting the service that best matched the constraints. The final SLA (figure 5) is generated as a RDF file and is in machine readable format. The user next click the ‘Compose Services on the Cloud’ button to compose the desired service. @prefix  itso:  <http://ebiq.org/o/itso/1.0/itso.owl>.   @prefix  stg:  <http://ebiq.org/o/storage/1.0/storage.owl>.     [a  itso:Service_Level_Agreement      itso:Expected_Begin_Date_of_Service  "1-­‐1-­‐2012";      itso:Service_Cost_Constraint  "0";      itso:Service_Location_constraint  "global";      stg:authentication  "FIPS  140  2  supported";      stg:availability  "95";      stg:backup  "Weekly";      stg:cloud_instance_cores  "4";      stg:cloud_instance_size  "1073741824";      stg:cloud_instance_speed  "1GHz";      stg:datadeletion  "data  archived";      stg:Encryption  "No  Encryption";      stg:storage  "1073741824";      stg:storage_interface  "SOAP  WSDL";      stg:TIC_connection  "TIC  Compliant";      stg:VMseparation  "VM  separation".  ] Figure 5: The finalized SLA is stored as a RDF document serialized in the Terse RDF Triple Language (Turtle). C. Service Composition and Consumption on the Cloud When the user clicks the Compose button, a Virtual Machine is created on the Eucalyptus cloud environment. The finalized SLA is referred to by an automated routine when launching the virtual machine. This URI of the service is then returned to the end user to begin consuming the service. By clicking on the Launch Service button, the consumer is directed to the service URI on Eucalyptus cloud environment. To interface our tool to a cloud system we chose Eucalyptus [15], an Infrastructure as a Service (IaaS) cloud solution. We chose it since it is open source and is compatible with the Amazon Web Services (AWS) cloud. Smart Cloud services tool and the Eucalyptus cloud were installed on separate machines. Figure 6 shows the layout of the installation. Due to security reasons, the Eucalyptus installation had no direct internet access and no direct access to the tool. The only way to communicate between the two systems was through an intermediate node called Bluegrit which is a 116 core PowerPC cluster managed at UMBC. The software to manage the interaction between our tool and eucalyptus is written in Perl and, due to the layout of the system, resides on the Bluegrit cluster. When the user presses the ‘Compose Services’ button on the tool, a remote connection is established with the Bluegrit cluster and the Perl code that parses the SLA RDF file is executed to find the suitable Eucalyptus configuration. To determine a suitable node the Perl code compares the number of cores Figure 6: Interaction hierarchy between Smart Cloud Services tool and Eucalyptus cloud platform and disk requirements specified in the SLA file to the ones provided by Eucalyptus. A match is considered successful if the number of cores and RAM provided by the Eucalyptus configuration is greater or equal to the request provided by the SLA and at least one instance of such a configuration can be started. If all the criteria are met, the software launches an instance of the configuration and reports back the IP address of the newly launched instance to the tool. The interaction with the Eucalyptus system is done via the command line tools provided by Eucalyptus. We used the command 'eucadescribe-availability-zones' to determine what configurations were being provided by Eucalyptus and we used the 'eucarun-instances' to start up an instance once a matching configuration had been found. The parser software waits for the instance to start up by polling Eucalyptus every few seconds via the 'euca-describe-instances' command. We discovered several shortcomings while interfacing with the Eucalyptus cloud platform. First, Eucalyptus only allows for five different configurations for Cloud instances. This limit makes it very hard for a user to request just the right configuration for their needs. A more flexible way of specifying exactly what a user's requirements are would be far more convenient. Besides the five different configurations provided by Eucalyptus and configured by the Eucalyptus administrator, it is impossible to configure a Eucalyptus node to meet the requested requirements. Hence our Perl code matches the SLA requirements to one of the five existing configurations provided by the Eucalyptus administrator. A configuration is considered a match if all the SLA requirements are met or exceeded. The configuration with the lowest requirements that still matches the SLA is chosen as the node. Second, the only configuration options provided by Eucalyptus were to vary the number of cores, the amount of RAM, and the size of local storage. In some circumstances it might be desirable to have additional limitations, such as requiring a specific CPU clock cycle or the availability of special hardware, such as GPUs. With the current Eucalyptus system such a request is not possible. This paper describes our results with a single service provider Eucalyptus. In ongoing work more cloud providers (like IBM’s Virtual Computing Lab VCL [27]) are being added to Bluegrit and this experiment will be repeated to expand the ability of cloud users to provision cloud services composed using components provided by multiple service providers. V. CONCLUSION AND FUTURE WORK In this paper we have described an integrated methodology to automate IT services lifecycle on the cloud. To the best of our knowledge, this is the first such effort, and it is critical as it provides a holistic view of steps involved in deploying IT services. Our methodology, described in section III, complements previous work on ontologies for service descriptions in that it is focused on automating the processes needed to procure services on the cloud. The methodology can be referenced by organizations to determine what key deliverables they can expect at any stage of the process. We also hope that it will enable the academia and the industry to be on the “same page” when referring to IT services on the cloud. The Smart Cloud Services tool successfully demonstrated how our methodology can be used to sig-nificantly automate the acquisition and consumption of cloud based services thereby reducing the large time required by companies to discover and procure cloud based services. We are in the process of releasing this tool to multiple users to analyze how this scales up. As part of our ongoing work in this area, we are working on integrating this tool with other cloud computing platforms available in the industry today. One of the first platforms that we are working on is the Virtual Computing Lab (VCL) [27] platform provided by IBM. ACKNOWLEDGMENT [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] The authors would like to acknowledge Ms. Dawn Leaf, Cloud Computing Executive Program Manager at NIST, for her support and guidance in developing the Smart Cloud Services demonstration prototype. [20] REFERENCES [22] [1] [2] [3] [4] [5] [6] D. Bianchini, V. De Antonellis, B. Pernici, P. Plebani, Ontologybased methodology for e-service discovery, International Journal of Information Systems, The Semantic Web and Web Services, v. 31, n. 4-5, June-July 2006, pp 361-380 J. Black et al, An integration model for organizing IT service Management, IBM Systems Journal, VOL 46, NO 3, 2007 M. Hepp , “GoodRelations: An Ontology for Describing Products and Services Offers on the Web”, Proceedings of the 16th International Conference on Knowledge Engineering and Knowledge Management (EKAW2008), Italy, 2008, Springer LNCS, Vol 5268, pp. 332-347. Jena– A Semantic Web Framework for Java, http://incubator.apache.org/jena/, retrieved on Feb 22, 2012. Joseki - A SPARQL Server for Jena, http://www.joseki.org/, retrieved on Feb 22, 2012. K. Joshi , T. Finin , Y. Yesha, "Integrated Lifecycle of IT Services in a Cloud Environment", in Proceedings of The Third International Conference on the Virtual Computing Initiative (ICVCI 2009), Research Triangle Park, NC, October 2009 [21] [23] [24] [25] [26] [27] [28] K. Joshi, OWL Ontology for Lifecycle of IT Services on the Cloud, 2010, http://ebiquity.umbc.edu/ontologies/itso/1.0/itso.owl K. Joshi, A. Joshi and Y. Yesha , “Managing the Quality of Virtualized Services”, in proceedings of the SRII Global conference, San Jose, March 2011. O. Lassila, R. Swick and others, Resource Description Framework (RDF) Model and Syntax Specification, World Wide Web Consortium, 1999. D. Martin, et al., Bringing semantics to web services: The OWL-S approach, Lecture Notes in Computer Science, volume 3387, pp. 2642, 2005, Springer. E. M. Maximilien, M.Singh, A Framework and Ontology for Dynamic Web Services Se-lection, IEEE Internet Computing, vol. 8, no. 5, pp. 84-93, Sep./Oct. 2004 D. McGuinness, F. Van Harmelen, et al., OWL web ontology language overview, W3C recommendation, World Wide Web Consortium, 2004. NIST Special Publication 800-145, “The NIST Definition of Cloud Computing”, Sep 2011. NIST Special Publication 500-292, “NIST Cloud Computing Reference Architecture”, Nov 2011. Nurmi, D., Wolski, R., Grzegorczyk, C., Obertelli, G., Soman, S., Youseff, L., Zagorodnov, D., “The eucalyptus open-source cloudcomputing system”, 9th IEEE/ACM International Symposium on Cluster Computing and the Grid, pp 124-131, 2009 M. Papazoglou and W. Van Den Heuvel, Service-oriented design and development methodology, International Journal of Web Engineering and Technology, Volume 2, Number 4, 2006, pp. 412 – 442 S. Paurobally, V. Tamma and M. Wooldrdige, A Framework for Web Service Negotiation, ACM Transactions on Autonomous and Adaptive Systems,Vol. 2, No. 4, Article 14, November 2007. E. Prud'hommeaux and A. Seaborne, SPARQL Query Language for RDF, , W3C recommendation Jan 2008, http://www.w3.org/TR/rdfsparql-query/, retrieved on April 27, 2011 S Ran, A model for web services discovery with QoS, ACM SIGecom Exchanges, Vol 4, Issue 1, 2003, pp 1-10, 2003 M. L. Sbodio, D. Martin, and C. Moulin, “Discovering Semantic Web services using SPARQL and intelligent agents.” Journal of Web Semant. 8, 4 (November 2010), 310-328. R. Smith, The Contract Net Protocol: High-Level Communication and Control in a Distributed Problem Solver, IEEE Transactions on computers, Volume C-29, Issue 12, 1980, pp 1104-1113. SPARQL Endpoint, http://semanticweb.org/wiki/SPARQL_endpoint, retrieved on Feb 22, 2012. Van Bon et al., Foundations of IT service management based on ITIL V3 , Van Haten Publishing, 2008 J. Cardoso, A. Barros, N. May, and U. Kylau, Towards a Unified Service Description Language for the Internet of Services: Requirements and First Developments, IEEE Intl Conference on Services Computing, IEEE Computer Society Press, 2010. Paliwal, A.; Shafiq, B.; Vaidya, J.; Xiong, H.; Adam, N.; , "Semantics Based Automated Service Discovery," Services Computing, IEEE Transactions on , vol.PP, no.99, pp.1, 0, doi: 10.1109/TSC.2011.19 NIST Cloud Computing Use Case 3.9: Query Cloud-Provider Capabilities and Capacities, http://www.nist.gov/itl/cloud/3_9.cfm, retrieved on February 25, 2012 IBM VCL : A Cloud Computing Solution in Universities, http://www.ibm.com/developerworks/webservices/library/ws-vcl/, retrieved on February 25, 2012 L Zeng, B. Benatallah, M. Dumas, J. Kalagnanam, Q. Sheng, Quality driven web services composition, Proceedings of the 12th international conference on World Wide Web, 2003, pp 411 - 421 . Figure 2: User Interface for Smart Cloud Service allows users to specify the service constraints using drop down lists and generate a Request for Service. Figure 3: The tool relaxes RFS constraints iteratively during Service Negotiation Figure 4: Matching Services are returned along with service IRI and constraint value.