Network Switching Device Packet Re-order Queues

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing routers lack a mechanism to maintain packet order within traffic flows due to differing throughputs of parallel packet processing engines, leading to undesirable reordering of packets.

Innovation Solution

A network device with a dispatch component that classifies data units into traffic flow classes, utilizing a series of re-order queues to ensure packets from the same flow are processed in the correct order, even when handled by different processing engines.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If packets are processed by multiple parallel packet processing engines, then processing throughput is improved, but packet order within traffic flows is lost

Engineering Contradiction:
Improveprocessing throughputVSAvoidpacket order
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the packet processing system into multiple parallel processing engines while introducing re-order queues as intermediary buffers. Each engine processes packets independently to maintain high throughput, while the re-order queues segment the flow control for each traffic flow, allowing packets to be temporarily stored and reordered to maintain correct sequence despite parallel processing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The re-order queues act as intermediary components between the parallel packet processing engines and the output. These queues receive packets from different engines, buffer them temporarily, and release them in the correct order based on packet sequence numbers, thus mediating between the high-speed parallel processing and the requirement for ordered output.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If re-order queues are introduced to maintain packet order, then packet order is preserved, but device complexity increases

Engineering Contradiction:
Improvepacket orderVSAvoidqueue management structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The re-order queues are designed with multi-functionality: they serve as both output buffers for completed packet processing and as re-ordering mechanisms simultaneously. The same queue structure handles both packet storage and sequence management, reducing the need for separate dedicated re-ordering hardware and thus limiting the increase in device complexity.

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

Solution Approach 2:

The system dynamically adjusts queue parameters such as queue selection and packet release timing based on packet sequence numbers and flow identifiers. By changing operational parameters rather than structural complexity, the system maintains packet order through software-controlled queue management rather than requiring complex hardware re-ordering circuits.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If packets are buffered in re-order queues, then packet order is maintained, but processing delay increases

Engineering Contradiction:
Improvepacket orderVSAvoidprocessing delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The re-order queues buffer only the necessary number of packets required to maintain order, not all packets indefinitely. Packets are released from queues as soon as they are ready in the correct sequence, using partial buffering action rather than complete buffering, thus minimizing delay while maintaining order.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system maintains continuous packet flow through the re-order queues rather than stopping processing to maintain order. Multiple engines continuously process packets in parallel, and the queues continuously reorder and forward packets, ensuring that the useful processing action continues without interruption while still achieving proper packet sequencing.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS8498306B2Maintaining data unit order in a network switching device
Publication Date: 2013.07.30 HEWLETT PACKARD ENTERPRISE DEV LP
  • US8498306B2 patent drawing
  • US8498306B2 patent drawing
  • US8498306B2 patent drawing

AI summary

Data units received by a network device may be classified into traffic flow classes in which the determined traffic flow class for a data unit may be dynamically refined as the data unit is processed by the network device. A dispatch component of the network device may receive data units associated with traffic flow classes. Parallel processing engines of the network device may receive the data units from the dispatch component and may generate, for a least one of the data units, a plurality of dynamically refined indications of the traffic flow class to which the data unit belongs. Additionally, an ordering component of the network device may include a plurality of re-order queues, where the at least one data unit successively progresses through at least two of the re-order queues in an order defined by the plurality of dynamically refined indications of the traffic flow class.