Copyright © 2017 OMG. All rights reserved. 1
Data-Distribution Service (DDS) – the IIoT Connectivity Standard Gerardo Pardo, Ph.D. Co-Chair DDS SIG December 2017
•Understanding Connectivity •Understanding DDS •Solving IIOT Problems with DDS
Outline
Using Connectivity Middleware for Application Development
Application
Middleware
Operating System
Network
Application
Middleware
Operating System
Application
Middleware
Operating System
IIoT Connectivity Stack Model Participant X
Connectivity
Information
Networking
IICF Focus
Information (Data in Context)
Participant X
Transport
Link
Framework
Distributed Data Interoperability and Management
Physical
Network
Participant Y
Data (State, Events, Streams)
Messages
Packets
Frames
Bits
Transport
Link
Framework
Distributed Data Interoperability and Management
Physical
Network
Technical Interoperability
(bytes)
Syntactic Interoperability (data structures)
Semantic Interoperability (data context)
Connectivity Transport Layer
Transport
Link
Distributed Data Interoperability & Management
Framework
Connectivity Transport Functions
Physical
Network
Messaging Protocol
Endpoint Addressing Connectedness Prioritization Timing &
Synchronization Security
Communication Modes
Technical Interoperability
Connectivity Framework Layer
Transport
Link
Distributed Data Interoperability & Management
Framework
Quality of
Service Security
Publish-Subscribe Request-Reply Discovery
Data Resource Model
Id and Addressing Data Type System Lifecycle (CRUD)
Exception Handling
State Management
Connectivity Framework Functions
Physical
Network
API Governance
Syntactic Interoperability
Connectivity Standards
Manufacturing Origin
TSN / Ethernet (802.1, 802.3)
DDS
Wireless PAN
(802.15)
Wireless 2G/3G/LTE
(3GPP)
Wireless LAN
(802.11 Wi-Fi)
Internet Protocol (IP)
CoAP MQTT
Web Services
Wireless Wide Area (802.16)
HTTP DDSI-RTPS
oneM2M OPC-UA
OPC-UA Bin
Telecommunications Origin
UDP TCP TCP
Transport
Link
Framework
Distributed Data Interoperability and Management
Physical
Network
Healthcare Transportation Manufacturing … … Energy & Utilities
Complexity of the Application Code
Network
Application
Middleware
Operating System
Application
Operating System
Quality of Service
Discovery
Data Resource Model
Id and Addressing
Data Type System
State Management
Connectivity Transport
Connectivity Framework
Application
Operating System
Quality of Service
Discovery
Data Resource Model
Id and Addressing
Data Type System
State Management
Connectivity Transport
Understanding the DDS Connectivity Framework Powerful abstractions to build highly modular, robust, and secure real-world systems
December 7, 2017
DDS is Different!
Data-Centric
DDS
Shared Data Model
DataBus
Point-to-Point
TCP Sockets
Client/Server
MQTT XMPP OPC CORBA
Brokered ESB
Daemon
Publish/Subscribe
Fieldbus CANbus ZeroMQ JMS
Queuing
AMQP Active MQ
Layered Databus Architecture • Cloud:
• Datacenter • Elasticity, Provisioning,
Management, Analytics • Fog:
• Distributed computing • Processing “close to the
edge” • Latency, Robustness,
availability • Edge:
• Locality • Information Scoping
©2015 Real-Time Innovations, Inc. Confidential.
Edge Edge Edge
Fog
Cloud
Fog Fog
Edge
Peer to Peer
Brid
ged/
M
edia
ted
DDS Model: Virtual Global Data Space
Topic A QoS
Topic C QoS
Topic D QoS
DDS DOMAIN
Persistence Service
Recording Service
CRUD operations
Topic B : “Turbine State”
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
Data-Centric Communications Model
December 7, 2017 Copyright © 2016 OMG. All rights reserved. 13
• Participants scope the global data space (domain) • Topics define the data-objects (collections of subjects) • DataWriters publish data on Topics • DataReaders subscribe to data on Topics • QoS Policies are used configure the system • Listeners are used to notify the application of events
Reader “Alarm”
Domain Participant Writer
“Alarm”
Domain Participant
Listener Offered
QoS Listener
Got new data
Requested
QoS
New subscriber!
“Alarm” Topic Topic2 Topic2
Request <= Offered QoS compatibility checking and run-time monitoring
• DW offers DEADLINE of 10ms • DR requests DEADLINE of 20ms
• DW offers RELIABILITY kind RELIABLE • DR requests RELIABILITY BEST_EFFORT
• DW offers LIVELINESS kind AUTOMATIC • DR requests LIVELINESS kind MANUAL
Request vs Offered Examples
14
Compatible: 20 ms “less” 10 ms
Result
Compatible: BEST_EFFORT “less” RELIABLE
Not Compatible: MANUAL “more” AUTOMATIC
QoS Policy DURABILITY
HISTORY
LIFESPAN
WRITER DATA LIFECYCLE
READER DATA LIFECYCLE
ENTITY FACTORY
RESOURCE LIMITS
RELIABILITY
TIME BASED FILTER
DEADLINE
CONTENT FILTERS
Cach
e U
ser QoS
Deliv
ery
Presentation Availability
Reso
urce
s Transport
QoS Policy USER DATA
TOPIC DATA
GROUP DATA
PARTITION
PRESENTATION
DESTINATION ORDER
OWNERSHIP
OWNERSHIP STRENGTH
LIVELINESS
LATENCY BUDGET
TRANSPORT PRIORITY
• 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
Handling Highly Heterogeneous systems
16
✔
✔
✔
DDS Standard family
DDS v 1.4
RTPS v2.2 DD
S-SE
CURI
TY
DDS-
RPC
DDS-
XTYP
ES
Application
UDP TCP* DTLS TLS
DDS-C++ DDS-JAVA DDS-IDL-C DDS-IDL-C#
SHARED-MEMORY IP
DDS-
WEB
HTTP/s
IDL
4.0
TSN
Ethernet
RTPS Wire Protocol
• 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
• 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
• Scalable no need to maintain N^2 network connections
RTPS
UDP/TCP/IP/Etc.
DDSI-RTPS Protocol
DDS Implementation
DDS API
Application
Highly Scalable Brokerless Transport-Independent
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
• Existing: OPC UA Server on controller • Existing: OPC UA Client applications • Existing: DDS App • New: OPCUA-DDS Gateway– Maps “operations” on OPCUA to DDS
OPC UA Server
OPCUA-DDS Gateway
DDS (RTPS)
OPCUA Client
RTPS RTPS
DDS App
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 App
DDS App
DDS-WEB Standard
Operational Data
Web Enabled DDS
Web Enabled DDS
DDS-WEB Service
GUARD
HTTP/ HTTPS
DDS/ RTPS Connectivity Core Standards
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 • Largest power plant in North America • Fastest-responding major power source
on the Western Grid • Requires 24x7 operation
• DDS met the challenges • Extreme availability • Wide area communications • Multi-level routing • High security • 300k data values
• 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 real value is a common architecture that connects sensor to cloud, interoperates between vendors, and spans industries
You don’t compete against competitors. You compete against market transitions.
– John Chambers
The Industrial IoT Disruption
©2017 Real-Time Innovations, Inc.
Software is eating the world -- Andreessen Horowitz
Silicon Valley VC
What’s the Disruption?