Dynamic Compressed Trie for High-Speed Route Lookup

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional network routing systems face inefficiencies in dynamically managing route changes and accommodating varying prefix scales, requiring reconfiguration of memory tiles and lacking flexibility in high-speed IP address lookups.

Innovation Solution

The implementation of a dynamic storage method using pivot tiles with a processor that allocates memory based on base-widths for prefixes, combined with trie compression and next-hop sharing, allowing for efficient storage and lookup of IP addresses, enabling flexible handling of route changes and increased scalability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional memory tiles are used for route lookup, then the system can store routing information, but the system requires reconfiguration when route changes occur and cannot efficiently accommodate varying prefix scales

Engineering Contradiction:
Improveflexibility in handling route changesVSAvoidmemory tile reconfiguration complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic memory allocation where pivot tiles can be allocated and deallocated based on current routing needs. The system dynamically adjusts the number of active pivot tiles and their associations with route prefixes, allowing the memory structure to adapt to changing network routes without requiring complete reconfiguration of the entire memory tile system.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The routing memory is segmented into multiple pivot tiles, each capable of storing a specific number of prefixes based on their base-width. This segmentation allows the system to divide the routing table into manageable portions that can be independently managed and allocated, reducing the complexity of reconfiguration when routes change.

Inventive Principle:
Principle #1Segmentation

2Productivity

If the system stores all possible prefix combinations in memory, then route lookup can be performed, but the memory usage increases and scalability is reduced

Engineering Contradiction:
Improveroute lookup speedVSAvoidmemory usage
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent applies different storage characteristics to different parts of the routing table based on the base-width of prefixes. Pivot tiles are allocated with specific capacities matched to the requirements of their associated prefixes, ensuring that memory resources are used efficiently rather than uniformly. This local optimization allows high-speed lookup for frequently accessed routes while minimizing overall memory consumption.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system changes the storage parameters dynamically by adjusting the number of pivot tiles and their capacities based on the actual routing table contents. When routes are added or removed, the system recalculates the optimal memory allocation and adjusts the pivot tile configuration accordingly, maintaining efficient memory usage while preserving fast lookup performance.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If the system uses a fixed memory structure for routing, then implementation is simple, but the system cannot efficiently handle varying prefix scales and route changes

Engineering Contradiction:
Improveaccommodation of varying prefix scalesVSAvoidimplementation simplicity
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The pivot tile structure serves multiple functions: it stores routing information, dynamically adapts to different prefix scales, and provides efficient memory allocation. The same pivot tile mechanism handles both the storage of current routes and the management of memory resources, eliminating the need for separate fixed structures and simplifying the overall implementation while enhancing adaptability.

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

Data Source

PatentUS10284472B2Dynamic and compressed trie for use in route lookup
Publication Date: 2019.05.07 CISCO TECHNOLOGY INC
  • US10284472B2 patent drawing
  • US10284472B2 patent drawing
  • US10284472B2 patent drawing

AI summary

In one embodiment, a method includes receiving a request to add a prefix to memory for a route lookup at a forwarding device, the memory comprising a plurality of pivot tiles for storing pivot entries, each of the pivot entries comprising a plurality of prefixes and a pointer to a trie index, searching at the forwarding device, a dynamic pool of the pivot tiles based on a base-width associated with the prefix, allocating at least a portion of the pivot tile to the base-width and creating a pivot entry for the prefix and other prefixes with a corresponding base-width, and dynamically updating prefixes stored on the pivot tiles based on route changes to optimize storage of prefixes on the pivot tiles. An apparatus and logic are also disclosed herein.