RPA Class Loader Architecture for Cross-Platform Bot Isolation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional Robotic Process Automation (RPA) systems face limitations in scalability and increased administrative complexity due to their operating system dependency and the need for bot creation/execution software to be loaded on separate devices, which raises costs and restricts processing capabilities.
Innovation Solution
A platform-agnostic RPA system is developed, utilizing a server-based architecture with a Java Virtual Machine (JVM) on a second device to execute task processing instructions, employing a platform class loader for centralized control of common functions like security and logging, and using separate class loaders for each set of task processing instructions to ensure isolation and prevent interference.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If bot creation/execution software is loaded onto different devices to enable RPA operations, then the system can perform automation tasks across multiple platforms, but administrative complexity increases and processing capability is limited
Solution Approach 1:
The patent merges the bot creation and execution software into a single centralized server platform. This consolidation eliminates the need to load separate software on multiple devices, reducing administrative complexity while maintaining the ability to perform automation tasks across different platforms through the unified server architecture.
Solution Approach 2:
The server platform is designed with universal functionality to support multiple operating systems and deployment scenarios. The server can execute bots on various platforms (Windows, Linux, macOS) without requiring platform-specific installations, providing multi-functional capability that reduces administrative overhead while maintaining broad adaptability.
2Adaptability or versatility
If RPA systems are made platform-agnostic to improve scalability, then deployment cost decreases and flexibility increases, but system reliability may be compromised
Solution Approach 1:
The patent introduces a Java Virtual Machine (JVM) as an intermediary layer between the server platform and the underlying operating system. This mediator enables the server to run on different operating systems (Windows, Linux, macOS) while maintaining consistent behavior and reliability through the JVM's abstraction layer, thus achieving platform-agnosticism without compromising system reliability.
3Reliability
If common functions are centralized for better control, then security and logging can be managed more effectively, but system complexity increases
Solution Approach 1:
The patent segments the class loading functionality into specialized class loaders (platform class loader, bot class loader, command class loader) with distinct responsibilities. This segmentation allows centralized control of common functions like security and logging through the platform class loader while keeping the overall system manageable through clear separation of concerns, rather than creating a monolithic complex system.
4Reliability
If separate class loaders are used for each command to prevent interference, then system reliability improves, but administrative overhead increases
Solution Approach 1:
The patent implements a nested class loader hierarchy where the platform class loader is the parent, bot class loaders are children of the platform class loader, and command class loaders are children of their respective bot class loaders. This nesting structure provides automatic inheritance and delegation, ensuring command isolation and reliability while reducing administrative overhead through automated parent-child relationship management rather than manual configuration of each class loader.
Data Source
AI summary
A robotic process automation system includes a server processor that performs an automation task to process a work item, by initiating a java virtual machine on a second device. A first user session that employs credentials of a first user for managing execution of the automation task is also initiated on the second device. The server processor loads into the java virtual machine, with a platform class loader, one or more modules, such as logging and security, that perform functions common to the sets of task processing instructions. A first class loader a first set of task processing instructions is also loaded. Then each instruction in the first set of task processing instructions is loaded with a separate class loader. The server processor causes execution, under control of the first user session, on the second device, the task processing instructions that correspond to the work item.


