Nested transactions: an approach to reliable distributed computing
Nested transactions: an approach to reliable distributed computing
Concurrency control and recovery in database systems
Concurrency control and recovery in database systems
Introduction to the theory of nested transactions
Proceedings on International conference on database theory
Quorum consensus in nested transaction systems
PODC '87 Proceedings of the sixth annual ACM Symposium on Principles of distributed computing
Hierarchical correctness proofs for distributed algorithms
PODC '87 Proceedings of the sixth annual ACM Symposium on Principles of distributed computing
Introduction to the theory of nested transactions
Theoretical Computer Science - First International Conference on Database Theory, Rome, September 1986
Local atomicity properties: modular concurrency control for abstract data types
ACM Transactions on Programming Languages and Systems (TOPLAS)
Timestamp-Based Orphan Elimination
IEEE Transactions on Software Engineering
Commutativity-based locking for nested transactions
Journal of Computer and System Sciences
System level concurrency control for distributed database systems
ACM Transactions on Database Systems (TODS)
Guardians and Actions: Linguistic Support for Robust, Distributed Programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
A Theory of Timestamp-Based Concurrency Control for Nested Transactions
VLDB '88 Proceedings of the 14th International Conference on Very Large Data Bases
ORPHAN DETECTION IN THE ARGUS SYSTEM
ORPHAN DETECTION IN THE ARGUS SYSTEM
INTERNAL CONSISTENCY OF A DISTRIBUTED TRANSACTION SYSTEM WITH ORPHAN DETECTION
INTERNAL CONSISTENCY OF A DISTRIBUTED TRANSACTION SYSTEM WITH ORPHAN DETECTION
SPECIFICATION AND IMPLEMENTATION OF ATOMIC DATA TYPES
SPECIFICATION AND IMPLEMENTATION OF ATOMIC DATA TYPES
A serialization graph construction for nested transactions
PODS '90 Proceedings of the ninth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Hi-index | 0.00 |
In a distributed system, node failures, network delays, and other unpredictable occurences can result in orphan computations—subcomputations that continue to run but whose results are no longer needed. Several algorithms have been proposed to prevent such computations from seeing inconsistent states of the shared data. In this paper, two such orphan management algorithms are analyzed. The first is an algorithm implemented in the Argus distributed-computing system at MIT, and the second is an algorithm proposed at Carnegie-Mellon. The algorithms are described formally, and complete proofs of their correctness are given.The proofs show that the fundamental concepts underlying the two algorithms are very similar in that each can be regarded as an implementation of the same high-level algorithm. By exploiting properties of information flow within transaction management systems, the algorithms ensure that orphans only see states of the shared data that they could also see if they were not orphans. When the algorithms are used in combination with any correct concurrency control algorithm, they guarantee that all computations, orphan as well as nonorphan, see consistent states of the shared data.