Distributed Unique Identifier Generation for Virtual Machines

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed computing environments, existing methods for generating unique identifiers for virtual machines often result in identifier duplication and bottlenecks due to reliance on a single central server for allocation.

Innovation Solution

Each virtual machine autonomously generates unique identifiers using an index range allocated by an identifier allocation server, allowing for faster and unique identifier allocation without central server intervention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a single central server generates and provides unique identifiers to all instances, then identifier allocation can be centralized and controlled, but a bottleneck occurs when the central server processes allocation requests from all instances

Engineering Contradiction:
Improveidentifier allocation controlVSAvoididentifier allocation speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent divides the centralized identifier allocation function into distributed segments by assigning each virtual machine a local identifier generation unit. This segments the single central server's workload across multiple autonomous virtual machines, eliminating the bottleneck while maintaining uniqueness through coordinated allocation ranges.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by having the identifier allocation server pre-allocate identifier ranges to multiple virtual machines before they need identifiers. This allows virtual machines to generate identifiers autonomously without waiting for real-time central server processing, significantly improving allocation speed.

Inventive Principle:
Principle #10Preliminary action

2Quantity of substance

If universally unique identifiers or globally unique identifiers are used to allocate unique identifiers to many objects, then a large number of values can be generated, but the same unique identifier may be generated repeatedly

Engineering Contradiction:
Improvenumber of identifier valuesVSAvoididentifier uniqueness
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent applies local quality by assigning each virtual machine a dedicated local identifier generation unit with a unique allocated range. This ensures that identifiers generated in different virtual machines are locally unique within their ranges, and the combination of virtual machine identity with the local identifier guarantees global uniqueness.

Inventive Principle:
Principle #3Local quality

3Productivity

If each virtual machine autonomously generates unique identifiers using an allocated index range, then identifier allocation speed increases and bottlenecks are avoided, but the system complexity increases

Engineering Contradiction:
Improveidentifier allocation speedVSAvoidsystem architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary - the identifier allocation server - that mediates between the distributed virtual machines and the unique identifier pool. This intermediary assigns ranges to virtual machines and coordinates allocation to ensure uniqueness, simplifying the overall system architecture while enabling autonomous generation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9697036B2Method and apparatus for generating unique identifier for distributed computing environment
Publication Date: 2017.07.04 SAMSUNG SDS CO LTD
  • US9697036B2 patent drawing
  • US9697036B2 patent drawing
  • US9697036B2 patent drawing

AI summary

Methods for generating a unique identifier of a distributed computing system are provided, one of methods comprise, receiving, by the first virtual machine, a first index range allocated by the identifier allocation server, receiving, by the second virtual machine, a second index range allocated by the identifier allocation server, the second index range being different from the first index range, generating, by the first virtual machine, a first unique identifier using an index in the first index range without intervention of the identifier allocation server and generating, by the second virtual machine, a second unique identifier using an index in the second index range without intervention of the identifier allocation server, wherein the first unique identifier and the second unique identifier are identifiers satisfying uniqueness for the whole distributed computing system.