Stateless Load-Balancing via Sequence Numbers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional load-balancing techniques face inefficiencies, either failing to consider server loads or requiring frequent updates of usage information, especially in dynamic network settings with many servers or rapidly changing loads.

Innovation Solution

Implementing stateless load-balancing using sequence numbers to identify and balance traffic flows, where initial packet routing is based on server load information, and subsequent packets are routed using unique sequence numbers, eliminating the need for persistent server-load information.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional load-balancing techniques are used to consider server loads, then load distribution is improved, but frequent updates of usage information are required increasing system complexity

Engineering Contradiction:
Improveload distributionVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the load-balancing decision-making process from the central load-balancer and implements it at the edge devices (routers/switches). Each edge device independently determines server loads and makes routing decisions using sequence numbers, eliminating the need for the load-balancer to continuously track and update server-load information. This reduces the complexity of the central system while maintaining reliable load distribution.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Edge devices in the network autonomously perform load-determination and routing decisions without requiring continuous guidance or updates from the load-balancer. The load-balancer simply provides initial server information, and edge devices self-manage the load-balancing process using sequence numbers embedded in packets, reducing the operational complexity of the central system.

Inventive Principle:
Principle #25Self-service

2Reliability

If stateful load-balancing is implemented to track server loads, then load-aware routing is improved, but performance degradation occurs in dynamic network settings

Engineering Contradiction:
Improveload-aware routingVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent removes the stateful load-tracking function from the load-balancer and relocates it to edge devices. The load-balancer becomes stateless, simply forwarding initial packets with server information. Edge devices independently track server loads and make routing decisions, which eliminates the performance bottleneck at the load-balancer while maintaining load-aware routing capabilities.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The load-balancer performs preliminary action by providing edge devices with server information (IP addresses, sequence number ranges) before traffic flows are established. This preliminary provisioning enables edge devices to independently perform load-balancing without requiring the load-balancer to continuously update server-state information, improving performance in dynamic environments.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If sequence numbers are used for flow identification, then routing efficiency is improved, but flow management complexity increases

Engineering Contradiction:
Improverouting efficiencyVSAvoidflow management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent uses sequence numbers as simplified copies or representations of complex flow-state information. Instead of tracking complete flow states (source/destination IPs, ports, protocols) at the load-balancer, the system uses compact sequence number ranges assigned to each server. Edge devices copy these sequence numbers into packet headers for routing, achieving efficient flow identification with reduced management complexity at the central system.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11233737B2Stateless distributed load-balancing
Publication Date: 2022.01.25 CISCO TECHNOLOGY INC
  • US11233737B2 patent drawing
  • US11233737B2 patent drawing
  • US11233737B2 patent drawing

AI summary

Aspects of the subject technology provide state-less load-balancing using sequence numbers to identify traffic flows. In some implementations, a process of the technology can include steps for receiving, by a load-balancer, a first packet from a source device including a request to access the service provided by a server coupled to the load-balancer, determining a load for each of the servers, wherein each server is associated with a unique set of sequence numbers, and forwarding the request to a target server selected based on its corresponding load, and wherein the request is configured to cause the target server to issue a reply to the source device. Systems and machine-readable media are also provided.