P2P Synchronization Using Vector Clocks to Manage Divergence
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional real-time communication systems rely on relay servers for synchronization, leading to increased server load and latency, as well as costs, and can experience divergence and causality violations in peer-to-peer (P2P) communication without a state management server.
Innovation Solution
A method and system for decentralized synchronization using P2P communication between user terminals, where a first user terminal generates and transmits action information for state changes, and a second user terminal receives and applies this information, detecting and managing divergence and causality violations using versioning and queueing mechanisms to ensure stable synchronization without a relay server.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a relay server is used for synchronization in real-time communication, then synchronization can be maintained, but server load and operation cost increase as the number of concurrent users increases
Solution Approach 1:
The patent extracts the synchronization function from the relay server and implements it locally at each user terminal. Each terminal independently manages its own state changes and generates action information, eliminating the need for server-mediated synchronization and thereby reducing server load and operation costs while maintaining synchronization reliability
Solution Approach 2:
User terminals perform self-synchronization by independently detecting state changes, generating action information, and managing their own version vectors. Each terminal serves its own synchronization needs without relying on external server resources, reducing operational costs while maintaining reliable synchronization through decentralized state management
2Reliability
If a relay server is used for synchronization, then state changes can be managed centrally, but latency increases due to the time required to process and deliver state changes through the server
Solution Approach 1:
The patent extracts the state change processing function from the relay server and implements it directly at user terminals. Terminals independently process state changes locally and transmit only the resulting action information to peers, eliminating server processing delays and reducing synchronization latency while maintaining accuracy through direct peer-to-peer action information exchange
Solution Approach 2:
The patent implements preliminary action by having user terminals detect and process state changes locally before transmission. Action information is generated and prepared at the source terminal in advance, allowing immediate transmission to peer terminals without waiting for server processing, thereby reducing latency while ensuring synchronization accuracy through pre-validated action information
3Productivity
If P2P communication is used without a relay server, then server load and latency are reduced, but divergence and causality violations may occur between user terminals
Solution Approach 1:
The patent implements feedback mechanisms where each user terminal monitors and compares version vectors of action information received from peer terminals. When inconsistencies or causality violations are detected, the system provides feedback to resolve the divergence by determining causal relationships and applying corrections, thereby maintaining synchronization stability in decentralized P2P communication while preserving communication efficiency
Solution Approach 2:
The patent applies preliminary action by equipping each user terminal with version vector tracking and causality detection capabilities before communication occurs. Terminals pre-validate received action information against their local state, enabling them to autonomously detect and resolve divergences without server intervention, thus maintaining synchronization stability while preserving P2P communication efficiency
Data Source
AI summary
Provided is a method of synchronizing a plurality of user terminals based on peer-to-peer (P2P) communication, the method including occurring a first state change in a first user terminal, generating first action information corresponding to the first state change in the first user terminal, transmitting the first action information from the first user terminal to a second user terminal, receiving the first action information in the second user terminal, adding the first action information to an application ready queue in the second user terminal, detecting whether a divergence or a causality violation occurs in the second user terminal, and applying a state change based on the first action information in the second user terminal.


