Adaptive Packet Load Balancing for Network Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Network devices face challenges in efficiently processing packets, particularly when handling heavy flows or oversubscription, leading to packet drops and the need for costly reordering, as existing methods either oversubscribe packet processing threads or require unnecessary load balancing and reordering of all packets.

Innovation Solution

An adaptive packet processing mechanism that dynamically maps packets to either direct flow mapping or load balancing based on the state of packet processing threads, allowing for efficient forwarding and reordering only when necessary, using a performance monitor to determine thread oversubscription and employing load balancing only when required.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If load balancing is applied to all packets, then resource utilization is improved, but device complexity and processing overhead increase

Engineering Contradiction:
Improveresource utilizationVSAvoidprocessing overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies different packet distribution strategies to different packets based on their characteristics. Specifically, packets from the same flow are routed through the same packet processing thread to maintain order, while packets from different flows can be distributed to different threads for load balancing. This local differentiation resolves the contradiction by applying complexity only where necessary (different flows) while maintaining simplicity for predictable traffic patterns (same flow).

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent dynamically adjusts the packet distribution strategy based on real-time conditions. The system monitors packet processing status and dynamically decides whether to apply load balancing or maintain direct flow mapping for each packet. This dynamic adaptation allows the system to optimize resource utilization when needed while avoiding unnecessary complexity when flows are predictable or threads are not oversubscribed.

Inventive Principle:
Principle #15Dynamics

2Ease of operation

If direct flow mapping is used, then packet processing simplicity is improved, but packet drops occur under oversubscription

Engineering Contradiction:
Improvepacket processing simplicityVSAvoidpacket drop rate
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent applies different distribution strategies to different flows based on their characteristics and current system state. For flows that cause oversubscription, the system switches to load balancing across multiple threads. For other flows, direct mapping is maintained. This local differentiation resolves the contradiction by maintaining simplicity where possible while preventing packet drops where necessary.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements a feedback mechanism where the system monitors packet processing status, thread utilization, and queue depths. Based on this feedback, the system dynamically adjusts its packet distribution strategy. When oversubscription is detected, the system responds by applying load balancing to prevent packet drops, thus resolving the contradiction through adaptive control.

Inventive Principle:
Principle #23Feedback

3Reliability

If load balancing is applied, then oversubscription is prevented, but packet reordering is required

Engineering Contradiction:
Improveoversubscription preventionVSAvoidreordering overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies load balancing only to packets from different flows, while maintaining direct mapping for packets from the same flow. This ensures that packets within a flow maintain their original order, eliminating the need for reordering operations. The contradiction is resolved by applying complexity differentiation - load balancing with reordering only where necessary for different flows, while maintaining simplicity for same-flow packets.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent segments the packet processing system into flow-specific processing paths. By grouping packets from the same flow together and routing them through the same thread, the system creates segmented processing lanes that naturally maintain packet order. This segmentation resolves the contradiction by isolating load balancing operations to inter-flow contexts where reordering is not required.

Inventive Principle:
Principle #1Segmentation

4Reliability

If reordering is performed for all packets, then packet order is maintained, but processing time increases

Engineering Contradiction:
Improvepacket order maintenanceVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies reordering operations only to packets from different flows that are distributed through load balancing, while packets from the same flow maintain their natural order through direct mapping. This local application of reordering resolves the contradiction by maintaining packet order only where necessary (different flows) while avoiding unnecessary reordering overhead for same-flow packets.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent applies the principle of partial action by performing reordering only for the subset of packets that require it (those from different flows subjected to load balancing), rather than applying reordering to all packets. This partial application resolves the contradiction by achieving packet order maintenance only where necessary, thereby minimizing processing time overhead.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9882815B2Adaptive load balancing in packet processing
Publication Date: 2018.01.30 TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
  • US9882815B2 patent drawing
  • US9882815B2 patent drawing
  • US9882815B2 patent drawing

AI summary

A method for forwarding packets in a network device is disclosed. The method comprises receiving a packet; mapping the packet to a bucket, where the bucket is associated with a packet processing thread from a plurality of packet processing threads; and determining whether the packet processing thread is oversubscribed. The method continues with, in response to determining that the packet processing thread is not oversubscribed, mapping the packet to the packet processing thread; and in response to determining that the packet processing thread is oversubscribed, the method comprises distributing the packet to one of the plurality of packet processing threads based on a predefined load balancing scheme, processing the packet in the one of the plurality of packet processing threads, and forwarding the packet according to a predetermined order, where the predetermined order is based on a position of the packet relative to other packets at their receipt.