# US 10,481,826 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,826 B2
- Document ID: US10481826B2
- Status: Granted
- Kind: B2
- Application number: 15/282,668
- Filed: 2016-09-30
- Published: 2017-03-30
- 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/US10481826B2

## 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:
one or more source secondary storage controller computers comprising hardware, the one or more source secondary storage controller computers configured to:
create a plurality of source deduplicated secondary copies of source primary data stored in a native format on the one or more source secondary storage devices, wherein the each of the plurality of source deduplicated secondary copies is stored in a backup format that is different than the native format;
create a replication metadata container file that comprises first metadata associated with a first source deduplicated secondary copy and a first job identifier, the first job identifier associated with creation of the first source deduplicated secondary copy;
reuse the replication metadata container file by storing second metadata associated with a second source deduplicated secondary copy in the replication metadata container file, the second source deduplicated secondary copy having a second job identifier associated therewith, wherein the replication metadata container file comprises the first metadata from the first source deduplicated secondary copy and the second metadata from the second source deduplicated secondary copy, wherein the replication metadata container file retains the first job identifier, and wherein reusing the replication metadata container file with the first job identifier reduces metadata storage in the source secondary storage device;
send signature values corresponding to a plurality of deduplicated data blocks in the plurality of source deduplicated secondary copies to the one or more destination secondary storage controller computers with one or more secondary data replication streams;
send command messages in the one or more secondary data replication streams to the one or more destination secondary storage controller computers, the command messages associated with the plurality of deduplicated data blocks, each command message having a timestamp associated therewith; and
one or more destination secondary storage controller computers comprising hardware, the one or more destination secondary storage controller computers configured to:
create replicated deduplicated secondary copy based on the plurality of deduplicated data blocks from the first deduplicated secondary copy and the embedded signature values in the one or more secondary data replication streams, the replicated deduplicated secondary copy stored on the one or more destination secondary storage devices to create at least one destination deduplicated secondary copy, the destination deduplicated secondary copy stored in the backup format on the one or more destination secondary storage devices;
restore the destination deduplicated secondary copy in the backup format to the one or more destination primary storage devices to create a restored version of the destination deduplicated secondary copy, the restored version is in the native format of the source primary data; and
apply the command messages received in the one or more secondary data replication streams to the restored version of the second deduplicated secondary copy, based on the timestamps associated with the command messages to create replicated destination primary data consistent with the source primary data based on the timestamps, the replicated destination primary data stored in the one or more destination primary storage devices in the native format of the source primary data.

### Claim 2 (depends on 1)

The system of claim 1 wherein the plurality of source deduplicated secondary copies are part of a continuous replication process.

### Claim 3 (depends on 2)

The system of claim 2 wherein the container file further comprise single instance data associated with at least two of the plurality of source deduplicated secondary copies.

### Claim 4 (depends on 2)

The system of claim 2 wherein the container file further comprises file names associated with at least two of the plurality of source deduplication secondary copies.

### Claim 5 (depends on 4)

The system of claim 4 wherein the container file comprises a size of at least two of the plurality of source deduplicated secondary copies.

### Claim 6 (depends on 4)

The system of claim 4 wherein the container file stores metadata associated with at least two of the plurality of source deduplicated secondary copies that occur in a particular period of time.

### Claim 7 (depends on 2)

The system of claim 2 wherein the restore performed by the one or more destination secondary storage controller computers is one of a plurality of restore operations, wherein each of the plurality of restore operations corresponds to one of the plurality of source deduplicated secondary copies.

### Claim 8 (depends on 7)

The system of claim 7 wherein the plurality of restore operations are performed at an interval such that changes to the source 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 plurality of deduplicated data blocks and embedded signature values in the one or more secondary data replication streams are stored in physically contiguous memory space.

### Claim 10 (depends on 1)

The system of claim 1 wherein the plurality of deduplicated data blocks and embedded signature values in the one or more secondary data replication streams are stored in logically contiguous memory space.

### 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 a plurality of source deduplicated secondary copies that are copies of source primary data on a source primary storage device, the source primary data stored in a native format and each of the plurality of source deduplicated secondary copies stored in a backup format that is different than the native format;
creating a replication metadata container file that comprises first metadata associated with a first source deduplicated secondary copy and a first job identifier, the first job identifier associated with creation of the first source deduplication secondary copy;
reusing the replication metadata container file by storing second metadata associated with a second source deduplicated secondary copy in the replication metadata container file, the second source deduplicated secondary copy having a second job identifier associated therewith, wherein the replication metadata container file comprises the first meta data from the first source deduplicated secondary copy, and the second metadata from the second source deduplicated secondary copy, wherein the replication metadata container file retains the first job identifier and wherein reusing the replication metadata container file with the first job identifier reduces metadata storage in the source secondary storage devices;
sending with the one or more source secondary storage controllers signature values corresponding a plurality of deduplicated data blocks in the plurality of source deduplicated secondary copies to one or more destination secondary storage controller computers in the destination system with one or more secondary data replication streams; and
send command messages in the one or more secondary data replication streams to the one or more destination secondary storage controller computer, the command messages associated with the plurality of deduplicated data blocks, each command message having a timestamp associated therewith; and
receiving with one or more destination secondary storage devices the one or more secondary data replication streams comprising the plurality of deduplicated data blocks and the embedded signature values, and creating at least one replicated deduplicated secondary copy, the replicated deduplicated secondary copy stored as a destination deduplicated secondary copy in the backup format on the one or more destination secondary storage devices;
restoring the destination deduplicated secondary copy in the backup format to one or more destination primary storage devices of the destination system to create a restored version of the destination deduplicated secondary copy in the native format of the source primary data; and
applying the command messages received in the one or more secondary data replication streams to the restored version of the destination deduplicated secondary copy, based on the timestamps associated with the command messages to create replicated destination primary data consistent with the source primary data based on the timestamps, the replicated destination primary data stored in the one or more destination primary storage devices in the native format of the source primary data.

### Claim 12 (depends on 11)

The method of claim 11 wherein the plurality of source deduplicated secondary copies are part of a continuous replication process.

### Claim 13 (depends on 12)

The method of claim 12 wherein the container file further comprises single instance data associated with at least two of the plurality of source deduplicated secondary copies.

### Claim 14 (depends on 12)

The method of claim 12 wherein container file further comprises file names associated with at least two of the plurality of source deduplicated secondary copies.

### Claim 15 (depends on 14)

The method of claim 14 wherein the container file comprises a size of at least two of the plurality of source deduplicated secondary copies.

### Claim 16 (depends on 14)

The method of claim 14 wherein container file stores metadata associated with at least two of the plurality of source deduplicated secondary copies that occur in a particular period of time.

### Claim 17 (depends on 12)

The method of claim 12 wherein the restore performed by the one or more destination secondary storage controller computers is one of a plurality of restore operations, wherein each of the plurality of restore operations corresponds to one of the plurality of source deduplicated secondary copies.

### Claim 18 (depends on 17)

The method of claim 17 wherein the plurality of restore operations are performed at an interval such that changes to the source primary data 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 plurality of deduplicated data blocks and embedded signature values in the one or more secondary data replication streams are stored in physically contiguous memory space.

### Claim 20 (depends on 11)

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