SlideShare ist ein Scribd-Unternehmen logo
1 von 56
Downloaden Sie, um offline zu lesen
Angelo Corsaro, PhD
Chief Technology Officer
ADLINK Technologies Inc.
angelo.corsaro@adlinktech.com
DDS in Action
Part-I
CopyrightPrismTech,2015
Who is the Speaker?
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
CopyrightPrismTech,2015
DDS, what?
CopyrightPrismTech,2015
DDS in131
Characters
DDS is a standard technology for ubiquitous,
interoperable, secure, platform independent,
and real-time data sharing across network
connected devices
CopyrightPrismTech,2015
The DDS Standard
CopyrightPrismTech,2015
DDS Standard Evolution
2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015
‣ DDS 1.0
‣ DDSI-RTPS 1.0 ‣ DDS-XTYPES 1.0
‣ DDS-SECURITY 1.0
‣ DDS-XTYPES 1.1
‣ DDSI-RTPS 2.2
‣ DDS 1.4
‣ DLRL 1.4
‣ DDS-RPC 1.0
‣ DDSI-RTPS 2.0
‣ DDS 1.2
‣ DDS-PSM-CXX 1.0
‣ DDS-PSM-Java 1.0
‣ DDSI-RTPS 2.1
‣ DDSI-RTPS 1.0
2016
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)
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)
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)
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)
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)
CopyrightPrismTech,2015
Upcoming Standards
2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015
‣ DDS 1.0
‣ DDSI-RTPS 1.0 ‣ DDS-XTYPES 1.0
‣ DDS-SECURITY 1.0
‣ DDS-XTYPES 1.1
‣ DDSI-RTPS 2.2
‣ DDS 1.4
‣ DLRL 1.4
‣ DDS-RPC 1.0
‣ DDSI-RTPS 2.0
‣ DDS 1.2
‣ DDS-PSM-CXX 1.0
‣ DDS-PSM-Java 1.0
‣ DDSI-RTPS 2.1
‣ DDSI-RTPS 1.0
2016 2017
‣ DDS-XTYPES 1.2
‣ DDSI-Security 1.1
‣ DDS-XRCE (TBC)
‣ OPC-UA/DDS GTW (TBC)
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
…
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
CopyrightPrismTech,2015
Who is using DDS?
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
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
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
CopyrightPrismTech,2015
DDS leveraged to
virtualise I/O and
provide better
decoupleng between I/
O, Control and
Management functions
of the system
Smart Green
Houses
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
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
CopyrightPrismTech,2015
DDS is used in Smart
Factories to provide
horizontal and vertical
data integration across
the traditional SCADA
layers.
Smart
Factory
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)
CopyrightPrismTech,2015
DDS is uses inside
several medical
devices to share data
between the various
stages of data
acquisition, processing
and visualisation
Medical
Devices
CopyrightPrismTech,2015
DDS is heavily used
for data sharing in
Robotics and is today
at the heart of the
Robot Operating
System (ROS)
Robotics
CopyrightPrismTech,2015
Why are these
applications using DDS?
CopyrightPrismTech,2015
DDS PROVIDES AN EXTREMELY HIGH LEVEL
AND POWERFUL ABSTRACTIONS ALONG
WITH A ROCK SOLID INFRASTRUCTURE TO
BUILD HIGHLY MODULAR AND DISTRIBUTED
SYSTEMS
CopyrightPrismTech,2015
dds makes it much easier to solve some
very hard distributed system problems,
such as fault-tolerance, scalability and
asymmetry
CopyrightPrismTech,2015
DDS is like a universal glue that allows to
seal together highly heterogeneous
environments while maintaining a single,
elegant and efficient abstraction
CopyrightPrismTech,2015
DDS implementation are
available for an incredible
numbers of platforms,
including enterprise,
desktop, embedded, real-
time, mobile, and web
Platform
Independent
CopyrightPrismTech,2015
DDS applications can be
written in your favourite
programming language.
Interoperability across
languages is taken care by
DDS
Polyglot
CopyrightPrismTech,2015
DDS: The Main Idea
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
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
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
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
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
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
CopyrightPrismTech,2015
Most frequently heard
misconceptions
CopyrightPrismTech,2015
DDS can only work on a LAN as it
requires multicast
misconception #1
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
CopyrightPrismTech,2015
use DDS only if you need real-time
misconception #2
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
CopyrightPrismTech,2015
DDS is not widely adopted
misconception #3
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
CopyrightPrismTech,2015
There are no Open source DDS
implementations
misconception #4
CopyrightPrismTech,2015
There are at least two mainstream
Open Source implementations of
DDS. One of them, from PrismTech, is
OpenSplice DDS
rectification #4
CopyrightPrismTech,2015
DDS cannot go through Firewall or naTS
nor it can support to internet scale
applications
misconception #5
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
CopyrightPrismTech,2015
Show me the Code
CopyrightPrismTech,2015
Writing Data in C++
#include <dds.hpp>
int main(int, char**) {
DomainParticipant dp(0);
Topic<Meter> topic(“SmartMeter”);
Publisher pub(dp);
DataWriter<Meter> dw(pub, topic);
while (!done) {
auto value = readMeter()
dw.write(value);
std::this_thread::sleep_for(SAMPLING_PERIOD);
}
return 0;
}
					enum	UtilityKind	{	
	 				ELECTRICITY,	
	 				GAS,	
	 				WATER	
						};	
							
						struct	Meter	{	
	 				string	sn;	
	 				UtilityKind	utility;	
	 				float	reading;	
	 				float	error;	
						};													
						#pragma	keylist	Meter	sn
CopyrightPrismTech,2015
Reading Data in C++
#include <dds.hpp>
int main(int, char**) {
DomainParticipant dp(0);
Topic<Meter> topic(”SmartMeter”);
Subscriber sub(dp);
DataReader<Meter> dr(dp, topic);
auto samples = dr.read();
std::for_each(samples.begin(),
samples.end(),
[](Sample<Meter>& sample) {
std::cout << sample.data() << std::endl;
});
return 0;
}
					enum	UtilityKind	{	
	 				ELECTRICITY,	
	 				GAS,	
	 				WATER	
						};	
							
						struct	Meter	{	
	 				string	sn;	
	 				UtilityKind	utility;	
	 				float	reading;	
	 				float	error;	
						};													
						#pragma	keylist	Meter	sn
CopyrightPrismTech,2015
Homework
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…
DDS in Action -- Part I

Weitere ähnliche Inhalte

Was ist angesagt?

Introduction to DDS
Introduction to DDSIntroduction to DDS
Introduction to DDSRick Warren
 
DDS: The IoT Data Sharing Standard
DDS: The IoT Data Sharing StandardDDS: The IoT Data Sharing Standard
DDS: The IoT Data Sharing StandardAngelo Corsaro
 
The Data Distribution Service Tutorial
The Data Distribution Service TutorialThe Data Distribution Service Tutorial
The Data Distribution Service TutorialAngelo Corsaro
 
OMG Data-Distribution Service (DDS) Tutorial - 2009
OMG Data-Distribution Service (DDS) Tutorial - 2009OMG Data-Distribution Service (DDS) Tutorial - 2009
OMG Data-Distribution Service (DDS) Tutorial - 2009Gerardo Pardo-Castellote
 
Fast DDS Features & Tools
Fast DDS Features & ToolsFast DDS Features & Tools
Fast DDS Features & ToolseProsima
 
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 ModellingAngelo Corsaro
 
The Data Distribution Service Tutorial
The Data Distribution Service TutorialThe Data Distribution Service Tutorial
The Data Distribution Service TutorialAngelo Corsaro
 
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 ScalaAngelo Corsaro
 
Introducing the New MagicDraw Plug-In for RTI Connext DDS: Industrial IoT Mee...
Introducing the New MagicDraw Plug-In for RTI Connext DDS: Industrial IoT Mee...Introducing the New MagicDraw Plug-In for RTI Connext DDS: Industrial IoT Mee...
Introducing the New MagicDraw Plug-In for RTI Connext DDS: Industrial IoT Mee...IncQuery Labs
 
OMG DDS: The Data Distribution Service for Real-Time Systems
OMG DDS: The Data Distribution Service for Real-Time SystemsOMG DDS: The Data Distribution Service for Real-Time Systems
OMG DDS: The Data Distribution Service for Real-Time SystemsAngelo Corsaro
 
Tuning and Troubleshooting OpenSplice DDS Applications
Tuning and Troubleshooting OpenSplice DDS ApplicationsTuning and Troubleshooting OpenSplice DDS Applications
Tuning and Troubleshooting OpenSplice DDS ApplicationsAngelo Corsaro
 
Distributed Simulations with DDS and HLA
Distributed Simulations with DDS and HLADistributed Simulations with DDS and HLA
Distributed Simulations with DDS and HLAAngelo Corsaro
 

Was ist angesagt? (20)

DDS QoS Unleashed
DDS QoS UnleashedDDS QoS Unleashed
DDS QoS Unleashed
 
Introduction to DDS
Introduction to DDSIntroduction to DDS
Introduction to DDS
 
Introduction to RTI DDS
Introduction to RTI DDSIntroduction to RTI DDS
Introduction to RTI DDS
 
DDS: The IoT Data Sharing Standard
DDS: The IoT Data Sharing StandardDDS: The IoT Data Sharing Standard
DDS: The IoT Data Sharing Standard
 
The Data Distribution Service Tutorial
The Data Distribution Service TutorialThe Data Distribution Service Tutorial
The Data Distribution Service Tutorial
 
Real time simulation with HLA and DDS
Real time simulation with HLA and DDSReal time simulation with HLA and DDS
Real time simulation with HLA and DDS
 
DDS In Action Part II
DDS In Action Part IIDDS In Action Part II
DDS In Action Part II
 
OMG Data-Distribution Service (DDS) Tutorial - 2009
OMG Data-Distribution Service (DDS) Tutorial - 2009OMG Data-Distribution Service (DDS) Tutorial - 2009
OMG Data-Distribution Service (DDS) Tutorial - 2009
 
Fast DDS Features & Tools
Fast DDS Features & ToolsFast DDS Features & Tools
Fast DDS Features & Tools
 
DDS Over Low Bandwidth Data Links
DDS Over Low Bandwidth Data LinksDDS Over Low Bandwidth Data Links
DDS Over Low Bandwidth Data Links
 
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
 
The Data Distribution Service Tutorial
The Data Distribution Service TutorialThe Data Distribution Service Tutorial
The Data Distribution Service Tutorial
 
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
 
UML Profile for DDS
UML Profile for DDSUML Profile for DDS
UML Profile for DDS
 
Overview of the DDS-XRCE specification
Overview of the DDS-XRCE specificationOverview of the DDS-XRCE specification
Overview of the DDS-XRCE specification
 
DDS Security
DDS SecurityDDS Security
DDS Security
 
Introducing the New MagicDraw Plug-In for RTI Connext DDS: Industrial IoT Mee...
Introducing the New MagicDraw Plug-In for RTI Connext DDS: Industrial IoT Mee...Introducing the New MagicDraw Plug-In for RTI Connext DDS: Industrial IoT Mee...
Introducing the New MagicDraw Plug-In for RTI Connext DDS: Industrial IoT Mee...
 
OMG DDS: The Data Distribution Service for Real-Time Systems
OMG DDS: The Data Distribution Service for Real-Time SystemsOMG DDS: The Data Distribution Service for Real-Time Systems
OMG DDS: The Data Distribution Service for Real-Time Systems
 
Tuning and Troubleshooting OpenSplice DDS Applications
Tuning and Troubleshooting OpenSplice DDS ApplicationsTuning and Troubleshooting OpenSplice DDS Applications
Tuning and Troubleshooting OpenSplice DDS Applications
 
Distributed Simulations with DDS and HLA
Distributed Simulations with DDS and HLADistributed Simulations with DDS and HLA
Distributed Simulations with DDS and HLA
 

Andere mochten auch

DDS and OPC UA Explained
DDS and OPC UA ExplainedDDS and OPC UA Explained
DDS and OPC UA ExplainedAngelo 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 IAngelo Corsaro
 
Building IoT Applications with Vortex and the Intel Edison Starter Kit
Building IoT Applications with Vortex and the Intel Edison Starter KitBuilding IoT Applications with Vortex and the Intel Edison Starter Kit
Building IoT Applications with Vortex and the Intel Edison Starter KitAngelo Corsaro
 
The Cloudy, Foggy and Misty Internet of Things -- Toward Fluid IoT Architect...
The Cloudy, Foggy and Misty Internet of Things --  Toward Fluid IoT Architect...The Cloudy, Foggy and Misty Internet of Things --  Toward Fluid IoT Architect...
The Cloudy, Foggy and Misty Internet of Things -- Toward Fluid IoT Architect...Angelo Corsaro
 
Hello World in OMG DDS and ZeroMQ
Hello World in OMG DDS and ZeroMQHello World in OMG DDS and ZeroMQ
Hello World in OMG DDS and ZeroMQSander Mertens
 
Fog Computing with Vortex
Fog Computing with VortexFog Computing with Vortex
Fog Computing with VortexAngelo Corsaro
 
OpenSplice Security Module
OpenSplice Security ModuleOpenSplice Security Module
OpenSplice Security ModuleAngelo Corsaro
 
Why IoT needs Fog Computing ?
Why IoT needs Fog Computing ?Why IoT needs Fog Computing ?
Why IoT needs Fog Computing ?Ahmed Banafa
 
10 Reasons for Choosing OpenSplice DDS
10 Reasons for Choosing OpenSplice DDS10 Reasons for Choosing OpenSplice DDS
10 Reasons for Choosing OpenSplice DDSAngelo Corsaro
 
Reactive Data Centric Architectures with DDS
Reactive Data Centric Architectures with DDSReactive Data Centric Architectures with DDS
Reactive Data Centric Architectures with DDSAngelo Corsaro
 
Reactive Data Centric Architectures with Vortex, Spark and ReactiveX
Reactive Data Centric Architectures with Vortex, Spark and ReactiveXReactive Data Centric Architectures with Vortex, Spark and ReactiveX
Reactive Data Centric Architectures with Vortex, Spark and ReactiveXAngelo Corsaro
 
DDS for JMS Programmers
DDS for JMS ProgrammersDDS for JMS Programmers
DDS for JMS ProgrammersAngelo Corsaro
 
Vortex 2.0 -- The Industrial Internet of Things Platform
Vortex 2.0 -- The Industrial Internet of Things PlatformVortex 2.0 -- The Industrial Internet of Things Platform
Vortex 2.0 -- The Industrial Internet of Things PlatformAngelo Corsaro
 
Microservices Architecture with Vortex — Part II
Microservices Architecture with Vortex — Part IIMicroservices Architecture with Vortex — Part II
Microservices Architecture with Vortex — Part IIAngelo Corsaro
 

Andere mochten auch (20)

DDS and OPC UA Explained
DDS and OPC UA ExplainedDDS and OPC UA Explained
DDS and OPC UA Explained
 
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
 
Building IoT Applications with Vortex and the Intel Edison Starter Kit
Building IoT Applications with Vortex and the Intel Edison Starter KitBuilding IoT Applications with Vortex and the Intel Edison Starter Kit
Building IoT Applications with Vortex and the Intel Edison Starter Kit
 
The Cloudy, Foggy and Misty Internet of Things -- Toward Fluid IoT Architect...
The Cloudy, Foggy and Misty Internet of Things --  Toward Fluid IoT Architect...The Cloudy, Foggy and Misty Internet of Things --  Toward Fluid IoT Architect...
The Cloudy, Foggy and Misty Internet of Things -- Toward Fluid IoT Architect...
 
Hello World in OMG DDS and ZeroMQ
Hello World in OMG DDS and ZeroMQHello World in OMG DDS and ZeroMQ
Hello World in OMG DDS and ZeroMQ
 
DDS Security
DDS SecurityDDS Security
DDS Security
 
Fog Computing with Vortex
Fog Computing with VortexFog Computing with Vortex
Fog Computing with Vortex
 
OpenSplice Security Module
OpenSplice Security ModuleOpenSplice Security Module
OpenSplice Security Module
 
Fog Computing Defined
Fog Computing DefinedFog Computing Defined
Fog Computing Defined
 
Why IoT needs Fog Computing ?
Why IoT needs Fog Computing ?Why IoT needs Fog Computing ?
Why IoT needs Fog Computing ?
 
Understanding the Internet of Things Protocols
Understanding the Internet of Things ProtocolsUnderstanding the Internet of Things Protocols
Understanding the Internet of Things Protocols
 
10 Reasons for Choosing OpenSplice DDS
10 Reasons for Choosing OpenSplice DDS10 Reasons for Choosing OpenSplice DDS
10 Reasons for Choosing OpenSplice DDS
 
DDS vs AMQP
DDS vs AMQPDDS vs AMQP
DDS vs AMQP
 
Reactive Data Centric Architectures with DDS
Reactive Data Centric Architectures with DDSReactive Data Centric Architectures with DDS
Reactive Data Centric Architectures with DDS
 
Reactive Data Centric Architectures with Vortex, Spark and ReactiveX
Reactive Data Centric Architectures with Vortex, Spark and ReactiveXReactive Data Centric Architectures with Vortex, Spark and ReactiveX
Reactive Data Centric Architectures with Vortex, Spark and ReactiveX
 
DDS Made Simple
DDS Made SimpleDDS Made Simple
DDS Made Simple
 
DDS for JMS Programmers
DDS for JMS ProgrammersDDS for JMS Programmers
DDS for JMS Programmers
 
Vortex 2.0 -- The Industrial Internet of Things Platform
Vortex 2.0 -- The Industrial Internet of Things PlatformVortex 2.0 -- The Industrial Internet of Things Platform
Vortex 2.0 -- The Industrial Internet of Things Platform
 
Microservices Architecture with Vortex — Part II
Microservices Architecture with Vortex — Part IIMicroservices Architecture with Vortex — Part II
Microservices Architecture with Vortex — Part II
 
OpenSplice DDS v6
OpenSplice DDS v6OpenSplice DDS v6
OpenSplice DDS v6
 

Ähnlich wie DDS in Action -- Part I

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 AgeAngelo Corsaro
 
RTI Data-Distribution Service (DDS) Master Class 2011
RTI Data-Distribution Service (DDS) Master Class 2011RTI Data-Distribution Service (DDS) Master Class 2011
RTI Data-Distribution Service (DDS) Master Class 2011Gerardo Pardo-Castellote
 
Running Enterprise Workloads with an open source Hybrid Cloud Data Architecture
Running Enterprise Workloads with an open source Hybrid Cloud Data ArchitectureRunning Enterprise Workloads with an open source Hybrid Cloud Data Architecture
Running Enterprise Workloads with an open source Hybrid Cloud Data ArchitectureDataWorks Summit
 
Easing Integration of Large-Scale Real-Time Systems with DDS
Easing Integration of Large-Scale Real-Time Systems with DDSEasing Integration of Large-Scale Real-Time Systems with DDS
Easing Integration of Large-Scale Real-Time Systems with DDSRick Warren
 
October Southern CA Road Shows - Build Safe and Secure Distributed Systems
October Southern CA Road Shows -  Build Safe and Secure Distributed SystemsOctober Southern CA Road Shows -  Build Safe and Secure Distributed Systems
October Southern CA Road Shows - Build Safe and Secure Distributed SystemsReal-Time Innovations (RTI)
 
L'Internet des objets (IDO)
L'Internet des objets (IDO)L'Internet des objets (IDO)
L'Internet des objets (IDO)Cisco Canada
 
Harnessing DDS in Next Generation Healthcare Systems
Harnessing DDS in Next Generation Healthcare SystemsHarnessing DDS in Next Generation Healthcare Systems
Harnessing DDS in Next Generation Healthcare SystemsADLINK Technology IoT
 
Precise, Predictive, and Connected: DDS and OPC UA – Real-Time Connectivity A...
Precise, Predictive, and Connected: DDS and OPC UA – Real-Time Connectivity A...Precise, Predictive, and Connected: DDS and OPC UA – Real-Time Connectivity A...
Precise, Predictive, and Connected: DDS and OPC UA – Real-Time Connectivity A...Real-Time Innovations (RTI)
 
Top 5 In-demand Technologies to Learn in 2020
Top 5 In-demand Technologies to Learn in 2020Top 5 In-demand Technologies to Learn in 2020
Top 5 In-demand Technologies to Learn in 2020Intellipaat
 
Top 5 In-demand technologies to Learn in 2020
Top 5 In-demand technologies to Learn in 2020Top 5 In-demand technologies to Learn in 2020
Top 5 In-demand technologies to Learn in 2020Intellipaat
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolAngelo Corsaro
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolAngelo 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 StandardAngelo Corsaro
 
Architecting IoT Systems with Vortex
Architecting IoT Systems with VortexArchitecting IoT Systems with Vortex
Architecting IoT Systems with VortexAngelo Corsaro
 
Managing the Robotics Organization with Robotics – IoT
Managing the Robotics Organization with Robotics – IoTManaging the Robotics Organization with Robotics – IoT
Managing the Robotics Organization with Robotics – IoTRising Media, Inc.
 
Introduction to PrismTech's Vortex Intelligent Data Sharing Platform for the ...
Introduction to PrismTech's Vortex Intelligent Data Sharing Platform for the ...Introduction to PrismTech's Vortex Intelligent Data Sharing Platform for the ...
Introduction to PrismTech's Vortex Intelligent Data Sharing Platform for the ...ADLINK Technology IoT
 
Vortex: The Intelligent Data Sharing Platform for the Internet of Things
Vortex: The Intelligent Data Sharing Platform for the Internet of ThingsVortex: The Intelligent Data Sharing Platform for the Internet of Things
Vortex: The Intelligent Data Sharing Platform for the Internet of ThingsAngelo Corsaro
 
Fog Computing with VORTEX
Fog Computing with VORTEXFog Computing with VORTEX
Fog Computing with VORTEXAngelo Corsaro
 
IoT Agent Design Principles
IoT Agent Design PrinciplesIoT Agent Design Principles
IoT Agent Design Principlesardexateam
 
Developing Mission-Critical Avionics and Defense Systems with Ada and DDS
Developing Mission-Critical Avionics and Defense Systems with Ada and DDSDeveloping Mission-Critical Avionics and Defense Systems with Ada and DDS
Developing Mission-Critical Avionics and Defense Systems with Ada and DDSReal-Time Innovations (RTI)
 

Ähnlich wie DDS in Action -- Part I (20)

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
 
RTI Data-Distribution Service (DDS) Master Class 2011
RTI Data-Distribution Service (DDS) Master Class 2011RTI Data-Distribution Service (DDS) Master Class 2011
RTI Data-Distribution Service (DDS) Master Class 2011
 
Running Enterprise Workloads with an open source Hybrid Cloud Data Architecture
Running Enterprise Workloads with an open source Hybrid Cloud Data ArchitectureRunning Enterprise Workloads with an open source Hybrid Cloud Data Architecture
Running Enterprise Workloads with an open source Hybrid Cloud Data Architecture
 
Easing Integration of Large-Scale Real-Time Systems with DDS
Easing Integration of Large-Scale Real-Time Systems with DDSEasing Integration of Large-Scale Real-Time Systems with DDS
Easing Integration of Large-Scale Real-Time Systems with DDS
 
October Southern CA Road Shows - Build Safe and Secure Distributed Systems
October Southern CA Road Shows -  Build Safe and Secure Distributed SystemsOctober Southern CA Road Shows -  Build Safe and Secure Distributed Systems
October Southern CA Road Shows - Build Safe and Secure Distributed Systems
 
L'Internet des objets (IDO)
L'Internet des objets (IDO)L'Internet des objets (IDO)
L'Internet des objets (IDO)
 
Harnessing DDS in Next Generation Healthcare Systems
Harnessing DDS in Next Generation Healthcare SystemsHarnessing DDS in Next Generation Healthcare Systems
Harnessing DDS in Next Generation Healthcare Systems
 
Precise, Predictive, and Connected: DDS and OPC UA – Real-Time Connectivity A...
Precise, Predictive, and Connected: DDS and OPC UA – Real-Time Connectivity A...Precise, Predictive, and Connected: DDS and OPC UA – Real-Time Connectivity A...
Precise, Predictive, and Connected: DDS and OPC UA – Real-Time Connectivity A...
 
Top 5 In-demand Technologies to Learn in 2020
Top 5 In-demand Technologies to Learn in 2020Top 5 In-demand Technologies to Learn in 2020
Top 5 In-demand Technologies to Learn in 2020
 
Top 5 In-demand technologies to Learn in 2020
Top 5 In-demand technologies to Learn in 2020Top 5 In-demand technologies to Learn in 2020
Top 5 In-demand technologies to Learn in 2020
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocol
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocol
 
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
 
Architecting IoT Systems with Vortex
Architecting IoT Systems with VortexArchitecting IoT Systems with Vortex
Architecting IoT Systems with Vortex
 
Managing the Robotics Organization with Robotics – IoT
Managing the Robotics Organization with Robotics – IoTManaging the Robotics Organization with Robotics – IoT
Managing the Robotics Organization with Robotics – IoT
 
Introduction to PrismTech's Vortex Intelligent Data Sharing Platform for the ...
Introduction to PrismTech's Vortex Intelligent Data Sharing Platform for the ...Introduction to PrismTech's Vortex Intelligent Data Sharing Platform for the ...
Introduction to PrismTech's Vortex Intelligent Data Sharing Platform for the ...
 
Vortex: The Intelligent Data Sharing Platform for the Internet of Things
Vortex: The Intelligent Data Sharing Platform for the Internet of ThingsVortex: The Intelligent Data Sharing Platform for the Internet of Things
Vortex: The Intelligent Data Sharing Platform for the Internet of Things
 
Fog Computing with VORTEX
Fog Computing with VORTEXFog Computing with VORTEX
Fog Computing with VORTEX
 
IoT Agent Design Principles
IoT Agent Design PrinciplesIoT Agent Design Principles
IoT Agent Design Principles
 
Developing Mission-Critical Avionics and Defense Systems with Ada and DDS
Developing Mission-Critical Avionics and Defense Systems with Ada and DDSDeveloping Mission-Critical Avionics and Defense Systems with Ada and DDS
Developing Mission-Critical Avionics and Defense Systems with Ada and DDS
 

Mehr von Angelo Corsaro

zenoh: The Edge Data Fabric
zenoh: The Edge Data Fabriczenoh: The Edge Data Fabric
zenoh: The Edge Data FabricAngelo 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 MonetisationAngelo 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 computeAngelo 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 ComputingAngelo Corsaro
 
fog05: The Fog Computing Infrastructure
fog05: The Fog Computing Infrastructurefog05: The Fog Computing Infrastructure
fog05: The Fog Computing InfrastructureAngelo Corsaro
 
fog05: The Fog Computing Platform
fog05: The Fog Computing Platformfog05: The Fog Computing Platform
fog05: The Fog Computing PlatformAngelo Corsaro
 
Programming in Scala - Lecture Four
Programming in Scala - Lecture FourProgramming in Scala - Lecture Four
Programming in Scala - Lecture FourAngelo Corsaro
 
Programming in Scala - Lecture Three
Programming in Scala - Lecture ThreeProgramming in Scala - Lecture Three
Programming in Scala - Lecture ThreeAngelo Corsaro
 
Programming in Scala - Lecture Two
Programming in Scala - Lecture TwoProgramming in Scala - Lecture Two
Programming in Scala - Lecture TwoAngelo Corsaro
 
Programming in Scala - Lecture One
Programming in Scala - Lecture OneProgramming in Scala - Lecture One
Programming in Scala - Lecture OneAngelo 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 EnvionrmentsAngelo Corsaro
 
The DDS Security Standard
The DDS Security StandardThe DDS Security Standard
The DDS Security StandardAngelo Corsaro
 
RUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming RuminationsRUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming RuminationsAngelo Corsaro
 
Fluid IoT Architectures
Fluid IoT ArchitecturesFluid IoT Architectures
Fluid IoT ArchitecturesAngelo Corsaro
 

Mehr von Angelo Corsaro (18)

Zenoh: The Genesis
Zenoh: The GenesisZenoh: The Genesis
Zenoh: The Genesis
 
zenoh: The Edge Data Fabric
zenoh: The Edge Data Fabriczenoh: The Edge Data Fabric
zenoh: The Edge Data Fabric
 
Zenoh Tutorial
Zenoh TutorialZenoh Tutorial
Zenoh Tutorial
 
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
 
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
 
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
 
Eastern Sicily
Eastern SicilyEastern Sicily
Eastern Sicily
 
fog05: The Fog Computing Infrastructure
fog05: The Fog Computing Infrastructurefog05: The Fog Computing Infrastructure
fog05: The Fog Computing Infrastructure
 
fog05: The Fog Computing Platform
fog05: The Fog Computing Platformfog05: The Fog Computing Platform
fog05: The Fog Computing Platform
 
Programming in Scala - Lecture Four
Programming in Scala - Lecture FourProgramming in Scala - Lecture Four
Programming in Scala - Lecture Four
 
Programming in Scala - Lecture Three
Programming in Scala - Lecture ThreeProgramming in Scala - Lecture Three
Programming in Scala - Lecture Three
 
Programming in Scala - Lecture Two
Programming in Scala - Lecture TwoProgramming in Scala - Lecture Two
Programming in Scala - Lecture Two
 
Programming in Scala - Lecture One
Programming in Scala - Lecture OneProgramming in Scala - Lecture One
Programming in Scala - Lecture One
 
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
 
The DDS Security Standard
The DDS Security StandardThe DDS Security Standard
The DDS Security Standard
 
RUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming RuminationsRUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming Ruminations
 
Fluid IoT Architectures
Fluid IoT ArchitecturesFluid IoT Architectures
Fluid IoT Architectures
 
Happy 2016!
Happy 2016!Happy 2016!
Happy 2016!
 

Kürzlich hochgeladen

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 

Kürzlich hochgeladen (20)

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 

DDS in Action -- Part I

  • 1. Angelo Corsaro, PhD Chief Technology Officer ADLINK Technologies Inc. angelo.corsaro@adlinktech.com DDS in Action Part-I
  • 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
  • 5. CopyrightPrismTech,2015 DDS in131 Characters DDS is a standard technology for ubiquitous, interoperable, secure, platform independent, and real-time data sharing across network connected devices
  • 7. CopyrightPrismTech,2015 DDS Standard Evolution 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 ‣ DDS 1.0 ‣ DDSI-RTPS 1.0 ‣ DDS-XTYPES 1.0 ‣ DDS-SECURITY 1.0 ‣ DDS-XTYPES 1.1 ‣ DDSI-RTPS 2.2 ‣ DDS 1.4 ‣ DLRL 1.4 ‣ DDS-RPC 1.0 ‣ DDSI-RTPS 2.0 ‣ DDS 1.2 ‣ DDS-PSM-CXX 1.0 ‣ DDS-PSM-Java 1.0 ‣ DDSI-RTPS 2.1 ‣ DDSI-RTPS 1.0 2016
  • 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)
  • 13. CopyrightPrismTech,2015 Upcoming Standards 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 ‣ DDS 1.0 ‣ DDSI-RTPS 1.0 ‣ DDS-XTYPES 1.0 ‣ DDS-SECURITY 1.0 ‣ DDS-XTYPES 1.1 ‣ DDSI-RTPS 2.2 ‣ DDS 1.4 ‣ DLRL 1.4 ‣ DDS-RPC 1.0 ‣ DDSI-RTPS 2.0 ‣ DDS 1.2 ‣ DDS-PSM-CXX 1.0 ‣ DDS-PSM-Java 1.0 ‣ DDSI-RTPS 2.1 ‣ DDSI-RTPS 1.0 2016 2017 ‣ DDS-XTYPES 1.2 ‣ DDSI-Security 1.1 ‣ DDS-XRCE (TBC) ‣ OPC-UA/DDS GTW (TBC)
  • 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
  • 20. CopyrightPrismTech,2015 DDS leveraged to virtualise I/O and provide better decoupleng between I/ O, Control and Management functions of the system Smart Green Houses
  • 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
  • 26. CopyrightPrismTech,2015 DDS is heavily used for data sharing in Robotics and is today at the heart of the Robot Operating System (ROS) Robotics
  • 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
  • 31. CopyrightPrismTech,2015 DDS implementation are available for an incredible numbers of platforms, including enterprise, desktop, embedded, real- time, mobile, and web Platform Independent
  • 32. CopyrightPrismTech,2015 DDS applications can be written in your favourite programming language. Interoperability across languages is taken care by DDS Polyglot
  • 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
  • 41. CopyrightPrismTech,2015 DDS can only work on a LAN as it requires multicast misconception #1
  • 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
  • 43. CopyrightPrismTech,2015 use DDS only if you need real-time misconception #2
  • 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
  • 45. CopyrightPrismTech,2015 DDS is not widely adopted misconception #3
  • 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
  • 47. CopyrightPrismTech,2015 There are no Open source DDS implementations misconception #4
  • 48. CopyrightPrismTech,2015 There are at least two mainstream Open Source implementations of DDS. One of them, from PrismTech, is OpenSplice DDS rectification #4
  • 49. CopyrightPrismTech,2015 DDS cannot go through Firewall or naTS nor it can support to internet scale applications misconception #5
  • 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
  • 52. CopyrightPrismTech,2015 Writing Data in C++ #include <dds.hpp> int main(int, char**) { DomainParticipant dp(0); Topic<Meter> topic(“SmartMeter”); Publisher pub(dp); DataWriter<Meter> dw(pub, topic); while (!done) { auto value = readMeter() dw.write(value); std::this_thread::sleep_for(SAMPLING_PERIOD); } return 0; } enum UtilityKind { ELECTRICITY, GAS, WATER }; struct Meter { string sn; UtilityKind utility; float reading; float error; }; #pragma keylist Meter sn
  • 53. CopyrightPrismTech,2015 Reading Data in C++ #include <dds.hpp> int main(int, char**) { DomainParticipant dp(0); Topic<Meter> topic(”SmartMeter”); Subscriber sub(dp); DataReader<Meter> dr(dp, topic); auto samples = dr.read(); std::for_each(samples.begin(), samples.end(), [](Sample<Meter>& sample) { std::cout << sample.data() << std::endl; }); return 0; } enum UtilityKind { ELECTRICITY, GAS, WATER }; struct Meter { string sn; UtilityKind utility; float reading; float error; }; #pragma keylist Meter sn
  • 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…