# US 11,110,601 B2 · Scheduling robots for robotic process automation

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,110,601 B2
- Document ID: US11110601B2
- Status: Granted
- Kind: B2
- Application number: 16/689,193
- Filed: 2019-11-20
- Published: 2021-05-20
- Granted: 2021-09-07
- Earliest claimed: 2019-11-20
- Assignees: UiPath, Inc.
- Applicants: UiPath, Inc.
- Inventors: Daniel Bannoura
- Web page: https://patentgrep.com/patent/US11110601B2

## CPC

- B25J 9/1661: {characterised by task planning, object-oriented languages}
- B25J 9/1689: {Teleoperation}
- G06F 9/4843: {by program, e.g. task dispatcher, supervisor, operating system}
- G06F 21/44: Program or device authentication
- G06F 21/604: {Tools and structures for managing or administering access control systems}
- G06Q 10/0631: Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q 10/10: Office automation; Time management
- H04L 67/125: involving control of end-device applications over a network
- G06F 2221/2141: Access rights, e.g. capability lists, access control lists, access tables, access matrices
- B25J: MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES ({manipulators specially adapted for use in surgery A61B34/70; manipulators used in cleaning hollow articles B08B9/04}; manipulators associated with rolling mills B21B39/20; manipulators associated with forging machines B21J13/10; {manipulators associated with picking-up and placing mechanisms B23P19/007}; means for holding wheels or parts thereof B60B30/00; {vehicles with ground-engaging propulsion means, e.g. walking members B62D57/02, B62D57/032; devices for picking-up and depositing articles or materials between conveyors B65G47/90, B65G47/91; manipulators with gripping or holding means for transferring packages B65H67/065}; cranes B66C; {manipulators used in the protection or supervision of pipe-line installations F17D5/00; walking equipment adapted for nuclear steam-generators F22B37/006}; manipulators specially adapted for, or associated with, nuclear reactors G21C; {apparatus used for handling wafers during manufacture or treatment of semiconductor H10P72/50})
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Systems and methods for performing a robotic process automation (RPA) workflow are provided. An indication to execute a job scheduled for performing an RPA workflow for a user associated with a user group is received. A robot is identified from a robot group associated with the job and having the same access rights as the user group. The robot is dispatched to a computing device to execute the job for performing the RPA workflow.

## Claims

### Claim 1

A computer-implemented method for performing a robotic process automation (RPA) workflow, comprising:
receiving an indication to execute a job scheduled for performing an RPA workflow for a user, the user belonging to a user group associated with access rights;
identifying a robot from a robot group, the robot group being associated with the same access rights as the user group; and
dispatching the robot to a computing device to execute the job for performing the RPA workflow.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, further comprising:
waking up the computing device to run the robot; and
shutting down the computing device after the robot completes the job.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein identifying a robot from a robot group comprises:
identifying the robot from the robot group associated with the job.

### Claim 4 (depends on 3)

The computer-implemented method of claim 3, wherein identifying the robot from the robot group associated with the job comprises:
transmitting a request including a job identification (ID) of the job; and
receiving a robot ID of the robot from the robot group associated with the job ID.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, further comprising:
maintaining an access rights management system comprising a user group directory associated with the user group and a corresponding robot group directory associated with the robot group, the user group directory associating the user group with the access rights associated with the user group and the robot group directory associating the robot group with the same access rights as the user group.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein receiving an indication to execute a job scheduled for performing an RPA workflow for a user comprises:
receiving the indication to execute the job scheduled for performing the RPA workflow for the user in response to a triggering event.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, further comprising scheduling the job scheduled for performing the RPA workflow by:
receiving a request to perform the RPA workflow for the user;
identifying the robot group as corresponding to the user group; and
scheduling the job for performing the RPA workflow by the robot of the robot group.

### Claim 8

A system for performing a robotic process automation (RPA) workflow comprising:
a memory storing computer program instructions; and
at least one processor configured to execute the computer program instructions, the computer program instructions configured to cause the at least one processor to perform operations comprising:
receiving an indication to execute a job scheduled for performing an RPA workflow for a user, the user belonging to a user group associated with access rights;
identifying a robot from a robot group, the robot group being associated with the same access rights as the user group; and
dispatching the robot to a computing device to execute the job for performing the RPA workflow.

### Claim 9 (depends on 8)

The system of claim 8, the operations further comprising:
waking up the computing device to run the robot; and
shutting down the computing device after the robot completes the job.

### Claim 10 (depends on 8)

The system of claim 8, wherein identifying a robot from a robot group comprises:
identifying the robot from the robot group associated with the job.

### Claim 11 (depends on 10)

The system of claim 10, wherein identifying the robot from the robot group associated with the job comprises:
transmitting a request including a job identification (ID) of the job; and
receiving a robot ID of the robot from the robot group associated with the job ID.

### Claim 12 (depends on 8)

The system of claim 8, the operations further comprising:
maintaining an access rights management system comprising a user group directory associated with the user group and a corresponding robot group directory associated with the robot group, the user group directory associating the user group with the access rights associated with the user group and the robot group directory associating the robot group with the same access rights as the user group.

### Claim 13 (depends on 8)

The system of claim 8, wherein receiving an indication to execute a job scheduled for performing an RPA workflow for a user comprises:
receiving the indication to execute the job scheduled for performing the RPA workflow for the user in response to a triggering event.

### Claim 14 (depends on 8)

The system of claim 8, the operations further comprising scheduling the job scheduled for performing the RPA workflow by:
receiving a request to perform the RPA workflow for the user;
identifying the robot group as corresponding to the user group; and
scheduling the job for performing the RPA workflow by the robot of the robot group.

### Claim 15

A computer program embodied on a non-transitory computer-readable medium for performing a robotic process automation (RPA) workflow, the program configured to cause at least one processor to perform operations comprising:
receiving an indication to execute a job scheduled for performing an RPA workflow for a user, the user belonging to a user group associated with access rights;
identifying a robot from a robot group, the robot group being associated with the same access rights as the user group; and
dispatching the robot to a computing device to execute the job for performing the RPA workflow.

### Claim 16 (depends on 15)

The computer program of claim 15, the operations further comprising:
waking up the computing device to run the robot; and
shutting down the computing device after the robot completes the job.

### Claim 17 (depends on 15)

The computer program of claim 15, wherein identifying a robot from a robot group comprises:
identifying the robot from the robot group associated with the job.

### Claim 18 (depends on 17)

The computer program of claim 17, wherein identifying the robot from the robot group associated with the job comprises:
transmitting a request including a job identification (ID) of the job; and
receiving a robot ID of the robot from the robot group associated with the job ID.

### Claim 19 (depends on 15)

The computer program of claim 15, the operations further comprising:
maintaining an access rights management system comprising a user group directory associated with the user group and a corresponding robot group directory associated with the robot group, the user group directory associating the user group with the access rights associated with the user group and the robot group directory associating the robot group with the same access rights as the user group.

### Claim 20 (depends on 15)

The computer program of claim 15, wherein receiving an indication to execute a job scheduled for performing an RPA workflow for a user comprises:
receiving the indication to execute the job scheduled for performing the RPA workflow for the user in response to a triggering event.

### Claim 21 (depends on 15)

The computer program of claim 15, the operations further comprising scheduling the job scheduled for performing the RPA workflow by:
receiving a request to perform the RPA workflow for the user;
identifying the robot group as corresponding to the user group; and
scheduling the job for performing the RPA workflow by the robot of the robot group.

### Claim 22

A computer-implemented method for scheduling a job for performing a robotic process automation (RPA) workflow, comprising:
receiving a request to perform an RPA workflow for a user, the user belonging to a user group associated with access rights;
identifying a robot group corresponding to the user group, the robot group being associated with the same access rights as the user group; and
scheduling a job for performing the RPA workflow on a robot of the robot group.

### Claim 23 (depends on 22)

The computer-implemented method of claim 22, further comprising:
maintaining an access rights management system comprising a user group directory associated with the user group and a corresponding robot group directory associated with the robot group, the user group directory associating the user group with the access rights associated with the user group and the robot group directory associating the robot group with the same access rights as the user group.

### Claim 24 (depends on 23)

The computer-implemented method of claim 23, wherein identifying a robot group corresponding to the user group comprises:
transmitting a request including a user identification (ID) of the user to the access rights management system; and
receiving a robot group ID of the robot group corresponding to the user ID from the access rights management system.

### Claim 25 (depends on 22)

The computer-implemented method of claim 22, further comprising dispatching the robot to execute the job for performing the RPA workflow by:
receiving an indication to execute the job scheduled for performing the RPA workflow for the user;
identifying the robot from the robot group; and
dispatching the robot to a computing device to execute the job for performing the RPA workflow.

### Claim 26

A system for scheduling a job for performing a robotic process automation (RPA) workflow comprising:
a memory storing computer program instructions; and
at least one processor configured to execute the computer program instructions, the computer program instructions configured to cause the at least one processor to perform operations comprising:
receiving a request to perform an RPA workflow for a user, the user belonging to a user group associated with access rights;
identifying a robot group corresponding to the user group, the robot group being associated with the same access rights as the user group; and
scheduling a job for performing the RPA workflow on a robot of the robot group.

### Claim 27 (depends on 26)

The system of claim 26, the operations further comprising:
maintaining an access rights management system comprising a user group directory associated with the user group and a corresponding robot group directory associated with the robot group, the user group directory associating the user group with the access rights associated with the user group and the robot group directory associating the robot group with the same access rights as the user group.

### Claim 28 (depends on 27)

The system of claim 27, wherein identifying a robot group corresponding to the user group comprises:
transmitting a request including a user identification (ID) of the user to the access rights management system; and
receiving a robot group ID of the robot group corresponding to the user ID from the access rights management system.

### Claim 29 (depends on 26)

The system of claim 26, the operations further comprising dispatching the robot to execute the job for performing the RPA workflow by:
receiving an indication to execute the job scheduled for performing the RPA workflow for the user;
identifying the robot from the robot group; and
dispatching the robot to a computing device to execute the job for performing the RPA workflow.

### Claim 30

A computer program embodied on a non-transitory computer-readable medium for scheduling a job for performing a robotic process automation (RPA) workflow, the program configured to cause at least one processor to perform operations comprising:
receiving a request to perform an RPA workflow for a user, the user belonging to a user group associated with access rights;
identifying a robot group corresponding to the user group, the robot group being associated with the same access rights as the user group; and
scheduling a job for performing the RPA workflow on a robot of the robot group.

### Claim 31 (depends on 30)

The computer program of claim 30, the operations further comprising:
maintaining an access rights management system comprising a user group directory associated with the user group and a corresponding robot group directory associated with the robot group, the user group directory associating the user group with the access rights associated with the user group and the robot group directory associating the robot group with the same access rights as the user group.

### Claim 32 (depends on 31)

The computer program of claim 31, wherein identifying a robot group corresponding to the user group comprises:
transmitting a request including a user identification (ID) of the user to the access rights management system; and
receiving a robot group ID of the robot group corresponding to the user ID from the access rights management system.

### Claim 33 (depends on 30)

The computer program of claim 30, the operations further comprising dispatching the robot to execute the job for performing the RPA workflow by:
receiving an indication to execute the job scheduled for performing the RPA workflow for the user;
identifying the robot from the robot group; and
dispatching the robot to a computing device to execute the job for performing the RPA workflow.

### Claim 34 (depends on 1)

The computer-implemented method of claim 1, wherein the receiving, the identifying, and the dispatching are performed by one or more computing devices implemented in a cloud computing system.

### Claim 35 (depends on 1)

The computer-implemented method of claim 1, wherein the computing device is a cloud based computing device.

### Claim 36 (depends on 8)

The system of claim 8, wherein the system is implemented in a cloud computing system.

### Claim 37 (depends on 8)

The system of claim 8, wherein the computing device is a cloud based computing device.

### Claim 38 (depends on 15)

The computer program of claim 15, wherein the at least one processor is implemented in one or more computing devices and the one or more computing devices are implemented in a cloud computing system.

### Claim 39 (depends on 15)

The computer program of claim 15, wherein the computing device is a cloud based computing device.

### Claim 40 (depends on 22)

The computer-implemented method of claim 22, wherein the receiving, the identifying, and the scheduling are performed by one or more computing devices implemented in a cloud computing system.

### Claim 41 (depends on 25)

The computer-implemented method of claim 25, wherein the computing device is a cloud based computing device.

### Claim 42 (depends on 26)

The system of claim 26, wherein the system is implemented in a cloud computing system.

### Claim 43 (depends on 29)

The system of claim 29, wherein the computing device is a cloud based computing device.

### Claim 44 (depends on 30)

The computer program of claim 30, wherein the at least one processor is implemented in one or more computing devices and the one or more computing devices are implemented in a cloud computing system.

### Claim 45 (depends on 33)

The computer program of claim 33, wherein the computing device is a cloud based computing device.
