COMPUTER JOURNAL, cilt.58, sa.2, ss.280-299, 2015 (SCI-Expanded)
There are many aspects of uncertainty that could hinder durable composite web services delivery such as the Byzantine failures of their components and/or the modules of the adopted delivery system. Furthermore, unplanned demand spikes could occur, depleting services' capacity and degrading their performance. Currently, such aspects of uncertainty are handled manually in a reactive manner by replacing problematic components and/or modules, or by increasing infrastructure capacity. Such an approach has a negative impact on service availability and responsiveness; also it increases the delivery costs. To avoid such problems, service delivery should be automatically handled by a service management system that can fulfil customers' Service Level Agreements (SLAs) in spite of Byzantine failures and demand fluctuations. Therefore, this paper proposes CRESCENT, a Byzantine fault-tolerant service management framework for durable composite web services. It combines quorum-based and state-machine-based Byzantine fault tolerance protocols to ensure reliable service delivery. It enables differentiated levels of service for customers by supporting different types of workflows realized by an adaptive component parallel provisioning approach. Moreover, it supports automated SLA management by extending the WSLA language to describe SLAs in a machine-understandable format. Experimental results show that adopting CRESCENT increases the reliability and throughput of composite web services delivery when compared with existing approaches.