Differential Dataflow for Network Grouping Membership

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current network configuration update methods in SDN become inefficient when processing large amounts of updates, as they require sequential propagation through the hierarchy of grouping objects, leading to delays and reduced performance.

Innovation Solution

A differential dataflow approach is implemented to compute grouping object memberships by identifying delta updates and determining a parallel processing arrangement based on dependencies in a directed graph, allowing for efficient distribution of updates to endpoints.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If sequential propagation method is used to process network configuration updates through the hierarchy of grouping objects, then correctness of update propagation is maintained, but processing efficiency deteriorates leading to delays and reduced performance

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidupdate propagation time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the sequential update propagation process into independent parallel tasks by identifying delta updates for each grouping object. Instead of processing updates sequentially through the hierarchy, the system divides the work into separate delta computation tasks that can be executed concurrently, thereby improving processing efficiency while maintaining correctness through dependency management.

Inventive Principle:
Principle #1Segmentation

2Productivity

If parallel processing is implemented to improve update propagation speed, then processing efficiency improves, but system complexity increases due to dependency management requirements

Engineering Contradiction:
Improveupdate propagation speedVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary mechanism in the form of a directed graph that represents dependencies between grouping objects. This graph structure serves as a mediator that manages the complexity of parallel processing by clearly defining which updates must be processed before others, allowing the system to achieve parallel processing speedups without overwhelming system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of time

If delta updates are identified and processed in parallel based on directed graph dependencies, then update propagation time is reduced by 44-71%, but computational overhead increases due to graph construction and dependency analysis

Engineering Contradiction:
Improveupdate propagation timeVSAvoidcomputational overhead
Core Design Contradiction:
Loss of timeVSUse of energy by moving object

Solution Approach 1:

The patent applies preliminary action by constructing the directed graph of grouping object dependencies in advance, before actual update propagation occurs. This pre-computation of the dependency structure allows the system to efficiently manage parallel processing without repeatedly analyzing dependencies during update propagation, thereby reducing the computational overhead associated with dependency management while achieving significant time savings.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11258669B2Differential dataflow approach for computing grouping membership in network controllers
Publication Date: 2022.02.22 VMWARE INC
  • US11258669B2 patent drawing
  • US11258669B2 patent drawing
  • US11258669B2 patent drawing

AI summary

Certain embodiments described herein are generally directed to techniques for computing grouping object memberships in a network. Embodiments include receiving a plurality of network configuration updates. Embodiments include identifying delta updates to a plurality of grouping objects based on the plurality of configuration updates. Embodiments include determining a parallel processing arrangement for the delta updates based on dependencies in a directed graph comprising representations of the plurality of grouping objects. Embodiments include processing the delta updates according to the parallel processing arrangement in order to determine memberships of the plurality of grouping objects. Embodiments include distributing one or more updates to one or more endpoints based on the memberships of the plurality of grouping objects.