Execution of workflows in distributed systems

US10528367B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-10528367-B1
Application numberUS-201715695322-A
CountryUS
Kind codeB1
Filing dateSep 5, 2017
Priority dateSep 2, 2016
Publication dateJan 7, 2020
Grant dateJan 7, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A set of two or more workflow definitions is stored, wherein each workflow definition describes a workflow of an application. The set of two or more workflow definitions are used to implement a state machine of the application based at least in part on the two or more workflow definitions.

First claim

Opening claim text (preview).

What is claimed is: 1. A system, comprising: a memory configured to store a set of two or more workflow definitions, each workflow definition describing a workflow of an application; and a processor coupled to the memory and configured to use the set of two or more workflow definitions to implement a state machine of the application based at least in part on the set of the two or more workflow definitions. 2. The system of claim 1 , wherein implementing the state machine comprises recognize a common step between at least two of the set of two or more workflow definitions based at least in part on the two or more workflow definitions. 3. The system of claim 2 , wherein the application is a distributed application and distributed across two or more containers. 4. The system of claim 2 , wherein each workflow definition is expressed in a stylized and/or restricted language. 5. The system of claim 2 , wherein each workflow definition is expressed in a declarative language. 6. The system of claim 2 , wherein each workflow definition is expressed in a domain specific language (DSL), including at least one of the following: YAML, XML. 7. The system of claim 2 , wherein each workflow definition defines steps comprising an associated workflow, wherein a given step may be sequential or parallel. 8. The system of claim 2 , wherein recognizing the common step is based at least in part on recognizing a common template with common inputs within the at least two of the set of two or more workflow definitions. 9. The system of claim 2 , wherein recognizing the common step is based at least in part on recognizing common output via two or more steps in response to common input within the at least two of the set of two or more workflow definitions. 10. The system of claim 2 , wherein recognizing the common step is based at least in part on by ignoring parameters not relevant to commonality including timestamps and/or datestamps. 11. The system of claim 2 , wherein recognizing the common step is based at least in part on a fingerprint and/or hash for each point in a given workflow. 12. The system of claim 2 , wherein recognizing the common step is based at least in part on a hash for each point in a given workflow, wherein the hash comprises a first hash of a content and a second hash of an operation. 13. The system of claim 2 , wherein recognizing the common step is based at least in part on a hash for each point in a given workflow, wherein the hash comprises a first hash of input data for the common step and a second hash based on the common step. 14. The system of claim 2 , wherein recognizing the common step is based at least in part on a hash of a container. 15. The system of claim 2 , wherein the processor is further configured to compute a cache hash at each step in each workflow. 16. The system of claim 2 , wherein the processor is further configured to organize hashes of a set of parallel steps in each workflow in a canonical order before being the hashes of the set of parallel steps are hashed together. 17. The system of claim 2 , wherein the processor is further configured to cache an intermediate artifact produced by an instance of each workflow, wherein the intermediate artifact comprises a result of the common step. 18. The system of claim 17 , wherein the processor is further configured to reuse the intermediate artifact for a subsequent workflow that shares the common step. 19. The system of claim 2 , wherein the processor is further configured to track input data, the workflow, and parameters used to generate a derived object for the common step. 20. The system of claim 19 , wherein the processor is further configured to reuse the derived object for a subsequent workflow that shares the common step. 21. The system of claim 20 , wherein the processor is further configured to generate a synthesized derived object by changing the tracked input data. 22. A method, comprising storing a set of two or more workflow definitions, each workflow definition describing a workflow of an application; and using the set of two or more workflow definitions to implement a state machine of the application based at least in part on the two or more workflow definitions. 23. A computer program product, the computer program product being embodied in a tangible computer readable storage medium and comprising computer instructions for: storing a set of two or more workflow definitions, each workflow definition describing a workflow of an application; and using the set of two or more workflow definitions to implement a state machine of the application based at least in part on the two or more workflow definitions.

Assignees

Inventors

Classifications

  • Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines · CPC title

  • G06F9/4498Primary

    Finite state machines · CPC title

  • by program, e.g. task dispatcher, supervisor, operating system · CPC title

  • Application · CPC title

  • Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10528367B1 cover?
A set of two or more workflow definitions is stored, wherein each workflow definition describes a workflow of an application. The set of two or more workflow definitions are used to implement a state machine of the application based at least in part on the two or more workflow definitions.
Who is the assignee on this patent?
Intuit Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/4498. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 07 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).