IP Library Granted Patent US 8,042,089
Granted Patent B2
US 8,042,089 · App. 11/543,367 · Granted Oct 18, 2011

Process automation system and method employing multi-stage report generation

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,042,089
App. No.
11/543,367
Granted
Oct 18, 2011
Kind
B2
Abstract

The embodiments of the invention described herein employ sophisticated techniques for managing distributed processes in a process automation system. Specifically, one embodiment of the invention implements a general purpose property mechanism in which arbitrary data is attached to any object in the system (e.g., projects, procedures, jobs, job steps, resources, etc), thereby providing a convenient way to configure the system without modifying the underlying program code. In addition, in one embodiment, a three-tier hierarchy of data object is employed: “projects,” “procedures,” and “steps” (or “projects,” “jobs” and “job steps” during runtime). A property may be attached to any object on any tier of the hierarchy to configure that object and (potentially) all of the objects which reference the property. The properties and property sheets may be attached both statically (before runtime) and dynamically (during runtime). Moreover, one embodiment of the invention employs a unique property substitution syntax to allow the value for a particular property to be located and substituted dynamically at runtime. In addition, advanced report generation techniques are described below in which the report generation process is logically separated into a data gathering stage and a report generation stage. The data gathering stage extracts certain specified properties and diagnostic information from each job step. The extracted information is then stored in a highly flexible, reusable data format which is used to create different types of user-configurable reports.

Claims (57)

1. A system for generating reports within a process automation system comprising, the system comprising a memory for storing program code and at least one processor for processing the program code to generate a multi-tier, hierarchical organization comprising:

one or more project objects containing data for one or more process automation projects;

one or more procedure objects, each of the procedure objects associated with at least one of the project objects and defining procedures to be executed upon execution of one of the project objects;

one or more step objects, each of the step objects associated with one of the procedure objects, each of the step objects specifying one or more commands to be executed by resources within the process automation system;

wherein the program code, when executed by the processor, causes the additional operations of:

generating attachment data attaching a plurality of properties to the project objects, procedure objects, and step objects, each of the properties having a value associated therewith, wherein at least some of the properties are generated and attached to the project objects, procedure objects, and step objects at runtime, during execution of the project objects, procedure objects, and step objects, respectively;

storing the attached properties with the associated values and attachment data;

receiving a request to execute one or more of the objects;

interpreting the attachment data to identify the properties attached to each of the one or more objects;

executing the one or more of the objects within the process automation system using the values associated with the one or more properties;

generating log data within a log file for each job step comprising an indication of commands which executed during the execution of the job step and results associated with the commands;

generating a post processor module to scan through the log file and responsively generate a first set of properties corresponding to the results;

generating property attachment logic to attach the first set of properties to the lob step following execution; and

providing a report generator to generate one or more reports using the first set of properties.

2. The system as in claim 1 wherein the log file is generated following the execution of each job step.

3. The system as in claim 1 wherein the report generator embeds hyperlinks in the displayed properties of one of the reports, the hyperlinks pointing to a subset of the diagnostics information related to the properties.

4. The system as in claim 1 wherein the results corresponding to the first set of properties include number of compiles, tests failed, tests passed, warnings and errors.

5. The system as in claim 1 wherein, to identify the set of properties, the post processor scans through the log file to identify specific patterns indicating specific properties.

6. The system as in claim 1 further comprising generating diagnostic information in an XML file.

7. The system as in claim 1 wherein post processor module scans through the log file and responsively generates specified diagnostics information in addition to the first set of properties.

8. A method for generating reports within a process automation system comprising:

providing one or more project objects containing data for one or more process automation projects;

providing one or more procedure objects, each of the procedure objects associated with at least one of the project objects and defining procedures to be executed upon execution of one of the project objects;

providing one or more step objects, each of the step objects associated with one of the procedure objects, each of the step objects specifying one or more commands to be executed by resources within the process automation system;

generating attachment data attaching a plurality of properties to the project objects, procedure objects, and step objects, each of the properties having a value associated therewith, wherein at least some of the properties are generated and attached to the project objects, procedure objects, and step objects at runtime, during execution of the project objects, procedure objects, and step objects, respectively;

storing the attached properties with the associated values and attachment data;

receiving a request to execute one or more of the objects;

interpreting the attachment data to identify the properties attached to each of the one or more objects; and

executing the one or more of the objects within the process automation system using the values associated with the one or more properties;

generating log data within a log file for each job step comprising an indication of commands which executed during the execution of the job step and results associated with the commands;

scanning through the log file and responsively generating a first set of properties corresponding to the results; and

generating one or more reports using the first set of properties.

9. The method as in claim 8 wherein the log file is generated following the execution of a job step.

10. The method as in claim 8 further comprising embedding hyperlinks in the displayed properties of one of the reports, the hyperlinks pointing to a subset of the diagnostics information related to the properties.

11. The method as in claim 8 wherein the results corresponding to the first set of properties include number of compiles, tests failed, tests passed, warnings and errors.

12. The method as in claim 8 further comprising:

scanning through the log file to identify specific patterns indicating specific properties to identify the set of properties.

13. The method as in claim 8 further comprising generating diagnostic information in an XML file.

14. The method as in claim 8 further comprising scanning through the log file and responsively generating specified diagnostics information in addition to the first set of properties.

15. A non-propagating machine-readable medium having program code stored thereon which, when executed by a machine, causes the machine to perform the operations of:

providing one or more project objects containing data for one or more process automation projects;

providing one or more procedure objects, each of the procedure objects associated with at least one of the project objects and defining procedures to be executed upon execution of one of the project objects;

providing one or more step objects, each of the step objects associated with one of the procedure objects, each of the step objects specifying one or more commands to be executed by resources within the process automation system;

generating attachment data attaching a plurality of properties to the project objects, procedure objects, and step objects, each of the properties having a value associated therewith, wherein at least some of the properties are generated and attached to the project objects, procedure objects, and step objects at runtime, during execution of the project objects, procedure objects, and step objects, respectively;

storing the attached properties with the associated values and attachment data;

receiving a request to execute one or more of the objects;

interpreting the attachment data to identify the properties attached to each of the one or more objects; and

executing the one or more of the objects within the process automation system using the values associated with the one or more properties;

generating log data within a log file for each job step comprising an indication of commands which executed during the execution of the job step and results associated with the commands;

scanning through the log file and responsively generating a first set of properties corresponding to the results; and

generating one or more reports using the first set of properties.

16. The machine-readable medium as in claim 15 wherein the log file is generated following the execution of a job step.

17. The machine-readable medium as in claim 15 further comprising embedding hyperlinks in the displayed properties of one of the reports, the hyperlinks pointing to a subset of the diagnostics information related to the properties.

18. The machine-readable medium as in claim 15 wherein the results corresponding to the first set of properties include number of compiles, tests failed, tests passed, warnings and errors.

19. The machine-readable medium as in claim 15 comprising additional program code to cause the machine to perform the operations of:

scanning through the log file to identify specific patterns indicating specific properties to identify the set of properties.

20. The machine-readable medium as in claim 15 further comprising generating diagnostic information in an XML file.

Assignments (14)
RELEASE OF SECURITY INTEREST Recorded Mar 9, 2026
From: GOLDMAN SACHS PRIVATE MIDDLE MARKET CREDIT II LLC
To: CLOUDBEES, INC.
Reel/Frame 074010/0480 →
TERMINATION AND RELEASE OF SECOND INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Nov 29, 2021
From: GOLUB CAPITAL LLC, AS AGENT
To: CLOUDBEES, INC.; ELECTRIC CLOUD, INC.
Reel/Frame 058252/0867 →
SECURITY INTEREST Recorded Nov 24, 2021
From: CLOUDBEES, INC.
To: GOLDMAN SACHS PRIVATE MIDDLE MARKET CREDIT II LLC
Reel/Frame 058207/0183 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2020
From: ELECTRIC CLOUD, INC.
To: CLOUDEBEES, INC.
Reel/Frame 053045/0442 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2020
From: ELECTRIC CLOUD, INC.
To: CLOUDBEES, INC.
Reel/Frame 052804/0275 →
SECOND INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded May 29, 2019
From: CLOUDBEES, INC.
To: GOLUB CAPITAL LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 049314/0377 →
RELEASE OF SECURITY INTEREST Recorded Apr 12, 2019
From: WESTERN ALLIANCE BANK
To: ELECTRIC CLOUD, INC.
Reel/Frame 048870/0921 →
RELEASE OF SECURITY INTEREST Recorded Apr 12, 2019
From: CANADIAN IMPERIAL BANK OF COMMERCE
To: ELECTRIC CLOUD, INC.
Reel/Frame 048870/0890 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTERESTS Recorded Jan 9, 2018
From: WF FUND V LIMITED PARTNERSHIP, C/O/B/ AS WELLINGTON FINANCIAL LP AND WELLINGTON FINANCIAL FUND V
To: CANADIAN IMPERIAL BANK OF COMMERCE
Reel/Frame 045028/0880 →
SECURITY INTEREST Recorded Dec 30, 2016
From: ELECTRIC CLOUD, INC.
To: WF FUND V LIMITED PARTNERSHIP
Reel/Frame 040811/0173 →
RELEASE OF SECURITY INTEREST Recorded Dec 28, 2016
From: COMERICA BANK
To: ELECTRIC CLOUD, INC.
Reel/Frame 040787/0473 →
SECURITY INTEREST Recorded Dec 23, 2016
From: ELECTRIC CLOUD, INC.
To: WESTERN ALLIANCE BANK
Reel/Frame 040759/0644 →
SECURITY INTEREST Recorded Jul 5, 2016
From: ELECTRIC CLOUD, INC.
To: COMERICA BANK
Reel/Frame 039255/0292 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2011
From: OUSTERHOUT, JOHN; WALLGREN, ANDERS; TAMHANKAR, SANDEEP; STANTON, SCOTT; MUZAFFAR, USMAN
To: ELECTRIC CLOUD, INC.
Reel/Frame 026070/0332 →