IP Library Granted Patent US 8,656,218
Granted Patent B2
US 8,656,218 · App. 13/612,003 · Granted Feb 18, 2014

Memory configuration for data replication system including identification of a subsequent log entry by a destination computer

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,656,218
App. No.
13/612,003
Granted
Feb 18, 2014
Kind
B2
Abstract

Performing data management operations on replicated data in a computer network. Log entries are generated for data management operations of an application executing on a source system. Consistency point entries are used to indicate a time of a known good, or recoverable, state of the application. A destination system is configured to process a copy of the log and consistency point entries to replicate data in a replication volume, the replicated data being a copy of the application data on the source system. When the replicated data represents a known good state of the application, as determined by the consistency point entries, the destination system(s) may perform a storage operation (e.g., snapshot, backup) to copy the replicated data and to logically associate the copied data with a time information (e.g., time stamp) indicative of the source system time when the application was in the known good state.

Claims (32)

1. A method for performing data replication in a computer network, the method comprising:

storing, with computer hardware comprising memory and one or more computer processors, one or more log entries in the memory wherein each of the log entries represents a data management operation generated by an application on a source computer for data stored on a first storage device, and wherein each of the log entries has a unique identification associated therewith;

transmitting copies of log entries in the memory to at least one destination computer;

replaying the one or more copies of the log entries received by the at least one destination computer to replicate the data management operations on data on a second storage device to create replicated data that replicates the data stored on the first storage device;

storing additional copies of the log entries in the memory in response to suspension of the replaying of the one or more copies of the log entries by the at least one destination computer;

deleting in the memory, one or more of the log entries based on exceeding a storage threshold associated with the memory

using the unique identification of a processed log entry on the destination computer to locate a log entry in the memory that occurs after the processed log entry; and

performing a synchronization operation to synchronize the data stored on the source computer with the data stored on the destination computer when the memory no longer has a copy of the log entry that occurs after the processed log entry.

2. The method of claim 1 , further comprising storing additional copies of the log entries in the memory in response to a network failure.

3. The method of claim 1 , comprising resuming the replaying of the one or more copies of the log entries by the at least one destination computer.

4. The method of claim 1 , wherein the memory is a rolling cache.

5. The method of claim 1 , wherein the memory is first-in-first-out memory.

6. The method of claim 1 , wherein the transmitting is performed without waiting for an acknowledgement from the at least one destination computer.

7. The method of claim 1 , additionally comprising detecting a network failure.

8. The method of claim 7 , additionally comprising, following the network failure, querying the at least one destination computer for the unique identification of a most recently processed log entry.

9. A system for performing data replication in a computer network, the system comprising:

a plurality of log entries representing data management operations generated by an application on a source computer for data stored on a first storage device, each of the plurality of log entries having a unique identifier associated therewith;

computer hardware comprising memory and one or more computer processors, the memory configured to store one or more of the log entries;

at least one destination computer that receives copies of the log entries stored in the memory, wherein the destination computer processes the plurality of log entries to replicate the data management operations on data on a second storage device to create replicated data that replicates the data stored on the first storage device;

wherein the one or more computer processors are configured to store additional copies of the log entries in the memory in response to suspension of the processing of the one or more copies of the log entries by the at least one destination computer;

wherein the one or more computer processors are configured to delete one or more of the log entries from the memory based on exceeding a storage threshold associated with the memory;

wherein the one or more processors are configured to use the unique identification of a processed log entry on the destination computer to locate a log entry in the memory that occurs after the processed log entry; and

wherein the one or more processors are configured to perform a synchronization operation to synchronize the data stored on the source computer with the data stored on the destination computer when the memory no longer has a copy of the log entry that occurs after the processed log entry.

10. The system of claim 9 , wherein the one or more processors are further configured to store additional copies of the log entries in the memory in response to a network failure.

11. The system of claim 9 , wherein the destination computer is configured to resume the replaying of the one or more copies of the log entries after a suspension.

12. The system of claim 9 , wherein the unique identifier comprises a sequence number.

13. The system of claim 9 , wherein the memory comprises a disk cache.

14. The system of claim 9 , comprising at least one replication routine that comprises a plurality of replication threads.

15. The system of claim 14 , wherein each of the plurality of replication threads communicates with one of a plurality of destination computers.

16. The system of claim 14 , wherein the at least one replication routine does not store a copy of transmitted log entries.

17. The system of claim 9 , wherein the memory is a rolling cache.

18. The system of claim 9 , wherein the memory is first-in-first-out memory.

Assignments (4)
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 →