SlideShare una empresa de Scribd logo
1 de 58
Descargar para leer sin conexión
OpenSplice DDS
                                        Delivering Performance, Openness, and Freedom




                                  Getting Started with
Angelo Corsaro, Ph.D.
       Chief Technology Officer
         OMG DDS SIG Co-Chair
 angelo.corsaro@prismtech.com



                                   the Community Ed.
OpenSplice DDS
Delivering Performance, Openness, and Freedom




                              Background
Addressing Data Distribution Challenges
                                                          DDS is standard designed to address the data-distribution challenges across
The OMG DDS Standard                                                             a wide class of Defense and Aerospace Applications
‣ Introduced in 2004 to address the Data
  Distribution challenges faced by a wide
  class of Defense and Aerospace
  Applications
‣ Key requirement for the standard were its
  ability to deliver very high performance while
  seamlessly scaling from embedded to ultra-
  large-scale deployments
‣ Today recommended by key administration
  worldwide and widely adopted across
  several different application domains, such
  as, Automated Trading, Simulations, SCADA,
  Telemetry, etc.

                                                © 2009, PrismTech. All Rights Reserved
The OMG Data Distribution Service (DDS)

DDS v1.2 API Standard
‣ Language Independent, OS and HW architecture                                                        Application

    independent                                                                                           Object/Relational Mapping

‣   DCPS. Standard API for Data-Centric, Topic-                                                    Data Local Reconstruction Layer (DLRL)

    Based, Real-Time Publish/Subscribe
                                                                                                                              Content
‣
                                                                                     Ownership           Durability
    DLRL. Standard API for creating Object Views out                                                                        Subscription

    of collection of Topics                                                                          Minimum Profile

                                                                                          Data Centric Publish/Subscribe (DCPS)
DDSI/RTPS v2.1 Wire Protocol Standard
‣ Standard wire protocol allowing interoperability
                                                                                           Real-Time Publish/Subscribe Protocol

                                                                                             DDS Interoperability Wire Protocol
    between different implementations of the DDS
    standard                                                                                              UDP/IP

‣   Interoperability demonstrated among key DDS
    vendors in March 2009
                                            © 2009, PrismTech. All Rights Reserved
OpenSplice DDS Community Ed.
                                                                                        Features
                   Application                                                          ‣ OMG DDS v1.2 DCPS                            ‣ Networking
                                                                                            ‣ Minimum Profile                          ‣ DDSI v2.1 Implementation
                                             Content                                        ‣ Content Subscription Profile             ‣ Real-Time Networking




                                                             DDS v1.2
Ownership              Durability
                                           Subscription                                                                                  Implementation
                                                                                            ‣ Durability Profile
                                                                                            ‣ Ownership Profile
                 Minimum Profile

              Real-Time Pub/Sub (DCPS)




                                                             DDSI v2.1
                              Interoperable Wire Protocol
Real-Time Networking
                                        (DDSI)
                                                                                                                           OMG DDS Standard Compliance
              Networking Technology
                                                                                                                             DCPS Profiles                        DDSI/
                        UDP/IP                                                                                                                            DLRL
                                                                                                                  Minimum Content Ownership Durability           RTPS

                                                            OpenSplice DDS
                                                                                                                    Yes     Yes       Yes       Yes       No     Yes
                       Licensing                            Community Ed.

                                                       Other DDS (Best Case)                                        Yes    Partial    Yes       No*       No     Yes

                                                                         © 2009, PrismTech. All Rights Reserved
Performance on Commodity HW
                   Throughput                                                              -./0/1/23'          456/'
                                                                                                                                                                                                                    Latency
             #+(+%++'                                                                                                                                                               &&++%++'




             $+(+%++'                                                                                                                             "*(%)+'       ")(%&!'       ""&%,&'&+++%++'            Inter-Node Latency
                             !"#$%&#'

                                                                                                                                                                                                         ‣ 60 usec
                                                                                                                                    "!+%++'
                                                                                                                   )"#%*)'                                                          "++%++'
                                                                                                  )$,%$*'
             !+(+%++'
                                                                                                                                                                                    )++%++'
                                                                                                                                                                                                         Inter-Core Read-Latency
&'$($)$*+%




                                                                                                                                                                                                                                                     Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
                                                                                *!#%,&'

                                                                                                                                                                                                         ‣ 2 usec




                                                                                                                                                                                                !"#$%
             ,+(+%++'                                                                                                                                                               *++%++'
                                              ()(!%(*'

                                                                                                                                                                                    #++%++'
             (+(+%++'                                          &")&%+)'                                                                                                                                  Inter-Core Latency
                                                                                                                                                                                                         ‣ <10 usec
                                                               $&"%,,'
                                                                                                                                                                                    $++%++'
                                                                                &!(,%!)'

             &+(+%++'
                                                                                                  ),,%$#'                                                                           !++%++'
                                              ,*+%&)'
                                                                                                                   !,*%))'
                             ,($%!+'                                                                                                (("%!"'
                                                                                                                                                  &&)%*$'       $"%"$'        ,+%($' ,++%++'            HW:
               (+%++'
                        )'              &#'              ,('              #!'              &()'             ($#'             $&('             &+(!'         (+!)'         !+"#'
                                                                                                                                                                                                        ‣ Dell blade-server
                                                                                             !*$$,(*%-./*%
                                                                                                                                                                                                        ‣ Dual-core, Dual-CPU, AMD Opteron 2.4 Ghz
 Test Scenario                                                                                                                                                                                          OS
                                                                                                                                                                                                        ‣ Linux 2.6.21-1.3194.fc7
 ‣ Single Threaded Application (multi-threaded networking service)                                                                                                                                      Network
 ‣ 8192 bit message batches                                                                                                                                                                             ‣ Gigabit Ethernet cards
                                                                                                                                                                                                        ‣ Dell PowerConnect 5324 switch
                                                                                                                                    © 2009, PrismTech. All Rights Reserved
OpenSplice DDS
Delivering Performance, Openness, and Freedom




                   As Simple as it Gets
As Simple as it Gets
‣ DDS is based around the concept
 of a fully distributed Global Data
 Space (GDS)



                                                                               Global Data Space




                                                                                     DDS



                                      © 2009, PrismTech. All Rights Reserved
As Simple as it Gets
‣ DDS is based around the concept
 of a fully distributed Global Data
 Space (GDS)
‣ Publishers and Subscribers can
 join and leave the GDS at any time
                                                                               Global Data Space




                                                                                     DDS



                                      © 2009, PrismTech. All Rights Reserved
As Simple as it Gets
‣ DDS is based around the concept
 of a fully distributed Global Data
                                         Publisher                                                 Subscriber
 Space (GDS)
‣ Publishers and Subscribers can
 join and leave the GDS at any time
                                                                                                    Subscriber
                                       Publisher
                                                                               Global Data Space




                                          Publisher                                                Subscriber

                                                                                     DDS



                                      © 2009, PrismTech. All Rights Reserved
As Simple as it Gets
‣ DDS is based around the concept
 of a fully distributed Global Data
                                         Publisher                                                 Subscriber
 Space (GDS)
‣ Publishers and Subscribers can
 join and leave the GDS at any time
                                                                                                    Subscriber
‣ Publishers and Subscribers           Publisher
                                                                               Global Data Space
 express their intent to produce/
 consume specific type of data,
 e.g., Topics
                                          Publisher                                                Subscriber

                                                                                     DDS



                                      © 2009, PrismTech. All Rights Reserved
As Simple as it Gets
‣ DDS is based around the concept
 of a fully distributed Global Data
                                         Publisher                                                 Subscriber
 Space (GDS)
‣ Publishers and Subscribers can
 join and leave the GDS at any time
                                                                                                    Subscriber
‣ Publishers and Subscribers           Publisher
                                                                               Global Data Space
 express their intent to produce/
 consume specific type of data,
 e.g., Topics
                                          Publisher                                                Subscriber

                                                                                     DDS



                                      © 2009, PrismTech. All Rights Reserved
As Simple as it Gets
‣ DDS is based around the concept
  of a fully distributed Global Data
                                          Publisher                                                 Subscriber
  Space (GDS)
‣ Publishers and Subscribers can
  join and leave the GDS at any time
                                                                                                     Subscriber
‣ Publishers and Subscribers            Publisher                               Global Data Space
  express their intent to produce/
  consume specific type of data,
  e.g., Topics
                                                                                                    Subscriber
‣ Data flows from Publisher to             Publisher

  Subscribers                                                                         DDS



                                       © 2009, PrismTech. All Rights Reserved
As Simple as it Gets
‣ DDS is based around the concept
  of a fully distributed Global Data
                                          Publisher                                                 Subscriber
  Space (GDS)
‣ Publishers and Subscribers can
  join and leave the GDS at any time
                                                                                                     Subscriber
‣ Publishers and Subscribers            Publisher                               Global Data Space
  express their intent to produce/
  consume specific type of data,
  e.g., Topics
                                                                                                    Subscriber
‣ Data flows from Publisher to             Publisher

  Subscribers                                                                         DDS



                                       © 2009, PrismTech. All Rights Reserved
OpenSplice DDS
Delivering Performance, Openness, and Freedom




                           Defining Data
DDS Topics
                                                                                   {Circle, Square, Triangle}
Topic
‣ Unit of information exchanged between
  Publisher and Subscribers.
‣ An association between a unique name, a
  type and a QoS setting                                                     {ShapeType}                        {...}


Topic Type.
                                                                             struct ShapeType {
‣ Type describing the data associated with one                                  long   x;
  or more Topics                                                                long   y;
‣ A Topic type can have a key represented by an                                 long   shapesize;
                                                                                string color;
  arbitrary number of attributes                                             };
‣ Expressed in IDL                                                           #pragma keylist ShapeType color

                                    © 2009, PrismTech. All Rights Reserved
DDS Topics


                                                    Circle


struct ShapeType {
   long   x;
   long   y;
   long   shapesize;                                 Topic                 QoS
   string color;
};
#pragma keylist ShapeType color




                                  © 2009, PrismTech. All Rights Reserved
DDS Topics


                                                 Triangle



struct ShapeType {
   long   x;
   long   y;
   long   shapesize;                                 Topic                 QoS
   string color;
};
#pragma keylist ShapeType color




                                  © 2009, PrismTech. All Rights Reserved
DDS Topic Instances and Samples
Topic Instances
‣ Each key value identifies a unique Topic Instance,
‣ Topic’s instance lifetime can be explicitly
 managed in DDS

Topic Samples
‣ The values assumed by a Topic Instance
 over time are referred as Instance Sample
                   struct ShapeType {
                      long   x;
                      long   y;
                      long   shapesize;
                      string color;
                   };
                   #pragma keylist ShapeType color
                                       © 2009, PrismTech. All Rights Reserved
Topic/Instances/Samples Recap.
   Topics                                                         Instances




                 Samples



            ti     tj                                      tnow       time
                  © 2009, PrismTech. All Rights Reserved
Content Filtering
                                                                               X0                   X1
                                                                                    X0 <= X <= X1
‣ DDS allows to specify content-
 filtered Topics for which a subset
 of SQL92 is used to express the
 filter condition
                                                                      Y0
‣ Content filters can be applied on
 the entire content of the Topic Type                 Y0 <= Y <= Y1

‣ Content filters are applied by DDS
                                                                      Y1
 each time a new sample is
 produced/delivered

                                      © 2009, PrismTech. All Rights Reserved
Local Queries
‣ Subscribed Topics can be seen locally as “Tables”
‣ A subset of SQL92 can be used for performing queries on                            X0
 multiple topics as well as natural joins
‣ Queries are              Circle Topic
 performed under                                                                                      Y0
                            color    x               y             shapesize                 Y0
 user control and            red    57              62                50
 provide a result that      blue    90              85                50
                                                                                      Y0 <= Y <= Y1
 depends on the            yellow   30              25                50

 current snapshot of            SELECT * FROM ShapeType s
                                WHERE s.x > 25 AND s.y < 55                                  Y1
 the system, e.g.,
 samples currently          color    x               y             shapesize
 available                 yellow   30              25                50


                                            © 2009, PrismTech. All Rights Reserved
OpenSplice DDS
Delivering Performance, Openness, and Freedom




                        Organizing Data
DDS Partitions

‣ All DDS communication is                                           Domain
                                                                                          Partition

  happens within a Domain
‣ Domain can divided into    Publisher
                                                                                                        Subscriber

  Partitions                                                                  B

‣ Topics are published and                                                        m

  subscribed across on or                                                     A           F

                                                                                                          Subscriber
  more Partitions            Publisher                                        J
                                                                                      D          C


                                                                              K
                                                                                      E




                             Publisher
                                                                                                      Subscriber



                                     © 2009, PrismTech. All Rights Reserved
OpenSplice Network Partitions
‣ OpenSplice DDS allows to            Publisher
                                                                                                                          Subscriber
    define network partitions along                                                     "Red"
                                                                                    B
    with DDS partitions
                                                                                             m

‣   Network partitions are bound to                                                 A                F

    a list of unicast/multicast       Publisher                                     J
                                                                                                          "Green"           Subscriber
    network addresses                                                                            D          C



‣   Partition.Topic combination can                                                 K
                                                                                                 E
                                                                                  "Yellow"
    be mapped into OpenSplice
    DDS Network Partitions            Publisher
                                                                                                                        Subscriber
‣   Wildcards can be used when
    defining the mapping, and in
                                                 Yellow.* => 224.1.1.1                           Green.* => 224.1.1.2
    case of multiple matches                                                                     Green.E => 224.1.1.3
    OpenSplice DDS will always
    consider the best match

                                         © 2009, PrismTech. All Rights Reserved
Network Partition (osplconf)




              © 2009, PrismTech. All Rights Reserved
Partition Mapping (osplconf)




              © 2009, PrismTech. All Rights Reserved
Partition Mapping (osplconf)




              © 2009, PrismTech. All Rights Reserved
Partition Mapping (osplconf)




              © 2009, PrismTech. All Rights Reserved
OpenSplice DDS
Delivering Performance, Openness, and Freedom




                      Quality of Service
Anatomy of a DDS Application

                                                             Topic
                                                              Topic
                                                               Topic
                                                                    Samples
                                                                     Samples
               Instances                                              Samples
                Instances
                 Instances
                                         121 62
                                             1
                                           21 62
                                                   1 22 62
                                                     1 22 62
                                                               1 23 63
                                                                1 23 63
  DataReader
  DataReader
                                          1 21 62
                                        2 20 61
                                                       1 22 62
                                                  2 19 60
                                                                 1 23 63
   DataReader
    DataReader                           2 20 61
                                          2 20 61
                                                    2 19 60
                                                      2 19 60                             DataWriter
                                                                                          DataWriter
     DataReader
      DataReader                        3 25 70   3 25 71
                                                      25       3 25 74   3 26 77
                                                                          3 26 77
                                                                                           DataWriter
                                                                                            DataWriter
                                         3 25 70    3 25 71
                                                        25      3 25 74
                   struct TempSensor {    3 25 70     3 25 71
                                                         25      3 25 74   3 26 77
                      int tID;
                      float temp;
                      float humidity;
                   };
                   #pragma keylist TempSensor tID




                                                 © 2009, PrismTech. All Rights Reserved
Anatomy of a DDS Application

                                                                            Topic
                                                                             Topic
                                                                              Topic
                                                                                   Samples
                                                                                    Samples
                              Instances                                              Samples
                               Instances
                                Instances
                                                        121 62
                                                            1
                                                          21 62
                                                                  1 22 62
                                                                    1 22 62
                                                                              1 23 63
                                                                               1 23 63
               DataReader
               DataReader
                                                         1 21 62
                                                       2 20 61
                                                                      1 22 62
                                                                 2 19 60
                                                                                1 23 63
                DataReader
                 DataReader                             2 20 61
                                                         2 20 61
                                                                   2 19 60
                                                                     2 19 60                              DataWriter
                                                                                                          DataWriter
                  DataReader
                   DataReader                          3 25 70   3 25 71
                                                                     25       3 25 74   3 26 77
                                                                                         3 26 77
                                                                                                           DataWriter
                                                                                                            DataWriter
                                                        3 25 70    3 25 71
                                                                       25      3 25 74
                                  struct TempSensor {    3 25 70     3 25 71
                                                                        25      3 25 74   3 26 77
                                     int tID;
                                     float temp;
Arrows                            };
                                     float humidity;

show                              #pragma keylist TempSensor tID

structural
relationship
s, not data-         Subscriber                                                                          Publisher
flows                                                                    Partition




                                                                © 2009, PrismTech. All Rights Reserved
Anatomy of a DDS Application

                                                                            Topic
                                                                             Topic
                                                                              Topic
                                                                                   Samples
                                                                                    Samples
                              Instances                                              Samples
                               Instances
                                Instances
                                                        121 62
                                                            1
                                                          21 62
                                                                  1 22 62
                                                                    1 22 62
                                                                              1 23 63
                                                                               1 23 63
               DataReader
               DataReader
                                                         1 21 62
                                                       2 20 61
                                                                      1 22 62
                                                                 2 19 60
                                                                                1 23 63
                DataReader
                 DataReader                             2 20 61
                                                         2 20 61
                                                                   2 19 60
                                                                     2 19 60                              DataWriter
                                                                                                          DataWriter
                  DataReader
                   DataReader                          3 25 70   3 25 71
                                                                     25       3 25 74   3 26 77
                                                                                         3 26 77
                                                                                                           DataWriter
                                                                                                            DataWriter
                                                        3 25 70    3 25 71
                                                                       25      3 25 74
                                  struct TempSensor {    3 25 70     3 25 71
                                                                        25      3 25 74   3 26 77
                                     int tID;
                                     float temp;
Arrows                            };
                                     float humidity;

show                              #pragma keylist TempSensor tID

structural
relationship
s, not data-         Subscriber                                                                          Publisher
flows                                                                    Partition

                                                                Domain Participant

                                                                         Domain
                                                                © 2009, PrismTech. All Rights Reserved
QoS Model
‣ QoS-Policies are used to control relevant
  properties of OpenSplice DDS entities,                                                                Type Matching
                                                                                                                                           QoS matching
  such as:                                   QoS              QoS                      QoS                          QoS                   QoS                QoS              QoS

  ‣ Temporal Properties
  ‣ Priority
                                                                                                                    Topic
                                                                                                                              Name
                                                            Publisher                                                                                     Subscriber


  ‣ Durability                                                               ...    DataWriter             writes   Type       reads   DataReader
                                                                                                                                                    ...
                                                                                                                        ...
  ‣ Availability                               DomainParticipant                                         writes     Type      reads    DataReader                  DomainParticipant
                                                                                    DataWriter
  ‣ ...                                                                                                                       Name


‣ Some QoS-Policies are matched based on
                                                                                                                    Topic


                                                                                       QoS                          QoS                    QoS
  a Request vs. Offered Model thus QoS-
  enforcement

‣ Publications and Subscriptions match only if the declared vs. requested QoS are compatible
 ‣ e.g., it is not possible to match a publisher which delivers data unreliably with a subscriber which requires reliability
                                                               © 2009, PrismTech. All Rights Reserved
QoS Policies
QoS Policy           Applicability   RxO   Modifiable                                                                                         Type Matching
                                                                                                                                                                                QoS matching
DURABILITY            T, DR, DW       Y       N                   Data Availability             QoS             QoS                QoS                   QoS                   QoS                QoS              QoS

DURABILITY SERVICE      T, DW        N        N
                                                                                                                                                         Topic
                                                                                                                                                                   Name
                                                                                                              Publisher                                                                        Subscriber

LIFESPAN                T, DW         -       Y                                                                           ...   DataWriter      writes   Type       reads   DataReader
                                                                                                                                                                                         ...

                      T, DR, DW      N        N                                                                                                              ...
HISTORY
                                                                                                 DomainParticipant              DataWriter    writes     Type      reads    DataReader                  DomainParticipant
PRESENTATION             P, S         Y       N                     Data Delivery                                                                                  Name
                                                                                                                                                         Topic
RELIABILITY           T, DR, DW       Y       N
PARTITION                P, S        N        Y                                                                                   QoS                    QoS                    QoS



DESTINATION ORDER     T, DR, DW       Y       N


OWNERSHIP             T, DR, DW       Y       N                                                          ‣ Rich set of QoS allow to configure
OWNERSHIP                DW           -       Y
STRENGTH                                                                                                         several different aspects of data
DEADLINE              T, DR, DW       Y       Y                   Data Timeliness                                availability, delivery and timeliness
LATENCY BUDGET        T, DR, DW       Y       Y


TRANSPORT PRIORITY      T, DW         -       Y
                                                                                                         ‣       QoS can be used to control and
                                                                                                                 optimize network as well as
TIME BASED FILTER        DR           -       Y                       Resources
                                                                                                                 computing resource
RESOURCE LIMITS       T, DR, DW      N        N


USER_DATA            DP, DR, DW      N        Y                     Configuration
TOPIC_DATA                T          N        Y
GROUP_DATA               P, S        N        Y

                                                       © 2009, PrismTech. All Rights Reserved
Reliability
The reliability with which data is delivered to applications is impacted in DDS by the
following qualities of service
‣ RELIABILITY
 ‣ BEST_EFORT
 ‣ RELIABLE
‣ HISTORY
 ‣ KEEP_LAST (K)
 ‣ KEEP_ALL
‣ Theoretically, the only way to assure that an application will see all the samples
  produced by a writer is to use RELIABLE+KEEP_ALL. Any other combination could
  induce to samples being discarded on the receiving side because of the HISTORY depth


                                       © 2009, PrismTech. All Rights Reserved
Real-Time
The real-time properties with which data is delivered to applications is impacted in DDS by the
following qualities of service:
‣ TRANSPORT_PRIORITY
‣ LATENCY_BUDGET
‣ In addition, DDS provides means for detecting performance failure, e.g., Deadline miss, by means
  of the DEADLINE QoS
‣ Given a periodic task-set {T} with periods Di (with Di < Di+1) and deadline equal to the period, than
  QoS should be set as follows:
 ‣ Assign to each task Ti a TRANSPORT_PRIORITY Pi such that Pi > Pi+1
 ‣ Set for each task Ti a DEADLINE QoS of Di
 ‣ For maximizing throughput and minimizing resource usage set for each Ti a LATENCY_BUDGET
   QoS between Di /2 and Di/3 (this is a rule of thumb, the upper bound is Di-(RTT/2))

                                            © 2009, PrismTech. All Rights Reserved
Eventual Consistency & R/W Caches
                   DataReader

   DataReader           1   1

                        2   1                                                      DataWriter
      1   1
                        3   1




                                                                                                     Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
      2   1                                                                            1   2
                     Topic
                DataReader                             1     2                         2   3
      3   1
                DataReader Cache                       2     2       2     3           3   1
      Topic
                    1   1
DataReader Cache 2                                                                     Topic
                        1
                                                                 DDS              DataWriter Cache
                    3   1

                    Topic
              DataReader Cache

                 Under an Eventual Consistency Model, DDS guarantees that all matched
                 Reader Caches will eventually be identical of the respective Writer Cache
                                         © 2009, PrismTech. All Rights Reserved
QoS Impacting the Consistency Model
The DDS Consistency Model is a property that can be associated to Topics or further refined by
Reader/Writers. The property is controlled by the following QoS Policies:
‣ DURABILITY
 ‣ VOLATILE | TRANSIENT_LOCAL | TRANSIENT | PERSISTENT
‣ LIFESPAN




                                                                                                                         Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
‣ RELIABILITY
 ‣ RELIABLE | BEST_EFFORT
‣ DESTINATION ORDER
 ‣ SOURCE_TIMESTAMP | DESTINATION_TIMESTAMP
                                                        QoS Policy                     Applicability   RxO   Modifiable
                                                        DURABILITY                      T, DR, DW       Y       N
                                                        LIFESPAN                          T, DW         -       Y
                                                        RELIABILITY                     T, DR, DW       Y       N
                                                        DESTINATION ORDER               T, DR, DW       Y       N


                                              © 2009, PrismTech. All Rights Reserved
QoS Impacting the Consistency Model

                           DURABILITY           RELIABILITY                           DESTINATION_ORDER      LIFESPAN
Eventual Consistency         VOLATILE               RELIABLE                          SOURCE_TIMESTAMP         INF.
(No Crash / Recovery)
Eventual Consistency      TRANSIENT_LOCAL           RELIABLE                          SOURCE_TIMESTAMP         INF.




                                                                                                                        Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
(Reader Crash / Recovery)
Eventual Consistency        TRANSIENT               RELIABLE                          SOURCE_TIMESTAMP         INF.
(Crash/Recovery)
Eventual Consistency       PERSISTENT               RELIABLE                          SOURCE_TIMESTAMP         INF.
(Crash/Recovery)
Weak Consistency               ANY                        ANY                        DESTINATION_TIMESTAMP     ANY
Weak Consistency               ANY             BEST_EFFORT                                   ANY               ANY
Weak Consistency               ANY                        ANY                                ANY                N



                                            © 2009, PrismTech. All Rights Reserved
Eventual Consistency @ Work
                                      DURABILITY       RELIABILITY DESTINATION_ORDER                              LIFESPAN
Eventual Consistency (Reader        TRANSIENT_LOCAL       RELIABLE                SOURCE_TIMESTAMP                    INF.
Crash / Recovery)
                                                                                                                             {A}
Eventual Consistency                   TRANSIENT          RELIABLE                SOURCE_TIMESTAMP                    INF.
                                                                                                                             {B}
(Crash/Recovery)
Weak Consistency                         ANY                  ANY                                  ANY                 N     {J}




                                                                                                                                   Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
                                                                                                              S = {A, D}

                                                                                                                 S1
                  P = {A, B}                   B


                     P1                                   m

                                               A                           F


                                               J
                                                                   D                           C
                    P = {D, C, J}

                       P2                      K
                                                                   E



                                                                                                    S = {A}

                                                                                                      S4
                                                      © 2009, PrismTech. All Rights Reserved
Eventual Consistency @ Work
                                      DURABILITY       RELIABILITY DESTINATION_ORDER                              LIFESPAN
Eventual Consistency (Reader        TRANSIENT_LOCAL       RELIABLE                SOURCE_TIMESTAMP                    INF.
Crash / Recovery)
                                                                                                                             {A}
Eventual Consistency                   TRANSIENT          RELIABLE                SOURCE_TIMESTAMP                    INF.
                                                                                                                             {B}
(Crash/Recovery)
Weak Consistency                         ANY                  ANY                                  ANY                 N     {J}




                                                                                                                                   Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
                                                                                                              S = {A, D}

                                                                                                                 S1
                  P = {A, B}                   B


                     P1                                   m

                          A                    A                           F


                                               J
                                                                   D                           C
                    P = {D, C, J}

                       P2                      K
                                                                   E



                                                                                                    S = {A}

                                                                                                      S4
                                                      © 2009, PrismTech. All Rights Reserved
Eventual Consistency @ Work
                                      DURABILITY       RELIABILITY DESTINATION_ORDER                              LIFESPAN
Eventual Consistency (Reader        TRANSIENT_LOCAL       RELIABLE                SOURCE_TIMESTAMP                    INF.
Crash / Recovery)
                                                                                                                             {A}
Eventual Consistency                   TRANSIENT          RELIABLE                SOURCE_TIMESTAMP                    INF.
                                                                                                                             {B}
(Crash/Recovery)
Weak Consistency                         ANY                  ANY                                  ANY                  N    {J}




                                                                                                                                   Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
                                                                                                              S = {A, D}

                                                                                                                 S1
                  P = {A, B}                   B
                                                                                                                    A
                     P1                                   m

                                               A
                                               A                           F


                                               J
                                                                   D                           C
                    P = {D, C, J}

                       P2                      K
                                                                   E



                                                                                                    S = {A}

                                                                                                      S4
                                                      © 2009, PrismTech. All Rights Reserved        A
Eventual Consistency @ Work
                                      DURABILITY       RELIABILITY DESTINATION_ORDER                              LIFESPAN
Eventual Consistency (Reader        TRANSIENT_LOCAL       RELIABLE                SOURCE_TIMESTAMP                    INF.
Crash / Recovery)
                                                                                                                             {A}
Eventual Consistency                   TRANSIENT          RELIABLE                SOURCE_TIMESTAMP                    INF.
                                                                                                                             {B}
(Crash/Recovery)
Weak Consistency                         ANY                  ANY                                  ANY                  N    {J}




                                                                                                                                   Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
                                                                                                              S = {A, D}

                                                                                                                 S1
                  P = {A, B}                   B
                                                                                                                    A
                     P1                                   m

                        B                      A
                                               A                           F


                                               J
                                                                   D                           C
                    P = {D, C, J}

                       P2                      K
                                                                   E



                                                                                                    S = {A}

                                                                                                      S4
                                                      © 2009, PrismTech. All Rights Reserved        A
Eventual Consistency @ Work
                                      DURABILITY       RELIABILITY DESTINATION_ORDER                              LIFESPAN
Eventual Consistency (Reader        TRANSIENT_LOCAL       RELIABLE                SOURCE_TIMESTAMP                    INF.
Crash / Recovery)
                                                                                                                             {A}
Eventual Consistency                   TRANSIENT          RELIABLE                SOURCE_TIMESTAMP                    INF.
                                                                                                                             {B}
(Crash/Recovery)
Weak Consistency                         ANY                  ANY                                  ANY                  N    {J}




                                                                                                                                   Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
                                                                                                              S = {A, D}

                                                                                                                 S1
                  P = {A, B}                   B
                                               B
                                                                                                                    A
                     P1                                   m

                                               A
                                               A                           F


                                               J
                                                                   D                           C
                    P = {D, C, J}

                       P2                      K
                                                                   E



                                                                                                    S = {A}

                                                                                                      S4
                                                      © 2009, PrismTech. All Rights Reserved        A
Eventual Consistency @ Work
                                      DURABILITY       RELIABILITY DESTINATION_ORDER                              LIFESPAN
Eventual Consistency (Reader        TRANSIENT_LOCAL       RELIABLE                SOURCE_TIMESTAMP                    INF.
Crash / Recovery)
                                                                                                                               {A}
Eventual Consistency                   TRANSIENT          RELIABLE                SOURCE_TIMESTAMP                    INF.
                                                                                                                               {B}
(Crash/Recovery)
Weak Consistency                         ANY                  ANY                                  ANY                  N      {J}




                                                                                                                                     Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
                                                                                                              S = {A, D}

                                                                                                                 S1
                  P = {A, B}                   B
                                               B
                                                                                                                    A
                     P1                                   m
                                                                                                                S= {A, B, J}
                                               A
                                               A                           F

                                                                                                                    S2
                                               J
                                                                   D                           C
                    P = {D, C, J}

                       P2                      K
                                                                   E



                                                                                                    S = {A}

                                                                                                      S4
                                                      © 2009, PrismTech. All Rights Reserved        A
Eventual Consistency @ Work
                                      DURABILITY       RELIABILITY DESTINATION_ORDER                              LIFESPAN
Eventual Consistency (Reader        TRANSIENT_LOCAL       RELIABLE                SOURCE_TIMESTAMP                    INF.
Crash / Recovery)
                                                                                                                               {A}
Eventual Consistency                   TRANSIENT          RELIABLE                SOURCE_TIMESTAMP                    INF.
                                                                                                                               {B}
(Crash/Recovery)
Weak Consistency                         ANY                  ANY                                  ANY                  N      {J}




                                                                                                                                     Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
                                                                                                              S = {A, D}

                                                                                                                 S1
                  P = {A, B}                   B
                                               B
                                                                                                                    A
                     P1                                   m
                                                                                                                S= {A, B, J}
                                               A
                                               A                           F

                                                                                                                    S2
                                               J
                                                                   D                           C                    BA
                    P = {D, C, J}

                       P2                      K
                                                                   E



                                                                                                    S = {A}

                                                                                                      S4
                                                      © 2009, PrismTech. All Rights Reserved        A
Eventual Consistency @ Work
                                      DURABILITY       RELIABILITY DESTINATION_ORDER                              LIFESPAN
Eventual Consistency (Reader        TRANSIENT_LOCAL       RELIABLE                SOURCE_TIMESTAMP                      INF.
Crash / Recovery)
                                                                                                                                 {A}
Eventual Consistency                   TRANSIENT          RELIABLE                SOURCE_TIMESTAMP                      INF.
                                                                                                                                 {B}
(Crash/Recovery)
Weak Consistency                         ANY                  ANY                                  ANY                     N     {J}




                                                                                                                                       Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
                                                                                                              S = {A, D}

                                                                                                                  S1
                                               B
                                               B
                                                                                                                       A
                                                          m
                                                                                                                  S= {A, B, J}
                                               A                           F

                                                                                                                       S2
                                               J
                                                                   D                           C                       BA
                    P = {D, C, J}

                       P2                      K
                                                                    E


                                                                                                    S = {A}

                                                                                                      S4
                                                      © 2009, PrismTech. All Rights Reserved         A
Eventual Consistency @ Work
                                      DURABILITY       RELIABILITY DESTINATION_ORDER                                  LIFESPAN
Eventual Consistency (Reader        TRANSIENT_LOCAL       RELIABLE                SOURCE_TIMESTAMP                          INF.
Crash / Recovery)
                                                                                                                                     {A}
Eventual Consistency                   TRANSIENT          RELIABLE                SOURCE_TIMESTAMP                          INF.
                                                                                                                                     {B}
(Crash/Recovery)
Weak Consistency                         ANY                  ANY                                  ANY                         N     {J}




                                                                                                                                           Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
                                                                                                                 S = {A, D}

                                                                                                                      S1
                                               B
                                               B
                                                                                                                           A
                                                          m
                                                                                                                      S= {A, B, J}
                                               A                           F

                                                                                                                           S2
                                               J
                                                                   D                           C                           BA
                    P = {D, C, J}                                                                             S= {A, B, D, J}

                       P2                      K
                                                                    E                                               S3

                                                                                                    S = {A}

                                                                                                      S4
                                                      © 2009, PrismTech. All Rights Reserved         A
Eventual Consistency @ Work
                                      DURABILITY       RELIABILITY DESTINATION_ORDER                                  LIFESPAN
Eventual Consistency (Reader        TRANSIENT_LOCAL       RELIABLE                SOURCE_TIMESTAMP                          INF.
Crash / Recovery)
                                                                                                                                     {A}
Eventual Consistency                   TRANSIENT          RELIABLE                SOURCE_TIMESTAMP                          INF.
                                                                                                                                     {B}
(Crash/Recovery)
Weak Consistency                         ANY                  ANY                                  ANY                          N    {J}




                                                                                                                                           Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
                                                                                                                 S = {A, D}

                                                                                                                      S1
                                               B
                                               B
                                                                                                                            A
                                                          m
                                                                                                                      S= {A, B, J}
                                               A                           F

                                                                                                                           S2
                                               J
                                               J
                                                                   D
                                                                   D                           C                            BA
                    P = {D, C, J}                                                                             S= {A, B, D, J}

                       P2                      K
                                                                    E                                               S3

                                                                                                    S = {A}            JB


                                                                                                      S4
                                                      © 2009, PrismTech. All Rights Reserved         A
Eventual Consistency @ Work
                                      DURABILITY       RELIABILITY DESTINATION_ORDER                                  LIFESPAN
Eventual Consistency (Reader        TRANSIENT_LOCAL       RELIABLE                SOURCE_TIMESTAMP                          INF.
Crash / Recovery)
                                                                                                                                     {A}
Eventual Consistency                   TRANSIENT          RELIABLE                SOURCE_TIMESTAMP                          INF.
                                                                                                                                     {B}
(Crash/Recovery)
Weak Consistency                         ANY                  ANY                                  ANY                          N    {J}




                                                                                                                                           Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
                                                                                                                 S = {A, D}

                                                                                                                      S1
                                               B
                                               B
                                                                                                                            A
                                                          m
                                                                                                                      S= {A, B, J}
                                               A                           F

                                                                                                                           S2
                                               J
                                                                   D
                                                                   D                           C                            BA
                    P = {D, C, J}                                                                             S= {A, B, D, J}

                       P2                      K
                                                                    E                                               S3

                                                                                                    S = {A}            JB


                                                                                                      S4
                                                      © 2009, PrismTech. All Rights Reserved         A
Design Guidelines
‣ For all (non-periodic) Topics for which an eventually consistent model is required use the
  following QoS settings:

                                    DURABILITY            RELIABILITY DESTINATION_ORDER              LIFESPAN
       Eventual Consistency         TRANSIENT                RELIABLE             SOURCE_TIMESTAMP     INF.




                                                                                                                Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
       (Crash / Recovery)



‣ For information produced periodically, with a period P, where P is small enough to be
  acceptable as a consistency convergence delay, the following QoS settings will provide an
  approximation of the eventual consistency:

                                    DURABILITY             RELIABILITY DESTINATION_ORDER             LIFESPAN
       Eventual Consistency          VOLATILE             BEST_EFFORT SOURCE_TIMESTAMP                 INF.
       (Crash / Recovery)



                                         © 2009, PrismTech. All Rights Reserved
OpenSplice DDS
Delivering Performance, Openness, and Freedom




                       OpenSplice DDS
                          Architecture
OpenSplice DDS Architectural Outlook

Architectural Highlights
‣ Shared-Memory based
  architecture for minimizing
  intra-nodal latency, as well as
  maximizing nodal scalability
‣ Plugglable Service Architecture
‣ Full control over network
  scheduling




                                    © 2009, PrismTech. All Rights Reserved
Real-Time Networking Technology
    Architecture
    ‣ Network-channels
                                                                                     Shared                       Single Copy per Node         Shared
      ‣ Priority bands                                                                                       Pack Across Topics/Applications
    ‣ Network-partitions                                                             Memory                       Optimal Unmarshaling         Memory
      ‣ Multicast Groups
    ‣ Traffic-shaping
       ‣ Burst/Throughput
                                                                                    OpenSplice DDS                                             OpenSplice DDS
                                                                                       Binding                                                    Binding
Scalability and Efficiency                      Fault-Tolerance                                              Pre-emptive Network Scheduler
‣ Single shared library for applications        ‣ Active Channels                  Networking                       Priority Scheduler
                                                                                                                                               Networking
                                                                                                               Data Urgency Traffic Pacing
    & services                                  ‣ Fall back on next
‣ Ring-fenced shared memory segment                highest priority active
                                                                                                                    Network Channels
                                                   channel
‣ Data urgency driven network-packing                                                                                Priority Bands

Determinism & Safety                                                                                                 Traffic Shaping
‣   Preemptive network-scheduler
‣   Data importance based network-channel selection
‣   Partition based multicast-group selection
‣   Managed critical network-resource

                                                                    © 2009, PrismTech. All Rights Reserved
Durable Data Technology
                                                      Shared Memory                                                                  Shared Memory
  Architecture
  ‣ Fault-Tolerant Data
    Availability                                                                               Disk             Disk


    ‣ Transient -- on memory                     OpenSplice DDS        OpenSplice DDS                                          OpenSplice DDS   OpenSplice DDS
                                                    Binding               Binding                                                 Binding          Binding
    ‣ Persistent -- on disk
                                                 Networking            Durability                                              Durability       Networking
  ‣ Partitioning                                                                                  Persist Partitions
                                                                                            Persistent Data on Local Disk
    ‣ DDS Partitions                                                                         Transient Data in Memory


  ‣ Alignment                                                                      Dedicated Persistence Service Alignment Channel
    ‣ Dedicated Channels




Goal                                              Features
‣ Transient QoS. Keep state-data outside the      ‣    Fault-tolerant availability of non-volatile data
  scope/lifecycle of its publishers               ‣    Efficient delivery of initial data to late-joining applications
‣ Persistence QoS. Keep persistent settings to    ‣    Pluggable Durability Service
  outlive the system downtime
                                                  ‣    Automatic alignment of replicated durability-services

                                                   © 2009, PrismTech. All Rights Reserved
OpenSplice DDS
Delivering Performance, Openness, and Freedom




                           Playing with
                       OpenSplice DDS
Online Resources

 http://www.opensplice.com/
                                                                                  http://www.slideshare.net/angelo.corsaro
 emailto:opensplicedds@prismtech.com




 http://bit.ly/1Sreg                                                              http://twitter.com/acorsaro/




                                                                                  http://opensplice.blogspot.com
 http://www.youtube.com/OpenSpliceTube


                                         © 2009, PrismTech. All Rights Reserved

Más contenido relacionado

La actualidad más candente

Advanced OpenSplice Programming - Part I
Advanced OpenSplice Programming - Part IAdvanced OpenSplice Programming - Part I
Advanced OpenSplice Programming - Part IAngelo Corsaro
 
OMG DDS: The Data Distribution Service for Real-Time Systems
OMG DDS: The Data Distribution Service for Real-Time SystemsOMG DDS: The Data Distribution Service for Real-Time Systems
OMG DDS: The Data Distribution Service for Real-Time SystemsAngelo Corsaro
 
Classical Distributed Algorithms with DDS
Classical Distributed Algorithms with DDSClassical Distributed Algorithms with DDS
Classical Distributed Algorithms with DDSAngelo Corsaro
 
The DDS Tutorial Part II
The DDS Tutorial Part IIThe DDS Tutorial Part II
The 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
 
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
 
Tweeting with OpenSplice DDS
Tweeting with OpenSplice DDSTweeting with OpenSplice DDS
Tweeting with OpenSplice DDSAngelo Corsaro
 
The DDS Security Standard
The DDS Security StandardThe DDS Security Standard
The DDS Security StandardAngelo Corsaro
 
Introducing Vortex Lite
Introducing Vortex LiteIntroducing Vortex Lite
Introducing Vortex LiteAngelo Corsaro
 
Getting Started with DDS in C++, Java and Scala
Getting Started with DDS in C++, Java and ScalaGetting Started with DDS in C++, Java and Scala
Getting Started with DDS in C++, Java and ScalaAngelo Corsaro
 
The Data Distribution Service Tutorial
The Data Distribution Service TutorialThe Data Distribution Service Tutorial
The Data Distribution Service TutorialAngelo Corsaro
 
Tuning and Troubleshooting OpenSplice DDS Applications
Tuning and Troubleshooting OpenSplice DDS ApplicationsTuning and Troubleshooting OpenSplice DDS Applications
Tuning and Troubleshooting OpenSplice DDS ApplicationsAngelo 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
 
Vortex Tutorial -- Part I
Vortex Tutorial -- Part IVortex Tutorial -- Part I
Vortex Tutorial -- Part IAngelo Corsaro
 
DDS Tutorial -- Part I
DDS Tutorial -- Part IDDS Tutorial -- Part I
DDS Tutorial -- Part IAngelo 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
 

La actualidad más candente (20)

Advanced OpenSplice Programming - Part I
Advanced OpenSplice Programming - Part IAdvanced OpenSplice Programming - Part I
Advanced OpenSplice Programming - Part I
 
OMG DDS: The Data Distribution Service for Real-Time Systems
OMG DDS: The Data Distribution Service for Real-Time SystemsOMG DDS: The Data Distribution Service for Real-Time Systems
OMG DDS: The Data Distribution Service for Real-Time Systems
 
OpenSplice DDS v6
OpenSplice DDS v6OpenSplice DDS v6
OpenSplice DDS v6
 
ISO C++ DDS PSM
ISO C++ DDS PSMISO C++ DDS PSM
ISO C++ DDS PSM
 
Classical Distributed Algorithms with DDS
Classical Distributed Algorithms with DDSClassical Distributed Algorithms with DDS
Classical Distributed Algorithms with DDS
 
The DDS Tutorial Part II
The DDS Tutorial Part IIThe DDS Tutorial Part II
The DDS Tutorial Part II
 
UML Profile for DDS
UML Profile for DDSUML Profile for DDS
UML Profile for DDS
 
20 Tips for OpenSplice Newbies
20 Tips for OpenSplice Newbies20 Tips for OpenSplice Newbies
20 Tips for OpenSplice Newbies
 
DDS Security
DDS SecurityDDS Security
DDS Security
 
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é
 
Tweeting with OpenSplice DDS
Tweeting with OpenSplice DDSTweeting with OpenSplice DDS
Tweeting with OpenSplice DDS
 
The DDS Security Standard
The DDS Security StandardThe DDS Security Standard
The DDS Security Standard
 
Introducing Vortex Lite
Introducing Vortex LiteIntroducing Vortex Lite
Introducing Vortex Lite
 
Getting Started with DDS in C++, Java and Scala
Getting Started with DDS in C++, Java and ScalaGetting Started with DDS in C++, Java and Scala
Getting Started with DDS in C++, Java and Scala
 
The Data Distribution Service Tutorial
The Data Distribution Service TutorialThe Data Distribution Service Tutorial
The Data Distribution Service Tutorial
 
Tuning and Troubleshooting OpenSplice DDS Applications
Tuning and Troubleshooting OpenSplice DDS ApplicationsTuning and Troubleshooting OpenSplice DDS Applications
Tuning and Troubleshooting OpenSplice DDS Applications
 
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
 
Vortex Tutorial -- Part I
Vortex Tutorial -- Part IVortex Tutorial -- Part I
Vortex Tutorial -- Part I
 
DDS Tutorial -- Part I
DDS Tutorial -- Part IDDS Tutorial -- Part I
DDS Tutorial -- Part I
 
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
 

Destacado

Vortex Tutorial Part II
Vortex Tutorial Part IIVortex Tutorial Part II
Vortex Tutorial Part IIAngelo 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
 
Building Reactive Applications with DDS
Building Reactive Applications with DDSBuilding Reactive Applications with DDS
Building Reactive Applications with DDSAngelo Corsaro
 
Getting Started with Vortex
Getting Started with VortexGetting Started with Vortex
Getting Started with VortexAngelo Corsaro
 
The Data Distribution Service Tutorial
The Data Distribution Service TutorialThe Data Distribution Service Tutorial
The Data Distribution Service TutorialAngelo Corsaro
 
Building and Scaling Internet of Things Applications with Vortex Cloud
Building and Scaling Internet of Things Applications with Vortex CloudBuilding and Scaling Internet of Things Applications with Vortex Cloud
Building and Scaling Internet of Things Applications with Vortex CloudAngelo Corsaro
 
Introduction to OMG DDS (1 hour, 45 slides)
Introduction to OMG DDS (1 hour, 45 slides)Introduction to OMG DDS (1 hour, 45 slides)
Introduction to OMG DDS (1 hour, 45 slides)Gerardo Pardo-Castellote
 
Free/Open Source Software
Free/Open Source SoftwareFree/Open Source Software
Free/Open Source SoftwareAngelo Corsaro
 
Improve Executive Speeches with 10 Fast Tips
Improve Executive Speeches with 10 Fast TipsImprove Executive Speeches with 10 Fast Tips
Improve Executive Speeches with 10 Fast TipsMarian Madonia, CSP
 
Crowdfunding 101
Crowdfunding 101Crowdfunding 101
Crowdfunding 101Dave Gee
 
Concurso emasagra 2013
Concurso emasagra 2013Concurso emasagra 2013
Concurso emasagra 2013XXX XXX
 

Destacado (15)

Vortex Tutorial Part II
Vortex Tutorial Part IIVortex Tutorial Part II
Vortex Tutorial Part II
 
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
 
Building Reactive Applications with DDS
Building Reactive Applications with DDSBuilding Reactive Applications with DDS
Building Reactive Applications with DDS
 
Getting Started with Vortex
Getting Started with VortexGetting Started with Vortex
Getting Started with Vortex
 
The Data Distribution Service Tutorial
The Data Distribution Service TutorialThe Data Distribution Service Tutorial
The Data Distribution Service Tutorial
 
Building and Scaling Internet of Things Applications with Vortex Cloud
Building and Scaling Internet of Things Applications with Vortex CloudBuilding and Scaling Internet of Things Applications with Vortex Cloud
Building and Scaling Internet of Things Applications with Vortex Cloud
 
Introduction to OMG DDS (1 hour, 45 slides)
Introduction to OMG DDS (1 hour, 45 slides)Introduction to OMG DDS (1 hour, 45 slides)
Introduction to OMG DDS (1 hour, 45 slides)
 
Free/Open Source Software
Free/Open Source SoftwareFree/Open Source Software
Free/Open Source Software
 
Improve Executive Speeches with 10 Fast Tips
Improve Executive Speeches with 10 Fast TipsImprove Executive Speeches with 10 Fast Tips
Improve Executive Speeches with 10 Fast Tips
 
Undop Paris09pp
Undop Paris09ppUndop Paris09pp
Undop Paris09pp
 
Portfolio:Summer 09
Portfolio:Summer 09Portfolio:Summer 09
Portfolio:Summer 09
 
Crowdfunding 101
Crowdfunding 101Crowdfunding 101
Crowdfunding 101
 
Ralph credentials
Ralph credentialsRalph credentials
Ralph credentials
 
Destiny Overview
Destiny OverviewDestiny Overview
Destiny Overview
 
Concurso emasagra 2013
Concurso emasagra 2013Concurso emasagra 2013
Concurso emasagra 2013
 

Similar a Getting Started with OpenSplice DDS Community Ed.

The Open Splice.Org Community
The Open Splice.Org CommunityThe Open Splice.Org Community
The Open Splice.Org CommunityAngelo Corsaro
 
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part IOMG DDS Tutorial - Part I
OMG DDS Tutorial - Part IAngelo Corsaro
 
Distributed Simulations with DDS and HLA
Distributed Simulations with DDS and HLADistributed Simulations with DDS and HLA
Distributed Simulations with DDS and HLAAngelo Corsaro
 
Standardizing the Data Distribution Service (DDS) API for Modern C++
Standardizing the Data Distribution Service (DDS) API for Modern C++Standardizing the Data Distribution Service (DDS) API for Modern C++
Standardizing the Data Distribution Service (DDS) API for Modern C++Sumant Tambe
 
OMG DDS and its Relation to Unmanned Vehicle Interoperability
OMG DDS and its Relation to Unmanned Vehicle InteroperabilityOMG DDS and its Relation to Unmanned Vehicle Interoperability
OMG DDS and its Relation to Unmanned Vehicle InteroperabilityGerardo Pardo-Castellote
 
Communication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/SubscribeCommunication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/SubscribeSumant Tambe
 
Communication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/SubscribeCommunication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/SubscribeReal-Time Innovations (RTI)
 
Roadmap and Technology Incubators
Roadmap and Technology IncubatorsRoadmap and Technology Incubators
Roadmap and Technology IncubatorsAngelo Corsaro
 
DDS Interoperability Demo
DDS Interoperability DemoDDS Interoperability Demo
DDS Interoperability DemoAngelo Corsaro
 
DDS for JMS Programmers
DDS for JMS ProgrammersDDS for JMS Programmers
DDS for JMS ProgrammersAngelo Corsaro
 
Introduction to DDS
Introduction to DDSIntroduction to DDS
Introduction to DDSRick Warren
 
Integration Platform For JMPS Using DDS
Integration Platform For JMPS Using DDSIntegration Platform For JMPS Using DDS
Integration Platform For JMPS Using DDSSupreet Oberoi
 

Similar a Getting Started with OpenSplice DDS Community Ed. (20)

OpenSplice DDS v5.1
OpenSplice DDS v5.1OpenSplice DDS v5.1
OpenSplice DDS v5.1
 
Embrace Change
Embrace ChangeEmbrace Change
Embrace Change
 
The Open Splice.Org Community
The Open Splice.Org CommunityThe Open Splice.Org Community
The Open Splice.Org Community
 
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part IOMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
 
Cloudand Xchange
Cloudand XchangeCloudand Xchange
Cloudand Xchange
 
Distributed Simulations with DDS and HLA
Distributed Simulations with DDS and HLADistributed Simulations with DDS and HLA
Distributed Simulations with DDS and HLA
 
Standardizing the Data Distribution Service (DDS) API for Modern C++
Standardizing the Data Distribution Service (DDS) API for Modern C++Standardizing the Data Distribution Service (DDS) API for Modern C++
Standardizing the Data Distribution Service (DDS) API for Modern C++
 
Business Models for Interoperability
Business Models for InteroperabilityBusiness Models for Interoperability
Business Models for Interoperability
 
The Promise of Interoperability
The Promise of InteroperabilityThe Promise of Interoperability
The Promise of Interoperability
 
OMG DDS and its Relation to Unmanned Vehicle Interoperability
OMG DDS and its Relation to Unmanned Vehicle InteroperabilityOMG DDS and its Relation to Unmanned Vehicle Interoperability
OMG DDS and its Relation to Unmanned Vehicle Interoperability
 
OMG DDS Interoperability Demo 2009
OMG DDS Interoperability Demo 2009OMG DDS Interoperability Demo 2009
OMG DDS Interoperability Demo 2009
 
Communication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/SubscribeCommunication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/Subscribe
 
Communication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/SubscribeCommunication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/Subscribe
 
Roadmap and Technology Incubators
Roadmap and Technology IncubatorsRoadmap and Technology Incubators
Roadmap and Technology Incubators
 
DDS Interoperability Demo
DDS Interoperability DemoDDS Interoperability Demo
DDS Interoperability Demo
 
DDS for JMS Programmers
DDS for JMS ProgrammersDDS for JMS Programmers
DDS for JMS Programmers
 
DDS vs AMQP
DDS vs AMQPDDS vs AMQP
DDS vs AMQP
 
Introduction to DDS
Introduction to DDSIntroduction to DDS
Introduction to DDS
 
Integration Platform For JMPS Using DDS
Integration Platform For JMPS Using DDSIntegration Platform For JMPS Using DDS
Integration Platform For JMPS Using DDS
 
What Can DDS Do For You?
What Can DDS Do For You?What Can DDS Do For You?
What Can DDS Do For You?
 

Más de Angelo Corsaro

zenoh: The Edge Data Fabric
zenoh: The Edge Data Fabriczenoh: The Edge Data Fabric
zenoh: The Edge Data FabricAngelo Corsaro
 
Data Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair MonetisationData Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair MonetisationAngelo Corsaro
 
zenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query computezenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query computeAngelo Corsaro
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolAngelo Corsaro
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolAngelo Corsaro
 
Breaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog ComputingBreaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog ComputingAngelo Corsaro
 
fog05: The Fog Computing Infrastructure
fog05: The Fog Computing Infrastructurefog05: The Fog Computing Infrastructure
fog05: The Fog Computing InfrastructureAngelo Corsaro
 
Cyclone DDS: Sharing Data in the IoT Age
Cyclone DDS: Sharing Data in the IoT AgeCyclone DDS: Sharing Data in the IoT Age
Cyclone DDS: Sharing Data in the IoT AgeAngelo Corsaro
 
fog05: The Fog Computing Platform
fog05: The Fog Computing Platformfog05: The Fog Computing Platform
fog05: The Fog Computing PlatformAngelo Corsaro
 
Programming in Scala - Lecture Four
Programming in Scala - Lecture FourProgramming in Scala - Lecture Four
Programming in Scala - Lecture FourAngelo Corsaro
 
Programming in Scala - Lecture Three
Programming in Scala - Lecture ThreeProgramming in Scala - Lecture Three
Programming in Scala - Lecture ThreeAngelo Corsaro
 
Programming in Scala - Lecture Two
Programming in Scala - Lecture TwoProgramming in Scala - Lecture Two
Programming in Scala - Lecture TwoAngelo Corsaro
 
Programming in Scala - Lecture One
Programming in Scala - Lecture OneProgramming in Scala - Lecture One
Programming in Scala - Lecture OneAngelo Corsaro
 
The Data Distribution Service
The Data Distribution ServiceThe Data Distribution Service
The Data Distribution ServiceAngelo Corsaro
 
RUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming RuminationsRUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming RuminationsAngelo Corsaro
 
Vortex II -- The Industrial IoT Connectivity Standard
Vortex II -- The  Industrial IoT  Connectivity StandardVortex II -- The  Industrial IoT  Connectivity Standard
Vortex II -- The Industrial IoT Connectivity StandardAngelo Corsaro
 

Más de Angelo Corsaro (20)

Zenoh: The Genesis
Zenoh: The GenesisZenoh: The Genesis
Zenoh: The Genesis
 
zenoh: The Edge Data Fabric
zenoh: The Edge Data Fabriczenoh: The Edge Data Fabric
zenoh: The Edge Data Fabric
 
Zenoh Tutorial
Zenoh TutorialZenoh Tutorial
Zenoh Tutorial
 
Data Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair MonetisationData Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair Monetisation
 
zenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query computezenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query compute
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocol
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocol
 
Breaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog ComputingBreaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
 
Eastern Sicily
Eastern SicilyEastern Sicily
Eastern Sicily
 
fog05: The Fog Computing Infrastructure
fog05: The Fog Computing Infrastructurefog05: The Fog Computing Infrastructure
fog05: The Fog Computing Infrastructure
 
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
 
The Data Distribution Service
The Data Distribution ServiceThe Data Distribution Service
The Data Distribution Service
 
RUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming RuminationsRUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming Ruminations
 
Vortex II -- The Industrial IoT Connectivity Standard
Vortex II -- The  Industrial IoT  Connectivity StandardVortex II -- The  Industrial IoT  Connectivity Standard
Vortex II -- The Industrial IoT Connectivity Standard
 
Fog Computing Defined
Fog Computing DefinedFog Computing Defined
Fog Computing Defined
 

Último

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
 
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
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
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
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
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
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
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
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
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
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
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
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 

Último (20)

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
 
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
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
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
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
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
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.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
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
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
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
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
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 

Getting Started with OpenSplice DDS Community Ed.

  • 1. OpenSplice DDS Delivering Performance, Openness, and Freedom Getting Started with Angelo Corsaro, Ph.D. Chief Technology Officer OMG DDS SIG Co-Chair angelo.corsaro@prismtech.com the Community Ed.
  • 2. OpenSplice DDS Delivering Performance, Openness, and Freedom Background
  • 3. Addressing Data Distribution Challenges DDS is standard designed to address the data-distribution challenges across The OMG DDS Standard a wide class of Defense and Aerospace Applications ‣ Introduced in 2004 to address the Data Distribution challenges faced by a wide class of Defense and Aerospace Applications ‣ Key requirement for the standard were its ability to deliver very high performance while seamlessly scaling from embedded to ultra- large-scale deployments ‣ Today recommended by key administration worldwide and widely adopted across several different application domains, such as, Automated Trading, Simulations, SCADA, Telemetry, etc. © 2009, PrismTech. All Rights Reserved
  • 4. The OMG Data Distribution Service (DDS) DDS v1.2 API Standard ‣ Language Independent, OS and HW architecture Application independent Object/Relational Mapping ‣ DCPS. Standard API for Data-Centric, Topic- Data Local Reconstruction Layer (DLRL) Based, Real-Time Publish/Subscribe Content ‣ Ownership Durability DLRL. Standard API for creating Object Views out Subscription of collection of Topics Minimum Profile Data Centric Publish/Subscribe (DCPS) DDSI/RTPS v2.1 Wire Protocol Standard ‣ Standard wire protocol allowing interoperability Real-Time Publish/Subscribe Protocol DDS Interoperability Wire Protocol between different implementations of the DDS standard UDP/IP ‣ Interoperability demonstrated among key DDS vendors in March 2009 © 2009, PrismTech. All Rights Reserved
  • 5. OpenSplice DDS Community Ed. Features Application ‣ OMG DDS v1.2 DCPS ‣ Networking ‣ Minimum Profile ‣ DDSI v2.1 Implementation Content ‣ Content Subscription Profile ‣ Real-Time Networking DDS v1.2 Ownership Durability Subscription Implementation ‣ Durability Profile ‣ Ownership Profile Minimum Profile Real-Time Pub/Sub (DCPS) DDSI v2.1 Interoperable Wire Protocol Real-Time Networking (DDSI) OMG DDS Standard Compliance Networking Technology DCPS Profiles DDSI/ UDP/IP DLRL Minimum Content Ownership Durability RTPS OpenSplice DDS Yes Yes Yes Yes No Yes Licensing Community Ed. Other DDS (Best Case) Yes Partial Yes No* No Yes © 2009, PrismTech. All Rights Reserved
  • 6. Performance on Commodity HW Throughput -./0/1/23' 456/' Latency #+(+%++' &&++%++' $+(+%++' "*(%)+' ")(%&!' ""&%,&'&+++%++' Inter-Node Latency !"#$%&#' ‣ 60 usec "!+%++' )"#%*)' "++%++' )$,%$*' !+(+%++' )++%++' Inter-Core Read-Latency &'$($)$*+% Proprietary Information - Distribution without Expressed Written Permission is Prohibited. *!#%,&' ‣ 2 usec !"#$% ,+(+%++' *++%++' ()(!%(*' #++%++' (+(+%++' &")&%+)' Inter-Core Latency ‣ <10 usec $&"%,,' $++%++' &!(,%!)' &+(+%++' ),,%$#' !++%++' ,*+%&)' !,*%))' ,($%!+' (("%!"' &&)%*$' $"%"$' ,+%($' ,++%++' HW: (+%++' )' &#' ,(' #!' &()' ($#' $&(' &+(!' (+!)' !+"#' ‣ Dell blade-server !*$$,(*%-./*% ‣ Dual-core, Dual-CPU, AMD Opteron 2.4 Ghz Test Scenario OS ‣ Linux 2.6.21-1.3194.fc7 ‣ Single Threaded Application (multi-threaded networking service) Network ‣ 8192 bit message batches ‣ Gigabit Ethernet cards ‣ Dell PowerConnect 5324 switch © 2009, PrismTech. All Rights Reserved
  • 7. OpenSplice DDS Delivering Performance, Openness, and Freedom As Simple as it Gets
  • 8. As Simple as it Gets ‣ DDS is based around the concept of a fully distributed Global Data Space (GDS) Global Data Space DDS © 2009, PrismTech. All Rights Reserved
  • 9. As Simple as it Gets ‣ DDS is based around the concept of a fully distributed Global Data Space (GDS) ‣ Publishers and Subscribers can join and leave the GDS at any time Global Data Space DDS © 2009, PrismTech. All Rights Reserved
  • 10. As Simple as it Gets ‣ DDS is based around the concept of a fully distributed Global Data Publisher Subscriber Space (GDS) ‣ Publishers and Subscribers can join and leave the GDS at any time Subscriber Publisher Global Data Space Publisher Subscriber DDS © 2009, PrismTech. All Rights Reserved
  • 11. As Simple as it Gets ‣ DDS is based around the concept of a fully distributed Global Data Publisher Subscriber Space (GDS) ‣ Publishers and Subscribers can join and leave the GDS at any time Subscriber ‣ Publishers and Subscribers Publisher Global Data Space express their intent to produce/ consume specific type of data, e.g., Topics Publisher Subscriber DDS © 2009, PrismTech. All Rights Reserved
  • 12. As Simple as it Gets ‣ DDS is based around the concept of a fully distributed Global Data Publisher Subscriber Space (GDS) ‣ Publishers and Subscribers can join and leave the GDS at any time Subscriber ‣ Publishers and Subscribers Publisher Global Data Space express their intent to produce/ consume specific type of data, e.g., Topics Publisher Subscriber DDS © 2009, PrismTech. All Rights Reserved
  • 13. As Simple as it Gets ‣ DDS is based around the concept of a fully distributed Global Data Publisher Subscriber Space (GDS) ‣ Publishers and Subscribers can join and leave the GDS at any time Subscriber ‣ Publishers and Subscribers Publisher Global Data Space express their intent to produce/ consume specific type of data, e.g., Topics Subscriber ‣ Data flows from Publisher to Publisher Subscribers DDS © 2009, PrismTech. All Rights Reserved
  • 14. As Simple as it Gets ‣ DDS is based around the concept of a fully distributed Global Data Publisher Subscriber Space (GDS) ‣ Publishers and Subscribers can join and leave the GDS at any time Subscriber ‣ Publishers and Subscribers Publisher Global Data Space express their intent to produce/ consume specific type of data, e.g., Topics Subscriber ‣ Data flows from Publisher to Publisher Subscribers DDS © 2009, PrismTech. All Rights Reserved
  • 15. OpenSplice DDS Delivering Performance, Openness, and Freedom Defining Data
  • 16. DDS Topics {Circle, Square, Triangle} Topic ‣ Unit of information exchanged between Publisher and Subscribers. ‣ An association between a unique name, a type and a QoS setting {ShapeType} {...} Topic Type. struct ShapeType { ‣ Type describing the data associated with one long x; or more Topics long y; ‣ A Topic type can have a key represented by an long shapesize; string color; arbitrary number of attributes }; ‣ Expressed in IDL #pragma keylist ShapeType color © 2009, PrismTech. All Rights Reserved
  • 17. DDS Topics Circle struct ShapeType { long x; long y; long shapesize; Topic QoS string color; }; #pragma keylist ShapeType color © 2009, PrismTech. All Rights Reserved
  • 18. DDS Topics Triangle struct ShapeType { long x; long y; long shapesize; Topic QoS string color; }; #pragma keylist ShapeType color © 2009, PrismTech. All Rights Reserved
  • 19. DDS Topic Instances and Samples Topic Instances ‣ Each key value identifies a unique Topic Instance, ‣ Topic’s instance lifetime can be explicitly managed in DDS Topic Samples ‣ The values assumed by a Topic Instance over time are referred as Instance Sample struct ShapeType { long x; long y; long shapesize; string color; }; #pragma keylist ShapeType color © 2009, PrismTech. All Rights Reserved
  • 20. Topic/Instances/Samples Recap. Topics Instances Samples ti tj tnow time © 2009, PrismTech. All Rights Reserved
  • 21. Content Filtering X0 X1 X0 <= X <= X1 ‣ DDS allows to specify content- filtered Topics for which a subset of SQL92 is used to express the filter condition Y0 ‣ Content filters can be applied on the entire content of the Topic Type Y0 <= Y <= Y1 ‣ Content filters are applied by DDS Y1 each time a new sample is produced/delivered © 2009, PrismTech. All Rights Reserved
  • 22. Local Queries ‣ Subscribed Topics can be seen locally as “Tables” ‣ A subset of SQL92 can be used for performing queries on X0 multiple topics as well as natural joins ‣ Queries are Circle Topic performed under Y0 color x y shapesize Y0 user control and red 57 62 50 provide a result that blue 90 85 50 Y0 <= Y <= Y1 depends on the yellow 30 25 50 current snapshot of SELECT * FROM ShapeType s WHERE s.x > 25 AND s.y < 55 Y1 the system, e.g., samples currently color x y shapesize available yellow 30 25 50 © 2009, PrismTech. All Rights Reserved
  • 23. OpenSplice DDS Delivering Performance, Openness, and Freedom Organizing Data
  • 24. DDS Partitions ‣ All DDS communication is Domain Partition happens within a Domain ‣ Domain can divided into Publisher Subscriber Partitions B ‣ Topics are published and m subscribed across on or A F Subscriber more Partitions Publisher J D C K E Publisher Subscriber © 2009, PrismTech. All Rights Reserved
  • 25. OpenSplice Network Partitions ‣ OpenSplice DDS allows to Publisher Subscriber define network partitions along "Red" B with DDS partitions m ‣ Network partitions are bound to A F a list of unicast/multicast Publisher J "Green" Subscriber network addresses D C ‣ Partition.Topic combination can K E "Yellow" be mapped into OpenSplice DDS Network Partitions Publisher Subscriber ‣ Wildcards can be used when defining the mapping, and in Yellow.* => 224.1.1.1 Green.* => 224.1.1.2 case of multiple matches Green.E => 224.1.1.3 OpenSplice DDS will always consider the best match © 2009, PrismTech. All Rights Reserved
  • 26. Network Partition (osplconf) © 2009, PrismTech. All Rights Reserved
  • 27. Partition Mapping (osplconf) © 2009, PrismTech. All Rights Reserved
  • 28. Partition Mapping (osplconf) © 2009, PrismTech. All Rights Reserved
  • 29. Partition Mapping (osplconf) © 2009, PrismTech. All Rights Reserved
  • 30. OpenSplice DDS Delivering Performance, Openness, and Freedom Quality of Service
  • 31. Anatomy of a DDS Application Topic Topic Topic Samples Samples Instances Samples Instances Instances 121 62 1 21 62 1 22 62 1 22 62 1 23 63 1 23 63 DataReader DataReader 1 21 62 2 20 61 1 22 62 2 19 60 1 23 63 DataReader DataReader 2 20 61 2 20 61 2 19 60 2 19 60 DataWriter DataWriter DataReader DataReader 3 25 70 3 25 71 25 3 25 74 3 26 77 3 26 77 DataWriter DataWriter 3 25 70 3 25 71 25 3 25 74 struct TempSensor { 3 25 70 3 25 71 25 3 25 74 3 26 77 int tID; float temp; float humidity; }; #pragma keylist TempSensor tID © 2009, PrismTech. All Rights Reserved
  • 32. Anatomy of a DDS Application Topic Topic Topic Samples Samples Instances Samples Instances Instances 121 62 1 21 62 1 22 62 1 22 62 1 23 63 1 23 63 DataReader DataReader 1 21 62 2 20 61 1 22 62 2 19 60 1 23 63 DataReader DataReader 2 20 61 2 20 61 2 19 60 2 19 60 DataWriter DataWriter DataReader DataReader 3 25 70 3 25 71 25 3 25 74 3 26 77 3 26 77 DataWriter DataWriter 3 25 70 3 25 71 25 3 25 74 struct TempSensor { 3 25 70 3 25 71 25 3 25 74 3 26 77 int tID; float temp; Arrows }; float humidity; show #pragma keylist TempSensor tID structural relationship s, not data- Subscriber Publisher flows Partition © 2009, PrismTech. All Rights Reserved
  • 33. Anatomy of a DDS Application Topic Topic Topic Samples Samples Instances Samples Instances Instances 121 62 1 21 62 1 22 62 1 22 62 1 23 63 1 23 63 DataReader DataReader 1 21 62 2 20 61 1 22 62 2 19 60 1 23 63 DataReader DataReader 2 20 61 2 20 61 2 19 60 2 19 60 DataWriter DataWriter DataReader DataReader 3 25 70 3 25 71 25 3 25 74 3 26 77 3 26 77 DataWriter DataWriter 3 25 70 3 25 71 25 3 25 74 struct TempSensor { 3 25 70 3 25 71 25 3 25 74 3 26 77 int tID; float temp; Arrows }; float humidity; show #pragma keylist TempSensor tID structural relationship s, not data- Subscriber Publisher flows Partition Domain Participant Domain © 2009, PrismTech. All Rights Reserved
  • 34. QoS Model ‣ QoS-Policies are used to control relevant properties of OpenSplice DDS entities, Type Matching QoS matching such as: QoS QoS QoS QoS QoS QoS QoS ‣ Temporal Properties ‣ Priority Topic Name Publisher Subscriber ‣ Durability ... DataWriter writes Type reads DataReader ... ... ‣ Availability DomainParticipant writes Type reads DataReader DomainParticipant DataWriter ‣ ... Name ‣ Some QoS-Policies are matched based on Topic QoS QoS QoS a Request vs. Offered Model thus QoS- enforcement ‣ Publications and Subscriptions match only if the declared vs. requested QoS are compatible ‣ e.g., it is not possible to match a publisher which delivers data unreliably with a subscriber which requires reliability © 2009, PrismTech. All Rights Reserved
  • 35. QoS Policies QoS Policy Applicability RxO Modifiable Type Matching QoS matching DURABILITY T, DR, DW Y N Data Availability QoS QoS QoS QoS QoS QoS QoS DURABILITY SERVICE T, DW N N Topic Name Publisher Subscriber LIFESPAN T, DW - Y ... DataWriter writes Type reads DataReader ... T, DR, DW N N ... HISTORY DomainParticipant DataWriter writes Type reads DataReader DomainParticipant PRESENTATION P, S Y N Data Delivery Name Topic RELIABILITY T, DR, DW Y N PARTITION P, S N Y QoS QoS QoS DESTINATION ORDER T, DR, DW Y N OWNERSHIP T, DR, DW Y N ‣ Rich set of QoS allow to configure OWNERSHIP DW - Y STRENGTH several different aspects of data DEADLINE T, DR, DW Y Y Data Timeliness availability, delivery and timeliness LATENCY BUDGET T, DR, DW Y Y TRANSPORT PRIORITY T, DW - Y ‣ QoS can be used to control and optimize network as well as TIME BASED FILTER DR - Y Resources computing resource RESOURCE LIMITS T, DR, DW N N USER_DATA DP, DR, DW N Y Configuration TOPIC_DATA T N Y GROUP_DATA P, S N Y © 2009, PrismTech. All Rights Reserved
  • 36. Reliability The reliability with which data is delivered to applications is impacted in DDS by the following qualities of service ‣ RELIABILITY ‣ BEST_EFORT ‣ RELIABLE ‣ HISTORY ‣ KEEP_LAST (K) ‣ KEEP_ALL ‣ Theoretically, the only way to assure that an application will see all the samples produced by a writer is to use RELIABLE+KEEP_ALL. Any other combination could induce to samples being discarded on the receiving side because of the HISTORY depth © 2009, PrismTech. All Rights Reserved
  • 37. Real-Time The real-time properties with which data is delivered to applications is impacted in DDS by the following qualities of service: ‣ TRANSPORT_PRIORITY ‣ LATENCY_BUDGET ‣ In addition, DDS provides means for detecting performance failure, e.g., Deadline miss, by means of the DEADLINE QoS ‣ Given a periodic task-set {T} with periods Di (with Di < Di+1) and deadline equal to the period, than QoS should be set as follows: ‣ Assign to each task Ti a TRANSPORT_PRIORITY Pi such that Pi > Pi+1 ‣ Set for each task Ti a DEADLINE QoS of Di ‣ For maximizing throughput and minimizing resource usage set for each Ti a LATENCY_BUDGET QoS between Di /2 and Di/3 (this is a rule of thumb, the upper bound is Di-(RTT/2)) © 2009, PrismTech. All Rights Reserved
  • 38. Eventual Consistency & R/W Caches DataReader DataReader 1 1 2 1 DataWriter 1 1 3 1 Proprietary Information - Distribution without Expressed Written Permission is Prohibited. 2 1 1 2 Topic DataReader 1 2 2 3 3 1 DataReader Cache 2 2 2 3 3 1 Topic 1 1 DataReader Cache 2 Topic 1 DDS DataWriter Cache 3 1 Topic DataReader Cache Under an Eventual Consistency Model, DDS guarantees that all matched Reader Caches will eventually be identical of the respective Writer Cache © 2009, PrismTech. All Rights Reserved
  • 39. QoS Impacting the Consistency Model The DDS Consistency Model is a property that can be associated to Topics or further refined by Reader/Writers. The property is controlled by the following QoS Policies: ‣ DURABILITY ‣ VOLATILE | TRANSIENT_LOCAL | TRANSIENT | PERSISTENT ‣ LIFESPAN Proprietary Information - Distribution without Expressed Written Permission is Prohibited. ‣ RELIABILITY ‣ RELIABLE | BEST_EFFORT ‣ DESTINATION ORDER ‣ SOURCE_TIMESTAMP | DESTINATION_TIMESTAMP QoS Policy Applicability RxO Modifiable DURABILITY T, DR, DW Y N LIFESPAN T, DW - Y RELIABILITY T, DR, DW Y N DESTINATION ORDER T, DR, DW Y N © 2009, PrismTech. All Rights Reserved
  • 40. QoS Impacting the Consistency Model DURABILITY RELIABILITY DESTINATION_ORDER LIFESPAN Eventual Consistency VOLATILE RELIABLE SOURCE_TIMESTAMP INF. (No Crash / Recovery) Eventual Consistency TRANSIENT_LOCAL RELIABLE SOURCE_TIMESTAMP INF. Proprietary Information - Distribution without Expressed Written Permission is Prohibited. (Reader Crash / Recovery) Eventual Consistency TRANSIENT RELIABLE SOURCE_TIMESTAMP INF. (Crash/Recovery) Eventual Consistency PERSISTENT RELIABLE SOURCE_TIMESTAMP INF. (Crash/Recovery) Weak Consistency ANY ANY DESTINATION_TIMESTAMP ANY Weak Consistency ANY BEST_EFFORT ANY ANY Weak Consistency ANY ANY ANY N © 2009, PrismTech. All Rights Reserved
  • 41. Eventual Consistency @ Work DURABILITY RELIABILITY DESTINATION_ORDER LIFESPAN Eventual Consistency (Reader TRANSIENT_LOCAL RELIABLE SOURCE_TIMESTAMP INF. Crash / Recovery) {A} Eventual Consistency TRANSIENT RELIABLE SOURCE_TIMESTAMP INF. {B} (Crash/Recovery) Weak Consistency ANY ANY ANY N {J} Proprietary Information - Distribution without Expressed Written Permission is Prohibited. S = {A, D} S1 P = {A, B} B P1 m A F J D C P = {D, C, J} P2 K E S = {A} S4 © 2009, PrismTech. All Rights Reserved
  • 42. Eventual Consistency @ Work DURABILITY RELIABILITY DESTINATION_ORDER LIFESPAN Eventual Consistency (Reader TRANSIENT_LOCAL RELIABLE SOURCE_TIMESTAMP INF. Crash / Recovery) {A} Eventual Consistency TRANSIENT RELIABLE SOURCE_TIMESTAMP INF. {B} (Crash/Recovery) Weak Consistency ANY ANY ANY N {J} Proprietary Information - Distribution without Expressed Written Permission is Prohibited. S = {A, D} S1 P = {A, B} B P1 m A A F J D C P = {D, C, J} P2 K E S = {A} S4 © 2009, PrismTech. All Rights Reserved
  • 43. Eventual Consistency @ Work DURABILITY RELIABILITY DESTINATION_ORDER LIFESPAN Eventual Consistency (Reader TRANSIENT_LOCAL RELIABLE SOURCE_TIMESTAMP INF. Crash / Recovery) {A} Eventual Consistency TRANSIENT RELIABLE SOURCE_TIMESTAMP INF. {B} (Crash/Recovery) Weak Consistency ANY ANY ANY N {J} Proprietary Information - Distribution without Expressed Written Permission is Prohibited. S = {A, D} S1 P = {A, B} B A P1 m A A F J D C P = {D, C, J} P2 K E S = {A} S4 © 2009, PrismTech. All Rights Reserved A
  • 44. Eventual Consistency @ Work DURABILITY RELIABILITY DESTINATION_ORDER LIFESPAN Eventual Consistency (Reader TRANSIENT_LOCAL RELIABLE SOURCE_TIMESTAMP INF. Crash / Recovery) {A} Eventual Consistency TRANSIENT RELIABLE SOURCE_TIMESTAMP INF. {B} (Crash/Recovery) Weak Consistency ANY ANY ANY N {J} Proprietary Information - Distribution without Expressed Written Permission is Prohibited. S = {A, D} S1 P = {A, B} B A P1 m B A A F J D C P = {D, C, J} P2 K E S = {A} S4 © 2009, PrismTech. All Rights Reserved A
  • 45. Eventual Consistency @ Work DURABILITY RELIABILITY DESTINATION_ORDER LIFESPAN Eventual Consistency (Reader TRANSIENT_LOCAL RELIABLE SOURCE_TIMESTAMP INF. Crash / Recovery) {A} Eventual Consistency TRANSIENT RELIABLE SOURCE_TIMESTAMP INF. {B} (Crash/Recovery) Weak Consistency ANY ANY ANY N {J} Proprietary Information - Distribution without Expressed Written Permission is Prohibited. S = {A, D} S1 P = {A, B} B B A P1 m A A F J D C P = {D, C, J} P2 K E S = {A} S4 © 2009, PrismTech. All Rights Reserved A
  • 46. Eventual Consistency @ Work DURABILITY RELIABILITY DESTINATION_ORDER LIFESPAN Eventual Consistency (Reader TRANSIENT_LOCAL RELIABLE SOURCE_TIMESTAMP INF. Crash / Recovery) {A} Eventual Consistency TRANSIENT RELIABLE SOURCE_TIMESTAMP INF. {B} (Crash/Recovery) Weak Consistency ANY ANY ANY N {J} Proprietary Information - Distribution without Expressed Written Permission is Prohibited. S = {A, D} S1 P = {A, B} B B A P1 m S= {A, B, J} A A F S2 J D C P = {D, C, J} P2 K E S = {A} S4 © 2009, PrismTech. All Rights Reserved A
  • 47. Eventual Consistency @ Work DURABILITY RELIABILITY DESTINATION_ORDER LIFESPAN Eventual Consistency (Reader TRANSIENT_LOCAL RELIABLE SOURCE_TIMESTAMP INF. Crash / Recovery) {A} Eventual Consistency TRANSIENT RELIABLE SOURCE_TIMESTAMP INF. {B} (Crash/Recovery) Weak Consistency ANY ANY ANY N {J} Proprietary Information - Distribution without Expressed Written Permission is Prohibited. S = {A, D} S1 P = {A, B} B B A P1 m S= {A, B, J} A A F S2 J D C BA P = {D, C, J} P2 K E S = {A} S4 © 2009, PrismTech. All Rights Reserved A
  • 48. Eventual Consistency @ Work DURABILITY RELIABILITY DESTINATION_ORDER LIFESPAN Eventual Consistency (Reader TRANSIENT_LOCAL RELIABLE SOURCE_TIMESTAMP INF. Crash / Recovery) {A} Eventual Consistency TRANSIENT RELIABLE SOURCE_TIMESTAMP INF. {B} (Crash/Recovery) Weak Consistency ANY ANY ANY N {J} Proprietary Information - Distribution without Expressed Written Permission is Prohibited. S = {A, D} S1 B B A m S= {A, B, J} A F S2 J D C BA P = {D, C, J} P2 K E S = {A} S4 © 2009, PrismTech. All Rights Reserved A
  • 49. Eventual Consistency @ Work DURABILITY RELIABILITY DESTINATION_ORDER LIFESPAN Eventual Consistency (Reader TRANSIENT_LOCAL RELIABLE SOURCE_TIMESTAMP INF. Crash / Recovery) {A} Eventual Consistency TRANSIENT RELIABLE SOURCE_TIMESTAMP INF. {B} (Crash/Recovery) Weak Consistency ANY ANY ANY N {J} Proprietary Information - Distribution without Expressed Written Permission is Prohibited. S = {A, D} S1 B B A m S= {A, B, J} A F S2 J D C BA P = {D, C, J} S= {A, B, D, J} P2 K E S3 S = {A} S4 © 2009, PrismTech. All Rights Reserved A
  • 50. Eventual Consistency @ Work DURABILITY RELIABILITY DESTINATION_ORDER LIFESPAN Eventual Consistency (Reader TRANSIENT_LOCAL RELIABLE SOURCE_TIMESTAMP INF. Crash / Recovery) {A} Eventual Consistency TRANSIENT RELIABLE SOURCE_TIMESTAMP INF. {B} (Crash/Recovery) Weak Consistency ANY ANY ANY N {J} Proprietary Information - Distribution without Expressed Written Permission is Prohibited. S = {A, D} S1 B B A m S= {A, B, J} A F S2 J J D D C BA P = {D, C, J} S= {A, B, D, J} P2 K E S3 S = {A} JB S4 © 2009, PrismTech. All Rights Reserved A
  • 51. Eventual Consistency @ Work DURABILITY RELIABILITY DESTINATION_ORDER LIFESPAN Eventual Consistency (Reader TRANSIENT_LOCAL RELIABLE SOURCE_TIMESTAMP INF. Crash / Recovery) {A} Eventual Consistency TRANSIENT RELIABLE SOURCE_TIMESTAMP INF. {B} (Crash/Recovery) Weak Consistency ANY ANY ANY N {J} Proprietary Information - Distribution without Expressed Written Permission is Prohibited. S = {A, D} S1 B B A m S= {A, B, J} A F S2 J D D C BA P = {D, C, J} S= {A, B, D, J} P2 K E S3 S = {A} JB S4 © 2009, PrismTech. All Rights Reserved A
  • 52. Design Guidelines ‣ For all (non-periodic) Topics for which an eventually consistent model is required use the following QoS settings: DURABILITY RELIABILITY DESTINATION_ORDER LIFESPAN Eventual Consistency TRANSIENT RELIABLE SOURCE_TIMESTAMP INF. Proprietary Information - Distribution without Expressed Written Permission is Prohibited. (Crash / Recovery) ‣ For information produced periodically, with a period P, where P is small enough to be acceptable as a consistency convergence delay, the following QoS settings will provide an approximation of the eventual consistency: DURABILITY RELIABILITY DESTINATION_ORDER LIFESPAN Eventual Consistency VOLATILE BEST_EFFORT SOURCE_TIMESTAMP INF. (Crash / Recovery) © 2009, PrismTech. All Rights Reserved
  • 53. OpenSplice DDS Delivering Performance, Openness, and Freedom OpenSplice DDS Architecture
  • 54. OpenSplice DDS Architectural Outlook Architectural Highlights ‣ Shared-Memory based architecture for minimizing intra-nodal latency, as well as maximizing nodal scalability ‣ Plugglable Service Architecture ‣ Full control over network scheduling © 2009, PrismTech. All Rights Reserved
  • 55. Real-Time Networking Technology Architecture ‣ Network-channels Shared Single Copy per Node Shared ‣ Priority bands Pack Across Topics/Applications ‣ Network-partitions Memory Optimal Unmarshaling Memory ‣ Multicast Groups ‣ Traffic-shaping ‣ Burst/Throughput OpenSplice DDS OpenSplice DDS Binding Binding Scalability and Efficiency Fault-Tolerance Pre-emptive Network Scheduler ‣ Single shared library for applications ‣ Active Channels Networking Priority Scheduler Networking Data Urgency Traffic Pacing & services ‣ Fall back on next ‣ Ring-fenced shared memory segment highest priority active Network Channels channel ‣ Data urgency driven network-packing Priority Bands Determinism & Safety Traffic Shaping ‣ Preemptive network-scheduler ‣ Data importance based network-channel selection ‣ Partition based multicast-group selection ‣ Managed critical network-resource © 2009, PrismTech. All Rights Reserved
  • 56. Durable Data Technology Shared Memory Shared Memory Architecture ‣ Fault-Tolerant Data Availability Disk Disk ‣ Transient -- on memory OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS Binding Binding Binding Binding ‣ Persistent -- on disk Networking Durability Durability Networking ‣ Partitioning Persist Partitions Persistent Data on Local Disk ‣ DDS Partitions Transient Data in Memory ‣ Alignment Dedicated Persistence Service Alignment Channel ‣ Dedicated Channels Goal Features ‣ Transient QoS. Keep state-data outside the ‣ Fault-tolerant availability of non-volatile data scope/lifecycle of its publishers ‣ Efficient delivery of initial data to late-joining applications ‣ Persistence QoS. Keep persistent settings to ‣ Pluggable Durability Service outlive the system downtime ‣ Automatic alignment of replicated durability-services © 2009, PrismTech. All Rights Reserved
  • 57. OpenSplice DDS Delivering Performance, Openness, and Freedom Playing with OpenSplice DDS
  • 58. Online Resources http://www.opensplice.com/ http://www.slideshare.net/angelo.corsaro emailto:opensplicedds@prismtech.com http://bit.ly/1Sreg http://twitter.com/acorsaro/ http://opensplice.blogspot.com http://www.youtube.com/OpenSpliceTube © 2009, PrismTech. All Rights Reserved