IP Library Patent Application 16380469
Patent Application
App. No. 16/380,469

RESTORE USING DEDUPLICATED SECONDARY COPY DATA

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 None
App. No.
16/380,469
Abstract

Disclosed methods and systems leverage resources in a storage management system to restore a selected backup to a production site. The backup is partitioned into blocks with associated signatures. The production site may have blocks that have not changed from when the backup occurred, so those blocks do not need to be restored. Block signatures from the production site are compared with block signatures from the incremental backup to identify blocks that need to be restored. Efficiency may be achieved by synchronizing the replacement blocks from more easily accessible location where available before synchronizing from less accessible locations. In some embodiments, a user may specify the location of the site with the replacement blocks.

Claims (61)

1 . A computer implemented method of restoring data in a data storage system, the method comprising:

creating, in one or more first secondary storage devices residing in a first secondary storage subsystem, a plurality of backup copies of primary data generated by an application installed on a client computing device which resides in a primary storage subsystem, wherein the plurality of backup copies comprise deduplicated data;

according to a schedule, periodically deleting at least some of the plurality of backup copies from the first secondary storage devices;

creating, in one or more second secondary storage devices residing in a second secondary storage subsystem, a plurality of secondary copies of the backup copies;

receiving an instruction to restore a first secondary copy of the plurality of secondary copies corresponding to a first backup copy of the plurality of backup copies which was previously deleted from the first secondary storage devices; and

in response to the instruction:

transmitting to the first secondary storage subsystem a set of data block signatures corresponding to data blocks in the first secondary copy;

receiving from the first secondary storage subsystem an indication as to a first subset of the data blocks in the first secondary copy that do not already exist in the first secondary storage devices;

obtaining the first subset of data blocks from the second secondary storage devices; and

transmitting to the first secondary storage subsystem only the first subset of data blocks, without transmitting data blocks in the first secondary copy which already exist on the first secondary storage devices.

2 . The method of claim 1 wherein the first and second secondary storage subsystems are geographically remote from one another.

3 . The method of claim 1 wherein said periodically deleting is part of a data migration operation.

4 . The method of claim 1 wherein the first backup copy is an incremental backup.

5 . The method of claim 1 wherein the first secondary storage devices reside in a first geographic location, the second secondary storage devices reside in a second geographic location, and the method further comprises:

obtaining, from one or more third secondary storage devices residing in a third geographic location, a second subset of the data blocks in the first secondary copy that do not already exist in the first secondary storage devices; and

transmitting to the first secondary storage subsystem the second subset of data blocks, without transmitting data blocks in the first secondary copy which already exist on the first secondary storage devices.

6 . The method of claim 5 wherein the third secondary storage devices contain both the first and second subsets of data blocks and the second secondary storage devices contain the first but not the second subset of data blocks, and the method further comprises:

reviewing a priority level associated with the second secondary storage devices and a priority level associated with the third secondary storage devices; and

based on said reviewing, obtaining the first subset of data blocks from the second secondary storage devices instead of from the third secondary storage devices.

7 . The method of claim 5 wherein a complete version of the first secondary copy resides on the third secondary storage devices, and only the first subset of data blocks of the first secondary copy resides on the second secondary storage devices.

8 . A data storage system, comprising:

a first computing device residing in a first secondary storage subsystem and comprising one or more processors and computer-readable, the first computing device configured to:

maintain, in one or more first secondary storage devices, a plurality of backup copies of primary data generated by an application installed on a client computing device which resides in a primary storage subsystem, wherein the plurality of backup copies comprise deduplicated data; and

according to a schedule, periodically delete at least some of the plurality of backup copies from the first secondary storage devices; and

a second computing device residing in a second secondary storage subsystem and comprising one or more processors and computer-readable memory, the second computing device configured to:

maintain, in one or more second secondary storage devices, a plurality of secondary copies of the backup copies;

receive an instruction to restore a first secondary copy of the plurality of secondary copies corresponding to a first backup copy of the plurality of backup copies which was previously deleted from the first secondary storage devices; and

in response to the instruction:

transmit to the first computing device a set of data block signatures corresponding to data blocks in the first secondary copy;

receive from the first computing device an indication as to a first subset of the data blocks in the first secondary copy that do not already exist in the first secondary storage devices;

access the first subset of data blocks from the second secondary storage devices; and

transmit to the first computing device only the first subset of data blocks, without transmitting data blocks in the first secondary copy which already exist on the first secondary storage devices.

9 . The system of claim 8 wherein the first and second secondary storage subsystems are geographically remote from one another.

10 . The system of claim 8 wherein the periodically deletion is part of a data migration operation.

11 . The system of claim 8 wherein the first backup copy is an incremental backup.

12 . The system of claim 8 wherein the first secondary storage devices reside in a first geographic location, the second secondary storage devices reside in a second geographic location, and wherein the second computing device is further configured to:

obtain, from one or more third secondary storage devices residing in a third geographic location, a second subset of the data blocks in the first secondary copy that do not already exist in the first secondary storage devices; and

transmit to the first secondary storage subsystem the second subset of data blocks, without transmitting data blocks in the first secondary copy which already exist on the first secondary storage devices.

13 . The system of claim 12 wherein the third secondary storage devices contain both the first and second subsets of data blocks and the second secondary storage devices contain the first but not the second subset of data blocks, and the second computing device is further configured to:

review a priority level associated with the second secondary storage devices and a priority level associated with the third secondary storage devices; and

based on the review of the priority levels, obtain the first subset of data blocks from the second secondary storage devices instead of from the third secondary storage devices.

14 . The system of claim 12 wherein a complete version of the first secondary copy resides on the third secondary storage devices, and only the first subset of data blocks of the first secondary copy resides on the second secondary storage devices.

15 . A non-transitory computer-readable medium comprising instructions that, when executed by a computing device comprising one or more processors and computer memory, cause the computing device to perform operations comprising:

creating, in one or more first secondary storage devices residing in a first secondary storage subsystem, a plurality of backup copies of primary data generated by an application installed on a client computing device which resides in a primary storage subsystem, wherein the plurality of backup copies comprise deduplicated data;

according to a schedule, periodically deleting at least some of the plurality of backup copies from the first secondary storage devices;

creating, in one or more second secondary storage devices residing in a second secondary storage subsystem, a plurality of secondary copies of the backup copies;

receiving an instruction to restore a first secondary copy of the plurality of secondary copies corresponding to a first backup copy of the plurality of backup copies which was previously deleted from the first secondary storage devices; and

in response to the instruction:

transmitting to the first secondary storage subsystem a set of data block signatures corresponding to data blocks in the first secondary copy;

receiving from the first secondary storage subsystem an indication as to a first subset of the data blocks in the first secondary copy that do not already exist in the first secondary storage devices;

obtaining the first subset of data blocks from the second secondary storage devices; and

transmitting to the first secondary storage subsystem only the first subset of data blocks, without transmitting data blocks in the first secondary copy which already exist on the first secondary storage devices.

16 . The non-transitory computer-readable medium of claim 15 wherein the first and second secondary storage subsystems are geographically remote from one another.

17 . The non-transitory computer-readable medium of claim 15 wherein said periodically deleting is part of a data migration operation.

18 . The non-transitory computer-readable medium of claim 15 wherein the first backup copy is an incremental backup.

19 . The non-transitory computer-readable medium of claim 15 wherein the first secondary storage devices reside in a first geographic location, the second secondary storage devices reside in a second geographic location, and the operations further comprise:

obtaining, from one or more third secondary storage devices residing in a third geographic location, a second subset of the data blocks in the first secondary copy that do not already exist in the first secondary storage devices; and

transmitting to the first secondary storage subsystem the second subset of data blocks, without transmitting data blocks in the first secondary copy which already exist on the first secondary storage devices.

20 . The non-transitory computer-readable medium of claim 19 wherein the third secondary storage devices contain both the first and second subsets of data blocks and the second secondary storage devices contain the first but not the second subset of data blocks, and the operations further comprise:

reviewing a priority level associated with the second secondary storage devices and a priority level associated with the third secondary storage devices; and

based on said reviewing, obtaining the first subset of data blocks from the second secondary storage devices instead of from the third secondary storage devices.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 10, 2019
From: VIJAYAN, MANOJ KUMAR; AGRAWAL, SAURABH
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 048851/0918 →