Workflow management methods, systems, and computer program products with real-time logging, debugging, and resume capabilities.

The workflow management system addresses errors in complex workflows by providing real-time monitoring and debugging features, improving workflow management efficiency through its dashboard microservice and log information retrieval.

JP7862589B2Active Publication Date: 2026-05-19RAKUTEN MOBILE INC
View PDF 7 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
RAKUTEN MOBILE INC
Filing Date
2022-09-09
Publication Date
2026-05-19

AI Technical Summary

Technical Problem

Complex workflows in industries are prone to errors due to incorrect execution of steps or omission, and existing systems lack effective real-time monitoring and debugging capabilities.

Method used

A workflow management system with a dashboard microservice that provides a user interface for creating, executing, and monitoring workflows, along with real-time log information retrieval and debugging options, allowing users to select tasks for debugging and resume execution.

Benefits of technology

Enables real-time monitoring and debugging of workflows, reducing errors and improving efficiency by allowing users to address issues promptly during execution, thereby enhancing workflow management capabilities.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007862589000001
    Figure 0007862589000001
  • Figure 0007862589000002
    Figure 0007862589000002
  • Figure 0007862589000003
    Figure 0007862589000003
Patent Text Reader

Abstract

The workflow management system includes a processor and a storage medium storing executable instructions that, when executed, instruct the processor to execute a workflow including a plurality of tasks according to a sequence of the plurality of tasks in the workflow. A log storage stores log information related to the plurality of tasks during execution of the workflow. A workflow including the plurality of tasks arranged in a sequence is visually presented. In response to a user selecting a task from among the plurality of tasks of the workflow, task information related to the selected task is visually presented. In response to a user selecting a log in the visually presented task information, log information related to the selected task is retrieved from the log storage and visually presented.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to workflows and workflow management.

Background Art

[0002] In many industries, services, applications, businesses, etc., procedures are complex and error-prone due to various internal guidelines and / or external regulations. Workflows are developed to present such complex procedures in a way that is easy for humans to follow and to reduce potential errors such as steps being omitted, executed incorrectly, or executed in the wrong order.

Summary of the Invention

[0003] In some embodiments, a workflow management system includes at least one processor and at least one computer-readable storage medium coupled to the at least one processor and configured to store executable instructions. When the executable instructions are executed by the at least one processor, the workflow management system causes a workflow including a plurality of tasks to be executed according to a sequence of the plurality of tasks in the workflow, causes log information related to the plurality of tasks to be stored in a log storage (log storage unit) during the execution of the workflow, visually presents a workflow including the plurality of tasks arranged in the sequence in response to a user selecting a task from the plurality of tasks in the workflow, visually presents task information related to the selected task, causes the at least one processor to search (retrieve) log information related to the selected task from the log storage in response to the user selecting a log in the visually presented task information, and visually present the retrieved log information.

[0004] In some embodiments, the workflow management method is performed by at least one processor, at least in part. The method includes the steps of: visually presenting a workflow comprising a plurality of tasks arranged in a sequence; visually presenting a first input area for receiving a user selection for each of the tasks in the workflow, indicating whether the task should be included in debug mode; and executing one or more tasks from the plurality of tasks that have been selected to be included in debug mode (in this step, the remaining one or more tasks that have not been selected to be included in debug mode are not executed).

[0005] In some embodiments, the computer program product includes a non-transitory tangible computer-readable storage medium that stores a computer program that, when executed by at least one processor, instructs at least one processor to execute a workflow containing multiple tasks according to a sequence of tasks in the workflow. For any task among the multiple tasks that fails to execute the workflow, a resume option selected by the user is received from several different resume options for resuming the execution of the workflow. The execution of the workflow is resumed according to the selected resume option.

[0006] The aspects of this disclosure will be best understood from the following detailed description when read in conjunction with the accompanying drawings. In accordance with industry standards, various features are not drawn to scale. In practice, the dimensions of various features are arbitrarily increased or decreased for the sake of clarity in the description. [Brief explanation of the drawing]

[0007] [Figure 1] This is a schematic diagram of a workflow management system according to several embodiments.

[0008] [Figure 2A]This is a schematic diagram showing various screens or panels of the user interface in a workflow management system according to several embodiments. [Figure 2B] This is a schematic diagram showing various screens or panels of the user interface in a workflow management system according to several embodiments. [Figure 3A] This is a schematic diagram showing various screens or panels of the user interface in a workflow management system according to several embodiments. [Figure 3B] This is a schematic diagram showing various screens or panels of the user interface in a workflow management system according to several embodiments. [Figure 3C] This is a schematic diagram showing various screens or panels of the user interface in a workflow management system according to several embodiments. [Figure 3D] This is a schematic diagram showing various screens or panels of the user interface in a workflow management system according to several embodiments. [Figure 3E] This is a schematic diagram showing various screens or panels of the user interface in a workflow management system according to several embodiments. [Figure 3F] This is a schematic diagram showing various screens or panels of the user interface in a workflow management system according to several embodiments. [Figure 3G] This is a schematic diagram showing various screens or panels of the user interface in a workflow management system according to several embodiments. [Figure 3H] This is a schematic diagram showing various screens or panels of the user interface in a workflow management system according to several embodiments.

[0009] [Figure 4] This is a flowchart of an exemplary UI user flow in a workflow management system, based on several embodiments.

[0010] [Figure 5] This is an exemplary workflow execution time flowchart managed by a workflow management system, according to several embodiments.

[0011] [Figure 6A] These are flowcharts of various processes in a workflow management system, based on several embodiments. [Figure 6B] These are flowcharts of various processes in a workflow management system, based on several embodiments. [Figure 6C] These are flowcharts of various processes in a workflow management system, based on several embodiments.

[0012] [Figure 7] This is a schematic block diagram of a computer system according to several embodiments. [Modes for carrying out the invention]

[0013] The following disclosure includes many different embodiments or examples for implementing different features of the subject matter. For the sake of brevity, specific examples of components, values, operations, materials, arrangements, etc. are described below. Naturally, these are merely examples and are not intended to be limiting. Other components, values, operations, materials, arrangements, etc., are possible. For example, forming a first feature above or above a second feature in the following description includes embodiments in which the first and second features are formed in direct contact, and also includes embodiments in which an additional feature is formed between the first and second features so that the first and second features do not come into direct contact. In addition, the disclosure repeats reference numbers and / or symbols in various examples. This repetition is for the sake of brevity and clarity and does not in itself determine the relationships between the various embodiments and / or configurations discussed. Furthermore, spatially relative terms such as “directly below,” “below,” “at the bottom,” “on top,” and “above” may be used herein to describe the relationship between one element or feature and another, as shown in the figures, for the sake of clarity. Spatially relative terminology is intended to encompass different orientations of the device during use or operation, in addition to the orientation shown in the figure. The device may be oriented in other directions (rotated by 90 degrees or in other directions), and spatially relative descriptors, which may also be used herein, will be interpreted accordingly.

[0014] A workflow presents a step-by-step process outlining how work should be performed. Examples of processes include, but are not limited to, business and / or technical planning, procedures, and customer support / service. In complex technical situations, i.e., when there are many workflows and / or tasks within them, or when tasks in one or more workflows are performed in one or more locations physically separated from an administrator or supervisor, the ability to remotely monitor and / or control workflow execution becomes a consideration.

[0015] In some embodiments, during the execution of a workflow, log information or logs generated by various functions, scripts, or applications are directed (sent) to log storage. The workflow management system is configured to provide a user interface (UI) for an administrator, such as a user of the workflow management system, to monitor the status of one or more workflows. The UI is configured to provide the user with options for selecting tasks within the workflow and options for requesting log information related to the tasks. In response to a user request, the log information related to the selected task is retrieved by the workflow management system from the log storage and presented to the user through the UI. In at least one embodiment, the log information is retrieved and / or presented in real time. In at least one embodiment, the log information is retrieved and / or presented while the workflow is being executed. As a result, in one or more embodiments, the user can view the log information in response to a request without having to wait until the execution of the workflow is completed. Based on the log information available in response to a request, the user can perform early investigations and / or make decisions regarding potential problems that are delaying the entire process of workflow execution. The workflow management system is further configured to provide the user with various options for debugging and / or resuming (retrying) the whole or a part of the workflow through the UI. In at least one embodiment, such debugging and / or resuming capability is combined with the ability to obtain on-demand real-time log information to provide the user with a useful tool for effective workflow management. Further features and / or advantages are within the scope of various embodiments.

[0016] FIG. 1 is a schematic diagram of a workflow management system 100 according to some embodiments.

[0017] The workflow management system 100 includes a dashboard microservice 110, an engine 120, a database 130, and a log storage 140. Repositories 150 and one or more elements 160 are also shown in FIG. 1. In at least one embodiment, the repository 150 is part of the workflow management system 100. In some embodiments, the repository 150 is at least partially external to the workflow management system 100. The element 160 is an example of a location, site, or facility where one or more workflows managed by the workflow management system 100 are executed.

[0018] In some embodiments, at least one, or some, or all of the components shown in FIG. 1, such as the dashboard microservice 110, the engine 120, the database 130, the log storage 140, the repository 150, the element 160, and / or their sub-components (e.g., modules 112, 114, 116 and / or engines 122, 124, 126), comprise hardware on which software corresponding to various algorithms and / or operations described herein is executed. Any one or more hardware configurations of the components shown in FIG. 1 include a computer system as described with respect to FIG. 7. For example, at least one, or some, or all of the components of the workflow management system 100, the repository 150, the element 160, and / or their sub-components include executable instructions stored on at least one computer-readable medium and executed by at least one hardware processor. In some embodiments, one or more of the components within the workflow management system 100 and / or their sub-components are implemented on or by a cloud platform. Other configurations are within the scope of various embodiments.

[0019] The dashboard microservice 110 includes a plurality of modules configured to provide one or more functions and / or operations described herein. For illustrative purposes, the dashboard microservice 110 in Figure 1 includes modules 112, 114, and 116. However, a number and / or types of modules are within the scope of various embodiments. In at least one embodiment, at least one of modules 112, 114, and 116 includes a set of modules (a plurality of modules). In at least one embodiment, the exemplary modules 112, 114, and 116 are different from each other or share at least one common module.

[0020] The dashboard microservice 110 includes one or more modules configured to generate a graphical user interface (hereinafter referred to as the "UI") for user 101. The UI generated by the dashboard microservice 110 is visually presented to the user to help the user manage various workflows and workflow executions as described herein. In some embodiments, examples of visual presentation of workflow and / or UI screens include displaying the workflow and / or UI screens on a display such as a monitor or touchscreen. The display may be a display of a computer system implementing one or more components of the workflow management system 100, or it may be a remote display connected to one or more components of the workflow management system 100 via a network or communication link. Other methods for visually presenting information, such as projection onto a screen, or three-dimensional (3D) projection using glasses and / or other head-mounted devices, or any other method for presenting information that the user can visually perceive, are within the scope of various embodiments. For simplicity, in the following description, "display" or "present" may be used as exemplary methods for visually presenting information. Other methods for visual presentation discussed herein are not excluded. Users can interact with information displayed via pointing devices (e.g., a mouse), touchscreens, contactless gestures, voice commands, or other visually presented information.

[0021] The dashboard microservice 110 further comprises one or more modules configured, by itself and / or in cooperation with one or more corresponding engines within engine 120, to create, manage, execute, and / or monitor various workflows as described herein. In some embodiments, the dashboard microservice 110 is configured to provide the ability to perform create, read, update, and delete (CRUD) operations on various objects, including but not limited to workflows, tasks, elements, and functions. In some embodiments, the dashboard microservice 110 is configured to perform one or more of the following actions: execution, monitoring, debugging, resumption, and reporting of workflows and / or tasks, through role-based access control (RBAC). In some embodiments, the dashboard microservice 110 includes at least one node application. In some embodiments, the dashboard microservice 110 includes at least one web-based application.

[0022] Engine 120 is configured to perform various operations and / or functions as described herein, together with or under the control of the dashboard microservice 110. For illustrative purposes, engine 120 in Figure 1 includes engines 122, 124, and 126. However, a number and / or types of engines are within the scope of various embodiments. In at least one embodiment, at least one of engines 122, 124, and 126 comprises a set of engines (multiple engines). In at least one embodiment, engines 122, 124, and 126 are different from each other or share at least one common engine. Examples of Engine 120 include, but are not limited to, operating system (OS) installation, OS upgrade, cluster installation (e.g., Robin cluster installation), cluster uninstallation (e.g., Robin cluster uninstallation), cluster upgrade (e.g., Robin cluster upgrade), scall in / scall out, hardware health checks, firmware upgrades, field-programmable gate array (FPGA) upgrades, OS / FPGA reporting, and authentication. Engine 120 is configured to interact with the dashboard microservice 110 through application programming interface (API) requests / responses. For simplicity, in this description, operations and / or functions and / or controls performed by the dashboard microservice 110 and / or Engine 120 may also be expressed as being performed by the system or by its processor / one processor / at least one processor.

[0023] In the exemplary operation 102, the UI of the dashboard microservice 110 provides user 101 with at least one option for registering an element configuration. For example, user 101 interacts with the UI to provide user input for the element configuration to module 112 of the dashboard microservice 110. Module 112 instructs engine 122 to store the element configuration in database 130.

[0024] An element configuration is the configuration or description of an element. In some embodiments, an element includes one or more sites or devices (e.g., computer systems) on which one or more tasks of a workflow are performed. Examples of elements, as described herein, include, but are not limited to, bare metal and clusters. In some embodiments, bare metal (BM) is a computer system without an OS and installed applications. In at least one embodiment, BM includes computer hardware with firmware or a basic input / output system (BIOS) software utility installed, or with no software installed at all. In some embodiments, BM becomes a server after an OS and one or more required applications are installed. In some embodiments, a node refers to a BM before or after OS installation. A cluster includes a group of nodes that are interconnected and configured to work together. An exemplary cluster is a Robin cluster (RC). Other cluster configurations are within the scope of various embodiments. In some embodiments, in order to configure the group of nodes as a cluster, a first node in the group is installed or configured as a primary master (PM), at least one second node in the group is installed or configured as at least one secondary master (SM), and one or more additional nodes in the group are installed or configured as one or more agents.

[0025] Element 160 in Figure 1 includes examples of nodes and clusters. Element 160 includes M clusters, i.e., cluster 1, cluster 2, ... cluster M. Each cluster includes multiple nodes. For example, cluster 1 includes N nodes, i.e., node 1_1, node 1_2, ... node 1_N; cluster 2 includes P nodes, i.e., node 2_1, node 2_2, ... node 2_P; ... cluster M includes Q nodes, i.e., node M_1, node M_2, ... node M_Q, where M, N, P, and Q are natural numbers. In some embodiments, the element includes a cluster, or a group of nodes installed as a cluster. In at least one embodiment, the element includes at least one node in a cluster, or at least one independent node not included in a cluster. Specific examples described herein include the execution of a workflow for configuring a group of BMs as a cluster. These examples are not limiting. Other use cases and / or scenarios and / or applications of the workflow management system 100 are within the scope of various embodiments. In a concrete example, each cluster is either a data center or constitutes part of a data center.

[0026] In a further example 104, the UI of the dashboard microservice 110 provides user 101 with various options for building, running, debugging, and / or resuming workflows. For example, user 101 interacts with the UI to build a workflow that includes multiple tasks arranged or connected in a sequence. In some embodiments, the system, or another component outside the workflow management system 100, provides an environment for the user to build workflows, such as a graphing environment, and is configured to save the workflow configuration of the built workflow as an Extensible Markup Language (XML) document executed at runtime by the workflow engine in engine 120. In some embodiments, the workflow conforms to the Business Project Management Notation (BPMN) specification. Other workflow configurations and / or specifications and / or programming languages ​​or code are within the scope of various embodiments. In some embodiments, the system, or another component outside the workflow management system 100, includes a template repository (or template manager) containing prestored workflows that can be used as templates to quickly build new workflows. Workflow configurations created or loaded by the workflow management system 100 are stored, for example, in the database 130 by the engine 124. The database 130 includes a single database or a set of databases (multiple databases) that store workflow configurations and element configurations. In some embodiments, the database 130 further stores the generated workflow data while the workflow engine is running one or more workflows and / or as a result thereof.

[0027] The UI of the dashboard microservice 110 further provides the user 101 with various options for executing a built workflow or an existing workflow. In one example, the engine 124 receives user input for the workflow and the elements on which the workflow should be executed through module 114. The engine 124 loads the corresponding element configuration and workflow configuration from database 130 and dynamically modifies the workflow as needed based on the element configuration and workflow configuration. The engine 124 creates one or more worker pods 128 or utilizes one or more existing worker pods 128 and then assigns one or more worker pods 128 to execute the modified workflow based on the element configuration and workflow configuration. In some embodiments, the described dynamic workflow modification is omitted.

[0028] In at least one embodiment, one or more worker pods 128 are created to perform functions related to one or more tasks in a workflow to be executed. For example, since each task runs in its own worker pod, a worker pod that is the actual instance running the task is required to perform functions related to the task. In some situations, the tasks to be executed are not related to functions within the workflow management system 100, but to one or more external scripts. In such situations, one or more worker pods 128 load one or more scripts from the repository 150 and ensure that the functions and / or scripts related to the tasks in the workflow are executed in a specified element (for example, in a cluster or one or more nodes within element 160) according to the sequence of tasks in the workflow.

[0029] When a task (e.g., a function and / or script) is executed, log information about the task and / or the node on which the task was executed is generated and sent from the node to one or more worker pods 128. Examples of log information include, but are not limited to, status, parameters, variables, and conditions. One or more worker pods 128 redirect the log information to log storage 140 for internal storage. An example of how log information is collected and stored is illustrated with reference to Figure 5.

[0030] Various options for debugging and / or resuming the workflow are also provided to user 101 by the UI. Based on user input or selection of options for debugging or resuming the workflow received through module 114, engine 124 makes appropriate modifications to its instructions (engine instructions) to one or more worker pods 128 to execute the workflow completely or partially, according to the selected debug or resume option.

[0031] In some embodiments, at least one of the log storage 140 or repository 150 comprises a database implemented by one or more computer systems. In at least one embodiment, one or more worker pods 128 include deployable units of computing created and managed in Kubernetes. Other worker pod configurations are within the scope of various embodiments. In some embodiments, worker pods are omitted or replaced by other virtual machines.

[0032] In another exemplary operation 106, the UI of the dashboard microservice 110 provides user 101 with at least one option to request real-time log information related to a selected task in a selected workflow. For example, in response to a user request for log information received through the UI, module 116 sends the user request to engine 126. Engine 126 accesses log storage 140 to retrieve log information corresponding to the selected task in the selected workflow identified in the user request, sends the retrieved log information back to the UI through module 116, and displays the log information to the user. In some embodiments, while the user is viewing the log information (e.g., while the log information remains displayed), updated or new log information related to the selected task / workflow is updated in real time on the UI. In some embodiments, potential errors reflected in the displayed log information are corrected, located, or bypassed by using debug options and / or resume options as described herein.

[0033] Figures 2A-2B and 3A-3H are schematic diagrams showing various screens or panels of the UI in a workflow management system according to several embodiments. In some embodiments, the UI is provided to the workflow management system 100 and generated by the dashboard microservice 110.

[0034] Figure 2A is a schematic diagram of the UI dashboard screen 200A in several embodiments. In some embodiments, the dashboard screen 200A is displayed when authentication of a user logging into the workflow management system 100 is successful. The dashboard screen 200A includes an address bar 202, a settings button 204, a location selection menu 206, a date selection menu 208, and a plurality of visualization areas 210, 212, 214, and 216.

[0035] The address bar 202 contains an address for accessing the dashboard screen 200A using a web browser. For simplicity, the details of the address are omitted. As described herein, one or more other screens of the UI also include similar address bars. The address bars of one or more other screens are omitted for simplicity. In at least one embodiment, the web-based UI provides flexibility in that users can remotely log in and manage workflows using the workflow management system 100. In at least one embodiment, the UI is not web-based, and the address bar is omitted.

[0036] The settings button 204 is configured to allow access to other screens of the UI. For example, when a user operates the settings button 204, screen 200B in Figure 2B is displayed in addition to or instead of the current screen. Details of screen 200B are provided herein with respect to Figure 2B.

[0037] Visualization areas 210, 212, 214, and 216 provide overview information about various items within the workflow management system 100. For example, visualization area 210 provides the number of elements registered for each element type in the workflow management system 100. In the exemplary configuration of Figure 2A, visualization area 210 shows that there are 53 elements, approximately 80% of which are registered as BM type (bare metal) and approximately 20% of which are registered as RC type (Robin cluster).

[0038] The visualization area 212 provides the number of functions registered in the workflow management system 100 and the element types that the functions support. In some embodiments, one or more functions are associated with tasks in a workflow and will be executed in the corresponding elements when the workflow is executed. In the exemplary configuration of Figure 2A, the visualization area 212 shows that there are 111 functions supporting various element types, namely BM, VM (Virtual Machine), RC, and NF (Network Function). The list of element types described is a non-exclusive example.

[0039] Visualization area 214 provides the number of workflows in the workflow management system 100 and the corresponding types of workflows. In the exemplary configuration of Figure 2A, visualization area 214 shows that there are 83 workflows, of which approximately 80% are dynamic workflows and approximately 20% are static workflows. Dynamic workflows are dynamically and automatically modifiable by the system based on at least the element configuration of the element at which the workflow is selected to be executed, as described herein. In some embodiments, this dynamic feature allows dynamic workflows to be automatically reconfigured to run on one of several elements. Static workflows are not configured to be dynamically and automatically modifiable by the system. In some embodiments, static workflows are specifically configured to run on a particular element rather than the multiple elements described with respect to dynamic workflows.

[0040] Visualization region 216 provides the batch size of the workflow and the average execution time. According to some embodiments, one or more of visualization regions 210, 212, 214, and 216 are omitted or configured to show other data.

[0041] The location selection menu 206 and the date selection menu 208 allow the user to view data filtered by the location selected from the location selection menu 206 and / or the date selected from the location selection menu 206 in the visualization areas 210, 212, 214, and 216. In some embodiments, at least one of the location selection menu 206 and the date selection menu 208 is omitted.

[0042] Figure 2B is a schematic diagram of UI screen 200B according to several embodiments.

[0043] As described herein, screen 200B is displayed in response to user interaction with the settings button 204 on dashboard screen 200A. One or more other screens of the UI as described herein also include screen 200B on the side to help the user navigate through the various screens and / or options within the UI. For simplicity, screen 200B that may appear with one or more screens of the UI as described herein is omitted.

[0044] Screen 200B includes several selectable menu items 230, 232, 234, and 236 for accessing in correspondence with dashboard screen 200A, a screen for managing element configurations (e.g., register, edit, or delete) as described in relation to operation 102, a screen for managing and / or executing workflow configurations as described in relation to operation 104, and a screen for managing one or more functions that should be related to one or more tasks within various workflows managed by the workflow management system 100.

[0045] Screen 200B further includes selectable submenu items 242, 244, and 246 under menu item 234. The Workflow Template submenu item 242 is configured to provide access to a repository (or list) of workflow templates that can be used to build new workflows.

[0046] The Factory submenu item 244 is configured to provide access to a repository (or list) of workflows managed by the workflow management system 100. Users are provided with various options for executing workflows selected from the list by one or more elements, deleting existing workflows from the list, refreshing the list of workflows, or filtering the list of workflows to create, edit, or delete workflows. For example, as illustrated in Figures 3E-3F, users are further provided with various options for debugging workflows.

[0047] The Execute Workflow submenu item 246 is configured to display a list of executed workflows. An example of such a list is illustrated with reference to Figure 3A. For example, as illustrated herein with reference to Figures 3B to 3D, the user is provided with at least one option to request real-time log information related to a selected task. For example, as illustrated herein with reference to Figures 3B to 3D, the user is further provided with various options to resume (re-run) a workflow in whole or in part. Further features include displaying the task configuration, refreshing the list of executed workflows, or filtering the list of executed workflows based on status and start date.

[0048] Screen 200B further includes a navigation indicator 240 that shows the user's current location within the UI. In the exemplary configuration shown in Figure 2B, the navigation indicator 240 "Run Workflow" corresponds to the currently selected Workflow Run submenu item 246.

[0049] Figure 3A is a schematic diagram of UI screen 300A in several embodiments. In some embodiments, screen 300A is displayed when the user selects the workflow execution submenu item 246 in screen 200B.

[0050] Screen 300A contains a list of executed workflows 311-317, each corresponding to a row in the list. Each executed workflow includes its corresponding status (failed, successful, or paused), process ID (identification), workflow ID, workflow name, elements in which the workflow was executed, start time, duration, and progress report under corresponding columns 301-308. Screen 300A further includes a search bar 309 to allow the user to search for a specific executed workflow. Screen 300A also includes a button 310 to allow the user to execute a workflow selected from the list, a button 310A to refresh the list, and a button 310B to filter the list.

[0051] For each executed workflow 311-317, the workflow name (column 304) is a human-readable and / or descriptive name given to the workflow when it is created or loaded into the workflow management system 100.

[0052] The Workflow ID (column 303) is a unique identifier automatically generated by the system for each workflow.

[0053] The element (column 305) is a human-readable name or a unique identifier automatically generated by the system for the element on which the workflow is performed. In at least one embodiment, for example, when a user performs an OS installation (workflow) on multiple clusters (elements), multiple elements are displayed.

[0054] The process ID (column 302) is a unique identifier automatically generated by the system. For batches of workflows, the process ID will be the same for all elements. For example, if a user wants to run one workflow (e.g., OS installation) on multiple clusters, the system will automatically create one process ID for this batch of workflows. In some situations, as shown in workflows 312 and 315, the same workflow (workflow ID 2) running on the same element (element 2) but with different start times (start time) will have different process IDs (process ID 2 and process ID 5). In at least one embodiment, the process ID is unique for each instance of workflow execution.

[0055] When a user selects a workflow from the list, screen 300B, as described in Figure 3B, is displayed, providing the user with additional options such as a step-by-step view of the workflow details, the time it will take to complete each task, and the task status. These additional options include, for example, allowing the user to rerun the workflow if execution fails for any element, and displaying the task configuration. An example of a rerun option is described in Figures 3C and 3D.

[0056] By selecting elements and recommended workflows from the list on screen 300A and operating button 310, the user is given the option to execute the workflows on the list. Operating button 310A updates the list of executed workflows, and the updated list is retrieved. Button 310B allows the user to filter the list of executed workflows based on status and / or start date.

[0057] Figure 3B is a schematic diagram of UI screen 300B in several embodiments. In some embodiments, screen 300B is displayed when the user selects a workflow to be executed from the list on screen 300A.

[0058] Screen 300B includes a visual presentation of a selected workflow 320, which includes multiple tasks arranged and / or connected together in a sequence from the start of four tasks 321_1 to 321_4 to the completion of task 328. Workflow 320 is an exemplary workflow of the OS installation process 329 on four nodes, followed by a cluster installation process 330 for configuring the four nodes into a cluster. Examples of nodes and clusters are illustrated with reference to Figure 1.

[0059] In the OS installation process 329, the same set of three tasks are executed at each node. For example, for the first node (first row or top row), tasks 321_1, 322_1, and 323_1 are executed sequentially at the first node under the control of one or more worker pods, as described with respect to Figure 1, for example. In some embodiments, subsequent tasks, such as tasks 322_1 or 323_1, are executed upon completion of preceding tasks, such as tasks 321_1 and 322_1. Similarly, for the second node (second row), tasks 321_2, 322_2, and 323_2 are executed sequentially at the second node. For the third node (third row), tasks 321_3, 322_3, and 323_3 are executed sequentially at the third node. For the fourth node (bottom row), tasks 321_4, 322_4, and 323_4 are executed sequentially at the fourth node. Tasks 321_1 to 321_4 for pre-installation checks are identical and are usually referred to as task 321. Tasks 322_1 to 322_4 for OS installation are identical and are usually referred to as task 322. Tasks 323_1 to 323_4 for OS reporting are identical and are usually referred to as task 323. In some embodiments, tasks 323_1 to 323_4 are omitted.

[0060] In some embodiments, the cluster installation process 330 can be started upon completion of the OS installation process 329, i.e., upon successful completion of all four tasks 322_1 to 322_4 (or upon successful completion of all four tasks 323_1 to 323_4 if tasks 322_1 to 322_4 are omitted). Tasks 324 to 328 are executed sequentially. In one example, task 324 for installing the primary master (PM) is executed on one node, tasks 325 to 326 for installing the secondary master (SM) are executed on at least one node different from the PM node, and task 327 for installing at least one agent is executed on at least one additional node different from the PM node and the SM node. Task 328 after the check is the last task in the workflow 320.

[0061] In some embodiments, workflow 320 is a dynamic workflow. The workflow configuration corresponding to workflow 320 includes a set of tasks 321, 322, and 323 for the OS installation process 329. Another set of three tasks 321, 322, and 323 are not included in the workflow configuration. When the workflow configuration is selected to run on a group of four nodes, the system automatically generates three additional sets of tasks so that each node has its own set of tasks 321, 322, and 323. When the workflow configuration is selected to run on a different number of node groups, for example, a group of ten nodes, the system automatically generates nine additional sets of tasks so that each of the ten nodes has its own set of tasks 321, 322, and 323.

[0062] Screen 300B further includes indicators 318 and 319. Indicator 318 displays the workflow name of workflow 320. Indicator 319 displays the status selected by the user in workflow 320 and the time required to complete the task. In the exemplary configuration of Figure 3B, task 322_3 is selected, and its status "Successful Completion" and completion time "41 minutes 7 seconds" are reflected in indicator 319. The status "Successful Completion" is reflected in the selected task 322_3 in workflow 320 by visually presenting the completed (or successful) task 322_3 in a format that is visually distinguishable from the format in which other unsuccessful tasks are visually presented. For example, successful task 322_3 is visually presented in green, while other unsuccessful tasks are visually presented in other colors. Another feature of the unique format of successful task 322_3 is that it includes a check mark sign 322S, which is not present in other unsuccessful tasks. The specific format described is an example. Other format schemes are within the scope of various embodiments. For example, visually different formats may have different levels of transparency, be animated by blinking or other means, have shadows or not, have different font types, font colors and / or font variations (e.g., bold or italic text), have different icons and / or text added, or be different combinations of the above visual effects and / or other effects not specifically described herein.

[0063] Figure 3C is a schematic diagram of UI screen 300C in several embodiments. In some embodiments, screen 300C is displayed in response to user interaction to show further details of the selected task. For example, if the user double-clicks the selected task 322_3 on screen 300B, screen 300C is displayed.

[0064] Screen 300C includes a display area 331 showing an enlarged sub-diagram of the portion of the workflow 320 in which the selected task 322_3 is located. Screen 300C further includes a display area 332 showing details of the selected task 322_3. For example, a function dropdown 334, when selected, shows one or more functions related to the selected task, i.e., one or more functions that are performed during the execution of the selected task. An element dropdown 335, when selected, displays one or more elements related to the selected task. A log dropdown 336, which is already in the selected state (selected state) on screen 300C, shows the log names of the available logs, i.e., IPMI logs 338 and function logs 339, of the target node, i.e., the node in which the selected task 322_3 is executed. The target node is shown in dropdown 337. When another target node is selected from dropdown 337, another log name of the corresponding available log is shown. In some embodiments, depending on one detail of the workflow and / or the element in which the workflow is executed, at least one of the IPMI logs or function logs is not available at the target node.

[0065] Screen 300C further includes an input area for receiving user input to re-execute the workflow, such as a re-execute button 340. In at least one embodiment, it is possible for the user to re-execute the workflow without reviewing log information.

[0066] Figure 3D is a schematic diagram of the UI screen 300D according to several embodiments. In some embodiments, screen 300D is displayed in response to the user selecting either the IPMI log 338 or the function log 339 in the display area 332. For example, if the user selects the IPMI log 338 in the display area 332, the display area 331, which displays part of the workflow 320 of screen 300C, is replaced by the display area 341 of screen 300D.

[0067] Display area 341 includes a button 343 that displays the log name of IPMI log 338, a button 344 that displays the log name of function log 339, and a log information display area 342 that displays detailed log information of the selected log. For example, if the user selects IPMI log 338 in display area 332, button 343 is displayed in the selected state, and detailed log information of IPMI log 338 is displayed in log information display area 342. If the user selects either function log 339 or button 344 in display area 332, detailed log information of function log 339 is displayed in log information display area 342. Screen 300D still includes a re-execution button 340.

[0068] In some embodiments, the IPMI log 338 is an OS installation-specific log generated on the target node during the OS installation process. For example, during the OS installation process 329 in Figure 3B, four different IPMI logs are generated correspondingly on the four nodes where the OS installation process 329 is executed. In at least one embodiment, during the OS installation process, a worker pod establishes a serial over LAN (SOL) session with the target node and retrieves the IPMI log from it. The retrieved IPMI log is then redirected by the worker pod to log storage as described with respect to Figures 1 and 5. When a user selects the IPMI log 338 in display area 332 or operates button 343 in display area 341, detailed log information for the target node's IPMI log is retrieved from log storage and displayed in the log information display area 342. In at least one embodiment, the displayed log information is retrieved and / or updated in real time.

[0069] In some embodiments, the function log 339 is a log generated by one or more functions or scripts related to the currently selected task. For example, task 322_3 selected for OS installation is related to one or more functions or scripts executed to perform the OS installation indicated by the selected task. The one or more functions or scripts executed generate log information that is included in the function log and provided to the corresponding worker pod. The worker pod redirects the function log to log storage. When a user selects the function log 339 in display area 332 or operates button 344 in display area 341, detailed log information for the target node's function log is retrieved from log storage and displayed in log information display area 342. In at least one embodiment, the displayed log information is retrieved and / or updated in real time.

[0070] In some embodiments, if the log information displayed in the log information display area 342 indicates an error and / or a potential problem, the user can re-execute the workflow by operating the re-execute button 340.

[0071] In some embodiments, the above configuration for on-demand and / or real-time log redirection and retrieval offers one or more advantages over other methods. Specifically, servers are often located in data centers / buildings / sites. According to other methods, a dedicated engineering team travels from site to site to install software, such as an OS, on the BMs that are to be configured as servers. This is a manual and time-consuming process. Furthermore, after the OS is installed, the engineering team needs to obtain permission to access at the node level. In some situations, obtaining the appropriate service level agreement (SLA) permission can take more than a week. After obtaining the necessary access, the engineering team needs to manually run scripts to install the Robin cluster. If there are any problems during execution, logs are displayed after execution. The engineering team needs to spend time traveling to sites to obtain log information and / or investigate the cause of delays in the entire process.

[0072] The problems described above with other approaches can be avoided in the workflow management system 100 in several embodiments. In at least one embodiment, real-time logs are available upon request from a remote location and viewable while the workflow is still running. As a result, users do not need to wait for the workflow to complete or travel to the site to collect and review relevant log information. One or more embodiments offer one or more advantages, including but not limited to reduced manual errors, improved performance, and reduced costs. In terms of performance, it may take engineering teams several days to complete an OS and cluster installation workflow (e.g., workflow 320) following manual processes with other methods. In contrast, in some embodiments, it is possible to create more than 50 clusters in parallel within two to three hours.

[0073] Figure 3E is a schematic diagram of UI screen 300E according to several embodiments. In some embodiments, screen 300E is displayed when the user selects the factory submenu item 244 on screen 200B to reach a list of workflows managed by the workflow management system 100, and then selects a workflow, for example workflow 320, from the list.

[0074] Screen 300E includes the workflow 320 described with respect to Figure 3B, an input area for receiving user input on whether to enable or disable debug mode, such as a toggle button 351, and a button 352 for executing workflow 320. In screen 300E, toggle button 351 is the state corresponding to debug mode being enabled. In response to debug mode being enabled, each task in workflow 320 is displayed with a separate input area, such as tasks 324 and 325, and their corresponding toggle buttons 354 and 355. Other tasks in workflow 320 also include corresponding toggle buttons, which are not numbered for simplification. The toggle buttons, including buttons 354 and 355, are configured to receive a user selection on whether the corresponding task should be included for execution in debug mode.

[0075] Figure 3F is a schematic diagram of UI screen 300F in several embodiments. Screen 300F is a version of screen 300E that responds to user operations on toggle buttons 354 and 355 associated with tasks 324 and 325 in the user interface 200. The operated toggle buttons 354 and 355 are graphically represented as 354E and 355E on screen 300F and are switched to a different state indicating that the corresponding tasks 324 and 325 have been selected to be included in debug mode execution. When the user operates button 352, only the tasks selected by the corresponding toggle button to be included in debug mode are executed, and the remaining unselected tasks are not executed in debug mode. For example, in the state shown in Figure 3E, when the user operates button 352, only the tasks 324 and 325 selected to be included in debug mode by user operations on the corresponding toggle buttons 354 and 355 are executed, and the remaining tasks not selected to be included in debug mode are not executed. In some embodiments, the debug modes described herein allow the user to execute only selected tasks rather than the entire workflow, thereby reducing workflow execution time and / or facilitating the debugging process.

[0076] Furthermore, although this process is called debugging, in at least one embodiment, it is not necessary to use this process to distinguish or resolve a problem. Rather, there are situations where only a few tasks are executed, rather than all tasks in the workflow. By using the debugging process described in Figures 3E to 3F, the user can select and execute desired tasks without having to run the entire workflow.

[0077] Task-related toggle buttons have a selected state (e.g., 354E, 355E in screen 300F) and a deselected state (e.g., other toggle buttons in screen 300F, or all toggle buttons in screen 300E). In the configuration examples in Figures 3E and 3F, the selected state is presented in a format that is visually distinguishable from the format of the deselected state. For example, the toggle buttons in the selected state are displayed in a different color (e.g., red) than the toggle buttons in the deselected state (e.g., gray). In some embodiments, other formatting schemes with visually distinguishable formats are within the scope of various embodiments. In at least one embodiment, it is possible to avoid or reduce human error caused by the user selecting an incorrect task that should be included in execution in debug mode by visually distinguishing tasks selected for debug mode from those not selected. The toggle buttons in the description are examples. Other configurations for receiving user input are within the scope of various embodiments. Examples of alternative forms of toggle buttons include, but are not limited to, switches, radio buttons, and menus (e.g., drop-down menus).

[0078] Although not shown in the diagram, if toggle button 351 is in a state corresponding to debug mode being unavailable, toggle buttons such as buttons 354 and 355 will not be displayed in the tasks of workflow 320. In this state, if the user operates button 352, the entire workflow 320 will be executed as usual. The state of the executed workflow 320 is provided on screen 300A, regardless of whether it is in debug mode or not.

[0079] Figure 3G is a schematic diagram of UI screen 300G in several embodiments. In some embodiments, screen 300G is displayed when the user selects a workflow from the list of executed workflows on screen 300A.

[0080] In the configuration example shown in Figure 3G, screen 300G displays the same workflow 320 as screen 300B. The difference between screen 300G and screen 300B is that in screen 300B, workflow 320 has completed successfully, whereas in screen 300, the workflow execution has failed, as indicated by indicator 319. Failed tasks in the workflow execution are visually presented in a format that distinguishes them from other tasks. For example, in screen 300G, the failed task is task 322_3, which is displayed in a different color (e.g., red) from other tasks. In response to the presence of tasks that have failed to execute in the workflow, the system includes a button 360 to provide the user with several options for resuming the failed workflow.

[0081] Figure 3H is a schematic diagram of the UI screen 300H according to several embodiments. In some embodiments, when a user operates a button 360 on screen 300G, screen 300H is displayed on top of screen 300G, or in place of screen 300G.

[0082] Screen 300H includes several selectable different resume options 362-365 for resuming the execution of workflow 320. Screen 300H further includes a button 366 for canceling and returning to screen 300G, and a button 367 for resuming the execution of workflow 320 according to the resume option selected from resume options 362-365.

[0083] In response to the user's selection of the resume option 362, i.e., resume from where it failed, and the subsequent user action of button 367, the workflow 320 resumes from the failed task. In other words, this option resumes the failed task and the tasks that follow it.

[0084] In response to the user's selection of the resume option 363, i.e., run only failed tasks, and subsequent user interaction with button 367, only the failed tasks in workflow 320 are executed, and other tasks in workflow 320, including tasks that follow the failed tasks, are not executed.

[0085] In response to the user selecting the resume option 364, i.e., run all, and the subsequent user operation of button 367, the entire workflow 320 is executed from the beginning. In at least one embodiment, this option is similar to the re-run option described with respect to Figures 3C-3D.

[0086] In response to the user selecting the resume option 365, i.e., ignore failures, and the subsequent user operation of button 367, the failed task is ignored, and subsequent tasks following the failed task are executed with this option.

[0087] In some embodiments, providing several different resume options gives users flexibility in addressing or resolving issues related to failed workflow executions. One or more resume options reduce the number of tasks that need to be executed, thereby shortening the workflow execution time.

[0088] Figure 4 is a flowchart of an exemplary UI user flow 400 in a workflow management system according to several embodiments. In some embodiments, the UI user flow 400 corresponds to one or more operations in the workflow management system 100 according to several embodiments.

[0089] In operation 404, screen 300A is displayed to show the current status of the executed workflow. In at least one embodiment, screen 300A is displayed in response to the user selecting the workflow execution submenu item 246 on screen 200B and / or when the user commands the execution of the workflow.

[0090] In operation 406, the system determines whether the executed workflow selected from the list in Figure 3A is a successful workflow.

[0091] In operation 408, in response to the positive judgment (Yes) in operation 406, the selected workflow is displayed along with a re-execution option, as shown on screen 300C.

[0092] In operation 410, in response to a negative judgment (No) in operation 406, the selected workflow is displayed with a resume button 360, as shown on screen 300G. When the user operates button 360, screen 300H is displayed with several different resume options for user selection.

[0093] In operation 412, in response to user input, the workflow is resumed based on the resume option selected from screen 300H. The process then returns to screen 300A in operation 404, showing an updated list of the executed workflows.

[0094] In operation 420, the selected workflow is displayed along with an option to enable or disable debug mode, such as a toggle button 351 on screen 300E.

[0095] In operation 422, the system determines whether debug mode is enabled.

[0096] In operation 424, in response to the positive judgment (Yes) in operation 422, the workflow is displayed along with toggle buttons associated with each task corresponding to the one or more tasks that the user has selected to be included for execution in debug mode.

[0097] In operation 426, the workflow runs either normally with all tasks (No from operation 422) or with the tasks selected in debug mode. The process then returns to screen 300A in operation 404, showing an updated list of the executed workflows.

[0098] Figure 5 is a time flowchart of an exemplary workflow execution managed by the workflow management system 500 in several embodiments. In some embodiments, the workflow management system 500 corresponds to the workflow management system 100. The workflow management system 500 comprises a dashboard / engine 502 corresponding to one or more modules of the dashboard microservice 110 and / or one or more engines of the engine 120, at least one worker pod 504 corresponding to one or more worker pods 128, and log storage 506 corresponding to log storage 140. The target node 508 is where the workflow is executed. The repository 510 corresponds to repository 150. In the example in Figure 5, the running workflow corresponds to workflow 320. For simplicity, some tasks in workflow 320 have been omitted.

[0099] In step S1, the dashboard / engine(s) 502 instructs the worker pod 504 to perform the pre-OS check corresponding to task 321_1 in Figure 3B.

[0100] In step S2, the dashboard / engine(s) 502 executes a command or function on the target node 508 that corresponds to the pre-OS check task. Log information is sent from the target node 508 and / or generated in the worker pod 504.

[0101] In step S3, worker pod 504 redirects the log information collected during the execution of OS pre-check task 321_1 to log storage 506.

[0102] In step S4, the dashboard / engine(s) 502 instructs worker pod 504 to perform the OS installation corresponding to task 322_1 in Figure 3B.

[0103] In step S5, the dashboard / engine(s) 502 downloads templates and / or necessary information and / or data from repository 510.

[0104] In step S6, the dashboard / engine(s) 502 mounts the ISO image on the target node 508.

[0105] In step S7, the OS installation is performed on target node 508 based on the ISO image. Log information, including IPMI logs, is sent from target node 508 to worker pod 504.

[0106] In step S8, worker pod 504 redirects the log information collected during the execution of OS installation task 322_1 to log storage 506. For simplicity, several tasks following task 322_1 are omitted in Figure 5.

[0107] In step S9, the dashboard / engine(s) 502 instructs worker pod 504 to install the primary master (PM) corresponding to task 324 in Figure 3B.

[0108] In step S10, worker pod 504 copies the script to target node 508 and installs it as PM.

[0109] In step S11, the target node 508 downloads artifacts from repository 510 as needed.

[0110] In step S12, target node 508 performs a PM installation based on the downloaded artifacts. Log information is sent from target node 508 to worker pod 504.

[0111] In step S13, worker pod 504 redirects log information collected during the execution of PM installation task 324 to log storage 506. The log information in log storage 506 is retrieved and provided to the user in real time upon request.

[0112] Figure 6A is a flowchart of process 600A in a workflow management system according to several embodiments. In some embodiments, process 600A is executed in the workflow management system 100.

[0113] In operation 602, a workflow containing multiple tasks is executed according to the sequence of tasks within the workflow, as described, for example, with respect to Figures 3B and 5.

[0114] In operation 604, log information related to multiple tasks in the workflow is redirected to S3, S8, and S13 and stored in log storage, as described in Figure 5, for example.

[0115] In operation 606, the workflow, which includes multiple tasks arranged in a sequence, is presented visually, for example, as described with respect to Figure 3B.

[0116] In operation 608, in response to the user selecting a task from among multiple tasks in the workflow, task information related to the selected task is visually presented, for example, as described with respect to Figure 3C.

[0117] In operation 610, in response to the user selecting a log within the visually presented task information, log information related to the selected task is retrieved from log storage, and the retrieved log information is visually presented, for example, as described with respect to Figure 3D.

[0118] Figure 6B is a flowchart of process 600B in a workflow management system according to several embodiments. In some embodiments, process 600B is executed in the workflow management system 100.

[0119] In operation 622, a workflow containing multiple tasks arranged in a sequence is visually presented, for example, as described with respect to Figure 3E.

[0120] In operation 624, for each of the multiple tasks in the workflow, a first input area is visually presented to receive a user selection on whether to include the task in debug mode, as described with respect to Figure 3E, for example.

[0121] In operation 626, one or more tasks selected from among multiple tasks to be included in debug mode are executed without executing the remaining one or more tasks that are not selected to be included in debug mode, as described with respect to Figure 3F, for example.

[0122] Figure 6C is a flowchart of process 600C in a workflow management system according to several embodiments. In some embodiments, process 600C is executed in the workflow management system 100.

[0123] In operation 642, a workflow containing multiple tasks is executed according to a sequence of tasks within the workflow, as described with respect to Figure 3G, for example.

[0124] In operation 644, for any task among multiple tasks that failed to execute the workflow, the user selects a restart option from among several different restart options for restarting the workflow, as described in Figure 3H, for example.

[0125] In operation 646, the workflow execution is resumed according to the selected resume option, as described with respect to Figure 3H.

[0126] The methods and algorithms described include exemplary operations, but they do not necessarily have to be performed in the order shown. Operations may be added, replaced, reordered, and / or deleted as necessary, in accordance with the spirit and scope of the embodiments of this disclosure. Embodiments combining different features and / or different embodiments are within the scope of this disclosure and will be apparent to those skilled in the art after reviewing this disclosure.

[0127] Figure 7 is a schematic block diagram of a computer system 700 in several embodiments. Examples of computer systems 700 include, but are not limited to, desktops, laptops, tablets, smartphones, and servers.

[0128] The computer system 700 includes a hardware processor 702 and a non-temporary computer-readable storage medium 704. The storage medium 704 stores, in particular, computer program code 706, i.e., executable instruction sets such as one or more algorithms, programs, applications, systems, components, and / or modules, as described with respect to one or more of Figures 1 to 4. The execution of the instructions 706 by the hardware processor 702 implements some or all of the methods described herein according to one or more embodiments (hereinafter referred to as the processes and / or methods described above).

[0129] The processor 702 is coupled to a non-temporary computer-readable storage medium 704 via a bus 708. The processor 702 is also coupled to an I / O interface 710 via the bus 708. A network interface 712 is connected to the processor 702 via the bus 708. The network interface 712 is connected to a network 714, thereby enabling the processor 702 and the computer-readable storage medium 704 to connect to external elements or devices via the network 714. The processor 702 is configured to execute computer program code 706 encoded in the computer-readable storage medium 704 in order to make the computer system 700 available to perform some or all of the processes and / or methods described above. In one or more embodiments, the processor 702 includes a central processing unit (CPU), a multiprocessor, a distributed processing system, an application-specific integrated circuit (ASIC), and / or appropriate hardware processing units.

[0130] In one or more embodiments, the computer-readable storage medium 704 includes electronic, magnetic, optical, electromagnetic, infrared, and / or semiconductor systems (or apparatus or devices). For example, the computer-readable storage medium 704 includes semiconductor or solid-state memory, magnetic tape, removable computer diskette, random access memory (RAM), read-only memory (ROM), rigid magnetic disk, and / or optical disk. In one or more embodiments using an optical disk, the computer-readable storage medium 704 includes compact disc read-only memory (CD-ROM), compact disc read / write (CD-R / W), and / or digital video disc (DVD).

[0131] In one or more embodiments, the storage medium 704 stores computer program code 706 configured to enable the computer system 700 to perform some or all of the aforementioned processes and / or methods. In one or more embodiments, the storage medium 704 also stores information or data 707, such as event data, consumer data, corporate data, policies, and component configurations, which are used in some or all of the aforementioned processes and / or methods.

[0132] The I / O interface 710 is coupled to external circuitry. In one or more embodiments, the I / O interface 710 includes a keyboard, keypad, mouse, trackball, trackpad, touchscreen, and / or cursor directional keys for communicating information and commands to the processor 702. The computer system 700 is configured to receive information through the I / O interface 710. The information received through the I / O interface 710 includes one or more instructions, data, policies, configurations, and / or other parameters for processing by the processor 702. The information is transferred to the processor 702 via the bus 708. The computer system 700 is configured to receive information related to the user interface through the I / O interface 710. The information is stored in a computer-readable storage medium 704 as a user interface (UI) 742.

[0133] The network interface 712 enables the computer system 700 to communicate with a network 714 to which one or more other computer systems are connected. The network interface 712 includes wireless network interfaces such as BLUETOOTH®, WIFI, WiMAX, GPRS, LTE, 7G, 6G, WCDMA®, or wired network interfaces such as ETHERNET, USB, IEEE-864. In one or more embodiments, some or all of the processes and / or methods described above are implemented in two or more computer systems 700.

[0134] In some embodiments, some or all of the aforementioned processes and / or methods are implemented as standalone software applications for execution on one or more hardware processors. In some embodiments, some or all of the aforementioned processes and / or methods are implemented as software applications that are part of an additional software application. In some embodiments, some or all of the aforementioned processes and / or methods are implemented as plug-ins to a software application.

[0135] In some embodiments, some or all of the processes and / or methods described above are implemented as functions of a program stored on a non-temporary computer-readable recording medium. The computer-readable recording medium that stores the program internally is a computer program product. Examples of non-temporary computer-readable recording media include, but are not limited to, one or more external / removable and / or internal / built-in storage or memory units, such as optical discs like DVDs, magnetic disks like hard disks, and semiconductor memories such as ROMs, RAMs, and memory cards.

[0136] The above outlines some features of embodiments so that those skilled in the art may better understand aspects of the disclosure. Those skilled in the art should understand that the disclosure will readily be used as a basis for designing or modifying other processes and structures to perform the same purposes and / or achieve the same advantages of the embodiments introduced herein. Those skilled in the art should also recognize that such equivalent configurations will not depart from the spirit and scope of the disclosure, and that they may be modified, replaced, and altered herein in various ways without departing from the spirit and scope of the disclosure.

Claims

1. A workflow management system, At least one processor, The system comprises at least one computer-readable storage medium coupled to the at least one processor and configured to store executable instructions, When the executable instruction is executed by the at least one processor, it will cause the at least one processor to: Executing the workflow, which includes the multiple tasks, according to a sequence of the multiple tasks within the workflow, The log information related to the multiple tasks currently being executed in the workflow is stored in log storage, Visually present the workflow including the multiple tasks arranged in the sequence, In response to a user selecting a task from among the multiple tasks in the aforementioned workflow, the system visually presents task information related to the selected task. In response to the user selecting a log within the visually presented task information, the log information related to the selected task is searched from the log storage, and the retrieved log information is visually presented. To visually present a first input area for receiving user input on whether to enable or disable debug mode, In response to receiving the user input for enabling the debug mode, a second input area is visually presented for receiving a user selection for each of the multiple tasks in the workflow, indicating whether or not to include the task in the debug mode. From among the aforementioned multiple tasks, one or more tasks selected to be included in the debug mode are executed, and the execution of tasks not selected to be included in the debug mode is excluded. A workflow management system that issues commands.

2. When the executable instruction is executed by the at least one processor, it will cause the at least one processor to: In the execution of the workflow described above, at least one worker pod is made to control the execution of the multiple tasks on multiple nodes, The at least one worker pod is instructed to redirect the log information received from the multiple nodes to the log storage so that it is stored in the log storage. A workflow management system according to claim 1 that commands the following.

3. When the executable instruction is executed by the at least one processor, it will cause the at least one processor to: The workflow management system according to claim 1, which commands the system to search for the log information related to the selected task in real time and to present it visually.

4. The log information that was searched and visually presented is Intelligent Platform Management Interface (IPMI) logs generated by the installation of the Operating System (OS), or Function logs generated by the execution of function scripts, A workflow management system according to claim 1, comprising at least one of the following.

5. When the executable instruction is executed by the at least one processor, it instructs the at least one processor to, to, The system controls the OS installation on each node of a plurality of nodes, and the OS installation on each node corresponds to one of the multiple tasks. Next, in at least one worker pod, The workflow management system according to claim 1, which controls the cluster installation of a primary master, a secondary master, and at least one agent among the plurality of nodes, wherein each of the cluster installations of the primary master, the secondary master, and the at least one agent corresponds to an additional task among the plurality of tasks.

6. When the executable instruction is executed by the at least one processor, it instructs the at least one processor to, to, Redirecting the Intelligent Platform Management Interface (IPMI) logs generated by the OS installation on each node to the log storage so that they are stored in the log storage as log information related to the OS installation, Redirecting the function logs generated by the function scripts executed during the cluster installation of each of the primary master, the secondary master, and the at least one agent to the log storage so that they are stored in the log storage as log information relating to the cluster installation, A workflow management system according to claim 5, which causes the following to be performed.

7. When the executable instruction is executed by the at least one processor, the at least one processor is instructed to perform one of the tasks in the workflow. To visually present the second input area of ​​each task selected to be included in the debug mode in the first format, The second input area of ​​each task not selected to be included in the debug mode is visually presented in a second format different from the first format, A workflow management system according to claim 1 that commands the following.

8. When the executable instruction is executed by the at least one processor, the at least one processor will, In response to a task that failed during the execution of the workflow, among the aforementioned multiple tasks, an input area is visually presented for receiving user input to resume the execution of the workflow. In response to receiving user input for resuming the execution of the workflow, the system visually presents a number of different restart options for resuming the execution of the workflow. In response to receiving a restart option selected by the user from among the multiple different restart options, the execution of the workflow is restarted according to the selected restart option. A workflow management system according to claim 1 that commands the following.

9. The aforementioned multiple different restart options are, To resume the execution of the workflow from the failed task, Executing the failed task while excluding the execution of other tasks among the aforementioned multiple tasks, Re-executing the entire workflow, Ignoring the failed task and executing the remaining tasks in the sequence that follow the failed task, A workflow management system according to claim 8, comprising at least two selected from.

10. A workflow management method, wherein the method is performed at least partially by at least one processor, and the method is A step that visually presents a workflow containing multiple tasks arranged in a sequence, For each of the multiple tasks in the workflow, the first step is to visually present a first input area for receiving a user selection on whether or not to include the task in debug mode. The steps include: executing one or more tasks selected from the aforementioned multiple tasks to be included in the debug mode, and excluding the execution of tasks that have not been selected to be included in the debug mode; A method that includes this.

11. In each of the aforementioned tasks, while the first input area is not visually presented, The aforementioned method, A step of visually presenting a second input area, along with the workflow, for receiving user input on whether to enable or disable the debug mode, The steps include: performing the step of visually presenting the first input area in each of the multiple tasks of the workflow in response to receiving the user input for enabling the debug mode; The method according to claim 10, further comprising:

12. The method according to claim 11, wherein the second input area includes a toggle button, a switch, a radio button, or a menu.

13. The steps include visually presenting the first input area of ​​each task selected to be included in the debug mode in a first format, The method according to claim 10, further comprising the step of visually presenting the first input area of ​​each task not selected to be included in the debug mode in a second format different from the first format.

14. For each of the aforementioned tasks, The first input area includes a toggle button having a first state corresponding to the task included in the debug mode and a second state corresponding to the task not included in the debug mode, The method according to claim 13, wherein the first format for visually presenting the first state is different from the second format for visually presenting the second state.

15. A non-temporary, tangible, computer-readable storage medium for storing a computer program, wherein the computer program, when executed by at least one processor, is stored in the at least one processor. Executing the workflow, which includes the multiple tasks, according to the sequence of multiple tasks in the workflow, Among the aforementioned multiple tasks, for tasks whose execution in the workflow failed, the system receives a restart option selected by the user from among several different restart options for restarting the execution of the workflow. To resume the execution of the workflow according to the selected resume option, To visually present a first input area for receiving user input on whether to enable or disable debug mode, In response to receiving the user input for enabling the debug mode, a second input area is visually presented for receiving a user selection for each of the multiple tasks in the workflow, indicating whether or not to include the task in the debug mode. From among the aforementioned multiple tasks, one or more tasks selected to be included in the debug mode are executed, and the execution of tasks not selected to be included in the debug mode is excluded. A computer-readable storage medium that issues commands.

16. The aforementioned multiple different restart options are, Restarting the execution of the workflow from the failed task, Executing the failed task while excluding the execution of other tasks among the aforementioned multiple tasks, Re-executing the entire workflow, Ignoring the failed task and executing the remaining tasks in the sequence that follow the failed task, A computer-readable storage medium according to claim 15, comprising at least two selected from.

17. The aforementioned multiple different restart options are, To resume the execution of the workflow from the failed task, Executing the failed task while excluding the execution of other tasks among the aforementioned multiple tasks, Re-executing the entire workflow, Ignoring the failed task and executing the remaining tasks in the sequence that follow the failed task, A computer-readable storage medium according to claim 15, including the following:

18. When the computer program is executed by the at least one processor, the at least one processor will: In response to the failure of the aforementioned task, a third input area for receiving user input to resume the execution of the workflow is visually presented together with the workflow in which the plurality of tasks are arranged in the sequence. In response to receiving user input to resume the execution of the workflow, the system visually presents a plurality of different resume options to receive the user's selection of a resume option for resuming the execution of the workflow, A computer-readable storage medium according to claim 15, which commands the following.

19. When the computer program is executed by the at least one processor, the at least one processor will: Upon completion of the execution of the aforementioned workflow, in response to the fact that there are no failed tasks among the multiple tasks, The computer-readable storage medium according to claim 18, which is instructed to visually present a fourth input area for receiving user input to re-execute the execution of the workflow, instead of the first input area.