Legal claims defining the scope of protection, as filed with the USPTO.
1. A method for collating database recovery information on a storage media in a transaction processing system capable of concurrently executing multiple transactions, wherein the database recovery information includes previously valid database records which are used to restore a database to a previously valid condition upon recognition of one or more transaction errors; the method comprising: chronologically storing database records generated by active transactions in storage banks partitioned according to transaction; queuing the database records from the storage banks associated with completed database transactions in the order that the active transactions were completed; and transferring the queued database records to the storage media, whereby the queued database records are grouped according to transaction in the order that the active transactions were completed.
2. The method as in claim 1, wherein chronologically storing database records comprises: allocating a transaction-related database structure for each of the active transactions, wherein each of the transaction-related database structures includes a transaction identifier corresponding to a particular one of the active transactions; storing a unique storage bank address in each of the transaction-related data structures identified by the transaction identifiers; and sequentially storing the database records associated with each of the active transactions in their respective ones of the storage banks using the transaction identifier and the unique storage bank address.
3. The method as in claim 2, wherein sequentially storing the database records comprises: locating the transaction-related database structure corresponding to a new data record using the transaction identifier; identifying the storage bank to receive the new data record using the unique storage bank address stored at the transaction-related database structure; and storing the new data record in the identified storage bank.
4. The method as in claim 3, wherein locating the transaction-related database structure comprises: providing the transaction identifier with the new data record; and comparing the transaction identifier associated with the new data record to the transaction identifier associated with each of the transaction-related data structures.
5. The method as in claim 1, wherein chronologically storing database records comprises transferring the database records generated by each transaction into its corresponding one of the storage banks in an order in which the database records become available.
6. The method as in claim 1, further comprising partitioning a memory into a plurality of the storage banks identifiable by a transaction identifier provided with the database record.
7. The method as in claim 6, further comprising dynamically creating additional ones of the storage banks where a number of the active transactions exceeds a number of the partitioned storage banks.
8. The method as in claim 6, wherein the memory comprises non-volatile, random-access memory.
9. The method as in claim 1, wherein queuing in the order that the active transactions were completed comprises transferring all of the database records from one of the storage banks to a queue upon receipt of a completion notification from the corresponding active transaction.
10. The method as in claim 1, wherein the queue comprises a non-volatile memory queue.
11. The method as in claim 1, wherein transferring the queued database records to the storage media comprises transferring the queued database records to a magnetic, sequential-access storage media.
12. The method as in claim 1, further comprising storing the database records in the database for use by the transaction processing system.
13. A method for collating database recovery information on an external storage media on a per-transaction basis in a transaction processing system having one or more host processors and a database, wherein the database recovery information includes valid database records which are used to restore the database to a previously valid condition upon recognition of one or more database storage media errors; the method comprising: (a) requesting execution of a plurality of database transactions from user terminals to one or more of the host processors; (b) creating a transaction memory structure for each of the database transactions, wherein each of the transaction memory structures include a transaction identifier and a pointer to a unique storage bank designated for each of the database transactions; (c) chronologically storing database records resulting from each of the database transactions in their respective ones of the storage banks; (d) queuing the database records from the storage banks associated with completed database transactions in an order that the database transactions were completed; and (e) transferring the queued database records to the external storage media, whereby the queued database records are grouped according to transaction in the order that the database transactions were completed.
14. The method as in claim 13, further comprising accessing previously valid database records corresponding to the database transaction upon recognition of a transaction error, comprising: identifying the transaction memory structure corresponding to the transaction error using the transaction identifier; locating the unique storage bank identified by the pointer in the transaction memory structure; and restoring the database to a previously valid state by copying the previously valid database records from the unique storage bank to the database.
15. The method as in claim 14, wherein identifying the transaction memory structure comprises comparing a transaction error identifier to the transaction identifier in each of the transaction memory structures.
16. The method as in claim 13, wherein creating the transaction memory structure comprises: allocating a portion of a memory at the inception of the database transaction identified by the transaction identifier; and partitioning the portion of the memory into a plurality of fields, wherein each field stores one of the plurality of links to the distinct storage banks.
17. The method as in claim 13, wherein chronologically storing the database records comprises transferring the database records generated by each database transaction into its corresponding one of the distinct storage banks in an order in which the database records become available.
18. The method as in claim 13, wherein queuing the database records in the order that the database transactions were completed comprises transferring all of the database records from one of the distinct storage banks to a queue upon receipt of a completion notification from the corresponding database transaction.
19. The method as in claim 18, further comprising storing the completion notification in a control field of the transaction memory structure.
20. The method as in claim 18, wherein the completion notification is a data commit notification.
21. The method as in claim 18, wherein the completion notification is a data rollback notification.
22. The method as in claim 13, wherein transferring the queued database records to the external storage media comprises transferring the queued database records to a magnetic, sequential-access storage media.
23. The method as in claim 13, wherein the database transactions include database records corresponding to proposed data modifications to the database.
24. A memory architecture for allowing transaction recovery information to be arranged according to transaction, wherein the transaction recovery information includes previously valid database information used to restore the database to a valid state upon the occurrence of a transaction failure, the memory architecture comprising: (a) a plurality of storage modules, wherein each of the storage modules stores the transaction recovery information associated with a distinct one of the transactions; and (b) a plurality of memory structures each corresponding to a distinct one of the transactions to isolate accessibility of the transaction recovery information associated with the distinct one of the transactions to the corresponding memory structure, each memory structure comprising: (i) a control information field to store a transaction identifier that identifies the distinct transaction to which it corresponds; and (ii) at least one information address field to store a pointer to the storage module that stores the transaction recovery information associated with the transaction identifier; (c) a storage queue to collectively store each of the memory structures in an order in which each of the transactions is completed; and (d) a storage media to consecutively store the contents of the storage modules corresponding to the completed transactions by receiving contents of the queue in the order that each of the transactions is completed.
25. The memory architecture as in claim 24, wherein the storage media comprises a non-volatile memory queue.
26. The memory architecture as in claim 25, further comprising a magnetic sequential-access storage media coupled to the non-volatile memory queue to receive and permanently store the contents of the storage modules in an order in which the contents of the storage modules are queued.
27. The memory architecture as in claim 24, wherein the storage media comprises a non-volatile sequential-access storage media capable of retaining information upon loss of power to the memory architecture.
28. The memory architecture as in claim 24, wherein the storage media comprises magnetic tape.
29. The memory architecture as in claim 24, wherein the storage media comprises a magnetic disk.
30. The memory architecture as in claim 24, further comprising a recovery processor to restore the database to a valid state upon the occurrence of a transaction failure by copying the contents of the storage media onto the database at address locations which include data affected by the transaction failure.
Complete technical specification and implementation details from the patent document.
DETAILED DESCRIPTION OF THE ILLUSTRATED EMBODIMENTS
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
Unknown
July 4, 2000
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.