Dynamic Server Resource Allocation via Real-Time Workload Scoring
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Remote server environments face inefficiencies due to load distribution imbalances, where some servers are overburdened while others are underutilized, leading to resource wastage and increased costs.
Innovation Solution
A resource management layer with a group monitor that collects performance data from servers, calculates scores based on user-defined weights, and dynamically reallocates servers between active and idle pools to optimize resource utilization by redirecting requests to underutilized servers and removing underutilized servers from high-workload groups.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If servers are statically allocated to handle requests, then system stability is maintained, but resource utilization efficiency deteriorates due to load distribution imbalances
Solution Approach 1:
The patent implements dynamic server allocation where the resource manager continuously monitors workload metrics (CPU usage, memory consumption, response times) and adjusts server group memberships in real-time. Servers are dynamically added to or removed from active server groups based on current load conditions, transforming the static allocation into a dynamic system that adapts to changing demands, thereby improving resource utilization efficiency.
Solution Approach 2:
The system employs a feedback mechanism where the resource manager receives performance data from servers, evaluates workload metrics against thresholds, and triggers appropriate actions (adding or removing servers from groups). This closed-loop feedback system enables automatic load balancing and resource optimization without manual intervention, resolving the contradiction between productivity improvement and system complexity.
2Loss of time
If more servers are allocated to handle high workload, then response time is reduced, but resource waste increases due to idle servers
Solution Approach 1:
The system dynamically adjusts the number of active servers based on real-time workload monitoring. When response times increase or workload exceeds thresholds, the resource manager automatically adds servers to active groups to reduce response time. When workload decreases, servers are removed from active groups to eliminate resource waste, creating a dynamic adaptation mechanism that balances response time optimization with resource efficiency.
Solution Approach 2:
The resource manager monitors key performance parameters (CPU usage percentage, memory consumption, response times) and changes system state based on threshold violations. When parameters indicate high workload, the system changes by adding servers; when parameters indicate low utilization, it changes by removing servers. This parameter-driven approach ensures response time optimization without permanent resource overallocation.
3Productivity
If servers are dynamically added and removed from groups, then resource efficiency is improved, but system stability deteriorates due to frequent reconfigurations
Solution Approach 1:
The resource manager is configured with threshold values that trigger server addition or removal actions. By establishing predetermined thresholds for workload metrics (CPU usage, memory consumption, response times), the system performs preliminary configuration of when reconfiguration should occur, preventing arbitrary or excessive changes. This preliminary action mechanism maintains system stability by ensuring changes only occur when necessary, while still achieving resource efficiency improvements.
4Productivity
If manual load balancing is used to distribute requests, then resource distribution is simplified, but productivity deteriorates due to inability to respond to changing conditions
Solution Approach 1:
The resource manager implements self-service automation where the system automatically monitors its own performance metrics, evaluates workload conditions, and performs server allocation decisions without external intervention. The resource manager autonomously adds or removes servers from active groups based on monitored conditions, enabling the system to adapt to changing conditions automatically while reducing manual management complexity through full automation of the load balancing process.
Data Source
AI summary
System computing resources are dynamically managed by a resource management layer together with resource server pool. A group monitor collects data of server operation (e.g., CPU usage, memory consumption, queue size) in a particular group (e.g., customer-facing servers, job servers). The group monitor: calculates a weighted score for each server, sorts the scores of each server, maintains a sequence of scores, and periodically reports the score list to a resource manager. When an incoming request is directed to a particular server group, the group monitor redirects the request to a lowest-scoring server, and recalculates/sorts the score list. The resource manager monitors and throttles the servers in each group. Where servers in a group are experiencing high workload, the manager adds to the group server(s) from the resource pool. Conversely, where server group members are experiencing a low workload, the manager removes the lowest scoring server(s) to the resource pool.


