Dynamic Processing Trees for Packet Handling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Packet-processing devices, such as network interface controllers (NICs), face performance compromises due to suboptimal parameter-value-ascertaining orders when processing packets based on a large number of parameters, leading to inefficient processing rates and memory consumption.

Innovation Solution

Implement a system where packet-processing devices try various parameter-value-ascertaining orders, compute scores based on metrics like packet processing rate and memory usage, and select the highest-scoring order for future use, allowing the top-scoring orders to 'evolve' through score-boosting changes, thereby optimizing packet processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If packet-processing devices use a fixed parameter-value-ascertaining order, then the device complexity is reduced, but the processing efficiency deteriorates when dealing with large numbers of parameters

Engineering Contradiction:
Improvepacket processing rateVSAvoidprocessing sequence complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic processing trees where the parameter-value-ascertaining order is not fixed but adapts based on packet characteristics. The system maintains multiple processing sequences and dynamically selects the optimal sequence for each packet or packet subset, allowing the processing structure to be flexible and adaptive rather than static, thereby improving processing efficiency without requiring overly complex fixed structures

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the processing parameters by maintaining multiple parameter-value-ascertaining orders and selecting different sequences based on packet characteristics. This allows the processing approach to be adjusted dynamically - changing which parameters are checked first or even which parameters are relevant for specific packet types, optimizing processing efficiency for diverse traffic patterns

Inventive Principle:
Principle #35Parameter changes

2Productivity

If multiple parameter-value-ascertaining orders are maintained, then the processing efficiency is improved, but the memory consumption increases

Engineering Contradiction:
Improvepacket processing rateVSAvoidmemory consumption
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent applies local quality by maintaining different parameter-value-ascertaining orders in different contexts or for different packet subsets. Rather than uniformly maintaining all possible sequences everywhere, the system selectively maintains and applies specific sequences based on local packet characteristics, traffic patterns, or processing stages, optimizing memory usage while preserving processing efficiency benefits

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system dynamically manages the set of maintained sequences, adding or removing sequences based on observed traffic patterns and performance metrics. This dynamic maintenance strategy ensures that memory resources are allocated to the most beneficial sequences rather than statically pre-loading all possible sequences, balancing memory consumption with processing efficiency

Inventive Principle:
Principle #15Dynamics

3Productivity

If the parameter-value-ascertaining order is optimized for specific packet types, then the processing rate for those packets is improved, but the adaptability to handle diverse packet types deteriorates

Engineering Contradiction:
Improveprocessing rateVSAvoidpacket type adaptability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements universality by designing a processing system that maintains multiple parameter-value-ascertaining orders and can select among them based on packet characteristics. This multi-functional approach allows the same processing device to efficiently handle diverse packet types by applying the appropriate specialized sequence for each type, rather than requiring separate dedicated processing paths for each packet type

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

Data Source

PatentUS11398979B2Dynamic processing trees
Publication Date: 2022.07.26 MELLANOX TECHNOLOGIES LTD(IL)
  • US11398979B2 patent drawing
  • US11398979B2 patent drawing
  • US11398979B2 patent drawing

AI summary

A method includes receiving a plurality of rules for processing packets arriving at at least one packet-processing device, the rules being based on multiple parameters associated with the packets. The method further includes causing the packet-processing device to process multiple subsets of the packets using different respective sequences of packet-processing instructions, which implement the rules via different respective parameter-value-ascertaining orders for ascertaining respective values of the parameters for each of the packets. The method further includes, based on the processing of the subsets, computing respective scores for the sequences of packet-processing instructions. The method further includes, based on the scores, selecting one of the sequences of packet-processing instructions. The method further includes causing the packet-processing device to process the packets using the selected sequence of packet-processing instructions. Other embodiments are also described.