Many computing systems today utilize multiple processing units, resulting in a computer architecture generally referred to as multiprocessing. Multiprocessing systems are often used for transaction processing, such as airline and banking systems. Transaction processing refers generally to a technique for organizing multi-user, high volume, on-line applications that provides control over user access and updates of databases. A transaction refers to the execution of a retrieval or an update program in a database management system. Transactions originating from different users may be aimed at the same database records. This situation, if not carefully monitored, may cause the database to become "inconsistent". Where all transactions are executed one after the other, the database will remain in a consistent state.
To maintain transaction indivisibility, either all database updates in a transaction processing system or none of the updates are applied to the database. In prior art systems, database management systems have retained a copy of the existing data whenever the transaction requests a database update. If the transaction proceeds to a stable point, all new updates are secured to the database by the database management system. If the transaction does not proceed to a stable point because a failure occurs before the updates are secured to the database, none of the updates are applied. The prior art systems typically use control messaging between various components in the transaction processing system to ensure that each database transaction request is processed once and only once. If this complex synchronization between these various components is not maintained, the data in the database can become inconsistent. However, the synchronization between these components is very complex, and causes undesirable system overhead inefficiencies.
Therefore, it is desirable to provide a system for providing transaction indivisibility without the complex synchronization between various system components. The present invention provides a solution to this problem by providing a centralized system accessible by all components, where an indivisibility analysis can be performed for all source messaging, regardless of which terminal or associated host processor initiated the transaction. The present invention therefore provides a solution to the aforementioned and other problems, and offers other advantages over the prior art.