Efficient application recovery in an information management system based on a pseudo-storage-device driver

US9852026B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9852026-B2
Application numberUS-201414453045-A
CountryUS
Kind codeB2
Filing dateAug 6, 2014
Priority dateAug 6, 2014
Publication dateDec 26, 2017
Grant dateDec 26, 2017

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.

The disclosed systems and methods enable an application to start operating and servicing users soon after and during the course of its backup data being restored, no matter how long the restore may take. This is referred to as “instant application recovery” in view of the fact that the application may be put back in service soon after the restore operation begins. Any primary data generated by the application during “instant application recovery” is not only retained, but is efficiently updated into restored data. An enhanced data agent and an associated pseudo-storage-device driver, which execute on the same client computing device as the application, enable the application to operate substantially concurrently with a full restore of backed up data. According to the illustrative embodiment, the pseudo-storage-device driver presents a pseudo-volume to the file system associated with the application, such that the pseudo-volume may be used as a store for primary data during the period of “instant application recovery.”

First claim

Opening claim text (preview).

What is claimed is: 1. A method associated with a data agent that executes on a client computing device in a system, the method comprising: mounting, to a first mount point of the client computing device, a destination volume on a primary storage device; initiating a restore operation of backed up data from a secondary storage device to the destination volume on the primary storage device, wherein the backed up data represents a copy of primary data generated by an application; while the restore operation is proceeding to the destination volume using the first mount point, mounting, to the first mount point of the client computing device, a pseudo-volume based on a driver executing on the client computing device; starting the application on the client computing device, based on using the pseudo-volume for the application's primary data, wherein, after starting the application, the restore operation continues to restore the backed up data to the destination volume on the primary storage device substantially concurrently with the application, thereby starting the application before the restore operation restores all of the backed up data to the destination volume; in response to a write request comprising first data blocks issued by the application, storing the first data blocks to a first data structure configured in the pseudo-volume; wherein the using of the pseudo-volume for the application's primary data is managed by a data agent that executes on the client computing device; and in response to a read request for second data blocks issued by the application the data agent: (i) supplies the second data blocks from the first data structure, when the second data blocks are found therein, (ii) supplies the second data blocks from a second data structure configured in the pseudo-volume, when the second data blocks were not found in the first data structure and were found in the second data structure, and (iii) causes the second data blocks to be fetched from the backed up data in the secondary storage device when the second data blocks were not found in either of the first data structure and the second data structure. 2. The method of claim 1 , further comprising, after the restore operation restores all of the backed up data to the destination volume: (a) stopping the application, (b) unmounting the pseudo-volume from the first mount point, (c) updating the destination volume with data blocks stored in the first data structure, including the first data blocks; and (d) re-starting the application based on using the updated destination volume for primary data; wherein the stopping, unmounting, updating, and re-starting operations are performed by the data agent that executes on the client computing device. 3. A method comprising: executing an application on a client computing device substantially concurrently with restoring a backup copy of primary data previously generated by the application, based on: (i) restoring the backup copy from a secondary storage device to a destination volume configured on a primary storage device that is mounted to a first mount point of the client computing device; (ii) while the restoring operation is proceeding to the destination volume, executing the application on the client computing device, based on using a pseudo-volume as a store for primary data, wherein the pseudo-volume is also mounted to the first mount point of the client computing device after the primary storage device is mounted, and wherein the pseudo-volume comprises a first data structure for storing first data blocks retrieved from the backup copy on the secondary storage device in response to read requests for the first data blocks issued by the executing application, and further comprises a second data structure for storing second data blocks included in write requests issued by the executing application; (iii) after the restoring of the backup copy to the destination volume is completed, (a) stopping the application, (b) unmounting the pseudo-volume from the first mount point, and (c) updating the destination volume with data blocks stored in the second data structure, including the second data blocks; and executing the application again, on the client computing device, based on using the updated destination volume as the application's store for primary data, thereby providing the application with access to data in the restored backup copy updated by at least the second data blocks from the second data structure, which were generated by the application while the restoring operation was proceeding; wherein the using of the pseudo-volume as the application's store for primary data while executing the application on the client computing device is managed by a data agent that also executes on the client computing device; and wherein the data agent executes a read request for the first data blocks issued by the application by: supplying the first data blocks from the second data structure when the first data blocks are found therein, supplying the first data blocks from the first data structure when the first data blocks were not found in the second data structure and were found in the first data structure, and causing the first data blocks to be fetched from the backup copy on the secondary storage device when the first data blocks were not found in either of the first data structure or the second data structure. 4. The method of claim 3 wherein the pseudo-volume is a logical storage device presented by a driver that executes on the client computing device. 5. The method of claim 3 wherein the data agent executes a write request issued by the application by writing the second data blocks to the second data structure in the pseudo-volume. 6. The method of claim 3 wherein the executing of the application substantially concurrently with restoring the backup copy causes less downtime of the application as compared to executing the application only after restoring the backup copy to the destination volume. 7. The method of claim 3 wherein a write request comprising the second data blocks issued by the application causes the second data blocks to be stored to the second data structure in the pseudo-volume. 8. A system for application recovery based on using a pseudo-storage-device driver, the system comprising: a client computing device in communication with a primary storage device and a secondary storage device; wherein the client computing device is configured with a mount point, and also comprises an executable application, an executable data agent, and an executable driver; wherein the primary storage device comprises a storage volume that is mounted to the first mount point of the client computing device, and which is designated a destination volume for a restore operation; wherein the secondary storage device comprises a backup copy of primary data previously generated by the application, which backup copy is to be restored to the destination volume in the primary storage device; wherein the driver is configured to present a pseudo-volume mounted to the same first mount point of the client computing device used by the primary storage device; wherein the pseudo-volume comprises a first data structure for storing first data blocks retrieved from the backup copy on the secondary storage device in response to read requests for the first data blocks issued by the application, and further comprises a second data structure for storing second data blocks included in write requests issued by the application; and wherein, based on the pseudo-volume being mounted to the same first mount point of the client computing device as the destination volume, the system is configured to substantially concurrently (a) execute a restore oper

Assignees

Inventors

Classifications

  • Physics · mapped topic

  • Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes · CPC title

  • Digital input from, or digital output to, record carriers {, e.g. RAID, emulated record carriers or networked record carriers} · CPC title

  • Backup restoration techniques · CPC title

  • to make the backup process non-disruptive · 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 US9852026B2 cover?
The disclosed systems and methods enable an application to start operating and servicing users soon after and during the course of its backup data being restored, no matter how long the restore may take. This is referred to as “instant application recovery” in view of the fact that the application may be put back in service soon after the restore operation begins. Any primary data generated by …
Who is the assignee on this patent?
Commvault Systems Inc
What technology area does this patent fall under?
Primary CPC classification G06F11/1412. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 26 2017 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 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).