IP Library Granted Patent US 7,895,501
Granted Patent B2
US 7,895,501 · App. 11/702,860 · Granted Feb 22, 2011

Method for auditing data integrity in a high availability database

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,895,501
App. No.
11/702,860
Granted
Feb 22, 2011
Kind
B2
Abstract

A method for maintaining the integrity of a backup database table on a secondary node against a continuously replicated and dynamically changing original database table on a primary node includes generating an original checksum of a segment of the original database table between a beginning record and an ending record. The checksum and identification data may be stored in an original control database table. The original control database table may be replicated to a backup control database table. Thereafter, a backup checksum of a segment of the backup database table between a beginning record and an ending record is generated. A comparison between the backup checksum and the original checksum is made in response to a triggering update to the backup control database table. Collisions by application generate transactions in the source and target databases may be detected despite the use of third party “black box” replication processes.

Claims (35)

1. A method for maintaining the integrity of a backup data sequence on a secondary node against an original data sequence on a primary node, the method comprising:

receiving an entry in a journal, the entry being representative of data stored on an original control data sequence, the data including an original checksum of a segment of the original data sequence between a beginning point and an ending point, a beginning address identifying the beginning point, and an ending address identifying the ending point;

storing in a backup control data sequence the original checksum, the beginning address, and the ending address; and

generating a backup checksum of a segment of the backup data sequence between the beginning point as identified by the beginning address and the ending point as identified by the ending address.

2. The method of claim 1 , wherein the original data sequence is replicated to the backup data sequence through entries generated in the journal.

3. The method of claim 2 , wherein modifications are being made to the original data sequence, the modifications being reflected in the backup data sequence.

4. The method of claim 1 , further comprising:

an automatically triggered action verifying against the journal that no conflicting entries for the original data sequence occurred between the beginning point and the ending point.

5. The method of claim 4 , further comprising setting an invalid segment flag in the backup control data sequence upon detecting an intervening transaction to the segment between the beginning address and the ending address retrieved from the collision detector marker.

6. The method of claim 1 , further comprising setting a flag indicative of errors in the segment of the backup data sequence, the original checksum being unequal to the backup checksum.

7. The method of claim 1 , further comprising repairing the segment of the backup data sequence, the original checksum being unequal to the backup checksum.

8. The method of claim 1 , further comprising the step of setting a flag representative of the validity of the segment of the backup data sequence, the original checksum being equal to the backup checksum.

9. The method of claim 1 , wherein the original checksum and the backup checksum are cyclic redundancy check (CRC) codes.

10. The method of claim 1 , wherein the beginning point of the original segment is predetermined.

11. The method of claim 1 , wherein the segment between the beginning point and the ending point has a variable length.

12. The method of claim 1 , wherein the original data sequence, the backup data sequence, and the control data sequence are database tables with at least one record, the beginning point being a first record and the ending point being a second record.

13. The method of claim 1 , wherein the original data sequence, the backup data sequence, and the control data sequence are data files having a plurality of bits, the beginning point being a first bit and the ending point being a second bit.

14. A method for maintaining the integrity of a backup database table on a secondary node against an original database table on a primary node, the method comprising:

generating an original checksum of a segment of the original database table between a beginning record and an ending record;

storing the original checksum, a beginning record address, and an ending record address in an original control database table, the beginning record address and the ending record address identifying the respective one of the beginning record of the segment and the ending record of the segment;

storing in a backup control database table the original checksum, the beginning record address, and the ending record address; and

generating a backup checksum of a segment of the backup database table between a beginning record and an ending record, the beginning record and the ending record being identified by the respective one of the beginning record address and the ending record address stored in the backup control database.

15. The method of claim 14 , wherein the original database table is replicated to the backup database table.

16. The method of claim 15 , wherein modifications made to the original database table are reflected in the backup database table.

17. The method of claim 14 , wherein prior to generating the original checksum, the method further includes:

storing the beginning record address and the ending record address as a collision detection marker in the original control database table.

18. The method of claim 14 , further comprising:

setting an invalid segment flag in the backup control database table upon detecting a collision between the original data sequence and the backup data sequence.

19. The method of claim 18 , wherein a collision is detected where intervening updates have been made to a one of the records in the segment of the original database table between generating the original checksum and storing the original checksum.

20. The method of claim 14 , wherein a unique one of the original checksum is generated for each segment of the original database table, each of the unique one of the original checksum and corresponding beginning and ending addresses being stored in the original control database table.

21. The method of claim 14 , further comprising setting a flag indicative of errors in the segment of the backup database table, the original checksum being unequal to the backup checksum.

22. The method of claim 14 , further comprising the step of repairing the segment of the backup database table, the original checksum being unequal to the backup checksum.

23. The method of claim 14 , further comprising the step of setting a flag representative of the validity of the segment of the backup database table, the original checksum being equal to the backup checksum.

24. The method of claim 14 , further comprising:

generating an entry in a journal, the entry being representative of the original checksum, the beginning address, and the ending address stored in the original control database table.

Assignments (19)
SECOND LIEN GRANT OF SECURITY INTEREST IN PATENTS Recorded Jul 17, 2025
From: PRECISELY SOFTWARE INCORPORATED; VISIONS SOLUTIONS, INC.; PITNEY BOWES SOFTWARE INC.
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 072019/0382 →
FIRST LIEN GRANT OF SECURITY INTEREST IN PATENTS Recorded Jul 17, 2025
From: PRECISELY SOFTWARE INCORPORATED; VISIONS SOLUTIONS, INC.; PITNEY BOWES SOFTWARE INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 072019/0370 →
MERGER Recorded Jan 6, 2022
From: VISION SOLUTIONS, INC.
To: PRECISELY SOFTWARE INCORPORATED
Reel/Frame 058577/0565 →
FIRST LIEN RELEASE OF SECURITY INTEREST IN PATENTS Recorded Apr 26, 2021
From: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
To: VISION SOLUTIONS, INC.; PRECISELY SOFTWARE INCORPORATED (F/K/A SYNCSORT INCORPORATED); PITNEY BOWES SOFTWARE INC.
Reel/Frame 056038/0001 →
SECOND LIEN RELEASE OF SECURITY INTEREST IN PATENTS Recorded Apr 26, 2021
From: GOLUB CAPITAL MARKETS LLC, AS COLLATERAL AGENT
To: VISION SOLUTIONS, INC.; PRECISELY SOFTWARE INCORPORATED (F/K/A SYNCSORT INCORPORATED); PITNEY BOWES SOFTWARE INC.
Reel/Frame 056107/0233 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY NUMBERS SECTION. PATENT NUMBERS 10003946 AND 10119825 WERE INCORRECTLY DESIGNATED AS APPLICATION NUMBERS. PREVIOUSLY RECORDED ON REEL 052323 FRAME 0254. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT OF SECURITY INTEREST IN PATENTS. Recorded Apr 14, 2021
From: BANK OF AMERICA, N.A., AS EXISTING AGENT
To: JEFFERIES FINANCE LLC, AS SUCCESSOR AGENT
Reel/Frame 056304/0891 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY NUMBERS SECTION. PATENT NUMBERS 10003946 AND 10119825 WERE INCORRECTLY DESIGNATED AS APPLICATION NUMBERS. PREVIOUSLY RECORDED ON REEL 052323 FRAME 0304. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT OF SECURITY INTEREST IN PATENTS. Recorded Apr 14, 2021
From: BANK OF AMERICA, N.A., AS EXISTING AGENT
To: GOLUB CAPITAL MARKETS LLC, AS SUCCESSOR AGENT
Reel/Frame 056305/0117 →
ASSIGNMENT OF SECURITY INTEREST IN PATENTS Recorded Apr 6, 2020
From: BANK OF AMERICA, N.A., AS EXISTING AGENT
To: JEFFERIES FINANCE LLC, AS SUCCESSOR AGENT
Reel/Frame 052323/0254 →
ASSIGNMENT OF SECURITY INTEREST IN PATENTS Recorded Apr 6, 2020
From: BANK OF AMERICA, N.A., AS EXISTING AGENT
To: GOLUB CAPITAL MARKETS LLC, AS SUCCESSOR AGENT
Reel/Frame 052323/0304 →
RELEASE OF SECURITY INTEREST Recorded Aug 18, 2017
From: ANTARES CAPITAL LP AS ADMINISTRATIVE AGENT
To: VISION SOLUTIONS, INC.
Reel/Frame 043333/0576 →
SECURITY INTEREST Recorded Aug 18, 2017
From: VISION SOLUTIONS, INC.
To: BANK OF AMERICA, N.A. AS COLLATERAL AGENT
Reel/Frame 043334/0722 →
SECURITY INTEREST Recorded Aug 18, 2017
From: VISION SOLUTIONS, INC.
To: BANK OF AMERICA, N.A. AS COLLATERAL AGENT
Reel/Frame 043334/0741 →
PATENT SECURITY AGREEMENT Recorded Jun 26, 2016
From: VISION SOLUTIONS, INC.
To: ANTARES CAPITAL LP, AS ADMINISTRATIVE AGENT
Reel/Frame 039165/0931 →
PATENT SECURITY AGREEMENT RELEASE AT REEL/FRAME NO. 24723/0992 Recorded Jun 16, 2016
From: JEFFERIES FINANCE LLC
To: VISION SOLUTIONS, INC.
Reel/Frame 039052/0404 →
SECOND LIEN PATENT SECURITY AGREEMENT RELEASE AT REEL/FRAME NO. 26088/0261 Recorded Jun 16, 2016
From: JEFFERIES FINANCE LLC
To: VISION SOLUTIONS, INC.
Reel/Frame 039052/0490 →
EMPLOYMENT AGREEMENT Recorded May 23, 2016
From: BROWN, DAVID
To: VISION SOLUTIONS, INC.
Reel/Frame 038793/0971 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Apr 7, 2011
From: VISION SOLUTIONS, INC.
To: JEFFERIES FINANCE LLC
Reel/Frame 026088/0261 →
SECURITY AGREEMENT Recorded Jul 23, 2010
From: VISION SOLUTIONS, INC.
To: JEFFERIES FINANCE LLC
Reel/Frame 024723/0992 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 6, 2007
From: BROWN, DAVID E.
To: VISON SOLUTIONS, INC.
Reel/Frame 018962/0467 →