Optimistic Concurrency Naming Service for Hierarchical Namespace

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing naming services in distributed file systems face challenges in achieving high availability and performance while maintaining consistency, often resulting in transactional conflicts and duplication issues due to their hierarchical structure and reliance on traditional data structures.

Innovation Solution

Implementing a naming service using a multi-version concurrency control (MVCC) database with specialized table structures and denormalized data representations to manage hierarchical namespaces, minimizing transactional conflicts and ensuring strong consistency through careful isolation levels and data aggregation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional hierarchical data structures are used in naming services, then the service can maintain simplicity and ease of implementation, but it cannot achieve high availability and high performance simultaneously due to transactional conflicts and consistency requirements

Engineering Contradiction:
Improvehigh availabilityVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the hierarchical namespace into independent versioned snapshots, allowing concurrent read and write operations without transactional conflicts. Each node in the hierarchy maintains its own version history, enabling parallel access patterns that improve performance while maintaining availability through the segmented structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the fundamental parameter of data representation from traditional hierarchical structures to versioned snapshots with explicit version identifiers. This parameter change enables optimistic concurrency control where multiple versions coexist, eliminating the need for locking mechanisms and thereby achieving both high availability and high performance.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If replicating the naming service on multiple machines is done to achieve high availability, then availability improves, but transactional conflicts and duplication of information increase

Engineering Contradiction:
ImproveavailabilityVSAvoidconsistency mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent uses copying by creating versioned snapshots of the namespace state that can be replicated across multiple machines. Each replica maintains a copy of the versioned data structure, allowing concurrent access without conflicts because each copy operates independently with its own version history, eliminating the need for complex consistency mechanisms.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent performs preliminary action by pre-capturing the state of the namespace at specific version points before replication occurs. This allows replicas to be created with consistent snapshots already taken, avoiding the need for complex coordination during replication and reducing the complexity of consistency mechanisms while maintaining high availability.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If fast consistency mechanisms are used to maintain replicas, then high performance can be achieved, but they are less suitable for hierarchical structures causing transactional conflicts and duplication

Engineering Contradiction:
ImproveperformanceVSAvoidconsistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces dynamics by making the data structure adaptive with versioned snapshots that can be independently modified. This dynamic structure allows fast consistency mechanisms to operate on individual versioned copies without affecting the entire hierarchical structure, achieving high performance while maintaining consistency through the dynamic versioning capability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent adds another dimension to the data model by introducing version numbers and temporal dimensions to the hierarchical structure. This dimensional change allows consistency to be maintained across replicas without transactional conflicts because each replica operates in its own versioned space, enabling fast performance while preserving consistency through the additional temporal dimension.

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

Data Source

PatentUS10698877B2High-performance naming service using an optimistic-concurrency-control in-memory database
Publication Date: 2020.06.30 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10698877B2 patent drawing
  • US10698877B2 patent drawing
  • US10698877B2 patent drawing

AI summary

Implementing a naming service for a hierarchal namespace in a database format. A method includes at a database, wherein the database stores a first table having references to hierarchical nodes in a hierarchical namespace, and a second table with relational references to hierarchical nodes referenced in the first table, detecting an edge modification event changing one or more edges of a node in the hierarchical namespace. The method further includes, as a result, creating a unique row in the second table for the edge modification event in the hierarchical namespace. Any edge modification event results in creation of a unique row in the second table such that different entities can cause overlapping edge modification events that can be documented at the database without transactional conflicts.