Distributed Control Node (DCN) Redundancy

A redundant DCN system with a keep-alive process addresses the critical failure issue by reallocating backup nodes as primary nodes, ensuring continuous operation and minimizing disruptions in process automation systems.

JP7848914B2Active Publication Date: 2026-04-21YOKOGAWA ELECTRIC CORP
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
YOKOGAWA ELECTRIC CORP
Filing Date
2025-03-24
Publication Date
2026-04-21

AI Technical Summary

Technical Problem

Existing process automation systems face critical failures when primary Distributed Control Nodes (DCNs) become unavailable, leading to potential catastrophic consequences due to the inability to maintain continuous operation and proper control of mission-critical processes.

Method used

Implementing a redundant DCN system with a keep-alive process that determines the availability of primary DCNs and reallocates backup DCNs as new primary nodes by transferring virtual IP addresses and subscription data, ensuring seamless continuity through a private network.

Benefits of technology

Ensures continuous operation and efficient failover of critical processes by rapidly reassigning backup DCNs as primary nodes, maintaining system availability and preventing adverse effects from primary DCN failures.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007848914000001
    Figure 0007848914000001
  • Figure 0007848914000002
    Figure 0007848914000002
  • Figure 0007848914000003
    Figure 0007848914000003
Patent Text Reader

Abstract

To provide a method, a system and a device for implementing a redundant distribution control node (DCN) system through a process automated network.SOLUTION: A redundant DCN system includes a primary DCN, a backup DCN, and a keep alive process for determining whether or not the primary DCN is unavailable, and reassigns the backup DCN as a new primary DCN in response to determination that the primary DCN is unavailable, and has a function previously executed by the previous primary DCN. Each of the DCN in the redundant DCN system may have a unique virtual IP address, or may transfer a common virtual IP address. The virtual IP address may give impact to communication between the DCN and the other device.SELECTED DRAWING: Figure 5
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the redundancy of Distributed Control Nodes (DCNs).

Background Art

[0002] Process automation equipment can include numerous sensors, actuators, and Distributed Control Nodes (DCNs) that cooperate to perform various different tasks including the management of process control loops. Many of these tasks are mission critical and / or involve processes that can be dangerous if not properly controlled. Thus, a failure of any component can result in a failure of a larger task, which can be costly at best and catastrophic at worst. By installing a redundant DCN system, the equipment can continue to operate even if the primary DCN fails by enabling a rapid switchover from the failing primary DCN to one or more backup DCNs.

Summary of the Invention

Means for Solving the Problems

[0003] Implementations for increasing and / or maintaining the availability of DCNs in a process automation network are described herein. More specifically, but not exclusively, implementations for determining the availability of a primary DCN based on a keep-alive process and for reassigning one or more backup DCNs that communicate with the primary DCN as a new primary DCN in response to a determination that the primary DCN has become unavailable are described herein.

[0004] In various implementations, a redundant distributed control node (DCN) system may include one or more shared output channels, a private network at least logically isolated from the process automation network, a primary DCN for subscribing to one or more remote data feeds based on subscription data and driving one or more of the shared output channels based on one or more of the remote data feeds, and one or more backup DCNs that are communicably coupled to the primary DCN via the private network. In various implementations, the virtual IP addresses used by the redundant DCN system to exchange data over the process automation network may be transferable between the primary DCN and one or more of the backup DCNs. In various implementations, the primary DCN may be configured to send its subscription data to one or more of the backup DCNs via the private network, and the subscription data may be operable to cause one or more of the backup DCNs to subscribe to one or more of the remote data feeds. In various implementations, the keep-alive process may determine if the primary DCN has become unavailable and trigger a reassignment of one or more of the backup DCNs as the new primary DCN. In various implementations, the new primary DCN may subscribe to one or more remote data feeds based on subscription data to drive one or more of the shared output channels. In various implementations, the reassignment as the new primary DCN may include transferring a virtual IP address from the primary DCN to the new primary DCN.

[0005] In various implementations, the keep-alive process may be hosted on one or more of the backup DCNs.

[0006] In various implementations, the keep-alive process may be hosted on a processing node separate from one or more backup DCNs. In various implementations, the processing node may be integrated with a redundant DCN system. In various implementations, the primary DCN may be configured to periodically send subscription data.

[0007] In various implementations, the primary DCN may be configured to send subscription data whenever the primary DCN's subscription data changes. In various implementations, the primary DCN's subscription data may change in response to the primary DCN subscribing to a new node. In various implementations, the primary DCN's subscription data may change in response to the primary DCN modifying an existing subscription.

[0008] In various implementations, a new primary DCN may load subscription data in response to a determination that the primary DCN has become unavailable. In various implementations, in response to loading subscription data, the new primary DCN may subscribe to one or more remote data feeds and drive one or more shared output channels based on one or more of the remote data feeds.

[0009] In various implementations, following the reallocation of one or more backup DCNs as a new primary DCN, and in response to the primary DCN becoming available again, the primary DCN may be allocated as another backup DCN from among the one or more backup DCNs, while the virtual IP address remains reallocated to the new primary DCN.

[0010] In various implementations, a private network may be implemented using one or more of the following technologies: Ethernet, serial, or bus communication. In various implementations, a primary DCN or a new primary DCN may share a virtual IP address with another DCN. In various implementations, a keep-alive process may determine the state of the primary DCN periodically and / or in response to triggering events.

[0011] In another embodiment, the method may be implemented by one or more processors and may include the steps of: identifying one or more shared output channels and a private network through which one or more backup DCNs are coupled in a communicable manner with a primary DCN; determining, based on a keep-alive process, that a primary DCN subscribed to one or more remote data feeds to drive one or more of the shared output channels based on one or more of the remote data feeds has become unavailable, wherein the primary DCN subscribes to one or more remote data feeds based on subscription data and transmits the subscription data to one or more of the backup DCNs via the private network; and in response to the determination that the primary DCN has become unavailable, causing one or more of the backup DCNs to be reassigned as a new primary DCN, the reassignment as a new primary DCN includes transferring the virtual IP address of the primary DCN to the new primary DCN, the new primary DCN subscribes to one or more of the remote data feeds based on subscription data. In various implementations, the keep-alive process can be hosted on one or more backup DCNs.

[0012] In another embodiment, a redundant DCN system may include one or more computers, each having one or more processors and one or more storage devices that, when run by one or more computers, store instructions operable to cause one or more processors to perform an operation, the operation of determining whether a primary DCN currently or previously subscribed to one or more remote data feeds has become unavailable in order to drive one or more shared output channels based on one or more of the remote data feeds, and being communicably coupled to the primary DCN via a private network logically isolated from the process automation network associated with the redundant DCN system. Identifying one or more backup DCNs, wherein the redundant DCN system has virtual IP addresses that are transferable between the primary DCN and one or more of the backup DCNs, and the subscription data of the primary DCN is sent to one or more of the backup DCNs via a private network; and reallocating one or more of the backup DCNs as a new primary DCN in response to determining that the primary DCN has become unavailable, the reallocation as a new primary DCN includes transferring virtual IP addresses from the primary DCN to the new primary DCN.

[0013] In various implementations, a new primary DCN may subscribe to one or more remote data feeds based on subscription data.

[0014] Please understand that all combinations of the above concepts and any additional concepts described in more detail herein are intended to be part of the subject matter disclosed herein. For example, all combinations of claimed subject matter found at the end of this disclosure are intended to be part of the subject matter disclosed herein. [Brief explanation of the drawing]

[0015] [Figure 1] This figure schematically illustrates an exemplary environment in which selected aspects of this disclosure may be implemented. [Figure 2] This figure schematically illustrates an exemplary environment in which selected aspects of this disclosure are implemented or have been implemented. [Figure 3] This diagram schematically illustrates a redundant DCN system that includes a private network connecting a primary DCN to one or more backup DCNs in a communicative manner, and a keep-alive process used to determine whether the primary DCN is unavailable. [Figure 4] This diagram schematically illustrates a redundant DCN system following the implementation of one or more selected embodiments of the present disclosure, including the reallocation of the backup DCN as a new primary DCN, the transfer of the primary DCN's virtual IP address to the new primary DCN, the subscription of the new primary DCN to the remote data feed, and the driving of the output channel by the new primary DCN. [Figure 5] This figure schematically illustrates exemplary methods for carrying out aspects of this disclosure. [Figure 6] This figure schematically illustrates an exemplary computer architecture in which selected aspects of this disclosure may be implemented. [Modes for carrying out the invention]

[0016] This specification describes implementations for increasing and / or maintaining the availability of DCNs in process automation networks. More specifically, this specification describes implementations for determining the availability of a primary DCN based on a keep-alive process, but not exclusively, and for reallocating one or more backup DCNs that communicate with the primary DCN as the new primary DCN in response to the determination that the primary DCN has become unavailable.

[0017] A DCN may include one or more input / output (I / O) channels associated with various types of equipment within a process automation system. Output channels may be associated with output devices such as actuators, valves, and dampers. Input channels may be associated with input devices such as various types of sensors, flow meters, and computing nodes. A DCN may drive output channels that control output devices based on data received from one or more data sources, such as one or more remote DCNs (or their components) to which the DCN is subscribed.

[0018] In some implementations, multiple DCNs may share an I / O channel, allowing each DCN sharing the channel to receive or transmit information using it. In some implementations, DCNs do not need to share an I / O channel, preventing DCNs not associated with an I / O channel from receiving or transmitting information on it. In various implementations, a DCN may contribute to the control of one or more devices (e.g., actuators, valves, dampers, etc.) based on data received from sensors located somewhere in the process automation equipment.

[0019] Process automation equipment such as DCNs may be configured to communicate with other process automation equipment using a variety of open (e.g., non-confidential) and / or standardized communication protocols, which are described herein as “cross-platform.” Cross-platform communication protocols may be governed by a variety of definitions and / or standards, such as the Open Platform Communications (OPC) Unified Architecture (UA). Therefore, in the various examples described herein, a DCN is described as hosting one or more “OPC UA clients” and / or one or more “OPC UA servers,” but this is not intended to be limiting. A DCN may host other types of cross-platform clients and / or cross-platform servers, and OPC UA is merely an example.

[0020] In some cases, a DCN may become unavailable. The reasons for a DCN becoming unavailable can vary and may include malfunctions or failures. A DCN becoming unavailable can have adverse effects on facility operations. For example, OPC UA clients may be subscribed to an OPC UA server, and a failure in one or the other can have negative consequences. When a DCN becomes unavailable, functions performed by other components, such as other DCNs (or OPC UA clients hosted on them) that have subscribed to the DCN, may not be performed, be performed improperly, or be performed based on inaccurate information. For example, suppose a DCN that controls a valve is subscribed to is disabled. As a result, the subscribing DCN may be unable to properly manage the flow through the valve, which can be serious in itself or, in combination, further adversely impact larger processes, such as control loops.

[0021] In response to the unavailability of a primary DCN, one or more other DCNs in a redundant DCN system may be designated as “backup” DCNs to avoid and / or mitigate adverse effects on system processes. Backup DCNs may have similar or identical properties to the primary DCN, or alternative properties. In some cases, alternative properties may make the backup DCN less susceptible to the effects of unavailability. Backup DCNs may be reassigned as “new primary” DCNs in response to the determination that the previous primary DCN has become unavailable. Some implementations may include designating multiple DCNs as backup DCNs, and some implementations may further include processes for operating in the backup DCNs prior to being reassigned as new primary DCNs. The quantity and quality of DCNs designated as primary or backup DCNs are highly customizable and adaptable to facility requirements.

[0022] In various implementation forms, two or more DCNs of a redundant DCN system may be communicatively coupled to each other using a private network. The private network is logically separated from a larger process automation network but may be connected to it via one or more entry points. The private network may be implemented using various different communication technologies such as Ethernet, serial bus, Wi-Fi, Bluetooth, Zigbee, or Z-Wave, IP subnet, and the like.

[0023] In some implementation forms, a single virtual IP address may be assigned to a group of DCNs communicatively coupled via a private network and may be transferable among the group. Further, in some implementation forms, each DCN may have its own non-virtual (or “conventional,” “usual”) IP address. The virtual IP address may be transferable among multiple DCNs, for example, by mapping (and / or remapping) the virtual IP address to different non-virtual IP addresses of the DCNs. Thus, the virtual IP address can serve as a single entry / exit point to / from a redundant DCN system including a primary DCN and one or more backup DCNs communicatively coupled via a private network.

[0024] In various implementations, devices such as DCNs can be configured to communicate with a specific virtual IP address. For example, an OPC UA client hosted by a first DCN can subscribe to an I / O channel (e.g., a sensor) hosted by a second DCN, and the virtual IP address used by the second DCN can be provided to the OPC UA client hosted by the first DCN. The OPC UA client on the first DCN can then use this virtual IP address to communicate with an OPC UA server hosted by the second DCN to, for example, retrieve sensor data from the I / O channel of the second DCN. If the second DCN is disabled, the virtual IP address may be transferred to a third "backup" DCN that is on the same private network as the second DCN. The OPC UA client on the first DCN can continue to use the same virtual IP address, except that it now communicates with an OPC UA server hosted by the third DCN.

[0025] In some implementations, each primary and backup DCN of a redundant DCN system can be communicatively coupled, directly or indirectly, to a larger process automation network and their conventional / non-virtual IP addresses. A single virtual IP address transferable between DCNs can be used to limit how other nodes of the larger process automation network can communicate with these DCNs, for example, through the single ingress / egress point described above. Additionally or alternatively, in some implementations, a redundant DCN system can include a single network interface that connects the redundant DCN system to the larger process automation network. Within the redundant DCN system, and particularly using the private network logically included within the redundant DCN system, virtual IP addresses can be transferred between multiple DCNs as needed (e.g., when the primary DCN malfunctions).

[0026] Subscription data may indicate one or more subscriptions of a DCN (e.g., by OPC UA clients hosted on it) to one or more remote data feeds and / or output channels. Subscription data associated with a primary DCN may be shared with backup DCNs. For example, subscription data may be shared to allow a backup DCN to take over one or more functions performed by the primary DCN by subscribing to one or more remote data feeds used by the primary DCN to perform those functions. Thus, the output channels driven by the primary DCN may also be shared among the redundant set of DCNs. As mentioned above, multiple DCNs may be designated as backup DCNs, and data containing subscription data may be shared differently or identically among each of the multiple backup DCNs.

[0027] A “keep-alive” program may be implemented to determine whether the primary DCN is available or unavailable. The keep-alive program may be configured to monitor the DCN periodically, continuously, and / or on demand for the availability of the DCN. The keep-alive program may run between one or more primary DCNs, backup DCNs, or independent nodes separate from the primary or backup DCNs. For example, each instance of the keep-alive program may run on each of the backup DCNs of multiple backup DCNs. In response to an instance of the keep-alive program determining that the primary DCN is unavailable, the instance of the keep-alive program may reallocate a backup DCN as the new primary DCN. The reallocation of a backup DCN as the new primary DCN may be based on one or more factors, such as the hardware performance, software capabilities, and availability of a particular DCN.

[0028] Following the reallocation of the backup DCN as the new primary DCN, the new primary DCN can assume roles previously performed by the previous primary DCN. The new primary DCN can use the subscription data provided by the previous primary DCN to quickly adapt to its updated role. For example, based on the subscription data, the new primary DCN can drive one or more of the same output channels, as the old primary DCN did, and subscribe to one or more of the same remote data feeds, as the old primary DCN did.

[0029] In some cases, the old primary DCN may become available again. The old primary DCN, once made available again, may be reassigned as a backup DCN. Alternatively, a new primary DCN may be returned to backup DCN status, and the original primary DCN may be returned to its previous state. The protocol for bringing the old primary DCN back online is customizable and can be adapted to facility requirements.

[0030] Figure 1 schematically illustrates exemplary environments in which selected aspects of the present disclosure may be implemented according to various embodiments. An OPC UA client 64 hosted by a remote DCN 62 may subscribe to information from DCN 12, or more specifically, information from an OPC UA server 66 hosted by DCN 12. DCN 62 and 12 may be communicably coupled over a larger process automation network 60. DCN 12 may be connected to an I / O module 16 that provides information from equipment 20. For illustrative purposes, equipment 20 may include sensors that generate sensor data that DCN 12 retrieves from the I / O module 16 and exposes. The OPC UA client 64 may subscribe to this data to control other equipment (not shown) in the process automation equipment, such as actuators, valves, or dampers.

[0031] DCN12 may be communicatively coupled to other components of the redundant DCN system via a private network 10. The private network 10 may be logically separate from the larger process automation network 60 and may include one or more inlet / outlet points with the larger process automation network 60. The private network 10 may communicatively couple the primary DCN12, one or more backup DCN14, and the I / O module 16. The I / O module 16 may be configured to receive and / or provide information to each primary DCN12 and backup DCN14.

[0032] As mentioned above, a single virtual IP address can be assigned to and forwarded between the primary DCN12 and the backup DCN14. Device 20 and the OPC UA client 64 may be located outside the private network 10 and may perceive the primary DCN12 and the backup DCN14 as a single entity, since only one of the primary DCN12 and the backup DCN14 uses the virtual IP address at a time. In various implementations, the virtual IP address may be forwarded between the primary DCN12 and the backup DCN14 so that both the primary DCN12 and the backup DCN14 do not share the virtual IP address simultaneously. In other words, the virtual IP address that can be forwarded between DCN12 and 14 can act as the single entry / exit point described above.

[0033] Figure 2 schematically illustrates an exemplary environment in which selected embodiments of this disclosure are implemented or have been implemented. For example, primary DCN12 is shown as previously or currently unavailable. As discussed herein, the unavailability of a DCN may result from a variety of causes, including but not limited to failure, malfunction, disconnection, or larger equipment problems.

[0034] In response to the primary DCN 12 being unavailable, a keep-alive process (not shown) causes the backup DCN 14 to assume the functions of the primary DCN 12. In other words, the keep-alive process may reassign the backup DCN 14 as the new primary DCN, for example, by reassigning the virtual IP address previously assigned to the primary DCN 12 to the backup DCN 14. Based on the reassignment of the backup DCN 14 as the new primary DCN, the I / O module 16 may forward information associated with (e.g., generated by) the device 20 (e.g., sensor data) to the backup DCN 14. Similarly, based on the reassignment of the backup DCN 14 as the new primary DCN, the backup DCN 14 may host the OPC UA server 66A and exchange information with OPC UA clients operating on the remote DCN 62.

[0035] Figure 3 schematically illustrates an environment in which selected embodiments of this disclosure may be implemented. This environment may include a device 20 operating as a cross-platform server, remote DCN 62a, remote DCN 62, and an OPC UA server 66. The remote DCN may be connected to a redundant DCN system 100 via one or more process automation networks 60. One or more devices (e.g., sensors, actuators) may also be operably coupled to the redundant DCN system 100.

[0036] Within the redundant DCN system 100, the private network 10 can communicatively connect the primary DCN 12, the backup DCN 14, the I / O module 16, and one or more keep-alive processes 50. As discussed herein, the private network 10 may be at least logically isolated from the process automation network 60. For example, the private network 10 may be implemented, for example, as a subnet of the larger process automation network 60, or separately. As an addition or alternative, the private network 10 may only carry traffic between DCNs 12 and 14, as well as the keep-alive processes 50 (and the I / O module, if applicable).

[0037] The private network 10, being "private," allows DCNs 12 and 14, which are part of the redundant DCN system 100, to immediately and privately transfer information such as subscription data 40 and / or virtual IP addresses 42. In many implementations, components outside the private network 10, such as equipment 20 and remote DCN 62, are not informed which DCNs within the private network 10 are processing and exchanging information. In other words, devices outside the redundant DCN system 100 only need to request the exchange of information based on a specific IP address, and it is not revealed to them whether that specific IP address is being transferred from the primary DCN 12 to the backup DCN 14.

[0038] Therefore, the primary DCN 12 includes a virtual IP address 42. As discussed herein, a remote DCN 62, and more specifically, an OPC UA server 66, may be configured to subscribe directly to data (e.g., sensor readings) to a specific virtual IP address, such as the virtual IP address 42 associated with the first DCN 12. If the keep-alive process 50 determines that the primary DCN 12 has become unavailable, the keep-alive process 50 and / or the backup DCN 14 may ensure that the backup DCN takes over the same virtual IP address 42 previously held by the primary DCN 12. Subsequently, the OPC UA server 66 hosted by the remote DCN 62 may feed the backup DCN 14, by virtual IP address 42, the same data (e.g., sensor readings) that the OPC UA server 66 has with the primary DCN 12, based on the fact that the backup DCN 14 appears under the same identity that is considered to be that of the previous primary DCN 12.

[0039] The primary DCN12 and backup DCN14 may also include cross-platform clients, namely, instances of OPC UA client 64A and OPC UA client 64B, respectively, as well as subscription data 40. As indicated by the arrows, subscription data 40, such as virtual IP addresses 42, can be exchanged between the primary DCN12 and backup DCN14. The subscription data 40 may indicate which remote data is fed to the DCN (and more specifically, which remote data is exposed by an OPC UA server hosted on a remote DCN to which a cross-platform client such as the OPC UA client 64 (see Figures 1-2) subscribes). The subscription data 40 may also indicate which equipment 20 the DCN "drives" (e.g., to which it provides output). For example, the subscription data may indicate that the OPC UA client 64A subscribes to a data feed exposed by an OPC UA server 66 hosted by a remote DCN 62. The subscription data 40 may be unique or identical depending on whether it has been shared between the primary DCN 12 and the backup DCN 14, or when it was last shared. In some implementations, the primary DCN 12 and backup DCN 14 sharing the subscription data can be reassigned more efficiently (if the backup DCN 14 needs to be reassigned as a new primary DCN).

[0040] The keep-alive process 50 may determine whether the primary DCN 12 has become unavailable. If the primary DCN 12 has become unavailable, the backup DCN 14 may be reassigned as the new primary DCN. As discussed herein, the keep-alive process 50 may be performed periodically, continuously, on request, and / or in response to certain conditions. For example, the keep-alive process 50 may be configured to run daily, continuously, at the request of one or more user accounts, and / or in response to temporary voltage drops and power outages.

[0041] Figure 3 shows the keep-alive process 50 as an independent process connected to other components of the redundant DCN system 100 via a private network 10. However, some implementations may include the keep-alive process 50 occurring in one or more of the following: the primary DCN 12, the backup DCN 14, isolated nodes included in the private network 10, isolated nodes included in the process automation network 60, and isolated nodes outside the process automation network 60. In some cases, the isolated nodes are integrated with the redundant DCN system. Furthermore, in some implementations, multiple instances of the keep-alive process 50 may run sequentially or in parallel. In addition, in some implementations, a single instance of the keep-alive process 50 may run on multiple devices, such as the primary DCN 12 and the backup DCN 14. In implementations where multiple backup DCNs are implemented, each of the multiple backup DCNs may host an instance of the keep-alive process 50.

[0042] The keep-alive process 50 may communicate continuously or intermittently with one or more of the primary DCN 12 and backup DCN 14. In some implementations, the keep-alive process 50 communicates with both the primary DCN 12 and backup DCN 14 to identify the state of each DCN. Thus, the function of the keep-alive process 50 is to identify the state of the primary DCN 12 (in particular, whether the primary DCN 12 is unavailable), but the keep-alive process 50 may also determine the state of one or more other DCNs, including backup DCN 14. By determining the state of both the primary DCN 12 and backup DCN 14, the keep-alive process 50 can proactively identify failures in the redundant DCN system. For example, by identifying that the primary DCN 12 is available but the backup DCN 14 is unavailable, the keep-alive process 50 may determine that a different DCN should be reassigned as a backup DCN.

[0043] In some implementations, the keep-alive process 50 may contribute to ranking backup DCNs. For example, in a redundant DCN system (e.g., 100) with multiple potential backup DCNs, the keep-alive process 50 may contribute to ranking backup DCN 14 as the first choice for redundancy if the primary DCN 12 is determined to be unavailable, but if backup DCN 14 is determined to be unavailable, it may be ranked as the second or third choice for redundancy (not shown in Figure 3). Ranking backup DCNs for redundancy may be based on hardware, software, network access, previous state as the primary DCN, and / or previous failure rate. Thus, the assignment of backup DCN 14 as a “primary” backup can change based on a number of dynamic factors.

[0044] Figure 4 schematically shows the components within the redundant DCN system 100 of Figure 3, following one or more selected embodiments of the implemented present disclosure. In Figure 4, the primary DCN 12 is unavailable (indicated by cross-hatching). As discussed herein, the unavailability of a DCN may be caused by automatic, manual, accidental, or intentional factors. Based on its unavailability, the primary DCN 12 may be unable to perform one or more functions.

[0045] To prevent and / or mitigate the impact on process automation due to the unavailability of the primary DCN12, the keep-alive process 50 is configured to detect that the primary DCN12 has become unavailable and to reassign the backup DCN14 as the new primary DCN, which, following the reassignment, assumes one or more functions previously performed by the primary DCN12. In some cases, the new primary DCN14 may assume fewer, alternative, or more functions compared to the primary DCN12. One or more of the new primary DCN14 and the keep-alive process 50 may contribute to determining which functions the new primary DCN14 should perform compared to the previous primary DCN12. As shown in Figure 4 and discussed herein, the reassignment may include the transfer of the virtual IP address 42 from the primary DCN12 to the new primary DCN14. This transfer may follow the keep-alive process 50 determining that the primary DCN12 is unavailable. The transfer of the virtual IP address 42 does not need to be implemented directly from DCN12 to DCN14, and in fact, the transfer may not be possible if the primary DCN12 completely fails. In some implementations, the transfer of the virtual IP address 42 from the primary DCN12 to the backup DCN14 may be implemented, for example, by the keep-alive process 50.

[0046] The reassignment may cause or enable the OPC UA client 64B, hosted by the new primary DCN 14, to immediately retrieve information from remote data feeds to which the OPC UA client 64B is subscribed, such as feeds published by the OPC UA server 66 hosted by the remote DCN 62. Based on this retrieved data, the OPC UA client 64B may output information (e.g., sensor readings, operation commands, etc.) to the device 20.

[0047] Following the reassignment of backup DCN14 as the new primary DCN, remote DCN62, I / O module 16, and / or equipment 20 may cease exchanging information with the previous primary DCN12. Instead, remote DCN62 and equipment 20 may exchange information with the new primary DCN14. Remote DCN62 may influence this transition without any extra configuration by continuing to send data that it exposes to the same virtual IP address 42, which now directs data to the new primary DCN14 rather than the previous primary DCN12. I / O module 16 may similarly influence this transition, for example, by directing all traffic to the same virtual IP address 42. Additionally or alternatively, I / O module 16 may influence this transition in other ways, for example, by rerouting the communication channel from the previous primary DCN12 to the new primary DCN14.

[0048] In some implementations, the DCN is configured to send the subscription data 40 to one or more other DCNs whenever the subscription data 40 is updated. By proactively distributing updates to the subscription data 40 to one or more other DCNs, if the primary DCN 12 becomes unavailable, each DCN in the redundant set will have the current subscription data 40 to work together. This allows the reassigned DCN to quickly take over functions previously handled by another DCN. For example, the subscription data 40 of the backup DCN 14 may be updated based on whether the primary DCN 12 has subscribed to or unsubscribed from a new data feed published by a new or existing OPC UA server 66, or has modified an existing subscription.

[0049] Following the assignment of a new primary DCN role to the backup DCN14 and the driving of the device 20 based on one or more remote data feeds published by the OPC UA server 66 hosted by the remote DCN62, the former primary DCN12 may become available again. Once available again, the former primary DCN12 may be reassigned as a primary DCN once more, and the new primary DCN14 may be reassigned as a backup DCN once more. Alternatively, once available again, the former primary DCN12 may be reassigned as a backup DCN, and the new primary DCN14 remains the same.

[0050] Figure 5 includes a flowchart illustrating an exemplary method 500 for carrying out an aspect of the present disclosure. For convenience, the operations in the flowchart are described with reference to a system that performs the operations. This system may include various components of various computer systems. Furthermore, the operations of method 500 are shown in a particular order, but this is not intended to be limiting. One or more operations may be rearranged, omitted, and / or added. Methods, systems, and apparatus disclosed herein, including but not limited to method 500, may be implemented using one or more processors.

[0051] In block 502, the system identifies one or more shared output channels and a private network that is at least logically isolated from the process automation network. These components may be part of a redundant DCN system (e.g., 100). The private network may be included in the process automation network but may be logically isolated, for example, as indicated by its “private” state. In some implementations, the private network may be outside the process automation network and may include one or more ingress / exit points for communicating with the external process automation network. The one or more shared output channels may or may not be isolated from the process automation network.

[0052] In block 504, the system subscribes a primary DCN associated with a private network and a virtual IP address to one or more remote data feeds. This may include, for example, a cross-platform client (e.g., OPC UA client 64) hosted by the primary DCN subscribing to one or more data feeds exposed by a remote cross-platform server (e.g., OPC UA server 66). In some implementations, the system may subscribe a primary DCN to one or more data feeds based on new or existing subscription data. As disclosed herein, the assignment of a DCN as a primary DCN may be based on a number of factors, including the DCN's hardware, software, location, accessibility, reliability, and configuration. A private network may communicatively combine multiple DCNs, of which only one is a primary DCN. For example, a private network may host one or more backup DCNs, as discussed herein. As mentioned above, at various points in time, such as periodically and / or in response to the primary DCN12 updating its subscription data, the primary DCN12 may provide its latest subscription data to the backup DCN14 (for example, by cloning it), so that the backup DCN14 can quickly take over when needed. In various implementations, the primary DCN and backup DCN may share the same subscription data, but if the remote data feed is configured to provide information to the virtual IP address currently assigned to the primary DCN, only the primary DCN can receive information from that remote data feed.

[0053] Returning to Figure 5, in block 506, the system determines whether the primary DCN has become unavailable. A DCN can become unavailable for a number of reasons, including malfunction, failure, and disconnection. As disclosed herein, the keep-alive process (e.g., 50) may be performed by one or more DCNs on a private network and / or by isolated nodes inside or outside the network. That is, the keep-alive process may run in parallel across multiple devices, on a single device, or partially by multiple devices. The keep-alive process may prevent and / or mitigate the impact of a DCN becoming unavailable by, for example, determining that a DCN is available. Thus, in some implementations, the keep-alive process may determine that the primary DCN is available and / or that one or more backup DCNs are available if the primary DCN becomes unavailable. As discussed herein, the keep-alive process may run, for example, continuously, periodically, on demand, or in response to certain events.

[0054] In response to determining that the primary DCN has become unavailable, in block 508, the system reassigns one or more of the backup DCNs on the private network as the new primary DCN using a virtual IP address. By reassigning one or more backup DCNs as the new primary DCN, the backup DCNs, which have previously received the latest subscription data from the primary DCN, may be able to perform one or more functions of the primary DCN. This may be beneficial, for example, when the primary DCN contributes to a critical process that, without its contribution, might fail or be performed improperly or inefficiently. Therefore, having a redundant set of DCNs in place when the primary DCN becomes unavailable can greatly benefit the process by creating a fail-safe that ensures productivity, efficiency, and procedural correctness.

[0055] In some implementations, multiple backup DCNs may be reassigned as primary DCNs using virtual IP addresses and / or virtual machines. For example, a backup DCN may include DCNs that currently implement other processes, thereby making only a subset of their total processing power available to perform the functions of the unavailable primary DCN. Thus, the processing power of a backup DCN may be partitioned and / or reserved for backup purposes, and the remaining processing power of the backup DCN may be dedicated to one or more other functions. This allows a backup DCN that cannot adequately perform the functions of the currently unavailable primary DCN on its own to cooperate with one or more other DCNs and use combined processing power to adequately perform the functions of the currently unavailable primary DCN. Virtual IP addresses and virtual machines may be implemented in association with these partitions to represent the I / O channels associated with the partitions, as if they were from a "single" new primary DCN. As discussed, a device may be configured to receive I / O only from identified devices, and by masking backup DCN segments under a common virtual IP address, functions previously performed by the primary DCN can be efficiently handled by multiple backup DCNs appearing as a single identified DCN.

[0056] In block 510, the system, in response to the reallocation, determines, based on subscription data, that a new primary DCN subscribes to one or more of the remote data feeds. In some implementations, the new primary DCN subscribes to one or more of the remote data feeds to drive one or more of the shared output channels. As discussed herein, subscription data may be transferred between DCNs prior to the failure of one or more of those DCNs. This shared subscription data may be used to determine which remote data feeds a backup DCN subscribes to and / or which output channels the backup DCN drives. Also as discussed herein, the keep-alive process may determine not only whether a DCN is unavailable, but also whether a DCN is available. In some implementations, determining whether a new primary DCN is available may include determining whether the DCN subscribes to one or more of the remote data feeds to drive one or more of the shared output channels. This ensures that functions previously handled by the previous primary DCN are now being performed by the new primary DCN.

[0057] Figure 6 is a block diagram of an exemplary computing device 610 that may be optionally used to implement one or more embodiments of the techniques described herein. The computing device 610 typically includes at least one processor 614 that communicates with several peripheral devices via a bus subsystem 612. These peripheral devices may include, for example, a storage subsystem 624 including a memory subsystem 625 and a file storage subsystem 626, a user interface output device 620, a user interface input device 622, and a network interface subsystem 616. The input and output devices enable user interaction with the computing device 610. The network interface subsystem 616 provides an interface to an external network and is coupled to a corresponding interface device in another computing device.

[0058] The user interface input device 622 may include pointing devices such as keyboards, mice, trackballs, touchpads, or graphics tablets, scanners, touchscreens integrated into displays, voice recognition systems, audio input devices such as microphones, and / or other types of input devices. In general, the use of the term “input device” is intended to include all possible types of devices and methods of inputting information into the computing device 610 or into a communication network.

[0059] The user interface output device 620 may include non-visual displays such as a display subsystem, printer, fax machine, or audio output device. The display subsystem may include flat panel devices such as cathode ray tubes (CRTs) or liquid crystal displays (LCDs), projection devices, or any other mechanism for creating visible images. The display subsystem may also provide non-visual displays, such as through an audio output device. In general, the use of the term “output device” is intended to include all possible types of devices and methods of outputting information from the computing device 610 to the user or to another machine or computing device.

[0060] The storage subsystem 624 stores programming and data structures that provide functionality for some or all of the modules described herein. For example, the storage subsystem 624 may include logic for carrying out selected embodiments of the method shown in Figure 5, and for implementing the various embodiments shown in Figures 1 to 4.

[0061] These software modules are generally executed by processor 614 alone or in combination with other processors. The memory 625 used within the storage subsystem 624 may include several memories, including main random access memory (RAM) 630 for storing instructions and data during program execution, and read-only memory (ROM) 632 for storing fixed instructions. The file storage subsystem 626 can provide persistent storage of program and data files and may include a hard disk drive, a floppy disk drive with an associated removable media, a CD-ROM drive, an optical drive, or a removable media cartridge. Modules implementing functionality in several implementation forms may be stored by the file storage subsystem 626 in the storage subsystem 624 or in other machines accessible by processor 614.

[0062] The bus subsystem 612 provides a mechanism for various components and subsystems of the computing device 610 to communicate with each other as intended. Although the bus subsystem 612 is schematically shown as a single bus, alternative implementations of the bus subsystem may use multiple buses.

[0063] The computing device 610 may be of various types, including workstations, servers, computing clusters, blade servers, server farms, or any other data processing systems or computing devices. Due to the ever-changing nature of computers and networks, the description of the computing device 610 shown in Figure 6 is intended only as a concrete example for the purpose of illustrating several implementation forms. Many other configurations of the computing device 610 are possible, having more or fewer components than the computing device shown in Figure 6.

[0064] While several implementations are described and shown herein, various other means and / or structures may be used to perform the function and / or obtain one or more of the results and / or benefits described herein, and each of such variations and / or modifications shall be considered to fall within the scope of the implementations described herein. More generally, all parameters, dimensions, materials and configurations described herein are intended to be illustrative, and the actual parameters, dimensions, materials and / or configurations are intended to depend on the particular one or more applications for which the teaching is used. Many equivalents to the particular implementations described herein will be understood by those skilled in the art, or can be verified simply by using the prescribed experiments. Therefore, it should be understood that the above implementations are presented for illustrative purposes only, and that implementations may be practiced in ways different from those specifically described and claimed, within the scope of the appended claims and their equivalents. The implementations of this disclosure cover each individual feature, system, article, material, kit and / or method described herein. Furthermore, any combination of two or more such features, systems, articles, materials, kits, and / or methods is also included within the scope of this disclosure, provided that such features, systems, articles, materials, kits, and / or methods are not mutually inconsistent. [Explanation of Symbols]

[0065] 10 Private Network 12 DCN, primary DCN 14 Backup DCN, DCN, New Primary DCN 16 I / O modules 20 equipment 40 Subscription Data 42 Virtual IP Addresses 50 Keep Alive Process 60 Process Automation Network 62 Remote DCN, DCN 64 OPC UA clients 64A OPC UA Client 64B OPC UA Client 66 OPC UA Servers 66A OPC UA Server 100 Redundant DCN Systems 610 Computing Devices 612 Bus Subsystem 614 Processors 616 Network Interface Subsystem 620 User Interface Output Devices 622 User Interface Input Devices 624 Memory subsystem 625 Memory subsystem, memory 626 File Storage Subsystem 630 Random Access Memory (RAM) 632 Read-only memory (ROM)

Claims

1. A redundant distributed control node (DCN) system, One or more shared output channels, A private network that is at least logically separated from the process automation network, A primary DCN for subscribing to one or more remote data feeds based on subscription data, and for driving one or more of the shared output channels based on one or more of the remote data feeds, One or more backup DCNs that are communicably connected to the primary DCN via the aforementioned private network, The aforementioned redundant DCN system allows the virtual IP addresses used to exchange data via the process automation network to be transferable between one or more of the primary DCN and the backup DCNs. The primary DCN is for transmitting the subscription data of the primary DCN to one or more of the backup DCNs via the private network, and the subscription data is for one or more backup DCNs that are capable of operating to subscribe one or more of the backup DCNs to one or more of the remote data feeds. A keep-alive process for determining whether the primary DCN has become unavailable, and in response to determining that the primary DCN has become unavailable, for triggering the reallocation of one or more of the backup DCNs as a new primary DCN, The new primary DCN subscribes to one or more of the remote data feeds to drive one or more of the shared output channels based on the subscription data. The aforementioned reassignment as a new primary DCN includes a keep-alive process that involves transferring the virtual IP address from the primary DCN to the new primary DCN. A redundant distributed control node (DCN) system equipped with the following features.

2. The redundant DCN system according to claim 1, wherein the keep-alive process is hosted on one or more of the backup DCNs.

3. The redundant DCN system according to claim 1, wherein the keep-alive process is hosted on each of the one or more backup DCNs.

4. The redundant DCN system according to claim 1, wherein the keep-alive process is hosted on a processing node separate from the one or more backup DCNs.

5. The redundant DCN system according to claim 4, wherein the processing node is integrated with the redundant DCN system.

6. The redundant DCN system according to claim 1, wherein the primary DCN is configured to periodically transmit the subscription data.

7. The redundant DCN system according to claim 1, wherein the primary DCN is configured to transmit the subscription data whenever the subscription data of the primary DCN is changed.

8. The redundant DCN system according to claim 7, wherein the subscription data of the primary DCN is modified in response to the primary DCN subscribing to a new node.

9. The redundant DCN system according to claim 7, wherein the subscription data of the primary DCN is modified in response to the primary DCN modifying an existing subscription.

10. The redundant DCN system according to claim 1, wherein the new primary DCN loads the subscription data in response to a determination that the primary DCN has become unavailable.

11. The redundant DCN system according to claim 10, wherein the new primary DCN subscribes to one or more of the remote data feeds in response to loading the subscription data, and drives one or more of the shared output channels based on one or more of the remote data feeds.

12. The redundant DCN system according to claim 1, wherein, following the reassignment of one or more of the backup DCNs as the new primary DCN, and in response to the primary DCN being made available again, the primary DCN is assigned as another backup DCN from the one or more backup DCNs, while the virtual IP address remains reassigned to the new primary DCN.

13. The redundant DCN system according to claim 1, wherein the private network is implemented using one or more of Ethernet, serial, or bus communication technologies.

14. The redundant DCN system according to claim 1, wherein the primary DCN or the new primary DCN shares the virtual IP address with another DCN.

15. The redundant DCN system according to claim 1, wherein the keep-alive process periodically determines the state of the primary DCN.

16. The redundant DCN system according to claim 1, wherein the keep-alive process determines the state of the primary DCN in response to a triggering event.

17. A method implemented by one or more processors, The steps include identifying one or more shared output channels and a private network through which one or more backup DCNs are connected in a way that allows them to communicate with the primary DCN, A step of determining whether the primary DCN subscribed to one or more remote data feeds has become unavailable in order to drive one or more of the shared output channels based on one or more of the remote data feeds, based on a keep-alive process, The steps include: the primary DCN is subscribed to one or more remote data feeds based on subscription data, and transmits the subscription data to one or more of the backup DCNs via the private network; In response to determining that the primary DCN has become unavailable, the step of causing a reassignment of one or more of the backup DCNs as a new primary DCN, wherein the reassignment as a new primary DCN includes transferring the virtual IP address of the primary DCN to the new primary DCN, and the new primary DCN subscribes to one or more of the remote data feeds based on the subscription data. Methods that include...

18. The method according to claim 17, wherein the keep-alive process is hosted on one or more of the backup DCNs.

19. A redundant distributed control node (DCN) system, The system comprises one or more computers, each having one or more processors and one or more storage devices that, when executed by one or more computers, store instructions that can be operated to cause the one or more processors to perform an operation, and the operation is, Based on one or more remote data feeds, in order to drive one or more shared output channels, determine whether the primary DCN currently subscribed to or previously subscribed to the said one or more remote data feeds has become unavailable, Identifying one or more backup DCNs that are logically separated from the process automation network associated with the redundant DCN system and are connected to the primary DCN via a private network that enables communication with the primary DCN, The aforementioned redundant DCN system allows the virtual IP addresses used to exchange data via the process automation network to be transferable between one or more of the primary DCN and the backup DCNs. The subscription data of the primary DCN is transmitted via the private network to one or more of the backup DCNs for identification purposes. In response to determining that the primary DCN has become unavailable, the reassignment involves reallocating one or more of the backup DCNs as a new primary DCN, wherein the reallocation as a new primary DCN includes transferring the virtual IP address from the primary DCN to the new primary DCN. A redundant distributed control node (DCN) system, including [the specified element].

20. The redundant distributed control node (DCN) system according to claim 19, wherein the new primary DCN subscribes to one or more of the remote data feeds based on the subscription data.

Citation Information

Patent Citations

  • Control system

    JP2006236371A

  • System processing using OPC UA, communication method using OPC UA, and load balancer

    JP2021072105A

  • A system of aggregating servers

    WO2023061699A1