Professional Documents
Culture Documents
Data Distribution Service (DDS)
Data Distribution Service (DDS)
•Understanding Connectivity
•Understanding DDS
•Solving IIOT Problems with DDS
Using Connectivity Middleware for
Application Development
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)
Framework
Transport
Communication Modes
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
Network
Understanding the DDS
Connectivity Framework
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
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
User QoS
DURABILITY USER DATA
Cache
Presentation
WRITER DATA LIFECYCLE PARTITION
Resources
Availability
RESOURCE LIMITS OWNERSHIP
Transport
DEADLINE LATENCY BUDGET
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
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
OPCUA
Client
OPCUA-DDS DDS DDS
Gateway (RTPS) App
OPC UA RTPS RTPS
Server
DDS
• Existing: OPC UA Server on controller App
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