Replication Engine Synchronizing Virtual Infrastructure Across Clusters
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Virtualization management servers face challenges in synchronizing hierarchical structures of virtual infrastructure objects across autonomous clusters, as they need to replicate changes from cluster control planes (CCP) to cross-cluster control planes (xCCP) while maintaining data consistency and resolving dependencies between objects.
Innovation Solution
A method is implemented where the replication engine in the xCCP receives notifications of CCP operations, determines necessary operations to modify the xCCP inventory, identifies related operations with unresolved dependencies, and performs these operations once dependencies are resolved, ensuring that changes are consistently reflected across both inventories.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the replication engine processes CCP operations in the order they are received, then the processing logic is simple, but data consistency cannot be maintained when dependencies are unresolved
Solution Approach 1:
The replication engine performs preliminary actions by buffering operations with unresolved dependencies before processing them. When a dependency is resolved, the previously buffered operation is then processed, ensuring data consistency without complex real-time processing logic.
Solution Approach 2:
A buffer acts as an intermediary between receiving CCP operations and processing them. The buffer temporarily holds operations with unresolved dependencies, allowing the system to maintain simple processing logic while ensuring data consistency through controlled processing order.
2Reliability
If the system buffers operations with unresolved dependencies, then data consistency is maintained, but processing time increases
Solution Approach 1:
The system performs preliminary buffering of operations that can wait, while operations that are ready to be processed (whose dependencies are resolved) are processed immediately. This minimizes the time operations spend in the buffer while maintaining data consistency.
3Productivity
If the replication engine processes all operations immediately, then processing speed is high, but hierarchical structure integrity cannot be maintained
Solution Approach 1:
The replication engine performs preliminary checks to determine if an operation's dependencies are resolved before processing. Operations that can be processed immediately are handled without buffering, maintaining high processing speed while preserving hierarchical structure integrity through dependency-aware processing.
Solution Approach 2:
The system uses feedback from dependency resolution status to control processing. When dependencies are resolved, the system receives feedback that allows it to process buffered operations, thereby maintaining hierarchical structure integrity while maximizing processing speed when possible.
Data Source
AI summary
An example method of synchronizing a first inventory of a cross-cluster control plane (xCCP) with a second inventory of a cluster control plane (CCP) includes: receiving, at a replication engine of the xCCP from the CCP, a notification of a CCP operation that modified an object in the second inventory; determining, by the replication engine, a first operation to modify the first inventory with the object; identifying, in a buffer of the replication engine, a second operation to modify the first inventory with a related object associated with the object, the related object included in an earlier CCP notification, received at the xCCP before the notification, but not used to modify the first inventory due to an unresolved dependency; and calling, by the replication engine in response to satisfaction of the unresolved dependency, a service of the xCCP to modify the first inventory by performing the first and second operations.


