Hybrid Data Replication Synchronization Method
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current synchronization techniques for shared data structures either state-based or operation-based have limitations, such as high CPU usage, network bandwidth consumption, and conflict detection issues, making them inefficient in varying environments and conditions.
Innovation Solution
A hybrid synchronization method that dynamically selects between state-based and operation-based approaches based on evaluated metrics, such as conflict rate, bandwidth, and CPU time, to optimize synchronization operations by logging both operation and state changes and choosing the best method at synchronization time.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of energy
If state-based synchronization is used, then network bandwidth consumption is reduced, but CPU usage increases
Solution Approach 1:
The system dynamically selects between state-based and operation-based synchronization methods based on current environmental conditions and metrics, making the synchronization approach adaptive rather than static. This allows the system to optimize for bandwidth or CPU usage depending on the situation.
Solution Approach 2:
The system changes the synchronization parameter (method type) based on evaluated metrics such as conflict rate, bandwidth availability, and CPU load. By monitoring these parameters and adjusting the synchronization approach accordingly, the system resolves the trade-off between bandwidth consumption and CPU usage.
2Reliability
If operation-based synchronization is used, then conflict detection is improved, but network bandwidth consumption increases
Solution Approach 1:
The system dynamically switches between synchronization methods based on the conflict rate metric. When conflicts are detected, it may prefer operation-based synchronization for better detection, but switch to state-based when bandwidth is constrained, optimizing both reliability and resource usage.
Solution Approach 2:
The system adjusts the synchronization parameter based on the conflict rate and bandwidth metrics, selecting the method that best balances conflict detection reliability with network resource consumption under current conditions.
3Device complexity
If a single server holds the master replica, then transactional semantics are simplified, but access speed and availability decrease under high request rates
Solution Approach 1:
The system segments the master replica across multiple servers, allowing clients to access different portions of the data structure from different servers simultaneously. This segmentation increases access speed and availability while maintaining transactional semantics through the hybrid synchronization approach.
Solution Approach 2:
Multiple servers are given the capability to hold master replicas, making the system more universal and resilient. Each server can serve as a master for its partition, providing both simplified transactional semantics at the partition level and improved overall system performance.
4Speed
If data structures are replicated to client computers, then access speed and availability improve, but synchronization complexity increases
Solution Approach 1:
The system uses dynamic method selection to simplify synchronization complexity. By automatically choosing the appropriate synchronization method based on metrics rather than requiring manual configuration or complex conflict resolution logic, the system makes replication practical for distributed clients while maintaining improved access speed.
Solution Approach 2:
The system employs feedback mechanisms by evaluating metrics such as conflict rate, bandwidth usage, and CPU load to automatically adjust synchronization behavior. This feedback loop simplifies the complexity by making the system self-regulating rather than requiring manual intervention or complex predefined rules.
Data Source
AI summary
A system, method and computer program product for synchronizing replicas of shared data structures associated with one or more computer systems. The method comprises: evaluating a metric for performing a replica synchronization operation on a first computer system according to a first synchronization method; evaluating the metric for performing a replica synchronization operation on the first computer system according to a second synchronization method; and, selecting, at synchronization time, based on the evaluated metric, whether to use the first or second synchronization methods, and communicating a command to a second computer system to replicate a shared data structure based on the selected synchronization method.


