Proliferation of cloud computing has revolutionized hosting and delivery of Internet-based application services. However, with the constant launch of new cloud services and capabilities almost every month by both big (e.g., Amazon Web Service, Microsoft Azure) and small companies (e.g. Rackspace, Ninefold), decision makers (e.g. application developers, CIOs) are likely to be overwhelmed by choices available. The decision making problem is further complicated due to heterogeneous service configurations and application provisioning Quality of Service (QoS) constraints. To address this hard challenge, in our previous work we developed a semi-automated, extensible, and ontology-based approach to infrastructure service discovery and selection based on only design time constraints (e.g., renting cost, datacentre location, service feature, etc.). In this paper, we extend our approach to include the real-time (run-time) QoS (endto- end message latency, end-to-end message throughput) in the decision making process. Hosting of next generation applications in domain of on-line interactive gaming, large scale sensor analytics, and real-time mobile applications on cloud services necessitates optimization of such real-time QoS constraints for meeting Service Level Agreements (SLAs). To this end, we present a real-time QoS aware multi-criteria decision making technique that builds over well known Analytics Hierarchy Process (AHP) method. The proposed technique is applicable to selecting Infrastructure as a Service (IaaS) cloud offers, and it allows users to define multiple design-time and real-time QoS constraints or requirements. These requirements are then matched against our knowledge base to compute possible best fit combinations of cloud services at IaaS layer. We conducted extensive experiments to prove the feasibility of our approach.
The paradigmatic shift from a Web of manual interactions to a Web of programmatic interactions driven by Web services is creating unprecedented opportunities for the formation of online business-to-business (B2B) collaborations. In particular, the creation of value-added services by composition of existing ones is gaining a significant momentum. Since many available Web services provide overlapping or identical functionality, albeit with different quality of service (QoS), a choice needs to be made to determine which services are to participate in a given composite service. This paper presents a middleware platform which addresses the issue of selecting Web services for the purpose of their composition in a way that maximizes user satisfaction expressed as utility functions over QoS attributes, while satisfying the constraints set by the user and by the structure of the composite service. Two selection approaches are described and compared: one based on local (task-level) selection of services and the other based on global allocation of tasks to services using integer programming. Quality of service (QoS) is a major concern in the design and management of a composite service. In this paper, a systematic approach is proposed to calculate QoS for composite services with complex structures, taking into consideration of the probability and conditions of each execution path. Four types of basic composition patterns for composite services are discussed: sequential, parallel, loop, and conditional patterns. In particular, QoS solutions are provided for unstructured conditional and loop patterns. We also show how QoS-based service selection can be conducted based on the proposed QoS calculation. Experiments have been conducted to show the effectiveness of the proposed method. Service-Oriented Architecture (SOA) provides a flexible framework for service composition. Using standard-based protocols (such as SOAP and WSDL), composite services can be constructed by integrating atomic services developed independently. Algorithms are needed to select service components with various QoS levels according to some application-dependent performance requirements. We design a broker-based architecture to facilitate the selection of QoS-based services. The objective of service selection is to maximize an application-specific utility function under the end-to-end QoS constraints. The problem is modeled in two ways: the combinatorial model and the graph model. The combinatorial model defines the problem as a multidimension multichoice 0-1 knapsack problem (MMKP). The graph model defines the problem as a multiconstraint optimal path (MCOP) problem. Efficient heuristic algorithms for service processes of different composition structures are presented in this article and their performances are studied by simulations. We also compare the pros and cons between the two models.