IP Library › Granted Patent US 11,325,254
Granted Patent B2
US 11,325,254 · App. 16/989,003 · Granted May 10, 2022

Automation windows for robotic process automation

Inventor: Andrew Hall (Bellevue, WA)
Assignee: UiPath, Inc.
B25J9/1661G06F9/54G06F9/542G05B2219/31124G05B2219/50391
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 11,325,254
App. No.
16/989,003
Filed
Aug 10, 2020
Granted
May 10, 2022
Kind
B2
Art Unit
2194
USPC
719/312
Abstract

Automation windows for RPA for attended or unattended robots are disclosed. A child session is created and hosted as a window including the UIs of applications of a window associated with a parent session. Running multiple sessions allows a robot to operate in this child session while the user interacts with the parent session. The user may thus be able to interact with applications that the robot is not using or the user and the robot may be able to interact with the same application if that application is capable of this functionality. The user and the robot are both interacting with the same application instances and file system. Changes made via the robot and the user in an application will be made as if a single user made them, rather than having the user and the robot each work with separate versions of the applications and file systems.

Claims (53)

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

launch a child session window and a child session, wherein the child session is a child of a parent session for an operating system and the child window is located within a parent window of the parent session;

initialize a robotic process automation (RPA) robot in the child session as a process; and

execute the RPA robot, wherein

during execution, the RPA robot executes an RPA workflow comprising a plurality of activities within the child session,

the parent session and the child session have access to a common file system, and

the RPA robot is an attended robot and a user interacting with an instance of an application via the parent session does not interfere with the RPA robot interacting with a different instance of the application or an instance of a different application via the child session.

2. The non-transitory computer-readable medium of claim 1 , wherein when executing the plurality of activities in the RPA workflow, the RPA robot interacts with one or more common applications running on a computing system that are accessible via both the parent session and the child session.

3. The non-transitory computer-readable medium of claim 1 , wherein the child session window is launched from a robot tray application in the parent session window.

4. The non-transitory computer-readable medium of claim 3 , wherein

communication between the robot tray application and the RPA robot is accomplished using an inter-process communication (IPC) protocol, and

the robot tray application is configured to send commands to the RPA robot process via the IPC protocol.

5. The non-transitory computer-readable medium of claim 4 , wherein the RPA robot is configured to send status notifications to the robot tray application via the IPC protocol.

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

automatically end the child session and close the child session window after the RPA robot completes execution of the RPA workflow.

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

launch an additional child session window and an additional respective session that shares the common file system;

initialize another RPA robot in the additional child session; and

execute the other RPA robot.

8. The non-transitory computer-readable medium of claim 1 , wherein when the RPA robot is an attended robot and a user attempts to interact with an application that the RPA robot is interacting with, the computer program is further configured to cause the at least one processor to:

display a message to the user in the parent session window indicating that the RPA robot is currently accessing the application.

9. The non-transitory computer-readable medium of claim 1 , wherein

the parent and child sessions are launched at design time,

the RPA robot performs an attended automation, and

an integrated development environment (IDE) application executes on a computing system associated with the parent session and is configured to initiate the attended automation.

10. The non-transitory computer-readable medium of claim 1 , wherein the parent session and the child session run on different computing systems.

11. The non-transitory computer-readable medium of claim 1 , wherein the parent session window, the child session window, or both, comprise a window representing a user interface (UI) displayed within a main UI, a second screen of a second display of a computing system, a virtual desktop, or an isolated environment.

12. The non-transitory computer-readable medium of claim 1 , wherein the RPA robot is an attended robot and the RPA robot is initialized and executed in the parent session while a user interacts with the parent session.

13. The non-transitory computer-readable medium of claim 1 , wherein the launching of the child session window and the child session, the initialization of the RPA robot in the child session, and the execution of the RPA robot are performed via a remote computing system.

14. The non-transitory computer-readable medium of claim 1 , wherein the RPA robot is an unattended robot.

15. A computer-implemented method for performing attended automation for robotic process automation (RPA) at design time, comprising:

launching a child session window and a child session from an integrated development environment (IDE), wherein the child session is a child of a parent session for an operating system and the child window is located within a parent window of the parent session;

initializing a robotic process automation (RPA) robot in the child session as a process; and

executing the RPA robot, wherein

during execution, the RPA robot executes an RPA workflow comprising a plurality of activities within the child session,

the parent session and the child session have access to a common file system, and

the RPA robot is an attended robot and a user interacting with an instance of an application via the parent session does not interfere with the RPA robot interacting with a different instance of the application or an instance of a different application via the child session.

16. The computer-implemented method of claim 15 , further comprising:

receiving status messages from the RPA robot during robot operation; and

displaying the status messages in the IDE.

17. The computer-implemented method of claim 15 , wherein when a user provides a command to terminate operation of the RPA robot, the method further comprises:

terminating operation of the RPA robot, the child session, and the child window, by the IDE.

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

launch a child session window and a child session, wherein the child session is a child of a parent session for an operating system and the child window is located within a parent window of the parent session;

initialize a robotic process automation (RPA) robot in the child session as a process; and

execute the RPA robot, wherein

during execution, the RPA robot executes an RPA workflow comprising a plurality of activities within the child session,

the parent session and the child session have access to a common file system, and

the RPA robot is an unattended robot and a user interacting with an instance of an application via the parent session does not interfere with the RPA robot interacting with a different instance of the application or an instance of a different application via the child session.

19. The non-transitory computer-readable medium of claim 18 , wherein

the child session window is launched from a robot tray application in the parent session window,

communication between the robot tray application and the RPA robot is accomplished using an inter-process communication (IPC) protocol, and

the robot tray application is configured to send commands to the RPA robot process via the IPC protocol.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2020
From: HALL, ANDREW
To: UIPATH, INC.
Reel/Frame 053443/0813 →
Continuity (3)
Continuation 16874593 · May 14, 2020
Continuation 16793064 · Feb 18, 2020
Related Publication 20210252703A1 · Aug 19, 2021
Cited By (2)
US 12,210,889 US 12,276,950