IP Library Granted Patent US 11,822,950
Granted Patent B2
US 11,822,950 · App. 16/936,846 · Granted Nov 21, 2023

Cloneless snapshot reversion

Inventors: Wenguang Wang (Palo Alto, CA); Matt Amdur (Palo Alto, CA); Vamsi Gunturu (Palo Alto, CA)
Assignee: VMware, Inc.
G06F9/45558G06F11/1469G06F16/128G06F2009/45562G06F2201/84
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,822,950
App. No.
16/936,846
Granted
Nov 21, 2023
Kind
B2
Abstract

The present disclosure is related to methods, systems, and machine-readable media for cloneless snapshot reversion. A request can be received to revert to a past snapshot of a virtual computing instance in a snapshot chain of a snapshot tree provided by a software defined data center. A live snapshot can be created at an end of the snapshot chain comprising the past snapshot. An intervening snapshot in the snapshot chain can be indicated as abandoned in a snapshot map associated with the snapshot tree based on the reversion.

Claims (40)

1. A method, comprising:

receiving a request to revert to a past snapshot of a virtual computing instance (VCI) in a snapshot chain of a snapshot tree provided by a software defined data center;

creating a live snapshot at an end of the snapshot chain comprising the past snapshot;

indicating an intervening snapshot in the snapshot chain as abandoned via a modification of a status of the intervening snapshot in a snapshot map associated with the snapshot tree based on the reversion;

receiving, after the indication of the intervening snapshot as abandoned, a read request including a logical address corresponding to the VCI; and

searching the snapshot chain, in descending order, for a tuple including the logical address.

2. The method of claim 1 , wherein the method includes indicating the live snapshot as not abandoned in the snapshot map.

3. The method of claim 1 , wherein the method includes indicating all intervening snapshots in the snapshot chain as abandoned in the snapshot map based on the reversion, wherein all intervening snapshots comprise snapshots of the snapshot chain between the live snapshot and the past snapshot.

4. The method of claim 1 , wherein searching the snapshot chain in descending order includes:

determining if a particular snapshot is abandoned;

searching the particular snapshot for the tuple including the logical address in response to the particular snapshot not being abandoned; and

searching a next snapshot in response to the particular snapshot being abandoned or in response to not finding the tuple in the particular snapshot.

5. The method of claim 1 , wherein the method includes deleting a tuple that includes an identifier of the intervening snapshot.

6. A non-transitory machine-readable medium having instructions stored thereon which, when executed by a processor, cause the processor to:

receive a request to revert to a past snapshot of a virtual computing instance (VCI) in a snapshot chain of a snapshot tree provided by a software defined data center;

create a live snapshot at an end of the snapshot chain comprising the past snapshot;

indicate an intervening snapshot in the snapshot chain as abandoned via a modification of a status of the intervening snapshot in a snapshot map associated with the snapshot tree based on the reversion;

receive, after the indication of the intervening snapshot as abandoned, a read request including a logical address corresponding to the VCI; and

search the snapshot chain, in descending order, for a tuple including the logical address.

7. The medium of claim 6 , including instructions to indicate the live snapshot as not abandoned in the snapshot map.

8. The medium of claim 6 , including instructions to indicate all intervening snapshots in the snapshot chain as abandoned in the snapshot map based on the reversion, wherein all intervening snapshots comprise snapshots of the snapshot chain between the live snapshot and the past snapshot.

9. The medium of claim 6 , wherein the instructions to search the snapshot chain in descending order comprise instructions to:

determine if a particular snapshot is abandoned;

search the particular snapshot for the tuple including the logical address in response to the particular snapshot not being abandoned; and

search a next snapshot in response to the particular snapshot being abandoned or in response to not finding the tuple in the particular snapshot.

10. The medium of claim 6 , including instructions to delete a tuple that includes an identifier of the intervening snapshot.

11. A system, comprising:

a processor; and

a memory having instructions stored thereon which, when executed by the processor, cause the processor to:

receive a request to revert to a past snapshot of a virtual computing instance (VCI) in a snapshot chain of a snapshot tree provided by a software defined data center;

create a live snapshot at an end of the snapshot chain comprising the past snapshot;

indicate an intervening snapshot in the snapshot chain as abandoned via a modification of a status of the intervening snapshot in a snapshot map associated with the snapshot tree based on the reversion;

receive, after the indication of the intervening snapshot as abandoned, a read request including a logical address corresponding to the VCI; and

search the snapshot chain, in descending order, for a tuple including the logical address.

12. The system of claim 11 , including instructions to indicate the live snapshot as not abandoned in the snapshot map.

13. The system of claim 11 , including instructions to indicate all intervening snapshots in the snapshot chain as abandoned in the snapshot map based on the reversion, wherein all intervening snapshots comprise snapshots of the snapshot chain between the live snapshot and the past snapshot.

14. The system of claim 11 , including instructions to:

determine if a particular snapshot is abandoned;

search the particular snapshot for the tuple including the logical address in response to the particular snapshot not being abandoned; and

search a next snapshot in response to the particular snapshot being abandoned or in response to not finding the tuple in the particular snapshot.

Assignments (2)
CHANGE OF NAME Recorded Feb 27, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 066692/0103 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 23, 2020
From: WANG, WENGUANG; AMDUR, MATT; GUNTURU, VAMSI
To: VMWARE, INC.
Reel/Frame 053293/0160 →