Shared VM Screen Partitioning for Concurrent RPA Bots

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional robotic process automation (RPA) bots require dedicated logins and virtual machine licenses, leading to hardware and software waste, increased costs, and inefficient resource utilization due to inability to concurrently access shared resources.

Innovation Solution

A robotic shared access system allows multiple RPA bots to operate on a single virtual machine using a shared login, splitting the screen into sub-screens for concurrent execution of code packages, with a robot coordinator module managing resource allocation and prioritization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple RPA bots are run on dedicated virtual machines with dedicated login accounts, then each bot can execute independently without resource conflicts, but hardware and software resource waste increases and costs increase

Engineering Contradiction:
Improveindependent executionVSAvoidresource waste
Core Design Contradiction:
ReliabilityVSLoss of substance

Solution Approach 1:

Multiple RPA bots are merged to run on a single shared virtual machine instance instead of requiring separate dedicated VMs. The system allows concurrent bot executions on the same VM by implementing screen splitting and coordinate transformation mechanisms, thereby consolidating hardware and software resources and reducing waste while maintaining independent bot execution capabilities

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

A single virtual machine instance is designed to serve multiple RPA bots simultaneously, making the VM universal rather than dedicated to a single bot. The system achieves this through screen partitioning and coordinate mapping that allows different bots to operate in different screen regions without interfering with each other, enabling one VM to perform multiple bot execution functions

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Loss of substance

If multiple RPA bots share a single virtual machine with a single login account, then resource consumption is reduced, but concurrent access to shared resources becomes problematic

Engineering Contradiction:
Improveresource consumptionVSAvoidconcurrent access
Core Design Contradiction:
Loss of substanceVSReliability

Solution Approach 1:

The screen display area of the shared virtual machine is segmented into multiple distinct regions or partitions, with each region allocated to a specific bot. This spatial segmentation allows multiple bots to concurrently access and manipulate UI elements within their assigned regions without conflicting with other bots, thereby enabling reliable concurrent access while sharing the same VM resources

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A coordinate transformation system acts as an intermediary layer between the bots and the actual screen coordinates. When a bot needs to interact with a UI element, the system transforms the bot's local coordinates into the global screen coordinates, managing concurrent access conflicts automatically and enabling multiple bots to share resources reliably

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If dedicated virtual machines are used for each RPA bot, then execution speed and responsiveness are maintained, but hardware costs and software licensing costs increase

Engineering Contradiction:
Improveexecution speedVSAvoidcost
Core Design Contradiction:
ProductivityVSLoss of substance

Solution Approach 1:

Multiple bot execution environments are merged into a single virtual machine instance, reducing the total number of VMs required. The system maintains execution speed by implementing screen splitting that allows concurrent bots to operate independently in their respective screen regions, preventing resource contention while sharing hardware and software licenses

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system changes the parameter of screen allocation from dedicated-full to partitioned-shared. By dividing the screen into multiple accessible regions and implementing coordinate transformation, the system allows multiple bots to share the same physical resources while maintaining individual execution performance, thereby reducing costs without sacrificing productivity

Inventive Principle:
Principle #35Parameter changes

4Loss of time

If multiple RPA bots access the same virtual machine concurrently, then wait times are reduced, but screen real estate and resource allocation become constrained

Engineering Contradiction:
Improvewait timeVSAvoidscreen real estate
Core Design Contradiction:
Loss of timeVSArea of stationary object

Solution Approach 1:

The screen is segmented into multiple concurrent access regions that can be simultaneously utilized by different bots. This segmentation allows multiple bots to access the virtual machine concurrently without waiting for screen availability, as each bot operates in its designated region, thereby reducing wait times while efficiently utilizing the available screen real estate

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system introduces a dimensional transformation by mapping multiple bots' coordinate systems to a single shared screen space. Through coordinate transformation and screen partitioning, the system allows concurrent access in what would traditionally be a single-dimension resource, effectively adding a temporal dimension to screen utilization and enabling multiple bots to operate simultaneously without conflict

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS12613727B2Robotic shared access
Publication Date: 2026.04.28 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US12613727B2 patent drawing
  • US12613727B2 patent drawing
  • US12613727B2 patent drawing

AI summary

Aspects of the present invention detect a maximum size of a screen within a same virtual machine allowed by configuration data; determine a number of concurrent bots that access the same virtual machine within a predetermined timeframe; split a width and a height of the screen by the number of the concurrent bots; allocate a sub-screen of a split screen to each of the concurrent bots; and execute a code package for each the concurrent bots within an allocated sub-screen within the same virtual machine in the predetermined timeframe.