Failure Transparency in Remote Procedure Calls
IEEE Transactions on Computers
Effect of Fault Tolerance on Response Time-Analysis of the Primary Site Approach
IEEE Transactions on Computers
A design of a distributed full text retrieval system
Proceedings of the 9th annual international ACM SIGIR conference on Research and development in information retrieval
Remote operations across a network of small computers
Proceedings of the 1986 ACM SIGSMALL/PC symposium on Small systems
Rajdoot: A Remote Procedure Call Mechanism Supporting Orphan Detection and Killing
IEEE Transactions on Software Engineering
CASCON '92 Proceedings of the 1992 conference of the Centre for Advanced Studies on Collaborative research - Volume 2
Modelling remote concurrency with Ada: case study of symmetric non-deterministic rendezvous
Ada-Europe'07 Proceedings of the 12th international conference on Reliable software technologies
At-most-once semantics in asynchronous shared memory
DISC'09 Proceedings of the 23rd international conference on Distributed computing
Solving the at-most-once problem with nearly optimal effectiveness
ICDCN'12 Proceedings of the 13th international conference on Distributed Computing and Networking
Research: Supporting fault-tolerant and open distributed processing using RPC
Computer Communications
The strong at-most-once problem
DISC'12 Proceedings of the 26th international conference on Distributed Computing
Hi-index | 0.01 |
Remote procedure call (RPC) is a programming primitive that makes building distributed programs easier. Atomicity, whkh implies totality and serializability, has been recognized as an important property to assure consistency in spite of computing node crashes. We have implemented an atomk remote procedure call mechanism which provides users a simple and reliable language primitive. Concurrency is controlled by attaching a call graph path identifier to each message representing a procedure call. Procedures keep their last accepted calling message paths to compare against incoming message paths. Only calls that can be serialized are accepted. Associated states of static variables are saved in backup processors on procedure entry and restored to corresponding variables in case of procedure crash. Detailed concurrency control and recovery algorithms are given, and illustrated with examples.