IP Library Granted Patent US 11,029,961
Granted Patent B2
US 11,029,961 · App. 16/133,604 · Granted Jun 8, 2021

Calculating wait time for batch scheduler jobs

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,029,961
App. No.
16/133,604
Granted
Jun 8, 2021
Kind
B2
Abstract

Various embodiments are described herein that relate to computer programs and computer-implemented techniques for predicting when jobs in the queue of a batch scheduler will be completed. More specifically, various embodiments are described herein that relate to mechanisms for predicting the wait time and/or the estimated time to completion for jobs that are to be executed by a software asset management platform. For example, heuristics and algorithms could be used to discover when execution of a job is likely to begin and/or end. The estimated time to completion for a given job can be estimated by summing the expected execution time of the given job and the expected execution times of any jobs to be executed prior to the given job, while the wait time for a given job can be estimated by summing the expected execution times of any jobs to be executed prior to the given job.

Claims (57)

1. A computer-implemented method comprising:

building a log of historical execution times by recording an execution time for each job of multiple jobs that are executed by a software asset management platform;

receiving input indicative of a request to initiate a particular job;

placing the particular job in a queue of a batch scheduler computer application that is executed by the software asset management platform;

computing an expected execution time for the particular job based on entries in the log of historical execution times that correspond to past jobs that are of a same type as the particular job, wherein the expected execution time is based on similarity measures reflective of how many operating characteristics are shared between respective past jobs and the particular job, and wherein the operating characteristics are indicative of characteristics associated with a computer system;

predicting an expected time to completion for the particular job based on the expected execution time; and

posting the expected time to completion for the particular job to an interface for review by a user.

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

determining that at least one other job is ahead of the particular job in the queue of the batch scheduler computer application; and

computing an expected execution time for each job of the at least one other job, thereby producing at least one expected execution time corresponding to the at least one other job.

3. The computer-implemented method of claim 2 , wherein the expected time to completion for the particular job is established by summing the expected execution time corresponding to the particular job and the at least one expected execution time corresponding to the at least one other job.

4. The computer-implemented method of claim 2 , wherein expected execution time for a given job is derived by averaging execution times maintained in the log of historical execution times that are associated with a same job type as the given job.

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

identifying at least one execution time in the log of historical execution times,

wherein each execution time of the at least one execution time corresponds to a past job of the same type as the particular job; and

assigning a weight to each execution time of the at least one execution time based on an associated similarity measure,

wherein said computing the expected execution time for the particular job is based on the at least one weighted execution time.

6. The computer-implemented method of claim 1 , wherein said building the log of historical execution times comprises:

executing jobs of different types; and

creating an entry for each job in a data store that specifies an execution time, a job type, and one or more operating characteristics.

7. The computer-implemented method of claim 2 , wherein the posted expected time to completion for the particular job is updated upon completion of each other job ahead of the particular job in the queue of the batch scheduler computer application.

8. The computer-implemented method of claim 1 , wherein jobs executed by the software asset management platform are manually initiated by the user.

9. The computer-implemented method of claim 1 , wherein jobs executed by the software asset management platform are automatically initiated by the software asset management platform.

10. A computer-implemented method comprising:

receiving input indicative of a request to a software asset management platform to initiate a particular job;

placing the particular job in a queue of a batch scheduler computer application that is executed by the software asset management platform;

determining that an existing job is ahead of the particular job in the queue of the batch scheduler computer application;

computing an expected time to completion for the particular job by summing an expected execution time corresponding to the existing job and an expected execution time corresponding to the particular job,

wherein expected execution time for a given job is derived by averaging any execution times of past jobs maintained in a log of historical execution times that are associated with a same job type as the given job, wherein the averaging is based on similarity measures reflective of how many operating characteristics are shared between respective past jobs and the given job, and wherein the operating characteristics are indicative of characteristics associated with a computer system; and

posting the expected time to completion for the particular job to an interface for review by a user.

11. The computer-implemented method of claim 10 , wherein the log of historical execution times includes an entry for each job executed by the software asset management platform, and wherein each entry specifies an execution time, a job type, and one or more operating characteristics.

12. The computer-implemented method of claim 11 ,

wherein the expected execution time corresponding to the given job are weighted, in the averaging, based on the similarity measures, and

wherein those expected execution times corresponding to prior jobs that share at least one operating characteristic in common with the given job are weighted more heavily.

13. The computer-implemented method of claim 11 , wherein the operating characteristics include input/output (I/O) subsystem speed, central processing unit (CPU) speed, network connectivity status, network connection bandwidth, or any combination thereof.

14. The computer-implemented method of claim 10 , wherein the log of historical execution times is maintained in a data store that is accessible to the software asset management platform.

15. The computer-implemented method of claim 10 , further comprising:

updating the posted expected time to completion for the particular job upon completion of the existing job ahead of the particular job in the queue of the batch scheduler computer application.

16. The computer-implemented method of claim 10 , further comprising:

continually updating the posted expected time to completion for the particular job in accordance with a specified refresh rate.

17. An electronic device comprising:

a memory that includes instructions for estimating when jobs to be executed by an asset management platform will be completed,

wherein the instructions, when executed by a processor, cause the processor to:

receive input indicative of a request to initiate a job;

place the job in a queue of a batch scheduler computer application that is executed by the asset management platform;

identify at least one execution time in a log of historical execution times that corresponds to at least one past job of a same type as the job;

assign a weight to each execution time of the at least one execution time based on how many operating characteristics are shared between the corresponding past job of the at least one past job and the job;

compute an expected time to completion for the job based on the at least one weighted execution time;

compute an optimal expected time to completion for the job by multiplying the expected time to completion by a first factor;

compute a sub-optimal expected time to completion for the job by multiplying the expected time to completion by a second factor; and

cause the expected time to completion, the optimal expected time to completion, the sub-optimal expected time to completion, or any combination thereof, to be posted to an interface for review.

18. The electronic device of claim 17 , wherein the instructions further cause the processor to:

determine that one or more existing jobs are ahead of the job in the queue of the batch scheduler computer application;

compute one or more expected execution times for respective existing jobs;

compute the expected time to completion for the job based on the expected execution time corresponding to the job and the expected execution times corresponding to the one or more existing jobs.

19. The electronic device of claim 18 , wherein said computing the expected time to completion for the job comprises:

summing an expected execution time corresponding to the job and the one or more expected execution times corresponding to the one or more existing jobs.

Assignments (6)
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS - REEL/FRAME 055487-0036 Recorded Aug 22, 2025
From: JEFFERIES FINANCE LLC
To: BDNA CORPORATION; FLEXERA SOFTWARE LLC; RISC NETWORKS, LLC
Reel/Frame 072527/0741 →
SECURITY INTEREST Recorded Aug 15, 2025
From: FLEXERA SOFTWARE LLC
To: KKR LOAN ADMINISTRATION SERVICES LLC, AS COLLATERAL GENT
Reel/Frame 072460/0828 →
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS Recorded Apr 18, 2024
From: JEFFERIES FINANCE LLC
To: BDNA CORPORATION; FLEXERA SOFTWARE LLC; PALAMIDA, INC.; RIGHTSCALE, INC.; RISC NETWORKS, LLC; REVULYTICS, INC.
Reel/Frame 067636/0534 →
FIRST LIEN SECURITY AGREEMENT Recorded Mar 3, 2021
From: BDNA CORPORATION; FLEXERA SOFTWARE LLC; RISC NETWORKS, LLC
To: JEFFERIES FINANCE LLC
Reel/Frame 055487/0036 →
SECOND LIEN SECURITY AGREEMENT Recorded Mar 3, 2021
From: BDNA CORPORATION; FLEXERA SOFTWARE LLC; PALAMIDA, INC.; RIGHTSCALE, INC.; RISC NETWORKS, LLC; REVULYTICS, INC.
To: JEFFERIES FINANCE LLC
Reel/Frame 055487/0354 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2018
From: KUTTAN, RAJEESH CHIRAYATH
To: FLEXERA SOFTWARE LLC
Reel/Frame 046893/0395 →