IP Library Granted Patent US 10,635,648
Granted Patent B2
US 10,635,648 · App. 15/365,833 · Granted Apr 28, 2020

Entity identifier generation in distributed computing systems

Inventors: Prakash Narayanasamy (Santa Clara, CA); Ranjan Parthasarathy (Milpitas, CA)
Assignee: Nutanix, Inc.
G06F16/2228G06F16/214G06F16/2365
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,635,648
App. No.
15/365,833
Filed
Nov 30, 2016
Granted
Apr 28, 2020
Kind
B2
Art Unit
2164
USPC
707/744
Abstract

A method embodiment serves to manage entity names for virtualized entities in a computing system comprising two or more computing nodes that host virtual machines and other virtual entities. The method commences upon receiving a request for identifiers. The request includes an identifier key that is used by a name generator. The name generator implements a deterministic algorithm that will always return the same outputs given the same inputs. The name generator generates a user- or program-specified number of virtualized entity identifiers based on the identifier key. The generated virtualized entity identifiers and corresponding identifier keys are stored in an identifier mapping table that is accessible by the two or more computing nodes. The identifier mapping table describes relationships between the virtualized entity identifiers and corresponding identifier keys. The virtualized entity identifiers are used to create respective virtualized entities. The identifier mapping table can be shared between multiple computing clusters.

Claims (44)

1. A method in a virtualized environment comprising multiple virtualized entities in multiple namespaces, each virtualized entity of the multiple entities identified by an identifier key, the method comprising:

receiving a request for uniquely identifying, from amongst multiple virtualized entities in multiple namespaces, a virtualized entity for avoiding a conflict in referencing the multiple virtual entities within a virtualization environment, wherein

the conflict that is avoided corresponds to a plurality of requests that refer to different virtualized entities with an identifier key;

generating a unique identifier that uniquely identifies the virtualized entity from the multiple virtualized entities in the multiple namespaces to satisfy the request, wherein

the request refers to the virtualized entity as the identifier key, and

the unique identifier is used to create the virtualized entity in the virtualization environment; and

storing a relationship between the virtualized entity, the identifier key, and the unique identifier in a data structure accessible by the virtualization environment.

2. The method of claim 1 , further comprising, migrating the virtualized entity from a first one node to a second node in the virtualization environment.

3. The method of claim 1 , further comprising:

receiving a command comprising the unique identifier for the virtualized entity; and

validating the unique identifier for the virtualized entity.

4. The method of claim 3 , wherein validating the unique identifier for the virtualized entity comprises searching the data structure to discover the unique identifier for the virtualized entity.

5. The method of claim 1 , wherein the request further comprises a count value.

6. The method of claim 5 , wherein the count value corresponds to at least one of a number of requested virtualized entity identifiers, or a total number of virtualized entity identifiers associated with the unique identifier key.

7. The method of claim 1 , wherein the data structure is associated with a resource subsystem in the virtualization environment.

8. The method of claim 7 , wherein the resource subsystem is at least one of a cluster, a site, or a datacenter.

9. The method of claim 1 , further comprising merging a first data structure from a first resource subsystem in the virtualization environment with a second data structure from a second resource subsystem in the virtualization environment.

10. The method of claim 1 , wherein generating the unique identifier for the virtualized entity is performed by a version 4 UUID (universally unique identifier) algorithm.

11. The method of claim 1 , wherein the request is structured according to an API (application programing interface).

12. A non-transitory computer readable medium having stored thereon a sequence of instructions which, when stored in memory and executed by a processor, causes the processor to perform a set of acts for a virtualized environment comprising multiple virtualized entities in multiple namespaces, each virtualized entity of the multiple entities identified by an identifier key, the set of acts comprising:

receiving a request for uniquely identifying, from amongst multiple virtualized entities in multiple namespaces, a virtualized entity for avoiding a conflict in referencing the multiple virtual entities within a virtualization environment, wherein

the conflict that is avoided corresponds to a plurality of requests that refer to different virtualized entities with an identifier key;

generating unique identifier that uniquely identifies the virtualized entity from the multiple virtualized entities in the multiple namespaces to satisfy the request, wherein

the request refers to the virtualized entity as the identifier key, and

the unique identifier is used to create the virtualized entity in the virtualization environment; and

storing a relationship between the virtualized entity, the identifier key, and the unique identifier in a data structure accessible by the virtualization environment.

13. The non-transitory computer readable medium of claim 12 , further comprising instructions which, when stored in the memory and executed by the processor, causes the processor to perform acts of, migrating the virtualized entity from a first node to a second node in the virtualization environment.

14. The non-transitory computer readable medium of claim 12 , further comprising instructions which, when stored in the memory and executed by the processor, causes the processor to perform acts of:

receiving a command comprising the unique identifier for the virtualized entity; and

validating the unique identifier for the virtualized entity.

15. The non-transitory computer readable medium of claim 14 , wherein validating the unique identifier for the virtualized entity comprises searching the data structure to discover the unique identifier for the virtualized entity in the data structure.

16. The non-transitory computer readable medium of claim 12 , wherein the request further comprises a count value.

17. The non-transitory computer readable medium of claim 16 , wherein the count value corresponds to at least one of a number of requested virtualized entity identifiers, or a total number of virtualized entity identifiers associated with the unique identifier key.

18. The non-transitory computer readable medium of claim 12 , wherein the data structure is associated with a resource subsystem in the virtualization environment.

19. A system in a virtualized environment comprising multiple virtualized entities in multiple namespaces, each virtualized entity of the multiple entities identified by an identifier key, comprising:

a processor; and

a storage medium having stored thereon a sequence of instructions which, when executed by the processor, causes the one or more processors to perform a set of acts, the set of acts comprising,

receiving a request for uniquely identifying, from amongst multiple virtualized entities in multiple namespaces, a virtualized entity for avoiding a conflict in referencing the multiple virtual entities within a virtualization environment, wherein

the conflict that is avoided corresponds to a plurality of requests that refer to different virtualized entities with an identifier key;

generating a unique identifier that uniquely identifies the virtualized entity from the multiple virtualized entities in the multiple namespaces to satisfy the request, wherein

the request refers to the virtualized entity as the identifier key, and

the unique identifier is used to create the virtualized entity in the virtualization environment; and

storing a relationship between the virtualized entity, the identifier key, and the unique identifier in a data structure accessible by the virtualization environment.

20. The system of claim 19 , wherein the data structure is associated with a resource subsystem in the virtualization environment, and the resource subsystem is at least one of a cluster, a site, or a datacenter.

Assignments (2)
SECURITY INTEREST Recorded Feb 13, 2025
From: NUTANIX, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 070206/0463 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 4, 2019
From: NARAYANASAMY, PRAKASH; PARTHASARATHY, RANJAN
To: NUTANIX, INC.
Reel/Frame 049366/0548 →
Continuity (1)
Related Publication 20200034462A1 · Jan 30, 2020
Cited By (1)
US 12,309,031