Performance, Scalability, Robustness, Reliability, and QoS for Industrial IoT & Consumer IoT
The OMG DDS standard is a perfect fit for both the Industrial Internet of Things (IIoT) and large-scale Consumer IoT applications. It is already well-proven in mission-critical systems in industries ranging from smart transportation to healthcare to smart energy.
Is DDS Right for You?
Based on the use of DDS in thousands of applications, we can predict the need for DDS in new projects. If you answer “yes” to all of the following questions, DDS is likely to be your go-to solution.
- Do you have latency, network bandwidth/throughput, or scaling issues because you measure latency in ms or less, or you have more than 10 different applications, or you have more than a thousand data items to share?
- If your system goes offline for 5 minutes (or even 5 ms), is it a serious problem? Or, do you struggle to configure, startup, or failover to backup servers?
- Are you building a system that will take more than a year to write, last more than three years, and is expected go through multiple versions or integrate with legacy applications?
These questions help identify your critical performance, reliability, and integration needs. If you answer yes to any of these questions, you should evaluate DDS as a solution, since it offers many additional benefits.
Key Advantages of Choosing DDS
The OMG DDS middleware standard helps users reliably and securely harness ever-increasing amounts of device- generated data while processing the data in real-time, and acting on events as quickly as they occur. As a result, it enables smarter decisions, new services, additional revenue streams, and reduced costs. The OMG DDS middleware standard can also simplify the development, deployment, and management of IoT applications, speeding time-to-market. It provides:
- Ease of Integration: The data-centric approach used by DDS allows the definition of common and extensible data models for seamless Information Technology (IT) / Operational Technology (OT) interoperability. Its loose and anonymous data-sharing abstraction completely hides connectivity and topology details from applications.
- Performance Efficiency and Scalability: DDS implementations can achieve point-to-point latencies that are as low as 30 µsec. and throughput of several million messages per second. It uses a very efficient wire protocol, content- and time-based filtering. When properly architected, DDS-based systems can achieve near-linear scalability.
- Advanced Security: The OMG DDS Security Specification defines a comprehensive Security Model and Service Plugin Interface (SPI) architecture for compliant DDS implementations. DDS provides standardized authentication, encryption, access control and logging capabilities to enable secure data connectivity end-to-end in an IoT system.
- Open Standard: The OMG DDS middleware specification is a mature, proven standard open to participation by both vendors and users. It enables end-to-end vendor interoperability and eases IoT system development and integration through fully open, future-proof APIs with no vendor lock -n.
- QoS-Enabled: A rich set of QoS policies allows DDS to control of all aspects of data distribution, such as timeliness, traffic prioritization, reliability and resource usage.
- Scalable Discovery: For large-scale dynamic systems, DDS offers automatic discovery that provides plug-and-play functionality to simplify system integration and orchestration.
- Applicability: DDS can transparently address peer-to-peer, device-to-device, device-to-cloud, and cloud-to-cloud communication. Implementations are available for embedded, mobile, web, enterprise and cloud applications.
- Programming language-, operating system-, transport- and hardware-independence
- Configurable redundancy for extremely reliable operation
- Multicast support for scalable data delivery
- Standard-wire protocol for seamless multi-vendor application interoperability
- Data selection and filtering to ensure efficient use of network and CPU resources
- Extensible data-type evolution for practical long-term architecture lifecycle
- Proven operation for mission-critical system building
- A future-proof international standard to eliminate proprietary stovepipes
Simplify Design, Implementation, and Integration of Industrial and Consumer IoT Systems
DDS uses a global data space that lets applications share information with full control of reliability and timing. DDS middleware takes full responsibility for both the distribution of data (from producers to consumers), as well as the management of data (such as maintaining non-volatile data for late-joining applications). The benefits of reduced complexity are apparent during the whole lifecycle of the IoT system.
Simplify Modeling and Design
During the modeling and design process, DDS allows you to:
- Capture domain-specific information in a structured, standardized way with Topic and Types
- Annotate this information (its syntax) with Quality of Service (QoS) policies — non-functional properties that define special and temporal properties such as timing, urgency, reliability and persistence
The resulting DDS information model is extremely valuable. Developers can use it to help build re-usable software components. You can also use it to share system properties and requirements with end users.
During development, DDS allows you to:
- Handle data input and output for any application, leaving the developer to focus on business logic without the distraction of unnecessary coupling (time, location, content) between input providers and output consumers.
- Structure data based on Types, leaving applications to express fine-grained interest (timeliness, content) in required data; traditional message-oriented middleware only handles opaque messages and cannot filter data.
- Manage non-volatile data in a fault-tolerant manner; if applications publish their internal state using DDS, they can easily become both re-startable and re-allocatable.
- Arbitrate seamlessly between redundant publishers and supports redundant consumers; it facilitates automatic failover, again without increasing the application’s complexity.
Eighty percent of typical networking code is dedicated to handling data selection and errors. DDS accelerates development by abstracting this complexity away from application code.
Simplify System Integration
System integration depends on data availability. During this process, DDS allows you to:
- Discover data sources and sinks automatically and ensure that data producers meet QoS requirements to provide the right data to the right place at the right time.
- Use configuration and monitoring utilities to deploy an optimal physical infrastructure by configuring (dynamic) mappings between logical DDS properties (urgency, importance, partitioning) and physical properties (priority lanes, scheduling classes, multicast groups) without affecting applications.
System integration is essentially a free benefit of DDS. Ubiquitous information availability allows spontaneous integration, including dynamic discovery and related QoS matching.
Simplify System Deployment and Evolution
Complex systems present challenges for deployment when integrating new and legacy elements. DDS allows you to:
- Apply a data-centric approach that uniquely decouples space (location) and time (frequency) dependencies with a simple and powerful information model.
- Acknowledge and integrate new and unplanned applications at runtime without impacting existing data models, to enable the spontaneous integration of new functionality into a system.
- Recognize and translate mismatched data types between old and new versions and applications to enable incremental upgrades of large distributed systems.
The abstractions embraced by the data-centric approach and shared data model speeds development and enables dynamic deployment and evolutionary upgrades.
DDS supports seamless security. During normal operation, DDS finds data by name or value and makes connections. Secure DDS simply documents and enforces those relationships. It allows you to:
- Use a standard DDS API to relink and specify allowed data flows to create a secure system without any coding.
- Enable secure multicast systems since DDS supports many-to-many sessions.
- Implement access control by documenting Topic names and relationships (configuration), and enforcing data flows between named publishers and named subscribers.
Fundamentally, DDS controls the data itself, not users, machines, end-points, or other non-data-centric entity.