Dynamic Server Cluster Load Balancing via Adaptive Thresholds

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current load balancing systems for server clusters rely heavily on administrator knowledge and are not dynamic enough to adapt to changing circumstances, leading to inefficient parameter configuration and potential server under or overload.

Innovation Solution

A system where a load balancer selects servers based on specified parameters such as load balancing algorithms, load thresholds, and hello message timeouts, allowing non-cluster servers to join or leave dynamically based on utilization and administrator requests, with the ability to adjust these parameters during the Join-Request process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If load balancing parameters are specified in the load balancer configuration by administrator, then the system can operate with basic functionality, but the system lacks dynamic adaptability to changing circumstances

Engineering Contradiction:
Improvedynamic adaptabilityVSAvoidparameter management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The load balancing system automatically monitors server performance metrics and dynamically adjusts parameter configurations without requiring administrator intervention. The system self-adapts to changing circumstances by having servers and load balancers autonomously negotiate and update parameters based on real-time workload conditions

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements continuous feedback loops where servers send performance data to the load balancer, which then dynamically adjusts parameters based on this feedback. This enables automatic adaptation to changing workload conditions while maintaining operational simplicity

Inventive Principle:
Principle #23Feedback

2Productivity

If the load balancer monitors workload and requests additional resources when thresholds are exceeded, then resource utilization improves, but the response time and complexity of resource coordination increase

Engineering Contradiction:
Improveresource utilizationVSAvoidresponse time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system proactively monitors workload metrics and triggers resource allocation before critical thresholds are exceeded. By detecting early signs of overload and initiating resource requests in advance, the system maintains high productivity while minimizing response time penalties

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The load balancer acts as an intermediary that coordinates between multiple servers and external resources. It manages the complexity of resource coordination by centralizing communication and using standardized protocols, thereby maintaining fast response times even when coordinating multiple resources

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8104042B2Load balancing of servers in a cluster
Publication Date: 2012.01.24 GOOGLE LLC
  • US8104042B2 patent drawing
  • US8104042B2 patent drawing
  • US8104042B2 patent drawing

AI summary

A system, method and program product for operating a cluster of servers. A load balancer, separate from the servers, selects servers to handle respective work requests assigned to the cluster based on a load balancing algorithm, and sends the work requests to the selected servers. The load balancer receives a request from another server not currently a member of the cluster. The request requests that the other server become a member of the cluster to handle work requests. In response to the request, the load balancer joins the other server as a member of the cluster to handle some work requests subsequently assigned to the cluster. The other server specifies to the load balancer a load threshold for the other server. The other server specifies to the load balancer a time-out to be used for the other server. The time-out indicates a time allotted for the other server to send a hello message since sending a previous hello message.