Information processing device, information processing method, information processing program, and distributed control system

By configuring execution, selection, determination and request units in the control node and dynamically adjusting task allocation, the problem of control node overload in DCS is solved, and load balancing and system stability are achieved.

CN120641843APending Publication Date: 2025-09-12YOKOGAWA ELECTRIC CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202480011257.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-02-10
Filing Date
2024-02-09
Publication Date
2025-09-12

AI Technical Summary

Technical Problem

Control nodes in traditional DCS are prone to overload, which is difficult to prevent effectively, and existing methods require complex monitoring and coordination of task reallocation functions.

Method used

The execution unit, selection unit, determination unit and request unit are configured in the control node. By monitoring the load, when the load exceeds the threshold, the task is selected and its nature is determined, and other control nodes or servers are requested to execute the task to avoid overload.

Benefits of technology

It effectively prevents control node overload, achieves load balancing, avoids complex functional coordination conflicts, and improves system stability and efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120641843A_ABST
    Figure CN120641843A_ABST
Patent Text Reader

Abstract

A control node 10 of an embodiment includes an execution unit 131, a selection unit 133, a determination unit 136, and a request unit 137. An execution unit (131) executes the assigned task. The selection unit (133) selects any one of the assigned tasks when the size of the load of the own device exceeds a threshold value. A determination unit 136 determines whether or not the task selected by the selection unit 133 satisfies a condition. A request unit 137 requests the first device to execute the task when the task satisfies the condition, and requests the second device to execute the task when the task does not satisfy the condition.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an information processing device, an information processing method, an information processing program and a distributed control system. Background Art

[0002] Conventionally, there is known a distributed control system (DCS) in which a plurality of control nodes connected to each other via a network controls a plant (for example, refer to Patent Document 1).

[0003] Reference List

[0004] Patent Literature

[0005] PTL 1: Japanese Patent Publication No. 2017-511024 Summary of the Invention

[0006] Technical issues

[0007] However, conventional DCS has a problem in that it is sometimes unable to prevent control nodes from becoming overloaded.

[0008] For example, as a method for preventing control nodes from becoming overloaded, a method can be conceived in which a management device connected to the network monitors the load of each control node and performs task redistribution to each control node. On the other hand, in order to implement this method, it is necessary to consider the coexistence of monitoring and redistribution functions with other management functions such as task scheduling, and to take measures to prevent conflicts and contradictions between these functions.

[0009] Furthermore, for example, as a method of preventing control nodes from becoming overloaded, a method of configuring each control node to function as a management device can be conceived. On the other hand, in order to implement this method, functions equivalent to the management device need to be incorporated into all nodes.

[0010] As described above, in conventional DCS, it is not easy to implement the above-mentioned method of preventing the control node from becoming overloaded.

[0011] In one aspect, it is an object of the present invention to prevent the control nodes of a DCS from becoming overloaded.

[0012] Solution to the problem

[0013] According to one aspect of the embodiment, an information processing device of a control node among multiple control nodes includes: an execution unit, which is configured to execute assigned tasks; a selection unit, which is configured to select any one of the assigned tasks when the size of the load on the information processing device exceeds a threshold; a determination unit, which is configured to determine whether the task selected by the selection unit is real-time processing; and a request unit, which is configured to request any one of the multiple control nodes other than the information processing device to execute the task when the determination unit determines that the task is real-time processing, and to request a server to execute the task when the determination unit determines that the task is not real-time processing.

[0014] According to one aspect of the embodiment, an information processing method is performed by a computer of a control node among multiple control nodes, the method comprising: executing an assigned task; when the size of the load on the computer exceeds a threshold, selecting any one of the assigned tasks; determining whether the selected task is real-time processing; and when the determination unit determines that the task is real-time processing, requesting any one of the multiple control nodes other than the computer to execute the task, and when the determination unit determines that the task is not real-time processing, requesting a server to execute the task.

[0015] According to one aspect of the embodiment, an information processing program causes a computer to perform the following processing: execute assigned tasks; when the size of the load on the computer exceeds a threshold, select any one of the assigned tasks; determine whether the selected task is real-time processing; and when the determination unit determines that the task is real-time processing, request any one of the multiple control nodes other than the computer to execute the task, and when the determination unit determines that the task is not real-time processing, request a server to execute the task.

[0016] According to one aspect of the embodiment, a distributed control system includes: a plurality of control nodes connected to each other; and a server connected to the plurality of control nodes, wherein each control node includes: an execution unit configured to execute assigned tasks; a selection unit configured to select any one of the assigned tasks when the size of the load on its own device exceeds a threshold; a determination unit configured to determine whether the task selected by the selection unit is real-time processing; and a request unit configured to request any one of the plurality of control nodes other than the control node itself to execute the task when the determination unit determines that the task is real-time processing, and to request the server to execute the task when the determination unit determines that the task is not real-time processing.

[0017] Advantageous Effects of the Invention

[0018] According to one embodiment, a control node of a DCS may be prevented from becoming overloaded. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] Figure 1 is a schematic diagram showing a configuration example of a distributed control system according to the first embodiment.

[0020] Figure 2 is a schematic diagram showing a configuration example of a control node according to the first embodiment.

[0021] Figure 3 is a schematic diagram showing a configuration example of a server according to the first embodiment.

[0022] Figure 4 is a schematic diagram illustrating task offloading.

[0023] Figure 5 is a schematic diagram illustrating task offloading.

[0024] Figure 6 This is a flowchart showing the flow of processing of a control node.

[0025] Figure 7 is a diagram illustrating an example of a hardware configuration. DETAILED DESCRIPTION

[0026] Hereinafter, embodiments of the information processing device, information processing method, information processing program, and distributed control system disclosed in this application will be described in detail with reference to the accompanying drawings. The embodiments described herein are not intended to limit the present invention. In addition, the same reference numerals are assigned to the same components, and repeated explanations are omitted as appropriate. In addition, the various embodiments can be combined to the extent that no contradiction arises. In addition, a control node is an example of an information processing device.

[0027] use Figure 1 The configuration of the distributed control system according to the first embodiment is explained. Figure 1 is a schematic diagram showing a configuration example of a distributed control system according to the first embodiment.

[0028] like Figure 1 As shown, the distributed control system 1 includes a control node 10 a , a control node 10 b , a control node 10 c , a control node 10 d , field devices 21 a , 22 a , 21 b , 22 b , 21 c , and a server 30 .

[0029] In the following description, each control node may be referred to as a control node 10 without distinguishing them. In addition, in the following description, each field device may be referred to as a field device 20 without distinguishing them.

[0030] The number of control nodes 10 and field devices 20 included in the distributed control system 1 is not limited to Figure 1 Furthermore, each control node 10 may be connected to one or more field devices 20 , or may be configured to have no field device 20 connected.

[0031] Field device 20 is installed in a factory. Factories are, for example, oil plants, petrochemical plants, chemical plants, and gas plants. When the factories are in operation, they produce products such as liquefied natural gas (LNG), resins (plastics, nylon, etc.), and chemical products.

[0032] In addition, a factory has factory facilities, machinery facilities, production facilities, power generation facilities, storage facilities, facilities at wellheads for extracting oil, natural gas, etc. In addition, equipment for producing products is installed in the factory.

[0033] The field devices 20 acquire information related to the factory status and are, for example, temperature sensors, pH sensors, velocity sensors, acceleration sensors, pressure sensors, gas concentration sensors, devices that detect valve position, devices that detect the state of switches (open or closed), etc.

[0034] The field device 20 transmits data indicating a sensor value or a detection result to the control node 10 in a predetermined communication protocol.

[0035] The control node 10 executes the assigned tasks. A task corresponds to a portion or all of the operations that occur during the execution of an application. For example, a task is a function, function block (FB), function module, etc. included in the application. A task may be a task that uses data received from a field device 20.

[0036] Figure 1 The control application (APP) shown in is an application (program) that performs a task. In the control node 10a, the control node 10b, the control node 10c, and the control node 10d, a common control application has been installed.

[0037] Furthermore, the control nodes 10a, 10b, 10c, and 10d have a management function. The management function is a function of preventing the control node 10 from becoming overloaded. Details of the management function will be described later.

[0038] The server 30 is connected to the control node 10 via a network. Figure 1 As shown, the server 30 may be configured not to be directly connected to the field device 20. The server 30 has higher processing capabilities than the control node 10 (eg, in terms of processor operation speed, memory capacity, disk I / O speed, and data communication speed).

[0039] The distributed control system 1 is an example of a process control system. In the process control system, real-time processing and non-real-time processing are performed. In addition, the tasks executed by the control node 10 are classified into either real-time processing or non-real-time processing.

[0040] Real-time processing includes execution of control applications, transmission and reception of data between control nodes, etc. For example, real-time processing is processing of controlling the field device 20 based on information acquired from the field device 20 (eg, PID control).

[0041] Non-real-time processing refers to processing related to system monitoring, field device management, quality management, advanced control, etc. For example, non-real-time processing is processing performed by using data collected from the control node 10 within a specific period of time. In this case, the control node 10 converts the data obtained from the field device 20 into a format suitable for subsequent processing and outputs it.

[0042] Furthermore, non-real-time processing includes processing that requires a certain level of computing power, and processing that requires a dedicated device such as a graphics processing unit (GPU).

[0043] In conventional DCS, real-time processing is performed by a controller (e.g., corresponding to control node 10). In addition, in conventional DCS, non-real-time processing is performed by devices other than the controller (e.g., PCs and servers) (e.g., corresponding to server 30 of this embodiment).

[0044] In contrast, in recent years, open process control systems have been proposed, such as Open Process Automation (OPA), promoted by the Open Process Automation Forum (reference: https: / / www.yokogawa.com / us / solutions / featured-topics / open-process-automation / ). In OPA systems, the processing hierarchy is flattened, and real-time processing is required even in devices other than controllers, such as servers. At the same time, non-real-time processing is also being performed on control nodes.

[0045] The control node in the OPA system may be referred to as a distributed control node (DCN). In addition, the control node of this embodiment is, for example, a distributed control node (DCN) in the OPA system.

[0046] For example, in Figure 1In the example shown in FIG, the server 30 is physically or network-distributed from the plant or field device 20 relative to the control node 10. For example, when data acquired from the field device 20 is used in non-real-time processing, it is more advantageous in terms of data transmission time and the like if the processing is performed by the control node 10 rather than by the server 30. As described above, edge computing is enabled by performing non-real-time processing by the control node 10.

[0047] On the other hand, when the control node 10 performs non-real-time processing, there is a problem that the load on the control node 10 becomes heavier. However, according to the management function of this embodiment, even when the control node 10 performs both real-time processing and non-real-time processing, the control node 10 can be prevented from becoming overloaded.

[0048] Will use Figure 2 The configuration of the control node 10 will be described. Figure 2 1 is a schematic diagram showing a configuration example of a control node according to the first embodiment. Figure 2 As shown, the control node 10 includes a communication unit 11 , a storage unit 12 and a control unit 13 .

[0049] The control nodes 10a, 10b, 10c and 10d have Figure 2 However, the distributed control system 1 may include a Figure 2 The configurations shown in the figure are different from the configurations of the control nodes.

[0050] The communication unit 11 performs data communication with other devices. For example, the communication unit 11 is a communication interface. The communication unit 11 communicates with the field device 20 and the server 30.

[0051] Furthermore, the communication unit 11 communicates data with control nodes 10 other than itself. Thus, communication between control nodes is achieved. For example, for control node 10b, the control nodes 10 other than its own device include control nodes 10a, 10c, and 10d. In this case, control node 10b can communicate with control nodes 10a, 10c, and 10d.

[0052] In the following description, control nodes 10 other than its own device may be simply referred to as other control nodes 10 or different control nodes 10 .

[0053] The storage unit 12 stores various data, various programs executed by the control unit 13, and the like. For example, the storage unit 12 is a storage device such as a memory and a hard disk. The storage unit 12 stores various data generated by the processing executed by the control node 10, such as data obtained during the various processing executed by the control unit 13 and processing results obtained as a result of executing the various processing.

[0054] The storage unit 12 stores task information 121 and application information 122 .

[0055] The task information 121 is a list of tasks assigned to the control node 10. Tasks are assigned in units of applications, functions, function blocks, function modules, etc. Furthermore, tasks may be assigned by the server 30 or may be assigned by a device other than the server 30.

[0056] The application information 122 is data such as a program required for executing an application. For example, the application information 122 is a packaged application.

[0057] The control unit 13 is a processing unit that controls the entire control node 10. The control unit 13 is implemented by, for example, a processor, etc. The control unit 13 includes an execution unit 131, a monitoring unit 132, a selection unit 133, an acquisition unit 134, a provision unit 135, a determination unit 136, and a request unit 137.

[0058] The execution unit 131 executes the task. For example, the execution unit 131 loads an application program corresponding to the task indicated in the task information 121 from the application information 122. The execution unit 131 performs operations according to the loaded program.

[0059] The monitoring unit 132 monitors the load of the control node 10. For example, the monitoring unit 132 monitors one or more of the CPU usage rate, memory usage rate, amount of disk I / O, and data communication volume of the control node 10 as the load of the control node 10.

[0060] Factors causing load changes on the control node 10 include excessive generation of alarms due to abnormalities in field devices and processes, changes in control operations due to addition of new field devices 20, and increased monitoring from a human machine interface (HMI).

[0061] When the load of its own device exceeds a threshold, the selection unit 133 selects any one of the assigned tasks (ie, the tasks indicated in the task information 121). For the task thus selected, another device can be requested to execute the task.

[0062] For example, the selection unit 133 selects the task with the largest processing load from the tasks indicated in the task information 121. In this case, the size of the estimated processing load for each task is previously stored in the task information 121. The selection unit 133 obtains the size of the processing load for each task by referring to the task information 121.

[0063] The acquisition unit 134 acquires information indicating whether the task selected by the selection unit 133 can be executed by the other control nodes 10. The information indicating whether the task can be executed may be the size of the load on the other control nodes 10.

[0064] The providing unit 135 provides the other control nodes 10 with information indicating whether a designated task can be performed.

[0065] The determination unit 136 determines whether the task selected by the selection unit 133 satisfies a condition. For example, the determination unit 136 determines whether the task is a real-time process or a non-real-time process.

[0066] In addition, information indicating whether each task is real-time processing or non-real-time processing may be pre-stored in the task information 121. In this case, the determination unit 136 may determine whether each task is real-time processing or non-real-time processing by referring to the task information 121.

[0067] The request unit 137 requests the other control nodes 10 or the server 30 to perform the task selected by the selection unit 133. The request unit 137 requests the other control nodes 10 (an example of the first device) to perform the task when the task satisfies the condition, and requests the server 30 (an example of the second device) to perform the task when the task does not satisfy the condition.

[0068] Will use Figure 3 The configuration of the server 30 will be described. Figure 3 : is a schematic diagram showing a configuration example of a server according to the first embodiment. Figure 3 As shown, the server 30 includes a communication unit 31 , a storage unit 32 , and a control unit 33 .

[0069] The communication unit 31 performs data communication with other devices. For example, the communication unit 31 is a communication interface. The communication unit 31 communicates with the control node 10.

[0070] The storage unit 32 stores various data, various programs executed by the control unit 33, and the like. For example, the storage unit 32 is a storage device such as a memory and a hard disk. The storage unit 32 stores various data generated by the processing executed by the server 30, such as data obtained during the various processing executed by the control unit 33 and processing results obtained as a result of executing the various processing.

[0071] The storage unit 32 stores application information 322 .

[0072] The application information 322 is data such as a program required for executing an application. For example, the application information 122 is a packaged application.

[0073] The control unit 33 is a processing unit that controls the entire server 30. The control unit 33 is implemented by, for example, a processor, etc. The control unit 33 includes an execution unit 331.

[0074] The execution unit 331 executes a task. For example, it loads an application program corresponding to the task requested to be executed by the control node 10 from the application information 122. The execution unit 331 executes the loaded program.

[0075] return Figure 2 , the requesting unit 137 determines a device to be requested to perform a task according to the determination result of the determining unit 136. In addition, requesting another device to perform a task is called offloading. Figure 4 and Figure 5 It is a schematic diagram explaining task offloading.

[0076] When the determining unit 136 determines that the task selected by the selecting unit 133 is real-time processing, as shown in FIG. Figure 4 As shown, the request unit 137 requests other control nodes 10 to perform the task.

[0077] When the determining unit 136 determines that the task selected by the selecting unit 133 is a non-real-time process, such as Figure 5 As shown, the request unit 137 requests the server 30 to perform the task.

[0078] Will use Figure 6 The flow of processing by the control node 10 will be described. Figure 6 is a flowchart showing the flow of processing performed by a control node.

[0079] In this example, it is interpreted that the control node 10b is the subject for processing. In addition, the components of the control node 10 (respectively marked with symbols "a", "b", "c" and "d") correspond to the components included in the control node 10a, the control node 10b, the control node 10c and the control node 10d, respectively.

[0080] For example, the control node 10b includes task information 121b, application information 122b, an executing unit 131b, a monitoring unit 132b, a selecting unit 133b, an acquiring unit 134b, a providing unit 135b, a determining unit 136b, and a requesting unit 137b.

[0081] In addition, each component marked with symbols "a", "b", "c" and "d" has the same function as the components corresponding to the original symbols. For example, the monitoring unit 132b has the same function as the monitoring unit 132.

[0082] like Figure 6 As shown, first, the control node 10b monitors the load on its own device while executing a task (step S101). In this case, the execution unit 131b executes the task. In addition, the monitoring unit 132b monitors the load.

[0083] The control node 10b continues to execute tasks and monitor the load until the load monitored by the monitoring unit 132b exceeds the threshold (step S102: No).

[0084] For example, in step S102 , the monitoring unit 132 b determines whether the CPU usage rate exceeds 80% which is determined in advance as a threshold value.

[0085] When the load monitored by the monitoring unit 132 b exceeds the threshold value (step S102 : Yes), the selection unit 133 b selects a task having the heaviest processing load from the unselected tasks (step S103 ).

[0086] Unselected tasks are tasks that have not yet been executed among the tasks included in task information 121b. Task information 121b also includes information indicating whether each task is real-time or non-real-time processing, as well as an estimated value of the processing load and whether the task has been selected. The initial state or the state immediately after a reset indicates that not all tasks have yet been selected.

[0087] The determination unit 136b determines whether the task selected by the selection unit 133b is real-time processing (step S104).

[0088] When the task selected by the selection unit 133b is real-time processing (step S104: Yes), the acquisition unit 134b acquires information indicating the load on other control nodes (step S105). In addition, the acquisition unit 134b determines whether the task selected by the selection unit 133b can be performed by other control nodes based on the acquired information (step S106).

[0089] Furthermore, the acquisition unit 134b may acquire information indicating whether the task can be executed by other control nodes by specifying other control nodes for the task selected by the selection unit 133b. The acquisition unit 134b may use any method as long as it can acquire information indicating whether other control nodes can execute the task.

[0090] For example, the acquiring unit 134b acquires information indicating whether the control node 10c can execute the task. In addition, in this case, the providing unit 135c of the control node 10c provides the acquiring unit 134b with information indicating the load on the control node 10c or whether the control node 10c can execute the task.

[0091] Furthermore, whether the control node 10 c can execute the task may be determined based on the estimated value of the processing load of each task and the magnitude of the load on the control node 10 c .

[0092] When the control node 10c can execute the task selected by the selection unit 133b (step S107: Yes), the request unit 137b requests the control node 10c to execute the task (step S109). The control node 10b then proceeds to step S111.

[0093] In step S107 , when the control node 10c cannot execute the task selected by the selection unit 133b (step S107 : No), if there is a task that has not been selected (step S108 : Yes), the control node 10b returns to step S103 and repeats the process.

[0094] When the process returns to step S103 and is repeated, the processing load of the task to be selected next in step S103 is equal to or smaller than the processing load of the previously selected task. Therefore, the probability of being determined as executable in step S107 increases each time the process is repeated.

[0095] If there is no task that has not been selected (step S108: No), the control node 10b proceeds to step S111. In this case, the control node 10b executes the task.

[0096] Furthermore, in step S104, when the task selected by the selection unit 133b is not real-time processing (when it is non-real-time processing) (step S104: No), the request unit 137b requests the server 30 to execute the task (step S110), and proceeds to step S111.

[0097] In step S111 , the control node 10 b resets the selection state of the task, returns to step S101 , and repeats the process.

[0098] When the size of the load due to executing the requested task exceeds a threshold, additional different servers, cloud environments, etc. may be expanded to increase resources for executing the task.

[0099] In step S104, the determination unit 136 can determine whether the task is real-time processing based on the execution cycle of the task. That is, the determination unit 136 determines whether the condition that the execution cycle of the task selected by the selection unit 133 is less than or equal to a threshold value (e.g., 1 second) is satisfied. Therefore, tasks with a short execution cycle (a period less than or equal to the threshold value) that are expected to be executed in real time by the control node 10 can be executed.

[0100] Furthermore, the condition for real-time execution at step S104 is an example of a condition for determining whether to request control node 10 or server 30 to execute a task. Determination unit 136 can determine whether to request control node 10 or server 30 to execute a task based on the computing power required for the task, rather than the necessity of real-time execution. For example, determination unit 136 determines whether the computing power required to execute the task selected by selection unit 133 is less than or equal to a threshold. Computing power is, for example, the CPU clock frequency. In this case, server 30 can be requested to execute a task that would otherwise take time if executed by control node 10.

[0101] Alternatively, the determination unit 136 may determine to request the control node 10 to perform the task using only the data acquired from the field device 20 , and request the server 30 to perform the task requiring data other than the data acquired from the field device 20 .

[0102] Effect

[0103] As explained so far, control node 10 includes an execution unit 131, a selection unit 133, a determination unit 136, and a request unit 137. Execution unit 131 executes assigned tasks. Selection unit 133 selects any of the assigned tasks when the load on its own device exceeds a threshold. Determination unit 136 determines whether the task selected by selection unit 133 satisfies a condition. If the task satisfies the condition, request unit 137 requests the first device to execute the task. If the task does not satisfy the condition, request unit 137 requests the second device to execute the task.

[0104] As described above, by appropriately requesting another device to perform a task according to the load, it is possible to prevent the control node of the DCS (Distributed Control System 1) from becoming overloaded.

[0105] Furthermore, the control node 10 stores an application program, and the execution unit 131 executes a task assigned to the execution unit 131, including operations according to the program. This configuration allows multiple control nodes 10 to execute a common application, and the execution of a task can be easily requested.

[0106] When a control node requested to perform a task does not store the application program for executing that task, upon request, data (container) for the entire application, including the program, must be sent and received between the control nodes. In this case, sending and receiving data takes time, and there is a problem that processing may be suspended in some cases. According to this embodiment, this problem can be solved.

[0107] system

[0108] Unless otherwise specified, the processing procedures, control procedures, specific names, and information including various data and parameters described in the above documents and drawings may be arbitrarily changed.

[0109] Furthermore, the components of the various devices shown are functional concepts and do not necessarily need to be physically configured as shown. That is, the specific forms of distribution and integration of the various devices are not limited to those shown. Specifically, all or some of the various devices may be configured to be functionally or physically distributed or integrated in arbitrary units depending on various loads, usage conditions, and the like.

[0110] Furthermore, for each processing function performed by each device, all or any part thereof may be realized by a CPU and a computer program analyzed and executed by the CPU, or may be realized as hardware by wired logic.

[0111] hardware

[0112] Next, a configuration example of the hardware of the control node 10 will be explained. Figure 7 is a diagram illustrating an example of a hardware configuration. Figure 7 As shown, the control node 10 includes a communication device 100a, a hard disk drive (HDD) 100b, a memory 100c and a processor 100d. Figure 7 The respective components shown in FIG are connected to each other via a bus or the like.

[0113] The communication device 100a is a network interface card or the like, and performs communication with other servers. The HDD 100b stores Figure 2 The functions shown are program and DB.

[0114] The processor 100d reads data from the HDD 100b and the like to implement Figure 2 The processing units shown in FIG. 1 are configured to process similar processing programs and expand them to the memory 100c, thereby operating each processing unit to realize Figure 2etc. For example, this process executes functions similar to those of the respective processing units included in the control node 10. Specifically, the processor 100d reads out a program having functions similar to those of the execution unit 131, the monitoring unit 132, the selection unit 133, the acquisition unit 134, the provision unit 135, the determination unit 136, and the request unit 137 from the HDD 100b or the like. The processor 100d executes a process to execute a process similar to that of the execution unit 131, the monitoring unit 132, the selection unit 133, the acquisition unit 134, the provision unit 135, the determination unit 136, and the request unit 137.

[0115] As described above, the control node 10 operates as an information processing device that executes the information processing method by reading and executing a program. Furthermore, the control node 10 can implement functions similar to those of the above-described embodiment by reading the program from a recording medium using a media reader device and executing the read program. In other embodiments, the program is not limited to being executed by the control node 10. For example, the present invention can also be similarly applied to situations where the program is executed by other computers or servers, or where these computers or servers collaborate to execute the program.

[0116] The program can be distributed through a network such as the Internet. In addition, the program can be recorded on a computer-readable recording medium (such as a hard disk, a floppy disk (FD), a compact disk read-only memory (CD-ROM), a magneto-optical disk (MO), and a digital versatile disk (DVD)), and can be executed by being read from the recording medium by a computer.

[0117] Some examples of combinations of the disclosed technical features are described below. (1)

[0119] A distributed control system comprising:

[0120] a plurality of control nodes connected to each other; and

[0121] a server connected to the plurality of control nodes, wherein

[0122] Each control node includes:

[0123] an execution unit, configured to execute assigned tasks;

[0124] a selection unit configured to select any one of the assigned tasks when the size of the load on its own device exceeds a threshold;

[0125] a determining unit configured to determine whether the task selected by the selecting unit is a real-time process; and

[0126] A requesting unit is configured to request any one of the multiple control nodes except the control node itself to perform the task when the determining unit determines that the task is real-time processing, and to request the server to perform the task when the determining unit determines that the task is not real-time processing. (2)

[0128] The distributed control system according to (1), wherein

[0129] The control node stores the application program, and

[0130] The execution unit executes a task, which is an assigned task and includes an operation according to the application program. (3)

[0132] The information processing device according to (1) or (2), wherein

[0133] When a period of the execution cycle of the task selected by the selection unit is less than or equal to a threshold value, the determination unit determines that the task is real-time processing. (4)

[0135] The information processing device according to (1) or (2), wherein

[0136] When the computing power required by the task selected by the selection unit is less than or equal to a threshold, the determination unit determines that the task is real-time processing.

[0137] Reference Signs List

[0138] 1Distributed Control System

[0139] 10,10a,10b,10c,10d control nodes

[0140] 11,31 communication units

[0141] 12,32 memory cells

[0142] 13,33Control Unit

[0143] 20, 21a, 22a, 21b, 22b, 21c Field equipment

[0144] 30 servers

[0145] 100a communication equipment

[0146] 100b HDD

[0147] 100c memory

[0148] 100d processor

[0149] 121 mission information

[0150] 122,322 application information

[0151] 131,331 execution units

[0152] 132 monitoring units

[0153] 133 Selection Units

[0154] 134 Acquisition Unit

[0155] 135 units provided

[0156] 136 Determine Unit

[0157] 137 request units

Claims

1. An information processing device for a control node among a plurality of control nodes, comprising: an execution unit configured to execute assigned tasks; a selection unit configured to select any one of the assigned tasks when the magnitude of the load on the information processing apparatus exceeds a threshold; a determining unit configured to determine whether the task selected by the selecting unit is a real-time process; as well as A requesting unit is configured to request any one of the multiple control nodes except the information processing device to perform the task when the determining unit determines that the task is real-time processing, and to request a server to perform the task when the determining unit determines that the task is not real-time processing.

2. The information processing apparatus according to claim 1, wherein When a period of the execution cycle of the task selected by the selection unit is less than or equal to a threshold value, the determination unit determines that the task is real-time processing.

3. The information processing apparatus according to claim 1, wherein When the computing power required by the task selected by the selection unit is less than or equal to a threshold, the determination unit determines that the task is real-time processing.

4. An information processing method executed by a computer of one of a plurality of control nodes, wherein the computer performs the following processing: Perform assigned tasks; When the magnitude of the load on the computer exceeds a threshold, selecting any one of the assigned tasks; Determine whether the selected task is real-time processing; as well as When the determining unit determines that the task is real-time processing, any one of the plurality of control nodes except the computer is requested to execute the task, and when the determining unit determines that the task is not real-time processing, a server is requested to execute the task.

5. An information processing program that causes a computer of one of a plurality of control nodes to execute the following processing: Perform assigned tasks; When the magnitude of the load on the computer exceeds a threshold, selecting any one of the assigned tasks; Determine whether the selected task is real-time processing; as well as When the determining unit determines that the task is real-time processing, any one of the plurality of control nodes except the computer is requested to execute the task, and when the determining unit determines that the task is not real-time processing, a server is requested to execute the task.

6. A distributed control system comprising: Multiple control nodes connected to each other; as well as a server connected to the plurality of control nodes, wherein Each control node includes: an execution unit, configured to execute assigned tasks; a selection unit configured to select any one of the assigned tasks when the size of the load on its own device exceeds a threshold; a determining unit configured to determine whether the task selected by the selecting unit is a real-time process; and A requesting unit is configured to request any one of the multiple control nodes except the control node itself to perform the task when the determining unit determines that the task is real-time processing, and to request the server to perform the task when the determining unit determines that the task is not real-time processing.

7. The distributed control system according to claim 6, wherein The control node stores the application program, and The execution unit executes a task, which is an assigned task and includes an operation according to the application program.

Citation Information

Patent Citations

  • Apparatus and method for protecting distributed control systems (dcs)

    JP2017511024A