Distributed Unique Identifier Allocation in Node Pools

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing distributed database systems face inefficiencies and scalability limitations due to centralized management of unique identifiers, particularly in handling node additions and failures, leading to inefficient messaging and potential loss of identifiers.

Innovation Solution

A distributed system and method for allocating unique identifiers across nodes, utilizing a distributed lock and identity data structure to manage and allocate identifiers, allowing nodes to update and share free identifier lists, ensuring efficient allocation and reuse without centralized management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If centralized management of unique identifiers is used, then identifier allocation control is simplified, but system scalability and messaging efficiency deteriorate

Engineering Contradiction:
Improveidentifier management complexityVSAvoidsystem scalability
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent divides the centralized identifier pool into distributed pools at each node. Each node maintains its own free list of identifiers, segmenting the overall identifier management into independent local units that can operate autonomously while contributing to the global identifier space.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements copies of the free list data structure at each node in the distributed system. Each node holds a local copy of the free list, allowing parallel operation and eliminating the need for centralized coordination, thereby improving scalability while maintaining consistency through replication.

Inventive Principle:
Principle #26Copying

2Device complexity

If centralized identifier allocation is used, then allocation control is simplified, but messaging efficiency and identifier loss prevention worsen

Engineering Contradiction:
Improveallocation control complexityVSAvoididentifier loss prevention
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent enables each node to autonomously allocate identifiers from its local free list without requiring centralized authorization. Nodes self-manage their identifier allocation, reducing messaging overhead while maintaining reliability through local control and immediate allocation.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent pre-allocates pools of identifiers to nodes before they need them. Each node receives a pool of identifiers in advance and maintains a free list, allowing immediate allocation without waiting for centralized approval, thus preventing identifier loss due to delays or system failures.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If distributed identifier allocation without locking is used, then messaging is reduced, but identifier allocation consistency and uniqueness deteriorate

Engineering Contradiction:
Improveallocation speedVSAvoididentifier uniqueness consistency
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The patent implements a feedback mechanism where nodes periodically communicate their free list status and allocation activity. This feedback loop allows nodes to adjust their allocation strategies while maintaining uniqueness consistency across the distributed system without requiring continuous locking.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent introduces dynamic adjustment of allocation strategies based on real-time system state. Nodes can adapt their free list management and allocation behavior dynamically, allowing flexible and efficient identifier distribution while maintaining consistency through coordinated updates.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8301589B2System and method for assignment of unique identifiers in a distributed environment
Publication Date: 2012.10.30 SYBASE INC
  • US8301589B2 patent drawing
  • US8301589B2 patent drawing
  • US8301589B2 patent drawing

AI summary

System and method for assignment of unique identifiers in a distributed environment. In a distributed system having a plurality of nodes, a method for allocating identifiers comprises steps of: allocating a pool of identifiers for use; maintaining lists of free identifiers in the pool at participating nodes; obtaining at a first node permission to update the lists of free identifiers; upon receiving permission to update the lists, allocating for the first node a set of identifiers from the lists; updating the lists of free identifiers to reflect allocation of the set of identifiers for the first node; sending the updated lists from the first node to other participating nodes; upon receiving the updated lists of free identifiers at each other participating node, updating each other participating node's respective copy of the lists of free identifiers; and relinquishing the first node's permission to update the lists of free identifiers.