Redundancy-Based Reliability Enhancement for Composite Services

Redundancy-Based Reliability Enhancement for Composite Services

Zhongjie Wang (School of Computer Science and Technology, Harbin Institute of Technology, Harbin, China), Shaopeng Wang (School of Computer Science and Technology, Harbin Institute of Technology, Harbin, China), Dianhui Chu (School of Computer Science and Technology, Harbin Institute of Technology, Harbin, China) and Xiaofei Xu (School of Computer Science and Technology, Harbin Institute of Technology, Harbin, China)
Copyright: © 2014 |Pages: 25
DOI: 10.4018/ijwsr.2014070102
OnDemand PDF Download:
No Current Special Offers


Reliability is a key performance indicator of distributed service systems. On the condition that a customer raises a demand with a very strict reliability, it is possibly difficult for a service broker to offer a composite service that fully satisfies the reliability expectation. In the real world, the customers would like to pay extra money to assure the successful execution of a composite service, and the brokers usually adopt a redundancy-based mechanism to enhance the reliability of the composite service. The authors consider two scenarios of reliability enhancement: (1) a composite service exists but its reliability fails to meet the expectations of customers; and (2) no composite services exist yet, but it is known that the expected reliability is too high to be met. To handle them, the authors propose the RE-ECS and RE-PLN algorithms, respectively, in which three heuristic rules are proposed and the Artificial Bee Colony (ABC) algorithm are adopted to find an approximate optimal trade-off between the improvement extent and the total cost of the reliability enhancement. The authors use two traditional redundancy strategies (i.e., sequential and parallel) for enhancing the reliability a single service task, and a new redundancy strategy called path redundancy for extending a new path into a composite service to improve the global reliability. Nine experiments are conducted and some factors having potential influences on the effect, cost, and efficiency of the reliability enhancement are analyzed. This work is of significance for service brokers to build and enhance their composite services to satisfy those strict expectations on reliability.
Article Preview


Service composition is an effective way of combining a set of fine-grained web services to satisfy coarse-grained personalized demands. After a customer raises his functional and Quality-of-Service (QoS) expectations, the broker selects appropriate web services from a massive distributed set of candidates and assembles them into a composite service.

However, not all customer demands could be completely satisfied. For example, the expected functionality exceeds the functional scope of the candidate services, or the expected QoS is too strict to be reached. In these cases, the broker may either offer a composite service that is closest to the demand, or refuse to handle the demand.

A typical QoS attribute that is difficult to satisfy is strict reliability. Reliability is defined as “the probability of failure, the frequency of failures, or in terms of availability, a probability derived from reliability and maintainability” (Wikipedia, 2014). For other QoS attributes such as execution time and cost, even if the expectations thereof are not met, the composite service can still keep executing until the functional expectations are fulfilled completely. However, if the reliability is too low, the failure probability of the composite service is high, and consequently, the functional expectations cannot be fulfilled at all. As such, in many real-world scenarios, customers place a higher priority on reliability than other QoS attributes and would be prepared to pay extra money to obtain a composite service with higher reliability.

The reliability of a service-oriented system is determined by various factors on multiple technical layers, including the web service layer, transport layer, SOAP messaging layer, and business process layer (Erradi and Maheshwari 2005). Because most web services that comprise a composite service are offered by external service providers and exhibit characteristics of distributedness, autonomy, and heterogeneity (Guo, Huai et al. 2007), the reliability of a web service depends almost on the reliability of the technical environment on which it is deployed, and the reliability of the Internet connections between the service and the customer. Both aspects are completely out of the control of the broker, therefore, web service selection has to be based on either the declarations of service providers or the statistical analysis of the historical records of service invocations. In other words, the customers and brokers do not care about what internal factors determines the reliability of a service but just play the role of an “external observer” of the services.

Assuming that the reliability of available web services remains stable and cannot be significantly improved within a short period, a broker can adopt two typical strategies for effectively enhancing the reliability of composite services: design-time or run-time enhancement. The latter is achieved by improving the transport and messaging layers, or by dynamically re-scheduling and patching the composite service depending on its actual execution performance, e.g., self-healing (Dai, Yang et al. 2009) and dynamic substitution (Gong, Huang et al. 2014). This is in essence a kind of “afterwards remedy”. In contrast, design-time enhancement is aimed at the business process layer and enhances the anticipated reliability of the composite service before it is put into execution. The research in this paper falls into design-time enhancement, i.e., we do not consider the internal technical design but focus on the business-level design to enhance the reliability of a composite service before it is executed. Here the “business-level reliability” of a composite service is referred to as the success rate that the customer demand is fully fulfilled, instead of the probability of the service being normally running within a given period (namely “technical-level reliability”). The difference is that, even if a composite service has a high technical-level reliability, the business-level reliability might be relatively low. For example, a flight ticket booking service runs well in a certain period (i.e., its technical-level reliability keeps high), but it often cannot book the hot air tickets required by the customers, so its business-level reliability is relatively low.

Complete Article List

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