IP Library Granted Patent US 7,725,524
Granted Patent B2
US 7,725,524 · App. 11/543,582 · Granted May 25, 2010

Process automation system and method having a hierarchical architecture with multiple tiers

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,725,524
App. No.
11/543,582
Granted
May 25, 2010
Kind
B2
Abstract

A multi-tiered process automation system employing a novel property attachment mechanism is described. For example, a computer-implemented method according to one embodiment of the invention comprises: providing one or more project objects, procedure objects, and step objects; 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.

Claims (72)

1. A process automation 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 designed by a user;

one or more 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;

one or more 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;

one or more 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;

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

generating attachment data attaching a plurality of properties to the resource object,

generating attachment data attaching a plurality of properties to the project objects,

generating attachment data attaching a plurality of properties to the job objects, and

generating attachment data attaching a plurality of properties to the job 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, job objects, and job step objects at runtime, during execution of the project objects, job objects, and job step objects, respectively, wherein the properties attached to the resource object indicate a particular hardware/software platform on which to execute a particular project, job, and/or job step;

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 including interpreting the properties attached to the resource object to identify a particular hardware/software platform on which to execute one or more of the project objects, job objects, and job step objects; and

modifying execution of the one or more of the objects within the process automation system using the values associated with the one or more properties.

2. The system as in claim 1 further comprising:

a central command server for managing the automation projects, including the job objects and job step objects associated with the automation projects and the resource objects identifying the resources on which each of the job step objects are executed.

3. The system as in claim 1 wherein generating and attaching properties at runtime comprises:

a first job step setting a property value during execution of the first job step, first job step attaching the property value to a second job step;

executing the second job step and dynamically applying the property value set by the first job step to the second job step.

4. The system as in claim 3 wherein the property value comprises an identity of a resource on which the second job step must be executed as a result of the first job step being executed on that resource.

5. The system as in claim 4 wherein the central command server further comprises property attachment logic to attach properties to each of the objects, each of the properties comprising a name/value pair.

6. The system as in claim 5 further comprising:

a relational database for storing the property values associated with each of the objects, the relational database storing the property values in a plurality of property sheets.

7. The system as in claim 6 wherein the property sheets are related to one another in a hierarchical manner representative of the hierarchical relationship of the project, job, job step, and resource objects.

8. A method implemented on a computer comprising a memory for storing program code and a processor for processing the program code to perform the operations of:

providing one or more project objects containing data for one or more process automation projects designed by a user;

providing one or more 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;

providing one or more 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;

providing one or more 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;

generating attachment data attaching a plurality of properties to the resource object,

generating attachment data attaching a plurality of properties to the project objects,

generating attachment data attaching a plurality of properties to the job objects, and

generating attachment data attaching a plurality of properties to the job 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, job objects, and job step objects at runtime, during execution of the project objects, job objects, and job step objects, respectively, wherein the properties attached to the resource object indicate a particular hardware/software platform on which to execute a particular project, job, and/or job step;

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 including interpreting the properties attached to the resource object to identify a particular hardware/software platform on which to execute one or more of the project objects, job objects, and job step objects; and

modifying execution of the one or more of the objects within the process automation system using the values associated with the one or more properties.

9. The method as in claim 8 further comprising:

managing each of the automation projects, including the job objects and job step objects associated with the automation projects and the resource object identifying the resources on which each of the job step objects are executed within a central command server.

10. The method as in claim 8 wherein generating and attaching properties at runtime comprises:

a first job step setting a property value during execution of the first job step, first job step attaching the property value to a second job step;

executing the second job step and dynamically applying the property value set by the first job step to the second job step.

11. The method as in claim 10 wherein the property value comprises an identity of a resource on which the second job step must be executed as a result of the first job step being executed on that resource.

12. The method as in claim 11 further comprising:

attaching properties to each of the objects, each of the properties comprising a name/value pair.

13. The method as in claim 12 further comprising:

storing the property values associated with each of the objects within a relational database, the relational database storing the property values in a plurality of property sheets.

14. The method as in claim 13 wherein the property sheets are related to one another in a hierarchical manner representative of the hierarchical relationship of the project, job, job step, and resource objects.

15. A 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 designed by a user;

providing one or more 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;

providing one or more 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;

providing one or more 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;

generating attachment data attaching a plurality of properties to the resource object,

generating attachment data attaching a plurality of properties to the project objects,

generating attachment data attaching a plurality of properties to the job objects, and

generating attachment data attaching a plurality of properties to the job 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, job objects, and job step objects at runtime, during execution of the project objects, job objects, and job step objects, respectively, wherein the properties attached to the resource object indicate a particular hardware/software platform on which to execute a particular project, job, and/or job step;

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 including interpreting the properties attached to the resource object to identify a particular hardware/software platform on which to execute one or more of the project objects, job objects, and job step objects; and

modifying execution of the one or more of the objects within the process automation system using the values associated with the one or more properties.

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

managing each of the automation projects, including the job objects and job step objects associated with the automation projects and the resources object identifying the resources on which each of the job step objects are executed within a central command server.

17. The machine-readable medium as in claim 15 wherein generating and attaching properties at runtime comprises:

a first job step setting a property value during execution of the first job step, first job step attaching the property value to a second job step;

executing the second job step and dynamically applying the property value set by the first job step to the second job step.

18. The machine-readable medium as in claim 17 wherein the property value comprises an identity of a resource on which the second job step must be executed as a result of the first job step being executed on that resource.

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

attaching properties to each of the objects, each of the properties comprising a name/value pair.

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

storing the property values associated with each of the objects within a relational database, the relational database storing the property values in a plurality of property sheets.

21. The machine-readable medium as in claim 20 wherein the property sheets are related to one another in a hierarchical manner representative of the hierarchical relationship of the project, job, job step, and resource objects.

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 5, 2010
From: OUSTERHOUT, JOHN; WALLGREN, ANDERS; TAMHANKAR, SANDEEP; MUZAFFAR, USMAN
To: ELECTRIC CLOUD, INC.
Reel/Frame 024184/0264 →