Application Resource Orchestration Layer for Server Load Balancing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing application server environments face inefficiencies in resource allocation and management, particularly during peak usage times, leading to resource shortages, lack of responsiveness, and suboptimal use of resources due to the lack of application priority awareness in traditional systems.
Innovation Solution
A centralized application resource orchestration layer dynamically allocates resources based on application priority, allowing for intelligent task balancing and efficient distribution of resources across concurrent applications, ensuring higher priority applications receive necessary resources while lower priority applications are paused or reduced in resource allocation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional resource allocation methods are used in application server environments, then system simplicity is maintained, but resource utilization efficiency deteriorates during peak usage times
Solution Approach 1:
The patent introduces a resource orchestration layer as an intermediary component between applications and server resources. This layer implements priority-based resource allocation by receiving application priority information, determining resource allocation decisions, and managing task scheduling accordingly. The intermediary layer resolves the contradiction by adding intelligence to resource allocation without fundamentally changing the underlying server infrastructure, thereby improving resource utilization while maintaining acceptable system complexity.
2Reliability
If equal resource allocation is provided to all applications, then system fairness is maintained, but responsiveness to critical applications deteriorates
Solution Approach 1:
The patent applies local quality by differentiating resource allocation based on application priority levels. Instead of uniform resource distribution, the system assigns different resource shares to different applications according to their priority classifications. Critical applications receive higher resource allocation and priority scheduling, while non-critical applications receive reduced allocation during peak times. This resolves the contradiction by maintaining fairness within priority groups while ensuring responsiveness for critical applications.
3Productivity
If maximum resources are allocated to meet peak demand, then application performance is improved, but resource waste increases during low usage periods
Solution Approach 1:
The patent implements dynamic resource allocation that adjusts resource allocation based on real-time system conditions and application priorities. During peak usage periods, critical applications receive maximum necessary resources to maintain performance. During low usage periods, the system automatically reduces resource allocation to previously high-priority applications that are no longer under heavy load. This dynamic adjustment resolves the contradiction by ensuring high performance when needed while minimizing resource waste during low-demand periods.
4Productivity
If priority-based resource allocation is implemented, then critical application performance is improved, but system complexity increases
Solution Approach 1:
The patent segments the resource allocation process into distinct priority levels and handles each segment separately. Applications are classified into priority groups, and resource allocation decisions are made independently for each priority level. The orchestration layer manages different priority segments through structured procedures, reducing the overall complexity compared to implementing fully dynamic, fine-grained priority management. This segmentation approach resolves the contradiction by improving critical application performance through targeted resource allocation while keeping system complexity manageable through modular organization.
Data Source
AI summary
The present disclosure involves systems, software, and computer implemented methods for resource allocation and management. One example method includes receiving, in a dispatching layer, a request to run a first task for a first application, the request including a first application priority. At least one second application priority of at least one currently running application is identified. A maximum number of allowable parallel tasks per application is determined. Application priority weights are assigned to each of the first application priority and the at least one second application priority. A number of parallel tasks for the first application and the at least one currently running application are determined based on the maximum number of allowable parallel tasks per application and the assigned application priority weights. A first number of parallel tasks are assigned to the first application. The first application is executed using the assigned first number of parallel tasks.


