|
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 augment CORBA with a data-centric publish-subscribe specification. A few proprietary DDS solutions have been available for several years, until 2004 when the two major DDS vendors, Real-Time Innovations and Thales Group (this product is now marketed through PrismTech) teamed up to create the DDS specifications that have been approved by the Object Management Group. Publish/Subscribe (or pub/sub) is an asynchronous messaging paradigm that allows for better scalability and a more dynamic network topology. ...
This article or section should be merged with Distributed computing In computer science, a distributed system is an application that consists of components running on different computers concurrently. ...
In computing, Common Object Request Broker Architecture (CORBA) is a standard for software componentry, created and controlled by the Object Management Group (OMG). ...
The Thales Group (Euronext: HO) is a global electronics company serving aerospace, defence, and information technology markets worldwide. ...
Object Management Group (OMG) is a consortium, originally aimed at setting standards for distributed object-oriented systems, and is now focused on modeling (programs, systems and business processes) and model-based standards in some 20 vertical markets. ...
Version History
The DDS specification describes two levels of interfaces: January 1 is the first day of the calendar year in both the Julian and Gregorian calendars. ...
2007 (MMVII) is the current year, a common year starting on Monday of the Gregorian calendar and the Anno Domini (common) era. ...
December 4th redirects here. ...
2005 (MMV) was a common year starting on Saturday of the Gregorian calendar. ...
- 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.
Architecture DDS elements - DDS Publisher
- A DDS object that is responsible for data distribution. A publisher may publish data of different types.
- DDS DataWriter
- A DDS object that an application must use to communicate to a publisher the existence and value of data-objects of a given type.
- DDS Subscriber
- A DDS object that is responsible for receiving published data and making it available to the receiving applications. A subscriber may receive and dispatch data of different types.
- DDS DataReader
- A DDS object, attached to a subscriber, that is responsible accessing received data and making it available to an application.
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. To meet Wikipedias quality standards, this article or section may require cleanup. ...
// Overview History Interprocess communication Pipes Signals Sockets Security Applications in distributed computing References and bibliography General Unix/linux-specific network programming Microsoft Windows-specific network programming Other See also Computer networks External links Categories: Computer networks ...
A node is a device that is connected as part of a computer network. ...
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. In computer science, in the context of data storage and transmission in programming languages like Java, serialization is the process of saving an object onto a storage medium (such as a file, or a memory buffer) or to transmit it across a network connection link, either as a series of...
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. In the fields of packet-switched networks and computer networking, the traffic engineering term Quality of Service (QoS) refers to control mechanisms that can provide different priority to different users or data flows, or guarantee a certain level of performance to a data flow in accordance with requests from the...
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 C, C++ and Java APIs. C is a general-purpose, procedural, imperative computer programming language developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system. ...
C++ (pronounced see plus plus, IPA: ) is a general-purpose, high-level programming language with low-level facilities. ...
Java is an object-oriented programming language developed by Sun Microsystems in the early 1990s. ...
A application programming interface (API) is the interface that a computer system, library or application provides in order to allow requests for services to be made of it by other computer programs, and/or to allow data to be exchanged between them. ...
See also To meet Wikipedias quality standards, this article or section may require cleanup. ...
External links |