Synchronization Index Key Cache Change Tracking
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Productivity
If existing synchronization processes are used, then data updates can be transferred, but bandwidth and storage limitations affect data retrieval speed
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.
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.
3Reliability
If existing synchronization processes are used, then synchronization can continue despite errors, but the process restarts from the beginning upon encountering an error
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.
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.
4Productivity
If full database synchronization is performed, then all data can be retrieved, but database connections are excessive and performance degrades
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.
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.
Data Source
Figure 1
Figure 2
Figure 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.