IP Library Granted Patent US 9,396,244
Granted Patent B2
US 9,396,244 · App. 14/675,506 · Granted Jul 19, 2016

Systems and methods for managing replicated database data

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 9,396,244
App. No.
14/675,506
Granted
Jul 19, 2016
Kind
B2
Abstract

Systems and methods for replicating database data and generating read-only copies of the replicated data in a clean shutdown state. For example, systems can include a tracking module (e.g., a filter driver) that monitors transactions from a database application to a source storage device to generate log entries having at least one marker indicating a known good state of the application. The systems further include a computer coupled to a target storage device comprising a database and log files. The computer processes the transactions, based on the log entries, to replicate data to the target storage device; performs a first snapshot on data stored in the database and log files; replays into the database data stored in the log files; performs another snapshot on the database; and reverts the database back to a state in which the database existed at the time of the first snapshot.

Claims (31)

1. A system for performing data management operations, the system comprising:

at least one target computer comprising computer hardware that communicates with at least one source computer to receive information about a source database created by a native application, the source database stored on a first storage device;

the target computer replicates at least a portion of the source database to generate a target database on a second storage device, the target database existing in a first state at a first time, wherein the target database in the first state is in a first format that is readable by use of the native application;

the target computer copies at least a portion of the target database in the first state to create a first copy, the first copy stored in the first state;

at a second time subsequent to creating the first copy, the target computer commits a plurality of data transactions to the target database that puts the target database into a second state, wherein the target database in the second state is readable offline without use of the native application;

the target computer copies at least a portion of the target database in the second state to create a second copy that includes data corresponding to the plurality of committed data transactions, wherein the second copy is stored in the second state that is readable offline without use of the native application; and

the target computer reverts the target database in the second state back to the first state that is in a first format that is readable by use of the native application based on differences between the first copy in the first state and the second copy in the second state.

2. The system of claim 1 wherein the target database is put into the second state without taking the native database application offline.

3. The system of claim 1 wherein the target computer commits the plurality of data transactions into the target database prior to the plurality of data transactions being committed into the source database.

4. The system of claim 1 wherein at least one of the plurality of data transactions comprise a marker indicative of a time of a known good state of a database application.

5. The system of claim 1 wherein copying the portion of the target database comprises a point-in-time snapshot operation.

6. The system of claim 1 wherein the target computer further comprises a replication module having a plurality of threads that commit the plurality of data transactions.

7. The system of claim 1 wherein the target computer comprises at least one application programming interface that commits the plurality of data transactions.

8. The system of claim 1 further comprising a filter driver that monitors the plurality of data transactions associated with the source database and generates log entries.

9. The system of claim 1 wherein the second copy is a read-only copy of the target database.

10. The system of claim 1 wherein creating the target database occurs without shutting down a database application.

11. A method for performing data management operations, the method comprising:

replicating at least a portion of a source database stored on a first storage device, to generate a target database on a second storage device, the source database created by a native application, the target database existing in a first state at a first time, wherein the target database in the first state is in a first format that is readable by use of the native application;

copying at least a portion of the target database in the first state to create a first copy, the first copy stored in the first state;

at a second time subsequent to creating the first copy, committing a plurality of data transactions to the target database that puts the target database into a second state, wherein the target database in the second state is readable offline without use of the native application;

copying at least a portion of the target database in the second state to create a second copy that includes data corresponding to the plurality of committed data transactions, wherein the second copy is stored in the second state that is readable offline without use of the native application; and

reverting the target database in the second state back to the first state that is in a first format that is readable by use of the native application based on differences between the first copy in the first state and the second copy in the second state.

12. The method of claim 11 further comprising putting the target database is put into the second state without taking the native database application offline.

13. The method of claim 11 wherein at least one of the plurality of data transactions comprise a marker indicative of a time of a known good state of a database application.

14. The method of claim 11 wherein copying the portion of the target database comprises a point-in-time snapshot operation.

15. The method of claim 11 wherein committing the plurality of data transactions comprises using a replication module having a plurality of threads.

16. The method of claim 11 wherein committing the plurality of data transactions comprises using a programming interface.

17. The method of claim 11 further comprising monitoring the plurality of data transactions associated with the source database with a filter driver and generating log entries.

18. The method of claim 11 wherein the second copy is a read-only copy of the target database.

19. The method of claim 11 wherein creating the target database occurs without shutting down a database application.

20. The method of claim 11 wherein creating the target database occurs without shutting down a database application.

Assignments (3)
SUPPLEMENTAL CONFIRMATORY GRANT OF SECURITY INTEREST IN UNITED STATES PATENTS Recorded Apr 16, 2025
From: COMMVAULT SYSTEMS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 070864/0344 →
SECURITY INTEREST Recorded Dec 13, 2021
From: COMMVAULT SYSTEMS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 058496/0836 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2015
From: NGO, DAVID
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 035845/0580 →