IP Library Granted Patent US 7,725,428
Granted Patent B1
US 7,725,428 · App. 10/196,923 · Granted May 25, 2010

System and method for restoring a database in a distributed database system

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,725,428
App. No.
10/196,923
Granted
May 25, 2010
Kind
B1
Abstract

A system and method is presented for database restoration in a distributed data system. The distributed data system has a first database on a first server which needs restoration. The first database is first restored with a predetermined full backup file, the full backup file being made at a first predetermined time. The first database is then restored with one or more incremental backup files, the incremental backup files being made since the first predetermined time and having the most recent backup file made at a second predetermined time. A transaction log documenting data transactions since the second predetermined time is then examined. One or more transactions listed in the transaction log after the second predetermined time are then executed since they are not included in the incremental backup files. To verify whether the restored first database has completed its restoration, a transitive vector of the first database is compared with a transitive vector of a second database on a second server of the distributed database system, wherein the second database and the restored first database are expected to be the same.

Claims (36)

1. A method for database restoration in a distributed data system, the distributed data system having a first database on a first server which needs database restoration, the method comprising:

restoring the first database according to a predetermined full backup file, the full backup file being made at a first predetermined time;

restoring the first database with one or more incremental backup files, the incremental backup files being made since the first predetermined time and having a most recent incremental backup file of the one or more incremental backup files made at a second predetermined time;

examining a transaction log documenting data transactions since the second predetermined time;

executing, on the first database, one or more transactions listed in the transaction log after the second predetermined time; and

verifying whether the first database has completed its restoration by comparing a first transitive vector maintained in association with the first database with a second transitive vector associated with the first database, wherein the first transitive vector is maintained by a first server hosting the first database and the second transitive vector is maintained by a second server hosting the second database, and wherein the first database and the second database are synchronized if the first and second transitive vectors are the same.

2. The method of claim 1 wherein the full backup file is stored in a separate storage instrument of the first server other than one used to store the first database.

3. The method of claim 1 wherein the full backup file contains identification information to locate at least one corresponding transaction log.

4. The method of claim 1 further comprising prohibiting the first server to exchange information with any other server while restoring the first database.

5. The method of claim 1 , wherein the first transitive vector includes a state of the first database, and wherein the second transitive vector includes a state of the first database.

6. The method of claim 5 , wherein the step of verifying includes examining at least one transitive vector stored on the second server with a local synchronization vector stored on the first server.

7. The method of claim 5 , further including synchronizing the first database with the second database by generating replicas of the second database in the first database.

8. The method of claim 5 , further comprising assuring that the second server is operating before restoring the first database.

9. A system for restoring a first database, the system comprising:

a first server having a predetermined full backup file made from the first database at a first predetermined time and used for restoring the first database up to the first predetermined time;

one or more incremental backup files made since the first predetermined time and having a most recent incremental backup file of the one or more incremental backup files made at a second predetermined time; and

a transaction log documenting data transactions since the second predetermined time,

wherein the full backup file, the one or more incremental backup files, and the transaction log are stored on one or more storage devices of the first server,

wherein the first database is restored by copying the full backup file and the one or more incremental backup files, and executing, on the first database, one or more transactions listed in the transaction log after the second predetermined; and

a second server hosting a second database,

wherein verification of whether the first database has completed its restoration is made by comparing a first transitive vector maintained in association with the first database with a second transitive vector associated with the first database, wherein the first transitive vector is maintained by the first server hosting the first database and the second transitive vector is maintained by the second server hosting the second database, and wherein the first database and the second database are confirmed as synchronized if the first and second transitive vectors are the same.

10. The system of claim 9 wherein the full backup file is stored in a separate storage instrument of the first server other than one used to store the first database.

11. The system of claim 9 wherein the full backup file contains identification information to locate at least one corresponding transaction log.

12. The system of claim 9 further comprising means for prohibiting the first server to exchange information with any other server while restoring the first database.

13. The system of claim 9 , wherein the first transitive vector includes a state of the first database, and wherein the second transitive vector includes a state of the first database.

14. The system of claim 13 , further comprising means for synchronizing the first database with the second database by generating replicas of the second database in the first database.

15. The system of claim 13 , further comprising means for assuring that the second server is operating before restoring the first database.

16. A method for database restoration in a distributed data system, the distributed data system having a first database on a first server which needs database restoration, the method comprising:

assuring the first server and a second server are operating, the second server having exchanged data with the first server;

prohibiting the first server to exchange data with any other server while restoring the first database;

starting to restore the first database according to a predetermined full backup file, the full backup file being made at a first predetermined time;

restoring the first database with one or more incremental backup files, the incremental backup files being made since the first predetermined time and including a most recent incremental backup file made at a second predetermined time;

examining a transaction log documenting data transactions since the second predetermined time, the transaction log containing identification information to locate the full backup file;

executing, on the first database, one or more transactions listed in the transaction log after the second predetermined time; and

verifying whether the first database has completed its restoration by comparing a first transitive vector maintained in association with the first database with a second transitive vector associated with the first database, wherein the first transitive vector is maintained by a first server hosting the first database and the second transitive vector is maintained by a second server hosting the second database, and wherein the first database and the second database are synchronized if the first and second transitive vectors are the same.

17. The method of claim 16 , wherein the first transitive vector includes a state of the first database, and wherein the second transitive vector includes a state of the first database.

Assignments (17)
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
RELEASE OF SECURITY INTEREST REEL/FRAME 035656/0251 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.)
Reel/Frame 062623/0009 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT TYPO IN APPLICATION NUMBER 10708121 WHICH SHOULD BE 10708021 PREVIOUSLY RECORDED ON REEL 042388 FRAME 0386. ASSIGNOR(S) HEREBY CONFIRMS THE NOTICE OF SUCCESSION OF AGENCY. Recorded Jul 26, 2018
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 048793/0832 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ENTIT SOFTWARE LLC; ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
NOTICE OF SUCCESSION OF AGENCY Recorded May 2, 2017
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 042388/0386 →
CHANGE OF NAME Recorded Sep 13, 2016
From: NOVELL, INC.
To: MICRO FOCUS SOFTWARE INC.
Reel/Frame 040020/0703 →
SECURITY INTEREST Recorded May 13, 2015
From: MICRO FOCUS (US), INC.; BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; NOVELL, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 035656/0251 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0216 Recorded Nov 24, 2014
From: CREDIT SUISSE AG
To: NOVELL, INC.
Reel/Frame 034470/0680 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0316 Recorded Nov 24, 2014
From: CREDIT SUISSE AG
To: NOVELL, INC.
Reel/Frame 034469/0057 →
GRANT OF PATENT SECURITY INTEREST FIRST LIEN Recorded May 23, 2012
From: NOVELL, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 028252/0216 →
GRANT OF PATENT SECURITY INTEREST SECOND LIEN Recorded May 23, 2012
From: NOVELL, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 028252/0316 →
RELEASE OF SECURITY IN PATENTS SECOND LIEN (RELEASES RF 026275/0018 AND 027290/0983) Recorded May 22, 2012
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: NOVELL, INC.
Reel/Frame 028252/0154 →
RELEASE OF SECURITY INTEREST IN PATENTS FIRST LIEN (RELEASES RF 026270/0001 AND 027289/0727) Recorded May 22, 2012
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: NOVELL, INC.
Reel/Frame 028252/0077 →
GRANT OF PATENT SECURITY INTEREST (SECOND LIEN) Recorded May 13, 2011
From: NOVELL, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 026275/0018 →
GRANT OF PATENT SECURITY INTEREST Recorded May 12, 2011
From: NOVELL, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 026270/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 17, 2002
From: HAWKINS, BRIAN; HODGKINSON, ANDREW; SANDERS, DANIEL; MCLAIN, STEVEN S.
To: NOVELL, INC.
Reel/Frame 013113/0393 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 17, 2002
From: HAWKINS, BRIAN; HODGKINSON, ANDREW; SANDERS, DANIEL; MCLAIN, STEVEN S.
To: NOVELL, INC.
Reel/Frame 013113/0401 →