Network Load Balancing via Hash-Based Packet Distribution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional network load balancing apparatuses do not effectively reduce CPU load when transferring packets to external servers, leading to decreased throughput due to significant packet discarding and communication bottlenecks.

Innovation Solution

A network load balancing apparatus that includes a hash value calculation unit, external transfer control unit, priority control unit, load balancing control unit, and packet transfer control unit, which determine the optimal communication path for packet transfer based on calculated hash values, allowing direct transfer to external servers and balancing CPU load.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If packets are transferred through VNFs on general-purpose servers, then flexibility and cost are improved, but significant packet discarding occurs when traffic exceeds certain quantity

Engineering Contradiction:
Improveconfiguration flexibilityVSAvoidpacket throughput
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent extracts the packet distribution function from the VNF layer and implements it directly in the NIC hardware. By separating the packet distribution function from the processing chain, packets can be distributed to multiple data buffers before reaching the VNFs, enabling parallel processing and preventing packet discarding while maintaining configuration flexibility through software control of the distribution policy.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent performs packet distribution to multiple data buffers in advance, before packets reach the VNF processing stage. This preliminary distribution action enables multiple CPU cores to simultaneously process packets from different buffers, increasing throughput and preventing packet discarding when traffic volume exceeds single-processing-capacity limits.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If multiple data buffers are used with load balancing control, then throughput is improved, but packet reordering may occur in flows

Engineering Contradiction:
ImprovethroughputVSAvoidflow ordering
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies different quality characteristics to different packet groups by using hash-based classification. Packets belonging to the same flow (identified by matching hash values) are directed to the same data buffer, maintaining their original order, while different flows can be processed in parallel from different buffers. This local consistency approach enables both high throughput and flow ordering preservation.

Inventive Principle:
Principle #3Local quality

3Ease of operation

If SR-IOV is used to reduce CPU load, then ease of operation is improved, but communication bottlenecks with CPU still occur

Engineering Contradiction:
ImproveCPU load reductionVSAvoidcommunication efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent segments the packet processing workload by distributing packets to multiple data buffers that can be processed by multiple CPU cores simultaneously. This segmentation of the processing chain, combined with SR-IOV virtualization, allows parallel processing of different packet streams, reducing communication bottlenecks between CPU and network interface while maintaining the ease of operation provided by virtualization.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11496400B2Network load dispersion device and method
Publication Date: 2022.11.08 NIPPON TELEGRAPH & TELEPHONE CORP
  • US11496400B2 patent drawing
  • US11496400B2 patent drawing
  • US11496400B2 patent drawing

AI summary

A network load balancing apparatus has a data buffer for each communication path of a received packet's transfer destinations, calculates a first hash value using a field value contained in the packet, determines, based on the field value of the packet or the first hash value, a communication path of a transfer destination of the packet subject to external transfer control for transmission to a predetermined external server, determines, based on the first hash value, a communication path of a transfer destination of the packet to be subject to priority control, determines, based on a second hash value based on the first hash value, a communication path of a transfer destination of the packet to be subject to load balancing control, to match a preset load balancing situation of the data buffer, and transmits the packet to a data buffer corresponding to the communication path of the transfer destination.