IP Library Granted Patent US 9,250,946
Granted Patent B2
US 9,250,946 · App. 13/765,687 · Granted Feb 2, 2016

Efficient provisioning of cloned virtual machine images using deduplication metadata

Inventors: Shravan Gaonkar (Gainesville, FL); Sagar Dixit (Mountain View, CA); Kartikeya Iyer (Campbell, CA)
Assignee: Atlantis Computing, Inc.
G06F9/45558G06F2009/45562
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 9,250,946
App. No.
13/765,687
Granted
Feb 2, 2016
Kind
B2
Abstract

Techniques for fast provisioning of virtual machine images using deduplication metadata are described, including receiving a request to copy a first virtual machine to form a second virtual machine, identifying a first portion of memory comprising data for the first virtual machine; and forming the second virtual machine based on the first portion of memory comprising data for the first virtual machine, wherein forming the second virtual machine further comprises linking the second virtual machine to the first portion of memory comprising data for the first virtual machine, and implementing a second portion of memory to store data for the second virtual machine independent of the first virtual machine.

Claims (29)

1. A method, comprising:

receiving a request to copy a first virtual machine to form a second virtual machine, the first virtual machine comprising: a first unique identification data associated with the first virtual machine, deduplication metadata describing deduplicated data for an operating system and at least one application;

identifying a first portion of memory comprising the deduplication metadata for the first virtual machine;

forming the second virtual machine based on a portion of the deduplication metadata from the first portion of memory, wherein forming the second virtual machine further comprises:

linking the second virtual machine to the portion of the deduplication metadata corresponding to the operating system and the at least one application by copying one or more files from the first portion of memory comprising the deduplication metadata associated with the deduplicated data for the first virtual machine, and

implementing a second portion of memory to store a second unique identification data for the second virtual machine independent of the first unique identification data associated with the first virtual machine; and

modifying a reference link counter each time the one or more files comprising deduplication metadata associated with the deduplicated data for the first virtual machine is copied.

2. The method of claim 1 , wherein identifying the first portion of memory comprising data for the first virtual machine further comprises:

identifying one or more files for deduplication metadata associated with deduplicated data for the first virtual machine; and

locating the deduplicated data for the first virtual machine in the first portion of memory based on the deduplication metadata associated with the deduplicated data for the first virtual machine.

3. The method of claim 2 , wherein the deduplication metadata associated with the deduplicated data for the first virtual machine comprises a block number, the reference link counter associated with the block number, and a hash value.

4. The method of claim 3 , wherein the block number is associated with a location of a physical data block including a portion of the data for the first virtual machine.

5. The method of claim 3 , wherein the reference link counter indicates a number of times the block number is linked.

6. The method of claim 1 , wherein the second unique identification data for the second virtual machine comprises at least a system identifier.

7. The method of claim 1 , wherein the second unique identification data for the second virtual machine is accessible via a different authorization process than the first virtual machine.

8. A system, comprising:

a first portion of a first memory configured to store data for a first virtual machine comprising a first unique identification data associated with the first virtual machine and deduplication metadata describing deduplicated data for an operating system and at least one application;

a processor configured to receive a request to copy the first virtual machine to form a second virtual machine and to form the second virtual machine based on a portion of the deduplication metadata associated with the data for the first virtual machine, the processor being further configured to link the second virtual machine to the portion of the deduplication metadata corresponding to the operating system and the at least one application from the data for the first virtual machine stored in the first portion of the memory by copying one or more files comprising the deduplication metadata associated with the deduplicated data for the first virtual machine; and

a second portion of a second memory configured to store a second unique identification data for the second virtual machine independent of the first unique identification data associated with the first virtual machine, and

wherein the processor modifies a reference link counter each time the one or more files comprising deduplication metadata associated with the deduplicated data for the first virtual machine is copied.

9. The system of claim 8 , wherein the processor is further configured to identify one or more files for the deduplication metadata associated with deduplicated data for the first virtual machine and to locate the deduplicated data for the first virtual machine in the first portion of the first memory based on the deduplication metadata associated with the deduplicated data for the first virtual machine.

10. The system of claim 9 , wherein the deduplication metadata associated with the deduplicated data for the first virtual machine comprises:

a block number;

the reference link counter associated with the block number; and

a hash value.

11. The system of claim 10 , wherein the block number indicates a location of a physical data block associated with the data for the first virtual machine.

12. The system of claim 10 , wherein the reference link counter indicates a number of times the block number is linked.

13. The system of claim 8 , wherein the second unique identification data for the second virtual machine comprises at least a system identifier.

14. The system of claim 8 , wherein the second unique identification data for the second virtual machine is accessible via a different authorization process than the first virtual machine.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 27, 2017
From: ATLANTIS COMPUTING, INC.; INSOLVENCY SERVICES GROUP, INC.
To: ATLANTIS COMPUTING HOLDINGS, LLC
Reel/Frame 043716/0766 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 19, 2014
From: GAONKAR, SHRAVAN; DIXIT, SAGAR; IYER, KARTIKEYA
To: ATLANTIS COMPUTING, INC.
Reel/Frame 033143/0942 →
Continuity (1)
Related Publication 20140229936A1 · Aug 14, 2014