Synchronization Index Key Cache Change Tracking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing synchronization processes face performance degradation due to unnecessary database calls, bandwidth and storage limitations, and restarts upon errors, leading to user-perceived application performance issues.

Innovation Solution

A synchronization system that generates an index key from device-specific parameters to efficiently search a custom indexed change table, caches data for faster retrieval, and provides a recovery mechanism by replicating device databases, allowing selective synchronization and minimizing database connections.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If existing synchronization processes are used, then data can be synchronized between server and device, but unnecessary database calls cause performance degradation and delay

Engineering Contradiction:
Improvesynchronization speedVSAvoiddata retrieval delay
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-calculating and storing change tracking information in a change tracking table before actual synchronization is needed. This allows the system to quickly identify what data needs to be synchronized without making unnecessary database calls during the synchronization process, thereby reducing retrieval delay and improving synchronization speed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a change tracking table as an intermediary between the database and the synchronization process. This intermediary structure stores metadata about database changes, allowing the system to efficiently determine what data needs to be synchronized without directly querying the database for all data, thus eliminating unnecessary database calls and reducing time loss.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If existing synchronization processes are used, then data updates can be transferred, but bandwidth and storage limitations affect data retrieval speed

Engineering Contradiction:
Improvedata retrieval speedVSAvoiddata transfer volume
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The system extracts only the necessary change tracking information from the database and stores it in a dedicated change tracking table. This extraction allows the synchronization process to transfer only the minimal required metadata about changes rather than transferring large volumes of actual data repeatedly, thereby improving retrieval speed while managing bandwidth and storage limitations.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent segments the synchronization process into two phases: first, tracking and storing change information separately in a change tracking table; second, transferring only the necessary data based on this tracked information. This segmentation allows efficient data retrieval by separating the metadata about changes from the actual data, reducing the quantity of data that needs to be transferred over the network.

Inventive Principle:
Principle #1Segmentation

3Reliability

If existing synchronization processes are used, then synchronization can continue despite errors, but the process restarts from the beginning upon encountering an error

Engineering Contradiction:
Improvesynchronization reliabilityVSAvoidrecovery time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system implements feedback mechanisms by tracking the progress of synchronization through the change tracking table, which records which changes have been successfully transferred. When an error occurs, the system uses this feedback information to resume synchronization from the point of failure rather than restarting from the beginning, thereby improving reliability while minimizing recovery time.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The change tracking table stores preliminary information about the state of synchronization progress before errors occur. This preliminary tracking allows the system to quickly determine where to resume synchronization after an error, eliminating the need to restart from the beginning and thus improving both reliability and reducing recovery time.

Inventive Principle:
Principle #10Preliminary action

4Productivity

If full database synchronization is performed, then all data can be retrieved, but database connections are excessive and performance degrades

Engineering Contradiction:
Improvedata retrieval efficiencyVSAvoiddatabase connection management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system extracts only the change tracking information from the database and stores it in a separate change tracking table. This extraction allows the synchronization process to query this lightweight metadata table instead of establishing multiple connections to the full database, thereby improving data retrieval efficiency while reducing database connection complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The change tracking table serves as an intermediary layer between the database and the synchronization client. This intermediary structure contains summarized change information that can be queried efficiently without requiring direct connections to the full database, thus improving retrieval efficiency while simplifying database connection management.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP3508985B1Scalable synchronization with cache and index management
Publication Date: 2023.11.08 ACCENTURE GLOBAL SOLUTIONS LTD
  • EP3508985B1 patent drawingFigure 1
  • EP3508985B1 patent drawingFigure 2
  • EP3508985B1 patent drawingFigure 3

AI summary

A synchronization system including a cache obtains data updates from a one or more databases and stores the data updates at a device facing database which includes a custom indexed change table. The custom indexed change table stores change tracking data from individual change tracking tables of the one or more databases. When a synchronization request is received from a device, the synchronization request is parsed to obtain a list of synchronization parameters which are used to generate an index key. The index key is used to determine if the data responsive to the synchronization request is cached within the synchronization system. Based on whether the data is cached within the synchronization system, the data is transmitted directly from the cache to the device or the data is fetched from the device facing database, stored on the cache and transmitted to the device in response to the synchronization request.