IP Library Granted Patent US 7,054,891
Granted Patent B2
US 7,054,891 · App. 10/100,518 · Granted May 30, 2006

System and method for comparing database data

Assignee: BMC Software, Inc.
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,054,891
App. No.
10/100,518
Filed
Mar 18, 2002
Granted
May 30, 2006
Kind
B2
Art Unit
2167
USPC
707/7
Abstract

An improved method and system for comparing database data. Data comparison may be performed either within a database or between two databases. Sets of cyclical redundancy check values may be created, at various points in time. Corresponding cyclical redundancy check values may be compared with each other to determine if the underlying data is different; differences may be displayed. Each cyclical redundancy check value may correspond to a user-determined amount of data within the database. The user-determined amount of data may be: (1) user-specified columns within one of the plurality of tables within the database; (2) a row within one of the plurality of tables within the database; (3) a table within the database; (4) the database in its entirety; or (5) any other subset of the database. A user-determined number of bytes corresponding to a user-determined subset of the user-determined amount of data may be stored for future use.

Claims (70)

1. A method executed by a computer system for comprising database data, comprising:

receiving a first determination by a user of first and second portions of database data, the first determination of the portions being specifiable by the user;

selecting the user-determined first portion of database data at a first time, the first portion comprising less than all the database data;

generating a first set of cyclical redundancy check values based directly on the first portion of database data;

selecting the user-determined second portion of database data at a second time, the second portion comprising less than all the database data;

generating second set of cyclical redundancy check values based directly on the second portion of database data;

comparing each cyclical redundancy check value in the first set of cyclical redundancy check values with a corresponding cyclical redundancy check value in the second set of cyclical redundancy check values;

receiving a second determination by a user of a first subset of the first portion and a second subset of the second portion of database data, the second determination of the subsets being specifiable by the user;

selecting the first subset of the first portion of database data;

selecting the second subset of the second portion of database data; and

displaying to the user the selected first and second subsets of database data along with differences between corresponding cyclical redundancy check values in the first and second sets.

2. The method of claim 1 , wherein the database data comprises an entire database.

3. The method of claim 2 , wherein the entire database comprises a plurality of database tables, each table having one or more rows and one or more columns.

4. The method of claim 3 , wherein the first and second portions comprise a column in one of the plurality of database tables.

5. The method of claim 3 , wherein the first and second portions comprise one of the plurality of database tables.

6. The method of claim 3 , wherein the first and second portions comprise a row in one of the plurality of database tables.

7. The method of claim 3 , wherein the first and second portions comprise one or more rows from a first table and one or more rows from a second table.

8. The method of claim 3 , wherein the first and second portions comprise one or more columns from a first table and one or more columns from a second table.

9. The method of claim 3 , wherein the first and second portions comprise one or more columns and one or more rows from one of the plurality of database tables.

10. The method of claim 3 , wherein the first and second portions comprise one or more columns and one or more rows from one or more of the plurality of database tables.

11. The method of claim 1 , wherein the first portion of database data comprises database data in a first database, and wherein the second portion of database data comprises database data in a second database.

12. The method of claim 11 , wherein the second database comprises a snapshot of the first database.

13. A system for comparing database data on a network, comprising:

a CPU coupled to the network;

a memory coupled to the CPU which stores the database data; and

a persistent memory coupled to the CPU, wherein the persistent memory stores one or more computer programs executable by the CPU;

wherein the computer programs are executable to:

receive a first determination by a user of first and second portions of database data, the first determination of the portions being specifiable by the user;

select the user-determined first portion of database data at a first time, the first portion comprising less than all the database data;

generate a first set of cyclical redundancy check values based directly on the first portion of database data;

select the user-determined second portion of database data at a second time, the second portion comprising less than all the database data;

generate a second set of cyclical redundancy check values based directly on the second portion of database data;

compare each cyclical redundancy check value in the first set of cyclical redundancy check values wit a corresponding cyclical redundancy check value in the second set of cyclical redundancy check values;

receive a second determination by a user of a first subset of the first portion and a second subset of the second portion of database data, the second determination of the subsets being specifiable by the user;

select the first subset of the first portion of database data;

select the second subset of the second portion of database data; and

display to the user the selected first and second subsets of database data along with differences between corresponding cyclical redundancy check values in the first and second sets.

14. The system of claim 13 , wherein the database data comprises an entire database.

15. The system of claim 14 , wherein the entire database comprises a plurality of database tables, each table having one or more rows and one or more columns.

16. The system of claim 14 , wherein the first and second portions comprise a column in one of the plurality of database tables.

17. The system of claim 14 , wherein the first and second portions comprise one of the plurality of database tables.

18. The system of claim 14 , wherein the first and second portions comprise a row in one of the plurality of database tables.

19. The system of claim 14 , wherein the first and second portions comprise one or more rows from a first table and one or more rows from a second table.

20. The system of claim 14 , wherein the first and second portions comprise one or more columns from a first table and one or more columns from a second table.

21. The system of claim 14 , wherein the first and second portions comprise one or more columns and one or more rows from one of the plurality of database tables.

22. The system of claim 14 , wherein the first and second portions comprise one or more columns and one or more rows from one or more of the plurality of database tables.

23. The system of claim 13 , wherein the first portion of database data comprises first data in a first database, and wherein the second portion of database data comprises second data in a second database.

24. The system of claim 23 , wherein the second database comprises a snapshot of the fast database.

25. A programmable storage device, readable by a programmable control device, comprising instructions stored thereon for causing the programmable control device to:

receive a first determination by a user of first and second portions of database data, the first determination of the portions being specifiable by the user;

select the user-determined first portion of database data at a first time, the first portion comprising less than all the database data;

generate first set of cyclical redundancy check values based directly on the first portion of database data;

select the user-determined second portion of database data at a second time, the second portion comprising less than all the database data;

generate a second set of cyclical redundancy check values based directly on the second portion of database data;

compare each cyclical redundancy check value in the first set of cyclical redundancy check values with a corresponding cyclical redundancy check value in the second set of cyclical redundancy check values;

receive a second determination by a user of a first subset of the first portion and a second subset of the second portion of database data, the second determination of the subsets being specifiable by the user;

select the first subset of the first portion of database data;

select the second subset of the second portion of database data; and

display to the user the selected first and second subsets of database data along with differences between corresponding cyclical redundancy check values in the first and second sets.

26. The programmable storage device of claim 25 , wherein the database data comprises an entire database.

27. The programmable storage device of claim 26 , wherein the entire database comprises a plurality of database tables, each table having one or more rows and one or more columns.

28. The programmable storage device of claim 26 , wherein the first and second portions comprise a column in one of the plurality of database tables.

29. The programmable storage device of claim 26 , wherein the first and second portions comprise one of the plurality of database tables.

30. The programmable storage device of claim 26 , wherein the first and second portions comprise a row in one of the plurality of database tables.

31. The programmable storage device of claim 26 , wherein the first and second portions comprise one or more rows from a first table and one or more rows from a second table.

32. The programmable storage device of claim 26 , wherein the first and second portions comprise one or more columns from a first table and one or more columns from a second table.

33. The programmable storage device of claim 26 , wherein the first and second portions comprise one or more columns and one or more rows from one of the plurality of database tables.

34. The programmable storage device of claim 26 , wherein the first and second portions comprise one or more columns and one or more rows from one or more of the plurality of database tables.

35. The programmable storage device of claim 25 , wherein the first portion of database data comprises database data in a first database, and wherein the second portion of database data comprises database data in a second database.

36. The programmable storage device of claim 35 , wherein the second database comprises a snapshot of the first database.

Assignments (11)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052844/0646) Recorded Aug 6, 2024
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 068339/0408 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052854/0139) Recorded Aug 6, 2024
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 068339/0617 →
OMNIBUS ASSIGNMENT OF SECURITY INTERESTS IN PATENT COLLATERAL Recorded Mar 4, 2024
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS RESIGNING COLLATERAL AGENT
To: GOLDMAN SACHS BANK USA, AS SUCCESSOR COLLATERAL AGENT
Reel/Frame 066729/0889 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 1, 2024
From: ALTER DOMUS (US) LLC
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 066567/0283 →
GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Sep 30, 2021
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 057683/0582 →
SECURITY INTEREST Recorded Jun 4, 2020
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052854/0139 →
SECURITY INTEREST Recorded Jun 4, 2020
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052844/0646 →
RELEASE OF PATENTS Recorded Oct 5, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.; BMC ACQUISITION L.L.C.
Reel/Frame 047198/0468 →
SECURITY INTEREST Recorded Oct 2, 2018
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE, AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047185/0744 →
SECURITY AGREEMENT Recorded Sep 11, 2013
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 031204/0225 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 18, 2002
From: COLE, STEPHEN RAY
To: BMC SOFTWARE
Reel/Frame 012719/0608 →
Continuity (1)
Related Publication 20030177119A1 · Sep 18, 2003