Bloom Filter Data Synchronization for Large Datasets

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data synchronization of large datasets is resource-intensive and time-consuming, as existing methods lack efficiency in identifying and transferring only changed data items between repositories.

Innovation Solution

Implementing Bloom filters to determine changed data items in a source repository and synchronizing only those items confirmed to be present in the destination repository, using a data processing system with a data synchronization module that adds entries to Bloom filters for each data item and filters out items not present in the destination repository during synchronization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional data synchronization methods are used to synchronize large datasets between repositories, then data consistency is maintained, but processing resources and time consumption increase significantly

Engineering Contradiction:
Improvedata consistencyVSAvoidsynchronization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by inserting Bloom filter entries for data items into the destination repository before actual synchronization occurs. This pre-positioning of filter data enables rapid identification of changed items during synchronization, avoiding the need to process entire datasets and thus resolving the contradiction between maintaining data consistency and improving synchronization efficiency

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces Bloom filters as an intermediary mechanism between the source and destination repositories. This intermediary structure allows for efficient comparison and identification of changed data items without requiring direct comparison of all data items, thereby maintaining data consistency while significantly reducing processing resources and time consumption

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If all data items are synchronized between repositories to ensure consistency, then data consistency is maintained, but processing time and resources increase

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

Solution Approach 1:

The patent extracts only the essential filtering information (Bloom filter entries) from the destination repository and uses it to identify changed data items. This extraction approach allows the system to focus synchronization efforts only on necessary items rather than processing all data items, thereby maintaining data consistency while reducing synchronization time

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If comprehensive data synchronization is performed to capture all changed items, then data consistency is ensured, but processing resources are consumed excessively

Engineering Contradiction:
Improvedata consistencyVSAvoidprocessing resources
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

By pre-inserting Bloom filter entries into the destination repository, the system establishes a ready-made filtering mechanism that requires minimal processing resources during synchronization. This preliminary preparation enables rapid identification of changed items without consuming excessive processing resources, thus ensuring data consistency while reducing energy consumption

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10387887B2Bloom filter driven data synchronization
Publication Date: 2019.08.20 SUGARCRM INC
  • US10387887B2 patent drawing
  • US10387887B2 patent drawing

AI summary

Embodiments of the present invention provide a method, system and computer program product for Bloom filter driven data synchronization. In an embodiment of the invention, a method for Bloom filter driven data synchronization includes adding different items of data in a source repository to a destination repository, inserting an entry for each of the added items in one or more Bloom filters, detecting a request for data synchronization of the source and destination repositories and responding to the data synchronization request by determining a set of data items to be synchronized based upon changed data items in the source repository, testing each of the data items in the set against the Bloom filter, and performing data synchronization between both repositories only in respect to those data items in the set that specified by the Bloom filter to be in the destination repository.