# US 10,482,232 B2 · Robotic process automation using controller execution model

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

- Number: US 10,482,232 B2
- Document ID: US10482232B2
- Status: Granted
- Kind: B2
- Application number: 15/679,013
- Filed: 2017-08-16
- Published: 2019-02-21
- Granted: 2019-11-19
- Earliest claimed: 2017-08-16
- Assignees: Bank of America Corporation
- Applicants: Bank of America Corporation
- Inventors: Nagaraju Buddhiraju; Nye Walter Allen, IV
- Web page: https://patentgrep.com/patent/US10482232B2

## CPC

- G06F 21/33: using certificates
- G06F 9/455: Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F 21/10: Protecting distributed programs or content, e.g. vending or licensing of copyrighted material (protection in video systems or pay television H04N7/16) {; Digital rights management [DRM]}
- G06F 21/305: {by remotely controlling device operation}
- G06F 21/602: {Providing cryptographic facilities or services}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Systems, computer program products, and methods are described herein for implementing a robotic process automation using controller execution model. The present invention is configured to receive electronically, from a user computing device, a request to establish a communication link with a hosted virtual desktop (HVD) bot; determine a controller hosted virtual desktop (CHVD) hub associated with the HVD bot, wherein the CHVD hub comprises one or more HVD bots connected to the CHVD hub in a hub-and-spoke configuration, wherein the HVD bot is accessible only via the CHVD hub; receive one or more authentication credentials associated with the CHVD from an encrypted credential repository; validate the one or more authentication credentials associated with the CHVD, wherein validating further comprises authorizing the user computing device to access to the CHVD hub; and establish a communication link between the user computing device and the HVD bot, via the CHVD.

## Claims

### Claim 1

A system for implementing robotic process automation using a controller execution model, the system comprising:
at least one non-transitory memory device with computer-readable code stored thereon;
at least one processing device; and
at least one module stored in said memory device and comprising instruction code that is executable by the at least one processing device and configured to cause said at least one processing device to:
receive electronically, from a user computing device, a request to establish a communication link with a hosted virtual desktop (HVD) bot;
determine a controller hosted virtual desktop (CHVD) hub associated with the HVD bot, wherein the CHVD hub comprises one or more HVD bots connected to the CHVD hub in a hub-and-spoke configuration, wherein the HVD bot is accessible only via the CHVD hub;
receive one or more authentication credentials associated with the CHVD from an encrypted credential repository;
validate the one or more authentication credentials associated with the CHVD, wherein validating further comprises authorizing the user computing device to access to the CHVD hub;
establish a communication link between the user computing device and the HVD bot, via the CHVD;
receive electronically, from the user computing device, a request to access a first HVD bot via the CHVD hub;
establish a first communication link between the first HVD bot and the user computing device;
receive electronically, from the user computing device, a request to access a second HVD bot via the CHVD hub;
establish a second communication link between the second HVD bot and the user computing device, wherein establishing the second communication link further comprises severing the first communication link with the first HVD bot and establishing the second communication link with the second HVD bot.

### Claim 2 (depends on 1)

The system of claim 1, wherein the CHVD hub is configured to maintain an active connection with the one or more HVD bots.

### Claim 3 (depends on 1)

The system of claim 1, wherein the module is further configured to establish a hosted virtual desktop (HVD) ring, wherein establishing further comprises:
establishing a communication link with one or more HVD bots, wherein establishing further comprises severing a direct communication link between the one or more HVD bots and a user computing system;
coupling a CHVD hub to the one or more HVD bots; and
reconnecting the user computing system to the CHVD hub, wherein reconnecting further comprises establishing a communication link between the user computing system and the one or more HVD bots via the CHVD hub.

### Claim 4 (depends on 3)

The system of claim 3, wherein the module is further configured to establish the communication link with the one or more HVD bots, wherein establishing further comprises:
receiving one or more authentication credentials associated with the one or more HVD bots;
validating the one or more authentication credentials for each of the one or more HVD bots; and
authenticating the CHVD hub to access each of the one or more HVD bots based on at least validating the one or more authentication credentials.

### Claim 5 (depends on 4)

The system of claim 4, wherein the module is further configured to:
assign one or more processes for execution to each of the one or more HVD bots, wherein assigning further comprises creating an active connection between the one or more processes and each of the one or more HVD bots.

### Claim 6 (depends on 5)

The system of claim 5, wherein the module is further configured to:
periodically receive an indication that the active connection between the one or more processes and each of the one or more HVD bots is still active.

### Claim 7

A computerized method for implementing robotic process automation using a controller execution model, the method comprising:
receiving electronically, from a user computing device, a request to establish a communication link with a hosted virtual desktop (HVD) bot;
determining, using a computing device processor, a controller hosted virtual desktop (CHVD) hub associated with the HVD bot, wherein the CHVD hub comprises one or more HVD bots connected to the CHVD hub in a hub-and-spoke configuration, wherein the HVD bot is accessible only via the CHVD hub;
receiving, using a computing device processor, one or more authentication credentials associated with the CHVD from an encrypted credential repository;
validating, using a computing device processor, the one or more authentication credentials associated with the CHVD, wherein validating further comprises authorizing the user computing device to access to the CHVD hub;
establishing, using a computing device processor, a communication link between the user computing device and the HVD bot, via the CHVD;
receive electronically, from the user computing device, a request to access a first HVD bot via the CHVD hub;
establish a first communication link between the first HVD bot and the user computing device;
receive electronically, from the user computing device, a request to access a second HVD bot via the CHVD hub;
establish a second communication link between the second HVD bot and the user computing device, wherein establishing the second communication link further comprises severing the first communication link with the first HVD bot and establishing the second communication link with the second HVD bot.

### Claim 8 (depends on 7)

The method of claim 7, wherein the CHVD hub is configured to maintain an active connection with the one or more HVD bots.

### Claim 9 (depends on 7)

The method of claim 7, wherein the method further comprises establishing a hosted virtual desktop (HVD) ring, wherein establishing further comprises:
establishing a communication link with one or more HVD bots, wherein establishing further comprises severing a direct communication link between the one or more HVD bots and a user computing system;
coupling a CHVD hub to the one or more HVD bots; and
reconnecting the user computing system to the CHVD hub, wherein reconnecting further comprises establishing a communication link between the user computing system and the one or more HVD bots via the CHVD hub.

### Claim 10 (depends on 9)

The method of claim 9, wherein the method further comprises establishing the communication link with the one or more HVD bots, wherein establishing further comprises:
receiving one or more authentication credentials associated with the one or more HVD bots;
validating the one or more authentication credentials for each of the one or more HVD bots; and
authenticating the CHVD hub to access each of the one or more HVD bots based on at least validating the one or more authentication credentials.

### Claim 11 (depends on 10)

The method of claim 10, wherein the method further comprises:
assigning one or more processes for execution to each of the one or more HVD bots, wherein assigning further comprises creating an active connection between the one or more processes and each of the one or more HVD bots.

### Claim 12 (depends on 11)

The method of claim 11, wherein the method further comprises:
periodically receiving an indication that the active connection between the one or more processes and each of the one or more HVD bots is still active.

### Claim 13

A computer program product for implementing robotic process automation using a controller execution model, the computer program product comprising a non-transitory computer-readable medium comprising code causing a first apparatus to:
receive electronically, from a user computing device, a request to establish a communication link with a hosted virtual desktop (HVD) bot;
determine a controller hosted virtual desktop (CHVD) hub associated with the HVD bot, wherein the CHVD hub comprises one or more HVD bots connected to the CHVD hub in a hub-and-spoke configuration, wherein the HVD bot is accessible only via the CHVD hub;
receive one or more authentication credentials associated with the CHVD from an encrypted credential repository;
validate the one or more authentication credentials associated with the CHVD, wherein validating further comprises authorizing the user computing device to access to the CHVD hub;
establish a communication link between the user computing device and the HVD bot, via the CHVD;
receive electronically, from the user computing device, a request to access a first HVD bot via the CHVD hub;
establish a first communication link between the first HVD bot and the user computing device;
receive electronically, from the user computing device, a request to access a second HVD bot via the CHVD hub;
establish a second communication link between the second HVD bot and the user computing device, wherein establishing the second communication link further comprises severing the first communication link with the first HVD bot and establishing the second communication link with the second HVD bot.

### Claim 14 (depends on 13)

The computer program product of claim 13, wherein the CHVD hub is configured to maintain an active connection with the one or more HVD bots.

### Claim 15 (depends on 13)

The computer program product of claim 13, wherein the first apparatus is further configured to establish a hosted virtual desktop (HVD) ring, wherein establishing further comprises:
establishing a communication link with one or more HVD bots, wherein establishing further comprises severing a direct communication link between the one or more HVD bots and a user computing system;
coupling a CHVD hub to the one or more HVD bots; and
reconnecting the user computing system to the CHVD hub, wherein reconnecting further comprises establishing a communication link between the user computing system and the one or more HVD bots via the CHVD hub.

### Claim 16 (depends on 15)

The computer program product of claim 15, wherein the first apparatus is further configured to establish the communication link with the one or more HVD bots, wherein establishing further comprises:
receiving one or more authentication credentials associated with the one or more HVD bots;
validating the one or more authentication credentials for each of the one or more HVD bots; and
authenticating the CHVD hub to access each of the one or more HVD bots based on at least validating the one or more authentication credentials.

### Claim 17 (depends on 16)

The computer program product of claim 16, wherein the first apparatus is further configured to:
assigning one or more processes for execution to each of the one or more HVD bots, wherein assigning further comprises creating an active connection between the one or more processes and each of the one or more HVD bots.
