Hypervisor-independent block-level live browse for access to backed up virtual machine (vm) data and hypervisor-free file-level recovery (block-level pseudo-mount)
US-2021011754-A1 · Jan 14, 2021 · US
US11474850B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11474850-B2 |
| Application number | US-202016804085-A |
| Country | US |
| Kind code | B2 |
| Filing date | Feb 28, 2020 |
| Priority date | Feb 28, 2020 |
| Publication date | Oct 18, 2022 |
| Grant date | Oct 18, 2022 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A method and system for efficient virtual machine operation while recovering data. Specifically, the disclosed method and system enable the activation of virtual machines while virtual machine data, pertinent to the virtual machines, may concurrently be undergoing restoration. By activation, virtual machines may be permitted to issue input-output operations targeting their respective virtual machine data. Further, whether or not the sought virtual machine data has been recovered, fulfillment of the input-output operations may entail accessing virtual machine data either stored locally or retained remotely on a backup storage service.
Opening claim text (preview).
What is claimed is: 1. A method for processing read requests, comprising: while concurrently recovering virtual machine data pertinent to a virtual machine: receiving, from the virtual machine, a first read request comprising a first virtual disk block address; obtaining, from a block bitmap, a first block bitmap state using the first virtual disk block address; reading, based on the first block bitmap state, first virtual machine data stored remotely on a backup storage service at the first virtual disk block address; providing, in response to the first read request, the first virtual machine data to the virtual machine; performing an analysis on historical input-output (IO) patterns exhibited by the virtual machine to identify a second virtual disk block address; reading second virtual machine data stored remotely on the backup storage service at the second virtual disk block address; and storing the second virtual machine data locally in a virtual disk at the second virtual disk block address. 2. The method of claim 1 , wherein the first block bitmap state reflects a first value indicative that a virtual disk block of the virtual disk is empty. 3. The method of claim 2 , wherein the first virtual disk block address references the virtual disk block, wherein the virtual disk is locally accessible. 4. The method of claim 2 , further comprising: prior to performing the analysis on historical IO patterns exhibited by the virtual machine: storing the first virtual machine data locally in the virtual disk at the first virtual disk block address; and updating the block bitmap to replace the first block bitmap state with a new first block bitmap state, wherein the virtual disk is associated with the virtual machine. 5. The method of claim 4 , wherein the new first block bitmap state reflects a second value indicative that the virtual disk block of the virtual disk is non-empty. 6. The method of claim 1 , further comprising: receiving, from the virtual machine, a second read request comprising a third virtual disk block address; obtaining, from the block bitmap, a third block bitmap state using the third virtual disk block address; reading, based on the third block bitmap state, third virtual machine data stored locally on the virtual disk at the second virtual disk block address; and providing, in response to the second read request, the third virtual machine data to the virtual machine. 7. The method of claim 6 , wherein the third block bitmap state reflects a value indicative that a virtual disk block of the virtual disk is non-empty. 8. The method of claim 1 , further comprising: updating the block bitmap to replace a second block bitmap state with a new second block bitmap state, wherein the second and new second block bitmap states are mapped to the second virtual disk block address in the block bitmap. 9. The method of claim 8 , wherein the second virtual machine data represents prospective virtual machine data predicted to be sought next by the virtual machine. 10. A non-transitory computer readable medium (CRM) comprising computer readable program code, which when executed by a computer processor, enables the computer processor to: while concurrently recovering virtual machine data pertinent to a virtual machine: receive, from the virtual machine, a first read request comprising a first virtual disk block address; obtain, from a block bitmap, a first block bitmap state using the first virtual disk block address; read, based on the first block bitmap state, first virtual machine data stored remotely on a backup storage service at the first virtual disk block address; provide, in response to the first read request, the first virtual machine data to the virtual machine; perform an analysis on historical input-output (IO) patterns exhibited by the virtual machine to identify a second virtual disk block address; read second virtual machine data stored remotely on the backup storage service at the second virtual disk block address; and store the second virtual machine data locally in a virtual disk at the second virtual disk block address. 11. The non-transitory CRM of claim 10 , wherein the first block bitmap state reflects a first value indicative that a virtual disk block of the virtual disk is empty. 12. The non-transitory CRM of claim 11 , wherein the first virtual disk block address references the virtual disk block, wherein the virtual disk is locally accessible. 13. The non-transitory CRM of claim 11 , comprising computer readable program code, which when executed by the computer processor, further enables the computer processor to: prior to performing the analysis on historical TO patterns exhibited by the virtual machine: store the first virtual machine data locally in the virtual disk at the first virtual disk block address; and update the block bitmap to replace the first block bitmap state with a new first block bitmap state, wherein the virtual disk is associated with the virtual machine. 14. The non-transitory CRM of claim 13 , wherein the new first block bitmap state reflects a second value indicative that the virtual disk block of the virtual disk is non-empty. 15. The non-transitory CRM of claim 10 , comprising computer readable program code, which when executed by the computer processor, further enables the computer processor to: receive, from the virtual machine, a third read request comprising a third virtual disk block address; obtain, from the block bitmap, a third block bitmap state using the third virtual disk block address; read, based on the third block bitmap state, third virtual machine data stored locally on the virtual disk at the third virtual disk block address; and provide, in response to the second read request, the third virtual machine data to the virtual machine. 16. The non-transitory CRM of claim 15 , wherein the second block bitmap state reflects a value indicative that a virtual disk block of the virtual disk is non-empty. 17. The non-transitory CRM of claim 10 , comprising computer readable program code, which when executed by the computer processor, further enables the computer processor to: update the block bitmap to replace a second block bitmap state with a new second block bitmap state, wherein the second and new second block bitmap states are mapped to the second virtual disk block address in the block bitmap. 18. The non-transitory CRM of claim 17 , wherein the second virtual machine data represents prospective virtual machine data predicted to be sought next by the virtual machine. 19. A system, comprising: a plurality of client devices; and a backup storage service operatively connected to the plurality of client devices, wherein a client device of the plurality of client devices comprises a computer processor programmed to: while concurrently recovering virtual machine data pertinent to a virtual machine: receive, from the virtual machine, a read request comprising a virtual disk block address; obtain, from a block bitmap, a block bitmap state using the virtual disk block address; read, based on the block bitmap state, first virtual machine data stored remotely on the backup storage service at the virtual disk block address; and provide, in response to the read request, the first virtual machine data to the virtual machine; perform an analysis on historical input-output (TO) patterns exhibited by the virtual machine to identify a second virtual disk block address; read second virtual machine data stored remotely on the
Improving I/O performance · CPC title
Management of the data involved in backup or backup restore · CPC title
I/O management, e.g. providing access to device drivers or storage · CPC title
Virtual · CPC title
Hypervisor-specific management and integration aspects · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.