IP Library › Granted Patent US 11,561,836
Granted Patent B2
US 11,561,836 · App. 16/710,714 · Granted Jan 24, 2023

Optimizing distribution of heterogeneous software process workloads

Inventors: Peter Eberlein (Malsch, DE); Volker Driesen (Heidelberg, DE)
Assignee: SAP SE
G06F9/5027G06F9/4881G06F9/5083G06F11/3006G06F11/3476G06N20/00G06F2209/5019
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 11,561,836
App. No.
16/710,714
Granted
Jan 24, 2023
Kind
B2
Abstract

A request is received to schedule a new software process. Description data associated with the new software process is retrieved. A workload resource prediction is requested and received for the new software process. A landscape directory is analyzed to determine a computing host in a managed landscape on which to load the new software process. The new software process is executed on the computing host.

Claims (68)

1. A computer-implemented method, comprising:

receiving a request to schedule a new software process;

retrieving description data associated with the new software process, the description data comprising a reference to a process type of the new software process;

requesting a workload resource prediction for the new software process based on the description data;

receiving the workload resource prediction for the new software process, the workload resource prediction indicating an expected memory and processor usage to execute the new software process;

analyzing a landscape directory to determine a computing host in a managed landscape on which to load the new software process, the computing host being determined based on processing capabilities of hosts relative to ongoing workloads within the managed landscape to execute the new software process according to the workload resource prediction in parallel with compatible ongoing memory and processor usage of coexisting workloads without degradation of process execution performance, the compatible ongoing memory and processor usage of the coexisting workloads being identified based on the expected memory and processor usage to execute the new software process relative to a memory and processor usage capability of the computing host and a designated resource buffer for each of memory and processor usage capability allocated from the memory and processor usage capability of the computing host; and

executing the new software process on the computing host.

2. The computer-implemented method of claim 1 , further comprising, for a software process similar to the new software process and prior to receiving the request to schedule the new software process:

reading resource usage data every time interval delta-t from a managed landscape;

storing, as stored data, the resource usage data per process and the time interval delta-t into a load statistics database; and

reading the stored data from the load statistics database.

3. The computer-implemented method of claim 2 , further comprising:

generating a workload profile;

writing the workload profile to the load statistics database; and

using the workload profile to schedule the new software process in the managed landscape.

4. The computer-implemented method of claim 2 , further comprising training a machine-learning prediction model to predict workload consumption for the new software process.

5. The computer-implemented method of claim 4 , further comprising continuously updating the machine-learning prediction model using data from the load statistics database.

6. The computer-implemented method of claim 2 , further comprising:

calculating an average, maximum, and standard deviation of the resource usage data; and

storing the average, maximum, and standard deviation of the resource usage data into the load statistics database.

7. The computer-implemented method of claim 1 , further comprising:

updating a load monitor with data associated with the new software process; and

continuously monitoring the new software process in the managed landscape.

8. A non-transitory, computer-readable medium storing one or more instructions executable by a computer system to perform operations comprising:

receiving a request to schedule a new software process;

retrieving description data associated with the new software process, the description data comprising a reference to a process type of the new software process;

requesting a workload resource prediction for the new software process based on the description data;

receiving the workload resource prediction for the new software process, the workload resource prediction indicating an expected memory and processor usage to execute the new software process;

analyzing a landscape directory to determine a computing host in a managed landscape on which to load the new software process, the computing host being determined based on processing capabilities of hosts relative to ongoing workloads within the managed landscape to execute the new software process according to the workload resource prediction in parallel with compatible ongoing memory and processor usage of coexisting workloads without degradation of process execution performance, the compatible ongoing memory and processor usage of the coexisting workloads being identified based on the expected memory and processor usage to execute the new software process relative to a memory and processor usage capability of the computing host and a designated resource buffer for each of memory and processor usage capability allocated from the memory and processor usage capability of the computing host; and

executing the new software process on the computing host.

9. The non-transitory, computer-readable medium of claim 8 , further comprising, for a software process similar to the new software process and prior to receiving the request to schedule the new software process:

reading resource usage data every time interval delta-t from a managed landscape;

storing, as stored data, the resource usage data per process and the time interval delta-t into a load statistics database; and

reading the stored data from the load statistics database.

10. The non-transitory, computer-readable medium of claim 9 , further comprising:

generating a workload profile;

writing the workload profile to the load statistics database; and

using the workload profile to schedule the new software process in the managed landscape.

11. The non-transitory, computer-readable medium of claim 9 , further comprising training a machine-learning prediction model to predict workload consumption for the new software process.

12. The non-transitory, computer-readable medium of claim 11 , further comprising continuously updating the machine-learning prediction model using data from the load statistics database.

13. The non-transitory, computer-readable medium of claim 9 , further comprising:

calculating an average, maximum, and standard deviation of the resource usage data; and

storing the average, maximum, and standard deviation of the resource usage data into the load statistics database.

14. The non-transitory, computer-readable medium of claim 8 , further comprising:

updating a load monitor with data associated with the new software process; and

continuously monitoring the new software process in the managed landscape.

15. A computer-implemented system, comprising:

one or more computers; and

one or more computer memory devices interoperably coupled with the one or more computers and having tangible, non-transitory, machine-readable media storing one or more instructions that, when executed by the one or more computers, perform one or more operations comprising:

receiving a request to schedule a new software process;

retrieving description data associated with the new software process, the description data comprising a reference to a process type of the new software process;

requesting a workload resource prediction for the new software process;

receiving the workload resource prediction for the new software process, the workload resource prediction indicating an expected memory and processor usage to execute the new software process;

analyzing a landscape directory to determine a computing host in a managed landscape on which to load the new software process, the computing host being determined based on processing capabilities of hosts relative to ongoing workloads within the managed landscape to execute the new software process according to the workload resource prediction in parallel with compatible ongoing memory and processor usage of coexisting workloads without degradation of process execution performance, the compatible ongoing memory and processor usage of the coexisting workloads being identified based on the expected memory and processor usage to execute the new software process relative to a memory and processor usage capability of the computing host and a designated resource buffer for each of memory and processor usage capability allocated from the memory and processor usage capability of the computing host; and

executing the new software process on the computing host.

16. The computer-implemented system of claim 15 , further comprising, for a software process similar to the new software process and prior to receiving the request to schedule the new software process:

reading resource usage data every time interval delta-t from a managed landscape;

storing, as stored data, the resource usage data per process and the time interval delta-t into a load statistics database; and

reading the stored data from the load statistics database.

17. The computer-implemented system of claim 16 , further comprising:

generating a workload profile;

writing the workload profile to the load statistics database; and

using the workload profile to schedule the new software process in the managed landscape.

18. The computer-implemented system of claim 16 , further comprising training a machine-learning prediction model to predict workload consumption for the new software process.

19. The computer-implemented system of claim 18 , further comprising continuously updating the machine-learning prediction model using data from the load statistics database.

20. The computer-implemented system of claim 16 , further comprising:

calculating an average, maximum, and standard deviation of the resource usage data; and

storing the average, maximum, and standard deviation of the resource usage data into the load statistics database.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 11, 2019
From: EBERLEIN, PETER; DRIESEN, VOLKER
To: SAP SE
Reel/Frame 051249/0915 →
Continuity (1)
Related Publication 20210182108A1 · Jun 17, 2021
Cited By (5)
US 12,210,903 US 12,499,116 US 12,541,616 US 12,561,225 US 12,689,626