Load Balancer Rejecting Connections for Web Server Queue Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Round-robin scheduling in load balancing leads to uneven distribution of processing costs among web servers, resulting in longer response times due to varying workloads and queue lengths, with existing solutions like increasing queue depth failing to address inefficiencies effectively.

Innovation Solution

Implementing a load balancer that allocates requests to web servers with low queue capacities, allowing servers to self-monitor rejection rates and adjust the number of concurrent processes based on rejection thresholds, and using rejection notifications to redirect requests to less loaded servers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If queue depth is increased to avoid packet dropping, then reliability improves, but response time increases and processing efficiency deteriorates

Engineering Contradiction:
Improvepacket handling reliabilityVSAvoidresponse time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The load balancer performs preliminary actions by proactively monitoring server queue status and rejection rates, and preemptively redistributing requests before servers become overloaded. This prevents the need to increase queue depth while maintaining reliable packet handling and avoiding excessive response times.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms where web servers send rejection notifications to the load balancer, and the load balancer monitors rejection rates to dynamically adjust request distribution. This feedback loop enables the system to maintain optimal queue depths without increasing them, thereby preserving response time performance while ensuring reliability.

Inventive Principle:
Principle #23Feedback

2Productivity

If round-robin scheduling is used to equalize request distribution, then request balance improves, but processing cost distribution becomes uneven

Engineering Contradiction:
Improverequest distribution balanceVSAvoidprocessing cost imbalance
Core Design Contradiction:
ProductivityVSObject-generated harmful factors

Solution Approach 1:

The system transitions from uniform round-robin scheduling to differentiated scheduling where each server is assigned requests based on its local queue status and rejection rate. Servers with lower rejection rates receive more requests, while servers approaching capacity are redistributed to, creating non-uniform but optimized request distribution that balances both request equality and processing cost fairness.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The scheduling algorithm becomes dynamic rather than static, continuously adapting to changing server conditions. The load balancer monitors rejection rates in real-time and adjusts request routing dynamically, allowing the system to respond to varying workloads and server performance states, thereby maintaining optimal balance between request distribution and processing cost distribution.

Inventive Principle:
Principle #15Dynamics

3Reliability

If servers wait for timeout to retry sending to another server, then reliability improves, but time loss increases

Engineering Contradiction:
Improverequest handling reliabilityVSAvoidwait time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system eliminates timeout-based retry by implementing immediate feedback through rejection notifications. When a server cannot handle a request, it sends a rejection notification to the load balancer, which immediately redirects the request to another server. This feedback mechanism ensures reliable request handling without the time loss associated with waiting for timeouts.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system skips the unnecessary timeout waiting period by using rejection notifications to immediately identify when a server cannot handle a request. This allows the load balancer to rush through the redirection process directly to an available server, eliminating the wasted time that would otherwise be spent waiting for timeout expiration.

Inventive Principle:
Principle #21Skipping (Rushing through)

Data Source

PatentUS8769541B2Load balancing web service by rejecting connections
Publication Date: 2014.07.01 META PLATFORMS INC
  • US8769541B2 patent drawing
  • US8769541B2 patent drawing
  • US8769541B2 patent drawing

AI summary

A load balancer allocates requests to a pool of web servers configured to have low queue capacities. If the queue capacity of a web server is reached, the web server responds to an additional request with a rejection notification to the load balancer, which enables the load balancer to quickly send the rejected request to another web server. Each web server self-monitors its rejection rate. If the rejection rate exceeds a threshold, the number of processes concurrently running on the web server is increased. If the rejection rate falls below a threshold, the number of processes concurrently running on the web server is decreased.