SlideShare a Scribd company logo
1 of 68
OpenSpliceDDS
Angelo CORSARO, Ph.D.
Chief Technology Officer
OMG DDS Sig Co-Chair
PrismTech
angelo.corsaro@prismtech.com
Building the Internet of Things
OpenSpliceDDS
What is
The Internet of Things?
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
The Internet of Things (IoT)
☐ The term Internet of Things is
rather evocative...
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
The Internet of Things (IoT)
Let’s analyse the meaning:
☐ Internet: (noun) a global computer
network providing a variety of
information and communication facilities,
consisting of interconnected networks
using standardized communication
protocols.
☐ of: (preposition) expressing the
relationship between a part and a whole
☐ thing: (noun) (1) an object that one need
not, cannot, or does not wish to give a
specific name to (2) an inanimate
material object as distinct from a living
sentient being
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
The Internet of Things (IoT)
Definition I
A global network of “things” providing a variety of information and
communication facilities, consisting of interconnected networks using
standardized communication protocols
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
The Internet of Things (IoT)
☐ Yet, there are plenty of
other definitions for the
internet of things
☐ Let’s look at a few of
them...
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
The Internet of Things (IoT)
Definition II
Things have identities and virtual personalities operating in smart
spaces using intelligent interfaces to connect and communicate
within social, environment, and user contexts
T. Lu and W. Neng,“Future internet:The internet of things,” in 3rd International Conference on Advanced ComputerTheory and
Engineering(ICACTE), vol. 5,August 2010, pp.V5–376–V5–380. [Online].Available: http://dx.doi.org/10.1109/ICACTE.2010.5579543
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
The Internet of Things (IoT)
Definition III
The semantic origin of the expression is composed by two words and
concepts: Internet and Thing, where Internet can be defined as the
world-wide network of interconnected computer networks, based on
a standard communication protocol, the Internet suite (TCP/IP), while
Thing is an object not precisely identifiable. Therefore, semantically,
Internet of Things means a world-wide network of interconnected
objects uniquely addressable, based on standard communication
protocols
European Commission,“Internet of things in 2020 road map for the future,”Working Group RFID of the ETP EPOSS,Tech. Rep., May 2008,
http://ec.europa.eu/information society/policy/rfid/ documents/iotprague2009.pdf [Accessed on: 2011-06-12].
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
The Internet of Things (IoT)
Definition IV
The Internet of Things allows people and things to be connected
Anytime, Anyplace, with Anything and Anyone, ideally using Any
path/network and Any service.
[Ref: P. Guillemin and P. Friess,“Internet of things strategic research roadmap,”The Cluster of European Research Projects,Tech. Rep., September
2009, http://www.internet-of-things-research.eu/pdf/IoT Cluster Strategic Research Agenda 2009.pdf [Accessed on: 2011-08- 15].
OpenSpliceDDS
IoT / IS / II
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
Variations on the Theme
☐ Intelligent Systems and Industrial Internet have been recently
defined by analysts as special cases of the Internet of Things
☐ Yet, regardless of the term we use, these systems share similar
needs in terms of standardized protocols for data exchange
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
IoT/IS/II Applications Pipeline
Collect | Store | Analyze | Share
Public/Private Cloud
Devices Data Center Devices / IT Infrastructure
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
Decomposing the Problem
☐ Device to Device
Communication
☐ Device to Cloud
Communication
☐ Intra Data-Center
Communication
☐ Inter Data-Center
Communication
Device to cloud
protocol
Server to Server
Protocol
Data-Center to Data-
Center Protocol
Device to
Device protocol
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
Device to Device Communication
☐ Peer-to-Peer Communication between devices with potentially
very different hardware and networking capabilities
☐ Usually aggregating data from sensors to kiosks, etc.
☐ In some use cases low latency / high throughput are relevant
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
Device-to-Cloud Communication
☐ Characteristic of the communication depends on the kind of application
☐ Sporadic data updates vs. Real-Time data updates
☐ Potentially Constrained Bandwidth
☐ Intermittent Connectivity
☐ Variable Latency Links
☐ NAT, Firewalls
☐ Security
☐ To enable Open and Interoperable IoT, Device- to-Data Center
communication has to rely on standard protocols
☐ Two of the current candidates for Device-to-Data Center communications
are DDS and MQTT
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
Intra Data-Center Communication
☐ Requirements are similar to those of typical mission/business critical
systems
☐ High throughput and low per/message overhead are important to
keep the per-message cost under control
☐ Standards are not a top necessity for inter-data-center
communication since this is not exposed to third parties
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
Inter Data-Center Communication
☐ Requirements are similar to those of typical mission/business critical
systems integration
☐ High throughput and low per/message overhead are important to
keep the per-message cost under control
☐ Standards could play a role if some form of interoperability
between clouds providers is desirable
OpenSpliceDDS
DDS and MQTT Overview
OpenSpliceDDS
DDS
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
Data Distribution Service
☐ Introduced in 2004 to address
the Data Distribution
challenges faced by a wide
class of Defense and
Aerospace Applications
☐ Key requirement for the
standard were to deliver very
high and predictable
performance while scaling
from embedded to ultra-
large-scale deployments
For Real-Time Systems
ScaleReal-Timeliness
Near Real-Time Fault-
Tolerant Information
Processing
Throughput, Availability
Real-Time Information
Processing
Determinism
Systemic
Signal
Processing
Data
Processing
Parallelism
Complex Information
Management
Scalability, Persistence, Security
Parallel Systems Distributed Systems
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
Data Distribution Service
☐ Recommended by key
administration worldwide,
e.g. DoD, MoD, EUROCAE,
etc.
☐ Widely adopted across
several different domains,
e.g., Smart Cities, Smart
Grids, Automated Trading,
Simulations, SCADA,
Telemetry, etc.
ScaleReal-Timeliness
Near Real-Time Fault-
Tolerant Information
Processing
Throughput, Availability
Real-Time Information
Processing
Determinism
Systemic
Signal
Processing
Data
Processing
Parallelism
Complex Information
Management
Scalability, Persistence, Security
Parallel Systems Distributed Systems
For Real-Time Systems
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
Defense and Aerospace
Integrated Modular Vetronics Training & Simulation Systems Naval Combat Systems
Air Traffic Control & Management Unmanned Air Vehicles Aerospace Applications
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
Commercial Applications
Agricultural Vehicle Systems
Train Control Systems Complex Medical Devices
Smart CitiesLarge Scale SCADA Systems
High Frequency Auto-Trading
[see http://yhoo.it/11dGbGO ]
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
Standard Family
Application
RPC over DDS
ScalaJavaC/C++
DDS
RPC over DDS
X-Types
DDSI-RTPS
Security
Security
DDSI-RTPS
X-Types
2004
2013 2013
2013 2013
Application
API
Wire Protocol
UDP, TCP, (WebSocket)
Python JavaScript
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
Interoperability
DDSI Wire Interoperability
Data Model
Common “Language”
+
QoS Requirements
Interoperability
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
Portability
DDS API Standard
Application
Portability
OpenSpliceDDS
Ba
D
D
Sics
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
Data Distribution Service
☐ Topics: data distribution subject’s
☐ DataWriters: data producers
☐ DataReaders: data consumers
DDS provides a Topic-Based Publish/
Subscribe abstraction based on:
DDS Global Data Space
...
TopicA
TopicB
TopicC
TopicD
Data
Writer
Data
Writer
Data
Writer
Data
Writer
Data
Reader
Data
Reader
Data
Reader
Data
Reader
For Real-Time Systems
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
Data Distribution Service
☐ DataWriters and DataReaders
are automatically and
dynamically matched by the
DDS Dynamic Discovery
☐ A rich set of QoS allows to
control existential, temporal,
and spatial properties of data
DDS Global Data Space
...
TopicA
TopicB
TopicC
TopicD
Data
Writer
Data
Writer
Data
Writer
Data
Writer
Data
Reader
Data
Reader
Data
Reader
Data
Reader
For Real-Time Systems
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
IDL
DDS Topics
☐ A Topic defines a class of
streams
☐ A Topic has associated a user
defined extensible type and a
set of QoS policies
☐ The Topic name, type and QoS
defines the key functional and
non-functional invariants
☐ Topics can be discovered or
locally defined
DURABILITY,
DEADLINE,
PRIORITY,
…
“TTempSensor”
Topic
Type
Name
QoS
struct TempSensor {
long sid;
float temp;
float hum;};
#pragma keylist TempSensor sid
TempSensor
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
Anatomy of a DDS Application
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
Anatomy of a DDS Application
Domain
Reader/Writers for User Defined for Types
Session
// Create a DataWriter/DataWriter
auto writer = DataWriter<TempSensor>(pub, topic);
auto reader = DataReader<TempSensor>(sub, topic);
Reader/Writer for
application defined
TopicTypes
Domain
Participant
Publisher
DataWriter
Topic
 Subscriber
DataReader
[DDS C++ API 2010]
auto dp = DomainParticipant(domainId);
// Create a Publisher / Subscriber
auto pub = Publisher(dp);
auto sub = Subscriber(dp);
// Create a Topic
auto topic = Topic<TempSensor>(dp, “TTemSensor”);
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
Anatomy of a DDS Application
Domain
Reader/Writers for User Defined for Types
Session
// Write data
writer.write(TempSenspir(101, 23.5F, 0.55F));
// But you can also write like this...
writer << TempSenspir(102, 24.5F, 0.65F);
// Read new data
auto data = reader.read();
Reader/Writer for
application defined
TopicTypes
auto dp = DomainParticipant(domainId);
Domain
Participant
Publisher
DataWriter
Topic
 Subscriber
DataReader
// Create a Publisher / Subscriber
auto pub = Publisher(dp);
auto sub = Subscriber(dp);
// Create a Topic
auto topic = Topic<VehicleDynamics>(dp, “TVehicleDynamics”);
[DDS C++ API]
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
Simple and Powerful
package dds.demo.oximeter
import dds.demo.oximeter.config.OximeterEntities._
import dds.demo._
import dds._
import dds.demo.common._
object Oximeter {
def main(args: Array[String]) {
if (args.length < 2) {
println("USAGEntOximeter <device-id> <period>")
sys.exit
}
val did = args(0)
val period = args(1)
val topic = Topic[Oximetry]("Oximetry")
val w = DataWriter(topic)
while (true) {
val oximetry = new Oximetry(did, genValue(), genValue(), genValue(), genValue(), genValue())
w.write(oximetry)
Thread.sleep(period)
}
}
}
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
Simple and Powerful
package dds.demo.oximeter
import dds.demo.oximeter.config.OximeterEntities._
import dds.demo._
import dds._
import dds.demo.common._
object Oximeter {
def main(args: Array[String]) {
if (args.length < 2) {
println("USAGEntOximeter <device-id> <period>")
sys.exit
}
val did = args(0)
val period = args(1)
val topic = Topic[Oximetry]("Oximetry")
val w = DataWriter(topic)
while (true) {
val oximetry = new Oximetry(did, genValue(), genValue(), genValue(), genValue(), genValue())
w.write(oximetry)
Thread.sleep(period)
}
}
}
Where are the
DomainParticipant,
Publisher, Subscriber
and QoS?!?
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
Simple and Powerful
package dds.demo.oximeter
import dds.demo.oximeter.config.OximeterEntities._
import dds.demo._
import dds._
import dds.demo.common._
object Oximeter {
def main(args: Array[String]) {
if (args.length < 2) {
println("USAGEntOximeter <device-id> <period>")
sys.exit
}
val did = args(0)
val period = args(1)
val topic = Topic[Oximetry]("Oximetry")
val w = DataWriter(topic)
while (true) {
val oximetry = new Oximetry(did, genValue(), genValue(), genValue(), genValue(), genValue())
w.write(oximetry)
Thread.sleep(period)
}
}
}
...configured via
dependency injection!
Thus leaving
application code simple
and clean...
OpenSpliceDDS
QoS
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
QoS Model
☐ QoS-Policies control local and
end-to-end properties of DDS
entities
☐ Local properties controlled by
QoS are related resource usage
☐ End-to-end properties
controlled by QoS are related
to temporal and spatial aspects
of data distribution
☐ Some QoS-Policies are matched
based on a Request vs. Offered
Model thus QoS-enforcement
Publisher
DataWriter
Topic
Type
QoS
Name
writes
QoS
DataWriter
Topic
Typewrites
Subscriber
DataReaderreads
DataReaderreads
...
QoS
Name
QoS
QoS QoS
QoS matching
......
QoS QoS
Type Matching
DomainParticipant DomainParticipant
QoS QoS
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
Temporal Properties
Throughput
TimeBasedFilter
[Inbound]
[Outbound]
Latency
Deadline
TransportPriority
LatencyBudget
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
Data Availability
Data
Availability
History
Ownership
DurabilityLifespan
Ownership
Strength
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
Data Delivery
Data Delivery
Reliability
Presentation
Destination
Order
Partition
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
DDS Applicability
☐ The DDS/DDSI standards
are able to cover the
requirements of device-
to-cloud, intra- and inter-
cloud communication
☐ DDS can provide
efficient Device-to-Cloud
and Device-toDevice
communication as well
as intra-cloud
communication Device to Cloud Protocol
Server to Server Protocol
Data-Center to Data-Center
Protocol
Device to Device
Protocol
DDS/DDSI
DDS/DDSI
DDS/DDSI
DDS/DDSI
OpenSpliceDDS
MQTT
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
MQTT Overview
☐ MQTT (Message Queueing Telemetry Transport) has been heavily
hyped as the protocol for the Internet of Things
☐ MQTT was introduced by IBM in the 90s and is now being
standardized through OASIS
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
What MQTT.org Says of MQTT
☐ MQTT stands for MQ Telemetry Transport. It is a publish/subscribe, extremely
simple and lightweight messaging protocol, designed for constrained
devices and low-bandwidth, high-latency or unreliable networks.
☐ The design principles are to minimise network bandwidth and device
resource requirements whilst also attempting to ensure reliability and some
degree of assurance of delivery.
☐ These principles also turn out to make the protocol ideal of the emerging
“machine-to-machine” (M2M) or “Internet of Things” world of connected
devices, and for mobile applications where bandwidth and battery power
are at a premium.
[http://mqtt.org/faq]
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
MQTT Overview
☐ Topic-based brokered Pub/Sub abstraction
☐ Publications simply post topics which are identified by strings
☐ Subscriptions define their interest by using a regular expression
☐ Example:
☐ Topic Name: Building/room123/temp-sensor
☐ Subscriptions:
☐ Building/room123/temp-sensor
☐ Building/room123/# (all topics with prefix Building/room123/
☐ Building/#/temp-sensor (all temp-sensor data for the building across rooms)
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
MQTT Overview
☐ Publishers and Subscribers communicate with the broker via
TCP/IP connections
☐ MQTT does not provide standard encoding for data
☐ In other terms, data is opaque to MQTT and it is up to the
applications to ensure they agree on serialization schemes
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
MQTT Overview
pub MQTT
Broker
“building/room101/TempSensor/SID-123” sub
“building/room101/TempSensor/SID-123”
“building/room101/TempSensor/SID-124”
pub
sub
“building/room101/TempSensor/#”
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
Publications QoS
MQTT provides different levels of QoS for publications:
☐ At most once
☐ At least once
☐ Exactly once
In addition MQTT allows messages to be retained, meaning the broker
keeps them for delivery to late joiners
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
MQTT Example
☐ http://publib.boulder.ibm.com/infocenter/wmqv7/v7r1/index.jsp?
topic=%2Fcom.ibm.mq.doc%2Ftt60100_.htm
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
MQTT Applicability
☐ MQTT targets the
Device to Cloud
connectivity
☐ As it stands, MQTT (1)
does not support peer-
to-peer device-to-
device
communication, and
(2) is not targeting high
performance data
sharing
Device to Cloud Protocol
MQTT
OpenSpliceDDS
DDS vs MQTT
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
DDS vs MQTT
DDS MQTT
Abstraction Topic-based Pub/Sub Topic-based Pub/Sub
Architectural Style Peer-2-Peer /
Broker-Based
Broker-Based
Applicability Device-2-Device, Device-2-
Cloud, Intra-Cloud, Inter-Cloud
Device-to-Cloud
QoS 22 4
Transports UDP, TCP TCP
Subscription Control Partitions, Topics, Content
Filtering
Topics with hierarchical
matching
Data Serialization CDR Undefined
Endianness Same as Data Source Big Endian
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
Interoperability
☐ DDS enables interoperable data sharing
☐ Technically this means that DDS relies on a standard protocol to
exchange messages and a standard data representation format
☐ MQTT enable interoperable exchange of messages
☐ Notice that this does not infer anything on content of messages, thus
making it much harder to support data sharing in large distributed
systems
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
Data vs Messages
☐ The first and foremost reason why DDS should be more attractive
than competing technologies is the abstraction it provides
☐ From a very high level perspective DDS enables “Data-Sharing”
while other technology just allow to “send messages around”
☐ The important point here is that “Data” is something that end-user
understand since it represents entities in their domain. Messages
usually are a mechanism to share data thus much lower
abstraction
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
Data vs Messages
From a business perspective the advantage of Data-Centricity are:
☐ Reduced effort in infrastructure software => more time to develop
business application
☐ Adoption of Taxonomies / Common Info-Models => Better
interoperability and reuse
☐ No mismatch between Domain Abstractions (e.g. Data) and their
implementation => Maintainability and extensibility
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
P2P and Brokered
☐ DDS does not require a broker. Yet this does not mean that it
cannot take advantage of brokers when this makes sense
☐ As such, DDS is the only technology that allows for both,
infrastructure-less Peer-2-Peer communication, as well as mediated
communication
☐ In other terms, DDS provides an efficient solution for device-2-
device and device-2-data-center communication
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
Multi-*
☐ DDS is multi-platform and multi-language
☐ DDS targets Enterprise as well as Embedded and Real-Time OS
☐ OpenSplice Everywhere provides Device-to-Data-Center
connectivity in a completely platform agnostic manner
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
Real-Time Support
In the context of IS/IoT/I2 the most relevant real-time features of DDS
are:
☐ Support for UDP => Facilitates working with intermittent connectivity
☐ UDP-based Reliability => Provides support for last value reliability,
this is key for any real-time data flow (e.g. telemetry) to avoid
head-of line blocking issues
☐ QoS driven Traffic Shaping => Allows to control incoming data (via
filtering) as well as optimize the outgoing data channel
OpenSpliceDDS
OpenSplice and the IoT
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
DDS Everywhere Platform
☐ A DDS-based, interoperable
product family addressing
systems needs from Embedded
and Mobile to Enterprise and
Cloud
☐ An Open Source core providing
free access to the OpenSplice
Ecosystem, security of supply and
a vibrant, innovative community
OpenSplice
Community
OpenSplice
Cloud
OpenSplice
Embedded
OpenSplice
OpenSplice
Enterprise
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
DDS Everywhere Platform
☐ RTOS (VxWorks, QNX,
etc.)
☐ FPGA
☐ BSP / No-OS
☐ IP + Exotic
Transports
Industrial
Platforms
☐ OS (Linux, Windows, etc)
☐ Cloud
☐ DBMS
☐ No-SQL
☐ InfiniBand + IP
Transports
IT
Platforms
☐ Browser / HTML5
☐ iOS
☐ Android
☐ Cloud
☐ No-SQL
☐ Mobile/WiFi IP
Transp.
Consumer
Platforms
OpenSplice
Community
OpenSplice
Cloud
OpenSplice
Embedded
OpenSplice
OpenSplice
Enterprise
OpenSpliceDDS
DDS Everywhere!
OpenSplice
Mobile
Embedded OS
OpenSplice
Lite
Embedded JVM
OpenSplice
Mobile
Enterprise OS
OpenSplice
Enterprise
OpenSplice
GatewayMQTT, AMQP,
JMS, REST,
....
DDS
RTOS
OpenSplice
RTE
OpenSpliceDDS
Demo
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
Concluding Remarks
☐ An increasing number of domains, such as medical, energy,
infrastructure and fleet management, are seeing the emergence
of IoT requirements
☐ For IoT is key to have available open and standardized data
sharing protocols
☐ The DDS standard provides an end-to-end solution for the IoT while
MQTT addresses the device-to-cloud connectivity issue
OpenSpliceDDS
Copyright	
  2011,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
OpenSpliceDDS
References
¥Fastest growing JVM Language
¥Open Source
¥www.scala-lang.org
¥ #1 OMG DDS Implementation
¥ Open Source
¥ www.opensplice.org
OpenSplice | DDS
¥Scala API for OpenSplice DDS
¥Open Source
¥github.com/kydos/escalier
Escalier
¥Simple C++ API for DDS
¥Open Source
¥github.com/kydos/simd-cxx
¥DDS-PSM-Java for OpenSplice DDS
¥Open Source
¥github.com/kydos/simd-java
¥ DDS-based Advanced Distributed
Algorithms Toolkit
¥Open Source
¥github.com/kydos/dada
OpenSpliceDDS
¥@prismtech
¥@acorsaro
¥youtube.com/opensplicetube ¥slideshare.net/angelo.corsaro
¥ crc@prismtech.com
¥sales@prismtech.com
¥opensplice.com ¥forums.opensplice.org
¥opensplice.org ¥opensplicedds@prismtech.com
:: Connect with Us ::

More Related Content

What's hot

Iot ppt
Iot pptIot ppt
Iot pptpiyuu7
 
3 Military Applications of the Internet of Things
3 Military Applications of the Internet of Things3 Military Applications of the Internet of Things
3 Military Applications of the Internet of ThingsTyrone Systems
 
Internet of things (IOT) connects physical to digital
Internet of things (IOT) connects physical to digitalInternet of things (IOT) connects physical to digital
Internet of things (IOT) connects physical to digitalEslam Nader
 
IoT Tutorial for Beginners | Internet of Things (IoT) | IoT Training | IoT Te...
IoT Tutorial for Beginners | Internet of Things (IoT) | IoT Training | IoT Te...IoT Tutorial for Beginners | Internet of Things (IoT) | IoT Training | IoT Te...
IoT Tutorial for Beginners | Internet of Things (IoT) | IoT Training | IoT Te...Edureka!
 
Ethics_Internet of Things
Ethics_Internet of ThingsEthics_Internet of Things
Ethics_Internet of Thingsalengadan
 
IoT - IT 423 ppt
IoT - IT 423 pptIoT - IT 423 ppt
IoT - IT 423 pptMhae Lyn
 
Introduction to Internet of Things (IoT)
Introduction to Internet of Things (IoT)Introduction to Internet of Things (IoT)
Introduction to Internet of Things (IoT)Amarjeetsingh Thakur
 
Internet of Things(IOT)_Seminar_Dr.G.Rajeshkumar
Internet of Things(IOT)_Seminar_Dr.G.RajeshkumarInternet of Things(IOT)_Seminar_Dr.G.Rajeshkumar
Internet of Things(IOT)_Seminar_Dr.G.RajeshkumarRAJESHKUMARG12
 
THE INTERNET OF THINGS
THE INTERNET OF THINGSTHE INTERNET OF THINGS
THE INTERNET OF THINGSRamana Reddy
 
Internet of Things (IOT)
Internet of Things (IOT)Internet of Things (IOT)
Internet of Things (IOT)Kunal Adhikari
 
Internet of things - challenges scopes and solutions
Internet of things - challenges scopes and solutionsInternet of things - challenges scopes and solutions
Internet of things - challenges scopes and solutionsShivam Kumar
 
The State of Edge Computing for IoT
The State of Edge Computing for IoTThe State of Edge Computing for IoT
The State of Edge Computing for IoTIan Skerrett
 
Internet of things - Business Opportunities in the Connected World
Internet of things - Business Opportunities in the Connected WorldInternet of things - Business Opportunities in the Connected World
Internet of things - Business Opportunities in the Connected WorldJag Randhawa
 
Internet of Things (IoT) - We Are at the Tip of An Iceberg
Internet of Things (IoT) - We Are at the Tip of An IcebergInternet of Things (IoT) - We Are at the Tip of An Iceberg
Internet of Things (IoT) - We Are at the Tip of An IcebergDr. Mazlan Abbas
 
Internet Of Things Introduction
Internet Of Things Introduction Internet Of Things Introduction
Internet Of Things Introduction AARYAN GUPTA
 

What's hot (20)

Iot ppt
Iot pptIot ppt
Iot ppt
 
3 Military Applications of the Internet of Things
3 Military Applications of the Internet of Things3 Military Applications of the Internet of Things
3 Military Applications of the Internet of Things
 
Internet of things (IOT) connects physical to digital
Internet of things (IOT) connects physical to digitalInternet of things (IOT) connects physical to digital
Internet of things (IOT) connects physical to digital
 
IoT Tutorial for Beginners | Internet of Things (IoT) | IoT Training | IoT Te...
IoT Tutorial for Beginners | Internet of Things (IoT) | IoT Training | IoT Te...IoT Tutorial for Beginners | Internet of Things (IoT) | IoT Training | IoT Te...
IoT Tutorial for Beginners | Internet of Things (IoT) | IoT Training | IoT Te...
 
Ethics_Internet of Things
Ethics_Internet of ThingsEthics_Internet of Things
Ethics_Internet of Things
 
IoT - IT 423 ppt
IoT - IT 423 pptIoT - IT 423 ppt
IoT - IT 423 ppt
 
Introduction to Internet of Things (IoT)
Introduction to Internet of Things (IoT)Introduction to Internet of Things (IoT)
Introduction to Internet of Things (IoT)
 
Internet of Things(IOT)_Seminar_Dr.G.Rajeshkumar
Internet of Things(IOT)_Seminar_Dr.G.RajeshkumarInternet of Things(IOT)_Seminar_Dr.G.Rajeshkumar
Internet of Things(IOT)_Seminar_Dr.G.Rajeshkumar
 
THE INTERNET OF THINGS
THE INTERNET OF THINGSTHE INTERNET OF THINGS
THE INTERNET OF THINGS
 
Internet of Things (IOT)
Internet of Things (IOT)Internet of Things (IOT)
Internet of Things (IOT)
 
nptel-1.pdf
nptel-1.pdfnptel-1.pdf
nptel-1.pdf
 
Internet of things(IoT)
Internet of things(IoT)Internet of things(IoT)
Internet of things(IoT)
 
Internet of things - challenges scopes and solutions
Internet of things - challenges scopes and solutionsInternet of things - challenges scopes and solutions
Internet of things - challenges scopes and solutions
 
IoT ppt
IoT pptIoT ppt
IoT ppt
 
The State of Edge Computing for IoT
The State of Edge Computing for IoTThe State of Edge Computing for IoT
The State of Edge Computing for IoT
 
10 min IoT ppt
10 min IoT ppt10 min IoT ppt
10 min IoT ppt
 
FUTURE OF IOT
FUTURE OF IOTFUTURE OF IOT
FUTURE OF IOT
 
Internet of things - Business Opportunities in the Connected World
Internet of things - Business Opportunities in the Connected WorldInternet of things - Business Opportunities in the Connected World
Internet of things - Business Opportunities in the Connected World
 
Internet of Things (IoT) - We Are at the Tip of An Iceberg
Internet of Things (IoT) - We Are at the Tip of An IcebergInternet of Things (IoT) - We Are at the Tip of An Iceberg
Internet of Things (IoT) - We Are at the Tip of An Iceberg
 
Internet Of Things Introduction
Internet Of Things Introduction Internet Of Things Introduction
Internet Of Things Introduction
 

Viewers also liked

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 ThingsReal-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 M2MJulien Vermillard
 
M2M, IOT, Device Managment: COAP/LWM2M to rule them all?
M2M, IOT, Device Managment: COAP/LWM2M to rule them all?M2M, IOT, Device Managment: COAP/LWM2M to rule them all?
M2M, IOT, Device Managment: COAP/LWM2M to rule them all?Julien Vermillard
 
The Data Distribution Service Tutorial
The Data Distribution Service TutorialThe Data Distribution Service Tutorial
The Data Distribution Service TutorialAngelo Corsaro
 
The DDS Tutorial - Part I
The DDS Tutorial - Part IThe DDS Tutorial - Part I
The DDS Tutorial - Part IAngelo Corsaro
 
Standards Drive the Internet of Things
Standards Drive the Internet of ThingsStandards Drive the Internet of Things
Standards Drive the Internet of Thingszdshelby
 
Introducing MQTT
Introducing MQTTIntroducing MQTT
Introducing MQTTAndy Piper
 
ARM CoAP Tutorial
ARM CoAP TutorialARM CoAP Tutorial
ARM CoAP Tutorialzdshelby
 
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
 
Distributed Algorithms with DDS
Distributed Algorithms with DDSDistributed Algorithms with DDS
Distributed Algorithms with DDSAngelo Corsaro
 
DDS: The IoT Data Sharing Standard
DDS: The IoT Data Sharing StandardDDS: The IoT Data Sharing Standard
DDS: The IoT Data Sharing StandardAngelo 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
 
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
 
A survey of robotics in Ruby
A survey of robotics in RubyA survey of robotics in Ruby
A survey of robotics in RubyAdam Dill
 
Energy Efficient MAC for Cellular-Based M2M Communications
Energy Efficient MAC for Cellular-Based M2M CommunicationsEnergy Efficient MAC for Cellular-Based M2M Communications
Energy Efficient MAC for Cellular-Based M2M Communicationsamin azari
 
2006, CYBER WORLD - THE FUTURE OF COMPUTING
2006, CYBER WORLD - THE FUTURE OF COMPUTING 2006, CYBER WORLD - THE FUTURE OF COMPUTING
2006, CYBER WORLD - THE FUTURE OF COMPUTING Jim "Brodie" Brazell
 
"Hello World" in OMG DDS and MQTT
"Hello World" in OMG DDS and MQTT"Hello World" in OMG DDS and MQTT
"Hello World" in OMG DDS and MQTTSander Mertens
 

Viewers also liked (20)

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
 
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
 
M2M, IOT, Device Managment: COAP/LWM2M to rule them all?
M2M, IOT, Device Managment: COAP/LWM2M to rule them all?M2M, IOT, Device Managment: COAP/LWM2M to rule them all?
M2M, IOT, Device Managment: COAP/LWM2M to rule them all?
 
The Data Distribution Service Tutorial
The Data Distribution Service TutorialThe Data Distribution Service Tutorial
The Data Distribution Service Tutorial
 
Understanding the Internet of Things Protocols
Understanding the Internet of Things ProtocolsUnderstanding the Internet of Things Protocols
Understanding the Internet of Things Protocols
 
The DDS Tutorial - Part I
The DDS Tutorial - Part IThe DDS Tutorial - Part I
The DDS Tutorial - Part I
 
Standards Drive the Internet of Things
Standards Drive the Internet of ThingsStandards Drive the Internet of Things
Standards Drive the Internet of Things
 
Introducing MQTT
Introducing MQTTIntroducing MQTT
Introducing MQTT
 
ARM CoAP Tutorial
ARM CoAP TutorialARM CoAP Tutorial
ARM CoAP 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
 
Distributed Algorithms with DDS
Distributed Algorithms with DDSDistributed Algorithms with DDS
Distributed Algorithms with DDS
 
DDS: The IoT Data Sharing Standard
DDS: The IoT Data Sharing StandardDDS: The IoT Data Sharing Standard
DDS: The IoT Data Sharing Standard
 
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 vs AMQP
DDS vs AMQPDDS vs AMQP
DDS vs AMQP
 
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?
 
A survey of robotics in Ruby
A survey of robotics in RubyA survey of robotics in Ruby
A survey of robotics in Ruby
 
Energy Efficient MAC for Cellular-Based M2M Communications
Energy Efficient MAC for Cellular-Based M2M CommunicationsEnergy Efficient MAC for Cellular-Based M2M Communications
Energy Efficient MAC for Cellular-Based M2M Communications
 
2006, CYBER WORLD - THE FUTURE OF COMPUTING
2006, CYBER WORLD - THE FUTURE OF COMPUTING 2006, CYBER WORLD - THE FUTURE OF COMPUTING
2006, CYBER WORLD - THE FUTURE OF COMPUTING
 
One m2m 4- identifier_resoruce structure
One m2m 4- identifier_resoruce structureOne m2m 4- identifier_resoruce structure
One m2m 4- identifier_resoruce structure
 
"Hello World" in OMG DDS and MQTT
"Hello World" in OMG DDS and MQTT"Hello World" in OMG DDS and MQTT
"Hello World" in OMG DDS and MQTT
 

Similar to Building the Internet of Things

A Review on Privacy and Security Challenges in the Internet of Things (IoT) t...
A Review on Privacy and Security Challenges in the Internet of Things (IoT) t...A Review on Privacy and Security Challenges in the Internet of Things (IoT) t...
A Review on Privacy and Security Challenges in the Internet of Things (IoT) t...IJCSIS Research Publications
 
The technology behind the internet of things -C&T RF Antennas Inc
The technology behind the internet of things -C&T RF Antennas IncThe technology behind the internet of things -C&T RF Antennas Inc
The technology behind the internet of things -C&T RF Antennas IncAntenna Manufacturer Coco
 
The Internet of Things (IoT)
The Internet of Things (IoT)The Internet of Things (IoT)
The Internet of Things (IoT)Dadhaniya Renish
 
IoT & Applications Digital Notes 1 (1).pdf
IoT & Applications Digital Notes 1 (1).pdfIoT & Applications Digital Notes 1 (1).pdf
IoT & Applications Digital Notes 1 (1).pdfMurugeswariKrishnan
 
IoT & Applications Digital Notes 1 (1).pdf
IoT & Applications Digital Notes 1 (1).pdfIoT & Applications Digital Notes 1 (1).pdf
IoT & Applications Digital Notes 1 (1).pdfMurugeswariKrishnan
 
Emergence of IoT,Introduction, Evolution
Emergence of IoT,Introduction, EvolutionEmergence of IoT,Introduction, Evolution
Emergence of IoT,Introduction, EvolutionRoopaDNDandally
 
Emergence of IoT,Introduction, Evolution
Emergence of IoT,Introduction, EvolutionEmergence of IoT,Introduction, Evolution
Emergence of IoT,Introduction, EvolutionRoopaDNDandally
 
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
 
SPHER NET full presentation - v1.1 Final
SPHER NET full presentation - v1.1 FinalSPHER NET full presentation - v1.1 Final
SPHER NET full presentation - v1.1 FinalElliot Charles Willcox
 
Unify Internet Of Things with Clayster
Unify Internet Of Things with ClaysterUnify Internet Of Things with Clayster
Unify Internet Of Things with Claysterclaysterworld
 
Smart city landscape
Smart city landscapeSmart city landscape
Smart city landscapeSamir SEHIL
 
XMPP a Unified Fabric for Internet Of Things
XMPP a Unified Fabric for Internet Of ThingsXMPP a Unified Fabric for Internet Of Things
XMPP a Unified Fabric for Internet Of ThingsRikard Strid
 
Data Communication in Internet of Things: Vision, Challenges and Future Direc...
Data Communication in Internet of Things: Vision, Challenges and Future Direc...Data Communication in Internet of Things: Vision, Challenges and Future Direc...
Data Communication in Internet of Things: Vision, Challenges and Future Direc...TELKOMNIKA JOURNAL
 
Internet of things-IoT.pptx
Internet of things-IoT.pptxInternet of things-IoT.pptx
Internet of things-IoT.pptxMukulislam1
 

Similar to Building the Internet of Things (20)

A Review on Privacy and Security Challenges in the Internet of Things (IoT) t...
A Review on Privacy and Security Challenges in the Internet of Things (IoT) t...A Review on Privacy and Security Challenges in the Internet of Things (IoT) t...
A Review on Privacy and Security Challenges in the Internet of Things (IoT) t...
 
The technology behind the internet of things -C&T RF Antennas Inc
The technology behind the internet of things -C&T RF Antennas IncThe technology behind the internet of things -C&T RF Antennas Inc
The technology behind the internet of things -C&T RF Antennas Inc
 
Internet of things
Internet of thingsInternet of things
Internet of things
 
The Internet of Things (IoT)
The Internet of Things (IoT)The Internet of Things (IoT)
The Internet of Things (IoT)
 
IoT & Applications Digital Notes 1 (1).pdf
IoT & Applications Digital Notes 1 (1).pdfIoT & Applications Digital Notes 1 (1).pdf
IoT & Applications Digital Notes 1 (1).pdf
 
IoT & Applications Digital Notes 1 (1).pdf
IoT & Applications Digital Notes 1 (1).pdfIoT & Applications Digital Notes 1 (1).pdf
IoT & Applications Digital Notes 1 (1).pdf
 
COMPARATIVE STUDY BETWEEN VARIOUS PROTOCOLS USED IN INTERNET OF THING
COMPARATIVE STUDY BETWEEN VARIOUS  PROTOCOLS USED IN INTERNET OF THINGCOMPARATIVE STUDY BETWEEN VARIOUS  PROTOCOLS USED IN INTERNET OF THING
COMPARATIVE STUDY BETWEEN VARIOUS PROTOCOLS USED IN INTERNET OF THING
 
Emergence of IoT,Introduction, Evolution
Emergence of IoT,Introduction, EvolutionEmergence of IoT,Introduction, Evolution
Emergence of IoT,Introduction, Evolution
 
Emergence of IoT,Introduction, Evolution
Emergence of IoT,Introduction, EvolutionEmergence of IoT,Introduction, Evolution
Emergence of IoT,Introduction, Evolution
 
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
 
IOT_UNIT-1.pptx
IOT_UNIT-1.pptxIOT_UNIT-1.pptx
IOT_UNIT-1.pptx
 
SPHER NET full presentation - v1.1 Final
SPHER NET full presentation - v1.1 FinalSPHER NET full presentation - v1.1 Final
SPHER NET full presentation - v1.1 Final
 
Unit 1.pptx
Unit 1.pptxUnit 1.pptx
Unit 1.pptx
 
7CS4_IOT_Unit-1.pdf
7CS4_IOT_Unit-1.pdf7CS4_IOT_Unit-1.pdf
7CS4_IOT_Unit-1.pdf
 
Unify Internet Of Things with Clayster
Unify Internet Of Things with ClaysterUnify Internet Of Things with Clayster
Unify Internet Of Things with Clayster
 
Smart city landscape
Smart city landscapeSmart city landscape
Smart city landscape
 
Unit - 1.pptx
Unit - 1.pptxUnit - 1.pptx
Unit - 1.pptx
 
XMPP a Unified Fabric for Internet Of Things
XMPP a Unified Fabric for Internet Of ThingsXMPP a Unified Fabric for Internet Of Things
XMPP a Unified Fabric for Internet Of Things
 
Data Communication in Internet of Things: Vision, Challenges and Future Direc...
Data Communication in Internet of Things: Vision, Challenges and Future Direc...Data Communication in Internet of Things: Vision, Challenges and Future Direc...
Data Communication in Internet of Things: Vision, Challenges and Future Direc...
 
Internet of things-IoT.pptx
Internet of things-IoT.pptxInternet of things-IoT.pptx
Internet of things-IoT.pptx
 

More from 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
 
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
 
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
 
The Data Distribution Service
The Data Distribution ServiceThe Data Distribution Service
The Data Distribution ServiceAngelo 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
 
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
 

More from Angelo Corsaro (20)

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
 
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
 
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
 
The Data Distribution Service
The Data Distribution ServiceThe Data Distribution Service
The Data Distribution Service
 
RUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming RuminationsRUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming Ruminations
 
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
 

Recently uploaded

Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingWSO2
 
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceIES VE
 
Navigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseNavigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseWSO2
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformWSO2
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard37
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 

Recently uploaded (20)

Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation Computing
 
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational Performance
 
Navigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseNavigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern Enterprise
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 

Building the Internet of Things

  • 1. OpenSpliceDDS Angelo CORSARO, Ph.D. Chief Technology Officer OMG DDS Sig Co-Chair PrismTech angelo.corsaro@prismtech.com Building the Internet of Things
  • 3. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS The Internet of Things (IoT) ☐ The term Internet of Things is rather evocative...
  • 4. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS The Internet of Things (IoT) Let’s analyse the meaning: ☐ Internet: (noun) a global computer network providing a variety of information and communication facilities, consisting of interconnected networks using standardized communication protocols. ☐ of: (preposition) expressing the relationship between a part and a whole ☐ thing: (noun) (1) an object that one need not, cannot, or does not wish to give a specific name to (2) an inanimate material object as distinct from a living sentient being
  • 5. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS The Internet of Things (IoT) Definition I A global network of “things” providing a variety of information and communication facilities, consisting of interconnected networks using standardized communication protocols
  • 6. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS The Internet of Things (IoT) ☐ Yet, there are plenty of other definitions for the internet of things ☐ Let’s look at a few of them...
  • 7. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS The Internet of Things (IoT) Definition II Things have identities and virtual personalities operating in smart spaces using intelligent interfaces to connect and communicate within social, environment, and user contexts T. Lu and W. Neng,“Future internet:The internet of things,” in 3rd International Conference on Advanced ComputerTheory and Engineering(ICACTE), vol. 5,August 2010, pp.V5–376–V5–380. [Online].Available: http://dx.doi.org/10.1109/ICACTE.2010.5579543
  • 8. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS The Internet of Things (IoT) Definition III The semantic origin of the expression is composed by two words and concepts: Internet and Thing, where Internet can be defined as the world-wide network of interconnected computer networks, based on a standard communication protocol, the Internet suite (TCP/IP), while Thing is an object not precisely identifiable. Therefore, semantically, Internet of Things means a world-wide network of interconnected objects uniquely addressable, based on standard communication protocols European Commission,“Internet of things in 2020 road map for the future,”Working Group RFID of the ETP EPOSS,Tech. Rep., May 2008, http://ec.europa.eu/information society/policy/rfid/ documents/iotprague2009.pdf [Accessed on: 2011-06-12].
  • 9. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS The Internet of Things (IoT) Definition IV The Internet of Things allows people and things to be connected Anytime, Anyplace, with Anything and Anyone, ideally using Any path/network and Any service. [Ref: P. Guillemin and P. Friess,“Internet of things strategic research roadmap,”The Cluster of European Research Projects,Tech. Rep., September 2009, http://www.internet-of-things-research.eu/pdf/IoT Cluster Strategic Research Agenda 2009.pdf [Accessed on: 2011-08- 15].
  • 11. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS Variations on the Theme ☐ Intelligent Systems and Industrial Internet have been recently defined by analysts as special cases of the Internet of Things ☐ Yet, regardless of the term we use, these systems share similar needs in terms of standardized protocols for data exchange
  • 12. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS IoT/IS/II Applications Pipeline Collect | Store | Analyze | Share Public/Private Cloud Devices Data Center Devices / IT Infrastructure
  • 13. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS Decomposing the Problem ☐ Device to Device Communication ☐ Device to Cloud Communication ☐ Intra Data-Center Communication ☐ Inter Data-Center Communication Device to cloud protocol Server to Server Protocol Data-Center to Data- Center Protocol Device to Device protocol
  • 14. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS Device to Device Communication ☐ Peer-to-Peer Communication between devices with potentially very different hardware and networking capabilities ☐ Usually aggregating data from sensors to kiosks, etc. ☐ In some use cases low latency / high throughput are relevant
  • 15. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS Device-to-Cloud Communication ☐ Characteristic of the communication depends on the kind of application ☐ Sporadic data updates vs. Real-Time data updates ☐ Potentially Constrained Bandwidth ☐ Intermittent Connectivity ☐ Variable Latency Links ☐ NAT, Firewalls ☐ Security ☐ To enable Open and Interoperable IoT, Device- to-Data Center communication has to rely on standard protocols ☐ Two of the current candidates for Device-to-Data Center communications are DDS and MQTT
  • 16. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS Intra Data-Center Communication ☐ Requirements are similar to those of typical mission/business critical systems ☐ High throughput and low per/message overhead are important to keep the per-message cost under control ☐ Standards are not a top necessity for inter-data-center communication since this is not exposed to third parties
  • 17. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS Inter Data-Center Communication ☐ Requirements are similar to those of typical mission/business critical systems integration ☐ High throughput and low per/message overhead are important to keep the per-message cost under control ☐ Standards could play a role if some form of interoperability between clouds providers is desirable
  • 20. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS Data Distribution Service ☐ Introduced in 2004 to address the Data Distribution challenges faced by a wide class of Defense and Aerospace Applications ☐ Key requirement for the standard were to deliver very high and predictable performance while scaling from embedded to ultra- large-scale deployments For Real-Time Systems ScaleReal-Timeliness Near Real-Time Fault- Tolerant Information Processing Throughput, Availability Real-Time Information Processing Determinism Systemic Signal Processing Data Processing Parallelism Complex Information Management Scalability, Persistence, Security Parallel Systems Distributed Systems
  • 21. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS Data Distribution Service ☐ Recommended by key administration worldwide, e.g. DoD, MoD, EUROCAE, etc. ☐ Widely adopted across several different domains, e.g., Smart Cities, Smart Grids, Automated Trading, Simulations, SCADA, Telemetry, etc. ScaleReal-Timeliness Near Real-Time Fault- Tolerant Information Processing Throughput, Availability Real-Time Information Processing Determinism Systemic Signal Processing Data Processing Parallelism Complex Information Management Scalability, Persistence, Security Parallel Systems Distributed Systems For Real-Time Systems
  • 22. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS Defense and Aerospace Integrated Modular Vetronics Training & Simulation Systems Naval Combat Systems Air Traffic Control & Management Unmanned Air Vehicles Aerospace Applications
  • 23. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS Commercial Applications Agricultural Vehicle Systems Train Control Systems Complex Medical Devices Smart CitiesLarge Scale SCADA Systems High Frequency Auto-Trading [see http://yhoo.it/11dGbGO ]
  • 24. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS Standard Family Application RPC over DDS ScalaJavaC/C++ DDS RPC over DDS X-Types DDSI-RTPS Security Security DDSI-RTPS X-Types 2004 2013 2013 2013 2013 Application API Wire Protocol UDP, TCP, (WebSocket) Python JavaScript
  • 25. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS Interoperability DDSI Wire Interoperability Data Model Common “Language” + QoS Requirements Interoperability
  • 26. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS Portability DDS API Standard Application Portability
  • 28. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS Data Distribution Service ☐ Topics: data distribution subject’s ☐ DataWriters: data producers ☐ DataReaders: data consumers DDS provides a Topic-Based Publish/ Subscribe abstraction based on: DDS Global Data Space ... TopicA TopicB TopicC TopicD Data Writer Data Writer Data Writer Data Writer Data Reader Data Reader Data Reader Data Reader For Real-Time Systems
  • 29. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS Data Distribution Service ☐ DataWriters and DataReaders are automatically and dynamically matched by the DDS Dynamic Discovery ☐ A rich set of QoS allows to control existential, temporal, and spatial properties of data DDS Global Data Space ... TopicA TopicB TopicC TopicD Data Writer Data Writer Data Writer Data Writer Data Reader Data Reader Data Reader Data Reader For Real-Time Systems
  • 30. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS IDL DDS Topics ☐ A Topic defines a class of streams ☐ A Topic has associated a user defined extensible type and a set of QoS policies ☐ The Topic name, type and QoS defines the key functional and non-functional invariants ☐ Topics can be discovered or locally defined DURABILITY, DEADLINE, PRIORITY, … “TTempSensor” Topic Type Name QoS struct TempSensor { long sid; float temp; float hum;}; #pragma keylist TempSensor sid TempSensor
  • 31. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS Anatomy of a DDS Application
  • 32. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS Anatomy of a DDS Application Domain Reader/Writers for User Defined for Types Session // Create a DataWriter/DataWriter auto writer = DataWriter<TempSensor>(pub, topic); auto reader = DataReader<TempSensor>(sub, topic); Reader/Writer for application defined TopicTypes Domain Participant Publisher DataWriter Topic Subscriber DataReader [DDS C++ API 2010] auto dp = DomainParticipant(domainId); // Create a Publisher / Subscriber auto pub = Publisher(dp); auto sub = Subscriber(dp); // Create a Topic auto topic = Topic<TempSensor>(dp, “TTemSensor”);
  • 33. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS Anatomy of a DDS Application Domain Reader/Writers for User Defined for Types Session // Write data writer.write(TempSenspir(101, 23.5F, 0.55F)); // But you can also write like this... writer << TempSenspir(102, 24.5F, 0.65F); // Read new data auto data = reader.read(); Reader/Writer for application defined TopicTypes auto dp = DomainParticipant(domainId); Domain Participant Publisher DataWriter Topic Subscriber DataReader // Create a Publisher / Subscriber auto pub = Publisher(dp); auto sub = Subscriber(dp); // Create a Topic auto topic = Topic<VehicleDynamics>(dp, “TVehicleDynamics”); [DDS C++ API]
  • 34. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS Simple and Powerful package dds.demo.oximeter import dds.demo.oximeter.config.OximeterEntities._ import dds.demo._ import dds._ import dds.demo.common._ object Oximeter { def main(args: Array[String]) { if (args.length < 2) { println("USAGEntOximeter <device-id> <period>") sys.exit } val did = args(0) val period = args(1) val topic = Topic[Oximetry]("Oximetry") val w = DataWriter(topic) while (true) { val oximetry = new Oximetry(did, genValue(), genValue(), genValue(), genValue(), genValue()) w.write(oximetry) Thread.sleep(period) } } }
  • 35. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS Simple and Powerful package dds.demo.oximeter import dds.demo.oximeter.config.OximeterEntities._ import dds.demo._ import dds._ import dds.demo.common._ object Oximeter { def main(args: Array[String]) { if (args.length < 2) { println("USAGEntOximeter <device-id> <period>") sys.exit } val did = args(0) val period = args(1) val topic = Topic[Oximetry]("Oximetry") val w = DataWriter(topic) while (true) { val oximetry = new Oximetry(did, genValue(), genValue(), genValue(), genValue(), genValue()) w.write(oximetry) Thread.sleep(period) } } } Where are the DomainParticipant, Publisher, Subscriber and QoS?!?
  • 36. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS Simple and Powerful package dds.demo.oximeter import dds.demo.oximeter.config.OximeterEntities._ import dds.demo._ import dds._ import dds.demo.common._ object Oximeter { def main(args: Array[String]) { if (args.length < 2) { println("USAGEntOximeter <device-id> <period>") sys.exit } val did = args(0) val period = args(1) val topic = Topic[Oximetry]("Oximetry") val w = DataWriter(topic) while (true) { val oximetry = new Oximetry(did, genValue(), genValue(), genValue(), genValue(), genValue()) w.write(oximetry) Thread.sleep(period) } } } ...configured via dependency injection! Thus leaving application code simple and clean...
  • 38. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS QoS Model ☐ QoS-Policies control local and end-to-end properties of DDS entities ☐ Local properties controlled by QoS are related resource usage ☐ End-to-end properties controlled by QoS are related to temporal and spatial aspects of data distribution ☐ Some QoS-Policies are matched based on a Request vs. Offered Model thus QoS-enforcement Publisher DataWriter Topic Type QoS Name writes QoS DataWriter Topic Typewrites Subscriber DataReaderreads DataReaderreads ... QoS Name QoS QoS QoS QoS matching ...... QoS QoS Type Matching DomainParticipant DomainParticipant QoS QoS
  • 39. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS Temporal Properties Throughput TimeBasedFilter [Inbound] [Outbound] Latency Deadline TransportPriority LatencyBudget
  • 40. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS Data Availability Data Availability History Ownership DurabilityLifespan Ownership Strength
  • 41. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS Data Delivery Data Delivery Reliability Presentation Destination Order Partition
  • 42. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS DDS Applicability ☐ The DDS/DDSI standards are able to cover the requirements of device- to-cloud, intra- and inter- cloud communication ☐ DDS can provide efficient Device-to-Cloud and Device-toDevice communication as well as intra-cloud communication Device to Cloud Protocol Server to Server Protocol Data-Center to Data-Center Protocol Device to Device Protocol DDS/DDSI DDS/DDSI DDS/DDSI DDS/DDSI
  • 44. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS MQTT Overview ☐ MQTT (Message Queueing Telemetry Transport) has been heavily hyped as the protocol for the Internet of Things ☐ MQTT was introduced by IBM in the 90s and is now being standardized through OASIS
  • 45. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS What MQTT.org Says of MQTT ☐ MQTT stands for MQ Telemetry Transport. It is a publish/subscribe, extremely simple and lightweight messaging protocol, designed for constrained devices and low-bandwidth, high-latency or unreliable networks. ☐ The design principles are to minimise network bandwidth and device resource requirements whilst also attempting to ensure reliability and some degree of assurance of delivery. ☐ These principles also turn out to make the protocol ideal of the emerging “machine-to-machine” (M2M) or “Internet of Things” world of connected devices, and for mobile applications where bandwidth and battery power are at a premium. [http://mqtt.org/faq]
  • 46. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS MQTT Overview ☐ Topic-based brokered Pub/Sub abstraction ☐ Publications simply post topics which are identified by strings ☐ Subscriptions define their interest by using a regular expression ☐ Example: ☐ Topic Name: Building/room123/temp-sensor ☐ Subscriptions: ☐ Building/room123/temp-sensor ☐ Building/room123/# (all topics with prefix Building/room123/ ☐ Building/#/temp-sensor (all temp-sensor data for the building across rooms)
  • 47. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS MQTT Overview ☐ Publishers and Subscribers communicate with the broker via TCP/IP connections ☐ MQTT does not provide standard encoding for data ☐ In other terms, data is opaque to MQTT and it is up to the applications to ensure they agree on serialization schemes
  • 48. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS MQTT Overview pub MQTT Broker “building/room101/TempSensor/SID-123” sub “building/room101/TempSensor/SID-123” “building/room101/TempSensor/SID-124” pub sub “building/room101/TempSensor/#”
  • 49. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS Publications QoS MQTT provides different levels of QoS for publications: ☐ At most once ☐ At least once ☐ Exactly once In addition MQTT allows messages to be retained, meaning the broker keeps them for delivery to late joiners
  • 50. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS MQTT Example ☐ http://publib.boulder.ibm.com/infocenter/wmqv7/v7r1/index.jsp? topic=%2Fcom.ibm.mq.doc%2Ftt60100_.htm
  • 51. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS MQTT Applicability ☐ MQTT targets the Device to Cloud connectivity ☐ As it stands, MQTT (1) does not support peer- to-peer device-to- device communication, and (2) is not targeting high performance data sharing Device to Cloud Protocol MQTT
  • 53. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS DDS vs MQTT DDS MQTT Abstraction Topic-based Pub/Sub Topic-based Pub/Sub Architectural Style Peer-2-Peer / Broker-Based Broker-Based Applicability Device-2-Device, Device-2- Cloud, Intra-Cloud, Inter-Cloud Device-to-Cloud QoS 22 4 Transports UDP, TCP TCP Subscription Control Partitions, Topics, Content Filtering Topics with hierarchical matching Data Serialization CDR Undefined Endianness Same as Data Source Big Endian
  • 54. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS Interoperability ☐ DDS enables interoperable data sharing ☐ Technically this means that DDS relies on a standard protocol to exchange messages and a standard data representation format ☐ MQTT enable interoperable exchange of messages ☐ Notice that this does not infer anything on content of messages, thus making it much harder to support data sharing in large distributed systems
  • 55. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS Data vs Messages ☐ The first and foremost reason why DDS should be more attractive than competing technologies is the abstraction it provides ☐ From a very high level perspective DDS enables “Data-Sharing” while other technology just allow to “send messages around” ☐ The important point here is that “Data” is something that end-user understand since it represents entities in their domain. Messages usually are a mechanism to share data thus much lower abstraction
  • 56. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS Data vs Messages From a business perspective the advantage of Data-Centricity are: ☐ Reduced effort in infrastructure software => more time to develop business application ☐ Adoption of Taxonomies / Common Info-Models => Better interoperability and reuse ☐ No mismatch between Domain Abstractions (e.g. Data) and their implementation => Maintainability and extensibility
  • 57. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS P2P and Brokered ☐ DDS does not require a broker. Yet this does not mean that it cannot take advantage of brokers when this makes sense ☐ As such, DDS is the only technology that allows for both, infrastructure-less Peer-2-Peer communication, as well as mediated communication ☐ In other terms, DDS provides an efficient solution for device-2- device and device-2-data-center communication
  • 58. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS Multi-* ☐ DDS is multi-platform and multi-language ☐ DDS targets Enterprise as well as Embedded and Real-Time OS ☐ OpenSplice Everywhere provides Device-to-Data-Center connectivity in a completely platform agnostic manner
  • 59. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS Real-Time Support In the context of IS/IoT/I2 the most relevant real-time features of DDS are: ☐ Support for UDP => Facilitates working with intermittent connectivity ☐ UDP-based Reliability => Provides support for last value reliability, this is key for any real-time data flow (e.g. telemetry) to avoid head-of line blocking issues ☐ QoS driven Traffic Shaping => Allows to control incoming data (via filtering) as well as optimize the outgoing data channel
  • 61. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS DDS Everywhere Platform ☐ A DDS-based, interoperable product family addressing systems needs from Embedded and Mobile to Enterprise and Cloud ☐ An Open Source core providing free access to the OpenSplice Ecosystem, security of supply and a vibrant, innovative community OpenSplice Community OpenSplice Cloud OpenSplice Embedded OpenSplice OpenSplice Enterprise
  • 62. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS DDS Everywhere Platform ☐ RTOS (VxWorks, QNX, etc.) ☐ FPGA ☐ BSP / No-OS ☐ IP + Exotic Transports Industrial Platforms ☐ OS (Linux, Windows, etc) ☐ Cloud ☐ DBMS ☐ No-SQL ☐ InfiniBand + IP Transports IT Platforms ☐ Browser / HTML5 ☐ iOS ☐ Android ☐ Cloud ☐ No-SQL ☐ Mobile/WiFi IP Transp. Consumer Platforms OpenSplice Community OpenSplice Cloud OpenSplice Embedded OpenSplice OpenSplice Enterprise
  • 63. OpenSpliceDDS DDS Everywhere! OpenSplice Mobile Embedded OS OpenSplice Lite Embedded JVM OpenSplice Mobile Enterprise OS OpenSplice Enterprise OpenSplice GatewayMQTT, AMQP, JMS, REST, .... DDS RTOS OpenSplice RTE
  • 65. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS Concluding Remarks ☐ An increasing number of domains, such as medical, energy, infrastructure and fleet management, are seeing the emergence of IoT requirements ☐ For IoT is key to have available open and standardized data sharing protocols ☐ The DDS standard provides an end-to-end solution for the IoT while MQTT addresses the device-to-cloud connectivity issue
  • 67. Copyright  2011,  PrismTech  –    All  Rights  Reserved. OpenSpliceDDS References ¥Fastest growing JVM Language ¥Open Source ¥www.scala-lang.org ¥ #1 OMG DDS Implementation ¥ Open Source ¥ www.opensplice.org OpenSplice | DDS ¥Scala API for OpenSplice DDS ¥Open Source ¥github.com/kydos/escalier Escalier ¥Simple C++ API for DDS ¥Open Source ¥github.com/kydos/simd-cxx ¥DDS-PSM-Java for OpenSplice DDS ¥Open Source ¥github.com/kydos/simd-java ¥ DDS-based Advanced Distributed Algorithms Toolkit ¥Open Source ¥github.com/kydos/dada