IP Library › Granted Patent US 10,884,801
Granted Patent B2
US 10,884,801 · App. 16/286,163 · Granted Jan 5, 2021

Server resource orchestration based on application priority

Inventors: Alain Gauthier (Montreal, CA); Martin Parent (St. Joseph du Lac, CA); Edgar Lott (Nussloch, DE)
Assignee: SAP SE
G06F9/4881G06F9/5038G06F9/5072G06F9/5083
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,884,801
App. No.
16/286,163
Granted
Jan 5, 2021
Kind
B2
Abstract

The present disclosure involves systems, software, and computer implemented methods for resource allocation and management. One example method includes receiving 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 dispatching algorithm is executed, to dispatch the first task to a first application server based on the first application priority and the at least one second application priority. Destination information is returned, in response to the request, for the first application server, for execution of the first task for the first application, at the first application server, using the first resources.

Claims (37)

1. A computer-implemented method comprising:

receiving, by a first dispatcher instance included in a dispatching layer, a request to run a first task for a first application, the request including a first application priority, wherein the first dispatcher instance is configured to assign a first application server among a set of application servers to the first task for execution of the first task;

identifying at least one second application priority of at least one currently running application, wherein the at least one second application priority is different than the first application priority, and wherein the second application priority is associated with a second dispatcher instance;

determining a dispatching algorithm configured for the dispatching layer;

executing the dispatching algorithm, by the first dispatcher instance, to dispatch the first task to the first application server based on the first application priority and the at least one second application priority, wherein the dispatching includes balancing resources used by the first application and the at least one currently running application according to the dispatching algorithm and based on the first application priority and the at least one second application priority, wherein balancing includes assigning first resources to the first application; and

returning, in response to the request, destination information for the first application server, for execution of the first task for the first application, at the first application server, using the first resources.

2. The method of claim 1 , wherein the first application priority is separate and different from a kernel priority for the first application.

3. The method of claim 1 , wherein the dispatching algorithm is a suspend and resume algorithm where lower priority applications are suspended until higher priority applications are finished.

4. The method of claim 1 , wherein the dispatching algorithm is a dynamic-sharing algorithm where resources are shared dynamically between running applications.

5. The method of claim 1 , wherein the dispatching algorithm is a fixed-sharing algorithm where resources are allocated to different applications based on weighted priorities of running applications.

6. The method of claim 1 , wherein the first task is a first application portion for the first application among multiple application portions that are configured to run in parallel.

7. The method of claim 1 , further comprising receiving a notification regarding completion of the first task.

8. A system comprising:

one or more computers; and

a computer-readable medium coupled to the one or more computers having instructions stored thereon which, when executed by the one or more computers, cause the one or more computers to perform operations comprising:

receiving, by a first dispatcher instance included in a dispatching layer, a request to run a first task for a first application, the request including a first application priority, wherein the first dispatcher instance is configured to assign a first application server among a set of application servers to the first task for execution of the first task;

identifying at least one second application priority of at least one currently running application, wherein the at least one second application priority is different than the first application priority, and wherein the second application priority is associated with a second dispatcher instance;

determining a dispatching algorithm configured for the dispatching layer;

executing the dispatching algorithm, by the first dispatcher instance, to dispatch the first task to the first application server based on the first application priority and the at least one second application priority, wherein the dispatching includes balancing resources used by the first application and the at least one currently running application according to the dispatching algorithm and based on the first application priority and the at least one second application priority, wherein balancing includes assigning first resources to the first application; and

returning, in response to the request, destination information for the first application server, for execution of the first task for the first application, at the first application server, using the first resources.

9. The system of claim 8 , wherein the first application priority is separate and different from a kernel priority for the first application.

10. The system of claim 8 , wherein the dispatching algorithm is a suspend and resume algorithm where lower priority applications are suspended until higher priority applications are finished.

11. The system of claim 8 , wherein the dispatching algorithm is a dynamic-sharing algorithm where resources are shared dynamically between running applications.

12. The system of claim 8 , wherein the dispatching algorithm is a fixed-sharing algorithm where resources are allocated to different applications based on weighted priorities of running applications.

13. The system of claim 8 , wherein the first task is a first application portion for the first application among multiple application portions that are configured to run in parallel.

14. The system of claim 8 , further comprising receiving a notification regarding completion of the first task.

15. A computer program product encoded on a non-transitory storage medium, the product comprising non-transitory, computer readable instructions for causing one or more processors to perform operations comprising:

receiving, by a first dispatcher instance included in a dispatching layer, a request to run a first task for a first application, the request including a first application priority, wherein the first dispatcher instance is configured to assign a first application server among a set of application servers to the first task for execution of the first task;

identifying at least one second application priority of at least one currently running application, wherein the at least one second application priority is different than the first application priority, and wherein the second application priority is associated with a second dispatcher instance;

determining a dispatching algorithm configured for the dispatching layer;

executing the dispatching algorithm, by the first dispatcher instance, to dispatch the first task to the first application server based on the first application priority and the at least one second application priority, wherein the dispatching includes balancing resources used by the first application and the at least one currently running application according to the dispatching algorithm and based on the first application priority and the at least one second application priority, wherein balancing includes assigning first resources to the first application; and

returning, in response to the request, destination information for the first application server, for execution of the first task for the first application, at the first application server, using the first resources.

16. The computer program product of claim 15 , wherein the first application priority is separate and different from a kernel priority for the first application.

17. The computer program product of claim 15 , wherein the dispatching algorithm is a suspend and resume algorithm where lower priority applications are suspended until higher priority applications are finished.

18. The computer program product of claim 15 , wherein the dispatching algorithm is a dynamic-sharing algorithm where resources are shared dynamically between running applications.

19. The computer program product of claim 15 , wherein the dispatching algorithm is a fixed-sharing algorithm where resources are allocated to different applications based on weighted priorities of running applications.

20. The computer program product of claim 15 , wherein the first task is a first application portion for the first application among multiple application portions that are configured to run in parallel.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2019
From: PARENT, MARTIN; GAUTHIER, ALAIN; LOTT, EDGAR
To: SAP SE
Reel/Frame 048446/0352 →
Continuity (1)
Related Publication 20200272511A1 · Aug 27, 2020