SlideShare ist ein Scribd-Unternehmen logo
1 von 99
Downloaden Sie, um offline zu lesen
Splice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS




             DDS QoS Unleashed
       :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::



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


Splice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS
OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD
                                                  Agenda
:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::




   ‣ Recap of DDS Basics
   ‣ QoS Model
   ‣ DDS QoS
   ‣ QoS Patterns
OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD
                                     The OMG DDS
  :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::



The OMG DDS Standard
‣ Introduced in 2004 to address the Data
  distribution challenges typical of Defense
  and Aerospace Applications

‣ Key requirement for the standard were
  high performance and scalability from
  embedded to ultra-large-scale
  deployments

‣ Today recommended by key
  administration worldwide and widely
  adopted well beyond Aerospace and
  Defense in domains, such as, Automated
  Trading, Simulations, SCADA, Telemetry, etc.
OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD
 The OMG Data Distribution Service
 :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::



DDS v1.2 API Standard                                                                          Application

‣ Language Independent, OS and                                                                     Object/Relational Mapping

  HW architecture independent                                                               Data Local Reconstruction Layer (DLRL)


                                                                                                                       Content
‣ DCPS. Standard API for Data-
                                                                              Ownership           Durability
                                                                                                                     Subscription


  Centric, Topic-Based, Real-Time                                                             Minimum Profile


  Publish/Subscribe
                                                                                    Data Centric Publish/Subscribe (DCPS)


                                                                                    Real-Time Publish/Subscribe Protocol

‣ DLRL. Standard API for creating                                                     DDS Interoperability Wire Protocol


  Object Views out of collection of                                                                UDP/IP

  Topics
OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD
 The OMG Data Distribution Service
 :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::



DDSI/RTPS v2.1 Wire Protocol                                                                   Application
Standard                                                                                           Object/Relational Mapping


‣ Standard wire protocol allowing                                                           Data Local Reconstruction Layer (DLRL)


  interoperability between different                                          Ownership           Durability
                                                                                                                       Content
                                                                                                                     Subscription
  implementations of the DDS                                                                  Minimum Profile

  standard                                                                          Data Centric Publish/Subscribe (DCPS)



‣ Interoperability demonstrated                                                     Real-Time Publish/Subscribe Protocol


  among key DDS vendors in March
                                                                                      DDS Interoperability Wire Protocol



  2009
                                                                                                   UDP/IP
OpenSplice DDS
Delivering Performance, Openness, and Freedom

 :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::




                                                                           How Does it
                                                                             Works?!?
OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD
                           How Does it Work?
:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::
                                                                                                         as a
                                                                                            c an be seen
                                                                                 Note: DDS               NDA
                                                                                            n  of the LI
                                                                                  relaxatio
                                                                                                       odel
                                                                                     coord ination m

‣ DDS is based around the                                                                                  Brokers
    concept of a fully distributed
    Global Data Space (GDS)
                                                                                            DDS
‣ Applications can autonomously                                                     Global Data Space
    and asynchronously read/
    written data in the GDS
OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD
                          How Does it Work?
:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::




                                                                                           Brokers

‣ Publishers and
    Subscribers can
                                                                                  DDS
    join and leave the
                                                    Publisher
    GDS at any time                                                    Global Data Space
OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD
                          How Does it Work?
:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::




                                                     Publisher                             Brokers   Subscriber

‣ Publishers and
    Subscribers can
                                                                                  DDS
    join and leave the                                                                                Subscriber
                                                    Publisher
    GDS at any time                                                    Global Data Space




                                                      Publisher                                      Subscriber
OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD
                           How Does it Work?
:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::




‣ Publishers and                                     Publisher                             Brokers   Subscriber

    Subscribers express
    their intent to
                                                                                  DDS
    produce/consume                                 Publisher
                                                                                                      Subscriber

    specific type of data,                                             Global Data Space

    e.g., Topics
                                                      Publisher                                      Subscriber
OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD
                           How Does it Work?
:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::




                                                     Publisher                             Brokers   Subscriber
‣ Subscriptions are
    matched by taking
    into account topics                                                           DDS                 Subscriber
    (name, data type and                            Publisher          Global Data Space
    QoS)

                                                      Publisher                                      Subscriber
OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD
                           How Does it Work?
:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::




                                                     Publisher                             Brokers   Subscriber

‣ Subscriptions are
    dynamically matched                                                           DDS
    and Data flows from                             Publisher
                                                                                                      Subscriber
                                                                       Global Data Space
    Publisher to
    Subscribers
                                                      Publisher                                      Subscriber
OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD
                           How Does it Work?
:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::




                                                     Publisher                             Brokers   Subscriber

‣ Subscriptions are
    dynamically matched                                                           DDS
    and Data flows from                             Publisher
                                                                                                      Subscriber
                                                                       Global Data Space
    Publisher to
    Subscribers
                                                      Publisher                                      Subscriber
OpenSplice DDS
Delivering Performance, Openness, and Freedom

 :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::




                                                                     Defining Data
OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD
          Topic -- the unit of information
:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::




    Topic:                                                                             Track, UFO, AirCraft, ...

    ‣ Unit of information
        exchanged between                                                                  Name

        Publisher and Subscribers.

    ‣ An association between a                                            Type             Topic              QoS

        unique name, a type and a
                                                                                                          {
        QoS setting                                                 TrackedObject
                                                                                                              Reliability
                                                                                                              Deadline,
                                                                                                              Priority
                                                                                                              Transient,
                                                                                                               ...
                                                                                                          }
OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD
          Topic -- the unit of information
:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::



                                                                    struct TrackedObject {
   Topic Type:                                                         long   oId;
   ‣ Type describing the data                                          long   x;
                                                                       long   y;
     associated with one or more                                       long   size;
     Topics                                                         };
                                                                    #pragma keylist TrackedObject oId
   ‣ A Topic type can have a key
                                                                     struct FlightPlan {
       represented by an arbitrary                                      string code;
       number of attributes                                             long   trackId;
                                                                        string origin;
                                                                        string dest;
   ‣ Expressed in IDL (or XML)                                          sequence<Coord> trajectory;
                                                                     };
                                                                     #pragma keylist FlightPlan code
OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD
   DDS Topic Instances and Samples
 :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::


Topic Instances

‣ Each key value identifies a unique Topic Instance
‣ Topic’s instance lifetime can be explicitly
   managed in DDS
                        struct TrackedObject {
                           long   oId;
                           long   x;
                           long   y;
                           long   size;
                        };
Topic Samples           #pragma keylist TrackedObject oId

‣ The values assumed by a Topic Instance over time
  are referred as Instance Sample
OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD
        Topic/Instances/Samples Recap.
 :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::


             Topics                                                               Instances
                                 UFO



FlyingCar
                         Airfraft
                                               Samples




                                       ti              tj                 tnow              time
OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD
                                 Content Filtering
 :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::
                                                                               X0           X0 <= X <= X1        X1

‣ DDS allows the use of a subset of
  SQL92 to specify content-filtered
  Topics
                                                                   Y0
‣ Content filters can be applied on
  the entire content of the Topic                            Y0 <= Y <= Y1
  Type

‣ Content filters are applied by DDS                               Y1
  each time a new sample is
  produced/delivered
                                                                                 (x BETWEEN (RANGE x0 AND x1))
                                                                                  AND
                                                                                 (y BETWEEN (RANGE y0 AND y1))
OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD
                                 Content Filtering
 :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::
                                                                               X0           X0 <= X <= X1        X1

‣ DDS allows the use of a subset of
  SQL92 to specify content-filtered
  Topics
                                                                   Y0
‣ Content filters can be applied on
  the entire content of the Topic                            Y0 <= Y <= Y1
  Type

‣ Content filters are applied by DDS                               Y1
  each time a new sample is
  produced/delivered
                                                                                 (x BETWEEN (RANGE x0 AND x1))
                                                                                  AND
                                                                                 (y BETWEEN (RANGE y0 AND y1))
OpenSplice DDS
Delivering Performance, Openness, and Freedom

 :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::




                                                     Quality of Service
OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD
                                            QoS Model
  :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::


‣ QoS-Policies provide                                                                         Type Matching
                                                                                                                                  QoS matching


  control over local and                          QoS             QoS                QoS                   QoS                   QoS                QoS              QoS



  end-to-end properties of                                                                                 Topic
                                                                                                                     Name

  DDS entities
                                                                Publisher                                                                        Subscriber

                                                                            ...   DataWriter      writes   Type       reads   DataReader
                                                                                                                                           ...
                                                                                                               ...

‣ Local properties                                 DomainParticipant              DataWriter    writes     Type      reads    DataReader                  DomainParticipant



  controlled by QoS are
                                                                                                                     Name
                                                                                                           Topic



  related resource usage                                                            QoS                    QoS                    QoS




‣ End-to-end properties controlled by QoS are related to temporal and spatial
  aspects of data distribution

‣ Some QoS-Policies are matched based on a Request vs. Offered Model thus
  QoS-enforcement
:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::




 QoS Policy   Applicability    RxO       Modifiable
DURABILITY     T, DR, DW        Y            N
                                                                      QoS Policy    Applicability   RxO   Modifiable
DURABILITY       T, DW          N            N
SERVICE                                                 Data         TIME BASED          DR         N/A      Y
                                                      Availability   FILTER
LIFESPAN         T, DW         N/A           Y                                                                        Resources
                                                                     RESOURCE         T, DR, DW      N       N
HISTORY        T, DR, DW        N            N                       LIMITS
PRESENTATIO       P, S          Y            N
                                                                     ENTITY
N
                                                                     FACTORY
RELIABILITY    T, DR, DW        Y            N
                                                                     USER DATA       DP, DR, DW      N       Y        Configuratio
PARTITION         P, S          N            Y
                                                        Data         TOPIC DATA          T           N       Y            n
DESTINATION    T, DR, DW        Y            N
                                                       Delivery      GROUP DATA         P, S         N       Y
ORDER
                                                                     LIVELINESS       T, DR, DW      Y       N
OWNERSHIP      T, DR, DW        Y            N
                                                                     WRITER DATA        DW          N/A      Y
OWNERSHIP         DW           N/A           Y
                                                                     LIFECYCLE
STRENGTH                                                                                                               Lifecycle
                                                                     READER DATA         DR         N/A      Y
DEADLINE       T, DR, DW        Y            Y
                                                                     LIFECYCLE
LATENCY        T, DR, DW        Y            Y
                                                         Data
BUDGET
                                                      Timeliness
TRANSPORT        T, DW         N/A           Y
PRIORITY
:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::

                                                                                                          Which properties does QoS controls?

      TimeBasedFilter                   Deadline                                             History



                                          Data                                               Data
         Throughput                                                     Lifespan                                   Durability
                                         Latency                                           Availability


                                                                         Ownership
       LatencyBudget               TransportPriority                                       Ownership
                                                                          Strength


        Control over Latency/Throughput tradeoff                        Control over data queueing
        Control over data latency                                       Control over data persistency
        Control over data priority                                      Control over data sources hot-swap



                                        Reliability



                                                       Destination
           Presentation              Data Delivery
                                                         Order

     Control over data distribution reliability
     Control over data ordering
     Control over presentation
:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::

                                                                                                          Which properties does QoS controls?

      TimeBasedFilter                   Deadline                                             History



                                          Data                                               Data
         Throughput                                                     Lifespan                                   Durability
                                         Latency                                           Availability


                                                                         Ownership
       LatencyBudget               TransportPriority                                       Ownership
                                                                          Strength


        Control over Latency/Throughput tradeoff                        Control over data queueing
        Control over data latency                                       Control over data persistency
        Control over data priority                                      Control over data sources hot-swap



                                        Reliability



                                                       Destination           DDS provides programmatic QoS-driven
           Presentation              Data Delivery
                                                         Order               support for configuring the most important
     Control over data distribution reliability
                                                                             properties of data distribution!
     Control over data ordering
     Control over presentation
OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD
             Design by Contract in DDS
:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::

                                                                               class ACCOUNT create
                                                                                 make
   ‣ Design by contract was popularized                                        feature
                                                                                  balance: INTEGER
       by Bertrand Meyer as a way of                                              owner: PERSON
       making explicit the pre/post                                               minimum_balance: INTEGER is 1000

       condition and invariants associated                                        deposit (sum: INTEGER) is
       with methods and the state of a                                                    -- Deposit sum into the account.
                                                                                      require
       class                                                                          do
                                                                                        sum >= 0

                                                                                        add(sum)
   ‣ DDS QoS allows to extend design by                                               ensure
                                                                                        balance = old balance + sum
       contract to non-functional aspects of                                         end
       an application                                                          --- Other methods
                                                                               invariant
                                                                                  balance >= minimum_balance
                                                                               end -- class ACCOUNT
OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD
             Design by Contract in DDS
:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::




   Capturing System Invariants
   ‣ The weakest precondition, meaning the weakest QoS, required
     by the system to properly perform should be captured as QoS
     attached to the information model, e.g. Topics.

   Refining Invariants
   ‣ QoS associated with the information model, should be only
     strengthened by overriding QoS at a DataWriter level
   ‣ QoS should never be weakened by overriding it at a
       DataReader level
OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD
             Design by Contract in DDS
:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::




   QoS Contract Enforcements
   ‣ The RxO model ensures that unless QoS are matched no
     actual subscription will be established

   ‣ This ensure that only if QoS contracts are satisfied
       communication will be established
:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::




                      DURABILITY
                                                                                            LIVELINESS
                        HISTORY
                                                                                            OWENERSHIP
                       LIFESPAN
                                                                                            OWN. STRENGTH


                     DEST. ORDER
                                                                                             DEADLINE
                       PARTITION
                                                                                           LATENCY BUDGET
                     PRESENTATION
                                                                                           TRANSPORT PRIO
                      RELIABILITY


                                                                                       TIME-BASED FILTER
                      USER DATA
                                                                                           RESOURCE LIMITS
                      TOPIC DATA
                      GROUP DATA
                                                                                           DW LIFECYCLE

                                                                                            DR LIFECYCLE

                                                                                           ENTITY FACTORY

                       RxO QoS             Local QoS
:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::




                      DURABILITY
                                                                                            LIVELINESS
                        HISTORY
                                                                                            OWENERSHIP
                       LIFESPAN
                                                                                            OWN. STRENGTH


                     DEST. ORDER
                                                                                             DEADLINE
                       PARTITION
                                                                                           LATENCY BUDGET
                     PRESENTATION                        Topic
                                                                                           TRANSPORT PRIO
                      RELIABILITY


                                                                                       TIME-BASED FILTER
                      USER DATA
                                                                                           RESOURCE LIMITS
                      TOPIC DATA
                      GROUP DATA
                                                                                           DW LIFECYCLE

                                                                                            DR LIFECYCLE

                                                                                           ENTITY FACTORY

                       RxO QoS             Local QoS           Not Applicable
:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::



                      DURABILITY
                                                                                            LIVELINESS
                        HISTORY
                                                                                            OWENERSHIP
                       LIFESPAN
                                                                                            OWN. STRENGTH


                      DEST. ORDER
                                                                                             DEADLINE
                       PARTITION
                                                                                           LATENCY BUDGET
                     PRESENTATION                      DataWriter
                                                                                           TRANSPORT PRIO
                      RELIABILITY


                                                                                       TIME-BASED FILTER
                       USER DATA
                                                                                           RESOURCE LIMITS
                      TOPIC DATA
                      GROUP DATA
                                                                                           DW LIFECYCLE

                                                                                            DR LIFECYCLE

                                                                                           ENTITY FACTORY

                       RxO QoS             Local QoS           Not Applicable
:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::




                      DURABILITY
                                                                                            LIVELINESS
                        HISTORY
                                                                                            OWENERSHIP
                       LIFESPAN
                                                                                            OWN. STRENGTH


                      DEST. ORDER
                                                                                             DEADLINE
                       PARTITION
                                                                                           LATENCY BUDGET
                     PRESENTATION                   DataReader
                                                                                           TRANSPORT PRIO
                      RELIABILITY


                                                                                       TIME-BASED FILTER
                       USER DATA
                                                                                           RESOURCE LIMITS
                      TOPIC DATA
                      GROUP DATA
                                                                                           DW LIFECYCLE

                                                                                            DR LIFECYCLE

                                                                                           ENTITY FACTORY

                       RxO QoS             Local QoS           Not Applicable
:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::




                      DURABILITY
                                                                                            LIVELINESS
                        HISTORY
                                                                                            OWENERSHIP
                       LIFESPAN
                                                                                            OWN. STRENGTH


                     DEST. ORDER
                                                                                             DEADLINE
                       PARTITION
                                                                                           LATENCY BUDGET
                    PRESENTATION                       Publisher
                                                                                           TRANSPORT PRIO
                      RELIABILITY


                                                                                       TIME-BASED FILTER
                      USER DATA
                                                                                           RESOURCE LIMITS
                      TOPIC DATA
                      GROUP DATA
                                                                                           DW LIFECYCLE

                                                                                            DR LIFECYCLE

                                                                                           ENTITY FACTORY

                       RxO QoS             Local QoS           Not Applicable
:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::




                      DURABILITY
                                                                                            LIVELINESS
                        HISTORY
                                                                                            OWENERSHIP
                       LIFESPAN
                                                                                            OWN. STRENGTH


                     DEST. ORDER
                                                                                             DEADLINE
                       PARTITION
                                                                                           LATENCY BUDGET
                     PRESENTATION                      Subscriber
                                                                                           TRANSPORT PRIO
                      RELIABILITY


                                                                                       TIME-BASED FILTER
                      USER DATA
                                                                                           RESOURCE LIMITS
                      TOPIC DATA
                      GROUP DATA
                                                                                           DW LIFECYCLE

                                                                                           DR LIFECYCLE

                                                                                       ENTITY FACTORY

                       RxO QoS             Local QoS           Not Applicable
:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::



                      DURABILITY
                                                                                            LIVELINESS
                        HISTORY
                                                                                            OWENERSHIP
                       LIFESPAN
                                                                                            OWN. STRENGTH


                     DEST. ORDER
                                                                                             DEADLINE
                       PARTITION
                                                        Domain                             LATENCY BUDGET
                     PRESENTATION
                                                       Participant                         TRANSPORT PRIO
                      RELIABILITY


                                                                                       TIME-BASED FILTER
                       USER DATA
                                                                                           RESOURCE LIMITS
                      TOPIC DATA

                      GROUP DATA
                                                                                           DW LIFECYCLE

                                                                                            DR LIFECYCLE

                                                                                           ENTITY FACTORY

                       RxO QoS             Local QoS           Not Applicable
OpenSplice DDS
Delivering Performance, Openness, and Freedom

 :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::




                                                          Organizing Data
OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD
                                         Partitions QoS
   :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::


‣ The Partition QoS Policy                                     QoS Domain Applicability
                                                                   Policy                     RxO      Modifiable
  can be used as subjects                                    PARTITION           P, S          N              Y

  organizing the flow of data
‣ The Partition QoS Policy is                                                                                      Subscriber

  used to connect
                                                         Publisher            "tracks.kfo"     "tracks.ufo"

  Publishers/Subscribers to a
  Partitions’ List which might
  also contain wildcards, e.g.                           Publisher
                                                                                                                      Subscriber
  tracks.*
‣ Topics are published and
  subscribed across one or                               Publisher                                                 Subscriber
  more Partitions                                                      Partition
OpenSplice DDS
Delivering Performance, Openness, and Freedom

 :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::




                                                                                            Example
:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::


                                                                                                           DataReader
                                                                                                          <TrakedObject>
         DataWriter                                                                      Subscriber
       <TrakedObject>                          "airspace.kfo.aircrafts"                                    DataReader
                                                                                                          <TrakedObject>
                          Publisher
        DataWriter                                  AirCraft            FlightPlan
        <FlightPlan>                                                                                         DataReader
                                                                                           Subscriber        <FlightPlan>

                                                    "airspace.tfo"
         DataWriter
         <FlightPlan>      Publisher                           Tracks
                                                                                             Subscriber
                                                                                                             DataReader
                                                                                                              <Tracks>


                                              "airspace.kfo.flyingcars"
                                                                                                             DataReader
          DataWriter                                                                                       <TrackedObject>
        <TrakedObject>                                                                     Subscriber
                           Publisher               FlyingCar            FlightPlan
         DataWriter                                                                                         DataReader
         <FlightPlan>                                                                                       <FlightPlan>




                                                     Partition              Global Data Space (GDS)

                                                                    Topic
:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::


                                                                                                            DataReader
                                                                                                           <TrakedObject>
          DataWriter                                                                      Subscriber
        <TrakedObject>                          "airspace.kfo.aircrafts"                                    DataReader
                                                                                                           <TrakedObject>
                           Publisher
         DataWriter                                  AirCraft            FlightPlan
         <FlightPlan>                                                                                         DataReader
                                                                                            Subscriber        <FlightPlan>

                                                     "airspace.tfo"
          DataWriter
          <FlightPlan>      Publisher                           Tracks
                                                                                              Subscriber
                                                                                                              DataReader
                                                                                                               <Tracks>


                                               "airspace.kfo.flyingcars"
                                                                                                              DataReader
           DataWriter                                                                                       <TrackedObject>
         <TrakedObject>                                                                     Subscriber
                            Publisher               FlyingCar            FlightPlan
          DataWriter                                                                                         DataReader
          <FlightPlan>                                                                                       <FlightPlan>




“airspace.*”
                                                      Partition              Global Data Space (GDS)

                                                                     Topic
:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::


                                                                                                             DataReader
                                                                                                            <TrakedObject>
           DataWriter                                                                      Subscriber
         <TrakedObject>                          "airspace.kfo.aircrafts"                                    DataReader
                                                                                                            <TrakedObject>
                            Publisher
          DataWriter                                  AirCraft            FlightPlan
          <FlightPlan>                                                                                         DataReader
                                                                                             Subscriber        <FlightPlan>

                                                      "airspace.tfo"
           DataWriter
           <FlightPlan>      Publisher                           Tracks
                                                                                               Subscriber
                                                                                                               DataReader
                                                                                                                <Tracks>


                                                "airspace.kfo.flyingcars"
                                                                                                               DataReader
            DataWriter                                                                                       <TrackedObject>
          <TrakedObject>                                                                     Subscriber
                             Publisher               FlyingCar            FlightPlan
           DataWriter                                                                                         DataReader
           <FlightPlan>                                                                                       <FlightPlan>




“airspace.kfo.*”
                                                       Partition              Global Data Space (GDS)

                                                                      Topic
OpenSplice DDS
Delivering Performance, Openness, and Freedom

 :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::




                                                                              Controlling
                                                                               Reliability
OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD
                                    Reliability QoS
:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::



                                                                                    QoS Policy    Applicability        RxO             Modifiable
                                                                                  RELIABILITY      T, DR, DW             Y                   N



                                                                                                                             QoS matching

The RELIABILITY QoS indicate the                                                        QoS                  QoS                       QoS


level of guarantee offered by the                                 QoS                                        Topic                                         QoS
                                                                                                                     Name

DDS in delivering data to                                                            DataWriter     writes   Type     reads         DataReader


subscribers.
                                                                Publisher   ...                                                                         Subscriber
                                                                                                               ...                                ...

                                                                                     DataWriter   writes     Type    reads           DataReader

                                                                                                                     Name
                                                                                                             Topic


                                                                                       QoS                   QoS                        QoS


                                                                                                                             QoS matching
OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD
                                    Reliability QoS
:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::



                                                                                    QoS Policy    Applicability        RxO             Modifiable

 Possible variants are:                                                           RELIABILITY      T, DR, DW             Y                   N




‣ Reliable. In steady-state the                                                                                              QoS matching



    middleware guarantees that all
                                                                                        QoS                  QoS                       QoS




    samples in the DataWriter                                     QoS                                        Topic
                                                                                                                     Name
                                                                                                                                                           QoS



    history will eventually be                                  Publisher
                                                                                     DataWriter     writes   Type     reads         DataReader

                                                                                                                                                        Subscriber
                                                                            ...
    delivered to all the DataReader                                                                            ...                                ...

                                                                                     DataWriter   writes     Type    reads           DataReader



‣ Best Effort. Indicates that it is
                                                                                                                     Name
                                                                                                             Topic



    acceptable to not retry                                                            QoS                   QoS                        QoS


    propagation of any samples                                                                                               QoS matching
OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD
                                        History QoS
                                                                                                                    How many data samples should I keep?



:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::




                                                                            QoS Policy            Applicability           RxO              Modifiable

  The HISTORY QoS policy                                             HISTORY                       T, DR, DW               N                       N


  controls whether the DDS should                                                                                                 QoS matching



  deliver only the most recent
                                                                                        QoS                       QoS                       QoS




  value, attempt to deliver all
                                                                  QoS                                             Topic                                         QoS
                                                                                                                          Name

                                                                                                                           reads         DataReader

  intermediate values, or do
                                                                                     DataWriter          writes   Type

                                                                Publisher      ...                                                                           Subscriber
                                                                                                                   ...                                 ...

  something in between.                                                              DataWriter         writes    Type    reads           DataReader

                                                                                                                          Name
                                                                                                                  Topic


                                                                                       QoS                        QoS                        QoS


                                                                                                                                  QoS matching
OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD
                                        History QoS
                                                                                                           How many data samples should I keep?



:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::




  The policy can be configured to provide




                                                                              DataReader
                                                                                           1       1

  the following semantics:                                                                 2       1

                                                                                           3       1

   ‣ Keep Last. The DDS will only                                                                      History Depth = 1 (DDS Default)

       attempt to keep the most recent
       “depth” samples of each instance
       of data identified by its key




                                                                              DataReader
                                                                                               1       1   1   2   1   3   1   4    1    5

   ‣ Keep All. The DDS will attempt                                                            2       1   2   2   2   3   2   4    2    5

       to keep all the samples of each                                                         3       1   3   2   3   3   3   4    3    5

       instance of data identified by its
                                                                                                            History Depth = 5


       key.
OpenSplice DDS
Delivering Performance, Openness, and Freedom

 :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::




 Topic Used in next section.
  struct Counter {
     int cID;                                                                           History in
     int count;
  };
  #pragma keylist Counter cID                                                               Action
:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::




                         History Depth = 1                                        History Depth = 1
                          (DDS Default)                                            (DDS Default)
                                                         Network
                             1   1                                                    1    2

     DataReader              2   1                   1   2                            2    3
                                                                                                      DataWriter
                             3   1                   2   2   2   3                    3    1

                             Topic                                                   Topic

          DataReader Cache                                                             DataWriter Cache
:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::




                         History Depth = 1                                        History Depth = 1
                          (DDS Default)                                            (DDS Default)
                                                         Network
                             1   2                                                    1    2

     DataReader              2   2                                                    2    3
                                                                                                      DataWriter
                             3   1                   2   3                            3    1

                             Topic                                                   Topic

          DataReader Cache                                                             DataWriter Cache



         Note: The Reliability QoS controls wether data is sent reliably, or best-effort, from the
                                DataWriter to matched DataReaders
:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::




                         History Depth = 1                                        History Depth = 1
                          (DDS Default)                                            (DDS Default)
                                                      Network
                             1   2                                                    1    2

     DataReader              2   3                                                    2    3
                                                                                                      DataWriter
                             3   1                                                    3    1

                             Topic                                                   Topic

          DataReader Cache                                                             DataWriter Cache



         Note: The Reliability QoS controls wether data is sent reliably, or best-effort, from the
                                DataWriter to matched DataReaders
:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::




                               History = Keep All                                 History Depth = 1
                                                                                   (DDS Default)
                                                          Network
    DataReader




                      1   1                                                           1    2

                      2   1                           1   2                           2    3
                                                                                                      DataWriter
                      3   1                           2   2   2   3                   3    1

                              Topic                                                  Topic

                  DataReader Cache                                                     DataWriter Cache



                 Note: The Reliability QoS controls wether data is sent reliably, or best-effort, from the
                                        DataWriter to matched DataReaders
:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::




                                  History = Keep All                              History Depth = 1
                                                                                   (DDS Default)
                                                        Network
    DataReader




                      1   1   1   2                                                   1    2

                      2   1   2   2                                                   2    3
                                                                                                      DataWriter
                      3   1                                  2   3                    3    1

                              Topic                                                  Topic

                  DataReader Cache                                                     DataWriter Cache



                 Note: The Reliability QoS controls wether data is sent reliably, or best-effort, from the
                                        DataWriter to matched DataReaders
:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::




                                  History = Keep All                              History Depth = 1
                                                                                   (DDS Default)
                                                        Network
    DataReader




                      1   1   1   2                                                   1    2

                      2   1   2   2    2   3                                          2    3
                                                                                                      DataWriter
                      3   1                                                           3    1

                              Topic                                                  Topic

                  DataReader Cache                                                     DataWriter Cache



                 Note: The Reliability QoS controls wether data is sent reliably, or best-effort, from the
                                        DataWriter to matched DataReaders
OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD
                        Putting it All Together
:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::



 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
OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD
                        Putting it All Together
:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::




‣ 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
OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD
                             Reliability Gotchas
:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::




   ‣ The RESOURCE_LIMITS QoS should always be taken in to
       account when dealing with the reliable data distribution since
       it impacts the memory usage (and potentially the DW blocking
       probability)

   ‣ Three values have to be provided:
       ‣ max_samples_per_instance (>= history depth)
       ‣ max_samples (>= max_samples_per_instance)
       ‣ max_instances
OpenSplice DDS
Delivering Performance, Openness, and Freedom

 :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::




                                                                                            Example
OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD
                        Tracks and Flight Plans
  :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::




                     Track                                                               FlightPlan

                    Name                                                                     Name




   Type             Topic                QoS                              Type               Topic         QoS


                                    {                               TrackedObject                     {
TrackedObject                           BEST_EFFORT                                                       RELIABLE
                                        KEEP_LAST(1)                                                      KEEP_LAST(1)
                                        RESOURCE_LIMITS                                                   RESOURCE_LIMITS
                                    }                                                                 }
OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD
                         Aerospace Violations
:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::




                AerospaceViolation                                     struct ASViolation {
                                                                          long   oId;
                         Name                                             string sign;
                                                                          long   vcode;
                                                                       };
                                                                       #pragma keylist ASViolation oId sign

       Type               Topic               QoS


  ASViolation                             {
                                              RELIABLE
                                              KEEP_ALL
                                              RESOURCE_LIMITS
                                          }
OpenSplice DDS
Delivering Performance, Openness, and Freedom

 :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::




                                                   Controlling
                                           Real-Time Properties
OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD
                                      Deadline QoS
                                                                                                                                                 You can’t be later than...



:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::




                                                                   QoS Policy             Applicability             RxO               Modifiable
                                                               DEADLINE                    T, DR, DW                 Y                       Y


                                                                                                                            QoS matching




 The DEADLINE QoS policy allows
                                                                                    QoS                     QoS                       QoS



                                                                 QoS                                        Topic                                          QoS

 to define the maximum inter-
                                                                                                                     Name

                                                                                 DataWriter        writes   Type      reads        DataReader



 arrival time between data
                                                               Publisher   ...                                                                          Subscriber
                                                                                                             ...                                  ...


 samples
                                                                                 DataWriter       writes    Type    reads           DataReader

                                                                                                                     Name
                                                                                                            Topic


                                                                                   QoS                      QoS                        QoS


                                                                                                                            QoS matching
OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD
                                      Deadline QoS
:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::




   ‣ DataWriter indicates that the application commits to write a
       new value             at least once every deadline period

   ‣ DataReaders are notified by the DDS when the DEADLINE QoS
       contract is violated


               Publisher                                                                        Subscriber
                                 Deadline     Deadline       Deadline   Deadline     Deadline



                                        Deadline Violation
OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD
                          Latency Budget QoS
                                                                                                                                    I need to get there in at most...



:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::




                                                                         QoS Policy            Applicability              RxO                Modifiable
                                                                     LATENCY                      T, DR, DW                Y                        Y

The LATENCY_BUDGET QoS policy
                                                                     BUDGET



specifies the maximum acceptable                                                                                                   QoS matching



delay from the time the data is                                                             QoS                   QoS                        QoS




written until the data is inserted in the
                                                                         QoS                                      Topic                                          QoS
                                                                                                                           Name

                                                                                         DataWriter      writes   Type      reads         DataReader


receiver's application-cache                                           Publisher   ...                             ...                                  ...   Subscriber



                                                                                         DataWriter     writes    Type     reads           DataReader

                                                                                                                           Name
                                                                                                                  Topic


                                                                                           QoS                    QoS                         QoS


                                                                                                                                   QoS matching
OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD
                          Latency Budget QoS
:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::




   ‣ The default value of the
       duration is zero indicating
       that the delay should be
       minimized
                                                                             TBuff   Latency Budget = Latency = TBuff +T1+T2+T3




   ‣ This policy is a hint to the
                                                                                                                       T3
                                                                              T1


       DDS, not something that                                                                    T2

       must be monitored or
       enforced.
OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD
                     Transport Priority QoS
                                                                                                                                            VIP Data, stay clear!



:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::



                                                                         QoS Policy          Applicability            RxO                 Modifiable
                                                                     TRANSPORT                  T, DW                      -                    Y
                                                                     PRIORITY

The TRANSPORT_PRIORITY
QoS policy is a hint to the                                                                                                QoS matching



infrastructure as to how to
                                                                                   QoS                    QoS                        QoS




set the priority of the
                                                               QoS                                        Topic                                           QoS
                                                                                                                   Name

                                                                                DataWriter       writes   Type      reads         DataReader

underlying transport used to                                 Publisher    ...                                ...                                ...    Subscriber



send the data.                                                                  DataWriter      writes    Type     reads

                                                                                                                   Name
                                                                                                                                   DataReader


                                                                                                          Topic


                                                                                  QoS                     QoS                         QoS


                                                                                                                           QoS matching
OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD
               Putting it all Together QoS
:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::


The real-time properties with which data is delivered to applications is impacted in DDS by the
following qualities of service:
                                             Publisher                                               Subscriber
‣ TRANSPORT_PRIORITY                      Deadline      Deadline    Deadline Deadline Deadline


‣ LATENCY_BUDGET
                                                 Deadline Violation
‣ 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))
OpenSplice DDS
Delivering Performance, Openness, and Freedom

 :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::




                                                                                            Example
OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD
                         Tracks and Flight Plans
   :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::



                     Track                                                              FlightPlan

                    Name                                                                      Name




   Type             Topic                QoS                            Type                  Topic        QoS


                                    {                              TrackedObject                      {
TrackedObject                           BEST_EFFORT                                                       RELIABLE
                                        KEEP_LAST(1)                                                      KEEP_LAST(1)
                                        RESOURCE_LIMITS                                                   RESOURCE_LIMITS
                                        DEADLINE (= Period)                                           }
                                        TRANSPORT_PRIORITY
                                        LATENCY_BUDGET (= Period/3)
                                    }
OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD
                         Aerospace Violations
:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::




                AerospaceViolation                                     struct ASViolation {
                                                                          long   oId;
                         Name                                             string sign;
                                                                          long   vcode;
                                                                       };
                                                                       #pragma keylist ASViolation oId sign

       Type               Topic              QoS

                                        {
  ASViolation                               RELIABLE
                                            KEEP_ALL
                                            RESOURCE_LIMITS
                                            LATENCY_BUDGET (=0)
                                            TRANSPORT_PRIORITY (= MAX_PRIO)
                                        }
OpenSplice DDS
Delivering Performance, Openness, and Freedom

 :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::




                                                    Controlling the
                                                  Consistency Model
OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD
                                    Durability QoS
:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::

 The DURABILITY QoS controls the data availability w.r.t. late joiners, specifically
 the DDS provides the following variants:
                                                                                       QoS Policy    Applicability               RxO                Modifiable
                                                                                  DURABILITY           T, DR, DW                   Y                        N
‣ Volatile. No need to keep data                                                  DURABILITY                 T, DW                 N                        N

 instances for late joining data readers                                          SERVICE




‣ Transient Local. Data instance                                                                                                QoS matching



 availability for late joining data reader is
                                                                                          QoS                   QoS                       QoS




 tied to the data writer availability                                  QoS                                      Topic
                                                                                                                        Name
                                                                                                                                                                   QoS


                                                                                       DataWriter    writes     Type     reads         DataReader



‣ Transient. Data instance availability
                                                                     Publisher   ...                                                                            Subscriber
                                                                                                                 ...                                  ...

 outlives the data writer                                                              DataWriter   writes      Type    reads           DataReader

                                                                                                                        Name
                                                                                                                Topic



‣ Persistent. Data instance availability                                                 QoS                    QoS                        QoS


 outlives system restarts                                                                                                       QoS matching
OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD
   Eventual Consistency & R/W Caches
:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::


                                               Under an Eventual Consistency Model, DDS guarantees
                       DataReader                 that all matched Reader Caches will eventually be
                                                            identical of the respective Writer Cache
     DataReader             1   1

                            2   1                                                           DataWriter
          1   1
                            3   1
          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
OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD
               QoS & Consistency Model
:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::


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                                               QoS Policy                 Applicability   RxO   Modifiable
                                                         DURABILITY                  T, DR, DW       Y       N

‣ RELIABILITY                                            LIFESPAN                      T, DW         -       Y
                                                         RELIABILITY                 T, DR, DW       Y       N
   ‣ RELIABLE | BEST_EFFORT                              DESTINATION ORDER           T, DR, DW       Y       N

‣ DESTINATION ORDER
   ‣ SOURCE_TIMESTAMP | DESTINATION_TIMESTAMP
OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD
                    QoS & Consistency Model
    :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::



                                  DURABILITY               RELIABILITY               DESTINATION_ORDER     LIFESPAN
Eventual Consistency                VOLATILE                 RELIABLE                SOURCE_TIMESTAMP        INF.
(No Crash / Recovery)
Eventual Consistency      TRANSIENT_LOCAL                    RELIABLE                SOURCE_TIMESTAMP        INF.
(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
:: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com ::



                                          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}


                                                                                        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
DDS QoS Unleashed
DDS QoS Unleashed
DDS QoS Unleashed
DDS QoS Unleashed
DDS QoS Unleashed
DDS QoS Unleashed
DDS QoS Unleashed
DDS QoS Unleashed
DDS QoS Unleashed
DDS QoS Unleashed
DDS QoS Unleashed
DDS QoS Unleashed
DDS QoS Unleashed
DDS QoS Unleashed
DDS QoS Unleashed
DDS QoS Unleashed
DDS QoS Unleashed
DDS QoS Unleashed
DDS QoS Unleashed
DDS QoS Unleashed
DDS QoS Unleashed
DDS QoS Unleashed
DDS QoS Unleashed
DDS QoS Unleashed

Weitere ähnliche Inhalte

Was ist angesagt?

The DDS Tutorial - Part I
The DDS Tutorial - Part IThe DDS Tutorial - Part I
The DDS Tutorial - Part IAngelo Corsaro
 
Getting Started in DDS with C++ and Java
Getting Started in DDS with C++ and JavaGetting Started in DDS with C++ and Java
Getting Started in DDS with C++ and JavaAngelo Corsaro
 
The DDS Security Standard
The DDS Security StandardThe DDS Security Standard
The DDS Security StandardAngelo Corsaro
 
DDS Tutorial -- Part I
DDS Tutorial -- Part IDDS Tutorial -- Part I
DDS Tutorial -- Part IAngelo 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
The Data Distribution ServiceThe Data Distribution Service
The Data Distribution ServiceAngelo Corsaro
 
10 Reasons for Choosing OpenSplice DDS
10 Reasons for Choosing OpenSplice DDS10 Reasons for Choosing OpenSplice DDS
10 Reasons for Choosing OpenSplice DDSAngelo Corsaro
 
The Data Distribution Service
The Data Distribution ServiceThe Data Distribution Service
The Data Distribution ServiceAngelo Corsaro
 
Fast RTPS: Programming with the Default Middleware for Robotics Adopted in ROS2
Fast RTPS: Programming with the Default Middleware for Robotics Adopted in ROS2Fast RTPS: Programming with the Default Middleware for Robotics Adopted in ROS2
Fast RTPS: Programming with the Default Middleware for Robotics Adopted in ROS2Jaime Martin Losa
 
The Data Distribution Service Tutorial
The Data Distribution Service TutorialThe Data Distribution Service Tutorial
The Data Distribution Service TutorialAngelo Corsaro
 
DDS Advanced Tutorial - OMG June 2013 Berlin Meeting
DDS Advanced Tutorial - OMG June 2013 Berlin MeetingDDS Advanced Tutorial - OMG June 2013 Berlin Meeting
DDS Advanced Tutorial - OMG June 2013 Berlin MeetingJaime Martin Losa
 
Micro XRCE-DDS and micro-ROS
Micro XRCE-DDS and micro-ROSMicro XRCE-DDS and micro-ROS
Micro XRCE-DDS and micro-ROSeProsima
 
ROS 2 Foxy with Eclipse Cyclone DDS | Philly ROS Meetup July 20th 2020
ROS 2 Foxy with Eclipse Cyclone DDS | Philly ROS Meetup July 20th 2020ROS 2 Foxy with Eclipse Cyclone DDS | Philly ROS Meetup July 20th 2020
ROS 2 Foxy with Eclipse Cyclone DDS | Philly ROS Meetup July 20th 2020Joe Speed
 
Netflix on Cloud - combined slides for Dev and Ops
Netflix on Cloud - combined slides for Dev and OpsNetflix on Cloud - combined slides for Dev and Ops
Netflix on Cloud - combined slides for Dev and OpsAdrian Cockcroft
 

Was ist angesagt? (20)

The DDS Tutorial - Part I
The DDS Tutorial - Part IThe DDS Tutorial - Part I
The DDS Tutorial - Part I
 
Getting Started in DDS with C++ and Java
Getting Started in DDS with C++ and JavaGetting Started in DDS with C++ and Java
Getting Started in DDS with C++ and Java
 
The DDS Security Standard
The DDS Security StandardThe DDS Security Standard
The DDS Security Standard
 
DDS Tutorial -- Part I
DDS Tutorial -- Part IDDS Tutorial -- Part I
DDS Tutorial -- Part I
 
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
The Data Distribution ServiceThe Data Distribution Service
The Data Distribution Service
 
10 Reasons for Choosing OpenSplice DDS
10 Reasons for Choosing OpenSplice DDS10 Reasons for Choosing OpenSplice DDS
10 Reasons for Choosing OpenSplice DDS
 
The Data Distribution Service
The Data Distribution ServiceThe Data Distribution Service
The Data Distribution Service
 
Introduction to RTI DDS
Introduction to RTI DDSIntroduction to RTI DDS
Introduction to RTI DDS
 
Fast RTPS: Programming with the Default Middleware for Robotics Adopted in ROS2
Fast RTPS: Programming with the Default Middleware for Robotics Adopted in ROS2Fast RTPS: Programming with the Default Middleware for Robotics Adopted in ROS2
Fast RTPS: Programming with the Default Middleware for Robotics Adopted in ROS2
 
DDS Secure Intro
DDS Secure IntroDDS Secure Intro
DDS Secure Intro
 
DDS Security
DDS SecurityDDS Security
DDS Security
 
DDS Over Low Bandwidth Data Links
DDS Over Low Bandwidth Data LinksDDS Over Low Bandwidth Data Links
DDS Over Low Bandwidth Data Links
 
UML Profile for DDS
UML Profile for DDSUML Profile for DDS
UML Profile for DDS
 
The Data Distribution Service Tutorial
The Data Distribution Service TutorialThe Data Distribution Service Tutorial
The Data Distribution Service Tutorial
 
DDS Advanced Tutorial - OMG June 2013 Berlin Meeting
DDS Advanced Tutorial - OMG June 2013 Berlin MeetingDDS Advanced Tutorial - OMG June 2013 Berlin Meeting
DDS Advanced Tutorial - OMG June 2013 Berlin Meeting
 
Micro XRCE-DDS and micro-ROS
Micro XRCE-DDS and micro-ROSMicro XRCE-DDS and micro-ROS
Micro XRCE-DDS and micro-ROS
 
ROS 2 Foxy with Eclipse Cyclone DDS | Philly ROS Meetup July 20th 2020
ROS 2 Foxy with Eclipse Cyclone DDS | Philly ROS Meetup July 20th 2020ROS 2 Foxy with Eclipse Cyclone DDS | Philly ROS Meetup July 20th 2020
ROS 2 Foxy with Eclipse Cyclone DDS | Philly ROS Meetup July 20th 2020
 
DDS In Action Part II
DDS In Action Part IIDDS In Action Part II
DDS In Action Part II
 
Netflix on Cloud - combined slides for Dev and Ops
Netflix on Cloud - combined slides for Dev and OpsNetflix on Cloud - combined slides for Dev and Ops
Netflix on Cloud - combined slides for Dev and Ops
 

Andere mochten auch

Advanced OpenSplice Programming - Part II
Advanced OpenSplice Programming - Part IIAdvanced OpenSplice Programming - Part II
Advanced OpenSplice Programming - Part IIAngelo Corsaro
 
The Data Distribution Service Tutorial
The Data Distribution Service TutorialThe Data Distribution Service Tutorial
The Data Distribution Service TutorialAngelo Corsaro
 
Comparison of MQTT and DDS as M2M Protocols for the Internet of Things
Comparison of MQTT and DDS as M2M Protocols for the Internet of ThingsComparison of MQTT and DDS as M2M Protocols for the Internet of Things
Comparison of MQTT and DDS as M2M Protocols for the Internet of ThingsReal-Time Innovations (RTI)
 
Stream Processing with DDS and CEP
Stream Processing with  DDS and CEPStream Processing with  DDS and CEP
Stream Processing with DDS and CEPAngelo Corsaro
 
20 Tips for OpenSplice Newbies
20 Tips for OpenSplice Newbies20 Tips for OpenSplice Newbies
20 Tips for OpenSplice NewbiesAngelo Corsaro
 
Why is DDS the Right Technology for the Industrial Internet?
Why is DDS the Right Technology for the Industrial Internet?Why is DDS the Right Technology for the Industrial Internet?
Why is DDS the Right Technology for the Industrial Internet?Real-Time Innovations (RTI)
 
Voice over LTE report
Voice over LTE reportVoice over LTE report
Voice over LTE reportAnirudh Yadav
 
Quality of service
Quality of serviceQuality of service
Quality of servicevmkris000
 
VoLTE Service Monitoring - VoLTE Voice Call
VoLTE Service Monitoring - VoLTE Voice CallVoLTE Service Monitoring - VoLTE Voice Call
VoLTE Service Monitoring - VoLTE Voice CallJose Gonzalez
 
QoS In The Enterprise
QoS In The EnterpriseQoS In The Enterprise
QoS In The EnterprisePrivate
 
Reach your peak stuff
Reach your peak stuffReach your peak stuff
Reach your peak stuffGreg Cox
 
Surrey.english.hum.dept.heads.2011
Surrey.english.hum.dept.heads.2011Surrey.english.hum.dept.heads.2011
Surrey.english.hum.dept.heads.2011Faye Brownlie
 

Andere mochten auch (20)

Advanced OpenSplice Programming - Part II
Advanced OpenSplice Programming - Part IIAdvanced OpenSplice Programming - Part II
Advanced OpenSplice Programming - Part II
 
The Data Distribution Service Tutorial
The Data Distribution Service TutorialThe Data Distribution Service Tutorial
The Data Distribution Service Tutorial
 
Comparison of MQTT and DDS as M2M Protocols for the Internet of Things
Comparison of MQTT and DDS as M2M Protocols for the Internet of ThingsComparison of MQTT and DDS as M2M Protocols for the Internet of Things
Comparison of MQTT and DDS as M2M Protocols for the Internet of Things
 
Stream Processing with DDS and CEP
Stream Processing with  DDS and CEPStream Processing with  DDS and CEP
Stream Processing with DDS and CEP
 
DDS Made Simple
DDS Made SimpleDDS Made Simple
DDS Made Simple
 
20 Tips for OpenSplice Newbies
20 Tips for OpenSplice Newbies20 Tips for OpenSplice Newbies
20 Tips for OpenSplice Newbies
 
Mavenir Thought Leadership Webinar
Mavenir Thought Leadership WebinarMavenir Thought Leadership Webinar
Mavenir Thought Leadership Webinar
 
Why is DDS the Right Technology for the Industrial Internet?
Why is DDS the Right Technology for the Industrial Internet?Why is DDS the Right Technology for the Industrial Internet?
Why is DDS the Right Technology for the Industrial Internet?
 
Voice over LTE report
Voice over LTE reportVoice over LTE report
Voice over LTE report
 
Quality of service
Quality of serviceQuality of service
Quality of service
 
VoLTE Service Monitoring - VoLTE Voice Call
VoLTE Service Monitoring - VoLTE Voice CallVoLTE Service Monitoring - VoLTE Voice Call
VoLTE Service Monitoring - VoLTE Voice Call
 
QoS In The Enterprise
QoS In The EnterpriseQoS In The Enterprise
QoS In The Enterprise
 
Asis. educ. inic.
Asis. educ. inic.Asis. educ. inic.
Asis. educ. inic.
 
Pei 2010 2014
Pei 2010 2014Pei 2010 2014
Pei 2010 2014
 
ikh311-04
ikh311-04ikh311-04
ikh311-04
 
Reach your peak stuff
Reach your peak stuffReach your peak stuff
Reach your peak stuff
 
ikh323-06
ikh323-06ikh323-06
ikh323-06
 
ikd312-02-three-schema
ikd312-02-three-schemaikd312-02-three-schema
ikd312-02-three-schema
 
Surrey.english.hum.dept.heads.2011
Surrey.english.hum.dept.heads.2011Surrey.english.hum.dept.heads.2011
Surrey.english.hum.dept.heads.2011
 
ikp213-unifikasi
ikp213-unifikasiikp213-unifikasi
ikp213-unifikasi
 

Ähnlich wie DDS QoS Unleashed

Tweeting with OpenSplice DDS
Tweeting with OpenSplice DDSTweeting with OpenSplice DDS
Tweeting with OpenSplice DDSAngelo Corsaro
 
Getting Started with OpenSplice DDS Community Ed.
Getting Started with OpenSplice DDS Community Ed.Getting Started with OpenSplice DDS Community Ed.
Getting Started with OpenSplice DDS Community Ed.Angelo Corsaro
 
Tuning and Troubleshooting OpenSplice DDS Applications
Tuning and Troubleshooting OpenSplice DDS ApplicationsTuning and Troubleshooting OpenSplice DDS Applications
Tuning and Troubleshooting OpenSplice DDS ApplicationsAngelo Corsaro
 
A Gentle Introduction to OpenSplice DDS
A Gentle Introduction to OpenSplice DDSA Gentle Introduction to OpenSplice DDS
A Gentle Introduction to OpenSplice DDSAngelo 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
 
Cyclone DDS Unleashed: The Origins
Cyclone DDS Unleashed: The OriginsCyclone DDS Unleashed: The Origins
Cyclone DDS Unleashed: The OriginsZettaScaleTechnology
 
The Open Splice.Org Community
The Open Splice.Org CommunityThe Open Splice.Org Community
The Open Splice.Org CommunityAngelo Corsaro
 
DDS on the Web: Quick Recipes for Real-Time Web Applications
DDS on the Web: Quick Recipes for Real-Time Web ApplicationsDDS on the Web: Quick Recipes for Real-Time Web Applications
DDS on the Web: Quick Recipes for Real-Time Web ApplicationsAngelo Corsaro
 
Roadmap and Technology Incubators
Roadmap and Technology IncubatorsRoadmap and Technology Incubators
Roadmap and Technology IncubatorsAngelo Corsaro
 
What is expected from Chief Cloud Officers?
What is expected from Chief Cloud Officers?What is expected from Chief Cloud Officers?
What is expected from Chief Cloud Officers?Bernard Paques
 
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part IOMG DDS Tutorial - Part I
OMG DDS Tutorial - Part IAngelo Corsaro
 

Ähnlich wie DDS QoS Unleashed (20)

Tweeting with OpenSplice DDS
Tweeting with OpenSplice DDSTweeting with OpenSplice DDS
Tweeting with OpenSplice DDS
 
Cloudand Xchange
Cloudand XchangeCloudand Xchange
Cloudand Xchange
 
Getting Started with OpenSplice DDS Community Ed.
Getting Started with OpenSplice DDS Community Ed.Getting Started with OpenSplice DDS Community Ed.
Getting Started with OpenSplice DDS Community Ed.
 
Tuning and Troubleshooting OpenSplice DDS Applications
Tuning and Troubleshooting OpenSplice DDS ApplicationsTuning and Troubleshooting OpenSplice DDS Applications
Tuning and Troubleshooting OpenSplice DDS Applications
 
A Gentle Introduction to OpenSplice DDS
A Gentle Introduction to OpenSplice DDSA Gentle Introduction to OpenSplice DDS
A Gentle Introduction to OpenSplice DDS
 
SimD
SimDSimD
SimD
 
OpenSplice DDS v5.1
OpenSplice DDS v5.1OpenSplice DDS v5.1
OpenSplice DDS v5.1
 
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++
 
Cyclone DDS Unleashed: The Origins
Cyclone DDS Unleashed: The OriginsCyclone DDS Unleashed: The Origins
Cyclone DDS Unleashed: The Origins
 
OpenSplice DDS v6
OpenSplice DDS v6OpenSplice DDS v6
OpenSplice DDS v6
 
DDS vs AMQP
DDS vs AMQPDDS vs AMQP
DDS vs AMQP
 
The Open Splice.Org Community
The Open Splice.Org CommunityThe Open Splice.Org Community
The Open Splice.Org Community
 
DDS on the Web: Quick Recipes for Real-Time Web Applications
DDS on the Web: Quick Recipes for Real-Time Web ApplicationsDDS on the Web: Quick Recipes for Real-Time Web Applications
DDS on the Web: Quick Recipes for Real-Time Web Applications
 
OMG DDS Interoperability Demo 2009
OMG DDS Interoperability Demo 2009OMG DDS Interoperability Demo 2009
OMG DDS Interoperability Demo 2009
 
What Can DDS Do For You?
What Can DDS Do For You?What Can DDS Do For You?
What Can DDS Do For You?
 
Roadmap and Technology Incubators
Roadmap and Technology IncubatorsRoadmap and Technology Incubators
Roadmap and Technology Incubators
 
What is expected from Chief Cloud Officers?
What is expected from Chief Cloud Officers?What is expected from Chief Cloud Officers?
What is expected from Chief Cloud Officers?
 
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part IOMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
 
DDS Everywhere
DDS EverywhereDDS Everywhere
DDS Everywhere
 
Interoperable DDS Strategies
Interoperable DDS StrategiesInteroperable DDS Strategies
Interoperable DDS Strategies
 

Mehr von 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
 
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
 
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
 
RUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming RuminationsRUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming RuminationsAngelo Corsaro
 
Vortex II -- The Industrial IoT Connectivity Standard
Vortex II -- The  Industrial IoT  Connectivity StandardVortex II -- The  Industrial IoT  Connectivity Standard
Vortex II -- The Industrial IoT Connectivity StandardAngelo Corsaro
 
DDS and OPC UA Explained
DDS and OPC UA ExplainedDDS and OPC UA Explained
DDS and OPC UA ExplainedAngelo Corsaro
 

Mehr von 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
 
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
 
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
 
RUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming RuminationsRUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming Ruminations
 
Vortex II -- The Industrial IoT Connectivity Standard
Vortex II -- The  Industrial IoT  Connectivity StandardVortex II -- The  Industrial IoT  Connectivity Standard
Vortex II -- The Industrial IoT Connectivity Standard
 
Fog Computing Defined
Fog Computing DefinedFog Computing Defined
Fog Computing Defined
 
DDS and OPC UA Explained
DDS and OPC UA ExplainedDDS and OPC UA Explained
DDS and OPC UA Explained
 

Kürzlich hochgeladen

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 

Kürzlich hochgeladen (20)

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 

DDS QoS Unleashed

  • 1. Splice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS DDS QoS Unleashed :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: Angelo Corsaro, Ph.D. Chief Technology Officer PrismTech OMG DDS SIG Co-Chair angelo.corsaro@prismtech.com Splice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS
  • 2. OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD Agenda :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: ‣ Recap of DDS Basics ‣ QoS Model ‣ DDS QoS ‣ QoS Patterns
  • 3. OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD The OMG DDS :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: The OMG DDS Standard ‣ Introduced in 2004 to address the Data distribution challenges typical of Defense and Aerospace Applications ‣ Key requirement for the standard were high performance and scalability from embedded to ultra-large-scale deployments ‣ Today recommended by key administration worldwide and widely adopted well beyond Aerospace and Defense in domains, such as, Automated Trading, Simulations, SCADA, Telemetry, etc.
  • 4. OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD The OMG Data Distribution Service :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: DDS v1.2 API Standard Application ‣ Language Independent, OS and Object/Relational Mapping HW architecture independent Data Local Reconstruction Layer (DLRL) Content ‣ DCPS. Standard API for Data- Ownership Durability Subscription Centric, Topic-Based, Real-Time Minimum Profile Publish/Subscribe Data Centric Publish/Subscribe (DCPS) Real-Time Publish/Subscribe Protocol ‣ DLRL. Standard API for creating DDS Interoperability Wire Protocol Object Views out of collection of UDP/IP Topics
  • 5. OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD The OMG Data Distribution Service :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: DDSI/RTPS v2.1 Wire Protocol Application Standard Object/Relational Mapping ‣ Standard wire protocol allowing Data Local Reconstruction Layer (DLRL) interoperability between different Ownership Durability Content Subscription implementations of the DDS Minimum Profile standard Data Centric Publish/Subscribe (DCPS) ‣ Interoperability demonstrated Real-Time Publish/Subscribe Protocol among key DDS vendors in March DDS Interoperability Wire Protocol 2009 UDP/IP
  • 6. OpenSplice DDS Delivering Performance, Openness, and Freedom :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: How Does it Works?!?
  • 7. OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD How Does it Work? :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: as a c an be seen Note: DDS NDA n of the LI relaxatio odel coord ination m ‣ DDS is based around the Brokers concept of a fully distributed Global Data Space (GDS) DDS ‣ Applications can autonomously Global Data Space and asynchronously read/ written data in the GDS
  • 8. OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD How Does it Work? :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: Brokers ‣ Publishers and Subscribers can DDS join and leave the Publisher GDS at any time Global Data Space
  • 9. OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD How Does it Work? :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: Publisher Brokers Subscriber ‣ Publishers and Subscribers can DDS join and leave the Subscriber Publisher GDS at any time Global Data Space Publisher Subscriber
  • 10. OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD How Does it Work? :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: ‣ Publishers and Publisher Brokers Subscriber Subscribers express their intent to DDS produce/consume Publisher Subscriber specific type of data, Global Data Space e.g., Topics Publisher Subscriber
  • 11. OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD How Does it Work? :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: Publisher Brokers Subscriber ‣ Subscriptions are matched by taking into account topics DDS Subscriber (name, data type and Publisher Global Data Space QoS) Publisher Subscriber
  • 12. OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD How Does it Work? :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: Publisher Brokers Subscriber ‣ Subscriptions are dynamically matched DDS and Data flows from Publisher Subscriber Global Data Space Publisher to Subscribers Publisher Subscriber
  • 13. OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD How Does it Work? :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: Publisher Brokers Subscriber ‣ Subscriptions are dynamically matched DDS and Data flows from Publisher Subscriber Global Data Space Publisher to Subscribers Publisher Subscriber
  • 14. OpenSplice DDS Delivering Performance, Openness, and Freedom :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: Defining Data
  • 15. OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD Topic -- the unit of information :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: Topic: Track, UFO, AirCraft, ... ‣ Unit of information exchanged between Name Publisher and Subscribers. ‣ An association between a Type Topic QoS unique name, a type and a { QoS setting TrackedObject Reliability Deadline, Priority Transient, ... }
  • 16. OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD Topic -- the unit of information :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: struct TrackedObject { Topic Type: long oId; ‣ Type describing the data long x; long y; associated with one or more long size; Topics }; #pragma keylist TrackedObject oId ‣ A Topic type can have a key struct FlightPlan { represented by an arbitrary string code; number of attributes long trackId; string origin; string dest; ‣ Expressed in IDL (or XML) sequence<Coord> trajectory; }; #pragma keylist FlightPlan code
  • 17. OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD DDS Topic Instances and Samples :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: Topic Instances ‣ Each key value identifies a unique Topic Instance ‣ Topic’s instance lifetime can be explicitly managed in DDS struct TrackedObject { long oId; long x; long y; long size; }; Topic Samples #pragma keylist TrackedObject oId ‣ The values assumed by a Topic Instance over time are referred as Instance Sample
  • 18. OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD Topic/Instances/Samples Recap. :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: Topics Instances UFO FlyingCar Airfraft Samples ti tj tnow time
  • 19. OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD Content Filtering :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: X0 X0 <= X <= X1 X1 ‣ DDS allows the use of a subset of SQL92 to specify content-filtered Topics Y0 ‣ Content filters can be applied on the entire content of the Topic Y0 <= Y <= Y1 Type ‣ Content filters are applied by DDS Y1 each time a new sample is produced/delivered (x BETWEEN (RANGE x0 AND x1)) AND (y BETWEEN (RANGE y0 AND y1))
  • 20. OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD Content Filtering :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: X0 X0 <= X <= X1 X1 ‣ DDS allows the use of a subset of SQL92 to specify content-filtered Topics Y0 ‣ Content filters can be applied on the entire content of the Topic Y0 <= Y <= Y1 Type ‣ Content filters are applied by DDS Y1 each time a new sample is produced/delivered (x BETWEEN (RANGE x0 AND x1)) AND (y BETWEEN (RANGE y0 AND y1))
  • 21. OpenSplice DDS Delivering Performance, Openness, and Freedom :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: Quality of Service
  • 22. OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD QoS Model :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: ‣ QoS-Policies provide Type Matching QoS matching control over local and QoS QoS QoS QoS QoS QoS QoS end-to-end properties of Topic Name DDS entities Publisher Subscriber ... DataWriter writes Type reads DataReader ... ... ‣ Local properties DomainParticipant DataWriter writes Type reads DataReader DomainParticipant controlled by QoS are Name Topic related resource usage QoS QoS QoS ‣ End-to-end properties controlled by QoS are related to temporal and spatial aspects of data distribution ‣ Some QoS-Policies are matched based on a Request vs. Offered Model thus QoS-enforcement
  • 23. :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: QoS Policy Applicability RxO Modifiable DURABILITY T, DR, DW Y N QoS Policy Applicability RxO Modifiable DURABILITY T, DW N N SERVICE Data TIME BASED DR N/A Y Availability FILTER LIFESPAN T, DW N/A Y Resources RESOURCE T, DR, DW N N HISTORY T, DR, DW N N LIMITS PRESENTATIO P, S Y N ENTITY N FACTORY RELIABILITY T, DR, DW Y N USER DATA DP, DR, DW N Y Configuratio PARTITION P, S N Y Data TOPIC DATA T N Y n DESTINATION T, DR, DW Y N Delivery GROUP DATA P, S N Y ORDER LIVELINESS T, DR, DW Y N OWNERSHIP T, DR, DW Y N WRITER DATA DW N/A Y OWNERSHIP DW N/A Y LIFECYCLE STRENGTH Lifecycle READER DATA DR N/A Y DEADLINE T, DR, DW Y Y LIFECYCLE LATENCY T, DR, DW Y Y Data BUDGET Timeliness TRANSPORT T, DW N/A Y PRIORITY
  • 24. :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: Which properties does QoS controls? TimeBasedFilter Deadline History Data Data Throughput Lifespan Durability Latency Availability Ownership LatencyBudget TransportPriority Ownership Strength Control over Latency/Throughput tradeoff Control over data queueing Control over data latency Control over data persistency Control over data priority Control over data sources hot-swap Reliability Destination Presentation Data Delivery Order Control over data distribution reliability Control over data ordering Control over presentation
  • 25. :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: Which properties does QoS controls? TimeBasedFilter Deadline History Data Data Throughput Lifespan Durability Latency Availability Ownership LatencyBudget TransportPriority Ownership Strength Control over Latency/Throughput tradeoff Control over data queueing Control over data latency Control over data persistency Control over data priority Control over data sources hot-swap Reliability Destination DDS provides programmatic QoS-driven Presentation Data Delivery Order support for configuring the most important Control over data distribution reliability properties of data distribution! Control over data ordering Control over presentation
  • 26. OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD Design by Contract in DDS :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: class ACCOUNT create make ‣ Design by contract was popularized feature balance: INTEGER by Bertrand Meyer as a way of owner: PERSON making explicit the pre/post minimum_balance: INTEGER is 1000 condition and invariants associated deposit (sum: INTEGER) is with methods and the state of a -- Deposit sum into the account. require class do sum >= 0 add(sum) ‣ DDS QoS allows to extend design by ensure balance = old balance + sum contract to non-functional aspects of end an application --- Other methods invariant balance >= minimum_balance end -- class ACCOUNT
  • 27. OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD Design by Contract in DDS :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: Capturing System Invariants ‣ The weakest precondition, meaning the weakest QoS, required by the system to properly perform should be captured as QoS attached to the information model, e.g. Topics. Refining Invariants ‣ QoS associated with the information model, should be only strengthened by overriding QoS at a DataWriter level ‣ QoS should never be weakened by overriding it at a DataReader level
  • 28. OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD Design by Contract in DDS :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: QoS Contract Enforcements ‣ The RxO model ensures that unless QoS are matched no actual subscription will be established ‣ This ensure that only if QoS contracts are satisfied communication will be established
  • 29. :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: DURABILITY LIVELINESS HISTORY OWENERSHIP LIFESPAN OWN. STRENGTH DEST. ORDER DEADLINE PARTITION LATENCY BUDGET PRESENTATION TRANSPORT PRIO RELIABILITY TIME-BASED FILTER USER DATA RESOURCE LIMITS TOPIC DATA GROUP DATA DW LIFECYCLE DR LIFECYCLE ENTITY FACTORY RxO QoS Local QoS
  • 30. :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: DURABILITY LIVELINESS HISTORY OWENERSHIP LIFESPAN OWN. STRENGTH DEST. ORDER DEADLINE PARTITION LATENCY BUDGET PRESENTATION Topic TRANSPORT PRIO RELIABILITY TIME-BASED FILTER USER DATA RESOURCE LIMITS TOPIC DATA GROUP DATA DW LIFECYCLE DR LIFECYCLE ENTITY FACTORY RxO QoS Local QoS Not Applicable
  • 31. :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: DURABILITY LIVELINESS HISTORY OWENERSHIP LIFESPAN OWN. STRENGTH DEST. ORDER DEADLINE PARTITION LATENCY BUDGET PRESENTATION DataWriter TRANSPORT PRIO RELIABILITY TIME-BASED FILTER USER DATA RESOURCE LIMITS TOPIC DATA GROUP DATA DW LIFECYCLE DR LIFECYCLE ENTITY FACTORY RxO QoS Local QoS Not Applicable
  • 32. :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: DURABILITY LIVELINESS HISTORY OWENERSHIP LIFESPAN OWN. STRENGTH DEST. ORDER DEADLINE PARTITION LATENCY BUDGET PRESENTATION DataReader TRANSPORT PRIO RELIABILITY TIME-BASED FILTER USER DATA RESOURCE LIMITS TOPIC DATA GROUP DATA DW LIFECYCLE DR LIFECYCLE ENTITY FACTORY RxO QoS Local QoS Not Applicable
  • 33. :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: DURABILITY LIVELINESS HISTORY OWENERSHIP LIFESPAN OWN. STRENGTH DEST. ORDER DEADLINE PARTITION LATENCY BUDGET PRESENTATION Publisher TRANSPORT PRIO RELIABILITY TIME-BASED FILTER USER DATA RESOURCE LIMITS TOPIC DATA GROUP DATA DW LIFECYCLE DR LIFECYCLE ENTITY FACTORY RxO QoS Local QoS Not Applicable
  • 34. :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: DURABILITY LIVELINESS HISTORY OWENERSHIP LIFESPAN OWN. STRENGTH DEST. ORDER DEADLINE PARTITION LATENCY BUDGET PRESENTATION Subscriber TRANSPORT PRIO RELIABILITY TIME-BASED FILTER USER DATA RESOURCE LIMITS TOPIC DATA GROUP DATA DW LIFECYCLE DR LIFECYCLE ENTITY FACTORY RxO QoS Local QoS Not Applicable
  • 35. :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: DURABILITY LIVELINESS HISTORY OWENERSHIP LIFESPAN OWN. STRENGTH DEST. ORDER DEADLINE PARTITION Domain LATENCY BUDGET PRESENTATION Participant TRANSPORT PRIO RELIABILITY TIME-BASED FILTER USER DATA RESOURCE LIMITS TOPIC DATA GROUP DATA DW LIFECYCLE DR LIFECYCLE ENTITY FACTORY RxO QoS Local QoS Not Applicable
  • 36. OpenSplice DDS Delivering Performance, Openness, and Freedom :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: Organizing Data
  • 37. OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD Partitions QoS :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: ‣ The Partition QoS Policy QoS Domain Applicability Policy RxO Modifiable can be used as subjects PARTITION P, S N Y organizing the flow of data ‣ The Partition QoS Policy is Subscriber used to connect Publisher "tracks.kfo" "tracks.ufo" Publishers/Subscribers to a Partitions’ List which might also contain wildcards, e.g. Publisher Subscriber tracks.* ‣ Topics are published and subscribed across one or Publisher Subscriber more Partitions Partition
  • 38. OpenSplice DDS Delivering Performance, Openness, and Freedom :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: Example
  • 39. :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: DataReader <TrakedObject> DataWriter Subscriber <TrakedObject> "airspace.kfo.aircrafts" DataReader <TrakedObject> Publisher DataWriter AirCraft FlightPlan <FlightPlan> DataReader Subscriber <FlightPlan> "airspace.tfo" DataWriter <FlightPlan> Publisher Tracks Subscriber DataReader <Tracks> "airspace.kfo.flyingcars" DataReader DataWriter <TrackedObject> <TrakedObject> Subscriber Publisher FlyingCar FlightPlan DataWriter DataReader <FlightPlan> <FlightPlan> Partition Global Data Space (GDS) Topic
  • 40. :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: DataReader <TrakedObject> DataWriter Subscriber <TrakedObject> "airspace.kfo.aircrafts" DataReader <TrakedObject> Publisher DataWriter AirCraft FlightPlan <FlightPlan> DataReader Subscriber <FlightPlan> "airspace.tfo" DataWriter <FlightPlan> Publisher Tracks Subscriber DataReader <Tracks> "airspace.kfo.flyingcars" DataReader DataWriter <TrackedObject> <TrakedObject> Subscriber Publisher FlyingCar FlightPlan DataWriter DataReader <FlightPlan> <FlightPlan> “airspace.*” Partition Global Data Space (GDS) Topic
  • 41. :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: DataReader <TrakedObject> DataWriter Subscriber <TrakedObject> "airspace.kfo.aircrafts" DataReader <TrakedObject> Publisher DataWriter AirCraft FlightPlan <FlightPlan> DataReader Subscriber <FlightPlan> "airspace.tfo" DataWriter <FlightPlan> Publisher Tracks Subscriber DataReader <Tracks> "airspace.kfo.flyingcars" DataReader DataWriter <TrackedObject> <TrakedObject> Subscriber Publisher FlyingCar FlightPlan DataWriter DataReader <FlightPlan> <FlightPlan> “airspace.kfo.*” Partition Global Data Space (GDS) Topic
  • 42. OpenSplice DDS Delivering Performance, Openness, and Freedom :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: Controlling Reliability
  • 43. OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD Reliability QoS :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: QoS Policy Applicability RxO Modifiable RELIABILITY T, DR, DW Y N QoS matching The RELIABILITY QoS indicate the QoS QoS QoS level of guarantee offered by the QoS Topic QoS Name DDS in delivering data to DataWriter writes Type reads DataReader subscribers. Publisher ... Subscriber ... ... DataWriter writes Type reads DataReader Name Topic QoS QoS QoS QoS matching
  • 44. OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD Reliability QoS :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: QoS Policy Applicability RxO Modifiable Possible variants are: RELIABILITY T, DR, DW Y N ‣ Reliable. In steady-state the QoS matching middleware guarantees that all QoS QoS QoS samples in the DataWriter QoS Topic Name QoS history will eventually be Publisher DataWriter writes Type reads DataReader Subscriber ... delivered to all the DataReader ... ... DataWriter writes Type reads DataReader ‣ Best Effort. Indicates that it is Name Topic acceptable to not retry QoS QoS QoS propagation of any samples QoS matching
  • 45. OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD History QoS How many data samples should I keep? :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: QoS Policy Applicability RxO Modifiable The HISTORY QoS policy HISTORY T, DR, DW N N controls whether the DDS should QoS matching deliver only the most recent QoS QoS QoS value, attempt to deliver all QoS Topic QoS Name reads DataReader intermediate values, or do DataWriter writes Type Publisher ... Subscriber ... ... something in between. DataWriter writes Type reads DataReader Name Topic QoS QoS QoS QoS matching
  • 46. OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD History QoS How many data samples should I keep? :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: The policy can be configured to provide DataReader 1 1 the following semantics: 2 1 3 1 ‣ Keep Last. The DDS will only History Depth = 1 (DDS Default) attempt to keep the most recent “depth” samples of each instance of data identified by its key DataReader 1 1 1 2 1 3 1 4 1 5 ‣ Keep All. The DDS will attempt 2 1 2 2 2 3 2 4 2 5 to keep all the samples of each 3 1 3 2 3 3 3 4 3 5 instance of data identified by its History Depth = 5 key.
  • 47. OpenSplice DDS Delivering Performance, Openness, and Freedom :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: Topic Used in next section. struct Counter { int cID; History in int count; }; #pragma keylist Counter cID Action
  • 48. :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: History Depth = 1 History Depth = 1 (DDS Default) (DDS Default) Network 1 1 1 2 DataReader 2 1 1 2 2 3 DataWriter 3 1 2 2 2 3 3 1 Topic Topic DataReader Cache DataWriter Cache
  • 49. :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: History Depth = 1 History Depth = 1 (DDS Default) (DDS Default) Network 1 2 1 2 DataReader 2 2 2 3 DataWriter 3 1 2 3 3 1 Topic Topic DataReader Cache DataWriter Cache Note: The Reliability QoS controls wether data is sent reliably, or best-effort, from the DataWriter to matched DataReaders
  • 50. :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: History Depth = 1 History Depth = 1 (DDS Default) (DDS Default) Network 1 2 1 2 DataReader 2 3 2 3 DataWriter 3 1 3 1 Topic Topic DataReader Cache DataWriter Cache Note: The Reliability QoS controls wether data is sent reliably, or best-effort, from the DataWriter to matched DataReaders
  • 51. :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: History = Keep All History Depth = 1 (DDS Default) Network DataReader 1 1 1 2 2 1 1 2 2 3 DataWriter 3 1 2 2 2 3 3 1 Topic Topic DataReader Cache DataWriter Cache Note: The Reliability QoS controls wether data is sent reliably, or best-effort, from the DataWriter to matched DataReaders
  • 52. :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: History = Keep All History Depth = 1 (DDS Default) Network DataReader 1 1 1 2 1 2 2 1 2 2 2 3 DataWriter 3 1 2 3 3 1 Topic Topic DataReader Cache DataWriter Cache Note: The Reliability QoS controls wether data is sent reliably, or best-effort, from the DataWriter to matched DataReaders
  • 53. :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: History = Keep All History Depth = 1 (DDS Default) Network DataReader 1 1 1 2 1 2 2 1 2 2 2 3 2 3 DataWriter 3 1 3 1 Topic Topic DataReader Cache DataWriter Cache Note: The Reliability QoS controls wether data is sent reliably, or best-effort, from the DataWriter to matched DataReaders
  • 54. OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD Putting it All Together :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: 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
  • 55. OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD Putting it All Together :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: ‣ 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
  • 56. OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD Reliability Gotchas :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: ‣ The RESOURCE_LIMITS QoS should always be taken in to account when dealing with the reliable data distribution since it impacts the memory usage (and potentially the DW blocking probability) ‣ Three values have to be provided: ‣ max_samples_per_instance (>= history depth) ‣ max_samples (>= max_samples_per_instance) ‣ max_instances
  • 57. OpenSplice DDS Delivering Performance, Openness, and Freedom :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: Example
  • 58. OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD Tracks and Flight Plans :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: Track FlightPlan Name Name Type Topic QoS Type Topic QoS { TrackedObject { TrackedObject BEST_EFFORT RELIABLE KEEP_LAST(1) KEEP_LAST(1) RESOURCE_LIMITS RESOURCE_LIMITS } }
  • 59. OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD Aerospace Violations :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: AerospaceViolation struct ASViolation { long oId; Name string sign; long vcode; }; #pragma keylist ASViolation oId sign Type Topic QoS ASViolation { RELIABLE KEEP_ALL RESOURCE_LIMITS }
  • 60. OpenSplice DDS Delivering Performance, Openness, and Freedom :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: Controlling Real-Time Properties
  • 61. OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD Deadline QoS You can’t be later than... :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: QoS Policy Applicability RxO Modifiable DEADLINE T, DR, DW Y Y QoS matching The DEADLINE QoS policy allows QoS QoS QoS QoS Topic QoS to define the maximum inter- Name DataWriter writes Type reads DataReader arrival time between data Publisher ... Subscriber ... ... samples DataWriter writes Type reads DataReader Name Topic QoS QoS QoS QoS matching
  • 62. OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD Deadline QoS :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: ‣ DataWriter indicates that the application commits to write a new value at least once every deadline period ‣ DataReaders are notified by the DDS when the DEADLINE QoS contract is violated Publisher Subscriber Deadline Deadline Deadline Deadline Deadline Deadline Violation
  • 63. OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD Latency Budget QoS I need to get there in at most... :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: QoS Policy Applicability RxO Modifiable LATENCY T, DR, DW Y Y The LATENCY_BUDGET QoS policy BUDGET specifies the maximum acceptable QoS matching delay from the time the data is QoS QoS QoS written until the data is inserted in the QoS Topic QoS Name DataWriter writes Type reads DataReader receiver's application-cache Publisher ... ... ... Subscriber DataWriter writes Type reads DataReader Name Topic QoS QoS QoS QoS matching
  • 64. OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD Latency Budget QoS :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: ‣ The default value of the duration is zero indicating that the delay should be minimized TBuff Latency Budget = Latency = TBuff +T1+T2+T3 ‣ This policy is a hint to the T3 T1 DDS, not something that T2 must be monitored or enforced.
  • 65. OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD Transport Priority QoS VIP Data, stay clear! :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: QoS Policy Applicability RxO Modifiable TRANSPORT T, DW - Y PRIORITY The TRANSPORT_PRIORITY QoS policy is a hint to the QoS matching infrastructure as to how to QoS QoS QoS set the priority of the QoS Topic QoS Name DataWriter writes Type reads DataReader underlying transport used to Publisher ... ... ... Subscriber send the data. DataWriter writes Type reads Name DataReader Topic QoS QoS QoS QoS matching
  • 66. OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD Putting it all Together QoS :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: The real-time properties with which data is delivered to applications is impacted in DDS by the following qualities of service: Publisher Subscriber ‣ TRANSPORT_PRIORITY Deadline Deadline Deadline Deadline Deadline ‣ LATENCY_BUDGET Deadline Violation ‣ 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))
  • 67. OpenSplice DDS Delivering Performance, Openness, and Freedom :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: Example
  • 68. OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD Tracks and Flight Plans :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: Track FlightPlan Name Name Type Topic QoS Type Topic QoS { TrackedObject { TrackedObject BEST_EFFORT RELIABLE KEEP_LAST(1) KEEP_LAST(1) RESOURCE_LIMITS RESOURCE_LIMITS DEADLINE (= Period) } TRANSPORT_PRIORITY LATENCY_BUDGET (= Period/3) }
  • 69. OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD Aerospace Violations :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: AerospaceViolation struct ASViolation { long oId; Name string sign; long vcode; }; #pragma keylist ASViolation oId sign Type Topic QoS { ASViolation RELIABLE KEEP_ALL RESOURCE_LIMITS LATENCY_BUDGET (=0) TRANSPORT_PRIORITY (= MAX_PRIO) }
  • 70. OpenSplice DDS Delivering Performance, Openness, and Freedom :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: Controlling the Consistency Model
  • 71. OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD Durability QoS :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: The DURABILITY QoS controls the data availability w.r.t. late joiners, specifically the DDS provides the following variants: QoS Policy Applicability RxO Modifiable DURABILITY T, DR, DW Y N ‣ Volatile. No need to keep data DURABILITY T, DW N N instances for late joining data readers SERVICE ‣ Transient Local. Data instance QoS matching availability for late joining data reader is QoS QoS QoS tied to the data writer availability QoS Topic Name QoS DataWriter writes Type reads DataReader ‣ Transient. Data instance availability Publisher ... Subscriber ... ... outlives the data writer DataWriter writes Type reads DataReader Name Topic ‣ Persistent. Data instance availability QoS QoS QoS outlives system restarts QoS matching
  • 72. OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD Eventual Consistency & R/W Caches :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: Under an Eventual Consistency Model, DDS guarantees DataReader that all matched Reader Caches will eventually be identical of the respective Writer Cache DataReader 1 1 2 1 DataWriter 1 1 3 1 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
  • 73. OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD QoS & Consistency Model :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: 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 QoS Policy Applicability RxO Modifiable DURABILITY T, DR, DW Y N ‣ RELIABILITY LIFESPAN T, DW - Y RELIABILITY T, DR, DW Y N ‣ RELIABLE | BEST_EFFORT DESTINATION ORDER T, DR, DW Y N ‣ DESTINATION ORDER ‣ SOURCE_TIMESTAMP | DESTINATION_TIMESTAMP
  • 74. OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DD QoS & Consistency Model :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: DURABILITY RELIABILITY DESTINATION_ORDER LIFESPAN Eventual Consistency VOLATILE RELIABLE SOURCE_TIMESTAMP INF. (No Crash / Recovery) Eventual Consistency TRANSIENT_LOCAL RELIABLE SOURCE_TIMESTAMP INF. (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
  • 75. :: http://www.opensplice.org :: http://www.opensplice.com :: http://www.prismtech.com :: 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} 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