Vortex OpenSplice

Vortex OpenSplice Launcher can fail to open in Debian 9 environment

In the Debian 9 environment, the Vortex OpenSplice Launcher tool will fail to open if the Vortex OpenSplice installation directory path is too long. Why does the Vortex OpenSplice launcher fail? The path length is problematic.    It is a problem with the bundling of the java 8 jre.   Seeing problem in debian 9 […]

Installing Vortex OpenSplice without the GUI

Sometimes you may want to go about installing OpenSplice without the installation GUI in order to automate installation. This article documents the steps for doing this. Normally  installation of Vortex OpenSplice is done with  the installation wizard which guides you though the installation steps. On occasion you may want to install without using the GUI […]

Vortex OpenSplice DDS Configuration

Wondering how to configure dds?  Vortex OpenSplice DDS configuration  is easy to do.  Configuring DDS allows you to choose the perfect set up for your use case. [cmtoc_table_of_contents]   How do you configure Vortex OpenSplice DDS? Configuration of Vortex OpenSplice DDS is done with an xml file. This file allows you to specify which architectural […]

Vortex OpenSplice Launcher on Ubuntu 16.04 can produce a Segmentation Fault

When starting the Vortex OpenSplice launchner on Ubuntu 16.04 (linux kernel 4.8.0-56) a segmentation fault is seen. Why does the Vortex OpenSplice launcher fail with a segmentation fault The reason you are seeing a segmentation fault when starting the launcher on Ubuntu 16.04 (linux kernel 4.8.0-56) is because there is a Java Plugin issue on […]

Comparing Vortex OpenSplice to other DDS implementations

Q: How do you position Vortex OpenSplice against other DDS implementations ? Most (commercial) DDS-implementations are OK and for many use cases are sufficiently ‘technically equal’ (w.r.t. properly implementing the DDS-specification), so that decisions are often made based on non-technical reasons such as locality, support, relationships and licensing, etc. Yet it’s good to know where […]

Comparing Vortex OpenSplice to RabbitMQ

Q: How do you position Vortex OpenSplice against RabbitMQ RabbitMQ is an implementation of Advanced Message Queuing Protocol (AMQP). We occasionally encounter customers evaluating DDS against AMQP and other technologies, so we produced a white paper that compares and contrasts the technologies (see Internet of Things and Industrial Internet Messaging Technologies Comparison Whitepaper. Yet  for […]

On fault-tolerant data-paths

There are various ways to implement redundant (fault-tolerant) data-paths with Vortex products: using IP-level 3rd party solutions many adapters nowadays support the notion of ‘channel-bonding’ where multiple network interfaces on a host are combined for redundancy or increased throughput as this solution works below socket-level (on packet or data-link layer), it functions transparently for the […]

What are the differences in the Networking Services in Vortex OpenSplice?

First we need to distinguish between the (Apache license 2 based) open-source Community Edition (CE) and the commercially supported version of Vortex OpenSplice; The  Community-edition only includes our DDSI implementation (implementing the OMG-DDSI rev2.2 specification)  i.e. that assures interoperability with other DDS-vendors based on the standardized OMG-DDSI (also called ‘RTPS’) protocol.   The DDSI protocol […]

How is the Global Data Space actually implemented in the network?

The information that is kept in the ‘Global Data Space’ can be divided into application-data (the samples of topics that are published/subscribed by applications) and meta-data (the standardized so-called ‘built-in topics‘ that describe which DDS-entities are active in the system i.e. the set of active participants, publishers, subscribers, readers and writers). Where information gets stored […]

Handling ‘invalid data’

A feature was introduced in the OMG DDS rev1.2  specification revision which is about the assurance to receive state-changes (e.g. when data gets disposed and/or unregistered) even in absence of actual data updates. It is related to the read/take semantics where a ‘take’ basically removes the data from a reader-cache. In the previous spec-revision,  in […]