SDN Controller Flow Table Aggregation for Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvetraffic control precisionVSAvoidlatency
Core Design Contradiction:
Measurement precisionVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If aggregated entries are used for traffic handling, then processing speed is improved, but traffic control precision deteriorates

Engineering Contradiction:
Improveprocessing speedVSAvoidtraffic control precision
Core Design Contradiction:
ProductivityVSMeasurement precision

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #19Periodic action

3Measurement precision

If detailed entries are stored for all flows, then traffic control precision is improved, but memory consumption increases

Engineering Contradiction:
Improvetraffic control precisionVSAvoidmemory consumption
Core Design Contradiction:
Measurement precisionVSQuantity of substance

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.

Inventive Principle:
Principle #10Preliminary action

4Adaptability or versatility

If reactive mechanisms are used for new flows, then adaptability is improved, but processing speed deteriorates

Engineering Contradiction:
Improveadaptability to new flowsVSAvoidprocessing speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3531622B1Method of handling packet flow in software-defined network, computer program product, and software-defined network
Publication Date: 2020.01.08 ACAD GORNICZO HUTNICZA IM STANISLAWA STASZICA
  • EP3531622B1 patent drawingFigure 1~2
  • EP3531622B1 patent drawingFigure 3~4
  • EP3531622B1 patent drawing

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).