IP Library Granted Patent US 7,493,348
Granted Patent B2
US 7,493,348 · App. 10/650,994 · Granted Feb 17, 2009

Method and system for managing a distributed transaction process

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,493,348
App. No.
10/650,994
Granted
Feb 17, 2009
Kind
B2
Abstract

Systems and methods for managing a distributed transaction process include an active transaction manager that manages transactions with an active database, a latent transaction manager that manages transactions with a merge database, a transaction log that reflects the set of transactions in the active database that are not affiliated with the transactions in the merge database, and a merge manager that uses the transaction log to determine whether to transfer control of the merge database to the active transaction manager. Systems and methods may further instruct the active transaction manager to halt transactions with the active database while the merge database is updated to reflect a set of transactions affiliated with the set of transactions in the transaction log, and instruct the active transaction manager to subsequently manage transactions to the active database and the merge database.

Claims (119)

1. A method for managing a distributed transaction system, comprising:

managing transactions with at least an active database by an active transaction manager, where the active database reflects an application of a set of active transactions;

managing transactions with a merge database, where the merge database reflects an application of a first subset of the set of active transactions;

generating discrepancy transaction log information that reflects a set of discrepancy transactions that is distinct from the first subset of active transactions, the discrepancy transactions consisting of active transactions not yet applied to the merge database;

determining whether to transfer control of the merge database to the active transaction manager; and

if a determination is made not to transfer control of the merge database to the active transaction manager,

instructing a latent transaction manager to apply the discrepancy transactions to the merge database to reflect the set of discrepancy transactions reflected in the discrepancy transaction log information, and

instructing the active transaction manager to continue to manage transactions with the active database; and

if a determination is made to transfer control of the merge database to the active transaction manager,

instructing the active transaction manager to halt transactions with the active database,

instructing the latent transaction manager to update the merge database to reflect the set of discrepancy transactions reflected in the discrepancy transaction log information, and

instructing the active transaction manager to manage transactions to the active database and the merge database.

2. The method of claim 1 , wherein determining whether to transfer control of the merge database to the active transaction manager comprises:

determining a log number reflecting a total quantity of discrepancy transactions in the discrepancy transaction log information;

comparing the log number to a target value; and

transferring control of the merge database to the active transaction manager if the log number bears a predetermined relationship to the target value.

3. The method of claim 1 , wherein determining whether to transfer control of the merge database to the active transaction manager comprises:

determining a log number reflecting a total quantity of discrepancy transactions in the discrepancy transaction log information;

comparing the log number to a target value; and

transferring control of the merge database to the active transaction manager if the log number is less than the target value.

4. The method of claim 1 , wherein determining whether to transfer control of the merge database to the active transaction manager comprises:

calculating a characteristic distribution time associated with the active transaction manager;

calculating a time value for the merge database to reflect a set of discrepancy transactions reflected in the discrepancy transaction log information; and

transferring control of the merge database to the active transaction manager if the time value bears a predetermined relationship with the characteristic distribution time.

5. The method of claim 4 wherein calculating a characteristic distribution time comprises:

determining an amount of time per transaction for the active transaction manager to manage transactions with the active database; and

setting the characteristic distribution time equal or approximately equal to the amount of time per transaction.

6. The method of claim 1 , wherein determining whether to transfer control of the merge database to the active transaction manager comprises:

calculating a characteristic distribution time associated with the active transaction manager;

calculating a time value for the merge database to reflect a set of discrepancy transactions reflected in the discrepancy transaction log information; and

transferring control of the merge database to the active transaction manager if the time value is less than the characteristic distribution time.

7. The method of claim 6 wherein calculating a characteristic distribution time comprises:

determining an amount of time per transaction for the active transaction manager to manage transactions with the active database; and

setting the characteristic distribution time equal or approximately equal to the amount of time per transaction.

8. The method of claim 1 , wherein managing transactions with at least an active database comprises:

generating unique identifiers for active transactions.

9. The method of claim 1 , wherein managing transactions with at least an active database comprises:

managing transactions in association with a Java Virtual Machine.

10. The method of claim 1 , wherein managing transactions with at least an active database comprises:

managing transactions with said active database stored in RAM.

11. The method of claim 1 , wherein managing transactions with a merge database comprises:

managing transactions with said merge database stored in RAM.

12. The method of claim 1 , wherein managing transactions with at least an active database comprises:

managing a persistence log.

13. A system, including at least one processor and memory, for managing a distributed transaction process comprising:

an active transaction manager that manages transactions with at least an active database, where the active database reflects an application of a set of active transactions;

a latent transaction manager that manages transactions with a merge database, where the merge database reflects an application of a first subset of the set of active transactions;

a discrepancy transaction log that reflects a set of discrepancy transactions that is distinct from the first subset of active transactions;

the discrepancy transactions consisting of active transactions not yet applied to the merge database;

a merge manager that uses the transaction log to determine whether to transfer control of the merge database to the active transaction manager;

where, if the merge manager does not transfer control of the merge database to the active transaction manager,

the latent transaction manager is configured to apply the discrepancy transactions to the merge database to reflect the set of discrepancy transactions reflected in the discrepancy transaction log; and

where, if the merge manager transfers control of the merge database to the active transaction manager,

the latent transaction manager is configured to update the merge database to reflect the set of discrepancy transactions reflected in the discrepancy transaction log, and

the active transaction manager is configured to halt transactions with the active database while the latent transaction manager updates the merge database to reflect the set of discrepancy transactions reflected in the discrepancy transaction log, and

the active transaction manager is further configured to subsequently manage transactions to the active database and the merge database.

14. The system of claim 13 , wherein the merge manager comprises:

a counter configured to generate a log number reflecting a total quantity of discrepancy transactions in the discrepancy transaction log; and

a controller configured to transfer control of the merge database to the active transaction manager if the log number is approximately equal to a target value.

15. The system of claim 13 , wherein the merge manager comprises:

a counter configured to generate a log number reflecting a total quantity of discrepancy transactions in the discrepancy transaction log; and

a controller configured to transfer control of the merge database to the active transaction manager if the log number is less than a target value.

16. The system of claim 13 , wherein the merge manager comprises:

a time calculator configured to calculate a characteristic distribution time associated with the active transaction manager;

a merge time calculator configured to calculate a merge time value for the merge database to reflect a set of discrepancy transactions reflected in the discrepancy transaction log; and

a controller configured to transfer control of the merge database to the active transaction manager if the merge time value is approximately equal to the characteristic distribution time.

17. The system of claim 16 , wherein the time calculator comprises:

an active time calculator configured to calculate an amount of time per transaction for the active transaction manager to manage transactions with the active database; and

a results processor configured to set the characteristic distribution time equal or approximately equal to the amount of time per transaction.

18. The system of claim 13 , wherein the merge manager comprises:

a time calculator configured to calculate a characteristic distribution time associated with the active transaction manager;

a merge time calculator configured to calculate a merge time value for the merge database to reflect a set of discrepancy transactions reflected in the discrepancy transaction log; and

a controller configured to transfer control of the merge database to the active transaction manager if the merge time value is less than the characteristic distribution time.

19. The system of claim 18 , wherein the time calculator comprises:

an active time calculator configured to calculate an amount of time per transaction for the active transaction manager to manage transactions with the active database; and

a results processor configured to set the characteristic distribution time equal or approximately equal to the amount of time per transaction.

20. The system of claim 13 , wherein the active transaction manager comprises:

an identifier generator configured to generate unique identifiers for active transactions.

21. The system of claim 13 , where the active transaction manager is implemented in association with a Java Virtual Machine.

22. The system of claim 13 , where said active database is stored in RAM.

23. The system of claim 13 , where said merge database is stored in RAM.

24. The system of claim 13 , where the active transaction manager manages a persistence log.

25. A tangible computer-readable storage medium embodying computer-readable code for instructing a system that manages a distributed transaction process, the computer-readable code comprising:

an active transaction manager, where the active transaction manager manages transactions with at least an active database and where the active database reflects an application of a set of active transactions;

a latent transaction manager, where the latent transaction manager manages transactions with a merge database, where the merge database reflects an application of a first subset of the set of active transactions;

a discrepancy transaction log that reflects a set of discrepancy transactions that is distinct from the first subset of active transactions, the discrepancy transactions consisting of active transactions not yet applied to the merge database; and

a merge manager that uses the transaction log to determine whether to transfer control of the merge database to the active transaction manager;

where, if the merge manager does not transfer control of the merge database to the active transaction manager,

the latent transaction manager is configured to apply the discrepancy transactions to the merge database to reflect the set of discrepancy transactions reflected in the discrepancy transaction log; and

where, if the merge manager transfers control of the merge database to the active transaction manager,

the latent transaction manager is configured to apply the discrepancy transactions to the merge database to reflect the set of discrepancy transactions reflected in the discrepancy transaction log; and

the active transaction manager is configured to halt transactions with the active database while the latent transaction manager updates the merge database to reflect the set of discrepancy transactions reflected in the discrepancy transaction log, and

the active transaction manager is further configured to subsequently manage transactions to the active database and the merge database.

26. The tangible computer-readable storage medium of claim 25 , wherein the merge manager comprises:

a counter configured to generate a log number reflecting a total quantity of discrepancy transactions in the discrepancy transaction log; and

a controller configured to transfer control of the merge database to the active transaction manager if the log number is approximately equal to a target value.

27. The tangible computer-readable storage medium of claim 25 , wherein the merge manager comprises:

a counter configured to generate a log number reflecting a total quantity of discrepancy transactions in the discrepancy transaction log; and

a controller configured to transfer control of the merge database to the active transaction manager if the log number is less than a target value.

28. The tangible computer-readable storage medium of claim 25 , wherein the merge manager comprises:

a time calculator configured to calculate a characteristic distribution time associated with the active transaction manager;

a merge time calculator configured to calculate a merge time value for the merge database to reflect a set of discrepancy transactions reflected in the discrepancy transaction log information; and

a controller configured to transfer control of the merge database to the active transaction manager if the merge time value is approximately equal to the characteristic distribution time.

29. The tangible computer-readable storage medium of claim 28 , wherein the time calculator comprises:

an active time calculator configured to calculate an amount of time per transaction for the active transaction manager to manage transactions with the active database; and

a result calculator configured to set the characteristic distribution time equal or approximately equal to the amount of time per transaction.

30. The tangible computer-readable storage medium of claim 25 , wherein the merge manager comprises:

a time calculator configured to calculate a characteristic distribution time associated with the active transaction manager;

a merge time calculator configured to calculate a merge time value for the merge database to reflect a set of discrepancy transactions reflected in the discrepancy transaction log; and

a controller configured to transfer control of the merge database to the active transaction manager if the merge time value is less than the characteristic distribution time.

31. The tangible computer-readable storage medium of claim 30 , wherein the time calculator comprises:

an active time calculator configured to calculate an amount of time per transaction for the active transaction manager to manage transactions with the active database; and

a results processor configured to set the characteristic distribution time equal or approximately equal to the amount of time per transaction.

32. The tangible computer-readable storage medium of claim 25 , wherein the active transaction manager comprises:

an identifier generator configured to generate unique identifiers for active transactions.

33. The tangible computer-readable storage medium of claim 25 , wherein the active transaction manager is implemented in association with a Java Virtual Machine.

34. The tangible computer-readable storage medium of claim 25 , wherein said active database is stored in RAM.

35. The tangible computer-readable storage medium of claim 25 , wherein said merge database is stored in RAM.

36. The tangible computer-readable storage medium of claim 25 , wherein the active transaction manager manages a persistence log.

Assignments (10)
SECURITY INTEREST Recorded Oct 19, 2021
From: CONDUENT BUSINESS SERVICES, LLC
To: U.S. BANK, NATIONAL ASSOCIATION
Reel/Frame 057969/0445 →
SECURITY INTEREST Recorded Oct 19, 2021
From: CONDUENT BUSINESS SERVICES, LLC
To: BANK OF AMERICA, N.A.
Reel/Frame 057970/0001 →
RELEASE OF SECURITY INTEREST Recorded Oct 18, 2021
From: JPMORGAN CHASE BANK, N.A.
To: CONDUENT BUSINESS SERVICES, LLC; CONDUENT STATE & LOCAL SOLUTIONS, INC.; CONDUENT TRANSPORT SOLUTIONS, INC.; ADVECTIS, INC.; CONDUENT COMMERCIAL SOLUTIONS, LLC; CONDUENT BUSINESS SOLUTIONS, LLC; CONDUENT CASUALTY CLAIMS SOLUTIONS, LLC; CONDUENT HEALTH ASSESSMENTS, LLC
Reel/Frame 057969/0180 →
CHANGE OF NAME Recorded May 5, 2017
From: AFFILIATED COMPUTER SERVICES, LLC
To: XEROX BUSINESS SERVICES, LLC
Reel/Frame 042416/0303 →
CHANGE OF NAME Recorded May 5, 2017
From: AFFILIATED COMPUTER SERVICES, INC.
To: AFFILIATED COMPUTER SERVICES, LLC
Reel/Frame 042416/0185 →
CHANGE OF NAME Recorded May 5, 2017
From: XEROX BUSINESS SERVICES, LLC
To: CONDUENT BUSINESS SERVICES, LLC
Reel/Frame 042416/0827 →
SECURITY AGREEMENT Recorded Dec 8, 2016
From: XEROX COMMERCIAL SOLUTIONS, LLC (F/K/A ACS COMMERCIAL SOLUTIONS, INC.); XEROX STATE & LOCAL SOLUTIONS, INC. (F/K/A ACS STATE AND LOCAL SOLUTIONS, INC.); RSA MEDICAL LLC; HEALTHY COMMUNITIES INSTITUTE CORPORATION; STRATACARE, LLC; XEROX HR SOLUTIONS, LLC (F/K/A ACS HR SOLUTIONS, LLC); XEROX TRANSPORT SOLUTIONS, INC. (F/K/A ACS TRANSPORT SOLUTIONS, INC.); BUCK CONSULTANTS, LLC; XEROX BUSINESS SERVICES, LLC (F/K/A AFFILIATED COMPUTER SERVICES, INC.); XEROX MORTGAGE SERVICES, INC. (F/K/A ADVECTIS, INC.)
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 040905/0458 →
RELEASE OF SECURITY INTEREST Recorded Oct 18, 2012
From: CITICORP USA, INC.
To: AFFILIATED COMPUTER SERVICES, INC.
Reel/Frame 029152/0598 →
SECURITY AGREEMENT Recorded Mar 20, 2006
From: AFFILIATED COMPUTER SERVICES, INC.; ACS APPLICATION MANAGEMENT SERVICES, INC.; ACS BRC HOLDINGS, INC.; ACS BUSINESS RESOURCES CORPORATION; ACS BUSINESS SERVICES, LLC; ACS COMMERICAL SOLUTIONS, INC; ACS CONSULTANT COMPANY, INC; ACS CONSULTANT HOLDINGS CORPORATION; ACS DEFENSE LLC; ACS/ECG HOLDINGS LLC; ACS EDI GATEWAY, INC; ACS EDUCATION SERVICES, INC; ACS EDUCATION SOLUTIONS, LLC; ACS ENTERPRISE SOLUTIONS, INC; ACS FEDERAL HEALTHCARE, LLC; ACS GLOBAL, INC; ACS GOVERNMENT SYSTEMS, INC; ACS HEALTH CARE, INC; ACS HERITAGE INC; ACS HR SOLUTIONS LLC; ACS HUMAN RESOURCES SOLUTIONS, INC; ACS HUMAN SERVICES LLC; ACS IMAGE SOLUTIONS INC; ACS LENDING INC; ACS MIDDLE EAST INC; ACS OUTSOURCING SOLUTIONS INC; ACS PRINT AND MAIL SERVICES INC; ACS STATE & LOCAL SOLUTIONS INC; ACS STATE HEALTHCARE LLC; ACS TRADEONE MARKETING INC; ACS TRANSPORT SOLUTIONS INC; AGILERA INC; AGILERA MESSAGING INC; CONCERA CORPORATION; DIGITAL INFORMATION SYSTEMS COMPANY LLC; ETRAVELEXPERTS LLC; GOVERNMENT RECORDS SERVICES INC; HEALTH TECHNOLOGY ACQUISITION COMPANY; LIVEBRIDGE INC; MIDASPLUS INC; NEWSPAPER SERVICES HOLDING INC; OUTSOURCED ADMINISTRATIVE SYSTEMS, INC; PATIENT ACCOUNTING SERVICE CENTER LLC; SUPERIOR VENTURE PARTNER INC; TENACITY MANUFACTURING COMPANY INC; THE NATIONAL ABANDANONED PROPERTY PROCESSING CORPORATION; TITLE RECORDS CORPORATION; TRANSACTION PROCESSING SPECIALISTS INC; TRUCKLOAD MANAGEMENT SERVICES INC; WAGERS & ASSOCIATES INC; ACS IT SOLUTIONS LP; ACS MARKETING LP; ACS PROPERTIES INC; ACS PROTECTION SERVICES INC; ACS REBGM INC; ACS SECURITIES SERVICES INC; BUCK CONSULTANTS LLC
To: CITICORP USA, INC.
Reel/Frame 017325/0565 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2003
From: ZOU, KEVIN; WILES, JOSH A.; SOLITRO, PASQUALE; ZHU, ZHENG
To: ACS STATE & LOCAL SOLUTIONS, INC.
Reel/Frame 014540/0472 →