Unique Identifier Generation Without Persistent Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computer systems lack an efficient method for generating unique identifiers within data storage systems that are independent of persistent data storage and system clock, which is essential for ensuring uniqueness across multiple processors and maintaining identifier integrity during reboot scenarios.

Innovation Solution

A method involving a shared value incremented upon each processor boot, combined with a processor identifier and time since boot, is used to generate unique identifiers. This shared value is synchronized across processors, ensuring uniqueness and stability even during reboot events.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If system clock or persistent storage is used to generate unique identifiers, then identifier uniqueness can be maintained, but system reliability deteriorates during reboot scenarios and persistent storage failures

Engineering Contradiction:
Improveidentifier uniqueness during rebootVSAvoiddependency on persistent storage and system clock
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the identifier generation logic from dependencies on persistent storage and system clock, creating a self-contained generation mechanism that uses only volatile memory and processor state. This removes the harmful dependency while preserving uniqueness through alternative means (processor ID concatenation with counter).

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent uses temporary in-memory counters and volatile storage instead of persistent storage mechanisms. These short-lived objects are reset on reboot but compensate through processor-specific initialization, providing reliability without the complexity of persistent storage dependencies.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

2Reliability

If a shared value is incremented on each processor boot, then identifier uniqueness is improved across multiple processors, but synchronization complexity increases

Engineering Contradiction:
Improveidentifier uniqueness across processorsVSAvoidsynchronization mechanism
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the identifier generation into processor-specific components (processor ID) and local counter components. Each processor maintains its own independent counter in local memory, eliminating the need for inter-processor synchronization while ensuring uniqueness through the combination of segmented identifiers.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a token structure as an intermediary that carries the generated identifier. This token serves as a portable representation of the unique identifier, allowing processors to exchange and validate identifiers without requiring direct synchronization or communication protocols.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9501290B1Techniques for generating unique identifiers
Publication Date: 2016.11.22 EMC IP HLDG CO LLC
  • US9501290B1 patent drawing
  • US9501290B1 patent drawing
  • US9501290B1 patent drawing

AI summary

Techniques are described for generating a unique identifier by a first processor using a plurality of values including a shared value, the first processor's identifier, a container identifier and a time value. The shared value is a common value used by a plurality of processors including the first processor. The container identifier identifies a memory location. The time value denotes an amount of time that has elapsed since the first processor was last booted.