SlideShare a Scribd company logo
Introducing VORTEX Lite
Chief	
  Technology	
  Officer	
  
PrismTech
angelo.corsaro@prismtech.com
Angelo	
  Corsaro,	
  PhD
CopyrightPrismTech,2014
Specialised device implementations
optimally addressing requirements of OT
and IT platforms
VORTEX can readily deal with data
ingestion seamlessly integrating with
other protocols, e.g. MQTT, CoAP, etc.
VORTEX leverages the DDS standard for
interoperability and uniquely extends it
with support for Internet Scale systems,
mobility and Web 2.0 applications
The VORTEX Platform
Vortex Device
Tools
Integration
Vortex Cloud
MaaS
CopyrightPrismTech,2014
All VORTEX Device implementation, i.e.
OpenSplice, Café, Lite and Web are Fog
ready
VORTEX Device implementations feature
efficient peer-to-peer communication
VORTEX Device implementations are also
cloud-enabled, in the sense that they can
also communicate via VORTEX Cloud
VORTEX Device
Vortex Device
CopyrightPrismTech,2014
VORTEX Architecture
IP
UDP TCP
DTLS TLS
WebSocket
DDSI Wire Protocol
VORTEX Café
VORTEX Cloud
VORTEX Web
VORTEX Gateway
VORTEX Lite VORTEX OpenSplice
MQTT
AMQP
XMPP
HTTP
HBase
DMBS
TCP/IP,
UDP/IP
…
VORTEX Café
DDS API
DDS Security
CopyrightPrismTech,2014
VORTEX supports both the
Cloud and the Fog
Computing Paradigm
VORTEX natively supports:
- Device-to-Device
Communication
- Device-to-Cloud
Communication
Cloud and Fog/Edge Computing
Fog Computing
Cloud Computing
Fog Computing
Fog Computing
Device-to-Cloud
Communication
Device-to-Device
Communication
Fog-to-Cloud
Communication
Cloud-to-Cloud
Communication
Device-to-Device
Communication
Collect | Store | Analyse | Share
Collect | Store | Analyse | Share
CopyrightPrismTech,2014
Abstracting Connectivity
Fog Computing
Cloud Computing
Fog Computing
Fog Computing
Device-to-Cloud
Communication
Device-to-Device
Communication
Fog-to-Cloud
Communication
Cloud-to-Cloud
Communication
Device-to-Device
Communication
Deployment Models
CopyrightPrismTech,2014
Fog + Cloud
Fog Computing Fog Computing
Fog Computing
Device-to-Cloud
Communication
Peer-to-Peer
(Brokerless)
Device-to-Device
Communication
Devices communicate
peer-to-peer within a fog-
domain and through Cloud
across fog-domains
Some device concurrently
communicate with peers
and the cloud
CopyrightPrismTech,2014
Fog + Cloud-Link + Cloud
Devices communicate
peer-to-peer within a fog-
domain
A Cloud-Link controls
which data is exchanged
with the could
Fog Computing Fog Computing
Fog Computing
Device-to-Cloud
Communication
Peer-to-Peer
(Brokerless)
Device-to-Device
Communication
Cloud-LinkCloud-Link
CopyrightPrismTech,2014
Federated Fog
Fog Computing
Fog Computing
Fog Computing
Peer-to-Peer
(Brokerless)
Device-to-Device
Communication
Cloud-Link
Cloud-Link
Fog domain are federated
by Cloud-Link instances
A Cloud-Link controls
which data is exchanged
with the could
VORTEX Abstractions
CopyrightPrismTech,2014
VORTEX provides a Distributed Data
Space abstraction where
applications can autonomously and
asynchronously read and write data
Its built-in dynamic discovery
isolates applications from network
topology and connectivity details
Global Data Space
DDS Global Data Space
...
Data
Writer
Data
Writer
Data
Writer
Data
Reader
Data
Reader
Data
Reader
Data
Reader
Data
Writer
TopicA
QoS
TopicB
QoS
TopicC
QoS
TopicD
QoS
CopyrightPrismTech,2014
A Topic defines a domain-wide information’s class
A Topic is defined by means of a (name, type, qos)
tuple, where
• name: identifies the topic within the domain
• type: is the programming language type
associated with the topic. Types are
extensible and evolvable
• qos: is a collection of policies that express
the non-functional properties of this topic,
e.g. reliability, persistence, etc.
Topic
Topic
Type
Name
QoS
DDS Global Data Space
...
TopicA
QoS
TopicB
QoS
TopicC
QoS
TopicD
QoS
QoS Policies
CopyrightPrismTech,2014
DDS provides a rich set of QoS-
Policies to control local as well as
end-to-end properties of data
sharing
Some QoS-Policies are matched
based on a Request vs. Offered
(RxO) Model
QoS Policies
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
CopyrightPrismTech,2014
For data to flow from a DataWriter (DW) to
one or many DataReader (DR) a few
conditions have to apply:
The DR and DW domain participants have
to be in the same domain
The partition expression of the DR’s
Subscriber and the DW’s Publisher should
match (in terms of regular expression
match)
The QoS Policies offered by the DW should
exceed or match those requested by the DR
QoS Model
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
CopyrightPrismTech,2014
Support for fine grained
access control
Support for Symmetric and
Asymmetric Authentication
Standard Authentication,
Access Control, Crypto, and
Logging plug-in API
Security
Arthur Dent
Arthur Dent
Ford Prerfect
Zaphod Beeblebrox
Marvin
Trillian
A(r,w), B(r)
A(r,w), B(r,w), X(r)
*(r,w)
*(r)
A(r,w), B(r,w), C(r,w)
Ford Prerfect
Zaphod Beeblebrox
Trillian
Marvin
A
B
A,B
X
*
*
A,B,C
Identity Access Rights
Sessions are authenticated
and communication is
encrypted
Only the Topic included as
part of the access rights are
visible and accessible
CopyrightPrismTech,2014
Anatomy of a DDS Application
Vortex Lite
CopyrightPrismTech,2014
Bring software-based DDS implementation to
a range of resource constrained devices
Allow for variability on functionalities,
transport and support of underlying OS/BSP
Provides very low footprint and very high
performance
v1.0 runtime footprint ~450 KB
v1.0 latency as low as ~30 usec (on Gigabit
network)
Vortex Lite
DDSI$$
DDS$API C99 ISO&C++
OS/RTOS$$ BSP
Abstraction$
OS
Abstraction$
Transport
Architecture
CopyrightPrismTech,2014
The Vortex Lite architecture aims at
optimising performance on constrained
environment.
By default, Lite performs reads and
writes on a single thread.
Writes can be multi-threaded when
using TCP/IP
Vortex Lite Architecture
DDSI
DCPS
Listeners/
WaitSets
Network Packets
DDSI Messages
Samples
Cache Changes
n threads
(n=1 by default)
CopyrightPrismTech,2014
By default, Lite uses the same thread to:
- reads data from the socket
- execute the DDSI protocol state machine
- de-serialise data
- invoke listeners (if any)
This ensures that no context switch
happens on the dispatch path thus,
reducing overhead on single-core
procures, as well as providing very low
and deterministic latency
Default Read Path
DDSI
DCPS
Listeners/
WaitSets
Network Packets
DDSI Messages
Samples
Cache Changes
n threads
(n=1 by default)
CopyrightPrismTech,2014
Lite can be configured to use a separate thread
pool to notify listeners
In this case the bottom thread (pool) takes care of:
- reading data from the socket
- executing the DDSI protocol state machine
While the other thread (pool) takes care of:
- de-serialising data
- invoking listeners (if any)
This configuration improves throughput on multi-
core processors
Async Read Path
DDSI
DCPS
Listeners/
WaitSets
Network Packets
DDSI Messages
Samples
Cache Changes
n threads
(n=1 by default)
CopyrightPrismTech,2014
For UDP/IP communication Lite uses
a write through strategy leveraging
the application thread for executing
the entire stack
Write Path
DDSI
DCPS
Writer
Network Packets
DDSI Messages
Samples
Cache Changes
application thread
CopyrightPrismTech,2014
When communicating over TCP/IP
Lite can be configured to use a
thread-pool to write over TCP/IP
sockets
This helps with parallelising some of
the fan-out
TCP/IP Write Path
DDSI
DCPS
Writer
Network Packets
DDSI Messages
Samples
Cache Changes
application thread
n threads
(n=1 by default)
Lite in Numbers
CopyrightPrismTech,2014
488 KBytes footprint for the dds library
4 KB for all the DDS entities required to
publish data
- Domain Participant
- Topic
- Subscriber
- Data Reader
- Listener
Adding more Writer on the same
participant has very little overhead
Subscriber Memory Usage (pmap -x)
Address Kbytes RSS Dirty Mode Mapping
08048000 4 4 0 r-x-- subscriber
08049000 4 4 4 r---- subscriber
0804a000 4 4 4 rw--- subscriber
748a000 1700 572 0 r-x-- libc-2.19.so
b7633000 8 8 8 r---- libc-2.19.so
b7635000 4 4 4 rw--- libc-2.19.so
b763a000 96 72 0 r-x-- libpthread-2.19.so
b7652000 4 4 4 r---- libpthread-2.19.so
b7653000 4 4 4 rw--- libpthread-2.19.so
b766d000 588 488 0 r-x-- libdds.so.0.9.2
b7700000 12 12 12 r---- libdds.so.0.9.2
b7703000 4 4 4 rw--- libdds.so.0.9.2
b770c000 128 100 0 r-x-- ld-2.19.so
b772c000 4 4 4 r---- ld-2.19.so
b772d000 4 4 4 rw--- ld-2.19.so
CopyrightPrismTech,2014
456 KBytes footprint for the dds
library
4 KB for all the DDS entities
required to publish data
- Domain Participant
- Topic
- Publisher
- Data Writer
Adding more Writer on the same
participant has very little
Publisher Memory Usage (pmap -x)
Address Kbytes RSS Dirty Mode Mapping
08048000 4 4 0 r-x-- publisher
08049000 4 4 4 r---- publisher
0804a000 4 4 4 rw--- publisher
b74ae000 1700 564 0 r-x-- libc-2.19.so
b7657000 8 8 8 r---- libc-2.19.so
b7659000 4 4 4 rw--- libc-2.19.so
b765e000 96 72 0 r-x-- libpthread-2.19.so
b7676000 4 4 4 r---- libpthread-2.19.so
b7677000 4 4 4 rw--- libpthread-2.19.so
b7691000 588 456 0 r-x-- libdds.so.0.9.2
b7724000 12 12 12 r---- libdds.so.0.9.2
b7727000 4 4 4 rw--- libdds.so.0.9.2
b7730000 128 100 0 r-x-- ld-2.19.so
b7750000 4 4 4 r---- ld-2.19.so
b7751000 4 4 4 rw--- ld-2.19.so
CopyrightPrismTech,2014
Median Latency
as low as 31.5
micro-secs for
small data
Latency of 51
micro-secs for
1024 data size!
Lite is by far the
fastest DDS
implementation
on the market!
Latency
Median Latency
micro-secs
30
36
43
49
55
data size (bytes)
0 300 600 900 1200
31,5
34,5
51,0
Lite 0.9.2
CopyrightPrismTech,2014
Latency nicely fit by the
quadratic polynomial:
Latency
micro-secs
30
55
80
105
130
data size (bytes)
0 2250 4500 6750 9000
y = -7,86E-7x2 + 0,0176x + 32,8
31,5
34,5
51,0
66,0
91,0
124,5
Lite 0.9.2
y = -7.86E-7x2+0.0176x + 32.8
NB: This quadratic fit should be used
for data up to 8192 bytes. Otherwise
the conservative linear fit y = 0,0113x
+ 37,425 can be used for bigger sizes
CopyrightPrismTech,2014
Saturates a 1 Gbps
network for data as
small as 1024 bytes
Throughput
Mbps
0
250
500
750
1000
data-size (bytes)
4 1253 2502 3751 5000
50
294
560
780
903
928
948
Li
CopyrightPrismTech,2014
Throughput
Kmsgs/sec
1
10
100
1000
data-size (bytes)
1 10 100 1000 10000 100000
523 506
110
56
29
14
7,3
3,7
1,8
Lite 0.9.2
Cloud Connectivity
CopyrightPrismTech,2014
Vortex Lite can be easily
configured to use cloud by
enabling TCP/IP and
adding the Vortex-Cloud
address as one of the peers
If you want to enable only
communication through
cloud then you may
disable support for
multicast (see side
example )
Vortex Cloud Connectivity
<DDSI2EService>
<General>
<NetworkInterfaceAddress>AUTO</NetworkInterfaceAddress>
<AllowMulticast>false</AllowMulticast>
<EnableMulticastLoopback>false</EnableMulticastLoopback>
<EnableLoopback>false</EnableLoopback>
</General>
<TCP>
<Enable>True</Enable>
</TCP>
<Discovery>
<Peers>
<Peer>demo-eu.prismtech.com:7400</Peer>
</Peers>
</Discovery>
<Compatibility>
<StandardsConformance>lax</StandardsConformance>
</Compatibility>
<Tracing>
<Verbosity>warning</Verbosity>
</Tracing>
</DDSI2EService>
API
CopyrightPrismTech,2014
Writing Data
#include "generated/Test.h"
int main (int argc, char ** argv) {
dds_entity_t ppant;
dds_entity_t topic;
dds_entity_t writer;
/* Initialize DDS */
dds_init (argc, argv);
/* Create participant */
dds_participant_create (&ppant,
DDS_DOMAIN_DEFAULT,
NULL, NULL);
/* Create topic */
dds_topic_create (ppant, &topic,
&Test_Topic_desc,
"TestTopic",
NULL, NULL, 0);
/* Create writer with QoS */
dds_writer_create (ppant, &writer,
topic, NULL, NULL, 0);
/* Topic instance */
Test_Topic sample = { 1, 2 };
/* Write topic */
dds_write (writer, &sample);
dds_sleepfor (DDS_SECS (10));
/* Clean up */
dds_entity_delete (ppant);
dds_fini ();
}
CopyrightPrismTech,2014
Reading Data
#include "generated/Test.h"
int main (int argc, char ** argv) {
dds_entity_t ppant;
dds_entity_t topic;
dds_entity_t reader;
dds_sample_info_t info;
void * samples[1];
/* Initialize DDS */
dds_init (argc, argv);
/* Create participant */
dds_participant_create (&ppant,
DDS_DOMAIN_DEFAULT,
NULL, NULL);
/* Create topic */
dds_topic_create (ppant, &topic,
&Test_Topic_desc,
"TestTopic",
NULL, NULL, 0);
/* Create writer with QoS */
dds_reader_create (ppant, &reader,
topic, NULL, NULL, 0);
while (true) {
/* Wait for valid sample then print and exit */
ret = dds_read (reader, samples, 1, &info, 0);
if (ret > 0 && info.valid_data)
{
printf ("Test Sample (%d, %d)n",
sample.d1, sample.d2);
break;
}
dds_sleepfor (DDS_SECS (1));
}
/* Clean up */
dds_entity_delete (ppant);
dds_fini ();
}
CopyrightPrismTech,2014
Listener Declaration
static void data_available_handler (dds_entity_t reader) {
int ret;
const uint32_t max = 1;
dds_sample_info_t info[max];
void * samples[max];
Test_Topic sample;
uint32_t mask = 0;
samples[0] = &sample;
/* Set type of samples required. */
mask = DDS_ALIVE_INSTANCE_STATE;
/* Read samples. */
dds_read (reader, samples, max, info, mask);
printf ("Data Received ...n");
printf ("Sample (%d, %d)n", sample.d1, sample.d2);
}
CopyrightPrismTech,2014
Listener Registration
memset (&listener, 0, sizeof (listener));
listener.on_data_available = data_available_handler;
listener.on_subscription_matched = subscription_matched_handler;
/* Create reader with DATA_AVAILABLE status condition enabled */
dds_reader_create (sub, &reader, topic, qos,
&listener,
DDS_DATA_AVAILABLE_STATUS);
Summing Up
CopyrightPrismTech,2014
Lite expands Vortex
connectivity to embedded
devices
Vortex Lite is highly efficient
in time and space and
simple to use
Concluding Remarks
Fog Computing
Cloud Computing
Fog Computing
Fog Computing
Device-to-Cloud
Communication
Device-to-Device
Communication
Fog-to-Cloud
Communication
Cloud-to-Cloud
Communication
Device-to-Device
Communication
CopyrightPrismTech,2014

More Related Content

What's hot

Vortex: The Intelligent Data Sharing Platform for the Internet of Things
Vortex: The Intelligent Data Sharing Platform for the Internet of ThingsVortex: The Intelligent Data Sharing Platform for the Internet of Things
Vortex: The Intelligent Data Sharing Platform for the Internet of Things
Angelo Corsaro
 
The DDS Tutorial Part II
The DDS Tutorial Part IIThe DDS Tutorial Part II
The DDS Tutorial Part II
Angelo Corsaro
 
Vortex Tutorial -- Part I
Vortex Tutorial -- Part IVortex Tutorial -- Part I
Vortex Tutorial -- Part I
Angelo Corsaro
 
IoT Protocols Integration with Vortex Gateway
IoT Protocols Integration with Vortex GatewayIoT Protocols Integration with Vortex Gateway
IoT Protocols Integration with Vortex Gateway
Angelo Corsaro
 
Data Sharing in Extremely Resource Constrained Envionrments
Data Sharing in Extremely Resource Constrained EnvionrmentsData Sharing in Extremely Resource Constrained Envionrments
Data Sharing in Extremely Resource Constrained Envionrments
Angelo Corsaro
 
Getting Started in DDS with C++ and Java
Getting Started in DDS with C++ and JavaGetting Started in DDS with C++ and Java
Getting Started in DDS with C++ and Java
Angelo Corsaro
 
Building Reactive Applications with DDS
Building Reactive Applications with DDSBuilding Reactive Applications with DDS
Building Reactive Applications with DDS
Angelo Corsaro
 
DDS Security
DDS SecurityDDS Security
DDS Security
Angelo Corsaro
 
Vortex Tutorial Part 2
Vortex Tutorial Part 2Vortex Tutorial Part 2
Vortex Tutorial Part 2
ADLINK Technology IoT
 
The DDS Tutorial - Part I
The DDS Tutorial - Part IThe DDS Tutorial - Part I
The DDS Tutorial - Part I
Angelo Corsaro
 
DDS: The IoT Data Sharing Standard
DDS: The IoT Data Sharing StandardDDS: The IoT Data Sharing Standard
DDS: The IoT Data Sharing Standard
Angelo Corsaro
 
DDS Tutorial -- Part I
DDS Tutorial -- Part IDDS Tutorial -- Part I
DDS Tutorial -- Part I
Angelo 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 Kit
Angelo Corsaro
 
The Data Distribution Service Tutorial
The Data Distribution Service TutorialThe Data Distribution Service Tutorial
The Data Distribution Service Tutorial
Angelo Corsaro
 
Advanced OpenSplice Programming - Part II
Advanced OpenSplice Programming - Part IIAdvanced OpenSplice Programming - Part II
Advanced OpenSplice Programming - Part II
Angelo 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 Vortex
Angelo Corsaro
 
The Data Distribution Service Tutorial
The Data Distribution Service TutorialThe Data Distribution Service Tutorial
The Data Distribution Service Tutorial
Angelo Corsaro
 
Stream Processing with DDS and CEP
Stream Processing with  DDS and CEPStream Processing with  DDS and CEP
Stream Processing with DDS and CEP
Angelo Corsaro
 
The Data Distribution Service
The Data Distribution ServiceThe Data Distribution Service
The Data Distribution Service
Angelo Corsaro
 
Classical Distributed Algorithms with DDS
Classical Distributed Algorithms with DDSClassical Distributed Algorithms with DDS
Classical Distributed Algorithms with DDS
Angelo Corsaro
 

What's hot (20)

Vortex: The Intelligent Data Sharing Platform for the Internet of Things
Vortex: The Intelligent Data Sharing Platform for the Internet of ThingsVortex: The Intelligent Data Sharing Platform for the Internet of Things
Vortex: The Intelligent Data Sharing Platform for the Internet of Things
 
The DDS Tutorial Part II
The DDS Tutorial Part IIThe DDS Tutorial Part II
The DDS Tutorial Part II
 
Vortex Tutorial -- Part I
Vortex Tutorial -- Part IVortex Tutorial -- Part I
Vortex Tutorial -- Part I
 
IoT Protocols Integration with Vortex Gateway
IoT Protocols Integration with Vortex GatewayIoT Protocols Integration with Vortex Gateway
IoT Protocols Integration with Vortex Gateway
 
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
 
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
 
Building Reactive Applications with DDS
Building Reactive Applications with DDSBuilding Reactive Applications with DDS
Building Reactive Applications with DDS
 
DDS Security
DDS SecurityDDS Security
DDS Security
 
Vortex Tutorial Part 2
Vortex Tutorial Part 2Vortex Tutorial Part 2
Vortex Tutorial Part 2
 
The DDS Tutorial - Part I
The DDS Tutorial - Part IThe DDS Tutorial - Part I
The DDS Tutorial - Part I
 
DDS: The IoT Data Sharing Standard
DDS: The IoT Data Sharing StandardDDS: The IoT Data Sharing Standard
DDS: The IoT Data Sharing Standard
 
DDS Tutorial -- Part I
DDS Tutorial -- Part IDDS Tutorial -- Part I
DDS 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
 
The Data Distribution Service Tutorial
The Data Distribution Service TutorialThe Data Distribution Service Tutorial
The Data Distribution Service Tutorial
 
Advanced OpenSplice Programming - Part II
Advanced OpenSplice Programming - Part IIAdvanced OpenSplice Programming - Part II
Advanced OpenSplice Programming - Part II
 
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
 
The Data Distribution Service Tutorial
The Data Distribution Service TutorialThe Data Distribution Service Tutorial
The Data Distribution Service Tutorial
 
Stream Processing with DDS and CEP
Stream Processing with  DDS and CEPStream Processing with  DDS and CEP
Stream Processing with DDS and CEP
 
The Data Distribution Service
The Data Distribution ServiceThe Data Distribution Service
The Data Distribution Service
 
Classical Distributed Algorithms with DDS
Classical Distributed Algorithms with DDSClassical Distributed Algorithms with DDS
Classical Distributed Algorithms with DDS
 

Viewers also liked

Vortex Tutorial Part II
Vortex Tutorial Part IIVortex Tutorial Part II
Vortex Tutorial Part II
Angelo Corsaro
 
Advanced OpenSplice Programming - Part I
Advanced OpenSplice Programming - Part IAdvanced OpenSplice Programming - Part I
Advanced OpenSplice Programming - Part I
Angelo Corsaro
 
Building Real-Time Web Applications with Vortex-Web
Building Real-Time Web Applications with Vortex-WebBuilding Real-Time Web Applications with Vortex-Web
Building Real-Time Web Applications with Vortex-Web
Angelo Corsaro
 
Getting Started with OpenSplice DDS Community Ed.
Getting Started with OpenSplice DDS Community Ed.Getting Started with OpenSplice DDS Community Ed.
Getting Started with OpenSplice DDS Community Ed.
Angelo Corsaro
 
OpenSplice DDS v6
OpenSplice DDS v6OpenSplice DDS v6
OpenSplice DDS v6
Angelo Corsaro
 
20 Tips for OpenSplice Newbies
20 Tips for OpenSplice Newbies20 Tips for OpenSplice Newbies
20 Tips for OpenSplice Newbies
Angelo Corsaro
 
OpenSplice DDS Tutorial -- Part II
OpenSplice DDS Tutorial -- Part IIOpenSplice DDS Tutorial -- Part II
OpenSplice DDS Tutorial -- Part II
Angelo Corsaro
 
Fog Computing with VORTEX
Fog Computing with VORTEXFog Computing with VORTEX
Fog Computing with VORTEX
Angelo 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 Cloud
Angelo Corsaro
 
Fluid IoT Architectures
Fluid IoT ArchitecturesFluid IoT Architectures
Fluid IoT Architectures
Angelo Corsaro
 
The Cloudy, Foggy and Misty Internet of Things -- Toward Fluid IoT Architect...
The Cloudy, Foggy and Misty Internet of Things --  Toward Fluid IoT Architect...The Cloudy, Foggy and Misty Internet of Things --  Toward Fluid IoT Architect...
The Cloudy, Foggy and Misty Internet of Things -- Toward Fluid IoT Architect...
Angelo Corsaro
 
FOG COMPUTING
FOG COMPUTINGFOG COMPUTING
FOG COMPUTING
Saisharan Amaravadhi
 
Java in the Air: A Case Study for Java-based Environment Monitoring Stations
Java in the Air: A Case Study for Java-based Environment Monitoring StationsJava in the Air: A Case Study for Java-based Environment Monitoring Stations
Java in the Air: A Case Study for Java-based Environment Monitoring Stations
Eurotech
 
OSGi and Java in Industrial IoT
OSGi and Java in Industrial IoTOSGi and Java in Industrial IoT
OSGi and Java in Industrial IoT
Eurotech
 
IoT, Fog Computing and the Blockchain
IoT, Fog Computing and the BlockchainIoT, Fog Computing and the Blockchain
IoT, Fog Computing and the Blockchain
kumar641
 
Building IoT Mashups for Industry 4.0 with Eclipse Kura and Kura Wires
Building IoT Mashups for Industry 4.0 with Eclipse Kura and Kura WiresBuilding IoT Mashups for Industry 4.0 with Eclipse Kura and Kura Wires
Building IoT Mashups for Industry 4.0 with Eclipse Kura and Kura Wires
Eurotech
 

Viewers also liked (16)

Vortex Tutorial Part II
Vortex Tutorial Part IIVortex Tutorial Part II
Vortex Tutorial Part II
 
Advanced OpenSplice Programming - Part I
Advanced OpenSplice Programming - Part IAdvanced OpenSplice Programming - Part I
Advanced OpenSplice Programming - Part I
 
Building Real-Time Web Applications with Vortex-Web
Building Real-Time Web Applications with Vortex-WebBuilding Real-Time Web Applications with Vortex-Web
Building Real-Time Web Applications with Vortex-Web
 
Getting Started with OpenSplice DDS Community Ed.
Getting Started with OpenSplice DDS Community Ed.Getting Started with OpenSplice DDS Community Ed.
Getting Started with OpenSplice DDS Community Ed.
 
OpenSplice DDS v6
OpenSplice DDS v6OpenSplice DDS v6
OpenSplice DDS v6
 
20 Tips for OpenSplice Newbies
20 Tips for OpenSplice Newbies20 Tips for OpenSplice Newbies
20 Tips for OpenSplice Newbies
 
OpenSplice DDS Tutorial -- Part II
OpenSplice DDS Tutorial -- Part IIOpenSplice DDS Tutorial -- Part II
OpenSplice DDS Tutorial -- Part II
 
Fog Computing with VORTEX
Fog Computing with VORTEXFog Computing with VORTEX
Fog Computing with VORTEX
 
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
 
Fluid IoT Architectures
Fluid IoT ArchitecturesFluid IoT Architectures
Fluid IoT Architectures
 
The Cloudy, Foggy and Misty Internet of Things -- Toward Fluid IoT Architect...
The Cloudy, Foggy and Misty Internet of Things --  Toward Fluid IoT Architect...The Cloudy, Foggy and Misty Internet of Things --  Toward Fluid IoT Architect...
The Cloudy, Foggy and Misty Internet of Things -- Toward Fluid IoT Architect...
 
FOG COMPUTING
FOG COMPUTINGFOG COMPUTING
FOG COMPUTING
 
Java in the Air: A Case Study for Java-based Environment Monitoring Stations
Java in the Air: A Case Study for Java-based Environment Monitoring StationsJava in the Air: A Case Study for Java-based Environment Monitoring Stations
Java in the Air: A Case Study for Java-based Environment Monitoring Stations
 
OSGi and Java in Industrial IoT
OSGi and Java in Industrial IoTOSGi and Java in Industrial IoT
OSGi and Java in Industrial IoT
 
IoT, Fog Computing and the Blockchain
IoT, Fog Computing and the BlockchainIoT, Fog Computing and the Blockchain
IoT, Fog Computing and the Blockchain
 
Building IoT Mashups for Industry 4.0 with Eclipse Kura and Kura Wires
Building IoT Mashups for Industry 4.0 with Eclipse Kura and Kura WiresBuilding IoT Mashups for Industry 4.0 with Eclipse Kura and Kura Wires
Building IoT Mashups for Industry 4.0 with Eclipse Kura and Kura Wires
 

Similar to Introducing Vortex Lite

WebRTC Webinar & Q&A - Sumilcast Standards & Implementation
WebRTC Webinar & Q&A - Sumilcast Standards & ImplementationWebRTC Webinar & Q&A - Sumilcast Standards & Implementation
WebRTC Webinar & Q&A - Sumilcast Standards & Implementation
Amir Zmora
 
Fast RTPS: Programming with the Default Middleware for Robotics Adopted in ROS2
Fast RTPS: Programming with the Default Middleware for Robotics Adopted in ROS2Fast RTPS: Programming with the Default Middleware for Robotics Adopted in ROS2
Fast RTPS: Programming with the Default Middleware for Robotics Adopted in ROS2
Jaime Martin Losa
 
Distributed Systems: How to connect your real-time applications
Distributed Systems: How to connect your real-time applicationsDistributed Systems: How to connect your real-time applications
Distributed Systems: How to connect your real-time applications
Jaime Martin Losa
 
Osnug meetup-tungsten fabric - overview.pptx
Osnug meetup-tungsten fabric - overview.pptxOsnug meetup-tungsten fabric - overview.pptx
Osnug meetup-tungsten fabric - overview.pptx
M.Qasim Arham
 
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
 
Data Plane Evolution: Towards Openness and Flexibility
Data Plane Evolution: Towards Openness and FlexibilityData Plane Evolution: Towards Openness and Flexibility
Data Plane Evolution: Towards Openness and Flexibility
APNIC
 
FIWARE Global Summit - Fast RTPS: Programming with the Default middleware for...
FIWARE Global Summit - Fast RTPS: Programming with the Default middleware for...FIWARE Global Summit - Fast RTPS: Programming with the Default middleware for...
FIWARE Global Summit - Fast RTPS: Programming with the Default middleware for...
FIWARE
 
Fast RTPS
Fast RTPSFast RTPS
Fast RTPS
eProsima
 
Advanced Networking: The Critical Path for HPC, Cloud, Machine Learning and more
Advanced Networking: The Critical Path for HPC, Cloud, Machine Learning and moreAdvanced Networking: The Critical Path for HPC, Cloud, Machine Learning and more
Advanced Networking: The Critical Path for HPC, Cloud, Machine Learning and more
inside-BigData.com
 
Fiware - communicating with ROS robots using Fast RTPS
Fiware - communicating with ROS robots using Fast RTPSFiware - communicating with ROS robots using Fast RTPS
Fiware - communicating with ROS robots using Fast RTPS
Jaime Martin Losa
 
Fiware: Connecting to robots
Fiware: Connecting to robotsFiware: Connecting to robots
Fiware: Connecting to robots
Jaime Martin Losa
 
L6 6 lowpan
L6 6 lowpanL6 6 lowpan
L6 6 lowpan
bimal2638
 
eProsima RPC over DDS - OMG June 2013 Berlin Meeting
eProsima RPC over DDS - OMG June 2013 Berlin MeetingeProsima RPC over DDS - OMG June 2013 Berlin Meeting
eProsima RPC over DDS - OMG June 2013 Berlin Meeting
Jaime Martin Losa
 
DalmatinerDB and cockroachDB monitoring plataform
DalmatinerDB and cockroachDB monitoring plataformDalmatinerDB and cockroachDB monitoring plataform
DalmatinerDB and cockroachDB monitoring plataform
Leandro Totino Pereira
 
AusNOG 2016 - The Trouble with NAT
AusNOG 2016 - The Trouble with NATAusNOG 2016 - The Trouble with NAT
AusNOG 2016 - The Trouble with NATMark Smith
 
Introduction to DDS: Context, Information Model, Security, and Applications.
Introduction to DDS: Context, Information Model, Security, and Applications.Introduction to DDS: Context, Information Model, Security, and Applications.
Introduction to DDS: Context, Information Model, Security, and Applications.
Gerardo Pardo-Castellote
 
DockerCon EU 2015: Using Docker and SDN for telco-grade applications
DockerCon EU 2015: Using Docker and SDN for telco-grade applicationsDockerCon EU 2015: Using Docker and SDN for telco-grade applications
DockerCon EU 2015: Using Docker and SDN for telco-grade applications
Docker, Inc.
 
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
Jaime Martin Losa
 
Wan networks
Wan networksWan networks
Wan networks
Arnold Derrick Kinney
 
Real Time Java DDS
Real Time Java DDSReal Time Java DDS
Real Time Java DDSkerush
 

Similar to Introducing Vortex Lite (20)

WebRTC Webinar & Q&A - Sumilcast Standards & Implementation
WebRTC Webinar & Q&A - Sumilcast Standards & ImplementationWebRTC Webinar & Q&A - Sumilcast Standards & Implementation
WebRTC Webinar & Q&A - Sumilcast Standards & Implementation
 
Fast RTPS: Programming with the Default Middleware for Robotics Adopted in ROS2
Fast RTPS: Programming with the Default Middleware for Robotics Adopted in ROS2Fast RTPS: Programming with the Default Middleware for Robotics Adopted in ROS2
Fast RTPS: Programming with the Default Middleware for Robotics Adopted in ROS2
 
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
 
Osnug meetup-tungsten fabric - overview.pptx
Osnug meetup-tungsten fabric - overview.pptxOsnug meetup-tungsten fabric - overview.pptx
Osnug meetup-tungsten fabric - overview.pptx
 
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...
 
Data Plane Evolution: Towards Openness and Flexibility
Data Plane Evolution: Towards Openness and FlexibilityData Plane Evolution: Towards Openness and Flexibility
Data Plane Evolution: Towards Openness and Flexibility
 
FIWARE Global Summit - Fast RTPS: Programming with the Default middleware for...
FIWARE Global Summit - Fast RTPS: Programming with the Default middleware for...FIWARE Global Summit - Fast RTPS: Programming with the Default middleware for...
FIWARE Global Summit - Fast RTPS: Programming with the Default middleware for...
 
Fast RTPS
Fast RTPSFast RTPS
Fast RTPS
 
Advanced Networking: The Critical Path for HPC, Cloud, Machine Learning and more
Advanced Networking: The Critical Path for HPC, Cloud, Machine Learning and moreAdvanced Networking: The Critical Path for HPC, Cloud, Machine Learning and more
Advanced Networking: The Critical Path for HPC, Cloud, Machine Learning and more
 
Fiware - communicating with ROS robots using Fast RTPS
Fiware - communicating with ROS robots using Fast RTPSFiware - communicating with ROS robots using Fast RTPS
Fiware - communicating with ROS robots using Fast RTPS
 
Fiware: Connecting to robots
Fiware: Connecting to robotsFiware: Connecting to robots
Fiware: Connecting to robots
 
L6 6 lowpan
L6 6 lowpanL6 6 lowpan
L6 6 lowpan
 
eProsima RPC over DDS - OMG June 2013 Berlin Meeting
eProsima RPC over DDS - OMG June 2013 Berlin MeetingeProsima RPC over DDS - OMG June 2013 Berlin Meeting
eProsima RPC over DDS - OMG June 2013 Berlin Meeting
 
DalmatinerDB and cockroachDB monitoring plataform
DalmatinerDB and cockroachDB monitoring plataformDalmatinerDB and cockroachDB monitoring plataform
DalmatinerDB and cockroachDB monitoring plataform
 
AusNOG 2016 - The Trouble with NAT
AusNOG 2016 - The Trouble with NATAusNOG 2016 - The Trouble with NAT
AusNOG 2016 - The Trouble with NAT
 
Introduction to DDS: Context, Information Model, Security, and Applications.
Introduction to DDS: Context, Information Model, Security, and Applications.Introduction to DDS: Context, Information Model, Security, and Applications.
Introduction to DDS: Context, Information Model, Security, and Applications.
 
DockerCon EU 2015: Using Docker and SDN for telco-grade applications
DockerCon EU 2015: Using Docker and SDN for telco-grade applicationsDockerCon EU 2015: Using Docker and SDN for telco-grade applications
DockerCon EU 2015: Using Docker and SDN for telco-grade 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
 
Wan networks
Wan networksWan networks
Wan networks
 
Real Time Java DDS
Real Time Java DDSReal Time Java DDS
Real Time Java DDS
 

More from Angelo Corsaro

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

More from Angelo Corsaro (20)

Zenoh: The Genesis
Zenoh: The GenesisZenoh: The Genesis
Zenoh: The Genesis
 
zenoh: The Edge Data Fabric
zenoh: The Edge Data Fabriczenoh: The Edge Data Fabric
zenoh: The Edge Data Fabric
 
Zenoh Tutorial
Zenoh TutorialZenoh Tutorial
Zenoh Tutorial
 
Data Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair MonetisationData Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair Monetisation
 
zenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query computezenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query compute
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocol
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocol
 
Breaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog ComputingBreaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
 
Eastern Sicily
Eastern SicilyEastern Sicily
Eastern Sicily
 
fog05: The Fog Computing Infrastructure
fog05: The Fog Computing Infrastructurefog05: The Fog Computing Infrastructure
fog05: The Fog Computing Infrastructure
 
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
 

Recently uploaded

Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 

Recently uploaded (20)

Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 

Introducing Vortex Lite

  • 1. Introducing VORTEX Lite Chief  Technology  Officer   PrismTech angelo.corsaro@prismtech.com Angelo  Corsaro,  PhD
  • 2. CopyrightPrismTech,2014 Specialised device implementations optimally addressing requirements of OT and IT platforms VORTEX can readily deal with data ingestion seamlessly integrating with other protocols, e.g. MQTT, CoAP, etc. VORTEX leverages the DDS standard for interoperability and uniquely extends it with support for Internet Scale systems, mobility and Web 2.0 applications The VORTEX Platform Vortex Device Tools Integration Vortex Cloud MaaS
  • 3. CopyrightPrismTech,2014 All VORTEX Device implementation, i.e. OpenSplice, Café, Lite and Web are Fog ready VORTEX Device implementations feature efficient peer-to-peer communication VORTEX Device implementations are also cloud-enabled, in the sense that they can also communicate via VORTEX Cloud VORTEX Device Vortex Device
  • 4. CopyrightPrismTech,2014 VORTEX Architecture IP UDP TCP DTLS TLS WebSocket DDSI Wire Protocol VORTEX Café VORTEX Cloud VORTEX Web VORTEX Gateway VORTEX Lite VORTEX OpenSplice MQTT AMQP XMPP HTTP HBase DMBS TCP/IP, UDP/IP … VORTEX Café DDS API DDS Security
  • 5. CopyrightPrismTech,2014 VORTEX supports both the Cloud and the Fog Computing Paradigm VORTEX natively supports: - Device-to-Device Communication - Device-to-Cloud Communication Cloud and Fog/Edge Computing Fog Computing Cloud Computing Fog Computing Fog Computing Device-to-Cloud Communication Device-to-Device Communication Fog-to-Cloud Communication Cloud-to-Cloud Communication Device-to-Device Communication Collect | Store | Analyse | Share Collect | Store | Analyse | Share
  • 6. CopyrightPrismTech,2014 Abstracting Connectivity Fog Computing Cloud Computing Fog Computing Fog Computing Device-to-Cloud Communication Device-to-Device Communication Fog-to-Cloud Communication Cloud-to-Cloud Communication Device-to-Device Communication
  • 8. CopyrightPrismTech,2014 Fog + Cloud Fog Computing Fog Computing Fog Computing Device-to-Cloud Communication Peer-to-Peer (Brokerless) Device-to-Device Communication Devices communicate peer-to-peer within a fog- domain and through Cloud across fog-domains Some device concurrently communicate with peers and the cloud
  • 9. CopyrightPrismTech,2014 Fog + Cloud-Link + Cloud Devices communicate peer-to-peer within a fog- domain A Cloud-Link controls which data is exchanged with the could Fog Computing Fog Computing Fog Computing Device-to-Cloud Communication Peer-to-Peer (Brokerless) Device-to-Device Communication Cloud-LinkCloud-Link
  • 10. CopyrightPrismTech,2014 Federated Fog Fog Computing Fog Computing Fog Computing Peer-to-Peer (Brokerless) Device-to-Device Communication Cloud-Link Cloud-Link Fog domain are federated by Cloud-Link instances A Cloud-Link controls which data is exchanged with the could
  • 12. CopyrightPrismTech,2014 VORTEX provides a Distributed Data Space abstraction where applications can autonomously and asynchronously read and write data Its built-in dynamic discovery isolates applications from network topology and connectivity details Global Data Space DDS Global Data Space ... Data Writer Data Writer Data Writer Data Reader Data Reader Data Reader Data Reader Data Writer TopicA QoS TopicB QoS TopicC QoS TopicD QoS
  • 13. CopyrightPrismTech,2014 A Topic defines a domain-wide information’s class A Topic is defined by means of a (name, type, qos) tuple, where • name: identifies the topic within the domain • type: is the programming language type associated with the topic. Types are extensible and evolvable • qos: is a collection of policies that express the non-functional properties of this topic, e.g. reliability, persistence, etc. Topic Topic Type Name QoS DDS Global Data Space ... TopicA QoS TopicB QoS TopicC QoS TopicD QoS
  • 15. CopyrightPrismTech,2014 DDS provides a rich set of QoS- Policies to control local as well as end-to-end properties of data sharing Some QoS-Policies are matched based on a Request vs. Offered (RxO) Model QoS Policies 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
  • 16. CopyrightPrismTech,2014 For data to flow from a DataWriter (DW) to one or many DataReader (DR) a few conditions have to apply: The DR and DW domain participants have to be in the same domain The partition expression of the DR’s Subscriber and the DW’s Publisher should match (in terms of regular expression match) The QoS Policies offered by the DW should exceed or match those requested by the DR QoS Model 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
  • 17. CopyrightPrismTech,2014 Support for fine grained access control Support for Symmetric and Asymmetric Authentication Standard Authentication, Access Control, Crypto, and Logging plug-in API Security Arthur Dent Arthur Dent Ford Prerfect Zaphod Beeblebrox Marvin Trillian A(r,w), B(r) A(r,w), B(r,w), X(r) *(r,w) *(r) A(r,w), B(r,w), C(r,w) Ford Prerfect Zaphod Beeblebrox Trillian Marvin A B A,B X * * A,B,C Identity Access Rights Sessions are authenticated and communication is encrypted Only the Topic included as part of the access rights are visible and accessible
  • 20. CopyrightPrismTech,2014 Bring software-based DDS implementation to a range of resource constrained devices Allow for variability on functionalities, transport and support of underlying OS/BSP Provides very low footprint and very high performance v1.0 runtime footprint ~450 KB v1.0 latency as low as ~30 usec (on Gigabit network) Vortex Lite DDSI$$ DDS$API C99 ISO&C++ OS/RTOS$$ BSP Abstraction$ OS Abstraction$ Transport
  • 22. CopyrightPrismTech,2014 The Vortex Lite architecture aims at optimising performance on constrained environment. By default, Lite performs reads and writes on a single thread. Writes can be multi-threaded when using TCP/IP Vortex Lite Architecture DDSI DCPS Listeners/ WaitSets Network Packets DDSI Messages Samples Cache Changes n threads (n=1 by default)
  • 23. CopyrightPrismTech,2014 By default, Lite uses the same thread to: - reads data from the socket - execute the DDSI protocol state machine - de-serialise data - invoke listeners (if any) This ensures that no context switch happens on the dispatch path thus, reducing overhead on single-core procures, as well as providing very low and deterministic latency Default Read Path DDSI DCPS Listeners/ WaitSets Network Packets DDSI Messages Samples Cache Changes n threads (n=1 by default)
  • 24. CopyrightPrismTech,2014 Lite can be configured to use a separate thread pool to notify listeners In this case the bottom thread (pool) takes care of: - reading data from the socket - executing the DDSI protocol state machine While the other thread (pool) takes care of: - de-serialising data - invoking listeners (if any) This configuration improves throughput on multi- core processors Async Read Path DDSI DCPS Listeners/ WaitSets Network Packets DDSI Messages Samples Cache Changes n threads (n=1 by default)
  • 25. CopyrightPrismTech,2014 For UDP/IP communication Lite uses a write through strategy leveraging the application thread for executing the entire stack Write Path DDSI DCPS Writer Network Packets DDSI Messages Samples Cache Changes application thread
  • 26. CopyrightPrismTech,2014 When communicating over TCP/IP Lite can be configured to use a thread-pool to write over TCP/IP sockets This helps with parallelising some of the fan-out TCP/IP Write Path DDSI DCPS Writer Network Packets DDSI Messages Samples Cache Changes application thread n threads (n=1 by default)
  • 28. CopyrightPrismTech,2014 488 KBytes footprint for the dds library 4 KB for all the DDS entities required to publish data - Domain Participant - Topic - Subscriber - Data Reader - Listener Adding more Writer on the same participant has very little overhead Subscriber Memory Usage (pmap -x) Address Kbytes RSS Dirty Mode Mapping 08048000 4 4 0 r-x-- subscriber 08049000 4 4 4 r---- subscriber 0804a000 4 4 4 rw--- subscriber 748a000 1700 572 0 r-x-- libc-2.19.so b7633000 8 8 8 r---- libc-2.19.so b7635000 4 4 4 rw--- libc-2.19.so b763a000 96 72 0 r-x-- libpthread-2.19.so b7652000 4 4 4 r---- libpthread-2.19.so b7653000 4 4 4 rw--- libpthread-2.19.so b766d000 588 488 0 r-x-- libdds.so.0.9.2 b7700000 12 12 12 r---- libdds.so.0.9.2 b7703000 4 4 4 rw--- libdds.so.0.9.2 b770c000 128 100 0 r-x-- ld-2.19.so b772c000 4 4 4 r---- ld-2.19.so b772d000 4 4 4 rw--- ld-2.19.so
  • 29. CopyrightPrismTech,2014 456 KBytes footprint for the dds library 4 KB for all the DDS entities required to publish data - Domain Participant - Topic - Publisher - Data Writer Adding more Writer on the same participant has very little Publisher Memory Usage (pmap -x) Address Kbytes RSS Dirty Mode Mapping 08048000 4 4 0 r-x-- publisher 08049000 4 4 4 r---- publisher 0804a000 4 4 4 rw--- publisher b74ae000 1700 564 0 r-x-- libc-2.19.so b7657000 8 8 8 r---- libc-2.19.so b7659000 4 4 4 rw--- libc-2.19.so b765e000 96 72 0 r-x-- libpthread-2.19.so b7676000 4 4 4 r---- libpthread-2.19.so b7677000 4 4 4 rw--- libpthread-2.19.so b7691000 588 456 0 r-x-- libdds.so.0.9.2 b7724000 12 12 12 r---- libdds.so.0.9.2 b7727000 4 4 4 rw--- libdds.so.0.9.2 b7730000 128 100 0 r-x-- ld-2.19.so b7750000 4 4 4 r---- ld-2.19.so b7751000 4 4 4 rw--- ld-2.19.so
  • 30. CopyrightPrismTech,2014 Median Latency as low as 31.5 micro-secs for small data Latency of 51 micro-secs for 1024 data size! Lite is by far the fastest DDS implementation on the market! Latency Median Latency micro-secs 30 36 43 49 55 data size (bytes) 0 300 600 900 1200 31,5 34,5 51,0 Lite 0.9.2
  • 31. CopyrightPrismTech,2014 Latency nicely fit by the quadratic polynomial: Latency micro-secs 30 55 80 105 130 data size (bytes) 0 2250 4500 6750 9000 y = -7,86E-7x2 + 0,0176x + 32,8 31,5 34,5 51,0 66,0 91,0 124,5 Lite 0.9.2 y = -7.86E-7x2+0.0176x + 32.8 NB: This quadratic fit should be used for data up to 8192 bytes. Otherwise the conservative linear fit y = 0,0113x + 37,425 can be used for bigger sizes
  • 32. CopyrightPrismTech,2014 Saturates a 1 Gbps network for data as small as 1024 bytes Throughput Mbps 0 250 500 750 1000 data-size (bytes) 4 1253 2502 3751 5000 50 294 560 780 903 928 948 Li
  • 33. CopyrightPrismTech,2014 Throughput Kmsgs/sec 1 10 100 1000 data-size (bytes) 1 10 100 1000 10000 100000 523 506 110 56 29 14 7,3 3,7 1,8 Lite 0.9.2
  • 35. CopyrightPrismTech,2014 Vortex Lite can be easily configured to use cloud by enabling TCP/IP and adding the Vortex-Cloud address as one of the peers If you want to enable only communication through cloud then you may disable support for multicast (see side example ) Vortex Cloud Connectivity <DDSI2EService> <General> <NetworkInterfaceAddress>AUTO</NetworkInterfaceAddress> <AllowMulticast>false</AllowMulticast> <EnableMulticastLoopback>false</EnableMulticastLoopback> <EnableLoopback>false</EnableLoopback> </General> <TCP> <Enable>True</Enable> </TCP> <Discovery> <Peers> <Peer>demo-eu.prismtech.com:7400</Peer> </Peers> </Discovery> <Compatibility> <StandardsConformance>lax</StandardsConformance> </Compatibility> <Tracing> <Verbosity>warning</Verbosity> </Tracing> </DDSI2EService>
  • 36. API
  • 37. CopyrightPrismTech,2014 Writing Data #include "generated/Test.h" int main (int argc, char ** argv) { dds_entity_t ppant; dds_entity_t topic; dds_entity_t writer; /* Initialize DDS */ dds_init (argc, argv); /* Create participant */ dds_participant_create (&ppant, DDS_DOMAIN_DEFAULT, NULL, NULL); /* Create topic */ dds_topic_create (ppant, &topic, &Test_Topic_desc, "TestTopic", NULL, NULL, 0); /* Create writer with QoS */ dds_writer_create (ppant, &writer, topic, NULL, NULL, 0); /* Topic instance */ Test_Topic sample = { 1, 2 }; /* Write topic */ dds_write (writer, &sample); dds_sleepfor (DDS_SECS (10)); /* Clean up */ dds_entity_delete (ppant); dds_fini (); }
  • 38. CopyrightPrismTech,2014 Reading Data #include "generated/Test.h" int main (int argc, char ** argv) { dds_entity_t ppant; dds_entity_t topic; dds_entity_t reader; dds_sample_info_t info; void * samples[1]; /* Initialize DDS */ dds_init (argc, argv); /* Create participant */ dds_participant_create (&ppant, DDS_DOMAIN_DEFAULT, NULL, NULL); /* Create topic */ dds_topic_create (ppant, &topic, &Test_Topic_desc, "TestTopic", NULL, NULL, 0); /* Create writer with QoS */ dds_reader_create (ppant, &reader, topic, NULL, NULL, 0); while (true) { /* Wait for valid sample then print and exit */ ret = dds_read (reader, samples, 1, &info, 0); if (ret > 0 && info.valid_data) { printf ("Test Sample (%d, %d)n", sample.d1, sample.d2); break; } dds_sleepfor (DDS_SECS (1)); } /* Clean up */ dds_entity_delete (ppant); dds_fini (); }
  • 39. CopyrightPrismTech,2014 Listener Declaration static void data_available_handler (dds_entity_t reader) { int ret; const uint32_t max = 1; dds_sample_info_t info[max]; void * samples[max]; Test_Topic sample; uint32_t mask = 0; samples[0] = &sample; /* Set type of samples required. */ mask = DDS_ALIVE_INSTANCE_STATE; /* Read samples. */ dds_read (reader, samples, max, info, mask); printf ("Data Received ...n"); printf ("Sample (%d, %d)n", sample.d1, sample.d2); }
  • 40. CopyrightPrismTech,2014 Listener Registration memset (&listener, 0, sizeof (listener)); listener.on_data_available = data_available_handler; listener.on_subscription_matched = subscription_matched_handler; /* Create reader with DATA_AVAILABLE status condition enabled */ dds_reader_create (sub, &reader, topic, qos, &listener, DDS_DATA_AVAILABLE_STATUS);
  • 42. CopyrightPrismTech,2014 Lite expands Vortex connectivity to embedded devices Vortex Lite is highly efficient in time and space and simple to use Concluding Remarks Fog Computing Cloud Computing Fog Computing Fog Computing Device-to-Cloud Communication Device-to-Device Communication Fog-to-Cloud Communication Cloud-to-Cloud Communication Device-to-Device Communication