SDN Controller Flow Table Reordering for Packet Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Software Defined Networking (SDN) systems experience poor packet processing performance due to sequential processing of flow entries in OpenFlow switches, leading to increased latency for flows that match entries lower in the flow table.
Innovation Solution
Reorganizing flow entries by creating a new flow table or increasing the priority of matching flow entries for active flows that exceed a predefined traffic threshold, allowing them to be matched faster by placing them at the top of the flow table or creating a dedicated flow table for high-bandwidth flows.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If flow entries are processed in sequential order from first to last in the flow table, then the switching logic remains simple and deterministic, but packet processing latency increases for flows that match lower entries
Solution Approach 1:
The patent implements dynamic flow entry reordering based on traffic usage statistics. The SDN controller monitors flow traffic usage and repositions flow entries in the flow table based on their activity level, moving frequently matched entries to higher positions. This dynamic adjustment resolves the contradiction by adapting the static sequential processing structure to actual traffic patterns, reducing latency for active flows without requiring complex hardware changes
Solution Approach 2:
The system performs preliminary actions by pre-positioning flow entries in optimal positions based on predicted or historical traffic patterns. The SDN controller proactively reorders flow entries before traffic bursts occur, ensuring that high-traffic flows are already in optimal positions for fast matching. This preliminary reorganization reduces subsequent packet processing latency without adding runtime complexity to the switching logic
2Productivity
If flow entries are reorganized dynamically based on traffic usage, then packet processing performance improves for active flows, but the complexity of flow table management increases
Solution Approach 1:
The patent implements a feedback mechanism where the SDN controller continuously monitors flow statistics (traffic usage, packet counts) and uses this information to dynamically reposition flow entries. The controller receives feedback from switches about flow performance and adjusts flow table organization accordingly. This feedback loop enables the system to automatically optimize packet processing throughput for active flows while keeping the reorganization logic centralized and manageable
Solution Approach 2:
The SDN controller acts as an intermediary between the flow table management and the actual packet switching operations. Instead of making switches complex with built-in reorganization logic, the controller serves as a centralized mediator that handles all flow entry repositioning decisions. This intermediary approach improves packet processing throughput by optimizing flow positions while isolating the complexity to a single controllable entity rather than distributing it across multiple switches
Data Source
Figure 1
Figure 2
Figure 3A~3B
AI summary
A method is executed by a network device in a network including a plurality of network devices. The network device implements a software defined networking (SDN) controller, where the SDN controller controls a first switch and a second switch in a network. The method improves packet processing performance in the network by 5 reorganizing flow entries to decrease time to match active flows. The method includes receiving flow statistics for a first flow from the first switch, determining, based on the flow statistics for the first flow, that the first flow has a traffic usage that exceeds a pre- defined threshold, and in response to determining that the first flow has a traffic usage that exceeds the pre-defined threshold, programming the second switch to create a new 10 flow table for processing the first flow or to increase a priority for matching a flow entry for the first flow within an existing flow table.