OPC UA does not provide redundancy but defines specific services and data structures by which redundancy can be achieved in a standardized manner. Vendors can create redundant client and servers with a consistent behaviour.
Generally we can distinguish redundancy of: servers/clients, communication paths and signals. Although the specification provides support only for client/server redundancy, product vendors can incorporate all kinds of redundancy into the framework proposed by the specification. For example, a server can establish wireless connection as the means of recovery from cable connection failure or a server can use many data sources bound to a variable to provide continuous updating of the variable value even if one of the sensors has been damaged.
Note – Redundancy is defined in UA Part 4, the Information Model is specified in OPC UA Part 05
Server Transparent Failover
Discovery ID: RED
Server failover is transparent to the Client: the Client does not care or even know that failover has occurred.
- No Client code required to keep connection operational.
- Clients able to determine
- which Servers are in the redundant set
- the service level of each server
- which Server is currently responsible for the client session
- Client-Server connection information is synchronized across servers
Nothing needed in the Client.
Server Non-Transparent Failover
Discovery ID: RED
Client is aware that Server failover has occurred. When a Server fails, the number of actions required by Client depends on the failover mode supported by the Server.
There are four failover modes: Cold, Warm, Hot and HotAndMirrored. Failover for this type of redundancy requires the Client to monitor Server status and to switch to a backup Server if it detects a failure. The failover method tells the Client what it must do when connecting to a Server and when a failure occurs. Cold redundancy requires a Client to reconnect to a backup Server after the initial Server has failed. Warm redundancy allows a Client to connect to multiple Servers, but only one Server will be providing values. In hot redundancy multiple Servers are able to provide data and a Client can connect to multiple Servers for the data.
Client must use failover mode to determine required actions to take when Server fails.
Enables backup clients to monitor the active client’s session with the server. Backup clients are able to instruct the server to transfer subscriptions if the active client has failed.
- Client failover requires server capabilities.
- Possible to achieve no data loss upon recovery from client failover
Multiple Network Paths
Enables access to the same Server via different network paths.
- If transparent, then handled by the network infrastructure
- If non-transparent, then a Server exposes different endpoints for each path.