One option is the usage of exclusive ownership. You need to set the ownership QoS policy to exclusive both on the DataReader(s) and the DataWriter(s). The redundant DataWriters can both publish their information, but the DataReader(s) will only accept data from the DataWriter with the highest ownership strength. When that DataWriter is no longer available, the DataReader will automatically accept data from the lower strength DataWriter from that point forward. In case the higher strength DataWriter returns, that one will take over ownership again.
Best regards, Niels
posted on Thursday, February 26, 2009 - 10:06 am
how does ownership react if the original publisher violated a QoS e.g. liveliness or deadline. Is there some (I presume) provider specific) alogirithm to say that "although the provider failed to meet it's QoS at the point when I switched to the second publisher it is now meeting its QoS regularly enough for me to switch back (when appropriate)"?
If liveliness is lost or a deadline is missed, the ownership of an instance is 'resetted' at the subscriber. From that point forward it will automatically accept data from the next highest strength publisher. When the original one becomes alive again or starts to live up to the requested deadline, it will take over ownership again.