The purpose of Vortex OpenSplice is to provide an infrastructure and middleware layer for real-time distributed systems. This is a realisation of the OMG-DDS-DCPS Specification for a Data Distribution Service based upon a Data Centric Publish Subscribe architecture.
Vortex OpenSplice provides an infrastructure for real-time data distribution and offers middleware services to applications. It provides a real-time data distribution service that aims at:
Vortex OpenSplice is the leading (commercial and Open Source) implementation of the Object Management Group’s (OMG) Data Distribution Service (DDS) for Real-Time Systems datasharing middleware standard. Vortex OpenSplice is an advanced and proven data-centric solution that enables seamless, timely, scalable and dependable distributed data sharing. Vortex OpenSplice delivers the right data, in the right place, at the right time, every time–even in the largest-scale mission- and business-critical systems.
Key features and benefits are:
Please go to http://ist.adlinktech.com/ to obtain evaluation copies of Vortex OpenSplice, and http://ist.adlinktech.com/dds-community for free downloads of the DDS Community Edition.
To ensure scalability, flexibility and extensibility, Vortex OpenSplice has an internal architecture that, when selected, uses shared memory to `interconnect’ not only all applications that reside within one computing node, but also `hosts’ a configurable and extensible set of services. These services provide `pluggable’ functionality such as networking (providing QoS driven real-time networking based on multiple reliable multicast `channels’), durability (providing fault tolerant storage for both real-time `state’ data as well as persistent `settings’), and remote control & monitoring `soap service’ (providing remote web based access using the SOAP protocol from the Vortex OpenSplice Tuner tools).
Vortex OpenSplice is capable of using a shared-memory architecture where data is physically present only once on any machine, and where smart administration still provides each subscriber with his own private `view’ on this data. This allows a subscriber’s data cache to be perceived as an individual `database’ that can be content-filtered, queried, etc. (using the content-subscription profile as supported by Vortex OpenSplice). This shared-memory architecture results in an extremely small footprint, excellent scalability and optimal performance when compared to implementations where each reader/writer are `communication endpoints’ each with its own storage (in other words, historical data both at reader and writer) and where the data itself still has to be moved, even within the same physical node.
Vortex OpenSplice is highly configurable, even allowing the architectural structure of the DDS middleware to be chosen by the user at deployment time. Vortex OpenSplice can be configured to run using a shared memory architecture, where both the DDS related administration (including the optional pluggable services) and DDS applications interface directly with shared memory. Alternatively, Vortex OpenSplice also supports a single process library architecture, where one or more DDS applications, together with the Vortex OpenSplice administration and services, can all be grouped into a single operating system process. Both deployment modes support a configurable and extensible set of services, providing functionality such as:
The Vortex OpenSplice middleware can be easily configured, on the fly, using its pluggable architecture: the services that are needed can be specified together with their optimum configuration for the particular application domain, including networking parameters, and durability levels for example).
There are advantages to both the single process and shared memory deployment architectures, so the most appropriate deployment choice depends on the user’s exact requirements and DDS scenario.
This deployment allows the DDS applications and Vortex OpenSplice administration to be contained together within one single operating system process. This single process deployment option is most useful in environments where shared memory is unavailable or undesirable. As dynamic heap memory is utilized in the single process deployment environment, there is no need to pre-configure a shared memory segment which in some use cases is also seen as an advantage of this deployment option.
Each DDS application on a processing node is implemented as an individual, self-contained operating system process (i.e. all of the DDS administration and necessary services have been linked into the application process). This is known as a single process application. Communication between multiple single process applications co-located on the same machine node is done via the (loop-back) network, since there is no memory shared between them.
An extension to the single process architecture is the option to co-locate multiple DDS applications into a single process. This can be done be creating application libraries rather than application executables that can be `linked’ into the single process in a similar way to how the DDS middleware services are linked into the single process. This is known as a single process application cluster. Communication between clustered applications (that together form a single process) can still benefit from using the process’s heap memory, which typically is an order of magnitude faster than using a network, yet the lifecycle of these clustered applications will be tightly coupled.
The Single Process deployment is the default architecture provided within Vortex OpenSplice and allows for easy deployment with minimal configuration required for a running DDS system.
The figure The Vortex OpenSplice Single Process Architecture shows an overview of the single process architecture of Vortex OpenSplice.
The table below shows the following aspects of Vortex OpenSplice, where:
Features are significant characteristics of Vortex OpenSplice
Advantages shows why a feature is important
Benefits describes how users of Vortex OpenSplice can exploit the advantages
Features | Advantages | Benefits | =+! |
---|---|---|---|
GENERAL | |||
Information- centric | Enable dynamic, loosely-coupled system | Simplified and better scalable architectures | = |
Open standard | ‘Off-the-shelf’ solutions | Lower cost, no vendor lock-in | = |
Built on proven technology | Intended for the most demanding situations | Assured quality and applicability | ++ |
TNN/PT ‘inheritance’ | Decade of ‘DDS’ experience | Proven suitability in mission-critical domain | !!! |
Open Source model | Strong and large user community | Security of supply of most widely-used DDS | !!! |
FUNCTIONAL | |||
Real-time pub/sub | Dynamic/asynchronous data communication | Autonomous decoupled applications | = |
Persistence profile | Fault-tolerant data persistence | Application fault tolerance and data high availability | !!! |
Content-sub. Profile | Reduced complexity and higher performance | Easier application design and scalable systems | !!! |
PERFORMANCE | |||
Shared memory | Small footprint, instant data availability | Processor scalability | ++ |
Smart networking | Efficient data transport | Network scalability | ++ |
Extensive IDL support | Includes unbounded strings and sequences | Data scalability | ++ |
USABILITY | |||
Multiple languages | Any (mix) of C, C++, Java, C# | Supports legacy code, allows hybrid systems | ++ |
Multiple platforms | Any (mix) of Enterprise and RTE OSs | Intercons, Enterprise and embedded systems | = |
INTEROPERABILITY | |||
DDSI/RTPS | Interoperability between DDS vendors | Smooth integration with non-OpenSplice (legacy) DDS systems | !!! |
TOOLING AND EASE OF USE | |||
All metadata at runtime | Dynamic discovery of all ‘entity info’ | Guaranteed data integrity | = |
Powerful tooling | Support for complete system lifecycle | Enhanced productivity and System Integration | !!! |
Remote connect | Web-based remote access and control | Remote diagnostics using standard protocols | !!! |
Legend: | Equal to the competition Better than the competition Far superior to the competition |
= ++ !!! |
ADLINK’s Vortex OpenSplice product complemented by its tool support together encompass the industry’s most profound expertise on the OMG’s DDS standard and products.
The result is unrivalled functional DDS coverage and performance in large-scale mission-critical systems, fault tolerance in information availability, and total lifecycle support including round-trip engineering. A complete DDS solution to ensure a customer’s successful adoption of this exciting new technology and to support delivery of the highest-quality applications with the shortest time to market in the demanding real-time world.