Cloud Architecture for Dynamic Service Composition

Cloud Architecture for Dynamic Service Composition

Jiehan Zhou (University of Oulu, Finland and University of Toronto, Canada), Kumaripaba Athukorala (University of Oulu, Finland), Ekaterina Gilman (University of Oulu, Finland), Jukka Riekki (University of Oulu, Finland) and Mika Ylianttila (University of Oulu, Finland)
Copyright: © 2012 |Pages: 15
DOI: 10.4018/jghpc.2012040102
OnDemand PDF Download:
No Current Special Offers


Service composition provides value-adding services through composing basic Web services, which may be provided by various organizations. Cloud computing presents an efficient managerial, on-demand, and scalable way to integrate computational resources (hardware, platform, and software). However, existing Cloud architecture lacks the layer of middleware to enable dynamic service composition. To enable and accelerate on-demand service composition, the authors explore the paradigm of dynamic service composition in the Cloud for Pervasive Service Computing environments and propose a Cloud-based Middleware for Dynamic Service Composition (CM4SC). In this approach, the authors introduce the CM4SC ‘Composition as a Service’ middleware layer into conventional Cloud architecture to allow automatic composition planning, service discovery and service composition. The authors implement the CM4SC middleware prototype utilizing Windows Azure Cloud platform. The prototype demonstrates the feasibility of CM4SC for accelerating dynamic service composition and that the CM4SC middleware-accelerated Cloud architecture offers a novel way for realizing dynamic service composition.
Article Preview


Pervasive Service Computing is regarded as a Web services-based solution that realizes the pervasive computing paradigm (Zhou et al., 2009). Pervasive Service Computing emphasizes providing users with services when and where desired in everyday environments. In other words, the system provides users with on-demand services over a network (e.g., the Internet). Service composition leverages a Service Oriented Architecture (SOA) approach, and provides a contemporary technology for developing complex applications from existing service components. In the pervasive domain, a solution is needed to increase service availability, to provide on-demand service composition, and to enable adaptation to constantly changing situations. In short, dynamic service composition is needed.

A number of research efforts have focused on service composition and integration in terms of Web services (Cabrera; Varia et al., 2010; Vaquero et al., 2009), orchestration and choreography (Erl, 2005), etc. However, the conventional service composition for service orchestration and choreography is realized within one individual organization, or a limited number of organizations. As a result, service composition is limited to these organizations’ services, instead of Internet-scale service composition and adaptive service provisioning, which is essential for the Pervasive Service Computing paradigm. In addition, communication between services in a service composition is usually realized as a simple client request/server response pattern, which requires the services involved to be always online. This kind of service composition is so tight-coupled that it does not match with loosely coupled scenarios in pervasive computing environments.

Cloud computing describes a new supply, consumption, and delivery model for IT services based on the Internet. This model treats computing service like a public utility, such as electric power supply (Miller, 2008). Vaquero et al. (2009) provide an encompassing definition of Cloud computing, describing its main features as follows:

  • (1)

    Large scale. Cloud usually consists of thousands of servers, which provide users with supercomputing power.

  • (2)

    Virtualization. Cloud computing provides the ability to virtualize computing resources into the Cloud.

  • (3)

    High reliability. Cloud uses multiple data copies and redundant computing facilities to ensure reliable service and security against data loss.

  • (4)

    Versatility. Cloud computing can support various application developments through combining computing resources.

  • (5)

    On-demand services. Cloud contains huge computing resources, which can satisfy various user needs. Users can use Cloud computing on a pay-per-use basis.

  • (6)

    Low cost. Cloud computing reduces the costs associated with outsourcing hardware and software resources.

Varia et al. (2010) claims that Cloud computing can solve the following five key difficulties in large-scale data processing. The first difficulty is to get as many machines as an application needs. The second is to get the machines when one needs them. The third is to distribute a large-scale job on different machines, and provide another machine to recover if one machine fails. The fourth is to auto-scale up and down, based on dynamic workloads. The last difficulty is to get rid of all these machines when the job is done.

Complete Article List

Search this Journal:
Open Access Articles: Forthcoming
Volume 14: 6 Issues (2022): Forthcoming, Available for Pre-Order
Volume 13: 4 Issues (2021)
Volume 12: 4 Issues (2020)
Volume 11: 4 Issues (2019)
Volume 10: 4 Issues (2018)
Volume 9: 4 Issues (2017)
Volume 8: 4 Issues (2016)
Volume 7: 4 Issues (2015)
Volume 6: 4 Issues (2014)
Volume 5: 4 Issues (2013)
Volume 4: 4 Issues (2012)
Volume 3: 4 Issues (2011)
Volume 2: 4 Issues (2010)
Volume 1: 4 Issues (2009)
View Complete Journal Contents Listing