IP Library Granted Patent US 8,726,242
Granted Patent B2
US 8,726,242 · App. 11/645,048 · Granted May 13, 2014

Systems and methods for continuous data replication

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,726,242
App. No.
11/645,048
Granted
May 13, 2014
Kind
B2
Abstract

Systems and methods for intelligent data replication are provided, which may include the identification and use of consistency points in application data, such that one or more replication volumes may be created using an “application aware” replication process that allows the system to intelligently replicate data or other information (e.g., metadata) relating to a particular process, application or specified set of data.

Claims (44)

1. A method of copying application data indicative of a known recoverable state of an operating software application, the method comprising:

populating with computer hardware at least a first replication log with data generated by a plurality of software applications, where entries in the first replication log comprise an application type field;

identifying a set of data indicative of the known recoverable state of at least one of the plurality of software applications;

generating at least one indicator of the known recoverable state of the at least one of the plurality of software applications, the indictor comprising the application type field, and storing the indicator in the first replication log;

processing the first replication log with a plurality of replication replay threads, the replication replay threads replicating the data generated by the plurality of software applications based on the log entries, wherein each of the replication replay threads are associated with the plurality of software applications based on the application type field; and

copying the set of data indicative of the known recoverable state designated by the indicator such that the copied set of data may be used to restore the at least one of the plurality of software applications to a known recoverable state.

2. The method of claim 1 wherein the identifying further comprises quiescing the software application.

3. The method of claim 2 wherein the quiescing of the software application is requested by a software module in communication with the software application.

4. The method of claim 3 wherein the software module is a data agent.

5. The method of claim 1 wherein the identifying further comprises analyzing the data generated by the plurality of software applications to determine the set of data indicative of the known recoverable state of the at least one of the plurality of software applications.

6. The method of claim 1 wherein the populating of the first replication log is performed by at least one software module in communication with the plurality of software applications.

7. The method of claim 6 wherein the software module is a data agent.

8. The method claim 1 wherein the identifying further comprises processing the first replication log to identify the set of data indicative of the known recoverable state.

9. The method of claim 2 wherein the quiescing of the operating software application comprises: suspending any further data write operations, and allowing pending data write operations to complete such that the data in the first replication log includes the result of the pending data operations.

10. The method of claim 1 wherein the generating further comprises storing the at least one indicator in the first replication log at a point immediately after an entry representing the result of a pending data write operation such that the indicator designates within the first replication log the set of data indicative of the known recoverable state.

11. The method of claim 10 further comprising associating a first time stamp with the indicator.

12. The method of claim 1 wherein the copying further comprises: periodically copying the data stored in the first replication log to a second replication log; copying the data from the second replication log to one or more first storage devices, based, at least in part, on data or application type; suspending copy operations from the second replication log to one or more first storage devices when the indicator is encountered; and copying data from the one or more first storage devices to one or more second storage devices while the copy operations from the second replication log to the one or more first storage devices are suspended.

13. The method of claim 12 wherein the copying data from the one or more first storage devices to the one or more second storage devices comprises taking a snapshot of the data on the one or more first storage devices.

14. The method of claim 12 wherein the copying further comprises copying the data from the second replication log to the one or more storage devices with one or more of the of the plurality of replication replay threads.

15. The method of claim 12 further comprising:

operating a plurality of replay threads in parallel on the data in the second data log to facilitate copying of the data to the one or more storage devices; and

notifying a management module when the plurality of replay threads encounter the indicator; and

suspending copy operations when each of the plurality of replay threads notifies the management module that the indicator has been encountered.

16. The method of claim 12 further comprising associating a second time stamp with the copying of data from the one or more first storage devices to one or more second storage devices.

17. The method of claim 16 further comprising: relating the first time stamp with the second time stamp;

obtaining location information identifying the location of the data copied to the one or more second storage devices; and

associating the location information with the first and second time stamp information for subsequent use in locating the set of data representative of the known recoverable state copied at a time indicated by the first time stamp.

18. A system for of copying application data indicative of a known recoverable state of an operating software application, comprising:

computer hardware configured to populate at least a first replication log with data generated by a plurality of software applications, where entries in the first replication log comprise an application type field;

a software module installed on a source computing device, the software module configured to identify a set of data indicative of the known recoverable state of at least one of the plurality of software applications;

software module generating at least one an indicator of the known recoverable state of the at least one of the plurality of software applications, the indictor comprising the application type field, and placing the indicator in the first replication log;

computer hardware configured to process the first replication log with a plurality of replication replay threads, the replication replay threads replicating the data generated by the plurality of software applications based on the log entries, wherein each of the replication replay threads are associated with the plurality of software applications based on the application type field; and

computer hardware configured to copy the set of data indicative of the known recoverable state designated by the indicator such that the copied set of data may be used to restore the at least one of the plurality of software applications to the known recoverable state.

19. The system of claim 18 wherein the software module further comprises one or more filter drivers.

20. The system of claim 19 wherein the one or more filter drivers are application specific.

21. The system of claim 18 wherein the set of data is copied from the first replication log to a second replication log.

22. The system of claim 18 further comprising a storage manager component.

23. The system of claim 18 further comprising a replication manager that interoperates with the software module for coordinating the transfer of application the set of data from the first replication log file to a second replication log.

24. The system of claim 23 further comprising a replication manager that instantiates a copy module for copying application data from the second replication log.

25. The system of claim 18 wherein the plurality of replication replay threads traverse the log entries in parallel.

26. The system of claim 18 wherein the first replication log includes one or more filter driver logs.

27. The system of claim 18 further comprising a second replication log.

28. The system of claim 18 wherein plurality of replication replay threads copy the set of data to at least one replication volume.

29. The system of claim 28 wherein a second data store includes snapshots of the replication volume.

Assignments (5)
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 →
RELEASE OF SECURITY INTEREST Recorded Jan 6, 2021
From: BANK OF AMERICA, N.A.
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 054913/0905 →
SECURITY INTEREST Recorded Jul 2, 2014
From: COMMVAULT SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 033266/0678 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2007
From: NGO, DAVID
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 019592/0164 →