IP Library Granted Patent US 8,296,271
Granted Patent B1
US 8,296,271 · App. 11/090,484 · Granted Oct 23, 2012

System and method for optimizing data recovery in a parallel 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 8,296,271
App. No.
11/090,484
Granted
Oct 23, 2012
Kind
B1
Abstract

A method and system for data recovery in a parallel database system in which data stored in the database has been corrupted by a transaction or operation. Transaction log files corresponding to each node of the parallel database are scanned to determine an operation that caused the corruption of the stored data. Information corresponding to the corrupted data before the operation causing the corruption is then generated based on the scanned transaction log. The operation responsible for corrupting the data is then rolled back, and the corrupted data is replaced with the original data stored in the database prior to the corruption.

Claims (41)

1. A method, performed by a computer-implemented system, for data recovery in a parallel database, the method comprising:

determining whether data stored in the parallel database has been corrupted by a previously performed transaction;

receiving, at a user interface of the computer-implemented system, a plurality of scanning parameters input by a user corresponding to the previously performed transaction, the plurality of scanning parameters including a user identification, a location, a time and an operation;

scanning transaction log files stored in a plurality of memory devices corresponding to each node of the parallel database based on the plurality of scanning parameters to retrieve the previously performed transaction defined by the plurality of scanning parameters and determining at least one operation corresponding to the previously performed transaction that caused the corruption, the transaction log files including information on at least one previously performed transaction that modified a state of the parallel database;

generating, based on the scanned transaction log files, information corresponding to original data based on the corrupted data before the at least one operation, and generating a file indicating additions, deletions or modifications of the corrupted data based on the at least one operation;

comparing the corrupted data to the information corresponding to the original data;

modifying the corrupted data with the information so that any modifications related to the at least one operation are corresponding to the original data based on the comparison modified to correspond to the original data;

displaying operations performed on the corrupted data based on the scanning parameters input by a user;

selecting one of the displayed results as the at least one operation responsible for corrupting the data; and

generating information corresponding to the original data before the data was corrupted by the at least one operation specified by the selection.

2. The method of claim 1 , wherein the determining comprises:

determining that at least one of an erase, edit and modification of the data operation corrupted the data.

3. The method of claim 1 , wherein the scanning comprises:

scanning a database catalog node containing information relating to operations performed on the database by a plurality of nodes.

4. The method of claim 1 , wherein the scanning comprises:

scanning a back-up history file which includes information relating to operations performed on the database system.

5. A computer-implemented system for data recovery in a parallel database, comprising:

a database configured to store data and receive commands to perform operations on the stored data from a plurality of nodes;

a plurality of memory devices each corresponding to a respective one of the plurality of nodes and configured to store transaction logs corresponding to each operation transmitted to the database by each of the plurality of nodes;

a user interface configured to receive a plurality of scanning parameters input by a user corresponding to a previously performed transaction, the plurality of scanning parameters including a user identification, a location, a time and an operation;

a scanning module configured to scan the transaction logs based on the plurality of scanning parameters to retrieve the previously performed transaction defined by the plurality of scanning parameters when the stored data is determined to be corrupted data, the corrupted data corresponding to original data corrupted by at least one operation corresponding to the previously performed transaction, and the transaction logs including information on at least one previously performed transaction that modified a state of the parallel database;

a generating module configured to generate information corresponding to the original data based on the transaction log files, and generate a file indicating additions, deletions or modifications of the corrupted data based on the at least one operation;

a rollback module configured to compare the corrupted data to the information corresponding to the original data and modify the corrupted data to resemble the original data based on the comparison;

a display configured to display at least one of a plurality of operations performed on the corrupted data based on the scanning of the transaction log files;

the user interface configured to receive a selection of at least one of the plurality of operations as the at least one operation responsible for corrupting the data; and

the generating module is configured to generate the information corresponding to the original data before the data was corrupted by the at least one operation responsible for corrupting the data specified at the user interface.

6. The system of claim 5 , wherein:

the database is further configured to perform at least one of an erase, edit and delete operation on the data.

7. The system of claim 5 , wherein:

the scanning module is further configured to scan at least one of a catalog node and a back-up file history, each of which are configured to store transaction logs relating to operations performed on the database over a predetermined period of time.

8. A non-transitory computer readable storage medium having stored thereon a computer program which when executed by a computer, causes the computer to perform a method for recovering data in a database, the method comprising:

determining whether data stored in the parallel database is corrupted by a transaction;

receiving a plurality of scanning parameters input by a user corresponding to the previously performed transaction, the plurality of scanning parameters including a user identification, a location, a time and an operation;

scanning transaction log files corresponding to each node of the parallel database based on the plurality of scanning parameters to retrieve the previously performed transaction defined by the plurality of scanning parameters and determining at least one operation corresponding to the previously performed transaction that caused the corruption, the transaction log files including information on at least one previously performed transaction that modified a state of the parallel database;

generating, based on the scanned transaction log files, information corresponding to original data based on the corrupted data before the at least one operation, and generating a file indicating additions, deletions or modifications of the corrupted data based on the at least one operation;

comparing the corrupted data to the information corresponding to the original data;

modifying the corrupted data with the information corresponding to the original data based on the comparison so that any modifications related to the at least one operation are modified to correspond to the original data;

displaying operations performed on the corrupted data based on the scanning parameters input by a user;

selecting one of the displayed results as the at least one operation responsible for corrupting the data; and

generating information corresponding to the original data before the data was corrupted by the at least one operation specified by the selection.

9. The method of claim 1 , wherein the transaction log includes a state of the parallel database before a modification was caused by the transaction, a state of the parallel database after the modification was caused by the transaction, a user that performed the transaction, and system activity corresponding to the modification caused by the transaction.

Assignments (3)
CORRECTION BY DECLARATION ERRONEOUSLY RECORDED ON REEL NO. 054298 AND FRAME NO. 0539. Recorded Aug 27, 2021
From: FEDERAL HOME LOAN MORTGAGE CORPORATION (FREDDIE MAC)
To: FEDERAL HOME LOAN MORTGAGE CORPORATION (FREDDIE MAC)
Reel/Frame 057671/0039 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 3, 2020
From: HEUER, JOAN D.; OCWEN FINANCIAL CORPORATION; ALTISOURCE HOLDINGS S.A.R.L.; ALTISOURCE S.AR.L.; FEDERAL HOME LOAN MORTGAGE CORPORATION
To: HEUER, JOAN D.; STEVEN MNUCHIN, UNITED STATES SECRETARY OF THE TREASURY AND SUCCESSORS THERETO.; ANDREI IANCU, UNDER SECRETARY OF COMMERCE FOR INTELLECTUAL PROPERTY, AND DIRECTOR OF THE UNITED STATES PATENT AND TRADEMARK OFFICE AND SUCCESSORS THERETO; LAUREL M. LEE, FLORIDA SECRETARY OF STATE AND SUCCESSORS THERETO; JEANETTE NÚÑEZ, LIEUTENANT GOVERNOR OF FLORIDA AND SUCCESSORS THERETO.; : ASHLEY MOODY, FLORIDA OFFICE OF THE ATTORNEY GENERAL AND SUCCESSORS THERETO.; TIMOTHY E. GRIBBEN, COMMISSIONER FOR BUREAU OF THE FISCAL SERVICE, AGENCY OF THE UNITED STATES DEPARTMENT OF THE TREASURY AND SUCCESSORS AND ASSIGNS THERETO.
Reel/Frame 054298/0539 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 28, 2005
From: RICHARDSON, CRAIG PATRICK; SEAMAN, JAMES WESLEY; CHARBONEAU, ELIZABETH MARIE
To: FEDERAL HOME LOAN MORTGAGE CORPORATION
Reel/Frame 016430/0529 →