Data Synchronization Using Change Log to Prevent Infinite Loops
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional data synchronization methods face inefficiencies when synchronizing data among multiple devices, leading to infinite synchronization loops and increased latency and network traffic, especially when dealing with large files.
Innovation Solution
A data synchronization method using a data modification map to track the history of data changes, allowing devices to compare and synchronize data efficiently by mapping identifiers and avoiding redundant transmissions, thereby preventing infinite loops and reducing file transmission latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional data synchronization methods are used among multiple devices, then data can be synchronized between devices, but an infinite synchronization loop problem occurs when more than two devices are involved
Solution Approach 1:
The server performs preliminary actions by maintaining a change log table that records all data modifications before synchronization requests are processed. When a synchronization request arrives, the server checks the change log table in advance to determine whether the data item has been modified, preventing the infinite loop by proactively identifying and handling modification states before they propagate through the network
Solution Approach 2:
The server acts as an intermediary between multiple client devices, centralizing the synchronization control logic. The server receives synchronization requests from clients, checks the change log table, and determines whether to forward requests to other clients or end synchronization. This intermediary role prevents the infinite loop by providing a centralized decision-making point that coordinates all synchronization activities
2Reliability
If data comparison is performed after a large file is completely received, then data integrity can be ensured, but synchronization latency and network traffic load increase significantly
Solution Approach 1:
The server performs preliminary checking of data modification status using the change log table before the complete file transmission begins. By determining whether a data item has been modified in advance, the server can avoid transmitting unchanged large files entirely, thus ensuring data integrity while significantly reducing transmission time and network traffic
Solution Approach 2:
Instead of performing complete file comparison only after full reception, the system performs a partial check using the change log table (which contains only modification metadata) before transmission. This partial action suffices to determine whether full file synchronization is needed, reducing the excessive action of transmitting unchanged large files
3Reliability
If complete file transmission is performed for every synchronization request, then data can be synchronized, but data transmission amount and network traffic load increase unnecessarily
Solution Approach 1:
The system extracts only the essential synchronization decision information from the change log table (whether a data item has been modified) and uses this extracted information to determine whether complete file transmission is necessary. This extraction allows the system to filter out unnecessary large file transmissions while maintaining synchronization completeness for only those files that actually need updating
Solution Approach 2:
The system performs a partial check using the change log table instead of the excessive action of transmitting complete files for every synchronization request. This partial verification approach ensures that only necessary data is transmitted in full, reducing network bandwidth consumption while maintaining synchronization reliability
Data Source
AI summary
A data synchronization method for more than three networked devices including at least one client and one server for efficiently synchronizing data among multiple devices supporting a Synchronization Markup Language (SyncML) protocol is provided. The data synchronization method includes determining whether a data item indicated by synchronization information contained in a synchronization request message exists in a change log table of the server, when a server receives the synchronization request message sent by a first client, and updating the change log table by adding the data item indicated by the synchronization information and transmitting a synchronization request message containing a data identifier and the change log of the data item to a second client, if a data item indicated by the synchronization information does not exist, otherwise, ending data synchronization by transmitting a synchronization response message containing status information to the first client.


