Integrating checkpointing with transaction processing

Many industrial applications consist of different components that were designed and implemented separately. Software reuse and component software architecture often dictate this style of building applications out of existing modules. In such an application, some modules may use databases to store critical data, while other components may use regular files or volatile memory either by design or to improve performance. Therefore, global coordination is necessary for maintaining data consistency and recoverability across multiple datastores. We describe a way of integrating check-pointing with transactions to ensure consistency and recoverability of data stored outside the databases. Our approach transforms an existing checkpoint library into a transactional resource manager that can participate in such a global coordination.

[1]  Dan Harkey,et al.  The Essential Distributed Objects Survival Guide , 1995 .

[2]  William E. Weihl Transaction-processing techniques , 1993 .

[3]  Robert B. Hagmann A Crash Recovery Scheme for a Memory-Resident Database System , 1986, IEEE Transactions on Computers.

[4]  Yi-Min Wang,et al.  Checkpointing and its applications , 1995, Twenty-Fifth International Symposium on Fault-Tolerant Computing. Digest of Papers.

[5]  Pui Ng,et al.  A commit protocol for checkpointing transactions , 1988, Proceedings [1988] Seventh Symposium on Reliable Distributed Systems.

[6]  Michael Stonebraker,et al.  Implementation techniques for main memory database systems , 1984, SIGMOD '84.

[7]  J. Eliot B. Moss,et al.  Checkpoint and Restart in Distributed Transaction Systems , 1983, Symposium on Reliability in Distributed Software and Database Systems.

[8]  Erik Seligman,et al.  High-Level Fault Tolerance in Distributed Programs , 1994 .

[9]  Dale Rogerson,et al.  Inside COM , 1997 .

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

[11]  Graham Chen Distributed transaction processing standards and their applications , 1995 .

[12]  David A Chappell Understanding ActiveX and OLE , 1996 .

[13]  Patrick Valduriez,et al.  Principles of Distributed Database Systems , 1990 .

[14]  Jon Sigel,et al.  CORBA Fundamentals and Programming , 1996 .

[15]  Yennun Huang,et al.  Software Implemented Fault Tolerance Technologies and Experience , 1993, FTCS.