Preventing orphan requests in the context of replicated invocation

In today's systems, applications are composed from various components that may be located on different machines. The components (acting as servers) may have to collaborate in order to service a client request. More specifically, a client request to one component may trigger a request to another component. To ensure fault-tolerance, components are generally replicated. Replicated components lead to the problem of a replicated server invoking another replicated server. We call this the problem of replicated invocation. Replicated invocation has been considered in the context of deterministic servers. However, the problem is more difficult to address when servers are non-deterministic. In this context, work has been done to enforce deterministic execution. In this paper, we consider a different approach: instead of preventing non-deterministic execution of servers we discuss how to handle it. We present the problem of non-deterministic replicated invocation. Our solution then consists of sharing sufficient undo information among the replicas of the server invoking another server.

[1]  Idit Keidar,et al.  Group communication specifications: a comprehensive study , 2001, CSUR.

[2]  Santosh K. Shrivastava,et al.  Replicated K-resilient objects in Arjuna , 1990, [1990] Proceedings. Workshop on the Management of Replicated Data.

[3]  Stefan Poledna,et al.  Replica determinism in distributed real-time systems: A brief survey , 1994, Real-Time Systems.

[4]  Jim Gray,et al.  The Transaction Concept: Virtues and Limitations (Invited Paper) , 1981, VLDB.

[5]  Keith Marzullo,et al.  Highly-available services using the primary-backup approach , 1992, [1992 Proceedings] Second Workshop on the Management of Replicated Data.

[6]  A. Fleischmann Distributed Systems , 1994, Springer Berlin Heidelberg.

[7]  Proceedings 22nd International Symposium on Reliable Distributed Systems , 2003, 22nd International Symposium on Reliable Distributed Systems, 2003. Proceedings..

[8]  Xavier Défago,et al.  Semi-passive replication , 1998, Proceedings Seventeenth IEEE Symposium on Reliable Distributed Systems (Cat. No.98CB36281).

[9]  E. B. Moss,et al.  Nested Transactions: An Approach to Reliable Distributed Computing , 1985 .

[10]  Rachid Guerraoui,et al.  Filtering duplicated invocations using symmetric proxies , 1995, Proceedings of International Workshop on Object Orientation in Operating Systems.

[11]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[12]  Nancy A. Lynch,et al.  Impossibility of distributed consensus with one faulty process , 1983, PODS '83.

[13]  Rachid Guerraoui,et al.  Implementing E-Transactions with Asynchronous Replication , 2001, IEEE Trans. Parallel Distributed Syst..

[14]  Hector Garcia-Molina,et al.  Coordinating activities through extended sagas: a summary , 1991, COMPCON Spring '91 Digest of Papers.

[15]  Ricardo Jiménez-Peris,et al.  Deterministic scheduling for transactional multithreaded replicas , 2000, Proceedings 19th IEEE Symposium on Reliable Distributed Systems SRDS-2000.

[16]  Chris Loosley,et al.  High-Performance Client/Server , 1997 .

[17]  André Schiper,et al.  Uniform reliable multicast in a virtually synchronous environment , 1993, [1993] Proceedings. The 13th International Conference on Distributed Computing Systems.

[18]  Rachid Guerraoui,et al.  Software-Based Replication for Fault Tolerance , 1997, Computer.

[19]  J. Davenport Editor , 1960 .

[20]  Ashish B. Shah,et al.  Common Object Request Broker Architecture (CORBA) , 2015 .

[21]  I. Bey,et al.  Delta-4: A Generic Architecture for Dependable Distributed Computing , 1991, Research Reports ESPRIT.

[22]  Fred B. Schneider,et al.  Replication management using the state-machine approach , 1993 .

[23]  Panos K. Chrysanthis,et al.  Synthesis of extended transaction models using ACTA , 1994, TODS.

[24]  Fred B. Schneider,et al.  The primary-backup approach , 1993 .

[25]  Rachid Guerraoui,et al.  X-Ability: a theory of replication , 2000, PODC '00.

[26]  Louise E. Moser,et al.  Unification of replication and transaction processing in three-tier architectures , 2002, Proceedings 22nd International Conference on Distributed Computing Systems.

[27]  Andreas Reuter,et al.  Transaction Processing: Concepts and Techniques , 1992 .

[28]  Priya Narasimhan,et al.  Transparent fault tolerance for corba , 1999 .