Peer-to-Peer Multi-Threaded Data Replication Mechanism
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing replication and synchronization mechanisms in network data servers are limited by single-threaded and single-process approaches, leading to potential data loss and manual recovery procedures, especially in flaky networks, where communication failures can result in dual primaries or no primaries, causing temporary or permanent data loss.
Innovation Solution
A peer-to-peer, multi-threaded replication and synchronization mechanism that enables automated recovery and supports real-time data management, allowing multiple replicas to manage data updates and synchronize entries across a network, ensuring robust processing and transaction support even in lossy networks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a single primary server is used to manage all updates to a Directory System Agent, then centralized control is maintained, but the system becomes vulnerable to single points of failure and requires manual recovery procedures
Solution Approach 1:
The patent divides the single primary server role into multiple peer servers, each capable of acting as primary for different subsets of data or updates. This segmentation eliminates the single point of failure by distributing the primary function across multiple independent servers, allowing the system to continue operating even if one server fails.
Solution Approach 2:
The patent implements automated promotion mechanisms where servers can automatically assume the primary role when communication with the original primary is lost. This self-service capability eliminates the need for manual intervention in failover scenarios, allowing the system to automatically recover from failures without human intervention.
2Reliability
If automated promotion mechanism is implemented to allow second server to assume primary responsibilities, then system availability is improved, but the risk of dual independent primaries or no primaries increases
Solution Approach 1:
The patent implements a feedback mechanism where servers continuously monitor communication status with other servers and automatically adjust their role based on this feedback. When a server detects that the primary is unreachable, it receives feedback indicating communication failure and automatically promotes itself. When the original primary becomes reachable again, the feedback mechanism detects this and triggers appropriate demotion or re-synchronization actions to prevent dual primaries.
Solution Approach 2:
The patent implements preliminary conflict detection and resolution mechanisms before dual primary situations can cause data loss. Servers perform preliminary checks and establish protocols to detect potential conflicts before they occur, and automatically resolve them through pre-defined reconciliation procedures, preventing data inconsistency before it can manifest.
3Ease of manufacture
If single-threaded replication mechanism is used, then implementation simplicity is maintained, but processing speed and data access performance are limited
Solution Approach 1:
The patent divides the replication process into multiple independent threads that can operate simultaneously. Each thread handles replication to different servers or different data subsets, allowing parallel processing of replication operations. This segmentation of the replication task into concurrent threads dramatically increases processing speed while maintaining the logical simplicity of the overall replication mechanism.
Data Source
Figure 1~2
Figure 3~4
Figure 5
AI summary
Embodiments of the invention provide a replication and synchronization mechanism that is peer to peer and multi-threaded. Embodiments of the invention may further enable a useable alternative service in the event of a loss of communications between replicas and a fully automated recovery upon the recovery of communications between the replicas. A replication and synchronization mechanism may further provide entry level synchronization and support for transactions. The replication and synchronization mechanism merges changes that have been made independently as a result of the loss of communication between peers.