This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Timestamp-Based Orphan Elimination
July 1989 (vol. 15 no. 7)
pp. 825-831

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.

[1] J. Allchin, "An architecture for reliable decentralized systems," Georgia Inst. Technol., Tech. Rep. GIT-ICS-83/23, 1983.
[2] K. Birman, "Replication and fault-tolerance in the Isis system," inProc. 10th Symp. Oper. Syst. Principles, ACM/SIGOPS, Dec. 1985, pp. 79-86.
[3] K. P. Eswaran, J. N. Gray, R. A. Lorie, and I. L. Traiger, "The notions of consistency and predicate locks in a database system,"Commun. ACM, vol. 19, no. 11, pp. 624-633, Nov. 1976.
[4] M. P. Herlihy, N. A. Lynch, M. Merritt, and W. E. Weihl, "On the correctness of orphan elimination algorithms,"ACM, to be published;abbreviated version in 17th FTCS.
[5] J. Goree, "Internal consistency of a distributed transaction system with orphan detection," Lab. Comput. Sci., Massachusetts Inst. Technol., Tech. Rep. TR-286, Jan. 1983.
[6] J. Gray, "Notes on database operation systems," inOperating Systems: An Advanced Course(Lecture Notes in Computer Science, vol. 60) Berlin: Springer-Verlag, 1978.
[7] G. G. Kenky, "An action management system for a distributed operating system," Master's thesis, Georgia Inst. Technol., Dec., 1985.
[8] L. Lamport, "Time, clocks, and the ordering of events in a distributed system,"Commun. ACM, vol. 21, no. 7, pp. 558-565, July 1978.
[9] B. Lampson,Remote Procedure Calls (Lecture Notes in Computer Science 105). Berlin: Springer-Verlag, 1981, pp. 365-370.
[10] B. Liskov and R. Scheifler, "Guardians and actions: linguistic support for robust, distributed programs,"ACM Trans. Program. Languages Syst., vol. 5, no. 3, pp. 381-404, July 1983.
[11] B. H. Liskov, R. Scheifler, E. Walker, and W. E. Weihl, "Orphan detection," in17th Symp. Fault-Tolerant Computer Systems (FTCS), July 1987, pp. 2-7.
[12] N. A. Lynch, "Concurrency control for resilient nested transactions," inProc. 2nd ACM Symp. Principles of Database Systems, Mar. 1983; revised version to appear inAdvances in Computing Research.
[13] K. Marzullo and S. Owicki, "Maintaining time in a distributed system," inProc. 2nd ACM Symp. Principles of Distributed Computing, Aug. 1983, pp. 295-305.
[14] M. S. McKendry, "Clouds: A fault-tolerant distributed operating system,"IEEE Tech. Com. Distributed Processing Newslett., vol. 2, no. 6, June 1984.
[15] J. E. B. Moss, "Nested transactions: An approach to reliable distributed computing," Massachusetts Inst. Technol. Lab. Comput. Sci., Tech. Rep. MIT/LCS/TR-260, Apr. 1981.
[16] B. Nelson, "Remote procedure call," Xerox Palo Alto Research Center, Tech. Rep. CSL-79-3, 1981.
[17] C.H. Papadimitriou, "The serializability of concurrent database updates,"J. ACM, vol. 26, pp. 631-653, Oct. 1979.
[18] Rajdoot, "A remote procedure call mechanism supporting orphan detection and killing," Univ. Newcastle upon Tyne, Tech. Rep. TR 200, Apr. 1985.
[19] D. P. Reed, "Implementing atomic actions on decentralized data,"ACM Trans. Comput. Syst., vol. 1, pp. 3-23, Feb. 1983.
[20] M. S. McKendry and M. P. Herlihy. "Time-driven orphan elimination," inProc. Fifth Symp. Reliability in Distributed Software and Database Systems, Jan. 1986; also available as Tech. Rep. CMU-CS- 85-138.
[21] M. D. Skeen, "Crash recovery in a distributed database system," Ph.D. dissertation, Univ. California, Berkeley, May 1982.
[22] A. Z. Spector, D. S. Daniels, D. J. Duchamp, J. L. Eppinger, and R. Pausch, "Distributed transactions for reliable systems," inProc. Tenth Symp. Operating System Principles, ACM, Dec. 1985, pp. 127- 146; also available in Concurrency Control and Reliability inDistributed Systems. New York: Van Nostrand Reinhold, and as Tech. Rep. CMU-CS-85-117, Carnegie-Mellon Univ., Sept. 1985.
[23] A. Z. Spector, J. J. Bloch, D. S. Daniels, R. P. Draves, D. Duchamp, J. L. Eppinger, S. G. Menees, and D. S. Thompson, "The Camelot project,"Database Eng., vol. 9, no. 4, Dec. 1986; also available as Tech. Rep. CMU-CS-86-166, Carnegie-Mellon Univ., Nov. 1986.
[24] E. F. Walker, "Orphan detection in the Argus system." Massachusetts Inst. Technol., Lab. Comput. Sci., Tech. Rep. TR-326, June 1984.
[25] W. E. Weihl, "Specification and implementation of atomic data types," Ph.D. dissertation, Massachusetts Instit. Technol., 1984. Available as Tech. Rep. MIT/LCS/TR 314.
[26] W. Weihl and B. Liskov, "Implementation of resilient, atomic data types,"ACM Trans. Programming Languages and Systems 7, Apr. 1985.

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
Usage of this product signifies your acceptance of the Terms of Use.