Enhanced Tree Bitmap for Router Longest Prefix Match
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current tree bitmap implementations in router systems face inefficiencies in determining a longest prefix match due to high memory access requirements, particularly when accessing multiple internal nodes across limited memory channels, which can lead to reduced packet forwarding rates.
Innovation Solution
The enhanced tree bitmap data structure minimizes internal node accesses by storing a pointer to the best matching leaf node in each search node, allowing direct access to results without parsing internal nodes, and organizes internal nodes within child arrays to avoid accessing multiple memory channels.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional tree bitmap data structures are used with separate internal nodes stored in memory, then the routing lookup functionality is complete, but the number of memory accesses increases and packet forwarding rate decreases
Solution Approach 1:
The patent merges internal nodes with their parent search nodes by storing them within the same memory location. This eliminates separate memory accesses for internal nodes, reducing total memory access time and increasing packet forwarding rate while maintaining complete routing lookup functionality.
2Speed
If internal nodes are stored in separate memory modules, then memory access parallelism is improved, but memory resource consumption increases
Solution Approach 1:
The patent combines internal nodes and search nodes into unified memory structures, reducing the total quantity of memory resources required. By eliminating redundant storage of internal nodes in separate memory modules, the patent decreases overall memory consumption while maintaining efficient access speeds through optimized memory organization.
Data Source
AI summary
Methods and apparatus are disclosed for generating and using an enhanced tree bitmap data structure in determining a longest prefix match, such as in a router, packet switching system. One implementation organizes the tree bitmap to minimize the number of internal nodes that must be accessed during a lookup operation. A pointer is included in each of the trie or search nodes to the best match so far entry in the leaf or results array which allows direct access to this result without having to parse a corresponding internal node. Moreover, one implementation stores the internal node for a particular level as a first element in its child array. Additionally, one implementation uses a general purpose lookup engine that can traverse multiple tree bitmaps or other data structures simultaneously, and perform complete searches, partial searches, and resume partial searches such as after receiving additional data on which to search.


