Versioned Hierarchical Data Structures for Distributed Transaction Consistency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data replication strategies are ineffective for complex data types due to interdependencies between data entries and lack of guaranteed message ordering, making it difficult to replicate versioned and hierarchical data structures across multiple data stores.

Innovation Solution

The method involves using versioning to enforce dependencies within hierarchical data structures, suspending transaction processing until higher-level versions are committed, and coordinating commits across distributed transactions to ensure consistency and correct ordering of operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If simple replication strategies are used for data stores, then replication is straightforward and fast, but the strategy becomes ineffective for complex data types with interdependencies between data entries

Engineering Contradiction:
Improvereplication speedVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the hierarchical data structure into versioned levels, where each level can be independently replicated. This allows the replication system to handle complex data types by breaking them down into manageable units (levels) that can be replicated separately while maintaining interdependencies through version tracking.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary versioning of data levels before replication occurs. By pre-establishing version identifiers and dependency relationships, the system ensures that when replication happens, the correct ordering and consistency are maintained without requiring complex coordination during the actual replication process.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If versioning is implemented for hierarchical data structures, then dependencies between levels can be enforced and data consistency improved, but the complexity of the replication system increases

Engineering Contradiction:
Improvedata consistencyVSAvoidreplication system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent changes the parameter representation by using version identifiers as a key parameter for tracking hierarchical levels. This parameter change simplifies the complexity management because instead of tracking complex dependency graphs, the system only needs to compare version identifiers to determine replication status and enforce dependencies.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent introduces version identifiers as an intermediary mechanism that mediates between the complex hierarchical dependencies and the simple replication process. This intermediary allows the system to enforce data consistency without requiring complex coordination logic, as the version identifiers automatically encode the dependency relationships.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If lower levels of the hierarchy are made visible to clients immediately, then client access is improved, but data integrity may be compromised before higher-level commits are complete

Engineering Contradiction:
Improveclient accessVSAvoiddata integrity
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent implements a feedback mechanism where the visibility of lower hierarchical levels to clients is controlled by the commit status of higher levels. The system continuously monitors commit status and provides feedback to determine when it is safe to make data visible, ensuring that clients only access data when the entire hierarchical path is committed and consistent.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11586594B2Versioned and hierarchical data structures and distributed transactions
Publication Date: 2023.02.21 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11586594B2 patent drawing
  • US11586594B2 patent drawing
  • US11586594B2 patent drawing

AI summary

Presented herein are methods of replicating versioned and hierarchical data structures, as well as data structures representing complex transactions. Due to interdependencies between data entities and a lack of guaranteed message ordering, simple replication methods employed for simple data types cannot be used. Operations on data structures exhibit dependencies between the messages making up the operations. This strategy can be extended to various types of complex transactions by considering certain messages to depend on other messages or on the existence of other entries at the data store. Regardless of origin, these dependencies can be enforced by suspending the processing of messages with unsatisfied dependencies until all of its dependencies have been met. Alternately, transactions can be committed immediately, creating entities that include versioned identifiers for each of their dependencies. These entities can then be garbage collected of the parent objects are not subsequently created.