IP Library Granted Patent US 11,637,792
Granted Patent B2
US 11,637,792 · App. 16/598,901 · Granted Apr 25, 2023

Systems and methods for a metadata driven integration of chatbot systems into back-end application services

Inventors: Jeevan Selvan Job John (Bangalore, IN); Mudit Gupta (Bangalore, IN); Aswin Jose (Kottayam, IN)
Assignee: Oracle International Corporation
H04L51/02H04L51/046H04L67/133
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,637,792
App. No.
16/598,901
Granted
Apr 25, 2023
Kind
B2
Abstract

The present disclosure generally relates to systems and methods for efficiently and dynamically integrating a chatbot into an application service. More specifically, the present disclosure relates to systems and methods that dynamically build custom components that enable the chatbot to communicate and facilitate the use of the application service directly from the chatbot application. Accordingly, the systems and methods described herein provide the benefit of integrating the chatbot application into an application service without having the application developer write code for the integration, thereby enhancing the computational efficiency of the integration and the reliability of the application service when new services or service functionality are added or modified.

Claims (70)

1. A computer-implemented method comprising:

accessing a database that stores metadata associated with an application, the application being configured to perform one or more services, and the metadata indicating, for each service of the one or more services, one or more input parameters for invoking the service;

executing a component builder class configured to automatically generate one or more custom components for each service of the one or more services, wherein each custom component of the one or more custom components is configured to enable a chatbot application to interact with a corresponding service of the one or more services during a dialogue flow between an end user and the chatbot application, wherein the chatbot application is configured to receive input in a first defined format and the service is invoked by one or more input parameters for the service in a second defined format;

in response to executing the component builder class, loading the metadata;

identifying, from the metadata, each service of the one or more services;

for each service of the one or more services:

identifying, from the metadata, each input parameter of the one or more input parameters for the service; and

automatically generating, using the one or more input parameters for the service and at least one object included in the metadata, at least one custom component for the service, wherein the at least one custom component defines at least one function corresponding to the at least one object and performable by the service and one or more actions performable by the chatbot application, the one or more actions corresponding to the at least one function;

embedding the at least one custom component into the dialogue flow of the chatbot application;

receiving input for invoking a particular service of the one or more services of the application using the chatbot application, the input comprising one or more particular input parameters in the first defined format; and

executing, by the chatbot application, the at least one custom component generated for the particular service to transform the one or more particular parameters from the first defined format into the second defined format.

2. The computer-implemented method of claim 1 , wherein the at least one custom component for the particular service enables the chatbot application to communicate with the one or more services of the application.

3. The computer-implemented method of claim 1 , wherein the particular service is invoked in response to receiving a command from the end user operating the chatbot application.

4. The computer-implemented method of claim 1 , further comprising:

building a payload based on the one or more input parameters included in the metadata;

invoke the particular service using the payload;

receiving an output parameter from the particular service;

storing the output parameter as a conversation variable;

setting a result state as returned by the particular service; and

executing a function to display, using the chatbot application, the conversation variable to the end user.

5. The computer-implemented method of claim 1 , wherein the one or more input parameters include a set of input parameters, and wherein the particular service can be invoked using a subset of the set of input parameters.

6. The computer-implemented method of claim 1 , wherein the chatbot application receives the input in the first defined format from the end user.

7. The computer-implemented method of claim 1 , wherein transforming the one or more particular parameters from the first defined format into the second defined format is performed by executing a component service corresponding to the at least one custom component generated for the particular service.

8. A system, comprising:

one or more data processors; and

a non-transitory computer-readable storage medium containing instructions which, when executed on the one or more data processors, cause the one or more data processors to perform operations including:

accessing a database that stores metadata associated with an application, the application being configured to perform one or more services, and the metadata indicating, for each service of the one or more services, one or more input parameters consumed by the service;

executing a component builder class configured to automatically generate one or more custom components for each service of the one or more services, wherein each custom component of the one or more custom components is configured to enable a chatbot application to interact with a corresponding service of the one or more services during a dialogue flow between an end user and the chatbot application, wherein the chatbot application is configured to receive input in a first defined format and the service is invoked by one or more input parameters for the service in a second defined format;

in response to executing the component builder class, loading the metadata;

identifying, from the metadata, each service of the one or more services;

for each service of the one or more services:

identify each input parameter of the one or more input parameters for the service; and

automatically generating, using the one or more input parameters for the service and at least one object included in the metadata, at least one custom component for the service, wherein the at least one custom component defines at least one function corresponding to the at least one object and performable by the service and one or more actions performable by the chatbot application, the one or more actions corresponding to the at least one function;

embedding the at least one custom component into the dialogue flow of the chatbot application;

receiving input for invoking a particular service of the one or more services of the application using the chatbot application, the input comprising one or more particular input parameters in the first defined format; and

executing, by the chatbot application, the at least one custom component generated for the particular service to transform the one or more particular parameters from the first defined format into the second defined format.

9. The system of claim 8 , wherein the at least one custom component for the particular service enables the chatbot application to communicate with the database associated with the application.

10. The system of claim 8 , wherein the particular service is invoked in response to receiving a command from the end user operating the chatbot application.

11. The system of claim 8 , further comprising:

building a payload based on the one or more input parameters included in the metadata;

invoke the particular service using the payload;

receiving an output parameter from the particular service;

storing the output parameter as a conversation variable;

setting a result state as returned by the particular service; and

executing a function to display, using the chatbot application, the conversation variable to the end user.

12. The system of claim 8 , wherein the one or more input parameters include a set of input parameters, and wherein the particular service can be invoked using a subset of the set of input parameters.

13. The system of claim 8 , wherein the chatbot application receives the input in the first defined format from the end user.

14. The system of claim 8 , wherein transforming the one or more particular parameters from the first defined format into the second defined format is performed by executing a component service corresponding to the at least one custom component generated for the particular service.

15. A computer-program product tangibly embodied in a non-transitory machine-readable storage medium, including instructions configured to cause a data processing apparatus to perform operations including:

accessing a database that stores metadata associated with an application, the application being configured to perform one or more services, and the metadata indicating, for each service of the one or more services, one or more input parameters consumed by the service;

executing a component builder class configured to automatically generate one or more custom components for each service of the one or more services, wherein each custom component of the one or more custom components is configured to enable a chatbot application to interact with a corresponding service of the one or more services during a dialogue flow between an end user and the chatbot application, wherein the chatbot application is configured to receive input in a first defined format and the service is invoked by one or more input parameters for the service in a second defined format;

in response to executing the component builder class, loading the metadata;

identifying, from the metadata, each service of the one or more services;

for each service of the one or more services:

identify each input parameter of the one or more input parameters for the service; and

automatically generating, using the one or more input parameters for the service and at least one object included in the metadata, at least one custom component for the service, wherein the at least one custom component defines at least one function corresponding to the at least one object and performable by the service and one or more actions performable by the chatbot application, the one or more actions corresponding to the at least one function;

embedding the at least one custom component into the dialogue flow of the chatbot application;

receiving input for invoking a particular service of the one or more services of the application using the chatbot application, the input comprising one or more particular input parameters in the first defined format; and

executing, by the chatbot application, the at least one custom component generated for the particular service to transform the one or more particular parameters from the first defined format into the second defined format.

16. The computer-program product of claim 15 , wherein the at least one custom component for the particular service enables the chatbot application to communicate with the database associated with the application.

17. The computer-program product of claim 15 , wherein the particular service is invoked in response to receiving a command from the end user operating the chatbot application.

18. The computer-program product of claim 15 , further comprising:

building a payload based on the one or more input parameters included in the metadata;

invoke the particular service using the payload;

receiving an output parameter from the particular service;

storing the output parameter as a conversation variable;

setting a result state as returned by the particular service; and

executing a function to display, using the chatbot application, the conversation variable to the end user.

19. The computer-program product of claim 15 , wherein the one or more input parameters include a set of input parameters, and wherein the particular service can be invoked using a subset of the set of input parameters.

20. The computer-program product of claim 15 , wherein the chatbot application receives the input in the first defined format from an end user.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 6, 2019
From: JOHN, JEEVAN SELVAN JOB; GUPTA, MUDIT; JOSE, ASWIN
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 051205/0732 →
Priority Claims (1)
IN 201941015683 · Apr 19, 2019 · national
Continuity (1)
Related Publication 20200374244A1 · Nov 26, 2020
Cited By (1)
US 12,536,166