Patent · US11233861B2 · B2 · US
Inter-session automation for robotic process automation (RPA) robots
- (11) Publication number
- US11233861B2
- (21) Application number
- 15/930,906
- (22) Filing date
- 2020-05-13
- (30) Priority date
- 2020-02-18
- (43) Publication date
- 2022-01-25
- (45) Date of grant
- 2022-01-25
- (51) IPC
- H04L 29/06; H04L 29/08; G06F 3/00
- (52) CPC
- H04L Transmission of digital information, e.g. telegraphic communication: 67/12, 67/01, 67/02, 67/133, 67/141, 67/146, 67/42
- (73) Assignee
- UiPath Inc
- (72) Inventors
- Andrew Hall; Alison TAI
- (54) Title
- Inter-session automation for robotic process automation (RPA) robots
- (57) Abstract
Inter-session automation for robotic process automation (RPA) is disclosed. A robot or another application or process running in the user session may interact with an application, but one or more attended RPA robots in one or more child sessions perform operations and fetch data that the user session robot will then use to interact with the application in the user session. Attended RPA robots in client sessions may share data through an Inter-Process Communication (IPC) protocol, by storing data in a persistent data store, such as a spreadsheet, an object-oriented database, a plain text file, another data store or file, etc. The user session robot or another application or process running in the parent session can then read this information and respond accordingly.
- Full text
- View on Google Patents
Claims (16)
- A computer-implemented method, comprising: launching a user session process in a user session; launching a first client session robotic process automation (RPA) robot in a first client session; launching a second client session RPA robot in the first client session or a second client session; executing a workflow of the first client session RPA robot in the first client session, by the first client session RPA robot; executing a workflow of the second client session RPA robot in the first client session or the second client session, by the second client session RPA robot; making results of the execution of the workflow of the first client session RPA robot available to the user session process, by the first client session RPA robot; making results of the execution of the workflow of the second client session RPA robot available to the user session process, by the second client session RPA robot; and interacting with an application in the user session using the results of the execution of the workflow of the first client session RPA robot, by the user session process, wherein the user session process performs other tasks while waiting for the first client session RPA robot to complete the execution of the workflow of the first client session RPA robot.
- The computer-implemented method of claim 1, wherein the interaction with the application in the user session comprises entering information into a form, and the results of the execution of the RPA workflow comprise data used by the user session process to enter the information into the form.
- The computer-implemented method of claim 1, wherein the user session process comprises an RPA robot.
- The computer-implemented method of claim 1, wherein the first client session RPA robot is visible in a window associated with the first client session.
- The computer-implemented method of claim 1, wherein the first client session RPA robot is not visible.
- The computer-implemented method of claim 1, wherein the user session process waits for the first client session RPA robot to complete the execution of the workflow of the first client session RPA robot.
- The computer-implemented method of claim 1, wherein the first client session and the first client session RPA robot are launched by the user session process.
- The computer-implemented method of claim 1, further comprising: automatically closing the first client session RPA robot and the first client session after the first client session RPA robot completes execution of the workflow of the first client session RPA robot.
- The computer-implemented method of claim 1, wherein the user session process comprises an RPA robot and the user session RPA robot and the first client session RPA robot collectively complete execution of a larger workflow that includes the workflow of the first client session RPA robot.
- A computer-implemented method, comprising: commanding a client session robotic process automation (RPA) robot to execute a workflow of the client session RPA robot via Inter-Process Communication (IPC), by a user session RPA robot; executing the workflow of the client session RPA robot in a client session, by the client session RPA robot; making results of the execution of the workflow of the client session RPA robot available to a user session RPA robot, by the client session RPA robot; receiving the results of the execution of the workflow of the client session RPA robot, by the user session RPA robot; and interacting with an application on a computing system using the results of the execution of the workflow of the client session RPA robot, by the user session RPA robot, wherein the user session RPA robot performs other tasks while waiting for the client session RPA robot to complete the execution of the workflow of the client session RPA robot.
- The computer-implemented method of claim 10, wherein the interaction with the application on the computing system comprises entering information into a form, and the results of the execution of the RPA workflow comprise data used by the user session RPA robot to enter the information into the form.
- The computer-implemented method of claim 10, wherein the user session RPA robot waits for the client session RPA robot to complete the execution of the workflow of the client session RPA robot.
- The computer-implemented method of claim 10, wherein the user session RPA robot performs other tasks while waiting for the client session RPA robot to complete the execution of the workflow of the client session RPA robot.
- The computer-implemented method of claim 10, wherein the user session RPA robot and the client session RPA robot collectively complete execution of a larger workflow that includes the workflow of the client session RPA robot.
- A computer-implemented method, comprising: commanding a client session robotic process automation (RPA) robot to execute a workflow of the client session RPA robot via Inter-Process Communication (IPC), by a user session RPA robot; executing the workflow of the client session RPA robot in a client session, by the client session RPA robot; making results of the execution of the workflow of the client session RPA robot available to the user session RPA robot, by the client session RPA robot; receiving the results of the execution of the workflow of the client session RPA robot, by the user session RPA robot; and interacting with an application on a computing system using the results of the execution of the workflow of the client session RPA robot, by the user session RPA robot, wherein the user session RPA robot and the client session RPA robot collectively complete execution of a larger workflow that includes the workflow of the client session RPA robot, wherein the user session RPA robot performs other tasks while waiting for the client session RPA robot to complete the execution of the workflow of the client session RPA robot.
- The computer-implemented method of claim 15, wherein the interaction with the application in the user session comprises entering information into a form, and the results of the execution of the RPA workflow comprise data used by the user session RPA robot to enter the information into the form.
Description
The present invention generally relates to robotic process automation (RPA), and more specifically, to inter-session automation for RPA robots.
Attended automation RPA robots typically run on a computing system operated by a user in the same session as that user. The attended RPA robots may work with a user to accomplish certain tasks at a user's command, for example. However, in attended automation scenarios, the RPA robot may “take over” the user's computing system. The user may wish to perform other activities while the robot is interacting with the computing system, but the user is prevented from doing so. In other words, the robot controls applications through the user interface (UI) in the same manner that the user would (e.g., simulating mouse clicks and keyboard input).
Various technologies exist that create complete or partial copies of an operating system or the applications running thereon. Emulators have been around for decades and may provide developers with the ability to test and debug applications. For instance, emulators may provide developers with the ability to test and debug mobile applications that use an operating system that does not support running development tools directly. Both Android® and iOS® offer emulators that can be run from a development machine to test and debug an Android® or iOS® application since the developer tools cannot be natively run on those mobile operating systems.
Simulators allow a developer to host a window on his or her local machine that lets the developer test and debug behavior of an application that are difficult or impossible to perform on a development machine.
Citations (60)
- JPH0232626B2
- US7013465B1
- US20040015266A1
- US20020105296A1
- US20030191559A1
- US7899915B2
- US20050262052A1
- US20060184293A1
- US20100076600A1
- US8402431B2
- JP5607741B2
- US9552056B1
- US20130297678A1
- US20170076194A1
- US20150363224A1
- US20160259651A1
- US20200019283A1
- US20160288322A1
- CN107666987A
- JP2018535459A
- US20170052824A1
- US20190022856A1
- KR20180123513A
- US20170295243A1
- WO2017176917A1
- US20180074931A1
- US10339027B2
- US20180121217A1
- US20180197123A1
- US10324457B2
- US20180370033A1
- US20190004932A1
- US20190122200A1
- US20190129824A1
- US10503627B2
- US20190132229A1
- US20190138600A1
- US20190215283A1
- US20190155225A1
- US20190171845A1
- JP2019159556A
- JP2019169044A
- US20190303779A1
- JP2020003905A
- US20200001471A1
- JP2020017099A
- CN109636504A
- US20200213422A1
- JP6532626B1
- JP2020092400A
- US20200348964A1
- US20200348960A1
- US20200348654A1
- US20210042338A1
- CN110648054A
- US20210109717A1
- US20210125025A1
- US10911546B1
- US10654166B1
- US20200180155A1
Record as JSON
{
"publication_number": "US11233861B2",
"country": "US",
"kind": "B2",
"title": "Inter-session automation for robotic process automation (RPA) robots",
"abstract": "Inter-session automation for robotic process automation (RPA) is disclosed. A robot or another application or process running in the user session may interact with an application, but one or more attended RPA robots in one or more child sessions perform operations and fetch data that the user session robot will then use to interact with the application in the user session. Attended RPA robots in client sessions may share data through an Inter-Process Communication (IPC) protocol, by storing data in a persistent data store, such as a spreadsheet, an object-oriented database, a plain text file, another data store or file, etc. The user session robot or another application or process running in the parent session can then read this information and respond accordingly.",
"claims": [
"1. A computer-implemented method, comprising: launching a user session process in a user session; launching a first client session robotic process automation (RPA) robot in a first client session; launching a second client session RPA robot in the first client session or a second client session; executing a workflow of the first client session RPA robot in the first client session, by the first client session RPA robot; executing a workflow of the second client session RPA robot in the first client session or the second client session, by the second client session RPA robot; making results of the execution of the workflow of the first client session RPA robot available to the user session process, by the first client session RPA robot; making results of the execution of the workflow of the second client session RPA robot available to the user session process, by the second client session RPA robot; and interacting with an application in the user session using the results of the execution of the workflow of the first client session RPA robot, by the user session process, wherein the user session process performs other tasks while waiting for the first client session RPA robot to complete the execution of the workflow of the first client session RPA robot.",
"2. The computer-implemented method of claim 1, wherein the interaction with the application in the user session comprises entering information into a form, and the results of the execution of the RPA workflow comprise data used by the user session process to enter the information into the form.",
"3. The computer-implemented method of claim 1, wherein the user session process comprises an RPA robot.",
"4. The computer-implemented method of claim 1, wherein the first client session RPA robot is visible in a window associated with the first client session.",
"5. The computer-implemented method of claim 1, wherein the first client session RPA robot is not visible.",
"6. The computer-implemented method of claim 1, wherein the user session process waits for the first client session RPA robot to complete the execution of the workflow of the first client session RPA robot.",
"7. The computer-implemented method of claim 1, wherein the first client session and the first client session RPA robot are launched by the user session process.",
"8. The computer-implemented method of claim 1, further comprising: automatically closing the first client session RPA robot and the first client session after the first client session RPA robot completes execution of the workflow of the first client session RPA robot.",
"9. The computer-implemented method of claim 1, wherein the user session process comprises an RPA robot and the user session RPA robot and the first client session RPA robot collectively complete execution of a larger workflow that includes the workflow of the first client session RPA robot.",
"10. A computer-implemented method, comprising: commanding a client session robotic process automation (RPA) robot to execute a workflow of the client session RPA robot via Inter-Process Communication (IPC), by a user session RPA robot; executing the workflow of the client session RPA robot in a client session, by the client session RPA robot; making results of the execution of the workflow of the client session RPA robot available to a user session RPA robot, by the client session RPA robot; receiving the results of the execution of the workflow of the client session RPA robot, by the user session RPA robot; and interacting with an application on a computing system using the results of the execution of the workflow of the client session RPA robot, by the user session RPA robot, wherein the user session RPA robot performs other tasks while waiting for the client session RPA robot to complete the execution of the workflow of the client session RPA robot.",
"11. The computer-implemented method of claim 10, wherein the interaction with the application on the computing system comprises entering information into a form, and the results of the execution of the RPA workflow comprise data used by the user session RPA robot to enter the information into the form.",
"12. The computer-implemented method of claim 10, wherein the user session RPA robot waits for the client session RPA robot to complete the execution of the workflow of the client session RPA robot.",
"13. The computer-implemented method of claim 10, wherein the user session RPA robot performs other tasks while waiting for the client session RPA robot to complete the execution of the workflow of the client session RPA robot.",
"14. The computer-implemented method of claim 10, wherein the user session RPA robot and the client session RPA robot collectively complete execution of a larger workflow that includes the workflow of the client session RPA robot.",
"15. A computer-implemented method, comprising: commanding a client session robotic process automation (RPA) robot to execute a workflow of the client session RPA robot via Inter-Process Communication (IPC), by a user session RPA robot; executing the workflow of the client session RPA robot in a client session, by the client session RPA robot; making results of the execution of the workflow of the client session RPA robot available to the user session RPA robot, by the client session RPA robot; receiving the results of the execution of the workflow of the client session RPA robot, by the user session RPA robot; and interacting with an application on a computing system using the results of the execution of the workflow of the client session RPA robot, by the user session RPA robot, wherein the user session RPA robot and the client session RPA robot collectively complete execution of a larger workflow that includes the workflow of the client session RPA robot, wherein the user session RPA robot performs other tasks while waiting for the client session RPA robot to complete the execution of the workflow of the client session RPA robot.",
"16. The computer-implemented method of claim 15, wherein the interaction with the application in the user session comprises entering information into a form, and the results of the execution of the RPA workflow comprise data used by the user session RPA robot to enter the information into the form."
],
"description_excerpt": "The present invention generally relates to robotic process automation (RPA), and more specifically, to inter-session automation for RPA robots.\n\nAttended automation RPA robots typically run on a computing system operated by a user in the same session as that user. The attended RPA robots may work with a user to accomplish certain tasks at a user's command, for example. However, in attended automation scenarios, the RPA robot may “take over” the user's computing system. The user may wish to perform other activities while the robot is interacting with the computing system, but the user is prevented from doing so. In other words, the robot controls applications through the user interface (UI) in the same manner that the user would (e.g., simulating mouse clicks and keyboard input).\n\nVarious technologies exist that create complete or partial copies of an operating system or the applications running thereon. Emulators have been around for decades and may provide developers with the ability to test and debug applications. For instance, emulators may provide developers with the ability to test and debug mobile applications that use an operating system that does not support running development tools directly. Both Android® and iOS® offer emulators that can be run from a development machine to test and debug an Android® or iOS® application since the developer tools cannot be natively run on those mobile operating systems.\n\nSimulators allow a developer to host a window on his or her local machine that lets the developer test and debug behavior of an application that are difficult or impossible to perform on a development machine.",
"cpc": [
"H04L 67/12",
"H04L 67/01",
"H04L 67/02",
"H04L 67/133",
"H04L 67/141",
"H04L 67/146",
"H04L 67/42"
],
"ipc": [
"H04L 29/06",
"H04L 29/08",
"G06F 3/00"
],
"assignees": [
"UiPath Inc"
],
"inventors": [
"Andrew Hall",
"Alison TAI"
],
"filing_date": "2020-05-13",
"publication_date": "2022-01-25",
"grant_date": "2022-01-25",
"priority_date": "2020-02-18",
"application_number": "US-202015930906-A",
"family_id": "77273002",
"cited_by_count": 9,
"citations": [
"JPH0232626B2",
"US7013465B1",
"US20040015266A1",
"US20020105296A1",
"US20030191559A1",
"US7899915B2",
"US20050262052A1",
"US20060184293A1",
"US20100076600A1",
"US8402431B2",
"JP5607741B2",
"US9552056B1",
"US20130297678A1",
"US20170076194A1",
"US20150363224A1",
"US20160259651A1",
"US20200019283A1",
"US20160288322A1",
"CN107666987A",
"JP2018535459A",
"US20170052824A1",
"US20190022856A1",
"KR20180123513A",
"US20170295243A1",
"WO2017176917A1",
"US20180074931A1",
"US10339027B2",
"US20180121217A1",
"US20180197123A1",
"US10324457B2",
"US20180370033A1",
"US20190004932A1",
"US20190122200A1",
"US20190129824A1",
"US10503627B2",
"US20190132229A1",
"US20190138600A1",
"US20190215283A1",
"US20190155225A1",
"US20190171845A1",
"JP2019159556A",
"JP2019169044A",
"US20190303779A1",
"JP2020003905A",
"US20200001471A1",
"JP2020017099A",
"CN109636504A",
"US20200213422A1",
"JP6532626B1",
"JP2020092400A",
"US20200348964A1",
"US20200348960A1",
"US20200348654A1",
"US20210042338A1",
"CN110648054A",
"US20210109717A1",
"US20210125025A1",
"US10911546B1",
"US10654166B1",
"US20200180155A1"
]
}
Record 1,295 of 8,000 in Patents full text (MLC-0201). Request the full dataset.