×

Asynchronous processing of user requests

  • US 10,339,934 B2
  • Filed: 06/27/2016
  • Issued: 07/02/2019
  • Est. Priority Date: 06/27/2016
  • Status: Active Grant
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.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×