Providing access to user-controlled resources by automated assistants
First Claim
1. A cloud-based system comprising one or more processors and memory operably coupled with the one or more processors, wherein the memory stores instructions that, in response to execution of the instructions by one or more processors, cause the one or more processors to execute an automated assistant to which a respective automated assistant client on each of a plurality of client computing devices is communicatively coupled via one or more networks, wherein the automated assistant is further communicatively coupled to a user-controlled resources engine that includes a plurality of services accessible to a plurality of users of the automated assistant, each of the plurality of users having one or more accounts with one or more of the plurality of services, wherein the automated assistant is configured to:
- receive a voice input provided by a first user of the plurality of users at an input device of a first client computing device of the plurality of client computing devices that is operated by the first user, wherein the voice input from the first user is directed to the automated assistant client executing on the first client computing device;
perform automated voice recognition on the voice input;
recognize a task request from an output of the automated voice recognition;
analyse the task request;
based on the analysis, determine that the task request relates to polling multiple other users of the plurality of users for information pertaining to an upcoming event and checking an access control list relating to the multiple other users to determine whether the first user has appropriate access rights as regards the multiple other users for action to be taken on at least part of the task request;
in response to the determination that the first user has appropriate access rights as regards the multiple other users, take action on at least part of the task request, wherein taking action on at least part of the task request causes the automated assistant clients operating on multiple other client computing devices operated by the multiple other users to engage the multiple other users in respective natural language human-to-computer dialogs, and wherein the respective natural language human-to-computer dialogs solicit free-form natural language responses to the polling;
collect free-form natural language responses to the polling provided by the multiple other users to their respective automated assistant clients;
generate a natural language statement that summarizes the collected free-form natural language polling responses; and
output, by the automated assistant client installed on the first client computing device or another client computing device operated by the first user, the natural language statement.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques are described herein for allowing automated assistants serving users to access data controlled by others, including resources available to automated assistants serving others. In various implementations, a voice input may be received from a first user. A task request may be recognized from the voice input and analyzed. In response to the analysis, a determination may be made that the task request relates to a second user. An access control list relating to an automated assistant engaged by the second user may be checked to determine whether the first user has appropriate access rights as regards the second user. In response to determining that the first user has appropriate access rights as regards the second user, action may be taken on the task request.
165 Citations
20 Claims
-
1. A cloud-based system comprising one or more processors and memory operably coupled with the one or more processors, wherein the memory stores instructions that, in response to execution of the instructions by one or more processors, cause the one or more processors to execute an automated assistant to which a respective automated assistant client on each of a plurality of client computing devices is communicatively coupled via one or more networks, wherein the automated assistant is further communicatively coupled to a user-controlled resources engine that includes a plurality of services accessible to a plurality of users of the automated assistant, each of the plurality of users having one or more accounts with one or more of the plurality of services, wherein the automated assistant is configured to:
-
receive a voice input provided by a first user of the plurality of users at an input device of a first client computing device of the plurality of client computing devices that is operated by the first user, wherein the voice input from the first user is directed to the automated assistant client executing on the first client computing device; perform automated voice recognition on the voice input; recognize a task request from an output of the automated voice recognition; analyse the task request; based on the analysis, determine that the task request relates to polling multiple other users of the plurality of users for information pertaining to an upcoming event and checking an access control list relating to the multiple other users to determine whether the first user has appropriate access rights as regards the multiple other users for action to be taken on at least part of the task request; in response to the determination that the first user has appropriate access rights as regards the multiple other users, take action on at least part of the task request, wherein taking action on at least part of the task request causes the automated assistant clients operating on multiple other client computing devices operated by the multiple other users to engage the multiple other users in respective natural language human-to-computer dialogs, and wherein the respective natural language human-to-computer dialogs solicit free-form natural language responses to the polling; collect free-form natural language responses to the polling provided by the multiple other users to their respective automated assistant clients; generate a natural language statement that summarizes the collected free-form natural language polling responses; and output, by the automated assistant client installed on the first client computing device or another client computing device operated by the first user, the natural language statement. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method implemented using one or more processors and comprising:
-
executing an automated assistant to which a respective automated assistant client on each of a plurality of client computing devices is communicatively coupled via one or more networks, wherein the automated assistant is further communicatively coupled to a user-controlled resources engine that includes a plurality of services accessible to a plurality of users of the automated assistant, each of the plurality of users having one or more accounts with one or more of the plurality of services, wherein the automated assistant is configured to; receiving a natural language input provided by a first user of the plurality of users at an input device of a first client computing device of the plurality of client computing devices that is operated by the first user, wherein the natural language input from the first user is directed to the automated assistant client executing on the first client computing device; performing semantic processing on the natural language input to recognize a task request; analyzing the task request; based on the analyzing, determining that the task request relates to polling multiple other users of the plurality of users for information pertaining to an upcoming event and checking an access control list relating to the multiple other users to determine whether the first user has appropriate access rights as regards the multiple other users for action to be taken on at least part of the task request; in response to the determination that the first user has appropriate access rights as regards the multiple other users, taking action on at least part of the task request, wherein taking action on at least part of the task request causes the automated assistant clients operating on multiple other client computing devices operated by the multiple other users to engage the multiple other users in respective natural language human-to-computer dialogs, and wherein the respective natural language human-to-computer dialogs solicit free-form natural language responses to the polling; collecting free-form natural language responses to the polling provided by the multiple other users to their respective automated assistant clients; generating a natural language statement that summarizes the collected free-form natural language polling responses; and outputting, by the automated assistant client installed on the first client computing device or another client computing device operated by the first user, the natural language statement. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. At least one non-transitory computer-readable medium comprising instructions that, in response to execution of the instructions by one or more processors, cause the one or more processors to perform the following operations:
-
executing an automated assistant to which a respective automated assistant client on each of a plurality of client computing devices is communicatively coupled via one or more networks, wherein the automated assistant is further communicatively coupled to a user-controlled resources engine that includes a plurality of services accessible to a plurality of users of the automated assistant, each of the plurality of users having one or more accounts with one or more of the plurality of services, wherein the automated assistant is configured to; receiving a natural language input provided by a first user of the plurality of users at an input device of a first client computing device of the plurality of client computing devices that is operated by the first user, wherein the natural language input from the first user is directed to the automated assistant client executing on the first client computing device; performing semantic processing on the natural language input to recognize a task request; analyzing the task request; based on the analyzing, determining that the task request relates to polling multiple other users of the plurality of users for information pertaining to an upcoming event and checking an access control list relating to the multiple other users to determine whether the first user has appropriate access rights as regards the multiple other users for action to be taken on at least part of the task request; in response to the determination that the first user has appropriate access rights as regards the multiple other users, taking action on at least part of the task request, wherein taking action on at least part of the task request causes the automated assistant clients operating on multiple other client computing devices operated by the multiple other users to engage the multiple other users in respective natural language human-to-computer dialogs, and wherein the respective natural language human-to-computer dialogs solicit free-form natural language responses to the polling; collecting free-form natural language responses to the polling provided by the multiple other users to their respective automated assistant clients; generating a natural language statement that summarizes the collected free-form natural language polling responses; and outputting, by the automated assistant client installed on the first client computing device or another client computing device operated by the first user, the natural language statement. - View Dependent Claims (17, 18, 19, 20)
-
Specification