Client-Server Sync Using Change Vectors to Reduce Bandwidth
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The inefficiency in synchronizing large-sized content, such as videos and images, between a server and a user device in social networks leads to high processing resource consumption and network bandwidth usage, causing delays in presenting the latest chat messages to users.
Innovation Solution
A system that only transmits content differences between the user device and the server during synchronization, using synchronization data to identify and request only the messages not obtained from other sources, thereby reducing the amount of data sent and processed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If the server sends all messages during synchronization, then the user device receives complete message history, but network bandwidth consumption increases and processing time increases
Solution Approach 1:
The patent extracts only the necessary synchronization data (change vectors) rather than transmitting all messages. The server sends only the change vectors indicating which messages need synchronization, and the client device retrieves only those specific messages from the server, thereby reducing network bandwidth consumption while maintaining message completeness.
Solution Approach 2:
The patent segments the message synchronization process into two phases: first, exchanging change vectors to identify differences; second, retrieving only the specific messages that need synchronization. This segmentation allows the system to transmit minimal data while ensuring complete message delivery.
2Loss of information
If the server sends all messages during synchronization, then the user device receives complete message history, but processing resource consumption increases
Solution Approach 1:
The patent extracts only the necessary synchronization data (change vectors) rather than processing all messages. The client device processes only the change vectors to identify differences, and then retrieves only those specific messages from the server, thereby reducing processing resource consumption while maintaining message completeness.
Solution Approach 2:
The patent segments the message synchronization process into two phases: first, exchanging change vectors to identify differences; second, retrieving only the specific messages that need synchronization. This segmentation allows the system to process minimal data while ensuring complete message delivery.
3Loss of information
If the server sends all messages during synchronization, then the user device receives complete message history, but synchronization time increases
Solution Approach 1:
The patent extracts only the necessary synchronization data (change vectors) rather than transmitting all messages. The server sends only the change vectors indicating which messages need synchronization, and the client device retrieves only those specific messages from the server, thereby reducing synchronization time while maintaining message completeness.
Solution Approach 2:
The patent segments the message synchronization process into two phases: first, exchanging change vectors to identify differences; second, retrieving only the specific messages that need synchronization. This segmentation allows the system to synchronize quickly while ensuring complete message delivery.
Data Source
AI summary
Systems and methods are provided for synchronizing messages. The systems and methods include operations for: receiving, from a server by a client device, a set of synchronization data representing changes since a previous time the client device synchronized with the server; comparing, by the client device, the set of synchronization data to a local state of the synchronization data; identifying a difference between the set of synchronization data and the local state of the synchronization data; and transmitting, to the server by the client device, a request for content corresponding to the difference between the set of synchronization data and the local state of the synchronization data.


