What is DDS? The Proven Data Connectivity Standard for the Industrial Internet of Things The OMG Data Distribution Service (DDS) is a middleware protocol and API standard for data-centric connectivity from the Object Management Group. It integrates the components of a system together, providing low-latency data connectivity, extreme reliability, and a scalable architecture that business […]
DDS Overview and Concepts
What is the best way of guaranteeing messages are received in the same order in which they are published?
Two scenarios Making sure messages on the same topic are received in the order they are published (i.e. publisher send messages 1, 2, and 3 on topic A → subscriber receives messages 1, 2, and 3 on topic A in this exact order) Making sure messages of different topics are also received in the same […]
Overview of DDS
This guide gives a quick and simple overview of the concepts you will meet when you use a Distributed Data Service (DDS) System. What is DDS? In today’s connected world data is everywhere. Information is stored on computers and needs to quickly travel around the globe. Consider a train system. The trains travel on tracks […]
Creating Topics in the Data Distribution Service (DDS)
Creating topics in the Data Distribution Service explores how to make a topic to allow you to send data around the system. The Data Distribution Service (DDS) sends data to the components that need it. Topics are the basic unit of information that the DDS system reads and writes. To allow data to flow around […]
Why OpenSplice does not allow QoS to change
There are a number of technical reasons that OpenSplice does not allow QoS changes even though the OMG specification does indicate that some should be allowed. This article covers this reasoning and why QoS changes can lead to inconsistencies if allowed. Difficulties The first difficulty is that the specification does not define whether an individual […]
Why might Sample Data not arrive?
Why might Sample Data not arrive? There are a couple of main reasons the sample data may not arrive and here are the causes, and solutions, to these problem The Configuration is not Strict Reliable Setting the Reliability Qos Policy to RELIABLE is not enough on its own to guarantee that a DataWriter delivers a […]
Data Distribution Service (DDS) Built-in topics
DDS built-in topics are a special kind of topic that the Data Distribution Service uses to help applications discover each other. The middleware handles these topics automatically. An application can also access them to get information about the Domain. Read on to find out how to do this. DDS middleware needs to keep track […]
OpenSplice ishapes example
The ishapes example is a visual example to show DDS in action. OpenSplice publishes and subscribes to different coloured shapes seen on the screen. [cmtoc_table_of_contents] Running the OpenSplice ishapes example What does the ishapes example show? The ishapes example is a visual example showing DDS in action. It allows you to create a writer which […]
Whats the relationship between Reliability and History?
Reliability and History are complementary in the sense that History works independent from Reliability and serves a different purpose. Reliability is to assure that data is reliably delivered from a writer to a reader. The spec states that ‘in steady state’ RELIABILITY means that all samples in a writer’s (history) cache will eventually be delivered […]
OpenSplice Memory User Questions
This article contains some memory related, submitted OpenSplice questions that may prove useful to others. See the OpenSplice DDS documentation for more information. [cmtoc_table_of_contents] How big is the Shared Memory segment (typically)? Is there a process attached to it? OpenSplice utilizes a size-configurable shared-data segment for holding all data and metadata. A minimum size of […]
OpenSplice General User Questions
This article contains some more generalised, submitted OpenSplice questions that may prove useful to others. See the OpenSplice documentation for more information. [cmtoc_table_of_contents] Does OpenSplice support real-time variants of the Java virtual machine? Does OpenSplice support real-time variants of the Java virtual machine? Yes OpenSplice is compatible with the real-time variants of Java, most notably […]
New Features in all OpenSplice DDS V6 versions
As new releases of OpenSplice DDS become available they may contain new features and new functionality. There are two main types of release, major and minor. You can find more information on the differences between these and how to upgrade on the Upgrading OpenSplice DDS page. This page lists all the new features that have […]
How to Filter Topic Content : Query Conditions and Content Filtering
There are three main ways to filter Topic content. Instance-Handle Filter during read This option allows you to manually filter content based on the topic key. This is a very efficient way of obtaining data of a specific instance as it doesn’t require the execution of any SQL query on content. It instead ‘points’ directly […]
Are there any differences running on embedded platforms?
None. All functionality is equally available in embedded platforms and the full set of supported profiles are available on diskless nodes as well.
How long does published data remain in Shared Memory?
Published data in OpenSplice remains ‘stored in the shared-memory’ until there’s no usage for it anymore. This ‘usage’ can be identified as If it is part of a writer’s history on the sample that is awaiting transferring to local subscribers and/or sending over the network, If it is part of the ‘transient/persistent’ data-storage on a […]