Automation Windows for Parallel User and RPA Robot Sessions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional emulators, simulators, virtual machines, and hybrid virtual machines do not effectively address the issues arising with attended automation robots operating on the same computing system as the user, leading to user disengagement and inability to interact with other applications.

Innovation Solution

The implementation of automation windows that allow for the creation of a child session window within a parent session, enabling both the user and the robot to interact with the same computing system without interference, with the parent and child sessions sharing a common file system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Extent of automation

If the robot controls applications through the user interface in the same manner that the user would, then the robot can perform automation tasks, but the user becomes unable to interact with the computing system while the robot is running

Engineering Contradiction:
Improverobot automation capabilityVSAvoiduser interaction capability
Core Design Contradiction:
Extent of automationVSEase of operation

Solution Approach 1:

The system segments the computing system into multiple sessions (user session and robot session), allowing the user and robot to operate independently within their own sessions while sharing the same computing system. The robot session window is created as a child window within the user session, enabling spatial and functional separation that resolves the conflict between automation execution and user interaction.

Inventive Principle:
Principle #1Segmentation

2Reliability

If conventional virtual machines or emulators are used to isolate the robot, then the robot can run independently, but the complexity of the system increases significantly

Engineering Contradiction:
Improverobot execution independenceVSAvoidsystem architecture complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a session manager as an intermediary component that coordinates between the user session and robot session. This session manager handles session creation, window management, and resource coordination, providing the necessary isolation and independence for reliable robot execution without requiring complex virtual machine or emulator infrastructure.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If the robot runs in a separate virtual machine or container, then isolation is achieved, but access to common files and resources becomes difficult

Engineering Contradiction:
Improvesession isolationVSAvoidfile system access
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent merges the file system access capability across session boundaries by allowing the robot session to access files and resources in the user session through shared paths. While sessions remain isolated for execution purposes, the file system layer is combined to enable seamless access to common resources, eliminating the need for complex mounting or sharing configurations.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11931899B2Automation windows for robotic process automation
Publication Date: 2024.03.19 UIPATH INC
  • US11931899B2 patent drawing
  • US11931899B2 patent drawing
  • US11931899B2 patent drawing

AI summary

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.