SDN Controller Pipeline Generation for Switch Resource Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Switches' packet processing pipelines are not allocated efficiently due to being configured generically to accommodate a wide variety of traffic, leading to suboptimal performance, especially in switches that do not support pipeline customization.

Innovation Solution

The use of flow classes to generate a packet processing pipeline definition, which prioritizes table resources based on flow class characteristics, match fields, and instructions, allowing for customized configuration of packet processing pipelines in switches that support pipeline customization using SDN techniques.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If packet processing pipelines are configured generically to accommodate a wide variety of traffic, then adaptability to different traffic types is improved, but resource allocation efficiency deteriorates

Engineering Contradiction:
Improveadaptability to different traffic typesVSAvoidresource allocation efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent implements dynamic pipeline configuration where the SDN controller generates customized packet processing pipeline definitions based on actual network flow characteristics. The pipeline can be dynamically adjusted by adding, removing, or modifying table resources according to traffic patterns, transforming the static generic configuration into a dynamic adaptive system that optimizes resource allocation for different traffic types.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes key parameters of the packet processing pipeline including the number of table resources, match field configurations, and instruction sets based on flow class characteristics. By varying these parameters according to traffic requirements, the system achieves both adaptability to different traffic types and efficient resource allocation.

Inventive Principle:
Principle #35Parameter changes

2Ease of manufacture

If packet processing pipelines are preconfigured generically, then ease of deployment is improved, but network performance deteriorates

Engineering Contradiction:
Improveease of deploymentVSAvoidnetwork performance
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The system performs preliminary actions by pre-defining flow classes with characteristic parameters and match fields before actual traffic arrives. The SDN controller uses these pre-configured flow class templates to quickly generate optimized pipeline definitions, combining the ease of deployment from preconfiguration with the performance benefits of customized resource allocation.

Inventive Principle:
Principle #10Preliminary action

3Device complexity

If fixed packet processing pipelines are used, then device complexity is reduced, but ability to optimize for specific flows deteriorates

Engineering Contradiction:
Improvepipeline configuration complexityVSAvoidability to optimize for specific flows
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The SDN controller acts as an intermediary between the network applications and the switch hardware. It receives flow class definitions, generates optimized pipeline configurations, and programs the switch accordingly. This intermediary layer abstracts the complexity from the switch itself, allowing fixed hardware with programmable flexibility that can optimize for specific flows without increasing device complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10554563B2Generating a packet processing pipeline definition
Publication Date: 2020.02.04 HEWLETT PACKARD ENTERPRISE DEV LP
  • US10554563B2 patent drawing
  • US10554563B2 patent drawing
  • US10554563B2 patent drawing

AI summary

Example implementations relate to generating a packet processing pipeline definition. According to an example, an SDN controller includes a flow class module to receive flow class registrations specifying flow classes. The flow classes specify characteristics of expected network flows. The controller also includes a pipeline generating module to generate a packet processing pipeline definition to accommodate the expected network flows, the packet processing pipeline definition including table definitions for the flow classes. The SDN controller further includes a communication interface to send the packet processing pipeline definition to a switch.