IP Library Granted Patent US 10,969,989
Granted Patent B2
US 10,969,989 · App. 16/525,921 · Granted Apr 6, 2021

Techniques for capturing virtual machine snapshots using data storage system snapshots

Inventors: Dmitry Tylik (Westborough, MA); Michael Zeldich (Newton, MA); Nagasimha G. Haravu (Apex, NC); William C. Whitney (Marlborough, MA); Sergey Alexeev (Saint Petersburg, RU); Alexey Shusharin (Saint Petersburg, RU)
Assignee: EMC IP Holding Company LLC
G06F3/065G06F3/0619G06F3/0659G06F3/0664G06F3/0673G06F9/45558G06F2009/45583
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 10,969,989
App. No.
16/525,921
Granted
Apr 6, 2021
Kind
B2
Abstract

Techniques for taking and managing snapshots comprise: capturing a first snapshot of a virtual machine (VM), wherein the first snapshot is a managed snapshot exposed to a virtualization environment and a data storage system environment providing physical storage for data of the VM; capturing a second snapshot of the VM, wherein the second snapshot of the VM is a managed snapshot of the VM is exposed to the virtualization environment and the data storage system environment; and converting the second snapshot of the VM from a managed snapshot of the VM to an unmanaged snapshot of the VM. Subsequent to completing the converting, the second snapshot of the VM that is an unmanaged snapshot is exposed to the data storage system environment and subsequent to completing the converting, the second snapshot of the VM that is an unmanaged snapshot is not exposed to the virtualization environment.

Claims (43)

1. A method of taking and managing snapshots comprising:

capturing a first snapshot of a virtual machine (VM), wherein the first snapshot of the VM is a managed snapshot of the VM exposed to a virtualization environment including the VM and wherein the first snapshot of the VM is also exposed to a data storage system environment providing physical storage for data of the VM;

capturing a second snapshot of the VM, wherein the second snapshot of the VM is a managed snapshot of the VM exposed to the virtualization environment and wherein the second snapshot of the VM is also exposed to the data storage system environment; and

converting the second snapshot of the VM from a managed snapshot of the VM to an unmanaged snapshot of the VM, wherein subsequent to completing said converting, the second snapshot of the VM that is an unmanaged snapshot is exposed to the data storage system environment and wherein subsequent to completing said converting, the second snapshot of the VM that is an unmanaged snapshot is not exposed to the virtualization environment.

2. The method of claim 1 , wherein the first snapshot of the VM uses a first set of VM configuration information describing a current configuration of the VM at a first point in time when capturing the first snapshot of the VM, and wherein the second snapshot of the VM uses a second set of VM configuration information describing a current configuration of the VM at a second point in time when capturing the second snapshot of the VM.

3. The method of claim 2 , wherein the first set of VM configuration information and the second set of VM configuration information match.

4. The method of claim 3 , further comprising:

receiving a request to restore the VM to the second snapshot of the VM; and

responsive to receiving the request, converting the second snapshot of the VM from an unmanaged snapshot of the VM to a managed snapshot of the VM.

5. The method of claim 4 , wherein the VM uses a plurality of virtual volumes (VVOLs) including a first VVOL, wherein the first snapshot of the VM includes a first snapshot of the first VVOL, and wherein the second snapshot of the VM includes a second snapshot of the first VVOL.

6. The method of claim 5 , wherein said converting the second snapshot of the VM from an unmanaged snapshot of the VM to a managed snapshot of the VM comprises:

copying the second snapshot of the first VVOL included the second snapshot of the VM to the first snapshot of the first VVOL included in the first snapshot of the VM; and

subsequent to said copying, requesting that the virtualization environment restore the VM from first snapshot of the VM including the second snapshot of the first VVOL.

7. The method of claim 3 , wherein the first snapshot of the VM and the second snapshot of the VM are included in a same family or generation of snapshots of the VM, wherein each snapshot of the VM included in the same family or generation of snapshots of the VM uses a same set of VM configuration information.

8. The method of claim 2 , wherein the first set of VM configuration information includes information identifying resources allocated for use by the VM at the first point in time when the first snapshot of the VM is captured.

9. The method of claim 8 , wherein the second set of VM configuration information includes information identifying resources allocated for use by the VM at the second point in time when the second snapshot of the VM is captured.

10. The method of claim 9 , wherein each of the first set of VM configuration information and the second set of VM configuration information includes information identifying at least one of: a number of processors allocated for use by the VM, an amount of memory allocated for use by the VM, a number of VVOLs used by the VM, one or more VVOLs used by the VM, ports or communication connections used by the VM.

11. The method of claim 9 , wherein the resources allocated for use by the VM at the first point in time are from a host upon which the VM is running at the first point in time, and wherein the resources allocated for use by the VM at the second point in time are from a host upon which the VM is running at the second point in time.

12. The method of claim 2 , wherein the first set of VM configuration information and the second set of VM configuration information do not match.

13. The method of claim 12 , further comprising:

receiving a request to restore the VM to the second snapshot of the VM, wherein the second snapshot of the VM is an unmanaged snapshot of the VM;

responsive to receiving the request, converting the second snapshot of the VM from an unmanaged snapshot of the VM to a second managed snapshot of the VM, wherein the second managed snapshot of the VM is exposed to the virtualization environment and the data storage system environment; and

issuing a request to the virtualization environment to restore the VM from the second managed snapshot.

14. The method of claim 2 , wherein said converting is performed responsive to determining that a current number of managed snapshots is equal to a maximum number of allowable managed snapshots of the VM, wherein the maximum number is a limitation imposed by the virtualization environment and not a limitation imposed by the data storage system environment.

15. The method of claim 14 , further comprising:

receiving, at the data storage system environment from the virtualization environment, the second set of VM configuration information;

storing, in the data storage system environment, the second set of VM configuration information, wherein the second set of VM configuration information is associated with the second snapshot of the VM;

receiving, at the data storage system environment, a request to restore the VM to the second snapshot of the VM when the second snapshot of the VM is an unmanaged snapshot not visible to the virtualization environment;

issuing a request from the data storage system environment to the virtualization environment to instantiate the second snapshot of the VM as a managed snapshot exposed to the virtualization environment; and

issuing a request from the data storage system environment to the virtualization environment to restore the VM from the second snapshot of the VM when the second snapshot is a managed snapshot exposed to the virtualization environment.

16. The method of claim 15 , wherein the second snapshot of the VM includes a snapshot of a VVOL used by the VM.

17. The method of claim 16 , wherein the request, that is issued from the data storage system environment to the virtualization environment to restore the VM from the second snapshot of the VM, includes the second set of VM configuration information and the snapshot of the VVOL used by the VM.

18. The method of claim 17 , wherein the virtualization environment issues a request to the data storage system to create the snapshot of the VVOL used by the VM.

19. A system comprising:

one or more processors; and

a memory comprising code stored thereon that, when executed, performs a method of taking and managing snapshots comprising:

capturing a first snapshot of a virtual machine (VM), wherein the first snapshot of the VM is a managed snapshot of the VM exposed to a virtualization environment including the VM and wherein the first snapshot of the VM is also exposed to a data storage system environment providing physical storage for data of the VM;

capturing a second snapshot of the VM, wherein the second snapshot of the VM is a managed snapshot of the VM exposed to the virtualization environment and wherein the second snapshot of the VM is also exposed to the data storage system environment; and

converting the second snapshot of the VM from a managed snapshot of the VM to an unmanaged snapshot of the VM, wherein subsequent to completing said converting, the second snapshot of the VM that is an unmanaged snapshot is exposed to the data storage system environment and wherein subsequent to completing said converting, the second snapshot of the VM that is an unmanaged snapshot is not exposed to the virtualization environment.

20. A non-transitory computer readable medium comprising code stored thereon that, when executed, performs a method of taking and managing snapshots comprising:

capturing a first snapshot of a virtual machine (VM), wherein the first snapshot of the VM is a managed snapshot of the VM exposed to a virtualization environment including the VM and wherein the first snapshot of the VM is also exposed to a data storage system environment providing physical storage for data of the VM;

capturing a second snapshot of the VM, wherein the second snapshot of the VM is a managed snapshot of the VM exposed to the virtualization environment and wherein the second snapshot of the VM is also exposed to the data storage system environment; and

converting the second snapshot of the VM from a managed snapshot of the VM to an unmanaged snapshot of the VM, wherein subsequent to completing said converting, the second snapshot of the VM that is an unmanaged snapshot is exposed to the data storage system environment and wherein subsequent to completing said converting, the second snapshot of the VM that is an unmanaged snapshot is not exposed to the virtualization environment.

Assignments (9)
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 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 (050724/0571) 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 060436/0088 →
RELEASE OF SECURITY INTEREST AT REEL 050406 FRAME 421 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058213/0825 →
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 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 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
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 050724/0571 →
SECURITY AGREEMENT Recorded Sep 17, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050406/0421 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2019
From: TYLIK, DMITRY; ZELDICH, MICHAEL; HARAVU, NAGASIMHA G.; WHITNEY, WILLIAM C.; ALEXEEV, SERGEY; SHUSHARIN, ALEXEY
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 049900/0454 →