Optimum Decentralized Choreography for Web Services Composition

Saayan Mitra, Ratnesh Kumar, Samik Basu
2008 2008 IEEE International Conference on Services Computing  
Typical solutions for Web services composition problem develop a single intermediary which mediates or choreographs computation and communication among the existing services to realize a target/goal service. However, such a centralized choreography mechanism can involve communication/computation overhead that can be reduced through its decentralized realization. With this as motivation, we study the problem of synthesizing a decentralized choreography strategy that will have an optimum overhead
more » ... an optimum overhead for service composition by developing a set of sitespecific choreographers working concurrently to implement a desired goal service. Each communication/computation is quantified by a cost. We develop an algorithm that takes as input the existing services, the goal service, the costs and produces as an output a set of site-specific choreographers that optimally realize the goal service using the existing services. The contribution lies in the formulation of the optimal decentralized choreographer synthesis problem as well as its solution and extends our earlier work [13, 12] in two ways: decentralization of solution and its optimality. diates the computation and communication among the existing services and the client. In such a centralized scheme of choreography, every computation and communication is coordinated by a single choreographer. Such a centralized mechanism entails invoking services and relaying messages for all the required computation or communication transactions. However, in most practical scenarios, there is a cost associated with each computation and communication and as such, it is important to identify a choreography mechanism which incurs the minimum overall cost. The cost can be defined in terms of network bandwidth, congestion, or pure monetary value for using some network or service. Here, we address the problem of minimizing the overall cost of choreography by synthesizing an optimum decentralized choreography strategy. Decentralization amounts to generating multiple choreographers; one for each service in the composition (some sites may turn out to have no choreographer in the optimal solution). Illustrative Example. We present a brief overview of the problem along with our solution mechanism using the following running example obtained from [8] . There are three existing services (Figure 1(a) ) S1, S2 and S3. S1 takes as input name of a person (nP) and provides his/her address (aP). Service S2 can perform all input/output operations of S1. In addition, it can take as input name of a point of interest or business (nC) and output its address (aC). And finally, S3 takes as input two addresses and computes the route (r) between them. The developer wants to create a new service, G, for a client which takes (nP) and (nC) as inputs and provides the route between them (Figure 1(b) ). The existing centralized solutions will develop a single choreographer; one such choreographer C0 is presented in Figure 1 (c). Observe that the choreographer acts as an intermediary between all the services and the client. This bottleneck may cause degradation of performance due to large delay between the request and response from and to the client. It may also cause additional traffic in terms of exchanged messages thereby consuming available bandwidth unnecessarily and possibly delaying other network intensive operations. Now consider that the cost of communication (in terms of network traffic, bandwidth etc.) between the client and services and between any services are as in the table of Figure 1(b) . In the table we refer to the client site as s0. It is desirable to develop a mechanism such that all the messages
doi:10.1109/scc.2008.82 dblp:conf/IEEEscc/MitraKB08 fatcat:273as2rdojblrdh4or3t3irmiq