Computer-readable recording medium, evaluation method, and evaluation apparatus

The evaluation program addresses the challenge of selecting appropriate connectors by analyzing usage history to present connectors that meet quality requirements, enhancing the efficiency and reliability of cloud service operations.

JP2026028468APending Publication Date: 2026-02-20FUJITSU LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2024130909
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-08-07
Publication Date
2026-02-20

AI Technical Summary

Technical Problem

Users face difficulty in selecting appropriate connectors for cloud services due to a lack of knowledge about which connectors offer desired functions, leading to suboptimal choices.

Method used

An evaluation program that analyzes the usage history of control software to identify connectors meeting specific quality requirements, such as parallel execution capability, delay time, and ease of parameter setting, and presents them to users.

Benefits of technology

Enables users to select connectors that meet their specific needs, ensuring efficient and reliable operation of cloud services by leveraging proven performance metrics.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026028468000001_ABST
    Figure 2026028468000001_ABST
Patent Text Reader

Abstract

To allow a user to appropriately select software for controlling a cloud service.SOLUTION: An evaluation device 10 receives input of quality assurance requirements of control software 2a, 2b,. for controlling execution of a cloud service 1 according to user input. Next, the evaluation device 10 specifies the control software having the use result adapted to the quality assurance requirement on the basis of a performance log 2a for recording a use state of the control software 2b, 11a,. The evaluation apparatus 10 then displays the identified control software.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to an evaluation program, an evaluation method, and an evaluation device. [Background technology]

[0002] In recent years, cloud services have been utilized in business systems such as human resources management, customer management, and purchasing management. Workflow control services, which control the flow of business processes, control the cloud services of multiple business systems. Workflow control services sometimes use connectors, which are software that control the cloud services they operate on. Users of workflow control services can control cloud services via the connectors.

[0003] As a technology related to cloud services, for example, a method has been proposed to provide an environment for identifying and evaluating resources that are at least partially standardized and interoperable, and a data integration system has also been proposed that enables seamless transitions between various phases of design and implementation of a data integration process. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Japanese Patent Application Publication No. 2023-109842 [Patent Document 2] Special Publication No. 2008-511934 Summary of the Invention [Problem to be solved by the invention]

[0005] When multiple connectors are available for a single cloud service, the user who controls the cloud service must select the connector to use. If the user does not know which connector has the desired function when controlling the cloud service, the user cannot select an appropriate connector.

[0006] In one aspect, this case aims to allow users to appropriately select software that controls cloud services. [Means for solving the problem]

[0007] In one proposal, an evaluation program is provided that causes a computer to perform the following processes. The computer accepts input of quality requirements for control software that controls the execution of cloud services in response to user input.The computer then identifies control software that has a history of use and meets the quality requirements based on an execution log that records the circumstances under which the control software was used.The computer then displays the identified control software. [Effects of the Invention]

[0008] According to one aspect, it is possible to allow a user to appropriately select software that controls a cloud service. [Brief explanation of the drawings]

[0009] [Figure 1] FIG. 2 is a diagram illustrating an example of an evaluation method according to the first embodiment. [Figure 2] FIG. 10 illustrates an example of an information processing system according to a second embodiment. [Figure 3] FIG. 2 illustrates an example of hardware of a control server. [Figure 4] FIG. 10 illustrates an example of a workflow control service. [Figure 5] FIG. 10 is a block diagram showing the functions of a control server for presenting connectors that meet quality requirements based on usage history. [Figure 6] FIG. 10 is a diagram illustrating an example of a correspondence table. [Figure 7] FIG. 10 is a diagram showing an example of a setting difficulty evaluation table. [Figure 8] FIG. 10 is a diagram illustrating an example of a multiple execution degree evaluation table. [Figure 9] FIG. 10 illustrates an example of a recovery process table. [Figure 10] FIG. 10 is a diagram illustrating an example of an automatic recovery simplicity evaluation table. [Figure 11] FIG. 10 is a diagram illustrating an example of a trouble investigation easiness evaluation table. [Figure 12] FIG. 10 illustrates an example of a re-execution time management table. [Figure 13] FIG. 10 is a diagram illustrating an example of a processing type list. [Figure 14] FIG. 10 is a diagram illustrating an example of an operation performance table. [Figure 15] FIG. 10 is a diagram illustrating an example of an update tracking evaluation table. [Figure 16] FIG. 10 illustrates an example of multiple execution. [Figure 17] FIG. 10 is a diagram illustrating an example of a connector type selection screen. [Figure 18] FIG. 10 is a diagram illustrating an example of a quality requirement selection screen. [Figure 19] FIG. 10 is a diagram showing an example of a result presentation screen. [Figure 20] 10 is a flowchart illustrating an example of a procedure for quality evaluation processing. [Figure 21] 10 is a flowchart illustrating an example of a procedure for a setting difficulty level evaluation process. [Figure 22] 10 is a flowchart illustrating an example of a procedure for a multi-execution degree evaluation process. [Figure 23] 10 is a flowchart illustrating an example of a procedure for an automatic recovery simplicity evaluation process. [Figure 24] 10 is a flowchart illustrating an example of a procedure for a trouble investigation simplification evaluation process. [Figure 25] 10 is a flowchart illustrating an example of a procedure for evaluating flexibility of cooperation destination service control. [Figure 26] 10 is a flowchart illustrating an example of a procedure for evaluating tracking of a control target update. [Figure 27] 10 is a flowchart illustrating an example of a procedure for a connector presenting process. DETAILED DESCRIPTION OF THE INVENTION

[0010] The present embodiment will be described below with reference to the drawings. Note that each embodiment can be implemented in combination with a plurality of other embodiments within a range that does not contradict each other. [First embodiment] The first embodiment is an evaluation method that allows a user to appropriately select software that controls a cloud service.

[0011] Fig. 1 is a diagram illustrating an example of an evaluation method according to a first embodiment. Fig. 1 shows an evaluation device 10 that implements the evaluation method. The evaluation device 10 can implement the evaluation method by, for example, executing an evaluation program. The evaluation device 10 evaluates control software 2a, 2b, ... that controls a cloud service 1.

[0012] Cloud service 1 is a service provided from a server via the Internet. For example, cloud service 1 is a service such as personnel management, customer management, or purchasing management. Control software 2a, 2b,... controls the execution of cloud service 1 in response to user input. For example, control software 2a, 2b,... accepts input of parameters that set operations on the control target, and requests a server that provides cloud service 1 to perform processing in accordance with the accepted parameters. Note that control software 2a, 2b,... may be executed on evaluation device 10, or may be executed on a computer other than evaluation device 10.

[0013] The evaluation device 10 includes a memory unit 11 and a processing unit 12. The memory unit 11 is, for example, a memory or a storage device included in the evaluation device 10. The processing unit 12 is, for example, a processor or an arithmetic circuit included in the evaluation device 10.

[0014] The storage unit 11 stores an execution log 11a. The execution log 11a records the circumstances under which the control software 2a, 2b, etc. are used. For example, the execution log 11a includes the start time, end time, and content of the processing that the control software 2a, 2b, etc. causes the cloud service 1 to execute. The processing unit 12 presents control software that meets the quality requirements desired by the user based on the execution log 11a.

[0015] First, the processing unit 12 accepts input of quality requirements for the control software 2a, 2b, .... For example, the processing unit 12 displays the quality requirements and check boxes corresponding to each quality requirement on a terminal operated by the user. The processing unit 12 accepts input of the quality requirement corresponding to the selected check box. In the example of FIG. 1, "highly multiplyable execution possible" is selected as the quality requirement, which requires that control of a predetermined number of cloud services 1 or more can be executed in parallel. Also in the example of FIG. 1, "no operational delay occurs during multi-execution" is selected as the quality requirement, which requires that the delay time when control of cloud services 1 is executed in parallel be within a predetermined time.

[0016] Next, the processing unit 12 identifies control software that has a usage history and conforms to the quality requirements, based on the execution log 11a. For example, the processing unit 12 counts the number of executions of control of cloud service 1 that were executed in parallel by the control software 2a, 2b, etc., based on the execution log 11a. Here, the processing unit 12 refers to the start time and end time of the process that was executed by the cloud service 1, which is included in the execution log 11a, and counts the number of executions of the process that one control software caused the cloud service 1 to execute in parallel. The processing unit 12 counts the number of times that the number of executions was equal to or greater than a predetermined number, for each of the control software 2a, 2b, etc.

[0017] Furthermore, for example, the processing unit 12 calculates, based on the execution log 11a, the delay time when the control of the cloud service 1 is executed in parallel by the control software 2a, 2b, .... Here, the processing unit 12 refers to the execution log 11a and calculates, for each of the control software 2a, 2b, ..., the delay time as the difference in execution time between when the cloud service 1 executes multiple processes in parallel and when it executes one process.

[0018] The processing unit 12 then identifies control software whose execution count and delay time meet the quality requirements. For example, the processing unit 12 identifies control software whose execution count is equal to or greater than a predetermined number and whose delay time is equal to or less than a predetermined time. The processing unit 12 displays the identified control software; for example, the processing unit 12 displays the name of the identified control software on a terminal operated by a user.

[0019] In this way, it is possible to present control software that meets the quality requirements desired by the user and has a proven track record of use, thereby allowing the user to appropriately select software that controls the cloud service 1.

[0020] A user may request that the cloud service 1 perform multiple processes in parallel. Therefore, the processing unit 12 counts the number of control executions of the cloud service 1 performed in parallel by the control software 2a, 2b, etc. based on the execution log 11a, and identifies the control software whose execution count satisfies the quality requirements. This makes it possible to present appropriate control software to a user who requests that the cloud service 1 perform multiple processes in parallel.

[0021] Furthermore, based on the execution log 11a, the processing unit 12 calculates the delay time when the control of the cloud service 1 is executed in parallel by the control software 2a, 2b, ..., and identifies the control software whose delay time meets the quality requirements. This makes it possible to present appropriate control software to a user who wants to avoid delay time when multiple processes are executed in parallel by the cloud service 1.

[0022] Note that the control software 2a, 2b, ... may include control software that has not been used. Therefore, the processing unit 12 may identify control software whose catalog specifications meet the quality requirements from among the control software that meets the quality requirements but has not been used, and display the identified control software. This makes it possible to present control software that meets the quality requirements desired by the user but has not been used.

[0023] Furthermore, a user may require ease of parameter setting for the cloud service 1. Therefore, the processing unit 12 may count the number of parameters input when the cloud service 1 is controlled by the control software 2a, 2b, etc., based on the execution log 11a, and identify control software whose number of parameters meets the quality requirements. This makes it possible to present appropriate control software to a user who requires ease of parameter setting.

[0024] Furthermore, users may require easy recovery when the control software abnormally terminates. Therefore, the processing unit 12 may identify post-processing to be performed when the control of the cloud service 1 by the control software 2a, 2b, etc. abnormally terminates, based on the execution log 11a, and identify control software whose post-processing meets the quality requirements. This makes it possible to present appropriate control software depending on whether a flexible recovery method is available when the control software abnormally terminates.

[0025] Furthermore, users may require that troubleshooting be easy when an error occurs. Therefore, the processing unit 12 identifies the type of log output function used by the control software 2a, 2b, etc. when controlling the cloud service 1 based on the execution log 11a, and identifies control software whose type of log output function meets the quality requirements. This makes it possible to present appropriate control software depending on the amount of information used for troubleshooting when an error occurs.

[0026] Furthermore, a user may require that control software be capable of executing a predetermined process. Therefore, the processing unit 12 determines whether or not the predetermined process has been executed for each piece of control software 2a, 2b, ... based on the execution log 11a, and identifies control software that has executed the predetermined process. For example, the processing unit 12 receives, as a quality requirement, an input of a completion waiting process that waits for the completion of each of multiple processes when the control software 2a, 2b, ... causes the cloud service 1 to execute multiple processes. The processing unit 12 determines, based on the execution log 11a, whether or not the control software 2a, 2b, ... has executed the completion waiting process. The processing unit 12 identifies control software that has executed the completion waiting process. This makes it possible to present appropriate control software to a user who requires that completion waiting process be executable.

[0027] Furthermore, for example, the processing unit 12 receives, as a quality requirement, an input of an execution status acquisition process for acquiring the execution status of a process that has been executed by the cloud service 1 by the control software 2a, 2b, etc. The processing unit 12 determines whether or not the execution status acquisition process has been executed by the control software 2a, 2b, etc. based on the execution log 11a. The processing unit 12 identifies the control software for which the execution status acquisition process is being executed. This makes it possible to present appropriate control software to a user who requests that the execution status acquisition process be executable.

[0028] Furthermore, for example, the processing unit 12 receives, as a quality requirement, an input of an error termination status acquisition process that acquires a status when a process executed by the control software 2a, 2b, ... in the cloud service 1 ends in an error. The processing unit 12 determines whether or not the control software 2a, 2b, ... has executed the error termination status acquisition process based on the execution log 11a. The processing unit 12 identifies the control software that has executed the error termination status acquisition process. This makes it possible to present appropriate control software to a user who requests that the error termination status acquisition process be executable.

[0029] Furthermore, for example, the processing unit 12 accepts input of a forced termination process that forcibly terminates a process that the cloud service 1 has executed by the control software 2a, 2b, etc., as a quality requirement. The processing unit 12 determines whether or not the control software 2a, 2b, etc. has executed a forced termination process based on the execution log 11a. The processing unit 12 identifies the control software that has executed the forced termination process. This makes it possible to present appropriate control software to a user who requests that the forced termination process be executable.

[0030] Furthermore, cloud service 1 is updated periodically. Therefore, users may require control software that keeps up with the updates. Therefore, processing unit 12 may identify the version of cloud service 1 that can be controlled by control software 2a, 2b, ... based on execution log 11a, and identify control software whose controllable version of cloud service 1 meets the quality requirements. This makes it possible to present appropriate control software according to the controllable version of cloud service 1.

[0031] Second Embodiment The second embodiment provides a workflow control service and presents an appropriate connector to the user based on the usage record of the connector in the workflow control service.

[0032] 2 is a diagram illustrating an example of an information processing system according to a second embodiment. In the information processing system according to the second embodiment, a control server 100, business systems 200a, 200b, 200c, and user terminals 300a, 300b, 300c are connected to a network 20.

[0033] The control server 100 is a server computer that provides workflow control services. The control server 100 controls cloud services running on business systems 200a, 200b, 200c, etc., using connectors. The control server 100 acquires parameters from user terminals 300a, 300b, 300c, etc., that set operation details (e.g., GET, POST, etc.) for the cloud services to be controlled. The control server 100 then requests the business systems on which the cloud services to be controlled are running to perform processing according to the acquired parameters using the connectors. The control server 100 analyzes demand forecasts for personnel, production volume, delivery volume, etc. based on information acquired from the business systems 200a, 200b, 200c, etc., and notifies the user terminals 300a, 300b, 300c, etc., of the analysis results.

[0034] The business systems 200a, 200b, 200c, etc. are server computers that provide cloud services such as personnel management, customer management, and purchasing management. The business systems 200a, 200b, 200c, etc. execute processing in response to requests from the control server 100 and notify the control server 100 of the processing results.

[0035] The user terminals 300a, 300b, 300c, etc. are computers operated by users who use the workflow control service. The user terminals 300a, 300b, 300c, etc. accept parameter input and send the input parameters to the connector of the control server 100. The user terminals 300a, 300b, 300c, etc. also display the analysis results notified by the control server 100.

[0036] FIG. 3 is a diagram illustrating an example of hardware of a control server. The entire control server 100 is controlled by a processor 101. A memory 102 and multiple peripheral devices are connected to the processor 101 via a bus 109. The processor 101 may be a multiprocessor. The processor 101 is, for example, a central processing unit (CPU), a micro processing unit (MPU), or a digital signal processor (DSP). At least some of the functions realized by the processor 101 executing a program may be realized by an electronic circuit such as an application specific integrated circuit (ASIC) or a programmable logic device (PLD).

[0037] The memory 102 is used as a main storage device of the control server 100. The memory 102 temporarily stores at least a portion of the OS (Operating System) programs and application programs to be executed by the processor 101. The memory 102 also stores various data used in processing by the processor 101. As the memory 102, for example, a volatile semiconductor storage device such as a RAM (Random Access Memory) is used.

[0038] The peripheral devices connected to the bus 109 include a storage device 103, a GPU (Graphics Processing Unit) 104, an input interface 105, an optical drive device 106, a device connection interface 107, and a network interface 108.

[0039] The storage device 103 writes and reads data electrically or magnetically to and from a built-in recording medium. The storage device 103 is used as an auxiliary storage device for the control server 100. The storage device 103 stores OS programs, application programs, and various data. Note that the storage device 103 may be, for example, a hard disk drive (HDD) or a solid state drive (SSD).

[0040] The GPU 104 is an arithmetic unit that performs image processing. The GPU 104 is an example of a graphics controller. The GPU 104 is connected to a monitor 21. The GPU 104 displays an image on the screen of the monitor 21 in accordance with an instruction from the processor 101. The monitor 21 may be a display device using organic EL (Electro Luminescence) or a liquid crystal display device.

[0041] The input interface 105 is connected to a keyboard 22 and a mouse 23. The input interface 105 transmits signals sent from the keyboard 22 and the mouse 23 to the processor 101. The mouse 23 is an example of a pointing device, and other pointing devices can also be used. Examples of other pointing devices include a touch panel, a tablet, a touch pad, and a trackball.

[0042] The optical drive device 106 uses a laser beam or the like to read data recorded on an optical disc 24 or write data to the optical disc 24. The optical disc 24 is a portable recording medium on which data is recorded so that it can be read by reflected light. The optical disc 24 includes a DVD (Digital Versatile Disc), a DVD-RAM, a CD-ROM (Compact Disc Read Only Memory), a CD-R (Recordable) / RW (Rewritable), and the like.

[0043] The device connection interface 107 is a communication interface for connecting peripheral devices to the control server 100. For example, a memory device 25 or a memory reader / writer 26 can be connected to the device connection interface 107. The memory device 25 is a recording medium equipped with a function for communicating with the device connection interface 107. The memory reader / writer 26 is a device for writing data to the memory card 27 or reading data from the memory card 27. The memory card 27 is a card-type recording medium.

[0044] The network interface 108 is connected to the network 20. The network interface 108 transmits and receives data to and from other computers or communication devices via the network 20. The network interface 108 is a wired communication interface connected by a cable to a wired communication device such as a switch or a router. The network interface 108 may also be a wireless communication interface connected by radio waves to a wireless communication device such as a base station or an access point.

[0045] The control server 100 can realize the processing functions of the second embodiment by using the above-described hardware. The business systems 200a, 200b, 200c, and so on and the user terminals 300a, 300b, 300c, and so on can also be realized by using the same hardware as the control server 100. In addition, the evaluation device 10 shown in the first embodiment can also be realized by using the same hardware as the control server 100.

[0046] The control server 100 realizes the processing functions of the second embodiment by executing a program recorded on, for example, a computer-readable recording medium. The program describing the processing to be executed by the control server 100 can be recorded on various recording media. For example, the program to be executed by the control server 100 can be stored in a storage device 103. The processor 101 loads at least a portion of the program in the storage device 103 into the memory 102 and executes the program. The program to be executed by the control server 100 can also be recorded on a portable recording medium such as the optical disk 24, the memory device 25, or the memory card 27. The program stored on the portable recording medium becomes executable after being installed on the storage device 103, for example, under the control of the processor 101. The processor 101 can also read and execute the program directly from the portable recording medium.

[0047] Next, the workflow control service will be described. 4 shows an example of a workflow control service. The workflow control service 31 is a service provided by the control server 100. A user of the workflow control service 31 controls services 32a, 32b, and 32c via connectors 110a, 110b, and 110c.

[0048] The connector 110a is a connector that controls the service 32a. The service 32a is a cloud service for personnel and human resource management. When the connector 110a accepts parameter settings for the service 32a from the user terminals 300a, 300b, 300c, etc., the connector 110a requests the business system that provides the service 32a to perform processing according to the set parameters.

[0049] The connector 110b is a connector that controls the service 32b. The service 32b is a customer-managed cloud service. When the connector 110b receives parameter settings for the service 32b from the user terminals 300a, 300b, 300c, etc., the connector 110b requests the business system that provides the service 32b to perform processing according to the set parameters.

[0050] The connector 110c is a connector that controls the service 32c. The service 32c is a cloud service for purchasing management. When the connector 110c receives parameter settings for the service 32c from the user terminals 300a, 300b, 300c, etc., the connector 110c requests a business system that provides the service 32c to perform processing according to the set parameters.

[0051] The control server 100 analyzes the processing results of services 32a, 32b, and 32c in the workflow control service 31 and calculates demand forecasts for personnel, production volume, delivery volume, etc. The control server 100 transmits the analysis results to user terminals 300a, 300b, 300c, etc. Users then adjust personnel, production, and delivery based on the analysis results.

[0052] In this way, the control server 100 provides the workflow control service 31. If multiple connectors are available for each cloud service, the user of the workflow control service 31 selects the connector to use for that cloud service. Since each connector has different functions, it is desirable for the user to be able to select a connector that has the desired functions. Therefore, in the second embodiment, the control server 100 evaluates the quality of each connector based on the connector's usage history and presents connectors that meet the quality requirements desired by the user.

[0053] 5 is a block diagram showing the functions of the control server 100 for presenting connectors that meet quality requirements based on usage history. The control server 100 includes a storage unit 120, a quality index evaluation unit 130, an input reception unit 140, a matching determination unit 150, and a matching connector display unit 160.

[0054] The storage unit 120 stores an execution log 121, a correspondence table 122, a setting difficulty evaluation table 123, a multiple execution degree evaluation table 124, a recovery process table 125a, and an automatic recovery simplicity evaluation table 125b. The storage unit 120 also stores a trouble investigation simplicity evaluation table 126a, a re-execution time management table 126b, a process type list 127a, an operation performance table 127b, and an update tracking evaluation table 128.

[0055] The execution log 121 records the status of how the connectors 110a, 110b, etc. were used on the control server 100. For example, when a user terminal 300a using the workflow control service 31 controls the workflow control service 31 using the connector 110a, the execution log 121 records the settings made by the user terminal 300a and the processing content that the connector 110a caused the workflow control service 31 to execute. The execution log 121 records, for example, the setting screens before and after parameter setting, the processing content, the start time of the processing, and the end time of the processing.

[0056] The correspondence table 122 is a table that indicates the cloud services that the connectors 110a, 110b, ... correspond to. The configuration difficulty evaluation table 123 is a table that records information for evaluating the configuration difficulty of the connectors 110a, 110b, .... The multiple execution degree evaluation table 124 is a table that records information for evaluating the performance (multiple execution degree) when the connectors 110a, 110b, ... cause the cloud services that are the control targets to execute processes in parallel (multiple execution).

[0057] The recovery process table 125a and the automatic recovery simplicity evaluation table 125b are used to evaluate the simplicity of automatic recovery when the connectors 110a, 110b, ... terminate abnormally. The recovery process table 125a is a table that records recovery processes when the connectors 110a, 110b, ... terminate abnormally. The automatic recovery simplicity evaluation table 125b is a table that records information for evaluating the simplicity of automatic recovery of the connectors 110a, 110b, ....

[0058] The trouble investigation easiness evaluation table 126a and the re-execution time management table 126b are used to evaluate the easiness of trouble investigation when an error occurs in the connectors 110a, 110b, .... The trouble investigation easiness evaluation table 126a is a table that records information for evaluating the easiness of trouble investigation in the connectors 110a, 110b, .... The re-execution time management table 126b is a table that records the time when an error occurred in the connectors 110a, 110b, ... and the time to resume.

[0059] The process type list 127a and the operation performance table 127b are used to evaluate the flexibility of control of the linked services by the connectors 110a, 110b, .... The process type list 127a is a table indicating process types. The operation performance table 127b is a table in which the execution performance of the processes indicated in the process type list 127a by the connectors 110a, 110b, ... is recorded. The update tracking evaluation table 128 is a table in which information for evaluating whether the connectors 110a, 110b, ... are keeping up with updates to the cloud services they control is recorded.

[0060] The quality index evaluation unit 130 evaluates the configuration difficulty, degree of multiple execution, ease of automatic recovery, ease of trouble investigation, flexibility of control of linked services, and followability to updates of controlled objects of the connectors 110a, 110b, .... In evaluating the configuration difficulty, the quality index evaluation unit 130 evaluates the number of parameters and configuration time of the connectors 110a, 110b, ... based on the execution log 121, and records the results in a configuration difficulty evaluation table 123. The quality index evaluation unit 130 also records catalog specifications of the number of parameters and configuration time of the connectors 110a, 110b, .... in the configuration difficulty evaluation table 123.

[0061] In evaluating the degree of multiple execution, the quality index evaluation unit 130 determines whether multiple execution of the connectors 110a, 110b, ... is possible and calculates the operation delay time during multiple execution based on the execution log 121, and records the results in the multiple execution degree evaluation table 124. The quality index evaluation unit 130 also records in the multiple execution degree evaluation table 124 catalog specifications regarding whether multiple execution of the connectors 110a, 110b, ... is possible and the operation delay time during multiple execution.

[0062] In evaluating the ease of automatic recovery, the quality index evaluation unit 130 records the recovery processing performed when the connectors 110a, 110b, ... abnormally terminate in the recovery processing table 125a based on the execution log 121. Then, the quality index evaluation unit 130 records the results of the connectors 110a, 110b, ... executing functions related to automatic recovery in the automatic recovery simplicity evaluation table 125b based on the recovery processing table 125a. The quality index evaluation unit 130 also records catalog specifications regarding whether the connectors 110a, 110b, ... have functions related to automatic recovery in the automatic recovery simplicity evaluation table 125b.

[0063] In evaluating the ease of trouble investigation, the quality index evaluation unit 130 records the usage record of the log output API (Application Programming Interface) by the connectors 110a, 110b, ... in the trouble investigation ease evaluation table 126a based on the execution log 121. The quality index evaluation unit 130 also records the catalog specifications of whether the log output API can be used by the connectors 110a, 110b, ... in the trouble investigation ease evaluation table 126a. The quality index evaluation unit 130 also records the time when an error occurred in the connectors 110a, 110b, ... and the time when the connectors were restarted in the re-execution time management table 126b based on the execution log 121. The quality index evaluation unit 130 also records the time from when the error occurred to when the connectors 110a, 110b, ... were restarted in the trouble investigation ease evaluation table 126a based on the re-execution time management table 126b.

[0064] In evaluating the control flexibility of the linked service, the quality index evaluation unit 130 records the execution results of the processes indicated in the process type list 127a by the connectors 110a, 110b, ... in the operation result table 127b based on the execution log 121. The quality index evaluation unit 130 also records the catalog specifications of whether the processes indicated in the process type list 127a by the connectors 110a, 110b, ... are possible or not in the operation result table 127b.

[0065] In evaluating tracking of controlled updates, the quality index evaluation unit 130 records the execution results of processing by the connectors 110a, 110b, ... for each version of the cloud service to be controlled in the update tracking evaluation table 128 based on the execution log 121. The quality index evaluation unit 130 also records in the update tracking evaluation table 128 catalog specifications of whether or not the connectors 110a, 110b, ... can execute processing for each version of the cloud service to be controlled.

[0066] The input receiving unit 140 receives input of cloud services to be controlled and quality requirements from a user terminal (e.g., user terminal 300b) of a user who is newly using the workflow control service 31. The matching determination unit 150 determines, from among the connectors corresponding to the cloud services for which the input receiving unit 140 has received input, connectors whose usage records or catalog specifications conform to the quality requirements. The matching determination unit 150 references the correspondence table 122 to extract connectors corresponding to the cloud services for which the input has been received. The matching determination unit 150 then references each table stored in the storage unit 120 to determine, from among the extracted connectors, connectors whose usage records or catalog specifications conform to the quality requirements.

[0067] The matching connector display unit 160 displays on the user terminal 300b the connectors identified by the matching determination unit 150, whose usage records meet the quality requirements and whose catalog specifications meet the quality requirements.

[0068] Note that the lines connecting the elements shown in Fig. 5 indicate part of the communication paths, and communication paths other than those shown in the figure can also be set. Furthermore, the function of each element shown in Fig. 5 can be realized, for example, by having a computer execute a program module corresponding to that element.

[0069] Next, the information stored in the storage unit 120 will be specifically described. 6 is a diagram showing an example of the correspondence table. The correspondence table 122 is a table showing the cloud services that the connectors 110a, 110b, etc. In the correspondence table 122, the cloud services to be controlled (collaboration destination services) are set in association with the names of the connectors 110a, 110b, etc. (connector names).

[0070] 7 is a diagram showing an example of a setting difficulty evaluation table. The setting difficulty evaluation table 123 has a record registered for each connector. Each record contains the connector name, number of parameters (actual), setting time [seconds] (actual), number of parameters (catalog), and setting time [seconds] (catalog). Note that "-" is set for the number of parameters (actual) and setting time [seconds] (actual) corresponding to a connector that has no corresponding usage history. The connector name is the name of the connector.

[0071] The number of parameters (actual) is the number of parameters of the connector based on the usage record. Based on the execution log 121, the quality index evaluation unit 130 counts the number of parameters from the difference between the setting screen before and after parameter setting, and stores the counted number of parameters in the number of parameters (actual). The setting time [seconds] (actual) is the setting time of the connector parameters based on the usage record. Based on the execution log 121, the quality index evaluation unit 130 calculates the setting time from the difference between the parameter setting start time and the parameter setting end time, and stores the calculated setting time in the setting time [seconds] (actual). The number of parameters (catalog) is the catalog specification of the number of parameters of the connector. The setting time [seconds] (catalog) is the catalog specification of the setting time of the connector parameters.

[0072] The quality requirements for the difficulty of setting a connector include a small number of parameters and a short parameter setting time. If the value of the number of parameters (actual) is equal to or less than a threshold, the matching determination unit 150 determines that the actual value of the corresponding connector satisfies the quality requirement of a small number of parameters. Also, if the value of the number of parameters (catalog) is equal to or less than a threshold, the matching determination unit 150 determines that the catalog specifications of the corresponding connector satisfy the quality requirement of a small number of parameters.

[0073] Furthermore, when the value of the setting time [seconds] (actual) is equal to or less than the threshold, the matching determination unit 150 determines that the actual value of the corresponding connector satisfies the quality requirement that the parameter setting time is short. Furthermore, when the value of the setting time [seconds] (catalog) is equal to or less than the threshold, the matching determination unit 150 determines that the catalog specifications of the corresponding connector satisfy the quality requirement that the parameter setting time is short.

[0074] In this way, it is possible to identify connectors with a small number of parameters and connectors with a short parameter setting time. By presenting the identified connectors to the user, a user who desires easy parameter setting can select an appropriate connector.

[0075] 8 is a diagram showing an example of a multiple execution degree evaluation table. The multiple execution degree evaluation table 124 has a record registered for each connector. Each record contains the connector name, multiple executions 1 to 100 (actual), operation delay [seconds] for multiple executions 1 to 100 (actual), multiple executions 101 or more (actual), and operation delay [seconds] for multiple executions 101 or more (actual). Each record also contains the multiple executions 1 to 100 (catalog), operation delay [seconds] for multiple executions 1 to 100 (catalog), multiple executions 101 or more (catalog), and operation delay [seconds] for multiple executions 101 or more (catalog).

[0076] In addition, "-" is set for Multiple Execution 1 to 100 (Actual), Multiple Execution 1 to 100 Operation Delay [Seconds] (Actual), Multiple Execution 101 or More (Actual), and Multiple Execution 101 or More Operation Delay [Seconds] (Actual) corresponding to connectors that have no corresponding usage history.

[0077] The connector name is the name of the connector. Multiple executions 1 to 100 (actual results) are usage results of the connector multiplexing 1 to 100 processes. The quality index evaluation unit 130 counts the number of processes that are multiplexed based on the execution log 121, and stores the number of times that the counted number of processes is 1 to 100 in multiple executions 1 to 100 (actual results).

[0078] The operation delay [seconds] for multiple executions 1 to 100 (actual performance) is the operation delay time when a connector executes 1 to 100 processes in multiple executions, calculated based on the usage record. The quality index evaluation unit 130 stores the difference between the processing time when 1 to 100 processes are executed in multiple executions and the processing time when one process is executed in the operation delay [seconds] for multiple executions 1 to 100 (actual performance) based on the execution log 121.

[0079] The multiple executions 101 or more (actual results) is a usage record of the connector multiplexing 101 or more processes. The quality index evaluation unit 130 counts the number of processes that are multiplexed based on the execution log 121, and stores the number of times that the counted number of processes is 101 or more in the multiple executions 101 or more (actual results).

[0080] The operation delay [seconds] for multiple executions of 101 or more processes (actual performance) is the operation delay time when a connector executes 101 or more processes in a multiple manner, calculated based on the usage record. Based on the execution log 121, the quality index evaluation unit 130 stores the difference between the processing time when 101 or more processes are executed in the operation delay [seconds] for multiple executions of 101 or more processes (actual performance).

[0081] Concurrent Execution 1-100 (catalog) is the catalog specification for whether the connector can concurrently execute 1-100 processes. Concurrent Execution 1-100 (catalog) is set to "○" indicating that the connector can concurrently execute 1-100 processes, or "×" indicating that the connector cannot concurrently execute 1-100 processes. Concurrent Execution 1-100 Operation Delay [sec] (catalog) is the catalog specification for the operation delay time when the connector executes 1-100 processes concurrently.

[0082] Concurrent execution 101 or more (catalog) is a catalog specification of whether or not the connector can concurrently execute 101 or more processes. Concurrent execution 101 or more (catalog) is set to "Yes" indicating that the connector can concurrently execute 101 or more processes, or "No" indicating that the connector cannot concurrently execute 101 or more processes. Concurrent execution 101 or more operation delay [seconds] (catalog) is a catalog specification of the operation delay time when the connector concurrently executes 101 or more processes.

[0083] The quality requirements for the performance of a connector during multiple execution include the ability to execute at a high degree of multiplexing and the absence of operational delays during multiple execution. When the value of Multiple Execution 101 or More (Actual) is 1 or greater (i.e., there is a record of multiple execution of 101 or more processes), the matching determination unit 150 determines that the corresponding connector satisfies the quality requirement that the actual value is capable of execution at a high degree of multiplexing. Furthermore, when "○" is set in Multiple Execution 101 or More (Catalog), the matching determination unit 150 determines that the corresponding connector satisfies the quality requirement that the catalog specifications are capable of execution at a high degree of multiplexing.

[0084] Furthermore, when the values ​​of Multiple Execution 1-100 Operational Delay [Seconds] (Actual) and Multiple Execution 101 or More (Actual) are equal to or less than the threshold, the matching determination unit 150 determines that the actual value of the corresponding connector satisfies the quality requirement that no operational delay occurs during multiple execution. Furthermore, when the values ​​of Multiple Execution 1-100 Operational Delay [Seconds] (Catalog) and Multiple Execution 101 or More (Catalog) are equal to or less than the threshold, the matching determination unit 150 determines that the catalog specifications of the corresponding connector satisfy the quality requirement that no operational delay occurs during multiple execution.

[0085] In this way, it is possible to identify connectors that can be executed at a high degree of multiplexing and connectors that do not cause operational delays during multiple execution. By presenting the identified connectors to users, users who require high performance during multiple execution of connectors can select an appropriate connector.

[0086] FIG. 9 is a diagram showing an example of a recovery process table. The recovery process table 125a has registered therein a record for each abnormal termination of a connector. Each record has set therein the connector name, return code, and recovery process. The connector name is the name of the connector that terminated abnormally. The return code is a code that indicates the status when recovery is made from the abnormal termination. The recovery process is post-processing after the abnormal termination. Based on the execution log 121, the quality index evaluation unit 130 records in the recovery process table 125a the connector name, return code, and recovery process when a connector terminates abnormally.

[0087] 10 is a diagram showing an example of an automatic recovery simplicity evaluation table. The automatic recovery simplicity evaluation table 125b has a record registered for each connector. Each record contains the connector name, connector restart (actual), recovery isolation according to the return code (actual), and recovery job invocation (actual). Each record also contains the connector restart (catalog), recovery isolation according to the return code (catalog), and recovery job invocation (catalog).

[0088] The connector name is the name of the connector. The connector restart (record) is the number of times the connector has executed the restart process, counted based on the usage record. The quality index evaluation unit 130 counts the number of times the corresponding connector has executed the restart process based on the execution log 121, and stores the counted number in the connector restart (record).

[0089] The recovery isolation (performance) according to the return code is the type of post-processing according to the return code of the connector, counted based on the usage record. The quality index evaluation unit 130 counts the types of combinations of return codes and recovery processes registered in the recovery process table 125a for the corresponding connector, and stores the counted types in the recovery isolation (performance) according to the return code.

[0090] The recovery job call (actual result) is the result of the connector calling the recovery job. Based on the execution log 121, the quality index evaluation unit 130 counts the number of times the corresponding connector executed the recovery job call process, and stores the counted number in the recovery job call (actual result) corresponding to the return code.

[0091] Connector restart (catalog) is a catalog specification indicating whether or not the connector has a restart function. Recovery isolation according to return code (catalog) is a catalog specification indicating whether or not the connector has a recovery isolation function according to return code. Recovery job call (catalog) is a catalog specification indicating whether or not the connector has a recovery job call function. Connector restart (catalog), recovery isolation according to return code (catalog), and recovery job call (catalog) are set to "〇" to indicate that the respective function is provided, or "×" to indicate that the respective function is not provided.

[0092] The quality requirements for the ease of automatic recovery of a connector include the possibility of recovery by restart processing, the possibility of recovery by identifying recovery methods according to the return code, and the possibility of recovery by calling a recovery job in the event of an abnormality. If the value of connector restart (achievement) is 1 or greater (i.e., there is a track record of restart processing), the matching determination unit 150 determines that the track record value of the corresponding connector satisfies the quality requirement that recovery by restart processing is possible. Furthermore, if "○" is set for connector restart (catalog), the matching determination unit 150 determines that the catalog specifications of the corresponding connector satisfy the quality requirement that recovery by restart processing is possible.

[0093] Furthermore, when the value of recovery isolation according to recovery code (achievement) is 2 or greater, the matching determination unit 150 determines that the achievement value of the corresponding connector satisfies the quality requirement that recovery is possible by isolating the recovery method according to the recovery code. In other words, when there is a track record of multiple recovery processes being executed according to the recovery code, the matching determination unit 150 determines that the achievement value of the corresponding connector satisfies the quality requirement that recovery is possible by isolating the recovery method according to the recovery code. Furthermore, when "○" is set for recovery isolation according to recovery code (catalog), the matching determination unit 150 determines that the catalog specifications of the corresponding connector satisfy the quality requirement that recovery is possible by isolating the recovery method according to the recovery code.

[0094] Furthermore, when the value of the recovery job call (achievement) is 1 or greater, the matching determination unit 150 determines that the performance value of the corresponding connector satisfies the quality requirement that recovery is possible by calling a recovery job in the event of an abnormality. In other words, when there is a performance record of executing a recovery job call process, the matching determination unit 150 determines that the performance value of the corresponding connector satisfies the quality requirement that recovery is possible by calling a recovery job in the event of an abnormality. Furthermore, when "○" is set in the recovery job call (catalog), the matching determination unit 150 determines that the catalog specification of the corresponding connector satisfies the quality requirement that recovery is possible by calling a recovery job in the event of an abnormality.

[0095] In this way, it is possible to identify connectors that can perform restart processing, identify recovery methods according to the return code, and recover by calling a recovery job. By presenting the identified connectors to the user, users who want easy automatic recovery of connectors can select an appropriate connector.

[0096] 11 is a diagram showing an example of a trouble investigation simplification evaluation table. The trouble investigation simplification evaluation table 126a has a record registered for each connector. Each record contains the connector name, job start API (actual), job end information log API (actual), call information log API (actual), recovery information log API (actual), and average time [H] from error to re-execution. Each record also contains the job start API (catalog), job end information log API (catalog), call information log API (catalog), and recovery information log API (catalog).

[0097] The connector name is the name of the connector. The job start API (actual result) is the usage record of the job start API of the connector. The job completion information log API (actual result) is the usage record of the job completion information log API of the connector. The call information log API (actual result) is the usage record of the call information log API of the connector. The return information log API (actual result) is the usage record of the return information log API of the connector. The quality index evaluation unit 130 determines whether or not it is recorded that the connector has used each API based on the execution log 121. The quality index evaluation unit 130 sets "O" in the item of the API that is recorded as having been used by the connector, and sets "X" in the item of the API that is not recorded as having been used by the connector.

[0098] The average time from error to retry [H] is the average time from when a connector terminates due to an error to when it resumes, based on usage history. The quality index evaluation unit 130 calculates the average time from when the corresponding connector terminates due to an error to when it resumes, based on the retry time management table 126b, and stores this as the average time from error to retry [H].

[0099] The Job Start API (Catalog) is a catalog specification for whether or not the Connector's Job Start API can be used. The Job End Information Log API (Catalog) is a catalog specification for whether or not the Connector's Job End Information Log API can be used. The Call Information Log API (Catalog) is a catalog specification for whether or not the Connector's Call Information Log API can be used. The Recovery Information Log API (Catalog) is a catalog specification for whether or not the Connector's Recovery Information Log API can be used. The Job Start API (Catalog), Job End Information Log API (Catalog), Call Information Log API (Catalog), and Recovery Information Log API (Catalog) are set with either "〇" indicating that each API can be used, or "×" indicating that each API cannot be used.

[0100] The quality requirement for the ease of troubleshooting a connector is that each of the APIs, i.e., the job start API, job end information log API, call information log API, and return information log API, is available. When "o" is set for the job start API (achievement), the matching determination unit 150 determines that the achievement value for the corresponding connector satisfies the quality requirement that the job start API is available. Furthermore, when "o" is set for the job start API (catalog), the matching determination unit 150 determines that the catalog specifications for the corresponding connector satisfy the quality requirement that the job start API is available.

[0101] Furthermore, when "o" is set in the job completion information log API (achievement), the matching determination unit 150 determines that the achievement value for the corresponding connector satisfies the quality requirement that the job completion information log API is available. Furthermore, when "o" is set in the job completion information log API (catalog), the matching determination unit 150 determines that the catalog spec for the corresponding connector satisfies the quality requirement that the job completion information log API is available.

[0102] Furthermore, when "o" is set in the call information log API (performance), the matching determination unit 150 determines that the performance value of the corresponding connector satisfies the quality requirement that the call information log API is available. Furthermore, when "o" is set in the call information log API (catalog), the matching determination unit 150 determines that the catalog specifications of the corresponding connector satisfy the quality requirement that the call information log API is available.

[0103] Furthermore, when "o" is set in the return information log API (performance), the matching determination unit 150 determines that the performance value of the corresponding connector satisfies the quality requirement that the return information log API is available. Furthermore, when "o" is set in the return information log API (catalog), the matching determination unit 150 determines that the catalog specifications of the corresponding connector satisfy the quality requirement that the return information log API is available.

[0104] In this way, it is possible to identify connectors that can use each of the APIs: job start API, job end information log API, call information log API, and return information log API. By presenting the identified connectors to users, users who require specific information for troubleshooting when an error occurs or who require a large amount of information for use in troubleshooting when an error occurs can select an appropriate connector.

[0105] 12 is a diagram showing an example of a retry time management table. The retry time management table 126b stores a record for each connector error that has occurred. Each record contains the connector name, instance ID, error end time, and restart time.

[0106] The connector name is the name of the connector where the error occurred. The instance ID is an ID that identifies the error. The error end time is the time when processing ended due to the error. The restart time is the time when processing resumed after the error end.

[0107] Based on the execution log 121, the quality index evaluation unit 130 records the connector name, instance ID, error end time, and restart time when an error occurs in the connector in the re-execution time management table 126b.

[0108] 13 is a diagram showing an example of a process type list. In the process type list 127a, a process type is set as a stored value in association with the value of the variable i. In the process type list 127a, a completion waiting process is set in association with i=0. In the process type list 127a, an execution status acquisition process is set in association with i=1. In the process type list 127a, an error termination status acquisition process is set in association with i=2. In the process type list 127a, a forced termination process is set in association with i=3.

[0109] 14 is a diagram showing an example of an operation performance table. The operation performance table 127b has a record registered for each connector. Each record has the connector name, completion waiting (performance), execution status acquisition (performance), error termination status acquisition (performance), and forced termination (performance). Each record also has the completion waiting (catalog), execution status acquisition (catalog), error termination status acquisition (catalog), and forced termination (catalog).

[0110] The connector name is the name of the connector. The completion waiting (actual result) is the number of times that the connector has caused the cloud service to execute the completion waiting process, counted based on the usage record. The quality index evaluation unit 130 counts the number of times that the corresponding connector has caused the cloud service to execute the completion waiting process and completed successfully, based on the execution log 121, and stores the counted number in the completion waiting (actual result).

[0111] The execution status acquisition (performance) is the number of times that a connector has caused a controlled cloud service to execute the execution status acquisition process, counted based on the usage record. Based on the execution log 121, the quality index evaluation unit 130 counts the number of times that a corresponding connector has caused a controlled cloud service to execute the execution status acquisition process and completed successfully, and stores the counted number in the execution status acquisition (performance).

[0112] The error termination status acquisition (actual performance) is the number of times that a connector has caused a controlled cloud service to execute an error termination status acquisition process, counted based on the usage record. Based on the execution log 121, the quality index evaluation unit 130 counts the number of times that a corresponding connector has caused a controlled cloud service to execute an error termination status acquisition process and terminated normally, and stores the counted number in the error termination status acquisition (actual performance).

[0113] Forced Termination (Actual) is the number of times that a connector, counted based on usage history, has executed a forced termination process on a cloud service to be controlled. Based on the execution log 121, the quality index evaluation unit 130 counts the number of times that a corresponding connector has executed a forced termination process on a cloud service to be controlled and terminated normally, and stores the counted number in Forced Termination (Actual). Note that for connectors with no corresponding usage history, "-" is set for Completion Waiting (Actual), Execution Status Acquisition (Actual), Error Termination Status Acquisition (Actual), and Forced Termination (Actual).

[0114] Completion Waiting (Catalog) is a catalog specification as to whether or not a connector can cause a controlled cloud service to execute completion waiting processing. Execution Status Acquisition (Catalog) is a catalog specification as to whether or not a connector can cause a controlled cloud service to execute execution status acquisition processing. Error Exit Status Acquisition (Catalog) is a catalog specification as to whether or not a connector can cause a controlled cloud service to execute error exit status acquisition processing. Forced Termination (Catalog) is a catalog specification as to whether or not a connector can cause a controlled cloud service to execute forced termination processing.

[0115] For Completion Waiting (Catalog), Execution Status Acquisition (Catalog), Error Termination Status Acquisition (Catalog), and Forced Termination (Catalog), either "0" is set to indicate that the controlled object can execute each process, or "-" is set to indicate that the controlled object cannot execute the process.

[0116] A quality requirement regarding the flexibility of control of a connector's linked service is that the control target can execute the processes of completion waiting, execution status acquisition, error termination status acquisition, and forced termination. If the completion waiting (achievement) value is 1 or greater, the matching determination unit 150 determines that the achievement value of the corresponding connector satisfies the quality requirement that the control target can execute the completion waiting process.

[0117] In other words, if there is a track record of having the control object execute the completion waiting process, the matching determination unit 150 determines that the track record value of the corresponding connector satisfies the quality requirement that the control object can execute the completion waiting process. Also, if "○" is set in the completion waiting (catalog), the matching determination unit 150 determines that the catalog specification of the corresponding connector satisfies the quality requirement that the control object can execute the completion waiting process.

[0118] Furthermore, when the value of execution status acquisition (achievement) is 1 or greater, the matching determination unit 150 determines that the achievement value of the corresponding connector satisfies the quality requirement that the execution status acquisition process can be executed by the control target. In other words, when there is an achievement of having the execution status acquisition process executed by the control target, the matching determination unit 150 determines that the achievement value of the corresponding connector satisfies the quality requirement that the execution status acquisition process can be executed by the control target. Furthermore, when "○" is set in execution status acquisition (catalog), the matching determination unit 150 determines that the catalog specification of the corresponding connector satisfies the quality requirement that the execution status acquisition process can be executed by the control target.

[0119] Furthermore, when the value of Error End Status Acquisition (Actual) is 1 or greater, the matching determination unit 150 determines that the actual value of the corresponding connector satisfies the quality requirement that the control target can execute the error end status acquisition process. In other words, when there is an actual record of the control target executing the error end status acquisition process, the matching determination unit 150 determines that the actual value of the corresponding connector satisfies the quality requirement that the control target can execute the error end status acquisition process. Furthermore, when "○" is set in Error End Status Acquisition (Catalog), the matching determination unit 150 determines that the catalog specifications of the corresponding connector satisfy the quality requirement that the control target can execute the error end status acquisition process.

[0120] Furthermore, when the value of forced termination (performance) is 1 or greater, the matching determination unit 150 determines that the performance value of the corresponding connector satisfies the quality requirement that the control target can be made to execute forced termination processing. In other words, when there is a performance record of the control target being made to execute forced termination processing, the matching determination unit 150 determines that the performance value of the corresponding connector satisfies the quality requirement that the control target can be made to execute forced termination processing. Furthermore, when "○" is set in forced termination (catalog), the matching determination unit 150 determines that the catalog specifications of the corresponding connector satisfy the quality requirement that the control target can be made to execute forced termination processing.

[0121] In this way, it is possible to identify connectors that can cause the controlled object to execute each of the processes of acquiring execution status, acquiring error termination status, and forcibly terminating. By presenting the identified connectors to the user, the user who desires flexible control of the linked service can select an appropriate connector.

[0122] 15 is a diagram showing an example of an update tracking evaluation table. A record for each connector is registered in the update tracking evaluation table 128. Each record contains the connector name, v1.0 (performance), v1.1 (performance), v2.0 (performance), v1.0 (catalog), v1.1 (catalog), and v2.0 (catalog).

[0123] The connector name is the name of the connector. v1.0 (actual) is the number of times that the connector controlled API version 1.0 of the cloud service to be controlled, counted based on the usage history. Based on the execution log 121, the quality index evaluation unit 130 counts the number of times that the corresponding connector caused API version 1.0 of the cloud service to be controlled to execute processing and completed successfully, and stores the count in v1.0 (actual).

[0124] v1.1 (achievement) is the number of times that a connector, counted based on usage history, controlled API version 1.1 of the cloud service to be controlled. Based on the execution log 121, the quality index evaluation unit 130 counts the number of times that the corresponding connector caused API version 1.1 of the cloud service to be controlled to execute processing and completed successfully, and stores this in v1.1 (achievement). v2.0 (achievement) is the number of times that a connector, counted based on usage history, controlled API version 2.0 of the cloud service to be controlled. Based on the execution log 121, the quality index evaluation unit 130 counts the number of times that the corresponding connector caused API version 2.0 of the cloud service to be controlled to execute processing and completed successfully, and stores this in v2.0 (achievement). Note that "-" is set for v1.0 (achievement), v1.1 (achievement), and v2.0 (achievement) corresponding to a connector with no corresponding usage history.

[0125] v1.0 (catalog) is a catalog specification indicating whether the connector can control API version 1.0 of the cloud service being controlled. v1.1 (catalog) is a catalog specification indicating whether the connector can control API version 1.1 of the cloud service being controlled. v2.0 (catalog) is a catalog specification indicating whether the connector can control API version 2.0 of the cloud service being controlled. For v1.0 (catalog), v1.1 (catalog), and v2.0 (catalog), "〇" is set to indicate that each API version can be controlled, or "-" is set to indicate that it cannot be controlled.

[0126] Note that API version 2.0 of each cloud service is the latest API version. Also, API version 1.0 and API version 1.1 of each cloud service are API versions that are not EOL (End of Life). EOL is an API version for which support has ended.

[0127] The quality requirements for tracking updates to be controlled include the ability to control the latest API version and the ability to control all API versions other than the latest that are not EOL. If the value of v2.0 (achievement) is 1 or greater (i.e., there is a track record of controlling API version 2.0), the matching determination unit 150 determines that the achievement value of the corresponding connector satisfies the quality requirement that the latest API version can be controlled. Furthermore, if "0" is set for v2.0 (catalog), the matching determination unit 150 determines that the catalog specification of the corresponding connector satisfies the quality requirement that the latest API version can be controlled.

[0128] Furthermore, if the values ​​of v1.0 (actual) and v1.1 (actual) are both 1 or greater, the matching determination unit 150 determines that the corresponding connector satisfies the quality requirement that the actual values ​​are capable of controlling all API versions that are not EOL except for the latest. In other words, if there is a track record of controlling API versions 1.0 and 1.1, the matching determination unit 150 determines that the corresponding connector satisfies the quality requirement that the actual values ​​are capable of controlling all API versions that are not EOL except for the latest API version. Furthermore, if "○" is set for v1.0 (catalog) and v1.1 (catalog), the matching determination unit 150 determines that the corresponding connector satisfies the quality requirement that the catalog specifications are capable of controlling all API versions that are not EOL except for the latest API version.

[0129] In this way, it is possible to identify connectors that can control the latest API version and connectors that can control all API versions other than the latest that are not EOL. By presenting the identified connectors to users, users who wish to keep up with updates of the cloud service to be controlled can select an appropriate connector.

[0130] Next, multiple execution will be described. Fig. 16 is a diagram showing an example of multiple execution. Graphs 41, 42, and 43 show the time during which the connector has caused the cloud service to execute a process. In the example of Fig. 16, the horizontal axis represents time.

[0131] Graph 41 shows that the processing started at 12:00 and ended at 12:03. Graph 42 shows that the processing started at 12:01 and ended at 12:04. Graph 43 shows that the processing started at 12:02 and ended at 12:05.

[0132] Graphs 41, 42, and 43 show that the most processes are executed in parallel between 12:02 and 12:03. Graphs 41, 42, and 43 show that three processes are executed in parallel between 12:02 and 12:03. Therefore, in the example of Figure 16, processes are executed with a multiplicity of 3.

[0133] Next, the display screen when presenting connectors will be described. First, the screen for inputting the conditions for the connectors to be presented will be described. 17 is a diagram showing an example of a connector type selection screen. The input receiving unit 140 displays the connector type selection screen 51 on the user terminal (e.g., user terminal 300b) of a user who is newly using the workflow control service 31. The connector type selection screen 51 is a screen that allows the user to select cloud services to be controlled by the connector. The connector type selection screen 51 includes check boxes corresponding to cloud services. The input receiving unit 140 receives the selection of the cloud service corresponding to the checked check box.

[0134] 18 is a diagram showing an example of a quality requirement selection screen. When the input receiving unit 140 receives a selection of a cloud service on the connector type selection screen 51, it causes the user terminal 300b to display a quality requirement selection screen 52. The quality requirement selection screen 52 is a screen that allows the user to select the quality requirements required for the connector.

[0135] The quality requirement selection screen 52 includes check boxes corresponding to the connector evaluation criteria, such as the difficulty of configuration, the degree of multiple execution, the ease of automatic recovery, the ease of troubleshooting, the flexibility of controlling linked services, and the ability to follow updates to controlled targets. The quality requirement selection screen 52 also includes check boxes corresponding to the quality requirements for each evaluation criterion.

[0136] The input receiving unit 140 receives the selection of the quality requirement corresponding to the checked check box. When a check box corresponding to an evaluation criterion is checked, the check box corresponding to the quality requirement related to that evaluation criterion is also checked.

[0137] In this way, the input receiving unit 140 receives the selection of a cloud service and quality requirements. The matching determination unit 150 determines, from among the connectors corresponding to the selected cloud service, connectors whose performance values ​​or catalog specifications match the selected quality requirements. Next, a screen displaying the determination results of connectors that match the quality requirements will be described.

[0138] 19 is a diagram showing an example of a result presentation screen. When the matching determination unit 150 identifies connectors that meet the quality requirements, the matching connector display unit 160 causes the user terminal 300b to display a result presentation screen 53. The result presentation screen 53 is a screen for presenting connectors that meet the quality requirements to the user.

[0139] The result presentation screen 53 includes, in the upper section, information on connectors whose actual values ​​conform to the quality requirements selected by the user. The connector information in the upper section of the result presentation screen 53 includes the connector name and the actual values ​​of each quality requirement. The result presentation screen 53 also includes, in the lower section, information on connectors whose catalog specifications conform to the quality requirements selected by the user. The connector information in the lower section of the result presentation screen 53 includes the connector name and the catalog specifications of each quality requirement. Note that the connector information may be configured so that the actual values ​​and catalog specifications of the quality requirements selected by the user are displayed, and the actual values ​​and catalog specifications of quality requirements not selected by the user are displayed by expanding the information.

[0140] By displaying the result presentation screen 53 in this way, connectors whose performance values ​​meet the quality requirements selected by the user and connectors whose catalog specifications meet the requirements can be presented. This allows the user to appropriately select a connector with the desired functionality. Furthermore, on the result presentation screen 53, information on connectors whose performance values ​​meet the quality requirements is displayed in the upper row, and information on connectors whose catalog specifications meet the quality requirements is displayed in the lower row. This makes it possible to show the user that connectors with a performance record that meet the quality requirements selected by the user are more likely to be recommended than connectors whose catalog specifications meet the quality requirements.

[0141] Next, the procedure for evaluating the quality of a connector will be described in detail. 20 is a flowchart showing an example of the procedure for quality evaluation processing. The processing shown in FIG. 20 will be explained below in order of step number.

[0142] [Step S101] The quality index evaluation unit 130 waits for a predetermined time (for example, one hour). [Step S102] The quality index evaluation unit 130 selects a connector to be evaluated from among the connectors 110a, 110b, . . .

[0143] [Step S103] The quality index evaluation unit 130 executes a setting difficulty evaluation process for the connector to be evaluated selected in step S102. The setting difficulty evaluation process will be described in detail later (see FIG. 21).

[0144] [Step S104] The quality index evaluation unit 130 executes a multiple execution degree evaluation process for the connectors to be evaluated selected in step S102. The multiple execution degree evaluation process will be described in detail later (see FIG. 22).

[0145] [Step S105] The quality index evaluation unit 130 executes an automatic restoration ease evaluation process for the connector to be evaluated selected in step S102. The automatic restoration ease evaluation process will be described in detail later (see FIG. 23).

[0146] [Step S106] The quality index evaluation unit 130 executes a trouble investigation simplification evaluation process for the connector to be evaluated selected in step S102. The trouble investigation simplification evaluation process will be described in detail later (see FIG. 24).

[0147] [Step S107] The quality index evaluation unit 130 performs a linkage destination service control flexibility evaluation process on the connector to be evaluated selected in step S102. The linkage destination service control flexibility evaluation process will be described in detail later (see FIG. 25).

[0148] [Step S108] The quality index evaluation unit 130 performs a process of evaluating the follow-up of a controlled target update on the connector to be evaluated selected in step S102. The process of evaluating the follow-up of a controlled target update will be described in detail later (see FIG. 26).

[0149] [Step S109] The quality index evaluation unit 130 determines whether all of the connectors 110a, 110b, ... have been selected as evaluation targets. If the quality index evaluation unit 130 determines that all of the connectors 110a, 110b, ... have been selected, it proceeds to step S101. If the quality index evaluation unit 130 determines that all of the connectors 110a, 110b, ... have not been selected, it proceeds to step S102.

[0150] In this manner, the quality of the connectors 110a, 110b, . . . is evaluated at predetermined time intervals. 21 is a flowchart showing an example of the procedure for the setting difficulty evaluation process. The process shown in FIG. 21 will be described below in order of step number.

[0151] [Step S111] The quality index evaluation unit 130 refers to the catalog specifications of the connector to be evaluated, and stores whether multiple execution is possible and the operational delay time during multiple execution in the setting difficulty evaluation table 123. For example, the quality index evaluation unit 130 stores the catalog specifications of the number of parameters of the connector to be evaluated in the parameter count (catalog) of the record of the connector to be evaluated in the setting difficulty evaluation table 123. The quality index evaluation unit 130 also stores the catalog specifications of the setting time of the parameters of the connector to be evaluated in the setting time [seconds] (catalog) of that record.

[0152] [Step S112] The quality index evaluation unit 130 refers to the execution log 121 and determines whether the connector to be evaluated has been used since the previous setting difficulty evaluation process. If the quality index evaluation unit 130 determines that the connector to be evaluated has been used, it proceeds to step S113. If the quality index evaluation unit 130 determines that the connector to be evaluated has not been used, it terminates the process.

[0153] [Step S113] The quality index evaluation unit 130 refers to the execution log 121 and counts the number of parameters from the difference in screen information before and after parameter setting for the connector to be evaluated. The quality index evaluation unit 130 then stores the counted number of parameters in the parameter number (achievement) field of the record for the connector to be evaluated in the setting difficulty evaluation table 123.

[0154] [Step S114] The quality index evaluation unit 130 identifies the parameter setting start time and parameter setting end time of the connector to be evaluated by referring to the execution log 121. Then, the quality index evaluation unit 130 calculates the difference between the parameter setting start time and the parameter setting end time as the parameter setting time.

[0155] [Step S115] The quality index evaluation unit 130 determines whether the actual parameter setting time has been stored. For example, if a value is stored in the setting time [seconds] (actual result) field of the record of the connector to be evaluated in the setting difficulty evaluation table 123, the quality index evaluation unit 130 determines that the actual parameter setting time has been stored. If the quality index evaluation unit 130 determines that the actual parameter setting time has been stored, it proceeds to step S116. If the quality index evaluation unit 130 determines that the actual parameter setting time has not been stored, it proceeds to step S117.

[0156] [Step S116] The quality index evaluation unit 130 calculates the average of the parameter setting time calculated in this setting difficulty evaluation process and the parameter setting time calculated in the previous setting difficulty evaluation processes. The quality index evaluation unit 130 stores the calculated average parameter setting time in the setting difficulty evaluation table 123 as the setting time [seconds] (actual performance) in the record of the connector to be evaluated. The process then ends.

[0157] [Step S117] The quality index evaluation unit 130 stores the parameter setting time calculated in this setting difficulty evaluation process as the setting time [seconds] (achievement) in the record of the connector to be evaluated in the setting difficulty evaluation table 123.

[0158] In this way, the number of parameters and the parameter setting time of the connector to be evaluated are calculated from the execution log 121. This makes it possible to appropriately evaluate the difficulty of parameter setting based on the connector's usage record.

[0159] 22 is a flowchart showing an example of the procedure for the multiple execution degree evaluation process. The process shown in FIG. 22 will be described below in order of step number. [Step S121] The quality index evaluation unit 130 refers to the catalog specifications of the connector to be evaluated, and stores whether or not multiple execution is possible and the operation delay time during multiple execution in the multiple execution degree evaluation table 124. For example, the quality index evaluation unit 130 stores the catalog specifications of whether or not the connector to be evaluated can execute 1 to 100 processes concurrently in the multiple execution 1 to 100 (catalog) field of the record of the connector to be evaluated in the multiple execution 1 to 100 (catalog) field of the multiple execution degree evaluation table 124. The quality index evaluation unit 130 also stores the catalog specifications of the operation delay time when the connector to be evaluated executes 1 to 100 processes concurrently in the multiple execution 1 to 100 operation delay [seconds] (catalog) field of the record of the connector to be evaluated in the multiple execution degree evaluation table 124.

[0160] The quality index evaluation unit 130 also stores catalog specifications of whether the connector to be evaluated can concurrently execute 101 or more processes in the concurrent execution 101 or more (catalog) of the record of the connector to be evaluated in the concurrent execution degree evaluation table 124. The quality index evaluation unit 130 also stores catalog specifications of the operation delay time when the connector to be evaluated concurrently executes 101 or more processes in the concurrent execution 101 or more operation delay (seconds) (catalog) of the record of the connector to be evaluated in the concurrent execution degree evaluation table 124.

[0161] [Step S122] The quality index evaluation unit 130 extracts from the execution log 121 the execution start and end times of processes performed by the connector being evaluated since the previous multiplicity evaluation process. The quality index evaluation unit 130 then checks the multiplicity of processes performed by the connector being evaluated. For example, the quality index evaluation unit 130 determines the multiplicity as the number of processes during the period when the most processes were being executed in parallel, based on the execution start and end times of each extracted process.

[0162] [Step S123] The quality index evaluation unit 130 determines whether the multiple executions have ended normally. If the quality index evaluation unit 130 determines that the multiple executions have ended normally, it proceeds to step S124. If the quality index evaluation unit 130 determines that the multiple executions have not ended normally, it terminates the process.

[0163] [Step S124] The quality index evaluation unit 130 updates the corresponding actual usage count in the multiple execution degree evaluation table 124. For example, if the multiplicity confirmed in step S122 is 1 to 100, the quality index evaluation unit 130 adds 1 to the value of multiple executions 1 to 100 (actual) of the record of the connector being evaluated in the multiple execution degree evaluation table 124. If the multiplicity confirmed in step S122 is 101 or more, the quality index evaluation unit 130 adds 1 to the value of multiple executions 101 or more (actual) of the record.

[0164] [Step S125] The quality index evaluation unit 130 extracts the execution start time and end time when multiple processes were executed. The quality index evaluation unit 130 then calculates the execution time during multiple execution. For example, the quality index evaluation unit 130 calculates the difference between the execution start time and end time for each process that was executed multiple times as the execution time, and calculates the average of the execution times of each process as the execution time during multiple execution.

[0165] [Step S126] The quality index evaluation unit 130 extracts the execution start time and end time when no multiple executions were performed. Then, the quality index evaluation unit 130 calculates the difference between the extracted execution start time and end time as the execution time when no multiple executions were performed.

[0166] [Step S127] The quality index evaluation unit 130 calculates the difference between the execution time calculated in step S125 when multiple execution was performed and the execution time calculated in step S126 when multiple execution was not performed, as the operation delay.

[0167] [Step S128] The quality index evaluation unit 130 updates the corresponding operation delay in the multiple execution degree evaluation table 124. For example, if the degree of multiplexing is 1 to 100, the quality index evaluation unit 130 compares the value of the multiple execution 1 to 100 operation delay [seconds] (actual) in the record of the connector being evaluated in the multiple execution degree evaluation table 124 with the operation delay calculated in step S127. If the calculated operation delay is greater than the value of the multiple execution 1 to 100 operation delay [seconds] (actual), the quality index evaluation unit 130 updates the value of the multiple execution 1 to 100 operation delay [seconds] (actual) to the calculated operation delay.

[0168] Furthermore, if the degree of multiplexing is 101 or more, the quality index evaluation unit 130 compares the value of the operation delay for multiple executions 101 or more [seconds] (actual) in the record of the connector being evaluated in the multiple execution degree evaluation table 124 with the operation delay calculated in step S127. If the calculated operation delay is greater than the value of the operation delay for multiple executions 101 or more [seconds] (actual), the quality index evaluation unit 130 updates the value of the operation delay for multiple executions 101 or more [seconds] (actual) to the calculated operation delay.

[0169] In this way, the actual number of times the connector to be evaluated has been used in multiple executions and the maximum operational delay during multiple executions are calculated from the execution log 121. This allows the performance during multiple executions to be appropriately evaluated based on the connector's usage history.

[0170] 23 is a flowchart showing an example of the procedure for the automatic recovery simplicity evaluation process. The process shown in FIG. 23 will be described below in order of step number. [Step S131] The quality index evaluation unit 130 refers to the catalog specifications of the connector to be evaluated, and stores in the automatic recovery simplicity evaluation table 125b whether the connector has the functions of connector restart, recovery isolation according to the return code, and recovery job invocation. For example, the quality index evaluation unit 130 stores the catalog specifications of whether the connector to be evaluated has the restart function in the connector restart (catalog) field of the record of the connector to be evaluated in the automatic recovery simplicity evaluation table 125b.

[0171] The quality index evaluation unit 130 also stores in the recovery isolation (catalog) corresponding to the recovery code of the record a catalog specification as to whether the connector to be evaluated has a recovery isolation function corresponding to the recovery code. The quality index evaluation unit 130 also stores in the recovery job call (catalog) of the record a catalog specification as to whether the connector to be evaluated has a recovery job call function.

[0172] [Step S132] The quality index evaluation unit 130 refers to the execution log 121 to check the record of abnormal termination of the connector being evaluated since the previous automatic recovery ease evaluation process. [Step S133] The quality index evaluation unit 130 determines whether or not a restart process for the abnormally terminated connector has been performed. For example, if the execution log 121 contains a record of a restart process corresponding to the record of abnormal termination confirmed in step S132, the quality index evaluation unit 130 determines that a restart process for the abnormally terminated connector has been performed. If the quality index evaluation unit 130 determines that a restart process for the abnormally terminated connector has been performed, it proceeds to step S134. If the quality index evaluation unit 130 determines that a restart process for the abnormally terminated connector has not been performed, it proceeds to step S135.

[0173] [Step S134] The quality index evaluation unit 130 updates the number of connector restarts recorded in the automatic recovery simplicity evaluation table 125b. For example, the quality index evaluation unit 130 counts the number of abnormal terminations with corresponding restart processes, as confirmed in step S132. The quality index evaluation unit 130 then adds the counted number to the connector restarts (record) in the record of the connector being evaluated in the automatic recovery simplicity evaluation table 125b.

[0174] [Step S135] Based on the record confirmed in step S132, the quality index evaluation unit 130 stores the recovery code of the connector that terminated abnormally and the post-processing after the abnormal termination in the recovery process table 125a. For example, the quality index evaluation unit 130 adds a record to the recovery process table 125a that is a combination of the name of the connector being evaluated, the return code indicating the status when recovery from the abnormal termination was made, and the post-processing after the abnormal termination.

[0175] [Step S136] The quality index evaluation unit 130 determines whether the combination of the return code and post-processing is new. For example, if the combination of the connector name, return code, and post-processing added to the recovery process table 125a in step S135 has not already been registered, the quality index evaluation unit 130 determines that the combination of the return code and post-processing is new. If the quality index evaluation unit 130 determines that the combination of the return code and post-processing is new, it proceeds to step S137. If the quality index evaluation unit 130 determines that the combination of the return code and post-processing is not new, it proceeds to step S138.

[0176] [Step S137] The quality index evaluation unit 130 updates the type of recovery isolation performance corresponding to the recovery code in the automatic recovery simplicity evaluation table 125b. For example, the quality index evaluation unit 130 counts the number of new combinations of recovery codes and post-processing added to the recovery processing table 125a in step S135. The quality index evaluation unit 130 adds the counted number to the recovery isolation (performance) corresponding to the recovery code in the record of the connector being evaluated in the automatic recovery simplicity evaluation table 125b.

[0177] [Step S138] The quality index evaluation unit 130 determines whether a recovery job call process was executed in the post-processing after the abnormal termination. For example, if the post-processing stores a recovery job call record in the recovery processing table 125a in step S135, the quality index evaluation unit 130 determines that a recovery job call process was executed. If the quality index evaluation unit 130 determines that a recovery job call process was executed, it proceeds to step S139. If the quality index evaluation unit 130 determines that a recovery job call process was not executed, it terminates the process.

[0178] [Step S139] The quality index evaluation unit 130 updates the actual number of recovery job invocations in the automatic recovery simplicity evaluation table 125b. For example, the quality index evaluation unit 130 counts the number of records in which the post-processing registered in the recovery processing table 125a in step S135 is a recovery job invocation. The quality index evaluation unit 130 then adds the counted number to the recovery job invocation (actual number) of the record of the connector being evaluated in the automatic recovery simplicity evaluation table 125b.

[0179] In this way, the number of times that the connector restart process, recovery isolation process according to the return code, and recovery job call process of the connector to be evaluated have been executed are counted from the execution log 121. This makes it possible to appropriately evaluate the ease of automatic recovery based on the connector usage history.

[0180] 24 is a flowchart showing an example of the procedure for the trouble investigation simplification evaluation process. The process shown in FIG. 24 will be described below in order of step number. [Step S141] The quality index evaluation unit 130 refers to the catalog specifications of the connector to be evaluated, and stores the availability of each log API (job start API, job end information log API, call information log API, and recovery information log API) in the trouble investigation easiness evaluation table 126a. For example, the quality index evaluation unit 130 stores the catalog specifications of whether the connector to be evaluated can use the job start API in the job start API (catalog) of the record of the connector to be evaluated in the trouble investigation easiness evaluation table 126a. The quality index evaluation unit 130 also stores the catalog specifications of whether the connector to be evaluated can use the job end information log API in the job end information log API (catalog) of that record.

[0181] The quality index evaluation unit 130 also stores in the call information log API (catalog) of the record a catalog specification as to whether the connector to be evaluated can use the call information log API. The quality index evaluation unit 130 also stores in the return information log API (catalog) of the record a catalog specification as to whether the connector to be evaluated can use the return information log API.

[0182] [Step S142] The quality index evaluation unit 130 stores in the trouble investigation simplification evaluation table 126a whether the connector being evaluated has used each of the log APIs, i.e., the job start API, the job end information log API, the call information log API, and the return information log API, from the execution log 121. For example, the quality index evaluation unit 130 checks the execution log 121 for records of the connector being evaluated having used the job start API, the job end information log API, the call information log API, and the return information log API.

[0183] The quality index evaluation unit 130 stores, in the job start API (achievement) of the record of the connector being evaluated in the trouble investigation easiness evaluation table 126a, whether or not there is a record that the connector being evaluated has used the job start API. The quality index evaluation unit 130 also stores, in the job end information log API (achievement) of the record, whether or not there is a record that the connector being evaluated has used the job end information log API. The quality index evaluation unit 130 also stores, in the call information log API (achievement) of the record, whether or not there is a record that the connector being evaluated has used the call information log API. The quality index evaluation unit 130 also stores, in the recovery information log API (achievement) of the record, whether or not there is a record that the connector being evaluated has used the recovery information log API.

[0184] [Step S143] The quality index evaluation unit 130 refers to the execution log 121 and determines whether an error has occurred in the connector being evaluated since the previous trouble investigation ease evaluation process. If the quality index evaluation unit 130 determines that an error has occurred in the connector being evaluated, it proceeds to step S144. If the quality index evaluation unit 130 determines that no error has occurred in the connector being evaluated, it proceeds to step S145.

[0185] [Step S144] The quality index evaluation unit 130 stores the error end time and the restart time in the re-execution time management table 126b. For example, the quality index evaluation unit 130 identifies the error end time and the restart time of an error that has occurred in the connector being evaluated since the previous trouble investigation simplicity evaluation process, which are recorded in the execution log 121. The quality index evaluation unit 130 then stores the identified error end time and the restart time in the re-execution time management table 126b, in association with the name of the connector being evaluated and an unused instance ID.

[0186] [Step S145] The quality index evaluation unit 130 calculates the average time from the error end time to the restart time based on the re-execution time management table 126b. For example, the quality index evaluation unit 130 calculates the time from the error end time to the restart time for each record in which the name of the connector being evaluated is registered, and calculates the average time of the calculated times. The quality index evaluation unit 130 stores the calculated average time in the average time [H] from error to re-execution for the record of the connector being evaluated in the trouble investigation easiness evaluation table 126a.

[0187] In this way, whether or not the connector being evaluated has used each of the log APIs (job start API, job end information log API, call information log API, and return information log API) is identified from the execution log 121. This makes it possible to appropriately evaluate the ease of troubleshooting based on the connector's usage history.

[0188] 25 is a flowchart showing an example of the procedure for evaluating the flexibility of cooperation destination service control. The process shown in FIG. 25 will be described below in order of step number. [Step S151] The quality index evaluation unit 130 refers to the catalog specifications of the connector to be evaluated, and stores in the operation history table 127b whether the control target can execute each of the processes of completion waiting processing, execution status acquisition processing, error termination status acquisition processing, and forced termination processing. For example, the quality index evaluation unit 130 stores in the completion waiting (catalog) of the record of the connector to be evaluated in the operation history table 127b, the catalog specifications of whether the connector to be evaluated can cause the cloud service to be controlled to execute the completion waiting processing. Furthermore, the quality index evaluation unit 130 stores in the execution status acquisition (catalog) of the record, the catalog specifications of whether the connector to be evaluated can cause the cloud service to be controlled to execute the execution status acquisition processing.

[0189] The quality index evaluation unit 130 also stores in the error termination status acquisition (catalog) of the record a catalog specification as to whether the connector to be evaluated can cause the cloud service to be controlled to execute error termination status acquisition processing. The quality index evaluation unit 130 also stores in the forced termination (catalog) of the record a catalog specification as to whether the connector to be evaluated can cause the cloud service to be controlled to execute forced termination processing.

[0190] [Step S152] The quality index evaluation unit 130 sets the variable i to 0. [Step S153] The quality index evaluation unit 130 refers to the execution log 121 and determines whether there is a record in the process type list 127a that the connector being evaluated executed the process corresponding to the value of the variable i. If the quality index evaluation unit 130 determines that there is a record that the connector being evaluated executed the process corresponding to the value of the variable i, it proceeds to step S154. If the quality index evaluation unit 130 determines that there is no record that the connector being evaluated executed the process corresponding to the value of the variable i, it proceeds to step S156.

[0191] [Step S154] The quality index evaluation unit 130 refers to the execution log 121 and counts the number of times that the connector to be evaluated causes the cloud service to be controlled to execute the process corresponding to the value of the variable i and the process ends normally.

[0192] [Step S155] The quality index evaluation unit 130 updates the number of successful executions of the process corresponding to the value of variable i in the operation record table 127b. For example, if variable i=0, the quality index evaluation unit 130 stores the number of successful completions counted in step S154 in the completion waiting (record) of the record of the connector being evaluated in the operation record table 127b. If variable i=1, the quality index evaluation unit 130 stores the number of successful completions counted in step S154 in the execution status acquisition (record) of the record. If variable i=2, the quality index evaluation unit 130 stores the number of successful completions counted in step S154 in the error termination status acquisition (record) of the record. If variable i=3, the quality index evaluation unit 130 stores the number of successful completions counted in step S154 in the forced termination (record) of the record. Then, the process proceeds to step S157.

[0193] [Step S156] The quality index evaluation unit 130 updates the operation record table 127b without any processing record corresponding to the value of the variable i. For example, when the variable i=0, the quality index evaluation unit 130 stores information indicating that there is no usage record (for example, "-") in the Completion Waiting (Record) of the record of the connector being evaluated in the operation record table 127b. When the variable i=1, the quality index evaluation unit 130 stores information indicating that there is no usage record in the Execution Status Acquisition (Record) of the record. When the variable i=2, the quality index evaluation unit 130 stores information indicating that there is no usage record in the Error Termination Status Acquisition (Record) of the record. When the variable i=3, the quality index evaluation unit 130 stores information indicating that there is no usage record in the Forced Termination (Record) of the record.

[0194] [Step S157] The quality index evaluation unit 130 determines whether the variable i is less than 3 (i<3). If the quality index evaluation unit 130 determines that the variable i is less than 3, it proceeds to step S158. If the quality index evaluation unit 130 determines that the variable i is 3 or greater, it ends the process.

[0195] [Step S158] The quality index evaluation unit 130 sets the variable i to i + 1. Then, the process proceeds to step S153. In this way, the number of times the connector being evaluated has executed the completion waiting process, execution status acquisition process, error termination status acquisition process, and forced termination process on the controlled object and completed successfully is counted from the execution log 121. This makes it possible to appropriately evaluate whether or not the linked service can be flexibly controlled based on the connector's usage history.

[0196] 26 is a flowchart showing an example of the procedure for the process of evaluating the tracking of the control target update. The process shown in FIG. 26 will be described below in order of step number. [Step S161] The quality index evaluation unit 130 refers to the catalog specifications of the connector to be evaluated, and stores whether each API version of the cloud service to be controlled can be controlled in the update tracking evaluation table 128. For example, the quality index evaluation unit 130 stores, in the v1.0 (catalog) of the record of the connector to be evaluated in the update tracking evaluation table 128, the catalog specifications of whether the connector to be evaluated can control API version 1.0 of the cloud service to be controlled.

[0197] The quality index evaluation unit 130 also stores in the v1.1 (catalog) of the record a catalog specification indicating whether the connector to be evaluated can control API version 1.1 of the cloud service to be controlled. The quality index evaluation unit 130 also stores in the v2.0 (catalog) of the record a catalog specification indicating whether the connector to be evaluated can control API version 2.0 of the cloud service to be controlled.

[0198] [Step S162] The quality index evaluation unit 130 refers to the execution log 121 and determines whether the connector to be evaluated has a history of use. If the quality index evaluation unit 130 determines that the connector to be evaluated has a history of use, it proceeds to step S163. If the quality index evaluation unit 130 determines that the connector to be evaluated has not a history of use, it terminates the process.

[0199] [Step S163] Based on the execution log 121, the quality index evaluation unit 130 counts the number of successful completions for each API version by the connector to be evaluated, and updates the update tracking evaluation table 128. For example, the quality index evaluation unit 130 counts the number of records in the execution log 121 in which the connector to be evaluated caused API version 1.0 of the cloud service to be controlled to execute processing and completed successfully. The quality index evaluation unit 130 then stores the counted number of records in the v1.0 (performance) field of the record of the connector to be evaluated in the update tracking evaluation table 128.

[0200] The quality index evaluation unit 130 also counts the number of records in the execution log 121 where the connector to be evaluated has API version 1.1 of the cloud service to be controlled executed and completed successfully. The quality index evaluation unit 130 then stores the counted number of records in the v1.1 (achievement) field of the record of the connector to be evaluated in the update tracking evaluation table 128. The quality index evaluation unit 130 also counts the number of records in the execution log 121 where the connector to be evaluated has API version 2.0 of the cloud service to be controlled executed and completed successfully. The quality index evaluation unit 130 then stores the counted number of records in the v2.0 (achievement) field of the record of the connector to be evaluated in the update tracking evaluation table 128.

[0201] In this way, the number of times that the connector being evaluated has successfully controlled each API version of the cloud service being controlled is counted from the execution log 121. This makes it possible to appropriately evaluate whether updates are being kept up to date based on the connector's usage history.

[0202] Note that the connectors 110a, 110b, etc. may include those provided by third parties other than the business providing the workflow control service 31 or the business providing the cloud service to be controlled. By using the evaluation process shown in Figures 21 to 26 above, it is possible to quantitatively evaluate the quality of even connectors provided by third parties from the perspective of operability and maintainability.

[0203] Next, the procedure for the connector presentation process for presenting a connector to a user will be described in detail. 27 is a flowchart showing an example of a procedure for connector presentation processing. The processing shown in FIG. 27 will be described below in order of step number.

[0204] [Step S171] The input accepting unit 140 accepts the selection of a cloud service to be controlled. For example, the input accepting unit 140 displays a connector type selection screen 51 on a user terminal (e.g., the user terminal 300b) of a user who is newly using the workflow control service 31. The input accepting unit 140 accepts the selection of a cloud service corresponding to a checked check box on the connector type selection screen 51.

[0205] [Step S172] The input accepting unit 140 accepts the selection of a quality requirement. For example, the input accepting unit 140 causes the user terminal 300b to display the quality requirement selection screen 52. The input accepting unit 140 accepts the selection of a quality requirement corresponding to a checked checkbox on the quality requirement selection screen 52.

[0206] [Step S173] The matching determination unit 150 evaluates whether the selected quality requirements match the performance values ​​stored in each evaluation table. For example, the matching determination unit 150 references the correspondence table 122 and extracts, from among the connectors 110a, 110b, ..., a connector that corresponds to the cloud service whose selection was accepted in step S171. The matching determination unit 150 evaluates, for each extracted connector, whether the performance value satisfies all of the quality requirements whose selection was accepted in step S172.

[0207] [Step S174] The matching determination unit 150 determines whether there is a connector whose performance value matches. For example, if there is a connector whose performance value is evaluated in step S173 as satisfying all of the quality requirements whose selection was accepted in step S172, the matching determination unit 150 determines that there is a connector whose performance value matches. If the matching determination unit 150 determines that there is a connector whose performance value matches, it proceeds to step S175. If the matching determination unit 150 determines that there is no connector whose performance value matches, it proceeds to step S176.

[0208] [Step S175] The matching connector display unit 160 displays information about connectors with matching performance values ​​in the upper section of the result presentation screen 53. For example, the matching connector display unit 160 displays the names of connectors with matching performance values ​​and the performance values ​​of each quality requirement in the upper section of the result presentation screen 53.

[0209] [Step S176] For connectors whose performance values ​​do not match, the matching determination unit 150 evaluates whether the selected quality requirements match the catalog specifications stored in each evaluation table. For example, for each connector whose performance values ​​are evaluated as not matching among the connectors extracted in step S173, the matching determination unit 150 evaluates whether the catalog specifications satisfy all of the quality requirements whose selection was accepted in step S172.

[0210] [Step S177] The matching determination unit 150 determines whether there is a connector whose catalog specifications match. For example, if there is a connector whose catalog specifications are evaluated in step S176 as satisfying all of the quality requirements whose selection was accepted in step S172, the matching determination unit 150 determines that there is a connector whose catalog specifications match. If the matching determination unit 150 determines that there is a connector whose catalog specifications match, it proceeds to step S178. If the matching determination unit 150 determines that there is no connector whose catalog specifications match, it proceeds to step S179.

[0211] [Step S178] The matching connector display unit 160 displays information about connectors whose catalog specifications match in the lower section of the result presentation screen 53. For example, the matching connector display unit 160 displays the names of connectors whose catalog specifications match and the performance values ​​of each quality requirement in the lower section of the result presentation screen 53.

[0212] [Step S179] The matching connector display unit 160 displays the result display screen 53 on the user terminal 300b. In this way, it is possible to present to the user, among the connectors 110a, 110b, etc., connectors that have a proven track record and meet the quality requirements desired by the user, thereby allowing the user to appropriately select the connector to use.

[0213] The control server 100 also presents to the user connectors that meet the quality requirements of the user but have no proven track record of use, and whose catalog specifications meet the quality requirements of the user. This makes it possible to present connectors that meet the quality requirements of the user but have no proven track record of use.

[0214] Although the embodiments have been described above, the configuration of each part shown in the embodiments can be replaced with other parts having similar functions. Any other components or processes may be added. Furthermore, any two or more configurations (features) of the above-described embodiments may be combined. [Explanation of symbols]

[0215] 1. Cloud services 2a, 2b, Control software 10 Evaluation equipment 11 Storage section 11a Execution log 12 Processing section

Claims

1. Accepting input of quality requirements for control software that controls execution of the cloud service in response to user input; Identifying the control software that has a usage history that meets the quality requirements based on an execution log that records the usage status of the control software; Displaying the identified control software. An evaluation program that causes a computer to execute a process.

2. Identifying the control software whose catalog specifications meet the quality requirements from among the control software that does not have a track record of use and meets the quality requirements; Displaying the identified control software. The evaluation program according to claim 1.

3. In the process of identifying the control software that has a usage history that meets the quality requirements, the number of parameters input when the control software controls the cloud service is counted based on the execution log; Identifying the control software whose number of parameters meets the quality requirements; The evaluation program according to claim 1.

4. In the process of identifying the control software that has a usage history that meets the quality requirements, the number of executions of the control of the cloud service that have been executed in parallel by the control software is counted based on the execution log; Identifying the control software whose execution count meets the quality requirements; The evaluation program according to claim 1.

5. In the process of identifying the control software that has a usage history that meets the quality requirements, a delay time when the control of the cloud service is executed in parallel by the control software is calculated based on the execution log; Identifying the control software whose delay time meets the quality requirement; The evaluation program according to claim 1.

6. In the process of identifying the control software that has a usage history that meets the quality requirements, a post-processing to be performed when control of the cloud service by the control software abnormally ends is identified based on the execution log; Identifying the control software in which the post-processing complies with the quality requirements; The evaluation program according to claim 1.

7. In the process of identifying the control software that has a usage history that meets the quality requirements, a type of log output function used by the control software when controlling the cloud service is identified based on the execution log; Identifying the control software whose type of log output function complies with the quality requirement; The evaluation program according to claim 1.

8. In the process of receiving the input of the quality requirement, an input of a completion waiting process for waiting for completion of each of a plurality of processes when the control software causes the cloud service to execute the plurality of processes is received as the quality requirement; In the process of identifying the control software having a usage history that meets the quality requirements, it is determined whether or not the control software has executed the completion waiting process based on the execution log; Identifying the control software for which the completion waiting process is being executed; The evaluation program according to claim 1.

9. The process of receiving input of the quality requirements includes receiving input of an execution status acquisition process of acquiring an execution status of a process that the control software has caused the cloud service to execute, as the quality requirements; In the process of identifying the control software having a usage history that meets the quality requirements, it is determined whether or not the control software has executed the execution status acquisition process based on the execution log; Identifying the control software that is executing the execution status acquisition process; The evaluation program according to claim 1.

10. In the process of receiving input of the quality requirement, an input of an error termination status acquisition process for acquiring a status when a process executed by the cloud service by the control software ends in an error is received as the quality requirement; In the process of identifying the control software having a usage history that meets the quality requirements, it is determined whether or not the control software has executed the error termination status acquisition process based on the execution log; Identifying the control software that has executed the error termination status acquisition process; The evaluation program according to claim 1.

11. In the process of accepting input of the quality requirement, an input of a forced termination process for forcibly terminating a process that the control software has caused the cloud service to execute is accepted as the quality requirement; In the process of identifying the control software having a usage history that meets the quality requirements, it is determined whether or not the control software has executed the forced termination process based on the execution log; Identifying the control software for which the forced termination process is to be executed; The evaluation program according to claim 1.

12. In the process of identifying the control software that has a usage history that meets the quality requirements, a version of the cloud service that can be controlled by the control software is identified based on the execution log; Identifying the control software such that the version of the cloud service that can be controlled complies with the quality requirements; The evaluation program according to claim 1.

13. Accepting input of quality requirements for control software that controls execution of the cloud service in response to user input; Identifying the control software that has a usage history that meets the quality requirements based on an execution log that records the usage status of the control software; Displaying the identified control software. An evaluation method in which processing is performed by a computer.

14. a storage unit that stores an execution log that records the usage of control software that controls the execution of cloud services in response to user input; a processing unit that receives an input of quality requirements for the control software, identifies the control software that has a usage history that meets the quality requirements based on the execution log, and displays the identified control software; An evaluation device having the following:

Citation Information

Patent Citations

  • Architecture for Enterprise Data Integration Systems

    JP2008511934A

  • Method and system for intentional computing

    JP2023109842A