Unified Trie Data Structure for Multiple FIBs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current packet switching systems face memory constraints when trying to store and access multiple independent sets of forwarding information, particularly in scenarios where multiple virtual routers are emulated on a single physical router, leading to inefficient use of memory space and increased lookup operations.
Innovation Solution
A data structure that uses a single common address lookup structure, such as a tree or trie, to identify leaf nodes for multiple forwarding information bases, allowing each leaf node to contain forwarding information from multiple bases and reducing the need for sequential lookup operations by storing references to entries in a forwarding table, enabling efficient traversal and updating of forwarding information.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple independent FIBs are stored separately in memory, then each FIB can be accessed independently, but the memory space required increases significantly
Solution Approach 1:
The patent merges multiple independent FIBs into a single unified data structure where each FIB is represented by a list of leaf nodes. Instead of storing separate FIBs in memory, the system combines them into one structure that can represent multiple FIBs through shared leaf nodes, significantly reducing memory space while maintaining independent access capability.
Solution Approach 2:
The unified data structure serves multiple functions simultaneously. A single leaf node can serve multiple FIBs, and the same data structure can be used for different virtual routers and physical routers. This multi-functionality eliminates the need for separate memory allocations for each FIB.
2Measurement precision
If sequential lookup operations are performed on multiple FIBs, then forwarding information can be retrieved accurately, but the lookup time increases
Solution Approach 1:
The system pre-establishes a unified data structure that contains forwarding information from multiple FIBs in advance. During packet forwarding, the system only needs to perform a single lookup operation to retrieve the necessary information, eliminating the need for sequential lookups and reducing lookup time while maintaining accuracy.
Solution Approach 2:
The unified data structure acts as an intermediary that consolidates multiple FIB lookups into a single operation. Instead of sequentially querying multiple separate FIBs, the system uses this intermediate structure to retrieve forwarding information in one efficient lookup, reducing time loss while preserving the accuracy of retrieving information from multiple FIBs.
3Productivity
If multiple virtual routers are emulated on a single physical router, then resource utilization increases, but the memory space required for FIBs becomes insufficient
Solution Approach 1:
The patent merges the FIBs of multiple virtual routers into a single unified data structure. Instead of allocating separate memory spaces for each virtual router's FIB, the system combines them into one shared structure that can represent all FIBs efficiently, enabling multiple virtual routers to coexist on a single physical router without exhausting memory space.
Solution Approach 2:
The unified data structure provides universal functionality across all virtual routers and physical routers. A single data structure can serve multiple purposes - representing different virtual routers, handling different forwarding information bases, and efficiently utilizing memory resources regardless of the number of virtual routers being emulated.
Data Source
AI summary
Stored in the leaf nodes of a data structure that can be used for identifying the longest prefix matching an address are corresponding values from multiple forwarding information bases. A single common address lookup data structure (e.g., a tree, trie, etc.) can be used, and a leaf node can contain information from multiple forwarding information bases. If lookup operations are performed for a single address in multiple forwarding information bases, the single common address lookup data structure may only need to be traversed once. For example, the forwarding information for another forwarding information base may be stored in the same leaf, further down in the data structure requiring traversal from the current position, or above requiring traversal from the root of the lookup data structure. Information can be stored in the leaf node to indicate which traversal option is appropriate for a particular forwarding information base.


