This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Providing e-Transaction Guarantees in Asynchronous Systems with No Assumptions on the Accuracy of Failure Detection
January-February 2011 (vol. 8 no. 1)
pp. 104-121
Paolo Romano, INESC-ID, Lisboa
Francesco Quaglia, Universitå di Roma La Sapienza, Roma
In this paper, we address reliability issues in three-tier systems with stateless application servers. For these systems, a framework called e-Transaction has been recently proposed, which specifies a set of desirable end-to-end reliability guarantees. In this article, we propose an innovative distributed protocol providing e-Transaction guarantees in the general case of multiple, autonomous back-end databases (typical of scenarios with multiple parties involved within a same business process). Differently from existing proposals coping with the e-Transaction framework, our protocol does not rely on any assumption on the accuracy of failure detection. Hence, it reveals suited for a wider class of distributed systems. To achieve such a target, our protocol exploits an innovative scheme for distributed transaction management (based on ad hoc demarcation and concurrency control mechanisms), which we introduce in this paper. Beyond providing the proof of protocol correctness, we also discuss hints on the protocol integration with conventional systems (e.g., database systems) and show the minimal overhead imposed by the protocol.

[1] R. Barga, D. Lomet, S. Agrawal, and T. Baby, "Persistent Client-Server Database Sessions," Proc. Seventh Conf. Extending Database Technology (EDBT), pp. 462-477, 2000.
[2] R. Barga, D. Lomet, G. Shegalov, and G. Weikum, "Recovery Guarantees for Internet Applications," ACM Trans. Internet Technology, vol. 4, no. 3, pp. 289-328, 2004.
[3] P.A. Bernstein and N. Goodman, "Multiversion Concurrency Control: Theory and Algorithms," ACM Trans. Database Systems, vol. 8, no. 4, pp. 465-483, 1983.
[4] P.A. Bernstein, M. Hsu, and B. Mann, "Implementing Recoverable Requests Using Queues," Proc. 19th Conf. Management of Data (SIGMOD), pp. 101-112, May 1990.
[5] P.A. Bernstein and E. Newcomer, Principles of Transaction Processing: For The Systems Professional. Morgan Kaufmann Publishers, Inc., 1997.
[6] G.D. Candia, D. Hastorun, M. Jampani, G. Kakulapati, A. Lakshman, A. Pilchin, S. Sivasubramanian, P. Vosshall, and W. Vogels, "Dynamo: Amazon's Highly Available Key-Value Store," SIGOPS Operating Systems Rev., vol. 41, no. 6, pp. 205-220, 2007.
[7] T.D. Chandra and S. Toueg, "Unreliable Failure Detectors for Reliable Distributed Systems," Comm. ACM, vol. 43, no. 2, pp. 225-267, 1996.
[8] G.F. Coulouris and J. Dollimore, Distributed Systems: Concepts and Design. Addison-Wesley Longman Publishing Co., Inc., 1988.
[9] M.J. Fischer, N.A. Lynch, and M.S. Paterson, "Impossibility of Distributed Consensus with One Faulty Process," J. ACM, vol. 32, no. 2, pp. 374-382, 1985.
[10] J. Freytag, F. Cristian, and B. Kähler, "Masking System Crashes in Database Application Programs," Proc. 13th Conf. Very Large Data Bases (VLDB), pp. 407-416, 1987.
[11] S. Frølund and R. Guerraoui, "A Pragmatic Implementation of e-Transactions," Proc. 19th Symp. Reliable Distributed Systems (SRDS), pp. 186-195, 2000.
[12] S. Frølund and R. Guerraoui, "Implementing e-Transactions with Asynchronous Replication," IEEE Trans. Parallel and Distributed Systems, vol. 12, no. 2, pp. 133-146, Feb. 2001.
[13] S. Frølund and R. Guerraoui, "X-Ability: A Theory of Replication," Distributed Computing, vol. 14, no. 4, pp. 231-249, 2001.
[14] S. Frølund and R. Guerraoui, "e-Transactions: End-to-End Reliability for Three-Tier Architectures," IEEE Trans. Software Eng., vol. 28, no. 4, pp. 378-395, Apr. 2002.
[15] G. Gama, K. Nagaraja, R. Bianchini, R. Martin, W. Meira, Jr., and T. Nguyen, "State Maintenance and Its Impact on the Performability of Multi-Tiered Internet Services," Proc. 23rd Symp. Reliable Distributed Systems (SRDS), pp. 146-158, 2004.
[16] J. Gray and A. Reuter, Transaction Processing: Concepts and Techniques. Morgan Kaufmann, 1991.
[17] R. Guerraoui, "Indulgent Algorithms," Proc. 19th Ann. ACM Symp. Principles of Distributed Computing (PODC), pp. 289-297, 2000.
[18] R. Guerraoui and P. Kouznetsov, "On the Weakest Failure Detector for Non-Blocking Atomic Commit," Proc. Int'l Federation for Information Processing (IFIP) 17th Int'l Conf. Theoretical Computer Science (TCS) (IFIP Conf. Proc.), pp. 461-473, 2002.
[19] I. Keidar and S. Rajsbaum, "On the Cost of Fault-Tolerant Consensus When There Are No Faults," SIGACT News, vol. 32, no. 2, pp. 45-63, 2001.
[20] M. Little and S. Shrivastava, "Integrating the Object Transaction Service with the Web," Proc. Second Int'l Workshop Enterprise Distributed Object Computing, pp. 194-205, 1998.
[21] D.B. Lomet and G. Weikum, "Efficient and Transparent Application Recovery in Client-Server Information Systems," Proc. 27th Conf. Management of Data (SIGMOD), pp. 460-471, 1998.
[22] N.A. Lynch, Distributed Algorithms. Morgan Kaufmann, 1996.
[23] C. Mohan, B. Lindsay, and R. Obermarck, "Transaction Management in the R∗ Distributed Database Management System," ACM Trans. Database Sstems, vol. 11, no. 4, pp. 378-396, 1986.
[24] F. Quaglia and P. Romano, "Ensuring e-Transaction with Asynchronous and Uncoordinated Application Server Replicas," IEEE Trans. Parallel and Distributed Systems, vol. 18, no. 3, pp. 364-378, Mar. 2007.
[25] P. Romano and F. Quaglia, "Providing e-Transaction Guarantees in Asynchronous Systems with Inaccurate Failure Detection," Proc. Fifth Symp. Network Computing and Applications (NCA), pp. 155-162, 2006.
[26] P. Romano and F. Quaglia, "Integration and Evaluation of Multi Instance-Precommit Schemes within PostgreSQL," Proc. 38th IEEE/IFIP Int'l Conf. Dependable Systems and Networks (DSN), pp. 404-409, 2008.
[27] P. Romano, F. Quaglia, and B. Ciciani, "A Lightweight and Scalable e-Transaction Protocol for Three-Tier Systems with Centralized Back-End Database," IEEE Trans. Knowledge and Data Eng., vol. 17, no. 11, pp. 1578-1583, Nov. 2005.
[28] G. Shegalov, G. Weikum, R. Barga, and D. Lomet, "EOS: Exactly-Once E-Service Middleware," Proc. 28th Conf. Very Large Databases (VLDB), pp. 1043-1046, 2002.
[29] B.A. Shirazi, K.M. Kavi, and A.R. Hurson, Scheduling and Load Balancing in Parallel and Distributed Systems. IEEE CS Press, 1995.
[30] J. Stamos and F. Cristian, "Coordinator Log Transaction Execution Protocol," Distributed and Parallel Databases, vol. 1, no. 4, pp. 383-408, 1993.
[31] M. Stonebraker, "Concurrency Control and Consistency of Multiple Copies of Data in Distributed INGRES," IEEE Trans. Software Eng., vol. 5, no. 3, pp. 188-194, May 1979.
[32] Sun Microsystems, JSR 220: Enterprise JavaBeans™, Version 3.0—Java Persistence API, May 2006.
[33] Distributed TP: The XA+ Specification Version 2. The Open Group, 1994.
[34] W. Vogels, D. Dumitriu, K. Birman, R. Gamache, M. Massa, R. Short, J. Vert, J. Barrera, and J. Gray, "The Design and Architecture of the Microsoft Cluster Service—A Practical Approach to High Availability and Scalability," Proc. 28th Int'l Symp. Fault-Tolerant Computing Systems (FTCS), pp. 422-431, 1998.
[35] H. Wu, B. Kemme, and V. Maverick, "Eager Replication for Stateful J2EE Servers," Proc. Sixth CoopIS, DOA, and Ontologies, DataBases, and Applications of Semantics (ODBASE), OTM Confederated Conf., pp. 1376-1394, 2004.
[36] M. Xiong, K. Ramamritham, J. Haritsa, and J. Stankovic, "MIRROR: A State-Conscious Concurrency Control Protocol for Replicated Real-Time Databases," Information Systems, vol. 27, no. 4, pp. 27-297, 2002.

Index Terms:
Three-tier systems, reliability, failure detection, distributed transactions.
Citation:
Paolo Romano, Francesco Quaglia, "Providing e-Transaction Guarantees in Asynchronous Systems with No Assumptions on the Accuracy of Failure Detection," IEEE Transactions on Dependable and Secure Computing, vol. 8, no. 1, pp. 104-121, Jan.-Feb. 2011, doi:10.1109/TDSC.2009.2
Usage of this product signifies your acceptance of the Terms of Use.