ID Allocation in Virtualized Clusters via Node Caching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualized computing environments, the conventional method of identifier (ID) allocation is inefficient due to frequent access to persistent storage, leading to latency and performance issues, especially in high-volume and frequent ID allocation scenarios like distributed firewall configurations.

Innovation Solution

Implementing a pre-allocation approach where batches of IDs are retrieved from a shared pool and stored in local caches at each node, allowing for concurrent and distributed ID allocation, reducing reliance on persistent storage and minimizing network round trips.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If IDs are allocated by accessing persistent storage for each request, then ID allocation is reliable and consistent, but latency increases and performance deteriorates

Engineering Contradiction:
ImproveID allocation throughputVSAvoidID allocation latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system pre-allocates batches of IDs to node caches before they are actually needed. Each node maintains a local cache of pre-fetched IDs that can be distributed immediately upon request without accessing persistent storage, thereby reducing allocation latency while maintaining consistency through batched updates to the shared pool.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The ID allocation system is segmented into multiple independent node caches that operate autonomously. Instead of a single centralized allocation point, each node in the distributed system maintains its own cache of IDs, allowing parallel ID distribution across multiple nodes simultaneously, which increases overall throughput.

Inventive Principle:
Principle #1Segmentation

2Reliability

If frequent access to persistent storage is performed for ID allocation, then ID consistency is maintained, but system performance and responsiveness deteriorate

Engineering Contradiction:
ImproveID allocation consistencyVSAvoidID allocation throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

IDs are pre-fetched from persistent storage in batches and loaded into volatile memory caches at each node before actual allocation requests occur. This preliminary action separates the slow persistent storage access from the fast allocation operations, maintaining data consistency while enabling high-speed ID distribution.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Node caches act as intermediaries between persistent storage and the ID allocation process. Instead of directly accessing persistent storage for each allocation request, nodes retrieve IDs from their local caches, which are periodically refreshed from the shared pool, thereby mediating between reliability requirements and performance demands.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If centralized ID allocation is used, then ID uniqueness is guaranteed, but network round trips increase and responsiveness decreases

Engineering Contradiction:
ImproveID uniquenessVSAvoidID allocation speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The centralized ID allocation function is segmented and distributed across multiple node caches in the distributed system. Each node independently manages its own cache of IDs and can allocate them locally without network communication, eliminating round trips while maintaining uniqueness through coordinated cache management across nodes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each node in the distributed system serves itself by maintaining local caches of IDs that it can allocate independently without requesting from other nodes or a central authority. This self-service approach eliminates network dependencies for ID allocation while preserving uniqueness through shared pool coordination.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11822970B2Identifier (ID) allocation in a virtualized computing environment
Publication Date: 2023.11.21 VMWARE INC
  • US11822970B2 patent drawing
  • US11822970B2 patent drawing
  • US11822970B2 patent drawing

AI summary

Example methods are provided for a first node to perform identifier (ID) allocation in a virtualized computing environment that includes a cluster formed by the first node and at least one second node. The method may comprise retrieving, from a pool of IDs associated with the cluster, a batch of IDs to a cache associated with the first node. The pool of IDs may be shared within the cluster and the batch of IDs retrieved for subsequent ID allocation by the first node. The method may also comprise, in response to receiving a request for ID allocation from an ID consumer, allocating one or more IDs from the batch of IDs in the cache to respective one or more objects for unique identification of the one or more objects across the cluster; and sending, to the ID consumer, a response that includes the allocated one or more IDs.