Replicated invocations in wide-area systems
Arno Bakker, Maarten R. van Steen, Andrew S. Tanenbaum · 1998
Introduction In many object-oriented distributed systems a client invokes a method of a distributed object through a call on a local proxy of that object. If a client is replicated, such a call may possibly be done by several of its replicas. Consequently, what is conceptually a single method invocation may result in several identical calls on the same object. Such an invocation is said to be replicated, the individual calls are referred to as the incarnations of the invocation. The problems associated with replicated invocations are well known [2][5]. For example, executing nonidempotent methods more than once corrupts the state. Even for idempotent operations, replicated invocations can easily cascade, leading to an exponential growth of the number of messages. In small-scale distributed systems these problems can be tolerated. However, in largescale distributed systems, where objects can have many and widely distributed replicas, things are d