Restore of secondary data using thread pooling
First Claim
1. A system for replicating data in secondary storage, the system comprising:
- a source system comprising a source client computing device comprising;
computer hardware, one or more source primary storage devices associated with the source client computing device, a plurality of source secondary storage controller computers comprising computer hardware, and one or more source secondary storage devices; and
a destination system comprising one or more destination secondary storage devices,wherein at least one source secondary storage controller computer of the plurality of source secondary storage controller computers is configured to;
maintain a look-ahead thread pool of look-ahead restore threads executing on one or more hardware processors of the computer hardware of the at least one source secondary storage controller computer;
receive a restore request to restore a secondary copy of primary data previously stored on the one or more source primary storage devices from the one or more source secondary storage devices to the one or more destination secondary storage devices, wherein the restore request restores data in a first order;
select at least one of the look-ahead restore threads in the look-ahead thread pool to be used to process the restore request; and
retrieve, using the at least one selected look-ahead restore threads, the secondary copy from the one or more source secondary storage devices and forward the retrieved secondary copy to the destination system for storage on the one or more destination secondary storage devices, wherein the at least one selected look-ahead restore thread restores data in a second order that is different than the first order based on metadata associated with the restore request.
2 Assignments
0 Petitions
Accused Products
Abstract
A system according to certain aspects may include a secondary storage controller computer configured to: in response to a first instruction to obtain a first secondary copy of a first data set from a secondary storage device(s), the first instruction associated with a first restore operation: instantiate a first restore thread on a processor of the secondary storage controller computer; using the first restore thread, retrieve the first secondary copy from the secondary storage device(s); and forward the retrieved first secondary copy to a primary storage subsystem for storage; and in response to a second instruction to obtain a second secondary copy of a second data set from the secondary storage device(s), the second instruction associated with a second restore operation: using the first restore thread, retrieve the second secondary copy from the secondary storage device(s); and forward the retrieved second secondary copy to the primary storage subsystem for storage.
-
Citations
20 Claims
-
1. A system for replicating data in secondary storage, the system comprising:
- a source system comprising a source client computing device comprising;
computer hardware, one or more source primary storage devices associated with the source client computing device, a plurality of source secondary storage controller computers comprising computer hardware, and one or more source secondary storage devices; and a destination system comprising one or more destination secondary storage devices, wherein at least one source secondary storage controller computer of the plurality of source secondary storage controller computers is configured to; maintain a look-ahead thread pool of look-ahead restore threads executing on one or more hardware processors of the computer hardware of the at least one source secondary storage controller computer; receive a restore request to restore a secondary copy of primary data previously stored on the one or more source primary storage devices from the one or more source secondary storage devices to the one or more destination secondary storage devices, wherein the restore request restores data in a first order; select at least one of the look-ahead restore threads in the look-ahead thread pool to be used to process the restore request; and retrieve, using the at least one selected look-ahead restore threads, the secondary copy from the one or more source secondary storage devices and forward the retrieved secondary copy to the destination system for storage on the one or more destination secondary storage devices, wherein the at least one selected look-ahead restore thread restores data in a second order that is different than the first order based on metadata associated with the restore request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
- a source system comprising a source client computing device comprising;
-
11. A method for replicating data in secondary storage, the method comprising:
-
with a first computer comprising computer hardware and residing in a source system comprising a source client computing device comprising computer hardware, one or more source primary storage devices associated with the source client computing device, and one or more source secondary storage devices, maintaining a look-ahead thread pool having look-ahead restore threads executing on one or more hardware processors of the computer hardware of the first computer; receiving a restore request to restore a secondary copy of primary data previously stored on the one or more source primary storage devices from the one or more source secondary storage devices to one or more destination secondary storage devices in a destination system, wherein the restore request restores data in a first order; selecting at least one of the look-ahead restore threads in the look-ahead thread pool to be used to process the restore request; and retrieving, using the at least one selected look-ahead restore threads, the secondary copy from the one or more source secondary storage devices and forward the retrieved secondary copy to the destination system for storage on the one or more destination secondary storage devices, wherein the at least one selected look-ahead restore thread restores data in a second order that is different than the first order. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification