A replication-transparent remote invocation protocol

Although many algorithms and implementations of replicated services have been developed, most have embedded aspects of the replication management in the invocation protocol. This makes it extremely difficult to modify the replication protocol without changing the protocol used by the clients, and causes an undesirable violation of both transparency and modularity. The GRIP protocol supports the fault-tolerant remote invocation of replicated services, providing not only the usual location transparency but also transparency of replication semantics. Our approach is independent of the details of the replica control protocol used to maintain the consistency of server replicas. We use a lightweight remote invocation protocol in order to minimize the impact on the client of issues such as scale and replication consistency maintenance. Furthermore, unlike most previous systems we provide explicit support for weakly consistent replication protocols. GRIP is designed as a collection of modular services, which can be configured according to the needs of the application.<<ETX>>

[1]  Eric C. Cooper Replicated procedure call , 1984, PODC '84.

[2]  André Schiper,et al.  Lightweight causal and atomic group multicast , 1991, TOCS.

[3]  Mesaac Makpangou,et al.  BOAR: a library of fragmented object types for distributed abstractions , 1991, Proceedings 1991 International Workshop on Object Orientation in Operating Systems.

[4]  Shivakant Mishra,et al.  Protocol modularity in systems for managing replicated data , 1992, [1992 Proceedings] Second Workshop on the Management of Replicated Data.

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

[6]  David R. Cheriton,et al.  Understanding the limitations of causally and totally ordered communication , 1994, SOSP '93.

[7]  Liuba Shrira,et al.  Lazy replication: exploiting the semantics of distributed services (extended abstract) , 1990, OPSR.

[8]  Yair Amir,et al.  Transis: a communication subsystem for high availability , 1992, [1992] Digest of Papers. FTCS-22: The Twenty-Second International Symposium on Fault-Tolerant Computing.

[9]  Paulo Veríssimo,et al.  Causal Separators and Topological Timestamping: An Approach to Support Causal Multicast in Large-scale Systems , 1995 .

[10]  P. Verissimo,et al.  Replicated object management using group technology , 1993, 1993 4th Workshop on Future Trends of Distributed Computing Systems.

[11]  Liuba Shrira,et al.  Lazy replication: exploiting the semantics of distributed services , 1990, [1990] Proceedings. Workshop on the Management of Replicated Data.

[12]  Mark D. Wood Replicated RPC using Amoeba closed group communication , 1993, [1993] Proceedings. The 13th International Conference on Distributed Computing Systems.

[13]  André Schiper,et al.  Virtually-synchronous communication based on a weak failure suspector , 1993, FTCS-23 The Twenty-Third International Symposium on Fault-Tolerant Computing.

[14]  Mesaac Makpangou,et al.  Fragmented Objects for Distributed Abstractions , 1994 .

[15]  Louise E. Moser,et al.  Fast message ordering and membership using a logical token-passing ring , 1993, [1993] Proceedings. The 13th International Conference on Distributed Computing Systems.

[16]  E. N. Elnozahy,et al.  Replicated distributed processes in Manetho , 1992, [1992] Digest of Papers. FTCS-22: The Twenty-Second International Symposium on Fault-Tolerant Computing.

[17]  Yair Amir,et al.  Transis: A Communication Sub-system for High Availability , 1992 .

[18]  Richard D. Schlichting,et al.  Preserving and using context information in interprocess communication , 1989, TOCS.

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

[20]  Kenneth P. Birman,et al.  A response to Cheriton and Skeen's criticism of causal and totally ordered communication , 1994, OPSR.

[21]  LamportLeslie Time, clocks, and the ordering of events in a distributed system , 1978 .

[22]  Marc Shapiro,et al.  Binding should be flexible in a distributed system , 1993, Proceedings Third International Workshop on Object Orientation in Operating Systems.

[23]  André Schiper,et al.  The Causal Ordering Abstraction and a Simple Way to Implement it , 1991, Inf. Process. Lett..

[24]  Paulo Veríssimo,et al.  xAMp: a multi-primitive group communications service , 1992, [1992] Proceedings 11th Symposium on Reliable Distributed Systems.

[25]  David R. Cheriton Problem-oriented shared memory revisited , 1992, EW 5.