Secondary Lookup Routing Table Scaling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing routing and switching architecture is limited by the fixed size of routing tables on integrated hardware, which restricts the number of network hops and elements that can be stored, necessitating hardware upgrades and potentially causing service disruptions as the number of network-enabled devices grows exponentially.
Innovation Solution
A method that allows extending the routing and switching architecture by using a companion device to perform secondary lookups in external, scalable memory, dynamically updating and managing routing tables, and transferring routing information to maintain efficient lookups without hardware upgrades, enabling the storage of more addresses than the integrated hardware can handle.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If routing tables are stored on integrated hardware (ASICs or FGPAs), then lookup speed is improved, but the capacity of the routing table is limited to a fixed size
Solution Approach 1:
The routing table is segmented into two parts: a primary routing table stored in integrated hardware (ASIC/FPGA) for fast lookups, and a secondary routing table stored in external memory for extended capacity. The system first searches the hardware-based primary table, and if not found, searches the memory-based secondary table, thus achieving both speed and capacity.
Solution Approach 2:
The solution adds a spatial dimension to the routing table architecture by introducing external memory as a secondary storage layer beyond the integrated hardware. This creates a hierarchical storage structure with hardware (fast, small) and external memory (slower, large), allowing the system to trade off between speed and capacity across different dimensions.
2Quantity of substance
If hardware is upgraded to increase routing table capacity, then the number of storable network elements is improved, but service disruptions occur and cost increases
Solution Approach 1:
The routing table capacity is made dynamic and scalable without hardware changes. The external memory-based secondary routing table can be expanded or contracted as needed, allowing the system to adapt to growing network requirements without fixed hardware constraints and without requiring service disruptions for upgrades.
Solution Approach 2:
A companion device or controller acts as an intermediary between the integrated hardware router and the external memory storage. This intermediary manages the secondary routing table, handles lookup requests when the primary table is exhausted, and coordinates updates, thereby enabling capacity expansion without direct hardware modification and maintaining service continuity.
3Quantity of substance
If a secondary lookup in external memory is performed, then routing table capacity is extended, but lookup time and complexity increase
Solution Approach 1:
The system performs preliminary actions by pre-populating the hardware-based primary routing table with the most frequently accessed routes. This ensures that common lookups are resolved quickly in hardware without needing to access external memory, minimizing the impact of the secondary lookup mechanism on overall performance.
Solution Approach 2:
The system implements a partial secondary lookup approach: instead of always searching external memory, it only performs secondary lookups when the primary hardware table does not contain the destination. This partial action minimizes the time penalty while still providing extended capacity for less frequently accessed routes.
Data Source
AI summary
Various exemplary embodiments relate to a method for routing an incoming packet to a destination, the method including: receiving, at a network device, the incoming packet; determining a destination address of the packet; determining that the destination address is not included in a routing table on the network device; sending a message to a companion device, wherein the message includes the destination address; receiving from the companion device, at the network device, a routing indicator for the destination address; and sending the packet towards a destination consistent with the routing indicator.


