A framework for QoS-aware binding and re-binding of composite web services

https://doi.org/10.1016/j.jss.2007.12.792Get rights and content

Abstract

QoS-aware dynamic binding of composite services provides the capability of binding each service invocation in a composition to a service chosen among a set of functionally equivalent ones to achieve a QoS goal, for example minimizing the response time while limiting the price under a maximum value.

This paper proposes a QoS-aware binding approach based on Genetic Algorithms. The approach includes a feature for early run-time re-binding whenever the actual QoS deviates from initial estimates, or when a service is not available. The approach has been implemented in a framework and empirically assessed through two different service compositions.

Introduction

Service-oriented architectures are a major step forward in the direction of flexible systems built out of independent parts. Run-time discovery and late-binding are key mechanisms to achieve this flexibility. Run-time discovery implies that a software system, instead of directly invoking a specific service, contains an unambiguous, semantic specification of the functionality needed at a given point. A matchmaking mechanism is then used to discover services that match the specification, and one of these services is invoked. Depending on the approach, the matchmaking can be performed at different stages, i.e., before execution or at run-time. Also, it can be semi-automatic, (i.e., a set of candidate services is retrieved, and a human being decides which are the relevant ones) or completely automatic. To this aim, some approaches, mostly based on logic reasoning and the presence of a common, shared ontology across the services, are being developed (see for example Paolucci et al., 2002, Bromberg and Issarny, 2005).

Very often, in correspondence of a service specification (hereby referred to as abstract service), several services (hereby referred to as concrete services) may exist that match the specification. This means that there are several services offering the same piece of functionality, e.g., booking an hotel or returning a city temperature. The choice of the service to be invoked can be dictated by non-functional properties, i.e., a set of Quality of Service (QoS) attributes. One may decide to choose the cheapest service, the fastest, or maybe a compromise between the two. According to Std. ISO 8402 (ISO, 2002) and ITU (ITU, 1994), QoS may be defined in terms of attributes such as price, response time, availability, and reputation. Moreover, it may be possible to have some domain-specific QoS attributes: for example, an image processing service could have QoS attributes such as image resolution and number of colors. On QoS attributes an user may specify constraints on the values of some attributes – e.g., the price cannot be greater than a given value – which could influence the choice. On the other hand, the service provider can estimate ranges for the QoS attribute values as part of the contract with potential users, i.e., the Service Level Agreement (SLA).

Let us consider a service-oriented system, or a composite service1 written using a workflow description language such as BPEL4WS2 (Andrews et al., 2007). The service is composed of several abstract services, each of which can be bound to one or more concrete services. This raises the need for determining the set of concretizations, i.e., bindings between abstract and concrete services, that satisfy the QoS constraints imposed by the SLA, and optimize some fitness criteria chosen by the service integrator, e.g., minimize the price. Finding the solution of such a problem, known as QoS-aware composition, is NP-hard. Some approaches, mostly based on linear integer programming, have been proposed in literature (Cardoso et al., 2004, Zeng et al., 2004).

This paper proposes a QoS-aware composite service binding approach based on Genetic Algorithms (GAs). To determine the optimal set of concretizations, the approach needs to estimate the composite service QoS. This can be done using some aggregation formulae, such as the ones defined by Cardoso et al. (2004) (in particular, this paper uses some variants of the Cardoso’s aggregation formulae). The formulae define aggregation functions for each pair QoS attribute/workflow construct. The main advantage in the use of GAs is the possibility to apply the approach in presence of arbitrary, non-linear QoS aggregation formulae, whereas traditional approaches, such as linear integer programming, require linearization.

At execution time, the actual QoS values will likely deviate from the initial estimates. Iterations and execution paths depend on the user inputs, and actual QoS values can vary, for example, because of the network load. Finally, in the worst case, some services may not be available at the time of invocation. The effect of deviations from estimated values of QoS attributes and execution profiles is that the actual QoS of a composite service would not be compliant with the agreed SLA. To avoid this, it is needed to re-bind the service composition, i.e., to renew the bindings between abstract and concrete services. This paper proposes an approach to trigger re-binding during composite service execution. In summary, re-binding is triggered as soon as possible to predict that the actual service QoS will likely deviate from the initial estimates. Then, the slice, i.e., the part of the service workflow that still has to be executed, will be determined and re-bound.

The paper also discusses the results of an empirical evaluation of the approach upon two different composite services, belonging to different domains, namely traveling and image processing. Each composite service contains invocation to other services, performing simpler tasks (such as hotel booking) and available in multiple instances. The validation has been performed by repeatedly invoking each composite service, and monitoring bindings, re-binding, and QoS values.

The remainder of the paper is organized as follows. Section 2 describes the QoS aggregation formulae and the GA-based binding approach. Section 3 describes how re-binding is triggered and performed, and introduces the architecture that enables re-binding. Section 4 describes the framework. Section 5 describes the empirical study performed, reporting and discussing results. Section 6 discusses the related work, while Section 7 concludes the paper.

Section snippets

QoS-aware composition

To determine the set of bindings that satisfies composite service constraints and optimizes a given objective function, it is necessary to (i) define an approach for estimating the QoS of a composite service from those of the services bound to it; and (ii) define an heuristic to search for an optimal set of bindings. The two problems are discussed in the next two subsections.

Re-binding

In a perfect world, determining the optimal set of bindings as described in the previous section would ensure constraint satisfaction and objective function (near) optimization. However, we do not live in a perfect world, thus:

  • the aggregate QoS values are just estimates, while actual values measured at run-time may be subject to variations.

  • the QoS of each invoked service is expected to vary from the estimate used for the binding.

  • the QoS estimate for a Switch is obtained as a weighted sum of the

Tool support

QoS-aware composition requires web service execution support to be augmented with capabilities for run-time binding and QoS monitoring. Our approach stems from an architecture where, similarly to Mandell and McIlraith (2003), proxy services are used to enable these functions. Here is a brief description of the tool assumptions on the composition design and its support to execution. More details on the architecture are given in DiPenta et al. (2006).

At design-time, the composite service is

Empirical study

The object of this empirical study is to analyze the proposed QoS-aware composition and re-binding techniques with the purpose of evaluating their effectiveness and cost/benefit tradeoff. The study is thought to be made from different perspectives, (i) researcher, who wants to improve the existing techniques; and (ii) SOA architect, who wants to adopt late-binding and re-binding mechanisms. This section summarizes them most important results of the empirical study; the interested reader can

Related work

QoS aspects for web services constitute an active research area with new theoretic and technological solutions being exploited to allow for a “QoS-aware” life-cycle of services. This section discusses related work in the field of QoS-aware composition and support to composition and binding.

QoS-aware composition is based on the description of the QoS characteristics of the component services and the global QoS preferences to match. The Web Service Offerings Language (WSOL) (Tosic et al., 2003),

Concluding remarks

The proposed binding and re-binding framework determines the bindings by solving, through GAs, a constrained optimization problem. For a particular binding configuration, the workflow QoS is estimated according to some QoS aggregation formulae. The advantage of using GA is in the possibility of considering any, even non-linear, aggregation formulae, and also permitting the optimization of domain-specific, user defined QoS attributes (Canfora et al., 2006). At run-time, actual QoS values may or

Acknowledgement

This work is framed within the European Commission VI Framework IP Project SeCSE (Service Centric System Engineering) (http://secse.eng.it), Contract No. 511680.

Gerardo Canfora is a full professor of computer science at the Faculty of Engineering and the Director of the Research Centre on Software Technology (RCOST) of the University of Sannio in Benevento, Italy. He serves on the program committees of a number of international conferences. He was a program co-chair of the 1997 International Workshop on Program Comprehension; the 2001 International Conference on Software Maintenance; the 2003 European Conference on Software Maintenance and

References (36)

  • J. Cardoso et al.

    Modeling quality of service for workflows and web service processes

    Web Semantics Journal: Science, Services and Agents on the World Wide Web Journal

    (2004)
  • H. Zhuge et al.

    Flexible retrieval of Web Services

    Journal of Systems and Software

    (2004)
  • Aggarwal, R., Verma, K., Miller, J., Milnor, W., 2004. Constraint driven web service composition in METEOR-S. In:...
  • Andrews, T., Curbera, F., Dholakia, H., Goland, Y., Klein, J., Leymann, F., Liu, K., Roller, D., D. Smith, S.T.,...
  • Andrieux, A., Czajkowski, K., Dan, A., Keahey, K., Ludwig, H., Pruyne, J., Rofrano, J., Tuecke, S., Xu, M., 2005. Web...
  • D. Ardagna et al.

    Adaptive service composition in flexible processes

    IEEE Trans. Software Eng.

    (2007)
  • L. Baresi et al.

    Smart monitors for composed services

  • R. Berbner et al.

    Heuristics for QoS-Aware Composition

  • Bromberg, Y.-D., Issarny, V., 2005. INDISS: interoperable discovery system for networked services. In: ddleware 2005,...
  • Canfora, G., Di Penta, M., Esposito, R., Villani, M.L., 2004. A lightweight approach for QoS-aware service composition....
  • G. Canfora et al.

    The c-cube framework: developing autonomic applications through web services

  • G. Canfora et al.

    An approach for QoS-aware service composition based on genetic algorithms

  • G. Canfora et al.

    QoS-aware replanning of composite web services

  • G. Canfora et al.

    Services composition (re)-binding driven by application-specific QoS

  • Canfora, G., Di Penta, M., Esposito, R., Villani, M.L., 2007. QoS-aware replanning of composite web services,...
  • F. Casati et al.

    Dynamic and adaptive composition of e-services

    Information Systems

    (2001)
  • C.A. Coello Coello

    Theoretical and numerical constraint-handling tehniques used with evolutionary algorithms: a survey of the state of the art

    Computer Methods in Applied Mechanics and Engineering

    (2002)
  • M. Colombo et al.

    SCENE: a service composition execution environment supporting dynamic changes disciplined through rules

  • Cited by (0)

    Gerardo Canfora is a full professor of computer science at the Faculty of Engineering and the Director of the Research Centre on Software Technology (RCOST) of the University of Sannio in Benevento, Italy. He serves on the program committees of a number of international conferences. He was a program co-chair of the 1997 International Workshop on Program Comprehension; the 2001 International Conference on Software Maintenance; the 2003 European Conference on Software Maintenance and Reengineering; the 2005 International Workshop on Principles of Software Evolution; the 2007 International Conference on Software Maintenance. He was the General chair of the 2003 European Conference on Software Maintenance and Reengineering and 2006 Working Conference on Reverse Engineering. His research interests include software maintenance and reverse engineering, service oriented software engineering, and experimental software engineering. He was an associate editor of IEEE Transactions on Software Engineering and he currently serves on the Editorial Board of the Journal of Software Maintenance and Evolution. He is a member of the IEEE Computer Society.

    Massimiliano Di Penta is assistant professor at the University of Sannio, Italy and research leader at RCOST – Research Centre On Software Technology. He received his laurea degree in Computer Engineering in 1999 and his Ph.D. in Computer Engineering in 2003. His main research interests include software maintenance and evolution, reverse engineering, program comprehension, empirical software engineering and service-centric software engineering. He is author of over 90 papers appeared on journals, conferences and workshops. He serves and has served in the organizing and program committees of several software engineering conferences an workshops. He has been program co-chair of STEP 2005, SCAM 2006, WCRE 2006, IWPSE 2007, WCRE 2007 and WSE 2007. He is general chair of WCRE 2008 and WSE 2008, and steering committee member of CSMR, WCRE and STEP. He is member of the IEEE, IEEE Computer Society and of the ACM.

    Raffaele Esposito is a research associate at RCOST (Research Centre on Software Technology) – Department of Engineering of the University of Sannio in Benevento, Italy. He graduated in electronic engineering at the University of Naples “Federico II”, Italy. He worked on a functional programming language for a high performance reconfigurable computing system prototype at Research Center on Parallel Computing and Supercomputers (CPS) of the National Research Council-Italy. His research interests include software maintenance and evolution, software reengineering, and business process reengineering, software quality, service-centric software engineering.

    Maria Luisa Villani is a research associate at the Department Engineering of the University of Sannio, Italy. She graduated in Mathematics at the University of Napoli, and received a MSc degree and a Ph.D. in Mathematics at the University of Warwick – England. In October 2001 she got a Master degree on Software Technology at the University of Sannio and then started a research activity at the software engineering laboratory of the University. Her current research interests include service-centric software engineering and formal verification via model checking techniques.

    View full text