Usage-based server load balancing for uneven request distribution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional load balancing techniques often result in uneven distribution of requests across server groups, leading to underutilization of some server groups and overworking others, which can cause slow response times, increased unavailability, and frequent crashes due to inefficient resource allocation.
Innovation Solution
A load balancer that determines request assignments based on historical usage data of user groups and server groups, redistributing requests to balance the load more accurately, thereby preventing server groups from becoming underutilized or overworked.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional load balancing techniques (random choice, round-robin, IP hashing, least connections) are used, then requests are distributed across server groups, but the distribution is uneven causing underutilization of some server groups and overworking of others
Solution Approach 1:
The patent changes the parameter basis for load balancing from static metrics (IP address, round-robin position) to dynamic usage-based metrics. The load balancer monitors actual usage patterns of user groups and server groups, adjusting request routing decisions based on real-time data about which server groups are underutilized versus overworked, thereby achieving more even distribution and preventing both underutilization and overworking
Solution Approach 2:
The system implements feedback by continuously monitoring usage data from both user groups and server groups, then using this feedback information to dynamically adjust load balancing decisions. The load balancer receives usage information about request patterns and server performance, processes this data to identify imbalances, and reroutes requests accordingly to maintain optimal distribution across all server groups
2Use of energy by moving object
If requests are concentrated on fewer server groups, then resource utilization increases, but response time increases and crashes become more frequent
Solution Approach 1:
The load balancing system transitions from static routing rules to dynamic routing that adapts in real-time to changing conditions. The system continuously monitors server group workload and user group usage patterns, dynamically adjusting which server groups receive requests from which user groups. This dynamic approach ensures resources are fully utilized while preventing any single server group from becoming overloaded to the point of instability or crash
3Loss of energy
If server groups are underutilized, then computing resources are wasted, but if server groups are overworked, then response time slows and downtime increases
Solution Approach 1:
The system changes the basis for load balancing parameters from predetermined static assignments to dynamic usage-based assignments. By monitoring actual usage data and adjusting routing decisions accordingly, the system optimizes the balance between resource utilization and response time, ensuring that computing resources are neither wasted through underutilization nor consumed excessively leading to slow responses
Solution Approach 2:
The load balancer uses feedback from usage monitoring to continuously optimize resource allocation. By tracking which server groups are underutilized and which are overworked, the system dynamically reroutes requests to achieve optimal balance, preventing both resource waste and performance degradation
Data Source
AI summary
A load balancer determines a first usage load for a first server group that is one of a plurality of server groups associated with a resource. The load balancer determines a usage total for a user group of a plurality of user groups assigned to make requests for the resource via the first server group. The load balancer determines an assignment of the user group to make requests for the resource via the first server group or a second server group of the plurality of server groups based on the usage total of the user group, the first usage load of the first server group, and a second usage load of the second server group. The load balancer routes requests for the resource by the user group to the first server group or the second server group based on the assignment.


