Network Forwarding Apparatus Stateful Processing via Extended Finite State Machines

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

OpenFlow's data plane API limitations prevent stateful processing within network forwarding apparatuses, leading to centralized control plane dependencies, increased signaling load, and processing delays, which can hinder real-time reconfiguration of data plane forwarding behavior.

Innovation Solution

The introduction of Extended Finite State Machines (XFSM) within network forwarding apparatuses allows for stateful processing and action updates without controller interaction, using a state table, flow table, and global variables to determine action and update information, enabling high-speed implementation while maintaining vendor-agnosticism.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Extent of automation

If stateful processing is implemented within network forwarding apparatuses using traditional OpenFlow, then processing capabilities are improved, but controller dependency and signaling load increase

Engineering Contradiction:
Improvestateful processing capabilityVSAvoidcontroller dependency
Core Design Contradiction:
Extent of automationVSDevice complexity

Solution Approach 1:

The patent implements self-service by enabling the network forwarding apparatus to perform stateful processing autonomously using local state tables and finite state machines, without requiring continuous controller intervention. The apparatus maintains its own state information and makes forwarding decisions independently, reducing signaling load and controller dependency while preserving automation capabilities.

Inventive Principle:
Principle #25Self-service

2Ease of operation

If centralized control plane is used for all forwarding decisions, then control simplicity is improved, but processing delays increase

Engineering Contradiction:
Improvecontrol simplicityVSAvoidprocessing delay
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent segments the control functions by separating state maintenance from control plane communication. The data plane apparatus maintains local state tables and performs stateful processing independently, while the control plane remains simplified for configuration and management. This segmentation eliminates the need for continuous controller involvement in forwarding decisions, reducing processing delays while maintaining control simplicity.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If vendor-specific interfaces are used for network apparatus configuration, then implementation flexibility is improved, but network manageability deteriorates

Engineering Contradiction:
Improveimplementation flexibilityVSAvoidnetwork manageability
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent implements universality by using standardized OpenFlow protocols and data structures for state table management and finite state machine configuration. The vendor-neutral approach allows different network apparatuses from various vendors to be managed through a common interface, improving network manageability while maintaining implementation flexibility through the standardized abstraction layer.

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

Data Source

PatentUS10708179B2Method of handling data packets through a conditional state transition table and apparatus using the same
Publication Date: 2020.07.07 CONSORZIO NAZI INTERUNIV PER LE TELECOMM (CNIT)
  • US10708179B2 patent drawing
  • US10708179B2 patent drawing
  • US10708179B2 patent drawing

AI summary

The apparatus (SW) has a plurality of input/output ports (P1, P2, P3, P4, P5) for receiving and transmitting data packets, and comprises a data packets handling circuitry (DPL) arranged to forward data packets between the input/output ports (P1, P2, P3, P4, P5) and an internal apparatus controller (CPL) arranged to control the data packet handling circuitry (DPL); the apparatus controller (CPL) is arranged to store (MEM) at least one state transition table (TT) to be used for controlling the forwarding of data packets by the data packets handling circuitry (DPL); the apparatus controller (CPL) is arranged to use the state transition table (TT) for implementing at least one finite state machine (FSM); the apparatus controller (CPL) is arranged to use the state transition table (TT) for handling separately distinct incoming data packets flows through corresponding distinct instances of finite state machine; the state transition table (TT) corresponds to the combination of a state table (ST), a condition table (CT) and a flow table (FT); the apparatus controller (CPL) is arranged to store (MEM) the state table (ST), the condition table (CT) and the flow table (FT); the apparatus controller (CPL) comprises a condition logic (CL) for calculating conditions stored in the condition table (CT) based on data from the state table (ST) in order to query the flow table (FT).