Multi-threaded smart copy

US10089185B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10089185-B2
Application numberUS-201514856196-A
CountryUS
Kind codeB2
Filing dateSep 16, 2015
Priority dateSep 16, 2014
Publication dateOct 2, 2018
Grant dateOct 2, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

The invention claimed is: 1. 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: for each file, adding the file to a work queue when the file is different from a version of the file previously backed up from the first storage to the second storage, create a plurality of backup work items associated with files in the work queue, wherein each backup work item of the plurality of backup work items is associated with a backup operation of a plurality of backup operations, the plurality of backup operations taken together for a file in the work queue being associated with completing a backup of the file in the work queue from the first storage to the second storage; determine, using a second available thread, a first backup work item of the plurality of the backup work items is available for processing, the second available thread configured to process work items associated with each of the plurality of backup operations; process, using the second available thread, the first backup work item, wherein processing the first backup work item includes performing a first backup operation associated with the first backup work item; determine, using at least a third available thread, a second backup work item of the plurality of the backup work items is available for processing, the third available thread configured to process work items associated with each of the plurality of backup operations; and process, using the at least third available thread, the second backup work item, wherein processing the second backup work item includes performing a second backup operation associated with the second backup work item, item, 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. 2. The computerized method of claim 1 , wherein creating a plurality of backup work items comprises ordering the backup work items based on a dependency relationship between the work items. 3. The computerized method of claim 2 , wherein the backup work items include at least one of a create file work item, a copy bytes work item, an update file metadata work item, a create directory work item, a delete file work item, a delete directory work item, and a create symbolic link work item. 4. The computerized method of claim 3 , wherein the update file metadata work item depends on the copy bytes work item, and the copy bytes work item depends on the create file work item. 5. The computerized method of claim 1 , wherein the first storage and second storage comprise one of a production storage and a backup storage. 6. The computerized method of claim 1 , wherein the processor is further configured to perform the first backup operation and the second backup operation on the same file. 7. 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: for each file, adding the file to a work queue when the file is different from a version of the file previously backed up from the first storage to the second storage, create a plurality of backup work items associated with files in the work queue, wherein each backup work item of the plurality of backup work items is associated with a backup operation of a plurality of backup operations, the plurality of backup operations taken together for a file in the work queue being associated with completing a backup of the file in the work queue from the first storage to the second storage; determine, using a second available thread, a first backup work item of the plurality of the backup work items is available for processing, the second available thread configured to process work items associated with each of the plurality of backup operations; process, using the second available thread, the first backup work item, wherein processing the first backup work item includes performing a first backup operation associated with the first backup work item; determine, using at least a third available thread, a second backup work item of the plurality of the backup work items is available for processing, the third available thread configured to process work items associated with each of the plurality of backup operations; and process, using the at least third available thread, the second backup work item, wherein processing the second backup work item includes performing a second backup operation associated with the second backup work item, item, 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. 8. The computing system of claim 7 , wherein creating a plurality of backup work items comprises ordering the backup work items based on a dependency relationship between the work items. 9. The computing system of claim 8 , wherein the backup work items include at least one of a create file work item, a copy bytes work item, an update file metadata work item, a create directory work item, a delete file work item, a delete directory work item, and a create symbolic link work item. 10. The computing system of claim 9 , wherein the update file metadata work item depends on the copy bytes work item, and the copy bytes work item depends on the create file work item. 11. The computing system of claim 7 , wherein the first storage and second storage comprise one of a production storage and a backup storage. 12. The computing system of claim 7 , wherein the processor is further caused to perform the first backup operation and the second backup operation on the same file. 13. 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 selec

Assignees

Inventors

Classifications

  • Replication mechanisms · CPC title

  • using de-duplication of the data · CPC title

  • Using snapshots, i.e. a logical point-in-time copy of the data · CPC title

  • De-duplication techniques · CPC title

  • Backup scheduling policy · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10089185B2 cover?
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 …
Who is the assignee on this patent?
Actifio Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/1844. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 02 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 7 related publications on this page (citations in our corpus or others sharing the same primary CPC).