IP Library Granted Patent US 12,608,244
Granted Patent B2
US 12,608,244 · App. 18/505,204 · Granted Apr 21, 2026

Resource utilization in job scheduler systems

Inventor: Hui Li (Shanghai, CN)
Assignee: SAP SE
G06F9/52G06F9/4881
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 12,608,244
App. No.
18/505,204
Granted
Apr 21, 2026
Kind
B2
Abstract

Methods, systems, and computer-readable storage media for receiving a first set of historical processing data for a first job, the first set of historical processing data including a first value for a first characteristic type and a second value for a second characteristic type, determining a first consumption type for the first job based on the first value and the second value, assigning the first job and a second job to a job tuple in response to determining that the first consumption type of the first job is combinable with a second consumption type of the second job, fetching, by a first job worker, the job tuple from a job queue, and concurrently executing, by the first job worker, the first job and the second job of the job tuple.

Claims (46)

1 . A computer-implemented method for distributing jobs for execution in cloud-based environments, the method being executed by one or more processors and comprising:

receiving a first set of historical processing data for a first job, the first set of historical processing data comprising a first value for a first characteristic type and a second value for a second characteristic type;

determining a first consumption type for the first job based on the first value and the second value;

assigning the first job and a second job to a job tuple in response to determining that the first consumption type of the first job is combinable with a second consumption type of the second job;

fetching, by a first job worker, the job tuple from a job queue; and

concurrently executing, by the first job worker, the first job and the second job of the job tuple.

2 . The method of claim 1 , wherein determining a first consumption type for the first job based on the first value and the second value comprises determining that the first value is equal to or above a first threshold value and the second value is less than a second threshold value, and in response, assigning the first consumption type to the first job.

3 . The method of claim 1 , wherein determining a first consumption type for the first job based on the first value and the second value comprises determining that the first value is equal to or above a first threshold value and the second value is equal to or above a second threshold value, and in response, assigning the first consumption type to the first job.

4 . The method of claim 1 , further comprising:

assigning a third job to be non-concurrently executed by a job worker in response to determining that a first consumption type of the third job is not combinable with consumption types of other jobs;

fetching, by a second job worker, the third job from the job queue; and

executing, by the second job worker, the third job.

5 . The method of claim 1 , wherein the first characteristic type and the second characteristic type are included in a set of characteristic types comprising processing cost, memory cost, and network cost.

6 . The method of claim 1 , wherein the first consumption type and the second consumption type are included in a set of consumption types comprising, processing-only, processing-memory, processing-network, memory-only, memory-network, network-only, and other.

7 . The method of claim 1 , wherein the first job worker fetches the job tuple from the job queue based on a load balancing algorithm that designates an order of job workers for fetching from the job queue.

8 . A non-transitory computer-readable storage medium coupled to one or more processors and having instructions stored thereon which, when executed by the one or more processors, cause the one or more processors to perform operations for distributing jobs for execution in cloud-based environments, the operations comprising:

receiving a first set of historical processing data for a first job, the first set of historical processing data comprising a first value for a first characteristic type and a second value for a second characteristic type;

determining a first consumption type for the first job based on the first value and the second value;

assigning the first job and a second job to a job tuple in response to determining that the first consumption type of the first job is combinable with a second consumption type of the second job;

fetching, by a first job worker, the job tuple from a job queue; and

concurrently executing, by the first job worker, the first job and the second job of the job tuple.

9 . The non-transitory computer-readable storage medium of claim 8 , wherein determining a first consumption type for the first job based on the first value and the second value comprises determining that the first value is equal to or above a first threshold value and the second value is less than a second threshold value, and in response, assigning the first consumption type to the first job.

10 . The non-transitory computer-readable storage medium of claim 8 , wherein determining a first consumption type for the first job based on the first value and the second value comprises determining that the first value is equal to or above a first threshold value and the second value is equal to or above a second threshold value, and in response, assigning the first consumption type to the first job.

11 . The non-transitory computer-readable storage medium of claim 8 , wherein operations further comprise:

assigning a third job to be non-concurrently executed by a job worker in response to determining that a first consumption type of the third job is not combinable with consumption types of other jobs;

fetching, by a second job worker, the third job from the job queue; and

executing, by the second job worker, the third job.

12 . The non-transitory computer-readable storage medium of claim 8 , wherein the first characteristic type and the second characteristic type are included in a set of characteristic types comprising processing cost, memory cost, and network cost.

13 . The non-transitory computer-readable storage medium of claim 8 , wherein the first consumption type and the second consumption type are included in a set of consumption types comprising, processing-only, processing-memory, processing-network, memory-only, memory-network, network-only, and other.

14 . The non-transitory computer-readable storage medium of claim 8 , wherein the first job worker fetches the job tuple from the job queue based on a load balancing algorithm that designates an order of job workers for fetching from the job queue.

15 . A system, comprising:

a computing device; and

a computer-readable storage device coupled to the computing device and having instructions stored thereon which, when executed by the computing device, cause the computing device to perform operations for distributing jobs for execution in cloud-based environments, the operations comprising:

receiving a first set of historical processing data for a first job, the first set of historical processing data comprising a first value for a first characteristic type and a second value for a second characteristic type;

determining a first consumption type for the first job based on the first value and the second value;

assigning the first job and a second job to a job tuple in response to determining that the first consumption type of the first job is combinable with a second consumption type of the second job;

fetching, by a first job worker, the job tuple from a job queue; and

concurrently executing, by the first job worker, the first job and the second job of the job tuple.

16 . The system of claim 15 , wherein determining a first consumption type for the first job based on the first value and the second value comprises determining that the first value is equal to or above a first threshold value and the second value is less than a second threshold value, and in response, assigning the first consumption type to the first job.

17 . The system of claim 15 , wherein determining a first consumption type for the first job based on the first value and the second value comprises determining that the first value is equal to or above a first threshold value and the second value is equal to or above a second threshold value, and in response, assigning the first consumption type to the first job.

18 . The system of claim 15 , wherein operations further comprise:

assigning a third job to be non-concurrently executed by a job worker in response to determining that a first consumption type of the third job is not combinable with consumption types of other jobs;

fetching, by a second job worker, the third job from the job queue; and

executing, by the second job worker, the third job.

19 . The system of claim 15 , wherein the first characteristic type and the second characteristic type are included in a set of characteristic types comprising processing cost, memory cost, and network cost.

20 . The system of claim 15 , wherein the first consumption type and the second consumption type are included in a set of consumption types comprising, processing-only, processing-memory, processing-network, memory-only, memory-network, network-only, and other.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2023
From: LI, HUI
To: SAP SE
Reel/Frame 065505/0734 →
Continuity (1)
Related Publication 20250156246A1 · May 15, 2025
References Cited (22)
US 9201690B2 · Meng et al. · 2015 [cited by applicant]
US 9679010B2 · Fu et al. · 2017 [cited by applicant]
US 10002024B2 · Balsamo et al. · 2018 [cited by applicant]
US 10725834B2 · Lee · 2020 [cited by examiner]
US 10728317B1 · James et al. · 2020 [cited by applicant]
US 11153374B1 · Yu et al. · 2021 [cited by applicant]
US 11175950B1 · Yang · 2021 [cited by examiner]
US 20140109104A1 · Majewski et al. · 2014 [cited by applicant]
US 20140351172A1 · Madani et al. · 2014 [cited by applicant]
US 20150355943A1 · Harris · 2015 [cited by examiner]
US 20160156568A1 · Naganuma et al. · 2016 [cited by applicant]
US 20180107513A1 · Devi · 2018 [cited by examiner]
US 20180143852A1 · Ballantyne · 2018 [cited by examiner]
US 20180241811A1 · Chen et al. · 2018 [cited by applicant]
US 20200293372A1 · Haprian · 2020 [cited by examiner]
US 20220129745A1 · Wan · 2022 [cited by examiner]
US 20220171653A1 · Rj et al. · 2022 [cited by applicant]
US 20230062402A1 · Suzuki · 2023 [cited by examiner]
US 20240069998A1 · Chatterjee · 2024 [cited by examiner]
US 20240193010A1 · Huang · 2024 [cited by examiner]
US 20250328377A1 · Alsop · 2025 [cited by examiner]
U.S. Appl. No. 18/332,860, Li et al., filed Jun. 12, 2023. [cited by applicant]