This document discusses smart, secure and efficient data sharing in the Internet of Things (IoT) using the Data Distribution Service (DDS) standard. It provides an overview of DDS, explaining that DDS allows applications to asynchronously read and write data in a distributed data space while being isolated from network topology details. It highlights key DDS capabilities like data-centric publishing, quality of service policies, security features, and examples of how DDS can enable smart factories, connected vehicles and other industrial IoT applications. The document also includes examples of writing and reading data using DDS in Python.
6. IoT is about extracting value through the
insights derived from the real-time and historical
data produced by a cyber-physical system
— Data is the currency of IoT —
13. While consumer applications such as fitness
monitors and self-driving cars attract the most
attention and can create significant value, we estimate
that B2B/Industrial applications can generate nearly
70 percent of potential value enabled by IoT.
THE INTERNET OF THINGS:
MAPPING THE VALUE BEYOND THE HYPE
Mc Kinsey, June 2015
23. ESA
Extremely Large & SMART
Telescope (ELT)
1750 computing nodes
100.000 mirrors
whose position is
adjusted 100 times
per second!
ELT will allow astronomers
to probe the earliest stages
of the formation of
planetary systems and to
detect water and organic
molecules in proto-
planetary discs around
stars in the making
25. IIoT is concerned with reactive cyber-physical systems
IIoT is about interacting with the physical world
26. Cloud-centric architectures centred around
device-to-cloud communication are not
applicable/sufficient for IIoT applications
because of performance, connectivity and
resource constraints
27. This subtle but essential difference
introduces a series of requirements for
IIoT platform that are not addressed by
device-2-cloud centric IoT platforms
29. Location
Transparency
Data should flow where needed
transparently and independently
from the location its source so to
allow for analytics to be deployed/
migrate where it makes the most
sense, i.e. edge, cloud, etc.
33. Cloud + Fog
Computing
Cloud and Fog computing
architectures should be
transparently supported to allow for
data to be processed wherever
makes the most sense
36. Oil Rig 30000 data points
only 1% of available data
used today
37. Interoperability
Data sharing standard are a pre-
prerequisite for IoT.
Without standards there is not
interoperability, without
interoperability there is not IoT
42. DDS is a standard technology for
efficient, ubiquitous, interoperable,
secure, and platform independent data
sharing across network connected
devices
DDS in131
Characters
45. CopyrightPrismTech,2015
Proven in Defence / Aerospace
Integrated Modular Vetronics Training & Simulation Systems Naval Combat Systems
Air Traffic Control & Management Unmanned Air Vehicles Aerospace Applications
49. CopyrightPrismTech,2015
DDS provides a Distributed Data
Space abstraction where
applications can autonomously
and asynchronously read and
write data enjoying spatial and
temporal decoupling
Its built-in dynamic discovery
isolates applications from
network topology and
connectivity details
DDS’ Data Space is decentralised
High Level Abstraction
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
50. Conceptual Model
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
51. Conceptual Model Actual Implementation
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
52. The
communication
between
the
DataWriter
and
matching
DataReaders
can
be
peer-‐to-‐
peer
exploiting
UDP/IP
(Unicast
and
Multicast)or
TCP/IP
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
“brokered”
but
still
exploiting
UDP/IP
(Unicast
and
Multicast)or
TCP/IP
53. CopyrightPrismTech,2015
Abstracting Connectivity
Cloud Computing
Fog Computing
Device-to-Cloud
Communication
Device-to-Device
Communication
Fog-to-Cloud
Communication
Cloud-to-Cloud
Communication
Device-to-Device
Communication
Collect | Store | Analyse | Share
Collect | Store | Analyse | Share
Fog Computing
Fog Computing
55. CopyrightPrismTech,2015
DDS supports the definition of Data
Models.
These data models allow to
naturally represent physical and
virtual entities characterising the
application domain
DDS types are extensible and
evolvable, thus allowing incremental
updates and upgrades
Data Centricity
56. CopyrightPrismTech,2015
A Topic defines a domain-wide information’s
class
A Topic is defined by means of a (name, type,
qos) tuple, where
• name: identifies the topic within the
domain
• type: is the programming language type
associated with the topic. Types are
extensible and evolvable
• qos: is a collection of policies that express
the non-functional properties of this topic,
e.g. reliability, persistence, etc.
Topic
Topic
Type
Name
QoS
struct
TemperatureSensor
{
@key
long
sid;
float
temp;
float
hum;
}
57. CopyrightPrismTech,2015
DDS “knows” about
application data types
and uses this
information provide
type-safety and content-
based routing
Content Awareness
struct
TemperatureSensor
{
@key
long
sid;
float
temp;
float
hum;
}
sid temp hum
101 25.3 0.6
507 33.2 0.7
913 27,5 0.55
1307 26.2 0.67
“temp
>
26
AND
hum
>=
0.6”
sid temp hum
507 33.2 0.7
1307 26.2 0.67
Type
TempSensor
58. Oil Rig 30000 data points
only 1% of available data
used today
59. CopyrightPrismTech,2014
DDS provides a rich set of QoS-
Policies to control local as well as
end-to-end properties of data
sharing
Some QoS-Policies are matched
based on a Request vs. Offered
(RxO) Model
QoS Policies
HISTORY
LIFESPAN
DURABILITY
DEADLINE
LATENCY BUDGET
TRANSPORT PRIO
TIME-BASED FILTER
RESOURCE LIMITS
USER DATA
TOPIC DATA
GROUP DATA
OWENERSHIP
OWN. STRENGTH
LIVELINESS
ENTITY FACTORY
DW LIFECYCLE
DR LIFECYCLE
PRESENTATION
RELIABILITY
PARTITION
DEST. ORDER
RxO QoS Local QoS
60. CopyrightPrismTech,2015
For data to flow from a DataWriter (DW) to
one or many DataReader (DR) a few
conditions have to apply:
The DR and DW domain participants have
to be in the same domain
The partition expression of the DR’s
Subscriber and the DW’s Publisher should
match (in terms of regular expression
match)
The QoS Policies offered by the DW should
exceed or match those requested by the DR
Quality of Service
Domain
Participant
DURABILITY
OWENERSHIP
DEADLINE
LATENCY BUDGET
LIVELINESS
RELIABILITY
DEST. ORDER
Publisher
DataWriter
PARTITION
DataReader
Subscriber
Domain
Participant
offered
QoS
Topic
writes reads
Domain Id
joins joins
produces-in consumes-from
RxO QoS Policies
requested
QoS
62. CopyrightPrismTech,2015
Support for fine grained
access control
Support for Symmetric and
Asymmetric Authentication
Standard Authentication,
Access Control, Crypto, and
Logging plug-in API
Security
Arthur Dent
Arthur Dent
Ford Prerfect
Zaphod Beeblebrox
Marvin
Trillian
A(r,w), B(r)
A(r,w), B(r,w), X(r)
*(r,w)
*(r)
A(r,w), B(r,w), C(r,w)
Ford Prerfect
Zaphod Beeblebrox
Trillian
Marvin
A
B
A,B
X
*
*
A,B,C
Identity Access Rights
Sessions are authenticated
and communication is
encrypted
Only the Topic included as
part of the access rights are
visible and accessible
63. CopyrightPrismTech,2015
The DDS Security defines a framework for interoperable security with pluggable:
- Authentication
- Access Control
- Crypto
- Logging
- Tagging
DDS Security
64. CopyrightPrismTech,2015
Authentication
X.509 Public Key Infrastructure (PKI) with pre-configured shared Certificate Authority (CA)
Digital Signature Algorithm (DSA) with Diffie-Hellman and RSA for authentication and key
exchange
Access Control
Access Control List file signed by a shared Certificate Authority
Police access to join Domains and Partitions and read/write Topics as well as instances
Cryptography
Protected key distribution
AES128 and AES256 for encryption
HMAC-SHA1 and HMAC-SHA256 for MAC
Default Plugins
68. CopyrightPrismTech,2015
Writing Data in Python
import dds
import time
if __name__ == '__main__':
topic = dds.Topic("SmartMeter", "Meter")
dw = dds.Writer(topic)
while True:
m = readMeter()
dw.write(m)
time.sleep(0.1)
enum
UtilityKind
{
ELECTRICITY,
GAS,
WATER
};
struct
Meter
{
string
sn;
UtilityKind
utility;
float
reading;
float
error;
};
#pragma
keylist
Meter
sn
69. CopyrightPrismTech,2015
Reading Data in Python
import dds
import sys
def readData(dr):
samples = dds.range(dr.read())
for s in samples:
sys.stdout.write(str(s.getData()))
if __name__ == '__main__':
t = dds.Topic("SmartMeter", "Meter")
dr = dds.Reader(t)
dr.onDataAvailable = readData
enum
UtilityKind
{
ELECTRICITY,
GAS,
WATER
};
struct
Meter
{
string
sn;
UtilityKind
utility;
float
reading;
float
error;
};
#pragma
keylist
Meter
sn