Peer-to-Peer Execution of (Transactional) Processes
Christoph Schuler, Heiko Schuldt, Can Türker, Roger Weber, Hans-Jörg Schek
International Journal of Cooperative Information Systems (IJCIS)
Standards like SOAP, WSDL, and UDDI facilitate the proliferation of services. Based on these technologies, processes are a means to combine services to applications and to provide new value-added services. For large information systems, a centralized process engine is no longer appropriate due to limited scalability. Instead, in this paper, we propose a distributed and decentralized process engine that routes process instances directly from one peer to the next ones. Such a peer-to-peer process execution promises good scalability characteristics since it is able to dynamically balance the load of processes and services among all available service providers. Therefore, navigation costs only accumulate on peers that are directly involved in the execution. However, this requires sophisticated strategies for the replication of meta-data for peer-to-peer process execution. Especially, replication mechanisms should avoid frequent accesses to global information repositories. In our system, called Osiris (Open Service Infrastructure for Reliable and Integrated Process Support), we deploy a publish/subscribe-based replication scheme together with freshness predicates to significantly reduce replication costs. This way, OSIRIS can support process-based applications in a dynamically evolving system without limiting scalability and correctness. Experiments have shown very promising results with respect to scalability. In addition, OSIRIS provides a flexible infrastructure that can be extended seamlessly in a modular way. This paper demonstrates the extension towards distributed concurrency control.