Unified API for Heterogeneous Virtualization Identifiers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing virtualization environments face complexity in managing and identifying heterogeneous entities using multiple APIs, which increases code maintenance and complexity due to the need for different identifiers for various entity types.

Innovation Solution

A polymorphic identification architecture that allows a single API to receive requests using heterogeneous identifiers, where a controller virtual machine determines the type of context-specific identifier and maps it to a unique identifier, enabling unified access to entities across the virtualization environment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple APIs are used to manage different entity types with heterogeneous identifiers, then the system can accommodate diverse identification needs, but the code complexity and maintenance difficulty increase

Engineering Contradiction:
Improveability to handle heterogeneous identifiersVSAvoidcode complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal API interface that can handle multiple types of heterogeneous identifiers (UUIDs, names, paths) through a single unified endpoint. The system uses polymorphic identifier types and automatic type determination to allow the same API to process different identifier formats without requiring separate specialized APIs for each entity type, thereby reducing code complexity while maintaining adaptability

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The controller virtual machine acts as an intermediary between the client and the entity management system. It receives heterogeneous identifiers through a single API, determines their types automatically, and performs the appropriate identification and mapping operations. This intermediary layer abstracts the complexity of handling multiple identifier types from the client, simplifying the interface while preserving the ability to manage diverse entities

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If a single API is used to handle all identifier types, then code complexity is reduced, but the difficulty of detecting and measuring identifier types increases

Engineering Contradiction:
Improvecode complexityVSAvoididentifier type detection
Core Design Contradiction:
Device complexityVSDifficulty of detecting and measuring

Solution Approach 1:

The system implements self-service type detection where the identifier object automatically determines its own type through polymorphic properties. When an identifier is passed to the API, it self-identifies its type (UUID, name, or path) through its class structure and inheritance hierarchy, eliminating the need for complex external type detection logic and reducing the difficulty of handling heterogeneous identifiers

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent changes the parameter representation by using a polymorphic identifier class structure where the type information is embedded in the object itself through inheritance and property definitions. By transforming the identifier from a simple string into a structured object with type-aware properties, the system enables automatic type determination through reflection and polymorphic comparisons, simplifying the detection process

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10810030B2Identifying entities in a virtualization environment by converting heterogeneous string identifiers for interaction with a single API
Publication Date: 2020.10.20 NUTANIX INC
  • US10810030B2 patent drawing
  • US10810030B2 patent drawing
  • US10810030B2 patent drawing

AI summary

In one embodiment, a system includes host machines that form elements of the virtualization environment, and that include a hypervisor, a user virtual machine (UVM), a connection agent, and an I/O controller. The system further includes a virtual disk comprising a plurality of storage devices, the virtual disk being accessible by all of the I/O controllers. At least one of host machines receives a request associated with one of the elements using an application programming interface (API), and including a context-specific identifier. The host machine determines, using reflection, a type of the context-specific identifier and processes the request based on a mapping, according to the determined type, from the context-specific identifier to a unique identifier associated with the element.