Span Computation for SDN Configuration Dispatching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In software-defined data centers, managing configurations for large numbers of logical networking entities such as logical switches and routers is inefficient due to the need for all physical hosts to be aware of these entities, leading to high memory requirements and time-consuming configuration updates, especially when VMs migrate and disconnect.

Innovation Solution

A method to dynamically compute the span of each logical entity, representing the hosts that need its configuration, and dispatching configurations only to those hosts using an abstract model that converts directed graphs into acyclic graphs to reduce memory consumption and optimize configuration updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If configuration of logical entities is pushed to all hosts, then all hosts can apply correct policies and establish connections, but memory consumption and configuration update time increase significantly

Engineering Contradiction:
Improvecorrect policy applicationVSAvoidmemory consumption
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent implements local quality by making configuration distribution selective rather than universal. Each host receives configurations only for logical entities that are relevant to its local VMs and network context. The controller determines which hosts need which configurations based on the logical entity's span (the set of hosts with VMs connected to that logical entity), ensuring that configuration data is distributed locally only where needed rather than to all hosts uniformly.

Inventive Principle:
Principle #3Local quality

2Reliability

If configuration of logical entities is pushed to all hosts, then all hosts can apply correct policies and establish connections, but configuration update time increases with the number of hosts

Engineering Contradiction:
Improvecorrect policy applicationVSAvoidconfiguration update time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements local quality by making configuration distribution selective rather than universal. Each host receives configurations only for logical entities that are relevant to its local VMs and network context. The controller determines which hosts need which configurations based on the logical entity's span (the set of hosts with VMs connected to that logical entity), ensuring that configuration data is distributed locally only where needed rather than to all hosts uniformly.

Inventive Principle:
Principle #3Local quality

3Adaptability or versatility

If all hosts store configuration of all logical entities, then any host can handle any logical entity, but the system cannot scale to tens of thousands of logical entities

Engineering Contradiction:
Improvehost flexibilityVSAvoidsystem scalability
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent applies segmentation by dividing the configuration management system into two distinct roles: a controller that maintains the global view of all logical entities and their spans, and hosts that maintain only the local subset of configurations relevant to their VMs. This segmentation allows the system to scale because hosts do not need to store or process configurations for all logical entities, only those within their local scope. The controller handles the global coordination and span computation, enabling the system to manage tens of thousands of logical entities without overwhelming individual hosts.

Inventive Principle:
Principle #1Segmentation

4Reliability

If configuration is pushed to hosts proactively, then hosts are always up-to-date, but unnecessary configurations are transmitted when VMs migrate or disconnect

Engineering Contradiction:
Improveconfiguration currencyVSAvoidtransmitted data volume
Core Design Contradiction:
ReliabilityVSLoss of substance

Solution Approach 1:

The patent implements feedback by establishing a bidirectional communication mechanism between hosts and the controller. When VMs migrate or disconnect from logical entities, hosts notify the controller of these changes. The controller then recomputes the spans of affected logical entities and updates configuration distributions accordingly, pushing configurations only to hosts that currently have VMs connected to those logical entities. This feedback loop ensures that hosts remain up-to-date with configurations only when necessary, avoiding unnecessary transmission when no VMs are affected.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11108846B2Directed graph based span computation and configuration dispatching
Publication Date: 2021.08.31 VMWARE INC
  • US11108846B2 patent drawing
  • US11108846B2 patent drawing
  • US11108846B2 patent drawing

AI summary

A method of determining the span of logical entities in a network is provided. The method generates a directed graph. Each node of the graph corresponds to a logical network entity. Each edge of the graph has one or two directions. A direction from a first node to a second node identifies the first node as the source of span for the second node. The method determines the span of each node based on the direction of the edges of the directed graph. The method groups each set of nodes that are accessible by all other nodes in the set in a strongly connected group (SCC) sub-graph. The method generates a group node in a directed acyclic graph (DAG) to correspond to each SCC sub-graph in the directed graph. The method assigns the span of each SCC to the corresponding group node of the DAG.