TCAM-Based Load Balancing in Network Switches

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data center networks face inefficiencies and bottlenecks due to the overhead of traditional load balancers, which reduce scalability and slow down network traffic processing, especially when handling high volumes of simultaneous connections.

Innovation Solution

Configuring a network switch to operate natively as a load balancer using programmable hardware, such as ASICs or FPGAs, to perform load-balancing functions at lower OSI layers, eliminating the need for software-driven processors and external load balancer appliances, and utilizing TCAM for high-speed traffic management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If traditional software-driven load balancers are used, then load balancing functionality is provided, but processing speed and scalability are reduced due to overhead

Engineering Contradiction:
Improvetraffic processing speedVSAvoidsystem overhead
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent replaces software-driven load balancing with hardware-based load balancing using a network switch equipped with TCAM and programmable logic. This substitution of mechanical/software systems with hardware systems eliminates the processing overhead and speed limitations inherent in software-based approaches, enabling line-rate packet forwarding without software intervention.

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

Solution Approach 2:

The network switch performs load balancing functions natively without requiring external load balancer appliances or software processors. The switch's integrated TCAM and programmable logic enable it to autonomously perform destination IP lookup, traffic bucket assignment, and packet forwarding decisions, eliminating the need for separate load balancing infrastructure.

Inventive Principle:
Principle #25Self-service

2Adaptability or versatility

If external load balancer appliances are deployed, then load balancing is achieved, but scalability is limited and bandwidth is constrained

Engineering Contradiction:
ImprovescalabilityVSAvoidbandwidth capacity
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The network switch is designed to perform multiple functions including traditional switching, routing, and load balancing simultaneously. By integrating load balancing capabilities directly into the switch fabric with TCAM-based lookup and programmable logic, the system achieves multi-functionality without requiring separate dedicated load balancer appliances, thereby improving scalability and bandwidth utilization.

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

3Productivity

If software-driven processors are used for load balancing, then flexible control is provided, but processing throughput is reduced

Engineering Contradiction:
Improveprocessing throughputVSAvoidcontrol flexibility
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent utilizes TCAM (Ternary Content-Addressable Memory) which fundamentally changes the lookup parameter from traditional software-based sequential searching to hardware-based parallel content addressing. This parameter change enables simultaneous comparison of multiple packet headers against load balancing rules, achieving line-rate throughput while maintaining control flexibility through programmable match criteria and priority schemes.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11343190B2TCAM-based load balancing on a switch
Publication Date: 2022.05.24 CISCO TECHNOLOGY INC
  • US11343190B2 patent drawing
  • US11343190B2 patent drawing
  • US11343190B2 patent drawing

AI summary

In an example, a network switch is configured to operate natively as a load balancer. The switch receives incoming traffic on a first interface communicatively coupled to a first network, and assigns the traffic to one of a plurality of traffic buckets. This may include looking up a destination IP of an incoming packet in a fast memory such as a ternary content-addressable memory (TCAM) to determine whether the packet is directed to a virtual IP (VIP) address that is to be load balanced. If so, part of the source destination IP address may be used as a search tag in the TCAM to assign the incoming packet to a traffic bucket or IP address of a service node.