Distributed Node Data Synchronization via Snapshot Comparison

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing distributed computer systems face challenges in synchronizing data between nodes in a cluster, particularly in nonhierarchical systems, where nodes are loosely coupled and frequently disconnect or reconnect, leading to issues with fault resilience and high data update frequencies.

Innovation Solution

A method where each node generates and compares snapshots of data items with timestamps to determine synchronization state, allowing for flexible and resilient data synchronization by identifying changes up to a specific timestamp, ensuring all nodes have a consistent reference point and reducing the impact of communication delays.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a hierarchical client-server configuration is used for data synchronization, then data consistency can be maintained through centralized control, but the system becomes vulnerable to communication faults and less flexible when nodes frequently disconnect or reconnect

Engineering Contradiction:
Improvefault resilienceVSAvoidsystem architecture complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent divides the centralized synchronization authority into multiple distributed nodes, where each node independently maintains and validates data. Instead of one master node controlling all changes, every node can act as a potential master, segmenting the synchronization function across the network. This eliminates the single point of failure in hierarchical systems while maintaining data consistency through distributed validation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent inverts the traditional client-server model by making all nodes equal peers with equal authority. Rather than having clients request permission from a central server to make changes, any node can initiate and commit data changes independently. The synchronization is achieved not through top-down control but through bottom-up consensus where nodes validate each other's changes, reversing the control flow of traditional hierarchical systems.

Inventive Principle:
Principle #13The other way round (Inversion)

2Reliability

If a master node is selected to control change acceptance in a cluster, then data consistency can be enforced, but the system becomes less flexible and more vulnerable to communication path faults

Engineering Contradiction:
Improvecommunication fault toleranceVSAvoidnode connection flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic role assignment where the master node identity is not fixed but changes based on current system state and node availability. Any node can become the master temporarily to handle synchronization, and roles are dynamically transferred as nodes join or leave the cluster. This dynamic adaptation allows the system to maintain functionality regardless of which specific nodes are active, providing both fault tolerance and connection flexibility.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

Each node in the cluster autonomously performs synchronization validation and conflict resolution without requiring constant master node intervention. Nodes independently track their own data state, validate incoming changes against their local state, and can autonomously reject or accept changes based on predefined consistency rules. This self-service capability reduces dependency on the master node and maintains operational flexibility during master node failures or communication disruptions.

Inventive Principle:
Principle #25Self-service

3Reliability

If snapshots of all data items are exchanged between nodes, then complete synchronization can be achieved, but bandwidth usage increases significantly with high data update frequencies

Engineering Contradiction:
Improvesynchronization completenessVSAvoidnetwork bandwidth consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent extracts only the essential synchronization information from complete data snapshots by identifying and transmitting only the specific data items that have changed since the last synchronization point. Instead of exchanging entire data sets, nodes exchange minimal change notifications containing only modified item identifiers and their new values. This extraction approach maintains synchronization completeness while dramatically reducing the volume of data transmitted over the network.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies partial synchronization by selectively updating only the subset of data items that require synchronization rather than performing complete snapshot exchanges. Nodes identify which specific data items have changed and perform partial updates only for those items, avoiding the excessive action of transmitting and processing complete data sets. This partial action approach achieves sufficient synchronization for operational needs while minimizing network bandwidth consumption.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentEP3599558B1Data synchronization in a distributed data storage system
Publication Date: 2022.12.21 T2 DATA AB
  • EP3599558B1 patent drawingFigure 1
  • EP3599558B1 patent drawingFigure 2
  • EP3599558B1 patent drawingFigure 3

AI summary

The present disclosure relates to a method in a distributed and nonhierarchical node for synchronizing a set of data items between said node and one or more distributed and nonhierarchical nodes communicatively coupled to form a cluster, wherein the set of data items are locally replicated at each node. The method comprises: receiving information regarding missing or changed data items from other nodes in the cluster; determining that said node is not synchronized with the other nodes in the cluster; and synchronizing the node with the other nodes in the cluster, wherein the information regarding missing or changed data items is used to maintain a simulated synchronized state in the node during the synchronization process.