Results 1 -
5 of
5
Building Secure and Reliable Network Applications
, 1996
"... ly, the remote procedure call problem, which an RPC protocol undertakes to solve, consists of emulating LPC using message passing. LPC has a number of "properties" -- a single procedure invocation results in exactly one execution of the procedure body, the result returned is reliably deliv ..."
Abstract
-
Cited by 230 (16 self)
- Add to MetaCart
ly, the remote procedure call problem, which an RPC protocol undertakes to solve, consists of emulating LPC using message passing. LPC has a number of "properties" -- a single procedure invocation results in exactly one execution of the procedure body, the result returned is reliably delivered to the invoker, and exceptions are raised if (and only if) an error occurs. Given a completely reliable communication environment, which never loses, duplicates, or reorders messages, and given client and server processes that never fail, RPC would be trivial to solve. The sender would merely package the invocation into one or more messages, and transmit these to the server. The server would unpack the data into local variables, perform the desired operation, and send back the result (or an indication of any exception that occurred) in a reply message. The challenge, then, is created by failures. Were it not for the possibility of process and machine crashes, an RPC protocol capable of overcomi...
Broadcasting Messages in Fault-Tolerant Distributed Systems: the benefit of handling input-triggered and output-triggered suspicions differently
, 2002
"... This paper investigates the two main and seemingly antagonistic approaches to broadcasting reliably messages in fault-tolerant distributed systems: the approach based on Reliable Broadcast, and the one based on View Synchronous Communication (or VSC for short). While VSC does more than Reliable Broa ..."
Abstract
-
Cited by 14 (8 self)
- Add to MetaCart
This paper investigates the two main and seemingly antagonistic approaches to broadcasting reliably messages in fault-tolerant distributed systems: the approach based on Reliable Broadcast, and the one based on View Synchronous Communication (or VSC for short). While VSC does more than Reliable Broadcast, this has a cost. We show that this cost can be reduced by exploiting the difference between input-triggered and output-triggered suspicions, and by replacing the standard VSC broadcast primitive by two broadcast primitives, one sensitive to input-triggered suspicions, and the other sensitive to output-triggered suspicions. 1.
The Sage Project: Software Engineering for Distributed Applications
, 1996
"... This paper describes Sage, a research project in software engineering for (fault-tolerant) distributed applications that assists programmers write correct, efficient code. Specifically, Sage uses the modal logic of knowledge and applies theoretical results detailing how processes learn facts about e ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
This paper describes Sage, a research project in software engineering for (fault-tolerant) distributed applications that assists programmers write correct, efficient code. Specifically, Sage uses the modal logic of knowledge and applies theoretical results detailing how processes learn facts about each other's state to derive the minimal communication graph for a given distributed coordination problem. An environment that applies intricate theoretical results, but hides the theory from users is particularly important as few distributed applications programmers hold advanced degrees in computer science. The specification interface is controlled, yet expressive enough to capture canonical distributed coordination problems and weaker variants appropriate for wide-area and objectoriented systems. The resulting graphical display shows programmers which messages must be received. Sage allows users to experiment on the derived protocol by crashing processes, reordering events, losing messages...
The Sage Project: A New Approach to Software Engineering for Distributed Applications
"... ..."
(Show Context)
Relaxed Atomic Broadcast: State-Machine Replication Using Bounded Memory
"... Atomic broadcast is a useful abstraction for implementing fault-tolerant distributed applications such as statemachine replication. Although a number of algorithms solving atomic broadcast have been published, the problem of bounding the memory used by these algorithms has not been given the attenti ..."
Abstract
- Add to MetaCart
(Show Context)
Atomic broadcast is a useful abstraction for implementing fault-tolerant distributed applications such as statemachine replication. Although a number of algorithms solving atomic broadcast have been published, the problem of bounding the memory used by these algorithms has not been given the attention it deserves. It is indeed impossible to solve repeated atomic broadcast with bounded memory in a system (non synchronous or not equipped with a perfect failure detector) in which consensus is solvable with bounded memory. The intuition behind this impossibility is the inability to safely garbage-collect unacknowledged messages, since a sender process cannot tell whether the destination process has crashed or is just slow. The usual technique to cope with this problem is to introduce