Composite Web Service Failure Recovery Considering User Non-Functional Preferences Hossein Rahmani 1 , Hassan Abolhassani 2 H_Rahmani@ce.sharif.edu, 2 Abolhassani@sharif.edu This research has been partially funded by the Iranian Telecommunication Research Center (ITRC). Abstract A composite web service is essentially a combination of smaller services to provide extended functionalities. However, such services are more susceptible to failures than atomic services. This is due to its dependency on other services which are external modules to the composite service. In this paper, we introduce a heuristic distance measure which significantly reduces search space of hybrid (i.e. forward-backward) search algorithm and results in near-optimal solutions. 1. Introduction Web services are components hosted on a company’s web server to provide a form of service for their clients via the Internet.They enable software applications written in various programming languages and running on various platforms to exchange data. The communication, message exchange, and application interoperability provides opportunities to develop new applications and integrate existing diverse applications within a company or beyond company boundaries. It is often required to combine smaller atomic services to provide functionalities that cannot be achieved by any single service alone. This is called service composition and the service that composed of other services is called a composite service.New, larger services can be delivered by assembling existing services through service composition without compromising the autonomy of each individual web service. Availability is the most important metric for modern computer systems [2]. Even though web services are usually chosen for their functionalities, they would be of no use to their consumers if these services are unavailable for most of the time. Especially in the Web services environment where interactions with all services may have to pass through unreliable networks, which are bound to cause communication failures to a certain degree. Although there have been ongoing research efforts to achieve high reliability for web services [1], due to the autonomy of these services, we must realize that it is far from reality to assume all companies will provide failure recovery procedures for their services. Assuming that the failure of any component services will cause the entire composite service to fail, a composite service is only as reliable as its least reliable constituent service. Redundancy and replication provide reliability. With redundant services, failure recovery is made possible as the failed component services may be replaced by other alternatives of the same functionality. Since not all companies would employ the failure recovery methods and that unreliable services may be involved in composite services, it is important that service composition framework takes care of failure recovery. During the execution of a composite web service, if one component service fails, or becomes unavailable, a mechanism is needed to ensure that the running process is not interrupted and the failure is quickly and efficiently resolved. Furthermore, considering transactions, if composite web service fails at a point, well-executed services of this structure must undo [3] and rollback to starting state. In this paper, we propose MAX_MIN heuristic distance measure for estimating the distance between two sets of literals (i.e. service’s input/output). Each literal represents one of the members of service’s Input/Output set. The distance measure is used for reducing the search space of exhaustive search 4th International Conference on Next Generation Web Services Practices 978-0-7695-3455-8/08 $25.00 © 2008 IEEE DOI 10.1109/NWeSP.2008.28 39