# US 10,481,824 B2 · Replication using deduplicated secondary copy data

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,481,824 B2
- Document ID: US10481824B2
- Status: Granted
- Kind: B2
- Application number: 15/282,445
- Filed: 2016-09-30
- Published: 2017-03-23
- Granted: 2019-11-19
- Earliest claimed: 2015-05-26
- Assignees: Commvault Systems, Inc.
- Applicants: Commvault Systems, Inc.
- Inventors: Manoj Kumar Vijayan; Joe Sabu Thyvelikkakakth Job
- Web page: https://patentgrep.com/patent/US10481824B2

## CPC

- G06F 3/065: {Replication mechanisms}
- G06F 3/0619: {in relation to data integrity, e.g. data losses, bit errors}
- G06F 3/0683: {Plurality of storage devices}
- G06F 11/00: Error detection; Error correction; Monitoring (error detection, correction or monitoring in information storage based on relative movement between record carrier and transducer G11B20/18; monitoring, i.e. supervising the progress of recording or reproducing G11B27/36; in static stores G11C29/00)
- G06F 11/1453: {using de-duplication of the data}
- G06F 11/1464: {for networked environments}
- G06F 11/1666: {where the redundant component is memory or memory area}
- G06F 11/2094: {Redundant storage or storage space (G06F11/2056 takes precedence)}
- G06F 16/2322: {using timestamps}
- G06F 16/27: Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F 11/1446: Point-in-time backing up or restoration of persistent data
- G06F 11/2089: {Redundant storage control functionality}
- G06F 11/2097: {maintaining the standby controller/processing unit updated (initialisation or re-synchronisation thereof G06F11/1658 and subgroups)}
- G06F 2201/80: Database-specific techniques
- G06F 2201/835: Timestamp
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

An information management system according to certain aspects uses backup copies or other secondary copies of production data for the purposes of replicating production data to another client. The secondary copies can be deduplicated copies. By utilizing available secondary copies of the data for replication, the system can reduce the impact on the production machines associated with replication. Utilizing deduplicated copies not only reduces the amount of stored data, but also reduces the amount of data that is communicated between the source and the destination, increasing the speed of the replication process.

## Claims

### Claim 1

A system for replicating primary data from a source system to a destination system using secondary copy data in secondary storage, the system comprising:
a source system comprising:
one or more source system client computing devices comprising hardware and one or more source system primary storage devices that store primary data, the source system primary data stored in a native format;
one or more source system secondary storage controller computers comprising hardware that create deduplicated secondary data with corresponding signature values when the number of writes of source system primary data on the source system primary storage devices exceed a predefined threshold, the deduplicated secondary data stored in one or more source system secondary storage devices in a secondary storage format that is different than the native format of the source system primary data;
at least one source system secondary storage replication agent comprising computer hardware, the source system secondary storage replication agent configured to generate one or more secondary data replication streams comprising replication command messages having timestamps associated therewith, the one or more secondary data replication streams further comprising the deduplicated secondary data, and embedded cone soon-dine denature values, the embedded corresponding signature values stored contiguously with the deduplicated secondary data in the one or more secondary data replication streams; and
a destination system comprising:
one or more destination client computing devices comprising hardware and one or more destination primary storage devices that store replicated destination system primary data in a native format;
at least one destination system secondary storage replication agent comprising computer hardware, the destination system secondary storage replication agent receives the one or more secondary data replication streams, the destination system secondary storage replication agent configured to create a replicated deduplicated secondary copy based on the deduplicated secondary data and the embedded corresponding signature values stored contiguously with the deduplicated secondary data, the replicated deduplicated secondary copy is stored in one or more destination system secondary storage devices m the secondary storage format; and
at least one destination data agent configured to apply the replication command messages received in the one or more secondary data replication streams to a restored version, of the replicated deduplicated secondary copy based on the timestamps to create the replicated destination system primary data consistent with the source system primary data based on the timestamps, the replicated destination system primary data stored in the one or more destination primary storage devices in the native format of the primary data.

### Claim 2 (depends on 1)

The system of claim 1, wherein the replicated deduplicated secondary copy is one of a plurality of replicated deduplicated secondary copies that are part of a continuous replication process.

### Claim 3 (depends on 2)

The system of claim 2 wherein the plurality of replicated deduplicated secondary copies are created based at least in part on the time of a last write of the source system primary data on the source system primary storage devices.

### Claim 4 (depends on 2)

The system of claim 2 wherein the plurality of replicated deduplicated secondary copies are created based at least in part on the time since a last write of the source system primary data on the source system primary storage devices.

### Claim 5 (depends on 2)

The system of claim 2 wherein the plurality of replicated deduplicated secondary copies are created based at least in part on availability of the source system client computing device.

### Claim 6 (depends on 2)

The system of claim 2 wherein the plurality of replicated deduplicated secondary copies are created based at least in part on usage of a the source system client computing device.

### Claim 7 (depends on 2)

The system of claim 2 wherein the restored version of the replicated deduplicated secondary copy is one of a plurality of restored versions or a plurality of replicated deduplication secondary copies, wherein each of the plurality of restored versions corresponds to one of the plurality of replicated deduplicated secondary copies.

### Claim 8 (depends on 7)

The system of claim 7 wherein the plurality of restored versions are created at an interval such that changes to the source system primary data are replicated to the destination system in a period of time not significantly greater than the interval.

### Claim 9 (depends on 1)

The system of claim 1 wherein the deduplicated secondary data and corresponding signature values are stored in the source system secondary storage devices in physically contiguous memory space.

### Claim 10 (depends on 1)

The system of claim 1 wherein the deduplicated secondary data and corresponding signature values are stored in logically contiguous memory space in the one or more source system secondary storage devices.

### Claim 11

A method of replicating primary data from a source system to a destination system using secondary copy data in secondary storage, the method comprising:
creating with one or more source secondary storage controllers deduplicated secondary data that is a copy of source system primary data on one or more source system primary storage devices when the number of writes of the source system primary data on the source system primary storage devices exceed a predefined threshold, the source system primary data stored in a native format and the deduplicated secondary data stored in a backup format that is different than the native format of the source system primary data;
sending with a source system secondary storage replication agent comprising computer hardware, one or more secondary data replication streams comprising replication command messages having timestamps associated therewith, the one or more secondary data replication streams further comprising the deduplicated secondary data and embedded corresponding signature values, the embedded corresponding signature voices stored contiguously with the deduplicated secondary data in the one or more secondary data replication streams
receiving the one or more secondary data replication streams with at least one destination system secondary storage replication agent comprising computer hardware, creating a replicated deduplicated secondary copy based on the deduplicated secondary data and the embedded corresponding signature values stored contiguously with the deduplicated secondary data, and storing the replicated deduplicated secondary COPY In one or more destination system secondary storage devices in the secondary storage format; and
creating a restored version of the replicated deduplicated secondary copy and applying, with a destination data agent, the replication command messages received m the one or more secondary data replication streams to the restored version of the replicated deduplicated secondary copy based on the timestamps to create replicated destination system primary data consistent with the source system primary data based on the timestamps, the replicated destination system primary data stored in the one or more destination primary storage devices in the native formal of the source system primary data.

### Claim 12 (depends on 11)

The method of claim 11 wherein the replicated deduplicated secondary copy is one of a plurality of replicated deduplicated secondary copies that are part of a continuous replication process.

### Claim 13 (depends on 12)

The method of claim 12 wherein the plurality of replicated deduplicated secondary copies are created based at least in part on the time of a last write of the source system primary data on the source system primary storage devices.

### Claim 14 (depends on 12)

The method of claim 12 wherein the plurality of replicated deduplicated secondary copies are created based at least in part on the time since a last write of the source system primary data on the source system primary storage devices.

### Claim 15 (depends on 12)

The method of claim 12 wherein the plurality of replicated deduplicated secondary copies are created based at least in part on availability of a source system client computing device.

### Claim 16 (depends on 12)

The method of claim 12 wherein the plurality of replicated deduplicated secondary copies are created based at least in part on usage of the source system client computing device.

### Claim 17 (depends on 12)

The method of claim 12 wherein the restored version of the replicated deduplicated secondary copy is one of a plurality of restored versions of a plurality of replicated deduplicated secondary copies, wherein each of the plurality of restored versions corresponds to one of the plurality of deduplicated secondary copies.

### Claim 18 (depends on 17)

The method of claim 17 wherein the plurality of restored versions are created at an interval such that changes to the primary data on the source system are replicated to the destination system in a period of time not significantly greater than the interval.

### Claim 19 (depends on 11)

The method of claim 11 wherein the deduplicated secondary data and corresponding signature values are arranged in the one or more secondary data replication streams in physically contiguous memory space.

### Claim 20 (depends on 11)

The method of claim 11 wherein the deduplicated secondary data and corresponding signature values are arranged in the one or more secondary data replication streams in logically contiguous memory space.
