Multi-threaded smart copy
AssigneeActifio, Inc.
InventorsUday TEKADE, Brian GROOSE
Life of this patent
Estimating the term…
Abstract
Systems and methods of utilizing multiple threads to facilitate parallel data copying to reduce an amount of time associated with backing up data. A request to copy application is received that indicates a number of available threads. A first available thread is used to select files from the application for backup. Selecting a file includes adding files to a work queue and creating backup work items associated with the work queue files. The files in the work queue are processed by a multiple threads in parallel such that an amount of time associated with backup up the application is reduced.
Claims15
A computerized method of utilizing multiple threads to facilitate parallel data copying to reduce an amount of time associated with backing up data, the method comprising a processor in communication with memory configured to:
- receive first data indicative of a request to copy one or more file systems associated with an application from a first storage to a second storage;
- receive second data indicative of a number of threads available for the backup request, wherein the number of available threads includes at least three available threads;
- select, using a first available thread, files from the one or more file systems for backup, wherein selecting the files for backup comprises:
- adding a first file to a work queue when the first file is different from files associated with the backup storage,
- adding at least one second file to the work queue when the at least one second file is different from files associated with the backup storage, and creating a plurality of backup work items associated with the work queue files;
- determine, using a second available thread, a first backup work item is available for processing;
- process, using the second available thread, the first backup work item work such that a third file associated with the first backup work item is copied from the production storage to the backup storage;
- determine, using at least a third available thread, a second backup work item is available for processing;
- and
- process, using the at least third available thread, the second backup work item work such that a fourth file associated with the second backup work item is copied from the first storage to the second storage, the at least third available thread processing the second backup work item while the second available thread is processing the first backup work item thereby utilizing multiple threads to facilitate parallel data copying to reduce an amount of time associated with backing up data.
A computing system for utilizing multiple threads to facilitate parallel data copying to reduce an amount of time associated with backing up data, the computing system comprising:
- a processor;
- a memory coupled to the processor and including instructions that, when executed by the processor, cause the processor to:
- receive first data indicative of a request to copy one or more file systems associated with an application from a first storage to a second storage;
- receive second data indicative of a number of threads available for the backup request, wherein the number of available threads includes at least three available threads;
- select, using a first available thread, files from the one or more file systems for backup, wherein selecting the files for backup comprises:
- adding a first file to a work queue when the first file is different from files associated with the backup storage,
- adding at least one second file to the work queue when the at least one second file is different from files associated with the backup storage, and
- creating a plurality of backup work items associated with the work queue files;
- determine, using a second available thread, a first backup work item is available for processing;
- process, using the second available thread, the first backup work item work such that a third file associated with the first backup work item is copied from the production storage to the backup storage;
- determine, using at least a third available thread, a second backup work item is available for processing;
- and
- process, using the at least third available thread, the second backup work item work such that a fourth file associated with the second backup work item is copied from the first storage to the second storage, the at least third available thread processing the second backup work item while the second available thread is processing the first backup work item thereby utilizing multiple threads to facilitate parallel data copying to reduce an amount of time associated with backing up data.
A non-transitory computer readable medium having executable instructions operable to cause an apparatus to:
- receive first data indicative of a request to copy one or more file systems associated with an application from a first storage to a second storage;
- receive second data indicative of a number of threads available for the backup request, wherein the number of available threads includes at least three available threads;
- select, using a first available thread, files from the one or more file systems for backup, wherein selecting the files for backup comprises:
- adding a first file to a work queue when the first file is different from files associated with the backup storage,
- adding at least one second file to the work queue when the at least one second file is different from files associated with the backup storage, and
- creating a plurality of backup work items associated with the work queue files;
- determine, using a second available thread, a first backup work item is available for processing;
- process, using the second available thread, the first backup work item work such that a third file associated with the first backup work item is copied from the production storage to the backup storage;
- determine, using at least a third available thread, a second backup work item is available for processing;
- and
- process, using the at least third available thread, the second backup work item work such that a fourth file associated with the second backup work item is copied from the first storage to the second storage, the at least third available thread processing the second backup work item while the second available thread is processing the first backup work item thereby utilizing multiple threads to facilitate parallel data copying to reduce an amount of time associated with backing up data.
Dependencies are inferred from the claim text.