Invocation Support for Replicated Objects

Most object-based distributed systems do not support replicated objects. Replication is crucial because it is the only means to tolerate partial failures in distributed systems. The key issue for replicated objects is an appropriate invocation support. An object O1 must invoke an object O2 always in the same fashion regardless of their own replication policies. This paper investigates the support needed to invoke replicated objects. Such support should hide both distribution and replication. After reviewing related work, the paper proposes an approach based on a model with two object layers. Application objects interact using regular invocations whereas communication objects exchange network messages in order to manage both distribution and replication. The paper gives details about the implementation of the model in the GARF system, and discusses the approach.

[1]  Alec Wolman,et al.  Replicating the procedure call abstraction , 1992, [1992 Proceedings] Second Workshop on the Management of Replicated Data.

[2]  Roy H. Campbell,et al.  Proxies, application interfaces, and distributed systems , 1992, [1992] Proceedings of the Second International Workshop on Object Orientation in Operating Systems.

[3]  Amr El Abbadi,et al.  Implementing Fault-Tolerant Distributed Objects , 1985, IEEE Transactions on Software Engineering.

[4]  Yvon Gourhant An object-oriented approach for replication management , 1992, [1992 Proceedings] Second Workshop on the Management of Replicated Data.

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

[6]  Girish Welling,et al.  An architecture of a threaded many-to-many remote procedure call , 1992, [1992] Proceedings of the 12th International Conference on Distributed Computing Systems.

[7]  Andrew P. Black,et al.  Encapsulating Plurality , 1993, ECOOP.

[8]  Rachid Guerraoui,et al.  Building Reliable Client-Server Software Using Actively Replicated Objects , 1995 .

[9]  Paulo Veríssimo,et al.  A replication-transparent remote invocation protocol , 1994, Proceedings of IEEE 13th Symposium on Reliable Distributed Systems.

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

[11]  Mark Cameron Little,et al.  Object replication in a distributed system , 1991 .

[12]  Robbert van Renesse,et al.  A RISC approach to process groups , 1992, EW 5.

[13]  David Powell,et al.  Distributed fault tolerance: lessons from Delta-4 , 1994, IEEE Micro.

[14]  Rachid Guerraout Programmation repartie par objets : etudes et propositions , 1992 .

[15]  Alan Snyder,et al.  The essence of objects: concepts and terms , 1993, IEEE Software.

[16]  Stijn Bijnens,et al.  A Reflective Invocation Scheme to Realise Advanced Object Management , 1993, ECOOP Workshop.

[17]  Andrew S. Tanenbaum,et al.  Group communication in the Amoeba distributed operating system , 1991, [1991] Proceedings. 11th International Conference on Distributed Computing Systems.

[18]  Eric C. Cooper Replicated distributed programs , 1985, SOSP '85.

[19]  Kenneth P. Birman,et al.  The process group approach to reliable distributed computing , 1992, CACM.

[20]  Andrew P. Black Supporting Distributed Applications: Experience with Eden , 1985, SOSP.

[21]  Santosh K. Shrivastava,et al.  Structuring Fault-Tolerant Object Systems for Modularity in a Distributed Environment , 1994, IEEE Trans. Parallel Distributed Syst..

[22]  David Robson,et al.  Smalltalk-80: The Language and Its Implementation , 1983 .

[23]  Frank Manola,et al.  Generalizing Dispatching in a Distributed Object System , 1994, ECOOP.

[24]  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.

[25]  Rachid Guerraoui,et al.  Distributed Programming in GARF , 1993, ECOOP Workshop.

[26]  John P. Warne,et al.  A model for interface groups , 1991, [1991] Proceedings Tenth Symposium on Reliable Distributed Systems.