Method and apparatus for automated assistance with task management
First Claim
1. A method for assisting a user in an execution of a task, where the task comprises one or more workflows required to accomplish a goal defined by the user, the method comprising:
- identifying, using a workflow tracker, a current workflow executing on a machine used by the user, where the current workflow is one of the one or more workflows and wherein the identifying is performed automatically by the machine in an absence of a manual identification of the current workflow by matching data related to the current workflow to a stored task model, wherein the identifying comprises;
receiving, from one or more instrumented applications executing on the machine used by the user, the data related to the current workflow; and
identifying the stored task model in a workflow library as one of a plurality of task models that most closely matches the current workflow, based on the data, wherein the stored task model encodes a set of workflows for accomplishing a corresponding task;
tracking, using the workflow tracker, a progress of the current workflow in accordance with the stored task model, wherein the stored task model comprises a variablized version of a previous workflow that is customized during the execution for the current workflow;
generating a suggestion based on the progress of the current workflow and on the stored task model, where the suggestion assists the user in progressing toward a completion of the task;
manipulating an application on the machine used by the user to carry out the suggestion; and
learning the stored task model from a user demonstration, wherein the learning comprises;
recording an action sequence that embodies a dataflow, in accordance with the user demonstration, wherein the action sequence comprises one or more observed actions executed on the machine used by the user; and
inserting at least one inferred action into the dataflow, wherein the at least one inferred action is inserted in a gap between a first one of the one or more observed actions and a second one of the one or more observed actions, and wherein the at least one inferred action is not one of the one or more observed actions,wherein at least one of;
the workflow tracking, the generating, or the manipulating is performed using a processor.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention relates to a method and apparatus for assisting with automated task management. In one embodiment, an apparatus for assisting a user in the execution of a task, where the task includes one or more workflows required to accomplish a goal defined by the user, includes a task learner for creating new workflows from user demonstrations, a workflow tracker for identifying and tracking the progress of a current workflow executing on a machine used by the user, a task assistance processor coupled to the workflow tracker, for generating a suggestion based on the progress of the current workflow, and a task executor coupled to the task assistance processor, for manipulating an application on the machine used by the user to carry out the suggestion.
-
Citations
26 Claims
-
1. A method for assisting a user in an execution of a task, where the task comprises one or more workflows required to accomplish a goal defined by the user, the method comprising:
-
identifying, using a workflow tracker, a current workflow executing on a machine used by the user, where the current workflow is one of the one or more workflows and wherein the identifying is performed automatically by the machine in an absence of a manual identification of the current workflow by matching data related to the current workflow to a stored task model, wherein the identifying comprises; receiving, from one or more instrumented applications executing on the machine used by the user, the data related to the current workflow; and identifying the stored task model in a workflow library as one of a plurality of task models that most closely matches the current workflow, based on the data, wherein the stored task model encodes a set of workflows for accomplishing a corresponding task; tracking, using the workflow tracker, a progress of the current workflow in accordance with the stored task model, wherein the stored task model comprises a variablized version of a previous workflow that is customized during the execution for the current workflow; generating a suggestion based on the progress of the current workflow and on the stored task model, where the suggestion assists the user in progressing toward a completion of the task; manipulating an application on the machine used by the user to carry out the suggestion; and learning the stored task model from a user demonstration, wherein the learning comprises; recording an action sequence that embodies a dataflow, in accordance with the user demonstration, wherein the action sequence comprises one or more observed actions executed on the machine used by the user; and inserting at least one inferred action into the dataflow, wherein the at least one inferred action is inserted in a gap between a first one of the one or more observed actions and a second one of the one or more observed actions, and wherein the at least one inferred action is not one of the one or more observed actions, wherein at least one of;
the workflow tracking, the generating, or the manipulating is performed using a processor. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method for assisting a user in an execution of a task, where the task comprises one or more workflows required to accomplish a goal defined by the user, the method comprising:
-
identifying, using a workflow tracker, a current workflow executing on a machine used by the user, where the current workflow is one of the one or more workflows and wherein the identifying is performed automatically by the machine in an absence of a manual identification of the current workflow by matching data related to the current workflow to a stored task model, wherein the identifying comprises; receiving, from one or more instrumented applications executing on the machine used by the user, the data related to the current workflow; and identifying the stored task model in a workflow library as one of a plurality of task models that most closely matches the current workflow, based on the data, wherein the stored task model encodes a set of workflows for accomplishing a corresponding task; tracking, using the workflow tracker, a progress of the current workflow in accordance with the stored task model, wherein the stored task model comprises a variablized version of a previous workflow that is customized during the execution for the current workflow; generating a suggestion based on the progress of the current workflow and on the stored task model, where the suggestion assists the user in progressing toward a completion of the task; manipulating an application on the machine used by the user to carry out the suggestion; and learning the stored task model from a user demonstration, wherein the learning comprises; discovering a loop in the user demonstration previous workflow, wherein the user demonstration previous workflow comprises a plurality of actions, and wherein the loop comprises at least one repeated sequence of actions occurring in the plurality of actions, wherein at least one of;
the workflow tracking, the generating, or the manipulating is performed using a processor. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A computer readable storage medium containing an executable program for assisting a user in an execution of a task, where the task comprises one or more workflows required to accomplish a goal defined by the user, where the program performs steps of:
-
identifying, using a workflow tracker, a current workflow executing on a machine used by the user, where the current workflow is one of the one or more workflows and wherein the identifying is performed automatically by the machine in an absence of a manual identification of the current workflow by matching data related to the current workflow to a stored task model, wherein the identifying comprises; receiving, from one or more instrumented applications executing on the machine used by the user, the data related to the current workflow; and identifying the stored task model in a workflow library as one of a plurality of task models that most closely matches the current workflow, based on the data, wherein the stored task model encodes a set of workflows for accomplishing a corresponding task; tracking, using the workflow tracker, a progress of the current workflow in accordance with the stored task model, wherein the stored task model comprises a variablized version of a previous workflow that is customized during the execution for the current workflow; generating a suggestion based on the progress of the current workflow and on the task model, where the suggestion assists the user in progressing toward a completion of the task; manipulating an application on the machine used by the user to carry out the suggestion; and learning the stored task model from a user demonstration, wherein the learning comprises; recording an action sequence that embodies a dataflow, in accordance with the user demonstration, wherein the action sequence comprises one or more observed actions executed on the machine used by the user; and inserting at least one inferred action into the dataflow, wherein the at least one inferred action is inserted in a gap between a first one of the one or more observed actions and a second one of the one or more observed actions, and wherein the at least one inferred action is not one of the one or more observed actions.
-
-
26. A computer readable storage medium containing an executable program for assisting a user in an execution of a task, where the task comprises one or more workflows required to accomplish a goal defined by the user, where the program performs steps of:
-
identifying, using a workflow tracker, a current workflow executing on a machine used by the user, where the current workflow is one of the one or more workflows and wherein the identifying is performed automatically by the machine in an absence of a manual identification of the current workflow by matching data related to the current workflow to a stored task model, wherein the identifying comprises; receiving, from one or more instrumented applications executing on the machine used by the user, the data related to the current workflow; and identifying the stored task model in a workflow library as one of a plurality of task models that most closely matches the current workflow, based on the data, wherein the stored task model encodes a set of workflows for accomplishing a corresponding task; tracking, using the workflow tracker, a progress of the current workflow in accordance with the stored task model, wherein the stored task model comprises a variablized version of a previous workflow that is customized during the execution for the current workflow; generating a suggestion based on the progress of the current workflow and on the task model, where the suggestion assists the user in progressing toward a completion of the task; manipulating an application on the machine used by the user to carry out the suggestion; and learning the stored task model from a user demonstration, wherein the learning comprises; discovering a loop in the user demonstration previous workflow, wherein the user demonstration previous workflow comprises a plurality of actions, and wherein the loop comprises at least one repeated sequence of actions occurring in the plurality of actions.
-
Specification