An Integrated Approach to Transactions and Group Communication

Transactions and group communication are two techniques to build fault-tolerant distributed applications. They have evolved separately over a long time. Only in recent years researchers have proposed an integration of both techniques. Transactions were developed in the con­ text of database systems to provide data consistency in the presence of failures and concurrent accesses. On the other hand, group communi­ cation was proposed as a basic building block for reliable distributed systems. Group communication deals with consistency in the delivery of multicast messages. The difficulty of the integration stems from the fact that the two techniques provide very different kinds of consistency. This chapter addresses the integration of both models and how appli­ cations using group communication can benefit from transactions and

[1]  Fred B. Schneider,et al.  Implementing fault-tolerant services using the state machine approach: a tutorial , 1990, CSUR.

[2]  Santosh K. Shrivastava,et al.  Understanding the Role of Atomic Transactions and Group Communications in Implementing Persistent Replicated Objects , 1998, POS/PJW.

[3]  Henri E. Bal Fault-tolerant parallel programming in Argus , 1992, Concurr. Pract. Exp..

[4]  Richard C. T. Lee,et al.  Parallel Graph Algorithms Based Upon Broadcast Communications , 1990, IEEE Trans. Computers.

[5]  Gustavo Alonso,et al.  Processing transactions over optimistic atomic broadcast protocols , 1999, Proceedings. 19th IEEE International Conference on Distributed Computing Systems (Cat. No.99CB37003).

[6]  Sam Toueg,et al.  Fault-tolerant broadcasts and related problems , 1993 .

[7]  Kenneth P. Birman,et al.  The process group approach to reliable distributed computing , 1992, CACM.

[8]  Ricardo Jiménez-Peris,et al.  Integrating Groups and Transactions: A Fault-Tolerant Extension of Ada , 1998, Ada-Europe.

[9]  Gustavo Alonso,et al.  Scalable Replication in Database Clusters , 2000, DISC.

[10]  Kenneth P. Birman,et al.  A response to Cheriton and Skeen's criticism of causal and totally ordered communication , 1994, OPSR.

[11]  Santosh K. Shrivastava To CATOCS or not to CATOCS, that is the … , 1994, OPSR.

[12]  Panos K. Chrysanthis,et al.  Synthesis of extended transaction models using ACTA , 1994, TODS.

[13]  Angel Alvarez,et al.  Drago: An Ada Extension to Program Fault-Tolerant Distributed Applications , 1996, Ada-Europe.

[14]  Shivakant Mishra,et al.  Design, implementation and performance evaluation of a CORBA group communication service , 1999, Digest of Papers. Twenty-Ninth Annual International Symposium on Fault-Tolerant Computing (Cat. No.99CB36352).

[15]  Samuel T. Chanson,et al.  Process groups and group communications: classifications and requirements , 1990, Computer.

[16]  Sushil Jajodia,et al.  Advanced Transaction Models and Architectures , 2012, Springer US.

[17]  Maurice Herlihy,et al.  Linearizability: a correctness condition for concurrent objects , 1990, TOPL.

[18]  Fabio Kon,et al.  Using interpreted CompositeCalls to improve operating system services , 2000, Softw. Pract. Exp..

[19]  Kenneth P. Birman,et al.  Building Secure and Reliable Network Applications , 1996 .

[20]  Andrew Eisenberg New standard for stored procedures in SQL , 1996, SGMD.

[21]  Alberto Montresor,et al.  Enhancing Jini with group communication , 2001, Proceedings 21st International Conference on Distributed Computing Systems Workshops.

[22]  U. Fritzke,et al.  Transactions on partially replicated data based on reliable and atomic multicasts , 2001, Proceedings 21st International Conference on Distributed Computing Systems.

[23]  Richard D. Schlichting,et al.  Programming Language Support for Writing Fault-Tolerant Distributed Software , 1995, IEEE Trans. Computers.

[24]  Walter R. Bischofberger,et al.  Building Reliable Distributed Systems with CORBA , 1997, Theory Pract. Object Syst..

[25]  Andy J. Wellings,et al.  On Programming Atomic Actions in Ada 95 , 1997, Ada-Europe.

[26]  E. B. Moss,et al.  Nested Transactions: An Approach to Reliable Distributed Computing , 1985 .

[27]  Priya Narasimhan,et al.  A fault tolerance framework for CORBA , 1999, Digest of Papers. Twenty-Ninth Annual International Symposium on Fault-Tolerant Computing (Cat. No.99CB36352).

[28]  HärderTheo,et al.  Concurrency control issues in nested transactions , 1993, VLDB 1993.

[29]  Divyakant Agrawal,et al.  The performance of database replication with group multicast , 1999, Digest of Papers. Twenty-Ninth Annual International Symposium on Fault-Tolerant Computing (Cat. No.99CB36352).

[30]  Roy Friedman,et al.  Strong and weak virtual synchrony in Horus , 1996, Proceedings 15th Symposium on Reliable Distributed Systems.

[31]  Kenneth P. Birman,et al.  Integrating Runtime Consistency Models for Distributed Computing , 1994, J. Parallel Distributed Comput..

[32]  Rachid Guerraoui,et al.  Exploiting Atomic Broadcast in Replicated Databases , 1998, Euro-Par.

[33]  Jörg Kienzle,et al.  Transaction Support for Ada , 2001, Ada-Europe.

[34]  Rachid Guerraoui,et al.  CORBA fault-tolerance: why it does not add up , 1999, Proceedings 7th IEEE Workshop on Future Trends of Distributed Computing Systems.

[35]  Fabio Kon,et al.  Using interpreted CompositeCalls to improve operating systems services , 2000 .

[36]  Andreas Reuter,et al.  Transaction Processing: Concepts and Techniques , 1992 .

[37]  Hamid Pirahesh,et al.  ARIES: a transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging , 1998 .

[38]  Paul D. Ezhilchelvan,et al.  Design and implemantation of a CORBA fault-tolerant object group service , 1999, DAIS.

[39]  David R. Cheriton,et al.  Understanding the limitations of causally and totally ordered communication , 1994, SOSP '93.

[40]  Angel Alvarez,et al.  An Ada Library to Program Fault-Tolerant Distributed Applications , 1997, Ada-Europe.

[41]  André Schiper,et al.  From group communication to transactions in distributed systems , 1996, CACM.

[42]  Sridhar Ramaswamy,et al.  A Cooperative Transaction Model for Design Databases , 1992, Database Transaction Models for Advanced Applications.

[43]  Robbert van Renesse Why bother with CATOCS? , 1994, OPSR.

[44]  Barbara Liskov,et al.  Distributed programming in Argus , 1988, CACM.

[45]  Henri E. Bal,et al.  Parallel programming using shared objects and broadcasting , 1992, Computer.

[46]  Fabio Kon,et al.  CompositeCalls: A Design Pattern for Efficient and Flexible Client-Server Interaction , 1999 .

[47]  Rachid Guerraoui,et al.  The Implementation of a CORBA Object Group Service , 1998, Theory Pract. Object Syst..

[48]  Ricardo Jiménez-Peris,et al.  Deterministic scheduling for transactional multithreaded replicas , 2000, Proceedings 19th IEEE Symposium on Reliable Distributed Systems SRDS-2000.

[49]  Jim Waldo,et al.  The Jini Specification , 1999 .

[50]  Gustavo Alonso,et al.  A new approach to developing and implementing eager database replication protocols , 2000, TODS.

[51]  André Schiper,et al.  Optimistic Atomic Broadcast , 1998, DISC.

[52]  Idit Keidar,et al.  Group communication specifications: a comprehensive study , 2001, CSUR.

[53]  Rachid Guerraoui,et al.  Transaction Model vs. Virtual Synchrony Model: Bridging the Gap , 1994, Dagstuhl Seminar on Distributed Systems.