Distributed Database Synchronization Using Timestamped Snapshots

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed data storage systems, synchronizing databases with spatial entity attributes across multiple locations is challenging, especially when drones or mobile devices need to cooperate without a central server, as existing methods rely on hierarchical structures and are prone to synchronization errors due to varying transmission delays.

Innovation Solution

A method for determining synchronization states between primary and secondary databases using snapshots with timestamps, where only data entities with timestamps ≤T0 are considered, and the snapshot time Ts is set at least a delay time Td after T0, ensuring that changes during Td are cached and do not affect synchronization, allowing for non-hierarchical and resilient data synchronization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a central server maintains the master version of the database for synchronization, then synchronization can be achieved, but the system cannot co-operate without contact with the central server and becomes hierarchical

Engineering Contradiction:
Improvesynchronization reliabilityVSAvoidcooperation without central server
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent segments the centralized database into multiple distributed database nodes, each maintaining its own copy of the database. This allows any node to participate in synchronization without requiring a central server, enabling cooperation without centralized control while maintaining synchronization reliability through peer-to-peer communication protocols.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces version vectors as an intermediary mechanism that mediates synchronization between distributed nodes. Version vectors encode the causal history of updates, allowing nodes to determine synchronization states and resolve conflicts without needing a central server, thus enabling autonomous cooperation while maintaining reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If all spatial locations are synchronized across all databases, then complete data consistency is achieved, but unnecessary synchronization increases communication overhead and time consumption

Engineering Contradiction:
Improvedata consistencyVSAvoidsynchronization time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies local quality by synchronizing only the specific spatial entities that have changed between databases, rather than synchronizing all spatial locations. This is achieved through version vectors that track changes at the individual spatial entity level, allowing databases to exchange only the minimal necessary data to maintain consistency, thereby reducing communication overhead and synchronization time.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent uses partial action by performing synchronization only when and where needed, based on version vector comparisons. Instead of continuously synchronizing all data, the system performs partial synchronization updates only for affected spatial entities, reducing the overall time and communication resources required while maintaining data consistency.

Inventive Principle:
Principle #16Partial or excessive action

3Loss of information

If snapshots include all data entities up to snapshot time Ts, then complete state information is captured, but data entities with transmission delays may cause synchronization errors

Engineering Contradiction:
Improvestate information completenessVSAvoidsynchronization accuracy
Core Design Contradiction:
Loss of informationVSReliability

Solution Approach 1:

The patent applies preliminary action by capturing snapshots of database states at specific points in time and using version vectors to record the causal history of updates. This allows the system to later determine whether databases are synchronized by comparing version vectors, rather than relying on potentially incomplete or delayed data during the synchronization process itself, thus maintaining both information completeness and synchronization accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback through version vectors that provide continuous information about the synchronization state between databases. By comparing version vectors from different nodes, the system can detect whether databases are synchronized or out of sync, and trigger appropriate synchronization actions. This feedback mechanism ensures synchronization accuracy while allowing the system to work with snapshot data that may have varying transmission times.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11100136B2Synchronization of databases comprising spatial entity attributes
Publication Date: 2021.08.24 T2 DATA AB
  • US11100136B2 patent drawing
  • US11100136B2 patent drawing
  • US11100136B2 patent drawing

AI summary

The present disclosure relates to a method for determining a synchronization state between a primary database 250 and one or more secondary databases communicatively coupled with the primary database to form a distributed and nonhierarchical database cluster, wherein the primary and secondary databases store attributes 320 of spatial entities 300 of a space modeled using a spatial model, and each database comprises data entities representing spatial entities 300 with defined spatial boundaries within at least a segment of the spatial model, where the attributes 320 of the spatial entities 300 are coupled to the data entities. The method comprises: generating a snapshot comprising information relating to data entities within a first segment of the spatial model in the primary database at a snapshot time Ts, said information identifying changes to the data entities where each change comprises a time stamp 340, wherein only data entities with a time stamp ≤T0, where Ts>T0, are included in the snapshot, although changes to the data entities up to the time Ts have been received and stored in the primary database 250; receiving, from one or more secondary databases in the cluster, corresponding generated snapshots, each snapshot comprising data entities within the same first segment of the spatial model in said secondary database, wherein only data entities with a time stamp ≤T0, where Ts>T0, are included in the snapshot; and determining a synchronization state based on a comparison between the generated and received snapshots, wherein the synchronization state is determined to be not synchronized if the generated snapshot and the received corresponding snapshots do not all match.