IP Library Patent Application 15436196
Patent Application
App. No. 15/436,196

METHOD AND SYSTEM FOR MANAGING DE-DUPLICATION OF DATA IN A VIRTUALIZATION ENVIRONMENT

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 None
App. No.
15/436,196
Abstract

A method and system for managing de-deduplication of data in a virtualization environment, including receiving a write request for an item of data from a virtual user machine, determining whether de-duplication is enabled, upon determination de-duplication is enabled and a copy of the item of data exists, referencing the de-duplication extent and not creating a new extent for storing the item of data in an extent group comprising a plurality of de-duplication extents.

Claims (41)

1 . (canceled)

2 . A system for managing de-duplication of data in a virtualization environment, comprising:

a plurality of nodes, wherein the plurality of nodes comprises a hypervisor and user virtual machines;

a plurality of storage devices accessed by the user virtual machines; and

a service virtual machine on each of the plurality of nodes to manage access by the user virtual machines to the plurality of storage devices,

wherein the service virtual machine operates as a storage controller that is dedicated to a single node, and

wherein the service virtual machine corresponds to instructions executable by a processor that manages the de-duplication of data by:

receiving a write request for an item of data from a user virtual machine,

determining whether de-duplication is enabled,

upon determination de-duplication is enabled, determining whether the plurality of storage devices already includes a copy of the item of data,

upon determination a copy of the item of data does not exist, creating a new de-duplication extent to store the item of data within a second extent group, the second extent group comprising a plurality of de-duplication extents, and

upon determination a copy of the item of data stored as a de-duplication extent from the second extent group already exists, referencing the de-duplication extent and not creating a new extent.

3 . The system of claim 2 , wherein an extent is a contiguous unit of storage physically stored on a disk.

4 . The system of claim 2 , wherein an extent is referenced by a vDisk block, wherein the vDisk block is a virtual storage device exported to user virtual machines by the service virtual machine.

5 . The system of claim 2 , wherein an extent group is a grouping of one or more extents.

6 . The system of claim 2 , wherein a size of an extent coincides with a vDisk block.

7 . The system of claim 2 , wherein an extent varies in size when de-duplication is enabled.

8 . The system of claim 2 , wherein determining whether de-duplication is enabled, further comprises: upon determination de-duplication is not enabled, creating a new non-de-duplication extent to store the item of data within a first extent group, the first extent group comprising a plurality of non-de-duplication extents.

9 . The system of claim 2 , wherein upon determination a copy of the item of data already exists, providing notice a new entity is now relying upon the de-duplication extent by incrementing a ref count, wherein the ref count is a variable indicating a number of entities relying upon the de-duplication extent.

10 . The system of claim 2 , wherein a size of a de-duplication extent is smaller than a size of a non-de-duplication extent.

11 . The system of claim 2 , wherein determining whether the plurality of storage devices already includes a copy of the item of data is accomplished by performing Rabin fingerprinting upon the item of data.

12 . A computer-implemented method for managing de-duplication of data in a virtualization environment, comprising:

receiving, by a service virtual machine, a write request for an item of data from a user virtual machine to a plurality of storage devices;

determining, by the service virtual machine, whether de-duplication is enabled;

upon determination de-duplication is enabled, determining whether the plurality of storage devices already includes a copy of the item of data;

upon determination a copy of the item of data does not exist, creating a new de-duplication extent to store the item of data within a second extent group, the second extent group comprising a plurality of de-duplication extents; and

upon determination a copy of the item of data stored as a de-duplication extent from the second extent group already exists, referencing the de-duplication extent and not creating a new extent.

13 . The method of claim 12 , wherein an extent is a contiguous unit of storage physically stored on a disk.

14 . The method of claim 12 , wherein an extent is referenced by a vDisk block, wherein the vDisk block is a virtual storage device exported to user virtual machines by the service virtual machine.

15 . The method of claim 12 , wherein an extent group is a grouping of one or more extents.

16 . The method of claim 12 , wherein a size of an extent coincides with a vDisk block.

17 . The method of claim 12 , wherein an extent varies in size when de-duplication is enabled.

18 . The method of claim 12 , wherein determining, by the service virtual machine, whether de-duplication is enabled, further comprises: upon determination de-duplication is not enabled, creating a new non-de-duplication extent to store the item of data within a first extent group, the first extent group comprising a plurality of non-de-duplication extents.

19 . The method of claim 12 , wherein upon determination a copy of the item of data already exists, providing notice a new entity is now relying upon the de-duplication extent by incrementing a ref count, wherein the ref count is a variable indicating a number of entities relying upon the de-duplication extent.

20 . The method of claim 12 , wherein determining whether the plurality of storage devices already includes a copy of the item of data is accomplished by performing Rabin fingerprinting upon the item of data.one or more virtual disks.

21 . A computer program product embodied on a non-transitory computer readable medium, the non-transitory computer readable medium having stored thereon a sequence of instructions which, when executed by a processor causes the processor to execute a process for managing de-duplication of data in a virtualization environment, the process comprising:

receiving, by a service virtual machine, a write request for an item of data from a user virtual machine to a plurality of storage devices;

determining, by the service virtual machine, whether de-duplication is enabled;

upon determination de-duplication is enabled, determining whether the plurality of storage devices already includes a copy of the item of data;

upon determination a copy of the item of data does not exist, creating a new de-duplication extent to store the item of data within a second extent group, the second extent group comprising a plurality of de-duplication extents; and

upon determination a copy of the item of data stored as a de-duplication extent from the second extent group already exists, referencing the de-duplication extent and not creating a new extent.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 1, 2017
From: ARON, MOHIT; PANDEY, DHEERAJ; SINGH, AJEET
To: NUTANIX, INC.
Reel/Frame 042197/0274 →