IP Library › Granted Patent US 12,356,042
Granted Patent B2
US 12,356,042 · App. 18/514,920 · Granted Jul 8, 2025

System and method for integration of automatic response generating systems with non-API applications

Inventors: Donna Maria Welch (Bluffton, SC); Sudhakar Balu (Chennai, IN); Srinivasa Dhanwada (Hyderabad, IN); Siva Kumar Paini (Hyderabad, IN)
Assignee: Bank of America Corporation
H04N21/47202H04L51/02H04L67/63H04N21/4431H04N21/47217G06F16/951G06F40/30H04L49/90
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,356,042
App. No.
18/514,920
Filed
Nov 20, 2023
Granted
Jul 8, 2025
Kind
B2
Art Unit
2457
USPC
725/93
Abstract

A system includes a memory and a processor. The memory stores a set of videos each of which is associated with an application of a set of applications and depicts a process performed using the application. For each video, the processor generates metadata associated with the depicted process, and stores the metadata within a collection of metadata in the memory. The processor receives a request for information from a user. In response, the processor identifies an application of the set of applications for use in generating a response to the request. The processor generates, based on the collection of metadata, instructions for interfacing with the first application to generate the response. The processor executes the instructions to interface with the first application to generate the response, and transmits the response to the user.

Claims (104)

1. A system comprising:

a memory configured to store:

a set of videos, each video of the set of videos associated with an application of a set of applications and depicting a process performed using the application;

a hardware processor communicatively coupled to the memory, the hardware processor configured to:

for each video of the set of videos:

generate metadata associated with the process depicted in the video; and

store the metadata within a collection of metadata stored in the memory; receive a request for information from a user;

in response to receiving the request for the information:

identify a first application of the set of applications for use in generating a response to the request;

generate, based on the collection of metadata stored in the memory, instructions for interfacing with the first application to generate the response to the request;

execute the instructions to interface with the first application to generate the response to the request; and

transmit the response to the user;

wherein, in response to receiving the request for information, the hardware processor is further configured to:

store the request for information at an end of a queue; and

monitor a position of the request within the queue;

wherein generating the response to the request is performed in response to determining that the request is at a top of the queue;

wherein, in response to storing the request for information at the end of the queue, the hardware processor is further configured to:

collect values for a set of parameters associated with the system;

determine, based on the request for the information and the collected values for the set of parameters, an estimate of a time to generate the response to the request; and

transmit, to the user, the estimate of the time to generate the response to the request;

wherein:

the memory is further configured to store:

training data comprising a plurality of historical requests, wherein for each historical request of the plurality of historical requests, the training data further comprises a set of historical parameters associated with the historical request and a historical time taken to respond to the historical request; and

a machine learning algorithm; and

the hardware processor is further configured to train the machine learning algorithm, based on the training data, to determine the estimate of the time to generate the response to the request; and

determining the estimate of the time to generate the response to the request comprises executing the machine learning algorithm.

2. The system of claim 1 , wherein the instructions for interfacing with the first application comprise at least one of:

a custom API for interfacing with the application; and

a set of headless browser steps for interfacing with the application.

3. The system of claim 1 , wherein:

the memory is further configured to store a plurality of sets of instructions, wherein each set of instructions of the plurality of sets of instructions:

is associated with a particular process depicted in a particular video of the set of videos;

comprises instructions for interfacing with the application associated with the particular video; and

was generated based on the metadata associated with the particular process depicted in the particular video; and

generating the instructions for interfacing with the first application comprises identifying the instructions for interfacing with the first application within the plurality of sets of instructions stored in the memory.

4. The system of claim 1 , wherein:

the memory is further configured to store a plurality of sets of instructions, wherein each set of instructions of the plurality of sets of instructions:

is associated with a particular process depicted in a particular video of the set of videos;

comprises instructions for interfacing with the application associated with the particular video; and

was generated based on the metadata associated with the particular process depicted in the particular video; and

generating the instructions for interfacing with the first application comprises executing a machine learning algorithm trained to generate the instructions for interfacing with the first application, based on the plurality of sets of instructions stored in the memory.

5. A method comprising:

recording a set of videos, each video of the set of videos associated with an application of a set of applications and depicting a process performed using the application;

for each video of the set of videos:

generating metadata associated with the process depicted in the video; and

storing the metadata within a collection of metadata;

receiving a request for information from a user;

in response to receiving the request for the information:

identifying a first application of the set of applications for use in generating a response to the request;

generating, based on the collection of metadata, instructions for interfacing with the first application to generate the response to the request;

executing the instructions to interface with the first application to generate the response to the request; and

transmitting the response to the user;

wherein, in response to receiving the request for information, the method further comprises:

storing the request for information at an end of a queue; and

monitoring a position of the request within the queue;

wherein, generating the response to the request is performed in response to determining that the request is at a top of the queue;

wherein, in response to storing the request for information at the end of the queue, the method further comprises:

collecting values for a set of parameters associated with the system;

determining, based on the request for the information and the collected values for the set of parameters, an estimate of a time to generate the response to the request; and

transmitting, to the user, the estimate of the time to generate the response to the request;

wherein:

the method further comprises training a machine learning algorithm, based on training data, to determine the estimate of the time to generate the response to the request, the training data comprising a plurality of historical requests, wherein for each historical request of the plurality of historical requests, the training data further comprises a set of historical parameters associated with the historical request and a historical time taken to respond to the historical request; and

determining the estimate of the time to generate the response to the request comprises executing the machine learning algorithm.

6. The method of claim 5 , wherein the instructions for interfacing with the first application comprise at least one of:

a custom API for interfacing with the application; and

a set of headless browser steps for interfacing with the application.

7. The method of claim 5 , wherein generating the instructions for interfacing with the first application comprises identifying the instructions for interfacing with the first application within a plurality of sets of instructions stored in a memory, wherein each set of instructions of the plurality of sets of instructions:

is associated with a particular process depicted in a particular video of the set of videos;

comprises instructions for interfacing with the application associated with the particular video; and

was generated based on the metadata associated with the particular process depicted in the particular video.

8. The method of claim 5 , wherein generating the instructions for interfacing with the first application comprises executing a machine learning algorithm trained to generate the instructions for interfacing with the first application, based on a plurality of sets of instructions stored in a memory, wherein each set of instructions of the plurality of sets of instructions:

is associated with a particular process depicted in a particular video of the set of videos;

comprises instructions for interfacing with the application associated with the particular video; and

was generated based on the metadata associated with the particular process depicted in the particular video.

9. A non-transitory computer-readable medium comprising instructions that, when executed by a hardware processor, cause the processor to:

record a set of videos, each video of the set of videos associated with an application of a set of applications and depicting a process performed using the application;

for each video of the set of videos:

generate metadata associated with the process depicted in the video; and

store the metadata within a collection of metadata;

receive a request for information from a user;

in response to receiving the request for the information:

identify a first application of the set of applications for use in generating a response to the request;

generate, based on the collection of metadata, instructions for interfacing with the first application to generate the response to the request;

execute the instructions to interface with the first application to generate the response to the request; and

transmit the response to the user;

wherein, in response to receiving the request for information, the instructions, when executed by the hardware processor, further cause the processor to:

store the request for information at an end of a queue; and

monitor a position of the request within the queue; and

wherein, generating the response to the request is performed in response to determining that the request is at a top of the queue;

wherein, in response to storing the request for information at the end of the queue, the instructions, when executed by the hardware processor, further cause the processor to:

collect values for a set of parameters associated with the system;

determine, based on the request for the information and the collected values for the set of parameters, an estimate of a time to generate the response to the request; and

transmit, to the user, the estimate of the time to generate the response to the request;

wherein, in response to storing the request for information at the end of the queue, the instructions, when executed by the hardware processor, further cause the processor to:

collect values for a set of parameters associated with the system;

determine, based on the request for the information and the collected values for the set of parameters, an estimate of a time to generate the response to the request; and

transmit, to the user, the estimate of the time to generate the response to the request.

10. The non-transitory computer-readable medium of claim 9 , wherein the instructions for interfacing with the first application comprise at least one of:

a custom API for interfacing with the application; and

a set of headless browser steps for interfacing with the application.

11. The non-transitory computer-readable medium of claim 9 , wherein generating the instructions for interfacing with the first application comprises executing a machine learning algorithm trained to generate the instructions for interfacing with the first application, based on a plurality of sets of instructions stored in a memory, wherein each set of instructions of the plurality of sets of instructions:

is associated with a particular process depicted in a particular video of the set of videos;

comprises instructions for interfacing with the application associated with the particular video; and

was generated based on the metadata associated with the particular process depicted in the particular video.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2023
From: WELCH, DONNA MARIA; BALU, SUDHAKAR; DHANWADA, SRINIVASA; PAINI, SIVA KUMAR
To: BANK OF AMERICA CORPORATION
Reel/Frame 065624/0690 →
Continuity (2)
Continuation 17741854 · May 11, 2022
Related Publication 20240089540A1 · Mar 14, 2024
References Cited (56)
US 8708791B2 · Nguyen et al. · 2014 [cited by applicant]
US 8738739B2 · Makar et al. · 2014 [cited by applicant]
US 9294502B1 · Benishti · 2016 [cited by applicant]
US 9626677B2 · Turgeman et al. · 2017 [cited by applicant]
US 9680850B2 · Rapaport et al. · 2017 [cited by applicant]
US 9794199B2 · Capper et al. · 2017 [cited by applicant]
US 9848009B2 · Turgeman et al. · 2017 [cited by applicant]
US 9947319B1 · Horling et al. · 2018 [cited by applicant]
US 10013980B2 · Borsutsky et al. · 2018 [cited by applicant]
US 10069852B2 · Turgeman et al. · 2018 [cited by applicant]
US 10116596B2 · Li et al. · 2018 [cited by applicant]
US 10187337B2 · Smullen et al. · 2019 [cited by applicant]
US 10200384B1 · Mushtaq et al. · 2019 [cited by applicant]
US 10229203B2 · Li et al. · 2019 [cited by applicant]
US 10372508B2 · Hosabettu et al. · 2019 [cited by applicant]
US 10389745B2 · Mueen et al. · 2019 [cited by applicant]
US 10498898B2 · Mazza et al. · 2019 [cited by applicant]
US 10565634B2 · Talmor et al. · 2020 [cited by applicant]
US 10581765B2 · Koukoumidis et al. · 2020 [cited by applicant]
US 10582057B2 · Konig et al. · 2020 [cited by applicant]
US 10599885B2 · Galitsky · 2020 [cited by applicant]
US 10635752B2 · Zhou et al. · 2020 [cited by applicant]
US 10645034B2 · Lalji et al. · 2020 [cited by applicant]
US 10679631B2 · Hirzel et al. · 2020 [cited by applicant]
US 10757044B2 · Fawcett · 2020 [cited by applicant]
US 10810322B2 · Dotan-Cohen et al. · 2020 [cited by applicant]
US 10832002B2 · Kozhaya et al. · 2020 [cited by applicant]
US 10832008B2 · Banerjee et al. · 2020 [cited by applicant]
US 10838967B2 · Wang et al. · 2020 [cited by applicant]
US 10861442B2 · Manoharan et al. · 2020 [cited by applicant]
US 10880237B2 · Anger et al. · 2020 [cited by applicant]
US 10904169B2 · Barve et al. · 2021 [cited by applicant]
US 10949748B2 · Williams et al. · 2021 [cited by applicant]
US 10951552B2 · Jafar Ali et al. · 2021 [cited by applicant]
US 11050683B2 · Ban et al. · 2021 [cited by applicant]
US 11128579B2 · Magliozzi et al. · 2021 [cited by applicant]
US 11200506B2 · Wu et al. · 2021 [cited by applicant]
US 11283736B2 · Anderson et al. · 2022 [cited by applicant]
US 11295228B2 · Hosabettu et al. · 2022 [cited by applicant]
US 20180025726A1 · Gatti De Bayser et al. · 2018 [cited by applicant]
US 20180082184A1 · Guo et al. · 2018 [cited by applicant]
US 20180315499A1 · Appelbaum et al. · 2018 [cited by applicant]
US 20190013017A1 · Kang et al. · 2019 [cited by applicant]
US 20190124020A1 · Bobbarjung et al. · 2019 [cited by applicant]
US 20190155813A1 · Harden et al. · 2019 [cited by applicant]
US 20190311036A1 · Kumar et al. · 2019 [cited by applicant]
US 20210073051A1 · Shetty et al. · 2021 [cited by applicant]
US 20210133234A1 · Sanur et al. · 2021 [cited by applicant]
US 20210357378A1 · Urdiales · 2021 [cited by examiner]
US 20220045974A1 · Hodge · 2022 [cited by applicant]
US 20220092028A1 · Layton · 2022 [cited by examiner]
US 20220116341A1 · Smullen et al. · 2022 [cited by applicant]
US 20220293107A1 · Leaman · 2022 [cited by examiner]
US 20220343250A1 · Tremblay · 2022 [cited by examiner]
Welch, et al; System and Method for Intelligently Generating Code for Use in Integrating Automated Response Generating Systems With Non-API Applications; U.S. Appl. No. 17/741,953, filed May 11, 2022. [cited by applicant]
Welch, et al; Smart Queue for Distributing User Requests to Automated Response Generating Systems; U.S. Appl. No. 17/742,019, filed May 11, 2022. [cited by applicant]