Role of DCPSInfoRepo server in pub su... PreviousNext
Data Distribution Service (DDS) Forum > DDS Technical Forum >
Message/Author
Next message Agent Smith  posted on Saturday, April 03, 2010 - 01:53 pm
What is the role of DCPSInfoRepo server in OpenDDS for publisher and subscriber discovery?As I understand,since both are topic based ,so either of them should just care about the topic type of the broadcast data..and not who send or recieve it?RTI and Opensplice dont need that...

When a subscriber joins late,would it send a request to all publishers to resend data?

In case of PERSISTENT durability,is the data stored as a file in the local filesystem(so have to give some filepath in the application)?

In case of reliable reliability,pub wants ack from sub.Now if there are 5 subs ,then will the pub expect 5 acks?Does the pub know how many pubs are there in the network?
Next message Hans van 't Hag  posted on Tuesday, April 06, 2010 - 12:16 pm
Hi Agent Smith,

W.r.t. OpenSplice DDS, late joiners are provided with transient/persistent data by our distributed durability-service(s). In case such a service was already running on the machine where you start the late-joiner, the data is 'instantly available' as its already locally maintained (in shared-memory) by the co-located durability-service so there's actually also no copying of the data required. In case of a 'fresh starting node' the data will be 'aligned' from a remote node's durability-service which could be the publishing node, but not necessarily.

W.r.t. reliability, in OpenSplice, its receiving nodes that acknowledge reliable data (to the sending node, not the publisher), not applications. When there are multiple subscribers on a single node, there's only a single-nack (and actually the data will be de-serialized also only 1 time by our networking-service after which its made available by that service to all 'nodal' subscribers, again without having to create multiple copies of the data as we utilize shared-memory in which we maintain the information for all subscribers. Note that of course the view/instance-state information is specific for each subscriber/reader as this state is impacted by the actions of each reader, but not the payload/samples themselves).
Next message Mike Martinez  posted on Tuesday, April 13, 2010 - 04:37 pm
Greetings Agent Smith!

> What is the role of DCPSInfoRepo server in OpenDDS for
> publisher and subscriber discovery?

In OpenDDS, the DCPSInfoRepo provides the mechanism for
publications and subscriptions to become associated.
This includes the Request/Offered compatibility matching
for newly joining publications and subscriptions.
Once this processing is complete, the DCPSInfoRepo
no longer participates in the associations and data
communication is then exclusively among the participating
processes.

Information about all active participants is cached in
the DCPSInfoRepo to speed matching, and each OpenDDS
participant connects to the DCPSInfoRepo to exchange
compatibility information as the processes are initializing.
As publications and subscriptions are created by a process,
their information is provided to the DCPSInfoRepo for
compatibility processing. In addition to the discovery
services, the DCPSInfoRepo also publishes the Builtin
Topic data, including any updates.

>
> As I understand,since both are topic based ,so either of
> them should just care about the topic type of the broadcast
> data..and not who send or recieve it?RTI and Opensplice
> dont need that...
>
> When a subscriber joins late,would it send a request to
> all publishers to resend data?

The Quality of Service policy settings will determine
which, if any, samples will be sent to a newly joining
subscription. In OpenDDS, iff a publication determines,
via the PERSISTENCE, HISTORY, RESOURCE_LIMITS, LIFESPAN,
and WRITER_DATA_LIFECYCLE policy values that there is data
to send to a newly joining subscription, it will do so.

>
> In case of PERSISTENT durability,is the data stored as a
> file in the local filesystem(so have to give some filepath
> in the application)?

In OpenDDS, the PERSISTENT data is stored in a file
system within a directory specified by a configuration
setting. The default setting is the directory
'./OpenDDS-durable-data-dir' relative to the current
working directory of the process.

>
> In case of reliable reliability,pub wants ack from sub.Now
> if there are 5 subs ,then will the pub expect 5 acks?Does
> the pub know how many pubs are there in the network?

In OpenDDS, transport reliability is provided between
endpoints. This means that acknowledgments are only sent
between processes. If there are many subscriptions in
a single process, only a single acknowledgment will be
generated from that process.

The DDS specification provides the PublicationMatchedStatus
communication status that includes a current count of
associated subscriptions. Each publication can be queried
independently for this value.

HTH,
Mike
Back to top
Add Your Message Here
Post:
Username: Posting Information:
This is a private posting area. Only registered users and moderators may post messages here.
Password:
Options: Post as "Anonymous"
Enable HTML code in message
Automatically activate URLs in message
Action: