IP Library Granted Patent US 12,639,113
Granted Patent B2
US 12,639,113 · App. 17/514,414 · Granted May 26, 2026

Optimization engine for dynamic resource provisioning

Inventor: Sachin Mahalasakant Latkar (North Brunsick, NJ)
Assignee: Bank of America Corporation
G06F9/5011G06F9/468G06N20/00G06Q10/06311G06Q40/02H04L65/00G06F2209/503
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,639,113
App. No.
17/514,414
Granted
May 26, 2026
Kind
B2
Abstract

Arrangements for resource optimization and control are provided. In some aspects, one or more work process requests may be received. The work process requests may be aggregated to identify a current book of work. In some examples, availability data from a variety of sources, such as bots, resource operators, and the like, may be received. In some aspects, license data associated with the one or more bot resources may be retrieved. A machine learning engine may be executed to determine an optimal number of resources, type of resources, and the like, to process the book of work. Based on the determination, one or more instructions may be generated. For instance, instructions to provision one or more bots may be generated, instructions assigning work processes to one or more resource operators may be generated, and the like. The generated instructions may be transmitted to a resource for execution.

Claims (57)

1 . A computing platform, comprising:

at least one processor;

a communication interface communicatively coupled to the at least one processor; and

a memory storing computer-readable instructions that, when executed by the at least one processor, cause the computing platform to:

train, based on historical data including a plurality of work processes, a type of resource that handled each work process and a time for a corresponding type of resource to handle the work process, a machine learning model to identify a workforce to handle work process requests, wherein the workforce includes a plurality of types of resources including at least one robotic process automation (RPA) bot and at least one remote desktop automation (RDA) bot, and wherein training the machine learning model includes identifying patterns or sequences in the historical data to identify one or more types of resources to handle the work process requests;

receive a first work process request from a first computing device;

aggregate the first work process request with other received work process requests, wherein the other received work process requests are received from other computing devices to identify a current book of work;

receive availability data associated with a plurality of RPA bots;

receive availability data associated with a plurality of RDA bots;

retrieve license data associated with the plurality of RPA bots and the plurality of RDA bots, wherein the license data includes whether a license was paid for each bot of the plurality of RPA bots and the plurality of RDA bots;

execute the machine learning model to control and tune capacity management by determining a number and type of resources needed to process the book of work, the machine learning model using as inputs at least the book of work, the availability data associated with the plurality of RPA, the availability data associated with the plurality of RDA bots, and the license data to output a number of RPA bots and a number of RDA bots to perform the first work process requested;

generate an instruction to provision a first subset of the plurality of RPA bots based on the determined number and type of resource needed to process the book of work, wherein the first subset includes the number of RPA bots output by the machine learning model and wherein provisioning the first subset of the plurality of RPA bots includes enabling the first subset of RPA bots to perform the first work process request;

generate an instruction to provision a second subset of the plurality of RDA bots based on the determined number and type of resource needed to process the book of work, wherein the second subset includes the number of RDA bots output by the machine learning model and wherein provisioning the second subset of the plurality of RDA bots includes enabling the second subset of RDA bots to perform the first work process request;

transmit the instruction to provision the first subset and the instruction to provision the second subset to a bot control server for bot provisioning of the first subset of the plurality of RPA bots and the second subset of the plurality of RDA bots; and

provision, based on the instruction, the first subset of the plurality of RPA bots and the second subset of the plurality of RDA bots.

2 . The computing platform of claim 1 , wherein bot provisioning includes requesting privileges to process one or more work processes from a line of business associated with the one or more work processes.

3 . The computing platform of claim 1 , wherein the availability data associated with at least one of: the plurality of RPA bots or the plurality of the RDA bots includes real-time availability data.

4 . The computing platform of claim 1 , wherein the machine learning model is further trained using the historical data to determine a baseline book of work and associated bot resources.

5 . The computing platform of claim 1 , the instructions further causing the computing platform to:

receive, from the bot control server, feedback data; and

update the machine learning model based on the feedback data.

6 . The computing platform of claim 1 , wherein provisioning the first subset of the plurality of RPA bots and the second subset of the plurality of RDA bots includes requesting credentials enabling bots of the first subset of the plurality of RPA bots and bots of the second subset of the plurality of RDA bots to perform desired functions.

7 . A method, comprising:

training, by a computing platform, the computing platform having at least one processor and memory and based on historical data including a plurality of work processes, a type of resource that handled each work process and a time for a corresponding type of resource to handle the work process, a machine learning model to identify a workforce to handle work process requests, wherein the workforce includes a plurality of types of resources including at least one robotic process automation (RPA) bot, and at least one remote desktop automation (RDA) bot, and wherein training the machine learning model includes identifying patterns or sequences in the historical data to identify one or more types of resources to handle the work process requests;

receiving, by the at least one processor, a first work process request from a first computing device;

aggregating, by the computing platform, the first work process request with other received work process requests, wherein the other received work process requests are received from other computing devices to identify a current book of work;

receiving, by the computing platform, availability data associated with a plurality of RPA bots;

receiving, by the computing platform, availability data associated with a plurality of RDA bots;

retrieving, by the computing platform, license data associated with the plurality of RPA bots and the plurality of RDA bots, wherein the license data includes whether a license was paid for each bot of the plurality of RPA bots and the plurality of RDA bots;

executing, by the computing platform, the machine learning model to control and tune capacity management by determining a number and type of resources needed to process the book of work, the machine learning model using as inputs at least the book of work, the availability data associated with the plurality of the first type ofRPA bots, the availability data associated with the plurality of RDA bots and the license data to output a number of RPA bots and a number of RDA bots to perform the first work process requested;

generating, by the computing platform, an instruction to provision a first subset of the plurality of RPA bots based on the determined number and type of resource needed to process the book of work, wherein the first subset includes the number of RPA bots output by the machine learning model and wherein provisioning the first subset of the plurality of RPA bots includes enabling the first subset of RPA bots to perform the first work process request;

generate an instruction to provision a second subset of the plurality of RDA bots based on the determined number and type of resource needed to process the book of work, wherein the second subset includes the number of RDA bots output by the machine learning model and wherein provisioning the second subset of the plurality of RDA bots includes enabling the second subset of RDA bots to perform the first work process request;

transmitting, by the computing platform, the instruction to provision the first subset and the instruction to provision the second subset to a bot control server for bot provisioning of the first subset of the plurality of RPA bots and the second subset of the plurality of RDA bots; and

provisioning, based on the instruction, the first subset of the plurality of RPA bots and the second subset of the plurality of RDA bots.

8 . The method of claim 7 , wherein the availability data associated with at least one of: the plurality of RPA bots or the plurality of RDA bots includes real-time availability data.

9 . The method of claim 7 , wherein the machine learning model is further trained using the historical data to determine a baseline book of work and associated bot resources.

10 . The method of claim 7 , further including:

receiving, by the computing platform and from the bot control server, feedback data; and

updating, by the computing platform, the machine learning model based on the feedback data.

11 . One or more non-transitory computer-readable media storing instructions that, when executed by a computing platform comprising at least one processor, memory, and a communication interface, cause the computing platform to:

train, based on historical data including a plurality of work processes, a type of resource that handled each work process and a time for a corresponding type of resource to handle the work process, a machine learning model to identify a workforce to handle work process requests, wherein the workforce includes a plurality of types of resources including at least one robotic process automation (RPA) bot and at least one remote desktop automation (RDA) bot, and wherein training the machine learning model includes identifying patterns or sequences in the historical data to identify one or more types of resources to handle the work process requests;

receive a first work process request from a first computing device;

aggregate the first work process request with other received work process requests, wherein the other received work process requests are received from other computing devices to identify a current book of work;

receive availability data associated with a plurality of RPA bots;

receive availability data associated with a plurality of RDA bots;

retrieve license data associated with the plurality of the RPA bots and the plurality of RDA bots, wherein the license data includes whether a license was paid for each bot of the plurality of RPA bots and the plurality of RDA bots;

execute the machine learning model to control and tune capacity management by determining a number and type of resources needed to process the book of work, the machine learning model using as inputs at least the book of work, the availability data associated with the plurality of RPA bots, the availability data associated with the plurality of RDA bots, and the license data to output a number of RPA bots and a number of RDA bots to perform the first work process requested;

generate an instruction to provision a first subset of the plurality of RPA bots based on the determined number and type of resource needed to process the book of work, wherein the first subset includes the number of RPA bots output by the machine learning model and wherein provisioning the first subset of the plurality of RPA bots includes enabling the first subset of RPA bots to perform the first work process request;

generate an instruction to provision a second subset of the plurality of RDA bots based on the determined number and type of resource needed to process the book of work, wherein the second subset includes the number of RDA bots output by the machine learning model and wherein provisioning the second subset of the plurality of RDA bots includes enabling the second subset of RDA bots to perform the first work process request;

transmit the instruction to provision the first subset and the instruction to provision the second subset to a bot control server for bot provisioning of the first subset of the plurality of RPA bots and the second subset of the plurality of RDA bots; and

provision, based on the instruction, the first subset of the plurality of RPA bots and the second subset of the plurality of RDA bots.

12 . The one or more non-transitory computer-readable media of claim 11 , wherein bot provisioning includes requesting privileges to process one or more work processes from a line of business associated with the one or more work processes.

13 . The one or more non-transitory computer-readable media of claim 11 , wherein the availability data associated with at least one of: the plurality of RPA bots or the plurality of RDA bots includes real-time availability data.

14 . The one or more non-transitory computer-readable media of claim 11 , wherein the machine learning model is further trained using the historical data to determine a baseline book of work and associated bot resources.

15 . The one or more non-transitory computer-readable media of claim 11 , the instructions further causing the computing platform to:

receive, from the bot control server, feedback data; and

update the machine learning model based on the feedback data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 29, 2021
From: LATKAR, SACHIN MAHALASAKANT
To: BANK OF AMERICA CORPORATION
Reel/Frame 057962/0727 →
Continuity (1)
Related Publication 20230139459A1 · May 4, 2023
References Cited (20)
US 7039654B1 · Eder · 2006 [cited by applicant]
US 9513627B1 · Elazary et al. · 2016 [cited by applicant]
US 9529634B1 · Hsu · 2016 [cited by examiner]
US 9600340B1 · Mundar · 2017 [cited by examiner]
US 10872160B2 · AthuluruTlrumala · 2020 [cited by applicant]
US 10884598B2 · Bhatt et al. · 2021 [cited by applicant]
US 11444893B1 · Kalluri · 2022 [cited by examiner]
US 20150235143A1 · Eder · 2015 [cited by applicant]
US 20160196587A1 · Eder · 2016 [cited by applicant]
US 20170289069A1 · Plumb · 2017 [cited by examiner]
US 20200147791A1 · Safary · 2020 [cited by examiner]
US 20200364083A1 · Walby · 2020 [cited by examiner]
US 20220116485A1 · Gandhi · 2022 [cited by examiner]
US 20220263946A1 · Grebovic · 2022 [cited by examiner]
US 20220300336A1 · Major · 2022 [cited by examiner]
US 20220335223A1 · Tripathi · 2022 [cited by examiner]
US 20220360669A1 · Munoz · 2022 [cited by examiner]
US 20220382580A1 · Frank · 2022 [cited by examiner]
US 20230056439A1 · Dimble · 2023 [cited by examiner]
“IEEE Recommended Practice for Implementation and Management Methodology for Software-Based Intelligent Process Automation,” in IEEE Std 2755.Feb. 2020 , vol. No., pp. 1-59, Apr. 14, 2021 (Year: 2021). [cited by examiner]