Flow Classification Hardware Engine for Burst Flow Learning
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing network devices face challenges in efficiently learning and managing high rates of new packet flows, particularly during bursts, due to software-based flow learning limitations.
Innovation Solution
A network device with a packet processor and flow classification hardware engine that automatically assigns flow IDs to new packets and periodically unlearns oldest flows to maintain table space for new ones, using a combination of hardware and embedded processors to manage flow state information and classification.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If software-based flow learning is used in network devices, then flow monitoring can be implemented, but the device cannot efficiently learn and manage high rates of new packet flows during bursts
Solution Approach 1:
The patent replaces software-based flow learning with a hardware-based flow classification engine that automatically classifies packet flows and manages flow state information. This hardware implementation enables the device to learn and manage high rates of new packet flows during bursts while maintaining continuous flow monitoring, resolving the contradiction between flow learning rate and monitoring continuity.
2Adaptability or versatility
If the flow information table is full, then existing flows are monitored, but new flows cannot be learned
Solution Approach 1:
The patent implements a dynamic flow state management mechanism where the flow classification engine automatically performs flow state transitions including learning new flows, promoting active flows, and evicting inactive flows. This dynamic management allows the system to adapt to changing traffic patterns and accept new flows even when the table appears full, as flows continuously transition between states and storage space is dynamically reallocated.
3Productivity
If hardware flow classification is implemented, then high rate flow learning is enabled, but device complexity increases
Solution Approach 1:
The patent designs a flow classification hardware engine that performs multiple functions including flow classification, flow state information storage, automatic flow state transitions, and interaction with the packet processor's forwarding plane. By consolidating these functions into a single multi-functional hardware component, the system achieves high flow learning rates without proportionally increasing overall device complexity.
Data Source
AI summary
In a network device, a flow classification hardware engine is configured to: store flow state information regarding known flows of packets in a flow information table in association with respective assigned flow identifiers (IDs). The assigned flow IDs are from an ordered set of M flow IDs, where M is a positive integer. In response to detecting new flows of packets, the flow classification hardware engine: i) assigns respective flow IDs, from the ordered set of M flow IDs, to the new flows, and ii) creates respective entries in the flow information table for the new flows. An embedded processor periodically, as part of a background process: i) identifies an oldest assigned flow ID, from the ordered set of M flow IDs, and ii) makes storage space in the flow information table corresponding to the oldest assigned flow ID available for a new flow.


