IP Library Granted Patent US 10,445,188
Granted Patent B2
US 10,445,188 · App. 15/090,365 · Granted Oct 15, 2019

Method and system for virtualizing guest-generated file system snapshots

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,445,188
App. No.
15/090,365
Granted
Oct 15, 2019
Kind
B2
Abstract

Techniques disclosed herein provide an approach for creating snapshots and reverting to the same for virtual machine (VM) guest operating systems (OSes). In one embodiment, a snapshot module in a guest OS receives blocks for a snapshot of a guest OS volume. In turn, the snapshot module creates a snapshot file in a repository external to a virtual disk of the VM, and writes the received blocks to the external repository. By storing snapshot content outside the virtual disks of VMs, disk space limitations in local VM disks can be overcome, and it is also more difficult for malicious software to modify the snapshots and infect them. To reduce storage space requirements, snapshots stored in the external repository may be deduplicated with other snapshots stored therein, including snapshots from guest OSes running in other VMs and/or a host OS on which a hosted hypervisor runs.

Claims (33)

1. A method of creating a snapshot of a guest operating system (OS) volume, the guest OS running in a virtual machine (VM) on top of a hypervisor, the method comprising:

receiving, for the snapshot, copies of changed blocks in the guest OS volume obtained via a copy-on-write technique, wherein the snapshot is a volume or partition-level snapshot initiated by the guest OS rather than a virtual disk snapshot initiated by the hypervisor;

creating a snapshot file in a block storage external to a virtual disk of the VM, wherein the external block storage is shared by a plurality of VMs running on top of the hypervisor; and

writing the received copies of the changed blocks in the guest OS volume to the snapshot file in the external block storage.

2. The method of claim 1 , further comprising, deduplicating a plurality of snapshots stored in the external block storage.

3. The method of claim 2 , wherein the plurality of snapshots include snapshots from the plurality of VMs running on top of the hypervisor.

4. The method of claim 3 , wherein the plurality of snapshots further includes one or more snapshots from a host OS on which the hypervisor runs.

5. The method of claim 1 , further comprising, in response to a request to revert to the snapshot, overlaying the snapshot as a delta disk on top of the virtual disk of the VM, the delta disk tracking differences from the virtual disk of the VM.

6. The method of claim 5 , wherein the delta disk is a synthesized block device created from a mapping to blocks stored in the external block storage without copying the blocks stored in the external block storage to a virtual disk file.

7. The method of claim 5 , wherein the overlaying is performed by a module in the hypervisor or in a host OS on which the hypervisor runs.

8. The method of claim 1 , wherein the receiving, creating, and writing steps are performed by a guest OS module that is in communication with the hypervisor via a communication channel.

9. A non-transitory computer-readable storage medium containing a program which, when executed by one or more processors, performs operations for creating a snapshot of a guest operating system (OS) volume, the guest OS running in a virtual machine (VM) on top of a hypervisor, the operations comprising:

receiving, for the snapshot, copies of changed blocks in the guest OS volume obtained via a copy-on-write technique, wherein the snapshot is a volume or partition-level snapshot initiated by the guest OS rather than a virtual disk snapshot initiated by the hypervisor;

creating a snapshot file in a block storage external to a virtual disk of the VM, wherein the external block storage is shared by a plurality of VMs running on top of the hypervisor; and

writing the received copies of the changed blocks in the guest OS volume to the snapshot file in the external block storage.

10. The non-transitory computer-readable storage medium of claim 9 , the operations further comprising, deduplicating a plurality of snapshots stored in the external block storage.

11. The non-transitory computer-readable storage medium of claim 10 , wherein the plurality of snapshots include snapshots from the plurality of VMs running on top of the hypervisor.

12. The non-transitory computer-readable storage medium of claim 11 , wherein the plurality of snapshots further includes one or more snapshots from a host OS on which the hypervisor runs.

13. The non-transitory computer-readable storage medium of claim 9 , the operations further comprising, in response to a request to revert to the snapshot, overlaying the snapshot as a delta disk on top of the virtual disk of the VM, the delta disk tracking differences from the virtual disk of the VM.

14. The non-transitory computer-readable storage medium of claim of claim 13 , wherein the delta disk is a synthesized block device created from a mapping to blocks stored in the external block storage without copying the blocks stored in the external block storage to a virtual disk file.

15. The non-transitory computer-readable storage medium of claim of claim 13 , wherein the overlaying is performed by a module in the hypervisor or in a host OS on which the hypervisor runs.

16. The non-transitory computer-readable storage medium of claim of claim 9 , wherein the receiving, creating, and writing steps are performed by a guest OS module that is in communication with the hypervisor via a communication channel.

17. A system, comprising:

a processor; and

a memory, wherein the memory includes a program executable in the processor to perform operations for creating a snapshot of a guest operating system (OS) volume, the guest OS running in a virtual machine (VM) on top of a hypervisor, the operations comprising:

receiving, for the snapshot, copies of changed blocks in the guest OS volume obtained via a copy-on-write technique, wherein the snapshot is a volume or partition-level snapshot initiated by the guest OS rather than a virtual disk snapshot initiated by the hypervisor,

creating a snapshot file in a block storage external to a virtual disk of the VM, wherein the external block storage is shared by a plurality of VMs running on top of the hypervisor, and

writing the received copies of the changed blocks in the guest OS volume to the snapshot file in the external block storage.

18. The system of claim 17 , the operations further comprising:

deduplicating a plurality of snapshots stored in the external block storage,

wherein the plurality of snapshots include snapshots from the plurality of VMs running on top of the hypervisor and/or one or more snapshots from a host OS on which the hypervisor runs.

19. The system of claim 17 , the operations further comprising, in response to a request to revert to the snapshot, overlaying the snapshot as a delta disk on top of the virtual disk of the VM, the delta disk tracking differences from the virtual disk of the VM.

20. The system of claim 19 , wherein the delta disk is a synthesized block device created from a mapping to blocks stored in the external block storage without copying the blocks stored in the external block storage to a virtual disk file.

Assignments (4)
PATENT ASSIGNMENT Recorded Aug 5, 2024
From: VMWARE LLC
To: OMNISSA, LLC
Reel/Frame 068327/0365 →
SECURITY INTEREST Recorded Jul 3, 2024
From: OMNISSA, LLC
To: UBS AG, STAMFORD BRANCH
Reel/Frame 068118/0004 →
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2016
From: ZAMIR, TAL
To: VMWARE,INC.
Reel/Frame 038187/0386 →