Hierarchical Versioning for Distributed Unstructured Data Consistency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Large centralized data stores managing unstructured data face challenges in scalability and maintaining data integrity and consistency due to the unstructured nature of the data and distributed access paradigms, making it difficult for organizations to efficiently manage and maintain data consistency across multiple consumers with varying tolerance levels.

Innovation Solution

Implementing hierarchical conjoint versioning techniques in a distributed storage system, where a core data object is maintained at a root node, and additional data is stored in child nodes, with version identifiers and update criteria ensuring data consistency across nodes, allowing consumers to aggregate data from selected nodes based on version identifiers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is stored in a centralized data store, then data consistency can be maintained, but scalability is limited and resource bottlenecks occur

Engineering Contradiction:
Improvedata consistencyVSAvoidscalability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the centralized data store into multiple distributed nodes, where each node stores portions of the data object. This segmentation allows the system to scale horizontally by adding more nodes while maintaining data consistency through version identifiers and selective updates based on consumer tolerance levels.

Inventive Principle:
Principle #1Segmentation

2Productivity

If data is decentralized across multiple nodes, then scalability is improved, but maintaining data integrity and consistency becomes difficult

Engineering Contradiction:
ImprovescalabilityVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements a feedback mechanism where version identifiers are propagated across distributed nodes. When data is updated at one node, the version identifier change is communicated to other nodes, enabling them to selectively update their copies based on their tolerance levels and consumer requirements, thus maintaining consistency in a decentralized manner.

Inventive Principle:
Principle #23Feedback

3Reliability

If version identifiers are propagated to all nodes, then data consistency is maintained, but network traffic and processing overhead increase

Engineering Contradiction:
Improvedata consistencyVSAvoidnetwork traffic
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent applies local quality by allowing different nodes to have different update behaviors based on their specific characteristics and consumer tolerance levels. Not all nodes receive or process every version identifier propagation, enabling energy-efficient selective updates where only relevant nodes perform synchronization operations.

Inventive Principle:
Principle #3Local quality

4Measurement precision

If all consumers require the latest data version, then data freshness is improved, but resource bottlenecks and processing overhead increase

Engineering Contradiction:
Improvedata freshnessVSAvoidprocessing overhead
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent introduces dynamic update criteria where consumers and nodes can specify their tolerance levels for data staleness. This dynamic approach allows the system to adapt update frequency and propagation scope based on real-time requirements, balancing data freshness with processing overhead by updating only when necessary for each consumer-node pair.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11360955B2Providing custom read consistency of a data object in a distributed storage system
Publication Date: 2022.06.14 EBAY INC
  • US11360955B2 patent drawing
  • US11360955B2 patent drawing
  • US11360955B2 patent drawing

AI summary

In various example embodiments, a system and method for versioning data in an unstructured data store are presented. The method includes generating a first record in the unstructured data store based on a version of a second record in the unstructured data store. The method further includes initializing a parent version identifier of the first record based on the version of the second record. The method further includes comparing the parent version identifier of the first record to a version identifier of the second record. The method further includes determining whether the first record is consistent based on the comparison.