US 12,087,045 B2
Multiple wake words for systems with multiple smart assistants
Xiaohu Liu, Bellevue, WA (US); Baiyang Liu, Bellevue, WA (US); and Rajen Subba, San Carlos, CA (US)
Assigned to Meta Platforms, Inc., Menlo Park, CA (US)
Filed by Meta Platforms, Inc., Menlo Park, CA (US)
Filed on Feb. 23, 2021, as Appl. No. 17/182,951.
Application 17/182,951 is a continuation of application No. 16/183,650, filed on Nov. 7, 2018, granted, now 10,957,329.
Claims priority of provisional application 62/660,876, filed on Apr. 20, 2018.
Prior Publication US 2021/0183397 A1, Jun. 17, 2021
This patent is subject to a terminal disclaimer.
Int. Cl. G06V 10/82 (2022.01); G06F 3/01 (2006.01); G06F 3/16 (2006.01); G06F 7/14 (2006.01); G06F 9/451 (2018.01); G06F 16/176 (2019.01); G06F 16/22 (2019.01); G06F 16/23 (2019.01); G06F 16/242 (2019.01); G06F 16/2455 (2019.01); G06F 16/2457 (2019.01); G06F 16/248 (2019.01); G06F 16/33 (2019.01); G06F 16/332 (2019.01); G06F 16/338 (2019.01); G06F 16/903 (2019.01); G06F 16/9032 (2019.01); G06F 16/9038 (2019.01); G06F 16/904 (2019.01); G06F 16/951 (2019.01); G06F 16/9535 (2019.01); G06F 18/2411 (2023.01); G06F 40/205 (2020.01); G06F 40/295 (2020.01); G06F 40/30 (2020.01); G06F 40/40 (2020.01); G06N 3/006 (2023.01); G06N 3/08 (2023.01); G06N 7/01 (2023.01); G06N 20/00 (2019.01); G06Q 50/00 (2024.01); G06V 10/764 (2022.01); G06V 20/10 (2022.01); G06V 40/20 (2022.01); G10L 15/02 (2006.01); G10L 15/06 (2013.01); G10L 15/07 (2013.01); G10L 15/16 (2006.01); G10L 15/18 (2013.01); G10L 15/183 (2013.01); G10L 15/187 (2013.01); G10L 15/22 (2006.01); G10L 15/26 (2006.01); G10L 17/06 (2013.01); G10L 17/22 (2013.01); H04L 5/02 (2006.01); H04L 12/28 (2006.01); H04L 41/00 (2022.01); H04L 41/22 (2022.01); H04L 43/0882 (2022.01); H04L 43/0894 (2022.01); H04L 51/02 (2022.01); H04L 51/18 (2022.01); H04L 51/216 (2022.01); H04L 51/52 (2022.01); H04L 67/306 (2022.01); H04L 67/50 (2022.01); H04L 67/5651 (2022.01); H04L 67/75 (2022.01); H04W 12/08 (2021.01); G10L 13/00 (2006.01); G10L 13/04 (2013.01); H04L 51/046 (2022.01); H04L 67/10 (2022.01); H04L 67/53 (2022.01)
CPC G06V 10/82 (2022.01) [G06F 3/011 (2013.01); G06F 3/013 (2013.01); G06F 3/017 (2013.01); G06F 3/167 (2013.01); G06F 7/14 (2013.01); G06F 9/453 (2018.02); G06F 16/176 (2019.01); G06F 16/2255 (2019.01); G06F 16/2365 (2019.01); G06F 16/243 (2019.01); G06F 16/24552 (2019.01); G06F 16/24575 (2019.01); G06F 16/24578 (2019.01); G06F 16/248 (2019.01); G06F 16/3323 (2019.01); G06F 16/3329 (2019.01); G06F 16/3344 (2019.01); G06F 16/338 (2019.01); G06F 16/90332 (2019.01); G06F 16/90335 (2019.01); G06F 16/9038 (2019.01); G06F 16/904 (2019.01); G06F 16/951 (2019.01); G06F 16/9535 (2019.01); G06F 18/2411 (2023.01); G06F 40/205 (2020.01); G06F 40/295 (2020.01); G06F 40/30 (2020.01); G06F 40/40 (2020.01); G06N 3/006 (2013.01); G06N 3/08 (2013.01); G06N 7/01 (2023.01); G06N 20/00 (2019.01); G06Q 50/01 (2013.01); G06V 10/764 (2022.01); G06V 20/10 (2022.01); G06V 40/28 (2022.01); G10L 15/02 (2013.01); G10L 15/063 (2013.01); G10L 15/07 (2013.01); G10L 15/16 (2013.01); G10L 15/1815 (2013.01); G10L 15/1822 (2013.01); G10L 15/183 (2013.01); G10L 15/187 (2013.01); G10L 15/22 (2013.01); G10L 15/26 (2013.01); G10L 17/06 (2013.01); G10L 17/22 (2013.01); H04L 5/02 (2013.01); H04L 12/2816 (2013.01); H04L 41/20 (2013.01); H04L 41/22 (2013.01); H04L 43/0882 (2013.01); H04L 43/0894 (2013.01); H04L 51/02 (2013.01); H04L 51/18 (2013.01); H04L 51/216 (2022.05); H04L 51/52 (2022.05); H04L 67/306 (2013.01); H04L 67/535 (2022.05); H04L 67/5651 (2022.05); H04L 67/75 (2022.05); H04W 12/08 (2013.01); G06F 2216/13 (2013.01); G10L 13/00 (2013.01); G10L 13/04 (2013.01); G10L 2015/223 (2013.01); G10L 2015/225 (2013.01); H04L 51/046 (2013.01); H04L 67/10 (2013.01); H04L 67/53 (2022.05)] 19 Claims
OG exemplary drawing
 
1. A method comprising, by a client system associated with a first user:
receiving, at the client system, a first user input from the first user;
parsing, by the client system, the first user input to identify a request to execute a first function to be performed by a first assistant system of a plurality of assistant systems associated with the client system;
determining whether the first user is authorized to access the first assistant system by comparing a voiceprint of the first user to a plurality of voiceprints corresponding to the plurality of assistant systems stored on the client system, wherein each of the plurality of assistant systems includes a respective set of authorized users authorized to use the respective assistant system, and wherein each of the plurality of assistant systems includes a set of functions corresponding to each of the authorized users for the respective assistant system;
sending, from the client system to the first assistant system in response to determining the first user is within the respective set of authorized users authorized to access the first assistant system, a request to set a first assistant xbot of the first assistant system into a listening mode; and receiving, at the client system from the first assistant system, an indication that the first assistant xbot is in listening mode;
receiving, at the client system associated with the first user, a second user input from the first user;
parsing, by the client system, the second user input to identify a second request to execute a second function to be performed by a second assistant system of the plurality of assistant systems associated with the client system;
determining whether the first user is authorized to access the second assistant system by comparing the voiceprint of the first user to the plurality of voiceprints stored on the client system;
sending, from the client system to the second assistant system in response to determining the first user is authorized to access the second assistant system, a request to set a second assistant xbot of the second assistant system into a listening mode; and
receiving, at the client system from the second assistant system, an indication that the second assistant xbot is in listening mode.