Shared Variable Binding for Parallel RPA Workflow Execution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional robotic process automation (RPA) systems require users to wait for RPA robots to complete workflows, leading to reduced productivity as users sit idle during robot interactions with their computing systems.
Innovation Solution
Implementing shared variable binding and parallel execution of RPA robot workflow activities, allowing RPA robots to access and modify UI elements in memory while users can interact with the system, enabling the robot to perform logic updates and refresh the UI independently.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If RPA robots execute workflows sequentially blocking user interaction, then automation reliability is improved, but user productivity deteriorates due to idle time
Solution Approach 1:
The patent segments the RPA workflow execution into multiple parallel threads: a background execution thread that runs the robot workflow independently, and a foreground UI thread that handles user interactions. This segmentation allows the automation to proceed without blocking the user interface, resolving the contradiction between reliable automation execution and user productivity.
Solution Approach 2:
The patent introduces shared variables as an intermediary mechanism that enables communication between the parallel robot workflow execution and the UI layer. The robot workflow modifies shared variables in the background, and these changes are automatically reflected in the UI through data binding, allowing reliable automation without blocking user interactions.
2Manufacturing precision
If RPA robots access UI elements directly during execution, then automation precision is improved, but system stability deteriorates due to UI freezing
Solution Approach 1:
The patent uses shared variables as an intermediary layer between the robot workflow and the UI elements. Instead of the robot directly accessing and manipulating UI elements (which causes freezing), the robot modifies shared variables in the background, and the UI automatically updates through data binding. This maintains automation precision while preventing UI freezing and improving system stability.
Solution Approach 2:
The patent separates the automation logic execution from the UI rendering process. The robot workflow executes in a separate background thread that independently modifies shared variables, while the UI thread continues to handle user interactions and automatically reflects variable changes. This segmentation prevents conflicts that would otherwise cause UI freezing.
3Measurement precision
If users wait for robot workflow completion, then data accuracy is improved, but time efficiency deteriorates
Solution Approach 1:
The patent implements preliminary action by pre-defining shared variables and their data bindings before workflow execution. The robot workflow can immediately modify these pre-configured variables without waiting for UI updates or user confirmation, ensuring data accuracy while eliminating waiting time. The UI automatically reflects changes as they occur in the background.
Solution Approach 2:
The patent enables continuous useful action by running the robot workflow in the background without interruption. The workflow continuously executes and modifies shared variables, while the UI continuously reflects these changes through automatic data binding. This eliminates idle waiting time while maintaining data accuracy, as both operations proceed concurrently without blocking each other.
Data Source
AI summary
Shared variable binding and parallel execution of a process and robot workflow activities for robotic process automation (RPA) are disclosed. An RPA robot may be “bound” to a variable that is accessed by and displayed in an application. When the RPA robot is triggered, the RPA robot performs potentially conditional logic that may result in modifications to one or more bound variables. The RPA robot may lookup data, perform calculations, check on the status of other processes, and/or perform any other logical operations. The RPA robot may then modify, delete, or otherwise change the value of one or more bound variables, causing the application associated with those variables to display the results (e.g., when the user interface (UI) of the application is refreshed).


