Server Resource Balancing via Suspend-Resume Strategy

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current systems lack efficient resource orchestration in cloud environments, leading to resource shortages, unresponsiveness, and inefficient use of allocated resources due to the lack of application priority awareness in traditional operating systems and load balancers, resulting in suboptimal performance and increased costs for customers and operators.

Innovation Solution

A centralized application resource orchestration (ARO) layer that dynamically allocates resources based on application priority, suspending lower-priority tasks when higher-priority tasks are active, and distributing resources efficiently across servers to ensure responsiveness and optimal use of allocated resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional operating systems and load balancers are used without application priority awareness, then device complexity is reduced, but system responsiveness and resource allocation efficiency deteriorate

Engineering Contradiction:
Improvesystem responsivenessVSAvoidresource orchestration complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

A centralized application resource orchestration (ARO) layer is introduced as an intermediary between applications and servers. This ARO layer receives task requests from applications, determines priorities, suspends lower-priority tasks, and distributes resources to appropriate servers. The intermediary layer resolves the contradiction by adding managed complexity at a single point rather than throughout the entire system, improving responsiveness while containing complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system is segmented into distinct functional layers: the ARO layer that handles priority management and resource orchestration, and the server layer that executes tasks. This segmentation allows the complex priority-aware resource allocation logic to be isolated in the ARO layer, improving system responsiveness without requiring complexity in every individual server or application component.

Inventive Principle:
Principle #1Segmentation

2Productivity

If resources are allocated without application priority awareness, then ease of operation is improved, but productivity and resource utilization efficiency deteriorate

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidresource allocation simplicity
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The ARO layer automatically determines application priorities and manages resource allocation without requiring manual intervention. Applications simply submit tasks with priority information, and the ARO layer autonomously processes suspensions and resource distribution. This self-service mechanism improves productivity through efficient priority-based resource utilization while maintaining ease of operation by eliminating the need for complex manual resource management.

Inventive Principle:
Principle #25Self-service

3Reliability

If lower-priority tasks continue executing without suspension, then loss of time is reduced for those tasks, but reliability of higher-priority task execution deteriorates

Engineering Contradiction:
Improvehigher-priority task execution guaranteeVSAvoidtask execution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system dynamically adjusts task execution based on priority changes. When a higher-priority task arrives, the ARO layer dynamically suspends lower-priority tasks and reallocates resources. This dynamic behavior ensures reliable execution of higher-priority tasks while minimizing time loss for lower-priority tasks by suspending them only when necessary rather than continuously blocking them.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10884800B2Server resource balancing using a suspend-resume strategy
Publication Date: 2021.01.05 SAP SE
  • US10884800B2 patent drawing
  • US10884800B2 patent drawing
  • US10884800B2 patent drawing

AI summary

The present disclosure involves systems, software, and computer implemented methods for resource allocation and management. One example method includes receiving, by a first dispatcher in a dispatching layer, a first request to run a first task for a first application, the first request including a first application priority. A determination is made that the first application priority is lower than at least one higher application priority of another application. Execution of the first application is suspended based on determining that the first application priority is lower than the at least one higher application priority. An indication that an application having a higher application priority has finished is received. A determination is made that the first application priority is a highest application priority of currently-running applications. The first task for the first application is dispatched to a first application server.