Data Synchronization via Event-Driven Notifications
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing mobile database synchronization mechanisms are inefficient in terms of network resource utilization, particularly for infrequently changing data, as they often rely on long polling or active notification methods that waste resources and deliver notifications even when the application is not in active use.
Innovation Solution
A method for data synchronization in a PTT environment that determines the type of data and selects appropriate synchronization mechanisms, using real-time or non-real-time synchronization based on data type, and employs a notification server to manage data change notifications, transmitting notifications only when necessary to conserve network resources.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If long polling methods are used for data synchronization, then data changes can be detected, but network resource utilization becomes inefficient
Solution Approach 1:
The system uses event-driven notifications that trigger periodically only when data changes occur, rather than continuous periodic polling. The notification server monitors data stores and sends notifications only when changes are detected, converting continuous periodic action into event-based periodic action to reduce network resource consumption while maintaining reliable data change detection.
Solution Approach 2:
The notification server automatically detects data changes and triggers notifications without requiring client polling. The system self-monitors data stores and autonomously initiates synchronization processes when changes occur, eliminating the need for clients to continuously poll and reducing network resource utilization.
2Speed
If active notification based logic is used, then real-time data changes can be communicated, but notifications are delivered even when the application is not in active use
Solution Approach 1:
The system dynamically adjusts notification delivery based on application state. The notification server monitors whether the client application is in active use before delivering notifications, adapting the notification mechanism to current system conditions. This dynamic approach ensures real-time notification capability when needed while avoiding unnecessary notifications when the application is inactive, optimizing network resource utilization.
3Reliability
If continuous connection is maintained for synchronization, then data can be synchronized in real-time, but network resources are wasted when application is not actively used
Solution Approach 1:
The system extracts and separates the notification trigger mechanism from continuous connection maintenance. Instead of maintaining continuous connections, the system uses event-driven notifications that are extracted and sent only when data changes occur. This separates the reliability of data change detection from the resource cost of continuous connection, achieving reliable synchronization only when necessary.
Data Source
Figure 1
Figure 2A
Figure 2B
AI summary
An embodiment includes receiving, by a client on a client device, a data change notification. The data change notification indicates a change in data relating to the client at a client data store. The method further includes determining, by the client, a type of the data relating to the client changed at the client data store and determining, by the client, a data synchronization mechanism in accordance with the type of the data relating to the client changed at the client data store. Determining the data synchronization mechanism includes determining when to attempt, by the client, a data synchronization to synchronize data on the client device with the data relating to the client changed at the client data store.