SDN Controller Flow Table Aggregation for Latency Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing SDN solutions face challenges in handling new flows efficiently, resulting in latency and packet loss due to the need for establishing new entries, which affects TCP sessions and UDP transmission, and are resource-intensive for managing dynamically changing traffic policies.
Innovation Solution
A method that utilizes a server with an SDN controller and switch having flow tables with detailed and aggregated entries, where detailed entries are included in aggregated entries prepared in advance, allowing simultaneous handling and definition of routing policies within a defined time window, optimizing energy consumption and resource utilization to reduce latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If detailed entries are created for each new flow in real-time, then traffic control precision is improved, but latency increases due to waiting for controller response
Solution Approach 1:
The system performs preliminary actions by creating aggregated flow entries in advance that cover multiple potential flows. When a new flow arrives, it is immediately matched against these pre-configured aggregated entries, eliminating the need to wait for controller response. The aggregated entries are later refined into detailed entries through a background optimization process, thus resolving the latency issue while maintaining control precision.
2Productivity
If aggregated entries are used for traffic handling, then processing speed is improved, but traffic control precision deteriorates
Solution Approach 1:
The system dynamically transitions flow entries from aggregated to detailed state. Initially, aggregated entries are used for fast processing. As flows are observed and identified through monitoring, the system dynamically creates detailed entries for these flows in a background optimization process, thereby progressively improving traffic control precision while maintaining high processing speed through the aggregated entry mechanism.
Solution Approach 2:
The system performs periodic optimization of flow entries in the background, converting aggregated entries to detailed entries based on observed traffic patterns. This periodic refinement process gradually improves traffic control precision without disrupting the high-speed processing enabled by aggregated entries, as the conversion happens asynchronously during idle periods.
3Measurement precision
If detailed entries are stored for all flows, then traffic control precision is improved, but memory consumption increases
Solution Approach 1:
Instead of storing detailed entries for all possible flows in advance (which would consume excessive memory), the system preliminarily stores aggregated entries that cover multiple flows. These aggregated entries occupy minimal memory space while still enabling flow matching. Detailed entries are created only for flows that are actually observed, thus maintaining precision for active flows while keeping memory consumption low.
4Adaptability or versatility
If reactive mechanisms are used for new flows, then adaptability is improved, but processing speed deteriorates
Solution Approach 1:
The system performs preliminary actions by pre-configuring aggregated flow entries that can immediately handle new flows without requiring real-time controller intervention. This preliminary setup provides default handling for unknown flows, maintaining high processing speed. The reactive mechanism is preserved for creating detailed entries after flow identification, thus maintaining adaptability while improving initial processing speed.
Data Source
Figure 1~2
Figure 3~4
AI summary
A method of handling packet flow in Software-Defined Network (SDN) comprising a server (11) with a SDN controller (11a) and a SDN switch (12) with a flow table (12a, 12b, 12c) comprising detailed entries (A.1, A.2, A.3 B.1, B.2, B.3, C.1) defining parameters necessary for assigning a packet to a data flow, and a field defining priority, wherein the detailed entries are included in corresponding aggregated entries (A, B, C), which are prepared in advance before commencing handling flows in a time window having a predefined length, according to the invention is characterized in that the controller (11a) acquires from the switch (12) data related to flow statistics for the entries installed in flow tables. An incoming packet (P1) belonging to a new flow is forwarded to the controller (11a), simultaneously being handled according to the corresponding aggregated entry, and the controller (11a) defines, by means of a reactive mechanism, a new detailed entry corresponding to the flow. Furthermore, the controller (11a) proactively modifies the aggregated entries (A, B, C) intended for the use in the next time window, using a static optimisation based on data related to flow statistics, wherein the aggregated entries (A, B, C) have assigned lower priorities than detailed entries (A.1, A.2, A.3 B.1, B.2, B.3, C.1).