Dynamic Compressed Trie for High-Speed Route Lookup
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
Data Source
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.


