Radix Tree Prefix List Search Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The sequential prefix-list based approach to prefix filtering in network devices becomes inefficient as the size of the prefix list increases, leading to unacceptable delays in updating routing and forwarding tables, especially when dealing with a large number of prefixes.

Innovation Solution

Organizing prefix-list statements into a radix tree structure allows for efficient matching of IP prefix information, reducing the time required to update forwarding tables by using nodes and sub-nodes populated with prefix-list information and employing a Radix-Get-Best routine to quickly identify matches.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a sequential prefix-list approach is used for prefix filtering, then the implementation is simple and easy to understand, but the processing time increases significantly as the prefix list size grows to twenty-thousand statements or more

Engineering Contradiction:
Improveprefix-list implementation complexityVSAvoidprefix matching time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent segments the sequential prefix-list into multiple sub-lists organized in a hierarchical structure. Each sub-list contains a subset of the total prefix statements, allowing the matching process to divide and conquer the search space. This segmentation reduces the number of statements that need to be evaluated sequentially, thereby decreasing matching time while maintaining manageable complexity through organized structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a hierarchical dimension to the previously flat sequential list by organizing sub-lists into parent-child relationships with assigned priorities. This dimensional transformation allows the system to navigate through multiple levels of hierarchy rather than linearly traversing all statements, significantly reducing the search path and matching time for large prefix lists.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Adaptability or versatility

If the prefix list size increases to handle more network routes, then the filtering capability improves, but the time to update routing and forwarding tables becomes unacceptable

Engineering Contradiction:
Improveprefix filtering capabilityVSAvoidrouting table update speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

By dividing the large prefix list into smaller sub-lists, the system maintains comprehensive filtering capability across all routes while enabling faster processing. Each sub-list can be independently evaluated, allowing parallel or optimized sequential processing that preserves adaptability to diverse routing scenarios while improving update speed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary organization of the prefix list into a hierarchical structure with assigned priorities before the actual routing table update process. This pre-processing step groups related prefixes and establishes evaluation order, so that during runtime, the system can quickly navigate to relevant sub-lists and minimize the number of statements evaluated, thereby maintaining high filtering capability while accelerating update operations.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If a sequential walk through prefix-list statements is performed for each received prefix, then all prefix statements can be evaluated, but the process becomes inefficient with fifty-thousand or more prefixes

Engineering Contradiction:
Improveprefix matching accuracyVSAvoidprefix evaluation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The hierarchical segmentation allows the system to evaluate prefixes in organized groups rather than as a single large sequence. By assigning priorities to sub-lists and their parent lists, the system can systematically evaluate relevant subsets of statements, ensuring all applicable prefixes are considered while reducing the total evaluation time through structured navigation and potential early termination in priority-based evaluation.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP2643938B1Method for optimizing a network prefix-list search
Publication Date: 2016.09.07 FORCE10 NETWORKS INC
  • EP2643938B1 patent drawingFigure 1A
  • EP2643938B1 patent drawingFigure 1B
  • EP2643938B1 patent drawingFigure 2A~4

AI summary

A packet network device includes a route processor that operates to maintain one or more forwarding tables and it includes one or more line cards that operate to process information received by the packet network device from the network and to forward the information to its correct destination. The route processor also operates to identify which incoming prefixes can be used to update the forwarding tables or to identify prefixes stored in the packet network device that can be redistributed from one network protocol to another network protocol running on the route processor. A table management function running on the route processor operates to identify the best match between an incoming prefix and information included in policy statement associated with both an ordered prefix-list and a radix tree structure.