SlideShare una empresa de Scribd logo
1 de 81
Descargar para leer sin conexión
Data Sharing in Industrial IoT
Angelo	Corsaro,	PhD	
Chief	Technology	Officer	
angelo.corsaro@prismtech.com
Vortex is a standard technology for
efficient, ubiquitous, interoperable,
secure and platform independent data
sharing across network connected
devices
in151
Characters
Vortex's
Coordination Model
Applications can autonomously
and asynchronously read and
write data enjoying spatial and
temporal decoupling
DDS Global Data Space
...
Data
Writer
Data
Writer
Data
Writer
Data
Reader
Data
Reader
Data
Reader
Data
Reader
Data
Writer
TopicA
QoS
TopicB
QoS
TopicC
QoS
TopicD
QoS
Global Data Space
Built-in dynamic discovery
isolates applications from
network topology and
connectivity details
DDS Global Data Space
...
Data
Writer
Data
Writer
Data
Writer
Data
Reader
Data
Reader
Data
Reader
Data
Reader
Data
Writer
TopicA
QoS
TopicB
QoS
TopicC
QoS
TopicD
QoS
Dynamic Discovery
The relevant portion of the
data space is projected on
the application address
space. Each typed projection
is commonly called a Cache
No single point of failure or
bottleneck
Decentralised
Data Space
Data
Writer
Data
Writer
Data
Writer
Data
Reader
Data
Reader
Data
Reader
Data
Writer
TopicA
QoS
TopicB
QoS
TopicC
QoS
TopicD
QoS
TopicD
QoS
TopicD
QoS
TopicA
QoS
Connectivity is dynamically
adapted to chose the most
effective way of sharing data
Adaptive Connectivity
Data
Writer
Data
Writer
Data
Writer
Data
Reader
Data
Reader
Data
Reader
Data
Writer
TopicA
QoS
TopicB
QoS
TopicC
QoS
TopicD
QoS
TopicD
QoS
TopicD
QoS
TopicA
QoS
The	communication	between	
the	DataWriter	and	matching	
DataReaders	can	be	peer-to-
peer	exploiting	UDP/IP	
(Unicast	and	Multicast)or	
TCP/IP
The	communication	between	
the	DataWriter	and	matching	
DataReaders	can	be	
“brokered”	but	still	
exploiting	UDP/IP	(Unicast	
and	Multicast)or	TCP/IP
Topic
A domain-wide information’s
class A Topic defined by means
of a <name, type, qos>
Topic
DDS Global Data Space
...
Data
Writer
Data
Writer
Data
Writer
Data
Reader
Data
Reader
Data
Reader
Data
Reader
Data
Writer
TopicA
QoS
TopicB
QoS
TopicC
QoS
TopicD
QoS
Topic
Type
Name
QoS
Topic Types
Topic Types:
Language Independent
Definitions
Topic types can be expressed
using different syntaxes,
including IDL and ProtoBuf
Topic Type
struct CarDynamics {
string cid;
long x; long y;
float dx; long dy;
}
#pragma keylist CarDynamics cid
IDL
Topic types can be expressed
using different syntaxes,
including IDL and ProtoBuf
Topic Type message CarDynamics {
option (.omg.dds.type) =
{name: "CarDynamics"};
required string cid = 0
[(.omg.dds.member).key = true];
required long x = 1;
required long y = 2;
required float dx = 3;
required long dy = 4;
}
ProtoBuf
Topic Types:
Language Specific
Definitions
Topic types can be expressed
using different syntaxes,
including IDL and ProtoBuf
Topic Type
class CarDynamics:
constructor:
(@cid, @x, @y, @dx, @dy) ->
CoffeeScript
Topic types can be expressed
using different syntaxes,
including IDL and ProtoBuf
Topic Type
public struct CaDynamics {

public string cid { get; set; }

public int x { get; set; }

public int y { get; set; }

public int dx { get; set; }

public int dy { get; set; }



public CaDynamics (string cid,
int x, int y, int dx, int dy)

{

this.cid = cid;

this.x = x; this.y = y;

this.dx = dx; this.dy = dy;

}

}

C#
Topic types can be expressed
using different syntaxes,
including IDL and ProtoBuf
Topic Type
@KeyList ( topicType = "CarDynamics", keys = {"cid"})

public class CarDynamics {

public String cid;

public int x; public int dx;

public int y; public int dy;



public CarDynamics(String s, int a, int b,
int c,int d) {

this.cid = s;

this.x = a; this.dx = b;

this.y = c; this.dy = d;

}



@Override

public String toString() {
…

}



}

Java
Topics, Instances
and Samples
CopyrightPrismTech,2015
Each unique key value identifies
a stream of data
Vortex demultiplexes “streams”
and provides lifecycle
information
A DataWriter can write samples
belonging to multiple instances
Topic Instances
CarDynamics

Instances
struct CarDynamics {
@key
string cid;
long x; long y;
float dx; long dy;
}
Topic
Topic Type
Sample
QoS policies allow to express
temporal and availability
constraints for data
DDS Global Data Space
...
Data
Writer
Data
Writer
Data
Writer
Data
Reader
Data
Reader
Data
Reader
Data
Reader
Data
Writer
TopicA
QoS
TopicB
QoS
TopicC
QoS
TopicD
QoS
QoS - Enabled
A collection of policies
that control non-
functional properties
such as reliability,
persistence, temporal
constraints and priority
QoS
HISTORY
LIFESPAN
DURABILITY
DEADLINE
LATENCY BUDGET
TRANSPORT PRIO
TIME-BASED FILTER
RESOURCE LIMITS
USER DATA
TOPIC DATA
GROUP DATA
OWENERSHIP
OWN. STRENGTH
LIVELINESS
ENTITY FACTORY
DW LIFECYCLE
DR LIFECYCLE
PRESENTATION
RELIABILITY
PARTITION
DEST. ORDER
RxO QoS Local QoS
QoS Policies controlling
end-to-end properties
follow a Request vs.
Offered
QoS
Domain
Participant
DURABILITY
OWENERSHIP
DEADLINE
LATENCY BUDGET
LIVELINESS
RELIABILITY
DEST. ORDER
Publisher
DataWriter
PARTITION
DataReader
Subscriber
Domain
Participant
offered
QoS
Topic
writes reads
Domain Id
joins joins
produces-in consumes-from
RxO QoS Policies
requested
QoS
Interacting with
the Data Cache
Each Data Reader is
associated with a Cache
The Cache stores the last
n∊𝜨∞
samples for each
relevant instance
Data Cache
Data
Writer
Data
Writer
Data
Writer
Data
Reader
Data
Reader
Data
Reader
Data
Writer
TopicA
QoS
TopicB
QoS
TopicC
QoS
TopicD
QoS
TopicD
QoS
TopicD
QoS
TopicA
QoS
Each Data Reader is
associated with a Cache
The Cache stores the last
n∊𝜨∞
samples for each
relevant instance
Data Cache
DataReader Cache
DataReader
...
Samples
Instances
Cache
The action of reading
samples for a Reader Cache
is non-destructive.
Samples are not removed
from the cache
Reading Data
DataReader Cache
DataReader
...
DataReader Cache
DataReader
...read
The action of taking
samples for a Reader Cache
is destructive.
Samples are removed from
the cache
Taking Data
DataReader Cache
DataReader
...
DataReader Cache
DataReader
...take
Samples can be selected
using composable content
and status predicates
Sample Selectors
DataReader Cache
DataReader
...
Filters allow to control what
gets into a DataReader
cache
Filters are expressed as
SQL where clauses or as
Java/C/JavaScript
predicates
Content-Filtering
DataReader Cache
DataReader
...
Filter
Application
Network
Content Filters
can be used to
project on the
local cache only
the Topic data
satisfying a given
predicate
Content
Filters struct	CarDynamics	{	
			@key	
			string		cid;	
			long				x;			long		y;	
			float			dx;		long		dy;	
}
cid x y dx dy
GR 33N GO 167 240 45 0
LO 00V IN 65 26 65 0
AN 637 OS 32 853 0 50
AB 123 CD 325 235 80 0
“dx	>	50	OR	dy	>	50”
Type
CarDynamics
cid x y dx dy
LO 00V IN 65 26 65 0
AB 123 CD 325 235 80 0
Reader Cache
Queries allow to control
what gets out of a
DataReader Cache
Queries are expressed as
SQL where clauses or as
Java/C/JavaScript
predicates
Content-Based
Selection
DataReader Cache
DataReader
...
Query
DataReader Cache
DataReader
...
Application
Network
Reader Cache
Queries can be
used to select out
of the local cache
the data matching
a given predicate
Queries struct	CarDynamics	{	
			@key	
			string		cid;	
			long				x;			long		y;	
			float			dx;		long		dy;	
}
cid x y dx dy
GR 33N GO 167 240 45 0
LO 00V IN 65 26 65 0
AN 637 OS 32 853 0 50
AB 123 CD 325 235 80 0
“dx	>	50	OR	dy	>	50”
Type
CarDynamics
cid x y dx dy
GR 33N GO 167 240 45 0
LO 00V IN 65 26 65 0
AN 637 OS 32 853 0 50
AB 123 CD 325 235 80 0
cid x y dx dy
LO 00V IN 65 26 65 0
AB 123 CD 325 235 80 0
query
State based selection
allows to control what gets
out of a DataReader Cache
State base selectors
predicate on samples meta-
information
State-Based Selection
DataReader Cache
DataReader
...
State Selector
DataReader Cache
DataReader
...
Application
Network
Sample State (READ, NOT_READ)
allows to distinguish between new
samples and samples that have
already been read
State-Based Selection
DataReader Cache
DataReader
...
State Selector
DataReader Cache
DataReader
...
Application
Network
The View State (NEW, NOT_NEW)
allows to distinguish a new instance
from an existing one
State-Based Selection
DataReader Cache
DataReader
...
State Selector
DataReader Cache
DataReader
...
Application
Network
The Instance State (ALIVE,
NOT_ALIVE_DISPOSED,
NOT_ALIVE_NO_WRITERS) allows to
track the life-cycle transitions of the
instance to which a sample belongs
State-Based Selection
DataReader Cache
DataReader
...
State Selector
DataReader Cache
DataReader
...
Application
Network
Selector Example
// == ISO C++ DDS API ==
auto data =
dr.select()
.content(query)
.state(data_state)
.instance(handle)
.read();
your first
vortex app
CopyrightPrismTech,2014
Anatomy of a DDS Application
CopyrightPrismTech,2015
Writing Data in C++
#include <dds.hpp>
int main(int, char**) {
DomainParticipant dp(0);
Topic<Meter> topic(“SmartMeter”);
auto pqos = dp.get_default_pubqos()
<< Partition (“FR:IdF:Essonne:Gif:Essonne:Mnts:123”);
Publisher pub(dp, pqos);
DataWriter<Meter> dw(pub, topic);
while (!done) {
auto value = readMeter()
dw.write(value);
std::this_thread::sleep_for(SAMPLING_PERIOD);
}
return 0;
}
					enum	UtilityKind	{	
	 				ELECTRICITY,	
	 				GAS,	
	 				WATER	
						};	
							
						struct	Meter	{	
	 				string	sn;	
	 				UtilityKind	utility;	
	 				float	reading;	
	 				float	error;	
						};													
						#pragma	keylist	Meter	sn
CopyrightPrismTech,2015
Reading Data in C++
#include <dds.hpp>
int main(int, char**) {
DomainParticipant dp(0);
Topic<Meter> topic(”SmartMeter”);
Subscriber sub(dp);
DataReader<Meter> dr(dp, topic);
LambdaDataReaderListener<DataReader<Meter>> lst;
lst.data_available = [](DataReader<Meter>& dr) {
auto samples = data.read();
std::for_each(samples.begin(), samples.end(), [](Sample<Meter>& sample) {
std::cout << sample.data() << std::endl;
}
}
dr.listener(lst);
// Print incoming data up to when the user does a Ctrl-C
std::this_thread::join();
return 0;
}
					enum	UtilityKind	{	
	 				ELECTRICITY,	
	 				GAS,	
	 				WATER	
						};	
							
						struct	Meter	{	
	 				string	sn;	
	 				UtilityKind	utility;	
	 				float	reading;	
	 				float	error;	
						};													
						#pragma	keylist	Meter	sn
CopyrightPrismTech,2014
Writing Data in Scala
import dds._

import dds.prelude._

import dds.config.DefaultEntities._

object SmartMeter {



def main(args: Array[String]): Unit = {

val topic = Topic[Meter](“SmartMeter”)

val dw = DataWriter[Meter](topic)
while (!done) {
val meter = readMeter()

dw.write(meter)
Thread.sleep(SAMPLING_PERIOD)
}

}

}
					enum	UtilityKind	{	
	 				ELECTRICITY,	
	 				GAS,	
	 				WATER	
						};	
							
						struct	Meter	{	
	 				string	sn;	
	 				UtilityKind	utility;	
	 				float	reading;	
	 				float	error;	
						};													
						#pragma	keylist	Meter	sn
CopyrightPrismTech,2014
Reading Data in Scala
import dds._

import dds.prelude._

import dds.config.DefaultEntities._

object SmartMeterLog {

def main(args: Array[String]): Unit = {

val topic = Topic[Meter](“SmartMeter”)

val dr = DataReader[Meter](topic)

dr listen {

case DataAvailable(_) => dr.read.foreach(println)

}

}

}
					enum	UtilityKind	{	
	 				ELECTRICITY,	
	 				GAS,	
	 				WATER	
						};	
							
						struct	Meter	{	
	 				string	sn;	
	 				UtilityKind	utility;	
	 				float	reading;	
	 				float	error;	
						};													
						#pragma	keylist	Meter	sn
CopyrightPrismTech,2015
Writing Data in Python
import dds
import time



if __name__ == '__main__':

topic = dds.Topic("SmartMeter", "Meter")

dw = dds.Writer(topic)



while True:

m = readMeter()

dw.write(m)

time.sleep(0.1)
					enum	UtilityKind	{	
	 				ELECTRICITY,	
	 				GAS,	
	 				WATER	
						};	
							
						struct	Meter	{	
	 				string	sn;	
	 				UtilityKind	utility;	
	 				float	reading;	
	 				float	error;	
						};													
						#pragma	keylist	Meter	sn
CopyrightPrismTech,2015
Reading Data in Python
import dds

import sys



def readData(dr): 

samples = dds.range(dr.read())

for s in samples:

sys.stdout.write(str(s.getData()))



if __name__ == '__main__':

t = dds.Topic("SmartMeter", "Meter")

dr = dds.Reader(t)

dr.onDataAvailable = readData
					enum	UtilityKind	{	
	 				ELECTRICITY,	
	 				GAS,	
	 				WATER	
						};	
							
						struct	Meter	{	
	 				string	sn;	
	 				UtilityKind	utility;	
	 				float	reading;	
	 				float	error;	
						};													
						#pragma	keylist	Meter	sn
Vortex
Technology Stack
Device implementations
optimised for OT, IT and
consumer platforms
Native support for Cloud and
Fog Computing Architectures
Device-2-DeviceDevice-2-Cloud
Fog-2-Cloud
Device-2-Fog
Cloud-2-Cloud
Fog-2-Fog
infrastructuresdk
Available across IT, Consumer
and OT platforms Device-2-DeviceDevice-2-Cloud
Fog-2-Cloud
Device-2-Fog
Cloud-2-Cloud
Fog-2-Fog
infrastructuresdk
Polyglot and Interoperable
across Programming
Languages
Device-2-DeviceDevice-2-Cloud
Fog-2-Cloud
Device-2-Fog
Cloud-2-Cloud
Fog-2-Fog
infrastructuresdk
Fully Independent of the
Cloud Infrastructure
Private Clouds
Device-2-DeviceDevice-2-Cloud
Fog-2-Cloud
Device-2-Fog
Cloud-2-Cloud
Fog-2-Fog
infrastructuresdk
Native Integration with the
hottest real-time analytics
platforms and CEP Device-2-DeviceDevice-2-Cloud
Fog-2-Cloud
Device-2-Fog
Cloud-2-Cloud
Fog-2-Fog
infrastructuresdk
Integration with mainstream
Dashboard Technologies
Device-2-DeviceDevice-2-Cloud
Fog-2-Cloud
Device-2-Fog
Cloud-2-Cloud
Fog-2-Fog
infrastructuresdk
High
Performance
30 μs peer-to-peer latency
4+ Mmsgs/sec p2p throughput
Device-2-DeviceDevice-2-Cloud
Fog-2-Cloud
Device-2-Fog
Cloud-2-Cloud
Fog-2-Fog
infrastructuresdk
>10 μs fog/cloud routing
latency
High
Performance Device-2-DeviceDevice-2-Cloud
Fog-2-Cloud
Device-2-Fog
Cloud-2-Cloud
Fog-2-Fog
infrastructuresdk
Secure
Data-Level security with
Pluggable Authentication
Access Control and Crypto
Device-2-DeviceDevice-2-Cloud
Fog-2-Cloud
Device-2-Fog
Cloud-2-Cloud
Fog-2-Fog
infrastructuresdk
Default Plug-ins
X.509 Public Key
Infrastructure (PKI) based
authentication
Device-2-DeviceDevice-2-Cloud
Fog-2-Cloud
Device-2-Fog
Cloud-2-Cloud
Fog-2-Fog
infrastructuresdk
Default Plug-ins
Access Control List file
signed by a shared
Certificate Authority for
Device-2-DeviceDevice-2-Cloud
Fog-2-Cloud
Device-2-Fog
Cloud-2-Cloud
Fog-2-Fog
infrastructuresdk
Default Plug-ins
Crypto based on TLS
Cipher Suite
Device-2-DeviceDevice-2-Cloud
Fog-2-Cloud
Device-2-Fog
Cloud-2-Cloud
Fog-2-Fog
infrastructuresdk
Secure
Data-Security as opposed
to simply Transport-Level
security
Arthur Dent
Arthur Dent
Ford Prefect
Zaphod Beeblebrox
Marvin
Trillian
left/A(r,w), left/B(r)
left/A(r,w), left/B(r,w), left/X(r)
left/*(r,w)
left/*(r), right/(w)
left/A(r,w), left/B(r,w), right/C(r,w)
Ford Prefect
Zaphod Beeblebrox
Trillian
Marvin
A
B
A,B
X
*
*
A,B,C
Identity Access Rights
Sessions are authenticated
and communication is
encrypted
Only the Topic included as
part of the access rights are
visible and accessible
Secure
Fine-grained access control
over Partition/Topic/
Instance regular expressions
Arthur Dent
Arthur Dent
Ford Prefect
Zaphod Beeblebrox
Marvin
Trillian
left/A(r,w), left/B(r)
left/A(r,w), left/B(r,w), left/X(r)
left/*(r,w)
left/*(r), right/(w)
left/A(r,w), left/B(r,w), right/C(r,w)
Ford Prefect
Zaphod Beeblebrox
Trillian
Marvin
A
B
A,B
X
*
*
A,B,C
Identity Access Rights
Sessions are authenticated
and communication is
encrypted
Only the Topic included as
part of the access rights are
visible and accessible
Secure
Support for Symmetric and
Asymmetric Authentication
Arthur Dent
Arthur Dent
Ford Prefect
Zaphod Beeblebrox
Marvin
Trillian
left/A(r,w), left/B(r)
left/A(r,w), left/B(r,w), left/X(r)
left/*(r,w)
left/*(r), right/(w)
left/A(r,w), left/B(r,w), right/C(r,w)
Ford Prefect
Zaphod Beeblebrox
Trillian
Marvin
A
B
A,B
X
*
*
A,B,C
Identity Access Rights
Sessions are authenticated
and communication is
encrypted
Only the Topic included as
part of the access rights are
visible and accessible
Boundary Security
Boundary security support is
enabled by Vortex-Fog
Device-to-Cloud
Communication
Peer-to-Peer
(Broker-less)
Device-to-Device
Communication
Fog Computing Fog Computing
Fog Computing
TLS
TLS
Boundary Security
Separates security concerns at
different scales and controls
what information is exposed
Device-to-Cloud
Communication
Peer-to-Peer
(Broker-less)
Device-to-Device
Communication
Fog Computing Fog Computing
Fog Computing
TLS
TLS
Typical
Deployment
Vortex device, such as Lite, Café,
and Web are used to share data
between different kinds of
applications within a car
Café and Web are typically used
Android / HTML5 based
infotainment
Lite in typically used in ECU,
sensors and onboard analytics
Vortex Fog is used to
transparently (for in car apps)
decouple and control the data
sharing within and across the
car
Vortex Fog also helps defining
security boundaries and
policies
Vortex Fog efficiently and
securely deals with car to car
communication
Vortex Fog allows to
decouple the transport used
for in-car communication
and that used for car-to-car
communication
Vortex Fog efficiently and
securely deals with cloud
connectivity adapting traffic
flows and protocols
Device-to-Cloud
Communication
Cloud Analytics
Fog Analytics
Fog Analytics
Fog Analytics
Vortex Cloud efficiently
and securely makes data
available to any device at an
Internet Scale
Vortex Cloud efficiently
and securely makes data
available to any device at
an Internet Scale
Device-to-Cloud
Communication
Cloud Analytics
Fog Analytics
Fog Analytics
Fog Analytics
Use Cases
CopyrightPrismTech,2015
Connected Boulevard — Nice, France
Vortex enables is the data sharing platform
for the City Operating System
Tens of thousands of devices
connected
by Vortex
Autonomous
Vehicles
coordination of fast moving
autonomous vehicles
intermittent
connectivity
dynamic pairing of devices
CopyrightPrismTech,2014
Smart Factory
0.5 TB of data
produced per day
CopyrightPrismTech,2014
Smart-Grid
20ms deadline for phase
alignment data
ESA
Extremely Large & SMART
Telescope (ELT)
1750 computing nodes
100.000 mirrors
whose position is
adjusted 100 times
per second!
ELT will allow astronomers
to probe the earliest stages
of the formation of
planetary systems and to
detect water and organic
molecules in proto-
planetary discs around
stars in the making
Launch System
80K+ data points with aggregate updates
rate of ~400K msgs/sec
Connected Aircrafts
10 TB of data every
30m of flight
Oil Rig 30000 data points
only 1% of available data
used today
Smart Lightbulbs
96Kbytes Memory
Connected
Medical Devices
12 msec period for
pleath data
Peer-to-Peer
connectivity
Vortex enables Smart, Secure
and Efficient Data Sharing in IoT
In
Summary
CopyrightPrismTech,2015

Más contenido relacionado

La actualidad más candente

Desktop, Embedded and Mobile Apps with Vortex Café
Desktop, Embedded and Mobile Apps with Vortex CaféDesktop, Embedded and Mobile Apps with Vortex Café
Desktop, Embedded and Mobile Apps with Vortex CaféAngelo Corsaro
 
DDS: The IoT Data Sharing Standard
DDS: The IoT Data Sharing StandardDDS: The IoT Data Sharing Standard
DDS: The IoT Data Sharing StandardAngelo Corsaro
 
Vortex Tutorial -- Part I
Vortex Tutorial -- Part IVortex Tutorial -- Part I
Vortex Tutorial -- Part IAngelo Corsaro
 
Building IoT Applications with Vortex and the Intel Edison Starter Kit
Building IoT Applications with Vortex and the Intel Edison Starter KitBuilding IoT Applications with Vortex and the Intel Edison Starter Kit
Building IoT Applications with Vortex and the Intel Edison Starter KitAngelo Corsaro
 
Distributed Algorithms with DDS
Distributed Algorithms with DDSDistributed Algorithms with DDS
Distributed Algorithms with DDSAngelo Corsaro
 
DDS Tutorial -- Part I
DDS Tutorial -- Part IDDS Tutorial -- Part I
DDS Tutorial -- Part IAngelo Corsaro
 
The DDS Tutorial Part II
The DDS Tutorial Part IIThe DDS Tutorial Part II
The DDS Tutorial Part IIAngelo 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
 
Building Reactive Applications with DDS
Building Reactive Applications with DDSBuilding Reactive Applications with DDS
Building Reactive Applications with DDSAngelo Corsaro
 
Getting Started in DDS with C++ and Java
Getting Started in DDS with C++ and JavaGetting Started in DDS with C++ and Java
Getting Started in DDS with C++ and JavaAngelo Corsaro
 
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
 
Connected Mobile and Web Applications with Vortex
Connected Mobile and Web Applications with VortexConnected Mobile and Web Applications with Vortex
Connected Mobile and Web Applications with VortexAngelo 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
 
Advanced OpenSplice Programming - Part II
Advanced OpenSplice Programming - Part IIAdvanced OpenSplice Programming - Part II
Advanced OpenSplice Programming - Part IIAngelo Corsaro
 
The Data Distribution Service Tutorial
The Data Distribution Service TutorialThe Data Distribution Service Tutorial
The Data Distribution Service TutorialAngelo Corsaro
 
Building and Scaling Internet of Things Applications with Vortex Cloud
Building and Scaling Internet of Things Applications with Vortex CloudBuilding and Scaling Internet of Things Applications with Vortex Cloud
Building and Scaling Internet of Things Applications with Vortex CloudAngelo Corsaro
 
OMG DDS: The Data Distribution Service for Real-Time Systems
OMG DDS: The Data Distribution Service for Real-Time SystemsOMG DDS: The Data Distribution Service for Real-Time Systems
OMG DDS: The Data Distribution Service for Real-Time SystemsAngelo Corsaro
 
OpenSplice DDS Tutorial -- Part II
OpenSplice DDS Tutorial -- Part IIOpenSplice DDS Tutorial -- Part II
OpenSplice DDS Tutorial -- Part IIAngelo Corsaro
 

La actualidad más candente (20)

Desktop, Embedded and Mobile Apps with Vortex Café
Desktop, Embedded and Mobile Apps with Vortex CaféDesktop, Embedded and Mobile Apps with Vortex Café
Desktop, Embedded and Mobile Apps with Vortex Café
 
DDS: The IoT Data Sharing Standard
DDS: The IoT Data Sharing StandardDDS: The IoT Data Sharing Standard
DDS: The IoT Data Sharing Standard
 
Vortex Tutorial -- Part I
Vortex Tutorial -- Part IVortex Tutorial -- Part I
Vortex Tutorial -- Part I
 
Building IoT Applications with Vortex and the Intel Edison Starter Kit
Building IoT Applications with Vortex and the Intel Edison Starter KitBuilding IoT Applications with Vortex and the Intel Edison Starter Kit
Building IoT Applications with Vortex and the Intel Edison Starter Kit
 
Distributed Algorithms with DDS
Distributed Algorithms with DDSDistributed Algorithms with DDS
Distributed Algorithms with DDS
 
Vortex Tutorial Part 2
Vortex Tutorial Part 2Vortex Tutorial Part 2
Vortex Tutorial Part 2
 
DDS Tutorial -- Part I
DDS Tutorial -- Part IDDS Tutorial -- Part I
DDS Tutorial -- Part I
 
The DDS Tutorial Part II
The DDS Tutorial Part IIThe DDS Tutorial Part II
The DDS Tutorial Part II
 
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
 
Building Reactive Applications with DDS
Building Reactive Applications with DDSBuilding Reactive Applications with DDS
Building Reactive Applications with DDS
 
Getting Started in DDS with C++ and Java
Getting Started in DDS with C++ and JavaGetting Started in DDS with C++ and Java
Getting Started in DDS with C++ and Java
 
The Data Distribution Service Tutorial
The Data Distribution Service TutorialThe Data Distribution Service Tutorial
The Data Distribution Service Tutorial
 
The DDS Tutorial - Part I
The DDS Tutorial - Part IThe DDS Tutorial - Part I
The DDS Tutorial - Part I
 
Connected Mobile and Web Applications with Vortex
Connected Mobile and Web Applications with VortexConnected Mobile and Web Applications with Vortex
Connected Mobile and Web Applications with Vortex
 
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
 
Advanced OpenSplice Programming - Part II
Advanced OpenSplice Programming - Part IIAdvanced OpenSplice Programming - Part II
Advanced OpenSplice Programming - Part II
 
The Data Distribution Service Tutorial
The Data Distribution Service TutorialThe Data Distribution Service Tutorial
The Data Distribution Service Tutorial
 
Building and Scaling Internet of Things Applications with Vortex Cloud
Building and Scaling Internet of Things Applications with Vortex CloudBuilding and Scaling Internet of Things Applications with Vortex Cloud
Building and Scaling Internet of Things Applications with Vortex Cloud
 
OMG DDS: The Data Distribution Service for Real-Time Systems
OMG DDS: The Data Distribution Service for Real-Time SystemsOMG DDS: The Data Distribution Service for Real-Time Systems
OMG DDS: The Data Distribution Service for Real-Time Systems
 
OpenSplice DDS Tutorial -- Part II
OpenSplice DDS Tutorial -- Part IIOpenSplice DDS Tutorial -- Part II
OpenSplice DDS Tutorial -- Part II
 

Similar a Getting Started with Vortex

Connected Mobile and Web Applications with PrismTech Vortex Data Sharing Plat...
Connected Mobile and Web Applications with PrismTech Vortex Data Sharing Plat...Connected Mobile and Web Applications with PrismTech Vortex Data Sharing Plat...
Connected Mobile and Web Applications with PrismTech Vortex Data Sharing Plat...ADLINK Technology IoT
 
Reactive Data Centric Architectures with DDS
Reactive Data Centric Architectures with DDSReactive Data Centric Architectures with DDS
Reactive Data Centric Architectures with DDSAngelo Corsaro
 
Distributed Systems: How to connect your real-time applications
Distributed Systems: How to connect your real-time applicationsDistributed Systems: How to connect your real-time applications
Distributed Systems: How to connect your real-time applicationsJaime Martin Losa
 
DDS Advanced Tutorial - OMG June 2013 Berlin Meeting
DDS Advanced Tutorial - OMG June 2013 Berlin MeetingDDS Advanced Tutorial - OMG June 2013 Berlin Meeting
DDS Advanced Tutorial - OMG June 2013 Berlin MeetingJaime Martin Losa
 
MongoDB .local Houston 2019: Best Practices for Working with IoT and Time-ser...
MongoDB .local Houston 2019: Best Practices for Working with IoT and Time-ser...MongoDB .local Houston 2019: Best Practices for Working with IoT and Time-ser...
MongoDB .local Houston 2019: Best Practices for Working with IoT and Time-ser...MongoDB
 
Ultralight Data Movement for IoT with SDC Edge
Ultralight Data Movement for IoT with SDC EdgeUltralight Data Movement for IoT with SDC Edge
Ultralight Data Movement for IoT with SDC EdgeDataWorks Summit
 
Construire une « data fabric » pour les environnements edge
Construire une « data fabric » pour les environnements edgeConstruire une « data fabric » pour les environnements edge
Construire une « data fabric » pour les environnements edgeOpen Source Experience
 
Computing Outside The Box June 2009
Computing Outside The Box June 2009Computing Outside The Box June 2009
Computing Outside The Box June 2009Ian Foster
 
Real Time Java DDS
Real Time Java DDSReal Time Java DDS
Real Time Java DDSkerush
 
Learning Series: RamSoft Gateway Router -'Yes we can do that'
Learning Series: RamSoft Gateway Router -'Yes we can do that'Learning Series: RamSoft Gateway Router -'Yes we can do that'
Learning Series: RamSoft Gateway Router -'Yes we can do that'Ryan Furlough, BSCPE CPAS
 
Implementare e gestire soluzioni per l'Internet of Things (IoT) in modo rapid...
Implementare e gestire soluzioni per l'Internet of Things (IoT) in modo rapid...Implementare e gestire soluzioni per l'Internet of Things (IoT) in modo rapid...
Implementare e gestire soluzioni per l'Internet of Things (IoT) in modo rapid...Amazon Web Services
 
The Data Distribution Service
The Data Distribution ServiceThe Data Distribution Service
The Data Distribution ServiceAngelo Corsaro
 
DITA's New Thang: Going Mapless!
DITA's New Thang: Going Mapless!DITA's New Thang: Going Mapless!
DITA's New Thang: Going Mapless!dclsocialmedia
 
Real-World Case Study: For Connecting CompactRIO's to Microsoft Azure IoT
Real-World Case Study: For Connecting CompactRIO's to Microsoft Azure IoTReal-World Case Study: For Connecting CompactRIO's to Microsoft Azure IoT
Real-World Case Study: For Connecting CompactRIO's to Microsoft Azure IoTDMC, Inc.
 
Berlin Buzz Words - Apache Drill by Ted Dunning & Michael Hausenblas
Berlin Buzz Words - Apache Drill by Ted Dunning & Michael HausenblasBerlin Buzz Words - Apache Drill by Ted Dunning & Michael Hausenblas
Berlin Buzz Words - Apache Drill by Ted Dunning & Michael HausenblasMapR Technologies
 

Similar a Getting Started with Vortex (20)

Connected Mobile and Web Applications with PrismTech Vortex Data Sharing Plat...
Connected Mobile and Web Applications with PrismTech Vortex Data Sharing Plat...Connected Mobile and Web Applications with PrismTech Vortex Data Sharing Plat...
Connected Mobile and Web Applications with PrismTech Vortex Data Sharing Plat...
 
Reactive Data Centric Architectures with DDS
Reactive Data Centric Architectures with DDSReactive Data Centric Architectures with DDS
Reactive Data Centric Architectures with DDS
 
PrismTech Vortex Tutorial Part 1
PrismTech Vortex Tutorial Part 1PrismTech Vortex Tutorial Part 1
PrismTech Vortex Tutorial Part 1
 
Distributed Systems: How to connect your real-time applications
Distributed Systems: How to connect your real-time applicationsDistributed Systems: How to connect your real-time applications
Distributed Systems: How to connect your real-time applications
 
DDS Advanced Tutorial - OMG June 2013 Berlin Meeting
DDS Advanced Tutorial - OMG June 2013 Berlin MeetingDDS Advanced Tutorial - OMG June 2013 Berlin Meeting
DDS Advanced Tutorial - OMG June 2013 Berlin Meeting
 
MongoDB .local Houston 2019: Best Practices for Working with IoT and Time-ser...
MongoDB .local Houston 2019: Best Practices for Working with IoT and Time-ser...MongoDB .local Houston 2019: Best Practices for Working with IoT and Time-ser...
MongoDB .local Houston 2019: Best Practices for Working with IoT and Time-ser...
 
Ultralight Data Movement for IoT with SDC Edge
Ultralight Data Movement for IoT with SDC EdgeUltralight Data Movement for IoT with SDC Edge
Ultralight Data Movement for IoT with SDC Edge
 
Construire une « data fabric » pour les environnements edge
Construire une « data fabric » pour les environnements edgeConstruire une « data fabric » pour les environnements edge
Construire une « data fabric » pour les environnements edge
 
Computing Outside The Box June 2009
Computing Outside The Box June 2009Computing Outside The Box June 2009
Computing Outside The Box June 2009
 
ADO.NET
ADO.NETADO.NET
ADO.NET
 
Real Time Java DDS
Real Time Java DDSReal Time Java DDS
Real Time Java DDS
 
Learning Series: RamSoft Gateway Router -'Yes we can do that'
Learning Series: RamSoft Gateway Router -'Yes we can do that'Learning Series: RamSoft Gateway Router -'Yes we can do that'
Learning Series: RamSoft Gateway Router -'Yes we can do that'
 
Implementare e gestire soluzioni per l'Internet of Things (IoT) in modo rapid...
Implementare e gestire soluzioni per l'Internet of Things (IoT) in modo rapid...Implementare e gestire soluzioni per l'Internet of Things (IoT) in modo rapid...
Implementare e gestire soluzioni per l'Internet of Things (IoT) in modo rapid...
 
Application Hosting
Application HostingApplication Hosting
Application Hosting
 
dfl
dfldfl
dfl
 
Data access
Data accessData access
Data access
 
The Data Distribution Service
The Data Distribution ServiceThe Data Distribution Service
The Data Distribution Service
 
DITA's New Thang: Going Mapless!
DITA's New Thang: Going Mapless!DITA's New Thang: Going Mapless!
DITA's New Thang: Going Mapless!
 
Real-World Case Study: For Connecting CompactRIO's to Microsoft Azure IoT
Real-World Case Study: For Connecting CompactRIO's to Microsoft Azure IoTReal-World Case Study: For Connecting CompactRIO's to Microsoft Azure IoT
Real-World Case Study: For Connecting CompactRIO's to Microsoft Azure IoT
 
Berlin Buzz Words - Apache Drill by Ted Dunning & Michael Hausenblas
Berlin Buzz Words - Apache Drill by Ted Dunning & Michael HausenblasBerlin Buzz Words - Apache Drill by Ted Dunning & Michael Hausenblas
Berlin Buzz Words - Apache Drill by Ted Dunning & Michael Hausenblas
 

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
 
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
 
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
 
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
 
DDS in Action -- Part I
DDS in Action -- Part IDDS in Action -- Part I
DDS in Action -- Part IAngelo 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
 
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
 
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
 
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
 
Fog Computing Defined
Fog Computing DefinedFog Computing Defined
Fog Computing Defined
 
DDS in Action -- Part I
DDS in Action -- Part IDDS in Action -- Part I
DDS in Action -- Part I
 

Último

Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...BookNet Canada
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Jeffrey Haguewood
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFMichael Gough
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
QMMS Lesson 2 - Using MS Excel Formula.pdf
QMMS Lesson 2 - Using MS Excel Formula.pdfQMMS Lesson 2 - Using MS Excel Formula.pdf
QMMS Lesson 2 - Using MS Excel Formula.pdfROWELL MARQUINA
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 

Último (20)

Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDF
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
QMMS Lesson 2 - Using MS Excel Formula.pdf
QMMS Lesson 2 - Using MS Excel Formula.pdfQMMS Lesson 2 - Using MS Excel Formula.pdf
QMMS Lesson 2 - Using MS Excel Formula.pdf
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 

Getting Started with Vortex

  • 1. Data Sharing in Industrial IoT Angelo Corsaro, PhD Chief Technology Officer angelo.corsaro@prismtech.com
  • 2. Vortex is a standard technology for efficient, ubiquitous, interoperable, secure and platform independent data sharing across network connected devices in151 Characters
  • 4. Applications can autonomously and asynchronously read and write data enjoying spatial and temporal decoupling DDS Global Data Space ... Data Writer Data Writer Data Writer Data Reader Data Reader Data Reader Data Reader Data Writer TopicA QoS TopicB QoS TopicC QoS TopicD QoS Global Data Space
  • 5. Built-in dynamic discovery isolates applications from network topology and connectivity details DDS Global Data Space ... Data Writer Data Writer Data Writer Data Reader Data Reader Data Reader Data Reader Data Writer TopicA QoS TopicB QoS TopicC QoS TopicD QoS Dynamic Discovery
  • 6. The relevant portion of the data space is projected on the application address space. Each typed projection is commonly called a Cache No single point of failure or bottleneck Decentralised Data Space Data Writer Data Writer Data Writer Data Reader Data Reader Data Reader Data Writer TopicA QoS TopicB QoS TopicC QoS TopicD QoS TopicD QoS TopicD QoS TopicA QoS
  • 7. Connectivity is dynamically adapted to chose the most effective way of sharing data Adaptive Connectivity Data Writer Data Writer Data Writer Data Reader Data Reader Data Reader Data Writer TopicA QoS TopicB QoS TopicC QoS TopicD QoS TopicD QoS TopicD QoS TopicA QoS The communication between the DataWriter and matching DataReaders can be peer-to- peer exploiting UDP/IP (Unicast and Multicast)or TCP/IP The communication between the DataWriter and matching DataReaders can be “brokered” but still exploiting UDP/IP (Unicast and Multicast)or TCP/IP
  • 9. A domain-wide information’s class A Topic defined by means of a <name, type, qos> Topic DDS Global Data Space ... Data Writer Data Writer Data Writer Data Reader Data Reader Data Reader Data Reader Data Writer TopicA QoS TopicB QoS TopicC QoS TopicD QoS Topic Type Name QoS
  • 12. Topic types can be expressed using different syntaxes, including IDL and ProtoBuf Topic Type struct CarDynamics { string cid; long x; long y; float dx; long dy; } #pragma keylist CarDynamics cid IDL
  • 13. Topic types can be expressed using different syntaxes, including IDL and ProtoBuf Topic Type message CarDynamics { option (.omg.dds.type) = {name: "CarDynamics"}; required string cid = 0 [(.omg.dds.member).key = true]; required long x = 1; required long y = 2; required float dx = 3; required long dy = 4; } ProtoBuf
  • 15. Topic types can be expressed using different syntaxes, including IDL and ProtoBuf Topic Type class CarDynamics: constructor: (@cid, @x, @y, @dx, @dy) -> CoffeeScript
  • 16. Topic types can be expressed using different syntaxes, including IDL and ProtoBuf Topic Type public struct CaDynamics {
 public string cid { get; set; }
 public int x { get; set; }
 public int y { get; set; }
 public int dx { get; set; }
 public int dy { get; set; }
 
 public CaDynamics (string cid, int x, int y, int dx, int dy)
 {
 this.cid = cid;
 this.x = x; this.y = y;
 this.dx = dx; this.dy = dy;
 }
 }
 C#
  • 17. Topic types can be expressed using different syntaxes, including IDL and ProtoBuf Topic Type @KeyList ( topicType = "CarDynamics", keys = {"cid"})
 public class CarDynamics {
 public String cid;
 public int x; public int dx;
 public int y; public int dy;
 
 public CarDynamics(String s, int a, int b, int c,int d) {
 this.cid = s;
 this.x = a; this.dx = b;
 this.y = c; this.dy = d;
 }
 
 @Override
 public String toString() { …
 }
 
 }
 Java
  • 19. CopyrightPrismTech,2015 Each unique key value identifies a stream of data Vortex demultiplexes “streams” and provides lifecycle information A DataWriter can write samples belonging to multiple instances Topic Instances CarDynamics Instances struct CarDynamics { @key string cid; long x; long y; float dx; long dy; } Topic Topic Type Sample
  • 20. QoS policies allow to express temporal and availability constraints for data DDS Global Data Space ... Data Writer Data Writer Data Writer Data Reader Data Reader Data Reader Data Reader Data Writer TopicA QoS TopicB QoS TopicC QoS TopicD QoS QoS - Enabled
  • 21. A collection of policies that control non- functional properties such as reliability, persistence, temporal constraints and priority QoS HISTORY LIFESPAN DURABILITY DEADLINE LATENCY BUDGET TRANSPORT PRIO TIME-BASED FILTER RESOURCE LIMITS USER DATA TOPIC DATA GROUP DATA OWENERSHIP OWN. STRENGTH LIVELINESS ENTITY FACTORY DW LIFECYCLE DR LIFECYCLE PRESENTATION RELIABILITY PARTITION DEST. ORDER RxO QoS Local QoS
  • 22. QoS Policies controlling end-to-end properties follow a Request vs. Offered QoS Domain Participant DURABILITY OWENERSHIP DEADLINE LATENCY BUDGET LIVELINESS RELIABILITY DEST. ORDER Publisher DataWriter PARTITION DataReader Subscriber Domain Participant offered QoS Topic writes reads Domain Id joins joins produces-in consumes-from RxO QoS Policies requested QoS
  • 24. Each Data Reader is associated with a Cache The Cache stores the last n∊𝜨∞ samples for each relevant instance Data Cache Data Writer Data Writer Data Writer Data Reader Data Reader Data Reader Data Writer TopicA QoS TopicB QoS TopicC QoS TopicD QoS TopicD QoS TopicD QoS TopicA QoS
  • 25. Each Data Reader is associated with a Cache The Cache stores the last n∊𝜨∞ samples for each relevant instance Data Cache DataReader Cache DataReader ... Samples Instances Cache
  • 26. The action of reading samples for a Reader Cache is non-destructive. Samples are not removed from the cache Reading Data DataReader Cache DataReader ... DataReader Cache DataReader ...read
  • 27. The action of taking samples for a Reader Cache is destructive. Samples are removed from the cache Taking Data DataReader Cache DataReader ... DataReader Cache DataReader ...take
  • 28. Samples can be selected using composable content and status predicates Sample Selectors DataReader Cache DataReader ...
  • 29. Filters allow to control what gets into a DataReader cache Filters are expressed as SQL where clauses or as Java/C/JavaScript predicates Content-Filtering DataReader Cache DataReader ... Filter Application Network
  • 30. Content Filters can be used to project on the local cache only the Topic data satisfying a given predicate Content Filters struct CarDynamics { @key string cid; long x; long y; float dx; long dy; } cid x y dx dy GR 33N GO 167 240 45 0 LO 00V IN 65 26 65 0 AN 637 OS 32 853 0 50 AB 123 CD 325 235 80 0 “dx > 50 OR dy > 50” Type CarDynamics cid x y dx dy LO 00V IN 65 26 65 0 AB 123 CD 325 235 80 0 Reader Cache
  • 31. Queries allow to control what gets out of a DataReader Cache Queries are expressed as SQL where clauses or as Java/C/JavaScript predicates Content-Based Selection DataReader Cache DataReader ... Query DataReader Cache DataReader ... Application Network
  • 32. Reader Cache Queries can be used to select out of the local cache the data matching a given predicate Queries struct CarDynamics { @key string cid; long x; long y; float dx; long dy; } cid x y dx dy GR 33N GO 167 240 45 0 LO 00V IN 65 26 65 0 AN 637 OS 32 853 0 50 AB 123 CD 325 235 80 0 “dx > 50 OR dy > 50” Type CarDynamics cid x y dx dy GR 33N GO 167 240 45 0 LO 00V IN 65 26 65 0 AN 637 OS 32 853 0 50 AB 123 CD 325 235 80 0 cid x y dx dy LO 00V IN 65 26 65 0 AB 123 CD 325 235 80 0 query
  • 33. State based selection allows to control what gets out of a DataReader Cache State base selectors predicate on samples meta- information State-Based Selection DataReader Cache DataReader ... State Selector DataReader Cache DataReader ... Application Network
  • 34. Sample State (READ, NOT_READ) allows to distinguish between new samples and samples that have already been read State-Based Selection DataReader Cache DataReader ... State Selector DataReader Cache DataReader ... Application Network
  • 35. The View State (NEW, NOT_NEW) allows to distinguish a new instance from an existing one State-Based Selection DataReader Cache DataReader ... State Selector DataReader Cache DataReader ... Application Network
  • 36. The Instance State (ALIVE, NOT_ALIVE_DISPOSED, NOT_ALIVE_NO_WRITERS) allows to track the life-cycle transitions of the instance to which a sample belongs State-Based Selection DataReader Cache DataReader ... State Selector DataReader Cache DataReader ... Application Network
  • 37. Selector Example // == ISO C++ DDS API == auto data = dr.select() .content(query) .state(data_state) .instance(handle) .read();
  • 40. CopyrightPrismTech,2015 Writing Data in C++ #include <dds.hpp> int main(int, char**) { DomainParticipant dp(0); Topic<Meter> topic(“SmartMeter”); auto pqos = dp.get_default_pubqos() << Partition (“FR:IdF:Essonne:Gif:Essonne:Mnts:123”); Publisher pub(dp, pqos); DataWriter<Meter> dw(pub, topic); while (!done) { auto value = readMeter() dw.write(value); std::this_thread::sleep_for(SAMPLING_PERIOD); } return 0; } enum UtilityKind { ELECTRICITY, GAS, WATER }; struct Meter { string sn; UtilityKind utility; float reading; float error; }; #pragma keylist Meter sn
  • 41. CopyrightPrismTech,2015 Reading Data in C++ #include <dds.hpp> int main(int, char**) { DomainParticipant dp(0); Topic<Meter> topic(”SmartMeter”); Subscriber sub(dp); DataReader<Meter> dr(dp, topic); LambdaDataReaderListener<DataReader<Meter>> lst; lst.data_available = [](DataReader<Meter>& dr) { auto samples = data.read(); std::for_each(samples.begin(), samples.end(), [](Sample<Meter>& sample) { std::cout << sample.data() << std::endl; } } dr.listener(lst); // Print incoming data up to when the user does a Ctrl-C std::this_thread::join(); return 0; } enum UtilityKind { ELECTRICITY, GAS, WATER }; struct Meter { string sn; UtilityKind utility; float reading; float error; }; #pragma keylist Meter sn
  • 42. CopyrightPrismTech,2014 Writing Data in Scala import dds._
 import dds.prelude._
 import dds.config.DefaultEntities._
 object SmartMeter {
 
 def main(args: Array[String]): Unit = {
 val topic = Topic[Meter](“SmartMeter”)
 val dw = DataWriter[Meter](topic) while (!done) { val meter = readMeter()
 dw.write(meter) Thread.sleep(SAMPLING_PERIOD) }
 }
 } enum UtilityKind { ELECTRICITY, GAS, WATER }; struct Meter { string sn; UtilityKind utility; float reading; float error; }; #pragma keylist Meter sn
  • 43. CopyrightPrismTech,2014 Reading Data in Scala import dds._
 import dds.prelude._
 import dds.config.DefaultEntities._
 object SmartMeterLog {
 def main(args: Array[String]): Unit = {
 val topic = Topic[Meter](“SmartMeter”)
 val dr = DataReader[Meter](topic)
 dr listen {
 case DataAvailable(_) => dr.read.foreach(println)
 }
 }
 } enum UtilityKind { ELECTRICITY, GAS, WATER }; struct Meter { string sn; UtilityKind utility; float reading; float error; }; #pragma keylist Meter sn
  • 44. CopyrightPrismTech,2015 Writing Data in Python import dds import time
 
 if __name__ == '__main__':
 topic = dds.Topic("SmartMeter", "Meter")
 dw = dds.Writer(topic)
 
 while True:
 m = readMeter()
 dw.write(m)
 time.sleep(0.1) enum UtilityKind { ELECTRICITY, GAS, WATER }; struct Meter { string sn; UtilityKind utility; float reading; float error; }; #pragma keylist Meter sn
  • 45. CopyrightPrismTech,2015 Reading Data in Python import dds
 import sys
 
 def readData(dr): 
 samples = dds.range(dr.read())
 for s in samples:
 sys.stdout.write(str(s.getData()))
 
 if __name__ == '__main__':
 t = dds.Topic("SmartMeter", "Meter")
 dr = dds.Reader(t)
 dr.onDataAvailable = readData enum UtilityKind { ELECTRICITY, GAS, WATER }; struct Meter { string sn; UtilityKind utility; float reading; float error; }; #pragma keylist Meter sn
  • 47. Device implementations optimised for OT, IT and consumer platforms Native support for Cloud and Fog Computing Architectures Device-2-DeviceDevice-2-Cloud Fog-2-Cloud Device-2-Fog Cloud-2-Cloud Fog-2-Fog infrastructuresdk
  • 48. Available across IT, Consumer and OT platforms Device-2-DeviceDevice-2-Cloud Fog-2-Cloud Device-2-Fog Cloud-2-Cloud Fog-2-Fog infrastructuresdk
  • 49. Polyglot and Interoperable across Programming Languages Device-2-DeviceDevice-2-Cloud Fog-2-Cloud Device-2-Fog Cloud-2-Cloud Fog-2-Fog infrastructuresdk
  • 50. Fully Independent of the Cloud Infrastructure Private Clouds Device-2-DeviceDevice-2-Cloud Fog-2-Cloud Device-2-Fog Cloud-2-Cloud Fog-2-Fog infrastructuresdk
  • 51. Native Integration with the hottest real-time analytics platforms and CEP Device-2-DeviceDevice-2-Cloud Fog-2-Cloud Device-2-Fog Cloud-2-Cloud Fog-2-Fog infrastructuresdk
  • 52. Integration with mainstream Dashboard Technologies Device-2-DeviceDevice-2-Cloud Fog-2-Cloud Device-2-Fog Cloud-2-Cloud Fog-2-Fog infrastructuresdk
  • 53. High Performance 30 μs peer-to-peer latency 4+ Mmsgs/sec p2p throughput Device-2-DeviceDevice-2-Cloud Fog-2-Cloud Device-2-Fog Cloud-2-Cloud Fog-2-Fog infrastructuresdk
  • 54. >10 μs fog/cloud routing latency High Performance Device-2-DeviceDevice-2-Cloud Fog-2-Cloud Device-2-Fog Cloud-2-Cloud Fog-2-Fog infrastructuresdk
  • 55. Secure Data-Level security with Pluggable Authentication Access Control and Crypto Device-2-DeviceDevice-2-Cloud Fog-2-Cloud Device-2-Fog Cloud-2-Cloud Fog-2-Fog infrastructuresdk
  • 56. Default Plug-ins X.509 Public Key Infrastructure (PKI) based authentication Device-2-DeviceDevice-2-Cloud Fog-2-Cloud Device-2-Fog Cloud-2-Cloud Fog-2-Fog infrastructuresdk
  • 57. Default Plug-ins Access Control List file signed by a shared Certificate Authority for Device-2-DeviceDevice-2-Cloud Fog-2-Cloud Device-2-Fog Cloud-2-Cloud Fog-2-Fog infrastructuresdk
  • 58. Default Plug-ins Crypto based on TLS Cipher Suite Device-2-DeviceDevice-2-Cloud Fog-2-Cloud Device-2-Fog Cloud-2-Cloud Fog-2-Fog infrastructuresdk
  • 59. Secure Data-Security as opposed to simply Transport-Level security Arthur Dent Arthur Dent Ford Prefect Zaphod Beeblebrox Marvin Trillian left/A(r,w), left/B(r) left/A(r,w), left/B(r,w), left/X(r) left/*(r,w) left/*(r), right/(w) left/A(r,w), left/B(r,w), right/C(r,w) Ford Prefect Zaphod Beeblebrox Trillian Marvin A B A,B X * * A,B,C Identity Access Rights Sessions are authenticated and communication is encrypted Only the Topic included as part of the access rights are visible and accessible
  • 60. Secure Fine-grained access control over Partition/Topic/ Instance regular expressions Arthur Dent Arthur Dent Ford Prefect Zaphod Beeblebrox Marvin Trillian left/A(r,w), left/B(r) left/A(r,w), left/B(r,w), left/X(r) left/*(r,w) left/*(r), right/(w) left/A(r,w), left/B(r,w), right/C(r,w) Ford Prefect Zaphod Beeblebrox Trillian Marvin A B A,B X * * A,B,C Identity Access Rights Sessions are authenticated and communication is encrypted Only the Topic included as part of the access rights are visible and accessible
  • 61. Secure Support for Symmetric and Asymmetric Authentication Arthur Dent Arthur Dent Ford Prefect Zaphod Beeblebrox Marvin Trillian left/A(r,w), left/B(r) left/A(r,w), left/B(r,w), left/X(r) left/*(r,w) left/*(r), right/(w) left/A(r,w), left/B(r,w), right/C(r,w) Ford Prefect Zaphod Beeblebrox Trillian Marvin A B A,B X * * A,B,C Identity Access Rights Sessions are authenticated and communication is encrypted Only the Topic included as part of the access rights are visible and accessible
  • 62. Boundary Security Boundary security support is enabled by Vortex-Fog Device-to-Cloud Communication Peer-to-Peer (Broker-less) Device-to-Device Communication Fog Computing Fog Computing Fog Computing TLS TLS
  • 63. Boundary Security Separates security concerns at different scales and controls what information is exposed Device-to-Cloud Communication Peer-to-Peer (Broker-less) Device-to-Device Communication Fog Computing Fog Computing Fog Computing TLS TLS
  • 65. Vortex device, such as Lite, Café, and Web are used to share data between different kinds of applications within a car Café and Web are typically used Android / HTML5 based infotainment Lite in typically used in ECU, sensors and onboard analytics
  • 66. Vortex Fog is used to transparently (for in car apps) decouple and control the data sharing within and across the car Vortex Fog also helps defining security boundaries and policies
  • 67. Vortex Fog efficiently and securely deals with car to car communication Vortex Fog allows to decouple the transport used for in-car communication and that used for car-to-car communication
  • 68. Vortex Fog efficiently and securely deals with cloud connectivity adapting traffic flows and protocols Device-to-Cloud Communication Cloud Analytics Fog Analytics Fog Analytics Fog Analytics Vortex Cloud efficiently and securely makes data available to any device at an Internet Scale
  • 69. Vortex Cloud efficiently and securely makes data available to any device at an Internet Scale Device-to-Cloud Communication Cloud Analytics Fog Analytics Fog Analytics Fog Analytics
  • 71. CopyrightPrismTech,2015 Connected Boulevard — Nice, France Vortex enables is the data sharing platform for the City Operating System Tens of thousands of devices connected by Vortex
  • 72. Autonomous Vehicles coordination of fast moving autonomous vehicles intermittent connectivity dynamic pairing of devices
  • 75. ESA Extremely Large & SMART Telescope (ELT) 1750 computing nodes 100.000 mirrors whose position is adjusted 100 times per second! ELT will allow astronomers to probe the earliest stages of the formation of planetary systems and to detect water and organic molecules in proto- planetary discs around stars in the making
  • 76. Launch System 80K+ data points with aggregate updates rate of ~400K msgs/sec
  • 77. Connected Aircrafts 10 TB of data every 30m of flight
  • 78. Oil Rig 30000 data points only 1% of available data used today
  • 79. Smart Lightbulbs 96Kbytes Memory Connected Medical Devices 12 msec period for pleath data Peer-to-Peer connectivity
  • 80. Vortex enables Smart, Secure and Efficient Data Sharing in IoT In Summary