SlideShare une entreprise Scribd logo
1  sur  55
Télécharger pour lire hors ligne
Angelo	
  Corsaro,	
  PhD	
  
Chief	
  Technology	
  Officer	
  
angelo.corsaro@prismtech.com
Vortex Tutorial
Part I
CopyrightPrismTech,2014
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
The Vortex Platform
Vortex Device
Tools
Integration
Vortex Cloud
MaaS
CopyrightPrismTech,2014
Vortex Architecture
Security Model
CopyrightPrismTech,2014
Support for transport level
security via TLS and DTLS
Support for fine grained
access control
Access control plug-in
compliant with DDS Security
Vortex Security Model
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
Use Cases
CopyrightPrismTech,2014
Smart Grids
Analytics
Big	
  Data	
  Store
CopyrightPrismTech,2014
E-Health
Hospital A Private Cloud
Analytics
Big	
  Data	
  Store
Hospital B
CopyrightPrismTech,2014
Smart City
http://bit.ly/connected-boulevard
CopyrightPrismTech,2014
SESAR
PENS
PENS: Pan European Network Service
FDP: Flight Data Processor
CWP: Controller Working Position
IPv6 network SSM support
FDP
FDPFDP
CWP
Tower
Device
FDP
FDPFDP Tower
Device
CWP
FDP
FDPFDP Tower
Device
CWP
FDP
FDPFDP
CWP
Tower
Device
EU Nation 4
EU Nation 1
EU Nation 2
EU Nation 3
Building ChirpIt
CopyrightPrismTech,2014
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
ChirpIt Requirements
CopyrightPrismTech,2014
ChirpIt Architecture
analytics
data centre
chirp
emotions
stats
batch	
  	
  
layer
chirpit	
  apps
Cloud Messaging
serving	
  	
  
layer
chirp
emotions
stats
master	
  
dataset
view view view
chirp
emotions
stats
3rd	
  party	
  svcs
Speed	
  	
  
layer
The Data Distribution
Service
CopyrightPrismTech,2014
DDS provides a Global Data Space
abstraction that allows applications
to autonomously, anonymously,
securely and efficiently share data
DDS’ Global Data Space is fully
distributed (decentralised), highly
efficient and scalable
Data Distribution Service (DDS)
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
DataWriters and DataReaders are
automatically and dynamically
matched by the DDS Discovery
A rich set of QoS allows to control
existential, temporal, and spatial
properties of data
Data Distribution Service (DDS)
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
Elegant and High Level Data Sharing Abstraction
Polyglot and platform independent
• Java, Scala, C, C++, C#, JavaScript, CoffeeScript etc.
• Android, Windows, Linux, VxWorks, etc.
Peer-to-Peer by nature, Brokered when useful
Key Highlights
CopyrightPrismTech,2014
Content and Temporal Filtering (both sender and receiver filtering supported)
Queries
20+ QoS to control existential, temporal, and spatial properties of data
Key Highlights
CopyrightPrismTech,2014
High Performance and Scalable
• ~30 usec latency*
• 7M msgs/sec node-to-node throughput*
Key Highlights
(*) Performance measured on Linux Host with i7 processor on a 1Gbps Ethernet network
Decomposing DDS
Information
Organisation
CopyrightPrismTech,2014
DDS data lives within a domain
A domain is identified with a non
negative integer, such as 1, 3, 31
The number 0 identifies the default
domain
A domain represent an impassable
communication plane
Domain
DDS Domain
CopyrightPrismTech,2014
Partitions are the mechanism provided by DDS to organise information within a
domain
Access to partitions is controlled through QoS Policies
Partitions are defined as strings:
- “system:telemetry”
- “system:log”
- “data:row-2:col-3”
Partitions addressed by name or regular expressions:
- ”system:telemetry”
- “data:row-2:col-*”
Partitions
Partitions
Information Definition
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
...
TopicA
QoS
TopicB
QoS
TopicC
QoS
TopicD
QoS
CopyrightPrismTech,2014
As explained in the previous slide a topic defines a class/type of information
Topics can be defined as Singleton or can have multiple Instances
Topic Instances are identified by means of the topic key
A Topic Key is identified by a tuple of attributes -- like in databases
Remarks:
- A Singleton topic has a single domain-wide instance
- A “regular” Topic can have as many instances as the number of different key
values, e.g., if the key is an 8-bit character then the topic can have 256 different
instances
Topic and Instances
ChirpIt Data Model
CopyrightPrismTech,2014
Chirp Actions
	
  	
  	
  union	
  ChirpBody	
  switch	
  (ChirpActionKind)	
  {	
  
	
  	
  	
  	
  case	
  CHIRP_KIND:	
  
	
  	
  	
  	
  	
  	
  string<128>	
  chirp;	
  
	
  	
  	
  	
  case	
  RECHIRP_KIND:	
  
	
  	
  	
  	
  	
  	
  string<128>	
  chirp;	
  
	
  	
  	
  	
  	
  	
  string	
  user;	
  
	
  	
  	
  	
  case	
  LIKE_KIND:	
  
	
  	
  	
  	
  	
  	
  string	
  luser;	
  
	
  	
  	
  	
  case	
  DISLIKE_KIND:	
  
	
  	
  	
  	
  	
  	
  string	
  duser;	
  
	
  	
  	
  	
  };	
  
!
	
  	
  	
  	
  	
  
	
  	
  	
  	
  struct	
  ChirpAction	
  {	
  
	
  	
  	
  	
  	
  	
  ChirpHeader	
  header;	
  
	
  	
  	
  	
  	
  	
  ChirpBody	
  	
  	
  body;	
  
	
  	
  	
  	
  };	
  
	
  	
  	
  	
  #pragma	
  keylist	
  ChirpAction	
  header.id.cid	
  
	
  
	
  	
  	
  struct	
  ChirpId	
  {	
  
	
  	
  	
  	
  	
  	
  string	
  uid;	
  
	
  	
  	
  	
  	
  	
  string	
  cid;	
  
	
  	
  	
  	
  };	
  
!
	
  	
  	
  	
  enum	
  ChirpActionKind	
  {	
  
	
  	
  	
  	
  	
  	
  CHIRP_KIND,	
  RECHIRP_KIND,	
  	
  
	
  	
  	
  	
  	
  	
  LIKE_KIND,	
  DISLIKE_KIND	
  
	
  	
  	
  	
  };	
  
	
  	
  	
  	
  	
  
	
  	
  	
  	
  struct	
  ChirpHeader	
  {	
  
	
  	
  	
  	
  	
  	
  ChirpId	
  id;	
  
	
  	
  	
  	
  	
  	
  Location	
  location;	
  
	
  	
  	
  	
  	
  	
  unsigned	
  long	
  long	
  timestamp;	
  
	
  	
  	
  	
  	
  	
  ChirpActionKind	
  kind;	
  
	
  	
  	
  	
  };	
  
	
  	
  	
  	
  	
  
CopyrightPrismTech,2014
ChirpIt Statistics
	
  	
  	
  	
  struct	
  ChirpStats	
  {	
  
	
  	
  	
  	
  	
  	
  ChirpId	
  id;	
  
	
  	
  	
  	
  	
  	
  unsigned	
  long	
  rechirps;	
  
	
  	
  	
  	
  	
  	
  unsigned	
  long	
  likes;	
  
	
  	
  	
  	
  };	
  
	
  	
  	
  	
  #pragma	
  keylist	
  ChirpStats	
  id.cid	
  
	
  	
  	
  	
  struct	
  UserStats	
  {	
  
	
  	
  	
  	
  	
  	
  string	
  userId;	
  
	
  	
  	
  	
  	
  	
  unsigned	
  long	
  followers;	
  
	
  	
  	
  	
  	
  	
  unsigned	
  long	
  chirps;	
  
	
  	
  	
  	
  	
  	
  unsigned	
  long	
  followed;	
  
	
  	
  	
  	
  };	
  
	
  	
  	
  	
  #pragma	
  keylist	
  UserStats	
  userId	
  
CopyrightPrismTech,2014
User Actions
	
  	
  	
  	
  struct	
  enum	
  UserActionKind	
  {	
  
	
  	
  	
  	
  	
  	
  FOLLOW,	
  UNFOLLOW	
  
	
  	
  	
  	
  };	
  
	
  	
  	
  	
  	
  
	
  	
  	
  	
  struct	
  UserAction	
  {	
  
	
  	
  	
  	
  	
  	
  UserActionKind	
  kind;	
  
	
  	
  	
  	
  	
  	
  string	
  fromUser;	
  
	
  	
  	
  	
  	
  	
  string	
  toUser;	
  
	
  	
  	
  	
  };	
  
CopyrightPrismTech,2014
App Config
	
  	
  	
  	
  typedef	
  sequence<string>	
  Partitions;	
  
!
	
  	
  	
  	
  struct	
  AppConfig	
  {	
  
	
  	
  	
  	
  	
  	
  string	
  userId;	
  
	
  	
  	
  	
  	
  	
  Partitions	
  ps;	
  
	
  	
  	
  	
  	
  	
  unsigned	
  short	
  history;	
  
	
  	
  	
  	
  };	
  	
  	
  
	
  	
  	
  	
  #pragma	
  keylist	
  UserConfig	
  userId	
  
ChirpIt Information
Scoping
CopyrightPrismTech,2014
To make the system scale properly we need to ensure that the chirps, rechirps,
etc., are distributed only to the interested parties
As we have a single topic representing chirp actions, how can we ensure that
information is received only by followers?
DDS Provides two mechanisms:
- Partitions: Allow to create information scopes
- Content Filters: Allow to receive the data that satisfy certains predicates
Scoping Information
CopyrightPrismTech,2014
ChirpIt Architecture
ChirpAction
@wolverine
@drx
chirp:wolverine
ChirpAction
@drx	
  follows	
  @wolverine
CopyrightPrismTech,2014
@drx
ChirpAction
ChirpIt Architecture
data centre
ChirpAction
@wolverine
chirp:wolverine
ChirpAction
@magneto
chirp:magneto
@drx	
  follows	
  @wolverine	
  and	
  @magneto
CopyrightPrismTech,2014
In summary partitions are used to scope information
Each user will “join” a partition for each followed party
Example:
- If @drx follows @magneto, @wolverine, @cyclops and @mistique then he will
receive ChirpActions from the partitions:
• chirp:@magneto, chirp:@wolverine, chirp:@cyclops and chirp:@mistique
- On the other hand, regardless of the people that follows @wolverine he will always
and only write ChirpActions in the partitions
• chirp:@wolverine
Using Partitions to Scope Chirps
Producing Information
CopyrightPrismTech,2014
A DataWriter (DW) is a strongly typed entity used
to produce samples for one or more instances of
a Topic, with a given QoS
Conceptually, the DataWriter QoS should be the
same as the Topic QoS or more stringent
However, DDS does enforce a specific relationship
between the Topic and DataWriter QoS
DataWriter
DW
Type
Topic
QoS
CopyrightPrismTech,2014
The DataWriter controls the life-cycle of Topic
Instances and allows to:
Define a new topic instance
Write samples for a topic instance
Dispose the topic instance
DataWriter
DW
Type
Topic
QoS
Consuming Information
CopyrightPrismTech,2014
A DataReader (DR) is a strongly typed entity used to
access and/or consume samples for a Topic, with a
given QoS
Conceptually, the DataReader QoS should be the
same as the Topic QoS or less stringent
However, DDS does enforce a specific relationship
between the Topic and DataReader QoS
DataReader
DR
Type
Topic
QoS
Putting all Together
CopyrightPrismTech,2014
DomainParticipant: Provides access to a data cloud -- called a domain in DDS
Topic: Domain-wide definition of a kind of Information
Publisher/Subscriber: Provide scope to data sharing through the concept of partitions
DataReader/DataWriter: Allow to read/write data for a given topic in the partitions their Subscriber/Publisher are associated with.
DDS Entities
Domain (e.g. Domain 123)
Domain
Participant
Topic
Publisher
DataWrter
Subscriber
DataReader
Partition (e.g. “Telemetry”, “Shapes”, )
Topic Instances/Samples
Ta
Tb
Tc
Tx
Ty
T1
T1 T3
ChirpIt Implementation
— Chirping —
CopyrightPrismTech,2014
ChirpOut App
	
  	
  	
  	
  	
  	
  //	
  Domain	
  Participant	
  defined	
  by	
  dependency	
  injection	
  
	
  	
  	
  	
  	
  	
  	
  
	
  	
  	
  	
  	
  	
  //	
  Define	
  the	
  topic	
  
	
  	
  	
  	
  	
  	
  val	
  topic	
  =	
  Topic[ChirpAction](Config.ChirpActionTopic)	
  
	
  	
  	
  	
  	
  	
  //	
  Define	
  the	
  publisher	
  and	
  link-­‐it	
  up	
  to	
  the	
  “chirp:@user”	
  partition	
  
	
  	
  	
  	
  	
  	
  val	
  pubQos	
  =	
  PublisherQos()	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  .withPolicy(Partition(Config.ChirpRootPartition	
  +	
  user))	
  
	
  	
  	
  	
  	
  	
  implicit	
  val	
  pub	
  =	
  Publisher(pubQos)	
  
	
  	
  	
  	
  	
  	
  //	
  Define	
  the	
  data	
  writer	
  and	
  make	
  it	
  reliable	
  and	
  for	
  the	
  time	
  being	
  
	
  	
  	
  	
  	
  	
  //	
  Transient	
  Local…	
  Will	
  refined	
  this	
  in	
  the	
  Part	
  II	
  
	
  	
  	
  	
  	
  	
  val	
  dwQos	
  =	
  DataWriterQos().withPolicies(	
  
	
  	
  	
  	
  	
  	
  	
  	
  Reliability.Reliable,	
  
	
  	
  	
  	
  	
  	
  	
  	
  Durability.TransientLocal)	
  
	
  	
  	
  	
  	
  	
  //	
  Create	
  the	
  DataWriter	
  
	
  	
  	
  	
  	
  	
  val	
  dw	
  =	
  DataWriter[ChirpAction](pub,	
  topic,	
  dwQos)	
  
	
  	
  	
  	
  	
  	
  //	
  Chirp!!!	
  
	
  	
  	
  	
  	
  	
  val	
  chirp	
  =	
  …	
  
	
  	
  	
  	
  	
  	
  dw.write(chirp)
CopyrightPrismTech,2014
ChirpIn
	
  	
  	
  	
  	
  	
  //	
  Domain	
  Participant	
  defined	
  by	
  dependency	
  injection	
  
	
  	
  	
  	
  	
  	
  	
  
	
  	
  	
  	
  	
  	
  //	
  Define	
  the	
  topic	
  
	
  	
  	
  	
  	
  	
  val	
  topic	
  =	
  Topic[ChirpAction](Config.ChirpActionTopic)	
  
	
  	
  	
  	
  	
  	
  //	
  Define	
  the	
  subscribe	
  and	
  link-­‐it	
  up	
  to	
  the	
  partition	
  associated	
  to	
  
	
  	
  	
  	
  	
  	
  //	
  the	
  user	
  followed	
  
	
  	
  	
  	
  	
  	
  val	
  subQos	
  =	
  PublisherQos()	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  .withPolicy(Partition(followerList.map(Config.ChirpRootPartition	
  +	
  _))	
  
	
  	
  	
  	
  	
  	
  implicit	
  val	
  sub	
  =	
  Subscriber(subQos)	
  
	
  	
  	
  	
  	
  	
  //	
  Define	
  the	
  data	
  reader	
  and	
  make	
  it	
  reliable	
  and	
  for	
  the	
  time	
  being	
  
	
  	
  	
  	
  	
  	
  //	
  Transient	
  Local…	
  Will	
  refined	
  this	
  in	
  the	
  Part	
  II	
  
	
  	
  	
  	
  	
  	
  val	
  drQos	
  =	
  DataReaderQos().withPolicies(	
  
	
  	
  	
  	
  	
  	
  	
  	
  Reliability.Reliable,	
  
	
  	
  	
  	
  	
  	
  	
  	
  Durability.TransientLocal)	
  
	
  	
  	
  	
  	
  	
  //	
  Create	
  the	
  DataWriter	
  
	
  	
  	
  	
  	
  	
  val	
  dr	
  =	
  DataReader[ChirpAction](sub,	
  topic,	
  drQos)	
  
CopyrightPrismTech,2014
ChirpIn
//	
  React	
  to	
  new	
  Chirp	
  
dr	
  listen	
  {	
  
	
  	
  	
  case	
  DataAvailable(_)	
  =>	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  //	
  take	
  vs.	
  read	
  will	
  become	
  clear	
  in	
  Part	
  II	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  val	
  samples	
  =	
  dr.take()	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  //	
  For	
  the	
  time	
  being	
  simply	
  print-­‐out	
  the	
  new	
  chirps	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  samples	
  
	
   	
   	
   .filter(s	
  =>	
  (s.getData	
  !=	
  null))	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  .foreach(s	
  =>	
  displayChirp)	
  
	
  	
  	
  	
  	
  	
  	
  	
  }	
  	
  
}
CopyrightPrismTech,2014
ChirpOut App
// Define the topic — assuming the topic is registered with the server…!
topic = new dds.Topic(0, 'Chirp', ‘com.ChirpIt’)!
// Define the data writer Qos!
dwQos = new dds.DataWriterQos(!
dds.Reliability.Reliable, !
dds.Durability.TranslientLocal,!
dds.Partition(userPartition))!
!
// Use an Option monad to maintain the writer!
chirpWriter = z_.None!
!
// Create the writer when the runtime is connected!
runtime.onconnect(() ->!
dw = new dds.DataWriter(runtime, topic, dwQos)!
chirpWriter = z_.Some(dw)!
)!
!
// …!
// Write chirps!
chirp = …!
chirpWriter.map((dw) -> dw.write(chirp))!
CopyrightPrismTech,2014
ChirpIn App
// Define the topic — assuming the topic is registered with the server…!
topic = new dds.Topic(0, 'Chirp', ‘com.ChirpIt’)!
// Define the data reader Qos!
drQos = new dds.DataWriterQos(!
dds.Reliability.Reliable, !
dds.Durability.TranslientLocal,!
dds.Partition(followedList))!
!
// Use an Option monad to maintain the reader!
chirpReader = z_.None!
!
// Create the writer when the runtime is connected!
runtime.onconnect(() ->!
dr = new dds.DataReader(runtime, topic, dwQos)!
// Attach a listener!
dr.addListener((chirp) -> diplayChirp(chirp))!
chirpReader = z_.Some(dr)!
)
CopyrightPrismTech,2014
ChirpIt Thus Far…
data centre
chirp
emotions
stats
chirp
emotions
stats
chirp
emotions
stats
chirp
emotions
stats
Live Demo
CopyrightPrismTech,2014
$ ./chirpOut @wolverin
chirp>> @magneto will win!$ ./chirpOut @magneto
@magneto>> @wolverine chirping while asleep… again!
Download the package zip or tar.gz package available at:
- https://dl.dropboxusercontent.com/u/19238968/webcast/2014/10/chirpit.zip
- https://dl.dropboxusercontent.com/u/19238968/webcast/2014/10/chirpit.tar.gz
Extract the package somewhere in your file-system and open a terminal at that
location and run the app as shown below
ChirpIt Demo
$ ./chirpIn @magneto @wolverinse @mystique
@wolverin>> @magneto will win!
@magneto>> @wolverine chirping while asleep… again!
CopyrightPrismTech,2014
In Part II we extend our implementation to manage application configuration
storage and analytics
To do so, we will need to introduce additional features provided by the DDS and
the Vortex Platform, such as Durability and Integration with Big-Data Stores
What’s Next
CopyrightPrismTech,2014
In this presentation we have performed the first step toward implementing a
micro-blogging platform
The combination of Vortex Device and Vortex Cloud made it very easy to create
and deploy our Internet-Scale, multi-device micro-blogging platform
Some of the DDS QoS, such as Durability have already shown how historical
data, i.e. chirps made while we were offline — can be provided by the platform
The Part II will illustrate how the complete application fits together and what is
the role of Vortex in the Lambda Architecture
Summary
CopyrightPrismTech,2014
Online Resources

Contenu connexe

Tendances

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
 
Microservices Architecture with Vortex — Part II
Microservices Architecture with Vortex — Part IIMicroservices Architecture with Vortex — Part II
Microservices Architecture with Vortex — Part IIAngelo 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
 
Ciphertext policy Attribute based Encryption with anonymous access policy
Ciphertext policy Attribute based Encryption with anonymous access policy Ciphertext policy Attribute based Encryption with anonymous access policy
Ciphertext policy Attribute based Encryption with anonymous access policy ijp2p
 
DDS-XRCE (Extremely Resource Constrained Environments)
DDS-XRCE (Extremely Resource Constrained Environments)DDS-XRCE (Extremely Resource Constrained Environments)
DDS-XRCE (Extremely Resource Constrained Environments)Gerardo Pardo-Castellote
 
RSA and RC4 Cryptosystem Performance Evaluation Using Image and Text
RSA and RC4 Cryptosystem Performance Evaluation Using Image and TextRSA and RC4 Cryptosystem Performance Evaluation Using Image and Text
RSA and RC4 Cryptosystem Performance Evaluation Using Image and TextYekini Nureni
 
Access control in decentralized online social networks applying a policy hidi...
Access control in decentralized online social networks applying a policy hidi...Access control in decentralized online social networks applying a policy hidi...
Access control in decentralized online social networks applying a policy hidi...IGEEKS TECHNOLOGIES
 
Implementation of-hybrid-cryptography-algorithm
Implementation of-hybrid-cryptography-algorithmImplementation of-hybrid-cryptography-algorithm
Implementation of-hybrid-cryptography-algorithmIjcem Journal
 
A Review on Various Most Common Symmetric Encryptions Algorithms
A Review on Various Most Common Symmetric Encryptions AlgorithmsA Review on Various Most Common Symmetric Encryptions Algorithms
A Review on Various Most Common Symmetric Encryptions Algorithmsijsrd.com
 
SECURE CLOUD STORAGE USING DENIABLE ATTRIBUTE BASED ENCRYPTION
SECURE CLOUD STORAGE USING DENIABLE ATTRIBUTE BASED ENCRYPTIONSECURE CLOUD STORAGE USING DENIABLE ATTRIBUTE BASED ENCRYPTION
SECURE CLOUD STORAGE USING DENIABLE ATTRIBUTE BASED ENCRYPTIONadeij1
 
A comparative study of symmetric key algorithm des, aes and blowfish for vide...
A comparative study of symmetric key algorithm des, aes and blowfish for vide...A comparative study of symmetric key algorithm des, aes and blowfish for vide...
A comparative study of symmetric key algorithm des, aes and blowfish for vide...pankaj kumari
 
Listening at the Cocktail Party with Deep Neural Networks and TensorFlow
Listening at the Cocktail Party with Deep Neural Networks and TensorFlowListening at the Cocktail Party with Deep Neural Networks and TensorFlow
Listening at the Cocktail Party with Deep Neural Networks and TensorFlowDatabricks
 
Object Striping In Swift_OpenStack HongKong Summit 2013_v2.2
Object Striping In Swift_OpenStack HongKong Summit 2013_v2.2Object Striping In Swift_OpenStack HongKong Summit 2013_v2.2
Object Striping In Swift_OpenStack HongKong Summit 2013_v2.2Shriram Pore
 
Master thesis 14023164
Master thesis 14023164Master thesis 14023164
Master thesis 14023164Thivya Devaraj
 
iaetsd Secured multiple keyword ranked search over encrypted databases
iaetsd Secured multiple keyword ranked search over encrypted databasesiaetsd Secured multiple keyword ranked search over encrypted databases
iaetsd Secured multiple keyword ranked search over encrypted databasesIaetsd Iaetsd
 
Sharing Secured Scalable Data in Cloud Environment Using Key Aggregate Crypto...
Sharing Secured Scalable Data in Cloud Environment Using Key Aggregate Crypto...Sharing Secured Scalable Data in Cloud Environment Using Key Aggregate Crypto...
Sharing Secured Scalable Data in Cloud Environment Using Key Aggregate Crypto...IRJET Journal
 

Tendances (17)

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
 
Microservices Architecture with Vortex — Part II
Microservices Architecture with Vortex — Part IIMicroservices Architecture with Vortex — Part II
Microservices Architecture with Vortex — Part II
 
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
 
Ciphertext policy Attribute based Encryption with anonymous access policy
Ciphertext policy Attribute based Encryption with anonymous access policy Ciphertext policy Attribute based Encryption with anonymous access policy
Ciphertext policy Attribute based Encryption with anonymous access policy
 
DDS-XRCE (Extremely Resource Constrained Environments)
DDS-XRCE (Extremely Resource Constrained Environments)DDS-XRCE (Extremely Resource Constrained Environments)
DDS-XRCE (Extremely Resource Constrained Environments)
 
Nwc rsa
Nwc rsaNwc rsa
Nwc rsa
 
RSA and RC4 Cryptosystem Performance Evaluation Using Image and Text
RSA and RC4 Cryptosystem Performance Evaluation Using Image and TextRSA and RC4 Cryptosystem Performance Evaluation Using Image and Text
RSA and RC4 Cryptosystem Performance Evaluation Using Image and Text
 
Access control in decentralized online social networks applying a policy hidi...
Access control in decentralized online social networks applying a policy hidi...Access control in decentralized online social networks applying a policy hidi...
Access control in decentralized online social networks applying a policy hidi...
 
Implementation of-hybrid-cryptography-algorithm
Implementation of-hybrid-cryptography-algorithmImplementation of-hybrid-cryptography-algorithm
Implementation of-hybrid-cryptography-algorithm
 
A Review on Various Most Common Symmetric Encryptions Algorithms
A Review on Various Most Common Symmetric Encryptions AlgorithmsA Review on Various Most Common Symmetric Encryptions Algorithms
A Review on Various Most Common Symmetric Encryptions Algorithms
 
SECURE CLOUD STORAGE USING DENIABLE ATTRIBUTE BASED ENCRYPTION
SECURE CLOUD STORAGE USING DENIABLE ATTRIBUTE BASED ENCRYPTIONSECURE CLOUD STORAGE USING DENIABLE ATTRIBUTE BASED ENCRYPTION
SECURE CLOUD STORAGE USING DENIABLE ATTRIBUTE BASED ENCRYPTION
 
A comparative study of symmetric key algorithm des, aes and blowfish for vide...
A comparative study of symmetric key algorithm des, aes and blowfish for vide...A comparative study of symmetric key algorithm des, aes and blowfish for vide...
A comparative study of symmetric key algorithm des, aes and blowfish for vide...
 
Listening at the Cocktail Party with Deep Neural Networks and TensorFlow
Listening at the Cocktail Party with Deep Neural Networks and TensorFlowListening at the Cocktail Party with Deep Neural Networks and TensorFlow
Listening at the Cocktail Party with Deep Neural Networks and TensorFlow
 
Object Striping In Swift_OpenStack HongKong Summit 2013_v2.2
Object Striping In Swift_OpenStack HongKong Summit 2013_v2.2Object Striping In Swift_OpenStack HongKong Summit 2013_v2.2
Object Striping In Swift_OpenStack HongKong Summit 2013_v2.2
 
Master thesis 14023164
Master thesis 14023164Master thesis 14023164
Master thesis 14023164
 
iaetsd Secured multiple keyword ranked search over encrypted databases
iaetsd Secured multiple keyword ranked search over encrypted databasesiaetsd Secured multiple keyword ranked search over encrypted databases
iaetsd Secured multiple keyword ranked search over encrypted databases
 
Sharing Secured Scalable Data in Cloud Environment Using Key Aggregate Crypto...
Sharing Secured Scalable Data in Cloud Environment Using Key Aggregate Crypto...Sharing Secured Scalable Data in Cloud Environment Using Key Aggregate Crypto...
Sharing Secured Scalable Data in Cloud Environment Using Key Aggregate Crypto...
 

En vedette

Villanueva descendants
Villanueva   descendantsVillanueva   descendants
Villanueva descendantsAFJDS
 
Aeg upute za rad
Aeg upute za radAeg upute za rad
Aeg upute za radarizan888
 
Témoignage : Yannis ANT
Témoignage : Yannis ANTTémoignage : Yannis ANT
Témoignage : Yannis ANTCarole Bredard
 
Éco actu n°19
Éco actu n°19Éco actu n°19
Éco actu n°19AudéLor
 
Estadísticas ICCA 2002-2011
Estadísticas ICCA 2002-2011Estadísticas ICCA 2002-2011
Estadísticas ICCA 2002-2011CEGOS Turismo
 
Asegure el cumplimiento de Normativas Regulatorias, Evite Errores Costosos y ...
Asegure el cumplimiento de Normativas Regulatorias, Evite Errores Costosos y ...Asegure el cumplimiento de Normativas Regulatorias, Evite Errores Costosos y ...
Asegure el cumplimiento de Normativas Regulatorias, Evite Errores Costosos y ...Rocket Software ALM
 
Sub Saharan Africa Vocab GEN
Sub Saharan Africa Vocab GENSub Saharan Africa Vocab GEN
Sub Saharan Africa Vocab GENordovensky
 
Interoute 2013
Interoute 2013Interoute 2013
Interoute 2013pdelmazo
 
Creating the Hickstead Statue
Creating the Hickstead StatueCreating the Hickstead Statue
Creating the Hickstead StatueMary Sand
 
Вестник Союза франчайзинга
Вестник Союза франчайзингаВестник Союза франчайзинга
Вестник Союза франчайзингаAndrey Kryvonos
 
Pavillon France @SLUSH 2015
Pavillon France @SLUSH 2015Pavillon France @SLUSH 2015
Pavillon France @SLUSH 2015Foued KEFIF
 
Redes Sociais - Sou mais Web - julho/2009
Redes Sociais - Sou mais Web - julho/2009Redes Sociais - Sou mais Web - julho/2009
Redes Sociais - Sou mais Web - julho/2009Camila Leite
 
Foncier économique et locaux d’activités dans le Pays de Lorient. Évolution 2...
Foncier économique et locaux d’activités dans le Pays de Lorient. Évolution 2...Foncier économique et locaux d’activités dans le Pays de Lorient. Évolution 2...
Foncier économique et locaux d’activités dans le Pays de Lorient. Évolution 2...AudéLor
 
Ningbo Focus 2011
Ningbo Focus 2011Ningbo Focus 2011
Ningbo Focus 2011Helge1967
 
Asus eee-pc-1101 ha-netbook-manual
Asus eee-pc-1101 ha-netbook-manualAsus eee-pc-1101 ha-netbook-manual
Asus eee-pc-1101 ha-netbook-manualMarcio J. Silva
 
igus® : Câbles Chainflex®
igus® : Câbles Chainflex®  igus® : Câbles Chainflex®
igus® : Câbles Chainflex® igus France
 

En vedette (20)

Villanueva descendants
Villanueva   descendantsVillanueva   descendants
Villanueva descendants
 
Aeg upute za rad
Aeg upute za radAeg upute za rad
Aeg upute za rad
 
Témoignage : Yannis ANT
Témoignage : Yannis ANTTémoignage : Yannis ANT
Témoignage : Yannis ANT
 
Top 25 Toxic VA Air Zips.2015.b
Top 25 Toxic VA Air Zips.2015.bTop 25 Toxic VA Air Zips.2015.b
Top 25 Toxic VA Air Zips.2015.b
 
Éco actu n°19
Éco actu n°19Éco actu n°19
Éco actu n°19
 
Estadísticas ICCA 2002-2011
Estadísticas ICCA 2002-2011Estadísticas ICCA 2002-2011
Estadísticas ICCA 2002-2011
 
Asegure el cumplimiento de Normativas Regulatorias, Evite Errores Costosos y ...
Asegure el cumplimiento de Normativas Regulatorias, Evite Errores Costosos y ...Asegure el cumplimiento de Normativas Regulatorias, Evite Errores Costosos y ...
Asegure el cumplimiento de Normativas Regulatorias, Evite Errores Costosos y ...
 
Flv01 feb2009
Flv01 feb2009Flv01 feb2009
Flv01 feb2009
 
Sub Saharan Africa Vocab GEN
Sub Saharan Africa Vocab GENSub Saharan Africa Vocab GEN
Sub Saharan Africa Vocab GEN
 
Interoute 2013
Interoute 2013Interoute 2013
Interoute 2013
 
Creating the Hickstead Statue
Creating the Hickstead StatueCreating the Hickstead Statue
Creating the Hickstead Statue
 
Вестник Союза франчайзинга
Вестник Союза франчайзингаВестник Союза франчайзинга
Вестник Союза франчайзинга
 
Pavillon France @SLUSH 2015
Pavillon France @SLUSH 2015Pavillon France @SLUSH 2015
Pavillon France @SLUSH 2015
 
Redes Sociais - Sou mais Web - julho/2009
Redes Sociais - Sou mais Web - julho/2009Redes Sociais - Sou mais Web - julho/2009
Redes Sociais - Sou mais Web - julho/2009
 
Foncier économique et locaux d’activités dans le Pays de Lorient. Évolution 2...
Foncier économique et locaux d’activités dans le Pays de Lorient. Évolution 2...Foncier économique et locaux d’activités dans le Pays de Lorient. Évolution 2...
Foncier économique et locaux d’activités dans le Pays de Lorient. Évolution 2...
 
Ningbo Focus 2011
Ningbo Focus 2011Ningbo Focus 2011
Ningbo Focus 2011
 
0809023
08090230809023
0809023
 
Asus eee-pc-1101 ha-netbook-manual
Asus eee-pc-1101 ha-netbook-manualAsus eee-pc-1101 ha-netbook-manual
Asus eee-pc-1101 ha-netbook-manual
 
igus® : Câbles Chainflex®
igus® : Câbles Chainflex®  igus® : Câbles Chainflex®
igus® : Câbles Chainflex®
 
CASE Network Report 66 - Prospects for EU-Ukraine Economic Relations
CASE Network Report 66 - Prospects for EU-Ukraine Economic RelationsCASE Network Report 66 - Prospects for EU-Ukraine Economic Relations
CASE Network Report 66 - Prospects for EU-Ukraine Economic Relations
 

Similaire à PrismTech Vortex Tutorial Part 1

DDS: The IoT Data Sharing Standard
DDS: The IoT Data Sharing StandardDDS: The IoT Data Sharing Standard
DDS: The IoT Data Sharing StandardAngelo Corsaro
 
Reactive Data Centric Architectures with DDS
Reactive Data Centric Architectures with DDSReactive Data Centric Architectures with DDS
Reactive Data Centric Architectures with DDSAngelo Corsaro
 
Vortex Tutorial Part II
Vortex Tutorial Part IIVortex Tutorial Part II
Vortex Tutorial Part IIAngelo Corsaro
 
Architecting IoT Systems with Vortex
Architecting IoT Systems with VortexArchitecting IoT Systems with Vortex
Architecting IoT Systems with VortexAngelo Corsaro
 
Distributed Systems: How to connect your real-time applications
Distributed Systems: How to connect your real-time applicationsDistributed Systems: How to connect your real-time applications
Distributed Systems: How to connect your real-time applicationsJaime Martin Losa
 
Real Time Java DDS
Real Time Java DDSReal Time Java DDS
Real Time Java DDSkerush
 
Distributed Algorithms with DDS
Distributed Algorithms with DDSDistributed Algorithms with DDS
Distributed Algorithms with DDSAngelo Corsaro
 
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
 
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
 
Fiware: Connecting to robots
Fiware: Connecting to robotsFiware: Connecting to robots
Fiware: Connecting to robotsJaime Martin Losa
 
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
 
Fast RTPS Workshop at FIWARE Summit 2018
Fast RTPS Workshop at FIWARE Summit 2018Fast RTPS Workshop at FIWARE Summit 2018
Fast RTPS Workshop at FIWARE Summit 2018Jaime Martin Losa
 
OpenSplice DDS Tutorial -- Part II
OpenSplice DDS Tutorial -- Part IIOpenSplice DDS Tutorial -- Part II
OpenSplice DDS Tutorial -- Part IIAngelo Corsaro
 
IRJET- A Key-Policy Attribute based Temporary Keyword Search Scheme for S...
IRJET-  	  A Key-Policy Attribute based Temporary Keyword Search Scheme for S...IRJET-  	  A Key-Policy Attribute based Temporary Keyword Search Scheme for S...
IRJET- A Key-Policy Attribute based Temporary Keyword Search Scheme for S...IRJET Journal
 
Desktop, Embedded and Mobile Apps with PrismTech Vortex Cafe
Desktop, Embedded and Mobile Apps with PrismTech Vortex CafeDesktop, Embedded and Mobile Apps with PrismTech Vortex Cafe
Desktop, Embedded and Mobile Apps with PrismTech Vortex CafeADLINK Technology IoT
 
Desktop, Embedded and Mobile Apps with Vortex Café
Desktop, Embedded and Mobile Apps with Vortex CaféDesktop, Embedded and Mobile Apps with Vortex Café
Desktop, Embedded and Mobile Apps with Vortex CaféAngelo Corsaro
 
The Data Distribution Service Tutorial
The Data Distribution Service TutorialThe Data Distribution Service Tutorial
The Data Distribution Service TutorialAngelo Corsaro
 
PinTrace Advanced AWS meetup
PinTrace Advanced AWS meetup PinTrace Advanced AWS meetup
PinTrace Advanced AWS meetup Suman Karumuri
 

Similaire à PrismTech Vortex Tutorial Part 1 (20)

DDS: The IoT Data Sharing Standard
DDS: The IoT Data Sharing StandardDDS: The IoT Data Sharing Standard
DDS: The IoT Data Sharing Standard
 
Reactive Data Centric Architectures with DDS
Reactive Data Centric Architectures with DDSReactive Data Centric Architectures with DDS
Reactive Data Centric Architectures with DDS
 
Vortex Tutorial Part II
Vortex Tutorial Part IIVortex Tutorial Part II
Vortex Tutorial Part II
 
Architecting IoT Systems with Vortex
Architecting IoT Systems with VortexArchitecting IoT Systems with Vortex
Architecting IoT Systems with Vortex
 
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
 
Real Time Java DDS
Real Time Java DDSReal Time Java DDS
Real Time Java DDS
 
Distributed Algorithms with DDS
Distributed Algorithms with DDSDistributed Algorithms with DDS
Distributed Algorithms with DDS
 
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
 
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
 
Fiware: Connecting to robots
Fiware: Connecting to robotsFiware: Connecting to robots
Fiware: Connecting to robots
 
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
 
Fast RTPS Workshop at FIWARE Summit 2018
Fast RTPS Workshop at FIWARE Summit 2018Fast RTPS Workshop at FIWARE Summit 2018
Fast RTPS Workshop at FIWARE Summit 2018
 
OpenSplice DDS Tutorial -- Part II
OpenSplice DDS Tutorial -- Part IIOpenSplice DDS Tutorial -- Part II
OpenSplice DDS Tutorial -- Part II
 
IRJET- A Key-Policy Attribute based Temporary Keyword Search Scheme for S...
IRJET-  	  A Key-Policy Attribute based Temporary Keyword Search Scheme for S...IRJET-  	  A Key-Policy Attribute based Temporary Keyword Search Scheme for S...
IRJET- A Key-Policy Attribute based Temporary Keyword Search Scheme for S...
 
Desktop, Embedded and Mobile Apps with PrismTech Vortex Cafe
Desktop, Embedded and Mobile Apps with PrismTech Vortex CafeDesktop, Embedded and Mobile Apps with PrismTech Vortex Cafe
Desktop, Embedded and Mobile Apps with PrismTech Vortex Cafe
 
Desktop, Embedded and Mobile Apps with Vortex Café
Desktop, Embedded and Mobile Apps with Vortex CaféDesktop, Embedded and Mobile Apps with Vortex Café
Desktop, Embedded and Mobile Apps with Vortex Café
 
The Data Distribution Service Tutorial
The Data Distribution Service TutorialThe Data Distribution Service Tutorial
The Data Distribution Service Tutorial
 
Vortex Cloud Beyond Cloud Messaging
Vortex Cloud Beyond Cloud MessagingVortex Cloud Beyond Cloud Messaging
Vortex Cloud Beyond Cloud Messaging
 
PinTrace Advanced AWS meetup
PinTrace Advanced AWS meetup PinTrace Advanced AWS meetup
PinTrace Advanced AWS meetup
 

Plus de ADLINK Technology IoT

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
 
Harnessing DDS in Next Generation Healthcare Systems
Harnessing DDS in Next Generation Healthcare SystemsHarnessing DDS in Next Generation Healthcare Systems
Harnessing DDS in Next Generation Healthcare SystemsADLINK Technology IoT
 
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 CloudADLINK Technology IoT
 
Real-Time Web Programming with PrismTech Vortex Web
Real-Time Web Programming with PrismTech Vortex WebReal-Time Web Programming with PrismTech Vortex Web
Real-Time Web Programming with PrismTech Vortex WebADLINK Technology IoT
 
Introduction to PrismTech's Vortex Intelligent Data Sharing Platform for the ...
Introduction to PrismTech's Vortex Intelligent Data Sharing Platform for the ...Introduction to PrismTech's Vortex Intelligent Data Sharing Platform for the ...
Introduction to PrismTech's Vortex Intelligent Data Sharing Platform for the ...ADLINK Technology IoT
 
PrismTech Integrated Communications Systems Modeling
PrismTech Integrated Communications Systems ModelingPrismTech Integrated Communications Systems Modeling
PrismTech Integrated Communications Systems ModelingADLINK Technology IoT
 
PrismTech Reflective Language for Communication Systems
PrismTech Reflective Language for Communication SystemsPrismTech Reflective Language for Communication Systems
PrismTech Reflective Language for Communication SystemsADLINK Technology IoT
 
Using Model Driven Development to Easily Manage Variations in Software Define...
Using Model Driven Development to Easily Manage Variations in Software Define...Using Model Driven Development to Easily Manage Variations in Software Define...
Using Model Driven Development to Easily Manage Variations in Software Define...ADLINK Technology IoT
 
Spectra DTP4700 Linux Based Development for Software Defined Radio (SDR) Soft...
Spectra DTP4700 Linux Based Development for Software Defined Radio (SDR) Soft...Spectra DTP4700 Linux Based Development for Software Defined Radio (SDR) Soft...
Spectra DTP4700 Linux Based Development for Software Defined Radio (SDR) Soft...ADLINK Technology IoT
 
Migrating Legacy Waveforms to the Software Communications Architecture (SCA)
Migrating Legacy Waveforms to the Software Communications Architecture (SCA)Migrating Legacy Waveforms to the Software Communications Architecture (SCA)
Migrating Legacy Waveforms to the Software Communications Architecture (SCA)ADLINK Technology IoT
 
Rapid Software Communications Architecture (SCA) Development for DSPs with Sp...
Rapid Software Communications Architecture (SCA) Development for DSPs with Sp...Rapid Software Communications Architecture (SCA) Development for DSPs with Sp...
Rapid Software Communications Architecture (SCA) Development for DSPs with Sp...ADLINK Technology IoT
 
Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP com...
Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP com...Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP com...
Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP com...ADLINK Technology IoT
 
Automating Software Communications Architecture (SCA) Testing with Spectra CX
Automating Software Communications Architecture (SCA) Testing with Spectra CXAutomating Software Communications Architecture (SCA) Testing with Spectra CX
Automating Software Communications Architecture (SCA) Testing with Spectra CXADLINK Technology IoT
 
SCA Next Part 1 - Software Defined Radio (SDR) Webcast Slides
SCA Next Part 1 - Software Defined Radio (SDR) Webcast SlidesSCA Next Part 1 - Software Defined Radio (SDR) Webcast Slides
SCA Next Part 1 - Software Defined Radio (SDR) Webcast SlidesADLINK Technology IoT
 

Plus de ADLINK Technology IoT (20)

Connected Mobile and Web Applications with PrismTech Vortex Data Sharing Plat...
Connected Mobile and Web Applications with PrismTech Vortex Data Sharing Plat...Connected Mobile and Web Applications with PrismTech Vortex Data Sharing Plat...
Connected Mobile and Web Applications with PrismTech Vortex Data Sharing Plat...
 
Introducing Vortex Lite
Introducing Vortex LiteIntroducing Vortex Lite
Introducing Vortex Lite
 
Harnessing DDS in Next Generation Healthcare Systems
Harnessing DDS in Next Generation Healthcare SystemsHarnessing DDS in Next Generation Healthcare Systems
Harnessing DDS in Next Generation Healthcare Systems
 
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
 
Real-Time Web Programming with PrismTech Vortex Web
Real-Time Web Programming with PrismTech Vortex WebReal-Time Web Programming with PrismTech Vortex Web
Real-Time Web Programming with PrismTech Vortex Web
 
Introduction to PrismTech's Vortex Intelligent Data Sharing Platform for the ...
Introduction to PrismTech's Vortex Intelligent Data Sharing Platform for the ...Introduction to PrismTech's Vortex Intelligent Data Sharing Platform for the ...
Introduction to PrismTech's Vortex Intelligent Data Sharing Platform for the ...
 
PrismTech Integrated Communications Systems Modeling
PrismTech Integrated Communications Systems ModelingPrismTech Integrated Communications Systems Modeling
PrismTech Integrated Communications Systems Modeling
 
PrismTech Reflective Language for Communication Systems
PrismTech Reflective Language for Communication SystemsPrismTech Reflective Language for Communication Systems
PrismTech Reflective Language for Communication Systems
 
Model_Driven_Development_SDR
Model_Driven_Development_SDRModel_Driven_Development_SDR
Model_Driven_Development_SDR
 
SCA_4_adoption_may2013
SCA_4_adoption_may2013SCA_4_adoption_may2013
SCA_4_adoption_may2013
 
Using Model Driven Development to Easily Manage Variations in Software Define...
Using Model Driven Development to Easily Manage Variations in Software Define...Using Model Driven Development to Easily Manage Variations in Software Define...
Using Model Driven Development to Easily Manage Variations in Software Define...
 
Sca 4 0 _may16_2012_final
Sca 4 0 _may16_2012_finalSca 4 0 _may16_2012_final
Sca 4 0 _may16_2012_final
 
Spectra dtp4700h march2012_final
Spectra dtp4700h march2012_finalSpectra dtp4700h march2012_final
Spectra dtp4700h march2012_final
 
Spectra CX 3.4 Launch Webcast
Spectra CX 3.4 Launch WebcastSpectra CX 3.4 Launch Webcast
Spectra CX 3.4 Launch Webcast
 
Spectra DTP4700 Linux Based Development for Software Defined Radio (SDR) Soft...
Spectra DTP4700 Linux Based Development for Software Defined Radio (SDR) Soft...Spectra DTP4700 Linux Based Development for Software Defined Radio (SDR) Soft...
Spectra DTP4700 Linux Based Development for Software Defined Radio (SDR) Soft...
 
Migrating Legacy Waveforms to the Software Communications Architecture (SCA)
Migrating Legacy Waveforms to the Software Communications Architecture (SCA)Migrating Legacy Waveforms to the Software Communications Architecture (SCA)
Migrating Legacy Waveforms to the Software Communications Architecture (SCA)
 
Rapid Software Communications Architecture (SCA) Development for DSPs with Sp...
Rapid Software Communications Architecture (SCA) Development for DSPs with Sp...Rapid Software Communications Architecture (SCA) Development for DSPs with Sp...
Rapid Software Communications Architecture (SCA) Development for DSPs with Sp...
 
Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP com...
Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP com...Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP com...
Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP com...
 
Automating Software Communications Architecture (SCA) Testing with Spectra CX
Automating Software Communications Architecture (SCA) Testing with Spectra CXAutomating Software Communications Architecture (SCA) Testing with Spectra CX
Automating Software Communications Architecture (SCA) Testing with Spectra CX
 
SCA Next Part 1 - Software Defined Radio (SDR) Webcast Slides
SCA Next Part 1 - Software Defined Radio (SDR) Webcast SlidesSCA Next Part 1 - Software Defined Radio (SDR) Webcast Slides
SCA Next Part 1 - Software Defined Radio (SDR) Webcast Slides
 

Dernier

(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....ShaimaaMohamedGalal
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 

Dernier (20)

(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 

PrismTech Vortex Tutorial Part 1

  • 1. Angelo  Corsaro,  PhD   Chief  Technology  Officer   angelo.corsaro@prismtech.com Vortex Tutorial Part I
  • 2. CopyrightPrismTech,2014 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 The Vortex Platform Vortex Device Tools Integration Vortex Cloud MaaS
  • 5. CopyrightPrismTech,2014 Support for transport level security via TLS and DTLS Support for fine grained access control Access control plug-in compliant with DDS Security Vortex Security Model 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
  • 8. CopyrightPrismTech,2014 E-Health Hospital A Private Cloud Analytics Big  Data  Store Hospital B
  • 10. CopyrightPrismTech,2014 SESAR PENS PENS: Pan European Network Service FDP: Flight Data Processor CWP: Controller Working Position IPv6 network SSM support FDP FDPFDP CWP Tower Device FDP FDPFDP Tower Device CWP FDP FDPFDP Tower Device CWP FDP FDPFDP CWP Tower Device EU Nation 4 EU Nation 1 EU Nation 2 EU Nation 3
  • 12. CopyrightPrismTech,2014 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 ChirpIt Requirements
  • 13. CopyrightPrismTech,2014 ChirpIt Architecture analytics data centre chirp emotions stats batch     layer chirpit  apps Cloud Messaging serving     layer chirp emotions stats master   dataset view view view chirp emotions stats 3rd  party  svcs Speed     layer
  • 15. CopyrightPrismTech,2014 DDS provides a Global Data Space abstraction that allows applications to autonomously, anonymously, securely and efficiently share data DDS’ Global Data Space is fully distributed (decentralised), highly efficient and scalable Data Distribution Service (DDS) 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
  • 16. CopyrightPrismTech,2014 DataWriters and DataReaders are automatically and dynamically matched by the DDS Discovery A rich set of QoS allows to control existential, temporal, and spatial properties of data Data Distribution Service (DDS) 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
  • 17. CopyrightPrismTech,2014 Elegant and High Level Data Sharing Abstraction Polyglot and platform independent • Java, Scala, C, C++, C#, JavaScript, CoffeeScript etc. • Android, Windows, Linux, VxWorks, etc. Peer-to-Peer by nature, Brokered when useful Key Highlights
  • 18. CopyrightPrismTech,2014 Content and Temporal Filtering (both sender and receiver filtering supported) Queries 20+ QoS to control existential, temporal, and spatial properties of data Key Highlights
  • 19. CopyrightPrismTech,2014 High Performance and Scalable • ~30 usec latency* • 7M msgs/sec node-to-node throughput* Key Highlights (*) Performance measured on Linux Host with i7 processor on a 1Gbps Ethernet network
  • 22. CopyrightPrismTech,2014 DDS data lives within a domain A domain is identified with a non negative integer, such as 1, 3, 31 The number 0 identifies the default domain A domain represent an impassable communication plane Domain DDS Domain
  • 23. CopyrightPrismTech,2014 Partitions are the mechanism provided by DDS to organise information within a domain Access to partitions is controlled through QoS Policies Partitions are defined as strings: - “system:telemetry” - “system:log” - “data:row-2:col-3” Partitions addressed by name or regular expressions: - ”system:telemetry” - “data:row-2:col-*” Partitions Partitions
  • 25. 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 ... TopicA QoS TopicB QoS TopicC QoS TopicD QoS
  • 26. CopyrightPrismTech,2014 As explained in the previous slide a topic defines a class/type of information Topics can be defined as Singleton or can have multiple Instances Topic Instances are identified by means of the topic key A Topic Key is identified by a tuple of attributes -- like in databases Remarks: - A Singleton topic has a single domain-wide instance - A “regular” Topic can have as many instances as the number of different key values, e.g., if the key is an 8-bit character then the topic can have 256 different instances Topic and Instances
  • 28. CopyrightPrismTech,2014 Chirp Actions      union  ChirpBody  switch  (ChirpActionKind)  {          case  CHIRP_KIND:              string<128>  chirp;          case  RECHIRP_KIND:              string<128>  chirp;              string  user;          case  LIKE_KIND:              string  luser;          case  DISLIKE_KIND:              string  duser;          };   !                  struct  ChirpAction  {              ChirpHeader  header;              ChirpBody      body;          };          #pragma  keylist  ChirpAction  header.id.cid          struct  ChirpId  {              string  uid;              string  cid;          };   !        enum  ChirpActionKind  {              CHIRP_KIND,  RECHIRP_KIND,                LIKE_KIND,  DISLIKE_KIND          };                    struct  ChirpHeader  {              ChirpId  id;              Location  location;              unsigned  long  long  timestamp;              ChirpActionKind  kind;          };            
  • 29. CopyrightPrismTech,2014 ChirpIt Statistics        struct  ChirpStats  {              ChirpId  id;              unsigned  long  rechirps;              unsigned  long  likes;          };          #pragma  keylist  ChirpStats  id.cid          struct  UserStats  {              string  userId;              unsigned  long  followers;              unsigned  long  chirps;              unsigned  long  followed;          };          #pragma  keylist  UserStats  userId  
  • 30. CopyrightPrismTech,2014 User Actions        struct  enum  UserActionKind  {              FOLLOW,  UNFOLLOW          };                    struct  UserAction  {              UserActionKind  kind;              string  fromUser;              string  toUser;          };  
  • 31. CopyrightPrismTech,2014 App Config        typedef  sequence<string>  Partitions;   !        struct  AppConfig  {              string  userId;              Partitions  ps;              unsigned  short  history;          };              #pragma  keylist  UserConfig  userId  
  • 33. CopyrightPrismTech,2014 To make the system scale properly we need to ensure that the chirps, rechirps, etc., are distributed only to the interested parties As we have a single topic representing chirp actions, how can we ensure that information is received only by followers? DDS Provides two mechanisms: - Partitions: Allow to create information scopes - Content Filters: Allow to receive the data that satisfy certains predicates Scoping Information
  • 36. CopyrightPrismTech,2014 In summary partitions are used to scope information Each user will “join” a partition for each followed party Example: - If @drx follows @magneto, @wolverine, @cyclops and @mistique then he will receive ChirpActions from the partitions: • chirp:@magneto, chirp:@wolverine, chirp:@cyclops and chirp:@mistique - On the other hand, regardless of the people that follows @wolverine he will always and only write ChirpActions in the partitions • chirp:@wolverine Using Partitions to Scope Chirps
  • 38. CopyrightPrismTech,2014 A DataWriter (DW) is a strongly typed entity used to produce samples for one or more instances of a Topic, with a given QoS Conceptually, the DataWriter QoS should be the same as the Topic QoS or more stringent However, DDS does enforce a specific relationship between the Topic and DataWriter QoS DataWriter DW Type Topic QoS
  • 39. CopyrightPrismTech,2014 The DataWriter controls the life-cycle of Topic Instances and allows to: Define a new topic instance Write samples for a topic instance Dispose the topic instance DataWriter DW Type Topic QoS
  • 41. CopyrightPrismTech,2014 A DataReader (DR) is a strongly typed entity used to access and/or consume samples for a Topic, with a given QoS Conceptually, the DataReader QoS should be the same as the Topic QoS or less stringent However, DDS does enforce a specific relationship between the Topic and DataReader QoS DataReader DR Type Topic QoS
  • 43. CopyrightPrismTech,2014 DomainParticipant: Provides access to a data cloud -- called a domain in DDS Topic: Domain-wide definition of a kind of Information Publisher/Subscriber: Provide scope to data sharing through the concept of partitions DataReader/DataWriter: Allow to read/write data for a given topic in the partitions their Subscriber/Publisher are associated with. DDS Entities Domain (e.g. Domain 123) Domain Participant Topic Publisher DataWrter Subscriber DataReader Partition (e.g. “Telemetry”, “Shapes”, ) Topic Instances/Samples Ta Tb Tc Tx Ty T1 T1 T3
  • 45. CopyrightPrismTech,2014 ChirpOut App            //  Domain  Participant  defined  by  dependency  injection                            //  Define  the  topic              val  topic  =  Topic[ChirpAction](Config.ChirpActionTopic)              //  Define  the  publisher  and  link-­‐it  up  to  the  “chirp:@user”  partition              val  pubQos  =  PublisherQos()                        .withPolicy(Partition(Config.ChirpRootPartition  +  user))              implicit  val  pub  =  Publisher(pubQos)              //  Define  the  data  writer  and  make  it  reliable  and  for  the  time  being              //  Transient  Local…  Will  refined  this  in  the  Part  II              val  dwQos  =  DataWriterQos().withPolicies(                  Reliability.Reliable,                  Durability.TransientLocal)              //  Create  the  DataWriter              val  dw  =  DataWriter[ChirpAction](pub,  topic,  dwQos)              //  Chirp!!!              val  chirp  =  …              dw.write(chirp)
  • 46. CopyrightPrismTech,2014 ChirpIn            //  Domain  Participant  defined  by  dependency  injection                            //  Define  the  topic              val  topic  =  Topic[ChirpAction](Config.ChirpActionTopic)              //  Define  the  subscribe  and  link-­‐it  up  to  the  partition  associated  to              //  the  user  followed              val  subQos  =  PublisherQos()                        .withPolicy(Partition(followerList.map(Config.ChirpRootPartition  +  _))              implicit  val  sub  =  Subscriber(subQos)              //  Define  the  data  reader  and  make  it  reliable  and  for  the  time  being              //  Transient  Local…  Will  refined  this  in  the  Part  II              val  drQos  =  DataReaderQos().withPolicies(                  Reliability.Reliable,                  Durability.TransientLocal)              //  Create  the  DataWriter              val  dr  =  DataReader[ChirpAction](sub,  topic,  drQos)  
  • 47. CopyrightPrismTech,2014 ChirpIn //  React  to  new  Chirp   dr  listen  {        case  DataAvailable(_)  =>  {                      //  take  vs.  read  will  become  clear  in  Part  II                      val  samples  =  dr.take()                    //  For  the  time  being  simply  print-­‐out  the  new  chirps                      samples         .filter(s  =>  (s.getData  !=  null))                        .foreach(s  =>  displayChirp)                  }     }
  • 48. CopyrightPrismTech,2014 ChirpOut App // Define the topic — assuming the topic is registered with the server…! topic = new dds.Topic(0, 'Chirp', ‘com.ChirpIt’)! // Define the data writer Qos! dwQos = new dds.DataWriterQos(! dds.Reliability.Reliable, ! dds.Durability.TranslientLocal,! dds.Partition(userPartition))! ! // Use an Option monad to maintain the writer! chirpWriter = z_.None! ! // Create the writer when the runtime is connected! runtime.onconnect(() ->! dw = new dds.DataWriter(runtime, topic, dwQos)! chirpWriter = z_.Some(dw)! )! ! // …! // Write chirps! chirp = …! chirpWriter.map((dw) -> dw.write(chirp))!
  • 49. CopyrightPrismTech,2014 ChirpIn App // Define the topic — assuming the topic is registered with the server…! topic = new dds.Topic(0, 'Chirp', ‘com.ChirpIt’)! // Define the data reader Qos! drQos = new dds.DataWriterQos(! dds.Reliability.Reliable, ! dds.Durability.TranslientLocal,! dds.Partition(followedList))! ! // Use an Option monad to maintain the reader! chirpReader = z_.None! ! // Create the writer when the runtime is connected! runtime.onconnect(() ->! dr = new dds.DataReader(runtime, topic, dwQos)! // Attach a listener! dr.addListener((chirp) -> diplayChirp(chirp))! chirpReader = z_.Some(dr)! )
  • 50. CopyrightPrismTech,2014 ChirpIt Thus Far… data centre chirp emotions stats chirp emotions stats chirp emotions stats chirp emotions stats
  • 52. CopyrightPrismTech,2014 $ ./chirpOut @wolverin chirp>> @magneto will win!$ ./chirpOut @magneto @magneto>> @wolverine chirping while asleep… again! Download the package zip or tar.gz package available at: - https://dl.dropboxusercontent.com/u/19238968/webcast/2014/10/chirpit.zip - https://dl.dropboxusercontent.com/u/19238968/webcast/2014/10/chirpit.tar.gz Extract the package somewhere in your file-system and open a terminal at that location and run the app as shown below ChirpIt Demo $ ./chirpIn @magneto @wolverinse @mystique @wolverin>> @magneto will win! @magneto>> @wolverine chirping while asleep… again!
  • 53. CopyrightPrismTech,2014 In Part II we extend our implementation to manage application configuration storage and analytics To do so, we will need to introduce additional features provided by the DDS and the Vortex Platform, such as Durability and Integration with Big-Data Stores What’s Next
  • 54. CopyrightPrismTech,2014 In this presentation we have performed the first step toward implementing a micro-blogging platform The combination of Vortex Device and Vortex Cloud made it very easy to create and deploy our Internet-Scale, multi-device micro-blogging platform Some of the DDS QoS, such as Durability have already shown how historical data, i.e. chirps made while we were offline — can be provided by the platform The Part II will illustrate how the complete application fits together and what is the role of Vortex in the Lambda Architecture Summary