Data Sync Engine for Offline Transaction Reliability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data synchronization systems in personal financial management software limit users to only reviewing data on connected devices, preventing editing or transactions when disconnected, and require robust and expensive infrastructure to support simultaneous online transactions, while also managing connections with multiple devices.
Innovation Solution
A data synchronization system that maintains lists of user devices and data changes, allowing real-time notifications and selective data updates, enabling users to edit data and conduct transactions offline and synchronizing data efficiently across multiple devices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the core computer system maintains robust connectivity infrastructure to support simultaneous online transactions for numerous users, then transaction processing reliability is improved, but system cost and infrastructure expense increase
Solution Approach 1:
The system segments data synchronization into discrete change records stored in a database. Each data change is individually tracked and can be selectively transmitted to user devices, allowing reliable transaction processing without requiring robust continuous connectivity infrastructure for all users simultaneously.
Solution Approach 2:
The core computer system maintains copies of data changes in a database that can be later synchronized to user devices. This allows users to access updated data without maintaining constant robust connectivity, reducing infrastructure requirements while preserving transaction reliability through selective synchronization.
2Productivity
If the system supports simultaneous online transaction processing for numerous users, then productivity is improved, but infrastructure cost increases
Solution Approach 1:
The system performs preliminary actions by storing data changes in a database before they need to be synchronized to user devices. This allows multiple users to access updated data without simultaneous robust connectivity, enabling high productivity while reducing infrastructure costs through deferred synchronization.
Solution Approach 2:
The database acts as an intermediary between the core computer system and user devices. It buffers data changes and enables users to access updated information without maintaining simultaneous robust online connections, thereby supporting high transaction processing capability while reducing infrastructure requirements.
3Adaptability or versatility
If the system manages connections with multiple user devices, then adaptability is improved, but device complexity and connection management overhead increase
Solution Approach 1:
The system segments connection management by maintaining separate lists of data changes for each user device in the database. This allows the system to track and synchronize data independently for multiple devices without complex centralized management, improving multi-device adaptability while reducing connection management overhead through distributed change tracking.
4Ease of operation
If users remain connected to the core computer system for real-time data access, then ease of operation is improved, but loss of connectivity prevents data editing or transactions
Solution Approach 1:
The system performs preliminary actions by capturing and storing data changes in the database even when users are disconnected. This allows users to edit data or conduct transactions offline, and the changes are later synchronized when connectivity is restored, maintaining ease of operation while ensuring data editing capability reliability.
Solution Approach 2:
The system implements feedback mechanisms where users can indicate when data has been successfully updated on their devices (e.g., through synchronization tokens). This feedback allows the system to track which data changes have been applied and manage synchronization accordingly, enabling offline editing capability while maintaining reliability through successful synchronization confirmation.
Data Source
AI summary
Apparatuses, systems, methods, and program products are disclosed for data synchronization. An apparatus includes a processor and a memory that stores code executable by the processor to maintain a list of user devices for a user that are enabled for communicating with a core computer system, maintain lists of data changes made to the database of user data separately for each of the user devices, prefilter the data changes for the user devices such that only preselected types of data changes are used to update the user data on the user devices, in response to detecting a data change to the user data for at least one of the user devices, send a real-time notification to other user devices for the user of the data change to prompt data synchronization on the other user devices, and delete a list of the data changes in response to receiving a synchronization token.

