Ordered Access to Data of Different T... PreviousNext
Data Distribution Service (DDS) Forum > DDS Technical Forum >
Next message ertan  posted on Friday, March 06, 2009 - 11:39 am

I wonder if there's a native solution in DDS to access the data of different topics in order.

I know that "GROUP" presentation QoS provides this, but it has a limitation that the DataWriters must be from the same Publisher.

I want to publish two topics from two different applications, and then process these in the order they are published. How can I achieve something like that?
Next message Hans van 't Hag  posted on Friday, March 06, 2009 - 11:44 am
Hi Ertan,

Each read sample is accompanied by its related 'sampleInfo' meta-data that includes the source_timestamp of the time the data was written. So assuming there is a sufficient notion of time (meaning some time-alignment) in your system, you can at least check the timestamps for correct order-based processing.
Next message ertan  posted on Friday, March 06, 2009 - 12:50 pm
Hi Hans,

Thanks for the quick response.

I thought about the source_timestamp too. But as you said it requires some time synchronization between the nodes.

I wonder if it is possible to add something like "GLOBAL" presentation QoS to DDS spec which would allow this ordering natively? Was this issue ever raised in OMG meetings before?

I think this is important for some systems where data should be processed in order, or otherwise it becomes meaningless.
Next message Hans van 't Hag  posted on Tuesday, March 17, 2009 - 01:54 pm
Hi Ertan,

One of the basic assumptions of DDS was NOT to imply global-locking and/or transaction-like behavior in order to preserve the timeliness (reactivity, determinism) characteristics of the targeted loosely coupled systems.

I've been actively involved in designing/implementing/maintaining large-scale distributed combat-systems with DDS and where able to process information fine based upon the supported QoS of ordered-delivery based upon source-timestamps in combination with (sufficient) time-alignment in the system (for which 'simple' NTP is OK in large parts of the system dealing with user-interaction)

Maybe I'm still missing a good use-case w.r.t. your requirement. I don't remember this issue being raised in the OMG before.
Next message Goktug F. Gokdogan  posted on Thursday, March 19, 2009 - 08:05 am
Next message Goktug F. Gokdogan  posted on Thursday, March 19, 2009 - 11:05 am
Sorry about the previous post (fooled by the preview button :-) ).

I didn't get how the time stamps solve this problem.

Consider the following scenario where A , B and C are different participants:

\ \
\ \
\ \
\ \

(Dashes are the time line increasing toward right-hand side direction)

A sends message 'x' at some time. B processes the message and generates another message 'y'. The third participant, C, first receives the message y (which is caused by x) and then receives the message x.

Looking from C's perspective; How would C know that it did not yet receive the 'x', when 'y' is received?
In the literature, the relation between x and y is called a "happens before" relationship and the problem is known as the causality error. (various algorithms cope with this problem, like 'vector time').

I don't see how source time-stamps (alone) are used in this problem. 'x' and 'y' are not required to be same instance or even same topic. If it were how long should I wait after on_data_available call in order to receive all updates and let them be sorted by DDS?

Correct me if I am wrong, but according to my limited knowledge on DDS, there is no way to solve this common problem without building some complicated mechanisms over DDS which could be far more easier if built into DDS.
Next message Goktug F. Gokdogan  posted on Thursday, March 19, 2009 - 11:39 am
The drawing will not appear correct. So I gave up trying. I will try to post it as image here:



PS: Preview definetly not works for me...
Back to top
Add Your Message Here
Username: Posting Information:
This is a private posting area. Only registered users and moderators may post messages here.
Options: Post as "Anonymous"
Enable HTML code in message
Automatically activate URLs in message