IP Library Granted Patent US 7,886,265
Granted Patent B2
US 7,886,265 · App. 11/543,327 · Granted Feb 8, 2011

Process automation system and method employing property attachment techniques

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,886,265
App. No.
11/543,327
Granted
Feb 8, 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 (37)

1. A method implemented on a computer having a processor and memory comprising:

attaching a plurality of properties to process automation objects within a process automation system, each of the properties having a value associated therewith and responsively generating attachment data defining the attachments between the properties and objects;

wherein the process automation objects include project objects containing data for one or more process automation projects designed by a user; job objects, each of the job objects associated with at least one of the project objects and defining procedures to be executed upon execution of one of the project objects; job step objects, each of the job step objects associated with one of the job objects, each of the job step objects specifying one or more commands to be executed by a specified one or more system resources within the process automation system; and resource objects representing the one or more system resources for executing the automation projects, including the jobs and job steps associated with the automation projects;

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

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

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

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

wherein the associated property values and attachment data are stored within a relational database and wherein the attachment data comprises database joins.

2. The method as in claim 1 wherein the properties are stored in property sheets within the database.

3. The method as in claim 2 wherein the database joins link each process automation object to a particular property sheet.

4. The method as in claim 1 wherein the process automation objects include system resource objects, project objects, procedure objects, job objects, and step objects.

5. The method as in claim 1 wherein one or more of the properties and the attachment data are generated dynamically during execution of one of the step objects.

6. The method as in claim 5 wherein certain properties are generated and attached to the step object prior to the execution of the step object.

7. A process automation system comprising:

a central database; and

a central command server to attach a plurality of properties to process automation objects within a process automation system, each of the properties having a value associated therewith; the central command server to additionally store the attached properties with the associated values and attachment data representing the attachments between the properties and process automation objects within the central database;

wherein the process automation objects include project objects containing data for one or more process automation projects designed by a user; job objects, each of the job objects associated with at least one of the project objects and defining procedures to be executed upon execution of one of the project objects; job step objects, each of the job step objects associated with one of the job objects, each of the job step objects specifying one or more commands to be executed by a specified one or more system resources within the process automation system; and resource objects representing the one or more system resources for executing the automation projects, including the jobs and job steps associated with the automation projects;

the central command server further to receive a request to execute one or more of the process automation objects; interpret the attachment data to identify the properties attached to each of the one or more process automation objects; and execute the one or more of the process automation objects within the process automation system using the values associated with the one or more properties;

wherein the associated property values and attachment data are stored within a relational database and wherein the attachment data comprises database joins.

8. The system as in claim 7 further comprising one or more property sheets for storing the property values within the database.

9. The system as in claim 8 wherein the database joins link each process automation object to a particular property sheet.

10. The system as in claim 7 wherein the process automation objects include system resource objects, project objects, procedure objects, job objects, and step objects.

11. The system as in claim 7 wherein one or more of the properties and the attachment data are generated dynamically during execution of the step object.

12. The system as in claim 11 wherein certain properties are generated and attached to the step object prior to the execution of the step object.

13. A non-transitory machine-readable medium having stored thereon sequences of instructions which, when executed by a machine, cause the machine to perform the operations of:

attaching a plurality of properties to process automation objects within a process automation system, each of the properties having a value associated therewith and responsively generating attachment data defining the attachments between the properties and objects;

wherein the process automation objects include project objects containing data for one or more process automation projects designed by a user; job objects, each of the job objects associated with at least one of the project objects and defining procedures to be executed upon execution of one of the project objects; job step objects, each of the job step objects associated with one of the job objects, each of the job step objects specifying one or more commands to be executed by a specified one or more system resources within the process automation system; and resource objects representing the one or more system resources for executing the automation projects, including the jobs and job steps associated with the automation projects;

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

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

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

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

wherein the associated property values and attachment data are stored within a relational database and wherein the attachment data comprises database joins.

14. The machine-readable medium as in claim 13 wherein the properties are stored in property sheets within the database.

15. The machine-readable medium as in claim 14 wherein the database joins link each process automation object to a particular property sheet.

16. The machine-readable medium as in claim 13 wherein the process automation objects include system resource objects, project objects, procedure objects, job objects, and step objects.

17. The machine-readable medium as in claim 13 wherein one or more of the properties and the attachment data are generated dynamically during execution of one of the step objects.

18. The machine-readable medium as in claim 17 wherein certain properties are generated and attached to the step object prior to the execution of the step object.

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 Dec 22, 2006
From: OUSTERHOUT, JOHN; WALLGREN, ANDERS; TAMHANKAR, SANDEEP; STANTON, SCOTT; MUZAFFAR, USMAN
To: ELECTRIC CLOUD, INC.
Reel/Frame 018685/0001 →