IP Library Granted Patent US 8,554,728
Granted Patent B2
US 8,554,728 · App. 12/318,688 · Granted Oct 8, 2013

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 8,554,728
App. No.
12/318,688
Granted
Oct 8, 2013
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 (70)

1. A method for synchronizing a first database with a second database, comprising:

logging a first set of discrepancy transactions, wherein the first set of discrepancy transactions are a set of transactions reflected in the second database that are not reflected in the first database;

updating the first database to reflect the first set of discrepancy transactions while continuing to accept additional transactions to the second database, wherein, while the first database is being updated to reflect the first set of discrepancy transactions, the first database does not accept the additional transactions;

logging the additional transactions accepted to the second database as a second set of discrepancy transactions;

determining whether a discrepancy between the first database that has been updated to reflect the first set of discrepancy transactions and the second database that has accepted the additional transactions is met by a configurable threshold; and

when the discrepancy is met by the configurable threshold:

halting accepting transactions to the second database,

completing the updating of the first database to reflect the second set of discrepancy transactions, and

resuming accepting transactions to the second database and the first database.

2. The method of claim 1 , wherein:

the discrepancy between the first database and the second database is a number of the discrepancy transactions between the first database that has been updated to reflect the discrepancy transactions and the second database that has accepted the additional transactions; and

the configurable threshold is a predetermined number of discrepancy transactions.

3. The method of claim 1 , wherein:

the discrepancy between the first database and the second database is an estimated time to complete the updating of the first database; and

the configurable threshold is a predetermined time.

4. The method of claim 1 , wherein halting accepting transactions to the second database comprises:

halting accepting additional discrepancy transactions to the second database while continuing accepting other transactions to the second database.

5. The method of claim 1 , wherein the second database is part of a distributed transaction system.

6. The method of claim 5 , wherein completing the updating of the first database further includes:

adding the first database to the distributed transaction system.

7. The method of claim 6 , wherein resuming accepting transactions to the second database and the first database comprises:

atomically committing transactions to the second database and the first database.

8. The method of claim 5 , wherein the transactions reflected in the second database include a first set of transactions that are in the distributed transaction system and a second set of transactions that are not in the distributed transaction system.

9. The method of claim 8 , wherein the discrepancy transactions are in the first set of transactions.

10. The method of claim 9 , wherein halting accepting transactions to the second database comprises:

halting accepting additional transactions corresponding to the first set of transactions while continuing accepting additional transactions corresponding to the second set of transactions; and

wherein resuming accepting transactions to the second database and the first database comprises:

resuming accepting additional transactions corresponding to the first set of transactions.

11. The method of claim 1 , wherein halting accepting transactions to the second database further includes:

recording the transactions.

12. The method of claim 11 , wherein resuming accepting transactions to the second database and the first database further includes:

updating the second database and the first database with the recorded transactions.

13. The method of claim 1 further including:

managing a persistence log.

14. A system for synchronizing a first database with a second database, comprising:

a first database;

a second database; and

a processor, wherein the processor is configured to access the first database and the second database, including the operations of:

logging a first set of discrepancy transactions, wherein the first set of discrepancy transactions are a set of transactions reflected in the second database that are not reflected in the first database;

updating the first database to reflect the first set of discrepancy transactions while continuing to accept additional transactions to the second database, wherein, while the first database is being updated to reflect the first set of discrepancy transactions, the first database does not accept the additional transactions;

logging the additional transactions accepted to the second database as a second set of discrepancy transactions;

determining whether a discrepancy between the first database that has been updated to reflect the first set of discrepancy transactions and the second database that has accepted the additional transactions is met by a configurable threshold; and

when the discrepancy is met by the configurable threshold:

halting accepting transactions to the second database, completing the updating of the first database to reflect the second set of discrepancy transactions, and

resuming accepting transactions to the second database and the first database.

15. The system of claim 14 , wherein:

the discrepancy between the first database and the second database is a number of the discrepancy transactions between the first database that has been updated to reflect the discrepancy transactions and the second database that has accepted the additional transactions; and

the configurable threshold is a predetermined number of discrepancy transactions.

16. The system of claim 14 , wherein:

the discrepancy between the first database and the second database is an estimated time to complete the updating of the first database; and

the configurable threshold is a predetermined time.

17. The system of claim 14 , wherein halting accepting transactions to the second database comprises:

halting accepting additional discrepancy transactions to the second database while continuing accepting other transactions to the second database.

18. The system of claim 14 , wherein the second database is part of a distributed transaction system.

19. The system of claim 18 , wherein completing the updating of the first database further includes:

adding the first database to the distributed transaction system.

20. The system of claim 19 , wherein resuming accepting transactions to the second database and the first database comprises:

atomically committing transactions to the second database and the first database.

21. The system of claim 18 , wherein the transactions reflected in the second database include a first set of transactions that are in the distributed transaction system and a second set of transactions that are not in the distributed transaction system.

22. The system of claim 21 , wherein the discrepancy transactions are in the first set of transactions.

23. The system of claim 22 , wherein halting accepting transactions to the second database comprises:

halting accepting additional transactions corresponding to the first set of transactions while continuing accepting additional transactions corresponding to the second set of transactions; and

wherein resuming accepting transactions to the second database and the first database comprises:

resuming accepting additional transactions to first set of transactions.

24. The system of claim 14 , wherein halting accepting transactions to the second database further includes:

recording the transactions.

25. The system of claim 24 , wherein resuming accepting transactions to the second database and the first database further includes:

updating the second database and the first database with the recorded transactions.

26. The system of claim 14 , the operations further including:

managing a persistence log.

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 8, 2021
From: CONDUENT STATE & LOCAL SOLUTIONS, INC.
To: CONDUENT BUSINESS SERVICES, LLC
Reel/Frame 058050/0146 →
CHANGE OF NAME Recorded Nov 3, 2021
From: XEROX STATE & LOCAL SOLUTIONS, INC.
To: CONDUENT STATE & LOCAL SOLUTIONS, INC.
Reel/Frame 058014/0001 →
SECURITY INTEREST Recorded Oct 19, 2021
From: CONDUENT BUSINESS SERVICES, LLC
To: BANK OF AMERICA, N.A.
Reel/Frame 057970/0001 →
SECURITY INTEREST Recorded Oct 19, 2021
From: CONDUENT BUSINESS SERVICES, LLC
To: U.S. BANK, NATIONAL ASSOCIATION
Reel/Frame 057969/0445 →
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 17, 2017
From: ACS STATE & LOCAL SOLUTIONS, INC.
To: XEROX STATE & LOCAL SOLUTIONS, INC.
Reel/Frame 042490/0536 →
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 →