Collaborative DataWriters

The Collaborative DataWriters feature allows you to have multiple DataWriters publishing DDS samples from a common logical data source. The DataReaders will combine the DDS samples coming from these DataWriters in order to reconstruct the correct order in which they were produced at the source. This combination process for the DataReaders can be configured using the AVAILABILITY QosPolicy (DDS Extension). It requires the middleware to provide a way to uniquely identify every DDS sample published in a DDS domain independently of the actual DataWriter that published the DDS sample.

In Connext DDS, every modification (DDS sample) to the global dataspace made by a DataWriter within a DDS domain is identified by a pair (virtual GUID, sequence number).

The virtual GUID (Global Unique Identifier) is a 16-byte character identifier associated with the logical data source. DataWriters can be assigned a virtual GUID using virtual_guid in the DATA_WRITER_PROTOCOL QosPolicy (DDS Extension).

The virtual sequence number is a 64-bit integer that identifies changes within the logical data source.

Several DataWriters can be configured with the same virtual GUID. If each of these DataWriters publishes a DDS sample with sequence number '0', the DDS sample will only be received once by the DataReaders subscribing to the content published by the DataWriters (see Figure: Global Dataspace Changes).

Figure: Global Dataspace Changes

© 2018 RTI