The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.07 - July (1989 vol.15)
pp: 825-831
ABSTRACT
<p>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.</p>
INDEX TERMS
timestamp based orphan elimination; distributed transaction system; aborted transaction; two-phase protocols; real-time clocks; concurrency control method; concurrency control; database management systems; distributed processing; transaction processing
CITATION
M.P. Herlihy, M.S. McKendry, "Timestamp-Based Orphan Elimination", IEEE Transactions on Software Engineering, vol.15, no. 7, pp. 825-831, July 1989, doi:10.1109/32.29482
16 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool