Collaborative restore in a networked storage system
First Claim
1. A method of restoring data to a first client computing device located in a primary storage subsystem using data blocks residing in a data store associated with a second client computing device located in the primary storage subsystem, the method comprising:
- maintaining in a signature repository data block, signatures corresponding to data blocks of primary data, and location information of the data blocks within the primary storage subsystem, the data blocks of primary data stored in a native format associated with one or more corresponding source applications, wherein the data blocks of primary data are copied to a secondary memory subsystem during a backup operation to create secondary copy data blocks, the secondary copy data blocks stored in a non-native format that is different than the native format;
receiving a set of data block signatures associated with a request to restore a set of the secondary copy data blocks stored in the secondary storage subsystem;
querying, using one or more processors, the signature repository with the set of data block signatures to identify at least a first group of data block signatures that reside in the signature repository, the first group of data block signatures corresponding to a first group of data blocks stored in the primary storage subsystem;
retrieving at least some of the first group of data blocks stored in the primary storage system;
identifying a second group of data blocks of the set of secondary copy data blocks that do not reside in the primary storage subsystem; and
restoring the set of the secondary copy data blocks using the first group of data blocks retrieved from primary memory and the second group of data blocks retrieved from the secondary storage subsystem.
2 Assignments
0 Petitions
Accused Products
Abstract
A storage system according to certain embodiments includes a client-side signature repository that includes information representative of a set of data blocks stored in primary storage. During restore operations, the system can use the client-side signature repository to identify data blocks located in primary storage. The system can also use the client-side signature repository to identify multiple locations within primary storage where instances of some of the data blocks to be restored are located. Accordingly, during a restore operation of one client computing device, the system can source a data block to be restored to the client computing device from another client computing device that is in primary storage.
-
Citations
20 Claims
-
1. A method of restoring data to a first client computing device located in a primary storage subsystem using data blocks residing in a data store associated with a second client computing device located in the primary storage subsystem, the method comprising:
-
maintaining in a signature repository data block, signatures corresponding to data blocks of primary data, and location information of the data blocks within the primary storage subsystem, the data blocks of primary data stored in a native format associated with one or more corresponding source applications, wherein the data blocks of primary data are copied to a secondary memory subsystem during a backup operation to create secondary copy data blocks, the secondary copy data blocks stored in a non-native format that is different than the native format; receiving a set of data block signatures associated with a request to restore a set of the secondary copy data blocks stored in the secondary storage subsystem; querying, using one or more processors, the signature repository with the set of data block signatures to identify at least a first group of data block signatures that reside in the signature repository, the first group of data block signatures corresponding to a first group of data blocks stored in the primary storage subsystem; retrieving at least some of the first group of data blocks stored in the primary storage system; identifying a second group of data blocks of the set of secondary copy data blocks that do not reside in the primary storage subsystem; and restoring the set of the secondary copy data blocks using the first group of data blocks retrieved from primary memory and the second group of data blocks retrieved from the secondary storage subsystem. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A storage system for restoring data to a primary storage subsystem using data blocks residing in the primary storage subsystem, the storage system comprising:
-
a signature repository including one or more data block signatures corresponding to data blocks of primary data, and location information of the data blocks within the primary storage subsystem, the data blocks of primary data stored in a native format associated with one or more corresponding source applications, wherein the data blocks of primary data are copied to a secondary memory subsystem during a backup operation to create secondary copy data blocks, the secondary copy data blocks stored in a non-native format that is different than the native format; and a repository agent executing on a computing device that is separate from the plurality of client computing devices, the repository agent configured to; maintain the signature repository in one or more storage devices; receive a set of data block signatures associated with a request to restore a set of the secondary copy data blocks stored in the secondary storage subsystem; query the signature repository with the set of data block signatures to identify at least a first group of data block signatures corresponding to a first group of data blocks stored in the primary storage subsystem; and wherein the first group of data blocks are retrieved from the primary storage subsystem; wherein a second group of data blocks that do not reside in the primary storage subsystem are retrieved from the secondary storage subsystem; and wherein the set of secondary copy data blocks is restored using the first group of data blocks retrieved from the primary storage subsystem, and the second group of data blocks retrieved from the secondary storage subsystem. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification