Network Load Balancing via Controller-Programmed Lookup Tables

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In network communications, existing load balancing techniques often lead to inefficient distribution of network traffic between server computers, potentially resulting in server overload, especially in software-defined networks where hardware devices may lack resources to perform complex random number generation or hashing functions efficiently.

Innovation Solution

Intermediary network devices, such as programmable switches or routers, receive rules from a network controller to distribute network packets based on modulus operations or pseudo-random values, selecting destination servers and modifying packet destinations to balance load, even on hardware devices with limited resources, ensuring efficient traffic distribution and reduced latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If complex random number generation or hashing functions are used for load balancing, then traffic distribution efficiency is improved, but hardware device resource requirements increase

Engineering Contradiction:
Improvetraffic distribution efficiencyVSAvoidhardware device resource requirements
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts the complex random number generation and hashing functions from the hardware device (switch) and relocates them to the controller. The controller generates random values or hashing keys and programs the switch with simplified lookup tables, allowing the switch to perform only simple table lookups based on packet characteristics. This resolves the contradiction by maintaining efficient traffic distribution through the controller's computational power while reducing the switch's resource requirements to simple memory access operations.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces an intermediary mechanism (lookup table programmed by the controller) between the packet and the load balancing decision. Instead of the switch directly performing complex computations on packets, the intermediary lookup table provides a simplified mapping from packet characteristics to destination servers. This intermediary approach maintains the efficiency of load balancing while significantly reducing the computational burden on the hardware switch.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If simple modulus operations are used for load balancing, then hardware device resource requirements are reduced, but traffic distribution uniformity deteriorates

Engineering Contradiction:
Improvehardware device resource requirementsVSAvoidtraffic distribution uniformity
Core Design Contradiction:
Device complexityVSManufacturing precision

Solution Approach 1:

The patent applies preliminary action by having the controller pre-generate random values or hashing keys and store them in lookup tables before the switch performs load balancing. This preliminary preparation of random data allows the simple switch to achieve uniform traffic distribution without performing complex computations in real-time. The randomness is pre-computed and stored, enabling the modulus operation to distribute traffic uniformly across servers while keeping the switch's resource requirements low.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If real-time load monitoring is implemented, then load balancing accuracy is improved, but network latency increases

Engineering Contradiction:
Improveload balancing accuracyVSAvoidnetwork latency
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent implements preliminary action by pre-computing load balancing decisions based on packet characteristics (such as source IP, destination IP, or other identifiers) before packets arrive at the switch. The controller programs the switch with lookup tables that map packet identifiers to destination servers, eliminating the need for real-time load monitoring during packet forwarding. This pre-computation approach maintains accurate load balancing while minimizing network latency, as the switch only needs to perform fast table lookups rather than real-time monitoring and decision-making.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3281369B1Server load balancing
Publication Date: 2020.11.04 HEWLETT PACKARD ENTERPRISE DEV LP
  • EP3281369B1 patent drawingFigure 1
  • EP3281369B1 patent drawingFigure 2A
  • EP3281369B1 patent drawingFigure 2B

AI summary

Examples relate to load balancing servers. In one example, a computing device may: receive a network packet from a source device, the network packet including data specifying a value; divide the value included in the network packet by a divisor; determine, from a plurality of servers, a destination server for the network packet based on a remainder of the division; and forward the network packet to the destination server.