Programmable Data Plane Hardware Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional load balancing systems using front end servers suffer from inefficiencies such as traffic tromboning, latencies due to CPU and NIC handshakes, and state synchronization issues, which hinder performance and utilization of resources.

Innovation Solution

Implementing programmable data plane hardware in network node devices that integrate communication ports, a load balancing engine, and a server device table to perform health-based load balancing, eliminating the need for front end servers to handle load balancing duties, thereby reducing latencies and optimizing traffic paths.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If front end servers are positioned at the edge of the network to perform load balancing, then load balancing functionality is provided, but traffic tromboning occurs causing inefficient traffic paths

Engineering Contradiction:
Improveload balancing functionalityVSAvoidtraffic path efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent extracts the load balancing functionality from the front end servers and relocates it to dedicated load balancer devices positioned at the network edge. This separation allows front end servers to focus on their primary workload while load balancing is handled by specialized hardware, eliminating traffic tromboning and improving traffic path efficiency.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces dedicated load balancer devices as intermediary components between the network edge and front end servers. These load balancers act as mediators that receive traffic, perform load balancing decisions, and forward traffic to appropriate servers, thereby eliminating the need for front end servers to handle load balancing and preventing inefficient traffic paths.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If front end servers handle load balancing through CPU and NIC, then load balancing is performed, but latencies are introduced and CPU cycles are consumed for networking tasks

Engineering Contradiction:
Improveload balancing capabilityVSAvoidload balancing latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent replaces the software-based load balancing mechanism (CPU executing load balancing algorithms) with hardware-based load balancing devices. This substitution eliminates the need for CPU-NIC handshakes and software processing, significantly reducing load balancing latency and freeing up CPU cycles for non-networking workloads.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Reliability

If multiple front end servers are used as load balancers, then load balancing redundancy is provided, but state synchronization protocols create additional latencies

Engineering Contradiction:
Improveload balancing redundancyVSAvoidstate synchronization latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent enables load balancer devices to independently maintain their own state information without requiring synchronization protocols with other load balancers. Each load balancer independently tracks server health and makes load balancing decisions, eliminating the need for state synchronization and the associated latencies while maintaining redundancy through multiple independent load balancer instances.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10033645B2Programmable data plane hardware load balancing system
Publication Date: 2018.07.24 DELL PROD LP
  • US10033645B2 patent drawing
  • US10033645B2 patent drawing
  • US10033645B2 patent drawing

AI summary

A programmable data plane hardware load balancing system includes a plurality of server devices and an edge networking device that is located on an edge of a local area network. The edge networking device includes programmable data plane hardware that integrates each of at least one communications port, a server device table, and a load balancing engine. The at least one communications port is coupled to the plurality of server devices. The server device table includes health information about the plurality of server devices. The load balancing engine is configured to receive traffic directed to the plurality of server devices through the at least one communication port, and has been programmed to forward the traffic to one of the plurality of server devices in response to performing health based load balancing on the traffic using the health information about the plurality of server devices in the server device table.