Diagonal Scaling Algorithm for Distributed Workloads
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing distributed computing systems face inefficiencies in resource optimization due to a focus on horizontal scaling, lack of alignment with actual application requirements, and reliance on predefined resource targets, which can lead to suboptimal utilization and increased costs.
Innovation Solution
Implementing a unified algorithmic mechanism for automatic diagonal scaling that combines vertical and horizontal scaling, aligning resource allocation with actual application load and quality of service aspects, without pre-defined targets, and considering collective metrics for efficient resource management.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If horizontal scaling is focused upon, then application instances can be added or removed, but resource utilization becomes suboptimal and costs increase
Solution Approach 1:
The patent combines vertical scaling (adjusting resource allocation for existing application instances) and horizontal scaling (adding or removing application instances) into a unified diagonal scaling mechanism. This integration allows the system to optimize both instance count and resource allocation per instance, resolving the contradiction between scalability and resource utilization efficiency by coordinating both scaling dimensions simultaneously rather than treating them separately
Solution Approach 2:
The system dynamically adjusts scaling operations based on actual application load and quality of service metrics rather than following fixed scaling patterns. The unified algorithmic mechanism continuously monitors system state and determines optimal vertical and horizontal scaling operations in real-time, enabling adaptive resource allocation that maintains high utilization while preserving scalability
2Ease of operation
If pre-defined resource targets are used, then scaling operations can be simplified, but alignment with actual application requirements deteriorates
Solution Approach 1:
The patent implements feedback mechanisms that continuously monitor actual application load, quality of service aspects, and resource consumption patterns. This feedback information feeds into the unified algorithmic mechanism, which uses it to dynamically adjust scaling decisions. The system maintains operational simplicity through automated decision-making while achieving precise alignment with application requirements by relying on real-time feedback rather than pre-defined static targets
3Adaptability or versatility
If vertical scaling is implemented, then resources can be allocated or de-allocated to application instances, but resource allocation may not be optimized without unified mechanism
Solution Approach 1:
The unified algorithmic mechanism merges vertical scaling operations with horizontal scaling operations into a coordinated system. When determining resource allocation changes, the mechanism simultaneously considers instance creation/removal decisions and resource allocation adjustments, ensuring that vertical scaling operations are optimized in context with overall system state rather than in isolation, thereby maintaining both flexibility and efficiency
Data Source
AI summary
Embodiments for automatic diagonal scaling of workloads in a distributed computing environment. For each of a plurality of resources of each of a plurality of application instances, a determination as to whether a change in allocation of at least one of the plurality of resources is required. Operations requirements are computed for each of the plurality of application instances, the computed requirements including vertical increase and decrease operations, and horizontal split and collapse operations. The vertical decrease and horizontal collapse operations are first processed, the vertical increase and horizontal split operations are ordered, and the vertical increase and horizontal split operations are subsequently processed based on the ordering, thereby optimizing application efficiency and utilization of the plurality of resources in the distributed computing environment.


