IP Library Granted Patent US 12,650,686
Granted Patent B2
US 12,650,686 · App. 18/633,762 · Granted Jun 9, 2026

Robotic process automation (RPA) troubleshooting systems and methods

Inventor: Marian Platonov (Bellevue, WA)
Assignee: UiPath Inc.
G05B23/0256G05B23/0216G06F11/0766G06F11/079
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,650,686
App. No.
18/633,762
Granted
Jun 9, 2026
Kind
B2
Abstract

In some embodiments, a troubleshooting module executes on a host machine alongside an instance of a robotic process automation (RPA) robot that carries out an automation workflow. The troubleshooting module is configured to detect an automation failure and in response, to carry out a forensic investigation to determine a cause of the malfunction. Exemplary causes detected by the troubleshooter include focus theft and an inadvertent file lock. The troubleshooting module is further configured to identify a culprit (i.e., software entity causing the respective failure) and to communicate a descriptor of the culprit to a user, for instance by way of a failure notification displayed on a screen of the respective host machine or within an administration interface exposed by an RPA conductor orchestrating the execution of multiple RPA robots.

Claims (41)

1 . A computer system comprising at least one hardware processor configured to execute a troubleshooter module communicatively coupled to a robotic process automation (RPA) robot configured to execute an RPA workflow mimicking an interaction of a user with the computer system, the troubleshooter module configured to troubleshoot the RPA activity, comprising:

in response to a failure to execute the RPA workflow, identify a target computer file according to the RPA workflow;

in response to identifying the target computer file, determine whether the failure was caused by file locking of the target computer file according to a content of a data structure residing in a memory of the computer system and used by an operating system of the computer system to manage execution of software;

in response to determining that the failure was caused by file locking, identify a culprit software entity having locked the target computer file; and

initiate a display of a failure notification to a user, the failure notification including an indicator of a cause of the failure and an identifier of the culprit software entity.

2 . The computer system of claim 1 , wherein determining whether the failure was caused by file locking comprises determining whether the target computer file is currently locked.

3 . The computer system of claim 1 , wherein determining whether the failure was caused by file locking comprises determining according to a time of the failure whether the target file was locked at the time of the failure.

4 . The computer system of claim 3 , wherein:

the troubleshooter module is configured to construct an event log comprising a time record of file locks placed on the target computer file, the event log comprising, for each file lock, a time of occurrence of the respective file lock and an identifier of a software entity placing the respective file lock on the target computer file; and

wherein determining whether the target file was locked at the time of the failure comprises parsing the event log according to the time of the failure.

5 . The computer system of claim 3 , wherein the troubleshooter module is configured to determine whether the failure was caused by file locking further according to an identity of a software entity having a lock on the target computer file at the time of the failure.

6 . The computer system of claim 1 , wherein:

the failure notification is displayed within a user interface of an RPA conductor orchestrating the execution of multiple RPA robots including the RPA robot; and

initiating the display of the failure notification comprises transmitting a troubleshooting report to the RPA conductor, the troubleshooting report including the indicator of the cause of the failure and the identifier of culprit software entity.

7 . The computer system of claim 1 , wherein identifying the culprit software entity comprises determining whether the culprit software entity comprises an instance of the RPA robot.

8 . The computer system of claim 1 , wherein the failure notification further includes an identifier of a user account executing the culprit software entity.

9 . The computer system of claim 1 , wherein the target computer file stores a spreadsheet and wherein the RPA workflow comprises writing to the spreadsheet.

10 . The computer system of claim 1 , wherein the target computer file stores a database and wherein the RPA workflow comprises modifying a content of the database.

11 . A robotic process automation (RPA) troubleshooting method comprising employing at least one hardware processor of a computer system to execute a troubleshooter module communicatively coupled to a robotic process automation (RPA) robot configured to execute an RPA workflow mimicking an interaction of a user with the computer system, wherein the troubleshooter module is configured to troubleshoot the RPA activity, comprising:

in response to a failure to execute the RPA workflow, identifying a target computer file according to the RPA workflow;

in response to identifying the target computer file, determining whether the failure was caused by file locking of the target computer file according to a content of a data structure residing in a memory of the computer system and used by an operating system of the computer system to manage execution of software;

in response to determining that the failure was caused by file locking, identifying a culprit software entity having locked the target computer file; and

initiating a display of a failure notification to a user, the failure notification including an indicator of a cause of the failure and an identifier of the culprit software entity.

12 . The method of claim 11 , wherein determining whether the failure was caused by file locking comprises determining whether the target computer file is currently locked.

13 . The method of claim 11 , wherein determining whether the failure was caused by file locking comprises determining according to a time of the failure whether the target file was locked at the time of the failure.

14 . The method of claim 13 , wherein:

the troubleshooter module is configured to construct an event log comprising a time record of file locks placed on the target computer file, the event log comprising, for each file lock, a time of occurrence of the respective file lock and an identifier of a software entity placing the respective file lock on the target computer file; and

wherein determining whether the target file was locked at the time of the failure comprises parsing the event log according to the time of the failure.

15 . The method of claim 13 , comprising determining whether the failure was caused by file locking further according to an identity of a software entity having a lock on the target computer file at the time of the failure.

16 . The method of claim 11 , wherein:

the failure notification is displayed within a user interface of an RPA conductor orchestrating the execution of multiple RPA robots including the RPA robot; and

initiating the display of the failure notification comprises transmitting a troubleshooting report to the RPA conductor, the troubleshooting report including the indicator of the cause of the failure and the identifier of culprit software entity.

17 . The method of claim 11 , wherein identifying the culprit software entity comprises determining whether the culprit software entity comprises an instance of the RPA robot.

18 . The method of claim 11 , wherein the failure notification further includes an identifier of a user account executing the culprit software entity.

19 . The method of claim 11 , wherein the target computer file stores a spreadsheet and wherein the RPA workflow comprises writing to the spreadsheet.

20 . The method of claim 11 , wherein the target computer file stores a database and wherein the RPA workflow comprises modifying a content of the database.

21 . A non-transitory computer-readable medium storing instructions which, when executed by at least one hardware processor of a computer system, cause the computer system to execute a troubleshooter module communicatively coupled to a robotic process automation (RPA) robot configured to execute an RPA workflow mimicking a human interaction with the computer system, the troubleshooter module configured to troubleshoot the RPA activity, comprising:

in response to a failure to execute the RPA workflow, identify a target computer file according to the RPA workflow;

in response to identifying the target computer file, determine whether the failure was caused by file locking of the target computer file according to a content of a data structure residing in a memory of the computer system and used by an operating system of the computer system to manage execution of software;

in response to determining that the failure was caused by file locking, identify a culprit software entity having locked the target computer file; and

initiate a display of a failure notification to a user, the failure notification including an indicator of a cause of the failure and an identifier of the culprit software entity.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 12, 2024
From: PLATONOV, MARIAN; STAN, GHEORGHE C; MIRON, ION
To: UIPATH INC.
Reel/Frame 067096/0477 →
Continuity (2)
Continuation 18633737 · Apr 12, 2024
Related Publication 20250321572A1 · Oct 16, 2025
References Cited (22)
US 10705948B2 · Ramasamy · 2020 [cited by examiner]
US 11157397B2 · Ramasamy · 2021 [cited by examiner]
US 11232170B1 · Dines · 2022 [cited by examiner]
US 11281362B1 · Dines · 2022 [cited by examiner]
US 11294793B1 · Stan · 2022 [cited by examiner]
US 11307876B1 · Leonard, II · 2022 [cited by examiner]
US 11736556B1 · Marinovici · 2023 [cited by examiner]
US 11902094B1 · Puri · 2024 [cited by examiner]
US 12190143B2 · Paini · 2025 [cited by examiner]
US 12263593B2 · Singh · 2025 [cited by examiner]
US 12314748B2 · Ma · 2025 [cited by examiner]
US 20180074931A1 · Garcia · 2018 [cited by examiner]
US 20180370033A1 · Geffen · 2018 [cited by examiner]
US 20190129827A1 · Ramasamy · 2019 [cited by examiner]
US 20200192875A1 · Rudolf · 2020 [cited by examiner]
US 20210109834A1 · Singh · 2021 [cited by examiner]
US 20210342216A1 · Dines · 2021 [cited by examiner]
US 20220032470A1 · Singh · 2022 [cited by examiner]
US 20220147876A1 · Dalli · 2022 [cited by examiner]
US 20220188181A1 · Saha · 2022 [cited by examiner]
US 20220355473A1 · Mircea · 2022 [cited by examiner]
US 20250315279A1 · Shah · 2025 [cited by examiner]