IP Library Granted Patent US 11,249,801
Granted Patent B2
US 11,249,801 · App. 16/845,884 · Granted Feb 15, 2022

Flexible computing job scheduling systems and methods

Inventor: Gokulakrishnan Seshiah (Chesterfield, MO)
Assignee: MASTERCARD INTERNATIONAL INCORPORATED
G06F9/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 11,249,801
App. No.
16/845,884
Filed
Apr 10, 2020
Granted
Feb 15, 2022
Kind
B2
Art Unit
2199
USPC
718/102
Abstract

A job scheduling system includes a primary job scheduler and a secondary scheduling gatekeeper. The primary job scheduler provides primary scheduling primitives. The primary job scheduler is configured to activate a first job on an activation date determined based on a primary scheduling definition of the first job, and execute a secondary scheduling gatekeeper to evaluate whether a target program associated with the first job is executed during the activation. The gatekeeper provides enhanced scheduling primitives that include scheduling primitives not in the primary scheduling primitives. The gatekeeper is configured to evaluate a secondary scheduling definition of the first job to determine whether the first job should continue to execution and return the enhanced scheduling result to the primary job scheduler. The secondary scheduling definition is configured using the set of enhanced scheduling primitives. The system causes the execution of the target program based on the result.

Claims (44)

1. A job scheduling system for providing enhanced job scheduling with a primary job scheduler, the job scheduling system comprising:

a processor;

a memory coupled to the processor;

a primary job scheduler; and

a secondary scheduling gatekeeper,

the primary job scheduler is stored in the memory and executed by the processor to:

identify a primary job definition for a first job, the primary job definition includes a primary scheduling definition for the first job and identification of a target program;

provide a set of primary scheduling primitives, the set of primary scheduling primitives are used to configure when jobs activate within the primary job scheduler;

activate the first job on an activation date determined based on the primary scheduling definition of the first job, the primary scheduling definition is configured using the set of primary scheduling primitives; and

execute the secondary scheduling gatekeeper to evaluate whether the target program associated with the first job is executed during the activation; and

the secondary scheduling gatekeeper is stored in the memory and executed by the processor to:

provide a set of enhanced scheduling primitives, the set of enhanced scheduling primitives include one or more scheduling primitives different from the set of primary scheduling primitives;

evaluate a secondary scheduling definition of the first job to determine whether the first job should continue to execution, the secondary scheduling definition is configured using one or more of the scheduling primitives of the set of enhanced scheduling primitives; and

return an enhanced scheduling result to the primary job scheduler; and

the primary job scheduler is further executed by the processor to:

execute the target program based on the enhanced scheduling result.

2. The system of claim 1 , wherein the secondary scheduling gatekeeper is further executed by the processor to determine an evaluation date to use for the first job, wherein evaluating a secondary scheduling definition of the first job to determine whether the first job should continue to execution includes evaluating the secondary scheduling definition using the evaluation date.

3. The system of claim 2 , wherein the evaluation date is determined based on a system clock of a system server executing one of the primary job scheduler and the secondary scheduling gatekeeper.

4. The system of claim 2 , wherein the evaluation date is a user-provided date.

5. The system of claim 2 , wherein the set of enhanced scheduling primitives includes a frequency scheduling primitive including one or more of weekly, monthly, and quarterly, wherein the secondary scheduling gatekeeper is further executed by the processor to determine a current frequency window for the first job based on the evaluation date, the current frequency window defining a beginning date of the current frequency window and an ending date of the current frequency window.

6. The system of claim 5 , wherein the set of enhanced scheduling primitives includes one or more scheduling primitives that is used to define a date range based on the current frequency window.

7. A computer-implemented method for job scheduling and execution, the method implemented using a processor in communication with a memory, the method comprising:

identifying, by a primary job scheduler, a primary job definition for a first job, the primary job definition includes a primary scheduling definition for the first job and identification of a target program;

activating, by the primary job scheduler, the first job on an activation date determined based on the primary scheduling definition of the first job, the primary scheduling definition is configured using a set of primary scheduling primitives provided by the primary job scheduler;

executing, by the primary job scheduler, a secondary scheduling gatekeeper to evaluate whether the target program associated with the first job is executed during the activation;

evaluating, by the secondary scheduling gatekeeper, a secondary scheduling definition of the first job to determine whether the first job should continue to execution, the secondary scheduling definition is configured using one or more of scheduling primitives of a set of enhanced scheduling primitives provided by the secondary scheduling gatekeeper, the set of enhanced scheduling primitives includes one or more scheduling primitives not includes in the set of primary scheduling primitives;

return, by the secondary scheduling gatekeeper, an enhanced scheduling result to the primary job scheduler; and

execute, by the primary job scheduler, the target program based on the enhanced scheduling result.

8. The method of claim 7 , further comprising determining, by the secondary scheduling gatekeeper, an evaluation date to use for the first job, wherein evaluating a secondary scheduling definition of the first job to determine whether the first job should continue to execution includes evaluating the secondary scheduling definition using the evaluation date.

9. The method of claim 8 , wherein the evaluation date is determined based on a system clock of a system server executing one of the primary job scheduler and the secondary scheduling gatekeeper.

10. The method of claim 8 , wherein the evaluation date is a user-provided date.

11. The method of claim 8 , wherein the set of enhanced scheduling primitives includes a frequency scheduling primitive including one or more of weekly, monthly, and quarterly, the method further comprising determining a current frequency window for the first job based on the evaluation date, the current frequency window defining a beginning date of the current frequency window and an ending date of the current frequency window.

12. The method of claim 11 , wherein the set of enhanced scheduling primitives includes one or more scheduling primitives that is used to define a date range based on the current frequency window.

13. A non-transitory computer readable medium that includes computer instructions wherein, when executed by a computing device comprising at least one processor in communication with at least one memory device, the computer instructions cause the computing device to:

identify, by a primary job scheduler, a primary job definition for a first job, the primary job definition includes a primary scheduling definition for the first job and identification of a target program;

activate, by the primary job scheduler, the first job on an activation date determined based on the primary scheduling definition of the first job, the primary scheduling definition is configured using a set of primary scheduling primitives provided by the primary job scheduler;

execute, by the primary job scheduler, a secondary scheduling gatekeeper to evaluate whether the target program associated with the first job is executed during the activation;

evaluate, by the secondary scheduling gatekeeper, a secondary scheduling definition of the first job to determine whether the first job should continue to execution, the secondary scheduling definition is configured using one or more of scheduling primitives of a set of enhanced scheduling primitives provided by the secondary scheduling gatekeeper, the set of enhanced scheduling primitives includes one or more scheduling primitives not includes in the set of primary scheduling primitives;

return, by the secondary scheduling gatekeeper, an enhanced scheduling result to the primary job scheduler; and

execute, by the primary job scheduler, the target program based on the enhanced scheduling result.

14. The non-transitory computer readable medium of claim 13 , wherein the computer instructions further cause the computing device to determine, by the secondary scheduling gatekeeper, an evaluation date to use for the first job, wherein evaluating a secondary scheduling definition of the first job to determine whether the first job should continue to execution includes evaluating the secondary scheduling definition using the evaluation date.

15. The non-transitory computer readable medium of claim 14 , wherein the evaluation date is determined based on a system clock of a system server executing one of the primary job scheduler and the secondary scheduling gatekeeper.

16. The non-transitory computer readable medium of claim 14 , wherein the evaluation date is a user-provided date.

17. The non-transitory computer readable medium of claim 14 , wherein the set of enhanced scheduling primitives includes a frequency scheduling primitive including one or more of weekly, monthly, and quarterly, the computer instructions further cause the computing device to determine a current frequency window for the first job based on the evaluation date, the current frequency window defining a beginning date of the current frequency window and an ending date of the current frequency window, wherein the set of enhanced scheduling primitives includes one or more scheduling primitives that is used to define a date range based on the current frequency window.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 5, 2020
From: SESHIAH, GOKULAKRISHNAN
To: MASTERCARD INTERNATIONAL INCORPORATED
Reel/Frame 052855/0881 →
Continuity (2)
Provisional Application 62832372 · Apr 11, 2019
Related Publication 20200326979A1 · Oct 15, 2020