IP Library Granted Patent US 11,474,850
Granted Patent B2
US 11,474,850 · App. 16/804,085 · Granted Oct 18, 2022

Method and system for efficient virtual machine operation while recovering data

Inventors: Jing Yu (Shanghai, CN); Ming Zhang (Shanghai, CN); Ren Wang (Shanghai, CN); Weiyang Liu (Shanghai, CN); Scott Randolph Quesnelle (Ontario, CA); Mengze Liao (Shanghai, CN)
Assignee: EMC IP HOLDING COMPANY LLC
G06F9/45558G06F3/061G06F3/064G06F3/0664G06F11/1448G06F2009/4557G06F2009/45579G06F2009/45583G06F2201/815
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,474,850
App. No.
16/804,085
Granted
Oct 18, 2022
Kind
B2
Abstract

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.

Claims (67)

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 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.

20. The system of claim 19 , wherein the virtual machine executes on the client device.

Assignments (13)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0081) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0441 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0917) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0509 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052852/0022) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0582 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST AT REEL 052771 FRAME 0906 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0298 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0081 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0917 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052852/0022 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded May 28, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052771/0906 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 3, 2020
From: YU, JING; ZHANG, MING; WANG, REN; LIU, WEIYANG; QUESNELLE, SCOTT RANDOLPH; LIAO, MENGZE
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051991/0283 →
Cited By (1)
US 12,423,194