SlideShare una empresa de Scribd logo
1 de 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 ::

Más contenido relacionado

La actualidad más candente

Internet of Things (IoT) - Slide Marvels, Top PowerPoint presentation design ...
Internet of Things (IoT) - Slide Marvels, Top PowerPoint presentation design ...Internet of Things (IoT) - Slide Marvels, Top PowerPoint presentation design ...
Internet of Things (IoT) - Slide Marvels, Top PowerPoint presentation design ...Slide Marvels
 
Smart Cities - everything a smart city should have
Smart Cities  - everything a smart city should haveSmart Cities  - everything a smart city should have
Smart Cities - everything a smart city should haveDiksha Gupta
 
Smart workspaces-Faststream Technologies
Smart workspaces-Faststream TechnologiesSmart workspaces-Faststream Technologies
Smart workspaces-Faststream TechnologiesSudipta Maity
 
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
 
PPT on INDUSTRIAL AUTOMATION, PLC, SCADA
 PPT on INDUSTRIAL AUTOMATION, PLC, SCADA PPT on INDUSTRIAL AUTOMATION, PLC, SCADA
PPT on INDUSTRIAL AUTOMATION, PLC, SCADAAakashkumar276
 
Current Trends in Internet of Things (IOT)
Current Trends in Internet of Things (IOT)Current Trends in Internet of Things (IOT)
Current Trends in Internet of Things (IOT)Dr. Mazlan Abbas
 
What is the Internet of Things?
What is the Internet of Things?What is the Internet of Things?
What is the Internet of Things?Felix Grovit
 
Password based door lock system using 8051 microcontroller final report
Password based door lock system using 8051 microcontroller final reportPassword based door lock system using 8051 microcontroller final report
Password based door lock system using 8051 microcontroller final reportChinaraja Baratam
 
IoT in Healthcare.pptx
IoT in Healthcare.pptxIoT in Healthcare.pptx
IoT in Healthcare.pptxHachmdhmdzad
 
Internet of Things Iot presentation with module
Internet of Things Iot presentation with moduleInternet of Things Iot presentation with module
Internet of Things Iot presentation with moduleIsp university Multan
 
Internet of things (IOT) Presentation-PPT
Internet of things (IOT) Presentation-PPTInternet of things (IOT) Presentation-PPT
Internet of things (IOT) Presentation-PPTCharan Vimala
 
Home Automation System
Home Automation SystemHome Automation System
Home Automation SystemSweha Rajora
 

La actualidad más candente (20)

Internet of Things (IoT) - Slide Marvels, Top PowerPoint presentation design ...
Internet of Things (IoT) - Slide Marvels, Top PowerPoint presentation design ...Internet of Things (IoT) - Slide Marvels, Top PowerPoint presentation design ...
Internet of Things (IoT) - Slide Marvels, Top PowerPoint presentation design ...
 
Smart health
Smart healthSmart health
Smart health
 
Smart Cities - everything a smart city should have
Smart Cities  - everything a smart city should haveSmart Cities  - everything a smart city should have
Smart Cities - everything a smart city should have
 
Introduction to IoT
Introduction to IoTIntroduction to IoT
Introduction to IoT
 
Smart workspaces-Faststream Technologies
Smart workspaces-Faststream TechnologiesSmart workspaces-Faststream Technologies
Smart workspaces-Faststream Technologies
 
Smart City Strategy
Smart City StrategySmart City Strategy
Smart City Strategy
 
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
 
PPT on INDUSTRIAL AUTOMATION, PLC, SCADA
 PPT on INDUSTRIAL AUTOMATION, PLC, SCADA PPT on INDUSTRIAL AUTOMATION, PLC, SCADA
PPT on INDUSTRIAL AUTOMATION, PLC, SCADA
 
Current Trends in Internet of Things (IOT)
Current Trends in Internet of Things (IOT)Current Trends in Internet of Things (IOT)
Current Trends in Internet of Things (IOT)
 
What is the Internet of Things?
What is the Internet of Things?What is the Internet of Things?
What is the Internet of Things?
 
Password based door lock system using 8051 microcontroller final report
Password based door lock system using 8051 microcontroller final reportPassword based door lock system using 8051 microcontroller final report
Password based door lock system using 8051 microcontroller final report
 
Internet of Things (IoT) - IK
Internet of Things (IoT) - IKInternet of Things (IoT) - IK
Internet of Things (IoT) - IK
 
Waterloo station map
Waterloo station mapWaterloo station map
Waterloo station map
 
IoT with Arduino
IoT with ArduinoIoT with Arduino
IoT with Arduino
 
IoT in Healthcare.pptx
IoT in Healthcare.pptxIoT in Healthcare.pptx
IoT in Healthcare.pptx
 
IoT
IoTIoT
IoT
 
Internet of Things Iot presentation with module
Internet of Things Iot presentation with moduleInternet of Things Iot presentation with module
Internet of Things Iot presentation with module
 
DCS Introduction
DCS IntroductionDCS Introduction
DCS Introduction
 
Internet of things (IOT) Presentation-PPT
Internet of things (IOT) Presentation-PPTInternet of things (IOT) Presentation-PPT
Internet of things (IOT) Presentation-PPT
 
Home Automation System
Home Automation SystemHome Automation System
Home Automation System
 

Destacado

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
 

Destacado (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 a 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 a 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
 

Más de 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
 

Más de 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
 

Último

Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
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
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
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
 
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
 
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
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 

Último (20)

Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
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
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
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
 
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
 
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
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 

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