SDN Device Multi-Flow Table Packet Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing software defined networking (SDN) structure faces inefficiencies due to the clear separation between the control and data planes, leading to delays and performance issues in packet processing, as most tasks requiring intelligence must be processed in the control plane.

Innovation Solution

A network device with multiple flow tables and function modules, where an entry module determines whether to perform a table search or function module execution, allowing for modularized packet processing and enabling instructions to designate subsequent operations, such as table searches or function module executions, to be performed until an output instruction is given.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If clear separation between control plane and data plane is implemented, then control and forwarding functions are simplified, but packet processing delay increases and performance deteriorates

Engineering Contradiction:
Improvecontrol plane complexityVSAvoidpacket processing delay
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent segments the packet processing function into multiple flow tables (first flow table, second flow table, etc.) within the data plane. Each flow table handles specific processing tasks, allowing intelligent processing to be distributed across multiple tables rather than requiring all intelligence to be in the control plane. This segmentation enables the data plane to perform complex processing locally, reducing delays while maintaining simplified control plane design.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension to the data plane by adding multiple flow tables with different processing capabilities. Instead of relying solely on the control plane for intelligence, the system adds processing dimensions within the data plane itself through the multi-table architecture. This allows packet processing to occur at multiple levels within the data plane, reducing the need for frequent control plane communication.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Device complexity

If clear separation between control plane and data plane is implemented, then control and forwarding functions are simplified, but performance for frequently exchanging packets deteriorates

Engineering Contradiction:
Improvecontrol plane complexityVSAvoidpacket processing throughput
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent implements preliminary action by pre-configuring multiple flow tables with different processing functions and rules. The data plane is pre-equipped with the intelligence needed to handle various packet processing scenarios locally. When packets arrive, the data plane can immediately perform processing using the pre-configured flow tables without needing to communicate with the control plane for each packet, thereby improving throughput while maintaining simplified control plane architecture.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent enables the data plane to serve itself by implementing intelligent processing capabilities directly within the data plane through multiple flow tables. The data plane can autonomously perform packet processing, matching, and forwarding decisions using the flow tables, reducing dependency on the control plane for routine packet processing. This self-service capability improves processing throughput while keeping the control plane simple.

Inventive Principle:
Principle #25Self-service

3Productivity

If multiple flow tables and function modules are added to enable intelligent processing in data plane, then packet processing efficiency improves, but device complexity increases

Engineering Contradiction:
Improvepacket processing efficiencyVSAvoiddata plane complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the data plane into multiple specialized flow tables (first flow table, second flow table, etc.), each handling specific processing tasks. This segmentation allows the complex processing functions to be divided into manageable, specialized components. Each flow table can be independently configured and optimized, making the overall complexity more manageable while achieving high processing efficiency through specialized processing paths.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements multi-functionality by designing flow tables that can handle various packet processing operations (matching, filtering, forwarding, etc.) within the data plane. The flow tables are designed to be universal in their capability to process different types of packets and perform different operations, reducing the need for separate specialized hardware for each function. This multi-functionality approach improves processing efficiency while controlling complexity through standardized, versatile processing elements.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS9577924B2SDN-based network device with extended function and method of processing packet in the same device
Publication Date: 2017.02.21 ELECTRONICS & TELECOMM RES INST
  • US9577924B2 patent drawing
  • US9577924B2 patent drawing
  • US9577924B2 patent drawing

AI summary

Extension of a function of an Software defined networking (SDN) network device is provided. The network device includes a plurality of flow tables, a plurality of function modules configured to perform different processing on a packet, and an entry module configured to determine an operation to be performed first on the packet between a table search operation and a function module execution operation, in which as a result of the operation determined by the entry module, a table search operation or a function module execution operation to be performed next is designated, and the designation is repeated until an output instruction for the packet is given.