Flow Entry Reachability Analysis for Virtual Network Memory Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualized network environments, it is challenging to determine which flow entries are necessary for forwarding elements, leading to issues with false positives and false negatives, which can cause problems in the system by either retaining unnecessary entries or eliminating needed ones.

Innovation Solution

The approach involves modeling flow entries as transfer functions on packet headers and performing flow reachability analysis to identify which entries will be used and which will not be used in managed forwarding elements, using techniques such as headerspace analysis to recursively analyze packets and remove unnecessary entries, while accounting for packets received through tunnels and learning actions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If flow entries are retained in managed forwarding elements, then system reliability is improved by ensuring necessary entries are available, but memory usage increases and unnecessary entries may be retained (false positives)

Engineering Contradiction:
Improveflow entry necessityVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts and removes unreachable flow entries from the managed forwarding element. By performing reachability analysis to identify which flow entries can never be matched by any packet, the system removes these unnecessary entries from memory while preserving all reachable entries, thus reducing memory usage without compromising reliability

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent changes the parameter of flow entry reachability from unknown to determined through static analysis. By analyzing the control graph and data dependencies, the system transforms the state of flow entries from potentially including both necessary and unnecessary entries to a refined state where only reachable (necessary) entries are retained

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If flow entries are removed from managed forwarding elements, then memory usage is reduced, but false negatives may occur causing elimination of needed flow entries

Engineering Contradiction:
Improvememory usageVSAvoidflow entry necessity
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent performs preliminary static analysis of the control graph and data dependencies before removing any flow entries. By预先 analyzing which flow entries are reachable through packet matching and data flow propagation, the system ensures that only proven unreachable entries are removed, preventing false negatives while achieving memory optimization

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent replaces dynamic packet injection testing with static reachability analysis. Instead of using mechanical packet injection methods that may produce false negatives, the system uses formal static analysis of control graphs and data dependencies to determine flow entry reachability, providing more reliable results

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Ease of operation

If random packet injection is used to test flow entries, then implementation testing is simplified, but false negative results occur identifying flow entries as unnecessary when they are needed

Engineering Contradiction:
Improvetesting simplicityVSAvoidflow entry reachability accuracy
Core Design Contradiction:
Ease of operationVSMeasurement precision

Solution Approach 1:

The patent replaces mechanical random packet injection testing with static reachability analysis based on control graph examination and data dependency propagation. This substitution eliminates the false negatives inherent in random injection while providing precise determination of flow entry reachability through formal analysis methods

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent performs preliminary static analysis of the control graph structure and data dependencies before any testing occurs. By预先 determining reachability through formal analysis rather than relying on random packet injection, the system achieves both testing simplicity and measurement precision simultaneously

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10680961B2Using headerspace analysis to identify flow entry reachability
Publication Date: 2020.06.09 VMWARE INC
  • US10680961B2 patent drawing
  • US10680961B2 patent drawing
  • US10680961B2 patent drawing

AI summary

Some embodiments provide a method that uses headerspace analysis. The method receives several flow entries for distribution to a set of forwarding elements that implement a logical network. The method models each of the flow entries as a function that operates on a representation of a packet header. The method uses the modeled functions to identify a set of paths from a packet source to a packet destination. For each particular path of the identified paths, the method uses inverses of the modeled functions to determine a set of packet headers. Packets sent from the packet source with any packet header in the set of packet headers follow the particular path through the flow entries.