SlideShare a Scribd company logo
DDS 
The IoT Data Sharing Standard 
Angelo 
Corsaro, 
PhD 
Chief 
Technology 
Officer 
PrismTech 
OMG 
DDS 
Co-­‐Chair 
OMG 
Architectural 
Board 
angelo.corsaro@prismtech.com
Copyright PrismTech, 2014 
The DDS Standard 
Introduced in 2004, DDS is an Object 
Management Group (OMG) Standard for 
efficient, secure and interoperable, platform-and 
programming-language independent 
data sharing 
DDS standardises: 
- Programming API 
- Interoperable wire-protocol 
- Extensible Type System 
- Data Modeling 
- Security Framework 
- Remote Procedure Call 
* 
* 
(*) Under Finalisation
How is DDS 
Different/Better?
Copyright PrismTech, 2014 
Higher Level Abstraction 
Provides a Distributed Data Space 
abstraction where applications can 
autonomously and asynchronously 
read and write data 
Its built-in dynamic discovery 
isolates applications from network 
topology and connectivity details 
QoS 
QoS 
... 
QoS 
QoS 
DDS Global Data Space 
Data 
Writer 
Data 
Writer 
Data 
Writer 
Data 
Reader 
Data 
Reader 
Data 
Reader 
Data 
Reader 
Data 
Writer 
TopicA 
TopicB 
TopicC 
TopicD
Copyright PrismTech, 2014 
Data Centricity 
DDS supports the definition of 
Common Information Models. These 
data models define the system’s 
Lingua Franca 
DDS types are extensible and 
evolvable, thus allowing incremental 
updates and upgrades
Copyright PrismTech, 2014 
Topic 
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. 
QoS 
QoS 
QoS 
QoS 
Name 
QoS 
Topic 
Type 
... 
TopicA 
TopicB 
TopicC 
TopicD
Copyright PrismTech, 2014 
Topic and Instances 
As explained in the previous slide a topic defines a 
class/type of information 
Topics can be defined as Singleton or can have multiple 
Instances 
Topic Instances are identified by means of the topic key 
A Topic Key is identified by a tuple of attributes -- like 
in databases 
Remarks: 
- A Singleton topic has a single domain-wide instance 
- A “regular” Topic can have as many instances as the 
number of different key values, e.g., if the key is an 8-bit 
character then the topic can have 256 different instances
Copyright PrismTech, 2014 
Content Awareness 
DDS “knows” about 
application data types 
and uses this 
information provide 
type-safety and content-based 
routing 
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 
> 
25 
OR 
hum 
>= 
0.6” 
sid temp hum 
507 33.2 0.7 
1307 26.2 0.67 
Type 
TempSensor
Copyright PrismTech, 2014 
QoS Policies 
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 
DURABILITY 
HISTORY 
LIFESPAN 
LIVELINESS 
DEADLINE 
LATENCY BUDGET 
TRANSPORT PRIO 
TIME-BASED FILTER 
RESOURCE LIMITS 
USER DATA 
TOPIC DATA 
GROUP DATA 
OWENERSHIP 
OWN. STRENGTH 
DW LIFECYCLE 
DR LIFECYCLE 
ENTITY FACTORY 
DEST. ORDER 
PARTITION 
PRESENTATION 
RELIABILITY 
RxO QoS Local QoS
Copyright PrismTech, 2014 
QoS Model 
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 
Domain 
Participant 
joins joins 
Domain Id 
produces-in consumes-from 
RxO QoS Policies 
DURABILITY 
DEST. ORDER 
RELIABILITY 
LATENCY BUDGET 
DEADLINE 
OWENERSHIP 
LIVELINESS 
Publisher 
DataWriter 
PARTITION 
Domain 
Participant 
Subscriber 
DataReader 
offered 
QoS 
writes reads 
Topic 
requested 
QoS
Copyright PrismTech, 2014 
Data Delivery 
Data Delivery QoS Policies provide 
control over: 
who delivers data 
where data is delivered, and 
how data is delivered 
Reliability 
Ownership Ownership 
Presentation 
Destination 
Partition Order 
Strength 
Data Delivery
Copyright PrismTech, 2014 
Data Delivery 
Data Delivery QoS Policies provide 
control over: 
who delivers data 
where data is delivered, and 
how data is delivered 
Reliability 
Ownership Ownership 
Presentation 
Destination 
Partition Order 
Strength 
Data Delivery
Copyright PrismTech, 2014 
Data Delivery 
Data Delivery QoS Policies provide 
control over: 
who delivers data 
where data is delivered, and 
how data is delivered 
Reliability 
Ownership Ownership 
Presentation 
Destination 
Partition Order 
Strength 
Data Delivery
Copyright PrismTech, 2014 
Data Delivery 
Data Delivery QoS Policies provide 
control over: 
who delivers data 
where data is delivered, and 
how data is delivered 
Reliability 
Ownership Ownership 
Presentation 
Destination 
Partition Order 
Strength 
Data Delivery
Copyright PrismTech, 2014 
Data Availability 
Data Availability QoS Policies provide 
control over data availability with 
respect to: 
Temporal Decoupling (late Joiners) 
Temporal Validity 
History 
Lifespan Data Availability Durability
Copyright PrismTech, 2014 
Data Availability 
Data Availability QoS Policies provide 
control over data availability with 
respect to: 
Temporal Decoupling (late Joiners) 
Temporal Validity 
History 
Lifespan Data Availability Durability
Copyright PrismTech, 2014 
Data Availability 
Data Availability QoS Policies provide 
control over data availability with 
respect to: 
Temporal Decoupling (late Joiners) 
Temporal Validity 
History 
Lifespan Data Availability Durability
Copyright PrismTech, 2014 
Temporal Properties 
Several policies provide control over 
temporal properties, specifically: 
Outbound Throughput 
Inbound Throughput 
Latency 
TimeBasedFilter 
[Inbound] 
Throughput 
[Outbound] 
Deadline 
Latency 
TransportPriority 
LatencyBudget
Copyright PrismTech, 2014 
Temporal Properties 
Several policies provide control over 
temporal properties, specifically: 
Outbound Throughput 
Inbound Throughput 
Latency 
TimeBasedFilter 
[Inbound] 
Throughput 
[Outbound] 
Deadline 
Latency 
TransportPriority 
LatencyBudget
Copyright PrismTech, 2014 
Temporal Properties 
Several policies provide control over 
temporal properties, specifically: 
Outbound Throughput 
Inbound Throughput 
Latency 
TimeBasedFilter 
[Inbound] 
Throughput 
[Outbound] 
Deadline 
Latency 
TransportPriority 
LatencyBudget
Copyright PrismTech, 2014 
Temporal Properties 
Several policies provide control over 
temporal properties, specifically: 
Outbound Throughput 
Inbound Throughput 
Latency 
TimeBasedFilter 
[Inbound] 
Throughput 
[Outbound] 
Deadline 
Latency 
TransportPriority 
LatencyBudget
Copyright PrismTech, 2014 
Cloud and Fog/Edge Computing 
DDS supports both the 
Cloud and the Fog 
Computing Paradigm 
DDS natively supports: 
- Device-to-Device 
Communication 
- Device-to-Cloud 
Communication 
Device-to-Device 
Communication 
Fog Computing 
Cloud Computing 
Fog Computing 
Cloud-to-Cloud 
Communication 
Fog Computing 
Device-to-Cloud 
Communication 
Device-to-Device 
Communication 
Fog-to-Cloud 
Communication
Copyright PrismTech, 2014 
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 
Trillian 
Marvin 
A(r,w), B(r) 
A(r,w), B(r,w), X(r) 
*(r,w) 
A(r,w), B(r,w), C(r,w) 
*(r) 
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
Copyright PrismTech, 2014 
Platform Independent 
DDS is independent from the 
- Programming language, 
- Operating System 
- HW architecture
DDS is Simple!
Copyright PrismTech, 2014 
Chatting in Scala 
import dds._ 
import dds.prelude._ 
import dds.config.DefaultEntities._ 
object Chatter { 
def main(args: Array[String]): Unit = { 
val topic = Topic[Post]("Post") 
val dw = DataWriter[Post](topic) 
dw.write(new Post(“kydos”,”Using VORTEX.. It's pretty cool!”)); 
} 
}
Copyright PrismTech, 2014 
Chatting in Scala 
import dds._ 
import dds.prelude._ 
import dds.config.DefaultEntities._ 
object ChatLog { 
def main(args: Array[String]): Unit = { 
val topic = Topic[Post]("Post") 
val dr = DataReader[Post](topic) 
dr listen { 
case DataAvailable(_) => dr.read.foreach(println) 
} 
} 
}
Copyright PrismTech, 2014 
Chatting in C++ 
#include <dds.hpp> 
int main(int, char**) { 
DomainParticipant dp(0); 
Topic<Post> topic(“Post”); 
Publisher pub(dp); 
DataWriter<Post> dw(dp, topic); 
dw.write(Post(“kydos”,”Using VORTEX.. It's pretty cool!”)); 
dw << Post(“kydos”,”Using operator << to post!”); 
return 0; 
}
Copyright PrismTech, 2014 
Chatting in C++ 
#include <dds.hpp> 
int main(int, char**) { 
DomainParticipant dp(0); 
Topic<Post> topic(“Post”); 
Subscriber sub(dp); 
DataReader<Post> dr(dp, topic); 
LambdaDataReaderListener<DataReader<Post>> lst; 
lst.data_available = [](DataReader<Post>& dr) { 
auto samples = data.read(); 
std::for_each(samples.begin(), samples.end(), [](Sample<Post>& sample) { 
std::cout << sample.data() << std::endl; 
} 
} 
dr.listener(lst); 
return 0; 
}
DDS vs. Other Standards
Copyright PrismTech, 2014 
Advanced Message Queueing Protocol (AMQP) 
Originally defined by the AMQP consortium as a 
messaging standard addressing the Financial 
and Enterprise market 
AMQP is an OASIS standard that defines an 
efficient, binary, peer-to-peer protocol for for 
transporting messages between two processes 
over a network. Above this, the messaging layer 
defines an abstract message format, with 
concrete standard encoding 
https://www.oasis-open.org/committees/amqp/
Copyright PrismTech, 2014 
Constrained Application Protocol (CoAP) 
CoAP is an IETF RFC defining a transfer protocol for constrained 
nodes and constrained (e.g., low-power, lossy) networks, e.g. 8-bit 
micro-controllers with small amounts of ROM and RAM, connected 
by Low-Power Wireless Personal Area Networks (6LoWPANs). 
The protocol is designed for machine-to-machine (M2M) applications 
such as smart energy and building automation. 
CoAP provides a request/response interaction model between application endpoints, 
supports built-in discovery of services and resources, and includes key concepts of the Web 
such as URIs and Internet media types. 
CoAP is designed to easily interface with HTTP for integration with the Web while meeting 
specialised requirements such as multicast support, very low overhead, and simplicity for 
constrained environments.
Copyright PrismTech, 2014 
Message Queueing Telemetry Transport (MQTT) 
MQTT was defined originally by IBM in 
the mid 90’s as a lightweight protocol for 
telemetry 
MQTT supports a basic publish/subscribe 
abstraction with three different level of 
QoS 
MQTT has recently gained much 
attention as a potential candidate for 
data sharing in the IoT
Copyright PrismTech, 2014 
Qualitative Comparison 
Transport Paradigm Scope Discovery 
Content 
Awareness 
Data 
Centricity 
Security 
Data 
Prioritisation 
Fault 
Tolerance 
AMQP TCP/IP 
Point-to- 
Point 
Message 
Exchange 
D2D 
D2C 
C2C 
No None Encoding TLS None Impl. Specific 
CoAP UDP/IP 
Request/ 
Reply 
(REST) 
D2D Yes None Encoding DTLS None Decentralised 
DDS 
UDP/IP 
(unicast + mcast) 
TCP/IP 
Publish/ 
Subscribe 
Request/ 
Reply 
D2D 
D2C 
C2C 
Yes 
Content- 
Based 
Routing, 
Queries 
Encoding, 
Declaration 
TLS, DTLS, 
DDS 
Security 
Tranport 
Priorities 
Decentralised 
MQTT TCP/IP 
Publish/ 
Subscribe 
D2C No None Undefined TLS None 
Broker is the 
SPoF 
[Ref: A Comparative Study of Data-Sharing Standards for the Internet of Things, Cutter Journal, Dec 2014 
]
Copyright PrismTech, 2014 
CIoT/IIoT Data Sharing Requirements 
Efficient and scalable Data 
Sharing is a key 
requirement of practically 
any IoT system 
The degree of performance 
and fault-tolerance 
required by the data 
sharing platform varies 
across Consumer and 
Industrial Internet on 
Things applications 
Fog Computing support is 
key for IIoT 
High Individual Data Rates 
High Aggregated Data Volumes 
Low Latency 
Temporal Determinism 
Device-2-Device (D2D) Comms 
Device-2-Cloud (D2C) Comms 
Cloud-2-Cloud (C2C) Comms 
Bandwidth Efficiency 
Fault-Tolerance 
Transport-Level Security 
Data-Level Security 
CIoT IIoT 
0,00 0,25 0,50 0,75 1,00 
[Ref: A Comparative Study of Data-Sharing Standards for the Internet of Things, Cutter Journal, Dec 2014 
] 
Relative Importance
Copyright PrismTech, 2014 
IoT Standard Fitness 
Scoring the various IoT 
candidates agains the data-sharing 
requirements shows 
that DDS and AMQP are those 
that best address IoT needs 
AMQP 
CoAP 
DDS 
MQTT 
CIoT Fitness IIoT Fitness 
0,0% 25,0% 50,0% 75,0% 100,0% 
[Ref: A Comparative Study of Data-Sharing Standards for the Internet of Things, 
Cutter Journal, Dec 2014 
]
Tech Mythology 
MQTT is very wire efficient. Probably the most wire-efficient 
IoT data sharing standard
Copyright PrismTech, 2014 
DDS & MQTT Wire Efficiency 
MQTT encodes the topic name on 
every data message, as a result its 
wire-efficiency linearly degrades 
on the topic name length — which 
is usually greater several tens of 
bytes 
DDS has a predictable protocol 
overhead. Furthermore, when 
running DDS in streaming mode 
over TCP/IP the protocol 
efficiency can be further improved 
Protocol Overhead 
Topic Name Length 
300 
225 
150 
75 
0 
MQTT 
DDS 
DDS Streaming 
8 16 32 64 128 256 
Size (bytes) 
[Ref: A Comparative Study of Data-Sharing Standards for the Internet of Things, 
Cutter Journal, Dec 2014 
]
Copyright PrismTech, 2014 
Protocols Overhead Analysis 
Message Size (bytes) IPv4 Headers 
(bytes) 
Total Size 
(bytes) 
MQTT 
(QoS = 0) 
(2 to 5) + 2 + length(TopicName) + length(Payload) IP: 20-40 
TCP: 20-40 
min = 20 + 20 + 4 + length(TopicName) + length(Payload) 
max = 40 + 40 + 7 + length(TopicName) + length(Payload) 
DDS 44 + length (Payload) IP: 20-40 
UDP: 8 
min = 20 + 8 + 44 + length(Payload) 
max = 40 + 8 + 44 + length(Payload) 
DDS 
Streaming 
24 + length (Payload) IP: 20-40 
TCP: 20-40 
min = 20 + 20 + 24 + length(Payload) 
max = 40 + 40 + 24 + length(Payload)
Demo
Copyright PrismTech, 2014 
DDS Enables the IoT
Copyright PrismTech, 2014
Ad

More Related Content

What's hot (20)

The DDS Tutorial - Part I
The DDS Tutorial - Part IThe DDS Tutorial - Part I
The DDS Tutorial - Part I
Angelo Corsaro
 
Getting Started in DDS with C++ and Java
Getting Started in DDS with C++ and JavaGetting Started in DDS with C++ and Java
Getting Started in DDS with C++ and Java
Angelo Corsaro
 
Cyclone DDS: Sharing Data in the IoT Age
Cyclone DDS: Sharing Data in the IoT AgeCyclone DDS: Sharing Data in the IoT Age
Cyclone DDS: Sharing Data in the IoT Age
Angelo Corsaro
 
DDS Secure Intro
DDS Secure IntroDDS Secure Intro
DDS Secure Intro
John Breitenbach
 
DDS In Action Part II
DDS In Action Part IIDDS In Action Part II
DDS In Action Part II
Angelo Corsaro
 
The Data Distribution Service
The Data Distribution ServiceThe Data Distribution Service
The Data Distribution Service
Angelo Corsaro
 
The Art and Science of DDS Data Modelling
The Art and Science of DDS Data ModellingThe Art and Science of DDS Data Modelling
The Art and Science of DDS Data Modelling
Angelo Corsaro
 
Fast DDS Features & Tools
Fast DDS Features & ToolsFast DDS Features & Tools
Fast DDS Features & Tools
eProsima
 
The Inside Story: How OPC UA and DDS Can Work Together in Industrial Systems
The Inside Story: How OPC UA and DDS Can Work Together in Industrial SystemsThe Inside Story: How OPC UA and DDS Can Work Together in Industrial Systems
The Inside Story: How OPC UA and DDS Can Work Together in Industrial Systems
Real-Time Innovations (RTI)
 
Introduction to RTI DDS
Introduction to RTI DDSIntroduction to RTI DDS
Introduction to RTI DDS
John Breitenbach
 
Getting Started with DDS in C++, Java and Scala
Getting Started with DDS in C++, Java and ScalaGetting Started with DDS in C++, Java and Scala
Getting Started with DDS in C++, Java and Scala
Angelo Corsaro
 
Comparison of MQTT and DDS as M2M Protocols for the Internet of Things
Comparison of MQTT and DDS as M2M Protocols for the Internet of ThingsComparison of MQTT and DDS as M2M Protocols for the Internet of Things
Comparison of MQTT and DDS as M2M Protocols for the Internet of Things
Real-Time Innovations (RTI)
 
Micro XRCE-DDS and micro-ROS
Micro XRCE-DDS and micro-ROSMicro XRCE-DDS and micro-ROS
Micro XRCE-DDS and micro-ROS
eProsima
 
Distributed Simulations with DDS and HLA
Distributed Simulations with DDS and HLADistributed Simulations with DDS and HLA
Distributed Simulations with DDS and HLA
Angelo Corsaro
 
20 Tips for OpenSplice Newbies
20 Tips for OpenSplice Newbies20 Tips for OpenSplice Newbies
20 Tips for OpenSplice Newbies
Angelo Corsaro
 
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part IOMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
Angelo Corsaro
 
DDS Security
DDS SecurityDDS Security
DDS Security
Angelo Corsaro
 
Secure Network Design
Secure Network DesignSecure Network Design
Secure Network Design
Conferencias FIST
 
cisco csr1000v
cisco csr1000vcisco csr1000v
cisco csr1000v
Ming914298
 
Oracle Cloud Infrastructure:2021年12月度サービス・アップデート
Oracle Cloud Infrastructure:2021年12月度サービス・アップデートOracle Cloud Infrastructure:2021年12月度サービス・アップデート
Oracle Cloud Infrastructure:2021年12月度サービス・アップデート
オラクルエンジニア通信
 
The DDS Tutorial - Part I
The DDS Tutorial - Part IThe DDS Tutorial - Part I
The DDS Tutorial - Part I
Angelo Corsaro
 
Getting Started in DDS with C++ and Java
Getting Started in DDS with C++ and JavaGetting Started in DDS with C++ and Java
Getting Started in DDS with C++ and Java
Angelo Corsaro
 
Cyclone DDS: Sharing Data in the IoT Age
Cyclone DDS: Sharing Data in the IoT AgeCyclone DDS: Sharing Data in the IoT Age
Cyclone DDS: Sharing Data in the IoT Age
Angelo Corsaro
 
The Data Distribution Service
The Data Distribution ServiceThe Data Distribution Service
The Data Distribution Service
Angelo Corsaro
 
The Art and Science of DDS Data Modelling
The Art and Science of DDS Data ModellingThe Art and Science of DDS Data Modelling
The Art and Science of DDS Data Modelling
Angelo Corsaro
 
Fast DDS Features & Tools
Fast DDS Features & ToolsFast DDS Features & Tools
Fast DDS Features & Tools
eProsima
 
The Inside Story: How OPC UA and DDS Can Work Together in Industrial Systems
The Inside Story: How OPC UA and DDS Can Work Together in Industrial SystemsThe Inside Story: How OPC UA and DDS Can Work Together in Industrial Systems
The Inside Story: How OPC UA and DDS Can Work Together in Industrial Systems
Real-Time Innovations (RTI)
 
Getting Started with DDS in C++, Java and Scala
Getting Started with DDS in C++, Java and ScalaGetting Started with DDS in C++, Java and Scala
Getting Started with DDS in C++, Java and Scala
Angelo Corsaro
 
Comparison of MQTT and DDS as M2M Protocols for the Internet of Things
Comparison of MQTT and DDS as M2M Protocols for the Internet of ThingsComparison of MQTT and DDS as M2M Protocols for the Internet of Things
Comparison of MQTT and DDS as M2M Protocols for the Internet of Things
Real-Time Innovations (RTI)
 
Micro XRCE-DDS and micro-ROS
Micro XRCE-DDS and micro-ROSMicro XRCE-DDS and micro-ROS
Micro XRCE-DDS and micro-ROS
eProsima
 
Distributed Simulations with DDS and HLA
Distributed Simulations with DDS and HLADistributed Simulations with DDS and HLA
Distributed Simulations with DDS and HLA
Angelo Corsaro
 
20 Tips for OpenSplice Newbies
20 Tips for OpenSplice Newbies20 Tips for OpenSplice Newbies
20 Tips for OpenSplice Newbies
Angelo Corsaro
 
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part IOMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
Angelo Corsaro
 
cisco csr1000v
cisco csr1000vcisco csr1000v
cisco csr1000v
Ming914298
 
Oracle Cloud Infrastructure:2021年12月度サービス・アップデート
Oracle Cloud Infrastructure:2021年12月度サービス・アップデートOracle Cloud Infrastructure:2021年12月度サービス・アップデート
Oracle Cloud Infrastructure:2021年12月度サービス・アップデート
オラクルエンジニア通信
 

Viewers also liked (20)

What's the Right Messaging Standard for the IoT?
What's the Right Messaging  Standard for the IoT?What's the Right Messaging  Standard for the IoT?
What's the Right Messaging Standard for the IoT?
Angelo Corsaro
 
Smart, Secure and Efficient Data Sharing in IoT
Smart, Secure and Efficient Data Sharing in IoTSmart, Secure and Efficient Data Sharing in IoT
Smart, Secure and Efficient Data Sharing in IoT
Angelo Corsaro
 
Building the Internet of Things
Building the Internet of ThingsBuilding the Internet of Things
Building the Internet of Things
Angelo Corsaro
 
DDS in SCADA, Utilities, Smart Grid and Smart Cities
DDS in SCADA, Utilities, Smart Grid and Smart CitiesDDS in SCADA, Utilities, Smart Grid and Smart Cities
DDS in SCADA, Utilities, Smart Grid and Smart Cities
Angelo Corsaro
 
Micro services Architecture with Vortex -- Part I
Micro services Architecture with Vortex -- Part IMicro services Architecture with Vortex -- Part I
Micro services Architecture with Vortex -- Part I
Angelo Corsaro
 
PLM and Data Management in 21st Century
PLM and Data Management in 21st CenturyPLM and Data Management in 21st Century
PLM and Data Management in 21st Century
Oleg Shilovitsky
 
Characerizing and Validating QoS in the Emerging IoT Network
Characerizing and Validating QoS in the Emerging IoT NetworkCharacerizing and Validating QoS in the Emerging IoT Network
Characerizing and Validating QoS in the Emerging IoT Network
Hans Ashlock
 
RPC Over DDS
RPC Over DDSRPC Over DDS
RPC Over DDS
Real-Time Innovations (RTI)
 
Introduction to CoAP the REST protocol for M2M
Introduction to CoAP the REST protocol for M2MIntroduction to CoAP the REST protocol for M2M
Introduction to CoAP the REST protocol for M2M
Julien Vermillard
 
CoAP Course for m2m and Internet of Things scenarios
CoAP Course for m2m and Internet of Things scenariosCoAP Course for m2m and Internet of Things scenarios
CoAP Course for m2m and Internet of Things scenarios
carlosralli
 
архитектура компьютера
архитектура компьютераархитектура компьютера
архитектура компьютера
Virus91
 
Most Wanted Xbox 360 Games 23 June 2009
Most Wanted Xbox 360 Games 23 June 2009Most Wanted Xbox 360 Games 23 June 2009
Most Wanted Xbox 360 Games 23 June 2009
William
 
Www.Gliffy.Com
Www.Gliffy.ComWww.Gliffy.Com
Www.Gliffy.Com
Virus91
 
Bridging Gt Apr09
Bridging Gt Apr09Bridging Gt Apr09
Bridging Gt Apr09
Jeff Hendrick
 
Capsule01 Creds2008
Capsule01 Creds2008Capsule01 Creds2008
Capsule01 Creds2008
capsule01
 
Baile alumnado 2º ciclo 2013
Baile alumnado 2º ciclo 2013Baile alumnado 2º ciclo 2013
Baile alumnado 2º ciclo 2013
XXX XXX
 
Sph 107 Ch 10
Sph 107 Ch 10Sph 107 Ch 10
Sph 107 Ch 10
Bryant Hall
 
isd312-05-wordnet
isd312-05-wordnetisd312-05-wordnet
isd312-05-wordnet
Anung Ariwibowo
 
What's the Right Messaging Standard for the IoT?
What's the Right Messaging  Standard for the IoT?What's the Right Messaging  Standard for the IoT?
What's the Right Messaging Standard for the IoT?
Angelo Corsaro
 
Smart, Secure and Efficient Data Sharing in IoT
Smart, Secure and Efficient Data Sharing in IoTSmart, Secure and Efficient Data Sharing in IoT
Smart, Secure and Efficient Data Sharing in IoT
Angelo Corsaro
 
Building the Internet of Things
Building the Internet of ThingsBuilding the Internet of Things
Building the Internet of Things
Angelo Corsaro
 
DDS in SCADA, Utilities, Smart Grid and Smart Cities
DDS in SCADA, Utilities, Smart Grid and Smart CitiesDDS in SCADA, Utilities, Smart Grid and Smart Cities
DDS in SCADA, Utilities, Smart Grid and Smart Cities
Angelo Corsaro
 
Micro services Architecture with Vortex -- Part I
Micro services Architecture with Vortex -- Part IMicro services Architecture with Vortex -- Part I
Micro services Architecture with Vortex -- Part I
Angelo Corsaro
 
PLM and Data Management in 21st Century
PLM and Data Management in 21st CenturyPLM and Data Management in 21st Century
PLM and Data Management in 21st Century
Oleg Shilovitsky
 
Characerizing and Validating QoS in the Emerging IoT Network
Characerizing and Validating QoS in the Emerging IoT NetworkCharacerizing and Validating QoS in the Emerging IoT Network
Characerizing and Validating QoS in the Emerging IoT Network
Hans Ashlock
 
Introduction to CoAP the REST protocol for M2M
Introduction to CoAP the REST protocol for M2MIntroduction to CoAP the REST protocol for M2M
Introduction to CoAP the REST protocol for M2M
Julien Vermillard
 
CoAP Course for m2m and Internet of Things scenarios
CoAP Course for m2m and Internet of Things scenariosCoAP Course for m2m and Internet of Things scenarios
CoAP Course for m2m and Internet of Things scenarios
carlosralli
 
архитектура компьютера
архитектура компьютераархитектура компьютера
архитектура компьютера
Virus91
 
Most Wanted Xbox 360 Games 23 June 2009
Most Wanted Xbox 360 Games 23 June 2009Most Wanted Xbox 360 Games 23 June 2009
Most Wanted Xbox 360 Games 23 June 2009
William
 
Www.Gliffy.Com
Www.Gliffy.ComWww.Gliffy.Com
Www.Gliffy.Com
Virus91
 
Capsule01 Creds2008
Capsule01 Creds2008Capsule01 Creds2008
Capsule01 Creds2008
capsule01
 
Baile alumnado 2º ciclo 2013
Baile alumnado 2º ciclo 2013Baile alumnado 2º ciclo 2013
Baile alumnado 2º ciclo 2013
XXX XXX
 
Ad

Similar to DDS: The IoT Data Sharing Standard (20)

Vortex Tutorial Part 2
Vortex Tutorial Part 2Vortex Tutorial Part 2
Vortex Tutorial Part 2
ADLINK Technology IoT
 
Vortex Tutorial Part II
Vortex Tutorial Part IIVortex Tutorial Part II
Vortex Tutorial Part II
Angelo Corsaro
 
Vortex Tutorial -- Part I
Vortex Tutorial -- Part IVortex Tutorial -- Part I
Vortex Tutorial -- Part I
Angelo Corsaro
 
PrismTech Vortex Tutorial Part 1
PrismTech Vortex Tutorial Part 1PrismTech Vortex Tutorial Part 1
PrismTech Vortex Tutorial Part 1
ADLINK Technology IoT
 
Real Time Java DDS
Real Time Java DDSReal Time Java DDS
Real Time Java DDS
kerush
 
Reactive Data Centric Architectures with DDS
Reactive Data Centric Architectures with DDSReactive Data Centric Architectures with DDS
Reactive Data Centric Architectures with DDS
Angelo Corsaro
 
Fog Computing with VORTEX
Fog Computing with VORTEXFog Computing with VORTEX
Fog Computing with VORTEX
Angelo Corsaro
 
Distributed Algorithms with DDS
Distributed Algorithms with DDSDistributed Algorithms with DDS
Distributed Algorithms with DDS
Angelo Corsaro
 
DDS 2010 Interoperability Demo
DDS 2010 Interoperability DemoDDS 2010 Interoperability Demo
DDS 2010 Interoperability Demo
Angelo Corsaro
 
DDS Interoperability Demo using the DDS-RTPS standard protocol 2010
DDS Interoperability Demo using the DDS-RTPS standard protocol 2010DDS Interoperability Demo using the DDS-RTPS standard protocol 2010
DDS Interoperability Demo using the DDS-RTPS standard protocol 2010
Gerardo Pardo-Castellote
 
DDS and OPC UA Explained
DDS and OPC UA ExplainedDDS and OPC UA Explained
DDS and OPC UA Explained
Angelo Corsaro
 
Deep Dive into the OPC UA / DDS Gateway Specification
Deep Dive into the OPC UA / DDS Gateway SpecificationDeep Dive into the OPC UA / DDS Gateway Specification
Deep Dive into the OPC UA / DDS Gateway Specification
Gerardo Pardo-Castellote
 
Vortex Cloud Beyond Cloud Messaging
Vortex Cloud Beyond Cloud MessagingVortex Cloud Beyond Cloud Messaging
Vortex Cloud Beyond Cloud Messaging
ADLINK Technology IoT
 
Introducing Vortex Lite
Introducing Vortex LiteIntroducing Vortex Lite
Introducing Vortex Lite
Angelo Corsaro
 
Introducing Vortex Lite
Introducing Vortex LiteIntroducing Vortex Lite
Introducing Vortex Lite
ADLINK Technology IoT
 
Distributed Systems: How to connect your real-time applications
Distributed Systems: How to connect your real-time applicationsDistributed Systems: How to connect your real-time applications
Distributed Systems: How to connect your real-time applications
Jaime Martin Losa
 
Desktop, Embedded and Mobile Apps with Vortex Café
Desktop, Embedded and Mobile Apps with Vortex CaféDesktop, Embedded and Mobile Apps with Vortex Café
Desktop, Embedded and Mobile Apps with Vortex Café
Angelo Corsaro
 
Desktop, Embedded and Mobile Apps with PrismTech Vortex Cafe
Desktop, Embedded and Mobile Apps with PrismTech Vortex CafeDesktop, Embedded and Mobile Apps with PrismTech Vortex Cafe
Desktop, Embedded and Mobile Apps with PrismTech Vortex Cafe
ADLINK Technology IoT
 
Eclipse IoT Summit 2016: In The Age of IoT Think Data-Centric
Eclipse IoT Summit 2016: In The Age of IoT Think Data-CentricEclipse IoT Summit 2016: In The Age of IoT Think Data-Centric
Eclipse IoT Summit 2016: In The Age of IoT Think Data-Centric
Toby McClean
 
Connected Mobile and Web Applications with PrismTech Vortex Data Sharing Plat...
Connected Mobile and Web Applications with PrismTech Vortex Data Sharing Plat...Connected Mobile and Web Applications with PrismTech Vortex Data Sharing Plat...
Connected Mobile and Web Applications with PrismTech Vortex Data Sharing Plat...
ADLINK Technology IoT
 
Vortex Tutorial Part II
Vortex Tutorial Part IIVortex Tutorial Part II
Vortex Tutorial Part II
Angelo Corsaro
 
Vortex Tutorial -- Part I
Vortex Tutorial -- Part IVortex Tutorial -- Part I
Vortex Tutorial -- Part I
Angelo Corsaro
 
Real Time Java DDS
Real Time Java DDSReal Time Java DDS
Real Time Java DDS
kerush
 
Reactive Data Centric Architectures with DDS
Reactive Data Centric Architectures with DDSReactive Data Centric Architectures with DDS
Reactive Data Centric Architectures with DDS
Angelo Corsaro
 
Fog Computing with VORTEX
Fog Computing with VORTEXFog Computing with VORTEX
Fog Computing with VORTEX
Angelo Corsaro
 
Distributed Algorithms with DDS
Distributed Algorithms with DDSDistributed Algorithms with DDS
Distributed Algorithms with DDS
Angelo Corsaro
 
DDS 2010 Interoperability Demo
DDS 2010 Interoperability DemoDDS 2010 Interoperability Demo
DDS 2010 Interoperability Demo
Angelo Corsaro
 
DDS Interoperability Demo using the DDS-RTPS standard protocol 2010
DDS Interoperability Demo using the DDS-RTPS standard protocol 2010DDS Interoperability Demo using the DDS-RTPS standard protocol 2010
DDS Interoperability Demo using the DDS-RTPS standard protocol 2010
Gerardo Pardo-Castellote
 
DDS and OPC UA Explained
DDS and OPC UA ExplainedDDS and OPC UA Explained
DDS and OPC UA Explained
Angelo Corsaro
 
Deep Dive into the OPC UA / DDS Gateway Specification
Deep Dive into the OPC UA / DDS Gateway SpecificationDeep Dive into the OPC UA / DDS Gateway Specification
Deep Dive into the OPC UA / DDS Gateway Specification
Gerardo Pardo-Castellote
 
Introducing Vortex Lite
Introducing Vortex LiteIntroducing Vortex Lite
Introducing Vortex Lite
Angelo Corsaro
 
Distributed Systems: How to connect your real-time applications
Distributed Systems: How to connect your real-time applicationsDistributed Systems: How to connect your real-time applications
Distributed Systems: How to connect your real-time applications
Jaime Martin Losa
 
Desktop, Embedded and Mobile Apps with Vortex Café
Desktop, Embedded and Mobile Apps with Vortex CaféDesktop, Embedded and Mobile Apps with Vortex Café
Desktop, Embedded and Mobile Apps with Vortex Café
Angelo Corsaro
 
Desktop, Embedded and Mobile Apps with PrismTech Vortex Cafe
Desktop, Embedded and Mobile Apps with PrismTech Vortex CafeDesktop, Embedded and Mobile Apps with PrismTech Vortex Cafe
Desktop, Embedded and Mobile Apps with PrismTech Vortex Cafe
ADLINK Technology IoT
 
Eclipse IoT Summit 2016: In The Age of IoT Think Data-Centric
Eclipse IoT Summit 2016: In The Age of IoT Think Data-CentricEclipse IoT Summit 2016: In The Age of IoT Think Data-Centric
Eclipse IoT Summit 2016: In The Age of IoT Think Data-Centric
Toby McClean
 
Connected Mobile and Web Applications with PrismTech Vortex Data Sharing Plat...
Connected Mobile and Web Applications with PrismTech Vortex Data Sharing Plat...Connected Mobile and Web Applications with PrismTech Vortex Data Sharing Plat...
Connected Mobile and Web Applications with PrismTech Vortex Data Sharing Plat...
ADLINK Technology IoT
 
Ad

More from Angelo Corsaro (20)

Zenoh: The Genesis
Zenoh: The GenesisZenoh: The Genesis
Zenoh: The Genesis
Angelo Corsaro
 
zenoh: The Edge Data Fabric
zenoh: The Edge Data Fabriczenoh: The Edge Data Fabric
zenoh: The Edge Data Fabric
Angelo Corsaro
 
Zenoh Tutorial
Zenoh TutorialZenoh Tutorial
Zenoh Tutorial
Angelo Corsaro
 
Data Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair MonetisationData Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair Monetisation
Angelo Corsaro
 
zenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query computezenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query compute
Angelo Corsaro
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocol
Angelo Corsaro
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocol
Angelo Corsaro
 
Breaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog ComputingBreaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Angelo Corsaro
 
Eastern Sicily
Eastern SicilyEastern Sicily
Eastern Sicily
Angelo Corsaro
 
fog05: The Fog Computing Infrastructure
fog05: The Fog Computing Infrastructurefog05: The Fog Computing Infrastructure
fog05: The Fog Computing Infrastructure
Angelo Corsaro
 
fog05: The Fog Computing Platform
fog05: The Fog Computing Platformfog05: The Fog Computing Platform
fog05: The Fog Computing Platform
Angelo Corsaro
 
Programming in Scala - Lecture Four
Programming in Scala - Lecture FourProgramming in Scala - Lecture Four
Programming in Scala - Lecture Four
Angelo Corsaro
 
Programming in Scala - Lecture Three
Programming in Scala - Lecture ThreeProgramming in Scala - Lecture Three
Programming in Scala - Lecture Three
Angelo Corsaro
 
Programming in Scala - Lecture Two
Programming in Scala - Lecture TwoProgramming in Scala - Lecture Two
Programming in Scala - Lecture Two
Angelo Corsaro
 
Programming in Scala - Lecture One
Programming in Scala - Lecture OneProgramming in Scala - Lecture One
Programming in Scala - Lecture One
Angelo Corsaro
 
Data Sharing in Extremely Resource Constrained Envionrments
Data Sharing in Extremely Resource Constrained EnvionrmentsData Sharing in Extremely Resource Constrained Envionrments
Data Sharing in Extremely Resource Constrained Envionrments
Angelo Corsaro
 
The DDS Security Standard
The DDS Security StandardThe DDS Security Standard
The DDS Security Standard
Angelo Corsaro
 
RUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming RuminationsRUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming Ruminations
Angelo Corsaro
 
Vortex II -- The Industrial IoT Connectivity Standard
Vortex II -- The  Industrial IoT  Connectivity StandardVortex II -- The  Industrial IoT  Connectivity Standard
Vortex II -- The Industrial IoT Connectivity Standard
Angelo Corsaro
 
Fog Computing Defined
Fog Computing DefinedFog Computing Defined
Fog Computing Defined
Angelo Corsaro
 
zenoh: The Edge Data Fabric
zenoh: The Edge Data Fabriczenoh: The Edge Data Fabric
zenoh: The Edge Data Fabric
Angelo Corsaro
 
Data Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair MonetisationData Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair Monetisation
Angelo Corsaro
 
zenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query computezenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query compute
Angelo Corsaro
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocol
Angelo Corsaro
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocol
Angelo Corsaro
 
Breaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog ComputingBreaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Angelo Corsaro
 
fog05: The Fog Computing Infrastructure
fog05: The Fog Computing Infrastructurefog05: The Fog Computing Infrastructure
fog05: The Fog Computing Infrastructure
Angelo Corsaro
 
fog05: The Fog Computing Platform
fog05: The Fog Computing Platformfog05: The Fog Computing Platform
fog05: The Fog Computing Platform
Angelo Corsaro
 
Programming in Scala - Lecture Four
Programming in Scala - Lecture FourProgramming in Scala - Lecture Four
Programming in Scala - Lecture Four
Angelo Corsaro
 
Programming in Scala - Lecture Three
Programming in Scala - Lecture ThreeProgramming in Scala - Lecture Three
Programming in Scala - Lecture Three
Angelo Corsaro
 
Programming in Scala - Lecture Two
Programming in Scala - Lecture TwoProgramming in Scala - Lecture Two
Programming in Scala - Lecture Two
Angelo Corsaro
 
Programming in Scala - Lecture One
Programming in Scala - Lecture OneProgramming in Scala - Lecture One
Programming in Scala - Lecture One
Angelo Corsaro
 
Data Sharing in Extremely Resource Constrained Envionrments
Data Sharing in Extremely Resource Constrained EnvionrmentsData Sharing in Extremely Resource Constrained Envionrments
Data Sharing in Extremely Resource Constrained Envionrments
Angelo Corsaro
 
The DDS Security Standard
The DDS Security StandardThe DDS Security Standard
The DDS Security Standard
Angelo Corsaro
 
RUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming RuminationsRUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming Ruminations
Angelo Corsaro
 
Vortex II -- The Industrial IoT Connectivity Standard
Vortex II -- The  Industrial IoT  Connectivity StandardVortex II -- The  Industrial IoT  Connectivity Standard
Vortex II -- The Industrial IoT Connectivity Standard
Angelo Corsaro
 

Recently uploaded (20)

Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 

DDS: The IoT Data Sharing Standard

  • 1. DDS The IoT Data Sharing Standard Angelo Corsaro, PhD Chief Technology Officer PrismTech OMG DDS Co-­‐Chair OMG Architectural Board [email protected]
  • 2. Copyright PrismTech, 2014 The DDS Standard Introduced in 2004, DDS is an Object Management Group (OMG) Standard for efficient, secure and interoperable, platform-and programming-language independent data sharing DDS standardises: - Programming API - Interoperable wire-protocol - Extensible Type System - Data Modeling - Security Framework - Remote Procedure Call * * (*) Under Finalisation
  • 3. How is DDS Different/Better?
  • 4. Copyright PrismTech, 2014 Higher Level Abstraction Provides a Distributed Data Space abstraction where applications can autonomously and asynchronously read and write data Its built-in dynamic discovery isolates applications from network topology and connectivity details QoS QoS ... QoS QoS DDS Global Data Space Data Writer Data Writer Data Writer Data Reader Data Reader Data Reader Data Reader Data Writer TopicA TopicB TopicC TopicD
  • 5. Copyright PrismTech, 2014 Data Centricity DDS supports the definition of Common Information Models. These data models define the system’s Lingua Franca DDS types are extensible and evolvable, thus allowing incremental updates and upgrades
  • 6. Copyright PrismTech, 2014 Topic 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. QoS QoS QoS QoS Name QoS Topic Type ... TopicA TopicB TopicC TopicD
  • 7. Copyright PrismTech, 2014 Topic and Instances As explained in the previous slide a topic defines a class/type of information Topics can be defined as Singleton or can have multiple Instances Topic Instances are identified by means of the topic key A Topic Key is identified by a tuple of attributes -- like in databases Remarks: - A Singleton topic has a single domain-wide instance - A “regular” Topic can have as many instances as the number of different key values, e.g., if the key is an 8-bit character then the topic can have 256 different instances
  • 8. Copyright PrismTech, 2014 Content Awareness DDS “knows” about application data types and uses this information provide type-safety and content-based routing 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 > 25 OR hum >= 0.6” sid temp hum 507 33.2 0.7 1307 26.2 0.67 Type TempSensor
  • 9. Copyright PrismTech, 2014 QoS Policies 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 DURABILITY HISTORY LIFESPAN LIVELINESS DEADLINE LATENCY BUDGET TRANSPORT PRIO TIME-BASED FILTER RESOURCE LIMITS USER DATA TOPIC DATA GROUP DATA OWENERSHIP OWN. STRENGTH DW LIFECYCLE DR LIFECYCLE ENTITY FACTORY DEST. ORDER PARTITION PRESENTATION RELIABILITY RxO QoS Local QoS
  • 10. Copyright PrismTech, 2014 QoS Model 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 Domain Participant joins joins Domain Id produces-in consumes-from RxO QoS Policies DURABILITY DEST. ORDER RELIABILITY LATENCY BUDGET DEADLINE OWENERSHIP LIVELINESS Publisher DataWriter PARTITION Domain Participant Subscriber DataReader offered QoS writes reads Topic requested QoS
  • 11. Copyright PrismTech, 2014 Data Delivery Data Delivery QoS Policies provide control over: who delivers data where data is delivered, and how data is delivered Reliability Ownership Ownership Presentation Destination Partition Order Strength Data Delivery
  • 12. Copyright PrismTech, 2014 Data Delivery Data Delivery QoS Policies provide control over: who delivers data where data is delivered, and how data is delivered Reliability Ownership Ownership Presentation Destination Partition Order Strength Data Delivery
  • 13. Copyright PrismTech, 2014 Data Delivery Data Delivery QoS Policies provide control over: who delivers data where data is delivered, and how data is delivered Reliability Ownership Ownership Presentation Destination Partition Order Strength Data Delivery
  • 14. Copyright PrismTech, 2014 Data Delivery Data Delivery QoS Policies provide control over: who delivers data where data is delivered, and how data is delivered Reliability Ownership Ownership Presentation Destination Partition Order Strength Data Delivery
  • 15. Copyright PrismTech, 2014 Data Availability Data Availability QoS Policies provide control over data availability with respect to: Temporal Decoupling (late Joiners) Temporal Validity History Lifespan Data Availability Durability
  • 16. Copyright PrismTech, 2014 Data Availability Data Availability QoS Policies provide control over data availability with respect to: Temporal Decoupling (late Joiners) Temporal Validity History Lifespan Data Availability Durability
  • 17. Copyright PrismTech, 2014 Data Availability Data Availability QoS Policies provide control over data availability with respect to: Temporal Decoupling (late Joiners) Temporal Validity History Lifespan Data Availability Durability
  • 18. Copyright PrismTech, 2014 Temporal Properties Several policies provide control over temporal properties, specifically: Outbound Throughput Inbound Throughput Latency TimeBasedFilter [Inbound] Throughput [Outbound] Deadline Latency TransportPriority LatencyBudget
  • 19. Copyright PrismTech, 2014 Temporal Properties Several policies provide control over temporal properties, specifically: Outbound Throughput Inbound Throughput Latency TimeBasedFilter [Inbound] Throughput [Outbound] Deadline Latency TransportPriority LatencyBudget
  • 20. Copyright PrismTech, 2014 Temporal Properties Several policies provide control over temporal properties, specifically: Outbound Throughput Inbound Throughput Latency TimeBasedFilter [Inbound] Throughput [Outbound] Deadline Latency TransportPriority LatencyBudget
  • 21. Copyright PrismTech, 2014 Temporal Properties Several policies provide control over temporal properties, specifically: Outbound Throughput Inbound Throughput Latency TimeBasedFilter [Inbound] Throughput [Outbound] Deadline Latency TransportPriority LatencyBudget
  • 22. Copyright PrismTech, 2014 Cloud and Fog/Edge Computing DDS supports both the Cloud and the Fog Computing Paradigm DDS natively supports: - Device-to-Device Communication - Device-to-Cloud Communication Device-to-Device Communication Fog Computing Cloud Computing Fog Computing Cloud-to-Cloud Communication Fog Computing Device-to-Cloud Communication Device-to-Device Communication Fog-to-Cloud Communication
  • 23. Copyright PrismTech, 2014 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 Trillian Marvin A(r,w), B(r) A(r,w), B(r,w), X(r) *(r,w) A(r,w), B(r,w), C(r,w) *(r) 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
  • 24. Copyright PrismTech, 2014 Platform Independent DDS is independent from the - Programming language, - Operating System - HW architecture
  • 26. Copyright PrismTech, 2014 Chatting in Scala import dds._ import dds.prelude._ import dds.config.DefaultEntities._ object Chatter { def main(args: Array[String]): Unit = { val topic = Topic[Post]("Post") val dw = DataWriter[Post](topic) dw.write(new Post(“kydos”,”Using VORTEX.. It's pretty cool!”)); } }
  • 27. Copyright PrismTech, 2014 Chatting in Scala import dds._ import dds.prelude._ import dds.config.DefaultEntities._ object ChatLog { def main(args: Array[String]): Unit = { val topic = Topic[Post]("Post") val dr = DataReader[Post](topic) dr listen { case DataAvailable(_) => dr.read.foreach(println) } } }
  • 28. Copyright PrismTech, 2014 Chatting in C++ #include <dds.hpp> int main(int, char**) { DomainParticipant dp(0); Topic<Post> topic(“Post”); Publisher pub(dp); DataWriter<Post> dw(dp, topic); dw.write(Post(“kydos”,”Using VORTEX.. It's pretty cool!”)); dw << Post(“kydos”,”Using operator << to post!”); return 0; }
  • 29. Copyright PrismTech, 2014 Chatting in C++ #include <dds.hpp> int main(int, char**) { DomainParticipant dp(0); Topic<Post> topic(“Post”); Subscriber sub(dp); DataReader<Post> dr(dp, topic); LambdaDataReaderListener<DataReader<Post>> lst; lst.data_available = [](DataReader<Post>& dr) { auto samples = data.read(); std::for_each(samples.begin(), samples.end(), [](Sample<Post>& sample) { std::cout << sample.data() << std::endl; } } dr.listener(lst); return 0; }
  • 30. DDS vs. Other Standards
  • 31. Copyright PrismTech, 2014 Advanced Message Queueing Protocol (AMQP) Originally defined by the AMQP consortium as a messaging standard addressing the Financial and Enterprise market AMQP is an OASIS standard that defines an efficient, binary, peer-to-peer protocol for for transporting messages between two processes over a network. Above this, the messaging layer defines an abstract message format, with concrete standard encoding https://www.oasis-open.org/committees/amqp/
  • 32. Copyright PrismTech, 2014 Constrained Application Protocol (CoAP) CoAP is an IETF RFC defining a transfer protocol for constrained nodes and constrained (e.g., low-power, lossy) networks, e.g. 8-bit micro-controllers with small amounts of ROM and RAM, connected by Low-Power Wireless Personal Area Networks (6LoWPANs). The protocol is designed for machine-to-machine (M2M) applications such as smart energy and building automation. CoAP provides a request/response interaction model between application endpoints, supports built-in discovery of services and resources, and includes key concepts of the Web such as URIs and Internet media types. CoAP is designed to easily interface with HTTP for integration with the Web while meeting specialised requirements such as multicast support, very low overhead, and simplicity for constrained environments.
  • 33. Copyright PrismTech, 2014 Message Queueing Telemetry Transport (MQTT) MQTT was defined originally by IBM in the mid 90’s as a lightweight protocol for telemetry MQTT supports a basic publish/subscribe abstraction with three different level of QoS MQTT has recently gained much attention as a potential candidate for data sharing in the IoT
  • 34. Copyright PrismTech, 2014 Qualitative Comparison Transport Paradigm Scope Discovery Content Awareness Data Centricity Security Data Prioritisation Fault Tolerance AMQP TCP/IP Point-to- Point Message Exchange D2D D2C C2C No None Encoding TLS None Impl. Specific CoAP UDP/IP Request/ Reply (REST) D2D Yes None Encoding DTLS None Decentralised DDS UDP/IP (unicast + mcast) TCP/IP Publish/ Subscribe Request/ Reply D2D D2C C2C Yes Content- Based Routing, Queries Encoding, Declaration TLS, DTLS, DDS Security Tranport Priorities Decentralised MQTT TCP/IP Publish/ Subscribe D2C No None Undefined TLS None Broker is the SPoF [Ref: A Comparative Study of Data-Sharing Standards for the Internet of Things, Cutter Journal, Dec 2014 ]
  • 35. Copyright PrismTech, 2014 CIoT/IIoT Data Sharing Requirements Efficient and scalable Data Sharing is a key requirement of practically any IoT system The degree of performance and fault-tolerance required by the data sharing platform varies across Consumer and Industrial Internet on Things applications Fog Computing support is key for IIoT High Individual Data Rates High Aggregated Data Volumes Low Latency Temporal Determinism Device-2-Device (D2D) Comms Device-2-Cloud (D2C) Comms Cloud-2-Cloud (C2C) Comms Bandwidth Efficiency Fault-Tolerance Transport-Level Security Data-Level Security CIoT IIoT 0,00 0,25 0,50 0,75 1,00 [Ref: A Comparative Study of Data-Sharing Standards for the Internet of Things, Cutter Journal, Dec 2014 ] Relative Importance
  • 36. Copyright PrismTech, 2014 IoT Standard Fitness Scoring the various IoT candidates agains the data-sharing requirements shows that DDS and AMQP are those that best address IoT needs AMQP CoAP DDS MQTT CIoT Fitness IIoT Fitness 0,0% 25,0% 50,0% 75,0% 100,0% [Ref: A Comparative Study of Data-Sharing Standards for the Internet of Things, Cutter Journal, Dec 2014 ]
  • 37. Tech Mythology MQTT is very wire efficient. Probably the most wire-efficient IoT data sharing standard
  • 38. Copyright PrismTech, 2014 DDS & MQTT Wire Efficiency MQTT encodes the topic name on every data message, as a result its wire-efficiency linearly degrades on the topic name length — which is usually greater several tens of bytes DDS has a predictable protocol overhead. Furthermore, when running DDS in streaming mode over TCP/IP the protocol efficiency can be further improved Protocol Overhead Topic Name Length 300 225 150 75 0 MQTT DDS DDS Streaming 8 16 32 64 128 256 Size (bytes) [Ref: A Comparative Study of Data-Sharing Standards for the Internet of Things, Cutter Journal, Dec 2014 ]
  • 39. Copyright PrismTech, 2014 Protocols Overhead Analysis Message Size (bytes) IPv4 Headers (bytes) Total Size (bytes) MQTT (QoS = 0) (2 to 5) + 2 + length(TopicName) + length(Payload) IP: 20-40 TCP: 20-40 min = 20 + 20 + 4 + length(TopicName) + length(Payload) max = 40 + 40 + 7 + length(TopicName) + length(Payload) DDS 44 + length (Payload) IP: 20-40 UDP: 8 min = 20 + 8 + 44 + length(Payload) max = 40 + 8 + 44 + length(Payload) DDS Streaming 24 + length (Payload) IP: 20-40 TCP: 20-40 min = 20 + 20 + 24 + length(Payload) max = 40 + 40 + 24 + length(Payload)
  • 40. Demo
  • 41. Copyright PrismTech, 2014 DDS Enables the IoT