Native Load Balancer Switch Using CAM for Traffic Handling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing load balancers in data centers often act as bottlenecks due to their software-based operation, which reduces scalability and increases overhead, especially when handling high traffic volumes, and they are inefficient in handling traffic without load balancing requirements.

Innovation Solution

Implementing a network switch with a load balancing engine based on programmable hardware, such as ASICs or FPGAs, that operates at lower OSI layers, using content-addressable memory (CAM) for high-speed searches and load balancing decisions based on factors other than IP addresses, allowing each port to act as a load balancer and eliminating the need for external appliances.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If software-based load balancers are used, then load balancing functionality is provided, but scalability is reduced and overhead increases when handling high traffic volumes

Engineering Contradiction:
Improvetraffic handling capacityVSAvoidsystem overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges the load balancer functionality directly into the network switch by integrating a load balancing engine with CAM tables. This consolidation eliminates the need for separate external load balancer appliances, allowing the switch to perform both switching and load balancing functions simultaneously, thereby improving traffic handling capacity while reducing system overhead and complexity.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The network switch is designed to perform multiple functions: traditional packet switching based on MAC addresses and new load balancing functionality based on IP addresses and port numbers. The CAM table structure is extended to support both MAC address forwarding and IP address load balancing, enabling a single device to handle diverse traffic requirements efficiently.

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

2Ease of operation

If external load balancer appliances are used, then load balancing is provided, but device complexity and overhead increase

Engineering Contradiction:
Improveload balancing capabilityVSAvoidinfrastructure complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The load balancing engine is integrated directly into the network switch fabric, combining what were previously separate functions (switching and load balancing) into a single device. This eliminates the need for external load balancer appliances and reduces infrastructure complexity while maintaining full load balancing capability.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The network switch performs load balancing operations autonomously using its own CAM tables and forwarding logic, without requiring external control or intervention from separate load balancer devices. The switch itself provides the load balancing service it needs, eliminating dependency on external appliances.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If traditional IP address-based load balancing is used, then load balancing decisions are made, but networks with nodes lacking IP addresses cannot be supported

Engineering Contradiction:
Improvenetwork compatibilityVSAvoidload balancing factor accuracy
Core Design Contradiction:
Adaptability or versatilityVSMeasurement precision

Solution Approach 1:

The CAM table structure is designed to support multiple types of load balancing factors beyond just IP addresses, including MAC addresses, port numbers, and other identifiers. This universal structure allows the load balancer to adapt to different network scenarios, supporting both traditional IP-based networks and networks with nodes that lack traditional IP addresses.

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

Data Source

PatentUS10230642B1Intelligent data paths for a native load balancer
Publication Date: 2019.03.12 CISCO TECHNOLOGY INC
  • US10230642B1 patent drawing
  • US10230642B1 patent drawing
  • US10230642B1 patent drawing

AI summary

In an example, there is disclosed a network apparatus for providing native load balancing within a switch, including: a first network interface operable to communicatively couple to a first network; a plurality of second network interfaces operable to communicatively couple to a second network; one or more logic elements comprising a switching engine operable for providing network switching; a content-addressable memory (CAM); and one or more logic elements providing a load balancing engine operable for: receiving incoming network traffic via the first network; selecting the incoming network traffic based at least in part on a selection factor, and load balancing selected traffic to a first egress interface based at least in part on a load balancing factor other than an IP address.