IP Library Granted Patent US 11,468,898
Granted Patent B2
US 11,468,898 · App. 17/036,552 · Granted Oct 11, 2022

Common skill store for different virtual assistants

Inventor: Rajan Jethva (Milpitas, CA)
Assignee: Capital One Services, LLC
G10L15/30G06F3/167G06F8/65G06F11/1464H04L67/55
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 11,468,898
App. No.
17/036,552
Granted
Oct 11, 2022
Kind
B2
Abstract

Methods, apparatuses, and systems of a common skill store are described herein to provide common skill storage and distribution for different virtual assistants on different provider platforms. A developer may not be bound by any virtual assistant or provider platform to develop skills in a required computer programming language, format, or style. They also need not to develop the same skill multiple times for different virtual assistants. After receiving a request to download a skill for use on any virtual assistant and provider platform, the common skill store may modify the requested program code to adapt it for the requesting virtual assistant. If a user has multiple user devices with different virtual assistants, they may only need to request the same skill one time, and the common skill store may send different sets of adapted program code to the multiple user devices with the different virtual assistants.

Claims (48)

1. A method comprising:

receiving, by a computing device, a request to add common functionality to a plurality of different applications each being configured to run on a different runtime platform, wherein the request is associated with a user account;

determining, based on the user account, user devices associated with the user account and one or more of the plurality of different applications associated with the user account, wherein the user devices are remote from the computing device, and wherein each of the user devices is configured to run a corresponding one of the plurality of different applications;

generating one or more adapted program codes by modifying a program code configured to perform the common functionality, wherein each of the one or more adapted program codes is adapted to perform the common functionality in a runtime environment associated with a corresponding one of the plurality of different applications; and

causing each of the user devices to install a corresponding one of the one or more adapted program codes.

2. The method of claim 1 , wherein each of the plurality of different applications comprises a corresponding virtual assistant.

3. The method of claim 1 , wherein the modifying the program code comprises:

converting statements of one or more portions of the program code in a first computer programming language to statements in a second computer programming language, wherein the statements in the second computer programming language are readable by a runtime environment associated with at least one of the plurality of different applications.

4. The method of claim 1 , wherein the modifying the program code comprises:

modifying a configuration portion of the program code such that the one or more adapted program codes are configurable by corresponding runtime environments associated with the plurality of different applications.

5. The method of claim 1 , wherein the request to add the common functionality is based on a voice command received by at least one of the user devices.

6. The method of claim 1 , wherein the request to add the common functionality is received via a webpage or an application.

7. The method of claim 1 , further comprising:

determining, based on program code download history associated with the user account, a second program code different from the program code; and

sending, to at least one of the user devices, a recommendation notification for the second program code.

8. The method of claim 1 , further comprising:

determining, based on a relevance score to the program code, a second program code different from the program code; and

sending, to at least one of the user devices, a recommendation notification for the second program code.

9. The method of claim 1 , further comprising:

determining that the user account is authorized to download the program code.

10. The method of claim 1 , further comprising:

backing up, to a cloud storage associated with the user account, the one or more adapted program codes.

11. The method of claim 1 , wherein each of the plurality of different applications are configured to run on a corresponding one of a plurality of provider platforms.

12. An apparatus comprising:

one or more processors; and

memory storing instructions that, when executed by the one or more processors, cause the apparatus to:

store a program code that is executable to implement a function at an applications that is configured to run on a runtime platform;

receive a request to add common functionality to a plurality of different applications each being configured to run on a different runtime platform, wherein the request is associated with a user account;

determine, based on the user account, user devices associated with the user account and one or more of the plurality of different applications associated with the user account, wherein the user devices are remote from the apparatus, and wherein each of the user devices is configured to run a corresponding one of the plurality of different applications on a corresponding runtime platform;

generate one or more adapted program codes by modifying the program code, wherein each of the one or more adapted program codes is configurable by a corresponding one of the plurality of different applications; and

cause each of the user devices to install a corresponding one of the one or more adapted program codes.

13. The apparatus of claim 12 , wherein each of the plurality of different applications comprises a corresponding virtual assistant.

14. The apparatus of claim 12 , wherein the instructions cause the apparatus to modify the program code by causing the apparatus to:

convert statements of one or more portions of the program code in a first computer programming language to statements in a second computer programming language, wherein the statements in the second computer programming language is readable by a runtime environment associated with at least one of the plurality of different applications.

15. The apparatus of claim 12 , wherein each of the one or more adapted program codes is configured to run in a runtime environment associated with a corresponding one of the plurality of different applications.

16. The apparatus of claim 12 , wherein the request to add the common functionality is based on a voice command received by one of the user devices.

17. The apparatus of claim 12 , wherein the instructions, when executed by the one or more processors further cause the apparatus to:

back up, to a cloud storage associated with the user account, the one or more adapted program codes.

18. A non-transitory computer-readable medium storing instructions that, when executed by one or more processors, cause a computing device to:

store a program code that is executable to implement a function at an application that is configured to run on a runtime platform;

receive a request to add common functionality to a plurality of different applications each being configured to run on a different runtime platform, wherein the request is associated with a user account;

determine, based on the user account, user devices associated with the user account and one or more of the plurality of different applications associated with the user account, wherein the user devices are remote from the computing device, and wherein each of the user devices is configured to run a corresponding one of the plurality of different applications on a corresponding runtime platform;

generate one or more adapted program codes by modifying the program code, wherein each of the one or more adapted program codes is adapted to perform the common functionality in a runtime environment associated with a corresponding one of the plurality of different applications; and

cause each of the user devices to install a corresponding one of the one or more adapted program codes.

19. The non-transitory computer-readable medium of claim 18 , wherein each of the plurality of different applications comprises a corresponding virtual assistant.

20. The non-transitory computer-readable medium of claim 18 , wherein the instructions cause the computing device to modify the program code by causing the computing device to:

convert statements of one or more portions of the program code in a first computer programming language to statements in a second computer programming language, wherein the statements in the second computer programming language are readable by a runtime environment associated with at least one of the plurality of different applications; or

modify a configuration portion of the program code such that the one or more adapted program codes are configurable by corresponding runtime environments associated with the plurality of different applications.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 8, 2021
From: JETHVA, RAJAN
To: CAPITAL ONE SERVICES, LLC
Reel/Frame 057411/0584 →
Continuity (2)
Continuation 16795812 · Feb 20, 2020
Related Publication 20210264920A1 · Aug 26, 2021