WO2021229640A1 - 制御装置、制御方法、および制御プログラム - Google Patents

制御装置、制御方法、および制御プログラム Download PDF

Info

Publication number
WO2021229640A1
WO2021229640A1 PCT/JP2020/018821 JP2020018821W WO2021229640A1 WO 2021229640 A1 WO2021229640 A1 WO 2021229640A1 JP 2020018821 W JP2020018821 W JP 2020018821W WO 2021229640 A1 WO2021229640 A1 WO 2021229640A1
Authority
WO
WIPO (PCT)
Prior art keywords
workflow
aggregation
execution
aggregated
identifier
Prior art date
Application number
PCT/JP2020/018821
Other languages
English (en)
French (fr)
Inventor
侑一 須藤
愛子 尾居
亮介 佐藤
浩亮 坂田
求 中島
宜和 萩原
毅 古川
Original Assignee
日本電信電話株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to PCT/JP2020/018821 priority Critical patent/WO2021229640A1/ja
Priority to JP2022522100A priority patent/JP7393696B2/ja
Priority to US17/924,492 priority patent/US20230176904A1/en
Publication of WO2021229640A1 publication Critical patent/WO2021229640A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/40Business processes related to the transportation industry

Definitions

  • the present invention relates to a control device, a control method, and a control program.
  • a computer such as a workflow engine (WFE: WorkFlowEngine) attempts to deal with the failure according to a predetermined process, triggered by an alarm issued by the network device or a monitoring device that monitors the network device.
  • WFE WorkFlowEngine
  • the present invention has been made in view of the above circumstances, and an object of the present invention is to provide a technique capable of flexibly aggregating the processes of an executing workflow.
  • the process to be aggregated among the workflow processes in which the computer deals with the failure of the device, the process to be aggregated, the aggregation rule data associated with the aggregation condition specified from the workflow attribute, and the aggregation identifier are used.
  • a storage device that stores the aggregated data that associates the identifier of the workflow to be aggregated with the aggregated condition that associates the aggregated identifier with the aggregated condition specified from the attributes of the process to be aggregated and the workflow to be aggregated, and the aggregation rule data.
  • the computer uses the aggregation rule data and the aggregation identifier associating the aggregation target process among the workflow processes for dealing with the failure of the device and the aggregation condition specified from the workflow attribute.
  • the step of associating the specified workflow identifier with the aggregate identifier associated with the aggregate condition and the process of the computer waiting for the workflow associated with the aggregate identifier to be executed in the aggregated data are aggregated and executed. It has a step to output an instruction.
  • One aspect of the present invention is a control program that causes a computer to function as the control device.
  • FIG. 1 is a diagram illustrating a functional block of a control device according to an embodiment of the present invention.
  • FIG. 2 is a diagram illustrating an example of a data structure of workflow data.
  • FIG. 3 is a diagram illustrating an example of a data structure of aggregate rule data.
  • FIG. 4 is a diagram illustrating an example of a data structure of aggregated data.
  • FIG. 5 is a flowchart illustrating a specific process by the specific unit.
  • FIG. 6 is a flowchart illustrating the aggregation process by the aggregation unit.
  • FIG. 7 is a flowchart illustrating execution processing (tail aggregation) by the execution unit.
  • FIG. 8 is a flowchart illustrating execution processing (head aggregation) by the execution unit.
  • FIG. 1 is a diagram illustrating a functional block of a control device according to an embodiment of the present invention.
  • FIG. 2 is a diagram illustrating an example of a data structure of workflow data.
  • FIG. 3
  • FIG. 9 is a sequence diagram illustrating a process of performing tail aggregation (No. 1).
  • FIG. 10 is a sequence diagram illustrating a process of performing tail aggregation (No. 2).
  • FIG. 11 is a sequence diagram illustrating a process of performing head aggregation (No. 1).
  • FIG. 12 is a sequence diagram illustrating a process of performing head aggregation (No. 2).
  • FIG. 13 is a diagram illustrating a hardware configuration of a computer used in a control device.
  • the control device 1 is a computer that responds to a failure in the controlled device 2 according to a workflow composed of a plurality of steps.
  • a failure response check whether the failure is caused by past construction, refer to the information of the operation supporting system of the device, arrange the transportation of the spare machine, acquire the recovery information after restarting the device, etc. Including the process.
  • the content of the next process is determined based on the result of the previous process.
  • the control device 1 includes a control unit 11, an external information acquisition unit 12, a workflow data 13, an aggregation rule data 14, a specific unit 15, an aggregation unit 16, an aggregation data 17, and an execution unit 18.
  • the workflow data 13, the aggregation rule data 14, and the aggregation data 17 are data stored in the storage device (memory 902 or storage 903 in FIG. 13).
  • the control unit 11, the external information acquisition unit 12, the specific unit 15, the aggregation unit 16, and the execution unit 18 are functions in which the control program is implemented in the computer by the processing device (CPU901 in FIG. 13).
  • the control unit 11, the external information acquisition unit 12, and the workflow data 13 handle the failure of the controlled device 2 according to the workflow.
  • the workflow is predefined in data (not shown) that can be referred to by the control unit 11 and the like. Although only one control target device 2 is described in FIG. 1, the control device 1 may control a plurality of control target devices.
  • the workflow data 13 records the progress of the workflow currently being executed by the control unit 11. As shown in FIG. 2, the workflow data 13 holds an identifier of a workflow currently being executed, a process being executed, a progress of the workflow, and the like in association with each other. The workflow data 13 may further associate the identifier of the workflow currently being executed with the execution result of the process by the control unit 11.
  • the control unit 11 controls the execution of the workflow.
  • the control unit 11 executes a failure response according to a predefined workflow, triggered by an alarm generated in the controlled device 2.
  • the control unit 11 acquires the information of the control target device 2 and inputs an instruction to the control target device 2 via the external information acquisition unit 12.
  • a control unit 11 may be provided for each workflow being executed.
  • the control unit 11 executes the process according to the workflow, and implements the next process according to the execution result of the process.
  • the control unit 11 stores the execution result of each workflow in the workflow data 13.
  • control unit 11 waits for the execution of the next step when one step is completed.
  • the control unit 11 executes the next process or cancels the execution of the next process according to an instruction instructed by the specific unit 15, the aggregation unit 16, or the execution unit 18.
  • the aggregation rule data 14, the specific unit 15, the aggregation unit 16, the aggregation data 17, and the execution unit 18 specify the workflow that waits for the execution of the process that can be aggregated among the workflow data currently being executed, and the workflow that can be aggregated. Processes are aggregated and executed.
  • Aggregation rule data 14 defines a rule for specifying an aggregation target. As shown in FIG. 3, the aggregation rule data 14 sets the aggregation condition specified from the workflow target process among the workflow processes in which the computer (control unit 11) deals with the failure of the controlled device 2 and the workflow attributes. Correspond.
  • the process to be aggregated is one of the processes defined in the workflow.
  • the aggregation condition is the position, type, specific work to be performed in the process, etc. of the controlled target device corresponding to the failure of the workflow being executed.
  • the aggregation condition may be set in any way as long as the workflow to be aggregated can be specified. For example, when a specific building name is set as "A building”, the processes to be aggregated related to the A building are aggregated. For example, when an abstract position is set as "same building", the workflow associated with this aggregation rule first aggregates the specific building (building A, etc.) in which the controlled device 2 corresponding to the failure is located. The target process is aggregated. In the aggregation condition, any effective condition that can reduce the cost by aggregation is set.
  • the aggregation rule data 14 may be provided with a flag for distinguishing the end aggregation or the beginning aggregation as an execution rule.
  • End aggregation and top aggregation are methods of executing the processes of the aggregated workflow, respectively, and will be described in detail later.
  • the aggregated data 17 is an aggregated workflow and specifies a workflow that is currently waiting for execution. As shown in FIG. 4, the aggregated data 17 associates the aggregate identifier with the identifier of the workflow to be aggregated, and corresponds to the aggregate identifier with the aggregate condition specified from the attributes of the process to be aggregated and the workflow to be aggregated. Attach.
  • the aggregation condition a specific condition specified from the aggregated workflow, for example, "A building" or the like is set.
  • the workflow identifier to be aggregated is the identifier of the workflow to be aggregated associated with this aggregation identifier. If a new workflow that matches the aggregation conditions specified from this workflow and the process and attributes occurs while the workflow to be aggregated waits for execution, the identifier of the new workflow is added as the workflow identifier to be aggregated. NS.
  • the timer count is the count of the timer that collects the workflow to be aggregated.
  • the timer count may be a count-up method or a count-down method.
  • the waiting process of each workflow associated with the workflow identifier to be aggregated is aggregated and executed.
  • the data associated with the aggregate identifier may be deleted from the aggregated data 17.
  • the specifying unit 15 specifies a workflow that waits for execution of the process to be aggregated in the aggregation rule data 14. Among the workflows waiting for the execution of the next process, the specific unit 15 waits for the execution of the process to be aggregated, the workflow in which the next process matches the process to be aggregated and the aggregation condition of the aggregation rule data 14. Specify as.
  • the control unit 11 that controls the execution of the workflow waits before executing the next process after the execution of one process is completed.
  • the specific unit 15 acquires the next process and attributes for which the workflow waits from the control unit 11 for the workflow waiting for the execution of the next process.
  • the specific unit 15 determines whether or not the acquired processes and attributes match the processes and aggregation conditions to be aggregated in the aggregation rule data 14, and the matching workflow is used as a workflow for waiting for execution of the process to be aggregated. Identify.
  • the specific unit 15 may make an inquiry to the control unit 11 and acquire the next process and attribute in which the workflow waits as a response.
  • the control unit 11 may voluntarily notify the specific unit 15 of the next process and the attribute in which the workflow waits for the workflow in which the previous process is completed and the workflow is in the standby state of the next process.
  • the specific unit 15 may refer to the workflow data 13 and acquire the next process and attribute in which the workflow waits.
  • the specifying unit 15 notifies the aggregation unit 16 of the identifier of the workflow specified as the workflow waiting for the execution of the process to be aggregated. Further, the specifying unit 15 outputs an instruction to execute the next process when the next process is not the process to be aggregated for the workflow waiting for the execution of the next process.
  • the control unit 11 continues to wait for the next process to be executed for the workflow to be aggregated, while the control unit 11 executes the next process when receiving the instruction from the specific unit 15 for the workflow to be aggregated.
  • the specific unit 15 performs the processes of steps S11 to S14 for each workflow waiting for the execution of the next process.
  • step S11 the specific unit 15 determines whether or not the workflow to be processed is the aggregation target.
  • the specific unit 15 compares the workflow to be processed with the aggregation rule data 14.
  • the specifying unit 15 identifies the workflow to be processed as the workflow to be aggregated in step S12, and further waits for the workflow to be processed to execute the next process in step S13. To instruct.
  • the specific unit 15 instructs the workflow to be processed to execute the next process in step S14.
  • the aggregation unit 16 aggregates the workflow to be aggregated specified by the specific unit 15. If the attributes of the workflow to be aggregated specified by the specific unit 15 are already defined in the aggregate data 17, the aggregate unit 16 identifies the process in which the specified workflow waits for execution in the aggregate data 17.
  • the specified workflow identifier is associated with the aggregate identifier associated with the aggregate condition specified from the workflow attributes.
  • the aggregate unit 16 is specified by the specific unit 15 in the newly assigned aggregation identifier. Associate the aggregation condition specified from the identifier of the workflow to be aggregated, the waiting process and its attributes. Further, the aggregation unit 16 associates the newly activated identifier with the newly assigned identifier.
  • the aggregation unit 16 performs the processing of steps S31 to S34 for each workflow of the aggregation target specified by the specific unit 15.
  • step S31 the aggregation unit 16 determines whether or not there is an aggregation identifier in which the process and attribute of the workflow to be processed match the process and aggregation condition to be aggregated in the aggregation data 17.
  • step S33 the aggregate unit 16 associates the new aggregate identifier with the process and aggregate condition specified from the workflow to be processed. , The aggregate data 17 is updated by associating the identifier of the workflow to be processed.
  • step S34 the aggregation unit 16 activates a timer corresponding to the new aggregation identifier, and updates the aggregation data 17 by associating the timer count with the new aggregation identifier.
  • the aggregation unit 16 ends the processing.
  • the execution unit 18 executes it only once. For example, even if each workflow to be aggregated instructs one device to restart in the next step in standby, the execution unit 18 gives an instruction to restart to that one device once. Further, in the next step of waiting, when each workflow to be aggregated acquires predetermined information from one device, the execution unit 18 acquires the information from the device and applies the acquired information to each workflow. offer.
  • the execution unit 18 itself may execute the process in which each workflow waits for execution. Alternatively, the execution unit 18 may cause the control unit 11 to execute the workflow waiting for execution. Specifically, in the aggregated data 17, the execution unit 18 inputs to the control unit 11 for any of the workflows associated with the aggregate identifiers an instruction to aggregate and execute the steps in which the workflow waits for execution. At this time, the execution unit 18 outputs an instruction to cancel the execution to the control unit 11 for the workflow other than the workflow in which the instruction is input among the workflows associated with the aggregation identifier. The execution unit 18 selects a workflow for which execution is instructed from a plurality of workflows associated with the aggregate identifier to be executed, and instructs the control unit 11 to execute the next process for the selected workflow. The execution unit 18 instructs the control unit 11 to cancel the execution of the next process for other workflows that have not been selected.
  • the execution unit 18 outputs an instruction to aggregate and execute the workflow of the aggregation target associated with the aggregation identifier by the time the timer held by the aggregation data 17 expires. Specifically, the execution unit 18 gives an instruction to collectively execute the process in which the workflow associated with the aggregate identifier waits for execution in the aggregated data 17 until the timer for specifying the timing to execute the process expires. Output.
  • the timer is activated when a new aggregate identifier is assigned
  • a timer may be started periodically for each aggregation rule and aggregation condition, and the aggregated workflows may be aggregated and processed until the timer expires.
  • the case where the timer is provided for each aggregate identifier will be described, but a timer common to the aggregate identifier, such as every minute or 10 seconds, may be used.
  • tail aggregation and top aggregation as timings for executing the next process in which the workflow to be aggregated is waiting.
  • End aggregation means to aggregate and execute after the timer expires.
  • the tail-aggregation is suitable when the process of waiting for execution relates to an operation on another device.
  • the execution unit 18 outputs an instruction to aggregate and execute operations for other devices executed by each workflow associated with the aggregation identifier.
  • the execution unit 18 reserves the control unit 11 for each workflow associated with the aggregation identifier by the time the timer expires by the tail aggregation. Outputs an instruction to collectively execute the contents of the machine transportation arrangement. Costs can be reduced because the contents of multiple spare machine transportation arrangements can be executed together.
  • the execution unit 18 can be collectively executed by the tail aggregation, so that the cost can be reduced. Further, since the execution unit 18 can secure the time required for restarting the device and acquire the recovery information, it is possible to reduce the cost without repeating the acquisition of the recovery information while waiting for the restart.
  • the execution unit 18 After acquiring the recovery information, the execution unit 18 provides the control unit 11 with recovery information for each workflow associated with the aggregate identifier by the time the timer expires, and the control unit 11 provides the provided recovery information. According to the above, the next step is further executed.
  • the execution unit 18 when executing in any of the workflows associated with the aggregation target, it is preferable to execute the workflow in the workflow associated with the aggregation target immediately before the timer expires. Specifically, the execution unit 18 outputs an instruction to wait for execution to the control unit 11 for the workflow associated with the aggregation target first. After that, when a workflow newly associated with the aggregation target occurs, the execution unit 18 instructs the control unit 11 to cancel the execution of the waiting workflow associated with the aggregation target first. This process is repeated, and after the timer expires, an instruction to aggregate and execute the next process is input to the control unit 11 for the workflow associated with the aggregation target at the end. In this way, in the tail aggregation, it is possible to reduce the time for the control unit 11 to wait for the execution instruction from the execution unit 18 for each workflow.
  • the execution process by the execution unit 18 will be described with reference to FIG. 7.
  • the next step in standby is an operation for another device, and the execution unit 18 outputs an instruction to be executed in the workflow most recently associated with the tail aggregation.
  • the execution unit 18 performs the processes of steps S51 and S52 for each aggregation target identifier to be executed at the end when the timer expires.
  • step S51 the execution unit 18 instructs the control unit 11 to execute the next process for the workflow most recently associated with the aggregation target identifier of the processing target.
  • step S52 the execution unit 18 acquires an execution result from the workflow instructing the execution of the next step.
  • step S53 the execution unit 18 tells the control unit 11 to execute the next process for the workflow excluding the workflow in which the execution of the next process is instructed in step S51 among the workflows associated with the aggregation target identifier of the processing target. Instruct to cancel.
  • step S54 the execution unit 18 provides the execution result of the next step acquired in step S52 to each workflow instructed to cancel the execution of the next step in step S53.
  • the process shown in FIG. 7 is an example and is not limited to this.
  • the execution unit 18 instructs to cancel the execution of the next process, but every time a new workflow to be aggregated occurs, the workflow to be aggregated before that is used. , You may instruct to cancel the execution of the next step.
  • the execution unit 18 may provide the execution result to each workflow after acquiring the execution result of the next step, and is not limited to the processing order shown in FIG. 7.
  • the head aggregation is executed when the timer is started, and means that each workflow to be aggregated will execute the next waiting process by the time the timer expires.
  • the process of waiting for execution is suitable when it is related to information reference.
  • the execution unit 18 outputs an instruction to acquire information after the timer is activated, and outputs an instruction to provide information to the control unit 11 for each workflow associated with the aggregation identifier.
  • the execution unit 18 causes the control unit 11 that controls the workflow associated as the aggregation target immediately after the timer is activated to refer to the information of the other device, so that even if the subsequent similar workflow occurs, the destination is the first. You can share the information referenced in. As a result, the control unit 11 can immediately acquire the necessary information for each workflow, so that the next step can be executed more quickly.
  • the execution process by the execution unit 18 will be described with reference to FIG.
  • the next step in standby is a reference to information of another device, and the execution unit 18 outputs an instruction to be executed in the workflow first associated with the head aggregation.
  • the execution unit 18 performs the processing of steps S71 to S73 for each aggregation target identifier for which the timer expires and the head aggregation is performed.
  • step S73 the execution unit 18 provides the control unit 11 with the information acquired in step S72 for the workflow excluding the workflow in which the instruction to be referred is input among the workflows associated with the aggregation target identifier of the processing target.
  • step S106 Before the timer started in step S106 expires, the specific unit 15 inquires of the control unit 11b that controls the WFB in step S151 about the waiting process. In step S152, the execution unit 18 acquires the process “spare machine transportation arrangement” and the attributes of the WFB from the control unit 11b.
  • step S153 the specific unit 15 determines that the process "preliminary machine transportation arrangement" is the process to be aggregated.
  • the specific unit 15 notifies the control unit 11b to wait for the execution of the next step.
  • step S155 the specific unit 15 notifies the aggregation unit 16 of the WF as the WF to be aggregated.
  • step S156 the aggregation unit 16 associates the summarization target identifier numbered in step S106 with the WFB identifier as the summarization target WF identifier.
  • step S157 the execution unit 18 instructs the control unit 11a that controls the WFA to cancel the execution of the next step.
  • step S158 the control unit 11a cancels the execution of the next step.
  • step S159 when the timer started in step S107 expires, the execution unit 18 instructs the execution of the next step in step S160.
  • the control unit 11b that controls the WFB in step S161 executes the next step, “arrangement for transporting the spare machine”. At this time, the control unit 11b may also merge the arrangement contents of the WFA "spare machine transportation arrangement” and change the arrangement contents.
  • the execution unit 18 acquires the execution result of the "spare machine transportation arrangement" from the control unit 11b, and provides the execution result of the "spare machine transportation arrangement" to the control unit 11b that controls the WFA that has canceled the execution of the next process. You may.
  • FIGS. 9 and 10 are examples, and are not limited to these.
  • step S203 the specific unit 15 determines that the process "acquisition of construction information of device ⁇ " is the process to be aggregated at the head.
  • step S204 the specific unit 15 notifies the aggregation unit 16 of the WFA as the WF to be aggregated.
  • the control device 1 may be mounted on one computer or may be mounted on a plurality of computers. Further, the control device 1 may be a virtual machine mounted on a computer.
  • the control program for realizing the control device 1 can be stored in a computer-readable recording medium such as an HDD, SSD, USB (Universal Serial Bus) memory, CD (Compact Disc), or DVD (Digital Versatile Disc). It can also be delivered over the network.
  • a computer-readable recording medium such as an HDD, SSD, USB (Universal Serial Bus) memory, CD (Compact Disc), or DVD (Digital Versatile Disc). It can also be delivered over the network.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

制御装置1は、装置の故障にコンピュータが対処するワークフローの工程のうち集約対象の工程、およびワークフローの属性から特定される集約条件を対応づける集約ルールデータ14と、集約識別子に、集約対象のワークフローの識別子を対応づけるとともに、集約識別子に、集約対象の工程および集約対象のワークフローの属性から特定された集約条件を対応づける集約データ17と、を記憶する記憶装置と、集約ルールデータの集約対象の工程の実行を待機するワークフローを特定する特定部15と、集約データ17において、特定されたワークフローが実行を待機する工程および特定されたワークフローの属性から特定される集約条件に対応づけられた集約識別子に、特定されたワークフローの識別子を対応づける集約部16と、集約データ17において集約識別子に対応づけられたワークフローが実行を待機する工程を、集約して実行する指示を出力する実行部18とを備える。

Description

制御装置、制御方法、および制御プログラム
 本発明は、制御装置、制御方法、および制御プログラムに関する。
 ネットワーク装置の故障対応において、ワークフローエンジン(WFE:WorkFlow Engine)などのコンピュータが、ネットワーク装置またはネットワーク装置を監視する監視装置が発したアラームをトリガに、予め決められた工程に従って、故障に対応する試みがある。
 例えばWebフロントエンドにより実行前のワークフロー定義に基づき、実行中のワークフローに対し中断・停止し、情報の入力を受けて動作を再開する等の操作が可能なシステムがある(非特許文献1参照)。
Stack Storm、"StackStorm Overview"、[online]、[令和2年4月20日検索]、インターネット〈URL:https://docs.stackstorm.com/overview.html〉
 非特許文献1に記載の方法は、実行前のワークフロー定義に基づいてワークフローを操作するものであり、実行前のワークフローの工程の進行を制御するものに過ぎない。従って非特許文献1に記載の方法は、実行中のワークフローを比較して、工程を柔軟に集約することができない。
 本発明は、上記事情に鑑みてなされたものであり、本発明の目的は、実行中のワークフローの工程を柔軟に集約可能な技術を提供することである。
 本発明の一態様の制御装置は、装置の故障にコンピュータが対処するワークフローの工程のうち集約対象の工程、およびワークフローの属性から特定される集約条件を対応づける集約ルールデータと、集約識別子に、集約対象のワークフローの識別子を対応づけるとともに、集約識別子に、集約対象の工程および集約対象のワークフローの属性から特定された集約条件を対応づける集約データと、を記憶する記憶装置と、集約ルールデータの集約対象の工程の実行を待機するワークフローを特定する特定部と、集約データにおいて、特定されたワークフローが実行を待機する工程および特定されたワークフローの属性から特定される集約条件に対応づけられた集約識別子に、特定されたワークフローの識別子を対応づける集約部と、集約データにおいて集約識別子に対応づけられたワークフローが実行を待機する工程を、集約して実行する指示を出力する実行部を備える。
 本発明の一態様の制御方法は、コンピュータが、装置の故障に対処するワークフローの工程のうち集約対象の工程、およびワークフローの属性から特定される集約条件を対応づける集約ルールデータと、集約識別子に、集約対象のワークフローの識別子を対応づけるとともに、集約識別子に、集約対象の工程および集約対象のワークフローの属性から特定された集約条件を対応づける集約データとを、記憶装置に記憶するステップと、コンピュータが、集約ルールデータの集約対象の工程の実行を待機するワークフローを特定するステップと、コンピュータが、集約データにおいて、特定されたワークフローが実行を待機する工程および特定されたワークフローの属性から特定される集約条件に対応づけられた集約識別子に、特定されたワークフローの識別子を対応づけるステップと、コンピュータが、集約データにおいて集約識別子に対応づけられたワークフローが実行を待機する工程を、集約して実行する指示を出力するステップを備える。
 本発明の一態様は、上記制御装置として、コンピュータを機能させる制御プログラムである。
 本発明によれば、実行中のワークフローの工程を柔軟に集約可能な技術を提供することができる。
図1は、本発明の実施形態に係る制御装置の機能ブロックを説明する図である。 図2は、ワークフローデータのデータ構造の一例を説明する図である。 図3は、集約ルールデータのデータ構造の一例を説明する図である。 図4は、集約データのデータ構造の一例を説明する図である。 図5は、特定部による特定処理を説明するフローチャートである。 図6は、集約部による集約処理を説明するフローチャートである。 図7は、実行部による実行処理(末尾集約)を説明するフローチャートである。 図8は、実行部による実行処理(先頭集約)を説明するフローチャートである。 図9は、末尾集約を行う処理を説明するシーケンス図である(その1)。 図10は、末尾集約を行う処理を説明するシーケンス図である(その2)。 図11は、先頭集約を行う処理を説明するシーケンス図である(その1)。 図12は、先頭集約を行う処理を説明するシーケンス図である(その2)。 図13は、制御装置に用いられるコンピュータのハードウエア構成を説明する図である。
 以下、図面を参照して、本発明の実施形態を説明する。図面の記載において同一部分には同一符号を付し説明を省略する。
 (制御装置)
 図1を参照して本発明の実施の形態に係る制御装置1を説明する。制御装置1は、制御対象装置2における故障に、複数の工程で構成されるワークフローに従って対応するコンピュータである。ワークフローでは、故障対応として、過去の工事に起因する故障であるか否かの確認、装置のオペレーションサポーティングシステムの情報の参照、予備機運搬手配、装置を再起動した後の回復情報取得などを行う工程を含む。ワークフローにおいては、前工程の結果に基づいて、次工程の内容が決定される。
 制御装置1は、制御部11、外部情報取得部12、ワークフローデータ13、集約ルールデータ14、特定部15、集約部16、集約データ17および実行部18を備える。ワークフローデータ13、集約ルールデータ14および集約データ17は、記憶装置(図13のメモリ902またはストレージ903)に記憶されるデータである。制御部11、外部情報取得部12、特定部15、集約部16および実行部18は、制御プログラムを処理装置(図13のCPU901)によってコンピュータに実装される機能である。
 制御部11、外部情報取得部12およびワークフローデータ13は、ワークフローに従って制御対象装置2の故障対応を行う。ワークフローは、制御部11等が参照可能なデータ(図示せず)において予め定義される。図1において1つの制御対象装置2のみを記載するが、制御装置1は、複数の制御対象装置を制御しても良い。
 ワークフローデータ13は、制御部11が現在実行中のワークフローの進捗を記録する。ワークフローデータ13は、図2に示すように、現在実行中のワークフローの識別子、実行中の工程、およびそのワークフローの進捗などを対応づけて保持する。ワークフローデータ13は、現在実行中のワークフローの識別子にさらに、制御部11による工程の実行結果などを対応づけても良い。
 制御部11は、ワークフローの実行を制御する。制御部11は、制御対象装置2において発生したアラームを契機に、予め定義されたワークフローに従って故障対応を実行する。制御部11は、外部情報取得部12を介して、制御対象装置2の情報を取得したり、制御対象装置2に指示を入力したりする。実行中のワークフロー毎に、制御部11が設けられても良い。制御部11は、ワークフローに従って工程を実施し、その工程の実施結果に従って次の工程を実施する。制御部11は、各ワークフローの実行結果を、ワークフローデータ13に記憶する。
 本発明の実施の形態において制御部11は、一つの工程が終了すると、次の工程の実行を待機する。制御部11は、特定部15、集約部16または実行部18から指示の指示に従って、次の工程を実行したり、次の工程の実行をキャンセルしたりする。
 外部情報取得部12は制御装置1が制御対象装置2に接続するインタフェースである。外部情報取得部12は、制御部11からの指示に従って、制御対象装置2の情報を取得したり、制御対象装置2に指示を入力したりする。
 集約ルールデータ14、特定部15、集約部16、集約データ17および実行部18は、現在実行中のワークフローデータのうち、集約可能な工程の実行を待機するワークフローを特定して、集約可能なワークフローの工程を集約して実行する。
 集約ルールデータ14は、集約対象を特定するためのルールを定義する。集約ルールデータ14は、図3に示すように、制御対象装置2の故障にコンピュータ(制御部11)が対処するワークフローの工程のうち集約対象の工程、およびワークフローの属性から特定される集約条件を対応づける。集約対象の工程は、ワークフローで定義される工程のいずれかである。
 集約条件は、実行中のワークフローが故障対応する制御対象装置の位置、種別、工程で行う具体的な作業等である。集約条件は、集約対象のワークフローを特定可能であれば、どのように設定されても良い。例えば、「Aビル」と具体的なビル名が設定される場合、Aビルに関する集約対象の工程が集約される。例えば、「同一ビル」と抽象的な位置が設定される場合、この集約ルールに最初に対応づけられたワークフローが故障対応する制御対象装置2が位置する具体的なビル(Aビルなど)に関する集約対象の工程が集約される。集約条件に、集約することでコスト削減が可能などの効果のある条件が設定される。
 図3に示すように、集約ルールデータ14に、実行ルールとして、末尾集約または先頭集約を区別するフラグが設けられても良い。末尾集約および先頭集約は、それぞれ集約されたワークフローの工程を実行する方法であって、後に詳述する。
 集約データ17は、集約されたワークフローであって、現在実行を待機するワークフローを特定する。集約データ17は、図4に示すように、集約識別子に、集約対象のワークフローの識別子を対応づけるとともに、集約識別子に、集約対象の工程および集約対象のワークフローの属性から特定された集約条件を対応づける。ここで集約条件には、集約されたワークフローから特定される具体的な条件、例えば、「Aビル」などが設定される。
 集約対象のワークフロー識別子は、この集約識別子に対応づけられた集約対象のワークフローの識別子である。集約対象のワークフローが実行を待機する間に、このワークフローと工程および属性から特定された集約条件が一致する新たなワークフローが発生すると、その新たなワークフローの識別子が、集約対象のワークフロー識別子として追加される。
 タイマーカウントは、集約対象のワークフローを収集するタイマーのカウントである。タイマーカウントは、カウントアップ方式でも良いしカウントダウン方式でも良い。タイマーが満了すると、集約対象のワークフロー識別子として対応づけられた各ワークフローの待機中の工程が、集約され実行される。
 タイマーカウントが満了し、集約識別子に対応づけられた集約対象のワークフローについて処理がなされると、集約データ17から、その集約識別子に対応づけられたデータが削除されても良い。
 特定部15は、集約ルールデータ14の集約対象の工程の実行を待機するワークフローを特定する。特定部15は、次の工程の実行を待機するワークフローのうち、次の工程が、集約ルールデータ14の集約対象の工程および集約条件に一致するワークフローを、集約対象の工程の実行を待機するワークフローとして特定する。
 本発明の実施の形態においてワークフローの実行を制御する制御部11は、一つの工程の実行が終了すると、次の工程を実行する前に待機する。特定部15は、次の工程の実行を待機するワークフローについて、制御部11から、ワークフローが待機する次の工程および属性を取得する。特定部15は、取得した工程および属性が、集約ルールデータ14の集約対象の工程および集約条件に合致するか否かを判定し、合致するワークフローを、集約対象の工程の実行を待機するワークフローとして特定する。
 特定部15が、ワークフローが待機する次の工程および属性を取得する方法はいくつか考えられる。例えば特定部15は、制御部11に問い合わせ、そのレスポンスとしてワークフローが待機する次の工程および属性を取得しても良い。あるいは、前の工程が終了し次の工程の待機状態となったワークフローについて制御部11が、特定部15にワークフローが待機する次の工程および属性を自発的に通知しても良い。また、特定部15が、ワークフローデータ13を参照して、ワークフローが待機する次の工程および属性を取得しても良い。
 特定部15は、集約部16に、集約対象の工程の実行を待機するワークフローとして特定されたワークフローの識別子を、通知する。また特定部15は、次の工程の実行を待機するワークフローについて、次の工程が集約対象の工程でない場合、次の工程を実行する指示を出力する。集約対象となるワークフローについて制御部11は、引き続き次の工程の実施を待機する一方、集約対象とならないワークフローについて制御部11は、特定部15からの指示を受領すると、次の工程を実施する。
 図5を参照して、特定部15による特定処理を説明する。
 特定部15は、次の工程の実行を待機中の各ワークフローについて、ステップS11ないしステップS14の処理を行う。
 まずステップS11において特定部15は、処理対象のワークフローが、集約対象であるか否かを判定する。特定部15は、処理対象のワークフローと、集約ルールデータ14をと比較する。
 集約対象であると判定された場合、特定部15は、ステップS12において、処理対象のワークフローを、集約対象のワークフローとして特定し、ステップS13において、処理対象のワークフローに次の工程の実行のさらなる待機を指示する。
 集約対象でないと判定された場合、ステップS14において特定部15は、処理対象のワークフローに次の工程の実行を指示する。
 次の工程の実行を待機中の各ワークフローについて、ステップS11ないしステップS14の処理が終了すると、特定部15は処理を終了する。
 なお図5に示す処理は一例で、これに限らない。
 集約部16は、特定部15によって特定された集約対象のワークフローを、集約する。特定部15によって特定された集約対象のワークフローの属性について、集約データ17で既に定義されている場合、集約部16は、集約データ17において、特定されたワークフローが実行を待機する工程および特定されたワークフローの属性から特定される集約条件に対応づけられた集約識別子に、特定されたワークフローの識別子を対応づける。
 特定部15によって特定された集約対象のワークフローの工程および属性について、集約データ17で既に定義されていない場合、集約部16は、新たに採番された集約識別子に、特定部15によって特定された集約対象のワークフローの識別子、待機中の工程およびその属性から特定される集約条件を対応づける。さらに集約部16は、新たに採番された識別子に、新たに起動したタイマーカウントを対応づける。
 図6を参照して、集約部16による集約処理を説明する。
 集約部16は、特定部15によって特定された集約対象の各ワークフローについて、ステップS31ないしステップS34の処理を行う。
 まずステップS31において集約部16は、処理対象のワークフローの工程および属性が、集約データ17の集約対象の工程および集約条件に一致する集約識別子があるか否かを判定する。
 集約データ17に、処理対象の工程および属性に一致する集約識別子がある場合、ステップS32において集約部16は、処理対象のワークフローの工程および属性が一致する集約識別子に、集約対象のワークフローの識別子として処理対象のワークフローの識別子を対応づける。
 集約データ17に、処理対象の工程および属性に一致する集約識別子がない場合、ステップS33において集約部16は、新たな集約識別子に、処理対象のワークフローから特定された工程および集約条件を対応づけるとともに、処理対象のワークフローの識別子を対応づけて、集約データ17を更新する。ステップS34において集約部16は、新たな集約識別子に対応するタイマーを起動し、そのタイマーカウントを、新たな集約識別子に対応づけて集約データ17を更新する。
 集約対象の各ワークフローについて、ステップS31ないしステップS34の処理が終了すると、集約部16は処理を終了する。
 なお図6に示す処理は一例で、これに限らない。
 実行部18は、集約データ17において集約識別子に対応づけられたワークフローが実行を待機する工程を、集約して実行する指示を出力する。ここで集約して実行するとは、集約対象の各ワークフローが待機中の次の工程を全て実行できるように、実行内容をまとめて実行することである。例えば、集約対象の各ワークフローがそれぞれ異なる装置に指示する場合、実行部18は、各ワークフローに代わって、指示対象の各装置に対する指示をまとめて、指示する。
 待機中の次の工程で一度実行すれば良い場合、実行部18は、一度だけ実行する。例えば、待機中の次の工程で、集約対象の各ワークフローが一つの装置に対して再起動を指示する場合でも、実行部18は、その一つの装置に対して再起動の指示を一度行う。また待機中の次の工程で、集約対象の各ワークフローが、一つの装置から所定の情報を取得する場合、実行部18は、その装置からその情報を取得し、各ワークフローに、取得した情報を提供する。
 実行部18自身が、各ワークフローが実行を待機する工程を、実行しても良い。あるいは実行部18は、実行を待機するワークフローについて制御部11に実行させても良い。具体的には、実行部18は、集約データ17において、集約識別子に対応づけられたいずれかのワークフローについて制御部11に、ワークフローが実行を待機する工程を集約して実行する指示を入力する。このとき実行部18は、集約識別子に対応づけられたワークフローのうち、指示を入力したワークフロー以外のワークフローについて制御部11に、実行をキャンセルする指示を出力する。実行部18は、実行対象の集約識別子に対応づけられた複数のワークフローから、実行を指示するワークフローを選択し、選択されたワークフローについて制御部11に、次の工程の実行を指示する。実行部18は、選択されなかったそのほかのワークフローについて制御部11に、次の工程の実行のキャンセルを指示する。
 実行部18は、集約データ17が保持するタイマーが満了するまでに集約識別子に対応づけられた集約対象のワークフローを、集約して実行する指示を出力する。具体的には実行部18は、工程を実行するタイミングを特定するタイマーが満了するまでに集約データ17において集約識別子に対応づけられたワークフローが実行を待機する工程を、集約して実行する指示を出力する。
 本発明の実施の形態において、新たに集約識別子が採番された際にタイマーを起動する場合を説明するがこれに限らない。例えば集約ルールおよび集約条件毎に、定期的にタイマーを起動し、そのタイマーが満了するまでに集約されたワークフローを集約して処理しても良い。また本発明の実施の形態においてタイマーは、各集約識別子に設けられる場合を説明するが、毎分、10秒おきなど、集約識別子に共通するタイマーを用いても良い。
 集約対象のワークフローが待機中の次の工程を実行するタイミングとして、本発明の実施の形態において末尾集約と先頭集約がある。
 末尾集約は、タイマーが満了した後に集約して実行することを意味する。末尾集約は、実行を待機する工程が、他の装置に対する操作に関する場合に好適である。末尾集約において実行部18は、タイマーが満了した後、集約識別子に対応づけられた各ワークフローが実行する他の装置に対する操作を、集約して実行する指示を出力する。
 例えば、待機中の次の工程が、「予備機運搬手配の場合」、実行部18は、末尾集約により、タイマーが満了するまでに集約識別子に対応づけられた各ワークフローについて制御部11に、予備機運搬手配の内容をまとめて実行する指示を出力する。複数の予備機運搬手配の内容をまとめて実行できるので、コストを削減できる。
 また、待機中の次の工程が、「装置を再起動した後の回復情報取得」に関する場合、実行部18は、末尾集約により、まとめて実行できることでコストを削減できる。さらに実行部18は、装置の再起動に要する時間を確保して回復情報を取得することが可能になるので、再起動待ちで回復情報の取得を繰り返すことがなく、コストを削減できる。なお実行部18は、回復情報を取得した後、タイマーが満了するまでに集約識別子に対応づけられた各ワークフローについて制御部11に、回復情報を提供し、制御部11は、提供された回復情報に従って、さらにその次の工程を実行する。
 末尾集約において、集約対象として対応づけられたワークフローのいずれかに実行させる場合、タイマーが満了する直前に集約対象として対応づけられたワークフローに、実行させることが好ましい。具体的には、実行部18は、最初に集約対象として対応づけられたワークフローについて制御部11に、実行を待機する指示を出力する。その後、新たに集約対象として対応づけられたワークフローが発生すると、実行部18は、最初に集約対象として対応づけられた待機中のワークフローについて制御部11に、実行のキャンセルを指示する。この処理を繰り返し、タイマーが満了した後、最後に集約対象として対応づけられたワークフローについて制御部11に、次の工程を集約して実行する指示を入力する。このように末尾集約において、各ワークフローについて制御部11が、実行部18からの実行の指示を待つ時間を減らすことが可能になる。
 図7を参照して、実行部18による実行処理を説明する。ここでは、待機中の次の工程が、他の装置に対する操作であって、実行部18が、末尾集約により直近で対応づけられたワークフローに実行する指示を出力する場合を説明する。
 実行部18は、タイマーが満了し、末尾実行を行う各集約対象識別子について、ステップS51およびステップS52の処理を行う。
 ステップS51において実行部18は、処理対象の集約対象識別子に直近で対応づけられたワークフローについて制御部11に、次の工程の実行を指示する。ステップS52において実行部18は、次の工程の実行を指示したワークフローから、実行結果を取得する。
 ステップS53において実行部18は、処理対象の集約対象識別子に対応づけられたワークフローのうち、ステップS51で次の工程の実行を指示したワークフローを除くワークフローについて制御部11に、次の工程の実行のキャンセルを指示する。ステップS54において実行部18は、ステップS53において次の工程の実行のキャンセルを指示した各ワークフローに、ステップS52で取得した次の工程の実行結果を提供する。
 タイマーが満了した各集約対象識別子について、ステップS51ないしステップS54の処理が終了すると、集約部16は処理を終了する。
 なお図7に示す処理は一例で、これに限らない。図7に示す例において実行部18は、タイマーが満了した際に、次の工程の実行のキャンセルを指示するが、新たな集約対象のワークフローが発生する度に、その前の集約対象のワークフローに、次の工程の実行のキャンセルを指示しても良い。また図7に示す例において実行部18は、次の工程の実行結果を取得してから、各ワークフローに実行結果を提供すればよく、図7に示す処理順序に限定するものではない。
 先頭集約は、タイマーが起動した際に実行して、タイマーが満了するまでに、集約対象の各ワークフローが待機中の次の工程を実行することになることを意味する。先頭集約において、実行を待機する工程が、情報の参照に関する場合に好適である。先頭集約において実行部18は、タイマーが起動した後、情報を取得する指示を出力し、集約識別子に対応づけられた各ワークフローについて制御部11に、情報を提供する指示を出力する。
 先頭集約において、集約対象として対応づけられたワークフローのいずれかに実行させる場合、タイマーが起動した直後に集約対象として対応づけられたワークフローに、実行させることが好ましい。実行部18は、タイマーが起動した直後に集約対象として対応づけられたワークフローを制御する制御部11に、他の装置の情報を参照させることにより、後続の同様のワークフローが発生したとしても、先に参照された情報を共有することができる。これにより、各ワークフローについて制御部11が、即座に必要な情報を取得することができるので、さらにその次の工程を早々に実行することが可能になる。
 図8を参照して、実行部18による実行処理を説明する。ここでは、待機中の次の工程が、他の装置の情報の参照であって、実行部18が、先頭集約により最初に対応づけられたワークフローに実行する指示を出力する場合を説明する。
 実行部18は、タイマーが満了し先頭集約を行う各集約対象識別子について、ステップS71ないしステップS73の処理を行う。
 ステップS71において実行部18は、処理対象の集約対象識別子に最初に対応づけられたワークフローについて制御部11に、次の工程の実行を指示する。
 ステップS72において実行部18は、処理対象の集約対象識別子に最初に対応づけられたワークフローについて制御部11が参照した情報を取得する。
 ステップS73において実行部18は、処理対象の集約対象識別子に対応づけられたワークフローのうち、参照する指示を入力したワークフローを除くワークフローについて制御部11に、ステップS72で取得した情報を提供する。
 タイマーが満了した各集約対象識別子について、ステップS71ないしステップS73の処理が終了すると、集約部16は処理を終了する。
 なお図8に示す処理は一例で、これに限らない。図8に示す例において実行部18は、新たな集約対象のワークフローが発生する度に、ステップS73の処理を実行しても良い。
 (制御装置による末尾集約の処理)
 図9および図10の各シーケンス図を参照して、末尾集約を行う処理を説明する。便宜上、制御部11を、ワークフローA(WFA)を実行する制御部11aと、ワークフローB(WFB)を実行する制御部11bに分けて記載する。なお、WFAとWFBは、それぞれ、同じ工程「予備機運搬手配」の実行を待機し、集約ルールデータ14において集約対象の工程「予備機運搬手配」に対応づけられる集約条件に合致するとする。
 まず特定部15は、ステップS101においてWFAを制御する制御部11aに待機中の工程を問い合わせる。ステップS102において特定部15は、制御部11aから、工程「予備機運搬手配」とWFAの属性を取得する。
 ステップS103において特定部15は、工程「予備機運搬手配」が、末尾集約の集約対象の工程と判定する。ステップS104において特定部15は、次の工程の実行を待機するように、制御部11aに通知する。ステップS105において特定部15は、WFAを集約対象のWFとして集約部16に通知する。
 ステップS106において集約部16は、新たな集約対象識別子を採番し、集約データ17において、新たな集約対象識別子に、集約対象のWFの識別子としてWFAの識別子を対応づける。ここでさらに特定部15は、集約対象の工程および集約条件として、WFAの属性から特定される値を設定する。またステップS107において集約部16は、ステップS106で採番した新たな集約対象識別子に対応づけられるタイマーを起動する。
 ステップS106で起動したタイマーが満了する前に、特定部15は、ステップS151においてWFBを制御する制御部11bに待機中の工程を問い合わせる。ステップS152において実行部18は、制御部11bから、工程「予備機運搬手配」とWFBの属性を取得する。
 ステップS153において特定部15は、工程「予備機運搬手配」が集約対象の工程と判定する。ステップS154において特定部15は、次の工程の実行を待機するように、制御部11bに通知する。ステップS155において特定部15は、WFBを集約対象のWFとして集約部16に通知する。
 ステップS156において集約部16は、ステップS106で採番された集約対象識別子に、集約対象のWFの識別子としてWFBの識別子を対応づける。ステップS157において実行部18は、WFAを制御する制御部11aに、次の工程の実行のキャンセルを指示する。ステップS158において制御部11aは、次の工程の実行をキャンセルする。
 ステップS159において、ステップS107で起動したタイマーが満了すると、ステップS160において実行部18は、次の工程の実行を指示する。ステップS161においてWFBを制御する制御部11bは、次の工程である「予備機運搬手配」を実行する。このとき制御部11bは、WFAの「予備機運搬手配」の手配内容もマージして、手配内容を変更しても良い。実行部18は、制御部11bから「予備機運搬手配」の実行結果を取得し、次の工程の実行をキャンセルしたWFAを制御する制御部11bに、「予備機運搬手配」の実行結果を提供しても良い。
 なお図9および図10に示す処理は一例で、これに限らない。
 (制御装置による先頭集約の処理)
 図11および図12の各シーケンス図を参照して、先頭集約を行う処理を説明する。便宜上、制御部11を、ワークフローA(WFA)を実行する制御部11aと、ワークフローB(WFB)を実行する制御部11bに分けて記載する。なお、WFAとWFBは、それぞれ、同じ工程「装置αの工事情報取得」の実行を待機し、集約ルールデータ14において集約対象の工程「装置αの工事情報取得」に対応づけられる集約条件に合致するとする。
 まず特定部15は、ステップS201においてWFAを制御する制御部11aに待機中の工程を問い合わせる。ステップS202において特定部15は、制御部11aから、工程「装置αの工事情報取得」とWFAの属性を取得する。
 ステップS203において特定部15は、工程「装置αの工事情報取得」が、先頭集約の集約対象の工程と判定する。ステップS204において特定部15は、WFAを集約対象のWFとして集約部16に通知する。
 ステップS205において集約部16は、新たな集約対象識別子を採番し、集約データ17において、新たな集約対象識別子に、集約対象のWFの識別子としてWFAの識別子を対応づける。ここで特定部15は、集約対象の工程および集約条件として、WFAの属性から特定される値を設定する。またステップS206において集約部16は、ステップS205で採番した新たな集約対象識別子に対応づけられるタイマーを起動する。
 ステップS207において実行部18は、WFAを制御する制御部11aに、次の工程の実行を指示する。ステップS208において制御部11aは、次の工程である「装置αの工事情報取得」を実行する。ステップS209において実行部18は、制御部11aから、工程「装置αの工事情報取得」の結果として、装置αの工事情報を取得する。
 ステップS206で起動したタイマーが満了する前に、特定部15は、ステップS251においてWFBを制御する制御部11bに待機中の工程を問い合わせる。ステップS252において実行部18は、制御部11bから、工程「装置αの工事情報取得」とWFBの属性を取得する。
 ステップS253において特定部15は、工程「装置αの工事情報の取得」が集約対象の工程と判定する。ステップS254において特定部15は、WFBを集約対象のWFとして集約部16に通知する。
 ステップS255において集約部16は、ステップS205で採番された集約対象識別子に、集約対象のWFの識別子としてWFBの識別子を対応づける。ステップS256において実行部18は、WFBを制御する制御部11bに、次の工程の実行のキャンセルを指示する。ステップS257において実行部18は、制御部11bに、次の工程の実行結果として、ステップS209で取得した装置αの工事情報を、制御部11bに提供する。
 なお図11および図12に示す処理は一例で、これに限らない。
 本発明の実施の形態において、ワークフローは、次の工程の実行を待機し、特定部15は、ワークフローが待機する次の工程の情報を取得する。待機中の次の工程が、集約ルールデータ14で既定される集約対象データの場合、特定部15は、そのワークフローを集約対象として特定する。集約対象として特定されたワークフローは、集約して実行される。
 これにより本発明の実施の形態に係る制御装置1は、同時間帯に発生した同様の複数の故障対応を集約することにより、コスト低減が可能になる。このような制御装置1は、大規模な通信キャリアが提供するネットワークの制御に好適である。
 上記説明した本実施形態の制御装置1は、例えば、CPU(Central Processing Unit、プロセッサ)901と、メモリ902と、ストレージ903(HDD:Hard Disk Drive、SSD:Solid State Drive)と、通信装置904と、入力装置905と、出力装置906とを備える汎用的なコンピュータシステムが用いられる。このコンピュータシステムにおいて、CPU901がメモリ902上にロードされた制御プログラムを実行することにより、制御装置1の各機能が実現される。
 なお、制御装置1は、1つのコンピュータで実装されてもよく、あるいは複数のコンピュータで実装されても良い。また制御装置1は、コンピュータに実装される仮想マシンであっても良い。
 制御装置1を実現するための制御プログラムは、HDD、SSD、USB(Universal Serial Bus)メモリ、CD (Compact Disc)、DVD (Digital Versatile Disc)などのコンピュータ読取り可能な記録媒体に記憶することも、ネットワークを介して配信することもできる。
 なお、本発明は上記実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。
 1 制御装置
 2 制御対象装置
 11 制御部
 12 外部情報取得部
 13 ワークフローデータ
 14 集約ルールデータ
 15 特定部
 16 集約部
 17 集約データ
 18 実行部
 901 CPU
 902 メモリ
 903 ストレージ
 904 通信装置
 905 入力装置
 906 出力装置

Claims (8)

  1.  装置の故障にコンピュータが対処するワークフローの工程のうち集約対象の工程、および前記ワークフローの属性から特定される集約条件を対応づける集約ルールデータと、
     集約識別子に、集約対象のワークフローの識別子を対応づけるとともに、前記集約識別子に、集約対象の工程および前記集約対象のワークフローの属性から特定された集約条件を対応づける集約データと、を記憶する記憶装置と、
     前記集約ルールデータの集約対象の工程の実行を待機するワークフローを特定する特定部と、
     前記集約データにおいて、特定されたワークフローが実行を待機する工程および前記特定されたワークフローの属性から特定される集約条件に対応づけられた集約識別子に、前記特定されたワークフローの識別子を対応づける集約部と、
     前記集約データにおいて前記集約識別子に対応づけられた前記ワークフローが実行を待機する工程を、集約して実行する指示を出力する実行部
     を備える制御装置。
  2.  前記実行部は、前記工程を実行するタイミングを特定するタイマーが満了するまでに前記集約データにおいて集約識別子に対応づけられた前記ワークフローが実行を待機する工程を、集約して実行する指示を出力する
     請求項1に記載の制御装置。
  3.  前記実行を待機する工程は、他の装置に対する操作であって、
     前記実行部は、前記タイマーが満了した後、前記集約識別子に対応づけられた各ワークフローが実行する他の装置に対する操作を、集約して実行する指示を出力する
     請求項2に記載の制御装置。
  4.  前記実行を待機する工程は、情報の参照であって、
     前記実行部は、前記タイマーが起動した後、前記情報を取得する指示を出力し、前記集約識別子に対応づけられた各ワークフローについて、前記情報を提供する指示を出力する
     請求項2に記載の制御装置。
  5.  前記実行部は、前記集約識別子に対応づけられたいずれかのワークフローについて、前記ワークフローが実行を待機する工程を集約して実行する指示を入力し、
     前記集約識別子に対応づけられたワークフローのうち、前記指示を入力したワークフロー以外のワークフローについて、実行をキャンセルする指示を出力する
     請求項1ないし4のいずれか1項に記載の制御装置。
  6.  前記特定部は、次の工程の実行を待機するワークフローについて、前記次の工程が集約対象の工程でない場合、前記次の工程を実行する指示を出力する
     請求項1ないし5のいずれか1項に記載の制御装置。
  7.  コンピュータが、装置の故障に対処するワークフローの工程のうち集約対象の工程、および前記ワークフローの属性から特定される集約条件を対応づける集約ルールデータと、集約識別子に、集約対象のワークフローの識別子を対応づけるとともに、前記集約識別子に、集約対象の工程および前記集約対象のワークフローの属性から特定された集約条件を対応づける集約データとを、記憶装置に記憶するステップと、
     前記コンピュータが、前記集約ルールデータの集約対象の工程の実行を待機するワークフローを特定するステップと、
     前記コンピュータが、前記集約データにおいて、特定されたワークフローが実行を待機する工程および前記特定されたワークフローの属性から特定される集約条件に対応づけられた集約識別子に、前記特定されたワークフローの識別子を対応づけるステップと、
     前記コンピュータが、前記集約データにおいて前記集約識別子に対応づけられた前記ワークフローが実行を待機する工程を、集約して実行する指示を出力するステップ
     を備える制御方法。
  8.  コンピュータを、請求項1ないし請求項6のいずれか1項に記載の制御装置として機能させるための制御プログラム。
PCT/JP2020/018821 2020-05-11 2020-05-11 制御装置、制御方法、および制御プログラム WO2021229640A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2020/018821 WO2021229640A1 (ja) 2020-05-11 2020-05-11 制御装置、制御方法、および制御プログラム
JP2022522100A JP7393696B2 (ja) 2020-05-11 2020-05-11 制御装置、制御方法、および制御プログラム
US17/924,492 US20230176904A1 (en) 2020-05-11 2020-05-11 Control device, control method and control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/018821 WO2021229640A1 (ja) 2020-05-11 2020-05-11 制御装置、制御方法、および制御プログラム

Publications (1)

Publication Number Publication Date
WO2021229640A1 true WO2021229640A1 (ja) 2021-11-18

Family

ID=78526042

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/018821 WO2021229640A1 (ja) 2020-05-11 2020-05-11 制御装置、制御方法、および制御プログラム

Country Status (3)

Country Link
US (1) US20230176904A1 (ja)
JP (1) JP7393696B2 (ja)
WO (1) WO2021229640A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220237021A1 (en) * 2021-01-26 2022-07-28 Salesforce.Com, Inc. Systems and methods of telemetry diagnostics

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150254969A1 (en) * 2014-03-10 2015-09-10 Verizon Patent And Licensing Inc. Method and system for providing aggregated network alarms
WO2019244733A1 (ja) * 2018-06-21 2019-12-26 日本電信電話株式会社 オペレーション装置、および、オペレーション方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150254969A1 (en) * 2014-03-10 2015-09-10 Verizon Patent And Licensing Inc. Method and system for providing aggregated network alarms
WO2019244733A1 (ja) * 2018-06-21 2019-12-26 日本電信電話株式会社 オペレーション装置、および、オペレーション方法

Also Published As

Publication number Publication date
US20230176904A1 (en) 2023-06-08
JP7393696B2 (ja) 2023-12-07
JPWO2021229640A1 (ja) 2021-11-18

Similar Documents

Publication Publication Date Title
JP5075736B2 (ja) 仮想サーバのシステム障害回復方法及びそのシステム
JP5772127B2 (ja) 仮想マシン管理方法、情報処理装置および仮想マシン管理プログラム
JP5440273B2 (ja) スナップショット管理方法、スナップショット管理装置、及びプログラム
JP5263703B2 (ja) バッチジョブを管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
JP5948933B2 (ja) ジョブ継続管理装置、ジョブ継続管理方法、及び、ジョブ継続管理プログラム
JP4590229B2 (ja) ポリシルール管理支援方法およびポリシルール管理支援装置
JP5942509B2 (ja) バッチ処理システム
JP2009536403A (ja) ワーク・アイテム・イベント処理
US9183038B2 (en) Job management system that determines if master data has been updated, then re-executes a sub-job based on available executing computers and data sharing status
CN105516266A (zh) 一种业务监控方法、系统及相关设备
WO2020024341A1 (zh) 一种对象存储的方法及对象存储网关
WO2021229640A1 (ja) 制御装置、制御方法、および制御プログラム
JP4813975B2 (ja) 無共有型データベースシステムの構成変更方法、管理サーバ及び無共有型データベースシステム
JP2009217587A (ja) バッチ処理装置及び方法
JP2001014175A (ja) ジョブ運用管理システム、ジョブ運用管理方法及び記憶媒体
US8677363B2 (en) Method for managing, tracking and distributing job programs for processing to a plurality of execution computers
US7240348B2 (en) Suspending scenario generation method, server device, and program therefor
JP5466740B2 (ja) 仮想サーバのシステム障害回復方法及びそのシステム
JPH11288366A (ja) 情報処理方法及び装置並びに記憶媒体
JP2013186765A (ja) バッチ処理システム、進捗状況確認装置、進捗状況確認方法、及びプログラム
JP2009122985A (ja) サブプロセス実行システム及びサブプロセス実行プログラム
US9773033B2 (en) Storing and retrieving volumes in a database by volume attributes
CN111464580B (zh) 主服务器的选取方法及装置
JP2008217299A (ja) ジョブネット実行システムおよびジョブネット実行方法
WO2024051738A1 (zh) 数据写入方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20935464

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022522100

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20935464

Country of ref document: EP

Kind code of ref document: A1