Abstract. At-most-once semantics is one of the standard models for object access in decentralized systems. Accessing an object, such as altering the state of the object by means of direct access, method invocation, or remote procedure call, with at-most-once semantics guarantees that the access is not repeated more-than-once, enabling one to reason about the safety properties of the object. This paper investigates implementations of at-most-once access semantics in a model where a set of such actions is to be performed by a set of failure-prone, asynchronous shared-memory processes. We introduce a definition of the At-Most-Once problem for performing a set of n jobs using m processors and we introduce a notion of efficiency for such protocols, called effectiveness, used to classify algorithms. Effectiveness measures the number of jobs safely completed by an implementation, as a function of the overall number of jobs n, the number of participating processes m, and the number of proce...
Sotiris Kentros, Aggelos Kiayias, Nicolas C. Nicol