RPA management device, RPA management method, and RPA management program
The RPA management device addresses recovery challenges by implementing immediate and safe stop functions with user authority settings, enhancing RPA flow management and operational efficiency.
Patent Information
- Application Number
- JP2025017550
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2025-02-05
- Publication Date
- 2026-02-19
- Estimated Expiration
- 2041-08-31
AI Technical Summary
Existing RPA systems face difficulties in recovering from forced terminations, leading to issues such as incomplete try-catch processing, residual exclusive data, and unclear error logs, making recovery challenging.
The RPA management device includes a memory unit with a definition master and execution status table, and a control unit with an RPA robot, flow execution unit, agent, and execution status monitor, enabling immediate and safe stop functions, along with user authority settings, to manage RPA flows and facilitate easy recovery.
The solution allows for stable and efficient RPA flow management, reducing server loads and costs by providing immediate and safe stop options, clarifying recovery steps, and improving operational efficiency.
Smart Images

Figure 0007818118000001 
Figure 0007818118000002 
Figure 0007818118000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to an RPA management device, an RPA management method, and an RPA management program. [Background technology]
[0002] Patent Document 1 discloses a configuration that monitors the execution status of a script executed by RPA (Robotic Process Automation) and collects and presents errors from the start to the end of the script. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Patent Publication No. 2021-56763 Summary of the Invention [Problem to be solved by the invention]
[0004] However, the invention described in Patent Document 1 above has a problem in that if the RPA is stopped immediately (forced to terminate) while the RPA is executing a script, recovery work after the stoppage becomes difficult.
[0005] The present invention has been made in consideration of the above-mentioned problems, and aims to provide an RPA management device, an RPA management method, and an RPA management program that enable an RPA flow to be stopped immediately after it has started, with easy recovery, in response to an immediate stop instruction from a user. [Means for solving the problem]
[0006] In order to solve the above-mentioned problems and achieve the object, the RPA management device of the present invention is an RPA management device comprising a memory unit and a control unit, wherein the memory unit comprises: a definition master that sets a flow definition of an RPA flow to be executed by RPA; and an execution status table that sets the execution status of the RPA flow, the control unit comprises: an RPA robot that executes an application to be operated; a flow execution unit that executes each task defined in the RPA flow, including startup control of the RPA robot, and updates the execution status table, an agent that checks the execution status of the RPA flow set in the execution status table and controls the execution of the RPA flow, and an execution status monitor that displays the execution status, wherein the execution status monitor updates the execution status set in the execution status table to "immediately stopped" when a user inputs an instruction to immediately stop the RPA flow, and when the agent detects that the execution status is "immediately stopped," it force-terminates the process executed by the RPA robot, and when the flow execution unit detects that the execution status is "immediately stopped," it executes a predetermined immediate stop process.
[0007] In addition, in the RPA management device according to the present invention, if the flow execution unit detects that the RPA flow includes a try-catch exception handling and that the execution status is in the immediate stop state during execution of the processing in the try block, it executes flow termination processing of the RPA flow after executing the processing in the catch block.
[0008] Furthermore, in the RPA management device according to the present invention, when the flow execution unit detects that the RPA flow includes a plurality of exception handlings of the try-catch and that the execution status is the immediate stop during execution of the processing within the try block, it identifies a hierarchical relationship of the exception handlings of the try-catch including the processing within the try block, and executes the processing within the catch block in order from the lowest-level exception handling of the try-catch to the highest-level exception handling of the try-catch in the hierarchical relationship, and then executes a flow termination processing of the RPA flow.
[0009] In addition, in the RPA management device of the present invention, the flow execution unit is characterized in that, when it detects that the RPA flow does not include try-catch exception handling and that the execution status is in the immediate stop state, it executes flow termination processing of the RPA flow.
[0010] Furthermore, in the RPA management device according to the present invention, when the user inputs a safety stop instruction for the RPA flow, the execution status monitor updates the execution status set in the execution status table to "safely stopped," and when the flow execution unit detects that the execution status is "safely stopped," it ends the loop processing included in the RPA flow at the start timing of the loop processing and executes flow end processing for the RPA flow.
[0011] In addition, in the RPA management device of the present invention, the memory unit further includes a flow security master in which the user has set the authority to immediately stop the RPA flow, and the execution status monitor is characterized in that when the user inputs the instruction to immediately stop the RPA flow and the immediate stop authority of the user is set in the flow security master, it updates the execution status set in the execution status table to during the immediate stop.
[0012] In addition, in the RPA management device of the present invention, the memory unit further includes a flow security master in which the user has set safety stop authority for the RPA flow, and the execution status monitor is characterized in that when the user inputs the safety stop instruction for the RPA flow and the user's safety stop authority is set in the flow security master, it updates the execution status set in the execution status table during the safety stop.
[0013] In addition, in the RPA management device of the present invention, the memory unit further includes a flow security master that sets the user's execution authority for the RPA flow, and the control unit further includes an execution instruction means that displays an execution instruction screen and, when the user inputs an execution instruction for the RPA flow and the user's execution authority is set in the flow security master, updates the execution status set in the execution status table to waiting for execution, and the agent checks the execution status of the RPA flow set in the execution status table, and if it detects that the execution status is waiting for execution, controls the start of the RPA flow.
[0014] Furthermore, in the RPA management device according to the present invention, the memory unit further includes a user group management master that sets an administrator flag indicating that the user is an administrator, and the control unit further includes a master setting means that, based on the user group management master, sets in the flow security master the immediate stop authority of the user for the RPA flow, which is an input system flow, if the user is the administrator.
[0015] and an execution status monitor that displays the execution status. The RPA management method according to the present invention is an RPA management method for causing an RPA management device having a memory unit and a control unit to execute the RPA flow. The memory unit includes: a definition master that sets a flow definition of an RPA flow to be executed by the RPA; and an execution status table that sets the execution status of the RPA flow. The control unit includes: an RPA robot that executes the application to be operated; a flow execution unit that executes each task defined in the RPA flow, including startup control of the RPA robot, and updates the execution status table; an agent that checks the execution status of the RPA flow set in the execution status table and controls the execution of the RPA flow; and an execution status monitor that displays the execution status. The RPA management method according to the present invention includes: a step of causing the execution status monitor to execute the RPA flow;
[0016] and an execution status monitor that displays the execution status. The control unit is characterized in that the control unit executes the RPA management program by an RPA management device having a memory unit and a control unit. The control unit includes: an RPA robot that executes the application to be operated; a flow execution unit that executes each task defined in the RPA flow, including startup control of the RPA robot, and updates the execution status table; an agent that checks the execution status of the RPA flow set in the execution status table and controls the execution of the RPA flow; and an execution status monitor that displays the execution status. The control unit is characterized in that the control unit executes the RPA management program by the execution status monitor, and when a user inputs an instruction to immediately stop the RPA flow, updates the execution status set in the execution status table to "immediately stopped"; [Effects of the Invention]
[0017] The present invention has the advantage of being able to take measures against server loads caused by RPA execution and RPA runaways. Furthermore, the present invention has the advantage of improving business efficiency by immediately and stably stopping an RPA flow that has been executed by mistake. Furthermore, the present invention has the advantage of clarifying the recovery work to be performed after execution is stopped, thereby improving business efficiency. Furthermore, the present invention provides two functions: an "immediate stop function" that immediately stops RPA, and a "safe stop function" that stably stops RPA, thereby improving operational efficiency in various RPA applications. Furthermore, the present invention has the advantage of being able to reduce unnecessary costs associated with recovery after a stop by selectively using the safe stop function and the immediate stop function. [Brief explanation of the drawings]
[0018] [Figure 1] FIG. 1 is a diagram illustrating an example of an RPA management process according to this embodiment. [Figure 2] FIG. 2 is a diagram illustrating an example of an RPA management process according to this embodiment. [Figure 3] FIG. 3 is a diagram showing an example of a flow definition in this embodiment. [Figure 4] FIG. 4 is a block diagram showing an example of the configuration of the RPA management device according to this embodiment. [Figure 5] FIG. 5 is a diagram showing an example of an execution status table in this embodiment. [Figure 6] FIG. 6 is a diagram showing an example of an execution status in this embodiment. [Figure 7] FIG. 7 is a diagram illustrating an example of a flow security master in this embodiment. [Figure 8] FIG. 8 is a diagram showing an example of the user group management master in this embodiment. [Figure 9] FIG. 9 is a diagram showing an example of a robot process management table in this embodiment. [Figure 10] FIG. 10 is a diagram showing an example of the execution status monitor in this embodiment. [Figure 11] FIG. 11 is a diagram showing an example of the execution status monitor in this embodiment. [Figure 12] FIG. 12 is a flowchart showing an example of processing of the RPA management device in this embodiment. [Figure 13] FIG. 13 is a diagram illustrating an example of the RPA management process in this embodiment. [Figure 14] FIG. 14 is a diagram illustrating an example of the RPA management process in this embodiment. [Figure 15] FIG. 15 is a diagram showing an example of a flow definition in this embodiment. [Figure 16] FIG. 16 is a diagram showing an example of an execution status table in this embodiment. [Figure 17]FIG. 17 is a diagram showing an example of a log file in this embodiment. [Figure 18] FIG. 18 is a diagram illustrating an example of the RPA immediate stop processing in this embodiment. [Figure 19] FIG. 19 is a diagram illustrating an example of the RPA immediate stop processing in this embodiment. [Figure 20] FIG. 20 is a diagram illustrating an example of the RPA immediate stop processing in this embodiment. [Figure 21] FIG. 21 is a diagram showing an example of standby processing after an immediate stop instruction in this embodiment. [Figure 22] FIG. 22 is a diagram illustrating an example of the RPA management process in this embodiment. [Figure 23] FIG. 23 is a diagram illustrating an example of the RPA management process in this embodiment. [Figure 24] FIG. 24 is a diagram showing an example of a flow definition in this embodiment. [Figure 25] FIG. 25 is a diagram showing an example of a log file in this embodiment. [Figure 26] FIG. 26 is a diagram showing an example of a flow definition in this embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0019] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described in detail with reference to the accompanying drawings. However, the present invention is not limited to this embodiment.
[0020] [1. Overview] First, an overview of the present invention will be described with reference to Fig. 1 to Fig. 3. Fig. 1 and Fig. 2 are diagrams showing an example of RPA management processing in this embodiment. Fig. 3 is a diagram showing an example of a flow definition in this embodiment.
[0021] As shown in Figure 1, in a typical system that executes RPA (Robotic Process Automation), an RPA user selects the execution instruction screen from the RPA menu screen, which can launch the flow creation screen, execution instruction screen, execution status monitor, and log viewer (a screen for viewing the RPA execution log). When the RPA flow to be executed is selected on the execution instruction screen, the execution status in the execution status table is set to "waiting for execution." Then, as shown in Figure 1, in the RPA execution system, when the agent, an application that is always running asynchronously in the background on the execution terminal independently of user operations, confirms that the execution status in the execution status table is "waiting for execution," it sends a flow execution instruction to the flow execution unit, which executes each task defined by the robot execution tasks, etc. The flow execution unit starts the RPA flow, and the flow execution unit updates the execution status in the execution status table to "running." Then, as shown in Figure 1, in the RPA execution system, the flow execution unit terminates the RPA flow, and the execution status in the execution status table is updated to "completed successfully." Here, the robot (RPA robot) in this embodiment is a software robot that is a unit that defines a series of operation commands required to execute one process, defined for each application to be operated, and since it is created for each application to be operated, there is a 1:1 relationship between the application and the robot.
[0022] Also, as shown in Figure 2, in an RPA execution system, (1) the user launches the execution instruction screen on the RPA menu screen, (2) when the user selects the flow definition of flow A shown in Figure 3 on the execution instruction screen, execution of flow A begins, (3) information is added to the execution status table from the execution instruction screen, (4) the agent confirms the execution instruction and launches the flow execution unit, (5) the flow execution unit updates the execution status in the execution status table to "executing", (6) the flow execution unit launches the target robot, (7) the robot launches and operates the application to be operated, and (8) when flow A has ended, the flow execution unit updates the execution status in the execution status table to "completed successfully".
[0023] However, if you notice a configuration error after running the RPA, or if running the RPA places an unexpected load on the server, and you want to stop the RPA without waiting for it to finish, there was a problem in the past where if the RPA was forcibly terminated using a method not anticipated by the system, it became difficult to recover the RPA process that had failed.
[0024] For example, in conventional RPA systems, there are cases where exclusive data from the application being operated remains, cases where exclusive data from the RPA flow remains, cases where try-catch processing is implemented within the RPA flow and the try-catch processing does not proceed as intended due to an unexpected forced termination by the system, or cases where no evidence of the RPA execution being stopped is left behind, making it difficult to identify the cause of the error, making it difficult to recover from RPA processing that has failed to execute.
[0025] Therefore, in this embodiment, a mechanism is provided that immediately stops the process when an immediate stop instruction is given so that recovery is not difficult, a mechanism that places a safety stop point at a point within the RPA flow where it is not a problem to interrupt execution and interrupts processing at the stop point when a safety stop instruction is given, a mechanism that allows security settings to be made for each user and flow and the authority to process stop instructions to be granted, and a mechanism that allows appropriate log output by incorporating stop instruction processing into the RPA system.
[0026] [2. Configuration] An example of the configuration of the RPA management device 100 according to this embodiment will be described with reference to Fig. 4 to Fig. 11. Fig. 4 is a block diagram showing an example of the configuration of the RPA management device 100 according to this embodiment.
[0027] 4, the RPA management device 100 is a commercially available desktop personal computer. Note that the RPA management device 100 is not limited to a stationary information processing device such as a desktop personal computer, and may be a portable information processing device such as a commercially available notebook personal computer, PDA (Personal Digital Assistant), smartphone, or tablet personal computer.
[0028] The RPA management device 100 includes a control unit 102, a communication interface unit 104, a storage unit 106, and an input / output interface unit 108. The units included in the RPA management device 100 are connected to each other so as to be able to communicate with each other via any communication path.
[0029] The communication interface unit 104 communicably connects the RPA management device 100 to a network 300 via a communication device such as a router and a wired or wireless communication line such as a dedicated line. The communication interface unit 104 has a function of communicating data with other devices via a communication line. Here, the network 300 has a function of connecting the RPA management device 100 and the server 200 so that they can communicate with each other, and is, for example, the Internet or a LAN (Local Area Network).
[0030] An input device 112 and an output device 114 are connected to the input / output interface unit 108. The output device 114 may be a monitor (including a touch panel), a speaker, or a printer. The input device 112 may be a keyboard, a mouse, a microphone, or a monitor that cooperates with a mouse to achieve a pointing device function. In the following, the output device 114 may be referred to as the monitor 114 or the printer 114, and the input device 112 may be referred to as the keyboard 112 or the mouse 112.
[0031] The storage unit 106 stores various databases, tables, files, etc. The storage unit 106 stores computer programs that cooperate with an operating system (OS) to issue commands to a central processing unit (CPU) to perform various processes. The storage unit 106 may be, for example, a memory device such as a random access memory (RAM) or a read-only memory (ROM), a fixed disk device such as a hard disk, a flexible disk, or an optical disk. The storage unit 106 includes a definition master 106a, an execution status table 106b, a flow security master 106c, a user group management master 106d, a log file 106e, and a robot process management table 106f.
[0032] The definition master 106a is a master that sets the flow definition of the RPA flow to be executed by the RPA.
[0033] The execution status table 106b is a table that sets the execution status of the RPA flow. For example, the execution status table 106b may set the execution status of the RPA flow, the execution terminal name, the execution start date and time, the user ID, the user name, the flow ID, the flow name, and / or the execution ID.
[0034] An example of the execution status table 106b in this embodiment will now be described with reference to Fig. 5 and Fig. 6. Fig. 5 is a diagram showing an example of the execution status table 106b in this embodiment. Fig. 6 is a diagram showing an example of the execution status in this embodiment.
[0035] As shown in Fig. 5, in the execution status table 106b of this embodiment, the execution status of an RPA flow for which the user and terminal that are the executors are identified is updated in real time. Here, as shown in Fig. 6, the execution status set in the execution status table 106b of this embodiment may be "waiting for execution," "running," "completed successfully," "completed with an error," "immediately stopped," "immediately stopped," "safely stopped," or "safely stopped." Furthermore, the execution ID in this embodiment is an ID generated for each execution of an RPA flow, and is generated using a Guid value, making it possible to uniquely identify the RPA flow that is currently being executed.
[0036] Returning to FIG. 4, the flow security master 106c is a master that sets the user's authority to immediately stop the RPA flow. Here, the flow security master 106c may be set with the user's authority to safely stop the RPA flow. The flow security master 106c may also be set with the user's authority to execute the RPA flow. For example, the flow security master 106c may be set with a flow ID, a flow name, a user group ID, a user group name, an execution authority for the RPA flow, an authority to safely stop the RPA flow, and / or an authority to immediately stop the RPA flow.
[0037] An example of the flow security master 106c in this embodiment will now be described with reference to Fig. 7. Fig. 7 is a diagram showing an example of the flow security master 106c in this embodiment.
[0038] As shown in FIG. 7 , the flow security master 106c in this embodiment is configured to allow each RPA flow to be “executed,” “safely stopped,” or “immediately stopped” for each user group, and to determine whether an execution instruction can be issued from the execution instruction screen and whether a stop instruction can be issued from the execution status monitor 102c, depending on the setting value. Here, the flow security master 106c in this embodiment may be configured in advance by an administrator. Furthermore, the execution authority in the flow security master 106c in this embodiment may be the authority to execute an RPA flow and may also be the authority to restrict unauthorized users from executing the target flow from the execution instruction screen. Furthermore, the safety stop authority in the flow security master 106c in this embodiment may also be the authority to safely stop the RPA flow and may also be the authority to restrict unauthorized users from safely stopping the target flow from the execution status monitor. Furthermore, the immediate stop authority in the flow security master 106c in this embodiment may also be the authority to immediately stop the RPA flow and may also be the authority to restrict unauthorized users from immediately stopping the target flow from the execution status monitor.
[0039] 4, the user group management master 106d is a master in which an administrator flag indicating that a user is an administrator is set. For example, the user group management master 106d may be set with a user ID, a user name, a user group ID, a user group name, and / or an administrator flag indicating that a user is an administrator.
[0040] An example of the user group management master 106d in this embodiment will now be described with reference to Fig. 8. Fig. 8 is a diagram showing an example of the user group management master 106d in this embodiment.
[0041] As shown in FIG. 8, the user group management master 106d in this embodiment sets the group to which the user belongs, and also sets whether the user is an administrator.
[0042] 4, the log file 106e is a file in which a log of the RAP flow is set. For example, the log file 106e may set a sequential number (e.g., SEQ) assigned in the order in which the execution log is updated, the execution result, the task type, an overview of the execution log, and / or details of the execution log.
[0043] The robot process management table 106f is a table that sets the status of the RPA robot 102f. For example, the robot process management table 106f may set the robot name, robot process ID, and / or execution ID, etc.
[0044] An example of the robot process management table 106f in this embodiment will now be described with reference to Fig. 9. Fig. 9 is a diagram showing an example of the robot process management table 106f in this embodiment.
[0045] As shown in FIG. 9 , in the robot process management table 106f of this embodiment, the status of the RPA robot 102f in the running RAP flow identified by the execution ID is set using the robot process ID. Here, in this embodiment, when the agent 102d forcibly terminates a target process, all processes of the operation target application are identified from the robot process IDs stored in the robot process management table 106f shown in FIG. 9 , the RPA robot 102f process is terminated, and the operation target application process is terminated. As described above, in this embodiment, because the RPA robot 102f process and the operation target application process have a parent-child relationship, the operation target application process can be identified from the RPA robot 102f process using a function of an application development and execution environment such as the .NET Framework. Furthermore, in this embodiment, if the operation target application process disappears first, the RPA robot 102f attempts to continue operating the operation target application, which may result in an operation error log being recorded, making it difficult to determine the status. Therefore, the processes are stopped in the order of "RPA robot 102f" > "operation target application."
[0046] 4, the control unit 102 is a CPU or the like that performs overall control of the RPA management device 100. The control unit 102 has an internal memory for storing control programs such as an OS, programs that define various processing procedures, required data, etc., and executes various information processes based on these stored programs. Functionally, the control unit 102 conceptually includes a master setting unit 102a, an execution instruction unit 102b, an execution status monitor 102c, an agent 102d, a flow execution unit 102e, and an RPA robot 102f.
[0047] The master setting unit 102a sets various masters. Here, if a user is an administrator, the master setting unit 102a may set, in the flow security master 106c, the user's immediate stop authority for an RPA flow, which is an input system flow, based on the user group management master 106d.
[0048] The execution instruction unit 102b displays an execution instruction screen, and when a user inputs an instruction to execute an RPA flow, updates the execution status set in the execution status table 106b to "waiting for execution." Here, the execution instruction unit 102b may display an execution instruction screen, and when a user inputs an instruction to execute an RPA flow and the execution authority of the user is set in the flow security master, update the execution status set in the execution status table 106b to "waiting for execution." Furthermore, the execution instruction unit 102b may launch the execution instruction screen when the user selects a screen to be launched (e.g., a flow creation screen, a flow execution screen, the execution status monitor 102c, or a log viewer) on the RPA menu screen. Furthermore, the RPA menu screen may be launched when user authentication (by inputting a user ID and password) is successful on the login screen.
[0049] The execution status monitor 102c displays the execution status of the RPA flow. Here, when a user inputs an instruction to immediately stop the RPA flow, the execution status monitor 102c may update the execution status set in the execution status table 106b to "immediately stopped." Furthermore, when a user inputs an instruction to safely stop the RPA flow, the execution status monitor 102c may update the execution status set in the execution status table 106b to "safely stopped." Furthermore, when a user inputs an instruction to immediately stop the RPA flow and the user's immediate stop authority is set in the flow security master 106c, the execution status monitor 102c may update the execution status set in the execution status table 106b to "immediately stopped." Furthermore, when a user inputs an instruction to safely stop the RPA flow and the user's safety stop authority is set in the flow security master 106c, the execution status monitor 102c may update the execution status set in the execution status table 106b to "safely stopped."
[0050] An example of the execution status monitor 102c in this embodiment will now be described with reference to Figures 10 and 11. Figures 10 and 11 are diagrams showing an example of the execution status monitor 102c in this embodiment.
[0051] First, the execution status monitor 102c in this embodiment is an application that can check the execution status of an RPA flow via the database (DB) 106 and can issue a stop instruction to an RPA that is currently running via the DB 106. Here, the execution status monitor 102c in this embodiment has a function to stop the target RPA robot 102f and a function to stop the target RPA robot 102f when a stop button is clicked, and whether or not a stop instruction can be input is determined by the execution status and the settings of the flow security master 106c, and if a stop instruction cannot be input, the button on the screen may be locked. For example, in the execution status monitor 102c in this embodiment, if the execution status is "~ ended", it may be set so that a stop instruction cannot be input; if the execution status is "immediately stopped", it may be set so that a stop instruction cannot be input; if the execution status is "safely stopped", only an immediate stop instruction can be input (if restricted by the settings of the flow security master 106c, a stop instruction cannot be input); and if the execution status is other than these, it may be set so that both a safe stop instruction and an immediate stop instruction can be input (if restricted by the settings of the flow security master 106c, a stop instruction cannot be input).
[0052] 10, the execution status monitor 102c for the management terminal in this embodiment is intended for use by a system administrator, and is capable of checking the execution status of all RPA flows under management. Because the DB 106 is checked periodically, the execution status monitor 102c is equipped with an execution status display function that displays the latest status in real time, allows sorting and extraction of displayed data by selecting from a pull-down menu, and is equipped with a filter function that enables target data to be quickly identified even when the execution status of all RPA robots 102f is displayed, resulting in a huge amount of data. As shown in FIG. 10, the execution status monitor 102c for the management terminal in this embodiment can determine whether the logged-in user is a system administrator by setting the user group management master 106d, and may be activated from the RPA menu screen only when the system administrator is logged in.
[0053] 11, the execution status monitor 102c for the execution terminal in this embodiment is designed for use by an RPA executor, and is configured to enable checking of only the execution status of the RPA flow being executed on the terminal, narrowing down data by the execution terminal name to display the latest status, and periodically checking the DB 106, and is therefore equipped with an execution status display function that displays the latest status in real time. Note that, as shown in FIG. 11, in the execution status monitor 102c for the execution terminal in this embodiment, it is possible to determine whether the logged-in user is an RPA executor by setting the user group management master 106d, and when someone other than the system administrator logs in, the monitor may be launched from the RPA menu screen.
[0054] 4, the agent 102d checks the execution status of the RPA flow set in the execution status table 106b and controls the execution of the RPA flow. Here, if the agent 102d detects that the execution status of the RPA flow set in the execution status table 106b is "immediately stopped," the agent 102d may forcibly terminate the process by the RPA robot 102f. Furthermore, the agent 102d may check the execution status of the RPA flow set in the execution status table 106b and, if it detects that the execution status is "waiting for execution," it may control the execution of the start of the RPA flow.
[0055] The flow execution unit 102e executes each task defined in the RPA flow, including startup control of the RPA robot 102f, and updates the execution status table 106b. Here, if the flow execution unit 102e detects that the execution status of the RPA flow set in the execution status table 106b is "immediately stopped," it may execute a predetermined immediate stop process. Furthermore, if the flow execution unit 102e detects that the RPA flow includes a try-catch exception handling and that the execution status is "immediately stopped" during execution of processing in the try block, it may execute a flow termination process of the RPA flow after executing processing in the catch block. Furthermore, if the flow execution unit 102e detects that the RPA flow includes multiple try-catch exception handlings and that the execution status is "immediately stopped" during execution of processing in the try block, it may identify the hierarchical relationship of the try-catch exception handlings including the processing in the try block, and execute the flow termination process of the RPA flow after executing processing in the catch block in order from the lowest-level try-catch exception handling to the highest-level try-catch exception handling in the hierarchical relationship. Furthermore, when the flow execution unit 102e detects that the RPA flow does not include try-catch exception handling and that the execution status is during immediate stop, the flow execution unit 102e may execute flow termination processing for the RPA flow. Furthermore, when the flow execution unit 102e detects that the execution status of the RPA flow set in the execution status table 106b is during safe stop, the flow execution unit 102e may terminate the loop processing at the start timing of the loop processing included in the RPA flow and execute flow termination processing for the RPA flow.
[0056] The RPA robot 102f is a software robot that executes an application to be operated.
[0057] [3. Specific Examples] A specific example of this embodiment will be described with reference to FIGS.
[0058] [RPA management processing] An example of RPA management processing in this embodiment will now be described with reference to Fig. 12. Fig. 12 is a flowchart showing an example of processing by the RPA management device 100 in this embodiment.
[0059] As shown in FIG. 12, the execution instruction unit 102b displays an execution instruction screen on the output device 114, and when a user inputs an instruction to execute the RPA flow via the input device 112, updates the execution status set in the execution status table 106b to "waiting for execution" (step SA-1).
[0060] Then, the agent 102d checks the execution status of the RPA flow set in the execution status table 106b, and if it detects that the execution status is waiting for execution, it controls the start of the RPA flow, and the flow execution unit 102e executes each task defined in the RPA flow, including the startup control of the RPA robot 102f, and updates the execution status set in the execution status table 106b to "in execution" (step SA-2).
[0061] Then, the execution status monitor 102c determines whether or not the user has input an instruction to immediately stop the RPA flow via the input device 112 (step SA-3).
[0062] If the execution status monitor 102c determines that an instruction to immediately stop the RPA flow has been input (step SA-3: Yes), the execution status monitor 102c shifts the process to step SA-4.
[0063] Then, the execution status monitor 102c updates the execution status set in the execution status table 106b to "immediately stopped" (step SA-4).
[0064] Then, the agent 102d checks the execution status of the RPA flow set in the execution status table 106b, and if it detects that the execution status of the RPA flow set in the execution status table 106b is being immediately stopped, it forcibly terminates the process by the RPA robot 102f (step SA-5).
[0065] Then, the flow execution unit 102e checks the execution status of the RPA flow set in the execution status table 106b, and if it detects that the execution status of the RPA flow set in the execution status table 106b is being immediately stopped, it executes a predetermined immediate stop process (step SA-6) and terminates the process.
[0066] On the other hand, if the execution status monitor 102c determines that an instruction to immediately stop the RPA flow has not been input (step SA-3: No), it shifts the process to step SA-7.
[0067] Then, the execution status monitor 102c determines whether or not the user has input an instruction to safely stop the RPA flow via the input device 112 (step SA-7).
[0068] If the execution status monitor 102c determines that a safety stop instruction for the RPA flow has been input (step SA-7: Yes), the execution status monitor 102c shifts the process to step SA-8.
[0069] Then, the execution status monitor 102c updates the execution status set in the execution status table 106b to "during safe shutdown" (step SA-8).
[0070] Then, the flow execution unit 102e checks the execution status of the RPA flow set in the execution status table 106b, and if it detects that the execution status of the RPA flow set in the execution status table 106b is in a safe stop, it executes flow termination processing for the RPA flow (step SA-9) and terminates the processing.
[0071] On the other hand, if the execution status monitor 102c determines that a safety stop instruction for the RPA flow has not been input (step SA-7: No), it shifts the process to step SA-10.
[0072] Then, the agent 102d checks the execution status of the RPA flow set in the execution status table 106b and determines whether the RPA flow has been completed by the flow execution unit 102e and the execution status set in the execution status table 106b has been updated to normal completion (step SA-10).
[0073] If the agent 102d determines that the execution status set in the execution status table 106b has not been updated to normal completion (step SA-10: No), the agent 102d shifts the process to step SA-3.
[0074] On the other hand, if the agent 102d determines that the execution status set in the execution status table 106b has been updated to normal completion (step SA-10: Yes), the agent 102d shifts the process to step SA-11.
[0075] Then, the flow execution unit 102e executes the flow termination process of the RPA flow (step SA-11), and ends the process.
[0076] Here, an example of RPA immediate stop processing in this embodiment will be described with reference to Fig. 13 to Fig. 17. Figs. 13 and 14 are diagrams showing an example of RPA management processing in this embodiment. Fig. 15 is a diagram showing an example of a flow definition in this embodiment. Fig. 16 is a diagram showing an example of an execution status table 106b in this embodiment. Fig. 17 is a diagram showing an example of a log file 106e in this embodiment.
[0077] 13, in this embodiment, when a system administrator inputs an instruction to immediately stop an RPA flow via the execution status monitor 102c, the execution status set in the execution status table 106b by the execution status monitor 102c is updated to "immediately stopped." Then, as shown in FIG. 13, in this embodiment, the agent 102d constantly checks the execution status of the RPA flow set in the execution status table 106b and terminates the processes of robot A and operation target application A. Then, as shown in FIG. 13, in this embodiment, the flow execution unit 102e executes immediate stop processing of the RPA flow, and after the immediate stop processing is completed, the execution status set in the execution status table 106b is updated to "immediately stopped."
[0078] Also, as shown in FIG. 14, in this embodiment, when a user selects the flow definition of flow A shown in FIG. 15 on the execution instruction screen, the execution instruction is confirmed by the agent 102d, the flow execution unit 102e is started, the flow execution unit 102e updates the execution status in the execution status table 106b to "executing", the target robot (RPA robot) 102f is started by the flow execution unit 102e, the RPA robot 102f starts and operates the application to be operated, and the agent 102d constantly checks the execution status of flow A in the execution status table 106b.
[0079] As shown in FIG. 14, in this embodiment, when a user inputs an instruction to immediately stop flow A in the execution status monitor 102c, (1) the execution status monitor 102c updates the execution status of flow A to “immediately stopped”, (2) the execution status monitor 102c updates the log file 106e by recording “immediate stop instruction” as an execution log, (3) the agent 102d and the RPA robot 102f confirm the immediate stop instruction, (4) the agent 102d forcibly terminates the process of the target RPA robot 102f, (5) the flow execution unit 102e confirms the end of the process of the RPA robot 102f, and then checks the execution status in the execution status table 106b, and (6) the execution status in the execution status table 106b is "immediately stopped," the flow execution unit 102e waits until the target process ends, (7) the agent 102d forcibly terminates the process of the application to be operated, (8) after the agent 102d terminates the target process, the "robot process ID" in the robot process management table 106f is rewritten to "NULL," (9) the flow execution unit 102e confirms the termination of the target process from the robot process management table and performs immediate stop processing, (10) the flow execution unit 102e updates the execution status of flow A in the execution status table 106b to "immediately stopped," and (11) the flow execution unit 102e updates the log file 106e by recording "immediately stopped" as an execution log, and ends flow execution. As a result, in this embodiment, the executing user can check the log and understand that the flow has been immediately stopped.
[0080] Here, as shown in FIG. 16, in this embodiment, for an RPA flow (flow A) that is subject to exclusive control, if the execution status in the execution status table 106b is "running," exclusive data for the application to be operated or flow A remains, so exclusive control is applied and the flow cannot be executed until execution is complete. However, if the execution status in the execution status table 106b is "immediate stop completed," the immediate stop processing has been completed and exclusive control has been released, so the flow can be executed without recovery processing.
[0081] As shown in FIG. 17, in the log file 106e of this embodiment, a log of SEQ:9 is added by the process of FIG. 14(2), and a log of SEQ:10 is added by the process of FIG. 14(11). In this way, in this embodiment, the execution status after immediate stop is updated to "immediate stop completed," so exclusive data for the execution flow does not remain. Furthermore, in this embodiment, if a try-catch process is defined, the catch process is executed before the flow is stopped, ensuring the execution of post-processing predefined for the flow, and allowing for the release of exclusive control, etc. Furthermore, in this embodiment, the fact that an immediate stop was made is written to the execution log, making it possible to determine and confirm the timing of the immediate stop instruction and the location of the stop, allowing the user to appropriately and quickly determine the necessary recovery work.
[0082] Furthermore, an example of RPA immediate stop processing in this embodiment will be described with reference to Fig. 18 to Fig. 20. Fig. 18 to Fig. 20 are diagrams showing an example of RPA immediate stop processing in this embodiment.
[0083] As shown in FIG. 18, in this embodiment, if the RPA flow does not include a try-catch process, the immediate stop process simply performs RPA flow termination processing. Also, as shown in FIG. 19, in this embodiment, if the robot execution process that was immediately stopped is placed inside a try process, the immediate stop process executes the corresponding catch process and then performs RPA flow termination processing. Also, as shown in FIG. 20, in this embodiment, if the RPA flow includes multiple try-catch processes, the content and execution order of the catch processes are identified from the parent-child relationship of the RPA flow and executed in order. In this way, a catch process is essentially implemented to execute the process that should be executed if the try process does not end normally. Therefore, even if an immediate stop process is performed, a catch process should be executed. This is achieved in this embodiment.
[0084] An example of standby processing after an immediate stop instruction in this embodiment will be described with reference to Fig. 21. Fig. 21 is a diagram showing an example of standby processing after an immediate stop instruction in this embodiment.
[0085] As shown in FIG. 21, in this embodiment, the timing of the "Execution Status Check" of L1 and L3 determines whether an immediate stop instruction has been issued. If an immediate stop is in progress, subsequent processing is terminated and the system waits until the immediate stop is complete to prevent further processing. In this embodiment, the flow definer implements post-processing as a catch-up process in the event of an unexpected error occurring in the RPA flow, and this process is executed even during immediate stop. Furthermore, in this embodiment, by stopping subsequent processing of the RPA robot 102f during immediate stop, it is possible to prevent the RPA robot 102f from running out of control, such as by launching another application to be operated.
[0086] An example of RPA safety shutdown processing in this embodiment will be described with reference to Fig. 22 to Fig. 26. Fig. 22 and Fig. 23 are diagrams showing an example of RPA management processing in this embodiment. Fig. 24 and Fig. 26 are diagrams showing an example of flow definitions in this embodiment. Fig. 25 is a diagram showing an example of a log file 106e in this embodiment.
[0087] As shown in FIG. 22, in this embodiment, when a system administrator or RPA executor inputs a safety stop instruction for an RPA flow via the execution status monitor 102c, the execution status monitor 102c updates the execution status set in the execution status table 106b to "safely stopped." As shown in FIG. 22, in this embodiment, the agent 102d constantly checks the execution status of the RPA flow set in the execution status table 106b at the start timing of a loop included in the RPA flow. If the execution status is "safely stopped," the flow execution unit 102e ends the loop and proceeds to the safety stop end task. As shown in FIG. 22, in this embodiment, the flow execution unit 102e executes safety stop processing for the RPA flow, and after the safety stop processing is completed, the execution status set in the execution status table 106b is updated to "safely stopped."
[0088] Also, as shown in FIG. 23, in this embodiment, when a user selects the flow definition of flow A shown in FIG. 24 on the execution instruction screen, the flow execution unit 102e is started, the flow execution unit 102e updates the execution status of the execution status table 106b to "executing", the flow execution unit 102e starts the target robot (RPA robot) 102f, and the RPA robot 102f starts and operates the application to be operated.
[0089] 23, in this embodiment, when a user inputs a safety stop instruction for flow A in the execution status monitor 102c, (1) the execution status monitor 102c updates the execution status of flow A in the execution status table 106b to “safety stop in progress,” (2) the execution status monitor 102c updates the log file 106e by recording “safety stop instruction” as an execution log, (3) the flow execution unit 102e confirms the safety stop instruction at the timing of “safety stop determination,” (4) the flow execution unit 102e ends the loop included in the RPA flow and transitions to safety stop processing, (5) the flow execution unit 102e updates the execution status in the execution status table 106b to “safety stop completed,” (6) the flow execution unit 102e updates the log file 106e by recording “safety stop completed” as an execution log, and ends flow execution. As a result, in this embodiment, the executing user can check the log and understand that a safety stop has been performed.
[0090] As shown in FIG. 25, in the log file 106e of this embodiment, the log of SEQ:5 is added by the process of FIG. 23(2), and the log of SEQ:9 is added by the process of FIG. 14(6).
[0091] Furthermore, as shown in Figure 26, in the RPA flow of this embodiment, when creating the flow, it may be defined so that a safety stop determination is always made at the loop start timing, or it may be possible to freely add a safety stop determination to the RPA flow.
[0092] As described above, in this embodiment, the RPA robot 102f does not stop while running, so exclusion of the application to be operated and inconsistencies in input data do not occur. Furthermore, in this embodiment, the execution flow is terminated via the safety stop termination task, so exclusive data of the RPA flow does not remain. Furthermore, in this embodiment, the user can check the number of loops that have been input by checking the log, so retry execution can be easily performed by simply modifying the data source. Furthermore, in this embodiment, the safety stop determination is automatically placed at the timing of the loop start, so a flow that safely stops can be created without the flow creator's awareness. Furthermore, in this embodiment, the stop instruction determination task can be placed at any timing when creating a flow, increasing the flexibility of safety stops.
[0093] [4. Contribution to the United Nations-led Sustainable Development Goals (SDGs)] This embodiment can contribute to improving business efficiency and promoting appropriate management decisions by companies, thereby contributing to the achievement of SDGs Goals 8 and 9.
[0094] Furthermore, this embodiment can contribute to reducing waste and promoting paperless and electronic systems, thereby contributing to the achievement of SDGs Goals 12, 13, and 15.
[0095] Furthermore, this embodiment can contribute to strengthening control and governance, which can contribute to the achievement of Goal 16 of the SDGs.
[0096] 5. Other Embodiments The present invention may be implemented in various different embodiments other than those described above within the scope of the technical concept set forth in the claims.
[0097] For example, among the processes described in the embodiments, all or part of the processes described as being performed automatically can be performed manually, or all or part of the processes described as being performed manually can be performed automatically using known methods.
[0098] Furthermore, the processing procedures, control procedures, specific names, information including parameters such as registered data and search conditions for each process, screen examples, and database configurations shown in this specification and drawings can be changed as desired unless otherwise specified.
[0099] Furthermore, with regard to the RPA management device 100, the components shown in the figures are functional concepts, and do not necessarily have to be physically configured as shown in the figures.
[0100] For example, all or any part of the processing functions of the RPA management device 100, particularly the processing functions performed by the control unit 102, may be implemented by a CPU and a program interpreted and executed by the CPU, or may be implemented as hardware using wired logic. The program is recorded on a non-transitory, computer-readable recording medium containing programmed instructions for causing the information processing device to execute the processes described in this embodiment, and is mechanically read by the RPA management device 100 as needed. That is, a computer program for providing instructions to the CPU in cooperation with the OS and performing various processes is recorded in a storage unit such as a ROM or HDD (hard disk drive). This computer program is executed by being loaded into RAM and cooperates with the CPU to form the control unit.
[0101] In addition, this computer program may be stored in an application program server connected to the RPA management device 100 via any network, and all or part of it may be downloaded as needed.
[0102] Furthermore, the program for executing the processes described in this embodiment may be stored in a non-transitory computer-readable recording medium or configured as a program product. Here, the term "recording medium" includes any "portable physical medium" such as a memory card, a Universal Serial Bus (USB) memory, a Secure Digital (SD) card, a flexible disk, a magneto-optical disk, a ROM, an Erasable Programmable Read Only Memory (EPROM), an Electrically Erasable and Programmable Read Only Memory (EEPROM (registered trademark)), a Compact Disk Read Only Memory (CD-ROM), a Magneto-Optical disk (MO), a Digital Versatile Disk (DVD), and a Blu-ray (registered trademark) disc.
[0103] Furthermore, a "program" is a data processing method written in any language or description method, and does not matter whether it is in the form of source code or binary code. Note that a "program" is not necessarily limited to a single structure, but also includes a structure that is distributed as multiple modules or libraries, or a structure that achieves its function by cooperating with a separate program, such as an OS. Note that the specific configuration and reading procedure for reading a recording medium in each device shown in this embodiment, as well as the installation procedure after reading, can use well-known configurations and procedures.
[0104] The various databases stored in the memory unit 106 are storage means such as memory devices such as RAM and ROM, fixed disk devices such as hard disks, flexible disks, and optical disks, and store various programs, tables, databases, and web page files used for various processes and providing websites.
[0105] The RPA management device 100 may be configured as an information processing device such as a known personal computer or workstation, or may be configured as the information processing device to which any peripheral device is connected. The RPA management device 100 may also be realized by installing software (including programs, data, etc.) that causes the device to perform the processing described in this embodiment.
[0106] Furthermore, the specific form of distribution and integration of the devices is not limited to that shown in the drawings, and all or part of them can be configured by functionally or physically distributing and integrating them in any unit depending on various additions or functional loads. In other words, the above-described embodiments can be implemented in any combination, or embodiments can be implemented selectively. [Industrial Applicability]
[0107] The present invention is useful in a variety of industries that use RPA. [Explanation of symbols]
[0108] 100 RPA management device 102 Control section 102a Master setting section 102b Execution instruction section 102c Execution Status Monitor 102d Agent 102e Flow execution unit 102f RPA robot 104 Communication interface unit 106 Storage section 106a Definition Master 106b Execution status table 106c Flow Security Master 106d User Group Management Master 106e Log File 106f Robot process management table 108 Input / Output Interface Section 112 Input Device 114 Output Device 200 servers 300 Network
Claims
1. An RPA management device including a storage unit and a control unit, The storage unit A definition master in which a flow definition of an RPA flow to be executed by RPA is set; an execution status table that sets the execution status of the RPA flow; Equipped with The control unit an RPA robot that executes an application to be operated; a flow execution unit that executes each task defined in the RPA flow, including startup control of the RPA robot, and updates the execution status table; an agent that checks the execution status of the RPA flow set in the execution status table and controls the execution of the RPA flow; an execution status monitor that displays the execution status; Equipped with The execution status monitor When a user inputs a safety stop instruction for the RPA flow, the execution status set in the execution status table is updated to "safely stopped"; The flow execution unit An RPA management device characterized by constantly checking the execution status of the RPA flow set in the execution status table, and if it detects that the execution status is during the safety stop, terminating the loop processing included in the RPA flow at the start timing of the loop processing and executing flow termination processing of the RPA flow.
2. The storage unit a flow security master that sets a safety stop authority for the RPA flow by the user; Further provided with The execution status monitor The RPA management device described in claim 1, characterized in that when the user inputs the safety stop instruction for the RPA flow and the safety stop authority of the user is set in the flow security master, the execution status set in the execution status table is updated during the safety stop.
3. The storage unit a flow security master that sets the execution authority of the user for the RPA flow; Further provided with The control unit an execution instruction means for displaying an execution instruction screen, and updating the execution status set in the execution status table to a standby state when the user inputs an execution instruction for the RPA flow and the execution authority of the user is set in the flow security master; Further provided with The agent: The RPA management device according to claim 1 or 2, characterized in that the execution status of the RPA flow set in the execution status table is checked, and if the execution status is detected to be waiting for execution, the RPA management device controls the start of the RPA flow.
4. An RPA management method to be executed by an RPA management device including a storage unit and a control unit, The storage unit A definition master in which a flow definition of an RPA flow to be executed by RPA is set; an execution status table that sets the execution status of the RPA flow; Equipped with The control unit an RPA robot that executes an application to be operated; a flow execution unit that executes each task defined in the RPA flow, including startup control of the RPA robot, and updates the execution status table; an agent that checks the execution status of the RPA flow set in the execution status table and controls the execution of the RPA flow; an execution status monitor that displays the execution status; Equipped with Executed in the execution status monitor, When a user inputs a safety stop instruction for the RPA flow, updating the execution status set in the execution status table to "safely stopped"; Executed in the flow execution unit, a step of constantly checking the execution status of the RPA flow set in the execution status table, and when it is detected that the execution status is during the safety stop, terminating the loop processing at the start timing of the loop processing included in the RPA flow and executing a flow termination process of the RPA flow; An RPA management method comprising:
5. An RPA management program to be executed by an RPA management device having a storage unit and a control unit, The storage unit A definition master in which a flow definition of an RPA flow to be executed by RPA is set; an execution status table that sets the execution status of the RPA flow; Equipped with The control unit an RPA robot that executes an application to be operated; a flow execution unit that executes each task defined in the RPA flow, including startup control of the RPA robot, and updates the execution status table; an agent that checks the execution status of the RPA flow set in the execution status table and controls the execution of the RPA flow; an execution status monitor that displays the execution status; Equipped with In the execution status monitor, When a user inputs a safety stop instruction for the RPA flow, updating the execution status set in the execution status table to "safely stopped"; Execute In the flow execution unit, a step of constantly checking the execution status of the RPA flow set in the execution status table, and when it is detected that the execution status is during the safety stop, terminating the loop processing at the start timing of the loop processing included in the RPA flow and executing a flow termination process of the RPA flow; An RPA management program for executing the above.
Citation Information
Patent Citations
Multiprocessor system
JP2004342014A
Scenario execution system, management device, scenario execution management method, and program
JP2020119394A
Information processing device, processing method therein, and program
JP2021039433A
Information processing program, information processing method, and information processing device
JP2021056763A