IP Library › Granted Patent US 12,265,818
Granted Patent B2
US 12,265,818 · App. 18/514,663 · Granted Apr 1, 2025

Dynamic artificial intelligence / machine learning model update, or retrain and update, in digital processes at runtime

Inventor: Andrei Robert Oros (Timisoara, RO)
Assignee: UiPath, Inc.
G06F8/65G06F8/71G06F18/214G06N20/00
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,265,818
App. No.
18/514,663
Granted
Apr 1, 2025
Kind
B2
Abstract

Dynamically updating, or retraining and updating, artificial intelligence (AI)/machine learning (ML) models in digital processes at runtime is disclosed. Production operation may not need to be stopped for AI/ML model update or retraining and update. The update steps and/or retraining steps for the AI/ML model may be included as part of the digital process. The AI/ML model update may be requested from internal logic (e.g., from the evaluation of a condition, by an expression that calls for the AI/ML model, etc.), external requests (e.g., from external triggers in a finite state machine (FSM), such as a file change, database data, a service call, etc.), or both. Automation of AI/ML model updates or retraining and updates may be provided, where the software reloads/reinitializes/re-instantiates with a retrained and/or updated AI/ML model after (and possibly immediately after) the AI/ML model becomes available.

Claims (60)

1. A computer-implemented method, comprising:

listening for an update request for an artificial intelligence (AI)/machine learning (ML) model, by a digital process executing on a computing system and comprising an automation executing logic of a robotic process automation (RPA) workflow comprising an activity that calls the AI/ML model via an expression; and

responsive to receiving the update request to update the AI/ML model, reinitializing or re-instantiating the digital process to call an updated version of the AI/ML model at runtime of the digital process by modifying the expression of the activity that calls the AI/ML model, by the digital process executing on the computing system, wherein

the reinitializing of the digital process comprises resetting a state of one or more components of the digital process, and

the re-instantiating of the digital process comprises creating the AI/ML model inside the digital process.

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

listening for a retraining request for the AI/ML model, by the digital process executing on the computing system; and

responsive to receiving the retraining request to retrain the AI/ML model, initiating retraining of the AI/ML model during runtime of the digital process, by the digital process executing on the computing system.

3. The computer-implemented method of claim 2 , wherein the retraining of the AI/ML model occurs on one or more other computing systems different than the computing system executing the digital process.

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

using a current version of the AI/ML model during the retraining, by the digital process running on the computing system, until the update request is received.

5. The computer-implemented method of claim 2 , further comprising:

comparing performance of the retrained AI/ML model to a performance threshold, against performance of a previous version of the AI/ML model, or both, by the digital process executing on the computing system; and

updating the AI/ML model responsive to the retrained AI/ML model exceeding the performance threshold, the performance of the previous version of the AI/ML model, or both, by the digital process executing on the computing system.

6. The computer-implemented method of claim 1 , wherein the digital process comprises a business process management (BPM) flowchart, a sequential flow, or a finite state machine (FSM).

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

running the digital process initially in an initialization/instantiation state that makes the AI/ML model callable by the digital process prior to listening for the update request, by the digital process executing on the computing system.

8. The computer-implemented method of claim 1 , wherein the AI/ML model is embedded directly in the activity of the RPA workflow.

9. The computer-implemented method of claim 1 , wherein the digital process comprises an initialization state that loads the AI/ML model from storage or makes the AI/ML model callable by the digital process.

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

receiving a request to run the AI/ML model, by the digital process running on the computing system;

executing the AI/ML model, or causing the AI/ML model to be executed, by the digital process running on the computing system; and

returning results of the execution of the AI/ML model, by the digital process running on the computing system.

11. A non-transitory computer-readable medium storing a computer program comprising an automation executing logic of a robotic process automation (RPA) workflow comprising an activity that calls an artificial intelligence (AI)/machine learning (ML) model via an expression, the computer program configured to cause at least one processor to:

listen for a retraining request or an update request for the AI/ML model;

responsive to receiving the retraining request to retrain the AI/ML model, initiate retraining of the AI/ML model at runtime; and

responsive to receiving the update request to update the AI/ML model, reinitialize or re-instantiate the digital process at runtime of the digital process by modifying the expression of the activity that calls the AI/ML model to call an updated version of the AI/ML model, wherein

the reinitializing of the digital process comprises resetting a state of one or more components of the digital process, and

the re-instantiating of the digital process comprises creating the AI/ML model inside the digital process.

12. The computer program of claim 11 , wherein the computer program is further configured to cause the at least one processor to:

use a current version of the AI/ML model during the retraining until the update request is received.

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

compare performance of the retrained AI/ML model to a performance threshold, against performance of a previous version of the AI/ML model, or both; and

update the AI/ML model responsive to the retrained AI/ML model exceeding the performance threshold, the performance of the previous version of the AI/ML model, or both.

14. The computer program of claim 11 , wherein the computer program is further configured to cause the at least one processor to:

automatically initiate retraining of the AI/ML model after a predetermined amount of training data is received, after a predetermined amount of time has elapsed since a last retraining, or both.

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

receive a request to run the AI/ML model;

execute the AI/ML model or cause the AI/ML model to be executed; and

return results of the execution of the AI/ML model.

16. A computing system, comprising:

memory storing computer program instructions comprising a digital process, the digital process comprising and automation executing logic of a robotic process automation (RPA) workflow comprising an activity that calls an artificial intelligence (AI)/machine learning (ML) model via an expression; and

at least one processor configured to execute the computer program instructions, the computer program instructions configured to cause the at least one processor to:

listen for a retraining request for the AI/ML model,

responsive to receiving the retraining request to retrain the AI/ML model, initiate retraining of the AI/ML model,

listen for an update request for the AI/ML model, and

responsive to receiving the update request to update the AI/ML model, reinitialize or re-instantiate the digital process by modifying the expression of the activity that calls the AI/ML model to call an updated version of the AI/ML model, wherein

the reinitializing of the digital process comprises resetting a state of one or more components of the digital process to an initial value, and

the re-instantiating of the digital process comprises creating the AI/ML model inside the digital process at runtime.

17. The computing system of claim 16 , wherein the computer program instructions are further configured to cause the at least one processor to:

use a current version of the AI/ML model during the retraining until the update request is received.

18. The computing system of claim 16 , wherein the computer program instructions are further configured to cause the at least one processor to:

compare performance of the retrained AI/ML model to a performance threshold, against performance of a previous version of the AI/ML model, or both; and

update the AI/ML model responsive to the retrained AI/ML model exceeding the performance threshold, the performance of the previous version of the AI/ML model, or both.

19. The computing system of claim 16 , wherein the computer program instructions are further configured to cause the at least one processor to:

automatically initiate retraining of the AI/ML model after a predetermined amount of training data is received, after a predetermined amount of time has elapsed since a last retraining, or both.

20. The computing system of claim 16 , wherein the computer program instructions are further configured to cause the at least one processor to:

receive a request to run the AI/ML model;

execute the AI/ML model or cause the AI/ML model to be executed; and

return results of the execution of the AI/ML model.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2023
From: OROS, ANDREI ROBERT
To: UIPATH, INC.
Reel/Frame 065629/0061 →
Continuity (2)
Continuation 16722301 · Dec 20, 2019
Related Publication 20240095017A1 · Mar 21, 2024
References Cited (80)
US 6119149A · Notani · 2000 [cited by applicant]
US 6458081B1 · Matsui et al. · 2002 [cited by applicant]
US 8645276B2 · Wong et al. · 2014 [cited by applicant]
US 9690644B2 · Anderson et al. · 2017 [cited by applicant]
US 9785497B1 · Cook et al. · 2017 [cited by applicant]
US 10235192B2 · Hall et al. · 2019 [cited by applicant]
US 20050251527A1 · Phillips et al. · 2005 [cited by applicant]
US 20070043565A1 · Aggarwal et al. · 2007 [cited by applicant]
US 20130035973A1 · Desai et al. · 2013 [cited by applicant]
US 20160070596A1 · Anand et al. · 2016 [cited by applicant]
US 20160080422A1 · Belgodere et al. · 2016 [cited by applicant]
US 20180032393A1 · Chavda et al. · 2018 [cited by applicant]
US 20180089591A1 · Zeiler et al. · 2018 [cited by applicant]
US 20180197123A1 · Parimelazhagan et al. · 2018 [cited by applicant]
US 20180329399A1 · Neelakandan et al. · 2018 [cited by applicant]
US 20180365617A1 · Ghosh et al. · 2018 [cited by applicant]
US 20180370029A1 · Hall et al. · 2018 [cited by applicant]
US 20190057203A1 · Buddhiraju et al. · 2019 [cited by applicant]
US 20190102676A1 · Nazari et al. · 2019 [cited by applicant]
US 20190126463A1 · Purushothaman · 2019 [cited by applicant]
US 20190129759A1 · Stevens et al. · 2019 [cited by applicant]
US 20190130260A1 · Han et al. · 2019 [cited by applicant]
US 20190130310A1 · Rao et al. · 2019 [cited by applicant]
US 20190155225A1 · Kothandaraman et al. · 2019 [cited by applicant]
US 20190180746A1 · Diwan et al. · 2019 [cited by applicant]
US 20190244149A1 · Krishnaswamy · 2019 [cited by applicant]
US 20190318198A1 · Griffin et al. · 2019 [cited by applicant]
US 20190332508A1 · Goyal et al. · 2019 [cited by applicant]
US 20190340686A1 · Cella · 2019 [cited by applicant]
US 20200074595A1 · Wald et al. · 2020 [cited by applicant]
US 20210072734A1 · Hirota · 2021 [cited by applicant]
CN 103218217A · 2013 [cited by applicant]
CN 109102145A · 2018 [cited by applicant]
CN 109117215A · 2019 [cited by applicant]
CN 109446259A · 2019 [cited by applicant]
CN 109600688A · 2019 [cited by applicant]
JP H05279980A · 1993 [cited by applicant]
JP 2001137237A · 2001 [cited by applicant]
JP 2005309712A · 2005 [cited by applicant]
JP 2019159556A · 2019 [cited by applicant]
JP 2019206041A · 2019 [cited by applicant]
KR 20170032133A · 2017 [cited by applicant]
KR 20170101455A · 2017 [cited by applicant]
KR 1020190095193A · 2019 [cited by applicant]
KR 1020190106925A · 2019 [cited by applicant]
WO 2018111270A1 · 2018 [cited by applicant]
WO 2019215994A1 · 2019 [cited by applicant]
WO 2019216938A1 · 2019 [cited by applicant]
Aguirre, Santiago, and Alejandro Rodriguez. “Automation of a business process using robotic process automation (rpa): A case study.” Workshop on Engineering Applications. Springer, Cham, 2017. (Year: 2017). [cited by applicant]
Bellman, et al., “Intelligent Process Automation: Building the Bridge Between Robotic Process Automation and Artificial Intelligence”, (2019). [cited by applicant]
Berruti, et al. “Intelligent Process Automation: The Engine at the Core of the Next-Generation Operating Model”, Digital McKinsey, (Mar. 2017). [cited by applicant]
Chalmers, Eric, “Machine Learning with Certainty: A Requirement for Intelligent Process Automation.” 2018 17th IEEE International Conference on Machine Learning and Applications (ICMLA). IEEE, 2018. [cited by applicant]
Daniel T Pellett, “Examiner's Answer”, issued Dec. 20, 2021, U.S. Appl. No. 16/722,301. [cited by applicant]
Daniel T Pellett, “Final Office Action”, issued Mar. 3, 2021, U.S. Appl. No. 16/722,301. [cited by applicant]
Daniel T Pellett, “Non-Final Office Action”, issued May 26, 2021, U.S. Appl. No. 16/722,301. [cited by applicant]
Daniel T Pellett, “Non-Final Office Action”, issued May 27, 2020, U.S. Appl. No. 16/722,301. [cited by applicant]
Daniel T Pellett, “Non-Final Office Action”, issued Nov. 25, 2020, U.S. Appl. No. 16/722,301. [cited by applicant]
Daniel T Pellett, “Notice of Allowance”, issued Oct. 3, 2023, U.S. Appl. No. 16/722,301. [cited by applicant]
Devshree Golecha, “Robotic Process Automation,” Foreign Digest on Quality, Issue 2, available at http://www.cnki.net (Feb. 2019). [cited by applicant]
European Search Report issued in EP Application No. 20189062 on Jan. 13, 2021. [cited by applicant]
First Office Action issued in CN Application No. 202010897123.5 on Jun. 14, 2023. [cited by applicant]
First Office Action Search Report issued in CN Application No. 202010897123.5 on Jun. 14, 2023. [cited by applicant]
Geyer-Klingeberg, Jerome, et al. “Process Mining and Robotic Process Automation: A Perfect Match.” 8PM (Dissertation/Demos/ Industry). 2018. (Year: 2018). [cited by applicant]
Kopec, et al., “Hybrid Approach to Automation, RPA and Machine Learning: A Method for the Human-Centered Design of Software Robots.” arXiv preprint arXiv: 1811.02213 (2018). [cited by applicant]
Lacity, Mary C. et al., “A New Approach to Automating Services” MIT Sloan Management Review (2017). [cited by applicant]
Le Clair, Craig, A. Cullen, and M. King. “The Forrester Wave™ : Robotic Process Automation, 01 2017.” Forrester Research (2017). (Year: 2017). [cited by applicant]
Mohanty, et al., “How to Compete in the Age of Artificial Intelligence: Implementing a Collaborative Human-Machine Strategy for Your Business” (2018). [cited by applicant]
Notice of Allowance issued in Japanese Application No. 2020-125400 on May 31, 2022. [cited by applicant]
Notice of Allowance issued in Korean Application No. 10-2020-0103986 on Jul. 25, 2022. [cited by applicant]
Notification of Reasons for Refusal issued in Japanese Application No. 2020-125400 on Nov. 16, 2021. [cited by applicant]
Office Action issued in Korean Application No. 10-2020-0103986 on Dec. 21, 2021. [cited by applicant]
Ruchi Isaac et al., “Delineated Analysis of Robotic Process Automation Tools,” First International Conference on Information Technology, Communications and Computing (ICITCC 2017), Bhopal, M.P., India (Dec. 24, 2017). [cited by applicant]
Tanetaka Ogasawara, supervised by UiPath Co., Ltd., “Improve business with RPA tools! Introduction to UiPath Basics”, 1st Edition, Shuwa System Co., Ltd., 12th to 34th, 56th to 69th, 130th to 137th, ISBN: 978-4-7980-571… [cited by applicant]
Tripathi, Alok Mani. Learning Robotic Process Automation: Create Software robots and automate business processes with the leading RPA tool-UiPath. Packt Publishing Ltd, 2018. (Year: 2018). [cited by applicant]
UiPath RPA Cooperation Development Kit for AI Inside Handwritten AI-OCR Solution “DX Suite” Article available at https://dx-suite.com/news/2019/01/16/aiinside-uipath-release (Jan. 16, 2019). [cited by applicant]
Van der Aalst, Wil MP, Martin Bichler, and Armin Heinzl. “Robotic process automation.” (2018): 269-272. (Year: 2018). [cited by applicant]
Ajay Kattepur, “Workflow composition and analysis in Industry 4.0 warehouse automation,” IET Collab. Intell. Manuf., vol. 1 Iss. 3, pp. 78-89 (Sep. 2019). [cited by applicant]
Chenglai Wu, “Study on the Event Stream Processing in the Real-Time and Dynamic Access Control,” Master's Theses for Anhui University of Technology (Dec. 20, 2015). [cited by applicant]
Notice of Intent to Grant a Patent issued in Chinese Application No. 202010897123.5 on Nov. 22, 2023. [cited by applicant]
Search Report for Notice of Grant issued in Chinese Application No. 202010897123.5 on Nov. 22, 2023. [cited by applicant]