Data-Distribution Service (DDS)
– the IIoT Connectivity Standard
Gerardo Pardo, Ph.D.
Co-Chair DDS SIG
December 2017 Copyright © 2017 OMG. All rights reserved. 1
Outline
•Understanding Connectivity
•Understanding DDS
•Solving IIOT Problems with DDS
Using Connectivity Middleware for
Application Development
Application Application Application
Middleware Middleware Middleware
Operating Operating Operating
System System System
Network
IIoT Connectivity Stack Model
Participant X Participant Y
Semantic
Distributed Data Distributed Data
Information
Interoperability and Management
Information (Data in Context) Interoperability
Interoperability and Management
(data context)
Syntactic
Framework Data (State, Events, Streams) Framework Interoperability
(data structures)
Connectivity
Technical
IICF Focus Transport Messages Transport Interoperability
(bytes)
Network Packets Network
Networking
Link Frames Link
Physical Bits Physical
Connectivity Transport Layer
Distributed Data Interoperability & Management
Framework
Transport
Connectivity Messaging Protocol
Transport Technical
Functions Interoperability
Communication Modes
Endpoint Timing &
Connectedness Prioritization Security
Addressing Synchronization
Network
Link
Physical
Connectivity Framework Layer
Distributed Data Interoperability & Management
Framework
API Governance
Connectivity Syntactic
Publish-Subscribe Request-Reply Discovery Exception Handling
Framework Interoperability
Functions
Quality
Data Resource Model
of Security
Service
State
Id and Addressing Data Type System Lifecycle (CRUD)
Management
Transport
Network
Link
Physical
Connectivity Standards
Energy &
… Healthcare Manufacturing Transportation …
Utilities
Distributed Data Telecommunications Origin Manufacturing Origin
Interoperability and Management
DDS oneM2M Web OPC-UA
Framework
Services
DDSI-RTPS CoAP MQTT HTTP OPC-UA Bin
Transport
TCP UDP TCP
Network Internet Protocol (IP)
Link TSN / Wireless
Wireless Wireless Wireless
Ethernet LAN
PAN 2G/3G/LTE Wide Area
(802.1, (802.11 Wi-
(802.15) (3GPP) (802.16)
Physical 802.3) Fi)
Complexity of the Application Code
Application
Application
Id and Addressing Quality of
Discovery
Service Application
Connectivity Framework
State Data Type Data Resource
Management System Discovery Id and Addressing Quality of
Model
Service
State Data Type Data Resource
Management System Model
Middleware
Connectivity Transport Connectivity Transport
Operating System Operating Operating System
System
Network
Understanding the DDS
Connectivity Framework
Powerful abstractions to build
highly modular, robust, and
secure real-world systems
December 7, 2017
DDS is Different!
Point-to-Point Client/Server Publish/Subscribe Queuing Data-Centric
Shared Data
Brokered Model
ESB
Daemon DataBus
MQTT Fieldbus
TCP AMQP DDS
XMPP CANbus
Sockets Active MQ
OPC ZeroMQ
CORBA JMS
Layered Databus Architecture
• Cloud:
• Datacenter
• Elasticity, Provisioning,
Mediated
Cloud
Bridged/
Management, Analytics
• Fog:
• Distributed computing
Peer to Peer • Processing “close to the
Fog Fog Fog edge”
• Latency, Robustness,
availability
• Edge:
Edge Edge Edge Edge • Locality
• Information Scoping
©2015 Real-Time Innovations, Inc.
Confidential.
DDS Model: Virtual Global Data Space
QoS
Topic A
DDS DOMAIN
Topic B : “Turbine State” QoS
Source (Key) Speed Power Phase
WPT1 37.4 122.0 -12.20
WPT2 10.7 74.0 -12.23
WPTN 50.2 150.07 -11.98
QoS QoS
Topic C Topic D
CRUD operations
Persistence Recording
Service Service
Data-Centric Communications Model
Domain Domain
Writer Reader
New Participant Participant
“Alarm” Got new “Alarm”
subscriber!
data
Offered Requested
Listener Listener
QoS QoS
“Alarm” Topic
Topic2
Topic2
• Participants scope the global data space (domain)
• Topics define the data-objects (collections of subjects)
Request <= Offered
• DataWriters publish data on Topics
• DataReaders subscribe to data on Topics QoS compatibility
• QoS Policies are used configure the system checking and run-time
Listeners7,are
• December used to notify the application of events
2017 Copyright © 2016 OMG. All rights reserved.
monitoring 13
Request vs Offered Examples
Result
• DW offers DEADLINE of 10ms Compatible:
20 ms “less” 10 ms
• DR requests DEADLINE of 20ms
• DW offers RELIABILITY kind RELIABLE Compatible:
BEST_EFFORT “less” RELIABLE
• DR requests RELIABILITY BEST_EFFORT
• DW offers LIVELINESS kind AUTOMATIC Not Compatible:
MANUAL “more” AUTOMATIC
• DR requests LIVELINESS kind MANUAL
14
QoS Policy QoS Policy
User QoS
DURABILITY USER DATA
Cache
HISTORY TOPIC DATA
LIFESPAN GROUP DATA
Presentation
WRITER DATA LIFECYCLE PARTITION
Resources
READER DATA LIFECYCLE PRESENTATION
ENTITY FACTORY DESTINATION ORDER
Availability
RESOURCE LIMITS OWNERSHIP
RELIABILITY OWNERSHIP STRENGTH
Delivery
TIME BASED FILTER LIVELINESS
Transport
DEADLINE LATENCY BUDGET
CONTENT FILTERS TRANSPORT PRIORITY
Handling Highly Heterogeneous systems
• How to handle vast differences in speed? ✔
• Use Time-Based Filters
• Leverage Data Cache in Reader and Writer
• How manage big differences on data needs and volumes ✔
• Select only needed Topics
• Use Partitions
• Use Content Filtered Topics
• How to handle various network transports? ✔
• DDS mechanisms are independent of the network transport
16
DDS Standard family
Application
DDS-C++ DDS-JAVA DDS-IDL-C DDS-IDL-C#
DDS-SECURITY
DDS-XTYPES
DDS v 1.4
DDS-RPC
IDL 4.0
DDS-WEB
RTPS v2.2
HTTP/s UDP TCP* DTLS TLS
TSN
IP SHARED-MEMORY
Ethernet
RTPS Wire Protocol
Highly Scalable
Brokerless
RTPS
Transport-Independent Application
DDS API
DDS Implementation
• Peer to peer no brokers or servers
• Qos Aware & Reliable best efforts top reliable independent of transport, even over multicast!
• Any size data automatic fragmentation & reassembly. Smart (fragment) repairs DDSI-RTPS Protocol
• Automatic Discovery and Presence plug & play. No need to configure discovery services
• Decoupled start applications in any order allow readers without writers and vice-versa
• Redundant supports multi path and multiple networks. Automatically discards duplicates
• High performance native “wire” speeds UDP/TCP/IP/Etc.
• Scalable no need to maintain N^2 network connections
DDS Security Standard
• DDS entities are authenticated
• DDS enforces access control for
domains/Topics/…
• DDS maintains data integrity and
confidentiality
• DDS enforces non-repudiation
• DDS provides availability through
reliable access to data
…while maintaining DDS interoperability & high performance
DDS to OPCUA Bridge
DDS
App
OPCUA
Client
OPCUA-DDS DDS DDS
Gateway (RTPS) App
OPC UA RTPS RTPS
Server
DDS
• Existing: OPC UA Server on controller App
• Existing: OPC UA Client applications
• Existing: DDS App
• New: OPCUA-DDS Gateway– Maps “operations” on OPCUA to DDS
NOTE: OPC foundation also working on a “Pub-Sub” mechanism for OPCUA.
Plan is to make “DDS” one of the 3 supported “communication” models for pub-sub.
DDS-WEB Standard
Operational
Data
DDS/
RTPS Connectivity Core Standards
HTTP/
HTTPS
DDS-WEB
Web Enabled
Service
DDS Enabled
Web
DDS
GUARD
Solving IIOT problems
with DDS
DDS is broadly used across the IIoT
Real World Systems in:
– Healthcare
– Transportation
– Communications
– Energy
– Industrial
– Defense
North America Largest Power Generator
• DDS controls the 6.8 GW GC Dam • DDS met the challenges
• Extreme availability
• Largest power plant in North America • Wide area communications
• Fastest-responding major power source • Multi-level routing
on the Western Grid • High security
• 300k data values
• Requires 24x7 operation
• Live since Jan 2014
Siemens Wind Power Distributed Control
• Wind turbine farms can include 500
turbines, 100m blades
• Gust control across the array
requires fast communications with
dynamic, selective filtering
• DDS enables large, distributed
intelligent machines
Largest Single-System SCADA
• The NASA KSC launch
control claims to be the
world’s largest single-
system SCADA
• It combines 300k points, at
400k msgs/sec
• RTI Connext DDS powers
launch control, in-flight
monitoring, UAV reentry-
tracking ground station,
and the recovery ship
The Industrial IoT Disruption
You don’t compete against competitors.
You compete against market transitions.
– John Chambers
The real value is a common architecture that
connects sensor to cloud, interoperates
between vendors, and spans industries
What’s the Disruption?
Software is eating the world
-- Andreessen Horowitz
Silicon Valley VC ©2017 Real-Time Innovations, Inc.
Thank You!
http://www.omg.org/dds/