Dynamic Lookup Table Resizing for Packet Forwarding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing load balancing techniques in packet forwarding systems face challenges in efficiently distributing traffic load among nodes, leading to uneven traffic distribution and potential performance issues when nodes are added or removed, as they require static provisioning of lookup tables, which can result in inefficient memory usage and performance bottlenecks.
Innovation Solution
The system dynamically adjusts the size of the lookup table by modifying the subset of bits used in the mapping value to index nodes, allowing for the addition or removal of nodes while maintaining even traffic distribution, using a predetermined hash function and expanding the lookup table by adding bit positions to accommodate new nodes, thereby decoupling the hash function from the lookup table and minimizing remapping of packet flows.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a static lookup table is provisioned to accommodate the maximum number of nodes, then the system can handle any number of nodes up to the maximum, but memory usage is inefficient when fewer nodes are active
Solution Approach 1:
The patent implements a dynamic lookup table that automatically resizes its capacity based on the current number of active nodes in the network. When nodes are added or removed, the lookup table adjusts its size accordingly, using bit positions from the hash function output to determine the appropriate table size. This eliminates the need for static overprovisioning while maintaining the ability to handle varying numbers of nodes efficiently.
2Adaptability or versatility
If the lookup table size is increased to accommodate new nodes, then traffic distribution can be maintained, but existing packet flows may be remapped causing disruptions
Solution Approach 1:
The patent employs a predetermined hash function that consistently maps packet flows to specific bit positions. When the lookup table needs to be resized to accommodate new nodes, the system uses the same hash function with adjusted bit positions to determine new table sizes. This preliminary establishment of the hashing mechanism ensures that packet flows are remapped in a controlled and predictable manner, minimizing disruptions while accommodating node additions.
3Productivity
If a fixed number of bit positions is used for indexing, then the lookup table size is fixed, but the system cannot adapt when nodes are added or removed
Solution Approach 1:
The patent changes the parameter of bit positions used from the hash function output based on the current number of active nodes. When nodes are added or removed, the system adjusts which bit positions are utilized to index the lookup table. This dynamic parameter adjustment allows the lookup table size to scale with the number of nodes while maintaining efficient packet forwarding through consistent hashing.
Data Source
AI summary
Packet forwarding includes creating a first lookup table for mapping packets to nodes based on the number of nodes in a first set of nodes. A received packet is mapped to a mapping value using a predetermined mapping function. The first lookup table is indexed using a first subset of bits comprising the mapping value. A second lookup table is created in response to adding a node to the first set of nodes. A subsequently received packet is mapped to a mapping value using the same predetermined mapping function to index the second lookup table using a second subset of bits comprising the mapping value.


