Reliable communication in the presence of failures
ACM Transactions on Computer Systems (TOCS)
Information Processing Letters
An efficient implementation of vector clocks
Information Processing Letters
Distributed snapshots: determining global states of distributed systems
ACM Transactions on Computer Systems (TOCS)
Fast barrier synchronization in wormhole k-ary n-cube networks with multidestination worms
Future Generation Computer Systems - Special issue on high-performance computer architecture
PODC '97 Proceedings of the sixteenth annual ACM symposium on Principles of distributed computing
Resetting vector clocks in distributed systems
Journal of Parallel and Distributed Computing
Component Based Design of Multitolerant Systems
IEEE Transactions on Software Engineering
Proceedings of the nineteenth annual ACM symposium on Principles of distributed computing
Time, clocks, and the ordering of events in a distributed system
Communications of the ACM
Self-stabilizing systems in spite of distributed control
Communications of the ACM
Detection of Weak Unstable Predicates in Distributed Programs
IEEE Transactions on Parallel and Distributed Systems
Plausible Clocks: Constant Size Logical Clocks for Distributed Systems
WDAG '96 Proceedings of the 10th International Workshop on Distributed Algorithms
Lock-based self-stabilizing distributed mutual exclusion algorithms
ICDCS '96 Proceedings of the 16th International Conference on Distributed Computing Systems (ICDCS '96)
Detectors and Correctors: A Theory of Fault-Tolerance Components
ICDCS '98 Proceedings of the The 18th International Conference on Distributed Computing Systems
Safety Assurance via On-Line Monitoring (Extended Abstract)
ISADS '01 Proceedings of the Fifth International Symposium on Autonomous Decentralized Systems
Distributed algorithms for detecting conjunctive predicates
ICDCS '95 Proceedings of the 15th International Conference on Distributed Computing Systems
Hi-index | 0.00 |
Vector clocks (VC) are an inherent component of a rich class of distributed applications. In this paper, we first consider the problem of realistic implementation-more specifically, bounded-space and fault-tolerant-of applications that use vector clocks (VC). To this end, we generalize the notion of VC to resettable vector clocks (RVC), and provide a realistic implementation of RVC. Further, we identify an interface contract under which our RVC implementation can be substituted for VC in client applications, without affecting the client's correctness. This interface contract is designed for phase-based applications that provide certain communication guarantees. Based on such substitution and the use of the interface contract, we show how to transform the client so that it is itself realistically implemented. We illustrate our method in the context of Ricart-Agrawala's mutual exclusion program and Garg-Chase's predicate detection program.