Article Preview
TopIntroduction
Service-Oriented Computing (SOC) principles and web services provide flexibility in Internet operations. Web services are loosely coupled, self-contained, and network enabled software components that realize a specific task (Papazoglou, 2003). With standards such as WSDL, SOAP, and REST, web services are widely adopted in domains such as e-commerce, scientific workflow, and distributed and embedded systems.
Cloud computing is a recent paradigm that builds on previous computing paradigms such as grid computing and utility computing (Armbrust, 2010). Traditional computing capabilities such as CPU hour, storage capacity, network bandwidth and even software functionalities are flexibly configured and commoditized by cloud computing frameworks. Typically, for each cloud, there is a single cloud provider responsible for managing and maintaining the cloud resources. Multiple cloud users can request resources from the provider. These users can be cooperative, as in a company's private cloud, or mutually untrusted, as in a public cloud. The cloud provider provisions resources based on users' requests and availability of the requested resources.
As more and more companies are advertising their services on the web, effective service discovery and management has become a critical aspect of service-oriented computing. At the same time, as cloud computing grows in maturity and gains more acceptances, it will likely become a primary distributed computing paradigm in the future. Consequently, a natural strategic move for service providers is to offer services deployed in cloud computing frameworks (Wei, 2010). Hence for service developers and users, providers’ cloud settings will be the primary location for finding desired services. Examples of services that are already offered by cloud-based service providers include Customer Relationship Management (CRM) services, Enterprise Resource Planning (ERP) services and email exchange services.
The growing number of service activities in cloud environments requires a highly efficient framework that promotes service advertisement, management and discovery operations. A framework that is capable of scanning and incorporating service specifications across multiple cloud providers facilitates higher-level, cloud provider-situated knowledge bases that will, in effect, federate cloud environments with respect to their services. However, such an environment requires intelligent or agent-based capabilities to adapt to the highly-dynamic environment. In this paper, we introduce a supporting software framework for agent-based services in cloud environments, as well as an adaptive algorithm to monitor deployed services. The algorithm has the ability to adaptively adjust service status checking time intervals based on different check responses. This framework reduces the number of messages required to check the status of services (as shown in our simulation results).
The remainder of this paper is organized into the following sections. In the next section we discuss the challenges in service-cloud integration. We also presented a brief survey on related work in this section. After that, we introduce a framework for agent based services and an adaptive monitoring algorithm. A prototype implementation of the framework is described in Implementation and Evaluation section. Experimental results and analysis are also presented in the same section. Conclusions and future work are described in the last section.