US2022004464A1PendingUtilityA1

Point-in-time backups of a production application made accessible as data sources over iscsi protocol to a remote application by representing the backups as pseudo-disks operating apart from the production application and its host

Assignee: COMMVAULT SYSTEMS INCPriority: Aug 6, 2014Filed: Jul 28, 2021Published: Jan 6, 2022
Est. expiryAug 6, 2034(~8 yrs left)· nominal 20-yr term from priority
H04L 69/40G06F 11/00G06F 3/06G06F 11/1464H04L 67/1095G06F 2201/84G06F 11/1466G06F 2201/815G06F 11/1469G06F 11/1456G06F 11/1451
59
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

The present enhancement leaves production systems undisturbed while a remote application (“testbed application”) executes elsewhere (“testbed host”). An intermediary computing device hosts an enhanced pseudo-disk driver, pseudo-disks, and an enhanced media agent. The enhanced pseudo-disk driver creates the pseudo-disks, each one representing an associated point-in-time backup image residing in secondary storage. A network, e.g., an Internet Protocol (IP) network or a Fibre Channel (FC) Storage Area Network (SAN), connects the intermediary device with the testbed host, and the enhanced media agent exposes pseudo-disks over the network using iSCSI or FC protocol, respectively. The testbed application uses an exposed pseudo-disk as its recovery data source, such that pseudo-disk resources provide data as-needed, sufficient for the testbed application to operate, yet (a) without restoring the entire associated backup image from secondary storage and (b) without impacting the production environment.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A method comprising:
 by a first computing device that comprises one or more hardware processors:   generating a pseudo-disk on the first computing device,
 wherein the pseudo-disk comprises: (i) a first data structure for storing data recalled from a secondary copy, and (ii) a second data structure for storing data written by a second application, 
 wherein the secondary copy resides in a storage device that is communicatively coupled to the first computing device, and 
 wherein the secondary copy is a block-level point-in-time backup copy of primary data of a first application on a client computing device, which is distinct from the first computing device; 
   associating the pseudo-disk with the secondary copy;   exposing the pseudo-disk as a Small Computer System Interface (SCSI) block storage device to a second computing device,
 wherein the second computing device comprises one or more hardware processors and executes the second application, which issues read requests and write commands to the ISCSI block storage device; 
   based on determining that a data blocks specified in a first read request issued by the second application can be found in the second data structure, serving the first read request therefrom without causing the secondary copy to be restored in its entirety from the storage device;   based on determining that a data block specified in a second read request issued by the second application cannot be found in the second data structure and can be found in the first data structure, serving the second read request from the first data structure without causing the secondary copy to be restored in its entirety from the storage device;   based on determining that a data block specified in a third read request issued by the second application cannot be found in the first data structure or in the second data structure, restoring the data block specified in the third read request from the secondary copy into the first data structure and serving the third read request from the first data structure without causing the secondary copy to be restored in its entirety from the storage device; and   responding to write commands issued by the second application by storing data blocks written by the second application into the second data structure of the pseudo-disk.   
     
     
         2 . The method of  claim 1 , wherein the first computing device executes a pseudo-disk driver that performs the generating of the pseudo-disk. 
     
     
         3 . The method of  claim 1 , wherein the first computing device executes a media agent that performs the exposing of the pseudo-disk as the SCSI block storage device. 
     
     
         4 . The method of  claim 1 , wherein the first computing device executes a pseudo-disk driver that determines whether a data block in a read request issued by the second application can be found in one or more of: the first data structure and the second data structure of the pseudo-disk. 
     
     
         5 . The method of  claim 1 , wherein the first computing device executes a pseudo-disk driver and a media agent, and wherein the pseudo-disk driver initiates a request to the media agent to restore the data block specified in the third read request from the secondary copy and stores the restored data block into the first data structure of the pseudo-disk. 
     
     
         6 . The method of  claim 1 , wherein the first computing device executes a pseudo-disk driver that responds to the write commands issued by the second application by storing data blocks written by the second application into the second data structure of the pseudo-disk. 
     
     
         7 . The method of  claim 1 , further comprising:
 by the second computing device, using the secondary copy for executing the second application without causing the secondary copy to be restored in its entirety from the storage device; and   wherein the second computing device is distinct from the client computing device that executes the first application.   
     
     
         8 . The method of  claim 1 , wherein the first computing device executes a pseudo-disk driver and a media agent, and wherein the media agent provides information to the pseudo-disk driver about a backup job that generated the secondary copy, and wherein the pseudo-disk is associated with the backup job. 
     
     
         9 . The method of  claim 1 , wherein the second application uses the first data structure and the second data structure of the pseudo-disk to obtain data blocks as-needed without causing the secondary copy to be restored in its entirety from the storage device. 
     
     
         10 . The method of  claim 1 , wherein a communicative connection between the first computing device and the second computing device uses as a protocol for carrying a SCSI message set at least one of: internet Small Computer System Interface (iSCSI) and Fibre Channel (FC). 
     
     
         11 . A system comprising:
 a first computing device that comprises one or more hardware processors, wherein the first computing device is configured to:   generate a pseudo-disk on the first computing device,
 wherein the pseudo-disk comprises: (i) a first data structure for storing data recalled from a secondary copy, and (ii) a second data structure for storing data written by a second application, 
 wherein the secondary copy resides in a storage device that is communicatively coupled to the first computing device, and 
 wherein the secondary copy is a block-level point-in-time backup of primary data of a first application on a client computing device, which is distinct from the first computing device; 
   associate the pseudo-disk with the secondary copy;   expose the pseudo-disk as a Small Computer System Interface (SCSI) block storage device to a second computing device,
 wherein the second computing device comprises one or more hardware processors and executes the second application, which issues read requests and write commands to the ISCSI block storage device; 
   based on determining that a data blocks specified in a first read request issued by the second application can be found in the second data structure, serve the first read request therefrom without causing the secondary copy to be restored in its entirety from the storage device;   based on determining that a data block specified in a second read request issued by the second application cannot be found in the second data structure and can be found in the first data structure, serve the second read request from the first data structure without causing the secondary copy to be restored in its entirety from the storage device;   based on determining that a data block specified in a third read request issued by the second application cannot be found in the first data structure or in the second data structure, restore the data block specified in the third read request from the secondary copy into the first data structure and serve the third read request from the first data structure without causing the secondary copy to be restored in its entirety from the storage device; and   respond to write commands issued by the second application by storing data blocks written by the second application into the second data structure of the pseudo-disk.   
     
     
         12 . The system of  claim 11 , wherein the first computing device is further configured to execute a pseudo-disk driver, which is configured to generate the pseudo-disk. 
     
     
         13 . The system of  claim 11 , wherein the first computing device is further configured to execute a media agent that is configured to expose the pseudo-disk as the SCSI block storage device. 
     
     
         14 . The system of  claim 11 , wherein the first computing device is further configured to execute a pseudo-disk driver that is configured to determine whether a data block in a read request issued by the second application can be found in one or more of: the first data structure and the second data structure of the pseudo-disk. 
     
     
         15 . The system of  claim 11 , wherein the first computing device is further configured to execute a pseudo-disk driver and a media agent; and
 wherein the pseudo-disk driver is configured to initiate a request to the media agent to restore the data block specified in the third read request from the secondary copy and is further configured to store the restored data block into the first data structure of the pseudo-disk.   
     
     
         16 . The system of  claim 11 , wherein the first computing device is further configured to execute a pseudo-disk driver that is configured to respond to the write commands issued by the second application by storing data blocks written by the second application into the second data structure of the pseudo-disk. 
     
     
         17 . The system of  claim 11 , wherein the second computing device is configured to use the secondary copy for executing the second application without causing the secondary copy to be restored in its entirety from the storage device; and
 wherein the second computing device is distinct from the client computing device that executes the first application.   
     
     
         18 . The system of  claim 11 , wherein the first computing device is further configured to execute a pseudo-disk driver and a media agent, and wherein the media agent is configured to provide information to the pseudo-disk driver about a backup job that generated the secondary copy, and wherein the pseudo-disk is associated with the backup job. 
     
     
         19 . The system of  claim 11 , wherein the second computing device, while executing the second application, is configured to use the first data structure and the second data structure of the pseudo-disk to obtain data blocks as-needed without causing the secondary copy to be restored in its entirety from the storage device. 
     
     
         20 . The system of  claim 11 , wherein a communicative connection between the first computing device and the second computing device uses as a protocol for carrying a SCSI message set at least one of: internet Small Computer System Interface (iSCSI) and Fibre Channel (FC).

Join the waitlist — get patent alerts

Track US2022004464A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.