IP Library Granted Patent US 7,895,474
Granted Patent B2
US 7,895,474 · App. 12/108,099 · Granted Feb 22, 2011

Recovery and restart of a batch application

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 7,895,474
App. No.
12/108,099
Granted
Feb 22, 2011
Kind
B2
Abstract

A method of operating a data processing system comprises executing a batch application, the executing comprising reading one or more inputs from one or more data files, performing updates on one or more records according to the or each input read from a data file, and issuing a syncpoint when said updates are completed. During the execution of the batch application, syncpoints are periodically issued and checkpoints are less frequently issued. Following detection of a failure of the batch application, the batch application is restarted with the last issued checkpoint, and the batch application is executed by reading one or more inputs from one or more data files, but not performing updates on said records, until the last issued syncpoint is reached.

Claims (67)

1. A method of executing a batch application comprising:

reading inputs from one or more data files;

performing updates on one or more associated records according to the inputs;

issuing one or more syncpoints as the updates are being performed;

issuing one or more checkpoints as the updates are being performed;

issuing a final syncpoint when all updates have been performed; and

in response to detection of a failure of the batch application,

restarting the batch application from the last issued checkpoint, and

executing the batch application by reading one or more inputs from one or more data files without performing updates on associated records until the most recently-issued syncpoint is reached.

2. A method according to claim 1 further comprising:

monitoring the inputs read from the one or more data files;

performing a predetermined algorithm based on the monitored inputs; and

issuing syncpoints in accordance with the results of performing the predetermined algorithm.

3. A method according to claim 2 wherein performing the predetermined algorithm further comprises:

maintaining a count of the number of inputs read since the last issued syncpoint;

issuing a new syncpoint when the maintained count reaches a predetermined number; and

resetting the count to zero after the new syncpoint is issued.

4. A method according to claim 2 further comprising:

storing images of record updates; and

when executing the batch application following a restart of the batch application from the last issued checkpoint, comparing inputs read from the data files to the stored images.

5. A method according to claim 4 wherein the interval between issued syncpoints is shorter than the interval between issued checkpoints.

6. A method according to claim 2 wherein the interval between issued syncpoints is shorter than the interval between issued checkpoints.

7. A method according to claim 6 wherein each issued checkpoint includes a pointer to the input currently being read from a data file.

8. A computer program product comprising a computer usable medium having computer usable program code stored thereon, said computer usable program code when loaded onto and executed by a computer causing the computer to control the execution of a batch application, said computer usable program code comprising:

computer usable program code configured to read inputs from one or more data files;

computer usable program code configured to perform updates on one or more associated records according to the inputs;

computer usable program code configured to issue one or more syncpoints as the updates are being performed;

computer usable program code configured to issue one or more checkpoints as the updates are being performed;

computer usable program code configured to issue a final syncpoint when all updates have been performed; and

computer usable program code configured to, in response to detection of a failure of the batch application,

restart the batch application from the last issued checkpoint, and

execute the batch application by reading one or more inputs from one or more data files without performing updates on associated records until the most recently-issued syncpoint is reached.

9. A computer program product according to claim 8 further comprising:

computer usable program code configured to monitor the inputs read from the one or more data files;

computer usable program code configured to perform a predetermined algorithm based on the monitored inputs; and

computer usable program code configured to issue syncpoints in accordance with the results of performing the predetermined algorithm.

10. A computer program product according to claim 9 wherein said computer usable program code configured to perform the predetermined algorithm further comprises:

computer usable program code configured to maintain a count of the number of inputs read since the last issued syncpoint;

computer usable program code configured to issue a new syncpoint when the maintained count reaches a predetermined number; and

computer usable program code configured to reset the count to zero after the new syncpoint is issued.

11. A computer program product according to claim 9 further comprising:

computer usable program code configured to store images of record updates; and

computer usable program code configured, when executing the batch application following a restart of the batch application from the last issued checkpoint, to compare inputs read from the data files to the stored images.

12. A computer program product according to claim 11 wherein the interval between issued syncpoints is shorter than the interval between issued checkpoints.

13. A computer program product according to claim 9 wherein the interval between issued syncpoints is shorter than the interval between issued checkpoints.

14. A computer program product according to claim 13 further comprising computer usable program code configured to include a pointer in each issued checkpoint to the input currently being read from a data file.

15. A data processing system for executing a batch application comprising:

data read logic for reading one or more inputs from one or more data files;

update logic for performing updates on one or more records according to the inputs read from the data files; and

syncpoint logic for issuing one or more syncpoints as the updates are being performed and a final syncpoint when all updates have been performed;

checkpoint logic for issuing one or more checkpoints as the updates are being performed; and

batch application control logic for, in response to detection of a failure of the batch application,

restarting the batch application from the last issued checkpoint, and

executing the batch application by reading one or more inputs from one or more data files without performing updates on associated records until the most recently-issued syncpoint is reached.

16. A data processing system according to claim 15 further comprising:

monitoring logic for monitoring the inputs read from the one or more data files; and

execution logic for performing a predetermined algorithm based on the monitored inputs,

wherein said syncpoint logic issues syncpoints in accordance with the results of performing the predetermined algorithm.

17. A data processing system according to claim 16 wherein said batch application control logic further comprises:

a counter for maintaining a count of the number of inputs read since the last issued syncpoint;

logic for issuing a new syncpoint when the maintained count reaches a predetermined number; and

reset logic for resetting the counter to zero after the new synpoint is issued.

18. A data processing system according to claim 17 wherein the interval between issued syncpoints is shorter than the interval between issued checkpoints.

19. A data processing system according to claim 16 further comprising:

storage logic for storing images of the record updates; and

compare logic for, when executing the batch application following a restart of the batch application from the last issued checkpoint, comparing inputs read from the data files to the stored images.

20. A data processing system according to claim 16 wherein the interval between issued syncpoints is shorter than the interval between issued checkpoints.

Assignments (3)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0334 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2012
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: SAP AG
Reel/Frame 028540/0522 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2008
From: COLLINS, BRYAN PETER; MCROBERT, GRAEME DENIS; NEIL, ARTHUR JAMES
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 020844/0548 →