IP Library Granted Patent US 12,204,932
Granted Patent B2
US 12,204,932 · App. 17/952,165 · Granted Jan 21, 2025

Distributed personal assistant

Inventor: Nicolas Zeitlin (Berkeley, CA)
Assignee: Apple Inc.
G06F9/4843G06F3/167G06F9/453G06F9/5027G06F16/90332G10L15/285G10L15/30H04M3/4936G06F2209/509G06N3/006G10L15/22G10L2015/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,204,932
App. No.
17/952,165
Filed
Sep 23, 2022
Granted
Jan 21, 2025
Kind
B2
Examiner
YEN, ERIC L
Art Unit
2658
USPC
704/275
Abstract

An exemplary method for using a virtual assistant may include, at an electronic device configured to transmit and receive data, receiving a user request for a service from a virtual assistant; determining at least one task to perform in response to the user request; estimating at least one performance characteristic for completion of the at least one task with the electronic device, based on at least one heuristic; based on the estimating, determining whether to execute the at least one task at the electronic device; in accordance with a determination to execute the at least one task at the electronic device, causing the execution of the at least one task at the electronic device; in accordance with a determination to execute the at least one task outside the electronic device: generating executable code for carrying out the least one task; and transmitting the executable code from the electronic device.

Claims (129)

1. A method of using a virtual assistant distributed between a server and an electronic device, comprising:

receiving a user request for a service from a virtual assistant;

determining at least one task to perform in response to the user request;

estimating, at the server, at least one performance characteristic for completion of the at least one task with the server, based on at least an estimated network speed between the electronic device and the server;

based on the estimating, determining whether to execute the at least one task at the server;

in accordance with a determination to execute the at least one task at the server, causing execution of the at least one task at the server;

in accordance with a determination to execute the at least one task outside the server:

generating executable code for carrying out the at least one task; and

transmitting the executable code from the server.

2. The method of claim 1 , wherein the at least one performance characteristic is also based on network latency between the electronic device and the server.

3. The method of claim 1 , wherein the at least one performance characteristic is also based on privacy settings associated with the at least one task.

4. The method of claim 1 , wherein the at least one performance characteristic is also based on data transmission restrictions associated with the at least one task.

5. The method of claim 1 , wherein the at least one performance characteristic is also based on traffic volume at the server.

6. The method of claim 1 , wherein the at least one performance characteristic is also based on characteristics of a data connection at the server.

7. The method of claim 1 , further comprising:

in response to the transmitting, receiving, at the server, information associated with execution of the executable code.

8. The method of claim 1 , further comprising, after the causing the execution, transmitting results of the causing the execution from the server.

9. The method of claim 1 , wherein the estimating and the determining whether to execute the at least one task at the server are repeated for at least two discrete tasks.

10. The method of claim 1 , wherein the causing the execution of the at least one task at the server further comprises:

storing second executable code on the server;

wherein the causing the execution includes executing the stored second executable code on the server.

11. The method of claim 1 , wherein the virtual assistant transmitting the user request for a service is distributed between the electronic device and the server, and wherein transmitting the executable code comprises transmitting the executable code to the electronic device.

12. A non-transitory computer-readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by one or more processors of an electronic device with a display, cause the device to:

receive a user request for a service from a virtual assistant;

determine at least one task to perform in response to the user request;

estimate, at a server, at least one performance characteristic for completion of the at least one task with the server, based on at least an estimated network speed between the electronic device and the server;

based on the estimating, determine whether to execute the at least one task at the server;

in accordance with a determination to execute the at least one task at the server, cause execution of the at least one task at the server;

in accordance with a determination to execute the at least one task outside the server:

generate executable code for carrying out the at least one task; and

transmit the executable code from the server.

13. The non-transitory computer-readable storage medium of claim 12 , wherein the at least one performance characteristic is also based on network latency between the electronic device and the server.

14. The non-transitory computer-readable storage medium of claim 12 , wherein the at least one performance characteristic is also based on privacy settings associated with the at least one task.

15. The non-transitory computer-readable storage medium of claim 12 , wherein the at least one performance characteristic is also based on data transmission restrictions associated with the at least one task.

16. The non-transitory computer-readable storage medium of claim 12 , wherein the at least one performance characteristic is also based on traffic volume at the server.

17. The non-transitory computer-readable storage medium of claim 12 , wherein the at least one performance characteristic is also based on characteristics of a data connection at the server.

18. The non-transitory computer-readable storage medium of claim 12 , the one or more programs further including instructions for:

in response to the transmitting, receiving, at the server, information associated with execution of the executable code.

19. The non-transitory computer-readable storage medium of claim 12 , the one or more programs further including instructions for, after the causing the execution, transmitting results of the causing the execution from the server.

20. The non-transitory computer-readable storage medium of claim 12 , wherein the estimating and the determining whether to execute the at least one task at the server are repeated for at least two discrete tasks.

21. The non-transitory computer-readable storage medium of claim 12 , wherein the causing the execution of the at least one task at the server further comprises:

storing second executable code on the server;

wherein the causing the execution includes executing the stored second executable code on the server.

22. The non-transitory computer-readable storage medium of claim 12 , wherein the virtual assistant transmitting the user request for a service is distributed between the electronic device and the server, and wherein transmitting the executable code comprises transmitting the executable code to the electronic device.

23. An electronic device, comprising:

one or more processors;

a memory; and

one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for:

receiving a user request for a service from a virtual assistant;

determining at least one task to perform in response to the user request;

estimating, at a server, at least one performance characteristic for completion of the at least one task with the server, based on at least an estimated network speed between the electronic device and the server;

based on the estimating, determining whether to execute the at least one task at the server;

in accordance with a determination to execute the at least one task at the server, causing execution of the at least one task at the server;

in accordance with a determination to execute the at least one task outside the server:

generating executable code for carrying out the at least one task; and

transmitting the executable code from the server.

24. The electronic device of claim 23 , wherein the at least one performance characteristic is also based on network latency between the electronic device and the server.

25. The electronic device of claim 23 , wherein the at least one performance characteristic is also based on privacy settings associated with the at least one task.

26. The electronic device of claim 23 , wherein the at least one performance characteristic is also based on data transmission restrictions associated with the at least one task.

27. The electronic device of claim 23 , wherein the at least one performance characteristic is also based on traffic volume at the server.

28. The electronic device of claim 23 , wherein the at least one performance characteristic is also based on characteristics of a data connection at the server.

29. The electronic device of claim 23 , further comprising:

in response to the transmitting, receiving, at the server, information associated with execution of the executable code.

30. The electronic device of claim 23 , further comprising, after the causing the execution, transmitting results of the causing the execution from the server.

31. The electronic device of claim 23 , wherein the estimating and the determining whether to execute the at least one task at the server are repeated for at least two discrete tasks.

32. The electronic device of claim 23 , wherein the causing the execution of the at least one task at the server further comprises:

storing second executable code on the server;

wherein the causing the execution includes executing the stored second executable code on the server.

33. The electronic device of claim 23 , wherein the virtual assistant transmitting the user request for a service is distributed between the electronic device and the server, and wherein transmitting the executable code comprises transmitting the executable code to the electronic device.

34. A method of using a virtual assistant distributed between a server and an electronic device, comprising:

receiving a user request for a service from a virtual assistant;

determining at least one task to perform in response to the user request;

estimating, at the server, at least one performance characteristic for completion of the at least one task with the server, based on at least a battery level of the electronic device;

based on the estimating, determining whether to execute the at least one task at the server;

in accordance with a determination to execute the at least one task at the server, causing execution of the at least one task at the server;

in accordance with a determination to execute the at least one task outside the server:

generating executable code for carrying out the at least one task; and

transmitting the executable code from the server.

35. The method of claim 34 , in accordance with a determination that the battery level is below a predetermined threshold, abbreviating the executable code for carrying out the at least one task.

36. The method of claim 34 , wherein transmitting the executable code comprises transmitting the executable code to a second electronic device;

further comprising fulfilling the user request at the second electronic device.

37. The method of claim 34 , wherein the at least one performance characteristic is also based on network latency between the electronic device and the server.

38. The method of claim 34 , wherein the at least one performance characteristic is also based on privacy settings associated with the at least one task.

39. The method of claim 34 , wherein the at least one performance characteristic is also based on data transmission restrictions associated with the at least one task.

40. The method of claim 34 , wherein the at least one performance characteristic is also based on traffic volume at the server.

41. The method of claim 34 , wherein the causing the execution of the at least one task at the server further comprises:

storing second executable code on the server;

wherein the causing the execution includes executing the stored second executable code on the server.

42. A non-transitory computer-readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by one or more processors of an electronic device with a display, cause the device to:

receive a user request for a service from a virtual assistant;

determine at least one task to perform in response to the user request;

estimate, at a server, at least one performance characteristic for completion of the at least one task with the server, based on at least a battery level of the electronic device;

based on the estimating, determine whether to execute the at least one task at the server;

in accordance with a determination to execute the at least one task at the server, cause execution of the at least one task at the server;

in accordance with a determination to execute the at least one task outside the server:

generate executable code for carrying out the at least one task; and

transmit the executable code from the server.

43. The non-transitory computer-readable storage medium of claim 42 , in accordance with a determination that the battery level is below a predetermined threshold, abbreviating the executable code for carrying out the at least one task.

44. The non-transitory computer-readable storage medium of claim 42 , wherein transmitting the executable code comprises transmitting the executable code to a second electronic device;

the one or more programs further including instructions for fulfilling the user request at the second electronic device.

45. The non-transitory computer-readable storage medium of claim 42 , wherein the at least one performance characteristic is also based on network latency between the electronic device and the server.

46. The non-transitory computer-readable storage medium of claim 42 , wherein the at least one performance characteristic is also based on privacy settings associated with the at least one task.

47. The non-transitory computer-readable storage medium of claim 42 , wherein the at least one performance characteristic is also based on data transmission restrictions associated with the at least one task.

48. The non-transitory computer-readable storage medium of claim 42 , wherein the at least one performance characteristic is also based on traffic volume at the server.

49. The non-transitory computer-readable storage medium of claim 42 , wherein the causing the execution of the at least one task at the server further comprises:

storing second executable code on the server;

wherein the causing the execution includes executing the stored second executable code on the server.

50. An electronic device, comprising:

one or more processors;

a memory; and

one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for:

receiving a user request for a service from a virtual assistant;

determining at least one task to perform in response to the user request;

estimating, at a server, at least one performance characteristic for completion of the at least one task with the server, based on at least a battery level of the electronic device;

based on the estimating, determining whether to execute the at least one task at the server;

in accordance with a determination to execute the at least one task at the server, causing execution of the at least one task at the server;

in accordance with a determination to execute the at least one task outside the server:

generating executable code for carrying out the at least one task; and

transmitting the executable code from the server.

51. The electronic device of claim 50 , in accordance with a determination that the battery level is below a predetermined threshold, abbreviating the executable code for carrying out the at least one task.

52. The electronic device of claim 50 , wherein transmitting the executable code comprises transmitting the executable code to a second electronic device;

further comprising fulfilling the user request at the second electronic device.

53. The electronic device of claim 50 , wherein the at least one performance characteristic is also based on network latency between the electronic device and the server.

54. The electronic device of claim 50 , wherein the at least one performance characteristic is also based on privacy settings associated with the at least one task.

55. The electronic device of claim 50 , wherein the at least one performance characteristic is also based on data transmission restrictions associated with the at least one task.

56. The electronic device of claim 50 , wherein the at least one performance characteristic is also based on traffic volume at the server.

57. The electronic device of claim 50 , wherein the causing the execution of the at least one task at the server further comprises:

storing second executable code on the server;

wherein the causing the execution includes executing the stored second executable code on the server.

Continuity (4)
Continuation 16856390 · Apr 23, 2020
Continuation 15166090 · May 26, 2016
Provisional Application 62215647 · Sep 8, 2015
Related Publication 20230018457A1 · Jan 19, 2023
References Cited (400)
US 6119087A · Kuhn et al. · 2000 [cited by applicant]
US 6170051B1 · Dowling · 2001 [cited by applicant]
US 6240454B1 · Nepustil · 2001 [cited by applicant]
US 7788663B2 · Illowsky et al. · 2010 [cited by applicant]
US 8090571B2 · Elshishiny et al. · 2012 [cited by applicant]
US 8095364B2 · Longe et al. · 2012 [cited by applicant]
US 8099289B2 · Mozer et al. · 2012 [cited by applicant]
US 8099395B2 · Pabla et al. · 2012 [cited by applicant]
US 8099418B2 · Inoue et al. · 2012 [cited by applicant]
US 8103510B2 · Sato · 2012 [cited by applicant]
US 8103947B2 · Lunt et al. · 2012 [cited by applicant]
US 8107401B2 · John et al. · 2012 [cited by applicant]
US 8112275B2 · Kennewick et al. · 2012 [cited by applicant]
US 8112280B2 · Lu · 2012 [cited by applicant]
US 8115772B2 · Ostermann et al. · 2012 [cited by applicant]
US 8117026B2 · Lee et al. · 2012 [cited by applicant]
US 8117037B2 · Gazdzinski · 2012 [cited by applicant]
US 8117542B2 · Radtke et al. · 2012 [cited by applicant]
US 8121413B2 · Hwang et al. · 2012 [cited by applicant]
US 8121837B2 · Agapi et al. · 2012 [cited by applicant]
US 8122094B1 · Kotab · 2012 [cited by applicant]
US 8122353B2 · Bouta · 2012 [cited by applicant]
US 8130929B2 · Wilkes et al. · 2012 [cited by applicant]
US 8131556B2 · Barton et al. · 2012 [cited by applicant]
US 8131557B2 · Davis et al. · 2012 [cited by applicant]
US 8135115B1 · Hogg, Jr. et al. · 2012 [cited by applicant]
US 8138912B2 · Singh et al. · 2012 [cited by applicant]
US 8140330B2 · Cevik et al. · 2012 [cited by applicant]
US 8140335B2 · Kennewick et al. · 2012 [cited by applicant]
US 8140368B2 · Eggenberger et al. · 2012 [cited by applicant]
US 8140567B2 · Padovitz et al. · 2012 [cited by applicant]
US 8145489B2 · Freeman et al. · 2012 [cited by applicant]
US 8150694B2 · Kennewick et al. · 2012 [cited by applicant]
US 8150700B2 · Shin et al. · 2012 [cited by applicant]
US 8155956B2 · Cho et al. · 2012 [cited by applicant]
US 8156005B2 · Vieri · 2012 [cited by applicant]
US 8156060B2 · Borzestowski et al. · 2012 [cited by applicant]
US 8160877B1 · Nucci et al. · 2012 [cited by applicant]
US 8160883B2 · Lecoeuche · 2012 [cited by applicant]
US 8165321B2 · Paquier et al. · 2012 [cited by applicant]
US 8165886B1 · Gagnon et al. · 2012 [cited by applicant]
US 8166019B1 · Lee et al. · 2012 [cited by applicant]
US 8166032B2 · Sommer et al. · 2012 [cited by applicant]
US 8170790B2 · Lee et al. · 2012 [cited by applicant]
US 8170966B1 · Musat et al. · 2012 [cited by applicant]
US 8171137B1 · Parks et al. · 2012 [cited by applicant]
US 8175872B2 · Kristjansson et al. · 2012 [cited by applicant]
US 8175876B2 · Bou-ghazale et al. · 2012 [cited by applicant]
US 8179370B1 · Yamasani et al. · 2012 [cited by applicant]
US 8188856B2 · Singh et al. · 2012 [cited by applicant]
US 8190359B2 · Bourne · 2012 [cited by applicant]
US 8190596B2 · Nambiar et al. · 2012 [cited by applicant]
US 8194827B2 · Jaiswal et al. · 2012 [cited by applicant]
US 8195460B2 · Degani et al. · 2012 [cited by applicant]
US 8195467B2 · Mozer et al. · 2012 [cited by applicant]
US 8195468B2 · Weider et al. · 2012 [cited by applicant]
US 8200489B1 · Baggenstoss · 2012 [cited by applicant]
US 8200495B2 · Braho et al. · 2012 [cited by applicant]
US 8201109B2 · Van Os et al. · 2012 [cited by applicant]
US 8204238B2 · Mozer · 2012 [cited by applicant]
US 8204751B1 · Di et al. · 2012 [cited by applicant]
US 8205788B1 · Gazdzinski et al. · 2012 [cited by applicant]
US 8209177B2 · Sakuma et al. · 2012 [cited by applicant]
US 8209183B1 · Patel et al. · 2012 [cited by applicant]
US 8213911B2 · Williams et al. · 2012 [cited by applicant]
US 8219115B1 · Nelissen · 2012 [cited by applicant]
US 8219406B2 · Yu et al. · 2012 [cited by applicant]
US 8219407B1 · Roy et al. · 2012 [cited by applicant]
US 8219555B1 · Mianji · 2012 [cited by applicant]
US 8219608B2 · alSafadi et al. · 2012 [cited by applicant]
US 8224649B2 · Chaudhari et al. · 2012 [cited by applicant]
US 8224757B2 · Bohle · 2012 [cited by applicant]
US 8228299B1 · Maloney et al. · 2012 [cited by applicant]
US 8233919B2 · Haag et al. · 2012 [cited by applicant]
US 8234111B2 · Lloyd et al. · 2012 [cited by applicant]
US 8239206B1 · LeBeau et al. · 2012 [cited by applicant]
US 8239207B2 · Seligman et al. · 2012 [cited by applicant]
US 8244545B2 · Paek et al. · 2012 [cited by applicant]
US 8244712B2 · Serlet et al. · 2012 [cited by applicant]
US 8250071B1 · Killalea et al. · 2012 [cited by applicant]
US 8254829B1 · Kindred et al. · 2012 [cited by applicant]
US 8255216B2 · White · 2012 [cited by applicant]
US 8255217B2 · Stent et al. · 2012 [cited by applicant]
US 8260117B1 · Xu et al. · 2012 [cited by applicant]
US 8260247B2 · Lazaridis et al. · 2012 [cited by applicant]
US 8260617B2 · Dhanakshirur et al. · 2012 [cited by applicant]
US 8260619B1 · Bansal et al. · 2012 [cited by applicant]
US 8270933B2 · Riemer et al. · 2012 [cited by applicant]
US 8271287B1 · Kermani · 2012 [cited by applicant]
US 8275621B2 · Alewine et al. · 2012 [cited by applicant]
US 8275736B2 · Guo et al. · 2012 [cited by applicant]
US 8279171B2 · Hirai et al. · 2012 [cited by applicant]
US 8280438B2 · Barbera · 2012 [cited by applicant]
US 8285546B2 · Reich · 2012 [cited by applicant]
US 8285551B2 · Gazdzinski · 2012 [cited by applicant]
US 8285553B2 · Gazdzinski · 2012 [cited by applicant]
US 8285737B1 · Lynn et al. · 2012 [cited by applicant]
US 8290274B2 · Mori et al. · 2012 [cited by applicant]
US 8290777B1 · Nguyen et al. · 2012 [cited by applicant]
US 8290778B2 · Gazdzinski · 2012 [cited by applicant]
US 8290781B2 · Gazdzinski · 2012 [cited by applicant]
US 8296124B1 · Holsztynska et al. · 2012 [cited by applicant]
US 8296145B2 · Clark et al. · 2012 [cited by applicant]
US 8296146B2 · Gazdzinski · 2012 [cited by applicant]
US 8296153B2 · Gazdzinski · 2012 [cited by applicant]
US 8296380B1 · Kelly et al. · 2012 [cited by applicant]
US 8296383B2 · Lindahl · 2012 [cited by applicant]
US 8300776B2 · Davies et al. · 2012 [cited by applicant]
US 8300801B2 · Sweeney et al. · 2012 [cited by applicant]
US 8301456B2 · Gazdzinski · 2012 [cited by applicant]
US 8311189B2 · Champlin et al. · 2012 [cited by applicant]
US 8311834B1 · Gazdzinski · 2012 [cited by applicant]
US 8311835B2 · Lecoeuche · 2012 [cited by applicant]
US 8311838B2 · Lindahl et al. · 2012 [cited by applicant]
US 8312017B2 · Martin et al. · 2012 [cited by applicant]
US 8321786B2 · Lunati · 2012 [cited by applicant]
US 8326627B2 · Kennewick et al. · 2012 [cited by applicant]
US 8332205B2 · Krishnan et al. · 2012 [cited by applicant]
US 8332218B2 · Cross, Jr. et al. · 2012 [cited by applicant]
US 8332224B2 · Di Cristo et al. · 2012 [cited by applicant]
US 8332748B1 · Karam · 2012 [cited by applicant]
US 8335689B2 · Wittenstein et al. · 2012 [cited by applicant]
US 8340975B1 · Rosenberger · 2012 [cited by applicant]
US 8345665B2 · Vieri et al. · 2013 [cited by applicant]
US 8346563B1 · Hjelm et al. · 2013 [cited by applicant]
US 8346757B1 · Lamping et al. · 2013 [cited by applicant]
US 8352183B2 · Thota et al. · 2013 [cited by applicant]
US 8352268B2 · Naik et al. · 2013 [cited by applicant]
US 8352272B2 · Rogers et al. · 2013 [cited by applicant]
US 8355919B2 · Silverman et al. · 2013 [cited by applicant]
US 8359234B2 · Vieri · 2013 [cited by applicant]
US 8370145B2 · Endo et al. · 2013 [cited by applicant]
US 8370158B2 · Gazdzinski · 2013 [cited by applicant]
US 8371503B2 · Gazdzinski · 2013 [cited by applicant]
US 8374871B2 · Ehsani et al. · 2013 [cited by applicant]
US 8375320B2 · Kotler et al. · 2013 [cited by applicant]
US 8380504B1 · Peden et al. · 2013 [cited by applicant]
US 8380507B2 · Herman et al. · 2013 [cited by applicant]
US 8381107B2 · Rottler et al. · 2013 [cited by applicant]
US 8381135B2 · Hotelling et al. · 2013 [cited by applicant]
US 8386485B2 · Kerschberg et al. · 2013 [cited by applicant]
US 8386926B1 · Matsuoka et al. · 2013 [cited by applicant]
US 8391844B2 · Novick et al. · 2013 [cited by applicant]
US 8392717B2 · Chai et al. · 2013 [cited by applicant]
US 8396295B2 · Gao et al. · 2013 [cited by applicant]
US 8396714B2 · Rogers et al. · 2013 [cited by applicant]
US 8396715B2 · Odell et al. · 2013 [cited by applicant]
US 8401163B1 · Kirchhoff et al. · 2013 [cited by applicant]
US 8406745B1 · Upadhyay et al. · 2013 [cited by applicant]
US 8407239B2 · Dean et al. · 2013 [cited by applicant]
US 8423288B2 · Stahl et al. · 2013 [cited by applicant]
US 8428758B2 · Naik et al. · 2013 [cited by applicant]
US 8433572B2 · Caskey et al. · 2013 [cited by applicant]
US 8433778B1 · Shreesha et al. · 2013 [cited by applicant]
US 8434133B2 · Kulkarni et al. · 2013 [cited by applicant]
US 8442821B1 · Vanhoucke · 2013 [cited by applicant]
US 8447612B2 · Gazdzinski · 2013 [cited by applicant]
US 8452597B2 · Bringert et al. · 2013 [cited by applicant]
US 8452602B1 · Bringert et al. · 2013 [cited by applicant]
US 8453058B1 · Coccaro et al. · 2013 [cited by applicant]
US 8457959B2 · Kaiser · 2013 [cited by applicant]
US 8458115B2 · Cai et al. · 2013 [cited by applicant]
US 8458278B2 · Christie et al. · 2013 [cited by applicant]
US 8463592B2 · Lu et al. · 2013 [cited by applicant]
US 8464150B2 · Davidson et al. · 2013 [cited by applicant]
US 8473289B2 · Jitkoff et al. · 2013 [cited by applicant]
US 8473485B2 · Wong et al. · 2013 [cited by applicant]
US 8477323B2 · Low et al. · 2013 [cited by applicant]
US 8478816B2 · Parks et al. · 2013 [cited by applicant]
US 8479122B2 · Hotelling et al. · 2013 [cited by applicant]
US 8484027B1 · Murphy · 2013 [cited by applicant]
US 8489599B2 · Bellotti · 2013 [cited by applicant]
US 8498670B2 · Cha et al. · 2013 [cited by applicant]
US 8498857B2 · Kopparapu et al. · 2013 [cited by applicant]
US 8514197B2 · Shahraray et al. · 2013 [cited by applicant]
US 8515736B1 · Duta · 2013 [cited by applicant]
US 8515750B1 · Lei et al. · 2013 [cited by applicant]
US 8521513B2 · Millett et al. · 2013 [cited by applicant]
US 8521526B1 · Lloyd et al. · 2013 [cited by applicant]
US 8521531B1 · Kim · 2013 [cited by applicant]
US 8521533B1 · Ostermann et al. · 2013 [cited by applicant]
US 8527276B1 · Senior et al. · 2013 [cited by applicant]
US 8533266B2 · Koulomzin et al. · 2013 [cited by applicant]
US 8537033B2 · Gueziec · 2013 [cited by applicant]
US 8539342B1 · Lewis · 2013 [cited by applicant]
US 8543375B2 · Hong · 2013 [cited by applicant]
US 8543397B1 · Nguyen · 2013 [cited by applicant]
US 8543398B1 · Strope et al. · 2013 [cited by applicant]
US 8560229B1 · Park et al. · 2013 [cited by applicant]
US 8560366B2 · Mikurak · 2013 [cited by applicant]
US 8571528B1 · Channakeshava · 2013 [cited by applicant]
US 8571851B1 · Tickner et al. · 2013 [cited by applicant]
US 8577683B2 · Dewitt · 2013 [cited by applicant]
US 8583416B2 · Huang et al. · 2013 [cited by applicant]
US 8583511B2 · Hendrickson · 2013 [cited by applicant]
US 8583638B2 · Donelli · 2013 [cited by applicant]
US 8589156B2 · Burke et al. · 2013 [cited by applicant]
US 8589161B2 · Kennewick et al. · 2013 [cited by applicant]
US 8589374B2 · Chaudhari · 2013 [cited by applicant]
US 8589869B2 · Wolfram · 2013 [cited by applicant]
US 8589911B1 · Sharkey et al. · 2013 [cited by applicant]
US 8595004B2 · Koshinaka · 2013 [cited by applicant]
US 8595642B1 · Lagassey · 2013 [cited by applicant]
US 8600743B2 · Lindahl et al. · 2013 [cited by applicant]
US 8600746B1 · Lei et al. · 2013 [cited by applicant]
US 8600930B2 · Sata et al. · 2013 [cited by applicant]
US 8606090B2 · Eyer · 2013 [cited by applicant]
US 8606568B1 · Tickner et al. · 2013 [cited by applicant]
US 8606576B1 · Barr et al. · 2013 [cited by applicant]
US 8606577B1 · Stewart et al. · 2013 [cited by applicant]
US 8615221B1 · Cosenza et al. · 2013 [cited by applicant]
US 8620659B2 · Di Cristo et al. · 2013 [cited by applicant]
US 8620662B2 · Bellegarda · 2013 [cited by applicant]
US 8626681B1 · Jurca et al. · 2014 [cited by applicant]
US 8630841B2 · Van Caldwell et al. · 2014 [cited by applicant]
US 8635073B2 · Chang · 2014 [cited by applicant]
US 8638363B2 · King et al. · 2014 [cited by applicant]
US 8639516B2 · Lindahl et al. · 2014 [cited by applicant]
US 8645128B1 · Agiomyrgiannakis · 2014 [cited by applicant]
US 8645137B2 · Bellegarda et al. · 2014 [cited by applicant]
US 8645138B1 · Weinstein et al. · 2014 [cited by applicant]
US 8654936B1 · Eslambolchi et al. · 2014 [cited by applicant]
US 8655646B2 · Lee et al. · 2014 [cited by applicant]
US 8655901B1 · Li et al. · 2014 [cited by applicant]
US 8660843B2 · Falcon et al. · 2014 [cited by applicant]
US 8660849B2 · Gruber et al. · 2014 [cited by applicant]
US 8660924B2 · Hoch et al. · 2014 [cited by applicant]
US 8660970B1 · Fiedorowicz · 2014 [cited by applicant]
US 8661112B2 · Creamer et al. · 2014 [cited by applicant]
US 8661340B2 · Goldsmith et al. · 2014 [cited by applicant]
US 8670979B2 · Gruber et al. · 2014 [cited by applicant]
US 8675084B2 · Bolton et al. · 2014 [cited by applicant]
US 8676273B1 · Fujisaki · 2014 [cited by applicant]
US 8676583B2 · Gupta et al. · 2014 [cited by applicant]
US 8676904B2 · Lindahl · 2014 [cited by applicant]
US 8677377B2 · Cheyer et al. · 2014 [cited by applicant]
US 8681950B2 · Mack et al. · 2014 [cited by applicant]
US 8682667B2 · Haughay · 2014 [cited by applicant]
US 8687777B1 · Lavian et al. · 2014 [cited by applicant]
US 8688446B2 · Yanagihara · 2014 [cited by applicant]
US 8688453B1 · Joshi et al. · 2014 [cited by applicant]
US 8689135B2 · Portele et al. · 2014 [cited by applicant]
US 8694322B2 · Snitkovskiy et al. · 2014 [cited by applicant]
US 8695074B2 · Saraf et al. · 2014 [cited by applicant]
US 8696364B2 · Cohen · 2014 [cited by applicant]
US 8706472B2 · Ramerth et al. · 2014 [cited by applicant]
US 8706474B2 · Blume et al. · 2014 [cited by applicant]
US 8706503B2 · Cheyer et al. · 2014 [cited by applicant]
US 8707195B2 · Fleizach et al. · 2014 [cited by applicant]
US 8712778B1 · Thenthiruperai · 2014 [cited by applicant]
US 8713119B2 · Lindahl et al. · 2014 [cited by applicant]
US 8713418B2 · King et al. · 2014 [cited by applicant]
US 8719006B2 · Bellegarda · 2014 [cited by applicant]
US 8719014B2 · Wagner · 2014 [cited by applicant]
US 8719039B1 · Sharifi · 2014 [cited by applicant]
US 8731610B2 · Appaji · 2014 [cited by applicant]
US 8731912B1 · Tickner et al. · 2014 [cited by applicant]
US 8731942B2 · Cheyer et al. · 2014 [cited by applicant]
US 8739208B2 · Davis et al. · 2014 [cited by applicant]
US 8744852B1 · Seymour et al. · 2014 [cited by applicant]
US 8751971B2 · Fleizach et al. · 2014 [cited by applicant]
US 8760537B2 · Johnson et al. · 2014 [cited by applicant]
US 8762145B2 · Ouchi et al. · 2014 [cited by applicant]
US 8762156B2 · Chen · 2014 [cited by applicant]
US 8762469B2 · Lindahl · 2014 [cited by applicant]
US 8768693B2 · Somekh et al. · 2014 [cited by applicant]
US 8768702B2 · Mason et al. · 2014 [cited by applicant]
US 8775154B2 · Clinchant et al. · 2014 [cited by applicant]
US 8775177B1 · Heigold et al. · 2014 [cited by applicant]
US 8775341B1 · Commons · 2014 [cited by applicant]
US 8775931B2 · Fux et al. · 2014 [cited by applicant]
US 8781456B2 · Prociw · 2014 [cited by applicant]
US 8781841B1 · Wang · 2014 [cited by applicant]
US 8793301B2 · Wegenkittl et al. · 2014 [cited by applicant]
US 8798255B2 · Lubowich et al. · 2014 [cited by applicant]
US 8798995B1 · Edara · 2014 [cited by applicant]
US 8799000B2 · Guzzoni et al. · 2014 [cited by applicant]
US 8805684B1 · Aleksic et al. · 2014 [cited by applicant]
US 8805690B1 · Lebeau et al. · 2014 [cited by applicant]
US 8812299B1 · Su · 2014 [cited by applicant]
US 8812302B2 · Xiao et al. · 2014 [cited by applicant]
US 8812321B2 · Gilbert et al. · 2014 [cited by applicant]
US 8823507B1 · Touloumtzis · 2014 [cited by applicant]
US 8823793B2 · Clayton et al. · 2014 [cited by applicant]
US 8825474B1 · Zhai et al. · 2014 [cited by applicant]
US 8831947B2 · Wasserblat et al. · 2014 [cited by applicant]
US 8831949B1 · Smith et al. · 2014 [cited by applicant]
US 8838457B2 · Cerra et al. · 2014 [cited by applicant]
US 8855915B2 · Furuhata et al. · 2014 [cited by applicant]
US 8861925B1 · Ohme · 2014 [cited by applicant]
US 8862252B2 · Rottler et al. · 2014 [cited by applicant]
US 8868111B1 · Kahn et al. · 2014 [cited by applicant]
US 8868409B1 · Mengibar et al. · 2014 [cited by applicant]
US 8868431B2 · Yamazaki et al. · 2014 [cited by applicant]
US 8868469B2 · Xu et al. · 2014 [cited by applicant]
US 8868529B2 · Lerenc · 2014 [cited by applicant]
US 8880405B2 · Cerra et al. · 2014 [cited by applicant]
US 8886534B2 · Nakano et al. · 2014 [cited by applicant]
US 8886540B2 · Cerra et al. · 2014 [cited by applicant]
US 8886541B2 · Friedlander · 2014 [cited by applicant]
US 8892446B2 · Cheyer et al. · 2014 [cited by applicant]
US 8893023B2 · Perry et al. · 2014 [cited by applicant]
US 8897822B2 · Martin · 2014 [cited by applicant]
US 8898064B1 · Thomas et al. · 2014 [cited by applicant]
US 8898568B2 · Bull et al. · 2014 [cited by applicant]
US 8903716B2 · Chen et al. · 2014 [cited by applicant]
US 8909693B2 · Frissora et al. · 2014 [cited by applicant]
US 8918321B2 · Czahor · 2014 [cited by applicant]
US 8922485B1 · Lloyd · 2014 [cited by applicant]
US 8930176B2 · Li et al. · 2015 [cited by applicant]
US 8930191B2 · Gruber et al. · 2015 [cited by applicant]
US 8938394B1 · Faaborg et al. · 2015 [cited by applicant]
US 8938450B2 · Spivack et al. · 2015 [cited by applicant]
US 8938688B2 · Bradford et al. · 2015 [cited by applicant]
US 8942986B2 · Cheyer et al. · 2015 [cited by applicant]
US 8943423B2 · Merrill et al. · 2015 [cited by applicant]
US 8958854B1 · Morley · 2015 [cited by examiner]
US 8964947B1 · Noolu et al. · 2015 [cited by applicant]
US 8965770B2 · Petrushin · 2015 [cited by applicant]
US 8972240B2 · Brockett et al. · 2015 [cited by applicant]
US 8972432B2 · Shaw et al. · 2015 [cited by applicant]
US 8972878B2 · Mohler et al. · 2015 [cited by applicant]
US 8976063B1 · Hawkins et al. · 2015 [cited by applicant]
US 8976108B2 · Hawkins et al. · 2015 [cited by applicant]
US 8977255B2 · Freeman et al. · 2015 [cited by applicant]
US 8983383B1 · Haskin · 2015 [cited by applicant]
US 8984098B1 · Tomkins et al. · 2015 [cited by applicant]
US 8989713B2 · Doulton · 2015 [cited by applicant]
US 8990235B2 · King et al. · 2015 [cited by applicant]
US 8994660B2 · Neels et al. · 2015 [cited by applicant]
US 8995972B1 · Cronin · 2015 [cited by applicant]
US 8996350B1 · Dub et al. · 2015 [cited by applicant]
US 8996376B2 · Fleizach et al. · 2015 [cited by applicant]
US 8996381B2 · Mozer et al. · 2015 [cited by applicant]
US 8996550B2 · Ko et al. · 2015 [cited by applicant]
US 8996639B1 · Faaborg et al. · 2015 [cited by applicant]
US 9002714B2 · Kim et al. · 2015 [cited by applicant]
US 9009046B1 · Stewart · 2015 [cited by applicant]
US 9015036B2 · Karov Zangvil et al. · 2015 [cited by applicant]
US 9020804B2 · Barbaiani et al. · 2015 [cited by applicant]
US 9026425B2 · Nikoulina et al. · 2015 [cited by applicant]
US 9026426B2 · Wu et al. · 2015 [cited by applicant]
US 9031834B2 · Coorman et al. · 2015 [cited by applicant]
US 9031970B1 · Das et al. · 2015 [cited by applicant]
US 9037967B1 · Al-jefri et al. · 2015 [cited by applicant]
US 9043208B2 · Koch et al. · 2015 [cited by applicant]
US 9043211B2 · Haiut et al. · 2015 [cited by applicant]
US 9046932B2 · Medlock et al. · 2015 [cited by applicant]
US 9049255B2 · Macfarlane et al. · 2015 [cited by applicant]
US 9049295B1 · Cooper et al. · 2015 [cited by applicant]
US 9053706B2 · Jitkoff et al. · 2015 [cited by applicant]
US 9058105B2 · Drory et al. · 2015 [cited by applicant]
US 9058332B1 · Darby et al. · 2015 [cited by applicant]
US 9058811B2 · Wang et al. · 2015 [cited by applicant]
US 9063979B2 · Chiu et al. · 2015 [cited by applicant]
US 9064495B1 · Torok et al. · 2015 [cited by applicant]
US 9065660B2 · Ellis et al. · 2015 [cited by applicant]
US 9070247B2 · Kuhn et al. · 2015 [cited by applicant]
US 9070366B1 · Mathias et al. · 2015 [cited by applicant]
US 9071701B2 · Donaldson et al. · 2015 [cited by applicant]
US 9075435B1 · Noble et al. · 2015 [cited by applicant]
US 9075824B2 · Gordo et al. · 2015 [cited by applicant]
US 9076448B2 · Bennett et al. · 2015 [cited by applicant]
US 9076450B1 · Sadek et al. · 2015 [cited by applicant]
US 9081411B2 · Kalns et al. · 2015 [cited by applicant]
US 9081482B1 · Zhai et al. · 2015 [cited by applicant]
US 9082402B2 · Yadgar et al. · 2015 [cited by applicant]
US 9083581B1 · Addepalli et al. · 2015 [cited by applicant]
US 9092789B2 · Anshul · 2015 [cited by applicant]
US 9094576B1 · Karakotsios · 2015 [cited by applicant]
US 9094636B1 · Sanders et al. · 2015 [cited by applicant]
US 9098467B1 · Blanksteen et al. · 2015 [cited by applicant]
US 9101279B2 · Ritchey et al. · 2015 [cited by applicant]
US 9112984B2 · Sejnoha et al. · 2015 [cited by applicant]
US 9117212B2 · Sheets et al. · 2015 [cited by applicant]
US 9117447B2 · Gruber et al. · 2015 [cited by applicant]
US 9123338B1 · Sanders et al. · 2015 [cited by applicant]
US 9143907B1 · Caldwell et al. · 2015 [cited by applicant]
US 9159319B1 · Hoffmeister · 2015 [cited by applicant]
US 9164983B2 · Liu et al. · 2015 [cited by applicant]
US 9171541B2 · Kennewick et al. · 2015 [cited by applicant]
US 9171546B1 · Pike · 2015 [cited by applicant]
US 9172747B2 · Walters et al. · 2015 [cited by applicant]
US 9183845B1 · Gopalakrishnan et al. · 2015 [cited by applicant]
US 9190062B2 · Haughay · 2015 [cited by applicant]
US 9196245B2 · Larcheveque et al. · 2015 [cited by applicant]
US 9201955B1 · Quintao et al. · 2015 [cited by applicant]
US 9202520B1 · Tang · 2015 [cited by applicant]
US 9208153B1 · Zaveri et al. · 2015 [cited by applicant]
US 9213754B1 · Zhan et al. · 2015 [cited by applicant]
US 9218122B2 · Thoma et al. · 2015 [cited by applicant]
US 9218809B2 · Bellegard et al. · 2015 [cited by applicant]
US 9218819B1 · Stekkelpa et al. · 2015 [cited by applicant]
US 9223537B2 · Brown et al. · 2015 [cited by applicant]
US 9230561B2 · Ostermann et al. · 2016 [cited by applicant]
US 9232293B1 · Hanson · 2016 [cited by applicant]
US 9236047B2 · Rasmussen · 2016 [cited by applicant]
US 9241073B1 · Rensburg et al. · 2016 [cited by applicant]
US 9245151B2 · LeBeau et al. · 2016 [cited by applicant]
US 9250703B2 · Hernandez-Abrego et al. · 2016 [cited by applicant]
Cited By (2)
US 12,457,290 US 12,573,404