OPC UA Serversthat are part of a Redundant Server Sethave certain AddressSpacerequirements. These requirements allow a Client to consistently access information from Serversin a Redundant Server Setand to make intelligent choices related to the health and availability of Serversin the Redundant Server Set.
Serversin the Redundant Server Setshall have an identical AddressSpaceincluding:
- identical NodeIds
- identical browse paths and structure of the AddressSpace
- identical logic for setting the ServiceLevel
The only Nodesthat can differ between Serversin a Redundant Server Setare the Nodesthat are in the local Servernamespace like the Server diagnostic Nodes. A Client that fails over shall not be required to translate browse paths or otherwise resolve NodeIds. Serversare allowed to add and delete Nodesas long as all Serversin the Redundant Server Setwill be updated with the same Nodechanges.
All Serversin a Redundant Server Setshall be synchronized with respect to time. This may mean installing a NTP service or a PTP service.
There are other important considerations for a redundant system regarding synchronization:
- EventIds:Each UA Serverin a Transparent and HotAndMirrored Redundant Server Setshall synchronize EventIds to prevent a Clientfrom mistakenly processing the same event multiple times simply because the EventIdsare different. This is very important for Alarms & Conditions. For Cold, Warm, and Hot Redundant Server Sets Clientsshall be able to handle EventIdsthat are not synchronized. Following any Failoverthe Clientshall call ConditionRefresh defined in OPC 10000-9.
- Timestamp (Source/Server):If a Serveris exposing data from a downstream device (PLC, DCS etc.) then the SourceTimestampand ServerTimestampreported by all redundant Serversshould match as closely as possible. Clientsshould favour the use of the SourceTimestamp.
- ContinuationPoints:Behaviour of continuation points does not change, in that Clientsshall be prepared for lost continuation points. Serversin Transparent and HotAndMirrored Redundancysets shall synchronize continuation points and they may do so in other modes.