Network Flow Aging With Dynamic Counters for Idle Flow Release
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing network flow management systems waste resources by maintaining counters for network flows that do not end gracefully, particularly for UDP connections, and fail to efficiently release resources when flows hang or terminate unexpectedly.
Innovation Solution
Implement a flow aging process that assigns network flows to a 'waiting pool' for an initial period, then uses per-flow and per-pool packet counters to identify active or inactive flows, releasing resources for inactive flows while reassessing active flows with additional counters to ensure efficient resource utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If packet counters are maintained for all network flows, then resource allocation accuracy is improved, but device complexity and resource consumption increase
Solution Approach 1:
The patent segments network flows into different categories (active flows, idle flows, hanging flows) and applies different counter management strategies to each category. Active flows maintain per-flow packet counters for precise resource allocation, while idle and hanging flows use simplified tracking or no counters, reducing overall device complexity while maintaining measurement precision for flows that need it.
Solution Approach 2:
The patent implements dynamic counter allocation where packet counters are assigned and released based on flow state transitions. Flows dynamically move between states (active ↔ idle ↔ hanging), and counter allocation adapts accordingly. This dynamic approach ensures measurement precision is maintained when needed while reducing complexity by releasing counters when flows become inactive or hang.
2Measurement precision
If packet counters are maintained for hanging flows, then resource allocation accuracy is improved, but resource consumption increases
Solution Approach 1:
The patent implements preliminary detection mechanisms that identify hanging flows before they consume excessive resources. By monitoring flow states and detecting hang conditions early, the system can release packet counters and associated resources promptly, preventing continuous resource consumption while maintaining accurate resource allocation for active flows.
Solution Approach 2:
The patent implements a mechanism to discard (release) packet counters for hanging flows and recover these resources for use with active flows. When a flow is identified as hanging, its associated counter is released back to the counter pool, eliminating wasted resource consumption while ensuring counters are available for flows that actually need resource allocation tracking.
3Loss of time
If flow detection is performed continuously, then resource release timeliness is improved, but processing overhead increases
Solution Approach 1:
The patent implements periodic flow state detection instead of continuous monitoring. The system checks flow states at regular intervals or at specific event triggers (packet arrivals, timeouts), which reduces processing overhead while still achieving timely resource release. This periodic approach balances the need for timely detection with the constraint of processing efficiency.
Data Source
AI summary
In one embodiment, a system includes an interface to send and receive packets of a plurality of network flows, and one or more circuits to track a connection status of each of the network flows, operate a flow aging process to identify idle network flows, in one stage of the flow aging process, assign first network flows of the plurality network flows having a non-terminated connection status to a waiting pool for a first time period, wherein at the end of the first time period second network flows of the first network flows have the non-terminated connection status, and third network flows of the first network flows a terminated connection status, in another stage of the flow aging process, after completion of the first time period, assign per-flow packet counters to perform packet counting of the second network flows, and release resources associated with the idle network flows.


