Single Lookup Entry for Symmetric Flow Direction Handling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Modern networks face inefficiencies and limitations in managing large numbers of flows due to the separate storage of data for sub-groups of traffic, which consumes LUT space and reduces the number of flows a network entity can support, especially for symmetric/bidirectional flows where redundant data is stored in multiple entries.
Innovation Solution
Implementing a single lookup table entry for symmetric/bidirectional flows using a recipe memory and an action table, where recipes contain information to reorder data and select appropriate actions based on packet direction, allowing different packet treatments without increasing LUT space.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If separate storage of data for sub-groups of traffic is implemented, then different packet treatments are enabled, but LUT space is consumed and the number of supported flows is reduced
Solution Approach 1:
The patent merges symmetric flow entries by storing only one half of the symmetric flow in the LUT, combining what would traditionally require two separate entries. This reduces LUT space consumption while maintaining the ability to handle different packet treatments through the use of a direction indicator field that distinguishes between forward and reverse directions of the same flow.
Solution Approach 2:
The single LUT entry is designed to serve multiple functions by incorporating a direction indicator field that enables the same entry to handle both forward and reverse packet directions. This universal entry can apply different actions based on the direction indicator, eliminating the need for separate dedicated entries for each direction while maintaining treatment flexibility.
2Adaptability or versatility
If separate storage of data for sub-groups of traffic is implemented, then different packet treatments are enabled, but the number of flows that can be communicated is limited
Solution Approach 1:
By merging symmetric flow entries into a single LUT entry that represents both directions of communication, the patent effectively doubles the number of flows that can be supported within the same LUT capacity. Each single entry replaces what would traditionally require two separate entries, thereby increasing productivity in terms of supported flow count.
Solution Approach 2:
The patent introduces a direction indicator field as a new parameter within the LUT entry that enables dynamic differentiation between forward and reverse packet directions. This parameter change allows the system to maintain packet treatment flexibility without requiring separate entries, thereby increasing the number of supported flows.
3Reliability
If redundant data is stored in multiple LUT entries for symmetric flows, then complete flow information is maintained, but LUT space efficiency is reduced
Solution Approach 1:
The patent extracts only the essential flow information needed for symmetric flows and stores it in a single LUT entry, removing the redundancy of storing identical flow information in multiple entries. The direction indicator field is added to differentiate between directions without duplicating the entire flow entry, thereby maintaining information completeness while improving space efficiency.
Solution Approach 2:
Instead of creating separate physical copies of flow entries for symmetric directions, the patent uses a logical copying mechanism where a single entry serves both directions through the direction indicator. This virtual copying approach maintains the appearance of complete flow information while actually storing data only once.
Data Source
AI summary
Disclosed is a mechanism for maintaining a single lookup table entry for symmetric/bidirectional flows. Multiple recipes are stored for each flow. A recipe is employed to select address information from an incoming packet header based on the packet's direction. The address information and an index are employed to generate a lookup key to find the single lookup table entry with the pertinent switching information. The recipe further indicates action pointers in the lookup table entry that are specific to direction. The action pointers point to an address in an action table that contains instructions for actions that are applied to the packet during switching based on the packet's direction.


