International Journal of Computer Applications (0975 8887) Volume 36No.8, December 2011 44 Optimal Call based Checkpointing for Orchestrated Web Services A.Vani Vathsala Department of Computer Science CVR college of Engineering and University of Hyderabad ABSTRACT Web Services are built on service-oriented architecture which is based on the notion of building applications by discovering and orchestrating services available on the web. Complex business processes can be realized by discovering and orchestrating already available services on the web. In order to make these orchestrated web services resilient to faults, we proposed a simple and elegant checkpointing policy called "Call based Global Checkpointing of Orchestrated web services" which specifies that when a web service calls another web service the calling web service has to save its state. But performance of the web services implementing this policy reduces due to checkpointing overhead. In an effort to improvise this policy, we propose in this paper, a checkpointing policy which uses Predicted Execution Time and Mean Time Between Failures of the called web services to make checkpointing decisions. This policy aims at reducing the required number of Call based Checkpoints but at the same time maintains the resilience of web services to faults. General Terms Web Services Keywords Checkpoints, Web Services, Mean Time Between Failures, Orchestration. 1. INTRODUCTION A service in execution may take service of another service and this may result in nested call of services. This is known as Orchestration of services. In case of such service execution pattern, if a service fails to complete (for any possible reason) then all the services dependent on the failed service are to be re-executed causing a voluminous rework. Traditionally such a situation is handled (for avoiding re- work) by checkpointing. In our earlier work, [5], we have proposed “Call Based Checkpointing Policy" that saves status of caller services so that in case of failure of callee service, the computation at the former can be resumed at this saved point. However this method is time consuming due to the overhead of maintaining caller status at every service call. In this work, we propose a method that does not necessitate checkpointing at every call thus reducing instances of checkpointing. The rationality on decision making is based on two factors i.e, Execution Time Prediction and Mean Time Between Failures. A caller service predicts the execution time of the callee S 1 , say PET(S 1 ). This is a possible estimate from the execution history of callee services. Let the Mean Time Between Failures of the callee be MTBF(S 1 ). If PET(S 1 )< MTBF(S 1 ) then the caller most probably can avail the service from the callee. Hence checkpointing the caller at the service call is not required. This paper details on this concept and advocates its utility for orchestrated services in making them resilient to possible errors. If S 1 is a composite web service, a call to S 1 might result in a nested call; whether to take a checkpoint or not while calling each of the services involved in the nested call, has to be decided. This decision at each step has to be taken without needing many computations (Execution Time predictions of the services involved in the nested call). Hence we have proposed to use the already available computations, i.e, PET of S 1 , and composition operators used to compose involved web services, to take the decisions. We have proved the fact that PET of the composite service S 1 and knowledge of composition operators alone are sufficient to take these decisions. In section 2 we present our analysis of work done in this area. In section 3 we present our basic Call based Checkpointing policy and in section 4 we give a detailed description of our Execution Prediction based checkpointing policy. In subsection 4.1 of this section we give briefly the method for calculating MTBF for web services. In subsection 4.2 we describe the method of using Euclidean distances to predict Execution time of web services. In subsection 4.3 we describe how to minimize the number of checkpoints to be taken. We also discuss the role of composition opera-tors and PET of a composite service in making Call based Checkpointing decisions with necessary proofs. Towards the end of this section we have demonstrated the generation of Global checkpoints of an orchestrated web service using the new Execution Prediction Based Checkpointing policy. We conclude by giving a sketch of our future work. 2. RELATED WORK Few papers [6,7,8] have been published discussing the need and techniques for checkpointing web services. But all these works require the user to specify the exact checkpointing locations. In contrast we proposed a simple and elegant checkpointing policy[5] for orchestrated web services which specifies that whenever a web service calls another web service, the state of calling web service must be saved. But checkpointing web services at all pre specified locations (at all service calls) may lead to overzealous checkpointing that results in degradation of the performance altogether. Hence to improve the performance of composed web services with call based checkpoints, we propose Execution Prediction based Checkpointing scheme. The research works presented in [2,3,4] propose methods for predicting runtime of web services. These works advocate the use of predicted execution time for selection of web services to construct composite web service workflows. To the best of our knowledge there is no work which concentrates on using