Programmable Switch Service Function Chaining via Segmented Flow Tables

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing service function chaining systems face inefficiencies in handling traffic due to the implementation of service functions on programmable data planes without considering service function chain characteristics, leading to issues with traffic processing and latency.

Innovation Solution

A programmable switch-based service function chaining system that includes a PDP management module for processing and implementing service function chain entities on a programmable data plane, using a parser and deparser to manage packet headers and ensure correct processing order, thereby addressing the inefficiencies in traffic handling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If service functions are implemented on a programmable data plane without considering service function chain characteristics, then traffic processing speed is improved, but traffic processing correctness and latency requirements are not met

Engineering Contradiction:
Improvetraffic processing speedVSAvoidtraffic processing correctness
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The service function chain is segmented into multiple service function chain entities (SFCEs) that are implemented as separate flow tables in the programmable data plane. Each SFCE processes specific packets according to the SFC order, ensuring correct traffic processing while maintaining high-speed line-rate performance. The segmentation allows the system to handle different traffic types differently, preventing incorrect processing of all traffic.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by installing multiple flow tables with predetermined rules into the programmable data plane before traffic arrives. These flow tables are configured in advance to process packets in the correct SFC order, so when traffic arrives, it is immediately processed correctly without requiring complex runtime decisions, thus maintaining both speed and correctness.

Inventive Principle:
Principle #10Preliminary action

2Device complexity

If service functions are implemented on a programmable data plane without considering service function chain characteristics, then device complexity is reduced, but service function chain order processing capability is lost

Engineering Contradiction:
Improvedata plane implementation complexityVSAvoidservice function chain order processing capability
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The service function chain processing capability is segmented into multiple independent flow tables, each handling a specific SFCE. This segmentation allows the programmable data plane to maintain simple device architecture while gaining the versatility to process different SFC orders by simply configuring different flow table sequences, without requiring complex runtime reconfiguration.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The programmable data plane is designed with universal multi-functionality by implementing a framework that can accommodate multiple SFCEs in different orders. The same data plane infrastructure can process various service function chains by loading appropriate flow tables, providing both simplicity and adaptability across different SFC scenarios.

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

3Adaptability or versatility

If all traffic passing through the programmable data plane is processed by service functions, then service function coverage is improved, but latency increases for traffic not requiring service functions

Engineering Contradiction:
Improveservice function coverageVSAvoidtraffic latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system applies local quality by configuring flow tables with specific match conditions that identify only the traffic requiring service function processing. Different portions of traffic are treated differently: matching traffic is processed by SFCEs while non-matching traffic passes through without service function processing, thus reducing latency for unaffected traffic while maintaining comprehensive coverage for required traffic.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

Instead of processing all traffic through service functions, the system applies partial action by selectively processing only the subset of traffic that requires service functions. The flow tables are configured to match specific traffic patterns, applying service function processing only where necessary, thereby avoiding unnecessary latency for traffic that does not require such processing.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11831510B2Programmable switch-based service function chaining system and method
Publication Date: 2023.11.28 KOREA UNIV RES & BUSINESS FOUND
  • US11831510B2 patent drawing
  • US11831510B2 patent drawing
  • US11831510B2 patent drawing

AI summary

A service function chaining system is provided. The service function chaining system includes a PDP management module implementing SFC entities in consideration of an order of a service function chain (SFC) on a programmable data plane (PDP) and an SFC management module that transmits a first SFC entity information, which is information on SFC entities to be implemented on the PDP, to the PDP management module or transmits an SFC rule to a node included on the PDP, and the PDP management module includes a receiving unit for receiving the first SFC entity information, a processing unit for generating a second SFC entity information by processing the first SFC entity information to enable the SFC entities to be implemented on the PDP and to be processed according to an SFC order, and implementing unit for implementing the SFC entities on the PDP using the second SFC entity information.