Native Switch Load Balancing for Network Disruption

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional data center networks face inefficiencies and bottlenecks due to the use of software-based load balancers, which slow down network traffic handling and limit scalability, as they introduce overhead and require external appliances, consuming resources and increasing costs.

Innovation Solution

Implementing native load balancing within a network switch using programmable hardware, such as ASICs or FPGAs, to handle load balancing at lower OSI layers, eliminating the need for external load balancers and reducing overhead, while utilizing TCAM for high-speed searches and IP address masking to distribute traffic efficiently among service nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If software-based load balancers are used, then load balancing functionality is provided, but network speed and scalability are reduced due to overhead and external appliance requirements

Engineering Contradiction:
Improvenetwork traffic handling speedVSAvoidexternal load balancer appliances
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent merges the load balancing function with the network switch by implementing a load balancing engine within the switch's hardware architecture. This integration eliminates the need for separate external load balancer appliances, allowing the switch to simultaneously perform both switching and load balancing operations, thereby improving network speed while reducing device complexity.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The network switch is designed with multi-functionality, serving both as a traditional network switch and as a load balancer. The load balancing engine within the switch enables it to distribute network traffic across multiple service nodes while maintaining its core switching functions, thus eliminating the need for dedicated external load balancing appliances and improving overall network efficiency.

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

2Productivity

If external load balancer appliances are used, then load balancing is achieved, but resource consumption and costs increase

Engineering Contradiction:
Improveload balancing capabilityVSAvoidresource consumption
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The load balancing engine is integrated into the network switch's existing hardware resources, including its processor, memory, and network interfaces. This merging allows the switch to provide load balancing capabilities without requiring additional external appliances, thereby maintaining productivity while reducing resource consumption and associated costs.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The network switch performs multiple functions simultaneously, including packet switching, routing, and load balancing. By making the switch universal and capable of handling diverse network tasks, the system eliminates the need for separate dedicated load balancer appliances, thus reducing the quantity of hardware resources required while maintaining full load balancing capability.

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

3Speed

If native load balancing within switch is implemented, then scalability and speed are enhanced, but device complexity increases

Engineering Contradiction:
Improvenetwork traffic handling speedVSAvoidinternal load balancing engine
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The load balancing engine is implemented as a distinct module within the network switch architecture, segmented from the core switching functions. This segmentation allows the load balancing operations to be handled by dedicated hardware components such as ASICs or FPGAs, enabling high-speed processing while maintaining clear functional boundaries that manage device complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent replaces traditional software-based load balancing mechanisms with hardware-based implementations using ASICs (Application-Specific Integrated Circuits) or FPGAs (Field-Programmable Gate Arrays). This substitution of mechanical/software systems with specialized hardware accelerates network traffic handling speed while managing device complexity through dedicated-purpose circuitry optimized for load balancing operations.

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

4Reliability

If service node failures occur, then service disruption occurs, but with reassignment capability disruption is minimized

Engineering Contradiction:
Improveservice availabilityVSAvoidfailure detection and reassignment mechanism
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The load balancing engine maintains updated mappings between service nodes and their corresponding buckets in advance. When service node failures occur, the engine can immediately reassign buckets to healthy nodes using pre-established backup mappings, minimizing service disruption. This preliminary preparation of fallback options enhances reliability while managing the complexity of failure detection and reassignment mechanisms.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10171362B1System and method for minimizing disruption from failed service nodes
Publication Date: 2019.01.01 CISCO TECHNOLOGY INC
  • US10171362B1 patent drawing
  • US10171362B1 patent drawing
  • US10171362B1 patent drawing

AI summary

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 providing a switching engine operable for providing network switching or routing; and one or more logic elements providing a load balancing engine operable for: load balancing network traffic among a plurality of service nodes; probing a first service node; determining that the first service node is unavailable; and reassigning the buckets associated with the first service node to a next available service node.