IP Library › Granted Patent US 12,614,545
Granted Patent B2
US 12,614,545 · App. 18/221,274 · Granted Apr 28, 2026

Cross-device data synchronization based on simultaneous hotword triggers

Inventors: Matthew Sharifi (Kilchberg, CH); Victor Carbune (Zurich, CH)
Assignee: GOOGLE LLC
G10L15/197G06F16/27G06N5/043G06N20/00G10L15/22G10L2015/088G10L15/1815G10L2015/223
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,614,545
App. No.
18/221,274
Filed
Jul 12, 2023
Granted
Apr 28, 2026
Kind
B2
Art Unit
2657
USPC
704/240
Abstract

Techniques are described herein for cross-device data synchronization based on simultaneous hotword triggers. A method includes: executing a first instance of an automated assistant in an inactive state at least in part on a first computing device operated by a user; while in the inactive state, receiving, via one or more microphones of the first computing device, audio data that captures a spoken utterance of the user; processing the audio data using a machine learning model to generate a predicted output that indicates a probability of one or more hotwords being present in the audio data; determining that the predicted output satisfies a threshold that is indicative of the one or more hotwords being present in the audio data; in response to determining that the predicted output satisfies the threshold, performing arbitration with at least one other computing device that is executing at least in part at least one other instance of the automated assistant; and in response to performing arbitration with the at least one other computing device, initiating synchronization of user data or configuration data between the first instance of the automated assistant on the first computing device and the at least one other instance of the automated assistant on the at least one other computing device, the user data comprising data that is based on one or more interactions with the user at the first computing device, the one or more interactions occurring prior to the receiving of the audio data.

Claims (49)

1 . A method implemented by one or more processors, the method comprising:

executing a first instance of an automated assistant in an inactive state at least in part on a first computing device operated by a user;

while in the inactive state, receiving, via one or more microphones of the first computing device, first audio data that captures a spoken utterance of the user;

while in the inactive state, processing the first audio data using one or more hotword detection models to generate:

a first predicted output that indicates a first probability of one or more synchronization hotwords being present in the first audio data, and

a second predicted output that indicates a second probability of one or more other hotwords being present in the first audio data, wherein the one or more other hotwords are distinct from the synchronization hotwords, and the one or more other hotwords are usable to activate speech recognition or natural language understanding of the automated assistant;

determining that the first predicted output satisfies a first threshold that is indicative of the one or more synchronization hotwords being present in the first audio data;

determining that there is a match between an attribute of the user that is identified as a joint secret and stored on each of the first computing device and the second computing device, wherein the determining includes causing the joint secret (i) to be used to generate encrypted data on one of the first and second computing devices and (ii) to be used to decrypt the encrypted data on the other of the first and second computing devices, wherein the joint secret is based on a date of birth of the user, an email address of the user, a phone number of the user, or preferences of the user; and

in response to determining that the first predicted output satisfies the first threshold and that there is a match between the attribute of the user identified as the joint secret, initiating peer-to-peer bidirectional synchronization of configuration data between the first instance of the automated assistant on the first computing device and the second instance of the automated assistant on the second computing device, wherein the bidirectional synchronization occurs at the first computing device and the second computing device.

2 . The method according to claim 1 , wherein the same first audio data is processed using one or more of the hotword detection models to determine both the first probability and the second probability.

3 . The method according to claim 1 , further comprising, prior to initiating the bidirectional synchronization of the configuration data, determining that there is a match between registered user profiles stored on each of the first computing device and the second computing device.

4 . The method according to claim 1 , wherein the joint secret is used to process a random string to generate the encrypted data.

5 . The method according to claim 1 , wherein the bidirectional synchronization includes bidirectional synchronization of user data, and wherein the user data that is synchronized comprises a personalized hotword model, a personalized speech recognition model, or a personalized query interpretation model.

6 . The method according to claim 1 , wherein the bidirectional synchronization includes bidirectional synchronization of user data, and wherein the user data that is synchronized comprises recently issued queries of the user.

7 . The method according to claim 1 , wherein the bidirectional synchronization includes bidirectional synchronization of user data, and wherein the user data that is synchronized comprises preferences of the user.

8 . The method according to claim 1 , wherein the bidirectional synchronization includes bidirectional synchronization of user data, and wherein the user data that is synchronized comprises a private knowledge graph of the user.

9 . The method according to claim 1 , wherein the bidirectional synchronization includes bidirectional synchronization of user data, and wherein the user data comprises data that is selected for synchronization based on capabilities of each of the first computing device and the second computing device.

10 . The method according to claim 1 , wherein the configuration data that is synchronized comprises settings of the first computing device or settings of the second computing device.

11 . The method according to claim 1 , further comprising:

executing the second instance of the automated assistant in the inactive state at least in part on the second computing device;

while in the inactive state, receiving, via one or more microphones of the second computing device, second audio data that captures the spoken utterance of the user;

processing the second audio data to generate a second predicted output that indicates a probability of the one or more synchronization hotwords being present in the second audio data; and

determining that the second predicted output satisfies a second threshold that is indicative of the one or more synchronization hotwords being present in the second audio data,

wherein initiating the bidirectional synchronization of the configuration data is further in response to determining the second predicted output satisfies the second threshold.

12 . A computer program product comprising one or more non-transitory computer-readable storage media having program instructions collectively stored on the one or more non-transitory computer-readable storage media, the program instructions executable to:

execute a first instance of an automated assistant in an inactive state at least in part on a first computing device operated by a user;

while in the inactive state, receive, via one or more microphones of the first computing device, first audio data that captures a spoken utterance of the user;

while in the inactive state, process the first audio data using one or more hotword detection models to generate:

a first predicted output that indicates a first probability of one or more synchronization hotwords being present in the first audio data, and

a second predicted output that indicates a second probability of one or more other hotwords being present in the first audio data, wherein the one or more other hotwords are distinct from the synchronization hotwords, and the one or more other hotwords are usable to activate speech recognition or natural language understanding of the automated assistant;

determine that the first predicted output satisfies a first threshold that is indicative of the one or more synchronization hotwords being present in the first audio data;

determine that there is a match between an attribute of the user that is identified as a joint secret and stored on each of the first computing device and the second computing device, wherein the determining includes causing the joint secret (i) to be used to generate encrypted data on one of the first and second computing devices and (ii) to be used to decrypt the encrypted data on the other of the first and second computing devices, wherein the joint secret is based on a date of birth of the user, an email address of the user, a phone number of the user, or preferences of the user; and

in response to determining that the first predicted output satisfies the first threshold and that there is a match between the attribute of the user identified as the joint secret, initiate peer-to-peer bidirectional synchronization of configuration data between the first instance of the automated assistant on the first computing device and the second instance of the automated assistant on the second computing device, wherein the bidirectional synchronization occurs at the first computing device and the second computing device.

13 . The computer program product according to claim 12 , wherein the same first audio data is processed using one or more of the hotword detection models to determine both the first probability and the second probability.

14 . The computer program product according to claim 12 , wherein the program instructions are further executable to, prior to initiating the bidirectional synchronization of the configuration data, determine that there is a match between registered user profiles stored on each of the first computing device and the second computing device.

15 . The computer program product according to claim 12 , wherein the joint secret is used to process a random string to generate the encrypted data.

16 . A system comprising:

a processor, a computer-readable memory, one or more computer-readable storage media, and program instructions collectively stored on the one or more computer-readable storage media, the program instructions executable to:

execute a first instance of an automated assistant in an inactive state at least in part on a first computing device operated by a user;

while in the inactive state, receive, via one or more microphones of the first computing device, first audio data that captures a spoken utterance of the user;

while in the inactive state, process the first audio data using one or more hotword detection models to generate:

a first predicted output that indicates a first probability of one or more synchronization hotwords being present in the first audio data, and

a second predicted output that indicates a second probability of one or more other hotwords being present in the first audio data, wherein the one or more other hotwords are distinct from the synchronization hotwords, and the one or more other hotwords are usable to activate speech recognition or natural language understanding of the automated assistant;

determine that the first predicted output satisfies a first threshold that is indicative of the one or more synchronization hotwords being present in the first audio data;

determine that there is a match between an attribute of the user that is identified as a joint secret and stored on each of the first computing device and the second computing device, wherein the determining includes causing the joint secret (i) to be used to generate encrypted data on one of the first and second computing devices and (ii) to be used to decrypt the encrypted data on the other of the first and second computing devices, wherein the joint secret is based on a date of birth of the user, an email address of the user, a phone number of the user, or preferences of the user; and

in response to determining that the first predicted output satisfies the first threshold and that there is a match between the attribute of the user identified as the joint secret, initiate peer-to-peer bidirectional synchronization of configuration data between the first instance of the automated assistant on the first computing device and the second instance of the automated assistant on the second computing device, wherein the bidirectional synchronization occurs at the first computing device and the second computing device.

17 . The system according to claim 16 , wherein the same first audio data is processed using one or more of the hotword detection models to determine both the first probability and the second probability.

18 . The system according to claim 16 , wherein the program instructions are further executable to, prior to initiating the bidirectional synchronization of the configuration data, determine that there is a match between registered user profiles stored on each of the first computing device and the second computing device.

19 . The system according to claim 16 , wherein the joint secret is used to process a random string to generate the encrypted data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 25, 2023
From: SHARIFI, MATTHEW; CARBUNE, VICTOR
To: GOOGLE LLC
Reel/Frame 064378/0823 →
Continuity (3)
Continuation 17115484 · Dec 8, 2020
Provisional Application 63091299 · Oct 13, 2020
Related Publication 20230352010A1 · Nov 2, 2023
References Cited (30)
US 20020013855A1 · Ishii · 2002 [cited by applicant]
US 20070014314A1 · O'Neil · 2007 [cited by examiner]
US 20070124134A1 · Van Kommer · 2007 [cited by examiner]
US 20140365885A1 · Carson et al. · 2014 [cited by applicant]
US 20150004589A1 · Lee · 2015 [cited by examiner]
US 20150169284A1 · Quast et al. · 2015 [cited by applicant]
US 20150370531A1 · Faaborg · 2015 [cited by applicant]
US 20160104483A1 · Foerster et al. · 2016 [cited by applicant]
US 20160336010A1 · Lindahl · 2016 [cited by examiner]
US 20160359965A1 · Murphy · 2016 [cited by examiner]
US 20170084277A1 · Sharifi · 2017 [cited by examiner]
US 20170308602A1 · Raghunathan · 2017 [cited by applicant]
US 20180332118A1 · Phipps · 2018 [cited by examiner]
US 20190221206A1 · Chen · 2019 [cited by examiner]
US 20190371326A1 · Bocklet · 2019 [cited by examiner]
US 20210142189A1 · Subramanya · 2021 [cited by examiner]
US 20210173960A1 · Dao · 2021 [cited by examiner]
US 20220115009A1 · Sharifi et al. · 2022 [cited by applicant]
CN 105324754 · 2016 [cited by applicant]
CN 106030699 · 2016 [cited by applicant]
WO 2018208506 · 2018 [cited by applicant]
C. Karakaya, H. Toǧuç, R. S. Kuzu and A. H. Büyüklü, “Survey of Cross Device Matching Approaches with a Case Study on a Novel Database,” 2018 3rd International Conference on Computer Science and Engineering (UBMK), 2018… [cited by examiner]
Karakaya, C. et al.; Survey of Cross Device Matching Approaches with a Case Study pm a Novel Database; 3rd International conference on Computer Science and Engineering (UBMK); pp. 139-144; doi:10.1109/UBMK.2018.8566307;… [cited by applicant]
European Patent Office; International Search Report and Written Opinion of Application No. PCT/US2021/054612; 14 pages; dated Mar. 31, 2022. [cited by applicant]
European Patent Office; Invitation to Pay Additional Fees, issued in PCT Application No. PCT/US2021/054612; 3 pages; dated Feb. 10, 2022. [cited by applicant]
European Patent Office; Communication pursuant to Article 94(3) EPC issued in Application No. 21802145.9; 4 pages; dated Oct. 25, 2024. [cited by applicant]
China National Intellectual Property Administration; Notification of First Office Action issued in Application No. 202180039197.8; 20 pages ; dated Mar. 14, 2025. [cited by applicant]
China National Intellectual Property Administration; Notification of Second Office Action issued in Application No. 202180039197.8; 20 pages; dated May 6, 2025. [cited by applicant]
China National Intellectual Property Administration; Notice of Allowance issued in Application No. 202180039197.8; 4 pages ; dated Jul. 1, 2025. [cited by applicant]
European Patent Office; Intention to Grant issued in Application No. 21802145.9, 44 pages, dated Nov. 17, 2025. [cited by applicant]