Method and system for efficient virtual machine operation while recovering data

US11474850B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11474850-B2
Application numberUS-202016804085-A
CountryUS
Kind codeB2
Filing dateFeb 28, 2020
Priority dateFeb 28, 2020
Publication dateOct 18, 2022
Grant dateOct 18, 2022

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.

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.

First claim

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

Assignees

Inventors

Classifications

  • 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

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 US11474850B2 cover?
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 ma…
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F9/45558. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 18 2022 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 9 related publications on this page (citations in our corpus or others sharing the same primary CPC).