SDN Flow Table Parallel Lookup via Dependency Graph Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional data networks face complexity and management challenges due to the tight coupling of control and data planes, which hinders scalability, interoperability, and extensibility, especially in Software Defined Networking (SDN) systems where multiple flow tables are used for traffic forwarding, leading to inefficient lookup processes.
Innovation Solution
The method involves determining the dependency of flow tables within a forwarding element using dependency determination rules, constructing a dependency graph, and forming parallel lookup groups (PLGs) based on dependency degree counts, allowing for simultaneous lookup of flow tables with the same dependency degree, thereby optimizing the flow table lookup process in SDN networks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple flow tables are used for traffic forwarding in SDN systems, then traffic forwarding flexibility and control are improved, but lookup process efficiency deteriorates due to sequential processing requirements
Solution Approach 1:
The patent segments the flow tables into multiple independent groups that can be processed in parallel. By dividing the single sequential lookup process into multiple concurrent lookup operations on separate flow table groups, the system maintains the flexibility of multiple flow tables while improving lookup efficiency through parallel execution.
Solution Approach 2:
The patent introduces a new dimension of parallel processing by organizing flow tables into multiple independent groups that can be accessed simultaneously. This transforms the traditional single-dimension sequential lookup into a multi-dimensional concurrent lookup structure, where independent flow table groups operate in parallel to improve overall lookup throughput.
2Measurement precision
If flow tables are processed sequentially to ensure proper dependency ordering, then lookup accuracy is maintained, but processing time increases
Solution Approach 1:
The patent segments flow tables into independent groups where dependencies are contained within each group. This allows groups with no inter-group dependencies to be processed simultaneously, reducing total processing time while maintaining lookup accuracy through proper intra-group dependency handling.
Solution Approach 2:
The patent performs preliminary analysis to identify and establish dependency relationships between flow tables before the actual lookup process. By pre-determining which flow tables can be processed in parallel and which require sequential processing, the system optimizes lookup accuracy while minimizing processing time through informed parallelization decisions.
3Device complexity
If traditional integrated control plane and data plane are used, then system simplicity is maintained, but network management complexity and fragility increase
Solution Approach 1:
The patent applies segmentation by separating the control plane and data plane into distinct functional components. The control plane handles flow table management and dependency analysis, while the data plane executes parallel lookup operations. This architectural separation simplifies the overall system structure while improving network management capabilities through specialized functional modules.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A method implemented in a Software Defined Networking (SDN) network for flow table lookup parallelization is disclosed. The SDN network contains at least a SDN controller and at least a forwarding element and the SDN network utilizes a plurality of flow tables to perform lookup for forwarding traffic. The method starts with determining dependency of flow tables within the forwarding element using a set of dependency determination rules. A dependency graph is then constructed based on determined dependency of flow tables. A dependency degree count for each flow table within the forwarding element is determined based on the dependency graph. Based on the dependency degree count determination for each flow table, a plurality of parallel lookup groups (PLGs) for the forwarding element is formed, where each parallel lookup group contains one or more flow tables having a same dependency degree count.