John Ousterhout - Palo Alto CA, US Sven Delmas - Belmont CA, US John Eric Melski - Santa Clara CA, US Usman Muzaffar - Sunnyvale CA, US Scott Stanton - Menlo Park CA, US
Assignee:
Electric Cloud, Inc. - Mountain View CA
International Classification:
G06F 9/45
US Classification:
717120
Abstract:
A method for executing program builds is described comprising: analyzing file dependency information contained within a first file; scheduling jobs for a program build based on the analysis of the dependency information; executing the jobs according to the schedule; collecting file usage information from each of the jobs; and supplementing the file dependency information with the file usage information.
Conflict Detection And Correction In A Program Build Environment
Scott Stanton - Menlo Park CA, US Sven Delmas - Belmont CA, US John Graham-Cumming - New York NY, US John Eric Melski - Santa Clara CA, US Usman Muzaffar - Sunnyvale CA, US John Ousterhout - Palo Alto CA, US
Assignee:
Electric Cloud, Inc. - Mountain View CA
International Classification:
G06F 9/44
US Classification:
717131, 717140, 717154, 718103
Abstract:
A method is described for executing program builds comprising: scheduling jobs for a program build based on dependencies between files used in the jobs; executing the jobs according to the schedule; collecting file usage information from each of the jobs, the file usage information indicating operations performed on the files in each of the jobs; and analyzing the file usage information to determine whether any one of the jobs resulted in a conflict.
Architecture And Method For Executing Program Builds
John Ousterhout - Palo Alto CA, US Sven Delmas - Belmont CA, US John Graham-Cumming - New York NY, US John Eric Melski - Santa Clara CA, US Usman Muzaffar - Sunnyvale CA, US Scott Stanton - Menlo Park CA, US
Assignee:
Electric Cloud, Inc. - Sunnyvale CA
International Classification:
G06F 9/44
US Classification:
717106, 709226, 717120, 716 5
Abstract:
A method is described comprising: scheduling jobs for a program build to execute in parallel across a plurality of nodes; predicting the files required to complete each of the jobs; and preloading the files to each node prior to the execution of each job.
Process Automation System And Method Having A Hierarchical Architecture With Multiple Tiers
John Ousterhout - Palo Alto CA, US Anders Wallgren - Los Gatos CA, US Sandeep Tamhankar - Santa Clara CA, US Scott Stanton - Menlo Park CA, US Usman Muzaffar - Sunnyvale CA, US
Assignee:
Electric Cloud, Inc. - Sunnyvale CA
International Classification:
G06F 9/44 G06F 15/173
US Classification:
709201
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.
Process Automation System And Method Employing Property Attachment Techniques
John Ousterhout - Palo Alto CA, US Anders Wallgren - Los Gatos CA, US Sandeep Tamhankar - Santa Clara CA, US Scott Stanton - Menlo Park CA, US Usman Muzaffar - Sunnyvale CA, US
Assignee:
Electric Cloud, Inc. - Sunnyvale CA
International Classification:
G06F 9/44
US Classification:
717100, 717128, 717172
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.
Process Automation System And Method Employing Multi-Stage Report Generation
John Ousterhout - Palo Alto CA, US Anders Wallgren - Los Gatos CA, US Sandeep Tamhankar - Santa Clara CA, US Scott Stanton - Menlo Park CA, US Usman Muzaffar - Sunnyvale CA, US
Assignee:
Electric Cloud, Inc. - Sunnyvale CA
International Classification:
G06F 9/44
US Classification:
717101, 717128
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.
System And Method For Processing Recursive Invocations Within A Program Build
Usman Muzaffar - Sunnyvale CA, US Sven Delmas - Belmont CA, US John Graham-Cumming - New York NY, US John Eric Melski - Santa Clara CA, US John Ousterhout - Palo Alto CA, US Scott Stanton - Menlo Park CA, US
Assignee:
Electric Cloud, Inc. - Mountain View CA
International Classification:
G06F 9/44 G06F 9/46
US Classification:
717162, 718102, 718103, 718104, 718106
Abstract:
A method for executing program builds is described comprising: executing jobs for a program build in parallel according to a first job schedule; detecting a recursive build invocation in one of the jobs; analyzing dependency information associated with the recursive build invocation; and based on the analysis, supplementing the first job schedule with additional job schedule data.
System And Method For File Caching In A Distributed Program Build Environment
John Ousterhout - Palo Alto CA, US Sven Delmas - Belmont CA, US John Graham-Cumming - New York NY, US John Eric Melski - Santa Clara CA, US Usman Muzaffar - Sunnyvale CA, US Scott Stanton - Menlo Park CA, US
A method is described comprising: scheduling jobs for a program build to execute in parallel across a plurality of nodes; predicting the files required to complete each of the jobs; and preloading the files to each node prior to the execution of each job.
Cloudflare
Head of Engineering
Cloudflare Oct 2016 - Apr 2017
Engineering Chief of Staff
Veeva Systems Jul 2015 - Oct 2016
Vice President Veeva Labs
Selligy Feb 2011 - Jul 2015
Co-Founder and Chief Technology Officer
Electric Cloud Jun 2009 - Feb 2011
Vice President of Product Management
Education:
Northwestern University 1990 - 1993
Bachelors, Bachelor of Arts, Biology, Biochemistry