Automation Windows Using Child Sessions for Attended RPA
Find Innovative SolutionsGenerate 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 the user being unable to interact with other applications on the machine that require user interaction.
Innovation Solution
The implementation of automation windows that allow for the creation of a child session window and child session within a parent session, enabling both the user and the robot to interact with the same application instances and file system, with the parent and child sessions having access to a common file system, allowing for simultaneous operation and interaction.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Extent of automation
If the robot controls applications through the user interface in the same manner as the user, then the robot can perform automation tasks, but the user becomes unable to interact with other applications on the machine
Solution Approach 1:
The system divides the computing system into separate sessions: a user session for human interaction and a robot session for automation execution. Each session operates independently with its own window and process space, allowing the robot to control applications without blocking user access to other applications.
Solution Approach 2:
The patent introduces a session manager as an intermediary component that coordinates between the user session and robot session. The session manager handles session creation, monitoring, and resource allocation, enabling the robot to execute tasks while the user maintains interaction capabilities through the same operating system instance.
2Reliability
If conventional virtual machines or containers are used to isolate the robot, then the robot can run independently, but the user experience becomes similar to watching a robot work without being able to interact with other applications
Solution Approach 1:
Instead of isolating the robot in a separate virtual machine or container that creates a complete OS barrier, the patent implements session-level isolation within the same operating system instance. This dimensional change from full OS virtualization to session-level separation allows the robot to run independently while the user retains access to other applications through the shared OS environment.
Solution Approach 2:
The session-based approach provides multi-functionality by allowing both the user and robot to simultaneously access and interact with the same application instances and file system resources. The shared environment enables collaborative work where the user can monitor robot activities while continuing to perform other tasks, eliminating the need for complete isolation.
3Productivity
If the robot runs on the same computing system as the user, then resource sharing is enabled, but the user becomes a spectator unable to interact with applications requiring user interaction
Solution Approach 1:
The system dynamically manages session states and resource allocation based on current needs. The session manager can adjust which applications are accessible to which session, allowing flexible switching between user interaction mode and robot automation mode while maintaining efficient resource sharing. This dynamic control enables the user to interact with applications when needed while the robot executes automation tasks.
Data Source
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.


