Title :
Timestamp-based orphan elimination
Author :
Herlihy, Maurice P. ; McKendry, Martin S.
Author_Institution :
Dept. of Comput. Sci., Carnegie-Mellon Univ., Pittsburgh, PA, USA
fDate :
7/1/1989 12:00:00 AM
Abstract :
An orphan in a distributed transaction system is an activity executing on behalf of an aborted transaction. A method is proposed for managing orphans created by crashes and by aborts that ensures that orphans are detected and eliminated in a timely manner, and also prevents them from observing inconsistent states. The method uses timestamps generated at each site. Transactions are assigned timeouts at different sites. These timeouts are related by a global invariant, and they may be adjusted by simple two-phase protocols. The principal advantage of this method is simplicity: it is easy to understand, and to implement, and it can be proved correct. An `eager´ version of this method uses approximately synchronized real-time clocks to ensure that orphans are eliminated within a fixed duration, and a `lazy´ version uses logical clocks to ensure that orphans are eventually eliminated as information propagates through the system. The method is fail-safe: unsynchronized clocks and lost messages may affect performance, but they cannot produce inconsistencies or protect orphans from eventual elimination. Although the method is informally described in terms of two-phase locking, the formal argument shows it is applicable to any concurrency control method that preserved atomicity
Keywords :
concurrency control; database management systems; distributed processing; transaction processing; aborted transaction; concurrency control method; distributed transaction system; real-time clocks; timestamp based orphan elimination; two-phase protocols; Banking; Books; Clocks; Computer crashes; Computer networks; Concurrent computing; Distributed computing; Protection; Real time systems; Synchronization;
Journal_Title :
Software Engineering, IEEE Transactions on