Client channel redundancy|OPC UA Standard|Forum|OPC Foundation

Avatar
Search
Forum Scope


Match



Forum Options



Minimum search word length is 3 characters - maximum search word length is 84 characters
Lost password?
sp_Feed sp_PrintTopic sp_TopicIcon
Client channel redundancy
Avatar
Alexander Sobetskiy
Member
Members
Forum Posts: 6
Member Since:
07/15/2024
sp_UserOfflineSmall Offline
1
09/18/2025 - 18:41
sp_Permalink sp_Print sp_EditHistory

Hi!

Let's say there is an ua server with one endpoint but it is located on a pc with N network cards. (N = 2 for simplicity)

The client's goal is to maintain subscriptions on either one of the available channel - the active channel.

How does the client should monitor connection to the inactive channel? Is there a standard mechanism to do it?

Do we always need to create a session on inactive channel to monitor its connection status?

 

Possible monitoring connection ways:

1. Both channels connect to the server, create own sessions, but only the active channel creates subscriptions. The inactive channel monitors connection by periodically reading ServerStatus variable (as stated in 6.7 Re-establishing connections). In case active channel disconnects we are activating its session on another channel (the inactive channel becomes active)

2. Same, but the inactive channel does not create a session and monitoring connection by periodically calling GetEndpoints service

3. Same, but the inactive channel does not create a session and monitoring connection by periodically sending Hello message (but it seems to break the specification as the server expects only single hello message...)

4. Not monitoring connection on inactive channel (s) and connecting one by one from scratch (with activating session) only in case of active channel connection loss. Switching to the available channel can be slow...

 

Thanks in advance

Avatar
Randy Armstrong
Admin
Forum Posts: 1656
Member Since:
05/30/2017
sp_UserOfflineSmall Offline
2
09/21/2025 - 20:33
sp_Permalink sp_Print

The minimum would create a session and Read ServiceLevel.

Not sure why you want to optimize by using GetEndpoints but it would likely solve the problem.

Messing with low level messages could get you client flagged as a attacker and put on delays

Your requirements tell you if you need warm failover or cold.

Forum Timezone: America/Phoenix
Most Users Ever Online: 510
Currently Online:
Guest(s) 28
Currently Browsing this Page:
1 Guest(s)
Top Posters:
Forum Stats:
Groups: 2
Forums: 10
Topics: 1508
Posts: 5103