Method, system, and computer program product for managing workflow with real-time logging, debugging, and restart capabilities

The workflow management system addresses the challenges of error-prone complex workflows by providing a system to execute, monitor, and debug workflows with visual interfaces and log data access, resulting in improved workflow management and reduced errors.

JP2025511544AActive Publication Date: 2025-04-16RAKUTEN MOBILE INC
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2024555178
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2022-09-09
Publication Date
2025-04-16
Estimated Expiration
2042-09-09

AI Technical Summary

Technical Problem

Complex workflows in various industries are prone to errors due to intricate procedures and external regulations, leading to issues like omitted steps, mis-execution, or tasks performed in a different order.

Method used

A workflow management system that includes a processor and a computer-readable storage medium, capable of executing workflows with multiple tasks in a specific sequence, storing log information, and providing a user interface to visually present workflows, task information, and log data, allowing users to select tasks for debug mode and resume workflow execution based on user-selected restart options.

Benefits of technology

The system effectively reduces errors by visually presenting workflows and log information, allowing users to monitor and control workflow execution, debug issues, and resume workflows efficiently, thereby improving workflow management and reducing manual errors and costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025511544000001_ABST
    Figure 2025511544000001_ABST
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] FIELD OF THE DISCLOSURE This disclosure relates to workflows and workflow management. [Background technology]

[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 makes it easy for a human to follow the procedures and reduces potential errors such as steps being omitted, performed incorrectly, or performed out of order. Summary of the Invention

[0003] In some embodiments, a workflow management system comprises 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 that, when executed by the at least one processor, direct the at least one processor to: execute a workflow including a plurality of tasks according to a sequence of the plurality of tasks in the workflow, store log information related to the plurality of tasks in a log storage during execution of the workflow, visually present the workflow including the plurality of tasks arranged in a sequence in response to a user selecting a task from among the plurality of tasks of the workflow, visually present task information related to the selected task, and, in response to a user selecting a log in the visually presented task information, retrieve log information related to the selected task from the log storage, and visually present the retrieved log information.

[0004] In some embodiments, a method for managing a workflow is performed at least in part by at least one processor, the method including visually presenting a workflow including a plurality of tasks arranged in a sequence, visually presenting, for each task of the plurality of tasks of the workflow, a first input area for receiving a user selection of whether the task should be included in a debug mode, and executing one or more tasks from the plurality of tasks selected to be included in the debug mode (without executing the remaining one or more tasks not selected to be included in the debug mode).

[0005] In some embodiments, a computer program product includes a non-transitory tangible computer-readable storage medium storing a computer program that, when executed by at least one processor, instructs the at least one processor to execute a workflow including a plurality of tasks according to a sequence of the plurality of tasks in the workflow. For a task among the plurality of tasks that has failed to execute the workflow, a user selection of a resume option from among a plurality of different resume options for resuming execution of the workflow is received. Execution of the workflow is resumed according to the selected resume option.

[0006] Aspects of the present disclosure are best understood from the following detailed description when read in conjunction with the accompanying drawings. In accordance with standard industry practice, various features have not been drawn to scale. In fact, dimensions of various features may be arbitrarily increased or decreased for clarity of illustration. [Brief description of the drawings]

[0007] [Figure 1] FIG. 1 is a schematic diagram of a workflow management system, according to some embodiments.

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

[0009] [Figure 4] 1 is a flowchart of an exemplary UI user flow in a workflow management system, according to some embodiments.

[0010] [Diagram 5] 1 is a time flow diagram of an exemplary workflow execution managed by a workflow management system, according to some embodiments.

[0011] [Figure 6A] 1 is a flowchart of various processes in a workflow management system, according to some embodiments. [Figure 6B] 1 is a flowchart of various processes in a workflow management system, according to some embodiments. [Figure 6C] 1 is a flowchart of various processes in a workflow management system, according to some embodiments.

[0012] [Figure 7] 1 is a schematic block diagram of a computer system according to some embodiments. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0013] The following disclosure includes many different embodiments or examples for implementing different features of the subject matter. To simplify the disclosure, specific examples of components, values, operations, materials, arrangements, etc. are described below. Of course, these are merely examples and are not intended to be limiting. Other components, values, operations, materials, arrangements, etc. are contemplated. For example, forming a first feature on or above a second feature in the following description includes embodiments in which the first feature and the second feature are formed in direct contact with each other, and also includes embodiments in which an additional feature is formed between the first feature and the second feature such that the first feature and the second feature are not in direct contact with each other. In addition, the disclosure repeats reference numbers and / or signs in various examples. This repetition is for the purposes of brevity and clarity and does not in itself dictate a relationship between the various embodiments and / or configurations discussed. Furthermore, spatially relative terms such as "directly below," "under," "at the bottom," "on top," "above" and the like may be used herein to describe a relationship between one element or feature and another element or feature, as shown in the figures, for ease of description. Spatially relative terms are intended to encompass different orientations of the device during use or operation in addition to the orientation shown in the figures: the device may be otherwise oriented (rotated 90 degrees or at other orientations) and the spatially relative descriptors that may also be used herein interpreted accordingly.

[0014] A workflow presents a step-by-step process of how work should be done. Examples of processes include, but are not limited to, business and / or technical plans, procedures, customer support / service, etc. In complex technical situations, i.e., when the number of workflows and / or tasks within the workflows are large, or when one or more workflow tasks are performed at one or more locations physically distant from an administrator or supervisor, the ability to remotely monitor and / or control the execution of the workflows 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 to a log storage. The workflow management system is configured to provide an administrator, e.g., a user of the workflow management system, with a user interface (UI) for monitoring the status of one or more workflows. The UI is configured to provide a user with an option to select a task in the workflow and an option to request log information related to the task. In response to a user request, 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, a user can view the log information on demand without having to wait until the workflow execution is completed. Based on the log information available on request, a user can make early investigations and / or decisions regarding potential issues that are slowing down the overall process of the workflow execution. The workflow management system is further configured to provide the user, through the UI, with various options for debugging and / or resuming (retrying) all or part of the workflow. In at least one embodiment, such debugging and / or resuming capabiliy, combined with the ability to obtain on-demand real-time log information, provides the user with a useful tool for effective workflow management. Additional 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 comprises a dashboard microservice 110, an engine 120, a database 130, and a log storage 140. A repository 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 elements 160 are 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, some, or all of the components illustrated in FIG. 1, such as dashboard microservice 110, engine 120, database 130, log storage 140, repository 150, elements 160, and / or subcomponents thereof (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. Example hardware configurations of any one or more of the components illustrated in FIG. 1 include the computer system described with respect to FIG. 7. For example, at least one, some, or all of the components of workflow management system 100, repository 150, elements 160, and / or subcomponents thereof 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 in workflow management system 100 and / or subcomponents thereof are implemented on or by a cloud platform. Other configurations are within the scope of various embodiments.

[0019] Dashboard microservice 110 includes multiple modules configured to provide one or more functions and / or operations described herein. For purposes of illustration, dashboard microservice 110 of FIG. 1 includes modules 112, 114, 116. However, other numbers and / or types of modules are within the scope of various embodiments. In at least one embodiment, at least one of modules 112, 114, 116 includes a set of modules (multiple modules). In at least one embodiment, example modules 112, 114, 116 are distinct from one another or share at least one common module.

[0020] The dashboard microservice 110 includes one or more modules configured to generate a graphic user interface (hereinafter referred to as "UI") for the 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 a touch screen. The display may be a display of a computer system implementing one or more components of the workflow management system 100, or a remote display coupled to one or more components of the workflow management system 100 through 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 a user can visually perceive, are within the scope of various embodiments. For simplicity, in the following description, "display" or "displayed" may be used as an exemplary method for visually presenting information. As discussed herein, other methods for visual presentation are not excluded. A user can interact with the displayed information by using a pointing device (e.g., a mouse), a touch screen, contact-less gestures, voice commands, or other visually presented information.

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

[0022] Engines 120 are configured to perform various operations and / or functions as described herein in conjunction with or under the control of dashboard microservice 110. For purposes of illustration, engines 120 in FIG. 1 include engines 122, 124, 126. However, other numbers and / or types of engines are within the scope of various embodiments. In at least one embodiment, at least one of engines 122, 124, 126 includes a set of engines (multiple engines). In at least one embodiment, engines 122, 124, 126 are distinct from one another 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 (HW) health check, firmware upgrade, field programmable gate array (FPGA) upgrade, OS / FPGA report, authentication, etc. Engine 120 is configured to interact with dashboard microservice 110 via application programming interface (API) requests / responses. For simplicity, in the description herein, operations and / or functions and / or controls performed by dashboard microservice 110 and / or engine 120 may be expressed as being performed by the system or by a processor / one processor / at least one processor thereof.

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

[0024] An element configuration is a configuration or description of an element. In some embodiments, an element includes one or more sites or equipment (e.g., computer systems) where one or more tasks of a workflow are performed. As described herein, examples of elements include, but are not limited to, bare metal, clusters, and the like. In some embodiments, bare metal (BM) is a computer system without an OS and installed applications. In at least one embodiment, a BM includes computer hardware with firmware, or basic input / output system (BIOS) software utilities installed, or no software installed at all. In some embodiments, a BM becomes a server after installing an OS and one or more required applications. In some embodiments, a node refers to a BM before or after an OS is installed. A cluster includes a group of nodes that are interconnected and configured to work in concert. An exemplary cluster is a Robin Cluster (RC). Other cluster configurations are within the scope of various embodiments. In some embodiments, to configure a 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] 1 includes examples of nodes and clusters. Element 160 includes M clusters, namely cluster 1, cluster 2, ... cluster M. Each cluster includes multiple nodes. For example, cluster 1 includes N nodes, namely node 1_1, node 1_2, ... node 1_N, cluster 2 includes P nodes, namely node 2_1, node 2_2, ... node 2_P, ... cluster M includes Q nodes, namely 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 set of nodes that are 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 that is not included in a cluster. An example described herein includes the execution of a workflow for configuring a set of BMs as a cluster. This example is 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 specific example, each cluster is a data center or forms part of a data center.

[0026] In a further example of operation 104, the UI of the dashboard microservice 110 provides the user 101 with various options to build, execute, debug, and / or resume a workflow. For example, the user 101 interacts with the UI to build a workflow including multiple tasks arranged or connected in a sequence. In some embodiments, the system, or another component external to the workflow management system 100, is configured to provide an environment, such as a graphing environment, for the user to build the workflow and to save the workflow configuration of the built workflow as an Extensible Markup Language (XML) document that is executed by the workflow engine in the engine 120 at runtime. 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 codes are within the scope of various embodiments. In some embodiments, the system, or another component external to the workflow management system 100, comprises a template repository (or template manager) that includes prestored workflows that can be used as templates from which new workflows can be quickly built. Workflow configurations created or loaded by the workflow management system 100 are stored in database 130, for example, by engine 124. Database 130 includes a single database or a set of databases (multiple databases) that store workflow configurations and element configurations. In some embodiments, database 130 also stores workflow data generated during and / or as a result of execution of one or more workflows by the workflow engine.

[0027] The UI of the dashboard microservice 110 further provides the user 101 with various options to execute the constructed workflow or execute an existing workflow. In one example, the engine 124 receives the user input of the workflow and the elements on which the workflow is to be executed through the module 114. The engine 124 loads the corresponding element configuration and workflow configuration from the 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 the 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 of a workflow to be executed. For example, each task runs in its own worker pod, so that a worker pod that is an actual instance that executes the task is required to execute the 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 cause the functions and / or scripts related to the tasks in the workflow to be executed at the specified element (e.g., at a cluster or one or more nodes in the element 160) according to the sequence of the tasks in the workflow.

[0029] When a task (e.g., a function and / or script) is executed, log information about the task and / or about 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, conditions, etc. The one or more worker pods 128 redirect the log information to and store it within log storage 140. An example of how log information is collected and stored is described with respect to FIG. 5.

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

[0031] In some embodiments, at least one of 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 comprise 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 with other virtual machines.

[0032] In another example operation 106, the UI of the dashboard microservice 110 provides the user 101 with at least one option to request real-time log information related to a selected task of a selected workflow. For example, in response to a user request for log information received through the UI, the module 116 sends the user request to the engine 126. The engine 126 accesses the log storage 140 to retrieve log information corresponding to the selected task of the selected workflow identified in the user request, and sends the retrieved log information back to the UI through the module 116, where the log information is displayed to the user. In some embodiments, while the user is reviewing 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 repaired, located, or bypassed by using debug and / or resume options as described herein.

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

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

[0035] The address bar 202 includes an address for accessing the dashboard screen 200A using a web browser. Details of the address are omitted for simplicity. One or more other screens of the UI also include similar address bars, as described herein. The address bars of the one or more other screens are omitted for simplicity. In at least one embodiment, the web-based UI provides flexibility in that a user 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] Settings button 204 is configured to allow access to other screens of the UI. For example, when a user activates settings button 204, screen 200B of 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] The visualization areas 210, 212, 214, 216 provide summary information about various items in the workflow management system 100. For example, the visualization area 210 provides the number of elements registered according to each element type in the workflow management system 100. In the exemplary configuration of Figure 2A, the visualization area 210 shows that there are 53 elements, of which approximately 80% are registered as type BM (bare metal) and approximately 20% are registered as type RC (Robin cluster).

[0038] The visualization area 212 provides the number of functions registered with the workflow management system 100 and the element types they support. In some embodiments, one or more functions are associated with a task in a workflow and will be executed on the corresponding element when the workflow is executed. In the exemplary configuration of FIG. 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 provided is a non-limiting example.

[0039] The visualization area 214 provides the number of workflows in the workflow management system 100 and their corresponding workflow types. In the exemplary configuration of FIG. 2A, the 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 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 execute on any of a number of elements. Static workflows are not configured to be dynamically and automatically modifiable by the system. In some embodiments, static workflows are specifically configured to execute on a specific element, rather than a number of elements as described for dynamic workflows.

[0040] The visualization area 216 provides the number of batches and average execution time of the workflow. According to some embodiments, one or more of the visualization areas 210, 212, 214, 216 are omitted or configured to show other data.

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

[0042] FIG. 2B is a schematic diagram of a screen 200B of the UI, according to some embodiments.

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

[0044] Screen 200B includes a number of selectable menu items 230, 232, 234, 236 for access corresponding to dashboard screen 200A, a screen for managing (e.g., registering, editing or deleting) element configurations as described with respect to operation 102, a screen for managing and / or executing workflow configurations as described with respect to operation 104, and a screen for managing one or more functions to be associated with one or more tasks within various workflows managed by workflow management system 100.

[0045] Screen 200B further includes selectable submenu items 242, 244, 246 under menu item 234. Workflow Templates 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. The user is provided with various options to run a selected workflow from the list on one or more elements, remove an existing workflow from the list, refresh the list of workflows, or filter the list of workflows to create, edit, or delete a workflow. The user is further provided with various options for debugging a workflow, for example, as described with respect to Figures 3E-3F.

[0047] The Execute Workflow submenu item 246 is configured to display a list of executed workflows. An example of such a list is described with respect to FIG. 3A. The user is provided with at least one option to request real-time log information related to a selected task, e.g., as described herein with respect to FIGS. 3B-3D. The user is further provided with various options to restart (re-run) a workflow in whole or in part, e.g., as described herein with respect to FIGS. 3B-3D. Further features include viewing the configuration of a task, 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 indicates the user's current location within the UI. In the exemplary configuration of FIG. 2B, navigation indicator 240 “Run a Workflow” corresponds to the currently selected Run a Workflow submenu item 246.

[0049] 3A is a schematic diagram of a screen 300A of the UI, according to some embodiments, in which the screen 300A is displayed when a user selects the Run Workflow submenu item 246 in the screen 200B.

[0050] Screen 300A includes a list of executed workflows 311-317, each corresponding to a row in the list. Each executed workflow includes a corresponding status (failed, successful, or paused), process identification, workflow ID, workflow name, the element on which the workflow was executed, start time, duration, and progress report under columns 301-308. Screen 300A further includes a search bar 309 to allow the user to search for a particular 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 unique identification information that is automatically generated by the system for each workflow.

[0053] Element (column 305) is the human understandable name of the element on which the workflow is run, or a unique identification automatically generated by the system. In at least one embodiment, multiple elements are displayed, for example, when a user runs an OS installation (workflow) on multiple clusters (elements).

[0054] The process ID (column 302) is a unique identification automatically generated by the system. For a batch 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, one process ID will be automatically created by the system for this batch of workflows. In some situations, 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), as shown in workflows 312 and 315. In at least one embodiment, the process ID is unique for each instance of the execution of the workflow.

[0055] When the user selects a workflow from the list, screen 300B, described with respect to FIG. 3B, is displayed, giving the user additional options such as viewing the workflow details, including a step-by-step view of each task in the workflow, the time it takes to complete a task, and the status of the task. Additional options include, for example, allowing the user to rerun the workflow if the workflow execution fails for any element, and viewing the configuration of the task. An example of a rerun option is described with respect to FIGS. 3C and 3D.

[0056] By selecting an element and a recommended workflow from the list on screen 300A and actuating button 310, the user is given the option to run a workflow on the list. Actuating button 310A refreshes the list of run workflows and obtains an updated list. Button 310B allows the user to filter the list of run workflows based on status and / or start date.

[0057] 3B is a schematic diagram of a screen 300B of the UI, according to some embodiments, which is displayed when a user selects an executed workflow from the list in screen 300A, in some embodiments.

[0058] Screen 300B includes a visual representation of a selected workflow 320 that includes multiple tasks arranged and / or connected together in a sequence from initiation at four tasks 321_1-321_4 to completion at task 328. Workflow 320 is an example workflow of an OS installation process 329 on four nodes, followed by a cluster installation process 330 for configuring the four nodes into a cluster. Example nodes and clusters are described with respect to FIG.

[0059] In the OS installation process 329, the same sequence of three tasks is executed on each node. For example, for the first node (first or top row), tasks 321_1, 322_1, 323_1 are executed sequentially on the first node, for example, under the control of one or more worker pods as described with respect to FIG. 1. In some embodiments, the subsequent task, e.g., task 322_1 or 323_1, is executed upon completion of the preceding task, e.g., task 321_1, 322_1. Similarly, for the second node (second row), tasks 321_2, 322_2, 323_2 are executed sequentially on the second node. For the third node (third row), tasks 321_3, 322_3, 323_3 are executed sequentially on the third node. For the fourth node (bottom row), tasks 321_4, 322_4, 323_4 are executed sequentially on the fourth node. Tasks 321_1 to 321_4 for pre-check before OS installation are identical and are generally referred to as tasks 321. Tasks 322_1 to 322_4 for OS installation are identical and are generally referred to as tasks 322. Tasks 323_1 to 323_4 for OS reporting are identical and are generally referred to as tasks 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-322_4 (or upon successful completion of all four tasks 323_1-323_4 if tasks 322_1-322_4 are omitted). The tasks 324-328 are executed sequentially. In one example, the task 324 for installing a Primary Master (PM) is executed on one node, the tasks 325-326 for installing a Secondary Master (SM) are executed on at least one node different from the PM node, and the 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. The post-check task 328 is the last task of the workflow 320.

[0061] In some embodiments, workflow 320 is a dynamic workflow. A workflow configuration corresponding to workflow 320 includes a set of tasks 321, 322, 323 for an OS installation process 329. The other three sets of tasks 321, 322, 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, 323. When the workflow configuration is selected to run on a different number of nodes, 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, 323.

[0062] Screen 300B further includes indicators 318, 319. Indicator 318 indicates the workflow name of workflow 320. Indicator 319 indicates the status selected by the user in workflow 320 and the time it takes to complete the task. In the exemplary configuration of FIG. 3B, task 322_3 is selected and its status "Completed Successfully" and the time it takes to complete "41 minutes and 7 seconds" are reflected in indicator 319. The status "Completed Successfully" 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 non-successful tasks are visually presented. For example, successful task 322_3 is visually presented in green and other non-successful tasks are visually presented in other colors. Another feature of the unique format of successful task 322_3 is that it includes a checkmark sign 322S that is not present in other non-successful tasks. The unique format described is an example. Other formatting schemes are within the scope of various embodiments. For example, the visually different formats may be different transparencies, may blink or be otherwise animated, may have shadows or not, may have different font types, font colors and / or font variations (e.g., bold or italicized text), may have different icons and / or text added, or may have different combinations of the above visual effects and / or other effects not specifically described herein.

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

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

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

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

[0067] Display area 341 includes button 343 on which the log name of IPMI log 338 is displayed, button 344 on which the log name of function log 339 is displayed, and log information display area 342 on which detailed log information of the selected log is displayed. For example, when a user selects IPMI log 338 in display area 332, button 343 is displayed in a selected state, and detailed log information of IPMI log 338 is displayed in log information display area 342. When a 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 retry button 340.

[0068] In some embodiments, IPMI log 338 is an OS installation specific log generated on the target node during the OS installation process. For example, during OS installation process 329 of FIG. 3B, four different IPMI logs are generated correspondingly on the four nodes on which 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 to retrieve the IPMI log therefrom. The retrieved IPMI log is then redirected by the worker pod to the log storage as described with respect to FIGS. 1 and 5. When a user selects IPMI log 338 in display area 332 or operates button 343 in display area 341, detailed log information of the IPMI log of the target node is retrieved from the 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.

[0069] In some embodiments, the function log 339 is a log generated by one or more functions or scripts associated with the currently selected task. For example, the task 322_3 selected for OS installation is associated with one or more functions or scripts executed to perform the OS installation indicated by the selected task. The executed one or more functions or scripts 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 a log storage. When a user selects the function log 339 in the display area 332 or operates the button 344 in the display area 341, detailed log information of the function log of the target node is retrieved from the 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.

[0070] In some embodiments, if the log information displayed in the log information display area 342 indicates errors and / or potential problems, the user can rerun the workflow by operating the rerun button 340.

[0071] In some embodiments, the above configuration for redirecting and searching logs on demand and / or in real time provides one or more advantages over other approaches. Specifically, servers are often located in data centers / buildings / sites. According to other approaches, a dedicated engineering team travels from site to site to install software, e.g., OS, on the BMs to be configured as servers. This is a manual and time-consuming process. Furthermore, after the OS is installed, the engineering team needs to get permission to access at the node level. In some situations, it may take more than a week to get the appropriate service level agreement (SLA) permission. After getting the required access, the engineering team needs to manually run scripts to install the Robin cluster. If there is any problem during the execution, the logs will be displayed after the execution. The engineering team needs to spend time traveling to the site to get the log information and / or to investigate the cause of the delay in the entire process.

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

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

[0074] Screen 300E includes workflow 320 as described with respect to FIG. 3B, an input area, e.g., toggle button 351, for receiving user input for enabling or disabling debug mode, and a button 352 for running workflow 320. In screen 300E, toggle button 351 is a state corresponding to debug mode being enabled. In response to debug mode being enabled, each task in workflow 320 is displayed with another input area, e.g., associated toggle buttons 354, 355 corresponding to tasks 324, 325. Other tasks in workflow 320 also include corresponding toggle buttons, which are not numbered for simplicity. The toggle buttons, including buttons 354, 355, are configured to receive a user selection of whether to include the corresponding task for execution in debug mode.

[0075] 3F is a schematic diagram of a screen 300F of the UI, according to some embodiments. Screen 300F is a version of screen 300E responsive to user manipulation of toggle buttons 354, 355 associated with tasks 324, 325 in user interface 200. The manipulated toggle buttons 354, 355 are switched to another state, shown diagrammatically as 354E, 355E in screen 300F, indicating that the corresponding tasks 324, 325 have been selected for inclusion in debug mode execution. When a user manipulates button 352, only the tasks selected by the corresponding toggle buttons for execution in debug mode are executed, and the remaining non-selected tasks are not executed in debug mode. For example, in the state shown in FIG. 3E, when a user manipulates button 352, only the tasks 324, 325 selected for inclusion in debug mode by user manipulation of the corresponding toggle buttons 354, 355 are executed, and the remaining tasks not selected for inclusion in debug mode are not executed. In some embodiments, the debug mode described herein allows a user to run 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 referred to as debugging, in at least one embodiment, it is not necessary to use this process to distinguish or resolve a problem. Rather, there are situations in which only a few tasks are executed, rather than all tasks in a workflow. By using the debugging process described with respect to Figures 3E-3F, a user can select and execute desired tasks without having to execute the entire workflow.

[0077] Toggle buttons associated with a task have a selected state (e.g., 354E, 355E in screen 300F) and a non-selected state (e.g., other toggle buttons in screen 300F, or all toggle buttons in screen 300E). In the example configurations of FIGS. 3E-3F, the selected state is presented in a format that is visually distinguishable from the format of the non-selected state. For example, the toggle buttons in the selected state are displayed in a color (e.g., red) that is different from the color of the toggle buttons in the non-selected state (e.g., gray). In some embodiments, other formatting schemes having visually distinguishable formats are within the scope of various embodiments. In at least one embodiment, by showing tasks selected and not selected for debug mode in a visually distinguishable format, it is possible to avoid or reduce human error due to a user selecting an incorrect task to be included in the execution in debug mode. The illustrated toggle buttons 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, menus (e.g., drop-down menus), and the like.

[0078] Although not shown, when toggle button 351 is in a state corresponding to debug mode being disabled, toggle buttons such as buttons 354 and 355 are not displayed in the tasks of workflow 320. In this state, when the user operates button 352, the entire workflow 320 is 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] 3G is a schematic diagram of a screen 300G of the UI, according to some embodiments, in which screen 300G is displayed when a user selects a workflow from the list of executed workflows of screen 300A.

[0080] In the configuration example of FIG. 3G, the screen 300G displays the same workflow 320 as the screen 300B. The difference between the screen 300G and the screen 300B is that the workflow 320 is normally completed in the screen 300B, whereas the workflow execution has failed in the screen 300, as indicated by the indicator 319. A failed task that has failed to execute the workflow is visually presented in a format that is distinguishable from other tasks. For example, in the 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 fact that the workflow execution has a failed task, the system includes a button 360 to provide the user with multiple options for resuming the failed workflow.

[0081] 3H is a schematic diagram of a screen 300H of the UI, according to some embodiments, in which upon user activation of a button 360 in screen 300G, screen 300H is displayed over or in place of screen 300G.

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

[0083] In response to a user selection of resume option 362, i.e., continue from where it failed, and subsequent user operation of button 367, the workflow 320 is executed from the task that failed. In other words, with this option, the task that failed and any tasks subsequent to the failed task are executed.

[0084] In response to a user selection of resume option 363, i.e., execute only the failed task, and subsequent user operation of button 367, only the failed task of workflow 320 is executed and no other tasks in workflow 320, including any tasks subsequent to the failed task, are executed.

[0085] In response to a user selection of the resume option 364, i.e., run all, and 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 rerun option described with respect to Figures 3C-3D.

[0086] In response to a user selection of resume option 365, ie, ignore failure, and subsequent user operation of button 367, the failed task is ignored and any tasks subsequent to the failed task are executed with this option.

[0087] In some embodiments, a user is provided with flexibility in addressing or resolving issues associated with a failed workflow execution by providing several different restart options. One or more of the restart options reduces the number of tasks that must be performed, thereby reducing workflow execution time.

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

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

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

[0091] At operation 408, in response to a positive determination (Yes) at operation 406, the selected workflow is displayed along with a rerun option, as in screen 300C.

[0092] At operation 410, in response to a negative determination (No) at operation 406, the selected workflow is displayed as in screen 300G along with a resume button 360. When the user operates button 360, screen 300H is displayed along with a number of different resume options for the user to select.

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

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

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

[0096] At operation 424, in response to a positive determination (Yes) at operation 422, the workflow is displayed with toggle buttons each associated with a task corresponding to the user's selection of the task or tasks to be included for execution in debug mode.

[0097] At operation 426, the workflow is either run normally with all tasks (No from operation 422) or run with the selected tasks in debug mode. The process then returns to screen 300A at operation 404, showing the updated list of workflows that have been executed.

[0098] FIG. 5 is a time flow diagram of an exemplary workflow execution managed by a workflow management system 500, according to some 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 a log storage 506 corresponding to the log storage 140. The target node 508 is where the workflow is executed. The repository 510 corresponds to the repository 150. In the example of FIG. 5, the workflow being executed corresponds to the workflow 320. For simplicity, some tasks of the workflow 320 are omitted.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[0114] In operation 604, log information related to multiple ongoing tasks of the workflow is redirected and stored in a log storage, for example, as described with respect to FIG. 5 at S3, S8, and S13.

[0115] In operation 606, the workflow including the multiple tasks arranged in a sequence is visually represented, for example as described with respect to FIG. 3B.

[0116] At operation 608, in response to a user selecting a task from among a plurality of tasks in the workflow, task information associated with the selected task is visually presented, for example, as described with respect to FIG. 3C.

[0117] At operation 610, in response to a user selection of a log within the visually presented task information, log information associated with the selected task is retrieved from the log storage and the retrieved log information is visually presented, for example, as described with respect to FIG. 3D.

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

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

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

[0121] In operation 626, one or more tasks from the plurality of tasks selected for inclusion in the debug mode are executed without executing the remaining task or tasks not selected for inclusion in the debug mode, for example, as described with respect to FIG. 3F.

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

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

[0124] At operation 644, for a task among the plurality of tasks that has failed to execute the workflow, a user selection of a resume option is received from among a plurality of different resume options for resuming execution of the workflow, e.g., as described with respect to FIG. 3H.

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

[0126] The described methods and algorithms include example operations, which are not necessarily performed in the order presented. Operations can be added, substituted, reordered, and / or deleted as desired in accordance with the spirit and scope of the embodiments of the present disclosure. Embodiments combining different features and / or different embodiments are within the scope of the present disclosure and will be apparent to one of ordinary skill in the art after reviewing the present disclosure.

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

[0128] Computer system 700 includes a hardware processor 702 and a non-transitory computer-readable storage medium 704. Storage medium 704 is encoded with, i.e., stores, among other things, computer program code 706, i.e., a set of executable instructions for one or more algorithms, programs, applications, systems, components, and / or modules, such as those described with respect to one or more of Figures 1-4. Execution of instructions 706 by hardware processor 702 implements some or all of the methods described herein according to one or more embodiments (hereinafter, the processes and / or methods described above).

[0129] The processor 702 is coupled to a non-transitory computer-readable storage medium 704 via a bus 708. The processor 702 is also coupled to an I / O interface 710 by 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 such that the processor 702 and the computer-readable storage medium 704 can be connected to external elements or devices via the network 714. The processor 702 is configured to execute computer program code 706 encoded on the computer-readable storage medium 704 to enable the computer system 700 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 other suitable hardware processing units.

[0130] In one or more embodiments, computer readable storage medium 704 includes an electronic, magnetic, optical, electromagnetic, infrared, and / or semiconductor system (or apparatus or device). For example, computer readable storage medium 704 includes a semiconductor or solid state memory, a magnetic tape, a removable computer diskette, a random access memory (RAM), a read only memory (ROM), a rigid magnetic disk, and / or an optical disk. In one or more embodiments using an optical disk, computer readable storage medium 704 includes a compact disk read only memory (CD-ROM), a compact disk read / write (CD-R / W), and / or a digital video disk (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 processes and / or methods described above. In one or more embodiments, the storage medium 704 also stores information or data 707, such as event data, consumer data, enterprise data, policies, component configurations, etc., used in some or all of the processes and / or methods described above.

[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, touch screen, and / or cursor direction 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 of 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 a user interface through the I / O interface 710. The information is stored in the computer-readable storage medium 704 as a user interface (UI) 742.

[0133] The network interface 712 allows 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 a wireless network interface, such as BLUETOOTH, WIFI, WIMAX, GPRS, LTE, 7G, 6G, WCDMA, etc., or a wired network interface, such as ETHERNET, USB, IEEE-864, etc. In one or more embodiments, some or all of the processes and / or methods described above are implemented in more than one computer system 700.

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

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

[0136] The above outlines features of some embodiments so that those skilled in the art may better understand the aspects of the present disclosure. Those skilled in the art will appreciate that the present disclosure can be readily used as a basis for designing or modifying other processes and structures to carry out the same purpose and / or achieve the same advantages of the embodiments introduced herein. Those skilled in the art should also recognize that such equivalent constructions do not depart from the spirit and scope of the present disclosure, and that they can make various changes, substitutions, and alterations herein without departing from the spirit and scope of the present disclosure.

Claims

1. 1. A workflow management system, comprising: At least one processor; at least one computer-readable storage medium coupled to the at least one processor and configured to store executable instructions; The executable instructions, when executed by the at least one processor, cause the at least one processor to: executing the workflow including a plurality of tasks according to a sequence of the tasks in the workflow; storing log information related to the plurality of ongoing tasks of the workflow in a log storage; visually presenting the workflow including the plurality of tasks arranged in the sequence; in response to a user selecting a task from among the plurality of tasks of the workflow, visually presenting task information associated with the selected task; in response to a user selecting a log within the visually presented task information, retrieving the log information related to the selected task from the log storage and visually presenting the retrieved log information; A workflow management system that commands

2. The executable instructions, when executed by the at least one processor, cause the at least one processor to: causing at least one worker pod to control execution of the tasks on a plurality of nodes in the execution of the workflow; causing the at least one worker pod to redirect the log information received from the plurality of nodes to the log storage for storage in the log storage; The workflow management system of claim 1 , further comprising:

3. The executable instructions, when executed by the at least one processor, cause the at least one processor to:

10. The workflow management system of claim 1, further comprising: a processor configured to: retrieve and visually present, in real time, the log information associated with the selected task;

4. The retrieved and visually presented log information is An Intelligent Platform Management Interface (IPMI) log generated by the Operating System (OS) installation; or Functionality logs generated by running functional scripts, The workflow management system according to claim 1 , comprising at least one of the following:

5. The executable instructions, when executed by the at least one processor, instruct the at least one processor to configure at least one worker pod: controlling an OS installation of an OS at each node of a plurality of nodes, the OS installation at each node corresponding to one of the plurality of tasks; The at least one worker pod is then 2. The workflow management system of claim 1, further comprising: controlling a cluster installation of a primary master, a secondary master, and at least one agent among the plurality of nodes, the cluster installation of each of the primary master, the secondary master, and the at least one agent corresponding to an additional task among the plurality of tasks.

6. The executable instructions, when executed by the at least one processor, instruct the at least one processor to configure at least one worker pod: redirecting Intelligent Platform Management Interface (IPMI) logs generated by the OS installation on each node to the log storage so that the log information related to the OS installation is stored in the log storage; redirecting function logs generated by 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 the function logs are stored in the log storage as the log information related to the cluster installation; The workflow management system according to claim 5,

7. The executable instructions, when executed by the at least one processor, cause the at least one processor to: visually presenting a first input area for receiving user input to enable or disable a debug mode; in response to receiving the user input to enable the debug mode, visually presenting, for each task of the plurality of tasks of the workflow, a second input area for receiving a user selection of whether the task should be included in the debug mode; executing one or more tasks selected for inclusion in the debug mode from among the plurality of tasks, without executing one or more remaining tasks not selected for inclusion in the debug mode; The workflow management system of claim 1 , further comprising:

8. The executable instructions, when executed by the at least one processor, cause the at least one processor to: visually presenting in a first format the second input area for each task selected to be included in the debug mode; visually presenting the second input area of ​​each task not selected for inclusion in the debug mode in a second format different from the first format; The workflow management system of claim 7, further comprising:

9. The executable instructions, when executed by the at least one processor, cause the at least one processor to: visually presenting an input area for receiving user input for resuming the execution of the workflow in response to a task among the plurality of tasks that has failed in the execution of the workflow; in response to receiving the user input to resume the execution of the workflow, visually presenting a plurality of different resume options for resuming the execution of the workflow; in response to receiving a user selection of a resume option from among the plurality of different resume options, resuming the execution of the workflow in accordance with the selected resume option; The workflow management system of claim 1 , further comprising:

10. The plurality of different resume options include: resuming the execution of the workflow from the failed task; and executing the failed task without executing other tasks of the plurality of tasks; re-executing the entire workflow; and ignoring the failed task and executing the remaining tasks following the failed task in the sequence; The workflow management system according to claim 9 , comprising at least two selected from the following:

11. 1. A method of workflow management, the method being performed at least in part by at least one processor, the method comprising: visually presenting a workflow including a number of tasks arranged in a sequence; visually presenting, for each task of the plurality of tasks of the workflow, a first input area for receiving a user selection of whether the task should be included in a debug mode; executing one or more of the tasks selected for inclusion in the debug mode without executing one or more remaining tasks not selected for inclusion in the debug mode; The method includes:

12. In each of the plurality of tasks, in a state in which the first input area is not visually presented, The method comprises: visually presenting together with the workflow a second input area for receiving user input to enable or disable the debug mode; in response to receiving the user input to enable the debug mode, visually presenting the first input area in each task of the plurality of tasks of the workflow; The method of claim 11 further comprising:

13. The method of claim 12 , wherein the second input area comprises a toggle button, a switch, a radio button, or a menu.

14. visually presenting in a first format the first input area for each task selected to be included in the debug mode; 12. The method of claim 11, further comprising visually presenting the first input area of ​​each task not selected for inclusion in the debug mode in a second format different from the first format.

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

16. 1. A computer program product comprising: a non-transitory tangible computer-readable storage medium storing a computer program, the computer program, when executed by at least one processor, causing the at least one processor to: executing a workflow including a plurality of tasks according to a sequence of the tasks in the workflow; receiving a user-selected restart option from among a plurality of different restart options for restarting the execution of the workflow for a task among the plurality of tasks that has failed in the execution of the workflow; resuming the execution of the workflow in accordance with the selected resume option; A computer program product that instructs.

17. The plurality of different resume options include: resuming execution of the workflow from the failed task; and executing the failed task without executing other tasks of the plurality of tasks; re-executing the entire workflow; and ignoring the failed task and executing the remaining tasks following the failed task in the sequence; 20. The computer program product of claim 16, comprising at least two selected from:

18. The plurality of different resume options include: resuming the execution of the workflow from the failed task; and executing the failed task without executing other tasks of the plurality of tasks; re-executing the entire workflow; and ignoring the failed task and executing the remaining tasks following the failed task in the sequence; 20. The computer program product of claim 16, comprising:

19. The computer program, when executed by the at least one processor, causes the at least one processor to: visually presenting, together with the workflow with the plurality of tasks arranged in the sequence, a first input area for receiving user input for resuming the execution of the workflow in response to a failure of the task; in response to receiving the user input to resume the execution of the workflow, visually presenting the plurality of different resume options for user selection; 20. The computer program product of claim 16, further comprising instructions for:

20. The computer program, when executed by the at least one processor, causes the at least one processor to: and upon completion of the execution of the workflow, in response to no task failing among the plurality of tasks.

20. The computer program product of claim 19, further instructing: visually presenting, in place of the first input area, a second input area for receiving user input for re-executing the execution of the workflow.

Citation Information

Patent Citations

  • Method for supporting of error log information analysis, executing system thereof, and processing program thereof

    JP2004362495A

  • Job execution monitoring system, job control device and program, and job execution method

    JP2006277696A

  • Job flow system and job execution designation method

    JP2007115040A

  • Management apparatus, management system, management program, and management method

    JP2009075724A

  • Device, method, and computer program product for job execution control

    JP2018109883A