IP Library Granted Patent US 12,243,554
Granted Patent B2
US 12,243,554 · App. 18/384,769 · Granted Mar 4, 2025

Remote invocation of mobile device actions

Inventors: Omer Bar-or (Mountain View, CA); Scott B. Huffman (Portola Valley, CA); Ida Mayer (Sunnyvale, CA); Arthur E. Blume (Melrose, MA); Pravir Kumar Gupta (Los Altos, CA)
Assignee: GOOGLE LLC
G10L25/48G06F9/452G06F9/54G06F9/4806G06F2209/482G06F2209/549
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,243,554
App. No.
18/384,769
Granted
Mar 4, 2025
Kind
B2
Abstract

Systems, methods and apparatus for invoking actions at a second user device from a first user device. A method includes determining that a first user device has an associated second user device; accessing specification data that specifies a set of user device actions that the second user device is configured to perform; receiving command inputs for the first user device; for each command input, determining whether the command input resolves to one of the user device actions; for each command input not determined to resolve any of the user device actions, causing the command input to be processed at the first user device; and for each command input determined to resolve one of the user device actions causing the first user device to display in a user interface a dialog by which a user may either accept or deny invoking the user device action at the second user device.

Claims (55)

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

receiving a command input for a first user device;

determining that the command input resolves to a first user device action that a second user device is configured to perform using a first application accessible to the second user device;

in response to determining that the command input resolves to the first user device action, generating data that causes the first user device to prompt a user of the first user device to either accept or deny invoking the first user device action that the second user device is configured to perform using the first application, in response to the command input; and

in response to the user of the first user device accepting invoking the first user device action:

generating a command communication that causes the second user device to invoke the first user device action using the first application and process the command input as input for the first user device action; and

sending the command communication to the second user device.

2. The method according to claim 1 , wherein the second user device is a smart phone.

3. The method according to claim 1 , wherein generating the data that causes the first user device to prompt the user of the first user device comprises displaying at least one dialog in a user interface of the first user device by which the user of the first user device may either accept or deny invoking the first user device action that the second user device is configured to perform using the first application.

4. The method according to claim 3 , wherein the user of the first user device accepting invoking the first user device action comprises selecting a button in the at least one dialog in the user interface.

5. The method according to claim 1 , further comprising, in response to the user of the first user device accepting invoking the first user device action, displaying, in the user interface of the first user device, options specific to the first user device action.

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

determining that the command input also resolves to a second user device action that the second user device is configured to perform using a second application accessible to the second user device; and

in response to determining that the command input also resolves to the second user device action, generating data that causes the first user device to prompt the user of the first user device to either accept or deny invoking the second user device action that the second user device is configured to perform using the second application, in response to the command input.

7. The method according to claim 6 , further comprising, in response to the user of the first user device accepting invoking the second user device action:

generating an additional command communication that includes data that causes the second user device to invoke the second user device action using the second application and process the command input as input for the second user device action; and

sending the additional command communication to the second user device.

8. The method according to claim 6 , wherein:

generating the data that causes the first user device to prompt the user of the first user device comprises displaying at least one dialog in a user interface of the first user device by which the user of the first user device may either accept or deny invoking at least one of the first user device action that the second user device is configured to perform using the first application and the second user device action that the second user device is configured to perform using the second application; and

the at least one dialog comprises:

a first dialog in the user interface of the first user device by which the user of the first user device may either accept or deny invoking the first user device action that the second user device is configured to perform using the first application; and

a second dialog in the user interface of the first user device by which the user of the first user device may either accept or deny invoking the second user device action that the second user device is configured to perform using the second application.

9. 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:

receive a command input for a first user device;

determine that the command input resolves to a first user device action that a second user device is configured to perform using a first application accessible to the second user device;

in response to determining that the command input resolves to the first user device action, generate data that causes the first user device to prompt a user of the first user device to either accept or deny invoking the first user device action that the second user device is configured to perform using the first application, in response to the command input; and

in response to the user of the first user device accepting invoking the first user device action:

generate a command communication that causes the second user device to invoke the first user device action using the first application and process the command input as input for the first user device action; and

send the command communication to the second user device.

10. The computer program product according to claim 9 , wherein the second user device is a smart phone.

11. The computer program product according to claim 9 , wherein generating the data that causes the first user device to prompt the user of the first user device comprises displaying at least one dialog in a user interface of the first user device by which the user of the first user device may either accept or deny invoking the first user device action that the second user device is configured to perform using the first application.

12. The computer program product according to claim 11 , wherein the user of the first user device accepting invoking the first user device action comprises selecting a button in the at least one dialog in the user interface.

13. The computer program product according to claim 9 , wherein the program instructions are further executable to, in response to the user of the first user device accepting invoking the first user device action, display, in the user interface of the first user device, options specific to the first user device action.

14. The computer program product according to claim 9 , wherein the program instructions are further executable to:

determine that the command input also resolves to a second user device action that the second user device is configured to perform using a second application accessible to the second user device; and

in response to determining that the command input also resolves to the second user device action, generate data that causes the first user device to prompt the user of the first user device to either accept or deny invoking the second user device action that the second user device is configured to perform using the second application, in response to the command input.

15. The computer program product according to claim 14 , wherein the program instructions are further executable to, in response to the user of the first user device accepting invoking the second user device action:

generate an additional command communication that includes data that causes the second user device to invoke the second user device action using the second application and process the command input as input for the second user device action; and

send the additional command communication to the second user device.

16. The computer program product according to claim 14 , wherein:

generating the data that causes the first user device to prompt the user of the first user device comprises displaying at least one dialog in a user interface of the first user device by which the user of the first user device may either accept or deny invoking at least one of the first user device action that the second user device is configured to perform using the first application and the second user device action that the second user device is configured to perform using the second application; and

the at least one dialog comprises:

a first dialog in the user interface of the first user device by which the user of the first user device may either accept or deny invoking the first user device action that the second user device is configured to perform using the first application; and

a second dialog in the user interface of the first user device by which the user of the first user device may either accept or deny invoking the second user device action that the second user device is configured to perform using the second application.

17. 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:

receive a command input for a first user device;

determine that the command input resolves to a first user device action that a second user device is configured to perform using a first application accessible to the second user device;

in response to determining that the command input resolves to the first user device action, generate data that causes the first user device to prompt a user of the first user device to either accept or deny invoking the first user device action that the second user device is configured to perform using the first application, in response to the command input; and

in response to the user of the first user device accepting invoking the first user device action:

generate a command communication that causes the second user device to invoke the first user device action using the first application and process the command input as input for the first user device action; and

send the command communication to the second user device.

18. The system according to claim 17 , wherein the second user device is a smart phone.

19. The system according to claim 17 , wherein generating the data that causes the first user device to prompt the user of the first user device comprises displaying at least one dialog in a user interface of the first user device by which the user of the first user device may either accept or deny invoking the first user device action that the second user device is configured to perform using the first application.

20. The system according to claim 19 , wherein the user of the first user device accepting invoking the first user device action comprises selecting a button in the at least one dialog in the user interface.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2023
From: BAR-OR, OMER; HUFFMAN, SCOTT B.; MAYER, IDA; BLUME, ARTHUR E.; GUPTA, PRAVIR K.
To: GOOGLE INC.
Reel/Frame 065650/0068 →
CHANGE OF NAME Recorded Nov 22, 2023
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 065667/0119 →
Continuity (5)
Continuation 17841458 · Jun 15, 2022
Continuation 16990763 · Aug 11, 2020
Continuation 16177570 · Nov 1, 2018
Continuation 14311995 · Jun 23, 2014
Related Publication 20240055016A1 · Feb 15, 2024
References Cited (61)
US 6466971B1 · Humpleman · 2002 [cited by applicant]
US 6546419B1 · Humpleman · 2003 [cited by applicant]
US 6813502B2 · Son · 2004 [cited by examiner]
US 7277726B2 · Ahya et al. · 2007 [cited by applicant]
US 7991548B2 · Singh · 2011 [cited by examiner]
US 8321916B2 · Aissi · 2012 [cited by applicant]
US 8326279B2 · Aftab · 2012 [cited by applicant]
US 8666367B2 · Sharp · 2014 [cited by examiner]
US 10152987B2 · Bar-or et al. · 2018 [cited by applicant]
US 10777216B2 · Bar-or et al. · 2020 [cited by applicant]
US 11386915B2 · Bar-or et al. · 2022 [cited by applicant]
US 20050105717A1 · Lawrie · 2005 [cited by applicant]
US 20060053194A1 · Schneider · 2006 [cited by applicant]
US 20080037720A1 · Thomson · 2008 [cited by examiner]
US 20090204410A1 · Mozer · 2009 [cited by examiner]
US 20100081385A1 · Lin · 2010 [cited by examiner]
US 20100227605A1 · Fournier · 2010 [cited by applicant]
US 20100304783A1 · Logan · 2010 [cited by examiner]
US 20110026517A1 · Capuozzo · 2011 [cited by applicant]
US 20110296508A1 · Os · 2011 [cited by examiner]
US 20110314004A1 · Mehta · 2011 [cited by applicant]
US 20120311583A1 · Gruber · 2012 [cited by examiner]
US 20130007202A1 · Lee · 2013 [cited by examiner]
US 20130086594A1 · Cottrell · 2013 [cited by examiner]
US 20130275885A1 · Spataro · 2013 [cited by examiner]
US 20140068736A1 · Agerstam et al. · 2014 [cited by applicant]
US 20140095683A1 · Knowles et al. · 2014 [cited by applicant]
US 20150371664A1 · Bar-Or · 2015 [cited by examiner]
US 20200372927A1 · Bar-or et al. · 2020 [cited by applicant]
US 20220310110A1 · Bar-or et al. · 2022 [cited by applicant]
CN 101017447 · 2007 [cited by applicant]
CN 101151865 · 2008 [cited by applicant]
CN 101238433 · 2008 [cited by applicant]
CN 101702119 · 2010 [cited by applicant]
CN 101866313 · 2010 [cited by applicant]
CN 102118257 · 2011 [cited by applicant]
CN 102461136 · 2012 [cited by applicant]
CN 102497453 · 2012 [cited by applicant]
CN 102566925 · 2012 [cited by applicant]
CN 102651700 · 2012 [cited by applicant]
CN 102857537 · 2013 [cited by applicant]
CN 103095749 · 2013 [cited by applicant]
CN 103488599 · 2014 [cited by applicant]
CN 103812712 · 2014 [cited by applicant]
KR 1020130001826 · 2013 [cited by applicant]
B. Chihani, E. Bertin and N. Crespi, “A user-centric context-aware mobile assistant,” 2013 17th International Conference on Intelligence in Next Generation Networks (ICIN), 2013, pp. 110-117, doi: 10.1109/ICIN.2013.6670… [cited by examiner]
O. Boyaci, V. Beltran and H. Schulzrinne, “Bridging communications and the physical world: Sense everything, control everything,” 2010 IEEE Globecom Workshops, Miami, FL, USA, 2010, pp. 1735-1740, doi: 10.1109/GLOCOMW.2… [cited by examiner]
B. Chihani, E. Bertin and N. Crespi, “A user-centric context-aware mobile assistant,” 2013 17th International Conference on Intelligence in Next Generation Networks (ICIN), 2013, pp. 110-117, doi: 10.1109/ICIN.2013.6670… [cited by examiner]
O. Boyaci, V. Beltran and H. Schulzrinne, “Bridging communications and the physical world: Sense everything, control everything,” 2010 IEEE Globecom Workshops, Miami, FL, USA, 2010, pp. 1735-1740, doi: 10.1109/GLOCOMW.2… [cited by examiner]
Chihani, B. et al.; A user-centric context-aware mobile assistant; 17th International Conference on Intelligence in Next Generation Networks (ICIN); pp. 110-117; doi: 10.1109/ICIN.2013.6670901; dated 2013. [cited by applicant]
Boyaci, O. et al.; Bridging communications and the physical world: Sense everything, control everything; IEEE Globecom Workshops, Miami/FL; pp. 1735-1740; doi:10.1109/GLOCOMW.2010.5700238; dated 2010. [cited by applicant]
European Patent Office; Intention to Grant issued in Application No. 22161682.4, 41 pages, dated Mar. 23, 2023. [cited by applicant]
European Patent Office; Extended European Search Report issued in Application No. 22161682.4, 10 pages, dated Jul. 11, 2022. [cited by applicant]
European Patent Office; Intention to Grant issued in Application No. 15733024.2; 7 pages; dated Oct. 5, 2021. [cited by applicant]
Remote Alarm Clock; Retrieved on Mar. 26, 2014 from the Internet URL: https//play_google.com/store/apps/details?id=com.greatbytes.remotealarmclock; 3 pages; dated Jun. 16, 2013. [cited by applicant]
Remote API (RAPI; Retrieved on Mar. 26, 2014 from the Internet URL: https://medo.microsoft.com/en-us/library/aa920177.aspx; 2 pages; dated Apr. 8, 2010. [cited by applicant]
China Patent Office; Office Action issued in Application No. 201580033816.7; 8 pages; dated Sep. 25, 2019. [cited by applicant]
European Patent Office; Office Action issued in Application No. 15733024.2; 4 pages; dated Aug. 30, 2019. [cited by applicant]
European Patent Office; International Search Report and Written Opinion issued in Application No. PCT/US2015/035496; 12 pages; dated Sep. 11, 2015. [cited by applicant]
China National Intellectual Property Administration; Notification of First Office Action issued in Application No. 202010721895.3; 16 pages; dated Jan. 11, 2024. [cited by applicant]
China National Intellectual Property Administration; Notice of Grant issued in Application No. 202010721895.3; 4 pages; dated May 31, 2024. [cited by applicant]