Dynamic Load Balancer for Automatic Resource Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional load balancing is static and requires manual configuration by system administrators, which is inefficient and cannot adapt to real-time changes in network performance, limiting horizontal scalability and requiring manual intervention for adding new processing resources.

Innovation Solution

A dynamic load balancer that registers processing resources, collects utilization information, and automatically allocates resources based on this data to perform load balancing without manual configuration, allowing for real-time adjustments and integration with cloud computing environments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If manual configuration is used for load balancer setup, then initial system deployment is straightforward, but the system cannot adapt to real-time changes in network performance and requires continuous manual intervention

Engineering Contradiction:
Improveadaptability to real-time changesVSAvoidmanual configuration requirement
Core Design Contradiction:
Adaptability or versatilityVSExtent of automation

Solution Approach 1:

The load balancer automatically discovers and registers processing resources by listening for registration requests on a designated port. It autonomously collects utilization information from registered resources and dynamically adjusts resource allocation without requiring system administrator intervention. The system self-configures when new resources are added to the network, eliminating the need for manual load balancer reconfiguration.

Inventive Principle:
Principle #25Self-service

2Adaptability or versatility

If static load balancing configuration is used, then system stability is maintained, but horizontal scalability is limited when new processing resources are added

Engineering Contradiction:
Improvehorizontal scalabilityVSAvoidmanual re-configuration complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The load balancer continuously receives utilization information from registered processing resources and uses this feedback to dynamically adjust resource allocation. When new resources register with the load balancer, the system automatically incorporates them into the pool of available resources and adjusts the allocation strategy based on current utilization patterns, enabling seamless horizontal scalability without manual intervention.

Inventive Principle:
Principle #23Feedback

3Productivity

If manual load balancer re-configuration is performed periodically, then some level of load balancing is maintained, but efficiency decreases and real-time adaptation is lost

Engineering Contradiction:
Improveresource allocation efficiencyVSAvoidtime for manual intervention
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The load balancer continuously monitors utilization information from registered processing resources and dynamically adjusts resource allocation in real-time. Instead of periodic manual reconfiguration, the system maintains continuous adaptive optimization of resource distribution, ensuring peak efficiency and immediate response to changing network conditions without interruption or downtime.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS9071609B2Methods and apparatus for performing dynamic load balancing of processing resources
Publication Date: 2015.06.30 GOOGLE TECHNOLOGY HOLDINGS LLC
  • US9071609B2 patent drawing
  • US9071609B2 patent drawing
  • US9071609B2 patent drawing

AI summary

A load balancer coupled between a network and a pool of processing resources utilizes a method for performing automatic, dynamic load balancing with respect to allocating the resources to handle processing requests received over the network. According to the method, the load balancer electronically receives registration requests from the processing resources and registers each resource from which a registration request was received. After the resources have been registered but before they are allocated to handle processing requests, the load balancer receives, from each registered resource, information relating to utilization of the resource. The utilization information may include operational metrics for the resource. Some time thereafter, the load balancer receives a request over the network to perform a server-related processing task. Responsive to the request, the load balancer allocates at least one of the registered resources to perform the requested processing task based at least on the previously received utilization information.