The Data Distribution Service for Real-Time Systems (DDS) is a type of Message Oriented Middleware (MOM) that supports a data-centric publish and subscribe style of communications. It is based on a set of standards managed by the Object Management Group (OMG).
DDS is an Open Standard guaranteeing portability and interoperability across different DDS implementations. The DDS specification defines:
- A Data Centric Publish Subscribe (DCPS) layer providing a set of APIs that present a coherent set of standardized "profiles" targeting real-time information availability for domains ranging from small-scale embedded control systems right up to large-scale enterprise information management systems, OMG DDS v1.4
- A DDS Interoperability Wire Protocol (DDSI), OMG DDSI-RTPS v2.1
- Extensible and Dynamic Topic Types for DDS standard, v1.0
DDS enables scalable, real-time, reliable, high performance and interoperable data exchanges between publishers and subscribers. DDS is designed to address the needs of mission and business-critical applications such as military command and control systems, air traffic control, transportation management, modeling and simulation, SCADA & utilities, and other big data applications.
PrismTech's Vortex OpenSplice is the most advanced, complete and widely used (Commercial and Open Source) implementation of the OMG DDS standard. PrismTech has a long heritage working with the OMG, serving on the Board of Directors, the Architecture Board and Co-chairing the DDS Special Interest Group. PrismTech's staff are leading DDS experts and have been intimately involved in developing and evolving the DDS standard since its inception.
Vortex OpenSplice DCPS is a rev1.4 compliant Data Centric Publish Subscribe (DCPS) implementation with API's for C, C++, ISO C++, C#, Java and Java 5. The DDS DCPS layer is a set of APIs that present a coherent set of standardized "profiles" that target real-time information-availability for domains ranging from small-scale embedded control systems right up to large-scale enterprise information management systems. Each DDS-DCPS (Data Centric Publish Subscribe) profile adds distinct capabilities that define the service-levels offered by DDS in order to realize the 'right data at the right time at the right place' paradigm:
Minimum Profile: This profile defines a publish / subscribe abstraction for highly efficient information-dissemination between multiple publishers and subscribers sharing common interest in so-called Topics. A Topic represents the subject of information sharing and is defined by a unique name, a type and a set of QoS characterizing its non-functional properties. Topic types can be expressed in the OMG's IDL-language (allowing for automatic generation of typed 'Readers' and 'Writers' of those 'topics' for any mix of languages desired). This profile also includes the QoS framework that allows the middleware to 'match' requested and offered Quality of Service parameters (the minimum profile offering basic QoS attributes such as 'reliability', 'ordering' or 'urgency').
Ownership Profile: this “replication” profile offers support for replicated publishers of the same information by allowing a 'strength' to be expressed by each publisher so that only the 'highest-strength' information will be made available to interested parties.
Content Subscription Profile: this 'content awareness' profile offers powerful features to express fine-grained interest in specific information content (content-filters). This profile also allows applications to specify projection-views and aggregation of data as well as dynamic queries for subscribed 'topics' by utilizing a subset of the well-known SQL language whilst preserving the real-time requirements for the information-access.
The Vortex OpenSplice DDSI2 (Data Distribution Service Interoperability) service is a fully compliant implementation of the OMG-DDSI/RTPS rev2.1 interoperable wire-protocol standard. OpenSplice DDSI2 offers out-of-the-box interoperability with other DDS vendors without any configuration needs. With Vortex OpenSplice v6 TCP/IP support is now provided for use with the DDSI2 networking service.
Vortex OpenSplice DDSI2 can be used both as an alternative as well as in-conjunction-with the optional Vortex OpenSplice RTNetworking service that offers additional capabilities with regard to deterministic communication in large-scale networks.
Vortex OpenSplice also provides an enhanced version of DDSI2 – Vortex OpenSplice DDSI2E, offering security, determinism and scalability enhancements whilst preserving interoperability with other OMG DDSI Rev2.1 implementations.
Other Exceptional Capabilities
Durability: Persistence profile
The persistence profile provides additional information management capabilities by assuring high availability (via fault-tolerant persistence) of non-volatile information:
- Transparent and fault-tolerant (replicated) availability of 'non-volatile' data
- Allows easy late-joining of applications without reliance on publisher-presence
- Reduces complexity related to recovery from so-called 'split-brain' syndrome
The Vortex OpenSplice Persistence profile is differentiated from other DDS persistence profile implementations by its fault-tolerant characteristics (including the merge-policies to recover from traditional 'split-brain' syndromes) implemented by pluggable 'durability-services' that provide configurable and highly granular distributed persistence for fault-tolerant systems.
Unlike most other DDS implementations, the Vortex OpenSplice Persistence profile is included as a standard feature in the product.
Vortex OpenSplice is the only DDS implementation that gives you the choice of selecting as well as easily adapting, the deployment architecture that best suits you by simply changing a single runtime parameter. This parameter allows you to change from a standalone 'single-process' deployment (where the middleware is linked as libraries into your application) to a 'federated' deployment (where multiple applications on a computer share information via shared memory and where network-traffic to/from that federation is arbitrated by a unique network-scheduler based upon urgency and importance of each exchanged piece of information). Shared-memory based deployment option features ultra-low latency inter-core communication along with extreme nodal scalability. This architecture results in better scalability, more efficient data-sharing and better peer-to-peer determinism. This is unlike other DDS implementations, where library-based deployment prevents nodal arbitration of data-flows and related usage of nodal communication resources.
Vortex OpenSplice's real time networking service allows users to fine-tune, prioritize, and bundle data across topics and applications to ensure optimal throughput and reduce CPU utilization. Vortex OpenSplice RTNetworking provides native Real-Time network-scheduling for deterministic large-scale systems. Vortex OpenSplice SecureRTNetworking is a secure version of RTNetworking that supports transparent encryption of information in selected partitions. Vortex OpenSplice also provides an enhanced version of the core DDSI2 interoperable-networking service; Vortex OpenSplice DDSI2E offering better determinism and scalability enhancements whilst preserving interoperability with other OMG DDSI Rev2.1 implementations.
Vortex OpenSplice tools greatly simplify tuning, testing, and modeling of DDS-based systems. This allows for total control over OpenSplice based distributed systems, automated testing and debugging of DDS-based systems, and facilitating DDS-based development systems.
PrismTech's Vortex Gateway allows you to integrate your DDS-applications with other messaging technologies addressing the problem of making data seamlessly flow across systems and technologies while adapting format, content, and QoS. Vortex OpenSplice DBMSConnect provides a seamless 2 way integration of the real-time DDS and the non/near real-time enterprise DBMS domains.
Vortex OpenSplice RMI enables an application to perform remote method invocations or remote procedure calls over a Publish / Subscribe middleware like DDS. Vortex OpenSplice Streams provides unprecedented throughput of millions of samples / sec for typical periodic 'stream' data. Both Vortex OpenSplice RMI and Vortex OpenSplice Streams are built solely on top of Vortex OpenSplice utilizing its vast support for QoS whilst maintaining simple API’s for the supported interaction patterns.
Porting / Optimization
Vortex OpenSplice is available on a wide range of platforms. Our world renowned team of engineers can further optimize Vortex OpenSplice for your specific board / system requirements. Porting to new platforms is also available.
Our Professional Services Organization enables our Customers and Partners to deliver innovative solutions on-time, on-budget, and on-quality. Our service offering includes training, workshops, and consulting delivered by world-renowned technology and domain experts available in several languages.
PrismTech provides world class support, delivering a timely, reliable service to ensure every customer's business success.
PrismTech offers Support & Maintenance programs (Standard and Silver) with Service Level Agreements to match your business needs.
To complement these programs, PrismTech also offers a 'Knowledge Base' online support scheme.