Patent Issued for Automated Workflow Creation And Management (USPTO 10,467,050)
2019 NOV 15 (NewsRx) -- By a
The patent’s inventors are Schmidgall,
This patent was filed on
From the background information supplied by the inventors, news correspondents obtained the following quote: “Organizations may provide platforms for hosting applications, and installing and operating such computing environments may involve many repetitive tasks. The underlying infrastructure of such a platform may be complicated and may involve large and complicated procedures for day-to-day support and upgrades, and problems related to manual configuration and administration may impact availability. The initial build-out of the platform involves manually creating and managing the workflow, including manually building server pods, configuring load balancers, and building infrastructure components, and every workflow may have its own custom user interface. System administrators may use a wide variety of tools to partially automate these tasks, from custom standalone scripts running on a user’s workstation to expensive third-party products requiring substantial infrastructure (web servers, application servers, database servers, etc.), but problems may still arise and workflow creation and management efficiency may be improved.”
Supplementing the background information on this patent, NewsRx reporters also obtained the inventors’ summary information for this patent: “The present embodiments may relate to, inter alia, a workflow engine and an associated user interface configured to substantially automate aspects of the creation and management of a workflow comprising a plurality of related jobs. The workflow engine employs a declarative web interface design with reduced or no required coding, reuses jobs for automating the same task in different contexts, employs declarative sequencing of jobs with reduced or no required coding, and/or uses job templating to increase or ensure consistent configurations across multiple job invocations. Users select and modify jobs from a library of existing jobs, and/or create new jobs as needed. The workflow executes according to a flow script and communicates output data between jobs to satisfy dependencies. The user interface allows the user to monitor and manage the jobs and the workflow, including creating a visual presentation of job dependencies.
“In one aspect, a computer-implemented method may be provided for configuring and managing aspects of a workflow. The workflow may include a plurality of jobs, and each job may include one or more parameters and/or one or more dependencies on other jobs. Among the various steps that may be part of the computer-implemented method, a library of existing jobs may be provided and stored on a memory element. A user interface may be configured to allow a user to access the library of existing jobs and select one or more jobs from the library of existing jobs to include among the plurality of jobs in the workflow. The user interface may be configured to allow the user to modify the parameters and/or dependencies of the selected jobs. Any such modifications may be substantially automatically translated to any of the selected jobs having dependencies on the modified jobs. The user interface may be configured to allow the user to create one or more new jobs to include among the plurality of jobs in the workflow. A template may be substantially automatically created which specifies the dependencies between the plurality of jobs. The user interface may be configured to allow the user to modify the template. The workflow may be executed in accordance with the template, including communicating output data between the plurality of jobs to satisfy the dependencies. The user interface may be configured to communicate a status of each job to the user as execution of the workflow progresses. The user interface may be configured to allow the user to review the status of each job, view the dependencies of each job, track the progress of the workflow, halt and resume the workflow, and/or view a record of the workflow such that configuring and/or managing aspects of the workflow is facilitated. The computer-implemented method may include additional, fewer, or alternative steps, including those discussed elsewhere herein.
“In another aspect, a computing system may be provided for configuring and managing aspects of a workflow. The workflow may include a plurality of jobs, and each job may include one or more parameters and/or one or more dependencies on other jobs. The computing system may comprise a communication element configured to receive and transmit communications via a network, a memory element configured to store a library of existing jobs, and/or a processing element electronically coupled to the communication element and the memory element and configured to perform various actions. Among the various actions that may be performed by the processing element, a user interface may be configured to allow a user to access the library of existing jobs and/or select one or more jobs from the library of existing jobs to include among the plurality of jobs in the workflow. The user interface may be configured to allow the user to modify the parameters and/or dependencies of the selected jobs. Any such modifications may be substantially automatically translated to any of the selected jobs having dependencies on the modified jobs. The user interface may be configured to allow the user to create one or more new jobs to include among the plurality of jobs in the workflow. A template may be substantially automatically created which specifies the dependencies between the plurality of jobs. The user interface may be configured to allow the user to modify the template. The workflow may be executed in accordance with the template, including communicating output data between the plurality of jobs to satisfy the dependencies. The user interface may be configured to communicate a status of each job to the user as execution of the workflow progresses. The user interface may be configured to allow the user to review the status of each job, view the dependencies of each job, track the progress of the workflow, halt and resume the workflow, and/or view a record of the workflow such that configuring and/or managing aspects of the workflow is facilitated. The computing system and the actions performed by the processing element may include additional, fewer, or alternative components or actions, including those discussed elsewhere herein.
“In another aspect, a non-transitory computer-readable medium with an executable program stored thereon may be provided for configuring and managing aspects of a workflow. The workflow may include a plurality of jobs, and each job may include one or more parameters and/or one or more dependencies on other jobs. The program may instruct a processing element of a computing system to perform various actions. Among the various actions that the program may instruct the processing element to perform, a library of existing jobs may be provided and stored on a memory element. A user interface may be configured to allow a user to access the library of existing jobs and select one or more jobs from the library of existing jobs to include among the plurality of jobs in the workflow. The user interface may be configured to allow the user to modify the parameters and/or dependencies of the selected jobs. Any such modifications may be substantially automatically translated to any of the selected jobs having dependencies on the modified jobs. The user interface may be configured to allow the user to create one or more new jobs to include among the plurality of jobs in the workflow. A template may be substantially automatically created which specifies the dependencies between the plurality of jobs. The user interface may be configured to allow the user to modify the template. The workflow may be executed in accordance with the template, including communicating output data between the plurality of jobs to satisfy the dependencies. The user interface may be configured to communicate a status of each job to the user as execution of the workflow progresses. The user interface may be configured to allow the user to review the status of each job, view the dependencies of each job, track the progress of the workflow, halt and resume the workflow, and/or view a record of the workflow. The program stored on the non-transitory computer readable medium may include instructions for additional, fewer, or alternative actions, including those discussed elsewhere herein.
“Each of the aforementioned aspects may further include any one or more of the following additional or alternative features. The user interface may be a common interface for configuring and managing aspects of a plurality of different workflows. The steps or actions may be performed on a single virtual machine with no external databases. The plurality of jobs may be written in different programming languages. A standard interface may be prescribed for invoking each job, a standard output convention may be prescribed for indicating success or failure of each job and for sharing data between the plurality of jobs, and/or a standard set of parameters may be prescribed for invoking the workflow. A set of rules may be prescribed for declaring an execution sequence of the plurality of jobs. A filtering mechanism may be defined for declaring whether a particular job should be excluded from the workflow based upon a run-time context during execution of the workflow. A cloning mechanism may be defined for generating multiple jobs from a single job specification based upon a dynamic output during execution of the workflow. A file template format may be defined for generating a set of job specifications, wherein generating the set of job specifications may include substituting a variable, replicating an input based upon a variable containing a value, managing a variable that references an output from another job, and/or defining a dependency, filter, and clone for a particular job. The user interface may be configured to allow the user to execute the workflow in a preview mode in order to provide the user with a listing of one or more actual jobs that would execute in a particular context, but without actually executing the actual jobs.
“Each job may be substantially automatically assigned a job type from a plurality of predefined job types, and the user interface may be configured to allow the user to change the job type of each job. The predefined job types may include a ‘normal’ job type which identifies a job that may be substantially automatically executed to successful completion; a ‘validation’ job type which identifies a job that makes no changes but rather gathers data for use by other jobs; and/or a ‘human’ job type which identifies a job that requires human intervention to complete. The user interface may be configured to allow the user to change the job types of the plurality of jobs with a single command. The statuses of the plurality of jobs may be tracked as the workflow progresses, and/or the user interface may be configured to allow the user to resume execution of the workflow at a point of failure, based upon the tracked statuses of the jobs at the point of failure. The output data of the plurality of jobs may be preserved. The invocation parameters of the workflow may be tracked. The user interface may be configured to allow the user to change the status of one or more jobs of the plurality of jobs. A target may be locked to prevent multiple users from running the same workflow against the target at the same time. A plug-in interface may be provided and configured to allow the user to modify a subset of functions to accommodate one or more different platforms. A declarative framework may be provided for defining the workflow without creating a custom code for the workflow. A potential conflict may be substantially automatically identified between a first workflow and a second workflow, and the potential conflict may be communicated via the user interface.
“A dependency map may be created of all of the dependencies between the plurality of jobs, and a visual presentation of the dependency map may be created and communicated via the user interface, in which all of the dependencies between the plurality of jobs are indicated by lines extending between the plurality of jobs. The statuses of the plurality of jobs may be indicated in the visual presentation using a first color for completed jobs, a second color for running jobs, and a third color for pending jobs. The user interface may be configured to allow the user to select a job in the visual presentation of the dependency map, and view a description and details of the selected job. The user interface may be configured to allow the user to select a job in the visual presentation of the dependency map, and then move the selected job from a first position to a second position in the dependency map without changing the dependencies of the selected job. The user interface may be configured to allow the user to change the dependencies of the selected job by selecting and manipulating the lines indicating the dependencies. The user interface may be configured to allow the user to limit the visual presentation of the dependency map to a first workflow or a first portion of the first workflow. A change in a second workflow or a second portion of the first workflow which is not shown in the limited visual presentation may be communicated to the user. The user interface may be configured to allow the user to change the status of a job in order to cause the job to be skipped or to be rerun.
“Advantages will become more apparent to those skilled in the art from the following description of the preferred embodiments which have been shown and described by way of illustration. As will be realized, the present embodiments may be capable of other and different embodiments, and their details are capable of modification in various respects. Accordingly, the drawings and description are to be regarded as illustrative in nature and not as restrictive.”
The claims supplied by the inventors are:
“We claim:
“1. A computer-implemented method for configuring and managing aspects of a workflow, wherein the workflow includes a plurality of jobs, and wherein each job includes one or more parameters and one or more dependencies on other jobs, the computer-implemented method comprising the following steps, wherein each step is performed by a processor of a computer: providing a library of existing jobs stored on a memory element; configuring a user interface to allow a user to access the library of existing jobs and select one or more jobs from the library of existing jobs to include among the plurality of jobs in the workflow, wherein the user interface includes a first screen configured to provide the user with a listing of available workflows including a description and workflow actions associated with each workflow, and a template table listing available templates to allow the user to view a template file within each workflow action; configuring the user interface to allow the user to modify the one or more parameters and one or more dependencies of the selected one or more jobs; automatically translating any such modifications to any of the selected one or more jobs having dependencies on the modified jobs; configuring the user interface to allow the user to create one or more new jobs to include among the plurality of jobs in the workflow; automatically creating a template which specifies the dependencies between the plurality of jobs; configuring the user interface to allow the user to modify the template; executing the workflow in accordance with the template, including communicating output data between the plurality of jobs to satisfy the dependencies; configuring the user interface to communicate a status of each job to the user as execution of the workflow progresses; and configuring the user interface to allow the user to review the status of each job, view the one or more dependencies of each job, track the progress of the workflow, halt and resume the workflow, and view a record of the workflow to facilitate configuring and managing aspects of the workflow.
“2. The computer-implemented method as set forth in claim 1, wherein the user interface is a common interface for configuring and managing aspects of a plurality of different workflows.
“3. The computer-implemented method as set forth in claim 1, wherein the computer-implemented method is performed on a single virtual machine with no external databases.
“4. The computer-implemented method as set forth in claim 1, wherein the plurality of jobs are written in different programming languages.
“5. The computer-implemented method as set forth in claim 1, further comprising: prescribing a standard interface for invoking each job; prescribing a standard output convention for indicating success or failure of each job and for sharing data between the plurality of jobs; and prescribing a standard set of parameters for invoking the workflow.
“6. The computer-implemented method as set forth in claim 1, further comprising prescribing a set of rules for declaring an execution sequence of the plurality of jobs.
“7. The computer-implemented method as set forth in claim 1, further comprising defining a filtering mechanism for declaring whether a particular job should be excluded from the workflow based upon a run-time context during execution of the workflow.
“8. The computer-implemented method as set forth in claim 1, further comprising defining a cloning mechanism for generating multiple jobs from a single job specification based upon a dynamic output during execution of the workflow.
“9. The computer-implemented method as set forth in claim 1, further comprising defining a file template format for generating a set of job specifications, wherein generating the set of job specifications includes one or more actions selected from the group consisting of: substituting a variable, replicating an input based upon a variable containing a value, managing a variable that references an output from another job, and defining a dependency, filter, and clone for a particular job.
“10. The computer-implemented method as set forth in claim 1, further comprising configuring the user interface to allow the user to execute the workflow in a preview mode in order to provide the user with a listing of one or more actual jobs that would execute in a particular context, but without actually executing the one or more actual jobs.
“11. The computer-implemented method as set forth in claim 1, further comprising automatically assigning each job a job type from a plurality of predefined job types, and configuring the user interface to allow the user to change the job type of each job, wherein the plurality of predefined job types include: a normal job type which identifies a job that can be automatically executed to successful completion; a validation job type which identifies a job that makes no changes but rather gathers data for use by other jobs; and a human job type which identifies a job that requires human intervention to complete.
“12. The computer-implemented method as set forth in claim 11, further comprising configuring the user interface to allow the user to change the job types of the plurality of jobs with a single command.
“13. The computer-implemented method as set forth in claim 1, further comprising: tracking the statuses of the plurality of jobs as the workflow progresses; and configuring the user interface to allow the user to resume execution of the workflow at a point of failure, based upon the tracked statuses of the jobs at the point of failure.
“14. The computer-implemented method as set forth in claim 1, further comprising preserving the output data of the plurality of jobs.
“15. The computer-implemented method as set forth in claim 1, further comprising tracking one or more invocation parameters of the workflow.
“16. The computer-implemented method as set forth in claim 1, further comprising configuring the user interface to allow the user to change the status of one or more jobs of the plurality of jobs.
“17. The computer-implemented method as set forth in claim 1, further comprising locking a target to prevent multiple users from running the same workflow against the target at the same time.
“18. The computer-implemented method of claim 1, wherein the user interface includes a second screen configured to allow the user to identify a particular workflow and initiate a workflow action, the second screen further including menu options to select a preview mode, an environment or segment, a service or utility pod, one or more locations, and a version.
“19. The computer-implemented method of claim 1, wherein the user interface includes a third screen configured to allow the user to identify and initiate a particular job, the third screen further including a first window displaying inputs required for the particular job and a second window allowing the user to create a file which includes the inputs required for the particular job.
“20. The computer-implemented method of claim 1, wherein the user interface includes a fourth screen configured to allow the user to view a list of the any available workflows, including the user’s own workflows, incomplete workflows, and successful workflows, filter the list of the any available workflows according to one or more criteria, select a particular workflow from the list of any available workflows, and view information about the particular workflow, and to allow the user to view a map of the dependencies for the particular workflow.
“21. The computer-implemented method of claim 1, wherein the user interface includes a fifth screen configured to allow the user to view information regarding a particular workflow, including a workflow status, a workflow start time, and a workflow end time, and to view information regarding one or more jobs associated with the particular workflow, including a job status, a job start time, a job end time, and a job log.
“22. The computer-implemented method of claim 1, wherein the user interface includes a sixth screen configured to allow the user to view and manage one or more existing flags and to create one or more new flags when two or more workflows have a same target.
“23. A non-transitory computer-readable medium with an executable program stored thereon for configuring and managing aspects of a workflow, wherein the workflow includes a plurality of jobs, wherein each job includes one or more parameters and one or more dependencies on other jobs, wherein the program instructs a processing element of a computing device to perform the following steps: providing a library of existing jobs stored on a memory element; configuring a user interface to allow a user to access the library of existing jobs and select one or more jobs from the library of existing jobs to include among the plurality of jobs in the workflow, wherein the user interface includes a first screen configured to provide the user with a listing of available workflows including a description and workflow actions associated with each workflow, and a template table listing available templates to allow the user to view a template file within each workflow action; configuring the user interface to allow the user to modify the one or more parameters and one or more dependencies of the selected one or more jobs; automatically translating any such modifications to any of the selected one or more jobs having dependencies on the modified jobs; configuring the user interface to allow the user to create one or more new jobs to include among the plurality of jobs in the workflow; automatically creating a template which specifies the dependencies between the plurality of jobs; configuring the user interface to allow the user to modify the template; executing the workflow in accordance with the template, including communicating output data between the plurality of jobs to satisfy the dependencies; configuring the user interface to communicate a status of each job to the user as execution of the workflow progresses; and configuring the user interface to allow the user to review the status of each job, view the one or more dependencies of each job, track the progress of the workflow, halt and resume the workflow, and view a record of the workflow to facilitate configuring and managing aspects of the workflow.
“24. A computing system for configuring and managing aspects of a workflow, wherein the workflow includes a plurality of jobs, wherein each job includes one or more parameters and one or more dependencies on other jobs, the computing system comprising: a communication element configured to receive and transmit communications via a network, a memory element configured to store a library of existing jobs, and a processing element electronically coupled to the communication element and the memory element and configured to perform the following steps: configuring a user interface to allow a user to access the library of existing jobs and select one or more jobs from the library of existing jobs to include among the plurality of jobs in the workflow, wherein the user interface includes a first screen configured to provide the user with a listing of available workflows including a description and workflow actions associated with each workflow, and a template table listing available templates to allow the user to view a template file within each workflow action; configuring the user interface to allow the user to modify the one or more parameters and one or more dependencies of the selected one or more jobs; automatically translating any such modifications to any of the selected one or more jobs having dependencies on the modified jobs; configuring the user interface to allow the user to create one or more new jobs to include among the plurality of jobs in the workflow; automatically creating a template which specifies the dependencies between the plurality of jobs; configuring the user interface to allow the user to modify the template; executing the workflow in accordance with the template, including communicating output data between the plurality of jobs to satisfy the dependencies; configuring the user interface to communicate a status of each job to the user as execution of the workflow progresses; and configuring the user interface to allow the user to review the status of each job, view the one or more dependencies of each job, track the progress of the workflow, halt and resume the workflow, and view a record of the workflow to facilitate configuring and managing aspects of the workflow.”
For the URL and additional information on this patent, see: Schmidgall,
(Our reports deliver fact-based news of research and discoveries from around the world.)



Events 111519
IMARA Calculation Under the Terrorism Risk Insurance Program
Advisor News
- Why aligning wealth and protection strategies will define 2026 planning
- Finseca and IAQFP announce merger
- More than half of recent retirees regret how they saved
- Tech group seeks additional context addressing AI risks in CSF 2.0 draft profile connecting frameworks
- How to discuss higher deductibles without losing client trust
More Advisor NewsAnnuity News
- Allianz Life Launches Fixed Index Annuity Content on Interactive Tool
- Great-West Life & Annuity Insurance Company Trademark Application for “SMART WEIGHTING” Filed: Great-West Life & Annuity Insurance Company
- Somerset Re Appoints New Chief Financial Officer and Chief Legal Officer as Firm Builds on Record-Setting Year
- Indexing the industry for IULs and annuities
- United Heritage Life Insurance Company goes live on Equisoft’s cloud-based policy administration system
More Annuity NewsHealth/Employee Benefits News
- After loss of tax credits, WA sees a drop in insurance coverage
- My Spin: The healthcare election
- COLUMN: Working to lower the cost of care for Kentucky families
- Is cost of health care top election issue?
- Indiana to bid $68 billion in Medicaid contracts this summer
More Health/Employee Benefits NewsLife Insurance News