Flow-Based Network Traffic Queuing for Scalable Bandwidth Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional flow-based bandwidth allocation techniques are insufficiently scalable due to high memory requirements, limiting the number of supported flows and leading to system overload when the ceiling is reached.
Innovation Solution
A method and network device architecture that dynamically assign packets to available flow queues, using a scheduler component to identify flows and allocate resources efficiently, allowing for a virtually limitless number of flows by utilizing a pool of flow queues and maintaining a flow table for each supported flow.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If conventional flow-based bandwidth allocation techniques are used, then quality of service requirements can be met, but the system is insufficiently scalable due to high memory space requirements
Solution Approach 1:
The patent segments the flow queue management into two parts: a flow table that stores flow identifiers and queue identifiers, and a pool of flow queues that store packets. This segmentation allows the system to handle a larger number of flows by separating the metadata storage (flow table) from the data storage (flow queues), thereby improving scalability while reducing the memory overhead per flow.
Solution Approach 2:
The patent introduces a flow table as an additional dimension for managing flows. Instead of directly managing a large number of flow queues, the system uses the flow table to map flow identifiers to queue identifiers, enabling indirect management of flows. This dimensional change allows the system to support a virtually limitless number of flows without proportionally increasing memory requirements.
2Adaptability or versatility
If a ceiling is set for the number of flow queues, then memory requirements are controlled, but the system cannot handle additional flows beyond the ceiling
Solution Approach 1:
The flow table serves multiple functions: it stores flow identifiers, maps them to queue identifiers, and enables dynamic allocation of flow queues. This multi-functionality allows the system to handle a variable number of flows without requiring separate management mechanisms for each flow, thereby increasing adaptability while controlling complexity.
Solution Approach 2:
The patent implements dynamic flow queue assignment where flow queues are allocated and released based on flow activity. When a flow becomes inactive, its queue is released back to the pool for reuse. This dynamic approach allows the system to adapt to changing traffic patterns and support a larger number of flows without permanently allocating resources for each potential flow, thus reducing overall system complexity.
3Adaptability or versatility
If the number of flow queues is increased to support more flows, then system scalability improves, but memory space requirements increase
Solution Approach 1:
The patent implements a flow queue release mechanism where queues are discarded (released) when their associated flows become inactive or terminated. The released queues are recovered and returned to the pool for reuse by other flows. This discard and recover approach allows the system to support a large number of flows over time without maintaining a permanent queue for each potential flow, thereby reducing total memory space requirements while improving scalability.
Data Source
AI summary
A method is provided for queuing packets. A packet may be received and its flow identified. It may then be determined whether a flow queue has been assigned to the identified flow. The identified flow may be dynamically assigning to an available flow queue when it is determined that a flow queue has not been assigned to the identified flow. The packet may be enqueued into the available flow queue.


