Blue Prism Parallel Processing
The aspect of Blue Prism software which affects running processes is the number of concurrent sessions, and the number of processes for which the license allows.
Your current license limits are displayed in the System > License screen.
A concurrent session (listed as "Sessions" in the license display) is defined as an instance of a Process which is either in a state of 'Running', 'Pending' or 'Stopping'. In each of these states that session is counted against the total allowed by your license. As a license is stored within a single database, it follows that the concurrent session limits are also related to the database to which your current Connection is configured.
Running Processes in parallel: A Process is assigned to run against a specific Runtime Resource (or a Resource Pool containing multiple resources), and importantly in terms of parallel execution, the Process is running against a unique Runtime Resource instance (i.e. a combination of a machine name and a port number). For example, these are two separate instances of a Runtime Resource which are running on the same physical or virtual machine:
- MyRuntimeResource:8181
- MyRuntimeResource:8182
An instance of a Runtime Resource can run only a single Process. Multiple Processes can be run on the same machine by running multiple instances of a Runtime Resource and assigning a single Process to each instance, up to the limits allowed by the number of concurrent sessions for the installed license. However, in practical terms there are some considerations for running Processes in parallel on the same Runtime Resource:
- Does the Runtime Resource have sufficient processing power to run these operations at the same time?
- Will the applications which the Process may use cause a problem if they are running at the same time (e.g. identifying the correct window to automate)?
- Do the Processes need to recognise separate login credentials for applications?
- Will parallel execution affect the time which each Process takes to perform its own operations, and is that tolerance built into the Process design?
- If the Processes use a Business Object, has the Object been set to execute in 'Background' run mode (i.e. a Foreground or Exclusive run mode will prevent parallel execution of an Object).
Running a Process from within another Process
If a Process has been designed to call another Process then there will only be one concurrent session executing when the second Process is called. The concept is: anything which a Runtime Resource is executing sequentially from a single calling Process running on a single Runtime Resource instance is a single concurrent session; whereas anything which is executing in parallel as separate Processes against different Runtime Resource instances will take multiple concurrent sessions.
To summarize, although Blue Prism allows for the parallel execution of a Process against a unique instance of a Runtime Resource on a single machine, there are factors which need to be considered in terms of licensing limits, machine performance, security and application integration which will factor into the decision to run multiple Processes on a single machine.