Flow-Based Network Traffic Queuing for Scalable Bandwidth Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
ImprovescalabilityVSAvoidmemory space requirement
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

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

Engineering Contradiction:
Improvenumber of supported flowsVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

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.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If the number of flow queues is increased to support more flows, then system scalability improves, but memory space requirements increase

Engineering Contradiction:
Improvenumber of supported flowsVSAvoidmemory space
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

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.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS8064344B2Flow-based queuing of network traffic
Publication Date: 2011.11.22 HEWLETT PACKARD ENTERPRISE DEV LP
  • US8064344B2 patent drawing
  • US8064344B2 patent drawing
  • US8064344B2 patent drawing

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.