Asynchronous processing of user requests
First Claim
Patent Images
1. A method performed by one or more processing devices of a server system, the method comprising:
- storing, by the one or more processing devices of the server system, predetermined assignment data that specifies, for each of multiple different action types, whether asynchronous performance or synchronous performance is assigned for handling later-received user requests associated with the action type;
after storing the assignment data, receiving, by the one or more processing devices of the server system, data from a client device over a network, the data indicating a user request from a user to a digital assistant;
determining, by the one or more processing devices of the server system, (i) an action corresponding to the user request and (ii) a particular action type that is associated with the action, wherein the particular action type is one of the multiple different action types;
accessing, by the one or more processing devices of the server system, the predetermined assignment data stored prior to receiving the data indicating the user request, wherein the predetermined assignment data indicates whether asynchronous performance or synchronous performance is assigned for handling user requests associated with the particular action type;
based on the predetermined assignment data and the particular action type associated with the action corresponding to the user request, selecting, by the one or more processing devices of the server system, between (i) performance of the action synchronously with respect to the user request such that the action is performed before the server system performs another action requested by a subsequent user request from the user and (ii) performance of the action asynchronously with respect to the user request such that the server system is configured to perform another action requested by a subsequent user request from the user before or in parallel with the action;
selecting, by the one or more processing devices of the server system, one or more confirmation messages to send to the client device for output by the client device, the selected one or more confirmation messages comprising (i) when the action has been selected for performance synchronously with respect to the user request, an initial confirmation message only that indicates an intent to perform the action, and (ii) when the action has been selected for performance asynchronously with respect to the user request, an initial conformation message that indicates the intent to perform the action, and an additional confirmation message that indicates, in response to execution of the action or in response to a user request about a status of the action, that the action has been executed; and
causing, by the one or more processing devices of the server system, the action to be performed synchronously or asynchronously with respect to the user request according to the selection.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods, systems, and apparatus, including computer programs stored on a computer-readable storage medium, for asynchronous execution of client requests. In some implementations, data indicating a user request to a digital assistant is received. An action corresponding to the user request is determined. It is determined that the action is classified as an action to be performed asynchronously to the user request. A confirmation message is sent, for output, and the action is performed asynchronously to the user request.
13 Citations
20 Claims
-
1. A method performed by one or more processing devices of a server system, the method comprising:
-
storing, by the one or more processing devices of the server system, predetermined assignment data that specifies, for each of multiple different action types, whether asynchronous performance or synchronous performance is assigned for handling later-received user requests associated with the action type; after storing the assignment data, receiving, by the one or more processing devices of the server system, data from a client device over a network, the data indicating a user request from a user to a digital assistant; determining, by the one or more processing devices of the server system, (i) an action corresponding to the user request and (ii) a particular action type that is associated with the action, wherein the particular action type is one of the multiple different action types; accessing, by the one or more processing devices of the server system, the predetermined assignment data stored prior to receiving the data indicating the user request, wherein the predetermined assignment data indicates whether asynchronous performance or synchronous performance is assigned for handling user requests associated with the particular action type; based on the predetermined assignment data and the particular action type associated with the action corresponding to the user request, selecting, by the one or more processing devices of the server system, between (i) performance of the action synchronously with respect to the user request such that the action is performed before the server system performs another action requested by a subsequent user request from the user and (ii) performance of the action asynchronously with respect to the user request such that the server system is configured to perform another action requested by a subsequent user request from the user before or in parallel with the action; selecting, by the one or more processing devices of the server system, one or more confirmation messages to send to the client device for output by the client device, the selected one or more confirmation messages comprising (i) when the action has been selected for performance synchronously with respect to the user request, an initial confirmation message only that indicates an intent to perform the action, and (ii) when the action has been selected for performance asynchronously with respect to the user request, an initial conformation message that indicates the intent to perform the action, and an additional confirmation message that indicates, in response to execution of the action or in response to a user request about a status of the action, that the action has been executed; and causing, by the one or more processing devices of the server system, the action to be performed synchronously or asynchronously with respect to the user request according to the selection. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 19, 20)
-
-
14. A system comprising:
one or more processing devices of a server system and one or more storage devices storing instructions that are operable, when executed by the one or more processing devices, to cause the one or more processing devices to perform operations comprising; storing, by the one or more processing devices of the server system, predetermined assignment data that specifies, for each of multiple different action types, whether asynchronous performance or synchronous performance is assigned for handling later-received user requests associated with the action type; after storing the assignment data, receiving, by the one or more processing devices of the server system, data from a client device over a network, the data indicating a user request from a user to a digital assistant; determining, by the one or more processing devices of the server system, (i) an action corresponding to the user request and (ii) a particular action type that is associated with the action, wherein the particular action type is one of the multiple different action types; accessing, by the one or more processing devices of the server system, the predetermined assignment data stored prior to receiving the data indicating the user request, wherein the predetermined assignment data indicates whether asynchronous performance or synchronous performance is assigned for handling user requests associated with the particular action type; based on the predetermined assignment data and the particular action type associated with the action corresponding to the user request, selecting, by the one or more processing devices of the server system, between (i) performance of the action synchronously with respect to the user request such that the action is performed before the server system performs another action requested by a subsequent user request from the user and (ii) performance of the action asynchronously with respect to the user request such that the server system is configured to perform another action requested by a subsequent user request from the user before or in parallel with the action; selecting, by the one or more processing devices of the server system, one or more confirmation messages to send to the client device for output by the client device, the selected one or more confirmation messages comprising (i) when the action has been selected for performance synchronously with respect to the user request, an initial confirmation message only that indicates an intent to perform the action, and (ii) when the action has been selected for performance asynchronously with respect to the user request, an initial conformation message that indicates the intent to perform the action, and an additional confirmation message that indicates, in response to execution of the action or in response to a user request about a status of the action, that the action has been executed; and causing, by the one or more processing devices of the server system, the action to be performed synchronously or asynchronously with respect to the user request according to the selection. - View Dependent Claims (15, 16, 17)
-
18. One or more non-transitory computer-readable storage media storing computer program instructions that, when executed by one or more processing devices of a server system, cause the one or more processing devices to perform operations comprising:
-
storing, by the one or more processing devices of the server system, predetermined assignment data that specifies, for each of multiple different action types, whether asynchronous performance or synchronous performance is assigned for handling later-received user requests associated with the action type; after storing the assignment data, receiving, by the one or more processing devices of the server system, data from a client device over a network, the data indicating a user request to a digital assistant; determining, by the one or more processing devices of the server system, (i) an action corresponding to the user request and (ii) a particular action type that is associated with the action, wherein the particular action type is one of the multiple different action types; accessing, by the one or more processing devices of the server system, the predetermined assignment data stored prior to receiving the data indicating the user request, wherein the predetermined assignment data indicates whether asynchronous performance or synchronous performance is assigned for handling user requests associated with the particular action type; based on the predetermined assignment data and the particular action type associated with the action corresponding to the user request, selecting, by the one or more processing devices of the server system, between (i) performance of the action synchronously with respect to the user request such that the action is performed before the server system performs another action requested by a subsequent user request from the user and (ii) performance of the action asynchronously with respect to the user request such that the server system is configured to perform another action requested by a subsequent user request from the user before or in parallel with the action; selecting, by the one or more processing devices of the server system, one or more confirmation messages to send to the client device for output by the client device, the selected one or more confirmation messages comprising (i) when the action has been selected for performance synchronously with respect to the user request, an initial confirmation message only that indicates an intent to perform the action, and (ii) when the action has been selected for performance asynchronously with respect to the user request, an initial conformation message that indicates the intent to perform the action, and an additional confirmation message that indicates, in response to execution of the action or in response to a user request about a status of the action, that the action has been executed; and causing, by the one or more processing devices of the server system, the action to be performed synchronously or asynchronously with respect to the user request according to the selection.
-
Specification