Flow Entry Output Table for Network State Consistency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In virtualized networks, maintaining a consistent view of the actualized and desired network states is challenging, leading to network churn and inefficiencies as flows at managed forwarding elements (MFEs) are modified by multiple controllers, causing failures and disconnects.
Innovation Solution
A method using a flow entry output table that maintains reconciled, extra, and missing sets of flow records to align the actualized network state with the desired state, with a computation engine generating flow entries based on user inputs and managing forwarding behaviors across MFEs, and utilizing finite state machines to process and update these records.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple controllers modify flows at MFEs independently, then network flexibility and adaptability improve, but network churn and inconsistency increase
Solution Approach 1:
The system implements feedback mechanisms where MFEs send notifications to controllers about flow changes, and controllers track desired vs. actualized network states. This feedback loop enables controllers to detect inconsistencies and coordinate flow modifications, resolving conflicts while maintaining network flexibility.
Solution Approach 2:
The patent introduces an intermediary state tracking mechanism that maintains separate desired and actualized network state representations. This intermediary layer mediates between multiple controllers and the MFEs, coordinating flow modifications and ensuring consistency without requiring direct controller collaboration.
2Adaptability or versatility
If flows are frequently cleared and re-installed during failures, then network adaptability to failures improves, but network churn and processing overhead increase
Solution Approach 1:
The system performs preliminary actions by pre-computing and tracking the desired network state before failures occur. When failures happen, the system can quickly compare actualized state with the pre-established desired state and apply minimal corrections rather than complete re-installation, reducing churn.
Solution Approach 2:
Controllers continuously monitor the actualized network state through feedback from MFEs and compare it with the desired state. This enables intelligent failure detection and selective flow reinstallation only where necessary, rather than blanket clearing and reinstallation, thereby reducing processing overhead.
3Reliability
If comprehensive flow tracking is implemented across all MFEs, then network state consistency improves, but memory requirements and system complexity increase
Solution Approach 1:
The patent segments the network state tracking into separate desired and actualized state representations, and further divides flow records into reconciled, extra, and missing sets. This segmentation allows the system to track state consistency without managing a single monolithic complex data structure, reducing implementation complexity.
Solution Approach 2:
The system applies local quality by maintaining state information at appropriate granularities - per-MFE level for actualized state tracking, and per-flow-type level for desired state computation. This localized tracking approach achieves comprehensive consistency monitoring while avoiding unnecessary global complexity.
4Difficulty of detecting and measuring
If detailed flow record storage is maintained, then debugging and inspection capabilities improve, but memory consumption increases
Solution Approach 1:
The patent segments flow records into three distinct sets: reconciled (matching flows), extra (flows only in actualized state), and missing (flows only in desired state). This segmentation enables selective storage and processing - only non-reconciled flows need detailed tracking for debugging, while reconciled flows can be stored more efficiently, reducing overall memory consumption.
Data Source
AI summary
Some embodiments provide a novel method for installing flows of a desired network state in an actualized network state of a managed forwarding element. In some embodiments, the method maintains a flow output table based on flow events received from a computation engine for computing desired state, and from a set of managed forwarding elements on which the computed desired state is installed. The method of some embodiments then installs flows on the set of managed forwarding elements based on the flow output table.


