Numeric Identifier Assignment in Multi-Master Directory Services

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In loosely coupled multi-master directory services, ensuring the uniqueness of numeric identifiers assigned to users and groups is challenging due to potential conflicts between master servers, often requiring manual intervention by system administrators.

Innovation Solution

A method where each server in the directory service is assigned a starting number and an additive, ensuring that unique identifiers are generated in a linear series, with the additive being greater than or equal to the number of servers, guaranteeing global uniqueness and allowing for seamless addition of new servers without identifier reset.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple master servers independently create and modify directory service entries, then the system achieves loose coupling and distributed operation, but numeric identifier uniqueness cannot be guaranteed across servers

Engineering Contradiction:
Improvedistributed operationVSAvoididentifier uniqueness
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent segments the identifier assignment space by allocating a unique starting number to each master server. This segmentation ensures that each server operates independently within its own identifier range, eliminating conflicts while maintaining distributed operation. The identifier space is divided into non-overlapping segments, one per server.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an additional dimension to the identifier assignment by incorporating both a server-specific starting number and a sequential offset. This two-dimensional approach (server identifier + sequence number) ensures global uniqueness while allowing each server to independently assign identifiers within its own dimension.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Reliability

If manual intervention is required to assign numeric identifiers, then identifier uniqueness can be ensured, but system complexity and administrative overhead increase

Engineering Contradiction:
Improveidentifier uniquenessVSAvoidadministrative overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent enables master servers to automatically assign numeric identifiers without requiring manual intervention. Each server uses its pre-configured starting number and independently generates sequential identifiers, making the system self-service capable. This eliminates the need for administrators to manually manage identifier assignments while maintaining uniqueness.

Inventive Principle:
Principle #25Self-service

3Productivity

If identifiers are assigned independently by each server without coordination, then system scalability is improved, but conflicts require manual resolution by administrators

Engineering Contradiction:
Improvesystem scalabilityVSAvoididentifier conflict resolution
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent performs preliminary action by pre-assigning unique starting numbers to each master server before they begin independent operation. This advance preparation ensures that as servers scale independently, they will not generate identifier conflicts, eliminating the need for manual conflict resolution while maintaining scalability.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8745106B2Numeric identifier assignment in a networked computer environment
Publication Date: 2014.06.03 RED HAT INC
  • US8745106B2 patent drawing
  • US8745106B2 patent drawing
  • US8745106B2 patent drawing

AI summary

Embodiments of the present invention provide a system and method of assigning unique identifiers in a multi-master directory service. In particular, each server in the system assigns numeric user identifiers in a linear fashion that compliments the series of user identifiers assigned by the other servers. In particular, a first server is selected and assigned a first starting number. Each subsequent server is then assigned their own starting series number by incrementing from the first starting number. Then, all servers are assigned an additive, which is an integer greater than or equal to the number of servers in the system. Each server then generates its own series of unique numeric identifiers based on its own starting series number and the additive.