Information-technology workflows using executable tiles distributed between workflow instances

US10733013B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10733013-B2
Application numberUS-201715458818-A
CountryUS
Kind codeB2
Filing dateMar 14, 2017
Priority dateDec 9, 2016
Publication dateAug 4, 2020
Grant dateAug 4, 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 workflow is expressed as an arrangement of a set of executable tile. In some embodiments, the tiles include operations expressed in different programming languages. A tile can include a declarative specification of datatypes so that external agents, e.g., workflow services, can identify the datatypes and schemas required as arguments and produced as result; this simplifies the defining of a workflow, e.g., by a workflow coder. A tile can have zero, one, or plural user interfaces; selection of a user interface from plural user interfaces can be based on a user selection, on user roles, or on tile lifecycle stage. Workflow services can communicate with each other so that workflows can be distributed and shifted among processor nodes.

First claim

Opening claim text (preview).

What is claimed is: 1. A process comprising: installing instances of a workflow and respective workflow services on respective processor nodes, the workflow having a first tile and a second tile that is a successor to the first tile, a first instance of the workflow being installed on a first processor node along with a first instance of workflow services, the first instance of the workflow including a first instance of the first tile and a first instance of the second tile, a second instance of the workflow being installed on a second processor node along with a second instance of workflow services, the second instance of the workflow including a second instance of the first tile and a second instance of the second tile, each tile being designed to perform a task of the workflow so that the first tile is designed to perform a first task of the workflow and the second tile is designed to perform a second task of the workflow; executing the first instance of the first tile so as to complete a first task of the workflow and yield a first result; determining, by instances of the workflow services including the first and second instances of the workflow services, whether to execute the second task on the first processing node or on the second processing node; in the event it is determined that the second task is to be executed on the first processor node, transferring the first result using property binding for use as an argument by the first instance of the second tile using a workflow definition which specifies argument data to be populated from a data rack associated with a datatype; providing a user interface to a user based upon criteria selected from the group consisting of: permissions assigned to said user; and a lifecycle stage of a tile corresponding to said user interface; in the event that it is determined that the second task is to be executed on the second processor node, copying the first result to the second processor node for use as an argument by the second instance of the second tile; executing the determined one of the first and second instances of the second tile to yield a second result that is at least in part a function of the first result; performing a user authentication outside of said workflow, wherein said permissions assigned to said user being used to allow/prevent access to said user interfaces and other aspects of said workflow; and determining a selected user interface as a function of said permissions assigned to said user wherein said selected user interface is provided to said user. 2. The process of claim 1 further comprising: during execution of the first tile, not executing a counterpart to the first tile, the counterpart to the first tile being on the second processor node; and during execution of the counterpart to the second tile, not executing the second tile. 3. The process of claim 1 wherein workflow services executing on the first processor node and workflow services executing on the second processor node coordinate with each other to effect the transferring. 4. The process of claim 1 further comprising: monitoring the first processor node to obtain metrics, the metrics including performance metrics or utilization metrics; and making a determination to perform the transferring based on the metrics. 5. The process of claim 4 wherein the determination is made while the first tile is executing. 6. The process of claim 4 wherein the determination is made before the first tile is executing, the transferring being scheduled based at least in part on trends or patterns in the metrics. 7. A system comprising non-transitory media encoded with code that, when executed by hardware, implements a process including: installing instances of a workflow and respective workflow services on respective processor nodes, the workflow having a first tile and a second tile that is a successor to the first tile, a first instance of the workflow being installed on a first processor node along with a first instance of workflow services, the first instance of the workflow including a first instance of the first tile and a first instance of the second tile, a second instance of the workflow being installed on a second processor node along with a second instance of workflow services, the second instance of the workflow including a second instance of the first tile and a second instance of the second tile, each tile being designed to perform a task of the workflow so that the first tile is designed to perform a first task of the workflow and the second tile is designed to perform a second task of the workflow; executing the first instance of the first tile so as to complete a first task of the workflow and yield a first result; determining, by instances of the workflow services including the first and second instances of the workflow services, whether to execute the second task on the first processing node or on the second processing node; in the event it is determined that the second task is to be executed on the first processor node, transferring the first result using property binding for use as an argument by the first instance of the second tile using a workflow definition which specifies argument data to be populated from a data rack associated with a datatype; providing a user interface to a user based upon criteria selected from the group consisting of: permissions assigned to said user; and a lifecycle stage of a tile corresponding to said user interface; in the event that it is determined that the second task is to be executed on the second processor node, copying the first result to the second processor node for use as an argument by the second instance of the second tile; executing the determined one of the first and second instances of the second tile to yield a second result that is at least in part a function of the first result; performing a user authentication outside of said workflow, wherein said permissions assigned to said user being used to allow/prevent access to said user interfaces and other aspects of said workflow; and determining a selected user interface as a function of said permissions assigned to said user wherein said selected user interface is provided to said user. 8. The system of claim 7 further comprising: during execution of the first tile, not executing a counterpart to the first tile, the counterpart to the first tile being on the second processor node; and during execution of the counterpart to the second tile, not executing the second tile. 9. The system of claim 7 wherein workflow services executing on the first processor node and workflow services executing on the second processor node coordinate with each other to effect the transferring. 10. The system of claim 7 further comprising: monitoring the first processor node to obtain metrics, the metrics including performance metrics or utilization metrics; and making a determination to perform the transferring based on the metrics. 11. The system of claim 10 wherein the determination is made while the first tile is executing. 12. The system of claim 10 wherein the determination is made before the first tile is executing, the transferring being scheduled based at least in part on trends or patterns in the metrics. 13. The system of claim 7 further comprising the hardware.

Assignees

Inventors

Classifications

  • Software design · CPC title

  • Software reuse · CPC title

  • G06F9/4881Primary

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

  • Object-oriented · CPC title

  • Interaction with lists of selectable items, e.g. menus · 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 US10733013B2 cover?
A workflow is expressed as an arrangement of a set of executable tile. In some embodiments, the tiles include operations expressed in different programming languages. A tile can include a declarative specification of datatypes so that external agents, e.g., workflow services, can identify the datatypes and schemas required as arguments and produced as result; this simplifies the defining of a w…
Who is the assignee on this patent?
Vmware Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/4881. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 04 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 6 related publications on this page (citations in our corpus or others sharing the same primary CPC).