Replication-Aware Transactions: How to Roll a Transaction over Failures

  • Mohsen Sharifi
  • Hadi Salimi
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4006)

Abstract

The CORBA standard adopted by OMG supports reliability using two orthogonal mechanisms: Replication (by means of FT-CORBA standard) and Transaction (with the aid of OTS standard). Replication represents a roll-forward approach in which a failed request is re-directed into another replica that is alive. On the other hand, transaction represents a roll-back approach in which a system reverts into its last committed state upon any failure. Current researches show that integrating these two approaches is essential in 3-tier systems, wherein the replication protects system processes from failures in the middle tier, and the transaction concept ensures the data consistency in the data tier. All proposed methods for reconciling these two concepts are unanimous that the transaction approach suffers from poor performance due to the use of two-phase commit protocol. In this paper we introduce a new replication-aware transaction model based on replicated objects. This kind of transaction can jump over the failures that the replicas come across without rolling the whole transaction back (we call it roll-over). Instead, the failed objects would be removed from the replica list and re-created somewhere else if needed. Implementation results of our model show better transaction throughput in comparison with known approaches.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Object Management Group: Fault Tolerant CORBA (Final Adopted Specification). OMG Technical Committee Document, formal/01-12-29 (December 2001)Google Scholar
  2. 2.
    Object Management Group: Object Transaction Service Specification. Version 1.4, OMG Technical Committee Document, formal/03-09-02 (September 2003)Google Scholar
  3. 3.
    Felber, P., Narasimhan, P.: Reconciling Replication and Transactions for the End-to-End Reliability of CORBA Applications. In: The Proceedings of International Symposium on Distributed Objects and Applications (DOA 2002), pp. 737–754 (October 2002)Google Scholar
  4. 4.
    Felber, P., Narasimhan, P.: Experiences, Strategies and Challenges in Building Fault-Tolerant CORBA Systems. IEEE Transactions on Computers 53(5) (May 2004)Google Scholar
  5. 5.
    Gray, J., Reuter, A.: Transaction Processing: Concepts and Techniques. Morgan Kaufmann Publishers, San Mateo (1993)MATHGoogle Scholar
  6. 6.
    Pullum, L.: Software Fault Tolerance Techniques and Implementations. Artech House Publishers, Norwood (2001)Google Scholar
  7. 7.
    Cheriton, D.R., Skeen, D.: Understanding the Limitations of Causally and Totally Ordered Communication. In: The Proceedings of 14th ACM Symposium on Operating SystemsGoogle Scholar
  8. 8.
    Rebuttals from Cornell, Operating Systems Review 28(1) (January 1994)Google Scholar
  9. 9.
    Schiper, A., Raynal, M.: From Group Communication to Transactions in Distributed Systems. CACM 39(4) (April 1996)Google Scholar
  10. 10.
    Martinez, M.P., Peris, R.J., Arevalo, S.: Group Transactions: An Integrated Approach to Transaction and Group Communication. In: Workshop on Concurrency in Dependable Computing (June 2001)Google Scholar
  11. 11.
    Frolund, S., Guerraoui, R.: Implementing e-Transactions with Asynchronous Replication. IEEE Transactions on Parallel and Distributed Systems 12(2), 133–146 (2001)CrossRefGoogle Scholar
  12. 12.
    Little, M.C., Shrivastava, S.K.: BROADCAST 1999. LNCS, vol. 1752. Springer, Heidelberg (2000)Google Scholar
  13. 13.
    Frolund, S., Guerraoui, R.: CORBA Fault-Tolerance: why it does not add up. In: The Proceedings of the IEEE Workshop on Future Trends in Distributed Systems, Cape Town (December 1999)Google Scholar
  14. 14.
    Zhao, W., Moser, L.E., Melliar-Smith, P.M.: Unification of Replication and Transaction Processing in Three-Tier Architectures. In: Proceedings of the International Conference on Distributed Systems (2002)Google Scholar
  15. 15.
    Tanenbaum, A.S., Steen, M.V.: Distributed Systems: Principles and Paradigms. Prentice Hall, Englewood Cliffs (2002)MATHGoogle Scholar
  16. 16.
    Moser, L.E., Melliar-Smith, P.M., Narasimhan, P.: Consistent Object Replication in the Eternal System. Theory and Practice of Object Systems 4(2), 81–92 (1998)CrossRefGoogle Scholar
  17. 17.
    Maffeis, S.: Run-Time Support for Object-Oriented Distributed Programming. PhD thesis, University of Zurich (February 1995)Google Scholar
  18. 18.
    Fabre, J.C., Perennou, T.: FRIENDS: A Flexible Architecture for Implementing Fault Tolerant and Secure Distributed Applications. In: Hlawiczka, A., Simoncini, L., Silva, J.G.S. (eds.) EDCC 1996. LNCS, vol. 1150, pp. 3–20. Springer, Heidelberg (1996)Google Scholar
  19. 19.
    Object Oriented Concepts, Inc. ORBacus OTS, Version 1.2 (2000), http://ooc.com
  20. 20.
    Object Oriented Concepts Inc. ORBacus 4.1.1, http://ooc.com

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Mohsen Sharifi
    • 1
  • Hadi Salimi
    • 1
  1. 1.Computer Engineering DepartmentIran University of Science and Technology 

Personalised recommendations