Inventory and queue management
US-2016034843-A1 · Feb 4, 2016 · US
US9569255B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-9569255-B1 |
| Application number | US-201514668777-A |
| Country | US |
| Kind code | B1 |
| Filing date | Mar 25, 2015 |
| Priority date | Mar 25, 2015 |
| Publication date | Feb 14, 2017 |
| Grant date | Feb 14, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A workflow for a work item may be executed using an on-device persistent state machine-based architecture. The on-device state machine-based architecture may include a state machine manager that executes the workflow in accordance with a state machine that includes multiple states corresponding to stages of execution in the workflow. Each state in the state machine is associated with one or more tasks to be executed in connection with that state. The state machine further specifies one or more state transitions for each state of the state machine. A state transition associated with a particular state indicates a next state to transition to from the particular state upon completion of the one or more tasks associated with the particular state.
Opening claim text (preview).
That which is claimed is: 1. A method, comprising: receiving, by a user device, data associated with a user input indicating a request to initiate a data transaction associated with a user account; generating a work item object representative of the data transaction, the work item object comprising a current state of a workflow for the data transaction and a transaction identifier associated with the data transaction; associating a work item object identifier with the work item object; adding the work item object identifier to a first work item queue stored in persistent data storage of the user device; adding the work item object identifier to a second work item queue stored in memory of the user device; storing the work item object in the persistent data storage and in the memory; instantiating a state machine manager to execute the workflow for the data transaction; determining a state machine, wherein determining the state machine comprises: determining a first state corresponding to a default user preference being associated with the user account; determining a second state corresponding to a user selection of a user preference for the data transaction; and determining a third state corresponding to completion of the data transaction; and executing, by the state machine manager, the workflow for the data transaction by transitioning through the state machine to obtain an execution result associated with the user account, wherein executing the workflow comprises: executing a first task associated with the first state of the state machine; generating a task completion event associated with execution of the first task, the task completion event indicating that the default user preference is not associated with the user account; determining a state transition using the task completion event, wherein determining the state transition comprises determining that the second state is a next state of the state machine to transition to from the first state; storing the second state as the current state of the workflow in the work item object stored in the persistent data storage and in the memory; and executing a second task associated with the current state of the workflow. 2. The method of claim 1 , wherein the state transition is a first state transition, and wherein executing the second task comprises: launching an application program that enables the user selection of the user preference for the data transaction; receiving the user preference via the application program; closing the application program; generating a second task completion event associated with execution of the second task, the second task completion event indicating that the user preference has been received; determining a second state transition using the second task completion event, wherein the second state transition indicates that the third state is the next state of the state machine to transition to from the second state; storing the third state as the current state of the workflow in the work item object stored in the persistent data storage and in the memory; and executing a third task associated with the current state of the workflow. 3. The method of claim 1 , further comprising: determining that a client application program has been launched after a failure event associated with the client application program causes an interrupt in execution of the workflow; retrieving the first work item queue from the persistent data storage; storing the first work item queue as a third work item queue in the memory; retrieving the work item object from the persistent data storage using the work item object identifier; storing the work item object in association with the work item object identifier in the memory; re-instantiating the state machine manager; determining the current state of the workflow from the work item object; and resuming, by the state machine manager, execution of the workflow at the current state of the workflow. 4. A method, comprising: generating a work item object representative of a work item, generating the work item object comprising associating a current execution state of a workflow with the work item and generating metadata associated with the work item; associating a work item object identifier with the work item object; storing the work item object identifier in a work item queue; determining a state machine comprising a plurality of states associated with execution of the workflow; executing the workflow using the state machine; determining that execution of a first task associated with a first state has been completed; determining that an exception occurred during execution of the first task; executing a function call to notify a client application program executing on a particular device that the exception occurred during execution of the first task; receiving, an instruction to continue executing the workflow, wherein the instruction comprises an indication that the exception occurred during execution of the first task, a task completion event, and the work item object identifier, and wherein a state transition is determined from the indication that the exception occurred during execution of the first task; and executing a second task associated with a second state. 5. The method of claim 4 , wherein executing the workflow comprises: determining that a current execution state of the workflow is the first state of the plurality of states; executing the first task associated with the first state; generating the task completion event, wherein the task completion event indicates that execution of the first task has completed; determining a state transition for the workflow, wherein the state transition indicates the second state of the plurality of states to transition to, from the first state; storing the second state as a new current execution state of the workflow in the work item object; and transitioning to the second state. 6. The method of claim 5 , further comprising storing the work item queue in persistent data storage, wherein storing the work item object identifier in the work item queue comprises associating the work item object identifier with the work item queue stored in the persistent data storage. 7. The method of claim 6 , further comprising: determining that a failure condition that caused execution of the workflow to halt is no longer present; receiving the work item queue from the persistent data storage; storing the work item queue in memory; receiving the work item object from the persistent data storage using the work item object identifier; storing the work item object in association with the work item object identifier in the memory; determining the current execution state of the workflow from the work item object; and resuming execution of the workflow at the new current execution state. 8. The method of claim 5 , further comprising: determining a task object factory associated with the first state; sending the work item object identifier to the task object factory; sending the metadata to the task object factory; and receiving, from the task object factory, a task object associated with the first state, wherein executing the task comprises executing the task object using a task execution engine. 9. The method of claim 5 , wherein a task execution engine executes the first task, the method further comprising: instantiating a state machine manager to execute the workflow using the state machine; determining, by the task execution engine, that a third task was completed without generating an exception; executing, by the task execution engine, the function call to notify the client application program executing on a user
Allocation of resources, e.g. of the central processing unit [CPU] · CPC title
the resources being hardware resources other than CPUs, Servers and Terminals · CPC title
Task transfer initiation or dispatching · CPC title
considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration (scheduling strategies G06F9/4881 and subgroups) · CPC title
Event management; Broadcasting; Multicasting; Notifications · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.