SlideShare a Scribd company logo
1 of 59
Download to read offline
Vortex Tutorial 
Part II 
Angelo 
Corsaro, 
PhD 
Chief 
Technology 
Officer 
angelo.corsaro@prismtech.com
Recap
Copyright PrismTech, 2014 
The Vortex Platform 
Vortex enables seamless, 
ubiquitous, efficient and 
timely data sharing across 
mobile, embedded, desktop, 
cloud and web applications 
Vortex is based on the OMG 
DDS standard 
Vortex Device 
Tools 
Integration 
MaaS 
Vortex Cloud
Building ChirpIt
Copyright PrismTech, 2014 
ChirpIt Requirements 
To explore the various features provided by the Vortex platform we will be designing and 
implementing a micro-blogging platform called ChirpIt. Specifically, we want to support the 
following features: 
ChirpIt users should be able to “chirp”, “re-chirp”, “like” and “dislike” trills as well as get 
detailed statistics 
The ChirpIt platform should provide information on trending topics — identified by hashtags — 
as well as trending users 
Third party services should be able to flexibly access slices of produced trills to perform their 
own trend analysis 
ChirpIt should scale to millions of users 
ChirpIt should be based on a Lambda Architecture
Copyright PrismTech, 2014 
ChirpIt Architecture 
stats 
analytics 
data centre 
chirp 
stats 
emotions 
batch 
layer 
chirpit 
apps 
Cloud Messaging 
serving 
layer 
chirp 
emotions 
master 
dataset 
view view view 
3rd 
party 
svcs 
chirp 
stats 
emotions 
Speed 
layer
Next Step
Trendy #hashtags
Copyright PrismTech, 2014 
Calculating Trendy #hashtags 
As an example of how VORTEX can be used to compute analytics we’ll 
see how to compute trending topics, as identified by their #hashtag
Copyright PrismTech, 2014 
ChirpIt Architecture 
stats 
analytics 
data centre 
chirp 
stats 
emotions 
batch 
layer 
chirpit 
apps 
Cloud Messaging 
serving 
layer 
chirp 
emotions 
Chirps chirp 
3rd 
party 
svcs 
chirp 
stats 
emotions 
Speed 
layer 
Chirps 
trend …
Copyright PrismTech, 2014 
To fully exploit the features provided by VORTEX in our ChirpIt application there 
are a few more things we need to learn
Quality of Service
Copyright PrismTech, 2014 
QoS Policies 
VORTEX 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 
DURABILITY 
HISTORY 
LIFESPAN 
LIVELINESS 
DEADLINE 
LATENCY BUDGET 
TRANSPORT PRIO 
TIME-BASED FILTER 
RESOURCE LIMITS 
USER DATA 
TOPIC DATA 
GROUP DATA 
OWENERSHIP 
OWN. STRENGTH 
DW LIFECYCLE 
DR LIFECYCLE 
ENTITY FACTORY 
DEST. ORDER 
PARTITION 
PRESENTATION 
RELIABILITY 
RxO QoS Local QoS
Copyright PrismTech, 2014 
Data Delivery 
Data Delivery QoS Policies provide 
control over: 
who delivers data 
where data is delivered, and 
how data is delivered 
Reliability 
Ownership Ownership 
Presentation 
Destination 
Partition Order 
Strength 
Data Delivery
Copyright PrismTech, 2014 
Data Delivery 
Data Delivery QoS Policies provide 
control over: 
who delivers data 
where data is delivered, and 
how data is delivered 
Reliability 
Ownership Ownership 
Presentation 
Destination 
Partition Order 
Strength 
Data Delivery
Copyright PrismTech, 2014 
Data Delivery 
Data Delivery QoS Policies provide 
control over: 
who delivers data 
where data is delivered, and 
how data is delivered 
Reliability 
Ownership Ownership 
Presentation 
Destination 
Partition Order 
Strength 
Data Delivery
Copyright PrismTech, 2014 
Data Delivery 
Data Delivery QoS Policies provide 
control over: 
who delivers data 
where data is delivered, and 
how data is delivered 
Reliability 
Ownership Ownership 
Presentation 
Destination 
Partition Order 
Strength 
Data Delivery
Copyright PrismTech, 2014 
Data Availability 
Data Availability QoS Policies provide 
control over data availability with 
respect to: 
Temporal Decoupling (late Joiners) 
Temporal Validity 
History 
Lifespan Data Availability Durability
Copyright PrismTech, 2014 
Data Availability 
Data Availability QoS Policies provide 
control over data availability with 
respect to: 
Temporal Decoupling (late Joiners) 
Temporal Validity 
History 
Lifespan Data Availability Durability
Copyright PrismTech, 2014 
Data Availability 
Data Availability QoS Policies provide 
control over data availability with 
respect to: 
Temporal Decoupling (late Joiners) 
Temporal Validity 
History 
Lifespan Data Availability Durability
Copyright PrismTech, 2014 
Temporal Properties 
Several policies provide control over 
temporal properties, specifically: 
Outbound Throughput 
Inbound Throughput 
Latency 
TimeBasedFilter 
[Inbound] 
Throughput 
[Outbound] 
Deadline 
Latency 
TransportPriority 
LatencyBudget
Copyright PrismTech, 2014 
Temporal Properties 
Several policies provide control over 
temporal properties, specifically: 
Outbound Throughput 
Inbound Throughput 
Latency 
TimeBasedFilter 
[Inbound] 
Throughput 
[Outbound] 
Deadline 
Latency 
TransportPriority 
LatencyBudget
Copyright PrismTech, 2014 
Temporal Properties 
Several policies provide control over 
temporal properties, specifically: 
Outbound Throughput 
Inbound Throughput 
Latency 
TimeBasedFilter 
[Inbound] 
Throughput 
[Outbound] 
Deadline 
Latency 
TransportPriority 
LatencyBudget
Copyright PrismTech, 2014 
Temporal Properties 
Several policies provide control over 
temporal properties, specifically: 
Outbound Throughput 
Inbound Throughput 
Latency 
TimeBasedFilter 
[Inbound] 
Throughput 
[Outbound] 
Deadline 
Latency 
TransportPriority 
LatencyBudget
Copyright PrismTech, 2014 
QoS Model 
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 
Domain 
Participant 
joins joins 
Domain Id 
produces-in consumes-from 
RxO QoS Policies 
DURABILITY 
DEST. ORDER 
RELIABILITY 
LATENCY BUDGET 
DEADLINE 
OWENERSHIP 
LIVELINESS 
Publisher 
DataWriter 
PARTITION 
Domain 
Participant 
Subscriber 
DataReader 
offered 
QoS 
writes reads 
Topic 
requested 
QoS
Useful QoS for ChirpIt
Copyright PrismTech, 2014 
History QoS Policy 
The DataWriter HISTORY QoS Policy controls 
the amount of data that can be made available 
to late joining DataReaders under 
TRANSIENT_LOCAL Durability 
The DataReader HISTORY QoS Policy controls 
how many samples will be kept on the reader 
cache 
- Keep Last. DDS will keep the most recent 
“depth” samples of each instance of data 
identified by its key 
- Keep All. The DDS keep all the samples of each 
instance of data identified by its key -- up to 
reaching some configurable resource limits 
0 1 2 3 
Pressure 
KeepLast(1) 
time 
Pressure 
time 
Pressure 
time 
KeepLast(3) 
KeepAll
Copyright PrismTech, 2014 
Exploiting the History Policy in ChirpIt 
The HISTORY QoS can be leveraged to automatically provide Chirps to late 
joiners 
In other terms, depending on applications settings, VORTEX can be leveraged to 
automatically provide an application with the last n chirps produced 
Notice that HISTORY can be “DURABLE” thus making it possible to completely 
decouple in time the availability of history
Copyright PrismTech, 2014 
Durability QoS Policy 
The DURABILITY QoS controls the data availability w.r.t. late joiners, specifically the 
DDS provides the following variants: 
Volatile. No need to keep data instances for late joining data readers 
Transient Local. Data instance availability for late joining data reader is tied to 
the data writer availability 
Transient. Data instance availability outlives the data writer 
Persistent. Data instance availability outlives system restarts
Copyright PrismTech, 2014 Copyright 
2013, 
PrismTech 
– 
All 
Rights 
Reserved. 
Volatile Durability 
Data 
Writer 
Data 
Reader 
QoS 
TopicA 
1 
• No Time Decoupling 
• Readers get only data produced after they joined the Global Data Space
Copyright PrismTech, 2014 Copyright 
2013, 
PrismTech 
– 
All 
Rights 
Reserved. 
Volatile Durability 
Data 
Writer 
QoS 
• No Time Decoupling 
• Readers get only data produced after they joined the Global Data Space 
Late Joiner 
Data 
Reader 
TopicA 
Data 
Reader 
1
Copyright PrismTech, 2014 Copyright 
2013, 
PrismTech 
– 
All 
Rights 
Reserved. 
Volatile Durability 
Data 
Writer 
QoS 
Late Joiner 
• No Time Decoupling 
• Readers get only data produced after they joined the Global Data Space 
Data 
Reader 
TopicA 
Data 
Reader 
1 
2
Copyright PrismTech, 2014 Copyright 
2013, 
PrismTech 
– 
All 
Rights 
Reserved. 
Transient Local Durability 
Data 
Writer 
Data 
Reader 
QoS 
TopicA 
1 
• Some Time Decoupling 
• Data availability is tied to the availability of the data writer and the history settings
Copyright PrismTech, 2014 Copyright 
2013, 
PrismTech 
– 
All 
Rights 
Reserved. 
Transient Local Durability 
Data 
Writer 
Late Joiner 
Data 
Reader 
Data 
Reader 
QoS 
TopicA 
1 
1 
• Some Time Decoupling 
• Data availability is tied to the availability of the data writer and the history settings
Copyright PrismTech, 2014 Copyright 
2013, 
PrismTech 
– 
All 
Rights 
Reserved. 
Transient-Local Durability 
Data 
Writer 
Data 
Reader 
QoS 
TopicA 
Data 
Reader 
2 
1 
1 
1 
• Some Time Decoupling 
• Data availability is tied to the availability of the data writer and the history settings
Copyright PrismTech, 2014 Copyright 
2013, 
PrismTech 
– 
All 
Rights 
Reserved. 
Transient Durability 
Data 
Writer 
Data 
Reader 
QoS 
TopicA 
1 
1 
• Time Decoupling 
• Data availability is tied to the availability of the durability service
Copyright PrismTech, 2014 Copyright 
2013, 
PrismTech 
– 
All 
Rights 
Reserved. 
Transient Durability 
Data 
Writer 
Late Joiner 
Data 
Reader 
QoS 
TopicA 
Data 
Reader 
1 
1 
• Time Decoupling 
• Data availability is tied to the availability of the durability service
Copyright PrismTech, 2014 Copyright 
2013, 
PrismTech 
– 
All 
Rights 
Reserved. 
Transient Durability 
Data 
Writer 
Data 
Reader 
QoS 
TopicA 
Data 
Reader 
2 
1 
1 
1 
2 
• Time Decoupling 
• Data availability is tied to the availability of the durability service
Copyright PrismTech, 2014 Copyright 
2013, 
PrismTech 
– 
All 
Rights 
Reserved. 
Transient Durability 
Data 
Reader 
QoS 
TopicA 
Data 
Reader 
1 
1 
2 
2 
2 1
Copyright PrismTech, 2014 Copyright 
2013, 
PrismTech 
– 
All 
Rights 
Reserved. 
Transient Durability 
1 
1 
Data 
Reader 
2 
Late Joiner 
QoS 
TopicA 
Data 
Reader 
Data 
Reader 
2 
22 11 
• Time Decoupling 
• Data availability is tied to the availability of the durability service
Copyright PrismTech, 2014 
Durability Service Configuration 
Beside the service specific configuration — that we won’t discuss here — it is important 
to understand that the amount of data that the durability service will maintain for a 
given topic is configured using the DurabilityService Policy 
The DurabilityService Policy, defined for topics, can be used to store: 
- The last n samples for each topic instance 
- All samples ever produced for a given Topic (across all its instances) 
Resource constraints can also be specified to limit the maximum amount of data taken 
by a topic 
NOTE: beware that when you dispose an instance its data is removed from the 
Durability Service
Copyright PrismTech, 2014 
Getting Data From the Durability Service 
Data can be retrieved from the Durability Service in two ways 
Automatic Retrieval: Non VOLATILES DataReaders automatically receive a set of 
historical data. How much data is received depends on the DR HISTORY setting and the 
Durability Service (or DW for TRANSIENT_LOCAL) historical settings 
Query-Based Retrieval: Any applications can create a “special” data reader to query the 
Durability Service. Query can predicate on content, as well as time 
- Get all Chirps made by @wolverine in the last 2 days: 
• dr.getHistoricalData(“uid = ‘@wolverine’”, now() - 2 days, now()) 
- Get all Chirps containing the #hashtag “#xmen” in the last day: 
• dr.getHistoricalData(“msg like ‘*#xmen*’”, now() - 1 day, now())
Copyright PrismTech, 2014 
Exploiting VORTEX Durability in ChirpIt 
VORTEX’s Durability can be leveraged to address several different use cases in 
ChirpIt 
Batch Layer: VORTEX durability can be used to persist all the chirps ever 
received by our application. Scalability can be easily achieved by partitioning 
(more later) 
Speed Layer: Views on the data-set can be efficiently created using the 
Durability Service Query API 
Historical Data: Any analytics application as well as end-user application can 
access historical data through either the Automatic or Query-based delivery
Copyright PrismTech, 2014 
ChirpIt Architecture 
Durability 
Service 
stats 
analytics 
data centre 
chirp 
stats 
emotions 
batch 
layer 
chirpit 
apps 
Cloud Messaging 
serving 
layer 
chirp 
emotions 
Chirps chirp 
3rd 
party 
svcs 
chirp 
stats 
emotions 
Speed 
layer 
Chirps 
trend … 
Historical 
Data
Copyright PrismTech, 2014 
Batch Layer Observations 
Beside the Durability Service, you may implement the batch layer via: 
VORTEX Record and Reply (RnR) Service 
3rd Party Big Data Store 
Depending on the specific system requirements one solution may be more 
appropriate than another. Notice however, that the back-ends for both VORTEX 
Durability and RnR are pluggable, thus a big-data store back-end could be easily 
plugged
Copyright PrismTech, 2014 
Big-Data Store Integration 
It is trivial to push Chirps into a big data store such as HBase by using VORTEX 
Gateway 
Just define the following route: 
val chirpURI = "ddsi:ChirpAction:0/com.chirpIt.ChirpAction” 
val hbaseURI = "hbase:chirpit?mappingStrategyName=body&operation=CamelHBasePut" 
// ... 
// Put incoming chirps into an HBase Table 
chirpURI unmarshal(cdrData) process { e2d (_, "chirp") } to(hbaseURI)
Computing Trending 
#hastags
Copyright PrismTech, 2014 
Be Stateless 
A good approach to deal with failures is 
to ensure that applications are stateless 
The application state is maintained 
externally (in our case on VORTEX 
Durability)
Copyright PrismTech, 2014 
#hashtag ranking function 
ChirpIt #hashtag ranking function will be 
stateless 
The latest rankings will be maintained by 
the VORTEX durability service. This allows 
to restore the state after a failure as well 
as easily do aggregations (more later) 
#hashtag 
ranking function 
Ranking 
Chirps 
latest 
ranking 
Ranking 
last 
ranking 
real-­‐time 
data 
As such, the ranking function will consume the latest ranking along with live chirps 
and produce the new ranking for the basic interval (say the shortest interval that 
will define our granularity and from which aggregation will be created)
Copyright PrismTech, 2014 
Trendy #hashtags 
#hashtag 
ranking function 
Durability 
Service 
Ranking 
chirp 
stats 
emotions 
batch 
layer 
chirpit 
apps 
Cloud Messaging 
serving 
layer 
Chirps chirp 
3rd 
party 
svcs 
chirp 
stats 
emotions 
trend … 
Chirps 
latest 
ranking 
Ranking 
last 
ranking 
real-­‐time 
data
Copyright PrismTech, 2014 
Scaling out the #hashtag ranking 
Wait a moment… Do we have a single 
instance of the ranking function? 
How do we scale out? 
How can we partition the load?
Copyright PrismTech, 2014 
Divide et Impera 
@magneto 
It would be a good idea to add more 
structure to our partition to include 
some geographical information 
We take advantage of information 
concerning the continent, country, 
region, and city of the registrant 
@wolverine 
ChirpAction 
@drx 
ChirpAction 
chirp:wolverine 
ChirpAction 
chirp:magneto
Copyright PrismTech, 2014 
Divide et Impera 
@archimede 
By encoding origins in the partitions 
associated with users we can easily and 
efficiently do regional aggregation 
Thus all the chirps in EU would be in 
EU*:chirp:*, while all chirps in 
Siracusa would be 
EU:IT:Siracusa:chirp:* 
@william 
ChirpAction 
@joe 
ChirpAction 
EU:UK:London:chirp:william 
ChirpAction 
NA:CA:Pasadina:chirp:joe 
EU:IT:Siracusa:chirp:archimede 
@antonio 
ChirpAction 
SA:AR:Rosario:chirp:antonio
Copyright PrismTech, 2014 
Scaling out the #hashtag ranking 
With the new partition organisation it is now trivial to scale out the ranking function 
In addition, the application could easily support on-line reconfiguration since we 
may want to consolidate or further distribute the load as the system goes
Copyright PrismTech, 2014 
EU:*:chirp 
EU:*:stats 
NA:*:chirp 
NA:*:stats 
SA:*:chirp 
SA:*:stats 
… 
#hashtag 
ranking 
aggregation 
latest 
aggregated 
ranking 
Ranking 
Ranking 
new 
aggregated 
ranking 
last 
ranking 
*:stats 
global:stats 
Ranking 
global:stats
Copyright PrismTech, 2014 
Some Observations 
The processing pipeline can be easily 
reconfigured at runtime by simply 
changing the partitions expressions on 
which every process operates 
Every single stage in the processing 
pipeline is stateless, its state is 
maintained on the Durability Service 
Hierarchical aggregation can be 
introduced easily too
Copyright PrismTech, 2014 
Ranking Topic 
Notice that the Ranking topic is 
keyless 
The durability service will be 
configured with KeepAll 
struct HashtagScore { 
string hashtag; 
float score; 
}; 
typedef sequence <HashtagScore> HashtagScores; 
struct HashtagRanking { 
long startTS; 
long endTS; 
HashtagScores htscores; 
}; 
#pragma keylist HashtagRanking
Copyright PrismTech, 2014 
Summary 
In this presentation we have seen how the vortex platform can be used to 
implement not only data sharing and distribution but also analytics 
We have seen how VORTEX provide solution for both the batch as well as the 
speed layer thus making it quite easy to implement lambda architectures
Copyright PrismTech, 2014 
Online Resources

More Related Content

What's hot

Micro services Architecture with Vortex -- Part I
Micro services Architecture with Vortex -- Part IMicro services Architecture with Vortex -- Part I
Micro services Architecture with Vortex -- Part IAngelo Corsaro
 
Introducing Vortex Lite
Introducing Vortex LiteIntroducing Vortex Lite
Introducing Vortex LiteAngelo Corsaro
 
Getting Started with Vortex
Getting Started with VortexGetting Started with Vortex
Getting Started with VortexAngelo Corsaro
 
The DDS Security Standard
The DDS Security StandardThe DDS Security Standard
The DDS Security StandardAngelo 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
 
IoT Protocols Integration with Vortex Gateway
IoT Protocols Integration with Vortex GatewayIoT Protocols Integration with Vortex Gateway
IoT Protocols Integration with Vortex GatewayAngelo 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
 
DDS: The IoT Data Sharing Standard
DDS: The IoT Data Sharing StandardDDS: The IoT Data Sharing Standard
DDS: The IoT Data Sharing StandardAngelo 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
 
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
 
Distributed Algorithms with DDS
Distributed Algorithms with DDSDistributed Algorithms with DDS
Distributed Algorithms with DDSAngelo Corsaro
 
Reactive Data Centric Architectures with Vortex, Spark and ReactiveX
Reactive Data Centric Architectures with Vortex, Spark and ReactiveXReactive Data Centric Architectures with Vortex, Spark and ReactiveX
Reactive Data Centric Architectures with Vortex, Spark and ReactiveXAngelo Corsaro
 
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
 
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-WebAngelo Corsaro
 
Reactive Data Centric Architectures with DDS
Reactive Data Centric Architectures with DDSReactive Data Centric Architectures with DDS
Reactive Data Centric Architectures with DDSAngelo Corsaro
 
The DDS Tutorial Part II
The DDS Tutorial Part IIThe DDS Tutorial Part II
The DDS Tutorial Part IIAngelo Corsaro
 
The Data Distribution Service Tutorial
The Data Distribution Service TutorialThe Data Distribution Service Tutorial
The Data Distribution Service TutorialAngelo Corsaro
 
The Data Distribution Service
The Data Distribution ServiceThe Data Distribution Service
The Data Distribution ServiceAngelo Corsaro
 
The DDS Tutorial - Part I
The DDS Tutorial - Part IThe DDS Tutorial - Part I
The DDS Tutorial - Part IAngelo Corsaro
 

What's hot (20)

DDS In Action Part II
DDS In Action Part IIDDS In Action Part II
DDS In Action Part II
 
Micro services Architecture with Vortex -- Part I
Micro services Architecture with Vortex -- Part IMicro services Architecture with Vortex -- Part I
Micro services Architecture with Vortex -- Part I
 
Introducing Vortex Lite
Introducing Vortex LiteIntroducing Vortex Lite
Introducing Vortex Lite
 
Getting Started with Vortex
Getting Started with VortexGetting Started with Vortex
Getting Started with Vortex
 
The DDS Security Standard
The DDS Security StandardThe DDS Security Standard
The DDS Security Standard
 
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
 
IoT Protocols Integration with Vortex Gateway
IoT Protocols Integration with Vortex GatewayIoT Protocols Integration with Vortex Gateway
IoT Protocols Integration with Vortex Gateway
 
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
 
DDS: The IoT Data Sharing Standard
DDS: The IoT Data Sharing StandardDDS: The IoT Data Sharing Standard
DDS: The IoT Data Sharing Standard
 
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
 
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
 
Distributed Algorithms with DDS
Distributed Algorithms with DDSDistributed Algorithms with DDS
Distributed Algorithms with DDS
 
Reactive Data Centric Architectures with Vortex, Spark and ReactiveX
Reactive Data Centric Architectures with Vortex, Spark and ReactiveXReactive Data Centric Architectures with Vortex, Spark and ReactiveX
Reactive Data Centric Architectures with Vortex, Spark and ReactiveX
 
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 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
 
Reactive Data Centric Architectures with DDS
Reactive Data Centric Architectures with DDSReactive Data Centric Architectures with DDS
Reactive Data Centric Architectures with DDS
 
The DDS Tutorial Part II
The DDS Tutorial Part IIThe DDS Tutorial Part II
The DDS Tutorial Part II
 
The Data Distribution Service Tutorial
The Data Distribution Service TutorialThe Data Distribution Service Tutorial
The Data Distribution Service Tutorial
 
The Data Distribution Service
The Data Distribution ServiceThe Data Distribution Service
The Data Distribution Service
 
The DDS Tutorial - Part I
The DDS Tutorial - Part IThe DDS Tutorial - Part I
The DDS Tutorial - Part I
 

Viewers also liked

Stream Processing with DDS and CEP
Stream Processing with  DDS and CEPStream Processing with  DDS and CEP
Stream Processing with DDS and CEPAngelo Corsaro
 
Advanced OpenSplice Programming - Part I
Advanced OpenSplice Programming - Part IAdvanced OpenSplice Programming - Part I
Advanced OpenSplice Programming - Part IAngelo 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
 
Advanced OpenSplice Programming - Part II
Advanced OpenSplice Programming - Part IIAdvanced OpenSplice Programming - Part II
Advanced OpenSplice Programming - Part IIAngelo Corsaro
 
Got Big Data? Get OpenSplice!
Got Big Data? Get OpenSplice!Got Big Data? Get OpenSplice!
Got Big Data? Get OpenSplice!Angelo Corsaro
 
OpenSplice DDS Tutorial -- Part II
OpenSplice DDS Tutorial -- Part IIOpenSplice DDS Tutorial -- Part II
OpenSplice DDS Tutorial -- Part IIAngelo Corsaro
 
20 Tips for OpenSplice Newbies
20 Tips for OpenSplice Newbies20 Tips for OpenSplice Newbies
20 Tips for OpenSplice NewbiesAngelo Corsaro
 
James Powers CEO iLinc keynote at Enterprise Network
James Powers CEO iLinc keynote at Enterprise NetworkJames Powers CEO iLinc keynote at Enterprise Network
James Powers CEO iLinc keynote at Enterprise NetworkKathy Sacks
 
Scientific Applications of The Data Distribution Service
Scientific Applications of The Data Distribution ServiceScientific Applications of The Data Distribution Service
Scientific Applications of The Data Distribution ServiceAngelo Corsaro
 
Platform prototype for ZL Vórtice
Platform prototype for ZL VórticePlatform prototype for ZL Vórtice
Platform prototype for ZL Vórticeadelinegil
 
PCI Compliance: What You Need to Know
PCI Compliance: What You Need to KnowPCI Compliance: What You Need to Know
PCI Compliance: What You Need to KnowSasha Nunke
 
Plan estratgicoparalaspersonasconte aysusfamilias
Plan estratgicoparalaspersonasconte aysusfamiliasPlan estratgicoparalaspersonasconte aysusfamilias
Plan estratgicoparalaspersonasconte aysusfamiliasPepe Jara Cueva
 
Social Media Uprising (Preview)
Social Media Uprising (Preview)Social Media Uprising (Preview)
Social Media Uprising (Preview)oiwan
 
Qualicum engagement.novpptx
Qualicum   engagement.novpptxQualicum   engagement.novpptx
Qualicum engagement.novpptxFaye Brownlie
 

Viewers also liked (16)

Stream Processing with DDS and CEP
Stream Processing with  DDS and CEPStream Processing with  DDS and CEP
Stream Processing with DDS and CEP
 
Advanced OpenSplice Programming - Part I
Advanced OpenSplice Programming - Part IAdvanced OpenSplice Programming - Part I
Advanced OpenSplice Programming - Part I
 
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.
 
Advanced OpenSplice Programming - Part II
Advanced OpenSplice Programming - Part IIAdvanced OpenSplice Programming - Part II
Advanced OpenSplice Programming - Part II
 
Got Big Data? Get OpenSplice!
Got Big Data? Get OpenSplice!Got Big Data? Get OpenSplice!
Got Big Data? Get OpenSplice!
 
OpenSplice DDS v6
OpenSplice DDS v6OpenSplice DDS v6
OpenSplice DDS v6
 
OpenSplice DDS Tutorial -- Part II
OpenSplice DDS Tutorial -- Part IIOpenSplice DDS Tutorial -- Part II
OpenSplice DDS Tutorial -- Part II
 
20 Tips for OpenSplice Newbies
20 Tips for OpenSplice Newbies20 Tips for OpenSplice Newbies
20 Tips for OpenSplice Newbies
 
James Powers CEO iLinc keynote at Enterprise Network
James Powers CEO iLinc keynote at Enterprise NetworkJames Powers CEO iLinc keynote at Enterprise Network
James Powers CEO iLinc keynote at Enterprise Network
 
Scientific Applications of The Data Distribution Service
Scientific Applications of The Data Distribution ServiceScientific Applications of The Data Distribution Service
Scientific Applications of The Data Distribution Service
 
Platform prototype for ZL Vórtice
Platform prototype for ZL VórticePlatform prototype for ZL Vórtice
Platform prototype for ZL Vórtice
 
Bill haley
Bill haleyBill haley
Bill haley
 
PCI Compliance: What You Need to Know
PCI Compliance: What You Need to KnowPCI Compliance: What You Need to Know
PCI Compliance: What You Need to Know
 
Plan estratgicoparalaspersonasconte aysusfamilias
Plan estratgicoparalaspersonasconte aysusfamiliasPlan estratgicoparalaspersonasconte aysusfamilias
Plan estratgicoparalaspersonasconte aysusfamilias
 
Social Media Uprising (Preview)
Social Media Uprising (Preview)Social Media Uprising (Preview)
Social Media Uprising (Preview)
 
Qualicum engagement.novpptx
Qualicum   engagement.novpptxQualicum   engagement.novpptx
Qualicum engagement.novpptx
 

Similar to Vortex Tutorial Part II

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
 
Smart, Secure and Efficient Data Sharing in IoT
Smart, Secure and Efficient Data Sharing in IoTSmart, Secure and Efficient Data Sharing in IoT
Smart, Secure and Efficient Data Sharing in IoTAngelo Corsaro
 
Eclipse IoT Summit 2016: In The Age of IoT Think Data-Centric
Eclipse IoT Summit 2016: In The Age of IoT Think Data-CentricEclipse IoT Summit 2016: In The Age of IoT Think Data-Centric
Eclipse IoT Summit 2016: In The Age of IoT Think Data-CentricToby McClean
 
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 RTPSJaime Martin Losa
 
Fiware: Connecting to robots
Fiware: Connecting to robotsFiware: Connecting to robots
Fiware: Connecting to robotsJaime Martin Losa
 
Two Approaches You Must Consider when Architecting Radar Systems
Two Approaches You Must Consider when Architecting Radar SystemsTwo Approaches You Must Consider when Architecting Radar Systems
Two Approaches You Must Consider when Architecting Radar SystemsReal-Time Innovations (RTI)
 
Real Time Java DDS
Real Time Java DDSReal Time Java DDS
Real Time Java DDSkerush
 
Introduction to DDS
Introduction to DDSIntroduction to DDS
Introduction to DDSRick Warren
 
DDS 2010 Interoperability Demo
DDS 2010 Interoperability DemoDDS 2010 Interoperability Demo
DDS 2010 Interoperability DemoAngelo Corsaro
 
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 ROS2Jaime Martin Losa
 
Cisco Connect Halifax 2018 Application insight and zero trust policies with...
Cisco Connect Halifax 2018   Application insight and zero trust policies with...Cisco Connect Halifax 2018   Application insight and zero trust policies with...
Cisco Connect Halifax 2018 Application insight and zero trust policies with...Cisco Canada
 
Deep Dive into the OPC UA / DDS Gateway Specification
Deep Dive into the OPC UA / DDS Gateway SpecificationDeep Dive into the OPC UA / DDS Gateway Specification
Deep Dive into the OPC UA / DDS Gateway SpecificationGerardo Pardo-Castellote
 
Fog Computing with VORTEX
Fog Computing with VORTEXFog Computing with VORTEX
Fog Computing with VORTEXAngelo Corsaro
 
Keynote Presentation: Hybrid Deployment for RTC PaaS
Keynote Presentation: Hybrid Deployment for RTC PaaSKeynote Presentation: Hybrid Deployment for RTC PaaS
Keynote Presentation: Hybrid Deployment for RTC PaaSXura
 
IRJET- A Survey on Remote Data Possession Verification Protocol in Cloud Storage
IRJET- A Survey on Remote Data Possession Verification Protocol in Cloud StorageIRJET- A Survey on Remote Data Possession Verification Protocol in Cloud Storage
IRJET- A Survey on Remote Data Possession Verification Protocol in Cloud StorageIRJET Journal
 

Similar to Vortex Tutorial Part II (20)

PrismTech Vortex Tutorial Part 1
PrismTech Vortex Tutorial Part 1PrismTech Vortex Tutorial Part 1
PrismTech Vortex Tutorial Part 1
 
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.
 
Introducing Vortex Lite
Introducing Vortex LiteIntroducing Vortex Lite
Introducing Vortex Lite
 
Smart, Secure and Efficient Data Sharing in IoT
Smart, Secure and Efficient Data Sharing in IoTSmart, Secure and Efficient Data Sharing in IoT
Smart, Secure and Efficient Data Sharing in IoT
 
Eclipse IoT Summit 2016: In The Age of IoT Think Data-Centric
Eclipse IoT Summit 2016: In The Age of IoT Think Data-CentricEclipse IoT Summit 2016: In The Age of IoT Think Data-Centric
Eclipse IoT Summit 2016: In The Age of IoT Think Data-Centric
 
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
 
Introduction to RTI DDS
Introduction to RTI DDSIntroduction to RTI DDS
Introduction to RTI DDS
 
Fiware: Connecting to robots
Fiware: Connecting to robotsFiware: Connecting to robots
Fiware: Connecting to robots
 
Two Approaches You Must Consider when Architecting Radar Systems
Two Approaches You Must Consider when Architecting Radar SystemsTwo Approaches You Must Consider when Architecting Radar Systems
Two Approaches You Must Consider when Architecting Radar Systems
 
Real Time Java DDS
Real Time Java DDSReal Time Java DDS
Real Time Java DDS
 
Introduction to DDS
Introduction to DDSIntroduction to DDS
Introduction to DDS
 
DDS 2010 Interoperability Demo
DDS 2010 Interoperability DemoDDS 2010 Interoperability Demo
DDS 2010 Interoperability Demo
 
Introduction to CloudFront
Introduction to CloudFrontIntroduction to CloudFront
Introduction to CloudFront
 
652.ppt
652.ppt652.ppt
652.ppt
 
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
 
Cisco Connect Halifax 2018 Application insight and zero trust policies with...
Cisco Connect Halifax 2018   Application insight and zero trust policies with...Cisco Connect Halifax 2018   Application insight and zero trust policies with...
Cisco Connect Halifax 2018 Application insight and zero trust policies with...
 
Deep Dive into the OPC UA / DDS Gateway Specification
Deep Dive into the OPC UA / DDS Gateway SpecificationDeep Dive into the OPC UA / DDS Gateway Specification
Deep Dive into the OPC UA / DDS Gateway Specification
 
Fog Computing with VORTEX
Fog Computing with VORTEXFog Computing with VORTEX
Fog Computing with VORTEX
 
Keynote Presentation: Hybrid Deployment for RTC PaaS
Keynote Presentation: Hybrid Deployment for RTC PaaSKeynote Presentation: Hybrid Deployment for RTC PaaS
Keynote Presentation: Hybrid Deployment for RTC PaaS
 
IRJET- A Survey on Remote Data Possession Verification Protocol in Cloud Storage
IRJET- A Survey on Remote Data Possession Verification Protocol in Cloud StorageIRJET- A Survey on Remote Data Possession Verification Protocol in Cloud Storage
IRJET- A Survey on Remote Data Possession Verification Protocol in Cloud Storage
 

More from Angelo Corsaro

zenoh: The Edge Data Fabric
zenoh: The Edge Data Fabriczenoh: The Edge Data Fabric
zenoh: The Edge Data FabricAngelo Corsaro
 
Data Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair MonetisationData Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair MonetisationAngelo Corsaro
 
zenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query computezenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query computeAngelo Corsaro
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolAngelo Corsaro
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolAngelo Corsaro
 
Breaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog ComputingBreaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog ComputingAngelo Corsaro
 
fog05: The Fog Computing Infrastructure
fog05: The Fog Computing Infrastructurefog05: The Fog Computing Infrastructure
fog05: The Fog Computing InfrastructureAngelo Corsaro
 
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
 

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

New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 

Recently uploaded (20)

New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 

Vortex Tutorial Part II

  • 1. Vortex Tutorial Part II Angelo Corsaro, PhD Chief Technology Officer angelo.corsaro@prismtech.com
  • 3. Copyright PrismTech, 2014 The Vortex Platform Vortex enables seamless, ubiquitous, efficient and timely data sharing across mobile, embedded, desktop, cloud and web applications Vortex is based on the OMG DDS standard Vortex Device Tools Integration MaaS Vortex Cloud
  • 5. Copyright PrismTech, 2014 ChirpIt Requirements To explore the various features provided by the Vortex platform we will be designing and implementing a micro-blogging platform called ChirpIt. Specifically, we want to support the following features: ChirpIt users should be able to “chirp”, “re-chirp”, “like” and “dislike” trills as well as get detailed statistics The ChirpIt platform should provide information on trending topics — identified by hashtags — as well as trending users Third party services should be able to flexibly access slices of produced trills to perform their own trend analysis ChirpIt should scale to millions of users ChirpIt should be based on a Lambda Architecture
  • 6. Copyright PrismTech, 2014 ChirpIt Architecture stats analytics data centre chirp stats emotions batch layer chirpit apps Cloud Messaging serving layer chirp emotions master dataset view view view 3rd party svcs chirp stats emotions Speed layer
  • 9. Copyright PrismTech, 2014 Calculating Trendy #hashtags As an example of how VORTEX can be used to compute analytics we’ll see how to compute trending topics, as identified by their #hashtag
  • 10. Copyright PrismTech, 2014 ChirpIt Architecture stats analytics data centre chirp stats emotions batch layer chirpit apps Cloud Messaging serving layer chirp emotions Chirps chirp 3rd party svcs chirp stats emotions Speed layer Chirps trend …
  • 11. Copyright PrismTech, 2014 To fully exploit the features provided by VORTEX in our ChirpIt application there are a few more things we need to learn
  • 13. Copyright PrismTech, 2014 QoS Policies VORTEX 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 DURABILITY HISTORY LIFESPAN LIVELINESS DEADLINE LATENCY BUDGET TRANSPORT PRIO TIME-BASED FILTER RESOURCE LIMITS USER DATA TOPIC DATA GROUP DATA OWENERSHIP OWN. STRENGTH DW LIFECYCLE DR LIFECYCLE ENTITY FACTORY DEST. ORDER PARTITION PRESENTATION RELIABILITY RxO QoS Local QoS
  • 14. Copyright PrismTech, 2014 Data Delivery Data Delivery QoS Policies provide control over: who delivers data where data is delivered, and how data is delivered Reliability Ownership Ownership Presentation Destination Partition Order Strength Data Delivery
  • 15. Copyright PrismTech, 2014 Data Delivery Data Delivery QoS Policies provide control over: who delivers data where data is delivered, and how data is delivered Reliability Ownership Ownership Presentation Destination Partition Order Strength Data Delivery
  • 16. Copyright PrismTech, 2014 Data Delivery Data Delivery QoS Policies provide control over: who delivers data where data is delivered, and how data is delivered Reliability Ownership Ownership Presentation Destination Partition Order Strength Data Delivery
  • 17. Copyright PrismTech, 2014 Data Delivery Data Delivery QoS Policies provide control over: who delivers data where data is delivered, and how data is delivered Reliability Ownership Ownership Presentation Destination Partition Order Strength Data Delivery
  • 18. Copyright PrismTech, 2014 Data Availability Data Availability QoS Policies provide control over data availability with respect to: Temporal Decoupling (late Joiners) Temporal Validity History Lifespan Data Availability Durability
  • 19. Copyright PrismTech, 2014 Data Availability Data Availability QoS Policies provide control over data availability with respect to: Temporal Decoupling (late Joiners) Temporal Validity History Lifespan Data Availability Durability
  • 20. Copyright PrismTech, 2014 Data Availability Data Availability QoS Policies provide control over data availability with respect to: Temporal Decoupling (late Joiners) Temporal Validity History Lifespan Data Availability Durability
  • 21. Copyright PrismTech, 2014 Temporal Properties Several policies provide control over temporal properties, specifically: Outbound Throughput Inbound Throughput Latency TimeBasedFilter [Inbound] Throughput [Outbound] Deadline Latency TransportPriority LatencyBudget
  • 22. Copyright PrismTech, 2014 Temporal Properties Several policies provide control over temporal properties, specifically: Outbound Throughput Inbound Throughput Latency TimeBasedFilter [Inbound] Throughput [Outbound] Deadline Latency TransportPriority LatencyBudget
  • 23. Copyright PrismTech, 2014 Temporal Properties Several policies provide control over temporal properties, specifically: Outbound Throughput Inbound Throughput Latency TimeBasedFilter [Inbound] Throughput [Outbound] Deadline Latency TransportPriority LatencyBudget
  • 24. Copyright PrismTech, 2014 Temporal Properties Several policies provide control over temporal properties, specifically: Outbound Throughput Inbound Throughput Latency TimeBasedFilter [Inbound] Throughput [Outbound] Deadline Latency TransportPriority LatencyBudget
  • 25. Copyright PrismTech, 2014 QoS Model 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 Domain Participant joins joins Domain Id produces-in consumes-from RxO QoS Policies DURABILITY DEST. ORDER RELIABILITY LATENCY BUDGET DEADLINE OWENERSHIP LIVELINESS Publisher DataWriter PARTITION Domain Participant Subscriber DataReader offered QoS writes reads Topic requested QoS
  • 26. Useful QoS for ChirpIt
  • 27. Copyright PrismTech, 2014 History QoS Policy The DataWriter HISTORY QoS Policy controls the amount of data that can be made available to late joining DataReaders under TRANSIENT_LOCAL Durability The DataReader HISTORY QoS Policy controls how many samples will be kept on the reader cache - Keep Last. DDS will keep the most recent “depth” samples of each instance of data identified by its key - Keep All. The DDS keep all the samples of each instance of data identified by its key -- up to reaching some configurable resource limits 0 1 2 3 Pressure KeepLast(1) time Pressure time Pressure time KeepLast(3) KeepAll
  • 28. Copyright PrismTech, 2014 Exploiting the History Policy in ChirpIt The HISTORY QoS can be leveraged to automatically provide Chirps to late joiners In other terms, depending on applications settings, VORTEX can be leveraged to automatically provide an application with the last n chirps produced Notice that HISTORY can be “DURABLE” thus making it possible to completely decouple in time the availability of history
  • 29. Copyright PrismTech, 2014 Durability QoS Policy The DURABILITY QoS controls the data availability w.r.t. late joiners, specifically the DDS provides the following variants: Volatile. No need to keep data instances for late joining data readers Transient Local. Data instance availability for late joining data reader is tied to the data writer availability Transient. Data instance availability outlives the data writer Persistent. Data instance availability outlives system restarts
  • 30. Copyright PrismTech, 2014 Copyright 2013, PrismTech – All Rights Reserved. Volatile Durability Data Writer Data Reader QoS TopicA 1 • No Time Decoupling • Readers get only data produced after they joined the Global Data Space
  • 31. Copyright PrismTech, 2014 Copyright 2013, PrismTech – All Rights Reserved. Volatile Durability Data Writer QoS • No Time Decoupling • Readers get only data produced after they joined the Global Data Space Late Joiner Data Reader TopicA Data Reader 1
  • 32. Copyright PrismTech, 2014 Copyright 2013, PrismTech – All Rights Reserved. Volatile Durability Data Writer QoS Late Joiner • No Time Decoupling • Readers get only data produced after they joined the Global Data Space Data Reader TopicA Data Reader 1 2
  • 33. Copyright PrismTech, 2014 Copyright 2013, PrismTech – All Rights Reserved. Transient Local Durability Data Writer Data Reader QoS TopicA 1 • Some Time Decoupling • Data availability is tied to the availability of the data writer and the history settings
  • 34. Copyright PrismTech, 2014 Copyright 2013, PrismTech – All Rights Reserved. Transient Local Durability Data Writer Late Joiner Data Reader Data Reader QoS TopicA 1 1 • Some Time Decoupling • Data availability is tied to the availability of the data writer and the history settings
  • 35. Copyright PrismTech, 2014 Copyright 2013, PrismTech – All Rights Reserved. Transient-Local Durability Data Writer Data Reader QoS TopicA Data Reader 2 1 1 1 • Some Time Decoupling • Data availability is tied to the availability of the data writer and the history settings
  • 36. Copyright PrismTech, 2014 Copyright 2013, PrismTech – All Rights Reserved. Transient Durability Data Writer Data Reader QoS TopicA 1 1 • Time Decoupling • Data availability is tied to the availability of the durability service
  • 37. Copyright PrismTech, 2014 Copyright 2013, PrismTech – All Rights Reserved. Transient Durability Data Writer Late Joiner Data Reader QoS TopicA Data Reader 1 1 • Time Decoupling • Data availability is tied to the availability of the durability service
  • 38. Copyright PrismTech, 2014 Copyright 2013, PrismTech – All Rights Reserved. Transient Durability Data Writer Data Reader QoS TopicA Data Reader 2 1 1 1 2 • Time Decoupling • Data availability is tied to the availability of the durability service
  • 39. Copyright PrismTech, 2014 Copyright 2013, PrismTech – All Rights Reserved. Transient Durability Data Reader QoS TopicA Data Reader 1 1 2 2 2 1
  • 40. Copyright PrismTech, 2014 Copyright 2013, PrismTech – All Rights Reserved. Transient Durability 1 1 Data Reader 2 Late Joiner QoS TopicA Data Reader Data Reader 2 22 11 • Time Decoupling • Data availability is tied to the availability of the durability service
  • 41. Copyright PrismTech, 2014 Durability Service Configuration Beside the service specific configuration — that we won’t discuss here — it is important to understand that the amount of data that the durability service will maintain for a given topic is configured using the DurabilityService Policy The DurabilityService Policy, defined for topics, can be used to store: - The last n samples for each topic instance - All samples ever produced for a given Topic (across all its instances) Resource constraints can also be specified to limit the maximum amount of data taken by a topic NOTE: beware that when you dispose an instance its data is removed from the Durability Service
  • 42. Copyright PrismTech, 2014 Getting Data From the Durability Service Data can be retrieved from the Durability Service in two ways Automatic Retrieval: Non VOLATILES DataReaders automatically receive a set of historical data. How much data is received depends on the DR HISTORY setting and the Durability Service (or DW for TRANSIENT_LOCAL) historical settings Query-Based Retrieval: Any applications can create a “special” data reader to query the Durability Service. Query can predicate on content, as well as time - Get all Chirps made by @wolverine in the last 2 days: • dr.getHistoricalData(“uid = ‘@wolverine’”, now() - 2 days, now()) - Get all Chirps containing the #hashtag “#xmen” in the last day: • dr.getHistoricalData(“msg like ‘*#xmen*’”, now() - 1 day, now())
  • 43. Copyright PrismTech, 2014 Exploiting VORTEX Durability in ChirpIt VORTEX’s Durability can be leveraged to address several different use cases in ChirpIt Batch Layer: VORTEX durability can be used to persist all the chirps ever received by our application. Scalability can be easily achieved by partitioning (more later) Speed Layer: Views on the data-set can be efficiently created using the Durability Service Query API Historical Data: Any analytics application as well as end-user application can access historical data through either the Automatic or Query-based delivery
  • 44. Copyright PrismTech, 2014 ChirpIt Architecture Durability Service stats analytics data centre chirp stats emotions batch layer chirpit apps Cloud Messaging serving layer chirp emotions Chirps chirp 3rd party svcs chirp stats emotions Speed layer Chirps trend … Historical Data
  • 45. Copyright PrismTech, 2014 Batch Layer Observations Beside the Durability Service, you may implement the batch layer via: VORTEX Record and Reply (RnR) Service 3rd Party Big Data Store Depending on the specific system requirements one solution may be more appropriate than another. Notice however, that the back-ends for both VORTEX Durability and RnR are pluggable, thus a big-data store back-end could be easily plugged
  • 46. Copyright PrismTech, 2014 Big-Data Store Integration It is trivial to push Chirps into a big data store such as HBase by using VORTEX Gateway Just define the following route: val chirpURI = "ddsi:ChirpAction:0/com.chirpIt.ChirpAction” val hbaseURI = "hbase:chirpit?mappingStrategyName=body&operation=CamelHBasePut" // ... // Put incoming chirps into an HBase Table chirpURI unmarshal(cdrData) process { e2d (_, "chirp") } to(hbaseURI)
  • 48. Copyright PrismTech, 2014 Be Stateless A good approach to deal with failures is to ensure that applications are stateless The application state is maintained externally (in our case on VORTEX Durability)
  • 49. Copyright PrismTech, 2014 #hashtag ranking function ChirpIt #hashtag ranking function will be stateless The latest rankings will be maintained by the VORTEX durability service. This allows to restore the state after a failure as well as easily do aggregations (more later) #hashtag ranking function Ranking Chirps latest ranking Ranking last ranking real-­‐time data As such, the ranking function will consume the latest ranking along with live chirps and produce the new ranking for the basic interval (say the shortest interval that will define our granularity and from which aggregation will be created)
  • 50. Copyright PrismTech, 2014 Trendy #hashtags #hashtag ranking function Durability Service Ranking chirp stats emotions batch layer chirpit apps Cloud Messaging serving layer Chirps chirp 3rd party svcs chirp stats emotions trend … Chirps latest ranking Ranking last ranking real-­‐time data
  • 51. Copyright PrismTech, 2014 Scaling out the #hashtag ranking Wait a moment… Do we have a single instance of the ranking function? How do we scale out? How can we partition the load?
  • 52. Copyright PrismTech, 2014 Divide et Impera @magneto It would be a good idea to add more structure to our partition to include some geographical information We take advantage of information concerning the continent, country, region, and city of the registrant @wolverine ChirpAction @drx ChirpAction chirp:wolverine ChirpAction chirp:magneto
  • 53. Copyright PrismTech, 2014 Divide et Impera @archimede By encoding origins in the partitions associated with users we can easily and efficiently do regional aggregation Thus all the chirps in EU would be in EU*:chirp:*, while all chirps in Siracusa would be EU:IT:Siracusa:chirp:* @william ChirpAction @joe ChirpAction EU:UK:London:chirp:william ChirpAction NA:CA:Pasadina:chirp:joe EU:IT:Siracusa:chirp:archimede @antonio ChirpAction SA:AR:Rosario:chirp:antonio
  • 54. Copyright PrismTech, 2014 Scaling out the #hashtag ranking With the new partition organisation it is now trivial to scale out the ranking function In addition, the application could easily support on-line reconfiguration since we may want to consolidate or further distribute the load as the system goes
  • 55. Copyright PrismTech, 2014 EU:*:chirp EU:*:stats NA:*:chirp NA:*:stats SA:*:chirp SA:*:stats … #hashtag ranking aggregation latest aggregated ranking Ranking Ranking new aggregated ranking last ranking *:stats global:stats Ranking global:stats
  • 56. Copyright PrismTech, 2014 Some Observations The processing pipeline can be easily reconfigured at runtime by simply changing the partitions expressions on which every process operates Every single stage in the processing pipeline is stateless, its state is maintained on the Durability Service Hierarchical aggregation can be introduced easily too
  • 57. Copyright PrismTech, 2014 Ranking Topic Notice that the Ranking topic is keyless The durability service will be configured with KeepAll struct HashtagScore { string hashtag; float score; }; typedef sequence <HashtagScore> HashtagScores; struct HashtagRanking { long startTS; long endTS; HashtagScores htscores; }; #pragma keylist HashtagRanking
  • 58. Copyright PrismTech, 2014 Summary In this presentation we have seen how the vortex platform can be used to implement not only data sharing and distribution but also analytics We have seen how VORTEX provide solution for both the batch as well as the speed layer thus making it quite easy to implement lambda architectures
  • 59. Copyright PrismTech, 2014 Online Resources