Building multimodal collaborative dialogs with task frames
First Claim
1. A system comprising:
- at least one processor; and
memory communicatively coupled to the at least one processor, encoding computer executable instructions that, when executed by the at least one processor perform a method, the method comprising;
receiving initial input at a client, wherein the input requests a digital assistant application to perform a task;
sending the initial input to a remote service;
receiving, by the client from the remote service, a predefined task frame to serve as a master reference for completing the task, wherein the task frame is a non-graphical-user-interface (GUI) data structure including a value for a status of the task and two or more required parameters to complete the task, wherein the task frame includes a name and a value for each of the two or more required parameters;
based on the task frame, determining, by the client, a next action to complete the task;
performing, by the client, the next action to complete the task;
based on performance of the task, updating, by the client, the task frame by updating one or more values for at least one of the two or more required parameters to create an updated task frame;
sending, by the client, the updated task frame to the remote service; and
receiving, by the client, a further updated version of the task frame from the remote service, wherein at least one of a value for a task frame parameter and a status of the task frame in the further updated task frame has been updated by the remote service.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and systems are provided for collaborative completion of tasks using task frames. Upon receiving a request to perform a task, a system utilizes task frames in completing the requested task. A task frame is a data structure that contains the parameters and status signals that represent a particular task and captures the combined system'"'"'s understanding of a current state of the task. Input is received at a client device and sent to a server, where the input is processed. Based on the processed input, a task frame is retrieved and filled. The filled task frame is sent to the client device, where the client device performs actions based on the task frame and updates the task frame parameters and the state of the task. The updated task frame is returned to the server. The shared task frame provides improvements to the overall task completion process.
20 Citations
20 Claims
-
1. A system comprising:
-
at least one processor; and memory communicatively coupled to the at least one processor, encoding computer executable instructions that, when executed by the at least one processor perform a method, the method comprising; receiving initial input at a client, wherein the input requests a digital assistant application to perform a task; sending the initial input to a remote service; receiving, by the client from the remote service, a predefined task frame to serve as a master reference for completing the task, wherein the task frame is a non-graphical-user-interface (GUI) data structure including a value for a status of the task and two or more required parameters to complete the task, wherein the task frame includes a name and a value for each of the two or more required parameters; based on the task frame, determining, by the client, a next action to complete the task; performing, by the client, the next action to complete the task; based on performance of the task, updating, by the client, the task frame by updating one or more values for at least one of the two or more required parameters to create an updated task frame; sending, by the client, the updated task frame to the remote service; and receiving, by the client, a further updated version of the task frame from the remote service, wherein at least one of a value for a task frame parameter and a status of the task frame in the further updated task frame has been updated by the remote service. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer-implemented method comprising:
-
receiving initial input at a client, wherein the input requests a digital assistant application to perform a task; sending the initial input to a remote service; receiving, by the client from the remote service, a predefined task frame to serve as a master reference for completing the task, wherein the task frame is a non-GUI data structure having one or more fields for at least one value for a status of the task and two or more required parameters to complete the task, wherein the task frame includes a name and a value for each of the two or more required parameters; based on the task frame, determining a next action for completing the task; performing the next action to complete the task; based on performance of the task, updating the task frame by updating one or more values for at least one of the one or more required parameters to create an updated task frame; sending the updated task frame to the remote service; and receiving, by the client, a further updated version of the task frame from the remote service, wherein at least one of a value for a task frame parameter and a status of the task frame in the further updated task frame has been updated by the remote service. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system comprising:
-
at least one processor; and memory communicatively coupled to the at least one processor, encoding computer executable instructions that, when executed by the at least one processor perform a method, the method comprising; receiving, at a service operating on one or more servers, input from a remote client; processing the input to determine a requested task; retrieving, from a plurality of predefined task frames, a predefined task frame to serve as a master reference for the requested task, wherein the predefined task frame is a non-GUI data structure that includes two or more parameters required for completing the requested task and a status for the two or more parameters, wherein the task frame includes a name and a value for each of the one or more required parameters; processing the input to determine one or more values for the one or more task frame parameters required for completing the requested task; updating the task frame with the determined parameter values; and sending the task frame to the client; and receiving an updated version of the task frame from the client, wherein at least one of a value for a task frame parameter and a status of the task frame in the updated task frame has been updated by the client. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification