Introduced in 2004, the Data Distribution Service (DDS) has been steadily growing in popularity and adoption. Today, DDS is at the heart of a large number of mission and business critical systems, such as, Air Traffic Control and Management, Train Control Systems, Energy Production Systems, Medical Devices, Autonomous Vehicles, Smart Cities and NASA’s Kennedy Space Centre Launch System.
Considered the technological trends toward data-centricity and the rate of adoption, tomorrow, DDS will be at the at the heart of an incredible number of Industrial IoT systems.
To help you become an expert in DDS and exploit your skills in the growing DDS market, we have designed the DDS in Action webcast series. This series is a learning journey through which you will (1) discover the essence of DDS, (2) understand how to effectively exploit DDS to architect and program distributed applications that perform and scale, (3) learn the key DDS programming idioms and architectural patterns, (4) understand how to characterise DDS performances and configure for optimal latency/throughput, (5) grow your system to Internet scale, and (6) secure you DDS system.
3. CopyrightPrismTech,2015
ANGELO CORSARO, PHD
Chief Technology Officer
ADLINK Technologies, Inc.
Chief Technology Officer
PrismTech
OMG DDS SIG Co-Chair
Interests: IoT/IIoT, Fog and Cloud Computing, Innovation Management, High Performance
Computing, Large Scale Distributed Systems, Real-Time Systems, Functional Programming
Languages
Angelo is a well-known and cited expert in the area of high
performance and large scale distributed systems and with 100s
of publications on referred journal, conferences, workshops, and
magazines.
Senior Advisor ECC
Hobbies: Wind-surfing, Jazz/Fusion/Funk Bass Playing
Practices: Patanjali’s Ashtanga Yoga
8. CopyrightPrismTech,2015
Defines a high level API for
programming language, OS and
architecture independent data
sharing
DDS Standards
TCP UDP
IP
802.3 802.11
DDSI-RTPS
L3: Network
App App App
L2: Data Link
L1: Physical
L4: Transport
L5: Session
L6: Presentation
User
L7: Application
Security
X-Types
DCPS
RPC
...
802.1 ...
C/C++, Java, .Net, JavaScript, Python, etc.Data Centric Publish Subscribe
(DCPS)
9. CopyrightPrismTech,2015
Defines a wire protocol for interoperable
implementation of DCPS abstractions.
This protocol assumes a best-effort
transport layer, i.e., reliability is
provided by DDSI.
DDS Standards
TCP UDP
IP
802.3 802.11
DDSI-RTPS
L3: Network
App App App
L2: Data Link
L1: Physical
L4: Transport
L5: Session
L6: Presentation
User
L7: Application
Security
X-Types
DCPS
RPC
...
802.1 ...
C/C++, Java, .Net, JavaScript, Python, etc.DDS Interoperability Protocol
(DDSI-RTPS)
10. CopyrightPrismTech,2015
Extends the DDS type system from
nominal to structural, thus providing
very good support for evolutions and
forward compatibility.
Defines APIs for dynamically defining
and operating over DDS types
DDS Standards
TCP UDP
IP
802.3 802.11
DDSI-RTPS
L3: Network
App App App
L2: Data Link
L1: Physical
L4: Transport
L5: Session
L6: Presentation
User
L7: Application
Security
X-Types
DCPS
RPC
...
802.1 ...
C/C++, Java, .Net, JavaScript, Python, etc.eXtensible Types
(DDS-XTypes)
11. CopyrightPrismTech,2015
Defines a data-centric security
architecture with pluggable
Authentication, Access Control,
Crypto and Logging.
DDS Standards
TCP UDP
IP
802.3 802.11
DDSI-RTPS
L3: Network
App App App
L2: Data Link
L1: Physical
L4: Transport
L5: Session
L6: Presentation
User
L7: Application
Security
X-Types
DCPS
RPC
...
802.1 ...
C/C++, Java, .Net, JavaScript, Python, etc.Security
(DDS-Security)
12. CopyrightPrismTech,2015
Extends DDS abstractions to support
distributed service definition and
remote operation invocations.
DDS Standards
TCP UDP
IP
802.3 802.11
DDSI-RTPS
L3: Network
App App App
L2: Data Link
L1: Physical
L4: Transport
L5: Session
L6: Presentation
User
L7: Application
Security
X-Types
DCPS
RPC
...
802.1 ...
C/C++, Java, .Net, JavaScript, Python, etc.Remote Procedure Calls
(DDS-RPC)
14. CopyrightPrismTech,2015
Defines the most wire/power/memory
efficient protocol in the market to provide
DDS connectivity to extremely constrained
targets, such as battery powered devices
with less than 100 Kbytes of memory and
connected through constrained networks
DDS Standards
eXtremely Resource Constrained
Environments DDS
(DDS-XRCE)
DDS-XRCE
XRCE Application
L3: Network
TCP UDP
IP
6LowPAN
802.15.4
NB-IoT3G/4G
Unspecified API
App App App
L2: Data Link
L1: Physical
L4: Transport
L4: Session
…
15. CopyrightPrismTech,2015
Defines a standard Gateway to
simplify the bridging between
from OPC-UA and DDS
DDS Standards
OPC-UA/DDS Gateway
(DDS-OPCUA-GTW)
Data
Writer
Data
Writer
DDS/OPC-UA
Gateway
OPC-UA
Server
+Client
DDSI-
RTPS
OPC-UA
Client
OPC-UA
Client
OPC-UA
Client
OPC-UA
Client
17. CopyrightPrismTech,2015
DDS is used for data
sharing within and across
the vehicle.
The environment is highly
heterogeneous and
requires dynamic pairing
along with coordination of
fast moving vehicles
AUTONOMOUS
VEHICLES
18. CopyrightPrismTech,2015
DDS is used as the
integration technology
for data sources and
sinks.
DDS is also often used as
a control plane to control
and provision equipment
Smart Cities
19. CopyrightPrismTech,2015
DDS is used to integrate and
normalise data sharing
among the various elements
of a smart grid at scale
Duke’s Energy COW showed
how only with DDS it was
possible to distribute the
phase alignment signal at
scale wit hthe required 20ms
periodicity
Smart Grid
21. CopyrightPrismTech,2015
The NASA Kennedy Space
Centre uses DDS to collect
the Shuttle Launch System
Telemetry.
DDS streams over 400.000
Msgs/sec
In comparison, world-wide,
Twitter deals with less than
7000 msgs/sec
NASA Launch
Systems
22. CopyrightPrismTech,2015
DDS is uses to share
Flight Data within and
across Air Traffic Control
Centres.
These applications have
extremely high
dependability constraints.
Air Traffic
Control
23. CopyrightPrismTech,2015
DDS is used in Smart
Factories to provide
horizontal and vertical
data integration across
the traditional SCADA
layers.
Smart
Factory
24. CopyrightPrismTech,2015
DDS used to control
the 100.000 mirrors
that make up ELT’s
optics.
These mirrors are
adjusted 100 times per
second
Extremely Large
Telescope (ELT)
25. CopyrightPrismTech,2015
DDS is uses inside
several medical
devices to share data
between the various
stages of data
acquisition, processing
and visualisation
Medical
Devices
28. CopyrightPrismTech,2015
DDS PROVIDES AN EXTREMELY HIGH LEVEL
AND POWERFUL ABSTRACTIONS ALONG
WITH A ROCK SOLID INFRASTRUCTURE TO
BUILD HIGHLY MODULAR AND DISTRIBUTED
SYSTEMS
29. CopyrightPrismTech,2015
dds makes it much easier to solve some
very hard distributed system problems,
such as fault-tolerance, scalability and
asymmetry
30. CopyrightPrismTech,2015
DDS is like a universal glue that allows to
seal together highly heterogeneous
environments while maintaining a single,
elegant and efficient abstraction
34. CopyrightPrismTech,2015
Applications can
autonomously and
asynchronously read and
write data enjoying
spatial and temporal
decoupling
Virtualised
Data Space
DDS Global Data Space
...
Data
Writer
Data
Writer
Data
Writer
Data
Reader
Data
Reader
Data
Reader
Data
Reader
Data
Writer
TopicA
QoS
TopicB
QoS
TopicC
QoS
TopicD
QoS
35. CopyrightPrismTech,2015
A domain-wide
information’s class A
Topic defined by
means of a <name,
type, qos>
Topic
DDS Global Data Space
...
Data
Writer
Data
Writer
Data
Writer
Data
Reader
Data
Reader
Data
Reader
Data
Reader
Data
Writer
TopicA
QoS
TopicB
QoS
TopicC
QoS
TopicD
QoS
Topic
Type
Name
QoS
36. CopyrightPrismTech,2015
Built-in dynamic discovery
isolates applications
from network topology
and connectivity details
Dynamic
Discovery
DDS Global Data Space
...
Data
Writer
Data
Writer
Data
Writer
Data
Reader
Data
Reader
Data
Reader
Data
Reader
Data
Writer
TopicA
QoS
TopicB
QoS
TopicC
QoS
TopicD
QoS
37. CopyrightPrismTech,2015
QoS policies allow to
express temporal and
availability constraints
for data
QoS Enabled
DDS Global Data Space
...
Data
Writer
Data
Writer
Data
Writer
Data
Reader
Data
Reader
Data
Reader
Data
Reader
Data
Writer
TopicA
QoS
TopicB
QoS
TopicC
QoS
TopicD
QoS
38. CopyrightPrismTech,2015
No single point of failure
or bottleneck
Decentralised
Data-Space Data
Writer
Data
Writer
Data
Writer
Data
Reader
Data
Reader
Data
Reader
Data
Writer
TopicA
QoS
TopicB
QoS
TopicC
QoS
TopicD
QoS
TopicD
QoS
TopicD
QoS
TopicA
QoS
DDS Global Data Space
...
Data
Writer
Data
Writer
Data
Writer
Data
Reader
Data
Reader
Data
Reader
Data
Reader
Data
Writer
TopicA
QoS
TopicB
QoS
TopicC
QoS
TopicD
QoS
39. CopyrightPrismTech,2015
Connectivity is
dynamically adapted to
chose the most effective
way of sharing data
Adaptive
Connectivity
Data
Writer
Data
Writer
Data
Writer
Data
Reader
Data
Reader
Data
Reader
Data
Writer
TopicA
QoS
TopicB
QoS
TopicC
QoS
TopicD
QoS
TopicD
QoS
TopicD
QoS
TopicA
QoS
The communication between
the DataWriter and matching
DataReaders can be peer-to-
peer exploiting UDP/IP
(Unicast and Multicast)or
TCP/IP
The communication between
the DataWriter and matching
DataReaders can be
“brokered” but still
exploiting UDP/IP (Unicast
and Multicast)or TCP/IP
42. CopyrightPrismTech,2015
The only one thing that DDS assumes from the
underlying transport is best effort one-to-one
communication.
DDS can and will exploit multicast when
available, but does not require it in order to work!
rectification #1
44. CopyrightPrismTech,2015
While DDS support for predictable, real-time,
communication is unparalleled, in a sense this is
just a tiny detail.
DDS main value is simplifying the design,
development, deployment and maintenance of
distributed systems
rectification #2
46. CopyrightPrismTech,2015
DDS is not widely hyped as its main domain of
applications has been thus far the mission and
business critical applications as opposed to
Internet applications.
That said, it has far more deployments than many
of the technologies currently hyped in IoT/IIoT.
rectification #3
48. CopyrightPrismTech,2015
There are at least two mainstream
Open Source implementations of
DDS. One of them, from PrismTech, is
OpenSplice DDS
rectification #4
50. CopyrightPrismTech,2015
DDS vendors such as PrismTech have
shown not only how DDS can be used
to build Internet Scale systems but
more importantly how some of the
DDS features make it easier!
rectification #5
55. CopyrightPrismTech,2015
Download Vortex from http://bit.ly/vortex-download
Run a few examples in the distribution, and look at the code
If you can install Wireshark on your machine
Before next Video…