Dynamic cloud deployment of robotic process automation (RPA) robots

US12314748B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12314748-B2
Application numberUS-202017247669-A
CountryUS
Kind codeB2
Filing dateDec 18, 2020
Priority dateDec 18, 2020
Publication dateMay 27, 2025
Grant dateMay 27, 2025

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

In some embodiments, an automation optimizer is configured to determine whether a provisioning condition is satisfied, for instance according to a current length of a job queue, or according to a current workload of a selected RPA host platform executing a plurality of software robots. When to the provisioning condition is satisfied, some embodiments automatically provision additional VMs onto the respective RPA host platform, and automatically remove VMs when automation demand is low. Exemplary RPA hosts include cloud computing platforms and on-premises servers, among others.

First claim

Opening claim text (preview).

What is claimed is: 1. A robotic process automation (RPA) method comprising employing at least one hardware processor of a computer system to optimize RPA operations on a host platform having a plurality of RPA robots instantiated thereon for executing RPA jobs, the plurality of RPA robots organized into a plurality of robot pools, and wherein optimizing RPA operations comprises: determine whether a provisioning condition is satisfied according to a queue of RPA jobs, whether a selected job of the queue comprises an identifier of a selected robot pool of the plurality of robot pools; in response, when the provisioning condition is satisfied, initiating an automatic instantiation of a new RPA robot on the host platform, wherein instantiating the new RPA robot comprises provisioning a virtual machine (VM) by loading a VM template onto the host platform, the VM template selected from a template repository according to the selected job, wherein the VM template comprises a memory image of the VM pre-loaded with the new RPA robot and an instance of a target software application; in response to the instantiation of the new RPA robot, adding the new RPA robot to the selected robot pool; and assigning the selected job to the new RPA robot for execution; wherein the plurality of RPA robots executing on the host platform are divided among a plurality of VMs, the plurality of VMs further organized into a plurality of VM pools; wherein at least one robot pool spans multiple VMs such that at least one VM includes at least one robot assigned to the at least one robot pool and at least one robot not assigned to the at least one robot pool; wherein the selected job further comprises an identifier of the selected VM pool of the plurality of VM pools; and wherein the method further comprises employing the at least one hardware processor to, in response to provisioning the VM, adding the VM to the selected pool. 2. The method of claim 1 , wherein optimizing RPA operations further comprises employing the at least one hardware processor to look up a customer record of an owner of the selected job and determine whether the provisioning condition is satisfied according to whether the customer record allows instantiating the new RPA robot. 3. The method of claim 1 , comprising employing the at least one hardware processor to determine whether the provisioning condition is satisfied according to a count of RPA robots within the pool. 4. The method of claim 3 , comprising employing the at least one hardware processor to determine whether the provisioning condition is satisfied further according to a maximum allowable count of RPA robots within the selected robot pool. 5. The method of claim 1 , comprising employing the at least one hardware processor to determine whether the provisioning condition is satisfied further according to whether a current time is during nighttime. 6. The method of claim 1 , wherein the plurality of RPA robots are organized into robot pools according to a type of automation task executable by members of each robot pool. 7. The method of claim 1 , comprising employing the at least one hardware processor to determine whether the provisioning condition is satisfied further according to a current calendar date. 8. The method of claim 1 , wherein: provisioning the VM causes an instantiation of another RPA robot executing within the VM; and optimizing RPA operations further comprises employing the at least one hardware processor to, in response to provisioning the VM, add the another RPA robot to the selected robot pool. 9. A computer system comprising at least one hardware processor configured to optimize RPA operations on a host platform having a plurality of RPA robots instantiated thereon for executing RPA jobs, the plurality of RPA robots organized into a plurality of robot pools, and wherein optimizing RPA operations comprises: determining whether a provisioning condition is satisfied according to a queue of RPA jobs, whether a selected job of the queue comprises an identifier of a selected robot pool of the plurality of robot pools; in response, when the provisioning condition is satisfied, initiating an automatic instantiation of a new RPA robot on the host platform, wherein instantiating the new RPA robot comprises provisioning a virtual machine (VM) by loading a VM template onto the host platform, the VM template selected from a template repository according to the selected job, wherein the VM template comprises a memory image of the VM pre-loaded with the new RPA robot and an instance of a target software application; in response to the instantiation of the new RPA robot, adding the new RPA robot to the selected robot pool; and assigning the selected job to the new RPA robot for execution; wherein the plurality of RPA robots executing on the host platform are divided among a plurality of VMs, the plurality of VMs further organized into a plurality of VM pools; wherein at least one robot pool spans multiple VMs such that at least one VM includes at least one robot assigned to the at least one robot pool and at least one robot not assigned to the at least one robot pool; wherein the selected job further comprises an identifier of the selected VM pool of the plurality of VM pools; and wherein the method further comprises employing the at least one hardware processor to, in response to provisioning the VM, adding the VM to the selected VM pool. 10. The computer system of claim 9 , wherein optimizing RPA operations comprises employing the at least one hardware processor to look up a customer record of an owner of the selected job and determine whether the provisioning condition is satisfied according to whether the customer record allows instantiating the new RPA robot. 11. The computer system of claim 9 , wherein the at least one hardware processor is further configured to determine whether the provisioning condition is satisfied according to a count of RPA robots within the pool. 12. The computer system of claim 11 , wherein the at least one hardware processor is configured to determine whether the provisioning condition is satisfied further according to a maximum allowable count of RPA robots within the selected robot pool. 13. The computer system of claim 9 , wherein the at least one hardware processor is further configured to determine whether the provisioning condition is satisfied further according to whether a current time is during nighttime. 14. The computer system of claim 9 , wherein the plurality of RPA robots are organized into robot pools according to a type of automation task executable by members of each robot pool. 15. The computer system of claim 9 , wherein the at least one hardware processor is configured to determine whether the provisioning condition is satisfied further according to a current calendar data. 16. The computer system of claim 9 , wherein: provisioning the VM causes an instantiation of another RPA robot executing within the VM; and optimizing RPA operations comprises employing the at least one hardware processor to, in response to provisioning the VM, add the another RPA robot to the selected robot pool. 17. A non-transitory computer-readable medium storing instructions which, when executed by at least one hardware processor of a computer system, cause the computer system to optimize RPA operations on a host platform having a plurality of RPA robots instantiated thereon for executing RPA jobs, the plurality of RPA robots organized into a plurality of robot pools, and wherein optimizing RPA operations comprises: determining whet

Assignees

Inventors

Classifications

  • Robot · CPC title

  • Nested virtual machines · CPC title

  • Distribution of virtual machine instances; Migration and load balancing · CPC title

  • Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455) · CPC title

  • Grid computing · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12314748B2 cover?
In some embodiments, an automation optimizer is configured to determine whether a provisioning condition is satisfied, for instance according to a current length of a job queue, or according to a current workload of a selected RPA host platform executing a plurality of software robots. When to the provisioning condition is satisfied, some embodiments automatically provision additional VMs onto …
Who is the assignee on this patent?
Uipath Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/45558. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 27 2025 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).