Data Distribution Service

Data Distribution Service

Data Distribution Service for Real-time Systems (DDS) is a specification of a publish/subscribe middleware for distributed systems created in response to the need to standardize a data-centric publish-subscribe programming model for distributed systems. A few proprietary DDS solutions have been available for several years, until 2004 when the two major DDS vendors, the American Real-Time Innovations and the French Thales Group teamed up to create the DDS specifications that have been approved by the Object Management Group.

Version History

* DDS 1.3 — Working version, OMG members only.
* DDS 1.2 (January 1, 2007)
* DDS 1.1 (December 4, 2005)
* DDS 1.0

The DDS specification describes two levels of interfaces:

* A lower DCPS (Data-Centric Publish-Subscribe) level that is targeted towards the efficient delivery of the proper information to the proper recipients.

* An optional higher DLRL (Data Local Reconstruction Layer) level, which allows for a simple integration of DDS into the application layer.


DDS entities

; DomainParticipantFactory

: A singleton factory that is the main entry point to DDS.

; DomainParticipant

: Entry point for the communication in a specific domain; it represents the participation of an application in one DDS Domain. Furthermore, it acts as a factory for the creation of DDS Publishers, Subscribers, Topics, MultiTopics and ContentFilteredTopics.

; TopicDescription

: Abstract base class for Topic, ContentFilteredTopic and MultiTopic.

; Topic

: A specialization of TopicDescription that is the most basic description of the data to be published and subscribed.

; ContentFilteredTopic

: A specialized TopicDescription like the Topic that additionally allows content-based subscriptions.

; MultiTopic

: A specialization of TopicDescription like the Topic that additionally allows subscriptions to combine/filter/rearrange data coming from several topics.

; Publisher

: A Publisher is the object responsible for the actual dissemination of publications.

; DataWriter

: Allows the application to set the value of the data to be published under a given Topic.

; Subscriber

: A Subscriber is the object responsible for the actual reception of the data resulting from its subscriptions.

; DataReader

: A DataReader allows the application to declare the data it wishes to receive (by making a subscription using a Topic, ContentFilteredTopic or MultiTopic) and to access the data received by the attached Subscriber.

DDS model

DDS is networking middleware that simplifies complex network programming. It implements a publish/subscribe model for sending and receiving data, events, and commands among the nodes. Nodes that are producing information (publishers) create "topics" (e.g., temperature, location, pressure) and publish "samples." DDS takes care of delivering the sample to all subscribers that declare an interest in that topic.

DDS handles all the transfer chores: message addressing, data marshaling and demarshalling (so subscribers can be on different platforms than the publisher), delivery, flow control, retries, etc. Any node can be a publisher, subscriber, or both simultaneously.

The DDS publish-subscribe model virtually eliminates complex network programming for distributed applications.

DDS supports mechanisms that go beyond the basic publish-subscribe model. The key benefit is that applications that use DDS for their communications are entirely decoupled. Very little design time has to be spent on how to handle their mutual interactions. In particular, the applications never need information about the other participating applications, including their existence or locations. DDS automatically handles all aspects of message delivery, without requiring any intervention from the user applications, including:
* determining who should receive the messages,
* where recipients are located,
* what happens if messages cannot be delivered.

This is made possible by the fact that DDS allows the user to specify Quality of Service (QoS) parameters as a way to configure automatic-discovery mechanisms and specify the behavior used when sending and receiving messages. The mechanisms are configured up-front and require no further effort on the user's part. By exchanging messages in a completely anonymous manner, DDS greatly simplifies distributed application design and encourages modular, well-structured programs.

DDS also automatically handles hot-swapping redundant publishers if the primary fails. Subscribers always get the sample with the highest priority whose data is still valid (that is, whose publisher-specified validity period has not expired). It automatically switches back to the primary when it recovers, too. DDS is available from different vendors with Ada, C, C++, C#, and Java APIs.

See also

* Middleware
* Open architecture computing environment

External links

* [ The OMG DDS portal]
* [ RTI Data Distribution Service commercial implementation]
* [ PrismTech OpenSplice DDS commercial implementation]
* [ Twin Oaks Computing's CoreDX commercial DDS implementation]
* [ OCI's OpenDDS open source DDS implementation]
* [ MilSOFT commercial implementation]
* [ PocoCapsule for CORBA+DDS] A framework for component-based CORBA and [ DDS] applications.
* [ JacORB a free Java implementation of OCI's CORBA standard]
* [ InterCOM DDS Gallium commercial implementation]

Wikimedia Foundation. 2010.

Look at other dictionaries:

  • Data Distribution Service — Saltar a navegación, búsqueda Data Distribution Service para sistemas en tiempo real (Denominado de forma abreviada también como DDS) es la especificación para un middleware de tipo publish/subscribe en sistemas distribuidos. DDS ha sido creado… …   Wikipedia Español

  • Data distribution service — for real time systems (DDS) is a specification of a publish/subscribe middleware for distributed systems created by the Object Management Group (OMG) in response to the need to standardize a data centric publish subscribe programming model for… …   Wikipedia

  • Data Distribution Service — Pour les articles homonymes, voir DDS. Pile de protocoles 7.  Application 6.  …   Wikipédia en Français

  • Data Distribution Service — Der Data Distribution Service (DDS) ist ein Standard, der von der Object Management Group spezifiziert wurde. Inhaltsverzeichnis 1 Überblick 2 Konzepte 3 Implementierungen 4 Weblinks …   Deutsch Wikipedia

  • Multichannel Multipoint Distribution Service — MMDS is also an acronym for Mortality Medical Data System. MMDS microwave dish Broadband Radio Service (BRS) formerly known as Multichannel Multipoint Distribution Service (MMDS), also known as Wireless Cable, is a wireless telecommunications… …   Wikipedia

  • Data protection (privacy) laws in Russia — is a rapidly developing branch of the Russian legislation. All the basic legal acts in this field have been enacted most recently, mainly in the 2005 2006. The present article is an attempt to summarise the substance and main principles of the… …   Wikipedia

  • Data logger — Cube storing technical and sensor data A data logger (also datalogger or data recorder) is an electronic device that records data over time or in relation to location either with a built in instrument or sensor or via external instruments and… …   Wikipedia

  • Data envelopment analysis — (DEA) is a nonparametric method in operations research and economics for the estimation of production frontiers[clarification needed]. It is used to empirically measure productive efficiency of decision making units (or DMUs). Non parametric… …   Wikipedia

  • Data Management Inc. — Data Management Inc. Type Private Industry Computer software Digital distribution Founded …   Wikipedia

  • Distribution network operator — Distribution network operators (DNOs) are companies licensed to distribute electricity in Great Britain by the Office of Gas and Electricity Markets. Map of DNO licence areas There are fourteen licensed geographically defined areas, based on the… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”

We are using cookies for the best presentation of our site. Continuing to use this site, you agree with this.