Flow Cache Granular Updates for SDN Packet Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In Software-Defined Networking (SDN) environments, conventional flow cache updates are inefficient as they often require relearning entire action sets upon configuration changes, affecting packet processing performance and leading to bottlenecks, especially during increased traffic volumes.

Innovation Solution

A network element configures flow cache information with dependency information to identify and update only the actions affected by configuration changes, allowing for granular updates that maintain unaffected actions, thereby reducing unnecessary updates and improving efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional flow cache updates relearn entire action sets upon configuration changes, then flow cache information is updated, but packet processing efficiency deteriorates due to unnecessary redundant updates and bottlenecks

Engineering Contradiction:
Improveflow cache information accuracyVSAvoidpacket processing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the flow cache information into multiple independent action sets (first action set, second action set, third action set, etc.), each corresponding to different configuration parameters. When a configuration change occurs, only the affected action set is updated rather than relearning the entire action set. This segmentation enables selective updates that maintain accuracy while improving packet processing efficiency by avoiding redundant updates to unaffected actions.

Inventive Principle:
Principle #1Segmentation

2Reliability

If entire action sets are relearned upon any configuration change, then flow cache information remains accurate, but system complexity increases due to unnecessary processing overhead

Engineering Contradiction:
Improveflow cache information accuracyVSAvoidupdate processing complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The flow cache is divided into multiple independent action sets with clear boundaries. Each action set is associated with specific configuration parameters, allowing the system to identify and update only the relevant segment when a configuration change occurs. This reduces update processing complexity by eliminating the need to relearn entire action sets while maintaining accuracy through targeted updates.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements self-service mechanisms by automatically identifying which action sets are affected by configuration changes and updating only those specific sets. The network element autonomously determines the scope of updates needed based on the type of configuration change, reducing unnecessary processing overhead while ensuring flow cache information remains accurate.

Inventive Principle:
Principle #25Self-service

3Productivity

If granular updates are implemented to update only affected actions, then packet processing efficiency improves, but device complexity increases due to dependency tracking requirements

Engineering Contradiction:
Improvepacket processing efficiencyVSAvoiddependency information management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments flow cache actions into distinct action sets with defined dependencies on configuration parameters. Each action set is independently manageable, allowing efficient updates without requiring complex cross-action dependency tracking. The segmentation provides a natural structure that simplifies dependency management while enabling granular updates to improve packet processing efficiency.

Inventive Principle:
Principle #1Segmentation

4Ease of manufacture

If conventional flow cache updates are used, then implementation is simple, but loss of time occurs due to redundant relearning of unaffected actions

Engineering Contradiction:
Improveupdate implementation simplicityVSAvoidflow cache update time
Core Design Contradiction:
Ease of manufactureVSLoss of time

Solution Approach 1:

The flow cache is segmented into multiple independent action sets that can be updated selectively. This segmentation maintains implementation simplicity by providing a clear structure for identifying affected actions, while simultaneously reducing flow cache update time by avoiding redundant relearning of unaffected actions. The segmented approach balances simplicity with efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs self-service by automatically identifying which action sets require updates based on configuration changes. This self-identification mechanism reduces flow cache update time by eliminating unnecessary relearning operations while maintaining ease of implementation through automated decision-making about which segments to update.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11882052B2Updating flow cache information for packet processing
Publication Date: 2024.01.23 VMWARE INC
  • US11882052B2 patent drawing
  • US11882052B2 patent drawing
  • US11882052B2 patent drawing

AI summary

Example methods and systems to perform flow cache information update(s) for packet processing are described. In one example, a network element may configure flow cache information specifying a set of actions based on a sequence of stages that is executable during slow-path packet processing. The network element may configure dependency information specifying execution dependence or independence among the set of actions during fast-path packet processing. In response to detecting a configuration change associated with stage(s) from the sequence of stages, the network element may identify first action(s) affected by the configuration change and second action(s) not affected by the configuration change. This way, a granular update may be performed to the flow cache information by updating the at least one first action, but not the at least one second action.