Flow Table Loop Instruction for Packet Processing Versatility

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

OpenFlow switches require an increased number of flow tables to perform different operations on a single packet, as they must sequentially search and update tables based on specific rules, leading to inefficiencies in processing.

Innovation Solution

Implementing a communication node with a packet processing unit that searches and processes packets using a preset number of flow tables, allowing for loop instructions to iteratively search and execute control information items, thereby reducing the need for multiple tables.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If pipeline processing is used to perform multiple different processing operations on a single packet, then processing versatility is improved, but the number of flow tables required increases

Engineering Contradiction:
Improveprocessing operationsVSAvoidnumber of flow tables
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a nested loop structure where the packet processing unit can iteratively search through the same flow table multiple times. The outer loop iterates through flow tables, and the inner loop (enabled by loop instruction) allows re-searching of the same table, creating a nested iteration pattern that replaces the need for multiple separate flow tables

Inventive Principle:
Principle #7Nested doll (Nesting)

Solution Approach 2:

The flow table is designed to be multi-functional by allowing it to be searched and executed multiple times through the loop instruction mechanism. A single flow table can perform what previously required multiple separate tables, as the same table serves multiple processing stages through iterative searching

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

2Adaptability or versatility

If the table to be searched is changed to perform different operations, then processing flexibility is improved, but the number of flow tables must be increased

Engineering Contradiction:
Improveprocessing operationsVSAvoidnumber of flow tables
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces dynamic control over flow table selection through loop instructions. The packet processing unit can dynamically decide to search the same flow table again based on loop instruction conditions, making the system adaptable without requiring static pre-provisioning of multiple flow tables for different operations

Inventive Principle:
Principle #15Dynamics

3Productivity

If multiple flow tables are retained to apply different operations to a single packet, then processing capability is improved, but device complexity increases

Engineering Contradiction:
Improvepacket processing capabilityVSAvoidnumber of flow tables
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The loop instruction enables continuous useful action by allowing the packet processing unit to re-search the flow table multiple times without interrupting the processing flow. This continuous iteration within the same table maintains processing capability while avoiding the complexity of transitioning between multiple separate tables

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS9769064B2Communication node, packet processing method and program
Publication Date: 2017.09.19 IP WAVE PTE LTD
  • US9769064B2 patent drawing
  • US9769064B2 patent drawing
  • US9769064B2 patent drawing

AI summary

A communication node includes: one or more flow table(s) that stores a control information item(s) as set by a controller; and a packet processing unit that searches for a control information item, having a match condition matching a received packet, from the one or more flow table(s), and processes the received packet in accordance with the control information item. In a case where a preset loop instruction is added in the control information item having the match condition matching the received packet, the packet processing unit performs a preset number of times of search for another control information item in the one or more flow table(s) and execution of the searched control information item.