Dual Database Synchronization System for Data Consistency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current synchronization systems fail to effectively synchronize data across multiple client devices, particularly in resolving conflicts between different software versions and maintaining reliable synchronization without performance bottlenecks, and often require multiple versions of user data sets to be stored.

Innovation Solution

A synchronization system with a metadata server and contents server, utilizing two independent synchronization engines (synch up and synch down) that manage data and metadata independently, allowing for conflict resolution and frequency control, and enabling regeneration of snapshots in case of data loss or corruption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a single synchronization database and engine are used, then the system structure is simple, but synchronization reliability and performance deteriorate when the database is lost or corrupted

Engineering Contradiction:
Improvesynchronization system structureVSAvoidsynchronization reliability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent divides the single synchronization database into two separate databases: a first synchronization database storing first user data sets and a second synchronization database storing second user data sets. This segmentation ensures that if one database is lost or corrupted, the other database remains intact and can be used to restore synchronization, thereby improving reliability without significantly increasing system complexity.

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If a single synchronization engine is used, then the system is easier to control, but it becomes a performance bottleneck for synchronization operations

Engineering Contradiction:
Improvesynchronization controlVSAvoidsynchronization performance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent implements two independent synchronization engines: a first synchronization engine associated with the first synchronization database and a second synchronization engine associated with the second synchronization database. Each engine can operate independently to perform synchronization operations on its respective database, eliminating the performance bottleneck of a single engine while maintaining manageable control through independent operation.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If multiple versions of user data sets are stored for different software versions, then compatibility is maintained, but data storage space and system complexity increase

Engineering Contradiction:
Improvesoftware version compatibilityVSAvoiddata storage space
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent segments user data sets into two distinct groups: first user data sets generated by a first version of software stored in the first synchronization database, and second user data sets generated by a second version of software stored in the second synchronization database. This segmentation allows the system to maintain compatibility with multiple software versions while avoiding the need to store multiple versions of the same data set, thereby reducing storage space requirements.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of storing multiple versions of each user data set to accommodate different software versions, the patent inverts the approach by creating separate databases for data sets generated by different software versions. This inversion allows the system to maintain version compatibility without duplicating data sets, as each database is dedicated to a specific software version.

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

4Productivity

If synchronization parameters are controlled by the synchronization system, then system-wide optimization is achieved, but device-specific performance requirements cannot be met

Engineering Contradiction:
Improvesynchronization system efficiencyVSAvoiddevice-specific optimization
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent enables dynamic control of synchronization parameters at the device level. Each client device can independently adjust synchronization parameters such as synchronization frequency and data selection based on its specific performance capabilities, network conditions, and user requirements. This dynamic adaptation allows devices with different performance characteristics to optimize their synchronization operations without compromising system-wide functionality.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10387451B2Synchronization system for multiple client devices
Publication Date: 2019.08.20 APPLE INC
  • US10387451B2 patent drawing
  • US10387451B2 patent drawing
  • US10387451B2 patent drawing

AI summary

Systems and methods are disclosed for synchronizing one or more user data sets on one or more client devices of a user, using a synchronization system. Each client device can have two independent and asynchronously-operating synchronization engines. The synchronization system can include a synchronization system manager that can resolve conflicts in data that arise from different versions of software being used generate a data set. Each client can maintain two separate databases: a first database that can contain a snapshot of the state of the user data sets across client devices, as known to the synchronization system. The second database can contain a snapshot of the local file system and information about the state of synchronization of the local file system with the synchronization system.