IP Library Granted Patent US 9,740,522
Granted Patent B2
US 9,740,522 · App. 14/967,739 · Granted Aug 22, 2017

Controlled interruption and resumption of batch job processing

Inventors: Olaf Schmidt (Walldorf, DE); Martin P. Fischer (Heidelberg, DE)
Assignee: SAP SE
G06F9/4818G06F9/485
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 9,740,522
App. No.
14/967,739
Granted
Aug 22, 2017
Kind
B2
Abstract

This disclosure provides various embodiments of software, systems, and techniques for controlled interruption of batch job processing. In one instance, a tangible computer readable medium stores instructions for managing batch jobs, where the instructions are operable when executed by a processor to identify an interruption event associated with a batch job queue. The instructions trigger an interruption of an executing batch job within the job queue such that the executed portion of the job is marked by a restart point embedded within the executable code. The instructions then restart the interrupted batch job at the restart point.

Claims (50)

1. A non-transitory computer readable medium storing instructions for managing batch jobs, the instructions operable when executed by a processor to:

execute a first batch job within a job queue, the first batch job including one or more tasks, the first batch job comprising a business application injected within an interrupt framework;

registering the business application via the interrupt framework, the registration comprising an indicator that is set at execution time via the interrupt framework;

identify a restart point that is placed at a predetermined location included by the first batch job prior to execution of the first batch job;

identify, while the first batch job is executing, a second batch job to be executed;

trigger an interruption event of the first batch job within the job queue;

in response to the interruption event, continue a complete execution of a currently executing task for the first batch job without interruption until the restart point is reached and terminates when the restart point is reached;

execute the second batch job when the first batch job has terminated; and

restart the first batch job at the restart point when the second batch job has executed.

2. The computer readable medium of claim 1 , the instructions further operable to:

receive resuming data associated with the first batch job when the first batch job is interrupted; and

provide the resuming data to the first batch job when the first batch job is restarted.

3. The computer readable medium of claim 2 , the resuming data comprising a batch job identifier and a restart point identifier.

4. The computer readable medium of claim 2 , the instructions further operable to store the resuming data in a database.

5. The computer readable medium of claim 1 , the instructions further operable to identify the second batch job from among a plurality of batch jobs according to a job priority.

6. The computer readable medium of claim 5 , wherein the job priority is at least one of a job execution priority or an interruption priority.

7. The computer readable medium of claim 1 , wherein the second batch job is a higher priority batch job than the first batch job, and wherein the interruption event comprises an execution request of the higher priority batch job.

8. The computer readable medium of claim 1 , wherein the first batch job has a larger load level than the second batch job.

9. The computer readable medium of claim 1 , wherein the second batch job includes a second restart point, and wherein the instructions further operable to:

identify a third batch job to be executed while the second batch job is executing;

trigger a second interruption event of the second batch job within the job queue such that the second batch job executes until the second restart point is reached and terminates when the second restart point is reached;

execute the third batch job when the second batch job has terminated; and

restart the second batch job at the second restart point when the third batch job has terminated.

10. The computer readable medium of claim 1 , wherein the second batch job includes a second restart point, and wherein the instructions further operable to:

receive a request to restart the first batch job;

trigger a second interruption event of the second batch job within the job queue such that the second batch job executes until the second restart point is reached and terminates when the second restart point is reached; and

restart the first batch job at the first restart point.

11. The computer readable medium of claim 1 , wherein the indicator is a flag.

12. The computer readable medium of claim 1 , the instructions comprising a portion of a batch job scheduler managing a plurality of job queues.

13. A computer implemented method for managing batch jobs, the method comprising:

determining that a first batch job within a job queue is executing, wherein the first batch job includes one or more tasks, the first batch job comprising a business application injected with an interrupt framework;

registering the business application via the interrupt framework, the registration comprising an indicator that is set at execution time via the framework;

identifying a restart point that is placed at a predetermined location included by the first batch job prior to the first batch job executing;

identifying, while the first batch job is executing, a second batch job to be executed;

triggering an interruption event of the first batch job within the job queue;

in response to the interruption event, continue a complete execution of a currently executing task for the first batch job without interruption until the restart point is reached and terminates when the restart point is reached;

determining that the second batch job is executing when the first batch job has terminated; and

restarting the first batch job at the restart point when the second batch job has executed.

14. The computer implemented method of claim 13 , further comprising:

receiving resuming data associated with the first batch job when the first batch job is interrupted, the resuming data comprising a batch job identifier and a restart point identifier;

persisting the resuming data; and

providing the resuming data from persistence to the first batch job when the first batch job is restarted.

15. The computer implemented method of claim 13 , further comprising identifying the second batch job from among a plurality of batch jobs according to a job priority, the job priority selected from a job execution priority or an interrupt priority or both.

16. The computer implemented method of claim 13 , wherein the second batch job is a higher priority batch job than the first batch job, and wherein the interruption event comprises an execution request of the higher priority batch job.

17. The computer implemented method of claim 13 , wherein the second batch job includes a second restart point, and wherein the method further comprises:

identifying a third batch job to be executed while the second batch job is executing;

triggering a second interruption event of the second batch job within the job queue such that the second batch job executes until the second restart point is reached and terminates when the second restart point is reached;

executing the third batch job when the second batch job has terminated; and

restarting the second batch job at the second restart point when the third batch job has terminated.

18. The computer implemented method of claim 13 , wherein the indicator is a flag.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2015
From: SCHMIDT, OLAF; FISCHER, MARTIN P.
To: SAP AG
Reel/Frame 037288/0756 →
CHANGE OF NAME Recorded Dec 14, 2015
From: SAP AG
To: SAP SE
Reel/Frame 037288/0798 →
Continuity (2)
Continuation 12435690 · May 5, 2009
Related Publication 20160098293A1 · Apr 7, 2016