Location-Independent Object Identifiers for Distributed Graph Database Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing distributed graph databases face challenges in efficiently modeling and replicating location-independent object identifiers across a network, leading to suboptimal performance and scalability due to reliance on string-based identifiers and centralized systems.

Innovation Solution

The implementation of location-independent object identifiers (OIDs) with a unique OID-identifier, OID-source structure, and OID-pointer, allowing for efficient distribution and replication across a network, enabling fast traversals and lookups without requiring centralized ID generators or consensus algorithms.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If string-based identifiers are used in distributed graph databases, then object identification can be implemented, but performance and scalability deteriorate due to centralized ID generators and consensus algorithms

Engineering Contradiction:
Improveobject identification reliabilityVSAvoiddatabase performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The identifier system is segmented into multiple components: data center identifier, cluster identifier, and object identifier. This segmentation eliminates the need for centralized ID generators by distributing identifier generation across multiple independent segments, thereby improving database performance while maintaining reliable object identification.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A hierarchical identifier structure acts as an intermediary between distributed objects and the database system. This intermediary structure enables direct object reference without requiring centralized coordination or consensus algorithms, resolving the contradiction between reliable identification and performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If centralized ID generators are used to ensure unique object identifiers, then object identification reliability is improved, but system complexity and scalability worsen

Engineering Contradiction:
Improveidentifier uniquenessVSAvoidsystem architecture complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The identifier generation process is segmented into hierarchical levels (data center, cluster, object), allowing each level to independently generate its portion of the identifier. This eliminates centralized ID generators while ensuring uniqueness through the combination of segmented components, reducing system complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each distributed node or cluster autonomously generates its own identifier segment based on its hierarchical position, eliminating the need for centralized ID generation services. This self-service approach maintains identifier uniqueness while significantly reducing system architecture complexity.

Inventive Principle:
Principle #25Self-service

3Ease of operation

If location-dependent identifiers are used, then object location tracking is simplified, but network-wide replication and distribution performance deteriorate

Engineering Contradiction:
Improvelocation tracking simplicityVSAvoidreplication performance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The hierarchical identifier structure serves as an intermediary that encodes location information without requiring explicit location tracking. The data center and cluster segments implicitly indicate object location, simplifying location tracking while enabling efficient network-wide replication and distribution.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Speed

If memory-mapped regions with pointers are implemented, then object access speed is improved, but memory efficiency and bandwidth usage worsen

Engineering Contradiction:
Improveobject access speedVSAvoidmemory consumption
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The memory-mapped region structure is segmented into hierarchical segments corresponding to the identifier levels. This segmentation allows for more efficient memory utilization by mapping only relevant portions of the database to memory, improving object access speed while reducing overall memory consumption and bandwidth usage.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10956501B2Network-wide, location-independent object identifiers for high-performance distributed graph databases
Publication Date: 2021.03.23 CISCO TECHNOLOGY INC
  • US10956501B2 patent drawing
  • US10956501B2 patent drawing
  • US10956501B2 patent drawing

AI summary

In one embodiment, an operating system (on a computer device in a network of computer devices) interfaces with a distributed graph database that is distributed across the network of computer devices, and executes an application that has one or more parent data constructs that reference one or more child objects within the distributed graph database. Specifically, the one or more child objects each have a location-independent object identifier (OID) having at least: a) an OID-identifier (OID-ID) assigned upon creation to each particular child object by a data source of the location-independent OID; b) an OID-source structure that uniquely identifies the data source of the location-independent OID within the network of computer devices; and c) an OID-pointer indicative of a relative location of the particular child object in a memory mapped region. Accordingly, the operating system accesses the child objects (e.g., for an application) based on the location-independent OID.