IP Library Granted Patent US 8,924,974
Granted Patent B1
US 8,924,974 · App. 13/156,276 · Granted Dec 30, 2014

System for error checking of process definitions for batch processes

Inventors: Jonathan Ruggiero (Walnut Creek, CA); Salvador Maiorano Quiroga (San Ramon, CA); Kevin Chan (Sacramento, CA); Christopher Speer (Walnut Creek, CA)
Assignee: Workday, Inc.
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 8,924,974
App. No.
13/156,276
Granted
Dec 30, 2014
Kind
B1
Abstract

A system for processing a batch job comprises a processor and a memory. The processor is configured to receive a batch job comprising a sequential or parallel flow of operations, wherein each operation has a defined input type and a defined output type. The processor is further configured to verify that the batch job can run successfully, wherein verifying includes checking that a first operation output defined type is compatible with a second operation input defined type when a first operation output is connected to a second operation input, and wherein verifying includes checking that a parameter used by a calculation in an operation is input to the operation. The memory is coupled to the processor and configured to provide the processor with instructions.

Claims (29)

1. A system for processing a batch job, comprising:

a processor configured to:

receive a batch job comprising a sequential or parallel flow of operations, wherein each operation has a defined input type and a defined output type, wherein an operation of the sequential or parallel flow of operations is performed on a set of data objects, wherein the set of data objects comprises one of the following: a set of employees, a set of organizations, or a set of pay values, and wherein the batch job has a time bound;

for each operation in the received batch job:

determine that a defined output type associated with a first operation is compatible with a defined input type associated with a second operation in the event that an output of the first operation is directly connected to an input of the second operation; and

determine that each input parameter used by one or more calculations associated with the first operation is defined;

verify, prior to running the received batch job, that the received batch job can run successfully based at least in part on: (1) a first determination that, for each operation in the received job, the defined output type is compatible with the defined input type, and (2) a second determination that each input parameter to each operation in the received batch job is defined; and

determine, prior to running the received batch job, that each operation in the received batch job does not operate on a simple data type, and a verification that the batch job can run successfully is further based at least in part on a third determination that no operation in the received batch job operates on the simple data type; and

a memory coupled to the processor and configured to provide the processor with instructions.

2. A system as in claim 1 , wherein the simple data type comprises one of the following: an integer, a string, or a real number.

3. A system as in claim 1 , further comprising executing the batch job.

4. A method for processing a batch job, comprising:

receiving a batch job comprising a sequential or parallel flow of operations, wherein each operation has a defined input type and a defined output type, wherein an operation of the sequential or parallel flow of operations is performed on a set of data objects, wherein the set of data objects comprises one of the following: a set of employees, a set of organizations, or a set of pay values, and wherein the batch job has a time bound;

for each operation in the received batch job:

determining that a defined output type associated with a first operation is compatible with a defined input type associated with a second operation in the event that an output of the first operation is directly connected to an input of the second operation; and

determining that each input parameter used by one or more calculations associated with the first operation is defined; and

verifying, prior to running the received batch job, that the received batch job can run successfully based at least in part on: (1) a first determination that, for each operation in the received job, the defined output type is compatible with the defined input type, and (2) a second determination that each input parameter to each operation in the received batch job is defined; and

determining, prior to running the received batch job, that each operation in the received batch job does not operate on a simple data type, and a verification that the batch job can run successfully is further based at least in part on a third determination that no operation in the received batch job operates on the simple data type.

5. A method as in claim 4 , wherein the simple data type comprises one of the following: an integer, a string, or a real number.

6. A method as in claim 4 , further comprising executing the batch job.

7. A computer program product for processing a batch job, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

receiving a batch job comprising a sequential or parallel flow of operations, wherein each operation has a defined input type and a defined output type, wherein an operation of the sequential or parallel flow of operations is performed on a set of data objects, wherein the set of data objects comprises one of the following: a set of employees, a set of organizations, or a set of pay values, and wherein the batch job has a time bound;

for each operation in the received batch job:

determining that a defined output type associated with a first operation is compatible with a defined input type associated with a second operation in the event that an output of the first operation is directly connected to an input of the second operation; and

determining that each input parameter used by one or more calculations associated with the first operation is defined; and

verifying, prior to running the received batch job, that the received batch job can run successfully based at least in part on: (1) a first determination that, for each operation in the received job, the defined output type is compatible with the defined input type, and (2) a second determination that each input parameter to each operation in the received batch job is defined; and

determining, prior to running the received batch job, that each operation in the received batch job does not operate on a simple data type, and a verification that the batch job can run successfully is further based at least in part on a third determination that no operation in the received batch job operates on the simple data type.

8. The computer program product recited in claim 7 , wherein the simple data type comprises one of the following: an integer, a string, or a real number.

9. The computer program product recited in claim 7 , further comprising executing the batch job.

Assignments (2)
MERGER Recorded May 16, 2014
From: WORKDAY, INC.
To: WORKDAY, INC.
Reel/Frame 032917/0710 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 22, 2011
From: RUGGIERO, JONATHAN; QUIROGA, SALVADOR MAIORANO; CHAN, KEVIN; SPEER, CHRISTOPHER
To: WORKDAY, INC.
Reel/Frame 026786/0452 →