Flow Entry Reachability Analysis for Virtual Network Memory Optimization
Find Innovative SolutionsGenerate 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
Engineering 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)
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
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
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
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
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
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
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
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
Data Source
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.


