Replication Engine Synchronizing Virtual Infrastructure Across Clusters

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata consistencyVSAvoidprocessing logic complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the system buffers operations with unresolved dependencies, then data consistency is maintained, but processing time increases

Engineering Contradiction:
Improvedata consistencyVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If the replication engine processes all operations immediately, then processing speed is high, but hierarchical structure integrity cannot be maintained

Engineering Contradiction:
Improveprocessing speedVSAvoidhierarchical structure integrity
Core Design Contradiction:
ProductivityVSStability of the object's composition

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20240320024A1Synchronizing virtual infrastructure objects of autonomous clusters in a virtualized computing environment
Publication Date: 2024.09.26 VMWARE INC
  • US20240320024A1 patent drawing
  • US20240320024A1 patent drawing
  • US20240320024A1 patent drawing

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.