INSTANT RESTORE AND INSTANT ACCESS OF HYPER-V VMS AND APPLICATIONS RUNNING INSIDE VMS USING DATA DOMAIN BOOSTFS
FIG2B shows a diagram of relationships between components of the system of FIG1 in accordance with one or more embodiments of the invention  FIG2C shows a diagram of an example of virtual machine data in accordance with one or more embodiments of the invention
In one or more embodiments of the invention, the example production host (200) includes a hypervisor (220) that manages the execution of the virtual machines (210) and instant access virtual machines (215). The hypervisor (220) may instantiate and/or terminate any of the virtual machines (210). The hypervisor (220) may also allocation computing resources of the production host (200) to each of the virtual machines (210, 215). For additional details regarding computing resources utilized by virtual machines and instant access virtual machines, See FIG2B. As noted above, virtual machines may utilize different types of computing resources. FIG2B shows a relationship diagram illustrating the resources consumed by different types of virtual machines in accordance with one or more embodiments of the invention. As seen from FIG2B, an example virtual machine (250) consumes resources such as local processing (252), local memory (254), and local storage (256) resources. In one or more embodiments of the invention, a local resources is a computing resources of a computing device hosting an executing entity. For example, a computing resources of a production host that hosts the example virtual machine (250) may be local resources. In one or more embodiments of the invention, the example backup storage (300) stores data from remote agents or other entities. For example, a remote agent may send data to the example backup storage (300) for storage. In some cases, an example backup storage (300) may store data obtained from a production host. Similarly, the example backup storage (300) may store data from itself in cases where the example backup storage (300) provides storage services to instant access virtual machines. In such scenarios, the remote agent may orchestrate the process, i.e., instructs the production host to store the data in the example backup storage (300). The data may be, for example, virtual machine data (e.g., 270, FIG2B).  The example production host (200) may include a production agent (222) that manages the storage of virtual machine data, e.g., images, differencing disks, and logs, in a backup storage. For additional details regarding virtual machine data, See FIG2C. The production agent (222) may issue commands to the hypervisor (220) to control the operation of a virtual machine (210, 215) when attempting to store virtual machine data. For example, the production agent (222) may initiate the processes of generating a backup package, i.e., data that reflects a state of an entity and enables the entity to be restored to the state, for a virtual machine, an application, or other entity executing on the example production host (200). Similarly, the production agent (222) may initiate restorations of virtual machines, applications, or other entities. FIG2C shows a diagram of example virtual machine data (270) in accordance with one or more embodiments of the invention. As noted above, virtual machine data may be stored in backup storage for restoration purposes. The example virtual machine data (270) may include a virtual machine image (272), a differencing disk (274), and application log(s) (276). Each of these backups may be used for restoration purposes of a virtual machine associated with the virtual machine data. When stored in a backup storage, the aforementioned virtual machine data may be referred to as backup data.
diagram
274
differencing disk
17
May
262
remote storage
250
example virtual machine
252
such as local processing
254
local memory
256
local storage
270
virtual machine data
272
virtual machine image
260
264
logical cache
['1. A production host for hosting virtual machines, comprising: a persistent storage that stores data associated with a portion of the virtual machines; and a backup storage client that provides access to second data associated with a second portion of the virtual machines stored in a backup storage; a production agent programmed to: identify an instant access request for a virtual machine; in response to identifying the instant access request: generate instant access virtual machine data in the backup storage using a portion of the second data associated with the virtual machine; locally mount the generated instant access virtual machine data; locally instantiate the virtual machine using the instant access virtual machine data; and execute the instantiated virtual machine using the instant access virtual machine data.', '2. The production host of claim 1, further comprising a logical cache that stores a portion of the instant access virtual machine data.', '4. The production host of claim 3, wherein generating the instant access virtual machine data in the backup storage using the portion of the second data associated with the virtual machine comprises: regenerating virtual machine data on which the deduplicated data is based; storing the regenerated virtual machine data in instant access storage; and generating a differencing disk associated with the regenerated virtual machine data; and wherein, optionally, the instant access virtual machine data comprises an image of the virtual machine.', '9. The method of claim 8, wherein local processing resources, local memory resources, and storage resources of the backup storage are used when executing the instantiated virtual machine using the instant access virtual machine data.', '10. The method of claim 9, wherein the local processing resources, the local memory resources, and local storage resources are used when executing a virtual machine of the virtual machines.']