Braided Trie for Virtual Router Memory Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The challenge in virtual network infrastructures is to achieve both isolation and scalability among virtual routers sharing a common physical platform, particularly in scenarios like IPv4-to-IPv6 migration and L3 VPNs, where memory constraints limit the number of virtual routers due to linear memory consumption and differing forwarding table sizes.
Innovation Solution
The solution involves combining packet forwarding and filtering data structures into a single compact braided trie data structure, using trie braiding algorithms to swap child nodes and optimize memory usage, allowing for more efficient sharing of memory resources across virtual routers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If memory is partitioned and allocated to each virtual router, then isolation is achieved, but memory efficiency deteriorates and scalability is limited
Solution Approach 1:
The patent merges multiple virtual router forwarding tables into a single shared forwarding table data structure. Instead of allocating separate memory partitions to each virtual router, the system combines all forwarding entries from multiple virtual routers into one unified structure, enabling efficient memory sharing while maintaining isolation through virtualization mechanisms.
Solution Approach 2:
The shared forwarding table is designed to serve multiple virtual routers simultaneously. A single forwarding table structure performs the function of what would traditionally require multiple separate tables, allowing one data structure to fulfill multiple purposes and support multiple virtual routing instances.
2Reliability
If separate forwarding tables are maintained for each virtual router, then isolation is achieved, but memory consumption increases linearly
Solution Approach 1:
The patent combines multiple separate forwarding tables into a single shared forwarding table. By merging the data structures of multiple virtual routers into one unified table, the system eliminates the linear growth of memory consumption that would occur with separate tables, while still maintaining logical isolation between virtual routers through the sharing mechanism.
3Reliability
If static memory provisioning is used, then isolation is achieved, but adaptability to dynamic forwarding table sizes deteriorates
Solution Approach 1:
The patent implements a dynamic shared forwarding table that can adapt to changing forwarding table sizes. The structure allows virtual router forwarding tables to grow and shrink dynamically based on actual needs, with the shared table automatically adjusting its allocation and organization, eliminating the rigidity of static memory provisioning.
Data Source
AI summary
Packets are processed (e.g., routed or classified) in accordance with a braided trie, which represents the combination of two or more different original tries (e.g., representing different forwarding/classification tables). The different tries are combined by twisting the mappings for specific trie nodes to make the shapes of the different tries more similar. Each node in the braided trie contains a braiding bit for at least one original trie indicating the mapping for that trie's node. Trie braiding can significantly reduce the number of nodes used to represent the different original tries, thereby reducing memory usage and improving scalability. Braided tries can be used for such applications as virtual routers and packet classification in which different forwarding/classification tables are represented by a single braided trie stored in shared memory.


