IP Library Granted Patent US 10,607,606
Granted Patent B2
US 10,607,606 · App. 15/626,831 · Granted Mar 31, 2020

Systems and methods for execution of digital assistant

Inventors: John Weldon Nicholson (Cary, NC); Daryl Cromer (Cary, NC); Mir Farooq Ali (Rolling Meadows, IL); David Alexander Schwarz (Morrisville, NC)
Assignee: Lenovo (Singapore) Pte. Ltd.
G10L15/22G06F3/167G10L15/30G10L15/32G10L2015/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 10,607,606
App. No.
15/626,831
Granted
Mar 31, 2020
Kind
B2
Abstract

In one aspect, a first device includes a processor and storage accessible to the at least one processor. The storage bears instructions executable by the processor to execute a digital assistant, receive input for the digital assistant to perform a task, determine the task indicated in the input, determine whether to use a second device for processing the input based on the determination of the task at the first device, and transmit at least a portion of the input to the second device. The instructions are also executable by the processor to, responsive to a determination to not use the second device for processing the input, execute the task at the first device and using the digital assistant without receiving a response from the second device. Responsive to a determination to use the second device for processing the input, the instructions are executable by the processor to wait at least a threshold amount of time for a response from the second device to the transmission of at least the portion of the input.

Claims (48)

1. A consumer electronics (CE) device, comprising:

at least one processor; and

storage accessible to the at least one processor and bearing instructions executable by the at least one processor to:

execute a digital assistant application communicating over a local area network (LAN);

receive input for the digital assistant application to perform a task;

determine, at the CE device and based on the input, the task indicated in the input;

transmit at least a portion of the input to a remotely-located server different from the CE device;

prior to executing the task, determine whether the CE device has at least a threshold level of confidence in correctly performing the task at the CE device without assistance from the remotely-located server;

while online and responsive to a determination that the CE device has at least the threshold level of confidence in correctly performing the task at the CE device without assistance from the remotely-located server, execute the task at the CE device and using the digital assistant application without receiving a response from the remotely-located server; and

responsive to a determination that the CE device has less than the threshold level of confidence in correctly performing the task at the CE device without assistance from the remotely-located server, wait at least a threshold amount of time for a response from the remotely-located server to receive from the server at least an execution of the task.

2. The CE device of claim 1 , wherein the instructions are executable by the at least one processor to:

while waiting for at least a portion of the threshold amount of time, provide audible output from the digital assistant application at the CE device.

3. The CE device of claim 2 , wherein the audible output indicates acknowledgement of the task.

4. The CE device of claim 3 , wherein the audible output indicates, subsequent to acknowledgement of the task, a name of a person.

5. The CE device of claim 1 , wherein the instructions are executable by the at least one processor to:

responsive to expiration of the threshold amount of time without receiving a response from the remotely-located server, execute the task at the CE device and using the digital assistant application without receiving a response from the remotely-located server.

6. The CE device of claim 5 , wherein the instructions are executable by the at least one processor to:

responsive to receiving, after the expiration of the threshold amount of time, a response from the remotely-located server that conflicts with a determination regarding the task made by the CE device, issue a correction to the task that was executed at the CE device without receiving the response from the remotely-located server.

7. The CE device of claim 6 , wherein the correction comprises audible output indicating the conflict.

8. The CE device of claim 1 , wherein the threshold amount of time varies based on whether the CE device determines to use the remotely-located server for processing the input.

9. The CE device of claim 1 , wherein the threshold amount of time varies based on a quality of signal for communication between the CE device and remotely-located server.

10. The CE device of claim 1 , wherein whether the CE device determines to use the remotely-located server for processing the input is based on a quality of signal for communication between the CE device and remotely-located server.

11. The CE device of claim 1 , wherein the remotely-located server is a web-based server.

12. The CE device of claim 1 , wherein the input comprises voice input.

13. The CE device of claim 1 , wherein the instructions are executable by the at least one processor to:

cache, at the CE device, data predicted to be requested from the digital assistant application.

14. The CE device of claim 13 , wherein the data is predicted to be requested based on a history of previous data requests.

15. The CE device of claim 13 , wherein the caching is at least attempted at predefined intervals.

16. The CE device of claim 13 , wherein the amount of caching performed by the CE device is dependent at least in part on whether cached data will be applied against a data download limit associated with the CE device.

17. A method, comprising:

executing a digital assistant application communicating over a network;

receiving input for the digital assistant application to perform a task;

determining, at a device and based on the input, the task indicated in the input;

transmitting at least a portion of the input to a remotely-located server different from the device;

prior to executing the task, determining whether the device has at least a threshold level of confidence in correctly performing the task at the device without assistance from the remotely-located server;

while online and responsive to determining that the device has at least the threshold level of confidence in correctly performing the task at the device without assistance from the remotely-located server, executing the task at the device and using the digital assistant application without receiving a response from the remotely-located server; and

responsive to determining that the device has less than the threshold level of confidence in correctly performing the task at the device without assistance from the remotely-located server, waiting at least a threshold amount of time for a response from the remotely-located server to receive from the server an execution of the task.

18. The method of claim 17 , comprising:

responsive to receiving, after the expiration of the threshold amount of time, a response from the remotely-located server that conflicts with a determination regarding the task made by the CE device, issuing a correction to the task that was executed at the CE device without receiving the response from the remotely-located server.

19. The method of claim 17 , wherein the threshold amount of time varies based on a quality of signal for communication between the CE device and remotely-located server.

20. At least one computer readable storage medium that is not a transitory signal, the computer readable storage medium comprising instructions executable by at least one processor to:

execute a digital assistant application communicating over a network;

receive input for the digital assistant application to perform a task;

determine, at a device and based on the input, the task indicated in the input;

transmit at least a portion of the input to a remotely-located server different from the device;

prior to executing the task, determine whether the device has at least a threshold level of confidence in correctly performing the task at the device without assistance from the remotely-located server;

while online and responsive to a determination that the device has at least the threshold level of confidence in correctly performing the task at the device without assistance from the remotely-located server, execute the task at the device and using the digital assistant application without receiving a response from the remotely-located server; and

responsive to a determination that the device has less than the threshold level of confidence in correctly performing the task at the device without assistance from the remotely-located server, wait at least a threshold amount of time for a response from the remotely-located server to receive from the server an execution of the task.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2025
From: LENOVO PC INTERNATIONAL LIMITED
To: LENOVO SWITZERLAND INTERNATIONAL GMBH
Reel/Frame 069870/0670 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 16, 2021
From: LENOVO (SINGAPORE) PTE LTD
To: LENOVO PC INTERNATIONAL LTD
Reel/Frame 055939/0434 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 19, 2017
From: NICHOLSON, JOHN WELDON; CROMER, DARYL; ALI, MIR FAROOQ; SCHWARZ, DAVID ALEXANDER
To: LENOVO (SINGAPORE) PTE. LTD.
Reel/Frame 042749/0573 →
Continuity (1)
Related Publication 20180366116A1 · Dec 20, 2018