Ask any question about EPFL courses, lectures, exercises, research, news, etc. or try the example questions below.
DISCLAIMER: The Graph Chatbot is not programmed to provide explicit or categorical answers to your questions. Rather, it transforms your questions into API requests that are distributed across the various IT services officially administered by EPFL. Its purpose is solely to collect and recommend relevant references to content that you can explore to help you answer your questions.
This dissertation studies the problems to solve in order to use the invocation paradigm to express replicated object communication in fault-tolerant distributed systems. The ultimate goal is to define abstractions which achieve replication encapsulation, ie which give the illusion that replication is an internal property of objects. Thus, object communication could be always expressed using the invocation paradigm, whether objects are replicated or not. Background The invocation paradigm defines a "request-reply" communication model which matches exactly the client-server model. The latter is generally used to express service interactions in distributed systems. For this reason, the object-oriented approach is well suited to the design of distributed system services. A service can be implemented as a set of objects, located on remote computers (or nodes). Service fault-tolerance is achieved by replicating the objects which implement the service. Most of the previous works about replicated objects consider only server object replication. This study is more general: both client and server can be replicated. Furthermore, replication policies of objects can be different. Four replication policies had been studied: active replication, passive replication, semi-active replication, and coordinator-cohort replication. Replication encapsulation Replication encapsulation means both plurality encapsulation and replication policy encapsulation. Plurality encapsulation consists in hiding from other objects, that a replicated object is actually a set of replicas located on several nodes. Replication policy encapsulation consists in hiding from other objects, the communication protocol to use in order to interact with object replicas without breaking their consistency. The symmetric invocation model Most of the related works are based on an asymmetric invocation model. In this model, the invocation reply follows exactly the reverse of the request communication path. The asymmetric invocation model can not be used to achieve replication encapsulation of client objects. This dissertation proposes a symmetric invocation model which solves this problem. The symmetric invocation model considers the request transmission and the reply transmission as two instances of the same problem: the transmission of a message to a replicated object. Both the analysis of the replication encapsulation problem and the symmetric invocation model were used to define a specification of replicated object invocation. This specification is a set of generic formal properties based on parameters which values depend on replication policies. The properties include object failure semantics which is expressed using the group paradigm and the view-synchronous communication paradigm. Every replicated object is built using an object group which membership changes whenever object replicas fail or restart. The N2M invocation service The main result of this study is the design1 of N2M, an invocation