Dynamic Processing Trees for Packet Handling
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
2Productivity
If multiple parameter-value-ascertaining orders are maintained, then the processing efficiency is improved, but the memory consumption increases
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
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
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
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
Data Source
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.


