Network Processor Policy Trees for Lower Replica Rates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High-speed network processors face challenges such as high replica rates due to non-optimal boundary selection, inflexible IP range support, duplicate boundary checks, inefficient policy priority comparisons, and unconfigurable dimension sets, leading to performance deterioration and system failures.

Innovation Solution

A policy tree builder generates an optimized policy tree image through recursive operations on the raw policy set, selecting boundaries and partition numbers based on dimension selection, configuring network processor hardware with registers, tables, and instructions to improve policy search efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If non-optimal cutting boundaries are used for policy partitioning, then the policy search process is simpler, but the replica rate of policies increases significantly

Engineering Contradiction:
Improvepolicy search processVSAvoidpolicy replica rate
Core Design Contradiction:
Device complexityVSQuantity of substance

Solution Approach 1:

The patent dynamically adjusts boundary selection parameters and partitioning strategies based on policy characteristics. By changing the cutting boundary parameters from fixed to adaptive, the system optimizes the balance between search simplicity and policy replication, reducing memory footprint while maintaining search efficiency.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The policy partitioning structure transitions from static to dynamic, where boundaries and partitions are adaptively determined based on policy distribution characteristics. This dynamic approach allows the system to optimize partitioning for each specific policy set, minimizing replicas while keeping the search process manageable.

Inventive Principle:
Principle #15Dynamics

2Productivity

If power-of-two width boundaries are enforced for IP ranges, then the boundary check process is more efficient, but the flexibility to support arbitrary IP ranges is lost

Engineering Contradiction:
Improveboundary check efficiencyVSAvoidIP range support flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent segments the boundary checking process into multiple stages: first checking power-of-two aligned boundaries for quick filtering, then handling arbitrary IP ranges in subsequent refinement stages. This segmentation allows efficient processing of common cases while maintaining support for arbitrary ranges when needed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system applies partial power-of-two optimization by using aligned boundaries for initial filtering passes, then applies exact arbitrary range matching for remaining cases. This partial application of optimization maintains efficiency for the majority of cases while preserving full flexibility for edge cases.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If all boundaries are checked at every node during policy search, then no policy matches are missed, but duplicate boundary checks increase processing time

Engineering Contradiction:
Improvepolicy match accuracyVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary boundary checking at parent nodes before traversing to child nodes. By checking boundaries in advance and pruning branches that cannot contain matches, the system eliminates duplicate checks while ensuring no valid policies are missed, reducing processing time without compromising accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system extracts and checks critical boundaries at higher levels of the policy tree before descending to detailed node evaluations. By taking out essential boundary checks and performing them preliminarily, the system avoids redundant checks at lower levels while maintaining complete policy match accuracy.

Inventive Principle:
Principle #2Taking out (Extraction)

4Reliability

If linear comparison of all policy priorities is performed, then the correct highest priority policy is guaranteed, but the comparison process becomes inefficient

Engineering Contradiction:
Improvepolicy priority accuracyVSAvoidpriority comparison efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Policies are pre-sorted by priority during the policy loading and initialization phase. This preliminary sorting allows the search process to traverse the policy tree in priority order, guaranteeing that the first matching policy encountered is the highest priority match, eliminating the need for linear comparison of all matches during runtime.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of collecting all matching policies and then comparing their priorities, the system inverts the approach by organizing policies in priority order from the start and stopping the search as soon as the first match is found. This inversion transforms a two-phase process (match collection + priority comparison) into a single efficient phase.

Inventive Principle:
Principle #13The other way round (Inversion)

Data Source

PatentUS12375411B2Generic tree policy search optimization for high-speed network processor configuration
Publication Date: 2025.07.29 FORTINET INC
  • US12375411B2 patent drawing
  • US12375411B2 patent drawing
  • US12375411B2 patent drawing

AI summary

A raw policy set is received for the network processor and a dimension bitmap corresponding to the raw policy set. From the raw policy set, a policy tree builder generates a policy tree image from a set of recursive operations on the raw policy set including selecting boundaries of the raw policy set from cuts on a given dimension of the raw policy set, the dimension cut based on a dimension selection and a partition number selection for the raw policy set. Network processor hardware is configured according to the policy tree image including at least one set of registers, at least one set of tables, and at least one sequence of instructions. At runtime, the network processor applies the optimized policy set to processing of the packet session from the data communication network by the network processor hardware.