Controller Bridge for Dynamic Runtime State Exchange Between Datacenters

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing SDN technologies face challenges in dynamically exchanging runtime state information between datacenters, especially during migration and federation, due to differences in control plane architectures and the complexity of handling dynamic state updates across multiple datacenters.

Innovation Solution

A controller bridge is introduced to facilitate the dynamic exchange of runtime state information, capable of aggregating and updating state data across various sharding configurations, including physical and logical sharding, without requiring substantial modifications to existing datacenter architectures, and supports exchanges with and without gateways.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If runtime state information is exchanged directly between control planes of multiple datacenters, then data consistency is maintained, but system complexity increases significantly

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

A gateway is introduced as an intermediary component between the source datacenter's control plane and the destination datacenter's control plane. The gateway receives runtime state information from the source control plane, processes and converts it to the destination control plane's format, and forwards it appropriately. This intermediary approach maintains data consistency across datacenters while avoiding direct complex interactions between heterogeneous control planes, thereby reducing overall system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of manufacture

If static runtime state exchange is used during datacenter migration, then implementation simplicity is maintained, but traffic forwarding interruptions occur

Engineering Contradiction:
Improveimplementation simplicityVSAvoidtraffic forwarding continuity
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The system implements dynamic runtime state exchange that adapts to the migration process. Instead of using static pre-migration state data, the gateway continuously receives updates from the source control plane during migration and forwards them to the destination control plane. This dynamic approach ensures that traffic forwarding remains uninterrupted while maintaining implementation feasibility through automated state synchronization.

Inventive Principle:
Principle #15Dynamics

3Measurement precision

If comprehensive runtime state data is exchanged between datacenters, then forwarding accuracy is improved, but communication overhead increases

Engineering Contradiction:
Improveforwarding accuracyVSAvoidcommunication overhead
Core Design Contradiction:
Measurement precisionVSLoss of energy

Solution Approach 1:

The gateway extracts and forwards only the essential runtime state information needed for accurate traffic forwarding between datacenters. Instead of transmitting comprehensive state data including redundant information, the system identifies and extracts critical elements such as VM-to-host mappings, VTEP information, and forwarding rules. This extraction approach maintains forwarding accuracy while significantly reducing communication overhead and energy consumption.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS12175276B2Exchanging runtime state information between datacenters with a gateway using a controller bridge
Publication Date: 2024.12.24 VMWARE INC
  • US12175276B2 patent drawing
  • US12175276B2 patent drawing
  • US12175276B2 patent drawing

AI summary

In an embodiment, a computer-implemented method for dynamically exchanging runtime state data between datacenters with a gateway using a controller bridge is disclosed. In an embodiment, the method comprises: receiving one or more first runtime state data from one or more logical sharding central control planes (“CCPs”) controlling one or more logical sharding hosts; receiving one or more second runtime state data from a gateway that is controlled by a CCP that also controls one or more physical sharding hosts; aggregating to aggregated runtime state data, the one or more first runtime state data received from the one or more logical sharding CCPs and the one or more second runtime state data received from the gateway; determining updated runtime state data based on the aggregated runtime state data, the one or more first runtime state data, and the one or more second runtime state data; and transmitting the updated runtime state data to at least one of the one or more logical sharding CCPs and the gateway.