Unified API for Heterogeneous Virtualization Identifiers
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
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
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
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
Data Source
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.


