US 12,271,934 B2
Enhancing functionalities of virtual assistants and dialog systems via plugin marketplace
Ilya Gennadyevich Gelfenbeyn, Sunnyvale, CA (US); Artem Goncharuk, Mountain View, CA (US); and Pavel Aleksandrovich Sirotin, Sunnyvale, CA (US)
Assigned to GOOGLE LLC, Mountain View, CA (US)
Filed by GOOGLE LLC, Mountain View, CA (US)
Filed on Sep. 25, 2023, as Appl. No. 18/372,483.
Application 18/372,483 is a continuation of application No. 18/094,256, filed on Jan. 6, 2023, granted, now 11,769,184.
Application 18/094,256 is a continuation of application No. 17/521,115, filed on Nov. 8, 2021, granted, now 11,551,273, issued on Jan. 10, 2023.
Application 17/521,115 is a continuation of application No. 16/424,783, filed on May 29, 2019, granted, now 11,170,415, issued on Nov. 9, 2021.
Application 16/424,783 is a continuation of application No. 15/166,293, filed on May 27, 2016, granted, now 10,311,492, issued on Jun. 4, 2019.
Claims priority of provisional application 62/166,686, filed on May 27, 2015.
Prior Publication US 2024/0013269 A1, Jan. 11, 2024
This patent is subject to a terminal disclaimer.
Int. Cl. G06Q 30/0601 (2023.01)
CPC G06Q 30/0601 (2013.01) 18 Claims
OG exemplary drawing
 
1. A method performed by one or more processors, the method comprising:
maintaining a plurality of plugins each created by a corresponding developer, wherein the plugins include a given plugin that is created by a given developer of the corresponding developers;
receiving, from an end user, a selection of the given plugin from the plurality of maintained plugins;
in response to receiving the selection:
linking the given plugin with a dialog system that is associated with the end user, wherein the dialog system is associated with a virtual assistant at least partially installed on a user device of the end user;
subsequent to linking the given plugin with the dialog system that is associated with the end user:
receiving a user request from the end user via a dialog system interface of the dialog system that is associated with the end user, wherein the dialog system interface is running on the user device;
identifying the given plugin based on the linking with the dialog system and based on the user request being received via the dialog interface of the dialog system;
processing the user request using the dialog system and without using the given plugin;
determining, based on processing the user request using the dialog system interface and without using the given plugin, to use the given plugin in processing the user request,
wherein determining to use the given plugin is further based on the linking with the dialog system and based on the user request being received via the dialog interface of the dialog system; and
in response to determining to use the dialog extension element in processing the user request:
using the dialog extension element in generating a response to the user request; and
causing the response to be rendered at the user device via the dialog system and responsive to the user request.