IP Library Granted Patent US 12,646,509
Granted Patent B2
US 12,646,509 · App. 18/752,481 · Granted Jun 2, 2026

Automatic synchronization for an offline virtual assistant

Inventor: Karl Stahl (Menlo Park, CA)
Assignee: SoundHound AI IP, LLC
G10L15/19G06F16/243G06F40/253G10L15/07G10L15/22G10L15/30G10L2015/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,646,509
App. No.
18/752,481
Granted
Jun 2, 2026
Kind
B2
Abstract

[Object] Technology is provided to enable a mobile terminal to function as a digital assistant even when the mobile terminal is in a state where it cannot communicate with a server apparatus. [Solution] When a user terminal 200 receives a query A from a user, user terminal 200 sends query A to a server 100 . Server 100 interprets the meaning of query A using a grammar A. Server 100 obtains a response to query A based on the meaning of query A and sends the response to user terminal 200 . Server 100 further sends grammar A to user terminal 200 . That is, server 100 sends to user terminal 200 a grammar used to interpret the query received from user terminal 200.

Claims (56)

1 . A computer-implemented method implemented in a server, comprising:

receiving input of a query from a client terminal;

performing natural language interpretation of the query using a grammar;

outputting a response to the query after performing the natural language interpretation;

sending the grammar to the client terminal; and

receiving an input of a delayed query, the delayed query being stored on the client terminal as a result of there not being a connection between the client terminal and the server, where delayed query is sent to the server after reestablishing a connection between the client terminal and the server.

2 . The method of claim 1 , further comprising:

determining, before sending the grammar to the client terminal, that the client does not store the grammar,

wherein sending the grammar to the client terminal is conditioned upon the client terminal not storing the grammar.

3 . The method of claim 1 , further comprising:

determining, before sending the grammar to the client terminal, that the client terminal is configured to perform a function using the grammar in an offline state in which the client terminal is not connected to the computer,

wherein sending the grammar to the client terminal is conditioned upon the client terminal being configured to perform the function using the grammar in the offline state.

4 . The method of claim 1 , wherein sending the grammar to the client terminal includes sending other grammars belonging to a domain to which the grammar belongs.

5 . The method of claim 1 , further comprising:

counting a number of times that the grammar is used in natural language interpretation of queries from the client terminal,

wherein sending the grammar to the client terminal is conditioned upon the counted number exceeding a threshold.

6 . The method of claim 5 , wherein the counting includes all times that grammars belonging to a domain to which the grammar belongs are used in natural language interpretation of the query.

7 . The method of claim 1 , further comprising:

predicting, based on the input query, a type of data needed to respond to a future query; and

sending data of that type to the client terminal.

8 . The method of claim 7 , wherein the sending the data of that type includes sending a time-to-live of the data of that type.

9 . The method of claim 1 , wherein the query input from the client terminal includes speech audio, the method further comprising:

training a speech recognition model personalized to a user of the client terminal by using utterances of the user; and

sending the trained speech recognition model to the client terminal.

10 . A computer-implemented method implemented in a server, comprising:

receiving input of a query from a client terminal;

performing natural language interpretation of the query using a grammar;

outputting a response to the query after performing the natural language interpretation; and

sending the grammar to the client terminal; and

receiving an input of a delayed query together with metadata associated with the delayed query, the delayed query being stored on the client terminal as a result of there not being a connection between the client terminal and the server, where delayed query is sent to the server after reestablishing a connection between the client terminal and the server, the metadata including information regarding when the query was initially generated in the client terminal.

11 . A computer-implemented method implemented in a server-based conversational system, comprising:

receiving, from a client terminal, a first query generated by a user;

sending, from the server to the client terminal, a grammar usable by the client terminal to perform natural language interpretation of user queries while offline;

after the client terminal enters an offline state in which a network connection to the server is unavailable, receiving at the client terminal a second query generated by the user;

attempting, at the client terminal, to perform natural language interpretation of the second query using the grammar while the client terminal remains offline;

upon determining that the natural language interpretation of the second query is unsuccessful, storing the second query in a failure data region of memory of the client terminal as a delayed query together with metadata including at least one of time information or positional information associated with generation of the second query;

after reestablishing the network connection between the client terminal and the server, transmitting the delayed query and the associated metadata from the client terminal to the server; and

receiving, at the server, the delayed query after reestablishing the network connection and performing natural language interpretation of the delayed query to generate a response.

12 . The method of claim 11 , further comprising:

determining, before sending the grammar to the client terminal, that the client does not store the grammar,

wherein sending the grammar to the client terminal is conditioned upon the client terminal not storing the grammar.

13 . The method of claim 11 , further comprising:

determining, before sending the grammar to the client terminal, that the client terminal is configured to perform a function using the grammar in an offline state in which the client terminal is not connected to the computer,

wherein sending the grammar to the client terminal is conditioned upon the client terminal being configured to perform the function using the grammar in the offline state.

14 . The method of claim 11 , wherein sending the grammar to the client terminal includes sending other grammars belonging to a domain to which the grammar belongs.

15 . The method of claim 11 , further comprising:

counting a number of times that the grammar is used in natural language interpretation of queries from the client terminal,

wherein sending the grammar to the client terminal is conditioned upon the counted number exceeding a threshold.

16 . The method of claim 15 , wherein the counting includes all times that grammars belonging to a domain to which the grammar belongs are used in natural language interpretation of the query.

17 . The method of claim 1 , further comprising:

predicting, based on the input query, a type of data needed to respond to a future query; and

sending data of that type to the client terminal.

18 . The method of claim 17 , wherein the sending the data of that type includes sending a time-to-live of the data of that type.

19 . The method of claim 11 , wherein the query input from the client terminal includes speech audio, the method further comprising:

training a speech recognition model personalized to a user of the client terminal by using utterances of the user; and

sending the trained speech recognition model to the client terminal.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2024
From: STAHL, KARL
To: SOUNDHOUND, INC.
Reel/Frame 067819/0181 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2024
From: SOUNDHOUND, INC.
To: SOUNDHOUND AI IP HOLDING, LLC
Reel/Frame 067824/0111 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2024
From: SOUNDHOUND AI IP HOLDING, LLC
To: SOUNDHOUND AI IP, LLC
Reel/Frame 067824/0149 →
Continuity (2)
Continuation 16659260 · Oct 21, 2019
Related Publication 20240347055A1 · Oct 17, 2024
References Cited (58)
US 6941310B2 · Ahad et al. · 2005 [cited by applicant]
US 7664991B1 · Gunda · 2010 [cited by examiner]
US 8451823B2 · Ben-David et al. · 2013 [cited by applicant]
US 9305554B2 · Jagatheesan · 2016 [cited by examiner]
US 10402491B2 · Hosabettu · 2019 [cited by examiner]
US 10929341B2 · Sirton · 2021 [cited by examiner]
US 11081108B2 · Zhang · 2021 [cited by examiner]
US 11170762B2 · Aggarwal · 2021 [cited by examiner]
US 11217241B2 · Kim et al. · 2022 [cited by applicant]
US 20020065656A1 · Reding et al. · 2002 [cited by applicant]
US 20070276651A1 · Bliss et al. · 2007 [cited by applicant]
US 20150379568A1 · Balasubramanian et al. · 2015 [cited by applicant]
US 20160065671A1 · Nallathambi et al. · 2016 [cited by applicant]
US 20170242914A1 · Gao et al. · 2017 [cited by applicant]
US 20180025722A1 · Czahor · 2018 [cited by applicant]
US 20180052824A1 · Ferrydiansyah et al. · 2018 [cited by applicant]
US 20180261216A1 · Leeb · 2018 [cited by applicant]
US 20190206388A1 · Aggarwal et al. · 2019 [cited by applicant]
US 20190222672A1 · Greenberg · 2019 [cited by examiner]
CN 103067793A · 2013 [cited by applicant]
CN 108242235 · 2018 [cited by applicant]
CN 110277089 · 2019 [cited by applicant]
JP 2002527919 · 2002 [cited by applicant]
JP 2009193440 · 2009 [cited by applicant]
JP 2011513795 · 2011 [cited by applicant]
JP 2012094156 · 2012 [cited by applicant]
JP 2018523143 · 2018 [cited by applicant]
JP 2019516150 · 2019 [cited by applicant]
KR 19980038185 · 1998 [cited by applicant]
KR 20160065671 · 2016 [cited by applicant]
WO 2009111721 · 2009 [cited by applicant]
WO 2019136285 · 2019 [cited by applicant]
Ian Mcgraw, et al., Personalized speech recognition on mobile devices. In 2016 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP) Mar. 20, 2016 (pp. 5955-5959). IEEE. [cited by applicant]
Sri Garimella, et al., Robust i-vector based adaptation of DNN acoustic model for speech recognition. In Sixteenth Annual Conference of the International Speech Communication Association 2015. [cited by applicant]
English language Abstract for CN103067793 published Apr. 24, 2013. [cited by applicant]
English language Abstract for JP2019516150 published Jun. 13, 2019. [cited by applicant]
English language Abstract for JP2002527919 published Aug. 27, 2002. [cited by applicant]
English language Abstract for JP2009193440 published Aug. 27, 2009. [cited by applicant]
English language Abstract for CN110277089 published Sep. 24, 2019. [cited by applicant]
English language Abstract for JP2012094156 published May 17, 2012. [cited by applicant]
English language Abstract for JP2011513795 published Apr. 28, 2011. [cited by applicant]
English language Abstract for CN108242235 published Jul. 3, 2018. [cited by applicant]
Extended European Search Report dated Mar. 18, 2021 in European Patent Application No. 20203044.1. [cited by applicant]
Tsurunaga, “Control of client-side caching”, Web+DB Press vol. 80 dated Apr. 24, 2014. [cited by applicant]
Hyun-Ki Kim et al., “Development status and advancement plan of Exobrain Korean language analysis and Q&A technology,” Journal of Information Science 35.8 (2017): 51-56 (released on Aug. 2017). [cited by applicant]
English language Abstract for KR19980038185 published Aug. 5, 1998. [cited by applicant]
English language Abstract for KR20160065671 published Jun. 9, 2016. [cited by applicant]
Restriction Requirement dated May 26, 2022 in U.S. Appl. No. 16/659,260. [cited by applicant]
Response to Restriction Requirement dated Jun. 30, 2022 in U.S. Appl. No. 16/659,260. [cited by applicant]
Office Action dated Oct. 20, 2022 in U.S. Appl. No. 16/659,260. [cited by applicant]
Response to Office Action dated Mar. 20, 2023 in U.S. Appl. No. 16/659,260. [cited by applicant]
Final Office Action dated Jul. 10, 2023 in U.S. Appl. No. 16/659,260. [cited by applicant]
Response to Final Office Action dated Nov. 10, 2023 in U.S. Appl. No. 16/659,260. [cited by applicant]
Advisory Action dated Dec. 7, 2023 in U.S. Appl. No. 16/659,260. [cited by applicant]
Response to Advisory Action dated Dec. 8, 2023 in U.S. Appl. No. 16/659,260. [cited by applicant]
Advisory Action dated Jan. 5, 2024 in U.S. Appl. No. 16/659,260. [cited by applicant]
Response to Advisory Action dated Jan. 9, 2024 in U.S. Appl. No. 16/659,260. [cited by applicant]
Notice of Allowance dated Feb. 16, 2024 in U.S. Appl. No. 16/659,260. [cited by applicant]