Multi-processing financial transaction processing system
Abstract
A financial transaction processing system is disclosed, wherein substantial processing efficiencies are provided with, additionally, a substantial decrease in the size of the executable code. Each transaction processed by the transaction processing system is described by a transaction data descriptor that includes a series of subtransaction data descriptions of actions that can be performed independently of one another. Thus, complex transaction processing logic is substantially removed from the executable code, and instead such transaction data descriptors are processed interpretatively. Moreover, the independence of the subtransactions allows the subtransactions of a transaction to be processed in parallel when performed on a multiprocessor computer. Additionally, the transaction processing system provides account balancing enhancements in that there are control columns in various data tables that are automatically updated during transaction processing so that by comparing control column totals, an indication of the integrity of current financial records is provided. Additionally, the transaction processing system provides full auditability in that any changes to financial data can be traced for any effective period of time into the past so that auditors can periodically perform a full audit of the financial transaction data retained by the transaction processing system.
Claims
exact text as granted — not AI-modified1 - 26 . (canceled)
27 . A method for processing a financial transaction on a computing system using a plurality of processors comprising:
retrieving, in response to a request to perform a financial transaction having a transaction identifier and input values, a unique subset of user-defined algorithms from a set of user-defined algorithms, wherein the unique subset is associated with the transaction identifier via a user-defined transaction processing table, each user-defined algorithm, when executed by a processor on the input values, creates or changes a data record such that the unique subset of user-defined algorithms associated with the transaction identifier, when executed using the input values, creates or changes data records stored in a database as necessary to process the financial transaction; executing each of the user-defined algorithms of the unique subset on the input values; wherein the unique subset of algorithms are executed concurrently on different processors and the financial transaction is considered processed when all algorithms in the unique subset of user-defined algorithms have been executed on the input values.
28 . The method of claim 27 , wherein each request further includes a licensee identifier and the set of user-defined algorithms is further associated with the licensee identifier.
29 . The method of claim 27 , wherein executing each of the user-defined algorithms of the unique subset on the input values comprises:
executing a user-defined algorithm that creates a data record in a transaction journal file; executing a user-defined algorithm that changes a data record in a general ledger master table; executing a user-defined algorithm that changes a data record in an account master table; and executing a user-defined algorithm that changes a data record in an entity attribute master table.
30 . The method of claim 27 further comprising:
generating a transaction sequence number for the retrieved request to perform a financial transaction.
31 . The method of claim 29 , wherein executing each of the user-defined algorithms of the unique subset on the input values comprises:
executing a user-defined algorithm that creates, changes or deletes a data record in a cash flow table; executing a user-defined algorithm creates, changes or deletes a data record in an income statement table; executing a user-defined algorithm that creates, changes or deletes a data record in a capital gains table; executing a user-defined algorithm that creates, changes or deletes a data record in a balance sheet table; and executing a user-defined algorithm that creates, changes or deletes a data record in a performance measurement table.
32 . The method of claim 27 , further comprising:
if the transaction identify is not associated with a unique subset of user-defined algorithms from the set of user-defined algorithms, writing the request to perform the financial transaction to a system reject table.
33 . The method of claim 27 further comprising:
if one of the algorithms fails to execute,
reversing all algorithms of the unique subset that did execute; and
writing the request to perform the financial transaction to a system reject table.
34 . The method of claim 27 wherein each of the unique subset of algorithms is executed concurrently on a different one of the plurality of processors.
35 . The method of claim 27 wherein at least one of the unique subset of algorithms is executed on a first processor concurrently with the execution of at least one algorithm of a different unique subset of algorithms on a different processor.
36 . The method of claim 27 wherein at least one of the unique subset of algorithms is executed on a first processor concurrently with the execution of at least two algorithms of different unique subsets of algorithms on different processors.
37 . A method for processing financial transactions on a multiprocessing machine having a plurality of processors, each financial transaction having financial transaction data, the method comprising:
maintaining a set of user-defined algorithms, each user-defined algorithm being independently and simultaneously processable by any one of the plurality of processors in the multiprocessing machine and each user-defined algorithm when processed on financial data adds, changes or deletes only one financial data record based on the financial data; receiving a first financial transaction having a first user-defined financial transaction type and first financial data; identifying, for the first financial transaction, a first unique subset of user-defined algorithms from a set of user-defined algorithms based on the first user-defined financial transaction type; processing each user-defined algorithm in the first unique subset of user-defined algorithms on the first financial data; receiving a second financial transaction having a second user-defined financial transaction type and second financial data; identifying, for the second financial transaction, a second unique subset of user-defined algorithms from the set of user-defined algorithms based on the second user-defined financial transaction type; processing each user-defined algorithm in the second unique subset of user-defined algorithms on the second financial data; and wherein all the user-defined algorithms in the first unique subset of user-defined algorithms on the first financial data and at least one of the second unique subset of user-defined algorithms are concurrently processed.
38 . The method of claim 37 , wherein each user-defined algorithm changes only one financial data record in only one user-defined financial report and includes an operator, a first operand that identifies input data from the financial transaction data, and a second operand that identifies the only one data record.
39 . The method of claim 37 further comprising:
maintaining a user-defined transaction processing table that associates each user-defined transaction type with a unique subset of the set of user-defined algorithms including associating the first unique subset of user-defined algorithms with the first user-defined financial transaction type and the second unique subset of user-defined algorithms with the second user-defined financial transaction type.
40 . The method of claim 37 , wherein processing each unique subset of the set of user-defined algorithms associated with a user-defined transaction type comprises:
executing a user-defined algorithm on a first processor that creates a data record in a transaction journal file; concurrently executing a user-defined algorithm on a second processor that changes a data record in a general ledger master table; concurrently executing a user-defined algorithm on a third processor that changes a data record in an account master table; and concurrently executing a user-defined algorithm on a fourth processor that changes a data record in an entity attribute master table.
41 . The method of claim 37 further comprising:
wherein the at least one of the second unique subset of user-defined algorithms is completed prior to completion of processing all the user-defined algorithms in the first unique subset of user-defined algorithms.
42 . The method of claim 37 further comprising:
receiving the second financial transaction after receiving the first financial transaction; and completing processing of all of the user-defined algorithms in the second unique subset of user-defined algorithms prior to completing the processing of all of the user-defined algorithms in the first unique subset of user-defined algorithms.
43 . A financial transaction multiprocessing system for an enterprise, each financial transaction having a financial transaction type and financial transaction data, comprising:
a multiprocessing computer having a plurality of processors; a financial record database storing financial data records; a database manager for creating, changing and deleting financial data records; a queue for receiving financial transactions for processing, wherein each financial transaction when processed results in adding, changing or deleting to at least one financial data record and wherein each financial transaction is associated with one of a plurality of user-defined financial transaction types and includes financial transaction data; an algorithm database storing a set of user-defined algorithms, each user-defined algorithm capable of being processed concurrently and independently with any other user-defined algorithm and each user-defined algorithm when processed by any one of the plurality of processors causing the database manager to add, change or delete a financial data record; and a transaction processing table that associates each user-defined transaction type with a unique subset of the set of user-defined algorithms such that processing a first financial transaction having a first financial transaction type and first financial transaction data is achieved by processing a first unique subset of user-defined algorithms associated with the first financial transaction type on the first financial transaction data.
44 . The financial transaction multiprocessing system of claim 43 further comprising:
a set of control tables; a set of user-defined control algorithms, each user-defined control algorithm when processed causing the database manager to add, change or delete one or more data records in one or more control tables; and wherein the transaction processing table further associates one or more user-defined control algorithms with each user-defined financial transaction type.
45 . The system of claim 43 further comprising:
a processor queue for user-defined algorithms, the processor queue distributing queued user-defined algorithms to processors as the processors become available.
46 . The system of claim 43 , wherein each user-defined algorithm includes only one operator and only a first operand and a second operand, the first operand identifying input data from the financial transaction data of the financial transaction to be processed, and the second operand identifying the only one data record.Join the waitlist — get patent alerts
Track US2005165668A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.