IP Library Granted Patent US 12,379,945
Granted Patent B2
US 12,379,945 · App. 17/143,392 · Granted Aug 5, 2025

Robotic process automation architectures and processes for hosting, monitoring, and retraining machine learning models

Inventor: Shashank Shrivastava (Bangalore, IN)
Assignee: UiPath, Inc.
G06F9/451G05B19/04G06F8/61G06F21/602G06F21/6218G06F30/27G06N3/008G06N3/10G06N3/105G06N20/00G06F2212/402G06F2221/2107
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,379,945
App. No.
17/143,392
Granted
Aug 5, 2025
Kind
B2
Abstract

Robotic process automation (RPA) architectures and processes for hosting, monitoring, and retraining ML machine learning (ML) models are disclosed. Retraining is an important part of the ML model lifecycle. The retraining may depend on the type of the ML model and the data on which the ML model will be trained. A secure storage layer may be used to store data from RPA robots for retraining. This retraining may be performed automatically, remotely, and without user involvement.

Claims (46)

1. A system, comprising:

one or more robotic process automation (RPA) robots configured to:

call one or more machine learning (ML) models by respective activities of respective RPA workflows of the one or more RPA robots, the RPA workflows defining a controllable execution order over time and a relationship between a set of activities comprising the respective activities that call the one or more ML models by an expression of the respective activities, at least one activity of the set of activities configured to utilize at least one driver that facilitates interaction between the one or more RPA robots and software of respective computing systems,

receive results from the call to the one or more ML models, and

complete execution of the respective activities that call the one or more ML models; and

an artificial intelligence (AI) center comprising a plurality of physical servers configured to store the one or more ML models and to execute the one or more ML models upon a call from a respective RPA robot of the one or more RPA robots, wherein

the plurality of physical servers are configured to:

store a plurality of datasets for the ML models, each dataset comprising similar types of data in a logical or physical grouping, and

retrain an ML model of the one or more ML models responsive to a training condition being met or responsive to retraining being manually requested using a subset of the plurality of datasets specified in a training configuration for the ML model and deploy the retrained ML model to be called by the one or more RPA robots, wherein the ML model is retrained based on a confidence threshold.

2. The system of claim 1 , wherein the plurality of physical servers comprise:

a training cluster configured to run one or more retraining pipelines;

a core microservices cluster configured to perform create/read/update/delete (CRUD) operations for the one or more ML models and to cause a retraining pipeline of the training cluster to initiate retraining of the one or more ML models; and

an ML services cluster that is configured to execute the one or more ML models and provide results of the execution to calling RPA robots of the one or more RPA robots.

3. The system of claim 1 , wherein an RPA workflow of at least one of the one or more RPA robots comprises a data push activity that comprises a location of storage for the respective RPA robot to upload data for retraining.

4. The system of claim 1 , wherein at least one RPA robot of the one or more RPA robots is configured to iterate through local data, data stored in a remote database, or both, and send the data to storage of the AI center for retraining.

5. The system of claim 1 , wherein the plurality of datasets are presented as pointers to ML models during retraining, the ML model being retrained accessing the subset of the plurality of datasets for retraining via the respective pointers.

6. The system of claim 1 , wherein the plurality of physical servers are configured to:

receive one or more performance measures for the ML model being retrained; and

generate one or more scores for the one or more performance measures during the retraining.

7. The system of claim 6 , wherein changes to the one or more scores are tracked over time as retraining is performed multiple times.

8. The system of claim 1 , wherein the plurality of physical servers are configured to adjust a number of data points for retraining, a frequency with which retraining data is collected, an amount of retraining data that is collected, one or more triggers for retraining, or a combination thereof.

9. The system of claim 1 , wherein an RPA workflow of at least one of the one or more RPA robots is configured to adjust a number of data points for retraining, a frequency with which retraining data is collected, an amount of retraining data that is collected, one or more triggers for retraining, or a combination thereof.

10. The system of claim 1 , wherein the plurality of physical servers permit the one or more RPA robots to call the one or more ML models and receive results of execution of the ML models, but does not permit the one or more RPA robots to access the one or more ML models themselves.

11. A non-transitory computer-readable medium storing a computer program, the computer program configured to cause at least one processor to:

store a plurality of machine learning (ML) models and a plurality of datasets for the ML models, each dataset comprising similar types of data in a logical or physical grouping;

retrain an ML model of the plurality of ML models responsive to a training condition being met or responsive to retraining being manually requested using a subset of the plurality of datasets specified in a training configuration for the ML model, wherein the ML model is retrained based on a confidence threshold; and

deploy the retrained ML model by making the retrained ML model available to be called by one or more robotic process automation (RPA) robots by respective activities of respective RPA workflows of the one or more RPA robots, the RPA workflows defining a controllable execution order over time and a relationship between a set of activities comprising the respective activities that call the one or more ML models by an expression of the respective activities, at least one activity of the set of activities configured to utilize at least one driver that facilitates interaction between the one or more RPA robots and software of respective computing systems.

12. The non-transitory computer-readable medium of claim 11 , wherein the plurality of datasets are presented as pointers to ML models during retraining, the ML model being retrained accessing the subset of the plurality of datasets for retraining via the respective pointers.

13. The non-transitory computer-readable medium of claim 11 , wherein the computer program is further configured to cause the at least one processor to:

receive one or more performance measures for the ML model being retrained; and

generate one or more scores for the one or more performance measures during the retraining.

14. The non-transitory computer-readable medium of claim 13 , wherein changes to the one or more scores are tracked over time as retraining is performed multiple times.

15. The non-transitory computer-readable medium of claim 11 , wherein the computer program is further configured to cause the at least one processor to:

adjust a number of data points for retraining, a frequency with which retraining data is collected, an amount of retraining data that is collected, one or more triggers for retraining, or a combination thereof.

16. The non-transitory computer-readable medium of claim 11 , wherein the computer program is further configured to cause the at least one processor to:

permit the one or more RPA robots to call the plurality of ML models and receive results of execution of the ML models; and

prevent the one or more RPA robots from accessing at least one of the plurality of ML models themselves.

17. An artificial intelligence (AI) center, comprising:

a training cluster comprising at least one physical server configured to run one or more retraining pipelines, wherein the retraining pipelines are training jobs running in the training cluster for different tenants;

a core microservices cluster comprising at least one physical server configured to perform create/read/update/delete (CRUD) operations for one or more machine learning (ML) models and to cause a retraining pipeline of the training cluster to initiate retraining of the one or more ML models, wherein one or more of the ML models are retrained based on a confidence threshold; and

an ML services cluster comprising at least one physical server that is configured to execute the one or more ML models and provide results of the execution to calling robotic process automation (RPA) robots by respective activities of respective RPA workflows of the calling RPA robots, the RPA workflows defining a controllable execution order over time and a relationship between a set of activities comprising the respective activities that call the one or more ML models by an expression of the respective activities, at least one activity of the set of activities configured to utilize at least one driver that facilitates interaction between the calling RPA robots and software of respective computing systems.

18. The AI center of claim 17 , wherein the at least one physical server of the training cluster is configured to retrain an ML model of the one or more ML models responsive to a training condition being met or responsive to retraining being manually requested using a subset of the plurality of datasets specified in a training configuration for the ML model.

19. The AI center of claim 18 , wherein the at least one physical server of the core microservices cluster is configured to deploy the retrained ML model to the at least one physical server of the ML services cluster to be called by the RPA robots.

20. The AI center of claim 18 , wherein the plurality of datasets are presented as pointers to ML models during retraining, the ML model being retrained accessing the subset of the plurality of datasets for retraining via the respective pointers.

21. The AI center of claim 17 , wherein the at least one physical server of the training cluster is configured to adjust a number of data points for retraining, a frequency with which retraining data is collected, an amount of retraining data that is collected, one or more triggers for retraining, or a combination thereof.

22. The AI center of claim 17 , wherein the at least one physical server of the ML services cluster permits the one or more RPA robots to call the one or more ML models and receive results of execution of the ML models, but does not permit the one or more RPA robots to access the one or more ML models themselves.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 7, 2021
From: SHRIVASTAVA, SHASHANK
To: UIPATH, INC.
Reel/Frame 054843/0806 →
Priority Claims (2)
IN 202011051236 · Nov 25, 2020 · national
IN 202011051237 · Nov 25, 2020 · national
Continuity (1)
Related Publication 20220164700A1 · May 26, 2022
References Cited (113)
US 7792353B2 · Forman et al. · 2010 [cited by applicant]
US 10623233B1 · McConnell · 2020 [cited by examiner]
US 10710239B2 · Safary et al. · 2020 [cited by applicant]
US 10733329B1 · Ragupathy et al. · 2020 [cited by applicant]
US 10789157B2 · Jain et al. · 2020 [cited by applicant]
US 10802889B1 · Ganesan · 2020 [cited by examiner]
US 10817314B1 · Ganesan et al. · 2020 [cited by applicant]
US 10963692B1 · Corcoran · 2021 [cited by examiner]
US 11182178B1 · Singh · 2021 [cited by examiner]
US 11250097B1 · Clarke · 2022 [cited by examiner]
US 11461119B2 · Lewis · 2022 [cited by applicant]
US 11613008B2 · Han · 2023 [cited by examiner]
US 11642783B2 · Han · 2023 [cited by examiner]
US 12159203B1 · Shukla · 2024 [cited by examiner]
US 20050033709A1 · Meng et al. · 2005 [cited by applicant]
US 20160358101A1 · Bowers et al. · 2016 [cited by applicant]
US 20170352041A1 · Ramamurthy · 2017 [cited by examiner]
US 20180089591A1 · Zeiler et al. · 2018 [cited by applicant]
US 20190138938A1 · Vasseur et al. · 2019 [cited by applicant]
US 20190138946A1 · Asher et al. · 2019 [cited by applicant]
US 20190156247A1 · Faulhaber, Jr. et al. · 2019 [cited by applicant]
US 20190180746A1 · Diwan · 2019 [cited by examiner]
US 20190324781A1 · Ramamurthy et al. · 2019 [cited by applicant]
US 20190332508A1 · Goyal · 2019 [cited by examiner]
US 20200019882A1 · Garg et al. · 2020 [cited by applicant]
US 20200034745A1 · Nagpal et al. · 2020 [cited by applicant]
US 20200065334A1 · Rodriguez · 2020 [cited by examiner]
US 20200067923A1 · Dasari · 2020 [cited by examiner]
US 20200111023A1 · Murugappan et al. · 2020 [cited by applicant]
US 20200134374A1 · Oros · 2020 [cited by applicant]
US 20200206920A1 · Ma et al. · 2020 [cited by applicant]
US 20200234183A1 · Ghatage · 2020 [cited by examiner]
US 20200272920A1 · Liu · 2020 [cited by examiner]
US 20200349452A1 · Ragavan et al. · 2020 [cited by applicant]
US 20200364083A1 · Walby · 2020 [cited by examiner]
US 20200387358A1 · Chae · 2020 [cited by applicant]
US 20210029129A1 · Gupta et al. · 2021 [cited by applicant]
US 20210075749A1 · Viswanathan · 2021 [cited by examiner]
US 20210109896A1 · Shemer · 2021 [cited by examiner]
US 20210117895A1 · Tondevold et al. · 2021 [cited by applicant]
US 20210142233A1 · Masood · 2021 [cited by examiner]
US 20210150411A1 · Coenders et al. · 2021 [cited by applicant]
US 20210303381A1 · Baldassarre · 2021 [cited by examiner]
US 20210304064A1 · Mudi · 2021 [cited by examiner]
US 20210326717A1 · Mueller et al. · 2021 [cited by applicant]
US 20210334817A1 · Boston · 2021 [cited by examiner]
US 20210342736A1 · Singh · 2021 [cited by examiner]
US 20210357757A1 · Nguyen · 2021 [cited by applicant]
US 20210374479A1 · Zambetti, Jr. · 2021 [cited by examiner]
US 20210390405A1 · Choi · 2021 [cited by examiner]
US 20220012134A1 · Chatterjee et al. · 2022 [cited by applicant]
US 20220019195A1 · Yu · 2022 [cited by examiner]
US 20220028010A1 · Jeske et al. · 2022 [cited by applicant]
US 20220032457A1 · Anand · 2022 [cited by examiner]
US 20220046292A1 · Nair et al. · 2022 [cited by applicant]
US 20220067573A1 · Munguia Tapia · 2022 [cited by examiner]
US 20220083330A1 · Monakova · 2022 [cited by applicant]
US 20220083354A1 · Singh · 2022 [cited by examiner]
US 20220094606A1 · Casey · 2022 [cited by examiner]
US 20220107622A1 · Monakova · 2022 [cited by examiner]
US 20220107744A1 · Capelo · 2022 [cited by examiner]
US 20220114249A1 · Grancharov et al. · 2022 [cited by applicant]
US 20220116485A1 · Gandhi · 2022 [cited by examiner]
US 20220121982A1 · Rajagopalan · 2022 [cited by examiner]
US 20220124000A1 · Prasad · 2022 [cited by examiner]
US 20220147934A1 · Chandrashekar · 2022 [cited by examiner]
US 20220156300A1 · Paruchuri · 2022 [cited by examiner]
US 20220300336A1 · Major · 2022 [cited by examiner]
US 20220326974A1 · Bond et al. · 2022 [cited by applicant]
US 20240025034A1 · Lachenmayr · 2024 [cited by examiner]
WO 2020061699A1 · 2020 [cited by applicant]
WO 2020227429A1 · 2020 [cited by applicant]
Mao et al., “Speculative Container Scheduling for Deep Learning Applications in a Kubernetes Cluster” Oct. 21, 2020, arXiv: 2010.11307v1, pp. 1-11. (Year: 2020). [cited by examiner]
Morales, Juan, “Kubernetes: the technological piece to ensure RPA high availability” Sep. 20, 2018, pp. 1-8. (Year: 2018). [cited by examiner]
Chakraborti et al., “From Robotic Process Automation to Intelligent Process Automation” Jul. 27, 2020, arXiv: 2007.13257v1, pp. 1-14. (Year: 2020). [cited by examiner]
Agostinelli et al., “Toward Intelligent Robotic Process Automation for BPMers” Jan. 3, 2020, arXiv: 2001.00804v1, pp. 1-7. (Year: 2020). [cited by examiner]
Leno et al., “Identifying Candidate Routines for Robotic Process Automation from Unsegmented UI Logs” Aug. 27, 2020, arXiv: 2008.05782v2, pp. 1-8. (Year: 2020). [cited by examiner]
Wroblewska et al., “Robotic Process Automation of Unstructured Data with Machine Learning” 2018, pp. 9-16. (Year: 2018). [cited by examiner]
Kopec et al., “Hybrid Approach to Automation, RPA and Machine Learning: a Method for the Human-centered Design of Software Robots” Nov. 6, 2018, arXiv: 1811.02213v1, pp. 1-5. (Year: 2018). [cited by examiner]
Masood et Hashmi, “Cognitive Robotics Process Automation: Automate This!” Mar. 28, 2019, Chapter 5 in ‘Cognitive Computing Recipes: Artificial Intelligence Solutions Using Microsoft Cognitive Services and TensorFlow’ Sp… [cited by examiner]
Masood et Hashmi, “Cognitive Computing Recipes: Artificial Intelligence Solutions Using Microsoft Cognitive Services and TensorFlow” Mar. 28, 2019, Springer, pp. i-407. (Year: 2019). [cited by examiner]
Chao et Chollet, “Writing your own Callbacks” Mar. 20, 2019, pp. 1-12, online https://www.tensorflow.org/guide/keras/writing_your_own_callbacks. (Year: 2019). [cited by examiner]
Oros, Andrei Robert, Ex Parte decision on appeal 2022-001922, Jul. 5, 2023, pp. 1-23. (Year: 2023). [cited by examiner]
Pramod, Om “Callbacks: You Secret Weapon in Machine Learning” Mar. 6, 2024, pp. 1-22. (Year: 2024). [cited by examiner]
Keras “Callbacks API” 2020, pp. 1-2, online at https://keras.io/api/callbacks/ (Year: 2020). [cited by examiner]
AltexSoft, “How Robotic Process Automation (RPA) Applies Artificial Intelligence: Cognitive Automation, Technology, and Use Cases” Jul. 18, 2019, pp. 1-20. (Year: 2019). [cited by examiner]
Bellman, et Goransson, “Intelligent Process Automation: Building the bridge between Robotic Process Automation and Artificial Intelligence” 2019, pp. i-83. (Year: 2019). [cited by examiner]
Yatskiv et al., “Method of Robotic Process Automation in Software Testing using Artificial Intelligence” Sep.30, 2020, pp. 501-504. (Year: 2020). [cited by examiner]
Martins et al., “Using machine learning for cognitive Robotic Process Automation (RPA)” Jun. 2020, pp. 1-6. (Year: 2020). [cited by examiner]
Martinez-Rojas et al., “Towards a Taxonomy of Cognitive RPA Components” Sep. 3, 2020, pp. 1-15. (Year: 2020). [cited by examiner]
Patel et al., “Customized Automated Email Response Bot using Machine Learning and Robotic Process Automation” Jan. 2019, pp. 1-7. (Year: 2019). [cited by examiner]
Jayaram et al., “FfDL: A Flexible Multi-tenant Deep Learning Platform” Sep. 14, 2019, arXiv: 1909.06526v1, pp. 1-16. (Year: 2019). [cited by examiner]
Boag et al., “Dependability in a Multi-tenant Multi-framework Deep Learning as-a-Service Platform” May 17, 2018, pp. 1-4. (Year: 2018). [cited by examiner]
Wu et al., “Elastic Deep Learning in Multi-Tenant GPU Clusters” Nov. 30, 2019, arXiv: 1909.11985v2, pp. 1-12. (Year: 2019). [cited by examiner]
Jeon et al., “Analysis of Large-Scale Multi-Tenant GPU Clusters for DNN Training Workloads” Aug. 8, 2019, pp. 1-14. (Year: 2019). [cited by examiner]
International Search Report & Written Opinion, issued Feb. 16, 2022, PCT Patent Application No. PCT/US21/56924. [cited by applicant]
International Search Report & Written Opinion, issued Feb. 21, 2022, PCT Application No. PCT/US21/56925. [cited by applicant]
UiPath “About Pipelines” page available at https://docs.uipath.com/ai-fabric/v0/docs/about-pipelines (last accessed Nov. 13, 2020). [cited by applicant]
Wikipedia hyperparameter optimization page available at https://en.wikipedia.org/wiki/Hyperparameter_optimization (last accessed Nov. 13, 2020). [cited by applicant]
Blue Prism, “How Blue Prism Sets the Standard for Secure Robotic Process Automation” Jan. 2020, white paper, pp. 1-16. (2020). [cited by applicant]
Chase Paul Hinckley, “Non-Final Office Action”, issued Jul. 18, 2023, U.S. Appl. No. 17/144,467. [cited by applicant]
Hamilton, et al., “Large-Scale Intelligent Microservices” Sep. 17, 2020, arXiv: 2009.08044v1, pp. 1-13, (2020). [cited by applicant]
Hannousse, et al., “Securing Microservices and Microservice Architectures: A Systematic Mapping Study” Jun. 22, 2020, arXiv: 2003.07262v2, pp. 1-21, (2020). [cited by applicant]
Morales, Juan Manuel Reina, “Kubernetes: the technological piece to ensure RPA high availability” Sep. 20, 2018, pp. 1-8. (Year: 2020). [cited by applicant]
Percival, Mark, “Encryption isn't going to solve your RPA security issues” Feb. 23, 2021, pp. 1-8, (2021). [cited by applicant]
Vishal Kumar, “SAP Intelligent RPA—Simplified AP I/Web Service Call” Sep. 23, 2020, pp. 1-17, (2020). [cited by applicant]
First Examination Report issued in Indian Application No. 202011051236 on Jul. 11, 2023. [cited by applicant]
First Examination Report issued in Indian Application No. 202011051237 on Jul. 10, 2023. [cited by applicant]
Chase Paul Hinckley, “Advisory Action”, issued Feb. 27, 2024, U.S. Appl. No. 17/144,467. [cited by applicant]
Chase Paul Hinckley, “Final Office Action”, issued Jan. 2, 2024, U.S. Appl. No. 17/144,467. [cited by applicant]
Chase Paul Hinckley, “Non-Final Office Action”, issued Aug. 14, 2024, U.S. Appl. No. 17/144,467. [cited by applicant]
Chase Paul Hinckley, “Final Office Action”, issued Jan. 21, 2025, U.S. Appl. No. 17/144,467. [cited by applicant]
Chase Paul Hinckley, “Notice of Allowance”, issued May 7, 2025, U.S. Appl. No. 17/144,467. [cited by applicant]